:root{
  --ground:#F7F4EE; --ink:#1F2A33; --muted:#3E4B55; --accent:#1F5F63; --accent-dark:#134447;
  --sand:#EDE6D6; --card:#FFFFFF; --line:#E3DCCB; --field:#8A949B;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--ground);color:var(--ink);font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif;font-size:17px;line-height:1.6}
a{color:var(--accent)}
a:hover{color:var(--accent-dark)}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid var(--accent);outline-offset:2px}
h1,h2,h3,.serif{font-family:Fraunces,Georgia,serif;font-weight:500;letter-spacing:-0.015em;margin:0}
.wrap{max-width:1120px;margin:0 auto;padding:0 32px}
.skip{position:absolute;left:-999px;top:8px;background:#fff;padding:8px 14px;border-radius:8px;z-index:10}
.skip:focus{left:8px}

/* header */
.site-header{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px;padding-top:24px;padding-bottom:24px}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--ink)}
.brand span{font-family:Fraunces,Georgia,serif;font-size:24px;font-weight:600;letter-spacing:-0.01em}
.nav{display:flex;flex-wrap:wrap;align-items:center;gap:28px;font-size:16px;font-weight:500}
.nav a{text-decoration:none;color:var(--ink)}
.btn{display:inline-block;text-decoration:none;background:var(--accent);color:#fff!important;padding:15px 28px;border-radius:999px;font-weight:600;font-size:17px;border:0;cursor:pointer;font-family:inherit;line-height:1.4}
.btn:hover{background:var(--accent-dark)}
.btn.small{padding:11px 20px;font-size:16px}
.btn.light{background:#fff;color:var(--accent-dark)!important}
.btn.light:hover{background:#f1ede2}
.link-strong{color:var(--ink);font-weight:600;text-decoration:none;padding:15px 8px}

/* hero */
.hero{display:flex;flex-wrap:wrap;align-items:center;gap:56px;padding-top:40px;padding-bottom:72px}
.hero-copy{flex:1 1 440px;min-width:0;display:flex;flex-direction:column;gap:24px}
.eyebrow{font-size:14px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--accent)}
.hero h1{font-size:clamp(38px,5.2vw,56px);line-height:1.08;letter-spacing:-0.02em}
.lead{margin:0;font-size:20px;color:var(--muted);max-width:520px}
.cta-row{display:flex;flex-wrap:wrap;align-items:center;gap:16px;margin-top:8px}

/* form */
.form-card{flex:1 1 380px;min-width:0;background:var(--card);border:1px solid var(--line);border-radius:20px;padding:32px;display:flex;flex-direction:column;gap:18px}
.form-card h2{font-size:26px}
.field{display:flex;flex-direction:column;gap:6px}
.field label{font-size:14px;font-weight:600}
.field input,.field select{height:48px;padding:0 14px;border:1px solid var(--field);border-radius:10px;font-size:16px;font-family:inherit;background:#fff;color:var(--ink)}
.consent{display:flex;align-items:flex-start;gap:10px}
.consent input{width:22px;height:22px;margin:3px 0 0;flex:none}
.consent label{font-size:13px;line-height:1.5;color:#4B5963}
.hp{position:absolute;left:-9999px;opacity:0;height:0;width:0}
.form-card button{height:52px}

/* strip */
.strip{background:var(--sand)}
.strip .wrap{display:flex;flex-wrap:wrap;gap:12px 48px;justify-content:space-between;padding-top:28px;padding-bottom:28px;font-size:15px;font-weight:500;color:#2E3A43}

/* sections */
section.block{padding-top:88px;padding-bottom:16px}
section.block h2{font-size:clamp(30px,4vw,40px);margin-bottom:12px}
.sub{margin:0 0 36px;color:var(--muted);max-width:640px}
.cards{display:flex;flex-wrap:wrap;gap:24px}
.card{flex:1 1 260px;min-width:0;background:var(--card);border:1px solid var(--line);border-radius:16px;padding:28px}
.card .num{font-family:Fraunces,Georgia,serif;font-size:36px;color:var(--accent);line-height:1.1}
.card h3{font-family:Inter,system-ui,sans-serif;font-size:20px;font-weight:600;letter-spacing:0;margin:8px 0}
.card p{margin:0;color:var(--muted)}
.products .item{flex:1 1 240px;min-width:0;border-top:3px solid var(--accent);padding-top:20px}
.products h3{font-family:Inter,system-ui,sans-serif;font-size:22px;font-weight:600;letter-spacing:0;margin-bottom:8px}
.products p{margin:0;color:var(--muted)}

/* about */
.about{display:flex;flex-wrap:wrap;align-items:center;gap:56px;padding-top:88px;padding-bottom:72px}
.photo{flex:0 1 380px;min-width:260px;height:440px;background:var(--line);border-radius:20px;display:flex;align-items:center;justify-content:center;color:#4B5963;font-weight:500;text-align:center;padding:24px;overflow:hidden}
.photo img{width:100%;height:100%;object-fit:cover}
.about-copy{flex:1 1 420px;min-width:0;display:flex;flex-direction:column;gap:18px}
.about-copy h2{font-size:clamp(30px,4vw,40px)}
.about-copy p{margin:0;color:var(--muted)}

/* faq */
.faq{max-width:820px;margin:0 auto;padding:24px 32px 88px}
.faq h2{font-size:clamp(30px,4vw,40px);margin-bottom:28px}
.faq details{border-top:1px solid #D8D0BD;padding:20px 0}
.faq details:last-of-type{border-bottom:1px solid #D8D0BD}
.faq summary{font-size:19px;font-weight:600;cursor:pointer}
.faq details p{margin:10px 0 0;color:var(--muted)}

/* closing */
.closing{background:var(--accent);color:#fff}
.closing .wrap{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:28px;padding-top:72px;padding-bottom:72px}
.closing h2{font-size:clamp(28px,3.6vw,36px);max-width:640px;line-height:1.15}

/* footer */
footer{background:#1F2A33;color:#C9D1D6;font-size:13px;line-height:1.7}
footer .wrap{padding-top:40px;padding-bottom:40px;display:flex;flex-direction:column;gap:10px}
footer strong{color:#fff;font-size:15px}
footer a{color:#fff}
.foot-links{display:flex;flex-wrap:wrap;gap:20px;margin-top:6px}

/* simple pages */
.page{max-width:760px;margin:0 auto;padding:24px 32px 96px}
.page h1{font-size:clamp(32px,4.4vw,44px);margin-bottom:8px}
.page h2{font-size:24px;margin:36px 0 8px}
.page p,.page li{color:var(--muted)}
.draft{background:#FFF4D6;border:1px solid #E6CE85;border-radius:10px;padding:14px 18px;color:#4a3b00;font-size:15px;margin:16px 0 8px}
.thanks{text-align:center;padding:96px 32px;max-width:640px;margin:0 auto}
.thanks h1{font-size:clamp(34px,5vw,48px);margin-bottom:16px}
.thanks p{color:var(--muted);font-size:19px}

@media (max-width:720px){
  .wrap{padding:0 20px}
  .nav a:not(.btn){display:none}
  .nav{gap:0}
  .hero{gap:36px;padding-bottom:56px}
  .form-card{padding:24px}
  .photo{height:340px}
  .faq{padding-left:20px;padding-right:20px}
  .page{padding-left:20px;padding-right:20px}
}
