/* ContractOut v3 redesign: mobile first, vanilla CSS. */
@font-face{font-family:'Fraunces';font-style:normal;font-weight:500 700;font-display:swap;src:url(/fonts/fraunces-display.woff2) format('woff2')}
@font-face{font-family:'Inter';font-style:normal;font-weight:400 700;font-display:swap;src:url(/fonts/inter-text.woff2) format('woff2')}
:root{
  --ink:#0b1410;--ink-2:#13211a;--ink-3:#1c2e24;--moss:#2f5a41;--sage:#a7c3a2;--mint:#cfe7c9;
  --paper:#fbfaf7;--sand:#f4f0e8;--stone:#ece6db;--clay:#c56f3a;--clay-btn:#ad5523;--clay-btn-2:#9b4a1c;--amber:#f0c39f;
  --text:#14201a;--muted:#4f5c55;--line:rgba(11,20,16,.1);--line-d:rgba(255,255,255,.12);
  --r:20px;--r-sm:14px;
  --sh-1:0 1px 2px rgba(11,20,16,.06),0 4px 12px -4px rgba(11,20,16,.08);
  --sh-2:0 2px 4px rgba(11,20,16,.05),0 24px 48px -24px rgba(11,20,16,.28);
  --sh-3:0 40px 80px -30px rgba(0,0,0,.65);
  --grad:linear-gradient(100deg,#f6d2b0 0%,#f0a874 40%,#cfe7c9 100%);
  --serif:'Fraunces',Georgia,'Times New Roman',serif;
  --sans:'Inter',system-ui,-apple-system,'Segoe UI',Roboto,Arial,sans-serif;
  --ease:cubic-bezier(.2,.7,.2,1);
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;scroll-padding-top:76px;-webkit-text-size-adjust:100%}
body{font-family:var(--sans);color:var(--text);background:var(--paper);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
a{color:inherit}
img,svg{display:block;max-width:100%}
ul,ol{list-style:none}
.wrap{width:min(1180px,100% - 2.5rem);margin-inline:auto}
.sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:absolute;left:-9999px;top:0;background:var(--ink);color:#fff;padding:.7rem 1rem;z-index:99;border-radius:0 0 10px 0}
.skip:focus{left:0}
:focus-visible{outline:3px solid var(--clay);outline-offset:3px;border-radius:6px}
h1,h2,h3{font-family:var(--serif);font-weight:600;line-height:1.1;letter-spacing:-.012em;font-optical-sizing:auto;text-wrap:balance}
h2{font-size:clamp(1.85rem,1.2rem + 2.8vw,3rem);margin:.6rem 0 1rem}
h3{font-family:var(--sans);font-size:1.08rem;font-weight:650;letter-spacing:-.01em;line-height:1.3}
.h3,.offer h3,.thanks h3{font-family:var(--serif);font-weight:600;letter-spacing:-.012em;line-height:1.12}
.h3{font-size:clamp(1.4rem,1rem + 1.6vw,2rem)}
p{text-wrap:pretty}
.eyebrow{display:inline-block;font-size:.74rem;letter-spacing:.16em;text-transform:uppercase;font-weight:650;color:var(--moss)}
.lede{color:var(--muted);font-size:1.06rem;max-width:62ch}
.kicker{font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;font-weight:700;color:var(--moss)}

/* buttons */
.btn{--bx:0;position:relative;display:inline-flex;align-items:center;justify-content:center;gap:.55rem;font:600 .98rem/1.2 var(--sans);text-decoration:none;text-align:center;border-radius:999px;padding:.9rem 1.35rem;border:1px solid transparent;cursor:pointer;min-height:48px;transition:transform .2s var(--ease),box-shadow .25s var(--ease),background-color .2s,border-color .2s,color .2s;-webkit-tap-highlight-color:transparent}
.btn svg{transition:transform .25s var(--ease);flex:none}
.btn:hover svg{transform:translateX(3px)}
.btn:active{transform:scale(.98)}
.btn-primary{color:#fff;background:linear-gradient(180deg,var(--clay-btn),var(--clay-btn-2));box-shadow:inset 0 1px 0 rgba(255,255,255,.22),0 10px 24px -12px rgba(173,85,35,.9)}
.btn-primary:hover{transform:translateY(-1px);box-shadow:inset 0 1px 0 rgba(255,255,255,.22),0 16px 32px -14px rgba(173,85,35,1),0 0 0 4px rgba(197,111,58,.16)}
.btn-glass{color:#fff;background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.22);backdrop-filter:blur(8px)}
.btn-glass:hover{background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.4)}
.btn-line{background:#fff;color:var(--text);border-color:var(--line);box-shadow:var(--sh-1)}
.btn-line:hover{border-color:rgba(11,20,16,.28);transform:translateY(-1px)}
.btn-sm{padding:.6rem 1rem;min-height:42px;font-size:.9rem}
.btn-lg{padding:1rem 1.5rem;font-size:1rem}
.btn-block{width:100%}

/* nav */
header.nav{position:sticky;top:0;z-index:50;background:rgba(11,20,16,.86);backdrop-filter:saturate(1.6) blur(14px);-webkit-backdrop-filter:saturate(1.6) blur(14px);border-bottom:1px solid var(--line-d);color:#fff;transition:background-color .3s}
header.nav.scrolled{background:rgba(11,20,16,.94);box-shadow:0 10px 30px -18px rgba(0,0,0,.6)}
.nav-in{display:flex;align-items:center;justify-content:space-between;gap:1rem;height:64px}
.brand{display:flex;align-items:center;gap:.6rem;text-decoration:none;font-family:var(--serif);font-weight:600;font-size:1.2rem;letter-spacing:-.01em}
.brand .mk{width:32px;height:32px;border-radius:10px;display:grid;place-items:center;color:var(--ink);background:linear-gradient(135deg,var(--amber),var(--sage));box-shadow:inset 0 1px 0 rgba(255,255,255,.5)}
.nav-act{display:flex;align-items:center;gap:.5rem}
.btn-sm .lg{display:none}
nav.links{display:none}
.menu{width:44px;height:44px;border-radius:12px;border:1px solid var(--line-d);background:transparent;color:#fff;display:grid;place-items:center;cursor:pointer}
.menu i,.menu i::before,.menu i::after{display:block;width:18px;height:2px;background:currentColor;border-radius:2px;position:relative;transition:transform .25s var(--ease),opacity .2s}
.menu i::before,.menu i::after{content:"";position:absolute;left:0}
.menu i::before{top:-6px}.menu i::after{top:6px}
.menu[aria-expanded="true"] i{background:transparent}
.menu[aria-expanded="true"] i::before{transform:translateY(6px) rotate(45deg)}
.menu[aria-expanded="true"] i::after{transform:translateY(-6px) rotate(-45deg)}
nav.links.open{display:grid;position:absolute;top:64px;left:0;right:0;background:#0b1410;box-shadow:0 30px 40px -20px rgba(0,0,0,.7);border-bottom:1px solid var(--line-d);padding:.5rem 1.25rem 1rem}
nav.links.open a{padding:.85rem 0;border-bottom:1px solid var(--line-d);text-decoration:none;font-weight:500}
html:not(.js) .menu{display:none}
html:not(.js) nav.links{display:flex;gap:1rem;font-size:.85rem}

/* hero */
.hero{position:relative;overflow:hidden;background:var(--ink);color:#fff;padding:3.2rem 0 4rem;isolation:isolate}
.aurora{position:absolute;inset:0;z-index:-1;pointer-events:none;overflow:hidden}
.aurora span{position:absolute;border-radius:50%;opacity:.6}
.aurora span:nth-child(1){width:60vmax;height:60vmax;right:-22vmax;top:-30vmax;background:radial-gradient(closest-side,rgba(167,195,162,.55),transparent)}
.aurora span:nth-child(2){width:50vmax;height:50vmax;left:-25vmax;bottom:-30vmax;background:radial-gradient(closest-side,rgba(197,111,58,.5),transparent)}
.aurora span:nth-child(3){width:30vmax;height:30vmax;left:40%;top:30%;background:radial-gradient(closest-side,rgba(240,195,159,.25),transparent)}
.gridbg{position:absolute;inset:0;z-index:-1;pointer-events:none;background-image:linear-gradient(rgba(255,255,255,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.045) 1px,transparent 1px);background-size:48px 48px;-webkit-mask-image:radial-gradient(ellipse 80% 70% at 60% 30%,#000 20%,transparent 75%);mask-image:radial-gradient(ellipse 80% 70% at 60% 30%,#000 20%,transparent 75%)}
.hero-in{display:grid;gap:3rem;align-items:center}
.chip{display:inline-flex;align-items:center;gap:.55rem;color:#dfe9db;background:rgba(255,255,255,.06);border:1px solid var(--line-d);padding:.45rem .8rem;border-radius:999px;letter-spacing:.08em;font-size:.68rem;line-height:1.35}
.chip i{flex:none;width:7px;height:7px;border-radius:50%;background:var(--sage);box-shadow:0 0 0 4px rgba(167,195,162,.18)}
.hero h1{font-size:clamp(2.4rem,1.4rem + 4.6vw,4.3rem);margin:1.1rem 0 1.1rem;letter-spacing:-.018em;line-height:1.04}
.grad{background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-box-decoration-break:clone;box-decoration-break:clone}
.hero .sub{color:#cfdacb;font-size:1.08rem;max-width:54ch}
.ctas{display:grid;gap:.7rem;margin:1.8rem 0 1.5rem}
.assure{display:flex;flex-wrap:wrap;gap:.5rem 1.2rem;font-size:.88rem;color:#c3cfc0}
.assure li{display:flex;align-items:center;gap:.45rem}
.assure svg{width:17px;height:17px;color:var(--sage)}

/* hero mock-up */
.mock{position:relative;margin:0 auto;width:100%;max-width:520px;perspective:1200px}
.mock-card{position:relative;background:linear-gradient(180deg,rgba(255,255,255,.1),rgba(255,255,255,.04));border:1px solid rgba(255,255,255,.14);border-radius:22px;padding:.4rem;box-shadow:var(--sh-3),inset 0 1px 0 rgba(255,255,255,.12);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);transform-style:preserve-3d;transition:transform .5s var(--ease)}
.mock-bar{display:flex;align-items:center;gap:6px;padding:.65rem .8rem;font-size:.74rem;color:#b9c7b6}
.mock-bar i{width:9px;height:9px;border-radius:50%;background:rgba(255,255,255,.18)}
.mock-bar span{margin-left:.5rem;font-weight:600;letter-spacing:.02em;color:#e6eee3}
.mock-bar em{margin-left:auto;font-style:normal;font-size:.64rem;letter-spacing:.12em;text-transform:uppercase;border:1px solid var(--line-d);border-radius:999px;padding:.15rem .5rem}
.flow{position:relative;display:grid;gap:.45rem;background:#fff;color:var(--text);border-radius:17px;padding:.7rem .6rem .8rem 1.6rem}
.flow li{position:relative;display:grid;grid-template-columns:34px 1fr auto;align-items:center;gap:.6rem;padding:.55rem .55rem;border-radius:12px;border:1px solid var(--line);background:var(--paper);transition:opacity .5s var(--ease),transform .5s var(--ease),box-shadow .5s,border-color .5s,background-color .5s}
.flow li b{display:block;font-size:.9rem;line-height:1.25}
.flow li small{display:block;font-size:.76rem;color:var(--muted);line-height:1.35}
.flow .ic{width:36px;height:36px;border-radius:10px;display:grid;place-items:center;background:var(--stone);color:var(--moss);transition:background-color .4s,color .4s}
.flow .ic svg{width:18px;height:18px}
.pill{font-size:.68rem;font-weight:700;letter-spacing:.04em;padding:.25rem .55rem;border-radius:999px;background:#e6efe2;color:var(--moss);white-space:nowrap}
.flow li.won{background:linear-gradient(135deg,#fff7ef,#eef6ea);border-color:rgba(47,90,65,.25)}
.flow li.won .ic{background:var(--moss);color:#fff}
.flow li.won .pill{background:var(--clay-btn);color:#fff}
.track{position:absolute;left:1.15rem;top:3.6rem;bottom:1.6rem;width:2px;background:var(--stone);border-radius:2px;overflow:hidden}
.track span{position:absolute;inset:0;background:linear-gradient(var(--clay),var(--moss));transform-origin:top;transform:scaleY(1);transition:transform .6s var(--ease)}
.float{position:absolute;display:flex;align-items:center;gap:.45rem;font-size:.76rem;font-weight:600;color:var(--text);background:rgba(255,255,255,.94);border:1px solid var(--line);border-radius:12px;padding:.5rem .7rem;box-shadow:var(--sh-2)}
.float svg{width:16px;height:16px;color:var(--clay)}
.f1{top:-14px;right:10px}
.f2{bottom:-16px;left:14px}
.mock-toggle{position:absolute;right:6px;bottom:-44px;font:500 .75rem var(--sans);color:#c3cfc0;background:none;border:0;padding:.5rem;cursor:pointer;text-decoration:underline;text-underline-offset:3px;min-height:32px}
html:not(.js) .mock-toggle{display:none}
/* animated states (only when JS sets .anim) */
.anim .flow li{background:#fff;border-style:dashed;border-color:rgba(11,20,16,.16);transform:scale(.985)}
.anim .flow li b{color:#56615b}
.anim .flow li small{color:#5f6a64}
.anim .flow li .ic{background:#f1f2f0;color:#5f6a64}
.anim .flow li .pill{background:#f1f2f0;color:#56615b}
.anim .flow li.on b{color:var(--text)}
.anim .flow li.on .ic{background:var(--stone);color:var(--moss)}
.anim .flow li.on .pill{background:#e6efe2;color:var(--moss)}
.anim .flow li.won.on{background:linear-gradient(135deg,#fff7ef,#eef6ea)}
.anim .flow li.won.on .ic{background:var(--moss);color:#fff}
.anim .flow li.won.on .pill{background:var(--clay-btn);color:#fff}
.anim .flow li.on{border-style:solid;border-color:var(--line);background:var(--paper);transform:none;box-shadow:var(--sh-1)}
.anim .flow li.now{border-color:rgba(197,111,58,.45);box-shadow:0 0 0 4px rgba(197,111,58,.12),var(--sh-1)}
.anim .flow li.now .ic{background:var(--clay-btn);color:#fff}
.anim .track span{transform:scaleY(var(--p,0))}

/* sections */
.sec{padding:4.5rem 0}
.tint{background:var(--sand)}
.head{margin-bottom:2.2rem}
.split{display:grid;gap:2.2rem;align-items:start}
.card{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:1.6rem;box-shadow:var(--sh-2)}
.fit{display:grid;gap:.6rem;margin-top:1.5rem}
.fit li{display:flex;gap:.6rem;align-items:flex-start;font-weight:500}
.fit svg{width:20px;height:20px;flex:none;color:var(--moss);margin-top:3px}
.types{display:grid;gap:.6rem;margin:1rem 0 1.3rem}
.types li{position:relative;background:var(--paper);border:1px solid var(--line);border-radius:12px;padding:.8rem 1rem .8rem 2.2rem;font-weight:600;font-size:.95rem;line-height:1.3;transition:border-color .2s,transform .2s var(--ease)}
.types li::before{content:"";position:absolute;left:1rem;top:50%;width:7px;height:7px;margin-top:-3.5px;border-radius:50%;background:linear-gradient(135deg,var(--clay),var(--moss))}
.types li:hover{border-color:rgba(47,90,65,.35);transform:translateX(2px)}
.note-sm{font-size:.88rem;color:var(--muted)}

/* pointer spotlight cards */
.glow{position:relative;isolation:isolate}
.glow::after{content:"";position:absolute;inset:-1px;border-radius:inherit;z-index:-1;opacity:0;pointer-events:none;transition:opacity .3s;background:radial-gradient(400px circle at var(--mx,50%) var(--my,0%),rgba(197,111,58,.14),transparent 45%)}
.glow:hover::after{opacity:1}

.leaks{display:grid;gap:1rem}
.leak{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:1.5rem;box-shadow:var(--sh-1);overflow:hidden;transition:transform .3s var(--ease),box-shadow .3s}
.leak:hover{transform:translateY(-3px);box-shadow:var(--sh-2)}
.leak .num{position:absolute;right:1.2rem;top:1rem;font-family:var(--serif);font-size:2.4rem;line-height:1;color:transparent;-webkit-text-stroke:1px rgba(11,20,16,.14)}
.leak svg{width:44px;height:44px;padding:10px;border-radius:12px;color:var(--clay-btn);background:#f8e9dd;margin-bottom:1rem}
.leak h3{margin-bottom:.4rem}
.leak p{font-size:.95rem;color:var(--muted)}

.steps{position:relative;display:grid;gap:1rem;counter-reset:s}
.step{position:relative;background:var(--paper);border:1px solid var(--line);border-radius:var(--r);padding:1.5rem 1.5rem 1.5rem;box-shadow:var(--sh-1)}
.step .dot{width:48px;height:48px;border-radius:14px;display:grid;place-items:center;color:#fff;background:linear-gradient(135deg,var(--moss),var(--ink-3));box-shadow:0 10px 20px -10px rgba(47,90,65,.8);margin-bottom:1rem}
.step .dot svg{width:22px;height:22px}
.step::before{counter-increment:s;content:"0" counter(s);position:absolute;right:1.3rem;bottom:1rem;font-family:var(--serif);font-size:3rem;line-height:1;color:rgba(11,20,16,.06)}
.step h3{margin-bottom:.4rem}
.step p{font-size:.95rem;color:var(--muted)}
.step .free{position:absolute;top:1.4rem;right:1.3rem;font-size:.68rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;background:#e6efe2;color:var(--moss);padding:.3rem .6rem;border-radius:999px}

.offers{display:grid;gap:1rem;align-items:stretch}
.offer{position:relative;display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:1.7rem;box-shadow:var(--sh-1);transition:transform .3s var(--ease),box-shadow .3s}
.offer:hover{transform:translateY(-3px);box-shadow:var(--sh-2)}
.offer h3{font-size:1.45rem;margin:.45rem 0 .4rem}
.desc{color:var(--muted);font-size:.95rem}
.offer ul{display:grid;gap:.5rem;margin:1.2rem 0 1.4rem;font-size:.93rem}
.offer li{display:flex;gap:.55rem}
.offer li::before{content:"";flex:none;width:18px;height:18px;margin-top:3px;border-radius:50%;background:#e6efe2 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='%232f5a41' stroke-width='3' d='m6 12 4 4 8-8'/%3E%3C/svg%3E") center/12px no-repeat}
.proves{font-size:.9rem;color:var(--text);border-top:1px dashed var(--line);padding-top:.9rem;margin:auto 0 1.2rem}
.offer .btn{margin-top:0}
.offer.feature{color:#fff;background:radial-gradient(120% 80% at 100% 0%,rgba(197,111,58,.35),transparent 55%),radial-gradient(100% 80% at 0% 100%,rgba(167,195,162,.25),transparent 55%),var(--ink);border-color:var(--ink);box-shadow:var(--sh-2)}
.offer.feature::before{content:"";position:absolute;inset:0;border-radius:inherit;padding:1px;background:linear-gradient(135deg,rgba(240,195,159,.7),rgba(167,195,162,.2) 40%,transparent 70%);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none}
.offer.feature .kicker{color:var(--amber)}
.offer.feature .desc{color:#cbd6c8}
.offer.feature li::before{background-color:rgba(167,195,162,.22);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='%23cfe7c9' stroke-width='3' d='m6 12 4 4 8-8'/%3E%3C/svg%3E")}
.offer.feature .proves{color:#e3ebe0;border-color:rgba(255,255,255,.18)}
.build{margin-top:1.4rem;background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:1.3rem 1.4rem;display:grid;gap:.9rem;justify-items:start;box-shadow:var(--sh-1)}
.build-more summary{cursor:pointer;font-weight:600;color:var(--moss);font-size:.95rem;list-style:none;display:inline-flex;gap:.4rem;align-items:center}
.build-more summary::-webkit-details-marker{display:none}
.build-more summary::after{content:"";width:8px;height:8px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg) translateY(-2px);transition:transform .25s var(--ease)}
.build-more[open] summary::after{transform:rotate(-135deg) translateY(-1px)}
.build-more ol{counter-reset:b;display:grid;gap:.4rem;margin:.9rem 0 .6rem;font-size:.94rem}
.build-more ol li{counter-increment:b;display:flex;gap:.6rem}
.build-more ol li::before{content:counter(b);flex:none;width:22px;height:22px;border-radius:50%;background:var(--stone);display:grid;place-items:center;font-size:.75rem;font-weight:700;color:var(--moss)}
.fine{font-size:.88rem;color:var(--muted)}

.promise{position:relative;overflow:hidden;isolation:isolate;background:var(--ink);color:#fff;border-radius:28px;padding:2rem 1.5rem;display:grid;gap:1.6rem;box-shadow:var(--sh-2)}
.promise::before{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(60% 80% at 100% 0%,rgba(197,111,58,.28),transparent 60%),radial-gradient(60% 80% at 0% 100%,rgba(167,195,162,.22),transparent 60%)}
.promise .eyebrow{color:var(--sage);margin-bottom:.4rem}
.promise .h3{margin:.2rem 0 .7rem}
.promise p{color:#cbd6c8}
.promise ul{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1.1rem;font-size:.88rem}
.promise li{border:1px solid var(--line-d);background:rgba(255,255,255,.05);border-radius:999px;padding:.35rem .75rem;color:#e3ebe0}
.promise li::before{content:"✓ ";color:var(--sage);font-weight:700}
.seal{position:relative;width:118px;height:118px;border-radius:50%;display:grid;place-items:center;text-align:center;font-family:var(--serif);color:var(--amber);line-height:1.15;font-size:.95rem}
.seal::before{content:"";position:absolute;inset:0;border-radius:50%;padding:2px;background:conic-gradient(from 0deg,var(--clay),var(--sage),var(--amber),var(--clay));-webkit-mask:radial-gradient(farthest-side,transparent calc(100% - 2px),#000 calc(100% - 2px));mask:radial-gradient(farthest-side,transparent calc(100% - 2px),#000 calc(100% - 2px))}
.seal span{position:relative}

.about .mono{margin-top:1.4rem;width:84px;height:84px;border-radius:24px;display:grid;place-items:center;font-family:var(--serif);font-size:1.9rem;font-weight:600;color:var(--ink);background:linear-gradient(135deg,var(--amber),var(--mint));box-shadow:var(--sh-2)}
.aboutcopy p{color:#26352d;margin-bottom:1rem;max-width:62ch;font-size:1.05rem}
.aboutcopy p:first-child{font-family:var(--serif);font-size:clamp(1.25rem,1rem + 1vw,1.55rem);line-height:1.35;color:var(--text);letter-spacing:-.01em}
.aboutcopy a,.lede a{color:var(--clay-btn-2);text-underline-offset:3px}

.faq{display:grid;gap:2rem}
details.qa,.qs details{background:#fff;border:1px solid var(--line);border-radius:var(--r-sm);margin-bottom:.6rem;box-shadow:var(--sh-1);transition:border-color .2s,box-shadow .2s}
.qs details[open]{border-color:rgba(47,90,65,.3);box-shadow:var(--sh-2)}
.qs summary{cursor:pointer;font-weight:600;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:1.05rem 1.2rem;min-height:48px}
.qs summary::-webkit-details-marker{display:none}
.qs summary::after{content:"";flex:none;width:26px;height:26px;border-radius:50%;background:var(--sand) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath stroke='%23ad5523' stroke-width='2.4' stroke-linecap='round' d='M12 6v12M6 12h12'/%3E%3C/svg%3E") center/14px no-repeat;transition:transform .3s var(--ease)}
.qs details[open] summary::after{transform:rotate(45deg)}
.qs details p{color:var(--muted);padding:0 1.2rem 1.15rem;font-size:.96rem}
@supports (interpolate-size:allow-keywords){
  :root{interpolate-size:allow-keywords}
  .qs details::details-content{block-size:0;overflow:hidden;transition:block-size .35s var(--ease),content-visibility .35s allow-discrete}
  .qs details[open]::details-content{block-size:auto}
}

/* form */
.book{position:relative;overflow:hidden;isolation:isolate;background:var(--ink);color:#fff;padding:4.5rem 0 5rem}
.aurora.soft span{opacity:.35}
.book .eyebrow{color:var(--sage)}
.book .lede{color:#cbd6c8}
.book-in{display:grid;gap:2.2rem;align-items:start}
.what{display:grid;gap:1rem;margin-top:1.6rem}
.what li{display:flex;gap:.9rem}
.what .n{flex:none;width:34px;height:34px;border-radius:50%;background:rgba(255,255,255,.08);border:1px solid var(--line-d);color:var(--amber);display:grid;place-items:center;font-weight:700;font-size:.9rem}
.what b{display:block}
.what span{color:#bccab9;font-size:.95rem}
.form{position:relative;color:var(--text);background:var(--paper);border-radius:24px;padding:1.4rem;box-shadow:var(--sh-3)}
.form::before{content:"";position:absolute;inset:-1px;border-radius:25px;z-index:-1;background:linear-gradient(135deg,var(--amber),rgba(167,195,162,.6),transparent 60%)}
.row2{display:grid;gap:0}
.row2>*{min-width:0}
.field{display:flex;flex-direction:column;gap:.35rem;margin-bottom:.9rem}
.field label{font-size:.84rem;font-weight:600;color:#26352d}
.field label small{font-weight:400;color:var(--muted)}
.field input,.field textarea,.field select{width:100%;font:inherit;font-size:1rem;padding:.85rem .95rem;border:1px solid #cfc8bb;border-radius:12px;background:#fff;color:var(--text);transition:border-color .2s,box-shadow .2s;min-height:48px}
.field textarea{resize:vertical}
.field input::placeholder,.field textarea::placeholder{color:#7a857f}
.field select{appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='%232f5a41' stroke-width='2.5' d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .8rem center;background-size:16px;padding-right:2.4rem}
.field input:hover,.field textarea:hover,.field select:hover{border-color:#a9a293}
.field input:focus,.field textarea:focus,.field select:focus{outline:none;border-color:var(--moss);box-shadow:0 0 0 4px rgba(47,90,65,.16)}
.field [aria-invalid="true"]{border-color:#b3261e;box-shadow:0 0 0 4px rgba(179,38,30,.1)}
.field select.flash{animation:flash 1.2s var(--ease)}
@keyframes flash{0%{box-shadow:0 0 0 0 rgba(197,111,58,.6)}100%{box-shadow:0 0 0 10px rgba(197,111,58,0)}}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.note{font-size:.84rem;color:var(--muted);margin-top:.8rem}
.note a{color:var(--clay-btn-2)}
.err{display:none;margin-top:.8rem;background:#fbeae7;color:#8c1d16;border:1px solid #f0c2bb;border-radius:12px;padding:.75rem .9rem;font-size:.92rem}
.btn .spin{width:18px;height:18px;border-radius:50%;border:2px solid rgba(255,255,255,.35);border-top-color:#fff;animation:spin .8s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
.thanks{display:none;text-align:center;padding:2.2rem 1rem}
.thanks .tick{width:72px;height:72px;border-radius:50%;background:#e6efe2;display:grid;place-items:center;margin:0 auto 1rem;color:var(--moss)}
.thanks .draw{stroke-dasharray:30;stroke-dashoffset:0}
.thanks.show .draw{animation:draw .6s .15s var(--ease) both}
@keyframes draw{from{stroke-dashoffset:30}}
.thanks h3{font-size:1.6rem;margin-bottom:.5rem}
.thanks p{color:var(--muted)}

footer{background:#070d0a;color:#a9b7a7;font-size:.9rem;padding:2.4rem 0}
.foot{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1.2rem}
footer .brand{color:#fff;font-size:1.05rem}
footer .brand .mk{width:28px;height:28px;border-radius:8px}
footer a{color:#dfe8dc;text-underline-offset:3px}
footer .sep{margin:0 .55rem;color:#5d6b62}

/* legal pages */
.legal{padding:3.5rem 0 5rem}
.legal .wrap{max-width:780px}
.legal h1{font-size:clamp(2rem,4vw,2.8rem);margin:.5rem 0}
.legal h2{font-size:1.35rem;margin:2rem 0 .5rem}
.legal p,.legal li{color:#26352d;margin-bottom:.6rem}
.legal ul{list-style:disc;padding-left:1.2rem}
.legal a{color:var(--clay-btn-2)}

/* scroll reveal: content visible without JS; hidden only once JS confirms motion is OK */
.motion .rv{opacity:0;transform:translateY(18px);transition:opacity .7s var(--ease),transform .7s var(--ease);transition-delay:calc(var(--d,0) * 90ms)}
.motion .rv.in{opacity:1;transform:none}
.motion .aurora span{will-change:transform}
.motion .aurora span:nth-child(1){animation:drift1 22s ease-in-out infinite alternate}
.motion .aurora span:nth-child(2){animation:drift2 26s ease-in-out infinite alternate}
.motion .aurora span:nth-child(3){animation:drift1 30s ease-in-out infinite alternate-reverse}
@keyframes drift1{to{transform:translate3d(-8vmax,6vmax,0) scale(1.1)}}
@keyframes drift2{to{transform:translate3d(10vmax,-6vmax,0) scale(1.15)}}
.motion .seal::before{animation:spin 14s linear infinite}
.motion .float{animation:bob 6s ease-in-out infinite}
.motion .f2{animation-delay:-3s}
@keyframes bob{50%{transform:translateY(-6px)}}
.paused .aurora span,.paused .float,.paused .seal::before{animation-play-state:paused}

/* >= 600px */
@media (min-width:600px){
  .wrap{width:min(1180px,100% - 4rem)}
  .ctas{display:flex;flex-wrap:wrap}
  .row2{grid-template-columns:1fr 1fr;gap:.8rem}
  .row2.sel{align-items:end}
  .types{grid-template-columns:1fr 1fr}
  .leaks{grid-template-columns:1fr 1fr}
  .form{padding:2rem}
  .promise{grid-template-columns:auto 1fr;padding:2.6rem;align-items:center}
  .btn-sm .lg{display:inline}.btn-sm .sm{display:none}
  .build{grid-template-columns:1fr auto;align-items:center}
  .build .build-more{grid-column:1/-1;grid-row:2}
  .flow{padding:.8rem .8rem .9rem 2.1rem}.track{left:1.55rem}
  .flow li{grid-template-columns:36px 1fr auto;gap:.7rem;padding:.6rem .65rem}
}
/* >= 980px */
@media (min-width:980px){
  body{font-size:17px}
  .menu{display:none}
  nav.links,html:not(.js) nav.links{display:flex;gap:1.9rem;font-size:.93rem;font-weight:500}
  nav.links a{position:relative;text-decoration:none;color:#d7e1d4;transition:color .2s}
  nav.links a::after{content:"";position:absolute;left:0;right:0;bottom:-6px;height:2px;border-radius:2px;background:var(--grad);transform:scaleX(0);transform-origin:left;transition:transform .3s var(--ease)}
  nav.links a:hover{color:#fff}
  nav.links a:hover::after{transform:scaleX(1)}
  .hero{padding:5.5rem 0 6.5rem}
  .hero-in{grid-template-columns:1.05fr .95fr;gap:4rem}
  .sec{padding:6.5rem 0}
  .split{grid-template-columns:1fr 1fr;gap:4rem}
  .leaks{grid-template-columns:repeat(4,1fr)}
  .steps{grid-template-columns:repeat(3,1fr);gap:1.2rem}
  .steps::before{content:"";position:absolute;left:3rem;right:3rem;top:2.95rem;height:2px;background:linear-gradient(90deg,var(--moss),var(--clay));opacity:.35;z-index:0}
  .step{z-index:1}
  .offers{grid-template-columns:repeat(3,1fr);gap:1.2rem}
  .faq{grid-template-columns:.8fr 1.2fr;gap:4rem}
  .book{padding:6.5rem 0}
  .book-in{grid-template-columns:.9fr 1.1fr;gap:4rem}
  .head{display:grid;grid-template-columns:1fr 1fr;gap:0 4rem;align-items:end}
  .head .eyebrow{grid-column:1}
  .head h2{grid-column:1;margin-bottom:0}
  .head .lede{grid-column:2;grid-row:2;margin-bottom:.35rem}
}
@media (hover:hover) and (pointer:fine){.motion .tilt{transform:rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg))}}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
}
@media (forced-colors:active){.grad{color:CanvasText;background:none}.btn{border:1px solid ButtonText}}
@media print{.aurora,.gridbg,.mock,header.nav,.mock-toggle{display:none}.hero,.book{background:#fff;color:#000}}
