:root{
  --ink:#17140f; --ink-2:#3e3a33; --muted:#6a655b; --bg:#f6f1e7; --paper:#fffdf8; --tint:#efe7d8;
  --line:#e2d8c6; --accent:#b4512a; --accent-ink:#8e3d1d; --dark:#15130f; --ok:#3f6b3a;
  --radius:16px;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:'Inter',system-ui,sans-serif;color:var(--ink);background:var(--bg);line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden}
h1,h2,h3{font-family:'Fraunces',Georgia,serif;font-weight:600;line-height:1.06;letter-spacing:-.02em}
h1 em,h2 em{font-style:italic;font-weight:500;color:var(--accent-ink)}
a{color:inherit}
.wrap{max-width:1180px;margin:0 auto;padding:0 24px}
.mono{font-family:'JetBrains Mono',ui-monospace,monospace;font-size:12.5px;letter-spacing:.08em;text-transform:uppercase}
.eyebrow{display:inline-flex;align-items:center;gap:10px;font-size:12.5px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--accent-ink)}
.eyebrow::before{content:"";width:22px;height:2px;background:currentColor}
.muted{color:var(--muted)}

/* header */
.top{position:sticky;top:0;z-index:30;background:color-mix(in srgb,var(--bg) 90%,transparent);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.top .wrap{display:flex;align-items:center;justify-content:space-between;height:68px}
.logo{font-family:'Fraunces',serif;font-weight:700;font-size:23px;text-decoration:none;letter-spacing:-.02em}
.logo span{color:var(--accent)}
.nav{display:flex;gap:26px;align-items:center;font-size:15px}
.nav a{text-decoration:none;color:var(--ink-2)}
.nav a:hover{color:var(--ink)}
.nav .btn{color:var(--paper)}
@media(max-width:640px){.nav .hide-sm{display:none}}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:52px;padding:0 24px;border-radius:12px;border:0;font:600 16px/1 'Inter',sans-serif;cursor:pointer;text-decoration:none;transition:transform .12s,background .12s,box-shadow .12s;white-space:nowrap}
.btn-sm{min-height:40px;padding:0 16px;font-size:14px;border-radius:10px}
.btn-primary,.btn-dark{background:var(--dark);color:var(--paper)}
.btn-primary:hover,.btn-dark:hover{background:#2c2820;transform:translateY(-1px)}
.btn-accent{background:var(--accent);color:#fff;box-shadow:0 12px 26px -14px var(--accent)}
.btn-accent:hover{background:var(--accent-ink);transform:translateY(-1px)}
.btn-ghost{background:transparent;border:1.5px solid var(--line);color:var(--ink)}
.btn-ghost:hover{border-color:var(--ink)}
.btn-light{background:var(--paper);color:var(--ink)}
.btn-light:hover{background:#fff;transform:translateY(-1px)}
.btn[disabled]{opacity:.5;cursor:not-allowed;transform:none}

/* hero */
.hero{padding:64px 0 72px;background:radial-gradient(80% 60% at 100% 0%,#efdcc6 0%,transparent 60%),var(--bg)}
.hero-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.08fr);gap:56px;align-items:center}
.hero h1{font-size:clamp(38px,4.7vw,62px);margin:20px 0 20px}
.hero h1 em{display:block}
.hero .lead{font-size:clamp(17px,1.8vw,19px);color:var(--ink-2);max-width:48ch}
.finder{margin-top:30px;background:var(--paper);border:1px solid var(--line);border-radius:18px;padding:12px;display:grid;grid-template-columns:1fr 1fr;gap:10px;box-shadow:0 24px 60px -36px rgba(23,20,15,.55)}
.finder .btn{grid-column:1/-1;min-height:54px;font-size:17px}
.finder select{grid-column:1/-1}
.finder input,.finder select{width:100%;min-height:52px;padding:0 14px;border:1px solid var(--line);border-radius:10px;font:16px 'Inter',sans-serif;background:#fff;color:var(--ink)}
.finder input:focus,.finder select:focus{outline:2px solid var(--accent);outline-offset:1px;border-color:transparent}
.finder-note{margin-top:12px;font-size:14px;color:var(--muted)}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.results{margin-top:14px;display:grid;gap:10px}
.result{display:flex;justify-content:space-between;align-items:center;gap:14px;background:var(--paper);border:1px solid var(--line);border-radius:12px;padding:14px 16px;text-decoration:none}
.result:hover{border-color:var(--ink)}
.result b{display:block;font-size:16px}
.result small{color:var(--muted);font-size:13.5px}
.result .go{flex:none;font-weight:600;color:var(--accent-ink)}
.msg{padding:12px 14px;border-radius:10px;background:#f3e1cf;color:#5f2d12;font-size:15px}
.spinner{display:inline-block;width:16px;height:16px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:spin .7s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}

/* showcase: the example site, live, in a laptop browser and a phone */
.showcase{position:relative;padding:0 0 56px 0}
.browser{border-radius:14px;background:#fff;box-shadow:0 50px 90px -40px rgba(23,20,15,.55),0 0 0 1px rgba(23,20,15,.08);overflow:hidden}
.chrome{display:flex;align-items:center;gap:6px;height:34px;padding:0 12px;background:#eee8dd;border-bottom:1px solid var(--line)}
.chrome i{width:10px;height:10px;border-radius:50%;background:#d4cab8}
.chrome span{margin-left:12px;flex:1;max-width:260px;height:20px;border-radius:6px;background:#fff;font-size:11px;line-height:20px;padding:0 10px;color:var(--muted)}
.screen{position:relative;overflow:hidden;aspect-ratio:16/10}
.screen iframe{position:absolute;top:0;left:0;border:0;transform-origin:0 0;pointer-events:none;width:1280px;height:800px}
.phone{position:absolute;right:-14px;bottom:0;width:31%;min-width:150px;padding:8px;border-radius:30px;background:#16130f;box-shadow:0 40px 70px -30px rgba(23,20,15,.7)}
.phone .screen{aspect-ratio:9/19;border-radius:23px}
.phone .screen iframe{width:390px;height:823px}
.showcase .cap{position:absolute;left:0;bottom:12px;max-width:62%;font-size:12.5px;color:var(--muted)}

/* promise strip */
.promise{background:var(--dark);color:#efe6d6}
.promise .wrap{display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px 28px;padding:18px 24px;font-size:15px;font-weight:500}
.promise span::before{content:"✓";color:#e39a6e;margin-right:10px;font-weight:700}

/* sections */
section{padding:clamp(64px,9vw,104px) 0}
.sec-head{max-width:660px;margin-bottom:44px}
.sec-head h2{font-size:clamp(32px,4.6vw,54px);margin-top:16px}
.sec-head p{margin-top:14px;font-size:18px;color:var(--ink-2)}
.tint{background:var(--tint)}
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.step{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:30px}
.step .n{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:var(--accent);color:#fff;font:600 19px 'Fraunces',serif}
.step h3{font-size:24px;margin:22px 0 8px}
.step p{color:var(--ink-2);font-size:15.5px}
.dark{background:var(--dark);color:var(--paper)}
.dark .eyebrow{color:#e39a6e}
.dark h2 em{color:#e9b48f}
.dark .sec-head p{color:#cfc5b3}
.feats{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:#37322a;border:1px solid #37322a;border-radius:18px;overflow:hidden;margin-bottom:36px}
.feat{background:var(--dark);padding:30px 28px}
.feat b{display:block;font-family:'Fraunces',serif;font-size:21px;font-weight:600;margin-bottom:8px}
.feat span{color:#cfc5b3;font-size:15.5px}
.tiles{display:flex;flex-wrap:wrap;gap:10px}
.tile{display:inline-flex;align-items:center;gap:10px;padding:14px 20px;border-radius:999px;border:1px solid var(--line);background:var(--paper);font-weight:500;text-decoration:none}
a.tile{border-color:var(--ink);font-weight:600}
a.tile:hover{background:var(--ink);color:var(--paper)}
.tile span{color:var(--accent)}
.final{background:var(--accent);color:#fff;text-align:center}
.final h2{font-size:clamp(34px,5vw,60px);max-width:16ch;margin:0 auto 32px}
.final h2 em{color:#ffe1cc}
.final .btn-accent{background:#fff;color:var(--accent-ink);box-shadow:none}
.mbar{display:none}

@media(max-width:980px){
  .hero-grid{grid-template-columns:1fr;gap:40px}
  .showcase{max-width:640px}
}
@media(max-width:760px){
  .steps,.feats{grid-template-columns:1fr}
  .finder{grid-template-columns:1fr}
  .promise .wrap{justify-content:flex-start}
}
@media(max-width:640px){
  .hero{padding:40px 0 48px}
  .phone{right:-6px}
  .showcase .cap{max-width:50%}
  .mbar{display:block;position:fixed;left:0;right:0;bottom:0;z-index:40;padding:10px 12px calc(10px + env(safe-area-inset-bottom));background:color-mix(in srgb,var(--bg) 94%,transparent);backdrop-filter:blur(10px);border-top:1px solid var(--line);transition:transform .2s}
  .mbar .btn{width:100%}
  .mbar.away{transform:translateY(110%)}
  body{padding-bottom:78px}
}

/* pricing */
.tiers{display:grid;grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:16px;align-items:stretch}
.tier{background:var(--paper);border:1px solid var(--line);border-radius:20px;padding:30px;display:flex;flex-direction:column}
.tier.featured{border:2px solid var(--accent);position:relative;box-shadow:0 30px 60px -40px rgba(180,81,42,.6)}
.tier .tag{position:absolute;top:-12px;left:24px;background:var(--accent);color:#fff;padding:4px 10px;border-radius:999px}
.tier h3{font-size:26px}
.tier .for{color:var(--muted);font-size:14.5px;margin-top:4px}
.price{font-family:'Fraunces',serif;font-size:50px;font-weight:600;margin:18px 0 4px;letter-spacing:-.03em}
.price small{font-family:'Inter',sans-serif;font-size:14px;font-weight:500;color:var(--muted);letter-spacing:0}
.tier ul{list-style:none;margin:18px 0 24px;display:grid;gap:9px;flex:1}
.tier li{padding-left:24px;position:relative;font-size:15px;color:var(--ink-2)}
.tier li::before{content:"";position:absolute;left:2px;top:8px;width:11px;height:6px;border-left:2px solid var(--ok);border-bottom:2px solid var(--ok);transform:rotate(-45deg)}
.tier .btn{width:100%}
.tier.featured .btn-primary{background:var(--accent)}
.tier.featured .btn-primary:hover{background:var(--accent-ink)}
.care{margin-top:18px;background:var(--paper);border:1px dashed var(--line);border-radius:14px;padding:18px 20px;font-size:15px;color:var(--ink-2)}
.guarantee{margin-top:28px;display:flex;gap:16px;align-items:flex-start;background:var(--dark);color:var(--paper);border-radius:20px;padding:30px}
.guarantee h3{font-size:24px;margin-bottom:6px}
.guarantee p{color:#d9d1c2;font-size:15.5px}

/* faq */
.faq-grid{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:48px;align-items:start}
@media(max-width:860px){.faq-grid{grid-template-columns:1fr;gap:0}}
details{border-bottom:1px solid var(--line);padding:20px 0}
summary{cursor:pointer;font-weight:600;font-size:17px;list-style:none;display:flex;justify-content:space-between;gap:12px}
summary::-webkit-details-marker{display:none}
summary::after{content:"+";font-size:22px;line-height:1;color:var(--accent)}
details[open] summary::after{content:"–"}
details p{margin-top:10px;color:var(--ink-2);max-width:70ch}

footer{padding:40px 0 56px;border-top:1px solid var(--line);font-size:14px;color:var(--muted)}
footer .wrap{display:flex;flex-wrap:wrap;gap:12px 24px;justify-content:space-between}
footer a{color:var(--muted)}

/* preview page */
.pv-bar{background:var(--dark);color:var(--paper)}
.pv-bar .wrap{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px 20px;flex-wrap:wrap}
.pv-bar b{font-family:'Fraunces',serif;font-size:19px;font-weight:600}
.pv-tools{display:flex;gap:8px;align-items:center}
.seg{display:inline-flex;border:1px solid #4a453b;border-radius:10px;overflow:hidden}
.seg button{background:transparent;color:#d9d1c2;border:0;padding:9px 14px;font:500 14px 'Inter',sans-serif;cursor:pointer}
.seg button.on{background:var(--paper);color:var(--ink)}
.frame-wrap{padding:24px 0;background:#e9e2d4}
.frame{display:block;margin:0 auto;width:100%;max-width:1100px;height:78vh;border:1px solid var(--line);border-radius:14px;background:#fff;box-shadow:0 30px 70px -40px rgba(22,20,15,.6);transition:max-width .25s}
.frame.mobile{max-width:390px;height:760px}
.note{font-size:14px;color:var(--muted);text-align:center;margin-top:12px;padding:0 20px}

/* forms */
.form{max-width:720px;display:grid;gap:16px}
.form label{display:grid;gap:6px;font-weight:600;font-size:15px}
.form label span{font-weight:400;color:var(--muted);font-size:13.5px}
.form input,.form textarea,.form select{padding:13px 14px;border:1px solid var(--line);border-radius:10px;font:16px 'Inter',sans-serif;background:#fff}
.form textarea{min-height:110px;resize:vertical}
.two{display:grid;grid-template-columns:1fr 1fr;gap:16px}
@media(max-width:640px){.two{grid-template-columns:1fr}}
.legal{max-width:760px}
.legal h2{font-size:24px;margin:32px 0 10px}
.legal p,.legal li{color:var(--ink-2);margin-bottom:10px}
.legal ul{padding-left:20px}
.stage{position:relative;padding:0 20px}
.loading{position:absolute;inset:0 20px;display:flex;align-items:center;justify-content:center;gap:12px;font-size:16px;color:var(--ink-2);background:#fff;border-radius:14px;max-width:1100px;margin:0 auto;z-index:2;transition:opacity .3s}
.loading.done{opacity:0;pointer-events:none}

/* care plan */
.care p{margin:0}
.care ul{margin:10px 0 0;padding-left:20px;display:grid;gap:6px}

/* intake: domain picker */
.domain-box{border:1px solid var(--line);border-radius:12px;padding:16px 16px 6px;margin:0;display:grid;gap:12px;background:#fffdf8}
.domain-box legend{font-weight:600;font-size:15px;padding:0 6px}
.domain-box .hint{font-size:13.5px;color:var(--muted);margin:0 0 6px}
.seg-radio{display:flex;flex-wrap:wrap;gap:8px}
.form .seg-radio label{display:flex;align-items:center;gap:8px;font-weight:500;border:1px solid var(--line);border-radius:999px;padding:9px 14px;background:#fff;cursor:pointer}
.form .seg-radio label:has(input:checked){border-color:var(--ink);box-shadow:inset 0 0 0 1px var(--ink)}
.dom-row{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:center}
.dom-row input{width:100%}
.dom-status{font:500 13px "JetBrains Mono",monospace;width:11.5em;text-align:right}
.dom-status.ok{color:var(--ok)}.dom-status.no{color:#9a3b25}.dom-status.wait,.dom-status.unk{color:var(--muted)}
@media (max-width:640px){.dom-row{grid-template-columns:1fr}.dom-status{text-align:left;width:auto}}
.domain-box [data-mode]:not([hidden]){display:grid;gap:10px}
