/* Cost decisions, evidence and consultation share the existing ROTURN tokens. */
#pf-savings, .pf-decision-dialog { --decision-panel:#FFFFFF; --decision-control:var(--surface-2); }
html:not([data-theme="light"]) #pf-savings,
html:not([data-theme="light"]) .pf-decision-dialog { --decision-panel:var(--bg-dark-2); --decision-control:var(--bg-dark-3); }
/* Calculator: one surface, hierarchy through type and space (no stacked cards, borders or accent bars). */
#pf-savings .pf-calc { background:none; border:0; box-shadow:none; border-radius:0; padding:0; overflow:visible; }
#pf-savings .pf-calc::before, #pf-savings .pf-calc::after { content:none; }
#pf-savings .pf-calc-field { background:none; border:0; box-shadow:none; border-radius:0; padding:12px 0; }
#pf-savings .pf-calc-shell { gap:48px; border:0; }
#pf-savings .pf-calc-summary { justify-content:flex-start; background:none; border:0; box-shadow:none; border-radius:0; padding:0; }
#pf-savings .pf-decision-lead { margin:0 0 8px; color:var(--text); font-size:14px; font-weight:600; line-height:1.6; text-align:left; }
#pf-savings .pf-calc-result-grid { margin:0 0 24px; padding:8px 0 0; border:0; gap:16px; }
#pf-savings .pf-calc-result-col { padding:0; min-width:0; align-items:flex-start; text-align:left; border:0 !important; }
#pf-savings .pf-calc-result-col-label { font-size:12px; color:var(--sub); line-height:1.5; text-align:left; margin-bottom:4px; }
#pf-savings .pf-calc-result-col-value { font-size:clamp(20px,2vw,29px); line-height:1.35; overflow-wrap:anywhere; text-align:left; color:var(--text); font-family:var(--font-kr),'Outfit',sans-serif; font-weight:700; letter-spacing:-.01em; }
#pf-savings #pf-calc-cost, #pf-savings #pf-calc-saving, #pf-savings #pf-calc-bep { color:var(--text); }
#pf-savings .pf-calc-summary-top { display:flex; flex-direction:column; align-items:flex-start; margin-bottom:18px; text-align:left; }
#pf-savings .pf-calc-result-label { font-size:12px; letter-spacing:0; color:var(--sub); text-align:left; text-transform:none; opacity:1; }
#pf-savings .pf-calc-result-total { font-size:clamp(30px,3vw,42px); line-height:1.25; color:var(--text); margin:8px 0; text-align:left; }
#pf-savings .pf-calc-result-note { font-size:12px; text-align:left; }
#pf-savings .pf-calc-chart { background:none; border:0; box-shadow:none; padding:0; margin:8px 0 16px; }
#pf-savings .pf-calc-chart-head { justify-content:space-between; }
#pf-savings .pf-calc-chart-install-key { display:inline-flex; align-items:center; gap:8px; font:500 12px/1.5 var(--font-kr); color:var(--sub); }
#pf-savings .pf-calc-chart-install-key::before { content:''; width:16px; border-top:1.5px dashed currentColor; }
#pf-savings .pf-calc-chart-svg-wrap { height:auto; aspect-ratio:320 / 140; }
#pf-savings .pf-calc-chart-svg { width:100%; height:100%; }
#pf-savings .pf-calc-result-monthly { flex-direction:row; justify-content:space-between; align-items:baseline; background:none; border:0; padding:12px 0; margin:0; }
#pf-savings .pf-calc-result-monthly span { font-size:14px; color:var(--sub); }
#pf-savings .pf-calc-result-monthly strong { font-size:22px; color:var(--text); }
#pf-savings .pf-calc-disclaimer { opacity:1; font-size:12px; line-height:1.75; color:var(--sub); text-align:left; margin-top:16px; }
#pf-savings .pf-calc-liveprice-badge { font:500 11px/1.5 var(--font-kr); white-space:normal; letter-spacing:0; color:var(--text); background:var(--decision-control); border:0; }
#pf-savings .pf-calc-liveprice-badge.is-fallback { color:var(--orange-text); }
#pf-savings .pf-calc-cta-row { gap:24px; margin-top:12px; justify-content:flex-start; flex-wrap:wrap; }
#pf-savings .pf-calc-cta-row a.pf-calc-cta { flex:0 0 auto; min-height:44px; width:auto; padding:10px 0; font-size:14px; font-weight:600; border:0 !important; border-radius:0; background:none !important; color:var(--text) !important; box-shadow:none; text-decoration:underline; text-underline-offset:4px; text-decoration-color:var(--border); }
#pf-savings .pf-calc-cta-row a.pf-calc-cta:hover { text-decoration-color:currentColor; transform:none; }
#pf-savings .pf-calc-cta-row a.pf-calc-cta span, #pf-savings .pf-calc-cta-row a.pf-calc-cta svg { color:inherit !important; }
.pf-decision-primary { display:flex; justify-content:center; align-items:center; width:100%; min-height:52px; padding:14px 20px; margin:20px 0 0; border:1px solid var(--orange); border-radius:var(--r); background:var(--orange); color:#111; font:700 15px/1.5 var(--font-kr); cursor:pointer; }
.pf-decision-primary[hidden] { display:none; }
.pf-decision-primary:hover { background:var(--orange-light); }
.pf-decision-primary:focus-visible, .pf-decision-proof a:focus-visible, .pf-decision-proof summary:focus-visible, .pf-decision-dialog :focus-visible { outline:3px solid var(--orange); outline-offset:4px; }
.pf-decision-proof { display:grid; grid-template-columns:minmax(180px,.8fr) minmax(0,1.4fr); gap:36px; margin:32px 0 24px; padding:32px; border:1px solid var(--border); border-radius:20px; background:var(--surface); color:var(--text); }
.pf-decision-proof-intro h3 { margin:0 0 14px; font:700 clamp(22px,2.2vw,30px)/1.45 var(--font-kr); letter-spacing:-.045em; word-break:keep-all; }
.pf-decision-proof-intro p { margin:0; color:var(--sub); font-size:14px; line-height:1.8; word-break:keep-all; }
.pf-decision-question { border-bottom:1px solid var(--border); }
.pf-decision-question:first-child { border-top:0; }
.pf-decision-question:last-child { border-bottom:0; }
.pf-decision-question summary { position:relative; list-style:none; padding:18px 30px 18px 0; border-radius:var(--r-sm); cursor:pointer; font-size:15px; font-weight:650; line-height:1.7; word-break:keep-all; }
.pf-decision-question summary::-webkit-details-marker { display:none; }
.pf-decision-question summary::after { content:'+'; position:absolute; right:4px; top:18px; color:var(--orange-text); font:500 22px/1.2 var(--font-num); }
.pf-decision-question[open] summary::after { content:'−'; }
.pf-decision-answer { padding:0 0 22px; font-size:14px; line-height:1.8; color:var(--sub); }
.pf-decision-answer figure { margin:0 0 14px; }
.pf-decision-answer img { display:block; width:100%; max-height:250px; object-fit:cover; border-radius:var(--r-sm); }
.pf-decision-answer figcaption { padding-top:8px; font-size:12px; line-height:1.65; }
.pf-decision-answer p { margin:12px 0; }
.pf-decision-answer a { display:inline-block; color:var(--text); text-decoration:underline; text-underline-offset:5px; min-height:32px; }
.pf-decision-record-scope { margin:10px 0 0; color:var(--sub); font-size:12px; line-height:1.8; }
.pf-decision-dialog { width:min(600px,calc(100vw - 32px)); max-height:calc(100dvh - 40px); padding:28px; margin:auto; border:1px solid var(--border); border-radius:var(--r-xl); background:var(--decision-panel); color:var(--text); overflow:auto; font:14px/1.7 var(--font-kr); box-shadow:var(--shadow-l); }
.pf-decision-dialog::backdrop { background:rgba(0,0,0,.65); }
.pf-decision-dialog h2 { margin:0 40px 12px 0; font-size:24px; line-height:1.45; letter-spacing:-.04em; }
.pf-decision-dialog p { color:var(--sub); }
.pf-decision-dialog dl { margin:22px 0; }
.pf-decision-dialog dl > div { display:grid; grid-template-columns:110px minmax(0,1fr); gap:16px; border-bottom:1px solid var(--border); padding:11px 0; }
.pf-decision-dialog dt { color:var(--sub); }
.pf-decision-dialog dd { margin:0; font-weight:600; overflow-wrap:anywhere; }
.pf-decision-dialog button, .pf-decision-dialog a { font:600 14px/1.5 var(--font-kr); }
.pf-decision-dialog button { min-height:44px; padding:10px 16px; cursor:pointer; border:1px solid var(--border); border-radius:var(--r-sm); background:var(--decision-control); color:var(--text); }
.pf-decision-dialog textarea { width:100%; min-height:150px; padding:12px; background:var(--bg-alt); color:var(--text); border:1px solid var(--border); border-radius:var(--r-sm); font:13px/1.7 var(--font-kr); }
.pf-decision-dialog a { display:inline-flex; align-items:center; justify-content:center; min-height:46px; padding:10px 16px; border:1px solid var(--orange); border-radius:var(--r-sm); color:var(--text); text-decoration:none; }
@media(max-width:680px) {
 .pf-decision-proof { grid-template-columns:1fr; gap:20px; margin:24px 0 18px; padding:22px 18px; border-radius:18px; }
 .pf-decision-proof-intro h3 { max-width:19ch; font-size:25px; }
 .pf-decision-proof-intro p { font-size:13px; }
 #pf-savings .pf-calc-result-grid { margin-bottom:18px; }
 #pf-savings .pf-calc-result-col-value { font-size:21px; }
 #pf-savings .pf-calc-result-col-label { font-size:11px; }
 .pf-decision-dialog { padding:22px 18px; }
 .pf-decision-dialog dl > div { grid-template-columns:90px minmax(0,1fr); gap:10px; }
}
.pf-decision-header { display:flex; align-items:flex-start; justify-content:space-between; gap:16px; }
.pf-decision-header h2 { margin-right:0; }
.pf-decision-dialog .pf-decision-close { flex:none; padding:8px; width:44px; font-size:24px; line-height:1; }
.pf-decision-dialog .pf-decision-summary { display:grid; grid-template-columns:110px minmax(0,1fr); column-gap:18px; }
.pf-decision-summary dt, .pf-decision-summary dd { padding:10px 0; border-bottom:1px solid var(--border); }
.pf-decision-actions { display:flex; flex-wrap:wrap; gap:10px; margin:14px 0; }
.pf-decision-actions > * { flex:1 1 40%; text-align:center; }
.pf-decision-dialog .pf-decision-copy { background:var(--orange); color:#111; border-color:var(--orange); }
.pf-decision-copy-status:empty { display:none; }
.pf-decision-note, .pf-decision-source { font-size:12px; line-height:1.8; }
@media(max-width:680px) { .pf-decision-dialog .pf-decision-summary { grid-template-columns:90px minmax(0,1fr); gap:0 10px; } }
#pf-savings .pf-calc-result-col-value { font-size:22px; }
html[lang="ko"] #pf-savings .pf-calc-result-col-value { white-space:nowrap; }
.pf-decision-dialog textarea[hidden] { display:none; }
@media(max-width:680px) { #pf-savings .pf-calc-result-col-value { font-size:20px; } }

/* The company story gives context to the existing evidence section. */
.pf-company-context { max-width:660px; margin:18px auto 4px; color:var(--sub); font:400 15px/1.9 var(--font-kr); word-break:keep-all; overflow-wrap:anywhere; }
.pf-company-link { display:inline-flex; align-items:center; gap:6px; min-height:44px; margin-bottom:10px; color:var(--orange-text); font:600 13px/1.7 var(--font-kr); text-decoration:underline; text-underline-offset:4px; }
.pf-company-link:focus-visible { outline:3px solid var(--orange); outline-offset:4px; }
@media(max-width:700px) { .pf-company-context { font-size:14px; margin-top:16px; } }
