:root{--paper:#FAF6EF;--paper2:#F2EADD;--ink:#2A2521;--muted:#6B6259;--accent:#A8472B;--accent-d:#8A3720;--line:#E3D8C6;--ok:#2F6B45;--bad:#A12B2B;--r:14px}
@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--paper:#1E1A17;--paper2:#2A2420;--ink:#F3ECE1;--muted:#B5A999;--accent:#E08A6A;--accent-d:#EBA088;--line:#40372F;--ok:#7CC796;--bad:#F08A8A}}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--ink);font:20px/1.6 "Atkinson Hyperlegible",system-ui,sans-serif}
h1,h2,h3{font-family:Fraunces,Georgia,serif;line-height:1.2;margin:0 0 .5em;font-weight:600}
h1{font-size:clamp(2rem,5vw,3.2rem)}h2{font-size:clamp(1.5rem,3.2vw,2rem)}h3{font-size:1.2rem}
p{margin:0 0 1em}a{color:var(--accent-d)}
img,video{max-width:100%}
.wrap{width:100%;max-width:1040px;margin:0 auto;padding:0 16px}.wrap--wide{max-width:1180px}.narrow{max-width:720px}
.stack>*{margin-top:0;margin-bottom:1em}.stack{padding-block:24px}
.muted{color:var(--muted)}.small{font-size:.85rem}.center{text-align:center}
.skip{position:absolute;left:-999px}.skip:focus{left:8px;top:8px;background:#fff;padding:8px;z-index:9}
.eyebrow{text-transform:uppercase;letter-spacing:.08em;font-size:.8rem;color:var(--accent-d);font-weight:700}
.lede{font-size:1.2rem;color:var(--muted)}
.err{color:var(--bad)}
:focus-visible{outline:3px solid var(--accent);outline-offset:2px}
/* header + footer */
.top{border-bottom:1px solid var(--line);background:var(--paper)}
.top__in{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding-block:12px}
.mark{font-family:Fraunces,Georgia,serif;font-weight:700;font-size:1.25rem;color:var(--ink);text-decoration:none}
.nav{display:flex;gap:6px 18px;align-items:center;flex-wrap:wrap}.navlink{color:var(--ink);text-decoration:none;font-size:.95rem}.navlink:hover{text-decoration:underline}
.foot{border-top:1px solid var(--line);margin-top:48px;padding:28px 0;font-size:.9rem;color:var(--muted);text-align:left}
.foot p{margin:.3em 0}.foot__links a{margin-right:16px}
/* buttons + forms */
.btn,.ct-send{display:inline-block;background:var(--accent);color:#fff;border:2px solid var(--accent);border-radius:999px;padding:.7em 1.4em;font:inherit;font-weight:700;text-decoration:none;cursor:pointer;min-height:48px;line-height:1.2}
.btn:hover,.ct-send:hover{background:var(--accent-d);border-color:var(--accent-d)}
.btn--ghost{background:transparent;color:var(--accent-d)}.btn--ghost:hover{background:var(--paper2);color:var(--accent-d)}
.btn--sm,.sm{padding:.4em 1em;min-height:40px;font-size:.9rem}
.btn--danger{background:var(--bad);border-color:var(--bad)}
.btn[disabled],button[disabled]{opacity:.55;cursor:not-allowed}
label{display:block;font-weight:700;margin:.8em 0 .25em}label.radio{display:flex;gap:10px;align-items:flex-start;font-weight:400}label.btn{display:inline-block;margin:0}
input,textarea,select{width:100%;font:inherit;color:var(--ink);background:#fff;border:2px solid var(--line);border-radius:10px;padding:.65em .8em}
@media (prefers-color-scheme:dark){:root:not([data-theme=light]) input,:root:not([data-theme=light]) textarea{background:#15110F}}
input[type=radio],input[type=checkbox]{width:24px;height:24px;margin-top:4px;flex:none}
input[type=file]{border:0;padding:0}
textarea{resize:vertical}
.check{display:flex;gap:10px;align-items:flex-start;font-weight:400}
.card{background:var(--paper2);border:1px solid var(--line);border-radius:var(--r);padding:22px;margin-block:18px}
.card.stack{padding:22px}
.banner{background:#FFF3D6;color:#4A3A10;border:1px solid #E6CF8C;border-radius:10px;padding:12px 16px}.banner--warn{background:#FDE3E0;border-color:#E3A7A0;color:#6B1D17}
.pill{display:inline-block;font-size:.8rem;background:var(--line);border-radius:999px;padding:.15em .8em;font-weight:700;vertical-align:middle}.pill--ok{background:#D7EBDD;color:#1E4A2E}.pill--warn{background:#FDE9C4;color:#6A4A08}.pill--bad{background:#F6D3D0;color:#7A1F18}
details.card summary{cursor:pointer;font-weight:700}
.tbl{width:100%;border-collapse:collapse;font-size:.9rem}.tbl th,.tbl td{border-bottom:1px solid var(--line);padding:8px;text-align:left}
/* hero + photos */
.hero{padding:48px 0 24px}.hero__in{display:grid;gap:32px;align-items:center}
@media(min-width:860px){.hero__in{grid-template-columns:1.1fr 1fr}}
.hero__cta{display:flex;gap:14px;align-items:center;flex-wrap:wrap}
.photo{background:var(--img) center/cover,linear-gradient(135deg,#E9D8BF,#D9B79A 55%,#C98B6B);border-radius:var(--r);min-height:260px;aspect-ratio:4/3}.photo--tall{aspect-ratio:4/5;min-height:320px}.photo--hero{aspect-ratio:4/3}
.split{display:grid;gap:28px;align-items:center;padding-block:36px}
@media(min-width:860px){.split{grid-template-columns:1fr 1fr}.split--rev .split__text{order:-1}}
.band{background:var(--paper2);border-block:1px solid var(--line)}.band--warm{background:#F5E6D3}.band--accent{background:var(--accent);color:#fff}.band--accent a{color:#fff}
@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .band--warm{background:#33281F}}
.steps,.ticks{padding-left:1.2em}.steps li,.ticks li{margin-bottom:.8em}
.steps .n{display:inline-block;width:2em;height:2em;line-height:2em;text-align:center;border-radius:50%;background:var(--accent);color:#fff;margin-right:.5em;font-weight:700}
.cards{display:grid;gap:18px}.cards--plans{grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}
.plan{display:flex;flex-direction:column}.price{font:600 2.4rem Fraunces,Georgia,serif;margin:.2em 0}
.qa{border-bottom:1px solid var(--line);padding:6px 0}.qa summary{cursor:pointer;font-weight:700;padding:10px 0}
.long{max-width:720px;margin:0 auto;padding:24px 16px}.legal{max-width:760px}
/* setup page */
.thumbs{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0}.thumb{position:relative;display:inline-block}.thumb img{width:84px;height:84px;object-fit:cover;border-radius:8px;display:block}
.thumb .x{position:absolute;top:-8px;right:-8px;width:30px;height:30px;border-radius:50%;border:0;background:var(--bad);color:#fff;font-size:1.1rem;cursor:pointer;line-height:1}
.recitem{border-top:1px solid var(--line);padding-top:12px;margin-top:12px}
.recitem audio,.vprev{width:100%;max-width:520px;border-radius:10px;background:#000}
.torch{border-top:1px solid var(--line);padding-top:10px}
.live{position:relative;background:#000;border-radius:var(--r);overflow:hidden;max-width:560px}.live video{width:100%;display:block;transform:scaleX(-1)}
.prompter{background:rgba(0,0,0,.72);color:#fff;padding:12px 16px;max-height:9em;overflow:auto;font-size:1.05rem;white-space:pre-wrap}
.rstatus{font-weight:700}
.tones{display:flex;flex-wrap:wrap;gap:8px}
details.helper{background:var(--paper);border:1px dashed var(--accent);border-radius:10px;padding:12px 16px}details.helper summary{cursor:pointer;font-weight:700;color:var(--accent-d)}
progress{width:100%;height:16px}
/* player */
.player{padding-block:32px}.player h1{margin-bottom:.3em}.rec{margin:28px 0}
.stage{position:relative;aspect-ratio:16/9;background:#111;border-radius:var(--r);overflow:hidden;display:grid;place-items:center;max-width:960px}
.stage .slide{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;opacity:0;transition:opacity 1.2s ease}.stage .slide.on{opacity:1}
.stage--video video{width:100%;height:100%;background:#000}
.stage:fullscreen{max-width:none;border-radius:0}
.noPhoto{color:#eee;font:600 2rem Fraunces,Georgia,serif;text-align:center;padding:24px}
.rec audio{width:100%;max-width:960px;margin-top:10px}
.rec__tools{display:flex;gap:10px;flex-wrap:wrap;margin-top:10px}
/* contact */
.ct{display:grid;gap:36px;padding-block:40px}@media(min-width:860px){.ct{grid-template-columns:1fr 1fr}}
.ct-label{text-transform:uppercase;letter-spacing:.08em;font-size:.8rem;color:var(--accent-d);font-weight:700;margin:0}
.ct-h{margin:.2em 0 .4em}.ct-lede{color:var(--muted)}
.ct-info{margin:24px 0 0}.ct-row{display:flex;gap:16px;padding:10px 0;border-top:1px solid var(--line)}.ct-row dt{width:70px;font-weight:700;color:var(--muted)}.ct-row dd{margin:0}
.ct-copy{margin-left:10px;border:1px solid var(--line);background:transparent;color:var(--ink);border-radius:8px;padding:2px 10px;font:inherit;font-size:.85rem;cursor:pointer}
.ct-form{background:var(--paper2);border:1px solid var(--line);border-radius:var(--r);padding:24px}.ct-fh{margin-top:0}
.ct-label+h1{margin-top:.2em}
.ct-trap{position:absolute;left:-9999px;height:0;overflow:hidden}
.ct-fine{font-size:.85rem;color:var(--muted)}.ct-note{margin-top:12px;font-weight:700}
@media (max-width:520px){body{font-size:18px}.card{padding:16px}}
/* layout fixes */
.steps{list-style:none;padding:0;counter-reset:none}.steps li{display:grid;grid-template-columns:2.4em 1fr;column-gap:.6em;align-items:start}.steps .n{grid-row:1/3;margin:0}.steps h3{margin:.2em 0 .2em}.steps p{margin:0 0 1em}
.band>.wrap{padding-block:40px}
main>section.wrap{padding-block:40px}
.band--accent .lede,.band--accent p{color:#fff}.band--accent .btn{background:#fff;color:var(--accent-d);border-color:#fff}.band--accent h2{color:#fff}
.cards{margin-block:16px}
.photo{background:var(--img) center/cover no-repeat,linear-gradient(135deg,#E9D8BF,#D9B79A 55%,#C98B6B)}
.hero__text h1{margin-top:.3em}
/* bigger home page */
.hero--big{padding:56px 0 40px;background:radial-gradient(1200px 500px at 85% 0%,#F6DFC0,transparent 70%)}
.hero--big h1{font-size:clamp(2.4rem,6vw,4.2rem);letter-spacing:-.01em}
.hero--big .lede{color:var(--ink);font-size:1.3rem}
.mock{background:#1F1A17;color:#F3ECE1;border-radius:22px;box-shadow:0 30px 60px -20px rgba(60,30,10,.5);overflow:hidden;max-width:520px;width:100%;justify-self:center;transform:rotate(1.2deg)}
.mock__bar{display:flex;justify-content:space-between;align-items:center;padding:14px 18px;font-size:.85rem;color:#C9BBA8;border-bottom:1px solid #3a302a}
.mock__dot{width:10px;height:10px;border-radius:50%;background:#E08A6A}
.mock__stage{padding:28px 22px 22px;background:linear-gradient(160deg,#2C231E,#3b2b22)}
.mock__small{margin:0;font-size:.8rem;letter-spacing:.1em;text-transform:uppercase;color:#E0A58A}
.mock__title{margin:.2em 0 .6em;font:600 2rem Fraunces,Georgia,serif}
.mock__wave{display:flex;align-items:center;gap:3px;height:70px}.mock__wave i{flex:1;background:#E08A6A;border-radius:3px;opacity:.9}.mock__wave i:nth-child(n+20){opacity:.35}
.mock__photos{display:flex;gap:8px;margin-top:16px}.mock__photos b{flex:1;aspect-ratio:1;border-radius:8px;background:linear-gradient(135deg,#E9D8BF,#C98B6B)}.mock__photos b:nth-child(2){background:linear-gradient(135deg,#D9B79A,#8A5638)}.mock__photos b:nth-child(3){background:linear-gradient(135deg,#B8C9B0,#6C8B5E)}.mock__photos b:nth-child(4){background:linear-gradient(135deg,#C9B7D9,#7A5C8A)}
.mock__ctl{display:flex;align-items:center;gap:14px;padding:14px 18px;background:#171310;font-size:.85rem;color:#C9BBA8}
.mock__play{width:38px;height:38px;border-radius:50%;background:#E08A6A;position:relative;flex:none}.mock__play:after{content:"";position:absolute;left:15px;top:11px;border-left:13px solid #1F1A17;border-top:8px solid transparent;border-bottom:8px solid transparent}
.mock__torch{margin-left:auto;background:#3a302a;border-radius:999px;padding:.2em .8em}
.moments{padding-block:44px}.cards--3{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}
.moments .card{background:#fff;border-top:4px solid var(--accent)}
@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .moments .card{background:var(--paper2)}}
.band--dark{background:#241C18;color:#F3ECE1;border:0}.band--dark .lede{color:#D8CBB8}.bigquote{font:600 clamp(1.8rem,4.5vw,3rem)/1.2 Fraunces,Georgia,serif;margin:0 0 .5em}.band--dark .btn{background:#E08A6A;border-color:#E08A6A;color:#1F1A17}
.h1sub{display:block;margin-top:.25em;font-size:.55em;font-weight:500;color:var(--accent-d);line-height:1.25}
.hero--big h1{font-size:clamp(3.2rem,9vw,6.4rem);line-height:1;margin-bottom:.15em}
.h2line{font:600 clamp(1.5rem,3.4vw,2.2rem)/1.25 Fraunces,Georgia,serif;color:var(--accent-d);margin:0 0 .8em}
.hero--big h1{font-size:clamp(2.6rem,10vw,4.9rem);white-space:nowrap}

/* ===== Black-tie look: ivory, midnight, burgundy and antique gold ===== */
:root,:root:not([data-theme=light]){--paper:#FBFAF7;--paper2:#EFF0F3;--ink:#14171F;--muted:#5C6070;--accent:#7A1F32;--accent-d:#5E1626;--gold:#B8913A;--gold-l:#D9B964;--midnight:#10131B;--midnight2:#1B2030;--line:#DADCE3}
@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--paper:#10131B;--paper2:#1B2030;--ink:#F4F1EA;--muted:#A9AEBF;--accent:#C9566E;--accent-d:#E58AA0;--line:#2D3347}}
body{background:var(--paper);color:var(--ink)}
.eyebrow,.ct-label{color:var(--gold);letter-spacing:.16em}
.top{background:var(--midnight);border-bottom:1px solid #2a2f40}
.mark{color:#F4F1EA;letter-spacing:.02em}.mark:before{content:"";display:inline-block;width:10px;height:16px;margin-right:10px;vertical-align:-1px;background:var(--gold-l);border-radius:50% 50% 50% 50%/65% 65% 35% 35%;box-shadow:0 0 14px 3px rgba(217,185,100,.55)}
.navlink{color:#D9DCE6}.top .btn{background:var(--gold);border-color:var(--gold);color:#10131B}.top .btn:hover{background:var(--gold-l);border-color:var(--gold-l)}
.foot{background:var(--midnight);color:#A9AEBF;border-top:3px solid var(--gold);margin-top:0;padding:32px 0}.foot a{color:#E7DFC6}
.btn,.ct-send{background:var(--accent);border-color:var(--accent)}.btn:hover,.ct-send:hover{background:var(--accent-d);border-color:var(--accent-d)}
.btn--ghost{color:var(--accent)}.btn--ghost:hover{background:var(--paper2);color:var(--accent-d)}
a{color:var(--accent)}
.hero--big{background:radial-gradient(900px 420px at 80% 10%,rgba(217,185,100,.22),transparent 70%),linear-gradient(180deg,#10131B,#1B2030);color:#F4F1EA;padding:72px 0 64px;position:relative}
.hero--big:after{content:"";position:absolute;left:0;right:0;bottom:0;height:3px;background:linear-gradient(90deg,transparent,var(--gold),transparent)}
.hero--big h1{color:#F7F3EA}.hero--big .lede{color:#D9DCE6}.hero--big .lede strong{color:#fff}
.hero--big .h2line{color:var(--gold-l)}.hero--big .small,.hero--big .muted{color:#A9AEBF}
.hero--big .btn{background:var(--gold);border-color:var(--gold);color:#10131B}.hero--big .btn:hover{background:var(--gold-l);border-color:var(--gold-l)}
.hero--big .btn--ghost{background:transparent;color:#F4F1EA;border-color:#8C91A5}.hero--big .btn--ghost:hover{background:rgba(255,255,255,.08);color:#fff}
.mock{background:#0B0D13;border:1px solid #2f3550;box-shadow:0 30px 70px -20px rgba(0,0,0,.7),0 0 60px -10px rgba(217,185,100,.25)}
.mock__bar{border-bottom-color:#232842}.mock__dot{background:var(--gold-l)}
.mock__stage{background:linear-gradient(160deg,#141827,#1E2336)}.mock__small{color:var(--gold-l)}
.mock__wave i{background:var(--gold)}.mock__play{background:var(--gold)}.mock__play:after{border-left-color:#10131B}
.mock__ctl{background:#0B0D13}.mock__torch{background:#232842}
.mock__photos b{background:linear-gradient(135deg,#3a4160,#1f2438)}.mock__photos b:nth-child(2){background:linear-gradient(135deg,#6f5a2c,#2a2316)}.mock__photos b:nth-child(3){background:linear-gradient(135deg,#4a2a35,#1d1217)}.mock__photos b:nth-child(4){background:linear-gradient(135deg,#2c4a55,#131f26)}
.moments{padding-block:56px}.moments .card{background:#fff;border:1px solid var(--line);border-top:3px solid var(--gold);box-shadow:0 1px 0 #fff inset,0 8px 24px -16px rgba(16,19,27,.35)}
@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .moments .card{background:var(--paper2)}}
h2.center:after{content:"";display:block;width:140px;height:12px;margin:14px auto 0;background:linear-gradient(90deg,transparent,var(--gold) 40%,transparent 45%,transparent 55%,var(--gold) 60%,transparent) center/100% 1px no-repeat,radial-gradient(circle,var(--gold) 0 3px,transparent 4px) center/12px 12px no-repeat}
.band{background:var(--paper2);border-block:1px solid var(--line)}.band--warm{background:#E7E9EF}
@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .band--warm{background:#161A27}}
.band--dark{background:linear-gradient(180deg,#10131B,#1B2030);position:relative}.band--dark .bigquote{color:#F7F3EA}.band--dark .lede{color:#D9DCE6}.band--dark .btn{background:var(--gold);border-color:var(--gold);color:#10131B}
.band--accent{background:linear-gradient(180deg,#7A1F32,#5E1626)}.band--accent .btn{background:var(--gold);border-color:var(--gold);color:#10131B}
.photo{background:var(--img) center/cover no-repeat,radial-gradient(240px 160px at 70% 25%,rgba(217,185,100,.35),transparent 70%),linear-gradient(160deg,#2a3048,#10131B);border:1px solid #2f3550}
.card{background:#fff;border:1px solid var(--line)}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .card{background:var(--paper2)}}
.card.stack{background:#fff}
.price{color:var(--accent)}
.steps .n{background:var(--accent)}
.banner{background:#F6EFD8;border-color:#DCC98A;color:#4A3C14}
.qa summary,details.card summary{color:var(--ink)}
.stage{background:#0B0D13}
input,textarea,select{border-color:#C9CCD6}
.ct-form{background:#fff;border-color:var(--line)}
details.helper{border-color:var(--gold)}details.helper summary{color:var(--accent)}
