:root{--cream:#F8F2E8;--sand:#EADBC3;--sand2:#F1E6D4;--terra:#B5552F;--terra-d:#9A4424;--clay:#D98A68;--sage:#8E9A6C;--sage-d:#5F6B42;--taupe:#8A7563;--esp:#3B2A20;--text:#4A3A2E;--r:18px}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;scroll-padding-top:80px}
body{font-family:Inter,system-ui,Arial,sans-serif;color:var(--text);background:var(--cream);line-height:1.65;font-size:17px}
h1,h2,h3{font-family:Fraunces,Georgia,serif;color:var(--esp);line-height:1.15;font-weight:600}
h1{font-size:clamp(2.3rem,5vw,3.7rem);letter-spacing:-.01em}
h2{font-size:clamp(1.9rem,3.5vw,2.6rem);margin-bottom:.6rem}
h3{font-size:1.25rem;margin-bottom:.4rem}
a{color:var(--terra)}
.container{max-width:1140px;margin:0 auto;padding:0 24px}
.narrow{max-width:780px}
.skip{position:absolute;left:-999px;top:8px;background:var(--esp);color:#fff;padding:8px 14px;border-radius:8px;z-index:99}
.skip:focus{left:8px}
:focus-visible{outline:3px solid var(--sage-d);outline-offset:3px}
.eyebrow{text-transform:uppercase;letter-spacing:.14em;font-size:.78rem;font-weight:600;color:var(--sage-d);margin-bottom:.8rem}
.eyebrow.light{color:var(--sand)}
.btn{display:inline-block;background:var(--terra);color:#fff;text-decoration:none;font-weight:600;padding:14px 26px;border-radius:999px;border:2px solid var(--terra);transition:.2s;cursor:pointer;font:600 1rem Inter,sans-serif}
.btn:hover{background:var(--terra-d);border-color:var(--terra-d);transform:translateY(-1px)}
.btn-ghost{background:transparent;color:var(--esp);border-color:var(--taupe)}
.btn-ghost:hover{background:var(--sand2);border-color:var(--esp);color:var(--esp)}
.btn-sm{padding:9px 20px;font-size:.92rem}
/* header */
.site-header{position:sticky;top:0;z-index:50;background:rgba(248,242,232,.92);backdrop-filter:blur(8px);border-bottom:1px solid var(--sand)}
.nav-wrap{display:flex;align-items:center;justify-content:space-between;height:72px}
.logo{display:flex;align-items:center;gap:10px;text-decoration:none;font-family:Fraunces,Georgia,serif;font-size:1.5rem;color:var(--esp)}
.logo svg{width:40px;height:31px}.logo b{color:var(--terra);font-weight:700}
.nav{display:flex;align-items:center;gap:28px}
.nav a{text-decoration:none;color:var(--text);font-weight:500;font-size:.96rem}
.nav a:not(.btn):hover{color:var(--terra)}
.nav a.btn{color:#fff}
.nav-toggle{display:none;background:none;border:0;width:44px;height:44px;cursor:pointer}
.nav-toggle span{display:block;width:24px;height:2px;background:var(--esp);margin:5px auto;border-radius:2px}
/* hero */
.hero{padding:80px 0 90px;background:radial-gradient(circle at 85% 20%,#F3DCCB 0,transparent 45%),radial-gradient(circle at 10% 90%,#E4E6D3 0,transparent 40%)}
.hero-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:56px;align-items:center}
.lead{font-size:1.15rem;margin:1.3rem 0 2rem;max-width:560px}
.cta-row{display:flex;gap:14px;flex-wrap:wrap}
.hero-points{list-style:none;display:flex;flex-wrap:wrap;gap:10px 24px;margin-top:2rem;font-size:.94rem;color:var(--taupe)}
.hero-points li::before{content:"";display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--sage);margin-right:8px}
.hero-art{position:relative}
.hero-art svg{width:100%;height:auto;border-radius:28px;background:linear-gradient(#F6E7D7,#F8F2E8);box-shadow:0 30px 60px -30px rgba(59,42,32,.3)}
.badge{position:absolute;background:#fff;border-radius:14px;padding:12px 18px;box-shadow:0 12px 30px -12px rgba(59,42,32,.3);display:flex;flex-direction:column;line-height:1.2}
.badge strong{font-family:Fraunces,serif;font-size:1.3rem;color:var(--terra)}.badge span{font-size:.8rem;color:var(--taupe)}
.b1{left:-20px;top:40px}.b2{right:-14px;bottom:60px}.b2 strong{color:var(--sage-d)}
/* sections */
.section{padding:96px 0}
.section.alt{background:var(--sand2)}
.section-lead{max-width:640px;margin-bottom:2.8rem;font-size:1.06rem}
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.card{background:#fff;border-radius:var(--r);padding:32px;border:1px solid var(--sand);transition:.25s}
.card:hover{transform:translateY(-4px);box-shadow:0 20px 40px -24px rgba(59,42,32,.35)}
.icon{width:52px;height:52px;border-radius:14px;background:#F5E1D5;display:grid;place-items:center;margin-bottom:20px}
.icon svg{width:26px;height:26px;fill:none;stroke:var(--terra);stroke-width:2;stroke-linecap:round}
.card:nth-child(2) .icon{background:#E6E9D8}.card:nth-child(2) .icon svg{stroke:var(--sage-d)}
.card:nth-child(3) .icon{background:var(--sand)}.card:nth-child(3) .icon svg{stroke:var(--esp)}
.steps{list-style:none;display:grid;grid-template-columns:repeat(4,1fr);gap:24px;margin-top:2.4rem;counter-reset:s}
.steps li{position:relative;background:var(--cream);border-radius:var(--r);padding:30px 24px}
.num{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:var(--terra);color:#fff;font-family:Fraunces,serif;font-weight:600;font-size:1.2rem;margin-bottom:16px}
.steps li:nth-child(even) .num{background:var(--sage-d)}
.roles{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.role-group{border-top:3px solid var(--clay);padding-top:20px}
.role-group:nth-child(2){border-color:var(--sage)}.role-group:nth-child(3){border-color:var(--taupe)}
.tags{list-style:none;display:flex;flex-wrap:wrap;gap:10px;margin-top:14px}
.tags li{background:#fff;border:1px solid var(--sand);padding:7px 14px;border-radius:999px;font-size:.92rem}
.why-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px;margin-top:2.4rem}
.why{background:var(--cream);border-radius:var(--r);padding:30px;border-left:4px solid var(--terra)}
.why:nth-child(2),.why:nth-child(3){border-color:var(--sage)}
details{border-bottom:1px solid var(--sand);padding:20px 0}
summary{cursor:pointer;font-weight:600;color:var(--esp);font-size:1.06rem;list-style:none;display:flex;justify-content:space-between;gap:16px}
summary::-webkit-details-marker{display:none}
summary::after{content:"+";color:var(--terra);font-size:1.5rem;line-height:1}
details[open] summary::after{content:"–"}
details p{margin-top:10px}
/* contact */
.contact{background:var(--esp);color:#EFE4D4;padding:96px 0;background-image:radial-gradient(circle at 90% 10%,rgba(217,138,104,.25),transparent 40%),radial-gradient(circle at 0 100%,rgba(142,154,108,.25),transparent 40%)}
.contact h2{color:#fff}
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}
.mail{display:inline-block;margin:1.6rem 0 1rem;font-family:Fraunces,serif;font-size:clamp(1.4rem,3vw,2rem);color:#F3C4A8;text-decoration:underline;text-underline-offset:6px;text-decoration-thickness:2px;word-break:break-all}
.mail:hover{color:#fff}
.small{font-size:.9rem;color:#CBB9A5}
.form{background:var(--cream);border-radius:22px;padding:32px;color:var(--text)}
.field{margin-bottom:16px}
label{display:block;font-weight:600;font-size:.9rem;margin-bottom:6px;color:var(--esp)}
input,textarea{width:100%;font:inherit;padding:12px 14px;border:1.5px solid #D8C6AC;border-radius:12px;background:#fff;color:var(--esp)}
input:focus,textarea:focus{outline:none;border-color:var(--terra);box-shadow:0 0 0 3px rgba(181,85,47,.18)}
.form .btn{width:100%}
.footer{background:#2E2119;color:#BFAE9C;padding:36px 0;font-size:.9rem}
.foot{display:flex;flex-wrap:wrap;gap:20px;align-items:center;justify-content:space-between}
.foot nav{display:flex;flex-wrap:wrap;gap:20px}.foot nav a{color:#E3D5C3;text-decoration:none}.foot nav a:hover{color:#fff}
.small-logo{color:#F1E6D4;font-size:1.25rem}.small-logo b{color:var(--clay)}
/* responsive */
@media (max-width:900px){
 .hero-grid,.contact-grid{grid-template-columns:1fr}
 .hero-art{max-width:460px;margin:0 auto}
 .cards,.roles{grid-template-columns:1fr}
 .steps{grid-template-columns:1fr 1fr}
 .nav-toggle{display:block}
 .nav{position:absolute;top:72px;left:0;right:0;background:var(--cream);flex-direction:column;align-items:flex-start;padding:16px 24px 24px;gap:14px;border-bottom:1px solid var(--sand);display:none}
 .nav.open{display:flex}
}
@media (max-width:560px){
 body{font-size:16px}
 .section,.contact{padding:68px 0}.hero{padding:48px 0 64px}
 .steps,.why-grid{grid-template-columns:1fr}
 .b1{left:8px;top:12px}.b2{right:8px;bottom:24px}
 .form{padding:24px}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
