:root{color-scheme:light;--ink:#111;--muted:#666;--line:#deded8;--paper:#f0efec;--red:#e60012}*{box-sizing:border-box}body{margin:0;background:#fff;color:var(--ink);font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.5}header{max-width:1360px;padding:32px 6vw;margin:auto;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line)}.wordmark{font-size:26px;letter-spacing:-1.4px;font-weight:700;text-decoration:none;color:var(--ink)}.wordmark span{font-size:9px;color:var(--red);margin-left:4px}.header-note{color:var(--muted);font-size:13px}main{max-width:1200px;margin:0 auto;padding:72px 36px 90px;display:grid;grid-template-columns:1.1fr 1fr;gap:100px}.eyebrow{font-size:10px;letter-spacing:1.6px;font-weight:700;margin:0 0 22px}h1{font-size:clamp(48px,5.6vw,78px);line-height:1.03;letter-spacing:-4px;font-weight:500;margin:0 0 26px}h1 em{font-family:Georgia,serif;font-weight:400}h2{font-weight:500;font-size:34px;letter-spacing:-1px;line-height:1.15}h3{font-weight:500;font-size:24px;letter-spacing:-.6px;margin:0 0 10px}.lede{font-size:18px;max-width:360px;color:#555;line-height:1.7}.example{max-width:360px;margin:40px 0 26px;padding:22px;background:var(--paper);border-radius:3px}.example-label{font-size:10px;letter-spacing:.5px;color:var(--muted);margin:0 0 18px}.bubble{font-size:13px;line-height:1.5;padding:12px 16px;border-radius:16px;max-width:90%;margin:12px 0}.mine{background:#111;color:#fff;margin-left:auto;border-bottom-right-radius:3px}.theirs{background:#fff;border-bottom-left-radius:3px}.small{font-size:12px;color:var(--muted)}.intake{padding-top:4px}.progress{display:flex;gap:5px;margin-bottom:34px}.progress span{height:2px;background:var(--line);flex:1}.progress .active{background:#111}fieldset{border:0;padding:0;margin:0;min-width:0}legend{font-size:30px;letter-spacing:-1px;font-weight:500;padding:0}.helper{color:var(--muted);font-size:14px;margin:8px 0 26px}label{display:block;font-size:13px;margin:24px 0 8px;font-weight:600}input,textarea,select{font:inherit;font-size:15px;width:100%;border:1px solid var(--line);border-radius:2px;padding:13px 12px;background:#fff;color:#111;min-height:48px}input:focus-visible,textarea:focus-visible,select:focus-visible,button:focus-visible,a:focus-visible{outline:2px solid #111;outline-offset:3px}.hint{font-size:11px;color:var(--muted);margin:8px 0 16px;line-height:1.65}.hint a{color:var(--ink)}.choices{display:flex;gap:8px}.choices label{flex:1;margin:0;cursor:pointer}.choices input{position:absolute;opacity:0;width:1px;min-height:1px}.choices span{display:block;padding:14px 8px;border:1px solid var(--line);text-align:center;font-size:13px;font-weight:400}.choices input:checked+span{border-color:#111;background:#111;color:#fff}.choices input:focus-visible+span{outline:2px solid #111;outline-offset:3px}.money{display:flex;align-items:center;border:1px solid var(--line)}.money span{padding-left:15px;color:var(--muted)}.money input{border:0}.size-department{margin:26px 0 0;border-top:1px solid var(--line);padding-top:20px}.size-department h3{font-size:16px}.size-row{display:grid;grid-template-columns:1fr 1.25fr;gap:8px}.size-row label{margin:14px 0 5px;font-size:11px}.size-row input,.size-row select{font-size:13px}.optional{font-weight:400;color:#888;margin-left:5px}.check{display:flex;align-items:flex-start;gap:10px;font-weight:400;font-size:12px;line-height:1.6}.check input{width:18px;height:18px;min-height:18px;padding:0;flex-shrink:0;margin-top:2px;accent-color:#111}.actions{display:flex;gap:10px;margin-top:30px}button,.button{min-height:48px;padding:14px 20px;border:1px solid #111;background:#111;color:#fff;font:inherit;font-size:13px;cursor:pointer;border-radius:2px;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:18px}#next{flex:1;justify-content:space-between}.secondary{background:#fff;color:#111}.error{padding:12px;border-left:2px solid var(--red);color:#a10000;background:#fff5f5;font-size:13px}button:disabled{opacity:.5;cursor:wait}#manual-code code{display:block;padding:14px;background:var(--paper);margin:10px 0;font-size:13px;overflow-wrap:anywhere}.photo-section{margin-top:36px;border-top:1px solid var(--line);padding-top:26px}#preview{max-width:100%;max-height:260px;margin-top:16px;object-fit:contain}footer{max-width:1360px;margin:auto;border-top:1px solid var(--line);padding:25px 6vw;display:flex;justify-content:space-between;font-size:11px;color:var(--muted)}footer div{display:flex;gap:24px}footer a{color:inherit}[hidden]{display:none!important}.policy{display:block;max-width:780px;padding:50px 30px}.policy h1{font-size:42px;letter-spacing:-1px}.policy p{font-size:15px;line-height:1.8}@media(max-width:800px){header{padding:20px 24px}.wordmark{font-size:23px}.header-note{font-size:11px}main{grid-template-columns:1fr;gap:38px;padding:36px 24px 56px}.intro h1{font-size:48px;letter-spacing:-1.5px;line-height:1.08}.intro h1 br{display:none}.lede{font-size:16px;max-width:none}.example,.small{display:none}.intake{border-top:1px solid var(--line);padding-top:30px}legend{font-size:27px}footer{padding:24px;gap:20px}.size-row select{max-width:100%}}@media(prefers-reduced-motion:no-preference){button,.choices span{transition:background .15s,color .15s}}

#show-login{margin-bottom:24px}#invite-card{margin-top:32px;border-top:1px solid var(--line);padding-top:26px}#login-form button{margin-top:20px}#sign-out{float:right;min-height:36px;padding:8px 12px}#invite-url{font-size:12px}

.handoff .intro,.handoff header .header-note{display:none}.handoff main{display:block;max-width:520px;padding-top:48px}.handoff .intake{border:0;padding:0}#text-link{width:100%;min-height:56px;font-size:16px}.handoff #connection-note{text-align:center;font-size:13px}.handoff #connection-title{text-align:center}

/* Photo step: guide, stage and verification states */
.progress span{transition:background .4s}#photo-title{margin:0 0 4px}#photo-title em{font-family:Georgia,serif;font-weight:400}
.guide{list-style:none;padding:0;margin:0 0 14px;display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.guide li{display:flex;flex-direction:column;align-items:center;gap:6px;padding:10px 4px 8px;background:var(--paper);border-radius:3px;font-size:11px;color:var(--muted)}.guide li b{font-weight:700;color:#999}.guide li.good{background:#111;color:#fff}.guide li.good b{color:#fff}
.fig{width:42px;height:56px;fill:#b9b9b2}.fig .frame{fill:none;stroke:currentColor;stroke-width:1.5;stroke-dasharray:3 2.5}.good .fig{fill:#fff}
.tips{font-size:12px;color:var(--ink);margin:0 0 6px;letter-spacing:.2px}
.stage{--ink-a:rgba(17,17,17,.9);position:relative;width:100%;max-width:360px;aspect-ratio:3/4;margin:22px 0 0;background:var(--paper);border-radius:4px;overflow:hidden;isolation:isolate}
.stage #photo{position:absolute;width:1px;height:1px;opacity:0;min-height:0;padding:0;border:0}
.drop{position:absolute;inset:0;margin:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;cursor:pointer;border:1.5px dashed #c8c8c0;border-radius:4px;font-weight:400;transition:border-color .2s,background .2s}.stage.dragging .drop{border-color:#111;background:#e9e8e3}.stage:focus-within .drop{outline:2px solid #111;outline-offset:-4px}
.ghost{width:42%;fill:#dcdbd5;margin-bottom:14px;animation:breathe 3.2s ease-in-out infinite}.drop-cta{font-size:15px;font-weight:600;border-bottom:1px solid #111}.drop-sub{font-size:11px;color:var(--muted)}
#preview{position:absolute;inset:0;width:100%;height:100%;max-height:none;margin:0;object-fit:cover;transition:filter .6s,transform .8s cubic-bezier(.2,.8,.2,1)}
.ghost-guide,.grid,.beam,.corner,.marker,.flash,.burst,.ticker{position:absolute;pointer-events:none;opacity:0;transition:opacity .4s}
.ghost-guide{inset:6% 12%;width:76%;height:88%;fill:none;stroke:#fff;stroke-width:.7;stroke-dasharray:2 1.6}
.grid{inset:0;background-image:radial-gradient(rgba(255,255,255,.55) 1px,transparent 1.2px);background-size:14px 14px;mix-blend-mode:overlay}
.beam{left:0;right:0;height:22%;top:-22%;background:linear-gradient(to bottom,transparent,rgba(255,255,255,.08) 70%,rgba(255,255,255,.55) 98%,#fff);border-bottom:1px solid #fff;box-shadow:0 6px 18px rgba(230,0,18,.35)}
.corner{width:26px;height:26px;border:2px solid #fff;transition:opacity .4s,inset .5s cubic-bezier(.2,.8,.2,1),border-color .3s}.tl{top:6%;left:8%;border-right:0;border-bottom:0}.tr{top:6%;right:8%;border-left:0;border-bottom:0}.bl{bottom:6%;left:8%;border-right:0;border-top:0}.br{bottom:6%;right:8%;border-left:0;border-top:0}
.marker{left:50%;transform:translate(-50%,6px);padding:4px 10px 4px 8px;border-radius:20px;background:rgba(17,17,17,.78);color:#fff;font-size:10px;letter-spacing:1.2px;text-transform:uppercase;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);transition:opacity .4s,transform .4s,background .3s}.marker::before{content:'';display:inline-block;width:6px;height:6px;border-radius:50%;margin-right:7px;background:#fff;vertical-align:1px;animation:blink 1s infinite}.marker.head{top:3%}.marker.feet{bottom:3%}
.marker.ok::before{content:'✓';width:auto;height:auto;background:none;animation:none;font-weight:700}.marker.miss{background:var(--red)}.marker.miss::before{content:'?';width:auto;height:auto;background:none;animation:none;font-weight:700}
.flash{inset:0;background:#fff}
.burst{left:50%;top:50%;width:0;height:0}.burst i{position:absolute;width:7px;height:7px;margin:-3.5px;border-radius:50%;background:#fff;box-shadow:0 0 8px rgba(255,255,255,.9)}.burst i:nth-child(3n){background:var(--red);box-shadow:none;width:5px;height:5px}
.ticker{left:0;right:0;bottom:12%;margin:0;text-align:center;color:#fff;font-size:13px;font-weight:600;text-shadow:0 1px 8px rgba(0,0,0,.6)}.ticker span{display:inline-block;animation:tick-in .45s cubic-bezier(.2,.8,.2,1)}
.photo-status{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.photo-result h3{margin:18px 0 0;font-size:26px}.photo-result .helper{margin:8px 0 0}.photo-result .actions{margin-top:22px}#retry,#continue{flex:1;justify-content:space-between}
.style-notes{margin-top:20px}.style-notes .eyebrow{margin:0 0 10px}.style-notes ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:6px}.style-notes li{padding:7px 12px;border:1px solid var(--line);border-radius:20px;font-size:12px;opacity:0;transform:translateY(6px);animation:chip .5s cubic-bezier(.2,.8,.2,1) forwards}
.hint-chip{display:inline-block;margin-top:8px;padding:5px 10px;border-radius:20px;background:var(--paper);font-size:11px;color:var(--ink)}

.stage:not([data-state=empty]) .drop{display:none}
.stage[data-state=ready] #preview{filter:saturate(.6) brightness(.85)}.stage[data-state=ready] .ticker{opacity:1}
.stage[data-state=checking] #preview{filter:saturate(.35) brightness(.7) contrast(1.05);transform:scale(1.03)}
.stage[data-state=checking] .grid{opacity:1;animation:grid 2.4s linear infinite}
.stage[data-state=checking] .beam{opacity:1;animation:scan 2.2s cubic-bezier(.45,0,.55,1) infinite alternate}
.stage[data-state=checking] .corner{opacity:1;animation:lock 1.6s ease-in-out infinite}
.stage[data-state=checking] .ticker{opacity:1}
.stage[data-state=checking].markers .marker,.stage[data-state=pass] .marker,.stage[data-state=fail] .marker.show{opacity:1;transform:translate(-50%,0)}
.stage[data-state=pass] .corner{opacity:1;border-color:#fff}.stage[data-state=pass] .tl,.stage[data-state=pass] .tr{top:3%}.stage[data-state=pass] .bl,.stage[data-state=pass] .br{bottom:3%}.stage[data-state=pass] .tl,.stage[data-state=pass] .bl{left:4%}.stage[data-state=pass] .tr,.stage[data-state=pass] .br{right:4%}
.stage[data-state=pass] .flash{animation:develop .9s ease-out}.stage[data-state=pass] .burst{opacity:1}.stage[data-state=pass] .burst i{animation:spark 1s cubic-bezier(.1,.7,.3,1) forwards}
.stage[data-state=fail] #preview{filter:grayscale(1) brightness(.55);transform:scale(.9)}.stage[data-state=fail] .ghost-guide{opacity:1;animation:breathe 2.4s ease-in-out infinite}.stage[data-state=fail]{animation:nudge .5s ease}
.stage[data-state=fail] .drop{display:none}

@keyframes scan{from{top:-22%}to{top:100%}}
@keyframes grid{to{background-position:0 14px}}
@keyframes lock{50%{transform:scale(.86)}}
@keyframes blink{50%{opacity:.25}}
@keyframes breathe{50%{opacity:.55;transform:scale(.98)}}
@keyframes develop{0%{opacity:.9}100%{opacity:0}}
@keyframes spark{0%{transform:rotate(var(--a)) translateY(0) scale(1);opacity:1}100%{transform:rotate(var(--a)) translateY(var(--d)) scale(.2);opacity:0}}
@keyframes chip{to{opacity:1;transform:none}}
@keyframes tick-in{from{opacity:0;transform:translateY(8px)}}
@keyframes nudge{30%{transform:translateX(-5px)}60%{transform:translateX(4px)}}
@media(max-width:800px){.stage{max-width:none}.guide{gap:6px}.fig{width:36px;height:48px}}
@media(prefers-reduced-motion:reduce){.stage *,.stage,.style-notes li{animation:none!important;transition:none!important}.style-notes li{opacity:1;transform:none}.stage[data-state=checking] .beam{top:40%}}

#photo-text-link{width:100%;min-height:56px;font-size:16px}#photo-text-note{font-size:13px;text-align:center}.photo-result .actions{flex-wrap:wrap}

/* Phone layout */
.touch{display:none}@media(hover:hover){.drop:hover{border-color:#111;background:#e9e8e3}}@media(pointer:coarse){.touch{display:inline}.fine-pointer{display:none}}
.drop{-webkit-tap-highlight-color:transparent}
@media(max-width:800px){
 html{-webkit-text-size-adjust:100%}body{padding-bottom:env(safe-area-inset-bottom)}
 header{padding:16px max(20px,env(safe-area-inset-right)) 16px max(20px,env(safe-area-inset-left))}
 main{gap:28px;padding:24px max(20px,env(safe-area-inset-right)) 40px max(20px,env(safe-area-inset-left))}
 .intro .eyebrow{margin-bottom:14px}.intro h1{font-size:clamp(34px,10vw,44px);letter-spacing:-1.2px;margin-bottom:14px}.lede{font-size:15px;line-height:1.6;margin:0}
 .intake{display:flex;flex-direction:column;padding-top:24px}#show-login{order:9;align-self:center;margin:18px 0 0;border:0;background:none;color:var(--muted);min-height:44px;font-size:13px;text-decoration:underline;text-underline-offset:3px}
 .past-intro .intro,.past-intro header .header-note{display:none}.past-intro .intake{border-top:0;padding-top:0}.past-intro main{padding-top:16px}
 .progress{margin-bottom:22px}legend,#photo-title{font-size:28px}.helper{margin-bottom:18px}label{margin-top:18px}
 input,textarea,select{font-size:16px}
 .check{font-size:12.5px;padding:6px 0;margin:10px 0 0}.check input{width:22px;height:22px;min-height:22px;margin-top:0}
 #intake-form .actions,.photo-result .actions{position:sticky;bottom:0;z-index:2;margin:20px -20px 0;padding:14px 20px calc(14px + env(safe-area-inset-bottom));background:linear-gradient(to bottom,rgba(255,255,255,0),#fff 22%)}
 #next,#retry,#continue{min-height:54px;font-size:15px}
 .guide{gap:6px;margin-bottom:12px}.guide li{padding:8px 2px 7px;font-size:10.5px}.fig{width:32px;height:43px}.tips{font-size:12px}
 .stage{width:min(100%,calc(62svh * .75));margin:16px auto 0}.ghost{width:36%}.drop-cta{font-size:16px}.drop-sub{padding:0 18px;text-align:center}
 .ticker{font-size:14px;padding:0 16px}.photo-result h3{font-size:24px;margin-top:16px}.style-notes li{font-size:13px;padding:8px 12px}
 footer{flex-direction:column;padding:20px max(20px,env(safe-area-inset-left)) calc(20px + env(safe-area-inset-bottom))}
}

/* Approved Fitting web-only direction. Native theme is unchanged. */
:root{--ink:#141414;--muted:#4D4A44;--line:#E8E3D9;--paper:#F1ECE2;--red:#9B3F36}body{background:#FDFBF7;font-family:Newsreader,Georgia,serif;font-size:19px}header{padding:0;height:100px;width:calc(100% - 96px)}.wordmark{font:400 28px/1 'Instrument Serif',Georgia,serif;letter-spacing:.22em;text-transform:uppercase}.header-note,.eyebrow,button,.button{font-family:Antonio,'Arial Narrow',sans-serif;font-weight:600;letter-spacing:.07em;text-transform:uppercase}.header-note{font-size:12px}.eyebrow{font-size:12px}.framed{border:1px solid var(--ink);padding:36px}.intro h1{font-family:'Instrument Serif',Georgia,serif;font-size:72px;letter-spacing:-.025em;line-height:1.02;margin:0;font-weight:400}.intro h1 em,h2 em,#photo-title em{font-family:'Instrument Serif',Georgia,serif}.lede{font-size:20px;color:var(--ink);max-width:none;line-height:1.45;margin:26px 0}main{max-width:1360px;width:calc(100% - 96px);padding:72px 0 96px;gap:112px;grid-template-columns:1fr 1fr}.intake{max-width:500px}.journey{list-style:none;margin:42px 0 0;padding:0}.journey li{display:flex;gap:22px;border-top:1px solid var(--line);padding:20px 0;color:var(--muted)}.journey li[aria-current]{color:var(--ink);border-top-color:var(--ink)}.journey li>span{font:400 30px/1 'Instrument Serif',Georgia,serif}.journey small{display:block;font-size:16px;margin-top:3px}h2,legend{font:400 48px/1.05 'Instrument Serif',Georgia,serif;letter-spacing:0}h3{font-family:'Instrument Serif',Georgia,serif}.helper{font-size:20px;line-height:1.4;margin:18px 0 28px}label{font-size:19px;font-weight:400}input,textarea,select{border-radius:0;background:transparent;font-size:19px;min-height:56px;padding:14px 16px}.hint{font-size:15px;line-height:1.45}.check{font-size:16px;line-height:1.45;margin:22px 0;gap:13px}.check input{width:19px;height:19px;min-height:19px}.actions{margin-top:24px}button,.button{border-radius:0;min-height:56px;font-size:14px;padding:18px 28px;background:var(--ink);color:#FDFBF7}button:hover,.button:hover{background:#302F2C}.secondary{background:transparent;color:var(--ink)}.secondary:hover{background:var(--paper)}#show-login{border:0;padding:10px 0;background:none;text-decoration:underline;min-height:44px;font-size:12px}.error{color:#9B3F36;background:transparent;border:1px solid #9B3F36;font-size:17px}.progress{margin-bottom:25px}.guide li,.guide li.good{background:transparent;color:var(--ink);border-radius:0;border-top:1px solid var(--line)}.guide li.good b{color:var(--ink)}.good .fig{fill:var(--muted)}.guide li b{color:var(--muted)}.guide{gap:16px}.guide li{font-size:13px}.tips{font-size:16px}.stage,.drop{border-radius:0}.drop{border-width:1px}.drop-cta{font-size:20px;font-weight:400}.drop-sub{font-size:14px}.drop:hover{background:var(--paper)}.stage *{animation:none!important}.beam,.grid,.burst,.flash{display:none!important}.stage[data-state=checking] #preview,.stage[data-state=ready] #preview{filter:brightness(.8);transform:none}.stage[data-state=fail] #preview{transform:none}.marker{backdrop-filter:none;-webkit-backdrop-filter:none}.ticker{font-size:16px}.style-notes li{border-radius:0;opacity:1;transform:none}.hint-chip{border-radius:0}.photo-result h3{font-size:30px}.handoff main{width:calc(100% - 40px);max-width:560px}.handoff #connection-title{font:400 48px/1.05 'Instrument Serif',Georgia,serif}.handoff #connection-note{font-size:18px}.handoff #status{font-size:17px}footer{width:calc(100% - 96px);padding:30px 0;font-size:16px}a:focus-visible,input:focus-visible,button:focus-visible{outline-color:#1F2E52}#preview{object-fit:contain}.stage{background:var(--paper)}
@media(max-width:1000px){main{gap:48px}.intro h1{font-size:56px}.framed{padding:25px}}
@media(max-width:800px){header{width:calc(100% - 40px);height:80px;padding:0}.wordmark{font-size:24px}.header-note{font-size:10px;max-width:120px;text-align:right}main{width:calc(100% - 40px);padding:36px 0 48px;grid-template-columns:1fr;gap:30px}.intro h1{font-size:48px;line-height:1.02;letter-spacing:-.025em}.intro h1 br{display:block}.lede{font-size:19px;margin:24px 0 0}.journey{display:flex;gap:12px;margin:25px 0 0}.journey li{flex:1;display:block;padding:13px 0;font-size:14px;line-height:1.3}.journey li>span{display:block;font-size:24px;margin-bottom:9px}.journey small{display:none}.intake{border:0;padding:0;max-width:none}.past-intro .intro{display:block}.past-intro .intro .framed,.past-intro .intro .eyebrow,.past-intro .intro .lede{display:none}.past-intro .journey{margin-top:0}.handoff .intro{display:none}.helper{font-size:19px}.check{font-size:15px;padding:0;margin:22px 0}input,textarea,select{font-size:18px}legend,#photo-title{font-size:38px}.hint{font-size:14px}.actions,#intake-form .actions,.photo-result .actions{position:static;background:none;margin:24px 0 0;padding:0}.guide li{font-size:12px}.tips{font-size:14px}.stage{max-width:360px}.drop-sub{font-size:13px}footer{width:calc(100% - 40px);padding:24px 0}.handoff #connection-title{font-size:40px}#show-login{font-size:12px}.handoff main{padding-top:40px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}
