@charset "UTF-8";

:root{
  --paper:#f8f5ef;--white:#fffdfa;--ink:#29251f;--muted:#716b61;
  --line:#e4ddd2;--orange:#ac401f;--bright:#cf4c25;--lime:#eadbb9;--soft:#f0ebe1;
  --serif:Georgia,"Times New Roman",serif;
  font-family:"Segoe UI",Arial,sans-serif;color:var(--ink);background:var(--paper);
  line-height:1.5;font-synthesis:none;-webkit-font-smoothing:antialiased;
}
*{box-sizing:border-box}body{margin:0}button,input{font:inherit}
button,a,label{touch-action:manipulation;-webkit-tap-highlight-color:transparent}
button{cursor:pointer;border:0}button:disabled{cursor:default}
a{color:inherit;text-underline-offset:4px}h1,h2,h3,p,figure{margin:0}
h1,h2,h3{line-height:1.15;overflow-wrap:break-word}h1,h2{letter-spacing:-.045em}
h1{font-size:clamp(2rem,3.1vw,2.75rem);font-weight:650}
h2{font-size:2rem;font-weight:600}h3{font-size:1.2rem}
img{display:block;width:100%;object-fit:cover}
fieldset{border:0;margin:0;padding:0;min-width:0}
button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid var(--orange);outline-offset:5px}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
#view-title:focus,.main:focus{outline:none}
.skip{position:fixed;top:0;left:20px;padding:12px;background:var(--ink);color:white;transform:translateY(-150%);z-index:10}
.skip:focus{transform:none}

/* Brand and page frame */
.site-header{max-width:1280px;margin:auto;display:flex;align-items:center;gap:28px;padding:26px 48px;border-bottom:1px solid var(--line)}
.wordmark{display:flex;align-items:center;gap:11px;font-size:1.5rem;font-weight:750;letter-spacing:-.065em;text-decoration:none}
.brand-mark{display:grid;place-items:center;width:37px;height:37px;border-radius:12px 12px 12px 3px;color:var(--white);background:var(--bright);font-size:1.2rem;letter-spacing:0;transform:rotate(-4deg)}
.brand-dot{color:var(--bright)}
.header-note{font-size:.8125rem;color:var(--muted);margin-left:auto}
.source-nav{display:flex;align-items:center;gap:22px;border:1px solid var(--line);border-radius:30px;padding:10px 17px;font-size:.8125rem;font-weight:600;text-decoration:none;transition:background .2s}
.source-nav:hover{background:var(--soft)}
.source-nav>span{color:var(--orange);font-size:1.125rem;line-height:1}
.main{max-width:1280px;padding:40px 48px 32px;margin:auto;min-height:550px;scroll-margin-top:24px}
.eyebrow{font-size:.6875rem;font-weight:700;letter-spacing:.13em;text-transform:uppercase;line-height:1.5}

