
:root{
  --green:#0f4a31;
  --green-2:#2f6a46;
  --olive:#789a45;
  --beige:#d4c8b5;
  --cream:#f6f4ee;
  --paper:#ffffff;
  --ink:#183026;
  --muted:#65716b;
  --line:#dce3de;
  --shadow:0 18px 60px rgba(15,74,49,.10);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:"DM Sans",Arial,sans-serif;
  color:var(--ink);
  background:var(--paper);
  line-height:1.65;
}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
button,input,textarea{font:inherit}
.container{width:min(1180px,calc(100% - 40px));margin:auto}
.narrow{width:min(780px,100%)}
.center{text-align:center}
.skip-link{position:absolute;left:-9999px}
.skip-link:focus{left:18px;top:18px;background:#fff;padding:10px;z-index:9999}
.site-header{
  position:sticky;top:0;z-index:1000;
  background:rgba(255,255,255,.94);
  backdrop-filter:blur(14px);
  border-bottom:1px solid rgba(220,227,222,.85);
}
.nav-wrap{height:88px;display:flex;align-items:center;justify-content:space-between;gap:28px}
.brand img{width:228px;height:70px;object-fit:contain;object-position:left center}
.mainnav{display:flex;align-items:center;gap:27px;font-size:14px;font-weight:600}
.mainnav a:not(.btn):hover{color:var(--olive)}
.nav-toggle{display:none;background:none;border:0;padding:10px}
.nav-toggle span{display:block;width:26px;height:2px;background:var(--green);margin:5px}
.btn{
  display:inline-flex;align-items:center;justify-content:center;
  min-height:48px;padding:0 24px;border-radius:999px;
  background:var(--green);color:white!important;font-weight:700;
  border:1px solid var(--green);box-shadow:0 8px 28px rgba(15,74,49,.16);
  transition:.2s ease;
}
.btn:hover{transform:translateY(-1px);background:#0a3c28}
.btn-small{min-height:42px;padding:0 19px}
.btn-ghost{background:transparent;color:var(--green)!important;box-shadow:none}
.btn-ghost:hover{background:var(--cream)}
.btn-light{background:white;color:var(--green)!important;border-color:white}
.btn-wide{width:100%}
.hero{
  position:relative;overflow:hidden;
  background:
    radial-gradient(circle at 80% 15%,rgba(120,154,69,.18),transparent 27%),
    linear-gradient(145deg,#fbfcfa 0%,#f3f6f1 53%,#eef3ed 100%);
  padding:92px 0 108px;
}
.hero:before{
  content:"";position:absolute;width:430px;height:430px;border:1px solid rgba(15,74,49,.08);
  border-radius:50%;right:-100px;top:-150px;
}
.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:70px;align-items:center}
.eyebrow,.section-kicker{
  display:inline-block;letter-spacing:.16em;text-transform:uppercase;
  font-size:12px;font-weight:700;color:var(--olive);margin-bottom:14px;
}
.hero h1,.section h2,.cta-section h2{
  font-size:clamp(42px,5.4vw,72px);line-height:1.06;letter-spacing:-.04em;margin:0 0 22px;
}
.hero h1 em{
  font-family:"Playfair Display",Georgia,serif;font-weight:600;color:var(--olive)
}
.lead{font-size:20px;color:#45564d;max-width:670px;margin:0 0 30px}
.hero-actions{display:flex;gap:12px;flex-wrap:wrap}
.trust-row{display:flex;gap:24px;flex-wrap:wrap;margin-top:28px;font-size:14px;color:#496055;font-weight:600}
.hero-card{
  background:rgba(255,255,255,.90);border:1px solid #e5ebe7;border-radius:34px;
  padding:35px;box-shadow:var(--shadow);transform:rotate(1deg)
}
.hero-logo-box{background:white;border-radius:24px;padding:18px 24px;border:1px solid #eef1ef}
.hero-logo-box img{max-height:230px;margin:auto;object-fit:contain}
.mini-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:18px}
.mini-grid>div{background:var(--cream);border-radius:18px;padding:17px;display:grid;grid-template-columns:40px 1fr;align-items:center}
.mini-grid small{grid-column:2;color:var(--muted)}
.mini-icon{grid-row:1/3;font-size:24px;color:var(--green)}
.hero-wave{position:absolute;left:-2%;right:-2%;bottom:-50px;height:82px;background:white;border-radius:50% 50% 0 0/50% 50% 0 0}
.section{padding:94px 0}
.soft{background:var(--cream)}
.intro{padding-top:72px}
.intro h2,.section-head h2,.split-copy h2,.package-title h2,.pflegebox h2,.narrow h2{
  font-size:clamp(32px,4vw,50px);line-height:1.14;letter-spacing:-.035em;margin:0 0 18px
}
.intro p{font-size:18px;color:var(--muted)}
.section-head{display:grid;grid-template-columns:1.2fr .8fr;gap:70px;align-items:end;margin-bottom:38px}
.section-head p{color:var(--muted);font-size:17px;margin:0 0 10px}
.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.service-card{
  background:white;border:1px solid var(--line);border-radius:24px;padding:28px;
  min-height:260px;box-shadow:0 8px 24px rgba(20,50,38,.035)
}
.service-card h3{font-size:21px;margin:18px 0 10px}
.service-card p{color:var(--muted);margin:0}
.icon-badge{
  width:52px;height:52px;border-radius:17px;background:#edf3e6;color:var(--green);
  display:grid;place-items:center;font-size:24px;font-weight:700
}
.accent-card{background:var(--green);color:white;border-color:var(--green)}
.accent-card p{color:#d9e8df}.accent-card .icon-badge{background:rgba(255,255,255,.13);color:white}
.split{display:grid;grid-template-columns:.95fr 1.05fr;gap:72px;align-items:center}
.visual-panel{
  min-height:470px;border-radius:34px;padding:52px;display:flex;flex-direction:column;justify-content:flex-end;
  background:
    linear-gradient(rgba(8,50,31,.14),rgba(8,50,31,.78)),
    radial-gradient(circle at 70% 20%,#b8c78d 0%,#769354 25%,#234f37 66%,#113a28 100%);
  color:white;box-shadow:var(--shadow);position:relative;overflow:hidden
}
.visual-panel:before{
  content:"";position:absolute;inset:24px;border:1px solid rgba(255,255,255,.22);border-radius:24px
}
.quote-mark{position:absolute;top:22px;left:42px;font-family:Georgia;font-size:130px;color:rgba(255,255,255,.14)}
.visual-quote{position:relative;font-family:"Playfair Display",Georgia,serif;font-style:italic;font-size:34px;line-height:1.2;margin:0 0 18px}
.visual-note{position:relative;color:#eef5f0;max-width:430px}
.split-copy p{color:var(--muted);font-size:17px}
.check-list{list-style:none;padding:0;margin:26px 0}
.check-list li{padding:8px 0 8px 34px;position:relative}
.check-list li:before{content:"✓";position:absolute;left:0;width:22px;height:22px;border-radius:50%;background:#edf3e6;color:var(--green);display:grid;place-items:center;font-size:13px;font-weight:800}
.text-link{font-weight:700;color:var(--green)}
.dark{background:#123e2c;color:white}
.light-kicker{color:#b7ce88}
.package-title{width:min(760px,100%);margin:0 auto 42px}
.package-title p{color:#d6e3db}
.pricing-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;align-items:stretch}
.price-card{
  position:relative;background:#f9fbfa;color:var(--ink);border-radius:28px;padding:32px;
  border:1px solid rgba(255,255,255,.12)
}
.price-card.featured{background:white;transform:translateY(-10px);box-shadow:0 18px 60px rgba(0,0,0,.20)}
.popular{position:absolute;top:-12px;right:24px;background:var(--olive);color:white;border-radius:999px;padding:5px 12px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.1em}
.price-label{font-size:13px;letter-spacing:.15em;color:var(--green);font-weight:800}
.price{margin:14px 0 22px}
.price span{font-size:42px;letter-spacing:-.04em;font-weight:800}
.price small{color:var(--muted)}
.price-card ul{padding:0;list-style:none;min-height:180px}
.price-card li{padding:7px 0 7px 26px;position:relative;color:#4c5c54}
.price-card li:before{content:"✓";position:absolute;left:0;color:var(--olive);font-weight:800}
.pricing-note{text-align:center;color:#a9bfb1;font-size:12px;margin-top:24px}
.trust-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.trust-box{border-top:1px solid var(--line);padding:24px 12px 0 0}
.trust-box>b{font-size:13px;color:var(--olive)}
.trust-box h3{font-size:20px;margin:12px 0 8px}
.trust-box p{color:var(--muted);margin:0}
.pflegebox{display:grid;grid-template-columns:1.2fr .8fr;gap:55px;align-items:center}
.notice{background:white;border:1px solid var(--line);border-left:5px solid var(--olive);padding:28px;border-radius:18px}
.notice p{margin:5px 0 0;color:var(--muted)}
.faq-list{margin-top:38px;border-top:1px solid var(--line)}
details{border-bottom:1px solid var(--line);padding:22px 4px}
summary{cursor:pointer;font-weight:700;font-size:18px;list-style:none;position:relative;padding-right:36px}
summary::-webkit-details-marker{display:none}
summary:after{content:"+";position:absolute;right:4px;font-size:25px;color:var(--olive)}
details[open] summary:after{content:"–"}
details p{color:var(--muted);padding-right:40px}
.cta-section{
  background:
    radial-gradient(circle at 10% 10%,rgba(129,158,73,.35),transparent 30%),
    #0f3a29;color:white;padding:90px 0
}
.cta-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:60px;align-items:center}
.cta-section h2{font-size:clamp(38px,4.5vw,60px)}
.cta-section p{color:#d9e8df;font-size:18px}
.contact-card{background:white;color:var(--ink);padding:30px;border-radius:26px;box-shadow:var(--shadow)}
.contact-line{padding:13px 0;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;gap:16px}
.contact-line span{color:var(--muted)}
.contact-card .btn{margin-top:20px}
.contact-card small{display:block;text-align:center;color:#8a928e;margin-top:9px}
.site-footer{background:#09271b;color:#d9e4de;padding:50px 0 22px}
.footer-grid{display:grid;grid-template-columns:1.5fr .7fr .7fr;gap:60px}
.footer-brand img{width:220px;background:white;border-radius:16px;padding:8px}
.footer-brand p{font-size:13px;letter-spacing:.15em;text-transform:uppercase}
.footer-grid>div:not(.footer-brand){display:flex;flex-direction:column;gap:8px}
.footer-grid b{color:white;margin-bottom:8px}
.footer-grid a{color:#b9cbc1;font-size:14px}
.footnote{border-top:1px solid rgba(255,255,255,.12);margin-top:34px;padding-top:20px;display:flex;justify-content:space-between;gap:20px;font-size:11px;color:#81978b}
.legal-page{background:var(--cream);min-height:100vh}
.legal-shell{max-width:860px;margin:0 auto;padding:70px 20px}
.legal-shell .back{display:inline-block;margin-bottom:28px;font-weight:700;color:var(--green)}
.legal-card{background:white;border:1px solid var(--line);padding:38px;border-radius:24px}
.placeholder-box{background:#fff8db;border:1px solid #ead58b;border-radius:14px;padding:18px;margin:18px 0}
@media (max-width:950px){
  .mainnav{position:absolute;left:20px;right:20px;top:78px;display:none;flex-direction:column;align-items:stretch;background:white;border:1px solid var(--line);padding:18px;border-radius:20px;box-shadow:var(--shadow)}
  .mainnav.open{display:flex}.nav-toggle{display:block}
  .hero-grid,.split,.cta-grid,.pflegebox,.section-head{grid-template-columns:1fr}
  .hero{padding-top:60px}.hero-grid{gap:40px}
  .service-grid{grid-template-columns:1fr 1fr}.pricing-grid{grid-template-columns:1fr}.price-card.featured{transform:none}
  .trust-grid{grid-template-columns:1fr 1fr}.section-head{gap:8px}.footer-grid{grid-template-columns:1fr 1fr}
}
@media (max-width:640px){
  .container{width:min(100% - 28px,1180px)}
  .brand img{width:178px;height:58px}.nav-wrap{height:72px}
  .hero{padding:50px 0 92px}.hero h1{font-size:43px}.lead{font-size:17px}
  .hero-card{padding:20px;border-radius:24px}.mini-grid{grid-template-columns:1fr 1fr}
  .section{padding:68px 0}.service-grid,.trust-grid,.footer-grid{grid-template-columns:1fr}
  .visual-panel{min-height:390px;padding:34px}.visual-quote{font-size:29px}
  .price-card{padding:26px}.contact-line{display:block}.contact-line strong{display:block;margin-top:4px}
  .footnote{display:block}.hero-actions .btn{width:100%}
}
