:root{--bg:#fbf7f1;--paper:#fff;--ink:#22201c;--muted:#6b645a;--line:#e9e1d5;--accent:#c4552d;--accent-d:#a3431f;--sand:#f4ebdd;--cream:#fdf3e7;--r:18px}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;font:17px/1.6 ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;color:var(--ink);background:var(--bg);overflow-wrap:break-word}
a{color:var(--accent-d)}
img,svg{max-width:100%;display:block}
.wrap{max-width:1080px;margin:0 auto;padding:0 16px}
@media(min-width:600px){.wrap{padding:0 24px}}
header.top{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:18px 0}
.wordmark{font:700 22px/1 Georgia,"Times New Roman",serif;letter-spacing:-.01em;color:var(--ink);text-decoration:none}
.wordmark span{color:var(--accent)}
.pill{font-size:13px;font-weight:600;color:var(--accent-d);border:1px solid #ecc9b8;border-radius:999px;padding:6px 12px;background:var(--cream);text-decoration:none;white-space:nowrap}
.pill:hover{background:#fae4d4}
h1,h2,h3{font-family:Georgia,"Times New Roman",serif;line-height:1.15;letter-spacing:-.015em;margin:0 0 .5em;overflow-wrap:break-word}
h1{font-size:clamp(32px,8vw,56px)}h2{font-size:clamp(26px,4.5vw,36px)}h3{font-size:20px}

/* Hero: mobile order = intro, form, phone */
.hero{display:grid;grid-template-columns:minmax(0,1fr);grid-template-areas:"intro" "form" "phone";gap:28px;padding:16px 0 48px}
.hero>*{min-width:0}
.hero-intro{grid-area:intro}.hero-form{grid-area:form}.hero-phone{grid-area:phone;justify-self:center;width:100%}
@media(min-width:880px){
  .hero{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);grid-template-areas:"intro form" "phone form";column-gap:48px;row-gap:24px;align-items:start;padding:48px 0 72px}
}
.tag{display:inline-block;color:var(--accent-d);font-weight:600;font-size:14px;letter-spacing:.06em;text-transform:uppercase;margin-bottom:12px}
.lede{font-size:19px;color:var(--muted);max-width:34em;margin:0}

/* Form */
.card{background:var(--paper);border:1px solid var(--line);border-radius:var(--r);padding:20px 16px;box-shadow:0 14px 34px -20px rgba(60,40,20,.35)}
@media(min-width:400px){.card{padding:24px}}
form label{display:block;font-weight:600;font-size:15px;margin:14px 0 6px}
form label small{font-weight:400;color:var(--muted)}
input,textarea,button,select{font:inherit;color:inherit}
input,textarea{width:100%;max-width:100%;padding:12px 14px;border:1px solid #ddd3c4;border-radius:12px;background:#fffdfa;color:var(--ink);font-size:16px}
input:focus,textarea:focus{outline:2px solid var(--accent);outline-offset:1px;border-color:transparent}
textarea{min-height:76px;resize:vertical}
.btn{display:block;width:100%;margin-top:18px;min-height:54px;padding:14px 22px;border:0;border-radius:14px;background:var(--accent);color:#fff;font-size:18px;font-weight:600;line-height:1.2;cursor:pointer;box-shadow:0 8px 20px -10px rgba(196,85,45,.8);text-align:center;text-decoration:none}
.btn:hover{background:var(--accent-d)}.btn:focus-visible{outline:3px solid #f0b79c;outline-offset:2px}.btn[disabled]{opacity:.65;cursor:wait}
.notice{font-size:13px;color:var(--muted);margin:12px 0 0}
.msg{margin:10px 0 0;font-size:15px}.msg:empty{display:none}.msg.err{color:#a3261f}
.thanks{text-align:center;padding:24px 8px}.thanks h3{font-size:26px}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.cf-turnstile{margin-top:16px;min-height:65px}

/* Phone mockup */
.phone{width:100%;max-width:300px;margin:0 auto;aspect-ratio:9/18.5;background:#1f1d1a;border-radius:42px;padding:10px;box-shadow:0 30px 60px -30px rgba(40,25,10,.55),inset 0 0 0 2px #3a3631;overflow:hidden;min-height:0}
.screen{height:100%;min-height:0;background:#fffaf3;border-radius:33px;overflow:hidden;display:flex;flex-direction:column;position:relative}
.island{position:absolute;top:9px;left:50%;transform:translateX(-50%);width:32%;height:20px;background:#1f1d1a;border-radius:12px}
.app-top{padding:38px 14px 8px;display:flex;justify-content:space-between;align-items:flex-end}
.app-top b{font:700 16px/1 Georgia,serif}.app-top b span{color:var(--accent)}
.app-top small{font-size:10px;color:var(--muted);white-space:nowrap}
.app-sec{font-size:11px;font-weight:600;color:var(--muted);padding:2px 14px 6px}
.camroll{display:grid;grid-template-columns:repeat(3,1fr);gap:3px;padding:0 3px;flex:none;align-content:start}
.camroll svg{display:block;width:100%;height:auto;aspect-ratio:1/1;border-radius:3px}
.tabbar{margin-top:auto;display:flex;justify-content:space-around;padding:8px 0 14px;border-top:1px solid #efe6d8;background:#fffaf3}
.tabbar i{width:18px;height:18px;border-radius:5px;background:#e6d9c6;display:block}.tabbar i.on{background:var(--accent)}
@media(max-width:879px){.hero-phone{max-width:210px!important}.phone{max-width:190px!important;border-radius:30px;padding:7px}.screen{border-radius:24px}.app-top{padding:28px 10px 6px}.app-top b{font-size:13px}.app-top small{font-size:8px}.app-sec{font-size:9px;padding:2px 10px 4px}.island{height:15px;top:7px}}

/* Sections */
section{padding:56px 0;border-top:1px solid var(--line)}
.grid{display:grid;gap:18px;grid-template-columns:minmax(0,1fr)}
@media(min-width:720px){.grid.c3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid.c2{grid-template-columns:repeat(2,minmax(0,1fr))}}
.scn{background:var(--sand);border-radius:var(--r);padding:22px}
.scn p{margin:0;color:#4a443c}.scn strong{display:block;margin-bottom:6px;color:var(--ink)}
.step{background:var(--paper);border:1px solid var(--line);border-radius:var(--r);padding:22px}
.num{display:inline-grid;place-items:center;width:36px;height:36px;border-radius:50%;background:var(--cream);color:var(--accent-d);border:1.5px solid #ecc9b8;font-weight:700;margin-bottom:10px}
.why{background:linear-gradient(180deg,var(--cream),var(--bg));border-top:0;border-radius:28px;padding:48px 20px;margin:8px 0}
@media(min-width:720px){.why{padding:56px 40px}}
.why .lead{color:var(--muted);margin:-4px 0 22px;font-size:18px}
.wcard{background:var(--paper);border:1px solid #f0dccd;border-radius:22px;padding:26px 24px;min-width:0}
.wcard h3{font-size:24px;margin-bottom:.35em}.wcard p{margin:0;color:#4a443c;font-size:17px}
.wicon{width:44px;height:44px;border-radius:12px;background:var(--accent);display:grid;place-items:center;margin-bottom:14px}
.wicon svg{width:24px;height:24px}

/* FAQ */
details{background:var(--paper);border:1px solid var(--line);border-radius:14px;padding:0;margin-bottom:10px}
summary{cursor:pointer;font-weight:600;list-style:none;padding:16px 48px 16px 18px;position:relative}
summary::-webkit-details-marker{display:none}
summary::after{content:"";position:absolute;right:20px;top:50%;width:9px;height:9px;border-right:2.5px solid var(--accent);border-bottom:2.5px solid var(--accent);transform:translateY(-70%) rotate(45deg);transition:transform .2s}
details[open] summary::after{transform:translateY(-30%) rotate(-135deg)}
summary:focus-visible{outline:2px solid var(--accent);border-radius:14px}
details p{margin:0;padding:0 18px 16px;color:var(--muted)}

footer{border-top:1px solid var(--line);padding:32px 0 48px;color:var(--muted);font-size:15px}
footer .row{display:flex;flex-wrap:wrap;gap:12px 24px;justify-content:space-between;align-items:center}
.prose{max-width:720px;padding:20px 0 60px}.prose h2{font-size:24px;margin-top:1.6em}.prose li{margin-bottom:6px}

/* Fallbacks for browsers without aspect-ratio (Safari < 15) */
@supports not (aspect-ratio:1/1){
  .phone{height:617px}
  @media(max-width:879px){.phone{height:391px}}
}