/* Editorial cover */
.question-layout{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1fr);gap:64px;align-items:start}
.quiz-aside{min-width:0;position:sticky;top:24px}
.editorial-cover{position:relative;isolation:isolate;overflow:hidden;border-radius:22px;aspect-ratio:3/4;background:#211b15;color:#fff7e9}
.cover-image{position:absolute;inset:0;height:100%;object-position:center 58%;z-index:-2}
.editorial-cover:after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(17,13,9,.16),transparent 60%,rgba(17,13,9,.55))}
.aside-copy{padding:36px}
.cover-kicker{display:flex;align-items:center;gap:10px;font-size:.625rem;font-weight:600;letter-spacing:.15em;color:#e6d4b9}
.cover-kicker>span{font-size:1.4rem;line-height:1;color:#e9a977}
.aside-title{font-family:var(--serif);font-size:clamp(2.75rem,4.7vw,4.25rem);line-height:1.02;letter-spacing:-.06em;margin-top:24px}
.aside-title em{font-weight:400;color:#ecc398}
.aside-note{font-size:.9375rem;line-height:1.65;color:#e6d4b9;margin-top:18px}
.cover-bottom{position:absolute;bottom:23px;left:28px;right:24px;display:flex;justify-content:space-between;align-items:center;gap:12px}
.cover-chip{display:inline-flex;align-items:center;gap:12px;background:#f8f1e5;color:#433123;border-radius:30px;padding:8px 14px;font-size:.6875rem;font-weight:650;white-space:nowrap}
.photo-note{font-size:.5625rem;color:#fff2df;line-height:1.3;text-align:right}
.lineup{display:flex;align-items:center;gap:18px;padding:23px 4px}
.quiz-photos{display:flex;padding-left:3px;flex-shrink:0}
.quiz-photos img{width:39px;height:39px;border-radius:50%;border:3px solid var(--paper);margin-left:-3px}
.lineup p{font-size:.6875rem;line-height:1.6;color:var(--muted)}
.lineup strong{font-weight:600;color:var(--ink)}

/* Quiz progress and choices */
.question-panel{min-width:0;padding-top:6px}
.journey-heading{display:flex;justify-content:space-between;gap:16px;font-size:.625rem;letter-spacing:.12em;color:var(--muted);align-items:center}
.journey-heading strong{color:var(--ink);font-weight:700}
.journey-heading>span:last-child{font-size:.6875rem;letter-spacing:.035em;white-space:nowrap}
.progress{margin:14px 0 34px}
.progress ol{padding:0;margin:0;list-style:none;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px}
.progress button{display:block;width:100%;padding:0;text-align:left;background:none;color:var(--muted);font-size:.625rem;line-height:1.35;min-height:39px}
.step-line{height:3px;display:block;background:var(--line);margin-bottom:8px;border-radius:4px;transition:background .2s}
.step-label{display:block;font-size:.625rem;line-height:1.35}.mobile-step{display:none}
.current button{color:var(--orange);font-weight:700}.current .step-line{background:var(--bright)}.done .step-line{background:var(--ink)}
.question-heading>.eyebrow{color:var(--orange);margin-bottom:12px;display:flex;align-items:center;gap:8px}
.chapter{font-size:1rem;line-height:1}
.intro{font-size:.9375rem;line-height:1.65;color:var(--muted);margin-top:16px;max-width:480px}
.question-heading{margin-bottom:24px}.options{display:grid;gap:11px}
.option{display:flex;align-items:center;gap:15px;position:relative;background:var(--white);border:1px solid var(--line);border-radius:13px;padding:18px 19px;cursor:pointer;transition:background .18s,border-color .18s,box-shadow .18s,transform .18s}
.option:hover{border-color:#b9ac98;box-shadow:0 4px 16px #43312308;transform:translateY(-1px)}
.option.selected{border-color:var(--bright);background:#fff2e8;box-shadow:0 0 0 1px var(--bright)}
.option:has(input:focus-visible){outline:3px solid #ac401f;outline-offset:4px}
.option input{position:absolute;opacity:0;width:1px;height:1px;pointer-events:none}
.option-number{display:grid;place-items:center;flex:0 0 31px;height:31px;border:1px solid var(--line);border-radius:50%;color:var(--muted);font-size:.625rem;font-variant-numeric:tabular-nums;align-self:flex-start;margin-top:1px}
.selected .option-number{color:var(--orange);border-color:#dfbba4;background:#fff8f1}
.option-copy{flex:1;min-width:0}
.option-copy strong{font-size:1rem;line-height:1.35;display:block;font-weight:650;letter-spacing:-.012em}
.option-copy>span{display:block;font-size:.8125rem;color:var(--muted);margin-top:5px;line-height:1.55}
.choice-check{display:grid;place-items:center;flex:0 0 21px;height:21px;border:1px solid #cfc5b6;border-radius:50%;font-size:.6875rem;color:transparent}
.selected .choice-check{background:var(--bright);border-color:var(--bright);color:white}
.choice-feedback{font-size:.75rem;color:var(--muted);margin-top:18px;min-height:36px;line-height:1.6}
.question-actions{display:flex;justify-content:space-between;gap:15px;align-items:center;margin-top:10px;padding-top:20px;border-top:1px solid var(--line)}
.next-actions{display:flex;gap:18px;align-items:center}
.button{display:inline-flex;justify-content:center;align-items:center;gap:25px;min-height:48px;padding:14px 22px;border-radius:10px;font-size:.8125rem;font-weight:650;line-height:1.35;transition:background .18s,transform .18s}
.primary{background:var(--ink);color:#fffaf1}.primary:hover{background:var(--orange);transform:translateY(-1px)}
.primary:disabled{background:#e6dfd3;color:#787165;transform:none}
.button-arrow{font-size:1.125rem;font-weight:400;line-height:1}
.quiet{background:none;color:var(--muted);padding-left:0;padding-right:0}.quiet:hover{color:var(--ink)}.quiet:disabled{opacity:.4}
.quiz-footnote{display:flex;align-items:center;justify-content:flex-end;gap:6px;font-size:.625rem;color:var(--muted);margin-top:14px}
.quiz-footnote>span{font-size:1rem;color:var(--orange)}
.question-visuals{margin:0 0 22px;border:1px solid var(--line);padding:13px 15px;border-radius:12px;background:#f2ede3}
.question-visuals summary{font-size:.75rem;font-weight:600;cursor:pointer;color:#544b3e}
.visual-examples{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:14px}
.visual-examples.single{grid-template-columns:1fr;max-width:280px}
.visual-examples img{height:auto;aspect-ratio:3/2;border-radius:8px}
.visual-examples figcaption{font-size:.75rem;margin-top:6px;font-weight:600}
.question-visuals>p{font-size:.6875rem;color:var(--muted);margin-top:10px;line-height:1.5}

/* Results: food editorial and a practical ordering card */
[data-view="result"]{max-width:1120px;margin:auto}
.result-heading{margin:8px 0 32px;max-width:850px}
.result-kicker{display:flex;align-items:center;gap:22px;flex-wrap:wrap}
.result-kicker .eyebrow{display:flex;align-items:center;gap:8px;color:var(--orange)}
.result-kicker .eyebrow>span{font-size:1.125rem}
.completion-badge{font-size:.5625rem;letter-spacing:.08em;color:#506049;background:#e8ecdf;border:1px solid #dbe1cf;padding:5px 9px;border-radius:20px}
.result-heading h1{font-family:var(--serif);font-size:clamp(3rem,5.5vw,4.75rem);font-weight:400;letter-spacing:-.055em;margin:18px 0 18px}
.result-heading>p{font-size:1rem;color:var(--muted);max-width:760px;line-height:1.6}
.result-heading>.result-context{font-size:.8125rem;margin-top:10px;max-width:730px}
.matches{display:grid;gap:24px}
.match-card{display:grid;grid-template-columns:1.1fr 1fr;overflow:hidden;border-radius:22px;background:var(--white);border:1px solid var(--line);box-shadow:0 16px 40px #47352206}
.match-photo{position:relative;min-width:0;min-height:450px;background:#282018}
.match-photo img{height:100%;position:absolute;inset:0}
.match-photo figcaption{position:absolute;bottom:15px;left:16px;right:16px;font-size:.625rem;line-height:1.5;padding:6px 10px;background:#18130ddd;color:#fff8ec;border-radius:6px;width:fit-content}
.match-copy{padding:36px;min-width:0}.match-copy>.eyebrow{color:var(--orange)}
.match-copy h2{font-size:2.75rem;letter-spacing:-.055em;margin-top:16px;font-weight:700}
.type-name{font-family:var(--serif);font-size:1.5rem;line-height:1.2;margin-top:12px}
.english-name{color:var(--orange);font-size:.75rem;margin:8px 0 22px;font-weight:600}
.match-copy>p:not(.type-name):not(.english-name){color:var(--muted);font-size:.875rem;line-height:1.75}
.match-reasons{background:var(--soft);border-radius:10px;margin:23px 0;padding:17px 19px}
.match-reasons>.eyebrow{font-size:.5625rem;color:#5c533f}
.match-reasons ul{list-style:none;margin:9px 0 0;padding:0}
.match-reasons li{font-size:.8125rem;margin-top:6px;display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap}
.match-reasons li span{color:var(--orange);white-space:nowrap;font-size:.6875rem;font-weight:600}
.type-detail{margin-top:15px}
.inline-source{display:inline-block;font-size:.6875rem;color:#74624d;margin-top:15px;line-height:1.5}
.type-only{display:block}.joint{grid-template-columns:repeat(2,minmax(0,1fr))}
.joint .match-card{display:block}.joint .match-photo{height:270px;min-height:0}
.joint .match-copy{padding:28px}.joint .match-copy h2{font-size:2.25rem}
.conditions{padding:20px 24px;margin:24px 0;background:#ece8d8;border:1px solid #ddd6bb;border-radius:12px;font-size:.875rem}
.conditions ul{padding-left:20px;margin:10px 0 0;color:#625c47}.conditions li{margin-top:6px}
.open-result{padding:28px;border:1px solid var(--line);border-radius:18px;background:var(--white)}
.open-result h2{font-family:var(--serif);font-weight:400;margin-bottom:14px}
.open-result p{margin-bottom:20px;font-size:.9375rem;color:var(--muted)}
.candidate-list{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,180px),1fr));gap:12px}
.candidate-list li{padding:18px;background:var(--soft);border-radius:10px}
.candidate-list strong,.candidate-list span{display:block}
.candidate-list span{font-size:.8125rem;color:var(--muted);margin-top:5px}
.result-bottom{display:grid;grid-template-columns:1.15fr 1fr;gap:40px;margin-top:30px}
.order-card{padding:32px;background:#f1e6d4;border:1px solid #e5d6bd;border-radius:18px;position:relative}
.card-kicker{display:flex;justify-content:space-between;align-items:center;gap:12px}
.card-kicker .eyebrow{color:#805b36;font-size:.625rem}
.card-symbol{display:grid;place-items:center;border:1px solid #ba9570;border-radius:6px;transform:rotate(7deg);width:29px;height:29px;color:#805b36;font-size:.875rem}
.order-card h2,.table-guide h2{font-family:var(--serif);font-weight:400;letter-spacing:-.035em;line-height:1.12;font-size:2rem;margin:18px 0}
.order-card>p,.table-guide>p{font-size:.875rem;line-height:1.65;color:#6c6254}
.order-card ul{list-style:none;padding:0;margin:23px 0 0}
.order-card li{border-top:1px dashed #cfbea3;padding:17px 0}
.order-card li p{font-size:1.125rem;font-weight:650;line-height:1.55;word-break:keep-all}
.order-card li span{display:block;font-size:.8125rem;margin-top:6px;color:#71604b;line-height:1.6}
.order-option{border-top:1px dashed #cfbea3;margin-top:20px;padding-top:16px}
.order-option summary{cursor:pointer;font-weight:650;line-height:1.5}
.order-option-name{display:block;color:#71604b;font-weight:400;font-size:.8125rem;margin-top:4px}
.order-card .order-option ul{margin-top:12px}
.order-notes{padding:15px;border-left:2px solid var(--orange);background:#fff9ee;border-radius:3px;margin:12px 0}
.order-notes strong{font-size:.8125rem}.order-notes p{font-size:.8125rem;color:var(--muted);margin-top:9px}
.order-conditions{margin-top:23px}.order-conditions h3{font-size:1rem;line-height:1.4}
.table-guide{padding:28px 24px}.table-guide>.eyebrow{color:var(--orange);font-size:.625rem}
.table-guide ol{padding:0;margin:25px 0 0;list-style:none;counter-reset:bites}
.table-guide li{display:flex;gap:15px;align-items:flex-start;padding:15px 0;border-top:1px solid var(--line);font-size:.8125rem;color:var(--muted);line-height:1.6;counter-increment:bites}
.table-guide li:before{content:"0" counter(bites);font-size:.625rem;color:var(--orange);padding-top:3px}
.result-actions{display:flex;gap:28px;border-top:1px solid var(--line);margin-top:32px;padding-top:24px;align-items:center}
.logic-notes{margin:32px 0;border:1px solid var(--line);border-radius:12px;background:var(--white);padding:21px 24px}
.logic-notes summary,.food-notes summary{cursor:pointer;font-size:.8125rem;font-weight:600}
.logic-notes summary span[aria-hidden],.food-notes summary span[aria-hidden]{float:right}
.logic-notes>p{margin:18px 0;color:var(--muted);font-size:.875rem;line-height:1.75;max-width:900px}
.score-table-wrap{overflow-x:auto}.score-table{border-collapse:collapse;width:100%;font-size:.8125rem}
.score-table caption{text-align:left;font-weight:650;margin:10px 0}
.score-table th,.score-table td{padding:12px 10px;border-bottom:1px solid var(--line);text-align:center;min-width:88px}
.score-table th:first-child{text-align:left;min-width:110px}
.score-table .total{font-weight:750;background:var(--soft)}
.answer-audit{padding-left:22px;margin-top:24px}
.answer-audit li{margin:15px 0;padding-left:5px;font-size:.8125rem}
.answer-audit p{color:var(--muted);margin-top:4px}
.excluded{border-top:1px solid var(--line);padding-top:18px;font-size:.8125rem}.excluded ul{padding-left:20px}
.section-heading{display:flex;gap:24px;justify-content:space-between;align-items:end;margin:46px 0 24px}
.section-heading h2{font-family:var(--serif);font-weight:400;font-size:2.25rem}
.section-heading p{font-size:.8125rem;color:var(--muted);max-width:260px}
.type-list{border-top:1px solid #b6ab9b}
.type-row{display:grid;grid-template-columns:128px 220px minmax(0,1fr) 50px;gap:24px;padding:23px 0;border-bottom:1px solid var(--line);align-items:center}
.type-row .eyebrow{color:var(--orange);font-size:.5625rem}
.type-row h3{margin:7px 0;font-size:1.125rem}
.type-row-name{color:var(--muted);font-size:.75rem}
.type-row>div>p:not(.type-row-name){font-size:.8125rem;color:var(--muted);line-height:1.65}
.type-row .inline-source{margin-top:8px}
.comparison-photo img{height:auto;aspect-ratio:3/2;border-radius:10px}
.comparison-photo figcaption{font-size:.5625rem;color:var(--muted);margin-top:4px}
.rank-points{text-align:center;font-size:.6875rem;font-weight:600;white-space:nowrap;border:1px solid var(--line);border-radius:20px;padding:6px 3px;background:var(--white)}
.overlap-note{font-size:.75rem;color:var(--muted);margin-top:20px;max-width:800px;line-height:1.7}

/* Reference footer */
.site-footer{max-width:1184px;margin:18px auto 0;padding:27px 0 36px;border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 1fr;gap:64px}
.footer-brand{display:flex;gap:13px;align-items:flex-start}
.footer-mark{display:grid;place-items:center;flex:0 0 32px;height:32px;border:1px solid #c7bca9;border-radius:10px 10px 10px 3px;color:#8b785f;font-size:1rem}
.footer-brand strong{display:block;font-size:.8125rem;font-weight:600}
.footer-brand div>span{display:block;font-size:.6875rem;color:var(--muted);margin-top:4px}
.food-notes{padding-top:3px}.food-notes summary{color:#615747;font-size:.75rem}
.source-content{font-size:.8125rem;color:var(--muted);padding-top:16px;line-height:1.65}
.source-content ul{padding-left:18px}.source-content li{margin-bottom:17px}.source-content li p{margin-top:5px}
.source-meta{font-size:.6875rem}

@media(min-width:761px){
  .question-panel{animation:arrive .35s ease-out both}
  [data-view="result"]{animation:arrive .4s ease-out both}
}
@keyframes arrive{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:none}}
@media(max-width:1250px){
  .site-footer{margin-left:48px;margin-right:48px}.question-layout{gap:44px}
  .aside-copy{padding:30px}.aside-title{font-size:3.5rem}
  .lineup{gap:12px}.quiz-photos img{width:34px;height:34px}
}
@media(max-width:1050px){
  .site-header{padding:24px 32px}.main{padding:32px}.header-note{display:none}.source-nav{margin-left:auto}
  .question-layout{grid-template-columns:minmax(0,.8fr) minmax(0,1fr);gap:32px}
  .editorial-cover{aspect-ratio:auto;height:650px}
  .aside-copy{padding:27px}.aside-title{font-size:3.1rem}.aside-note{font-size:.8125rem}
  .cover-kicker{font-size:.5625rem;letter-spacing:.08em}.cover-kicker>span{font-size:1.125rem}
  .cover-bottom{left:22px;right:22px;flex-wrap:wrap;gap:8px}.photo-note{font-size:.5625rem}
  .lineup{flex-wrap:wrap;gap:8px}.lineup p br{display:none}.lineup strong{margin-left:4px}
  .progress{margin-bottom:24px}.progress ol{gap:5px}.step-label{font-size:.5625rem}
  .option{padding:16px;gap:12px}.option-number{flex-basis:27px;height:27px}
  .site-footer{margin-left:32px;margin-right:32px;gap:32px}
  .next-actions:has(#update-result){flex-direction:column-reverse;align-items:end;gap:5px}
  #update-result{padding:5px 0;min-height:35px}
  .match-copy{padding:27px}.match-copy h2{font-size:2.35rem}
  .type-row{grid-template-columns:105px 175px minmax(0,1fr) 48px;gap:20px}
}
@media(max-width:760px){
  .site-header{padding:19px 22px;gap:18px}.wordmark{font-size:1.4rem}
  .brand-mark{width:32px;height:32px;font-size:1.125rem;border-radius:10px 10px 10px 3px}
  .source-nav{font-size:.6875rem;gap:13px;padding:8px 12px}
  .main{padding:24px 22px;scroll-margin-top:16px}
  .question-layout{display:block}.quiz-aside{position:static;margin-bottom:30px}
  .editorial-cover{height:218px;aspect-ratio:auto;border-radius:16px}
  .cover-image{object-position:center 66%}
  .editorial-cover:after{background:linear-gradient(90deg,rgba(20,14,8,.8),rgba(20,14,8,.2) 70%)}
  .aside-copy{padding:22px 24px}.cover-kicker{font-size:.5rem;letter-spacing:.1em}
  .aside-title{font-size:2.8rem;margin-top:16px;line-height:.98}.aside-note{display:none}
  .cover-bottom{left:24px;right:16px;bottom:17px;flex-wrap:nowrap}
  .cover-chip{padding:5px 10px;font-size:.5625rem;gap:8px}
  .photo-note{font-size:.5rem;max-width:76px}.lineup{display:none}
  [data-step]:not([data-step="0"])>.question-layout>.quiz-aside{display:none}
  .question-panel{padding-top:0}.journey-heading{font-size:.5625rem}
  .progress{margin:12px 0 25px}.progress button{min-height:32px}
  .step-label{display:none}.mobile-step{display:block;font-size:.625rem}.step-line{margin-bottom:6px}
  h1{font-size:2.1rem;letter-spacing:-.04em}.question-heading{margin-bottom:23px}
  .question-heading>.eyebrow{font-size:.625rem;margin-bottom:12px}
  .intro{font-size:.875rem;line-height:1.65;margin-top:14px}
  .option{padding:17px 16px;gap:13px}.option-copy strong{font-size:.9375rem}.option-copy>span{font-size:.8125rem}
  .option-number{font-size:.5625rem;flex-basis:28px;height:28px}.choice-check{flex-basis:21px;height:21px}
  .choice-feedback{font-size:.75rem;margin-top:18px;min-height:34px}
  .question-actions{padding-top:18px;margin-top:7px}
  .button{font-size:.8125rem;padding:14px 20px}.quiet{padding-left:0;padding-right:0}
  .quiz-footnote{font-size:.5625rem;margin-top:10px}
  .visual-examples{gap:10px}.visual-examples figcaption{font-size:.6875rem}
  .site-footer{display:block;margin:12px 22px 0;padding:25px 0 28px}
  .food-notes{margin-top:23px;padding-top:19px;border-top:1px solid var(--line)}
  .result-heading{margin-top:3px}.result-heading h1{font-size:3rem;margin-top:17px}.result-heading>p{font-size:.875rem}
  .result-heading>.result-context{font-size:.75rem}.result-kicker{gap:12px}
  .result-kicker .eyebrow{font-size:.5625rem}.completion-badge{font-size:.5rem}
  .match-card{display:block;border-radius:17px}.match-photo{height:300px;min-height:0}
  .match-copy{padding:26px}.match-copy h2{font-size:2.4rem}.type-name{font-size:1.4rem}
  .joint{grid-template-columns:1fr}.joint .match-photo{height:260px}
  .result-bottom{grid-template-columns:1fr;gap:10px;margin-top:24px}
  .order-card{padding:25px}.table-guide{padding:27px 4px}
  .order-card h2,.table-guide h2{font-size:1.9rem}
  .result-actions{gap:20px;margin-top:12px;padding-top:22px}
  .logic-notes{padding:19px;margin:27px 0}.logic-notes summary{font-size:.75rem}
  .section-heading{display:block;margin-top:35px}.section-heading h2{font-size:2rem}
  .section-heading p{margin-top:9px;max-width:none}
  .type-row{grid-template-columns:90px minmax(0,1fr) 43px;gap:13px;align-items:start}
  .type-row>.comparison-photo{grid-column:1;grid-row:1}
  .type-row>div:nth-child(2){grid-column:2;grid-row:1}
  .type-row>div:nth-child(3){grid-column:1/-1;grid-row:2}
  .type-row h3{font-size:1rem}.type-row-name{font-size:.6875rem}.type-row .eyebrow{font-size:.5rem}
  .rank-points{grid-column:3;grid-row:1;font-size:.625rem}.comparison-photo figcaption{font-size:.5rem}
  .conditions{padding:18px 20px;font-size:.8125rem}
  .open-result{padding:24px}.open-result h2{font-size:1.8rem}
}
@media(max-width:380px){
  .site-header{padding:17px 16px;gap:12px}.wordmark{font-size:1.2rem;gap:8px}
  .brand-mark{width:29px;height:29px;font-size:1rem}
  .source-nav{font-size:.625rem;padding:7px 10px;gap:8px}.source-nav>span{font-size:1rem}
  .main{padding:20px 16px}.editorial-cover{height:200px}
  .aside-copy{padding:20px}.aside-title{font-size:2.5rem}.cover-bottom{left:20px;bottom:14px}
  .journey-heading{font-size:.5rem}.journey-heading>span:last-child{font-size:.625rem}
  h1{font-size:1.85rem}.option{padding:16px 14px;gap:10px}.option-number{display:none}
  .button{font-size:.75rem;padding:13px 17px}.quiet{padding-left:0;padding-right:0}.next-actions{gap:12px}
  .site-footer{margin-left:16px;margin-right:16px}.match-photo{height:255px}
  .match-copy{padding:23px}.match-copy h2{font-size:2.1rem}
  .result-heading h1{font-size:2.75rem}.result-kicker{gap:10px}.completion-badge{font-size:.4375rem}
  .result-actions{gap:18px}.result-actions .button{padding-left:14px;padding-right:14px}
  .result-actions .quiet{padding-left:0;padding-right:0}
  .type-row{grid-template-columns:75px minmax(0,1fr) 39px;gap:10px}
  .type-row h3{font-size:.9375rem}.order-card{padding:22px}
}
@media(prefers-reduced-motion:reduce){
  *,*:before,*:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}
}
@media print{
  .site-header,.site-footer,.progress,.result-actions,.match-photo,.logic-notes{display:none}
  .main{padding:0}.match-card{color:black;background:white;border:1px solid #aaa;display:block}
  .match-copy,.type-only .match-copy{display:block}.result-bottom{gap:20px}
  .match-card,.order-card,.table-guide,.type-row{break-inside:avoid}
}

/* Bilingual controls and a consistent family of small, functional icons. */
:root{--sage:#526547;--sage-soft:#eaf0e3;--orange:#a44227;--bright:#c74b2b}
.ui-icon{width:18px;height:18px;display:inline-block;vertical-align:middle;flex:none}
.source-nav{gap:9px;padding:10px 14px;white-space:nowrap}
.source-nav>span[data-i18n]{font-size:inherit;color:var(--ink)}
.source-nav [data-icon]{display:flex;color:var(--sage)}
.source-nav .ui-icon{width:16px;height:16px}
.language-switch{display:flex;align-items:center;flex-shrink:0;gap:3px;padding:4px;border:1px solid #d9d9cd;border-radius:24px;background:#efeee5}
.language-switch button{background:transparent;border-radius:20px;padding:7px 12px;min-height:32px;color:#6a6d5e;font-size:.6875rem;font-weight:650;line-height:1.3;white-space:nowrap;transition:background .18s,color .18s,box-shadow .18s}
.language-switch button[aria-pressed="true"]{background:var(--sage);color:#fffdf5;box-shadow:0 2px 5px #28362118}
.language-switch button:hover:not([aria-pressed="true"]){background:#e1e4d5;color:#344a2b}
.site-header{gap:20px}
.header-note{font-size:.75rem}
.cover-kicker>.ui-icon{color:#d6dabb;width:20px;height:20px}
.question-icon{display:grid;place-items:center;width:30px;height:30px;border:1px solid #d7dfc9;border-radius:9px;background:var(--sage-soft);color:var(--sage)}
.question-icon .ui-icon{width:18px;height:18px}
.done .step-line{background:var(--sage)}
.selected .option-number{background:var(--sage-soft);border-color:#c6d1ba;color:#48613c}
.choice-check .ui-icon{width:13px;height:13px;stroke-width:2.4}
.button .ui-icon{width:17px;height:17px}
.button.quiet{gap:8px}
.quiz-footnote .ui-icon{width:14px;height:14px;color:var(--sage)}
.inline-source .ui-icon,.source-content a .ui-icon{width:12px;height:12px;margin-left:4px}
.lineup{display:grid;grid-template-columns:86px 1fr;gap:16px;margin-top:16px;padding:15px 19px;background:#eff0e6;border:1px solid #dfe3d4;border-radius:16px}
.ssam-detail{object-fit:contain;aspect-ratio:1;width:86px;height:86px}
.lineup-copy p{font-size:.6875rem}
.lineup-copy p br{display:none}
.lineup-copy strong{display:block;color:var(--sage);font-size:.8125rem;margin:1px 0 7px;font-weight:650}
.lineup .quiz-photos img{width:29px;height:29px;border-color:#eff0e6}
.table-guide>.ssam-detail{width:93px;height:93px;float:right;margin:-5px 0 10px 14px;transform:rotate(7deg)}
.table-guide>p,.table-guide>ol{clear:both}
.table-guide>.eyebrow{display:block;padding-top:2px}
.table-guide .ui-icon{color:var(--sage)}
.card-symbol{border-color:#c4b391;background:#f8efdc;transform:rotate(4deg)}
.card-symbol .ui-icon{width:18px;height:18px}
.match-reasons{background:#eef1e7;border:1px solid #e1e6d7}
.match-reasons>.eyebrow{display:flex;align-items:center;gap:6px;color:var(--sage)}
.match-reasons>.eyebrow .ui-icon{width:12px;height:12px}
.completion-badge{display:inline-flex;align-items:center;gap:4px;background:var(--sage-soft);color:#465a3b}
.completion-badge .ui-icon{width:11px;height:11px}
.result-kicker>.eyebrow>.ui-icon{color:var(--sage)}
.rank-points{border-color:#d9dfcf;color:var(--sage);background:#f2f5ec}
html[lang="ko"]{font-family:"Segoe UI","Malgun Gothic","Apple SD Gothic Neo",sans-serif;word-break:keep-all;overflow-wrap:break-word}
html[lang="ko"] .eyebrow,html[lang="ko"] .journey-heading{letter-spacing:.055em}
html[lang="ko"] .aside-title{font-family:"Malgun Gothic","Apple SD Gothic Neo",sans-serif;font-size:clamp(2.6rem,4vw,3.55rem);font-weight:650;line-height:1.3;letter-spacing:-.075em}
html[lang="ko"] .aside-title em{font-style:normal;font-weight:650}
html[lang="ko"] .question-heading h1{line-height:1.35;font-size:clamp(1.9rem,2.8vw,2.4rem)}
html[lang="ko"] .result-heading h1{font-family:inherit;font-size:clamp(2.25rem,4.4vw,3.65rem);font-weight:650;line-height:1.3}
html[lang="ko"] .order-card h2,html[lang="ko"] .table-guide h2,html[lang="ko"] .section-heading h2,html[lang="ko"] .open-result h2{font-family:inherit;font-size:1.7rem;font-weight:600;line-height:1.45;letter-spacing:-.06em}
html[lang="ko"] .type-name{display:none}
html[lang="ko"] .english-name{margin-top:12px}
html[lang="ko"] .option-copy>span,html[lang="ko"] .intro{line-height:1.75}
@media(max-width:1150px){.header-note{display:none}.source-nav{margin-left:auto}}
@media(max-width:1050px){
  .lineup{grid-template-columns:68px 1fr;gap:12px;padding:12px}
  .lineup .ssam-detail{width:68px;height:68px}.lineup strong{margin-left:0}
  .table-guide>.ssam-detail{width:76px;height:76px}
  html[lang="ko"] .aside-title{font-size:2.5rem}
}
@media(max-width:760px){
  .site-header{gap:12px}.language-switch{margin-left:auto}
  .source-nav{display:none}
  .language-switch button{padding:7px 10px;min-height:32px}
  .lineup{display:none}
  .question-icon{width:28px;height:28px;border-radius:8px}
  .question-icon .ui-icon{width:16px;height:16px}
  .table-guide>.ssam-detail{width:80px;height:80px;margin-top:0}
  html[lang="ko"] .aside-title{font-size:2.25rem;margin-top:13px;line-height:1.25}
  html[lang="ko"] .question-heading h1{font-size:1.9rem}
  html[lang="ko"] .result-heading h1{font-size:2.4rem}
  html[lang="ko"] .table-guide h2,html[lang="ko"] .order-card h2{font-size:1.6rem}
}
@media(max-width:380px){
  .language-switch{padding:3px;gap:2px}
  .language-switch button{font-size:.625rem;padding:7px 9px}
  html[lang="ko"] .aside-title{font-size:2rem}
  html[lang="ko"] .question-heading h1{font-size:1.7rem}
  html[lang="ko"] .result-heading h1{font-size:2.1rem}
  .table-guide>.ssam-detail{width:65px;height:65px;margin-left:8px}
}
@media print{.ssam-detail{display:none}}
