/* Question-first decision tree. Loaded after the base component sheet. */
.answer-head { border:0; background:var(--red); color:#fff; }
.answer-inner { min-height:76px; }
.answer-brand i { background:var(--yellow); color:var(--ink); }
.answer-brand small { color:#ffe8e2; }
.answer-inner nav a:hover { color:var(--yellow); }
.answer-hero { width:100%; min-height:580px; margin:0; padding:0; display:grid; grid-template-columns:minmax(0,1.2fr) minmax(380px,.8fr); gap:0; align-items:stretch; background:var(--yellow); }
.question-panel { position:relative; padding:78px max(34px,calc((100vw - 1200px)/2 + 18px)) 72px; overflow:hidden; }
.question-mark { position:absolute; right:2vw; top:-95px; color:rgba(232,92,74,.15); font:bold 390px/1 Arial; }
.question-panel .eyebrow,.question-panel h1,.question-panel > p,.question-panel > a { position:relative; }
.question-panel h1 { max-width:800px; margin:0; font-size:clamp(46px,5vw,72px); line-height:1.08; }
.question-panel > p:not(.eyebrow) { max-width:680px; margin:24px 0 30px; color:#5c5137; font-size:16px; }
.answer-visual { position:relative; margin:0; min-height:580px; background:var(--ink); overflow:hidden; }
.answer-visual img { width:100%; height:100%; object-fit:cover; filter:contrast(1.25) saturate(.85); }
.answer-visual figcaption { position:absolute; inset:auto 30px 30px; padding:20px; background:var(--paper); display:grid; grid-template-columns:1fr 76px; gap:4px 16px; border-left:8px solid var(--red); }
.answer-visual figcaption b { font-size:13px; }
.answer-visual figcaption strong { grid-row:1/3; grid-column:2; font:58px/1 Arial; color:var(--red); }
.answer-visual figcaption span { font-size:11px; color:var(--muted); }
.answer-ribbon { padding:0 max(20px,calc((100vw - 1180px)/2)); background:var(--ink); }
.answer-ribbon .question-links { display:grid; grid-template-columns:repeat(4,1fr); border:0; }
.answer-ribbon .question-links a { min-height:160px; padding:28px 26px; border:0; border-right:1px solid #465159; color:#fff; }
.answer-ribbon .question-links a:last-child { border-right:0; }
.answer-ribbon .question-links a::after { content:"↗"; right:24px; top:auto; bottom:23px; color:var(--yellow); }
.answer-ribbon .question-links a:hover { background:#333e45; color:#fff; }
.answer-ribbon .question-links small { color:#bdc8ca; }
.decision-area { width:min(1180px,calc(100% - 40px)); margin:auto; padding:90px 0; display:grid; grid-template-columns:360px minmax(0,1fr); gap:70px; align-items:start; }
.decision-area > aside { position:sticky; top:25px; padding:28px; background:#fff4d2; border-top:8px solid var(--yellow); }
.decision-area > aside h2 { margin:0 0 22px; font-size:27px; }
.answer-route nav { display:grid; gap:9px; counter-reset:route; }
.answer-route nav a { position:relative; min-height:64px; padding:13px 42px 13px 56px; display:flex; align-items:center; background:#fff; border:1px solid #dfcfa1; text-decoration:none; font-size:12px; counter-increment:route; }
.answer-route nav a::before { content:"0" counter(route); position:absolute; left:17px; color:var(--red); font:bold 11px Arial; }
.answer-route nav a span { position:absolute; right:15px; color:var(--red); }
.answer-route nav a:hover { border-color:var(--red); }
.question-links { display:grid; grid-template-columns:1fr; border:0; }
.question-links a { position:relative; min-height:0; padding:17px 34px 17px 0; border:0; border-top:1px solid #dfcfa1; }
.question-links a::after { content:"+"; position:absolute; right:5px; top:15px; color:var(--red); font:bold 20px Arial; }
.question-links a:hover { background:transparent; color:var(--red); }
.answer-section { width:auto; margin:0; padding:0; }
.answer-section header { display:block; margin-bottom:30px; }
.answer-section h2 { font-size:39px; }
.answer-section header > p:last-child { max-width:650px; color:var(--muted); }
.answer-list { display:grid; grid-template-columns:repeat(2,1fr); gap:18px; border:0; counter-reset:answer; }
.answer-row { position:relative; min-height:170px; padding:24px; display:block; border:1px solid var(--line); background:#fff; counter-increment:answer; }
.answer-row::before { content:"Q" counter(answer); display:block; margin-bottom:22px; color:var(--red); font:bold 12px Arial; }
.answer-row > span:first-child { display:none; }
.answer-row b { font-size:16px; }
.answer-row small { display:block; margin-top:8px; }
.answer-row i { position:absolute; right:20px; bottom:17px; }
.answer-row:hover { border-color:var(--red); }
.answer-gallery { padding:82px max(20px,calc((100vw - 1180px)/2)); background:#edf1ef; border-top:1px solid var(--ink); }
.answer-gallery > header { margin-bottom:34px; display:grid; grid-template-columns:1fr 1fr; gap:40px; align-items:end; }
.answer-gallery > header h2 { margin:0; font-size:36px; }
.answer-gallery > header > p { max-width:520px; margin:0; color:var(--muted); font-size:13px; }
.answer-gallery-grid { display:grid; grid-template-columns:7fr 5fr; gap:16px; }
.answer-gallery-grid figure { position:relative; height:270px; margin:0; overflow:hidden; background:var(--ink); border:1px solid #aeb9b6; }
.answer-gallery-grid figure:nth-child(3) { grid-column:1; }
.answer-gallery-grid figure:nth-child(4) { grid-column:2; }
.answer-gallery-grid img { width:100%; height:100%; object-fit:cover; }
.answer-gallery-grid span { position:absolute; left:14px; top:14px; width:42px; height:42px; display:grid; place-items:center; background:var(--paper); color:var(--red); font:bold 11px Arial; border:1px solid var(--ink); }
.answer-footer { background:#293136; border-top:8px solid var(--red); }
.case-library,.evidence-register,.knowledge-columns { padding:88px max(20px,calc((100vw - 1180px)/2)); }
.case-library { background:#fffdf8; border-top:1px solid var(--ink); }
.case-library > header { display:grid; grid-template-columns:120px minmax(0,1fr); gap:32px; margin-bottom:36px; }
.case-library > header > span { width:92px; height:92px; display:grid; place-items:center; background:var(--red); color:#fff; font:46px Arial; }
.case-library h2,.evidence-register h2,.knowledge-columns h2 { margin:0; font-size:36px; line-height:1.25; }
.case-library header p:last-child,.evidence-register header p:last-child,.knowledge-columns header p:last-child { max-width:760px; color:var(--muted); }
.case-library-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
.case-card { min-height:230px; display:grid; grid-template-columns:190px minmax(0,1fr); border:1px solid var(--ink); background:#fff; }
.case-card:nth-child(4n+2),.case-card:nth-child(4n+3) { background:#fff4d2; }
.case-card .ranking-media { overflow:hidden; }
.case-card img { width:100%; height:100%; object-fit:cover; }
.case-card > div { padding:22px; }
.case-card span { color:var(--red); font:bold 10px Arial; }
.case-card h3 { margin:10px 0 8px; font-size:16px; line-height:1.4; }
.case-card h3 a { text-decoration:none; }
.case-card p { margin:0; color:var(--muted); font-size:11px; }
.evidence-register { background:var(--yellow); }
.evidence-register > header,.knowledge-columns > header { max-width:820px; margin-bottom:36px; }
.evidence-register-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); border-top:2px solid var(--ink); }
.evidence-register-row { position:relative; min-height:132px; padding:22px 46px 18px 58px; display:block; border-bottom:1px solid #c8ad64; text-decoration:none; }
.evidence-register-row:nth-child(odd) { border-right:1px solid #c8ad64; }
.evidence-register-row span { position:absolute; left:16px; color:var(--red); font:bold 11px Arial; }
.evidence-register-row b { display:block; font-size:14px; }
.evidence-register-row small { display:block; margin-top:8px; color:#665a3b; font-size:10px; }
.evidence-register-row i { position:absolute; right:16px; bottom:18px; color:var(--red); font-style:normal; }
.knowledge-columns { background:#edf1ef; border-top:1px solid var(--ink); }
.knowledge-columns-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); border:1px solid #aeb9b6; }
.knowledge-column { padding:24px; border-right:1px solid #aeb9b6; }
.knowledge-column:last-child { border-right:0; }
.knowledge-column h3 { margin:0; font-size:19px; }
.knowledge-column h3 a { text-decoration:none; }
.knowledge-column header p { min-height:92px; color:var(--muted); font-size:10px; }
.knowledge-column ul { margin:18px 0 0; padding:0; list-style:none; }
.knowledge-column li { padding:12px 0; border-top:1px solid #c4cecb; }
.knowledge-column li a { font-size:11px; text-decoration:none; }
@media (max-width:840px) {
  .answer-drawer { background:var(--red); color:#fff; }
  .answer-hero { grid-template-columns:1fr; }
  .answer-visual { min-height:330px; }
  .answer-ribbon .question-links { grid-template-columns:repeat(2,1fr); }
  .answer-ribbon .question-links a:nth-child(2) { border-right:0; }
  .decision-area { grid-template-columns:1fr; gap:45px; }
  .decision-area > aside { position:static; }
  .answer-gallery-grid figure { height:230px; }
  .knowledge-columns-grid { grid-template-columns:repeat(2,1fr); }
  .knowledge-column:nth-child(2) { border-right:0; }
  .knowledge-column:nth-child(-n+2) { border-bottom:1px solid #aeb9b6; }
}
@media (max-width:560px) {
  .answer-inner { width:calc(100% - 28px); }
  .answer-hero { display:flex; flex-direction:column; }
  .question-panel { padding:54px 14px 48px; }
  .question-mark { right:-25px; top:-25px; font-size:190px; }
  .question-panel h1 { font-size:39px; }
  .answer-visual { min-height:260px; }
  .answer-visual img { height:260px; }
  .answer-visual figcaption { left:14px; right:14px; bottom:14px; }
  .answer-ribbon { padding:0; overflow:hidden; }
  .answer-ribbon .question-links { display:flex; overflow-x:auto; scroll-snap-type:x mandatory; }
  .answer-ribbon .question-links a { flex:0 0 78vw; min-height:150px; border-right:1px solid #465159; scroll-snap-align:start; }
  .decision-area { width:100%; padding:55px 0; gap:38px; }
  .decision-area > aside { margin:0 14px; padding:23px; }
  .answer-section { padding:0 14px; }
  .answer-section h2 { font-size:31px; }
  .answer-list { grid-template-columns:1fr; }
  .answer-row { min-height:145px; }
  .answer-gallery { padding:55px 14px; }
  .answer-gallery > header { grid-template-columns:1fr; gap:10px; }
  .answer-gallery > header h2 { font-size:30px; }
  .answer-gallery-grid { grid-template-columns:1fr 1fr; gap:8px; }
  .answer-gallery-grid figure,.answer-gallery-grid figure:nth-child(3),.answer-gallery-grid figure:nth-child(4) { grid-column:auto; height:165px; }
  .case-library,.evidence-register,.knowledge-columns { padding:56px 14px; }
  .case-library > header { grid-template-columns:72px 1fr; gap:15px; }
  .case-library > header > span { width:64px; height:64px; font-size:31px; }
  .case-library h2,.evidence-register h2,.knowledge-columns h2 { font-size:29px; }
  .case-library-grid,.evidence-register-list,.knowledge-columns-grid { grid-template-columns:1fr; }
  .case-card { grid-template-columns:132px 1fr; }
  .case-card .ranking-media { min-height:190px; }
  .evidence-register-row:nth-child(odd) { border-right:0; }
  .knowledge-column,.knowledge-column:nth-child(2) { border-right:0; border-bottom:1px solid #aeb9b6; }
  .knowledge-column:last-child { border-bottom:0; }
  .knowledge-column header p { min-height:0; }
}
