:root{
  --canvas:#f6f6f2;--paper:#fff;--ink:#0d0d0c;--ink-2:#34342f;--muted:#5f5f58;--line:#d8d8cf;--line-soft:#e7e7df;
  --gold:#eac603;--gold-ink:#6b5800;--gold-wash:#fbf5d2;--error:#a3261b;--error-wash:#fbecea;
  --night:#0f0f0e;--night-2:#1b1b19;--night-line:#34342f;--night-muted:#a9a99f;
  --sans:'Inter',system-ui,-apple-system,'Segoe UI',Arial,sans-serif;--display:'Inter Tight','Inter',system-ui,sans-serif;--mono:'IBM Plex Mono',ui-monospace,'SFMono-Regular',Consolas,monospace;
  --gutter:clamp(16px,4vw,56px);--max:1360px;--ease:cubic-bezier(.2,.7,.2,1);
  color-scheme:light;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;min-width:320px;background:var(--canvas);color:var(--ink);font:400 16px/1.55 var(--sans);-webkit-font-smoothing:antialiased;display:flex;flex-direction:column;min-height:100vh}
main{flex:1}
img{display:block;max-width:100%;height:auto}
button,input,textarea,select{font:inherit;color:inherit}
button{cursor:pointer}
a{color:inherit}
[hidden]{display:none!important}
:focus-visible{outline:3px solid var(--ink);outline-offset:3px}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap}
.skip-link{position:absolute;left:16px;top:-80px;z-index:50;background:var(--ink);color:#fff;padding:12px 16px;text-decoration:none;font-weight:600}
.skip-link:focus{top:12px}

/* Top bar */
.topbar{height:64px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:16px;padding:0 var(--gutter);background:var(--paper);border-bottom:1px solid var(--ink)}
.wordmark{font:700 25px/1 var(--display);letter-spacing:-.06em;text-decoration:none;justify-self:start}
.wordmark span{color:var(--gold);text-shadow:0 0 0 var(--gold)}
.topbar-label{margin:0;font:500 11px/1 var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
.topbar-link{justify-self:end;font:500 12px/1 var(--mono);letter-spacing:.1em;text-transform:uppercase;text-decoration:none;padding:12px 0;border-bottom:1px solid transparent}
.topbar-link:hover{border-bottom-color:var(--ink)}

/* Shared */
.kicker{display:flex;align-items:center;gap:10px;margin:0 0 20px;font:500 12px/1.3 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-2)}
.kicker::before{content:"";width:10px;height:10px;background:var(--gold);flex:none}
.kicker-light{color:#e9e9e1}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:14px;min-height:52px;padding:14px 24px;border:1px solid var(--ink);border-radius:0;font:600 14px/1.2 var(--sans);letter-spacing:.01em;text-decoration:none;transition:background-color .18s,color .18s,border-color .18s}
.btn-ink{background:var(--ink);color:#fff}
.btn-ink:hover{background:#2a2a27}
.btn-gold{background:var(--gold);color:var(--ink);border-color:var(--gold)}
.btn-gold:hover{background:#f3d735}
.btn-line{background:transparent;color:var(--ink)}
.btn-line:hover{background:var(--paper)}
.btn-line-light{background:transparent;color:#fff;border-color:#6f6f67}
.btn-line-light:hover{border-color:#fff}
.btn:disabled{opacity:.7;cursor:progress}
.btn-gold:focus-visible,.btn-line-light:focus-visible{outline-color:var(--gold)}
.text-button{background:none;border:0;padding:6px 0;font:500 13px/1.3 var(--sans);text-decoration:underline;text-underline-offset:3px;color:var(--ink-2)}
.text-button:hover{color:var(--ink)}
.noscript{padding:20px var(--gutter);background:var(--gold-wash);border-bottom:1px solid var(--line)}
.noscript p{margin:0;max-width:880px}

/* Intro */
.intro{position:relative;background:var(--paper);border-bottom:1px solid var(--line);overflow:hidden}
.intro::before{content:"";position:absolute;inset:0;pointer-events:none;background-image:linear-gradient(to right,var(--line-soft) 1px,transparent 1px);background-size:calc((min(100vw,var(--max)) - 2 * var(--gutter)) / 12) 100%;background-position:max(var(--gutter),calc((100vw - var(--max)) / 2 + var(--gutter))) 0;opacity:.8}
.intro-grid{position:relative;max-width:var(--max);margin:0 auto;padding:clamp(40px,7vw,104px) var(--gutter) clamp(48px,7vw,96px);display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(32px,6vw,96px);align-items:center}
.intro h1{margin:0;font:600 clamp(42px,6.4vw,96px)/.98 var(--display);letter-spacing:-.045em;max-width:11ch;text-wrap:balance}
.intro-lede{margin:28px 0 0;max-width:36rem;font-size:clamp(17px,1.35vw,20px);line-height:1.6;color:var(--ink-2)}
.intro-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:36px}
.intro-resume{margin:18px 0 0;font-size:14px;color:var(--ink-2)}
.intro-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin:48px 0 0;border-top:1px solid var(--ink);max-width:640px}
.intro-facts div{padding:16px 16px 0 0}
.intro-facts div+div{padding-left:16px;border-left:1px solid var(--line)}
.intro-facts dt{font:500 11px/1.3 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.intro-facts dd{margin:6px 0 0;font:600 15px/1.35 var(--display)}
.intro-figure{position:relative;margin:0;justify-self:end;width:min(100%,460px)}
.frame{position:relative;padding:18px;background:var(--canvas);border:1px solid var(--line)}
.frame img{width:100%;aspect-ratio:4/5;object-fit:cover}
.crop{position:absolute;width:22px;height:22px;border-color:var(--ink);border-style:solid;border-width:0}
.crop-tl{top:6px;left:6px;border-top-width:1px;border-left-width:1px}.crop-tr{top:6px;right:6px;border-top-width:1px;border-right-width:1px}
.crop-bl{bottom:6px;left:6px;border-bottom-width:1px;border-left-width:1px}.crop-br{bottom:6px;right:6px;border-bottom-width:1px;border-right-width:1px}
.guide-eye{position:absolute;left:18px;right:18px;top:34%;border-top:1px dashed rgba(234,198,3,.9)}
.spec-sheet{position:absolute;left:-40px;bottom:48px;width:min(260px,70%);background:var(--night);color:#fff;padding:18px 20px;box-shadow:0 18px 40px rgba(0,0,0,.18)}
.spec-title{margin:0 0 10px;font:500 11px/1 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--gold)}
.spec-sheet dl{margin:0}
.spec-sheet div{display:flex;justify-content:space-between;gap:12px;padding:7px 0;border-top:1px solid var(--night-line);font-size:13px}
.spec-sheet dt{font:500 10px/1.6 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--night-muted)}
.spec-sheet dd{margin:0;text-align:right;font-weight:500}
.figure-note{margin-top:10px;font:400 11px/1.4 var(--mono);letter-spacing:.06em;color:var(--muted);text-align:right}

/* Planner */
.planner{max-width:var(--max);margin:0 auto;padding:clamp(28px,4vw,56px) var(--gutter) 88px}
.planner-head{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;flex-wrap:wrap}
.planner-head h1{margin:0;font:600 clamp(32px,3.6vw,52px)/1.02 var(--display);letter-spacing:-.04em}
.planner-head h1:focus{outline:none}
.planner-tools{display:flex;align-items:center;gap:18px;flex-wrap:wrap}
.save-note{margin:0;font:400 12px/1.4 var(--mono);color:var(--muted)}
.module-index{list-style:none;margin:32px 0 0;padding:0;display:grid;grid-template-columns:repeat(8,minmax(0,1fr));border-top:1px solid var(--line)}
.module-index li{position:relative;padding:12px 10px 0 0;font:500 12px/1.3 var(--sans);color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.module-index li::before{content:"";position:absolute;left:0;right:6px;top:-1px;height:3px;background:transparent;transition:background-color .3s}
.module-index li span{font:500 11px/1 var(--mono);letter-spacing:.06em;margin-right:4px}
.module-index li[data-state="done"]{color:var(--ink)}
.module-index li[data-state="done"]::before{background:var(--ink)}
.module-index li[data-state="done"] span::after{content:" ✓"}
.module-index li[aria-current="step"]{color:var(--ink);font-weight:600}
.module-index li[aria-current="step"]::before{background:var(--gold);height:5px;top:-2px}
.restored-note{margin:20px 0 0;padding:12px 16px;border-left:3px solid var(--gold);background:var(--paper);font-size:14px}
.planner-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,380px);gap:clamp(28px,4vw,64px);margin-top:32px;align-items:start}
.planner-main{min-width:0}
.form-alert{margin:0 0 16px;padding:14px 16px;border:1px solid var(--error);border-left-width:4px;background:var(--error-wash);color:#5e150f;font-weight:500}
.form-alert::before{content:"! ";font-weight:700}
.form-alert:focus{outline:2px solid var(--error);outline-offset:2px}
.hp{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}

/* Modules */
.module{border-top:1px solid var(--ink);background:transparent}
.module:last-of-type{border-bottom:1px solid var(--line)}
.module-head{display:grid;grid-template-columns:48px minmax(0,1fr) auto;grid-template-areas:"no title edit" "no summary edit";column-gap:12px;align-items:baseline;padding:20px 0}
.module-no{grid-area:no;font:500 13px/1.6 var(--mono);color:var(--muted)}
.module-head h2{grid-area:title;margin:0;font:600 clamp(20px,1.9vw,26px)/1.2 var(--display);letter-spacing:-.025em}
.module-head h2:focus{outline:none}
.module-summary{grid-area:summary;margin:4px 0 0;font-size:14px;color:var(--ink-2);overflow-wrap:anywhere}
.module-summary:empty{display:none}
.module-edit{grid-area:edit;align-self:center;background:none;border:1px solid var(--line);padding:8px 14px;font:500 12px/1 var(--mono);letter-spacing:.08em;text-transform:uppercase;display:none}
.module-edit:hover{border-color:var(--ink)}
.module-state{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.module-body{padding:0 0 36px 60px;display:none}
.module[data-state="active"] .module-body{display:block;animation:rise .32s var(--ease)}
.module[data-state="active"] .module-no{color:var(--ink)}
.module[data-state="active"] .module-no::before{content:"";display:inline-block;width:8px;height:8px;background:var(--gold);margin-right:6px;vertical-align:1px}
.module[data-state="done"] .module-edit{display:inline-block}
.module[data-state="done"] .module-no::after{content:" ✓";color:var(--ink)}
.module[data-state="upcoming"] .module-head{opacity:.5}
.module[data-state="upcoming"] .module-head h2{font-weight:500}
.module-intro{margin:0 0 20px;color:var(--ink-2)}
.module-actions{margin-top:28px;display:flex;gap:12px}
@keyframes rise{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}

/* Fields */
.field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 20px}
.field{display:flex;flex-direction:column;min-width:0}
.field-wide{grid-column:1/-1}
.field-narrow{max-width:260px}
.field+.field,.question+.field,.reveal>.field,.reveal+.field-grid,.question+.field-grid{margin-top:20px}
.field-grid>.field{margin-top:0}
label,legend{font-weight:600;font-size:15px}
.req,.opt{margin-left:6px;font:500 10px/1 var(--mono);letter-spacing:.1em;text-transform:uppercase;vertical-align:2px}
.req{color:var(--gold-ink)}
.opt{color:var(--muted)}
.field label{margin-bottom:8px}
input:not([type=radio]):not([type=checkbox]),textarea{width:100%;min-height:50px;padding:12px 14px;border:1px solid #b9b9ae;border-radius:0;background:var(--paper);font-size:16px;transition:border-color .15s,box-shadow .15s}
textarea{min-height:0;resize:vertical;line-height:1.5}
input::placeholder,textarea::placeholder{color:#8a8a80}
input:not([type=radio]):not([type=checkbox]):hover,textarea:hover{border-color:var(--ink-2)}
input:not([type=radio]):not([type=checkbox]):focus-visible,textarea:focus-visible{outline:none;border-color:var(--ink);box-shadow:0 0 0 1px var(--ink),0 0 0 4px var(--gold)}
input[aria-invalid=true],textarea[aria-invalid=true]{border-color:var(--error);box-shadow:inset 3px 0 0 var(--error)}
.help,.hint{margin:8px 0 0;font-size:13px;color:var(--muted);line-height:1.45}
.hint{color:var(--ink-2);padding-left:10px;border-left:2px solid var(--gold)}
.error{margin:6px 0 0;font-size:13px;font-weight:600;color:var(--error)}
.error:empty{display:none}
.error::before{content:"Error: ";}
fieldset{border:0;margin:0;padding:0;min-width:0}
.question{margin-top:28px}
.module-body>.question:first-child{margin-top:0}
.question legend{padding:0;margin-bottom:12px}
.question>.help{margin:-4px 0 14px}
.reveal{animation:rise .28s var(--ease)}
.reveal .question{margin-top:20px}

/* Choice controls: native inputs, visually layered */
.chip,.option,.scale-step,.use,.look{position:relative;display:block;cursor:pointer}
.chip input,.option input,.scale-step input,.use input,.look input{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer;z-index:1}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chip span{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:10px 16px;border:1px solid #b9b9ae;background:var(--paper);font-size:14px;font-weight:500;transition:border-color .15s,background-color .15s}
.chip span::before{content:"";width:12px;height:12px;border:1px solid var(--ink-2);flex:none;transition:background-color .15s}
.chip input[type=radio]+span::before{border-radius:50%}
.chip:hover span{border-color:var(--ink)}
.chip input:checked+span{border-color:var(--ink);background:var(--ink);color:#fff}
.chip input:checked+span::before{background:var(--gold);border-color:var(--gold)}
.chip input:focus-visible+span,.option input:focus-visible+span,.scale-step input:focus-visible+span,.use input:focus-visible+span{outline:3px solid var(--ink);outline-offset:3px}

.options{display:grid;gap:10px}
.options-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.option span,.use span{display:flex;flex-direction:column;gap:2px;height:100%;min-height:64px;padding:14px 16px 14px 44px;border:1px solid #b9b9ae;background:var(--paper);position:relative;transition:border-color .15s,box-shadow .15s}
.option span::before,.use span::before{content:"";position:absolute;left:16px;top:17px;width:16px;height:16px;border:1px solid var(--ink-2);background:var(--paper)}
.option span::before{border-radius:50%}
.option b,.use b{font:600 15px/1.3 var(--display);letter-spacing:-.01em}
.option small,.use small{font-size:13px;color:var(--muted);line-height:1.35}
.option:hover span,.use:hover span{border-color:var(--ink)}
.option input:checked+span,.use input:checked+span{border-color:var(--ink);box-shadow:inset 0 0 0 1px var(--ink)}
.option input:checked+span::before{background:var(--ink);box-shadow:inset 0 0 0 3px var(--paper)}
.use input:checked+span::before{background:var(--ink);border-color:var(--ink)}
.use input:checked+span::after{content:"";position:absolute;left:21px;top:20px;width:5px;height:9px;border:solid var(--gold);border-width:0 2px 2px 0;transform:rotate(45deg)}

.scale{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));border:1px solid #b9b9ae;background:var(--paper)}
.scale-step+.scale-step{border-left:1px solid var(--line)}
.scale-step span{display:flex;flex-direction:column;justify-content:center;min-height:84px;padding:12px;transition:background-color .15s,color .15s}
.scale-step b{font:600 22px/1.1 var(--display);letter-spacing:-.03em}
.scale-step small{font:500 11px/1.3 var(--mono);letter-spacing:.04em;color:var(--muted);margin-top:4px}
.scale-step:hover span{background:var(--canvas)}
.scale-step input:checked+span{background:var(--ink);color:#fff}
.scale-step input:checked+span small{color:var(--gold)}
.scale-step input:focus-visible+span{outline-offset:-4px;outline-color:var(--gold)}

.uses{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}

.looks{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.look{display:flex;flex-direction:column;border:1px solid #b9b9ae;background:var(--paper);transition:border-color .15s,box-shadow .15s}
.look-img{display:block;aspect-ratio:4/5;overflow:hidden;background:var(--canvas);position:relative}
.look-img img{width:100%;height:100%;object-fit:cover;transition:transform .5s var(--ease),filter .3s}
.look-text{display:flex;flex-direction:column;gap:3px;padding:12px 14px 14px 40px;position:relative;flex:1}
.look-text::before{content:"";position:absolute;left:14px;top:15px;width:16px;height:16px;border-radius:50%;border:1px solid var(--ink-2);background:var(--paper)}
.look-text b{font:600 15px/1.3 var(--display)}
.look-text small{font-size:13px;color:var(--muted);line-height:1.35}
.look:hover{border-color:var(--ink)}
.look:hover .look-img img{transform:scale(1.025)}
.look:has(input:checked){border-color:var(--ink);box-shadow:0 0 0 1px var(--ink)}
.look:has(input:checked) .look-text::before{background:var(--ink);box-shadow:inset 0 0 0 3px var(--paper)}
.look:has(input:checked) .look-img::after{content:"Selected";position:absolute;left:10px;top:10px;padding:5px 8px;background:var(--gold);color:var(--ink);font:600 10px/1 var(--mono);letter-spacing:.12em;text-transform:uppercase}
.look:has(input:focus-visible){outline:3px solid var(--ink);outline-offset:3px}
.look-mark{display:grid;place-items:center;background:repeating-linear-gradient(to right,transparent 0 23px,var(--line-soft) 23px 24px),repeating-linear-gradient(to bottom,transparent 0 23px,var(--line-soft) 23px 24px),var(--canvas)}
.match-grid{display:grid;grid-template-columns:repeat(3,40px);gap:6px}
.match-grid i{position:relative;display:block;height:50px;background:#e2e2da;border:1px solid var(--line);overflow:hidden}
.match-grid i::before{content:"";position:absolute;left:50%;top:10px;width:14px;height:16px;margin-left:-7px;border-radius:50%;background:var(--ink-2)}
.match-grid i::after{content:"";position:absolute;left:50%;bottom:-12px;width:30px;height:24px;margin-left:-15px;border-radius:50% 50% 0 0;background:var(--ink-2)}
.match-grid i:nth-child(5){outline:2px solid var(--gold);outline-offset:1px}
.mark-q{font:600 64px/1 var(--display);color:var(--ink);letter-spacing:-.04em}
.mark-q::after{content:"";display:block;height:4px;width:40px;margin:8px auto 0;background:var(--gold)}

/* Review */
.review{border-top:1px solid var(--ink);padding-top:28px}
.review h2{margin:0;font:600 clamp(28px,3vw,42px)/1.05 var(--display);letter-spacing:-.035em}
.review h2:focus{outline:none}
.review-lede{margin:12px 0 0;color:var(--ink-2);max-width:40rem}
.brief{margin-top:28px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-top:1px solid var(--line);border-left:1px solid var(--line)}
.brief-group{padding:18px 20px 20px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--paper);min-width:0}
.brief-group header{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px}
.brief-group h3{margin:0;font:500 11px/1.3 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--gold-ink)}
.brief-group button{background:none;border:0;padding:4px 0;font:500 13px/1 var(--sans);text-decoration:underline;text-underline-offset:3px}
.brief-group dl{margin:0}
.brief-group dl div{padding:6px 0}
.brief-group dl div+div{border-top:1px solid var(--line-soft)}
.brief-group dt{font-size:12px;color:var(--muted)}
.brief-group dd{margin:2px 0 0;font-weight:500;overflow-wrap:anywhere;white-space:pre-line}
.brief-group-wide{grid-column:1/-1}
.submit-row{margin-top:28px;display:flex;flex-wrap:wrap;align-items:center;gap:16px 24px}
.submit-note{margin:0;font-size:14px;color:var(--muted);max-width:28rem}
.fallback{margin-top:18px;padding:14px 16px;border:1px solid var(--line);background:var(--paper);font-size:14px}
.fallback p{margin:0}

/* Plan card */
.plan{position:sticky;top:24px;background:var(--night);color:#fff;border:1px solid var(--night);min-width:0}
.plan-toggle{display:none}
.plan-inner{padding:24px 24px 22px}
.plan-top{padding-bottom:16px;border-bottom:1px solid var(--night-line)}
.plan-title{margin:0;font:500 12px/1 var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--gold)}
.plan-for{margin:10px 0 0;font:600 20px/1.2 var(--display);letter-spacing:-.02em;overflow-wrap:anywhere}
.plan-empty{margin:18px 0 6px;color:var(--night-muted);font-size:14px}
.plan-rows{margin:0}
.plan-row{display:grid;grid-template-columns:104px minmax(0,1fr);gap:12px;padding:12px 0;border-bottom:1px solid var(--night-line)}
.plan-row dt{font:500 10px/1.7 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--night-muted)}
.plan-row dd{margin:0;font-size:14px;font-weight:500;line-height:1.45;overflow-wrap:anywhere}
.plan-row dd small{display:block;color:var(--night-muted);font-weight:400;font-size:12px;margin-top:2px}
.plan-row.is-new{animation:planIn .45s var(--ease)}
.plan-row.is-changed dd{animation:flash .6s ease}
@keyframes planIn{from{opacity:0;transform:translateX(-6px)}to{opacity:1;transform:none}}
@keyframes flash{0%{color:var(--gold)}100%{color:#fff}}
.plan-progress{height:2px;background:var(--night-line);margin-top:18px}
.plan-progress span{display:block;height:100%;width:0;background:var(--gold);transition:width .4s var(--ease)}
.plan-count{margin:8px 0 0;font:400 11px/1.4 var(--mono);color:var(--night-muted)}
.plan-price{margin-top:18px;padding:14px 16px;border:1px solid var(--night-line);background:var(--night-2)}
.plan-price-label{margin:0;font:500 10px/1 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--night-muted)}
.plan-price-value{margin:8px 0 0;font:600 16px/1.3 var(--display);color:#fff}
.plan-price-note{margin:6px 0 0;font-size:12px;color:var(--night-muted);line-height:1.45}

/* Success */
.success{background:var(--night);color:#fff}
.success-inner{max-width:880px;margin:0 auto;padding:clamp(48px,8vw,112px) var(--gutter) clamp(56px,8vw,112px)}
.success h1{margin:0;font:600 clamp(40px,6vw,84px)/1 var(--display);letter-spacing:-.045em;text-wrap:balance}
.success h1:focus{outline:none}
.success-lede{margin:24px 0 0;font-size:clamp(17px,1.4vw,20px);line-height:1.6;color:#d6d6cd;max-width:40rem}
.receipt{display:inline-block;margin:28px 0 0;padding:10px 14px;border:1px solid var(--gold);font:500 13px/1.3 var(--mono);letter-spacing:.08em;color:var(--gold);overflow-wrap:anywhere}
.success-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin:36px 0 0;border-top:1px solid var(--night-line)}
.success-summary div{padding:14px 16px 0 0}
.success-summary div+div{padding-left:16px;border-left:1px solid var(--night-line)}
.success-summary dt{font:500 10px/1.4 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--night-muted)}
.success-summary dd{margin:6px 0 0;font-weight:500;overflow-wrap:anywhere}
.next-steps{list-style:none;margin:40px 0 0;padding:0;display:grid;gap:0;border-top:1px solid var(--night-line)}
.next-steps li{display:flex;gap:16px;padding:14px 0;border-bottom:1px solid var(--night-line);color:#e4e4dc}
.next-steps span{font:500 12px/1.6 var(--mono);color:var(--gold)}
.success-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:36px}

/* Footer + dialog */
.footer{display:flex;flex-wrap:wrap;gap:8px 28px;justify-content:space-between;padding:22px var(--gutter);border-top:1px solid var(--line);background:var(--paper);font:400 12px/1.4 var(--mono);color:var(--muted)}
.footer a{text-decoration:none}
.footer a:hover{text-decoration:underline}
.dialog{border:1px solid var(--ink);border-radius:0;padding:28px;max-width:min(440px,calc(100vw - 32px));background:var(--paper);color:var(--ink)}
.dialog::backdrop{background:rgba(13,13,12,.55)}
.dialog h2{margin:0;font:600 24px/1.2 var(--display);letter-spacing:-.02em}
.dialog p{margin:10px 0 0;color:var(--ink-2)}
.dialog-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}

/* Responsive */
@media (max-width:1180px) and (min-width:1024px){
  .looks{grid-template-columns:repeat(2,minmax(0,1fr))}
  .uses{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:1023px){
  .intro-grid{grid-template-columns:1fr}
  .intro h1{max-width:14ch}
  .intro-figure{justify-self:start;width:min(100%,420px);margin-left:40px}
  .planner-grid{grid-template-columns:1fr;gap:20px}
  .plan{position:static;order:-1}
  .plan-toggle{display:grid;grid-template-columns:1fr auto;grid-template-areas:"label icon" "meta icon";align-items:center;width:100%;padding:14px 18px;background:none;border:0;color:#fff;text-align:left;min-height:56px}
  .plan-toggle:focus-visible{outline:3px solid var(--gold);outline-offset:-3px}
  .plan-toggle-label{grid-area:label;font:500 12px/1.2 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--gold)}
  .plan-toggle-meta{grid-area:meta;font-size:14px;margin-top:4px;color:#e4e4dc}
  .plan-toggle-icon{grid-area:icon;width:14px;height:14px;position:relative}
  .plan-toggle-icon::before,.plan-toggle-icon::after{content:"";position:absolute;left:0;right:0;top:6px;height:2px;background:#fff;transition:transform .2s}
  .plan-toggle-icon::after{transform:rotate(90deg)}
  .plan-toggle[aria-expanded=true] .plan-toggle-icon::after{transform:rotate(0)}
  .plan-inner{padding:4px 18px 18px;border-top:1px solid var(--night-line)}
  .plan-toggle[aria-expanded=false]+.plan-inner{display:none}
  .plan-top{display:none}
  .module-index{grid-template-columns:repeat(4,minmax(0,1fr));row-gap:14px}
}
@media (max-width:720px){
  .topbar{grid-template-columns:1fr auto}
  .topbar-label{display:none}
  .intro-facts{grid-template-columns:1fr}
  .intro-facts div,.intro-facts div+div{padding:12px 0;border-left:0;border-bottom:1px solid var(--line)}
  .intro-figure{margin-left:0;width:100%}
  .spec-sheet{position:relative;left:auto;bottom:auto;width:auto;margin:-40px 16px 0}
  .intro-actions .btn{flex:1 1 100%}
  .module-index{display:none}
  .module-head{grid-template-columns:36px minmax(0,1fr) auto}
  .module-body{padding-left:0}
  .field-grid,.options-2,.brief{grid-template-columns:1fr}
  .field-narrow{max-width:none}
  .scale{grid-template-columns:repeat(3,minmax(0,1fr))}
  .scale-step:nth-child(4){border-left:0}
  .scale-step:nth-child(n+4){border-top:1px solid var(--line)}
  .scale-step span{min-height:72px}
  .uses{grid-template-columns:1fr}
  .looks{gap:10px;grid-template-columns:repeat(2,minmax(0,1fr))}
  .look-text{padding:10px 10px 12px 34px}
  .look-text::before{left:10px;top:13px}
  .look-text small{font-size:12px}
  .module-actions .btn,.submit-row .btn{width:100%}
  .success-summary{grid-template-columns:repeat(2,minmax(0,1fr))}
  .success-summary div:nth-child(3){padding-left:0;border-left:0}
  .success-actions .btn{flex:1 1 100%}
  .planner-tools{width:100%;justify-content:space-between}
}
@media (max-width:400px){
  .looks{grid-template-columns:1fr 1fr}
  .look-text b{font-size:14px}
  .plan-row{grid-template-columns:88px minmax(0,1fr)}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
  .look:hover .look-img img{transform:none}
}
@media (forced-colors:active){
  .chip input:checked+span,.option input:checked+span,.use input:checked+span,.scale-step input:checked+span{outline:3px solid Highlight}
  .look:has(input:checked){outline:3px solid Highlight}
}
