:root{
  --ivory:#F5EFE7; --espresso:#2B231F; --clay:#8C5548; --clay-deep:#743F35;
  --sage:#7C897D; --sage-ink:#4F5C50; --sand:#B69E7A; --linen:#E7DCD1;
  --taupe:#6E625B; --taupe-ink:#584E48;
  --line:rgba(43,35,31,0.14); --line-dark:rgba(245,239,231,0.18);
  --serif:'Newsreader',Georgia,serif; --sans:'Inter',system-ui,sans-serif;
  --r:10px; --t:200ms cubic-bezier(.22,1,.36,1);
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:76px}
body{margin:0;background:var(--ivory);color:var(--espresso);font-family:var(--sans);font-size:16.5px;line-height:1.62;-webkit-font-smoothing:antialiased;overflow-x:hidden;overflow-wrap:break-word;text-wrap:pretty}
img{display:block;max-width:100%}
a{color:var(--clay);text-decoration:none;transition:color var(--t)}
a:hover{color:var(--clay-deep)}
input,select,textarea,button{font:inherit;color:inherit}
:focus-visible{outline:2px solid var(--clay);outline-offset:2px;border-radius:4px}
::selection{background:rgba(140,85,72,0.18)}
details summary::-webkit-details-marker{display:none}
details[open] .plus{transform:rotate(45deg)}
details > div.answer{display:grid;grid-template-rows:0fr;transition:grid-template-rows 260ms cubic-bezier(.22,1,.36,1)}
details[open] > div.answer{grid-template-rows:1fr}
details > div.answer > div{overflow:hidden}
details summary:hover{color:var(--clay)}

