@font-face{font-family:StefSerif;src:url('./assets/serif.ttf') format('truetype');font-display:swap}@font-face{font-family:StefSans;src:url('./assets/sans.ttf') format('truetype');font-display:swap}@font-face{font-family:StefSans;src:url('./assets/sans-bold.ttf') format('truetype');font-weight:700;font-display:swap}
:root{--paper:#f6f3ec;--ink:#29372f;--muted:#576356;--olive:#5e6b55;--wine:#793e49;--sand:#e9e1d2;--line:#c9cdbf;--white:#fffdf9;--serif:StefSerif,Georgia,serif;--sans:StefSans,Arial,sans-serif;color:var(--ink);background:var(--paper);font-family:var(--sans);font-size:18px;line-height:1.5}
*{box-sizing:border-box}body{margin:0}button,input,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:wait;opacity:.7}a{color:inherit}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,[tabindex='-1']:focus-visible{outline:3px solid var(--wine);outline-offset:5px}button{color:inherit}img{max-width:100%;display:block}[hidden]{display:none!important}.wrap{max-width:1440px;margin:auto;padding-inline:4.5vw}.skip{position:absolute;left:15px;top:-100px;z-index:10;background:white;padding:12px}.skip:focus{top:10px}.preview-bar{background:var(--ink);color:var(--paper);padding:8px 4.5vw;font-size:.78rem;display:flex;gap:10px;justify-content:space-between}.preview-bar span{opacity:.85}.header{display:flex;align-items:center;gap:28px;min-height:110px;border-bottom:1px solid var(--line)}.wordmark{font-family:var(--serif);font-size:3.8rem;line-height:1;text-decoration:none;letter-spacing:-.055em}.wordmark span{color:var(--wine)}.brand-caption{font-size:.72rem;font-weight:700;letter-spacing:.12em}.header .text-button{margin-left:auto}.text-button{background:none;border:0;border-bottom:1px solid transparent;padding:8px 0;font-size:.88rem;text-decoration:underline;text-underline-offset:5px}.text-button:hover{color:var(--wine)}.quiz-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.04fr);gap:6vw;align-items:start;padding-block:56px 70px}.eyebrow{font-size:.75rem;letter-spacing:.14em;font-weight:700;color:var(--wine);margin:0 0 16px}h1,h2,h3,p{margin-top:0}h1{font-family:var(--serif);font-size:clamp(2.4rem,3.8vw,3.5rem);font-weight:400;line-height:1.03;letter-spacing:-.03em;margin-bottom:20px}h1 em,.editorial-bottom em{font-weight:400;color:var(--olive)}.intro{font-size:1.05rem;max-width:32em;color:var(--muted);margin-bottom:28px}.steps{display:flex;gap:24px;margin:28px 0 24px;font-size:.8rem;color:var(--muted)}.steps span{padding-bottom:8px;border-bottom:2px solid var(--line)}.steps .active{color:var(--ink);border-color:var(--ink)}fieldset{border:0;padding:0;margin:0;min-width:0}legend{font-family:var(--serif);font-size:1.55rem;margin-bottom:16px;line-height:1.15}.choice{display:flex;align-items:center;gap:15px;position:relative;background:transparent;border:1px solid var(--line);padding:17px 18px;margin-bottom:12px;cursor:pointer;transition:background .15s,border-color .15s}.choice:hover{border-color:var(--olive);background:#eeede4}.choice:has(input:checked){background:var(--ink);border-color:var(--ink);color:var(--paper)}.choice:has(input:focus-visible){outline:3px solid var(--wine);outline-offset:4px}.choice input{position:absolute;opacity:0;width:1px;height:1px}.choice strong{display:block;font-size:1rem;font-weight:700}.choice small{display:block;font-size:.84rem;margin-top:3px;color:var(--muted)}.choice:has(input:checked) small{color:#deded0}.choice-mark{width:20px;height:20px;border:1px solid currentColor;border-radius:50%;margin-left:auto;flex-shrink:0}.choice:has(input:checked) .choice-mark{border:6px solid var(--paper);background:var(--ink)}.field-hint,.quiet{font-size:.8rem;color:var(--muted);margin:15px 0 0}.form-actions{display:flex;align-items:center;gap:20px;margin-top:24px}.button{display:inline-flex;justify-content:center;align-items:center;gap:30px;min-height:52px;background:var(--ink);color:var(--paper);border:1px solid var(--ink);padding:13px 23px;text-decoration:none;font-size:.96rem;font-weight:700;transition:background .15s}.button:hover{background:#40513f}.button.secondary{background:transparent;color:var(--ink)}.button.secondary:hover{background:var(--sand)}.error{color:#943342;font-weight:700;font-size:.85rem;margin-top:14px}.editorial{background:var(--sand);margin-top:7px}.editorial-top{display:flex;justify-content:space-between;gap:12px;padding:18px 22px;font-size:.65rem;letter-spacing:.08em;font-weight:700}.editorial img{width:100%;height:auto}.editorial-bottom{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;padding:28px 27px 16px}.editorial-bottom p{font-family:var(--serif);font-size:2.3rem;line-height:1;margin:0}.editorial-bottom span{font-size:.82rem;color:var(--muted)}.image-note{font-size:.69rem;color:var(--muted);padding:0 27px 22px;margin:0}.swatch-stack{display:flex;width:64px;height:46px;flex-shrink:0}.swatch-stack i{display:block;background:var(--swatch);width:25%;height:100%}.footer{border-top:1px solid var(--line);padding-top:28px;padding-bottom:35px;display:flex;gap:24px;flex-wrap:wrap;align-items:center;font-size:.82rem;color:var(--muted)}.small{font-size:2.6rem;color:var(--ink)}.footer .text-button{margin-left:auto}.footer #privacy{flex-basis:100%;max-width:800px}.footer #privacy p{margin-bottom:12px}.noscript{padding:24px;background:var(--sand)}
.stef-style{grid-column:1 / -1;border-top:1px solid var(--line);padding-top:52px;margin-top:4px}.style-intro{display:flex;justify-content:space-between;align-items:flex-end;gap:40px;margin-bottom:32px}.style-intro h2{font-family:var(--serif);font-size:clamp(2.3rem,3.8vw,3.3rem);font-weight:400;line-height:1.05;letter-spacing:-.03em;margin:0}.style-intro h2 em{color:var(--olive);font-weight:400}.style-intro>p{max-width:29em;color:var(--muted);font-size:.98rem;margin:0}.style-portraits{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.style-portrait{margin:0;min-width:0}.style-portrait img{width:100%;height:auto;aspect-ratio:2 / 3;background:var(--sand)}.style-portrait figcaption{padding-top:20px}.portrait-number{font-size:.7rem;letter-spacing:.12em;font-weight:700;color:var(--wine)}.style-portrait h3{font-family:var(--serif);font-size:1.65rem;line-height:1.15;font-weight:400;letter-spacing:-.02em;margin:10px 0}.style-portrait figcaption p{font-size:.88rem;color:var(--muted);margin:0;max-width:25em}.style-outro{display:flex;justify-content:space-between;align-items:center;gap:40px;margin-top:30px}.style-outro>p{font-size:.74rem;color:var(--muted);max-width:49em;margin:0}.style-outro>a{flex-shrink:0;max-width:100%}
.style-credit{font-size:.75rem;color:var(--muted);margin:16px 0 0}
@media(max-width:760px){.stef-style{padding-top:34px}.style-intro{display:block;margin-bottom:26px}.style-intro>p{margin-top:20px}.style-portraits{grid-template-columns:1fr;gap:34px;max-width:480px;margin-inline:auto}.style-portrait figcaption{padding-top:16px}.style-portrait h3{font-size:1.8rem}.style-outro{display:block;margin-top:28px}.style-outro>p{font-size:.78rem}.style-outro>a{display:inline-block;margin-top:16px}}
@media(min-width:1500px){.wrap{padding-inline:64px}.quiz-layout{gap:80px}}
@media(max-width:1000px){.quiz-layout{gap:4vw}.brand-caption{display:none}.editorial-top{font-size:.6rem;padding-inline:15px}.editorial-bottom{display:block}.editorial-bottom span{display:block;margin-top:15px}.choice{padding:15px 13px}.palette-choice{gap:10px}.swatch-stack{width:42px}.intro{font-size:1rem}}
@media(max-width:760px){:root{font-size:17px}.wrap{padding-inline:22px}.preview-bar{padding:8px 22px;font-size:.72rem}.preview-bar span{display:none}.header{min-height:84px;gap:15px}.wordmark{font-size:3rem}.header .text-button{font-size:.85rem}.quiz-layout{grid-template-columns:1fr;padding-top:32px;gap:42px}h1{font-size:2.7rem}.intro{margin-bottom:20px}.steps{margin-top:24px}.choice{padding:17px 16px}.editorial{max-width:600px;width:100%;margin:auto}.editorial-top{font-size:.65rem}.editorial-bottom{display:flex}.editorial-bottom p{font-size:2rem}.editorial-bottom span{margin:0;font-size:.78rem}.image-note{font-size:.72rem}.footer{gap:14px}.footer .text-button{margin-left:0}.footer>span:nth-child(2){flex:1}.quiet{font-size:.83rem}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
