:root{
  --meadow:#F3F8EE;
  --sage:#DCEBD2;
  --leaf:#A9CC92;
  --moss:#3E6B3F;
  --pine:#22402A;
  --river:#5E97A6;
  --white:#FFFFFF;
  --serif:"Lora", Georgia, "Times New Roman", serif;
  --sans:"Manrope", "Segoe UI", Roboto, Arial, sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:72px}
body{margin:0;background:var(--meadow);color:var(--pine);font:17px/1.65 var(--sans);-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto;display:block}
a{color:var(--moss)}
a:focus-visible,summary:focus-visible{outline:3px solid var(--river);outline-offset:3px;border-radius:4px}
h1,h2,h3{font-family:var(--serif);font-weight:600;line-height:1.2;margin:0 0 .6em}
h1{font-size:clamp(2rem,4.6vw,3.6rem);max-width:17ch}
h2{font-size:clamp(1.6rem,3vw,2.4rem);max-width:24ch}
h3{font-size:1.2rem}
p{margin:0 0 1em;max-width:68ch}
.wrap{width:min(1180px,100% - 40px);margin-inline:auto}

.topbar{position:sticky;top:0;z-index:10;background:rgba(243,248,238,.92);backdrop-filter:blur(8px);border-bottom:1px solid var(--sage);padding-top:env(safe-area-inset-top,0px)}
.topbar__in{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:62px}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;font:600 1.25rem var(--serif);color:var(--pine)}
.brand img{border-radius:7px}
.nav{display:flex;gap:22px;flex-wrap:wrap}
.nav a{text-decoration:none;color:var(--pine);font-size:.95rem}
.nav a:hover{color:var(--moss);text-decoration:underline;text-underline-offset:4px}

.hero{position:relative;min-height:min(88vh,760px);display:flex;align-items:flex-end;color:var(--white);overflow:hidden}
.hero picture,.hero__img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hero__veil{position:absolute;inset:0;background:linear-gradient(90deg,rgba(34,64,42,.78) 0%,rgba(34,64,42,.45) 45%,rgba(34,64,42,0) 75%),linear-gradient(180deg,rgba(34,64,42,0) 40%,rgba(34,64,42,.55) 100%)}
.hero h1{text-shadow:0 2px 18px rgba(20,40,25,.35)}
.hero__text{position:relative;padding:0 0 130px}
.hero__text p{font-size:1.15rem;max-width:52ch;color:#EEF6E8}
.hero__actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:24px}
.wave{position:absolute;left:0;right:0;bottom:-1px;width:100%;height:70px;color:var(--meadow)}

.btn{display:inline-block;padding:14px 24px;border-radius:40px;background:var(--moss);color:var(--white);text-decoration:none;font-weight:700;border:2px solid var(--moss)}
.btn:hover{background:var(--pine);border-color:var(--pine)}
.btn--ghost{background:transparent;color:inherit;border-color:currentColor}
.hero .btn--ghost{color:var(--white)}
.btn--ghost:hover{background:rgba(255,255,255,.14);border-color:currentColor}

section{padding:80px 0}
.intro{display:grid;grid-template-columns:1.6fr 1fr;gap:56px;align-items:start}
.facts{margin:0;display:grid;gap:18px}
.facts div{border-left:4px solid var(--leaf);padding:4px 0 4px 18px}
.facts dt{font-size:.95rem;color:var(--moss)}
.facts dd{margin:0;font:600 2.2rem/1.1 var(--serif)}

.choose{background:var(--sage)}
.choose__grid{display:grid;grid-template-columns:1.7fr 1fr;gap:48px;align-items:start}
.choose strong{font-weight:700;color:var(--moss)}
.note{background:var(--white);border-radius:18px;padding:28px;position:sticky;top:90px}
.note ul{list-style:none;margin:0;padding:0;display:grid;gap:16px}
.note li{padding-left:22px;position:relative;font-size:.97rem}
.note li::before{content:"";position:absolute;left:0;top:.6em;width:10px;height:10px;border-radius:50%;background:var(--river)}
.note b{display:block}

.gallery__sub{color:var(--moss)}
.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:28px}
.grid figure{margin:0}
.grid img{border-radius:14px;aspect-ratio:3/2;object-fit:cover;width:100%}
.grid figcaption{padding:12px 2px 0;font-size:.95rem}
.grid figcaption b{display:block;font:600 1.1rem var(--serif)}

.steps{background:var(--pine);color:#E8F2E1}
.steps h2{color:var(--white)}
.steps__list{list-style:none;counter-reset:s;margin:30px 0 0;padding:0;display:grid;grid-template-columns:repeat(5,1fr);gap:22px}
.steps__list li{counter-increment:s;border-top:2px solid var(--leaf);padding-top:16px}
.steps__list li::before{content:counter(s);font:600 2rem var(--serif);color:var(--leaf);display:block;margin-bottom:6px}
.steps__list h3{color:var(--white)}
.steps__list p{font-size:.95rem}

.trust{display:grid;grid-template-columns:1.5fr 1fr;gap:48px;align-items:start}
.trust__list{margin:0;padding:24px 28px;background:var(--white);border-radius:18px;list-style:none;display:grid;gap:14px}
.trust__list li{padding-left:30px;position:relative}
.trust__list li::before{content:"";position:absolute;left:0;top:.35em;width:16px;height:9px;border-left:3px solid var(--moss);border-bottom:3px solid var(--moss);transform:rotate(-45deg)}

.faq{background:var(--sage)}
.faq details{max-width:860px}
.faq details{background:var(--white);border-radius:14px;margin-bottom:12px;padding:0 22px}
.faq summary{cursor:pointer;padding:18px 0;font-weight:700;list-style:none;position:relative;padding-right:30px}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";position:absolute;right:0;top:12px;font-size:1.6rem;color:var(--moss)}
.faq details[open] summary::after{content:"–"}
.faq details p{padding-bottom:18px;margin:0}

.contacts{text-align:center}
.contacts h2,.contacts p{margin-inline:auto}
.contacts__row{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin-top:22px}

.footer{background:var(--pine);color:#CFE0C6;padding:40px 0 calc(40px + env(safe-area-inset-bottom,0px));font-size:.95rem}
.footer__in{display:grid;grid-template-columns:2fr 1fr;gap:24px}
.footer__brand{font:600 1.3rem var(--serif);color:var(--white);margin-bottom:6px}
.footer__links{display:flex;flex-direction:column;gap:8px}
.footer a{color:#E8F2E1}
.footer__copy{grid-column:1/-1;border-top:1px solid rgba(255,255,255,.15);padding-top:18px;margin:0;max-width:none}

@media (max-width:1000px){
  .steps__list{grid-template-columns:repeat(2,1fr)}
  .intro,.choose__grid,.trust{grid-template-columns:1fr;gap:32px}
  .note{position:static}
  .grid{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:640px){
  body{font-size:16px}
  .nav{display:none}
  section{padding:56px 0}
  .hero{min-height:82vh}
  .hero__text{padding-bottom:100px}
  .grid,.steps__list{grid-template-columns:1fr}
  .footer__in{grid-template-columns:1fr}
  .btn{width:100%;text-align:center}
}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