@keyframes riseIn{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
@keyframes slowZoom{from{transform:scale(1)}to{transform:scale(1.03)}}
.hero-anim{animation:riseIn 460ms cubic-bezier(.22,1,.36,1) both}
.hero-zoom{animation:slowZoom 15s ease-out both}

[data-fade]{opacity:0;transform:translateY(10px);transition:opacity 520ms cubic-bezier(.22,1,.36,1),transform 520ms cubic-bezier(.22,1,.36,1)}
[data-fade][data-shown]{opacity:1;transform:none}

.arrow-btn svg{transition:transform var(--t)}
.arrow-btn:hover svg{transform:translateX(4px)}
.lift{transition:transform var(--t),border-color var(--t),background var(--t)}
.lift:hover{transform:translateY(-2px)}
.zoom{overflow:hidden}
.zoom img{transition:transform 400ms cubic-bezier(.22,1,.36,1)}
.zoom:hover img{transform:scale(1.02)}
.step-row{transition:opacity var(--t)}

.nav-links a{color:var(--taupe)}
.nav-links a:hover{color:var(--espresso)}
.btn-clay{background:var(--clay);color:#fff;transition:background var(--t)}
.btn-clay:hover{background:var(--clay-deep);color:#fff}
.btn-sand{background:var(--sand);color:var(--espresso);transition:background var(--t)}
.btn-sand:hover{background:#fff;color:var(--espresso)}
.btn-ghost{border:1px solid var(--line-dark);color:rgba(245,239,231,0.9);transition:border-color var(--t),color var(--t)}
.btn-ghost:hover{border-color:var(--sand);color:#fff}
.feat-card:hover{border-color:var(--clay) !important}
.foot-link{color:rgba(245,239,231,0.75)}
.foot-link:hover{color:#fff}
.foot-link[aria-current="page"]{color:#fff}
.foot-accent{color:var(--sand)}
.foot-accent:hover{color:#fff}

.legal-content h2{font-family:var(--serif);font-weight:500;font-size:clamp(21px,2.4vw,26px);letter-spacing:-0.015em;margin:40px 0 12px;color:var(--espresso)}
.legal-content h2:first-child{margin-top:0}
.legal-content p,.legal-content li{font-size:15.5px;line-height:1.7;color:var(--taupe-ink);margin:0 0 14px;max-width:70ch}
.legal-content ul{margin:0 0 14px;padding-left:22px}
.legal-content li{margin-bottom:8px}
.legal-content strong{color:var(--espresso);font-weight:600}
.legal-content a{text-decoration:underline;text-decoration-color:var(--line)}

.sticky-cta{position:fixed;left:0;right:0;bottom:0;z-index:70;display:none;padding:10px 16px calc(10px + env(safe-area-inset-bottom));background:rgba(245,239,231,0.96);backdrop-filter:blur(8px);border-top:1px solid var(--line);transform:translateY(110%);transition:transform 240ms cubic-bezier(.22,1,.36,1)}
.sticky-cta.show{transform:none}

@media (max-width:960px){
  .g-hero,.g-two,.g-sys,.g-fit,.g-faq,.g-foot,.g-trust{grid-template-columns:1fr !important}
  .stick{position:static !important}
  .nav-links{display:none !important}
}
@media (max-width:700px){
  body{font-size:16px;line-height:1.58}
  .pad{padding-left:20px !important;padding-right:20px !important}
  .h1{font-size:40px !important;line-height:1.06 !important}
  .h2{font-size:32px !important}
  section:not(#top):not(.trust-sec){padding-top:52px !important;padding-bottom:52px !important}
  #top > .g-hero{padding-top:36px !important;padding-bottom:44px !important}
  .cta-row{flex-direction:column;align-items:stretch !important}
  .cta-row a{width:100%;justify-content:space-between !important;gap:12px !important}
  .sticky-cta{display:block}
  .hero-zoom{animation:none}
  .step-row{grid-template-columns:26px 1fr !important;gap:16px !important;padding:18px 0 !important}
  .chain{grid-template-columns:1fr !important;gap:4px !important}
  .chain > div{flex-direction:column;gap:4px !important}
  .chain > div > div{width:100%}
  .chain-arrow{transform:rotate(90deg)}
  .feat-card{padding:24px 20px 26px !important}
  .problem-img,.problem-img img{max-height:220px !important}
  .cal-frame{height:1020px !important}
  .g-trust{gap:0 !important;padding-top:6px !important;padding-bottom:6px !important}
  .g-trust > div{padding:14px 0 !important;border-top:1px solid var(--line)}
  .g-trust > div:first-child{border-top:0}
  .g-trust > div > div{font-size:16.5px !important;margin-bottom:2px !important}
  .g-trust > div > p{font-size:14px !important;line-height:1.5 !important}
  .g-faq{gap:24px !important}
  footer{padding-top:36px !important;padding-bottom:78px !important}
  .g-foot{grid-template-columns:1fr 1fr !important;gap:20px 18px !important;padding-bottom:20px !important}
  .g-foot > div:first-child{grid-column:1 / -1}
  .g-foot > div:first-child > div{font-size:26px !important;margin-bottom:8px !important}
  .g-foot > div:first-child > p{font-size:14px !important;margin-bottom:10px !important}
  .g-foot > div > a{min-height:40px;display:inline-flex;align-items:center;font-size:14px !important}
  footer > .pad > div:last-child{padding-top:14px !important;gap:6px !important}
  [data-fade]{transform:translateY(7px)}
  .legal-content{padding-top:4px}
}
@media (max-width:430px){
  .brand-tag{display:none !important}
}
@media (max-width:360px){
  .h1{font-size:33px !important}
  .h2{font-size:27px !important}
  .pad{padding-left:16px !important;padding-right:16px !important}
  header .row{gap:8px !important}
  header .row a[data-cta]{padding-left:12px !important;padding-right:12px !important;font-size:13.5px !important}
  section:not(#top):not(.trust-sec){padding-top:44px !important;padding-bottom:44px !important}
  .feat-card{padding:22px 16px 24px !important}
  .cal-frame{height:1080px !important}
}
@media (prefers-reduced-motion:reduce){
  *{transition:none !important;animation:none !important}
  [data-fade]{opacity:1 !important;transform:none !important}
}
