/* Product routes share the approved App vocabulary. Editorial pages keep their own theme. */
@font-face{font-family:Geist;src:url('/site/fonts/product/Geist_400Regular.ttf') format('truetype');font-weight:400;font-display:swap}
@font-face{font-family:Geist;src:url('/site/fonts/product/Geist_500Medium.ttf') format('truetype');font-weight:500;font-display:swap}
@font-face{font-family:Geist;src:url('/site/fonts/product/Geist_600SemiBold.ttf') format('truetype');font-weight:600 900;font-display:swap}
@font-face{font-family:Fraunces;src:url('/site/fonts/product/Fraunces_400Regular.ttf') format('truetype');font-weight:400;font-display:swap}
@font-face{font-family:Fraunces;src:url('/site/fonts/product/Fraunces_600SemiBold.ttf') format('truetype');font-weight:600 900;font-display:swap}
@font-face{font-family:Fraunces;src:url('/site/fonts/product/Fraunces_400Regular_Italic.ttf') format('truetype');font-style:italic;font-display:swap}
html:has(body[data-product-experience]){background:#0d1111!important;color-scheme:dark!important}
body[data-product-experience]{--product-bg:#0d1111;--product-surface:#151b1b;--product-text:#f5f7f7;--product-quiet:#b9c4c1;--product-gold:#e5c185;--product-border:#263232;--product-cream:#eee7d8;--product-premise:#e1d4b8;--product-ink:#292d25;--sos-bg:#0d1111;--sos-canvas:#0d1111;--sos-ink:#f5f7f7;--sos-dim:#b9c4c1;--sos-meta:#b9c4c1;--sos-gold:#e5c185;--sos-border:#263232;--sos-display:Fraunces,Georgia,serif;--sos-serif:Fraunces,Georgia,serif;--sos-sans:Geist,Arial,sans-serif;background:var(--product-bg)!important;color:var(--product-text)!important;font-family:var(--sos-sans)!important;caret-color:var(--product-gold);scrollbar-color:#52615b #0d1111}
body[data-product-experience] *{box-sizing:border-box}
body[data-product-experience] ::selection{background:#e5c185;color:#0d1111}
body[data-product-experience] :focus-visible{outline:2px solid #e5c185;outline-offset:5px}
body[data-product-experience] a{color:var(--product-gold);text-underline-offset:4px}
body[data-product-experience] .sos-shell{background:#0d1111;border-color:var(--product-border)}
body[data-product-experience] .sos-shell-brand,body[data-product-experience] .sos-shell-link,body[data-product-experience] .sos-shell-btn{color:var(--product-text)}
body[data-product-experience] .sos-shell-brand img{filter:none}
body[data-product-experience] .sos-shell-ask{background:var(--product-cream);color:var(--product-bg);border-color:var(--product-cream);border-radius:12px}
body[data-product-experience] .sos-overlay{background:var(--product-bg);color:var(--product-text)}
body[data-product-experience] .sos-footer{background:var(--product-bg);color:var(--product-text)}
body[data-product-experience] :is(.assessment,.general-account,.general-mirror){--ink:#f5f7f7;--quiet:#b9c4c1;--assessment-accent:#e5c185;--account-paper:#151b1b;--account-ink:#f5f7f7;--account-quiet:#b9c4c1;--account-line:#263232;--account-accent:#e5c185;--account-error:#df9c91;--mirror-ink:#f5f7f7;--mirror-quiet:#b9c4c1;--mirror-line:#263232;--mirror-accent:#e5c185;--mirror-paper:#151b1b;--mirror-error:#df9c91;width:100%;max-width:760px;margin:auto;padding:48px 28px 80px;color:var(--product-text);font:400 18px/1.65 var(--sos-sans);overflow-wrap:anywhere}
body[data-product-experience] :is(.assessment,.general-account,.general-mirror) :is(h1,h2,h3){font-family:var(--sos-display);color:inherit;letter-spacing:-.02em;font-weight:400}
body[data-product-experience] :is(.assessment,.general-account,.general-mirror) h1{font-size:clamp(36px,5vw,52px);line-height:1.15}
body[data-product-experience] :is(.assessment,.general-account,.general-mirror) h2{font-size:28px;line-height:1.25}
body[data-product-experience] :is(.assessment,.general-account,.general-mirror) :is(button,input,textarea){font-family:var(--sos-sans)}
body[data-product-experience] .assessment-nav{align-items:center;font-size:14px;gap:24px;margin-bottom:40px}
body[data-product-experience] .assessment :is(button,.button),body[data-product-experience] .general-account__action,body[data-product-experience] .general-mirror__button{min-height:50px;border:1px solid var(--product-cream);border-radius:12px;background:var(--product-cream);color:var(--product-bg)!important;font:500 17px/1.4 var(--sos-sans);padding:13px 22px;text-align:center;white-space:normal}
body[data-product-experience] .assessment button.secondary,body[data-product-experience] .general-account__action--quiet,body[data-product-experience] .general-mirror__button--quiet{color:var(--product-gold)!important;background:transparent;border-color:var(--product-border)}
body[data-product-experience] .assessment :is(button,.button){min-height:52px;border-color:#f3e7ce;border-radius:14px;background:#f3e7ce;font:500 16px/1.375 var(--sos-sans);padding:13px 18px}
body[data-product-experience] .assessment button.secondary{min-height:44px;background:transparent;border-color:transparent;padding:8px 0}
body[data-product-experience] :is(button,.button):not(:disabled):hover{filter:brightness(.94)}
body[data-product-experience] button:disabled{opacity:.45;cursor:not-allowed}
body[data-product-experience] .assessment :is(.muted,small){color:#f5f7f7;font-size:14px;line-height:1.55}
body[data-product-experience] :is(.general-account__quiet,.general-mirror__quiet){color:var(--product-quiet);font-size:14px;line-height:1.55}
body[data-product-experience] .test-intro{text-align:center;margin:10px 0 20px}
body[data-product-experience] .test-intro__hero{margin-top:10px}
body[data-product-experience] .test-intro__artwork{display:block;width:70px;height:70px;margin:0 auto;object-fit:contain}
body[data-product-experience] .test-intro h1{max-width:17ch;margin:12px auto 0;font-size:29px;line-height:34px}
body[data-product-experience] .test-intro__facts{margin:18px 0 20px}
body[data-product-experience] .test-intro__facts strong{display:block;font:600 14px/20px var(--sos-sans)}
body[data-product-experience] .test-intro__facts .muted{display:block;margin-top:4px;font-size:12px;line-height:18px}
body[data-product-experience] .test-intro strong{color:var(--product-gold)}
body[data-product-experience] .test-journey section{display:flex;align-items:flex-start;gap:14px;padding:15px 0;border-top:1px solid var(--product-border)}
body[data-product-experience] .test-journey section:last-child{border-bottom:1px solid var(--product-border)}
body[data-product-experience] .test-journey__artwork{width:44px;height:44px;flex:none;object-fit:contain}
body[data-product-experience] .test-journey__copy{flex:1;min-width:0;text-align:left}
body[data-product-experience] .test-journey h2{font:500 15px/21px var(--sos-sans);margin:0}
body[data-product-experience] .test-journey p{margin:5px 0 0;font-size:13px;line-height:19px}
body[data-product-experience] .test-journey .journey-timing{color:var(--product-gold);font:500 10px/16px var(--sos-sans);letter-spacing:.07em;margin-top:6px;text-transform:uppercase}
body[data-product-experience] .assessment .progress-label{font-size:14px;font-variant-numeric:tabular-nums}
body[data-product-experience] .assessment progress{appearance:none;border:0;height:3px;background:var(--product-border);border-radius:2px;margin:14px 0 28px;overflow:hidden}
body[data-product-experience] .assessment progress::-webkit-progress-bar{background:var(--product-border)}
body[data-product-experience] .assessment progress::-webkit-progress-value{background:var(--product-gold)}
body[data-product-experience] .assessment progress::-moz-progress-bar{background:var(--product-gold)}
body[data-product-experience] .assessment .question-context{margin:0 0 24px;padding:14px 16px;border:0;border-radius:12px;background:var(--product-cream);color:#2a322b}
body[data-product-experience] .question-context summary{font:500 14px/21px var(--sos-sans);min-height:44px;list-style:none;display:flex;justify-content:space-between;gap:16px;align-items:center}
body[data-product-experience] .question-context summary::-webkit-details-marker{display:none}
body[data-product-experience] .question-context summary::after{content:'+';font-size:25px;font-weight:400;line-height:1}
body[data-product-experience] .question-context[open] summary::after{content:'−'}
body[data-product-experience] .question-context:not([open]) .when-open,body[data-product-experience] .question-context[open] .when-closed{display:none}
body[data-product-experience] .question-context p{margin:12px 0 0;font-size:16px;line-height:25px}
body[data-product-experience] .assessment .question-premise{background:var(--product-premise);color:#2a322b;padding:18px 16px;border-radius:12px;margin:0 0 24px}
body[data-product-experience] .assessment .question-premise h2{font:500 15px/22px var(--sos-sans);margin:0 0 10px}
body[data-product-experience] .assessment .question-premise p{margin:0 0 18px}
body[data-product-experience] .assessment .question-premise p:last-child{margin:0}
body[data-product-experience] .assessment .question-reminder{background:var(--product-cream);color:#2a322b;padding:14px 16px;border-radius:12px;margin:0 0 18px;font-size:16px;line-height:25px}
body[data-product-experience] .assessment legend{font:500 23px/30px var(--sos-sans);margin-bottom:12px}
body[data-product-experience] .assessment .choice{min-height:58px;border:1px solid var(--product-border);border-radius:14px;background:var(--product-surface);color:var(--product-text);padding:15px;font:400 16px/23px var(--sos-sans);gap:13px}
body[data-product-experience] .assessment .choice:has(input:checked){border:1px solid var(--product-gold);background:#252d2a;padding:15px}
body[data-product-experience] .assessment .choice.exit{font-size:15px;background:transparent;color:var(--product-quiet)}
body[data-product-experience] .assessment .choice input{width:20px;height:20px;accent-color:var(--product-gold);margin:1px 0 0;flex:none}
body[data-product-experience] .assessment .actions{gap:16px;flex-wrap:wrap}
body[data-product-experience] .assessment .hook{font:400 25px/1.45 var(--sos-display)}
body[data-product-experience] .assessment :is(.assessment-followup,.report-section,details){border-color:var(--product-border)}
body[data-product-experience] .assessment .report-section{border-top:1px solid var(--product-border);margin-top:0;padding-top:22px}
body[data-product-experience] .assessment .report-section h2{font-size:26px;line-height:31px;margin:0 0 12px}
body[data-product-experience] .assessment .next-question{margin-top:20px;padding:22px;border:0;border-radius:16px;background:#252d2a}
body[data-product-experience] .assessment .next-question h2{color:var(--product-gold);font:500 11px/16px var(--sos-sans);letter-spacing:.14em;margin:0 0 10px;text-transform:uppercase}
body[data-product-experience] .assessment .next-question p{font:400 22px/28px var(--sos-display);margin:0}
body[data-product-experience] .assessment .eyebrow{color:var(--product-gold)!important}
body[data-product-experience] :is(.general-account,.general-mirror) :is(input[type=email],input[type=text],input[type=password],textarea){border:1px solid #52615b;border-radius:12px;background:var(--product-surface);color:var(--product-text);font-size:17px;max-width:100%}
body[data-product-experience] input::placeholder,body[data-product-experience] textarea::placeholder{color:var(--product-quiet);opacity:1}
body[data-product-experience] :is(.general-account__message,.general-account__inline-confirm,.general-mirror__notice,.general-mirror__message){border:1px solid var(--product-border);border-radius:12px;background:var(--product-surface);color:var(--product-text)}
body[data-product-experience] :is(.assessment .error,.general-account__message--error,.general-mirror__message--error){border:1px solid #df9c91;border-radius:12px;background:#291e1c;color:#f1bcb3;padding:16px}
body[data-product-experience] .general-account__action--danger{color:#df9c91!important}
body[data-product-experience] .general-account__action--danger-fill{background:#df9c91;border-color:#df9c91;color:#0d1111!important}
body[data-product-experience] .general-account__report strong{font-family:var(--sos-display)}
body[data-product-experience] .general-mirror__answers li{border-color:var(--product-border)}
@media(max-width:600px){body[data-product-experience] :is(.assessment,.general-account,.general-mirror){padding:28px 20px 56px;font-size:17px}body[data-product-experience] .assessment-nav{font-size:13px;margin-bottom:28px}body[data-product-experience] .assessment legend,body[data-product-experience] .general-mirror legend{font-size:23px}body[data-product-experience] .assessment :is(.question-context,.question-premise){padding:20px}body[data-product-experience] .assessment .actions>*{flex:1;min-width:0}body[data-product-experience] .test-journey h2{font-size:21px}}
@media print{body[data-product-experience]{background:white!important;color:#111!important}body[data-product-experience] .assessment{color:#111;max-width:none;padding:0}body[data-product-experience] .assessment :is(.muted,.subtype,.eyebrow){color:#444!important}body[data-product-experience] :is(.sos-shell,.sos-footer){display:none}}
body[data-product-experience]{--sos-ui:Geist,Arial,sans-serif;--sos-muted:#b9c4c1}
body[data-product-experience] .sos-site-footer{background:#0d1111;border-top:1px solid #263232;font-family:var(--sos-sans)}
body[data-product-experience] .sos-shell .sos-shell-ask{color:#0d1111!important}
body[data-product-experience] .general-mirror__clear{min-height:44px;padding:8px 0;background:transparent;border:0;color:var(--product-gold);font:400 14px/1.5 var(--sos-sans);text-decoration:underline;text-underline-offset:4px;cursor:pointer}
body[data-product-experience] .cast-reading .cast-fine{color:#55584f}
body[data-product-experience] .cast-reading a{color:#725a31}
body[data-product-experience] .question-context :focus-visible{outline-color:#725a31}
html:has(body[data-product-experience]){scroll-behavior:auto}
body[data-product-experience] .sos-shell{background:#0d1111!important;border-color:#263232!important}
body[data-product-experience] .sos-shell .sos-shell-ask{background:var(--product-cream)!important;border:1px solid var(--product-cream)!important;border-radius:12px!important;color:#0d1111!important}
body[data-product-experience] .sos-shell-download{color:var(--product-gold)!important;border-color:var(--product-border)!important;border-radius:12px}
body[data-product-experience] :is(h1,h2,legend)[tabindex="-1"]:focus{outline:none}
