/* happydo-dashboard.css — Premium component layer v3 */
.page-hero{position:relative;overflow:hidden;background:radial-gradient(circle at 80% 10%,rgba(214,163,84,.20),transparent 30%),linear-gradient(135deg,var(--espresso-950),var(--espresso-900) 52%,var(--espresso-800));color:#fff;padding:68px 0 74px}.page-hero:before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);background-size:70px 70px;opacity:.45}.page-hero .container{position:relative;z-index:1}.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:38px;align-items:center}.crumb{font-size:12px;color:rgba(255,255,255,.58);margin-bottom:12px}.crumb a{color:var(--gold-500);font-weight:850}.hero-kicker{display:inline-flex;align-items:center;gap:8px;background:rgba(255,255,255,.08);border:1px solid rgba(214,163,84,.42);color:var(--gold-500);border-radius:999px;padding:6px 13px;font-size:11px;font-weight:950;letter-spacing:.16em;text-transform:uppercase;margin-bottom:16px}.page-hero h1{font-size:clamp(32px,5vw,58px);line-height:1.12;font-weight:950;letter-spacing:-.035em;color:#fff;margin-bottom:16px}.page-hero h1 em{font-style:normal;color:var(--gold-500)}.hero-sub{font-size:clamp(15px,1.55vw,17px);line-height:1.88;color:rgba(255,255,255,.84);max-width:680px}.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:24px}.hero-panel{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.13);border-radius:var(--r-xl);padding:22px;box-shadow:var(--shadow-lg);backdrop-filter:blur(10px)}.hero-mini-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.hero-mini{background:rgba(255,255,255,.10);border:1px solid rgba(214,163,84,.20);border-radius:18px;padding:16px}.hero-mini b{display:block;color:var(--gold-500);font-size:26px;line-height:1;font-variant-numeric:tabular-nums}.hero-mini span{display:block;color:rgba(255,255,255,.72);font-size:12px;margin-top:8px}.section{padding:56px 0}.section.alt{background:rgba(255,255,255,.62);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.section.dark{background:var(--espresso-900);color:#fff}.sec-head{margin-bottom:28px}.sec-head.center{text-align:center;max-width:760px;margin:0 auto 32px}.eyebrow{display:inline-flex;background:#fff4e2;border:1px solid #efd4a9;color:var(--brick);border-radius:999px;padding:5px 12px;font-size:11px;font-weight:950;letter-spacing:.15em;text-transform:uppercase;margin-bottom:11px}.sec-head h2{font-size:clamp(24px,3vw,36px);font-weight:950;color:var(--ink);line-height:1.22;letter-spacing:-.02em}.section.dark .sec-head h2{color:#fff}.sec-head p{margin-top:9px;color:var(--muted);font-size:15px;line-height:1.82}.section.dark .sec-head p{color:rgba(255,255,255,.72)}.grid{display:grid;gap:18px}.grid.cols-2{grid-template-columns:repeat(2,1fr)}.grid.cols-3{grid-template-columns:repeat(3,1fr)}.grid.cols-4{grid-template-columns:repeat(4,1fr)}.card{background:rgba(255,255,255,.96);border:1px solid var(--line);border-radius:22px;padding:24px;box-shadow:var(--shadow-xs);color:var(--text)}.card:hover{box-shadow:var(--shadow);transform:translateY(-2px);transition:.18s}.card h3{font-size:18px;line-height:1.35;color:var(--ink);font-weight:950;margin-bottom:8px}.card p{font-size:14px;color:var(--muted);line-height:1.78}.card .go{margin-top:auto;color:var(--brick);font-weight:950;font-size:13px}.card.feature{border-color:rgba(214,163,84,.58);box-shadow:0 18px 44px rgba(201,148,69,.15)}.card.dark{background:var(--espresso-900);color:#fff;border-color:rgba(214,163,84,.22)}.card.dark h3{color:#fff}.card.dark p{color:rgba(255,255,255,.76)}.card.dark .go{color:var(--gold-500)}.metric-card{background:#fff;border:1px solid var(--line);border-radius:22px;padding:22px;text-align:center;box-shadow:var(--shadow-xs)}.metric-card b{display:block;font-size:clamp(28px,4vw,46px);line-height:1;color:var(--brick);font-weight:950;font-variant-numeric:tabular-nums}.metric-card span{display:block;font-size:12px;color:var(--muted);margin-top:8px}.step-card{background:#fff;border:1px solid var(--line);border-radius:22px;padding:22px;display:flex;gap:16px;box-shadow:var(--shadow-xs);height:100%}.step-num{width:42px;height:42px;display:grid;place-items:center;flex:0 0 auto;border-radius:14px;background:var(--espresso-900);color:var(--gold-500);font-weight:950;font-variant-numeric:tabular-nums}.step-card h3{font-size:17px;color:var(--ink);font-weight:950;margin:2px 0 6px}.step-card p{font-size:14px;color:var(--muted);line-height:1.72}.pill-grid{display:flex;gap:10px;flex-wrap:wrap}.pill{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--line);background:#fff;border-radius:999px;padding:10px 14px;font-size:13px;font-weight:900;color:var(--espresso-800);box-shadow:var(--shadow-xs)}.pill:hover{border-color:var(--gold-600);color:var(--brick)}.timeline{display:grid;gap:14px}.timeline-item{display:grid;grid-template-columns:52px 1fr;gap:14px;align-items:start}.timeline-dot{width:52px;height:52px;border-radius:18px;background:var(--espresso-900);color:var(--gold-500);display:grid;place-items:center;font-weight:950}.timeline-body{background:#fff;border:1px solid var(--line);border-radius:22px;padding:20px;box-shadow:var(--shadow-xs)}.timeline-body h3{font-size:17px;color:var(--ink);font-weight:950}.timeline-body p{font-size:14px;color:var(--muted);line-height:1.76;margin-top:6px}.note{border-radius:20px;padding:18px 20px;font-size:14px;line-height:1.78}.note.info{background:#fff7e8;border:1px solid #edd1a2;color:var(--espresso-800)}.note.safe{background:#eefbf6;border:1px solid #bee8d5;color:#14532d}.note.dark{background:var(--espresso-900);border:1px solid rgba(214,163,84,.26);color:rgba(255,255,255,.82)}.next-band{background:linear-gradient(135deg,#fff,var(--cream));border:1px solid var(--line);border-radius:28px;padding:28px;box-shadow:var(--shadow);display:flex;gap:20px;align-items:center;justify-content:space-between;flex-wrap:wrap}.next-band h2{font-size:24px;color:var(--ink);font-weight:950;margin-bottom:6px}.next-band p{font-size:14px;color:var(--muted);line-height:1.7}.data-table{width:100%;border-collapse:collapse;border-radius:20px;overflow:hidden;border:1px solid var(--line);background:#fff}.data-table th{background:var(--espresso-900);color:var(--gold-500);font-size:12px;letter-spacing:.1em;text-align:left;padding:12px 14px}.data-table td{padding:12px 14px;border-bottom:1px solid var(--line);font-size:14px;color:var(--text)}.chart-card{background:#fff;border:1px solid var(--line);border-radius:22px;padding:24px;box-shadow:var(--shadow-xs)}.bar-row{display:grid;grid-template-columns:92px 1fr 70px;gap:12px;align-items:center;margin:10px 0}.bar-label{font-size:13px;color:var(--ink);font-weight:850}.bar-track{height:12px;background:#f1e6d8;border-radius:999px;overflow:hidden}.bar-fill{height:100%;background:linear-gradient(90deg,var(--brick),var(--gold-600));border-radius:999px}.bar-val{text-align:right;font-size:12px;color:var(--muted);font-variant-numeric:tabular-nums}.pie-demo{width:150px;height:150px;border-radius:50%;background:conic-gradient(var(--brick) 0 42%,var(--gold-600) 42% 63%,#7a5547 63% 78%,#d9c6a4 78% 90%,#eee4d7 90%);margin:0 auto;box-shadow:inset 0 0 0 18px #fff,0 12px 30px rgba(31,21,18,.12)}.form-panel{background:#fff;border:1px solid var(--line);border-radius:24px;padding:24px;box-shadow:var(--shadow)}.form-panel input,.form-panel select,.calc-input{width:100%;border:1px solid var(--line);border-radius:14px;padding:12px 13px;background:#fff;color:var(--ink);font-size:16px}.form-panel input:focus,.calc-input:focus{outline:3px solid rgba(214,163,84,.18);border-color:var(--gold-600)}.accordion{border:1px solid var(--line);border-radius:20px;overflow:hidden;background:#fff}.accordion summary{cursor:pointer;padding:16px 20px;font-weight:950;color:var(--ink)}.accordion .body{padding:0 20px 18px;color:var(--muted);font-size:14px;line-height:1.78}.home-hero{padding:70px 0;background:radial-gradient(circle at 78% 10%,rgba(214,163,84,.20),transparent 30%),linear-gradient(135deg,var(--espresso-950),var(--espresso-900));color:#fff}.home-layout{display:grid;grid-template-columns:.9fr 1.1fr;gap:36px;align-items:center}.home-hero h1{font-size:clamp(36px,5vw,62px);line-height:1.08;color:#fff;font-weight:950;letter-spacing:-.04em}.home-hero p{font-size:16px;color:rgba(255,255,255,.82);line-height:1.9;margin-top:16px}.situation-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:28px}.situation-card{background:#fff;color:var(--text);border:1px solid var(--line);border-radius:26px;padding:24px;min-height:240px;display:flex;flex-direction:column;box-shadow:var(--shadow)}.situation-card .tag{align-self:flex-start;margin-bottom:12px}.situation-card h2{font-size:21px;font-weight:950;color:var(--ink);line-height:1.25}.situation-card p{font-size:14px;color:var(--muted);line-height:1.75;margin:10px 0 18px}.situation-card .links{margin-top:auto;display:flex;gap:10px;flex-wrap:wrap}.situation-card.feature{border-color:var(--gold-600);transform:translateY(-8px)}.tool-strip{display:flex;gap:10px;flex-wrap:wrap;justify-content:center}.line-principle{display:grid;grid-template-columns:1fr 1fr;gap:20px}.line-box{background:var(--espresso-900);color:#fff;border-radius:28px;padding:28px}.line-box h2{color:#fff;font-size:26px;font-weight:950}.line-box p{color:rgba(255,255,255,.78);font-size:14px;line-height:1.78;margin-top:10px}.principle-box{background:#fff;border:1px solid var(--line);border-radius:28px;padding:28px;box-shadow:var(--shadow-xs)}.principle-box h2{font-size:24px;color:var(--ink);font-weight:950}.principle-item{padding:14px 0;border-bottom:1px solid var(--line)}.principle-item:last-child{border-bottom:0}.principle-item b{display:block;color:var(--ink);font-size:15px}.principle-item span{font-size:13px;color:var(--muted);line-height:1.65}.calc-app-shell{max-width:980px;margin:0 auto;padding:0 22px 48px}.calc-tool-head{background:#fff;border:1px solid var(--line);border-radius:26px;padding:24px;margin:28px 0 18px;box-shadow:var(--shadow-xs)}.calc-tool-head h2{font-size:24px;color:var(--ink);font-weight:950}.calc-tool-head p{color:var(--muted);font-size:14px}.calc-fast-start,.calc-card,.calc-next-step{background:#fff;border:1px solid var(--line);border-radius:24px;padding:22px;margin:18px 0;box-shadow:var(--shadow-xs)}.calc-card h3,.calc-section-title b{color:var(--ink)!important}.calc-label{display:block;font-size:13px;color:var(--ink);font-weight:900;margin-bottom:6px}.calc-input-row{display:flex;gap:8px;align-items:center}.calc-unit{color:var(--muted);font-weight:850;white-space:nowrap}.calc-field{margin:12px 0}.calc-hint{font-size:12px;color:var(--soft);margin-top:4px}.calc-result-row{border-top:1px solid var(--line);padding:12px 0}.calc-result-top{display:flex;justify-content:space-between;gap:14px}.calc-result-label{color:var(--muted);font-size:13px}.calc-result-value{font-size:20px;color:var(--brick);font-weight:950;font-variant-numeric:tabular-nums}.calc-result-sub{font-size:12px;color:var(--soft)}.calc-result-row.highlight{background:#fff7e8;margin:0 -10px;padding:12px 10px;border-radius:14px}.hd-calc-dashboard{background:linear-gradient(180deg,#fff,var(--cream));border:1px solid var(--line);border-radius:24px;padding:22px;margin:14px 0}.hd-calc-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.hd-calc-metric{background:#fff;border:1px solid var(--line);border-radius:18px;padding:16px;text-align:center}.hd-calc-metric b{display:block;font-size:12px;color:var(--muted)}.hd-calc-metric strong{display:block;font-size:22px;color:var(--brick)}.hd-tag-cloud{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}.hd-tag-cloud span{border:1px solid var(--line);background:#fff;border-radius:999px;padding:6px 10px;font-size:12px;color:var(--espresso-800);font-weight:800}.hd-question-list{display:grid;gap:8px}.hd-question-list div{background:#fff;border:1px solid var(--line);border-radius:14px;padding:10px 12px;color:var(--text);font-size:13px}.calc-next-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.calc-next-card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:16px;display:flex;flex-direction:column;gap:6px}.calc-next-card.primary{background:var(--espresso-900);color:#fff}.calc-next-card.primary b{color:#fff}.calc-next-card b{color:var(--ink)}.calc-next-card span{color:var(--muted);font-size:13px;line-height:1.6}.calc-next-card.primary span{color:rgba(255,255,255,.72)}@media(max-width:900px){.hero-grid,.home-layout,.line-principle{grid-template-columns:1fr}.grid.cols-4{grid-template-columns:repeat(2,1fr)}.situation-grid{grid-template-columns:1fr}.situation-card.feature{transform:none}.home-hero{padding:48px 0}.hero-panel{display:none}.calc-next-grid,.hd-calc-metrics{grid-template-columns:1fr}}@media(max-width:720px){.grid.cols-2,.grid.cols-3,.grid.cols-4{grid-template-columns:1fr}.section{padding:40px 0}.page-hero{padding:48px 0}.page-hero h1,.home-hero h1{font-size:36px}.step-card{padding:18px}.next-band{align-items:flex-start}.timeline-item{grid-template-columns:42px 1fr}.timeline-dot{width:42px;height:42px;border-radius:14px}.bar-row{grid-template-columns:70px 1fr 50px}.home-hero p{font-size:15px}}

/* === Functional restore v4: calculator decision dashboard === */
.calc-dash-head{display:grid;grid-template-columns:1fr 1.2fr;gap:18px;align-items:end;margin-bottom:18px}.calc-dash-kicker{display:inline-flex;color:var(--brick);font-size:11px;font-weight:950;letter-spacing:.16em;margin-bottom:6px}.calc-dash-head h3{font-size:clamp(22px,3vw,30px);font-weight:950;color:var(--ink);margin:0}.calc-dash-head p{color:var(--muted);font-size:14px;line-height:1.8;margin:0}.hd-calc-metric span{display:block;font-size:12px;color:var(--soft);line-height:1.55;margin-top:6px}.calc-panel-block{background:#fff;border:1px solid var(--line);border-radius:22px;padding:20px;margin:18px 0;box-shadow:var(--shadow-xs)}.calc-block-title{display:flex;justify-content:space-between;gap:18px;align-items:flex-end;margin-bottom:16px;border-bottom:1px solid var(--line);padding-bottom:12px}.calc-block-title h4{font-size:18px!important;font-weight:950!important;color:var(--ink)!important;margin:0}.calc-block-title p{font-size:13px;color:var(--muted);line-height:1.7;margin:0;max-width:560px}.calc-sensitivity-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.sensitivity-card{border:1px solid var(--line);background:linear-gradient(180deg,#fff,#fffaf3);border-radius:18px;padding:16px;box-shadow:var(--shadow-xs)}.sensitivity-card.current{border-color:var(--gold-600);box-shadow:0 14px 32px rgba(201,148,69,.15)}.scenario-name{font-size:13px;color:var(--muted);font-weight:900}.scenario-rate{font-size:28px;color:var(--brick);font-weight:950;font-variant-numeric:tabular-nums;margin:6px 0}.scenario-bar{height:10px;background:#efe1cf;border-radius:999px;overflow:hidden;margin:10px 0 12px}.scenario-bar i{display:block;height:100%;background:linear-gradient(90deg,var(--brick),var(--gold-600));border-radius:999px}.scenario-meta{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:12px;margin:8px 0;color:var(--muted)}.scenario-meta b{font-size:14px;color:var(--ink);font-variant-numeric:tabular-nums}.calc-chip-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.calc-info-chip{border:1px solid var(--line);background:#fff;border-radius:16px;overflow:hidden}.calc-info-chip summary{cursor:pointer;padding:12px 14px;list-style:none;font-size:13px;font-weight:950;color:var(--espresso-800);display:flex;align-items:center;justify-content:space-between;gap:8px}.calc-info-chip summary::-webkit-details-marker{display:none}.calc-info-chip summary:after{content:'＋';color:var(--gold-600);font-weight:950}.calc-info-chip[open] summary:after{content:'－'}.calc-info-chip p{border-top:1px solid var(--line);padding:12px 14px;margin:0;background:var(--cream);font-size:13px;color:var(--muted);line-height:1.75}.calc-chip-grid.muted .calc-info-chip{background:#fbf7ef}.calc-question-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:10px}.calc-question-card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:14px;text-decoration:none;display:flex;flex-direction:column;min-height:142px;box-shadow:var(--shadow-xs)}.calc-question-card:hover{border-color:var(--gold-600);transform:translateY(-2px);box-shadow:var(--shadow)}.calc-question-card span{font-size:12px;font-weight:950;color:var(--gold-600);letter-spacing:.12em}.calc-question-card b{font-size:13px;line-height:1.55;color:var(--ink);margin:8px 0;flex:1}.calc-question-card em{font-style:normal;color:var(--brick);font-size:12px;font-weight:950}.hd-note.strong{background:#fff7e8;border:1px solid #edd1a2;border-left:5px solid var(--gold-600);color:var(--espresso-800)}
@media(max-width:900px){.calc-dash-head,.calc-sensitivity-grid,.calc-chip-grid{grid-template-columns:1fr}.calc-block-title{display:block}.calc-block-title p{margin-top:6px}.calc-question-grid{grid-template-columns:1fr 1fr}.sensitivity-card{padding:14px}}
@media(max-width:520px){.calc-question-grid{grid-template-columns:1fr}}

/* === Functional restore v4: real-price full data page === */
.rpg-page .section{margin:22px auto}.rpg-summary-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:22px 0}.rpg-stat{background:#fff;border:1px solid var(--line);border-radius:18px;padding:18px;box-shadow:var(--shadow-xs)}.rpg-stat small{display:block;color:var(--muted);font-weight:900;margin-bottom:6px}.rpg-stat b{display:block;color:var(--ink);font-size:clamp(20px,3vw,28px);line-height:1.2}.rpg-stat span{display:block;color:var(--soft);font-size:13px;margin-top:6px}.rpg-controls{display:flex;gap:10px;flex-wrap:wrap;margin:18px 0}.rpg-control{padding:9px 14px;border:1px solid var(--line);background:#fff;color:var(--ink);border-radius:999px;cursor:pointer;font-weight:950}.rpg-control.active{background:var(--espresso-900);color:var(--gold-500);border-color:var(--espresso-900)}.rpg-chart-wrap{position:relative;height:620px;width:100%;background:#fff;border:1px solid var(--line);border-radius:22px;padding:16px;box-shadow:var(--shadow-xs)}.rpg-table-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:20px;margin:16px 0;background:#fff;box-shadow:var(--shadow-xs)}.rpg-table{width:100%;min-width:860px;border-collapse:collapse;background:#fff;font-size:15px}.rpg-table th,.rpg-table td{padding:13px 14px;border-bottom:1px solid var(--line);vertical-align:middle;text-align:left}.rpg-table th{background:var(--espresso-900);color:var(--gold-500);font-weight:950;white-space:nowrap;font-size:12px;letter-spacing:.08em}.rpg-table td.num{text-align:right;font-variant-numeric:tabular-nums}.rpg-table .gap{color:var(--brick);font-weight:950}.rpg-table .ratio{color:var(--ink);font-weight:950}.sample-low,.sample-ok{display:inline-block;border-radius:999px;padding:3px 9px;font-size:12px;font-weight:950}.sample-low{color:#92400e;background:#fef3c7;border:1px solid #f59e0b}.sample-ok{color:#065f46;background:#d1fae5;border:1px solid #10b981}.rpg-rank-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.rpg-rank-card{border:1px solid var(--line);border-radius:20px;padding:18px;background:linear-gradient(180deg,#fff,#fffbf7);box-shadow:var(--shadow-xs)}.rpg-rank-item{display:flex;justify-content:space-between;gap:14px;padding:10px 0;border-bottom:1px dashed #e2d6c5}.rpg-rank-item:last-child{border-bottom:0}.rpg-rank-item b{color:var(--ink)}.rpg-rank-item strong{color:var(--brick)}.rpg-insight-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.rpg-insight{border:1px solid #edd1a2;background:#fff7e8;border-radius:20px;padding:20px}.rpg-insight h3{margin:0 0 8px;color:var(--brick);font-size:17px}.rpg-insight p{color:var(--espresso-800);font-size:14px;line-height:1.75}.rpg-insight a{color:var(--brick);font-weight:950;text-decoration:none}.rpg-method-list{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.rpg-method{background:#fffaf3;border:1px solid var(--line);border-radius:16px;padding:14px}.rpg-method b{display:block;color:var(--ink);margin-bottom:4px}.rpg-source-note{font-size:14px;color:var(--muted)}.rpg-source-note a{color:var(--brick);font-weight:950;text-decoration:none}.rpg-demo-warning,.rpg-error-box{display:none;border-radius:18px;padding:16px 18px;margin-bottom:20px;font-weight:900}.rpg-demo-warning{background:#fef3c7;border:1px solid #f59e0b;border-left:6px solid #d97706;color:#78350f}.rpg-error-box{background:#fee2e2;border:1px solid #fca5a5;border-left:6px solid #A63A2A;color:#7f1d1d}@media(max-width:900px){.rpg-summary-grid,.rpg-rank-grid,.rpg-insight-grid,.rpg-method-list{grid-template-columns:1fr}.rpg-chart-wrap{height:720px;padding:10px}}

/* ============================================================
   FINAL AUDIT FIX v5 — readability, feature pages, data clarity
   Purpose: no white-on-white, no low contrast, richer functional pages
   ============================================================ */
:root{
  --hd-ink:#211815;--hd-text:#3E2723;--hd-muted:#5D4037;--hd-soft:#725C52;
  --hd-cream:#FBF7EF;--hd-card:#FFFDF8;--hd-line:#E6D7C7;
  --hd-dark:#2B1A16;--hd-dark2:#3E2723;--hd-gold:#D6A354;--hd-gold2:#E9C46A;--hd-brick:#A63A2A;
}
body{font-size:16px;color:var(--hd-text);}
main{color:var(--hd-text);}
/* Global text contrast contracts */
.card:not(.dark),.dashboard-card,.tool-card,.step-card,.metric-card,.data-card,.note-card,.accordion,.calc-card,.calc-fast-start,.calc-tool-head,.calc-panel-block,.rpg-stat,.rpg-rank-card,.rpg-insight,.rpg-method,.rpg-table-wrap,.rpg-chart-wrap,.next-card,.home-situation-card,.home-step-card,.home-tool-strip a,.home-line-card,.home-principle-card{
  background-color:var(--hd-card);color:var(--hd-text);
}
.card:not(.dark) h1,.card:not(.dark) h2,.card:not(.dark) h3,.card:not(.dark) h4,
.dashboard-card h1,.dashboard-card h2,.dashboard-card h3,.dashboard-card h4,
.tool-card h1,.tool-card h2,.tool-card h3,.tool-card h4,
.step-card h1,.step-card h2,.step-card h3,.step-card h4,
.metric-card h1,.metric-card h2,.metric-card h3,.metric-card h4,
.calc-card h1,.calc-card h2,.calc-card h3,.calc-card h4,
.calc-panel-block h1,.calc-panel-block h2,.calc-panel-block h3,.calc-panel-block h4,
.rpg-stat b,.rpg-rank-card h3,.rpg-insight h3,.rpg-method b,
.home-situation-card h3,.home-step-card h3,.home-principle-card h3{
  color:var(--hd-ink)!important;text-shadow:none!important;
}
.card:not(.dark) p,.dashboard-card p,.tool-card p,.step-card p,.metric-card p,.calc-card p,.calc-panel-block p,.rpg-insight p,.rpg-method,.note-card,.home-situation-card p,.home-step-card p,.home-principle-card p{
  color:var(--hd-text)!important;text-shadow:none!important;font-size:15px;line-height:1.78;
}
.page-hero,.home-hero,.section.dark,.card.dark,.cta-band,.next-band,.site-footer,footer,.new-footer,.tool-nextstep,.cta-card{
  color:#FFF8EA!important;
}
.page-hero h1,.page-hero h2,.page-hero h3,.home-hero h1,.home-hero h2,.home-hero h3,.section.dark h1,.section.dark h2,.section.dark h3,.card.dark h1,.card.dark h2,.card.dark h3,.cta-card h1,.cta-card h2,.cta-card h3,.tool-nextstep h1,.tool-nextstep h2,.tool-nextstep h3{
  color:#fff!important;text-shadow:none!important;
}
.page-hero p,.page-hero li,.home-hero p,.home-hero li,.section.dark p,.section.dark li,.card.dark p,.card.dark li,.cta-card p,.tool-nextstep p{
  color:rgba(255,248,234,.90)!important;text-shadow:none!important;
}
.card.dark .go,.section.dark a,.page-hero a:not(.btn),.home-hero a:not(.btn){color:var(--hd-gold2)!important;}
/* Prevent inherited white text in light cards */
[style*="background:#fff"],[style*="background: #fff"],[style*="background:white"],[style*="background: white"],.rpg-table td,.rpg-table th,.hd-table td,.calc-input,.calc-field,.calc-result-row,.calc-info-chip,.calc-question-card,.sensitivity-card{
  color:var(--hd-text)!important;text-shadow:none!important;
}
/* Links and buttons */
a:not(.btn):not(.nav-cta):not(#lf){font-weight:800;}
.btn,.nav-cta,#lf{font-weight:950;letter-spacing:.01em;}
.btn.ghost,.btn.secondary{background:#fff!important;color:var(--hd-dark)!important;border:1px solid var(--hd-line)!important;}
.btn.primary{background:var(--hd-brick)!important;color:#fff!important;}
.btn.dark{background:var(--hd-dark)!important;color:var(--hd-gold2)!important;}
/* Better tables */
.rpg-table th,.hd-table th,.data-card th{background:var(--hd-dark)!important;color:var(--hd-gold2)!important;font-size:12.5px;}
.rpg-table td,.hd-table td,.data-card td{color:var(--hd-text)!important;background:#fff;}
.rpg-table tr:nth-child(even) td,.hd-table tr:nth-child(even) td,.data-card tr:nth-child(even) td{background:#FFFBF4;}
.rpg-table .gap{color:var(--hd-brick)!important;font-weight:950}.rpg-table .ratio{color:var(--hd-ink)!important;font-weight:950}
/* Calculator: make form and results feel like a working dashboard */
.calc-app-shell{max-width:1180px;margin:0 auto;}
.calc-tool-head{background:#fff;border:1px solid var(--hd-line);border-radius:26px;padding:26px 30px;margin:10px 0 22px;box-shadow:0 18px 44px rgba(31,21,18,.08);} 
.calc-tool-badge,.calc-fast-kicker,.calc-dash-kicker{color:var(--hd-brick)!important;font-weight:950;letter-spacing:.14em;font-size:12px;text-transform:uppercase;}
.calc-tool-head h2,.calc-fast-start h2{color:var(--hd-ink)!important;font-size:clamp(22px,3vw,34px);line-height:1.25;margin:6px 0 8px;}
.calc-tool-head p,.calc-fast-start p{color:var(--hd-muted)!important;font-size:15px;}
.calc-fast-start{display:grid;grid-template-columns:1fr auto;gap:18px;align-items:center;background:linear-gradient(180deg,#fff,#FFF9EF);border:1px solid var(--hd-line);border-radius:26px;padding:24px 28px;margin:20px 0;box-shadow:0 18px 44px rgba(31,21,18,.08);} 
.calc-fast-start button,.calc-download-btn{background:var(--hd-dark)!important;color:var(--hd-gold2)!important;border-radius:999px;padding:12px 18px;font-weight:950;cursor:pointer;}
.calc-card{border:1px solid var(--hd-line);border-radius:24px;padding:22px;margin:18px 0;box-shadow:0 18px 44px rgba(31,21,18,.075);}
.calc-section-title{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;margin-bottom:16px;border-bottom:1px solid var(--hd-line);padding-bottom:12px;}
.calc-section-title b{font-size:18px;color:var(--hd-ink)!important;}
.calc-section-title p{font-size:13px;color:var(--hd-muted)!important;max-width:560px;}
.calc-field{margin:12px 0;}
.calc-label{display:flex;align-items:center;gap:6px;margin-bottom:6px;color:var(--hd-ink)!important;font-weight:850;font-size:14px;}
.calc-input-row{display:flex;align-items:center;background:#fff;border:1.5px solid var(--hd-line);border-radius:14px;overflow:hidden;transition:.18s;}
.calc-input-row:focus-within{border-color:var(--hd-gold);box-shadow:0 0 0 4px rgba(214,163,84,.18);}
.calc-input{flex:1;border:0!important;outline:0!important;padding:13px 14px;font-size:16px;color:var(--hd-ink)!important;background:#fff!important;}
.calc-unit{padding:0 14px;color:var(--hd-muted)!important;font-weight:800;border-left:1px solid var(--hd-line);background:#FFF8EA;align-self:stretch;display:flex;align-items:center;}
.calc-hint{font-size:12px;color:var(--hd-muted)!important;margin-top:5px;}
.calc-result-row{border:1px solid var(--hd-line);border-radius:16px;padding:13px 15px;margin:10px 0;background:#fff;}
.calc-result-row.highlight{background:#FFF7E8!important;border-color:#EFD4A9;}
.calc-result-label{color:var(--hd-muted)!important;font-size:13px;font-weight:800;}
.calc-result-value{color:var(--hd-brick)!important;font-weight:950;font-size:22px;font-variant-numeric:tabular-nums;}
.calc-result-value small{font-size:13px;margin-left:4px;color:var(--hd-muted)!important;}
.calc-insight{background:#FFF7E8;border:1px solid #EFD4A9;border-left:5px solid var(--hd-gold);border-radius:18px;padding:16px 18px;margin:10px 0 16px;}
.calc-insight b{color:var(--hd-ink)!important;display:block;margin-bottom:4px;}
.calc-insight p{color:var(--hd-text)!important;}
.hd-calc-dashboard{background:linear-gradient(180deg,#fff,#FFF9F0);border:1px solid var(--hd-line);border-radius:26px;padding:24px;margin:20px 0;box-shadow:0 18px 44px rgba(31,21,18,.08);}
.calc-dash-head{display:grid;grid-template-columns:minmax(230px,.75fr) 1fr;gap:18px;align-items:end;margin-bottom:18px;}
.calc-dash-head h3{font-size:clamp(22px,3vw,30px);color:var(--hd-ink)!important;margin:0;}
.hd-calc-metrics,.calc-sensitivity-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;}
.hd-calc-metric,.sensitivity-card{background:#fff;border:1px solid var(--hd-line);border-radius:20px;padding:18px;box-shadow:0 12px 28px rgba(31,21,18,.06);}
.hd-calc-metric b,.scenario-name{color:var(--hd-muted)!important;font-size:13px;font-weight:900;}
.hd-calc-metric strong,.scenario-rate{color:var(--hd-brick)!important;font-size:clamp(24px,3vw,34px);font-weight:950;font-variant-numeric:tabular-nums;}
.hd-calc-metric span{color:var(--hd-muted)!important;display:block;font-size:12.5px;line-height:1.6;}
.sensitivity-card.current{border-color:var(--hd-gold);box-shadow:0 18px 44px rgba(214,163,84,.18);}
.scenario-bar{height:11px;background:#EFE0CA;border-radius:999px;overflow:hidden;margin:12px 0;}
.scenario-bar i{display:block;height:100%;background:linear-gradient(90deg,var(--hd-brick),var(--hd-gold));}
.scenario-meta{display:flex;justify-content:space-between;gap:10px;margin:8px 0;color:var(--hd-muted)!important;font-size:13px;}
.scenario-meta b{color:var(--hd-ink)!important;font-variant-numeric:tabular-nums;}
.calc-chip-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;}
.calc-info-chip{border:1px solid var(--hd-line);border-radius:16px;background:#fff;overflow:hidden;}
.calc-info-chip summary{list-style:none;cursor:pointer;padding:12px 14px;color:var(--hd-ink)!important;font-weight:950;display:flex;justify-content:space-between;align-items:center;}
.calc-info-chip summary::-webkit-details-marker{display:none}.calc-info-chip summary:after{content:'＋';color:var(--hd-gold);}.calc-info-chip[open] summary:after{content:'－';}
.calc-info-chip p{padding:12px 14px;background:var(--hd-cream);border-top:1px solid var(--hd-line);color:var(--hd-text)!important;font-size:13px;}
.calc-question-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;}
.calc-question-card{background:#fff;border:1px solid var(--hd-line);border-radius:18px;padding:15px;text-decoration:none;display:flex;flex-direction:column;gap:7px;min-height:150px;box-shadow:0 12px 28px rgba(31,21,18,.06);}
.calc-question-card span{color:var(--hd-gold)!important;font-weight:950;font-size:12px;letter-spacing:.14em;}.calc-question-card b{color:var(--hd-ink)!important;font-size:13.5px;line-height:1.55;}.calc-question-card em{color:var(--hd-brick)!important;font-style:normal;font-size:12px;font-weight:950;margin-top:auto;}
.hd-note{background:#FFF9EF;border:1px solid #EFD4A9;border-radius:16px;padding:12px 14px;color:var(--hd-text)!important;font-size:13.5px;line-height:1.75;margin-top:12px}.hd-note.strong{border-left:5px solid var(--hd-gold);}
.calc-next-step{background:#fff;border:1px solid var(--hd-line);border-radius:26px;padding:26px;margin:24px 0;box-shadow:0 18px 44px rgba(31,21,18,.08);}.calc-next-step h2{color:var(--hd-ink)!important;}.calc-next-step p{color:var(--hd-text)!important;}
/* Real-price: richer dashboard and readable charts */
.rpg-page .section{border-radius:28px;border:1px solid var(--hd-line);background:#fff;box-shadow:0 18px 46px rgba(31,21,18,.08);padding:26px;margin:24px auto;}
.rpg-summary-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:22px 0;}
.rpg-stat{background:#fff;border:1px solid var(--hd-line);border-radius:20px;padding:18px;box-shadow:0 12px 30px rgba(31,21,18,.06);}.rpg-stat small{color:var(--hd-muted)!important;font-weight:950;}.rpg-stat b{color:var(--hd-ink)!important;}.rpg-stat span{color:var(--hd-muted)!important;}
.rpg-controls{display:flex;gap:10px;flex-wrap:wrap;margin:18px 0}.rpg-control{padding:10px 14px;border:1px solid var(--hd-line);background:#fff;color:var(--hd-ink)!important;border-radius:999px;cursor:pointer;font-weight:950}.rpg-control.active{background:var(--hd-dark)!important;color:var(--hd-gold2)!important;border-color:var(--hd-dark)!important;}
.rpg-chart-wrap{height:650px;border-radius:22px;border:1px solid var(--hd-line);box-shadow:inset 0 0 0 1px rgba(255,255,255,.5);background:#fff;padding:16px;}
.rpg-rank-card,.rpg-insight,.rpg-method{background:#fff;border-color:var(--hd-line)!important;}.rpg-rank-item b{color:var(--hd-ink)!important}.rpg-rank-item strong{color:var(--hd-brick)!important}.rpg-insight{background:linear-gradient(180deg,#fff,#FFF7E8);}.rpg-insight h3{color:var(--hd-brick)!important}.rpg-insight p{color:var(--hd-text)!important}.rpg-insight a{color:var(--hd-brick)!important;font-weight:950;}
.rpg-method-list{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.rpg-method{background:#FFFCF6;border-radius:16px;padding:14px;color:var(--hd-text)!important}.rpg-method b{color:var(--hd-ink)!important}.rpg-source-note{color:var(--hd-muted)!important}.rpg-source-note a{color:var(--hd-brick)!important;}
/* Official data and radar cards */
.official-link-card,.data-source-card,.radar-card{background:#fff!important;color:var(--hd-text)!important;border:1px solid var(--hd-line)!important;border-radius:22px!important;box-shadow:0 14px 34px rgba(31,21,18,.06)!important;}.official-link-card h3,.data-source-card h3,.radar-card h3{color:var(--hd-ink)!important}.official-link-card p,.data-source-card p,.radar-card p{color:var(--hd-text)!important;}
/* Font sizes and mobile usability */
@media(max-width:920px){.calc-dash-head,.hd-calc-metrics,.calc-sensitivity-grid,.calc-chip-grid,.rpg-summary-grid,.rpg-insight-grid,.rpg-method-list{grid-template-columns:1fr}.calc-question-grid{grid-template-columns:1fr 1fr}.rpg-chart-wrap{height:720px}.calc-fast-start{grid-template-columns:1fr}.calc-section-title{display:block}.calc-section-title p{margin-top:6px}}
@media(max-width:560px){body{font-size:15.5px}.calc-card,.calc-panel-block,.hd-calc-dashboard,.rpg-page .section{padding:18px;border-radius:22px}.calc-question-grid{grid-template-columns:1fr}.rpg-chart-wrap{height:760px;padding:8px}.rpg-table th,.rpg-table td{padding:10px 12px}.page-hero h1,.home-hero h1{font-size:34px!important}.btn{width:100%;}}

/* =========================================================
   FUNCTIONAL PAGES V6 — interactive tools + readable dashboards
   ========================================================= */
.fx-hero-panel{background:rgba(255,255,255,.08);border:1px solid rgba(233,196,106,.22);border-radius:28px;padding:22px;backdrop-filter:blur(10px);box-shadow:var(--shadow-lg)}
.fx-hero-list{display:grid;gap:12px}.fx-hero-list div{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.13);border-radius:16px;padding:14px}.fx-hero-list b{display:block;color:var(--gold-500);font-size:14px}.fx-hero-list span{display:block;color:rgba(255,255,255,.78);font-size:13px;line-height:1.6;margin-top:4px}
.fx-toolbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:18px 0}.fx-control{border:1px solid var(--line);background:#fff;color:var(--ink);border-radius:999px;padding:10px 14px;font-size:13px;font-weight:950;cursor:pointer;box-shadow:var(--shadow-xs)}.fx-control:hover{border-color:var(--gold-600);color:var(--brick)}.fx-control.active{background:var(--espresso-900);color:var(--gold-500);border-color:var(--espresso-900)}
.fx-input{width:100%;border:1.5px solid var(--line);border-radius:14px;background:#fff;color:var(--ink);font-size:15px;padding:12px 14px}.fx-input:focus{outline:3px solid rgba(214,163,84,.18);border-color:var(--gold-600)}
.fx-dashboard{display:grid;grid-template-columns:1fr 1fr;gap:18px}.fx-panel{background:#fff;border:1px solid var(--line);border-radius:24px;padding:22px;box-shadow:var(--shadow-xs);color:var(--text)}.fx-panel h3{color:var(--ink);font-size:20px;font-weight:950;margin-bottom:10px}.fx-panel p,.fx-panel li{color:var(--text);font-size:15px;line-height:1.75}.fx-panel .muted{color:var(--muted);font-size:13px}.fx-panel.feature{border-color:rgba(214,163,84,.6);box-shadow:0 18px 44px rgba(201,148,69,.14)}
.fx-result{background:linear-gradient(180deg,#fff,#fff7ea);border:1px solid #efd4a9;border-radius:24px;padding:22px;box-shadow:var(--shadow)}.fx-result h3{color:var(--ink);font-size:22px;font-weight:950;margin-bottom:8px}.fx-score{display:flex;align-items:flex-end;gap:10px;margin:10px 0}.fx-score b{font-size:52px;color:var(--brick);line-height:1;font-variant-numeric:tabular-nums}.fx-score span{color:var(--muted);font-size:13px;padding-bottom:8px}.fx-meter{height:14px;background:#f1e3d1;border-radius:999px;overflow:hidden;border:1px solid var(--line)}.fx-meter i{display:block;height:100%;background:linear-gradient(90deg,#A63A2A,var(--gold-600),var(--brick));border-radius:999px;width:0;transition:width .25s ease}
.fx-generated{display:grid;gap:12px}.fx-question{background:#fff;border:1px solid var(--line);border-radius:18px;padding:16px;display:grid;grid-template-columns:auto 1fr;gap:12px;box-shadow:var(--shadow-xs)}.fx-question .num{width:30px;height:30px;border-radius:10px;background:var(--espresso-900);color:var(--gold-500);display:grid;place-items:center;font-weight:950;font-size:12px}.fx-question b{color:var(--ink);font-size:15px}.fx-question p{grid-column:2;color:var(--muted);font-size:13px;line-height:1.6;margin-top:-4px}
.fx-checklist{display:grid;gap:10px}.fx-check{display:flex;align-items:flex-start;gap:12px;background:#fff;border:1px solid var(--line);border-radius:16px;padding:14px;cursor:pointer;box-shadow:var(--shadow-xs)}.fx-check input{width:20px;height:20px;accent-color:var(--brick);margin-top:2px;flex:0 0 auto}.fx-check b{display:block;color:var(--ink);font-size:14.5px}.fx-check span{display:block;color:var(--muted);font-size:13px;line-height:1.55;margin-top:2px}.fx-check:hover{border-color:var(--gold-600)}
.fx-output-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px}.fx-copy-status{font-size:13px;color:var(--green);font-weight:900;min-height:20px;margin-top:8px}
.fx-tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:18px}.fx-tab{border:1px solid var(--line);border-radius:999px;background:#fff;color:var(--ink);padding:9px 13px;font-weight:950;cursor:pointer}.fx-tab.active{background:var(--espresso-900);color:var(--gold-500);border-color:var(--espresso-900)}.fx-tab-panel{display:none}.fx-tab-panel.active{display:block}
.fx-status{display:inline-flex;align-items:center;gap:6px;border-radius:999px;padding:5px 10px;font-size:12px;font-weight:950}.fx-status.ok{background:#ecfdf5;color:#065f46;border:1px solid #a7f3d0}.fx-status.watch{background:#fff7ed;color:#A63A2A;border:1px solid #fed7aa}.fx-status.alert{background:#FBF7EF;color:#991b1b;border:1px solid #E6D7C7}.fx-status.neutral{background:#f7f1e8;color:var(--espresso-700);border:1px solid var(--line)}
.fx-filter-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:18px 0}.fx-mini-stat{background:#fff;border:1px solid var(--line);border-radius:18px;padding:16px;box-shadow:var(--shadow-xs)}.fx-mini-stat b{display:block;color:var(--brick);font-size:28px;line-height:1;font-variant-numeric:tabular-nums}.fx-mini-stat span{display:block;color:var(--muted);font-size:12px;margin-top:7px;font-weight:800}
.fx-card-list{display:grid;gap:14px}.fx-news-card{background:#fff;border:1px solid var(--line);border-radius:20px;padding:18px;box-shadow:var(--shadow-xs);display:grid;gap:8px}.fx-news-card h3{color:var(--ink);font-size:16px;line-height:1.45}.fx-news-card p{color:var(--text);font-size:14px;line-height:1.68}.fx-news-meta{display:flex;gap:8px;flex-wrap:wrap;align-items:center;color:var(--muted);font-size:12px}.fx-news-card a{color:var(--brick);font-weight:950;font-size:13px}.fx-news-card.error-title h3{color:var(--ink)}
.fx-source-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.fx-source-card{background:#fff;border:1px solid var(--line);border-radius:22px;padding:20px;box-shadow:var(--shadow-xs)}.fx-source-card h3{font-size:18px;color:var(--ink);font-weight:950;margin-bottom:8px}.fx-source-card p{font-size:14px;color:var(--text);line-height:1.7}.fx-source-card ul{margin:12px 0 0 20px;padding:0}.fx-source-card li{font-size:13.5px;color:var(--text);line-height:1.65}.fx-source-card .links{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}.fx-link-chip{display:inline-flex;border:1px solid var(--line);border-radius:999px;padding:8px 11px;background:#fff7ea;color:var(--brick);font-size:12px;font-weight:950}
.fx-pack-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.fx-pack-card{background:#fff;border:1px solid var(--line);border-radius:22px;padding:20px;box-shadow:var(--shadow-xs)}.fx-pack-card h3{color:var(--ink);font-size:18px}.fx-pack-card ol{margin:12px 0 0 22px;padding:0}.fx-pack-card li{color:var(--text);font-size:14px;line-height:1.75;margin:6px 0}
.fx-next-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.fx-next{background:#fff;border:1px solid var(--line);border-radius:22px;padding:20px;text-decoration:none;box-shadow:var(--shadow-xs);display:flex;flex-direction:column;min-height:180px}.fx-next:hover{transform:translateY(-2px);box-shadow:var(--shadow);border-color:var(--gold-600)}.fx-next .icon{font-size:26px;margin-bottom:10px}.fx-next b{color:var(--ink);font-size:16px}.fx-next p{color:var(--muted);font-size:13.5px;line-height:1.65;margin:8px 0}.fx-next em{margin-top:auto;color:var(--brick);font-style:normal;font-size:13px;font-weight:950}
.fx-print-hide{}@media print{.fx-print-hide,.site-nav,.ub,#lf,.site-footer{display:none!important}.page-hero{background:none!important;color:#111!important;padding:0!important}.page-hero h1,.page-hero p{color:#111!important}.section{padding:12px 0!important}.fx-panel,.card{box-shadow:none!important}}
@media(max-width:920px){.fx-dashboard,.fx-source-grid,.fx-pack-grid{grid-template-columns:1fr}.fx-filter-grid{grid-template-columns:repeat(2,1fr)}.fx-next-grid{grid-template-columns:1fr}.fx-result{margin-top:0}.fx-card-list{gap:12px}}
@media(max-width:560px){.fx-filter-grid{grid-template-columns:1fr}.fx-panel,.fx-result,.fx-source-card,.fx-pack-card{padding:17px;border-radius:20px}.fx-question{grid-template-columns:1fr}.fx-question p{grid-column:1}.fx-score b{font-size:42px}.fx-toolbar .fx-control{flex:1 1 auto;text-align:center}}


/* calculator sensitivity numeric fix v6.1 */
.scenario-rate small{display:block;font-size:11px;color:var(--muted)!important;font-weight:900;margin-bottom:3px;letter-spacing:.08em}
.scenario-meta.primary{background:#fffaf1;border:1px solid #eed9b8;border-radius:12px;padding:8px 10px}
.scenario-delta{margin-top:10px;padding:9px 10px;border-radius:12px;background:var(--espresso-900);display:flex;justify-content:space-between;gap:10px;align-items:center}
.scenario-delta span{font-size:12px;color:rgba(255,255,255,.72);font-weight:850}
.scenario-delta b{font-size:13px;color:var(--gold-500);font-weight:950;text-align:right;font-variant-numeric:tabular-nums}
@media(max-width:760px){.scenario-delta{display:block}.scenario-delta b{display:block;text-align:left;margin-top:4px}}


/* =========================================================
   PATCH V6.2 — clarity + interactive feature polish
   ========================================================= */
/* Homepage hero cards: white cards inside dark hero must remain readable */
.home-hero .situation-card,
.home-hero .situation-card *{text-shadow:none!important;}
.home-hero .situation-card{background:#fff!important;color:var(--text)!important;}
.home-hero .situation-card h2{color:var(--ink)!important;}
.home-hero .situation-card p{color:var(--text)!important;opacity:1!important;}
.home-hero .situation-card .tag{background:#fff7ea!important;color:var(--brick)!important;border-color:#ead1a8!important;}
.home-hero .situation-card .btn.ghost{background:#fff!important;color:var(--ink)!important;border-color:var(--line)!important;}
.home-hero .situation-card .btn.primary{color:#fff!important;}

/* Radar bar fill must visibly represent counts */
.bar-fill{display:block!important;height:100%!important;min-width:4px!important;background:linear-gradient(90deg,var(--espresso-900),var(--brick),var(--gold-600))!important;}
.radar-page .bar-track{position:relative;background:#efe5d8!important;border:1px solid #e5d3bd;height:16px!important;}
.radar-page .bar-row{grid-template-columns:110px 1fr 46px;}
.radar-page .bar-val{color:var(--espresso-900)!important;font-weight:950!important;}

/* Common burden interactive cost explorer */
.fx-cost-board{display:grid;grid-template-columns:minmax(260px,.9fr) 1.1fr;gap:18px;align-items:stretch;}
.fx-pie-wrap{background:#fff;border:1px solid var(--line);border-radius:24px;padding:22px;box-shadow:var(--shadow-xs);display:grid;place-items:center;gap:12px;}
.fx-cost-legend{display:grid;gap:8px;width:100%;}
.fx-cost-btn{display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid var(--line);background:#fff;border-radius:16px;padding:11px 12px;cursor:pointer;text-align:left;transition:.18s;}
.fx-cost-btn b{color:var(--ink);font-size:14px;}
.fx-cost-btn span{color:var(--muted);font-size:12px;font-weight:850;}
.fx-cost-btn:hover,.fx-cost-btn.active{border-color:var(--gold-600);background:#fff7ea;box-shadow:var(--shadow-xs);}
.fx-cost-detail{background:linear-gradient(180deg,#fff,#fff7ea);border:1px solid #efd4a9;border-radius:24px;padding:24px;box-shadow:var(--shadow);}
.fx-cost-detail h3{color:var(--ink);font-size:24px;font-weight:950;margin-bottom:8px;}
.fx-cost-detail p{color:var(--text);line-height:1.78;}
.fx-cost-detail .question{margin-top:14px;background:#fff;border:1px solid var(--line);border-radius:18px;padding:14px;color:var(--espresso-800);}
.fx-cost-detail .question b{display:block;color:var(--brick);margin-bottom:4px;}
.fx-cost-meta{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px;}
.fx-cost-meta span{border:1px solid var(--line);background:#fff;border-radius:999px;padding:6px 10px;font-size:12px;font-weight:900;color:var(--espresso-800);}

/* Check pack help cards */
.fx-howto{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:0 0 20px;}
.fx-howto-card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:16px;box-shadow:var(--shadow-xs);}
.fx-howto-card b{display:block;color:var(--ink);font-size:15px;margin-bottom:4px;}
.fx-howto-card span{display:block;color:var(--text);font-size:13px;line-height:1.65;}
.fx-pack-context{background:#fff7ea;border:1px solid #efd4a9;border-radius:18px;padding:14px;margin:14px 0;color:var(--espresso-800);font-size:14px;line-height:1.7;}

/* Article contract enhanced checker */
.doc-detail-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-top:14px;}
.doc-detail-card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:14px;}
.doc-detail-card b{display:block;color:var(--brick);font-size:13px;margin-bottom:4px;}
.doc-detail-card span{display:block;color:var(--text);font-size:13px;line-height:1.65;}
.doc-risk-panel{background:#fff;border:1px solid var(--line);border-radius:24px;padding:22px;box-shadow:var(--shadow-xs);margin-top:18px;}
.doc-risk-panel h3{color:var(--ink);font-size:20px;font-weight:950;}
.doc-risk-result{margin-top:12px;background:#fff7ea;border:1px solid #efd4a9;border-radius:18px;padding:14px;color:var(--espresso-800);font-size:14px;line-height:1.75;}
.doc-risk-result b{color:var(--brick);}

@media(max-width:900px){.fx-cost-board,.fx-howto,.doc-detail-grid{grid-template-columns:1fr}.radar-page .bar-row{grid-template-columns:92px 1fr 40px}}

/* check-pack clarity: custom question box */
.fx-custom-note{margin:14px 0 6px;background:#fff;border:1px solid var(--line);border-radius:18px;padding:14px;}
.fx-custom-note label{display:block;color:var(--ink);font-weight:950;margin-bottom:8px;}
.fx-custom-note textarea{width:100%;min-height:96px;border:1px solid var(--line);border-radius:14px;padding:12px 14px;font:inherit;color:var(--text);background:#fff;resize:vertical;line-height:1.65;}
.fx-custom-note textarea:focus{outline:3px solid rgba(214,163,84,.32);border-color:var(--gold);}
.fx-custom-note small{display:block;margin-top:8px;color:var(--muted);font-size:12px;line-height:1.6;}


/* core-tools-v7 enhancements */
.sample-note{display:inline-flex;margin-top:10px;padding:8px 12px;border-radius:999px;background:#fff7e8;border:1px solid #edd1a2;color:var(--espresso-800);font-size:12px;font-weight:900}.sample-actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.sample-actions button,.calc-fast-start button{border-radius:999px;background:var(--brick);color:#fff;font-weight:950;padding:12px 16px;cursor:pointer;box-shadow:var(--shadow-xs)}.sample-actions button:nth-child(2){background:var(--espresso-900);color:var(--gold-500)}.sample-actions button:nth-child(3){background:#fff;border:1px solid var(--line);color:var(--espresso-800)}.calc-sensitivity-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}.calc-result-actions{margin:16px 0;display:flex;gap:10px;align-items:center;flex-wrap:wrap}.calc-download-btn.secondary{background:#fff;color:var(--espresso-800);border:1px solid var(--line)}.calc-copy-status{font-size:13px;color:var(--green);font-weight:900}.risk-list{display:grid;gap:12px}.risk-item{background:#fff;border:1px solid var(--line);border-radius:18px;padding:15px;box-shadow:var(--shadow-xs)}.risk-item b{display:block;color:var(--ink);font-size:15px}.risk-item p{color:var(--muted);font-size:13px;margin:4px 0 12px}.risk-options{display:flex;gap:8px;flex-wrap:wrap}.risk-options label{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line);border-radius:999px;padding:8px 10px;font-size:12px;font-weight:900;color:var(--espresso-800);background:#fff;cursor:pointer}.risk-options input{accent-color:var(--brick)}.risk-thermo{height:14px;background:#f1e6d8;border-radius:999px;overflow:hidden;margin:10px 0}.risk-thermo-fill{display:block;height:100%;width:0;background:linear-gradient(90deg,#A63A2A,var(--gold-600),var(--brick));border-radius:999px;transition:width .2s}.fx-custom-note{margin-top:18px}.fx-custom-note label{font-weight:950;color:var(--ink);display:block;margin-bottom:8px}.fx-custom-note textarea{width:100%;border:1px solid var(--line);border-radius:16px;padding:12px 14px;font:inherit;color:var(--ink);background:#fff;resize:vertical}.fx-custom-note small{display:block;color:var(--muted);font-size:12px;margin-top:6px}.pack-progress{background:#fff7e8;border:1px solid #edd1a2;border-radius:18px;padding:12px;margin:12px 0}.pack-progress b{display:block;color:var(--espresso-800);margin-bottom:8px}.pack-check{display:grid;grid-template-columns:22px 42px 1fr;gap:12px;align-items:start;background:#fff;border:1px solid var(--line);border-radius:18px;padding:14px;margin-bottom:10px;box-shadow:var(--shadow-xs);cursor:pointer}.pack-check input{width:20px;height:20px;accent-color:var(--brick);margin-top:8px}.pack-check .num{width:38px;height:38px;border-radius:13px;background:var(--espresso-900);color:var(--gold-500);display:grid;place-items:center;font-weight:950;font-variant-numeric:tabular-nums}.pack-check b{display:block;color:var(--ink)}.pack-check em{display:block;color:var(--muted);font-style:normal;font-size:13px;margin-top:3px}.pack-check.done{border-color:#b7decf;background:#f4fbf7}.impact-input-row{display:flex;align-items:center;gap:10px;margin:12px 0}.impact-input-row input{max-width:180px;border:1px solid var(--line);border-radius:16px;padding:14px 16px;font-size:22px;font-weight:950;color:var(--ink);font-variant-numeric:tabular-nums}.impact-input-row span{font-size:20px;font-weight:950;color:var(--espresso-800)}.radar-timeline{display:grid;gap:14px}.radar-page .bar-track{background:#f0e3d4}.radar-page .bar-fill{display:block;background:linear-gradient(90deg,var(--espresso-900),var(--brick),var(--gold-600));min-width:5%;box-shadow:inset 0 0 0 1px rgba(255,255,255,.2)}.fx-news-card a,.timeline-body a{color:var(--brick);font-weight:950;text-decoration:none}.fx-news-card a:hover,.timeline-body a:hover{text-decoration:underline}@media(max-width:960px){.calc-sensitivity-grid{grid-template-columns:1fr 1fr}.calc-sensitivity-grid .current{grid-column:1/-1}.risk-options{flex-direction:column}.risk-options label{width:100%}}@media(max-width:560px){.calc-sensitivity-grid{grid-template-columns:1fr}.pack-check{grid-template-columns:22px 34px 1fr}.sample-actions button{width:100%}}

/* v7.1 radar filter status note */
.fx-data-note{display:inline-flex;align-items:center;min-height:42px;border:1px solid rgba(214,163,84,.35);background:#fbf7ef;color:#5D4037;border-radius:999px;padding:8px 14px;font-size:.88rem;font-weight:800;white-space:normal;}
@media(max-width:760px){.fx-data-note{width:100%;border-radius:16px;justify-content:center;text-align:center;}}


/* === Core Tools V8: second-layer functional linking modules === */
.v8-tool-section{max-width:1100px;margin:34px auto;padding:0 20px;}
.v8-card{background:#fff;border:1px solid #e5d7c8;border-radius:22px;padding:24px;box-shadow:0 14px 36px rgba(43,26,22,.07);color:#2b1a16;}
.v8-card h2,.v8-card h3{color:#241715;margin-top:0;line-height:1.35}.v8-card p{color:#5f4a42}.v8-eyebrow{font-size:12px;font-weight:900;letter-spacing:.14em;color:#a63a2a;text-transform:uppercase;margin-bottom:8px}.v8-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.v8-grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.v8-mini{background:#fffaf2;border:1px solid #eadac8;border-radius:16px;padding:16px;color:#2b1a16}.v8-mini b{display:block;margin-bottom:6px;color:#241715}.v8-mini span,.v8-mini p{font-size:14px;color:#6d554b}.v8-form{display:grid;gap:12px}.v8-field label{display:block;font-weight:900;color:#2b1a16;margin-bottom:6px}.v8-field input,.v8-field select,.v8-field textarea{width:100%;min-height:46px;border:1px solid #d9c7b8;border-radius:12px;background:#fff;color:#241715;padding:10px 12px;font-size:16px}.v8-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px}.v8-btn{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;min-height:44px;padding:10px 18px;background:#a63a2a;color:#fff!important;font-weight:900;text-decoration:none;cursor:pointer}.v8-btn.secondary{background:#fff;border:1px solid #d6a354;color:#2b1a16!important}.v8-result{background:#fbf7ef;border:1px solid #e8d8c6;border-radius:16px;padding:16px;margin-top:14px;color:#2b1a16}.v8-result strong{color:#a63a2a}.v8-note{font-size:13.5px;color:#6d554b;background:#fff7ed;border:1px solid #efd4b6;border-radius:14px;padding:12px;margin-top:12px}.v8-progress{height:12px;background:#efe4d8;border-radius:999px;overflow:hidden}.v8-progress i{display:block;height:100%;width:0%;background:linear-gradient(90deg,#d6a354,#a63a2a);border-radius:999px;transition:width .2s}.v8-status-row{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:center}.v8-big{font-size:28px;line-height:1.1;font-weight:900;color:#2b1a16}.v8-task{border:1px solid #eadac8;background:#fff;border-radius:14px;padding:14px;margin:10px 0}.v8-task b{display:block;color:#2b1a16}.v8-task a{color:#a63a2a;font-weight:900}.v8-stepbar{max-width:980px;margin:-28px auto 20px;padding:0 20px;position:relative;z-index:3}.v8-stepbar-inner{background:#fff;border:1px solid #e3d3c4;border-radius:18px;padding:14px;box-shadow:0 14px 34px rgba(33,24,21,.08)}.v8-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.v8-step{background:#fbf7ef;border:1px solid #eadac8;border-radius:14px;padding:12px}.v8-step b{display:block;color:#241715}.v8-step span{font-size:13px;color:#6d554b}.v8-step.done{border-color:#d6a354;background:#fff7e6}.v8-summary{background:#fff;border:1px solid #e3d3c4;border-radius:18px;padding:18px;margin-top:18px}.v8-summary ul{margin:8px 0 0;padding-left:20px;color:#4d3a33}.v8-series{background:linear-gradient(135deg,#fffaf2,#f4e5cf);border:1px solid #e6d4c2;border-radius:22px;padding:24px;margin:34px auto;max-width:1100px}.v8-series h2{margin-top:0}.v8-series .v8-grid-3 a{display:block;text-decoration:none}.v8-alert{background:#fff0ee;border:1px solid #e9b9b0;border-radius:14px;padding:12px;color:#7a271f}.v8-copy-status{font-size:13px;color:#A63A2A;font-weight:800;margin-top:8px}@media(max-width:760px){.v8-grid,.v8-grid-3,.v8-steps{grid-template-columns:1fr}.v8-tool-section{padding:0 16px}.v8-card{padding:20px}.v8-big{font-size:24px}}


/* v8.2 polish: legacy hero/header and article footer modules */
.hd-redesign-hero{
  position:relative;
  overflow:hidden;
  background:radial-gradient(circle at 78% 12%, rgba(214,163,84,.20), transparent 34%),linear-gradient(135deg,var(--espresso-950,#1f1512),var(--espresso-800,#3E2723));
  color:#fff;
  padding:64px 0 72px;
  border-bottom:1px solid rgba(214,163,84,.22);
}
.hd-redesign-hero:before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(rgba(255,255,255,.035) 1px, transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px, transparent 1px);
  background-size:64px 64px;
  opacity:.45;
  pointer-events:none;
}
.hd-redesign-hero .hd-wrap{
  position:relative;
  z-index:1;
  max-width:var(--max,1180px);
  margin:0 auto;
  padding:0 24px;
}
.hd-crumb{
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:wrap;
  color:rgba(255,255,255,.72)!important;
  font-size:13px;
  font-weight:750;
  margin-bottom:16px;
}
.hd-crumb a{color:var(--gold-500,#E9C46A)!important;text-decoration:none;font-weight:900;}
.hd-badge{
  display:inline-flex;
  align-items:center;
  gap:8px;
  border:1px solid rgba(214,163,84,.45);
  background:rgba(255,255,255,.08);
  color:var(--gold-500,#E9C46A)!important;
  border-radius:999px;
  padding:7px 14px;
  font-size:12px;
  letter-spacing:.12em;
  font-weight:950;
  margin-bottom:18px;
}
.hd-redesign-hero h1{
  max-width:900px;
  margin:0 0 16px!important;
  color:#fff!important;
  font-size:clamp(32px,5vw,56px)!important;
  line-height:1.16!important;
  letter-spacing:-.03em;
  font-weight:950!important;
}
.hd-redesign-hero h1 em{display:block;color:var(--gold-500,#E9C46A);font-style:normal;}
.hd-redesign-hero .hd-lede,
.hd-redesign-hero p{
  max-width:920px;
  color:rgba(255,255,255,.88)!important;
  font-size:17px!important;
  line-height:1.9!important;
  margin:0!important;
}
.hd-hero-note{
  max-width:980px;
  margin-top:22px;
  padding:16px 18px;
  border:1px solid rgba(233,196,106,.28);
  border-left:4px solid var(--gold-600,#D6A354);
  border-radius:16px;
  background:rgba(255,255,255,.08);
  color:rgba(255,255,255,.92)!important;
  line-height:1.75;
}
.hd-hero-note b{color:var(--gold-500,#E9C46A)!important;}
.hd-footer-trust{
  max-width:var(--max,1180px);
  margin:42px auto 0;
  padding:0 24px 42px;
}
.hd-footer-trust .meta{
  background:#fff;
  border:1px solid var(--line,#E6D7C7);
  border-radius:22px;
  padding:24px 26px;
  box-shadow:0 14px 34px rgba(31,21,18,.06);
}
.hd-footer-trust .meta p{
  margin:0 0 8px!important;
  color:var(--text,#3f2f2a)!important;
  font-size:14px!important;
  line-height:1.75!important;
}
.hd-footer-trust .meta p:last-child{margin-bottom:0!important;}
.hd-footer-trust .meta b{color:var(--ink,#211815)!important;}
.hd-footer-trust .actions{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:16px;
}
.hd-footer-trust .actions a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:42px;
  border-radius:999px;
  padding:10px 16px;
  background:var(--paper,#fffdf8);
  border:1px solid var(--line,#E6D7C7);
  color:var(--espresso-900,#2B1A16)!important;
  font-weight:900;
  text-decoration:none;
}
.hd-footer-trust .actions a:first-child{
  background:var(--brick,#A63A2A);
  border-color:var(--brick,#A63A2A);
  color:#fff!important;
  box-shadow:0 12px 24px rgba(166,58,42,.14);
}
.hd-footer-trust + footer,
footer:not(.site-footer){
  text-align:center;
  background:var(--espresso-950,#1f1512)!important;
  color:rgba(255,255,255,.82)!important;
  padding:34px 20px 88px!important;
  margin-top:0!important;
}
@media(max-width:760px){
  .hd-redesign-hero{padding:46px 0 54px;}
  .hd-redesign-hero .hd-wrap{padding:0 18px;}
  .hd-redesign-hero h1{font-size:clamp(28px,10vw,40px)!important;}
  .hd-redesign-hero .hd-lede,.hd-redesign-hero p{font-size:15px!important;}
  .hd-footer-trust{padding:0 18px 34px;margin-top:30px;}
  .hd-footer-trust .meta{padding:20px;border-radius:18px;}
  .hd-footer-trust .actions a{width:100%;}
}


/* === HappyDo v9 next-wave functional modules === */
.hd-next-section,.v9-section{max-width:1120px;margin:36px auto;padding:0 22px;color:var(--happydo-coffee-900,#2B1A16)}
.hd-next-section .hd-wrap{max-width:1120px;margin:0 auto}.hd-sec-head{margin:0 0 18px}.hd-eyebrow2,.v9-eyebrow{font-size:12px;font-weight:900;letter-spacing:1.8px;text-transform:uppercase;color:var(--happydo-brick,#A63A2A);margin:0 0 8px}.hd-sec-head h2,.v9-section h2{font-size:clamp(24px,3vw,34px);line-height:1.25;color:var(--happydo-coffee-900,#2B1A16);margin:0 0 8px}.hd-next-grid,.v9-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.hd-next-card,.v9-card{background:#fff;border:1px solid var(--happydo-line,#E2D6C5);border-radius:22px;padding:22px;color:var(--happydo-coffee-900,#2B1A16)!important;text-decoration:none!important;box-shadow:0 14px 34px rgba(43,26,22,.07);display:block}.hd-next-card .icon,.v9-card .icon{font-size:26px;margin-bottom:10px}.hd-next-card h3,.v9-card h3{font-size:19px;margin:0 0 8px;color:var(--happydo-coffee-900,#2B1A16)!important}.hd-next-card p,.v9-card p{font-size:14px;line-height:1.75;margin:0 0 14px;color:var(--happydo-coffee-700,#5D4037)!important}.hd-next-card .go,.v9-card .go{font-weight:900;color:var(--happydo-brick,#A63A2A)!important}.hd-redesign-footer,.site-footer-min{background:var(--happydo-coffee-950,#211815)!important;color:#fff!important;text-align:center;padding:34px 18px;margin-top:44px}.hd-foot-links{display:flex;justify-content:center;gap:18px;flex-wrap:wrap;margin-bottom:12px}.hd-foot-links a{color:#F9F3E9!important;font-weight:800;text-decoration:none}.v9-tool-panel{background:#fff;border:1px solid var(--happydo-line,#E2D6C5);border-radius:24px;padding:24px;box-shadow:0 16px 40px rgba(43,26,22,.07);margin:24px auto}.v9-two{display:grid;grid-template-columns:1fr 1fr;gap:18px}.v9-btn{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;background:var(--happydo-brick,#A63A2A);color:#fff!important;padding:12px 18px;font-weight:900;text-decoration:none;cursor:pointer;min-height:46px}.v9-btn.secondary{background:#fff;color:var(--happydo-coffee-900,#2B1A16)!important;border:1px solid var(--happydo-line,#E2D6C5)}.v9-status{font-size:13px;color:#A63A2A;font-weight:900;margin-top:10px}.v9-input,.v9-select{width:100%;border:1px solid var(--happydo-line,#E2D6C5);border-radius:14px;padding:12px 14px;background:#fff;color:var(--happydo-coffee-900,#2B1A16);font:inherit}.v9-textarea{width:100%;min-height:110px;border:1px solid var(--happydo-line,#E2D6C5);border-radius:14px;padding:12px 14px;font:inherit;line-height:1.75}.v9-chip-row{display:flex;gap:10px;flex-wrap:wrap}.v9-chip{border:1px solid var(--happydo-line,#E2D6C5);background:#FBF7EF;border-radius:999px;padding:8px 12px;font-weight:900;color:var(--happydo-coffee-900,#2B1A16)}
.v9-radar-wrap{margin:18px 0;padding:18px;border:1px solid var(--happydo-line,#E2D6C5);border-radius:18px;background:#FBF7EF;display:grid;grid-template-columns:220px 1fr;gap:18px;align-items:center}.v9-radar-svg{width:220px;height:220px}.v9-radar-axis{stroke:#E2D6C5;stroke-width:1}.v9-radar-poly{fill:rgba(166,58,42,.26);stroke:#A63A2A;stroke-width:3}.v9-radar-list{display:grid;gap:8px}.v9-radar-item{display:grid;grid-template-columns:96px 1fr 42px;gap:8px;align-items:center;font-size:13px;font-weight:800}.v9-mini-track{height:10px;border-radius:999px;background:#F0E5D8;overflow:hidden}.v9-mini-fill{height:100%;border-radius:999px;background:linear-gradient(90deg,#2B1A16,#A63A2A,#D6A354)}
.v9-result-card{border:1px solid var(--happydo-line,#E2D6C5);border-radius:22px;background:linear-gradient(135deg,#fff,#FBF7EF);padding:18px;margin:18px 0}.v9-result-card h3{margin:0 0 6px;color:var(--happydo-coffee-900,#2B1A16)}.v9-result-path{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:14px}.v9-path-step{border:1px solid var(--happydo-line,#E2D6C5);border-radius:16px;padding:12px;background:#fff}.v9-path-step b{display:block;color:var(--happydo-brick,#A63A2A);font-size:13px;margin-bottom:4px}.v9-case-chart{display:grid;gap:10px;margin:14px 0}.v9-case-row{display:grid;grid-template-columns:120px 1fr 64px;gap:10px;align-items:center}.v9-bar-track{height:14px;border-radius:999px;background:#F0E5D8;overflow:hidden}.v9-bar-fill{height:100%;background:linear-gradient(90deg,#2B1A16,#A63A2A,#D6A354);border-radius:999px}.v9-quiz-options{display:grid;gap:10px;margin:14px 0}.v9-quiz-options label{display:flex;gap:10px;align-items:center;background:#fff;border:1px solid var(--happydo-line,#E2D6C5);border-radius:16px;padding:12px 14px;font-weight:800}.v9-alert-list{display:grid;gap:10px;margin:14px 0}.v9-alert-item{border:1px solid #f0c9bf;background:#fff7f4;border-radius:16px;padding:14px}.v9-alert-item b{color:#A63A2A}.v9-stage-filter{display:flex;gap:10px;flex-wrap:wrap;margin:18px auto 8px;max-width:1120px;padding:0 22px}.v9-stage-filter button{border:1px solid var(--happydo-line,#E2D6C5);border-radius:999px;background:#fff;padding:10px 14px;font-weight:900;color:var(--happydo-coffee-900,#2B1A16);cursor:pointer}.v9-stage-filter button.active{background:var(--happydo-coffee-900,#2B1A16);color:#fff}.art-card.v9-hide{display:none!important}.v9-stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:18px 0}.v9-stat{background:#fff;border:1px solid var(--happydo-line,#E2D6C5);border-radius:18px;padding:18px}.v9-stat b{display:block;font-size:28px;color:var(--happydo-brick,#A63A2A);line-height:1}.v9-stat span{display:block;font-size:13px;color:var(--happydo-coffee-700,#5D4037);margin-top:8px}.v9-timeline{display:grid;gap:12px;margin-top:16px}.v9-timeline li{list-style:none;background:#fff;border:1px solid var(--happydo-line,#E2D6C5);border-radius:16px;padding:14px 16px}.v9-timeline b{color:var(--happydo-brick,#A63A2A)}
.hd-footer-trust{max-width:1120px;margin:34px auto 0;padding:24px;background:#fff;border:1px solid var(--happydo-line,#E2D6C5);border-radius:22px;color:var(--happydo-coffee-900,#2B1A16);display:grid;grid-template-columns:1.5fr .8fr;gap:18px}.hd-footer-trust .meta p{margin:0 0 8px}.hd-footer-trust .actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.hd-footer-trust .actions a{display:inline-flex;background:var(--happydo-brick,#A63A2A);color:#fff!important;border-radius:999px;padding:10px 14px;font-weight:900;text-decoration:none}.site-footer-min{font-weight:900}.page-tail,.article-footer,.meta-footer{background:#fff;border:1px solid var(--happydo-line,#E2D6C5);border-radius:22px;padding:22px;color:var(--happydo-coffee-900,#2B1A16)}
@media(max-width:860px){.hd-next-grid,.v9-grid,.v9-two,.v9-result-path,.v9-stats-grid{grid-template-columns:1fr}.v9-radar-wrap{grid-template-columns:1fr}.v9-radar-svg{margin:auto}.hd-footer-trust{grid-template-columns:1fr}.v9-case-row{grid-template-columns:88px 1fr 50px}.v9-radar-item{grid-template-columns:86px 1fr 38px}}


/* === HappyDo v9.1 article page polish: related/footer/contrast === */
.hd-related{max-width:1120px;margin:42px auto 0;padding:0 22px;background:transparent!important;border:0!important;}
.hd-related-inner{background:#fff;border:1px solid var(--happydo-line,#E2D6C5);border-radius:24px;padding:26px;box-shadow:0 16px 38px rgba(43,26,22,.07);}
.hd-related h2{margin:0 0 16px!important;color:var(--happydo-coffee-900,#2B1A16)!important;font-size:clamp(22px,3vw,30px)!important;line-height:1.25!important;}
.hd-related-grid{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px!important;}
.hd-related-grid a{display:flex!important;align-items:center;justify-content:center;min-height:48px;border-radius:999px;border:1px solid var(--happydo-line,#E2D6C5);background:#FBF7EF;color:var(--happydo-coffee-900,#2B1A16)!important;font-weight:900;text-decoration:none!important;padding:10px 14px;line-height:1.35;text-align:center;}
.hd-related-grid a:hover{border-color:var(--happydo-brick,#A63A2A);background:#fff7ed;color:var(--happydo-brick,#A63A2A)!important;}
.share-row{max-width:1120px!important;margin:24px auto 0!important;padding:18px 22px!important;background:#fff!important;border:1px solid var(--happydo-line,#E2D6C5)!important;border-radius:20px!important;box-shadow:0 12px 30px rgba(43,26,22,.05)!important;}
.hd-footer-trust{max-width:1120px;margin:28px auto 0;padding:0 22px;display:grid;gap:14px;}
.hd-footer-trust .meta{background:#fff;border:1px solid var(--happydo-line,#E2D6C5);border-radius:22px;padding:22px;color:var(--happydo-coffee-700,#5D4037)!important;}
.hd-footer-trust b,.hd-footer-trust strong{color:var(--happydo-coffee-900,#2B1A16)!important;}
.hd-footer-trust .actions{background:#fff;border:1px solid var(--happydo-line,#E2D6C5);border-radius:22px;padding:18px;display:flex;gap:10px;flex-wrap:wrap;align-items:center;}
.hd-footer-trust .actions a{display:inline-flex;background:#A63A2A!important;color:#fff!important;border-radius:999px;padding:10px 15px;font-weight:900;text-decoration:none;}
.hd-enhance-box{background:linear-gradient(135deg,#fffaf2,#f4e5cf)!important;border:1px solid #E2D6C5!important;border-left:6px solid #D6A354!important;border-radius:24px!important;color:#2B1A16!important;box-shadow:0 16px 40px rgba(43,26,22,.06)!important;}
.hd-enhance-box h2,.hd-enhance-box h3,.hd-enhance-box p,.hd-enhance-box .hd-eyebrow{color:#2B1A16!important;text-shadow:none!important;}
.hd-enhance-box p{color:#5D4037!important;}
.hd-mini-card,.hd-warning-card{background:#fff!important;border:1px solid #E2D6C5!important;color:#2B1A16!important;}
.hd-mini-card b,.hd-warning-card b{color:#A63A2A!important;}
.hd-mini-card span,.hd-warning-card span{color:#5D4037!important;}
.ns-sec{border-top:0!important;background:transparent!important;padding:32px 22px!important;}
.ns-in{max-width:1120px!important;background:#fff;border:1px solid var(--happydo-line,#E2D6C5);border-radius:24px;padding:24px;box-shadow:0 14px 34px rgba(43,26,22,.06);}
.ns-title{color:var(--happydo-coffee-900,#2B1A16)!important;}
.ns-card{box-shadow:none!important;}
footer{margin-top:46px!important;background:#211815!important;color:#F9F3E9!important;}
footer a{color:#D6A354!important;}
@media(max-width:760px){.hd-related-grid{grid-template-columns:1fr!important}.share-row,.hd-footer-trust .actions{align-items:stretch}.share-btn,.hd-footer-trust .actions a{width:100%;justify-content:center}.ns-grid{grid-template-columns:1fr!important}}

/* v9.2 clean article page polish */
.article-page .v9-section p.muted{color:var(--muted);font-size:15px;line-height:1.8;margin:0 0 14px}
.article-page .v9-tool-panel{margin-top:18px}
.article-page .fx-output-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}
.article-page .note.info strong{color:var(--ink)}
.article-page .card{height:100%}
.article-page .next-band{margin-top:20px;margin-bottom:48px}
.article-page .fx-result p{color:var(--text)!important;line-height:1.8}


/* === HappyDo v10 page polish + next-wave safe tools === */
.about-clean-bottom{max-width:1120px;margin:34px auto 0;padding:0 22px;display:grid;grid-template-columns:1.35fr .65fr;gap:18px;color:#2B1A16}
.about-clean-meta,.about-clean-actions{background:#fff;border:1px solid #E2D6C5;border-radius:24px;box-shadow:0 14px 34px rgba(43,26,22,.06);padding:22px}
.about-clean-meta p{margin:0 0 10px;line-height:1.8;color:#5D4037}.about-clean-meta b{color:#2B1A16}.about-clean-actions{display:flex;gap:12px;flex-wrap:wrap;align-items:center;align-content:center}.about-clean-actions a{display:inline-flex;align-items:center;justify-content:center;min-height:46px;border-radius:999px;background:#A63A2A;color:#fff!important;font-weight:900;text-decoration:none;padding:10px 16px}.about-clean-actions a:nth-child(2){background:#fff;color:#2B1A16!important;border:1px solid #E2D6C5}
.v10-section{max-width:1120px;margin:42px auto;padding:0 22px;color:#2B1A16}.v10-head{margin:0 0 18px}.v10-kicker{margin:0 0 8px;color:#A63A2A;font-weight:900;letter-spacing:1.8px;font-size:12px;text-transform:uppercase}.v10-head h2{margin:0 0 8px;font-size:clamp(24px,3vw,34px);line-height:1.28;color:#2B1A16}.v10-head p{margin:0;color:#5D4037;line-height:1.8}.v10-tax-grid,.v10-key-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.v10-tax-card,.v10-key-grid article,.v10-question-box,.v10-approval-grid,.v10-history-wrap,.v10-hotword-box{background:#fff;border:1px solid #E2D6C5;border-radius:22px;box-shadow:0 14px 34px rgba(43,26,22,.06);padding:20px}.v10-tax-card span,.v10-key-grid span{display:inline-flex;width:34px;height:34px;border-radius:10px;align-items:center;justify-content:center;background:#2B1A16;color:#D6A354;font-weight:900;margin-bottom:10px}.v10-tax-card h3,.v10-key-grid h3{margin:0 0 8px;color:#2B1A16;font-size:19px}.v10-tax-card p,.v10-key-grid p{margin:0 0 12px;color:#5D4037;line-height:1.8}.v10-tax-card b{display:block;color:#A63A2A;line-height:1.65}.v10-tax-questions{margin-top:16px}.v10-tax-questions ol,.v10-question-box ol{margin:10px 0 0;padding-left:22px;color:#3E2723;line-height:1.9}.v10-inline-cta{display:flex;gap:12px;flex-wrap:wrap;margin-top:16px}.v10-inline-cta a,.v10-lite-btn{display:inline-flex;align-items:center;justify-content:center;min-height:44px;border-radius:999px;border:1px solid #E2D6C5;background:#fff;color:#2B1A16!important;font-weight:900;text-decoration:none;padding:10px 16px;cursor:pointer}.v10-inline-cta a:first-child{background:#A63A2A;color:#fff!important;border-color:#A63A2A}.v10-approval-grid{display:grid;grid-template-columns:240px 1fr;gap:22px;align-items:center}.v10-donut{width:220px;height:220px;border-radius:50%;background:conic-gradient(#A63A2A 0 24%,#D6A354 24% 62%,#E9D9BF 62% 100%);display:flex;align-items:center;justify-content:center;box-shadow:inset 0 0 0 34px #fff,0 14px 34px rgba(43,26,22,.08);margin:auto}.v10-donut span{text-align:center;font-weight:900;color:#2B1A16;line-height:1.45}.v10-status-list{display:grid;gap:12px}.v10-status-list div{background:#FBF7EF;border:1px solid #E2D6C5;border-radius:16px;padding:14px}.v10-status-list b{display:block;color:#A63A2A;margin-bottom:4px}.v10-status-list p{margin:0;color:#5D4037;line-height:1.75}.v10-route-compare{margin:16px 0;padding:14px 16px;border-radius:16px;border:1px solid #E2D6C5;background:#fffaf2;color:#5D4037;line-height:1.75}.v10-route-compare b{color:#2B1A16}.v10-history-wrap{display:flex;justify-content:space-between;align-items:center;gap:14px}.v10-chip-cloud{display:flex;gap:10px;flex-wrap:wrap}.v10-chip-cloud button,.v10-hotword-box button{border:1px solid #E2D6C5;border-radius:999px;background:#FBF7EF;color:#2B1A16;font-weight:900;padding:8px 12px;cursor:pointer}.v10-muted{color:#6D554B}.v10-hotword-box{margin-top:14px;display:flex;gap:10px;flex-wrap:wrap;align-items:center;color:#2B1A16}.v10-hotword-box b{margin-right:4px;color:#2B1A16}
@media(max-width:860px){.about-clean-bottom,.v10-tax-grid,.v10-key-grid,.v10-approval-grid{grid-template-columns:1fr}.about-clean-actions a{width:100%}.v10-donut{width:190px;height:190px}.v10-history-wrap{align-items:stretch;flex-direction:column}.v10-lite-btn{width:100%}}


/* === HappyDo v10.1 real-price renewal gap connector === */
.rpg-area-panel{background:#fff;border:1px solid #E2D6C5;border-radius:28px;box-shadow:0 18px 44px rgba(43,26,22,.07);padding:24px;margin:0 0 22px;color:#2B1A16;position:relative;overflow:hidden}
.rpg-area-panel:before{content:"";position:absolute;inset:0 0 auto 0;height:6px;background:linear-gradient(90deg,#A63A2A,#D6A354);pointer-events:none}.rpg-area-head{margin:0 0 16px}.rpg-area-head h2{margin:0 0 8px;font-size:clamp(22px,3vw,30px);line-height:1.25;color:#2B1A16}.rpg-area-head p{margin:0;color:#5D4037;line-height:1.8}.rpg-area-toolbar{display:grid;grid-template-columns:120px minmax(0,1fr);gap:12px;align-items:center;margin:16px 0}.rpg-select-label{font-weight:900;color:#2B1A16}.rpg-area-select{width:100%;border:1px solid #E2D6C5;border-radius:16px;background:#fffdf8;color:#2B1A16;font-weight:800;padding:12px 14px;font:inherit}.rpg-area-pills{display:flex;gap:10px;flex-wrap:wrap;margin:14px 0 18px}.rpg-area-pill{border:1px solid #E2D6C5;background:#FBF7EF;color:#2B1A16;border-radius:999px;padding:9px 13px;font-weight:900;cursor:pointer}.rpg-area-pill span{font-size:11px;color:#A63A2A;margin-right:4px}.rpg-area-pill.active{background:#2B1A16;color:#fff;border-color:#2B1A16}.rpg-area-pill.active span{color:#D6A354}.rpg-area-card{background:linear-gradient(135deg,#fffaf2,#f6ead8);border:1px solid #E2D6C5;border-radius:24px;padding:20px}.rpg-area-card-main{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px;align-items:start}.rpg-area-tag{display:inline-flex;background:#2B1A16;color:#D6A354;border-radius:999px;padding:6px 10px;font-size:12px;font-weight:900;margin-bottom:10px}.rpg-area-card h3{margin:0 0 8px;color:#2B1A16;font-size:22px}.rpg-area-card p{margin:0;color:#5D4037;line-height:1.75}.rpg-area-card p b{color:#A63A2A}.rpg-area-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}.rpg-copy-btn,.rpg-calc-btn,.rpg-table-actions button,.rpg-table-actions a{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;border:1px solid #E2D6C5;background:#fff;color:#2B1A16!important;font-weight:900;text-decoration:none;cursor:pointer;min-height:42px;padding:9px 14px;white-space:nowrap}.rpg-calc-btn,.rpg-table-actions a{background:#A63A2A;border-color:#A63A2A;color:#fff!important}.rpg-area-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:16px}.rpg-area-metrics div{background:#fff;border:1px solid #E2D6C5;border-radius:18px;padding:14px}.rpg-area-metrics small{display:block;font-size:12px;color:#6D554B;font-weight:800;margin-bottom:6px}.rpg-area-metrics b{display:block;font-size:24px;color:#A63A2A;line-height:1}.rpg-area-metrics span{display:block;color:#5D4037;font-size:12px;margin-top:6px}.rpg-area-note{margin-top:14px;padding:12px 14px;border-radius:16px;background:#fff;border:1px dashed #D6A354;color:#5D4037;line-height:1.75;font-size:14px}.rpg-copy-toast{display:none;position:fixed;left:50%;bottom:24px;transform:translateX(-50%);z-index:50;background:#2B1A16;color:#fff;border-radius:999px;padding:12px 18px;font-weight:900;box-shadow:0 18px 44px rgba(43,26,22,.18);max-width:min(92vw,680px);text-align:center}.rpg-copy-toast.show{display:block}.rpg-table-actions{min-width:144px}.rpg-table-actions button,.rpg-table-actions a{min-height:34px;padding:7px 10px;font-size:12px;margin:2px}.rpg-table tr.selected{outline:2px solid rgba(166,58,42,.42);outline-offset:-2px;background:#fff7ed}.calc-prefill-note{background:linear-gradient(135deg,#fff7ed,#fffdf8);border:1px solid #D6A354;border-radius:22px;padding:18px 20px;margin:18px 0;color:#2B1A16;box-shadow:0 12px 30px rgba(43,26,22,.06)}.calc-prefill-note b{display:block;margin-bottom:6px;color:#A63A2A;font-size:16px}.calc-prefill-note p{margin:0 0 12px;color:#5D4037;line-height:1.8}.calc-prefill-note a{display:inline-flex;border-radius:999px;background:#fff;border:1px solid #E2D6C5;color:#2B1A16!important;text-decoration:none;font-weight:900;padding:8px 12px}
@media(max-width:860px){.rpg-area-toolbar,.rpg-area-card-main,.rpg-area-metrics{grid-template-columns:1fr}.rpg-area-actions{justify-content:stretch}.rpg-copy-btn,.rpg-calc-btn{width:100%}.rpg-table-actions{min-width:120px}.rpg-copy-toast{bottom:86px;border-radius:18px}}

/* === HappyDo v10.2 legacy article component repair ===
   Scope: repair early article pages that use hd-enhance-box / callout.navy.
   Safety: CSS-only. No HTML, aria-label, JavaScript, calculator formula, spacing framework, or content logic changes.
*/
.hd-article-page article .hd-enhance-box{
  display:block!important;
  margin:28px 0!important;
  padding:24px 28px!important;
  background:linear-gradient(135deg,#fffaf2,#f4e5cf)!important;
  border:1px solid #E2D6C5!important;
  border-left:6px solid #D6A354!important;
  border-radius:24px!important;
  color:#2B1A16!important;
  box-shadow:0 16px 40px rgba(43,26,22,.06)!important;
  overflow:hidden!important;
}
.hd-article-page article .hd-enhance-box .hd-eyebrow{
  display:inline-flex!important;
  align-items:center!important;
  width:auto!important;
  margin:0 0 12px!important;
  padding:5px 12px!important;
  border:1px solid rgba(214,163,84,.45)!important;
  border-radius:999px!important;
  background:#FFF7ED!important;
  color:#8A5A13!important;
  font-size:11px!important;
  line-height:1.2!important;
  font-weight:950!important;
  letter-spacing:.16em!important;
  text-transform:uppercase!important;
  text-shadow:none!important;
}
.hd-article-page article .hd-enhance-box h2,
.hd-article-page article .hd-enhance-box h3{
  margin:0 0 12px!important;
  padding:0!important;
  border-left:0!important;
  color:#2B1A16!important;
  font-size:clamp(22px,3vw,30px)!important;
  line-height:1.35!important;
  font-weight:950!important;
  text-shadow:none!important;
}
.hd-article-page article .hd-enhance-box p,
.hd-article-page article .hd-enhance-box li{
  margin:0!important;
  max-width:none!important;
  color:#5D4037!important;
  font-size:16px!important;
  line-height:1.85!important;
  text-shadow:none!important;
}
.hd-article-page article .hd-grid-2{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:14px!important;
  margin-top:14px!important;
}
.hd-article-page article .hd-mini-card,
.hd-article-page article .hd-warning-card{
  display:block!important;
  padding:17px 18px!important;
  border:1px solid #E2D6C5!important;
  border-radius:18px!important;
  background:#fff!important;
  color:#2B1A16!important;
  box-shadow:none!important;
}
.hd-article-page article .hd-mini-card b,
.hd-article-page article .hd-warning-card b{
  display:block!important;
  margin:0 0 6px!important;
  color:#A63A2A!important;
  font-size:15px!important;
  line-height:1.5!important;
  font-weight:950!important;
}
.hd-article-page article .hd-mini-card span,
.hd-article-page article .hd-warning-card span,
.hd-article-page article .hd-mini-card p,
.hd-article-page article .hd-warning-card p{
  display:block!important;
  margin:0!important;
  color:#5D4037!important;
  font-size:14px!important;
  line-height:1.75!important;
}
.hd-article-page article .hd-checklist{
  display:grid!important;
  gap:10px!important;
  margin:14px 0 0!important;
  padding:0!important;
}
.hd-article-page article .hd-checkitem{
  display:flex!important;
  gap:10px!important;
  align-items:flex-start!important;
  padding:12px 13px!important;
  border:1px solid #edf2f7!important;
  border-radius:14px!important;
  background:#fff!important;
  color:#475569!important;
  font-size:14px!important;
  line-height:1.7!important;
  font-weight:750!important;
}
.hd-article-page article .hd-checkitem::before{
  content:'✓'!important;
  flex:0 0 auto!important;
  width:21px!important;
  height:21px!important;
  display:grid!important;
  place-items:center!important;
  border-radius:999px!important;
  background:#fff1e8!important;
  color:#A63A2A!important;
  font-size:12px!important;
  font-weight:950!important;
  margin-top:2px!important;
}
/* Fix article-2026-comparison empty-looking recommendation box caused by legacy .navy li { color:white!important }. */
.hd-article-page article .callout.navy{
  min-height:0!important;
  background:#fff!important;
  border:1px solid #fed7aa!important;
  border-left:6px solid #2B1A16!important;
  color:#3E2723!important;
}
.hd-article-page article .callout.navy h3{
  color:#2B1A16!important;
  text-shadow:none!important;
}
.hd-article-page article .callout.navy ul,
.hd-article-page article .callout.navy li,
.hd-article-page article .callout.navy strong{
  color:#3E2723!important;
  text-shadow:none!important;
}
/* Fix article-rights-vs-agreement gradient conclusion label, without changing light summary boxes on other pages. */
.hd-redesign-page article .summary,
.hd-redesign-page article .summary p,
.hd-redesign-page article .summary strong{
  color:#fff!important;
  text-shadow:none!important;
}
@media(max-width:760px){
  .hd-article-page article .hd-enhance-box{padding:20px!important;border-radius:20px!important;}
  .hd-article-page article .hd-grid-2{grid-template-columns:1fr!important;}
}

/* =========================================================
   v20 Brand Functional Release — Dashboard / Tool / Article Layer
   目標：
   - 新版串接 + 舊版直覺與品牌感。
   - 清楚的首頁分流、工具中心、文章報告感。
   - 不使用裝飾性假圖表；真正工具邏輯產生的長條與溫度計保留。
   - 每頁字色和圖示距離守門，避免文字與裝飾擠在一起。
   ========================================================= */

/* ---------- 0. Remove old experimental decorations that may crowd text ---------- */
.page-hero .hero-panel::before,
.page-hero .hero-panel::after,
.home-hero .hero-panel::before,
.home-hero .hero-panel::after,
.fx-hero-panel::before,
.fx-hero-panel::after,
.tools-card::after,
.situation-card::after{
  display:none!important;
}

/* ---------- 1. Brand hero: 有品牌感，但不假裝數據儀表板 ---------- */
.home-hero,.page-hero{
  position:relative;
  overflow:hidden;
  background:
    radial-gradient(circle at 78% 10%,rgba(214,163,84,.20),transparent 30%),
    radial-gradient(circle at 18% 0%,rgba(255,255,255,.08),transparent 28%),
    linear-gradient(135deg,var(--espresso-950),var(--espresso-900) 56%,var(--espresso-800))!important;
  color:#fff!important;
}

.home-hero::before,.page-hero::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  opacity:.30;
  background:
    linear-gradient(rgba(255,255,255,.055) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.045) 1px,transparent 1px);
  background-size:70px 70px;
  mask-image:linear-gradient(180deg,#000 0%,transparent 76%);
}

.home-hero .container,.page-hero .container{position:relative;z-index:1;}

.home-hero h1,.page-hero h1,
.home-hero h2,.page-hero h2,
.hero-panel h2,.hero-panel h3{
  color:#fff!important;
}

.home-hero p,.page-hero p,.hero-panel p{
  color:rgba(255,255,255,.82)!important;
}

.hero-kicker,.eyebrow{
  letter-spacing:.14em;
}

.hero-panel,.fx-hero-panel{
  background:rgba(255,255,255,.08)!important;
  border:1px solid rgba(214,163,84,.26)!important;
  box-shadow:0 28px 76px rgba(31,21,18,.22)!important;
  backdrop-filter:blur(10px);
}

.hero-mini{
  background:rgba(255,255,255,.105)!important;
  border:1px solid rgba(214,163,84,.22)!important;
  border-radius:18px!important;
  padding:17px!important;
}

.hero-mini b{
  color:var(--gold-500)!important;
  font-size:25px!important;
}

.hero-mini span{
  color:rgba(255,255,255,.74)!important;
}

/* ---------- 2. 首頁情境卡：舊版直覺 + 新版精緻 ---------- */
.situation-card{
  position:relative;
  background:#fffdf8!important;
  color:var(--text)!important;
  border:1px solid rgba(211,190,169,.86)!important;
  box-shadow:0 18px 44px rgba(31,21,18,.10)!important;
  border-radius:26px!important;
  padding:26px!important;
}

.situation-card::before{
  content:"";
  position:absolute;
  left:0;
  top:18px;
  bottom:18px;
  width:5px;
  border-radius:0 999px 999px 0;
  background:linear-gradient(180deg,var(--gold-600),var(--brick));
}

.situation-card h2{color:var(--ink)!important;margin-top:6px;}
.situation-card p{color:#4f4039!important;}
.situation-card .tag{
  background:#fff7ea!important;
  color:var(--brick)!important;
  border-color:#ead1a8!important;
}

.situation-card .links{
  gap:10px!important;
}

/* ---------- 3. 四步流程：品牌化 SOP ---------- */
.step-card{
  background:#fffdf8!important;
  border:1px solid rgba(211,190,169,.86)!important;
  box-shadow:0 12px 32px rgba(31,21,18,.08)!important;
}

.step-num{
  background:var(--espresso-900)!important;
  color:var(--gold-500)!important;
}

.step-card h3{color:var(--ink)!important;}
.step-card p{color:#4f4039!important;}

/* ---------- 4. 工具總覽與首頁工具入口 ---------- */
.tool-strip .pill{
  background:#fffdf8!important;
  border-color:rgba(211,190,169,.86)!important;
  color:var(--espresso-900)!important;
  box-shadow:0 8px 20px rgba(31,21,18,.06)!important;
}

.tools-grid{align-items:stretch;}

.tools-card{
  position:relative;
  overflow:hidden;
  min-height:248px;
  background:#fffdf8!important;
  border:1px solid rgba(211,190,169,.86)!important;
  border-radius:24px!important;
  box-shadow:0 18px 44px rgba(31,21,18,.08)!important;
  color:var(--text)!important;
  transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}

.tools-card::before{
  content:"";
  position:absolute;
  top:0;
  left:0;
  right:0;
  height:5px;
  background:linear-gradient(90deg,var(--gold-600),var(--brick));
  opacity:.90;
}

.tools-card h2{
  color:var(--ink)!important;
  letter-spacing:-.02em;
}

.tools-card p{
  color:#5f4e46!important;
}

.tools-card a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:40px;
  border-radius:999px;
  padding:9px 14px;
  background:var(--espresso-900);
  color:var(--gold-500)!important;
  margin-top:auto;
}

@media(hover:hover){
  .tools-card:hover{
    transform:translateY(-3px);
    border-color:rgba(214,163,84,.62)!important;
    box-shadow:0 24px 62px rgba(31,21,18,.12)!important;
  }
}

/* ---------- 5. LINE + Trust：保留舊版直接感，但更像品牌聲明 ---------- */
.line-box{
  background:
    radial-gradient(circle at 88% 10%,rgba(0,137,56,.20),transparent 32%),
    linear-gradient(135deg,var(--espresso-950),var(--espresso-900))!important;
  border:1px solid rgba(214,163,84,.22)!important;
  box-shadow:0 22px 54px rgba(31,21,18,.16)!important;
}

.line-box h2{color:#fff!important;}
.line-box p{color:rgba(255,255,255,.78)!important;}

.principle-box{
  background:#fffdf8!important;
  border:1px solid rgba(211,190,169,.86)!important;
  box-shadow:0 18px 44px rgba(31,21,18,.08)!important;
}

.principle-item b{color:var(--ink)!important;}
.principle-item span{color:#5f4e46!important;}

/* ---------- 6. Light card guard ---------- */
.card:not(.dark),
.metric-card,
.timeline-body,
.form-panel,
.chart-card,
.hd-enhance-box,
.hd-mini-card,
.callout:not(.dark):not(.navy):not(.danger),
.summary:not(.dark):not(.navy):not(.danger),
.cta-box:not(.dark):not(.navy):not(.danger),
.about-card,.value-card,.principle-card{
  background:#fffdf8!important;
  color:var(--text)!important;
  border-color:rgba(211,190,169,.78)!important;
}

.card:not(.dark) h1,.card:not(.dark) h2,.card:not(.dark) h3,.card:not(.dark) h4,
.metric-card h1,.metric-card h2,.metric-card h3,.metric-card h4,
.timeline-body h1,.timeline-body h2,.timeline-body h3,.timeline-body h4,
.form-panel h1,.form-panel h2,.form-panel h3,.form-panel h4,
.chart-card h1,.chart-card h2,.chart-card h3,.chart-card h4,
.hd-enhance-box h1,.hd-enhance-box h2,.hd-enhance-box h3,.hd-enhance-box h4,
.hd-mini-card h1,.hd-mini-card h2,.hd-mini-card h3,.hd-mini-card h4,
.callout:not(.dark):not(.navy):not(.danger) h1,
.callout:not(.dark):not(.navy):not(.danger) h2,
.callout:not(.dark):not(.navy):not(.danger) h3,
.summary:not(.dark):not(.navy):not(.danger) h1,
.summary:not(.dark):not(.navy):not(.danger) h2,
.summary:not(.dark):not(.navy):not(.danger) h3{
  color:var(--ink)!important;
}

.card:not(.dark) p,.card:not(.dark) li,
.metric-card p,.metric-card li,
.timeline-body p,.timeline-body li,
.form-panel p,.form-panel li,
.chart-card p,.chart-card li,
.hd-enhance-box p,.hd-enhance-box li,
.hd-mini-card p,.hd-mini-card li,
.callout:not(.dark):not(.navy):not(.danger) p,
.callout:not(.dark):not(.navy):not(.danger) li,
.summary:not(.dark):not(.navy):not(.danger) p,
.summary:not(.dark):not(.navy):not(.danger) li{
  color:#4f4039!important;
}

/* ---------- 7. Article report style ---------- */
.hd-article-page article h2,
.hd-redesign-page article h2{
  position:relative;
  padding-left:18px;
}

.hd-article-page article h2::before,
.hd-redesign-page article h2::before{
  content:"";
  position:absolute;
  left:0;
  top:.25em;
  bottom:.18em;
  width:5px;
  border-radius:999px;
  background:linear-gradient(180deg,var(--gold-600),var(--brick));
}

.hd-article-page article blockquote,
.hd-redesign-page article blockquote{
  border-left:5px solid var(--gold-600);
  background:#fff8ec;
  border-radius:16px;
  padding:18px 20px;
  color:#3f2f2a;
}

/* ---------- 8. Calculator：功能保留，視覺更穩 ---------- */
.calc-input,
input.calc-input,
select.calc-input,
textarea.calc-input{
  border-color:#ded0c2!important;
  background:#fffdf8!important;
  color:var(--ink)!important;
}

.calc-input:focus,
input.calc-input:focus,
select.calc-input:focus,
textarea.calc-input:focus{
  border-color:var(--gold-600)!important;
  box-shadow:0 0 0 4px rgba(214,163,84,.16)!important;
}

.calc-result-row.highlight{
  background:
    radial-gradient(circle at 88% 24%,rgba(214,163,84,.16),transparent 30%),
    linear-gradient(135deg,var(--espresso-950),var(--espresso-900))!important;
  color:#fff!important;
}

.calc-result-row.highlight .calc-result-label,
.calc-result-row.highlight .calc-result-sub{
  color:rgba(255,255,255,.74)!important;
}

.calc-result-row.highlight .calc-result-value{
  color:var(--gold-500)!important;
}

/* Real tool bars only */
.scenario-bar{
  height:12px!important;
  background:#efe4d5!important;
  border-radius:999px!important;
  overflow:hidden!important;
  box-shadow:inset 0 0 0 1px rgba(43,26,22,.05);
}

.scenario-bar i{
  background:linear-gradient(90deg,var(--brick),var(--gold-600))!important;
}

.risk-thermo{
  background:linear-gradient(90deg,#ecfdf5,#fffbeb,#FBF7EF)!important;
  border:1px solid var(--line)!important;
  box-shadow:inset 0 1px 4px rgba(31,21,18,.10)!important;
}

.risk-thermo-fill{
  background:linear-gradient(90deg,#A63A2A,#D6A354,#2B1A16)!important;
}

/* ---------- 9. Tables ---------- */
.data-table,.hd-table,table{
  box-shadow:0 14px 36px rgba(31,21,18,.06)!important;
}

.data-table th,.hd-table th{
  background:var(--espresso-900)!important;
  color:var(--gold-500)!important;
}

.data-table td,.hd-table td{
  color:#3f2f2a!important;
}

.data-table tr:hover td,.hd-table tr:hover td{
  background:#fff8ec!important;
}

/* ---------- 10. Mobile ---------- */
@media(max-width:900px){
  .hero-panel{display:none;}
}

@media(max-width:760px){
  .home-hero::before,.page-hero::before,
  .tools-card::before,
  .situation-card::before{
    opacity:.70;
  }

  .home-hero,.page-hero{
    padding-top:46px!important;
    padding-bottom:46px!important;
  }

  .situation-card,.tools-card{
    min-height:auto!important;
    border-radius:20px!important;
    padding:22px!important;
  }

  .tools-card h2{
    padding-right:0!important;
  }

  .hd-article-page article h2,
  .hd-redesign-page article h2{
    padding-left:14px;
  }

  .scenario-bar{
    height:10px!important;
  }
}

@media(max-width:480px){
  .home-hero h1,.page-hero h1{
    font-size:clamp(32px,10vw,42px)!important;
  }

  .tools-card,.card,.callout,.summary,.cta-box{
    border-radius:18px!important;
  }

  .situation-card::before{
    top:16px;
    bottom:16px;
  }
}

/* =========================================================
   v21 Final Page QA — Dashboard / Article Micro Polish
   逐頁收尾：
   - 強化 light/dark 對比守門
   - 修工具卡與文章卡細節
   - 避免舊頁 inline style 造成白底白字
   - 手機版不擠壓
   ========================================================= */

/* 1. Light cards: absolute guard */
.card:not(.dark),
.tools-card,
.metric-card,
.form-panel,
.chart-card,
.timeline-body,
.hd-enhance-box,
.hd-mini-card,
.callout:not(.dark):not(.navy):not(.danger),
.summary:not(.dark):not(.navy):not(.danger),
.cta-box:not(.dark):not(.navy):not(.danger),
.about-card,
.value-card,
.principle-card,
.belief,
.ask,
.flow-card,
.check-card{
  background:var(--qa-card)!important;
  color:var(--qa-body)!important;
  border-color:var(--qa-line)!important;
}

.card:not(.dark) h1,.card:not(.dark) h2,.card:not(.dark) h3,.card:not(.dark) h4,
.tools-card h1,.tools-card h2,.tools-card h3,.tools-card h4,
.metric-card h1,.metric-card h2,.metric-card h3,.metric-card h4,
.form-panel h1,.form-panel h2,.form-panel h3,.form-panel h4,
.chart-card h1,.chart-card h2,.chart-card h3,.chart-card h4,
.hd-enhance-box h1,.hd-enhance-box h2,.hd-enhance-box h3,.hd-enhance-box h4,
.hd-mini-card h1,.hd-mini-card h2,.hd-mini-card h3,.hd-mini-card h4,
.callout:not(.dark):not(.navy):not(.danger) h1,
.callout:not(.dark):not(.navy):not(.danger) h2,
.callout:not(.dark):not(.navy):not(.danger) h3,
.summary:not(.dark):not(.navy):not(.danger) h1,
.summary:not(.dark):not(.navy):not(.danger) h2,
.summary:not(.dark):not(.navy):not(.danger) h3,
.cta-box:not(.dark):not(.navy):not(.danger) h1,
.cta-box:not(.dark):not(.navy):not(.danger) h2,
.cta-box:not(.dark):not(.navy):not(.danger) h3{
  color:var(--qa-text)!important;
}

.card:not(.dark) p,.card:not(.dark) li,.card:not(.dark) span,
.tools-card p,.tools-card li,.tools-card span,
.metric-card p,.metric-card li,.metric-card span,
.form-panel p,.form-panel li,.form-panel span,
.chart-card p,.chart-card li,.chart-card span,
.hd-enhance-box p,.hd-enhance-box li,.hd-enhance-box span,
.hd-mini-card p,.hd-mini-card li,.hd-mini-card span,
.callout:not(.dark):not(.navy):not(.danger) p,
.callout:not(.dark):not(.navy):not(.danger) li,
.callout:not(.dark):not(.navy):not(.danger) span,
.summary:not(.dark):not(.navy):not(.danger) p,
.summary:not(.dark):not(.navy):not(.danger) li,
.summary:not(.dark):not(.navy):not(.danger) span,
.cta-box:not(.dark):not(.navy):not(.danger) p,
.cta-box:not(.dark):not(.navy):not(.danger) li,
.cta-box:not(.dark):not(.navy):not(.danger) span{
  color:var(--qa-body)!important;
}

/* 2. Dark blocks: readable guard */
.home-hero,
.page-hero,
.hero-panel,
.line-box,
.next-band.dark,
.footer,
.site-footer,
.dark,
.callout.dark,
.callout.navy,
.summary.dark,
.summary.navy{
  color:rgba(255,255,255,.82)!important;
}

.home-hero h1,.home-hero h2,.home-hero h3,
.page-hero h1,.page-hero h2,.page-hero h3,
.hero-panel h1,.hero-panel h2,.hero-panel h3,
.line-box h1,.line-box h2,.line-box h3,
.next-band.dark h1,.next-band.dark h2,.next-band.dark h3,
.dark h1,.dark h2,.dark h3,
.callout.dark h1,.callout.dark h2,.callout.dark h3,
.callout.navy h1,.callout.navy h2,.callout.navy h3,
.summary.dark h1,.summary.dark h2,.summary.dark h3,
.summary.navy h1,.summary.navy h2,.summary.navy h3{
  color:#fff!important;
}

.home-hero p,.home-hero li,
.page-hero p,.page-hero li,
.hero-panel p,.hero-panel li,
.line-box p,.line-box li,
.next-band.dark p,.next-band.dark li,
.dark p,.dark li,
.callout.dark p,.callout.dark li,
.callout.navy p,.callout.navy li,
.summary.dark p,.summary.dark li,
.summary.navy p,.summary.navy li{
  color:rgba(255,255,255,.78)!important;
}

/* 3. Tool cards: make text breathe */
.tools-card{
  display:flex;
  flex-direction:column;
  gap:12px;
}

.tools-card h2{
  line-height:1.25;
}

.tools-card p{
  margin-bottom:10px;
}

.tools-card a{
  margin-top:auto;
  align-self:flex-start;
}

/* 4. Article detail: spacing between elements */
.hd-article-page article > * + *,
.hd-redesign-page article > * + *{
  margin-top:1.05rem;
}

.hd-article-page article h2,
.hd-redesign-page article h2{
  margin-top:2.25rem;
  margin-bottom:.75rem;
}

.hd-article-page article table,
.hd-redesign-page article table{
  margin-top:1.25rem;
  margin-bottom:1.25rem;
}

/* 5. CTA and next-step blocks should feel intentional */
.next-band,
.related-links,
.link-grid,
.tools-path,
.cta-box{
  border:1px solid var(--qa-line);
}

.next-band .btn,
.cta-box .btn,
.link-grid .btn{
  white-space:normal;
}

/* 6. Form controls */
input,
select,
textarea,
.calc-input{
  color:var(--qa-text)!important;
}

input::placeholder,
textarea::placeholder{
  color:#8b7a70!important;
}

/* 7. Table text and small notes */
table small,
.data-table small,
.hd-table small{
  color:#475569!important;
}

/* 8. Mobile final check */
@media(max-width:760px){
  .tools-grid,
  .grid,
  .cards,
  .belief-grid,
  .metric-grid{
    gap:16px!important;
  }

  .tools-card,
  .situation-card,
  .card,
  .callout,
  .summary,
  .cta-box,
  .hd-enhance-box,
  .hd-mini-card{
    padding:20px!important;
  }

  .home-hero,
  .page-hero{
    padding-top:42px!important;
    padding-bottom:42px!important;
  }

  .hero-actions,
  .actions,
  .btn-row{
    gap:10px!important;
  }

  .hero-actions .btn,
  .actions .btn,
  .btn-row .btn{
    width:100%;
    justify-content:center;
  }

  .hd-article-page article h2,
  .hd-redesign-page article h2{
    margin-top:1.8rem;
  }
}

@media(max-width:420px){
  .container{padding-left:16px!important;padding-right:16px!important;}
  .tools-card,
  .situation-card,
  .card,
  .callout,
  .summary,
  .cta-box,
  .hd-enhance-box,
  .hd-mini-card{
    padding:18px!important;
  }
}


/* ===== v22 page-specific brand polish ===== */

/* Tools page — make it feel like a brand hub, not a flat list */
body.tools-page .page-hero{
  background:
    radial-gradient(circle at 85% 18%,rgba(214,163,84,.22),transparent 28%),
    radial-gradient(circle at 18% 82%,rgba(166,58,42,.14),transparent 24%),
    linear-gradient(135deg,var(--espresso-950),#251916 52%,#56372d 100%);
}
body.tools-page .hero-panel{
  background:linear-gradient(180deg,rgba(255,255,255,.12),rgba(255,255,255,.07));
  border-color:rgba(255,255,255,.16);
}
body.tools-page .tools-path{
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;
}
body.tools-page .tools-path a{
  position:relative;display:block;padding:20px 20px 18px 22px;text-decoration:none;
  border:1px solid #e6d8ca;border-radius:24px;background:linear-gradient(180deg,#fff,#fcf8f1);
  box-shadow:0 14px 34px rgba(43,26,22,.06);overflow:hidden;min-height:130px;
}
body.tools-page .tools-path a::before{
  content:'';position:absolute;inset:auto auto 0 0;width:100%;height:5px;
  background:linear-gradient(90deg,var(--brick),var(--gold-600));opacity:.92;
}
body.tools-page .tools-path a b{display:block;font-size:20px;color:var(--ink);margin-bottom:8px;line-height:1.28}
body.tools-page .tools-path a span{display:block;font-size:14px;line-height:1.72;color:var(--muted)}
body.tools-page .tools-path a:hover{transform:translateY(-3px);box-shadow:0 22px 42px rgba(43,26,22,.11);border-color:#d9c1a0}
body.tools-page .sec-head{max-width:780px}
body.tools-page .tools-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;align-items:stretch}
body.tools-page .tools-card{
  position:relative;display:flex;flex-direction:column;min-height:280px;border-radius:26px!important;
  border:1px solid #e6d9cc!important;background:
  radial-gradient(circle at 88% 18%,rgba(214,163,84,.16),transparent 22%),
  linear-gradient(180deg,#fff,#fdf9f4)!important;
  box-shadow:0 16px 36px rgba(43,26,22,.07)!important;padding:24px!important;overflow:hidden;
}
body.tools-page .tools-card::after{
  content:'';position:absolute;left:0;right:0;bottom:0;height:5px;background:linear-gradient(90deg,var(--brick),var(--gold-600));opacity:.9;
}
body.tools-page .tools-card::before{
  content:attr(data-tag);position:absolute;right:18px;top:18px;font-size:11px;font-weight:950;letter-spacing:.1em;
  color:#8a5a13;background:#fff4df;border:1px solid #eed4a9;border-radius:999px;padding:6px 10px;
}
body.tools-page .tools-card h2{font-size:24px!important;line-height:1.25!important;padding-right:74px}
body.tools-page .tools-card p{font-size:14px!important;line-height:1.82!important;flex:1}
body.tools-page .tools-card a{display:inline-flex;align-self:flex-start;align-items:center;gap:6px;margin-top:14px;padding:10px 14px;border-radius:999px;background:#fff;border:1px solid #ead8c7;color:var(--brick)!important}
body.tools-page .tools-card:hover{transform:translateY(-4px)!important;box-shadow:0 24px 46px rgba(43,26,22,.13)!important}
body.tools-page .tools-card:nth-child(3n+1){background:linear-gradient(180deg,#fff,#fff9f0)!important}
body.tools-page .tools-card:nth-child(3n+2){background:linear-gradient(180deg,#fff,#faf7ff)!important}
body.tools-page .tools-card:nth-child(3n+3){background:linear-gradient(180deg,#fff,#f6fbff)!important}
body.tools-page .next-band{background:linear-gradient(135deg,#fff,#fbf3e6);box-shadow:0 18px 40px rgba(43,26,22,.08)}

/* Onboarding progress panel / reset button */
.v11-progress-panel{
  margin:16px auto 30px;display:grid;grid-template-columns:1.2fr .85fr;gap:18px;align-items:center;
  background:linear-gradient(135deg,#fff,#fbf6ef);border:1px solid #e7d9c7;border-radius:28px;padding:24px 26px;box-shadow:0 18px 40px rgba(43,26,22,.08);
}
.v11-progress-meter{
  background:#fff;border:1px solid #eadacc;border-radius:22px;padding:18px;display:grid;gap:14px;box-shadow:0 10px 24px rgba(43,26,22,.05);
}
.v11-progress-meter b{font-size:18px;color:var(--ink)}
.v11-progress-track{height:12px;background:#efe4d8;border-radius:999px;overflow:hidden;box-shadow:inset 0 0 0 1px rgba(43,26,22,.05)}
.v11-progress-track i{display:block;height:100%;background:linear-gradient(90deg,var(--brick),var(--gold-600));border-radius:999px}
#onboardingProgressReset{
  justify-self:start;display:inline-flex;align-items:center;gap:8px;border-radius:999px;padding:12px 18px;
  background:linear-gradient(135deg,#2b1a16,#4b2d25);color:#fff;font-weight:950;box-shadow:0 10px 24px rgba(43,26,22,.16);cursor:pointer;
}
#onboardingProgressReset::before{content:'↺';font-size:16px;line-height:1}
#onboardingProgressReset:hover{transform:translateY(-1px);box-shadow:0 14px 28px rgba(43,26,22,.2)}

/* Footer trust / action box used on selection-order, price-difference, renewal-vs-dangerous-building */
.hd-footer-trust{
  max-width:1120px;margin:22px auto 0;padding:24px;display:grid;grid-template-columns:1.45fr .75fr;gap:18px;
  background:linear-gradient(135deg,#fff,#fbf8f2);border:1px solid #e3d5c6;border-radius:30px;box-shadow:0 16px 40px rgba(43,26,22,.08);
}
.hd-footer-trust .meta{
  background:#fff;border:1px solid #eadacc;border-radius:24px;padding:24px 26px;box-shadow:0 8px 24px rgba(43,26,22,.04);
}
.hd-footer-trust .meta p{margin:0 0 12px;color:var(--espresso-800);line-height:1.75;font-size:15px}
.hd-footer-trust .meta p:last-child{margin-bottom:0}
.hd-footer-trust .meta b{color:var(--ink)}
.hd-footer-trust .actions{
  display:flex;flex-wrap:wrap;align-content:center;gap:14px;padding:14px 4px;
}
.hd-footer-trust .actions a{
  display:inline-flex;align-items:center;justify-content:center;min-height:58px;padding:14px 26px;border-radius:999px;
  text-decoration:none;font-size:15px;font-weight:950;box-shadow:0 10px 24px rgba(43,26,22,.08);
}
.hd-footer-trust .actions a:nth-child(1),.hd-footer-trust .actions a:nth-child(2){background:var(--brick);color:#fff}
.hd-footer-trust .actions a:nth-child(3){background:#06C755;color:#fff}
.hd-footer-trust .actions a:hover{transform:translateY(-2px)}

/* Selection / price-difference / valuation flow blocks */
.v11-selection-flow,.v11-valuation-flow,.v11-label-grid,.v11-progress-panel{max-width:1120px;margin:28px auto;padding:0 20px}
.v11-selection-flow > .v11-kicker,.v11-valuation-flow > .v11-kicker{display:inline-flex;margin-bottom:10px;color:#8a5a13;font-size:12px;font-weight:950;letter-spacing:.14em}
.v11-selection-flow h2,.v11-valuation-flow h2{font-size:clamp(28px,4vw,42px);line-height:1.18;color:var(--ink);margin:0 0 12px;font-weight:950;letter-spacing:-.03em}
.v11-selection-flow > p,.v11-valuation-flow > p{font-size:16px;line-height:1.86;color:var(--espresso-800);max-width:980px;margin:0 0 18px}
.v11-flow-steps{
  display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;margin:18px 0 14px;
}
.v11-flow-steps a{
  position:relative;display:flex;flex-direction:column;gap:8px;text-decoration:none;padding:18px;border-radius:20px;
  background:linear-gradient(180deg,#fff,#fdf8f1);border:1px solid #e7d9c9;box-shadow:0 12px 28px rgba(43,26,22,.06);min-height:160px;
}
.v11-flow-steps a::before{content:'';position:absolute;inset:auto 0 0 0;height:4px;background:linear-gradient(90deg,var(--brick),var(--gold-600));border-radius:0 0 20px 20px}
.v11-flow-steps a b{font-size:18px;line-height:1.3;color:var(--ink)}
.v11-flow-steps a span{font-size:14px;line-height:1.72;color:var(--muted)}
.v11-flow-steps a:hover{transform:translateY(-2px);box-shadow:0 18px 34px rgba(43,26,22,.1)}
.v11-copy-box{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:14px;padding:18px 20px;background:#fff7eb;border:1px solid #eed4ab;border-radius:18px}
.v11-copy-box button{display:inline-flex;align-items:center;justify-content:center;border-radius:16px;background:var(--ink);color:#fff;padding:14px 18px;font-weight:950;box-shadow:0 10px 24px rgba(43,26,22,.14);cursor:pointer}
.v11-copy-box button:hover{transform:translateY(-1px)}
.v11-copy-status{font-size:13px;font-weight:900;color:#A63A2A}

/* Building labels page */
.v11-label-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;padding:0}
.v11-label-card{
  background:linear-gradient(180deg,#fff,#fcf8f1);border:1px solid #e7d9c9;border-radius:24px;padding:24px;box-shadow:0 14px 30px rgba(43,26,22,.06);
}
.v11-label-card h3{font-size:22px;line-height:1.28;color:var(--ink);margin:0 0 10px}
.v11-label-card p,.v11-label-card li{font-size:14px;line-height:1.78;color:var(--muted)}
.v11-label-card a{display:block;margin-top:10px;color:var(--brick);font-weight:950;text-decoration:none}

/* Renewal vs dangerous building page — improve table header/footer card appearance */
.rvd-page .summary-card,.rvd-page .result-card,.rvd-page .res-nextstep,.rvd-page .res-footer-box{border-radius:24px!important;box-shadow:0 16px 34px rgba(43,26,22,.08)!important}
.rvd-page table th,.rvd-page thead th{background:linear-gradient(135deg,var(--espresso-950),var(--espresso-900))!important;color:var(--gold-500)!important;border-color:#3f2a23!important}
.rvd-page .hd-footer-trust{margin-top:28px}

/* Cost table page */
.cost-table-page .ct-hero-metrics,.cost-table-page .ct-card,.cost-table-page .metric-card{box-shadow:0 14px 34px rgba(43,26,22,.07)}
.cost-table-page .ct-note,.cost-table-page .ct-quick-links,.cost-table-page .ct-band{border-radius:24px!important}

/* Pre-sign check page */
.ps-card,.ps-section .v8-card,.ps-section .v8-summary,.hd-funnel-inner{
  border-radius:24px!important;box-shadow:0 14px 34px rgba(43,26,22,.07)!important;
}
.hd-funnel-cta{margin:28px 0}
.hd-funnel-inner{background:linear-gradient(135deg,#fff,#fbf5eb);border:1px solid #e7d9c7;padding:28px;border-radius:28px}
.hd-funnel-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:18px}
.hd-funnel-card{display:block;text-decoration:none;background:#fff;border:1px solid #eadacc;border-radius:22px;padding:22px;box-shadow:0 10px 24px rgba(43,26,22,.05);height:100%}
.hd-funnel-card b{display:block;font-size:20px;color:var(--ink);margin-bottom:6px}
.hd-funnel-card span{display:block;font-size:14px;line-height:1.72;color:var(--muted)}
.hd-funnel-card em{display:block;margin-top:12px;color:var(--brick);font-style:normal;font-weight:950}

/* Calculator readability fix */
.calc-result-row.highlight{
  background:linear-gradient(135deg,#fff9ef,#fff2da)!important;
  border-color:#efd4a9!important;color:var(--ink)!important;
}
.calc-result-row.highlight .calc-result-label,
.calc-result-row.highlight .calc-result-sub{color:#6b544a!important}
.calc-result-row.highlight .calc-result-value{color:var(--brick)!important}
.calc-tip-btn{width:24px!important;height:24px!important;background:#fff!important;border:1px solid #d9c6b7!important;color:var(--ink)!important;box-shadow:0 2px 8px rgba(43,26,22,.08)}
.calc-tip-btn:hover{background:#fff7ea!important;border-color:#d6a354!important}
.calc-block-title{align-items:center!important}
.calc-block-title h4{display:flex;align-items:center;gap:10px}
.calc-fast-start,.calc-card,.calc-next-step,.calc-tool-head,.calc-panel-block,.hd-calc-dashboard{box-shadow:0 16px 36px rgba(43,26,22,.07)!important}

/* Mobile */
@media(max-width:980px){
  body.tools-page .tools-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .v11-flow-steps{grid-template-columns:repeat(2,minmax(0,1fr))}
  .hd-footer-trust,.v11-progress-panel{grid-template-columns:1fr}
  .v11-label-grid,.hd-funnel-grid{grid-template-columns:1fr}
}
@media(max-width:720px){
  body.tools-page .tools-path,body.tools-page .tools-grid{grid-template-columns:1fr}
  .v11-flow-steps{grid-template-columns:1fr}
  .hd-footer-trust{padding:18px;border-radius:24px}
  .hd-footer-trust .meta{padding:20px}
  .hd-footer-trust .actions a{width:100%}
  .v11-progress-panel{padding:20px}
  #onboardingProgressReset{width:100%;justify-content:center}
}
.v11-flow-steps.vertical{grid-template-columns:repeat(2,minmax(0,1fr));}
.v11-flow-steps.vertical > div{
  position:relative;display:flex;flex-direction:column;gap:8px;padding:18px;border-radius:20px;
  background:linear-gradient(180deg,#fff,#fdf8f1);border:1px solid #e7d9c9;box-shadow:0 12px 28px rgba(43,26,22,.06);min-height:150px;
}
.v11-flow-steps.vertical > div::before{content:'';position:absolute;inset:auto 0 0 0;height:4px;background:linear-gradient(90deg,var(--brick),var(--gold-600));border-radius:0 0 20px 20px}
.v11-flow-steps.vertical b{font-size:18px;line-height:1.3;color:var(--ink)}
.v11-flow-steps.vertical span{font-size:14px;line-height:1.72;color:var(--muted)}
@media(max-width:980px){.v11-flow-steps.vertical{grid-template-columns:1fr}}

/* Article tool pages that were too text-heavy */
.selection-order-page main,
.valuation-report-page main,
.price-difference-page main{max-width:1160px!important;padding-top:38px!important}
.selection-order-page .section,
.valuation-report-page .section,
.price-difference-page .section{
  border-radius:28px!important;padding:34px 32px!important;
  box-shadow:0 18px 38px rgba(43,26,22,.07)!important;border-color:#eadacc!important;
  background:linear-gradient(180deg,#fff,#fdf9f4)!important;
}
.selection-order-page .section h2,
.valuation-report-page .section h2,
.price-difference-page .section h2{font-size:clamp(26px,4vw,36px)!important;line-height:1.22!important;letter-spacing:-.02em!important}
.selection-order-page .card,
.valuation-report-page .card,
.price-difference-page .card{border-color:#eadacc!important;border-radius:22px!important;padding:22px!important;box-shadow:0 10px 26px rgba(43,26,22,.05)}
.selection-order-page .table-wrap,
.valuation-report-page .table-wrap,
.price-difference-page .table-wrap{border-radius:22px!important;border-color:#eadacc!important;box-shadow:0 10px 24px rgba(43,26,22,.05)}
.selection-order-page th,
.valuation-report-page th,
.price-difference-page th{background:#fbf4ea!important;color:var(--ink)!important}
.selection-order-page .callout,
.valuation-report-page .callout,
.price-difference-page .callout{border-radius:20px!important;border-color:#efd7b0!important;background:#fff7ea!important}

/* Cost table bridge block */
.v11-cost-bridge{
  margin:28px 0;background:linear-gradient(135deg,#fff,#fbf5eb);border:1px solid #ead7c3;border-radius:28px;padding:28px;box-shadow:0 16px 36px rgba(43,26,22,.08)
}
.v11-cost-bridge .v11-kicker{display:inline-flex;color:#8a5a13;font-size:12px;font-weight:950;letter-spacing:.14em;margin-bottom:8px}
.v11-cost-bridge h2{font-size:clamp(28px,4vw,40px);line-height:1.18;color:var(--ink);margin:0 0 12px;font-weight:950;letter-spacing:-.03em}
.v11-cost-bridge p{font-size:15px;line-height:1.84;color:var(--espresso-800);max-width:980px}
.v11-cost-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:18px}
.v11-cost-actions a{display:flex;align-items:center;justify-content:center;text-align:center;min-height:64px;padding:16px 14px;text-decoration:none;background:#fff;border:1px solid #eadacc;border-radius:18px;color:var(--ink);font-weight:900;box-shadow:0 10px 24px rgba(43,26,22,.05)}
.v11-cost-actions a:hover{transform:translateY(-2px);border-color:#d6a354;box-shadow:0 16px 30px rgba(43,26,22,.09)}
@media(max-width:860px){.v11-cost-actions{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.v11-cost-actions{grid-template-columns:1fr}}

/* restore specific paddings after shared flow rules */
.v11-progress-panel{padding:24px 26px!important}
.v11-selection-flow,.v11-valuation-flow{padding:0 20px!important}
.v11-label-grid{margin-top:18px!important}

/* =========================================================
   v23 small polish fixes
   Scope: tools / calculator disclaimer / cost-table headings / renewal-vs-dangerous-building table header.
   No layout rebuild, no formula changes, no content changes.
   ========================================================= */

/* 1) Tools page: remove crowded pseudo tag and use the real kicker as the label */
body.tools-page .tools-card::before{
  display:none!important;
  content:none!important;
}
body.tools-page .tools-card{
  padding-top:26px!important;
}
body.tools-page .tools-card h2{
  padding-right:0!important;
  margin-top:10px!important;
}
body.tools-page .tools-card-kicker{
  display:inline-flex!important;
  align-items:center;
  align-self:flex-start;
  width:auto!important;
  max-width:100%;
  white-space:nowrap;
  padding:7px 12px!important;
  border-radius:999px!important;
  background:#fff4df!important;
  border:1px solid #ead2a7!important;
  color:#8a5a13!important;
  font-size:12px!important;
  line-height:1!important;
  font-weight:950!important;
  letter-spacing:.08em!important;
  margin:0 0 10px 0!important;
  box-shadow:none!important;
}
body.tools-page .tools-card-kicker::before,
body.tools-page .tools-card-kicker::after{
  display:none!important;
}

/* 2) Calculator important statement: make dense list into a readable policy card */
.calculator-page .calc-disclaimer{
  background:linear-gradient(135deg,#fffaf2,#fff4e3)!important;
  border:1px solid #ead2a7!important;
  border-left:0!important;
  border-radius:24px!important;
  padding:24px!important;
  margin-top:22px!important;
  color:#3f2f2a!important;
  box-shadow:0 14px 34px rgba(43,26,22,.08)!important;
}
.calculator-page .calc-disclaimer strong{
  display:flex!important;
  align-items:center;
  gap:10px;
  color:var(--ink,#211815)!important;
  font-size:20px!important;
  line-height:1.3!important;
  margin-bottom:16px!important;
}
.calculator-page .calc-disclaimer strong::before{
  content:"";
  width:10px;
  height:28px;
  border-radius:999px;
  background:linear-gradient(180deg,var(--brick,#A63A2A),var(--gold-600,#D6A354));
  flex:0 0 auto;
}
.calculator-page .calc-disclaimer ol{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px!important;
  list-style:none!important;
  counter-reset:calc-disclaimer;
  padding:0!important;
  margin:0!important;
}
.calculator-page .calc-disclaimer li{
  counter-increment:calc-disclaimer;
  position:relative;
  background:#fff!important;
  border:1px solid #eadacc!important;
  border-radius:18px!important;
  padding:14px 15px 14px 52px!important;
  margin:0!important;
  color:#4f4039!important;
  line-height:1.72!important;
  font-size:14px!important;
  box-shadow:0 8px 20px rgba(43,26,22,.045)!important;
}
.calculator-page .calc-disclaimer li::before{
  content:counter(calc-disclaimer);
  position:absolute;
  left:15px;
  top:14px;
  width:26px;
  height:26px;
  border-radius:10px;
  display:grid;
  place-items:center;
  background:#2b1a16;
  color:#d6a354;
  font-size:13px;
  font-weight:950;
  font-variant-numeric:tabular-nums;
}
@media(max-width:760px){
  .calculator-page .calc-disclaimer{
    padding:18px!important;
    border-radius:20px!important;
  }
  .calculator-page .calc-disclaimer ol{
    grid-template-columns:1fr!important;
  }
  .calculator-page .calc-disclaimer li{
    padding:13px 14px 13px 48px!important;
  }
}

/* 3) Cost table page: move the coffee/gold left rule away from text and calm it down */
.cost-table-page .hd-eyebrow,
.cost-table-page .v11-kicker,
.cost-table-page .eyebrow{
  margin-left:0!important;
}
.cost-table-page .hd-enhance-box h2,
.cost-table-page .v11-cost-bridge h2,
.cost-table-page .section h2{
  position:relative;
  padding-left:0!important;
}
.cost-table-page .hd-enhance-box h2::before,
.cost-table-page .v11-cost-bridge h2::before,
.cost-table-page .section h2::before{
  display:none!important;
}
.cost-table-page .hd-enhance-box,
.cost-table-page .v11-cost-bridge{
  border-left:1px solid #ead7c3!important;
}
.cost-table-page .hd-enhance-box{
  padding-top:34px!important;
}
.cost-table-page .hd-eyebrow{
  margin-bottom:18px!important;
}

/* 4) Renewal vs dangerous building: improve header contrast */
.rvd-page table th,
.rvd-page thead th,
.renewal-vs-dangerous-building-page table th,
.renewal-vs-dangerous-building-page thead th{
  background:linear-gradient(135deg,#2b1a16,#4b2d25)!important;
  color:#ffe7b0!important;
  border-color:#5a3a31!important;
  text-shadow:none!important;
}
.rvd-page table th *,
.rvd-page thead th *,
.renewal-vs-dangerous-building-page table th *,
.renewal-vs-dangerous-building-page thead th *{
  color:#ffe7b0!important;
  text-shadow:none!important;
}

/* =========================================================
   v24 renewal-vs-dangerous-building table/header contrast fix
   Fixes black text inside dark "都更 / 危老" table headers/cards.
   ========================================================= */

body.rvd-page table thead,
body.rvd-page table thead tr,
body.rvd-page table thead th,
body.rvd-page .compare-table thead,
body.rvd-page .compare-table thead tr,
body.rvd-page .compare-table thead th,
body.rvd-page .route-table thead,
body.rvd-page .route-table thead tr,
body.rvd-page .route-table thead th,
body.rvd-page [class*="table"] thead,
body.rvd-page [class*="table"] thead tr,
body.rvd-page [class*="table"] thead th{
  background:linear-gradient(135deg,#2b1a16,#4b2d25)!important;
  color:#fff3d1!important;
  text-shadow:none!important;
}

body.rvd-page table thead th *,
body.rvd-page .compare-table thead th *,
body.rvd-page .route-table thead th *,
body.rvd-page [class*="table"] thead th *,
body.rvd-page table thead th b,
body.rvd-page table thead th strong,
body.rvd-page table thead th span,
body.rvd-page table thead th div,
body.rvd-page table thead th p{
  color:#fff3d1!important;
  -webkit-text-fill-color:#fff3d1!important;
  text-shadow:none!important;
}

/* Some comparison blocks are not actual <table>; cover header cells/cards too. */
body.rvd-page .compare-head,
body.rvd-page .comparison-head,
body.rvd-page .route-head,
body.rvd-page .result-head,
body.rvd-page .mode-head,
body.rvd-page .vs-head,
body.rvd-page [class*="head"] [class*="renewal"],
body.rvd-page [class*="head"] [class*="danger"],
body.rvd-page [class*="head"] [class*="old"],
body.rvd-page [class*="compare"] [class*="title"],
body.rvd-page [class*="comparison"] [class*="title"]{
  color:#fff3d1!important;
  -webkit-text-fill-color:#fff3d1!important;
  text-shadow:none!important;
}

/* If the dark header uses h3 / b / span nested directly in cards */
body.rvd-page .dark h1,
body.rvd-page .dark h2,
body.rvd-page .dark h3,
body.rvd-page .dark h4,
body.rvd-page .dark b,
body.rvd-page .dark strong,
body.rvd-page .dark span,
body.rvd-page .navy h1,
body.rvd-page .navy h2,
body.rvd-page .navy h3,
body.rvd-page .navy h4,
body.rvd-page .navy b,
body.rvd-page .navy strong,
body.rvd-page .navy span{
  color:#fff3d1!important;
  -webkit-text-fill-color:#fff3d1!important;
  text-shadow:none!important;
}

/* =========================================================
   v25 renewal-vs-dangerous-building full page redesign
   This is a real page rebuild, not only color override.
   ========================================================= */

.rvd-redesign-page{
  background:linear-gradient(180deg,#f8f5f0,#fff 46%,#f8f5f0);
  color:#3f2f2a;
}

.rvd-hero{
  position:relative;
  overflow:hidden;
  padding:72px 0 68px;
  background:
    radial-gradient(circle at 88% 18%,rgba(214,163,84,.22),transparent 30%),
    radial-gradient(circle at 10% 88%,rgba(166,58,42,.14),transparent 28%),
    linear-gradient(135deg,#211815,#2b1a16 54%,#4b2d25 100%);
  color:#fff;
}

.rvd-hero::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  opacity:.28;
  background:
    linear-gradient(rgba(255,255,255,.055) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.045) 1px,transparent 1px);
  background-size:68px 68px;
  mask-image:linear-gradient(180deg,#000,transparent 76%);
}

.rvd-hero-grid{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:1.08fr .82fr;
  gap:34px;
  align-items:center;
}

.rvd-hero .crumb,
.rvd-hero .crumb a{
  color:rgba(255,255,255,.72);
}

.rvd-hero h1{
  margin:14px 0 16px;
  font-size:clamp(38px,6vw,72px);
  line-height:1.04;
  letter-spacing:-.045em;
  color:#fff!important;
}

.rvd-hero h1 em{
  font-style:normal;
  color:#f1cd77;
}

.rvd-hero p{
  max-width:760px;
  color:rgba(255,255,255,.84)!important;
  font-size:18px;
  line-height:1.85;
}

.rvd-route-card{
  background:rgba(255,255,255,.09);
  border:1px solid rgba(214,163,84,.26);
  border-radius:30px;
  padding:24px;
  box-shadow:0 28px 70px rgba(0,0,0,.20);
  backdrop-filter:blur(10px);
}

.rvd-route-top{
  color:#f1cd77;
  font-size:12px;
  font-weight:950;
  letter-spacing:.14em;
  margin-bottom:14px;
}

.rvd-route-row{
  background:rgba(255,255,255,.09);
  border:1px solid rgba(255,255,255,.11);
  border-radius:22px;
  padding:18px;
  margin-top:12px;
}

.rvd-route-row b{
  display:block;
  color:#fff;
  font-size:24px;
  margin-bottom:8px;
}

.rvd-route-row span,
.rvd-route-note{
  display:block;
  color:rgba(255,255,255,.76);
  line-height:1.72;
}

.rvd-route-note{
  margin-top:14px;
  font-size:13px;
  color:rgba(255,255,255,.66);
}

.rvd-intro{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:18px;
  margin-top:34px;
}

.rvd-intro-card,
.rvd-tool,
.rvd-compare,
.rvd-next{
  border:1px solid #e7d9c9;
  border-radius:30px;
  background:linear-gradient(180deg,#fff,#fdf9f4);
  box-shadow:0 18px 44px rgba(43,26,22,.08);
}

.rvd-intro-card{
  padding:24px;
}

.rvd-intro-card span{
  display:inline-flex;
  color:#8a5a13;
  background:#fff4df;
  border:1px solid #ead2a7;
  border-radius:999px;
  padding:7px 12px;
  font-size:12px;
  font-weight:950;
  letter-spacing:.08em;
  margin-bottom:10px;
}

.rvd-intro-card p{
  margin:0;
  color:#4f4039;
  line-height:1.78;
}

.rvd-tool,
.rvd-compare,
.rvd-next{
  margin-top:28px;
  padding:34px;
}

.rvd-question-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:18px;
  margin-top:24px;
}

.rvd-question{
  position:relative;
  background:#fff;
  border:1px solid #eadacc;
  border-radius:24px;
  padding:24px;
  box-shadow:0 12px 30px rgba(43,26,22,.055);
}

.rvd-q-num{
  width:42px;
  height:42px;
  border-radius:16px;
  display:grid;
  place-items:center;
  background:#2b1a16;
  color:#d6a354;
  font-weight:950;
  margin-bottom:14px;
}

.rvd-question h3{
  margin:0 0 14px;
  color:#211815;
  font-size:22px;
  line-height:1.35;
}

.rvd-question label{
  display:flex;
  align-items:flex-start;
  gap:10px;
  padding:12px 0;
  color:#4f4039;
  line-height:1.55;
  cursor:pointer;
}

.rvd-question input{
  margin-top:4px;
  accent-color:#a63a2a;
}

.rvd-actions{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin-top:22px;
}

.rvd-result{
  margin-top:24px;
  padding:26px;
  border-radius:26px;
  background:
    radial-gradient(circle at 88% 18%,rgba(214,163,84,.18),transparent 28%),
    linear-gradient(135deg,#211815,#3a241e);
  border:1px solid rgba(214,163,84,.28);
  color:#fff;
  box-shadow:0 20px 48px rgba(43,26,22,.16);
}

.rvd-result-label{
  color:#f1cd77;
  font-size:12px;
  font-weight:950;
  letter-spacing:.14em;
  margin-bottom:8px;
}

.rvd-result h3{
  color:#fff!important;
  font-size:30px;
  line-height:1.25;
  margin:0 0 10px;
}

.rvd-result p{
  color:rgba(255,255,255,.80)!important;
  line-height:1.78;
  margin:0;
}

.rvd-result-next{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:18px;
}

.rvd-result-next a{
  display:inline-flex;
  min-height:44px;
  align-items:center;
  justify-content:center;
  border-radius:999px;
  padding:10px 15px;
  text-decoration:none;
  background:#fff;
  color:#2b1a16;
  font-weight:950;
}

.rvd-compare-table{
  display:grid;
  grid-template-columns:1fr 1.2fr 1.2fr;
  border:1px solid #e7d9c9;
  border-radius:26px;
  overflow:hidden;
  background:#fff;
  box-shadow:0 14px 34px rgba(43,26,22,.06);
  margin-top:22px;
}

.rvd-compare-table > div{
  padding:18px 20px;
  border-right:1px solid #eadacc;
  border-bottom:1px solid #eadacc;
  color:#3f2f2a;
  line-height:1.72;
}

.rvd-compare-table > div:nth-child(3n){
  border-right:0;
}

.rvd-th{
  background:linear-gradient(135deg,#2b1a16,#4b2d25)!important;
  color:#fff3d1!important;
  font-weight:950;
  font-size:18px;
}

.rvd-empty{
  color:#fff!important;
}

.rvd-row-title{
  background:#fff7ea!important;
  color:#7c2e20!important;
  font-weight:950;
}

.rvd-compare-table a{
  color:#a63a2a;
  font-weight:950;
  text-decoration:none;
}

.rvd-next{
  display:grid;
  grid-template-columns:.8fr 1.2fr;
  gap:24px;
  align-items:start;
}

.rvd-next h2{
  font-size:clamp(28px,4vw,42px);
  line-height:1.18;
  color:#211815;
  margin:8px 0 10px;
}

.rvd-next p{
  color:#4f4039;
  line-height:1.82;
}

.rvd-next-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
}

.rvd-next-grid a{
  display:block;
  text-decoration:none;
  border:1px solid #eadacc;
  background:#fff;
  border-radius:22px;
  padding:20px;
  box-shadow:0 10px 24px rgba(43,26,22,.05);
}

.rvd-next-grid a b{
  display:block;
  color:#211815;
  font-size:20px;
  margin-bottom:8px;
}

.rvd-next-grid a span{
  color:#5f4e46;
  line-height:1.72;
}

.rvd-redesign-page .hd-footer-trust{
  margin-top:28px;
}

@media(max-width:960px){
  .rvd-hero-grid,
  .rvd-next{
    grid-template-columns:1fr;
  }
  .rvd-route-card{
    display:none;
  }
  .rvd-question-grid,
  .rvd-intro,
  .rvd-next-grid{
    grid-template-columns:1fr;
  }
}

@media(max-width:760px){
  .rvd-hero{
    padding:48px 0 44px;
  }
  .rvd-hero h1{
    font-size:clamp(34px,10vw,46px);
  }
  .rvd-tool,
  .rvd-compare,
  .rvd-next{
    padding:22px;
    border-radius:24px;
  }
  .rvd-question{
    padding:20px;
  }
  .rvd-compare-table{
    display:block;
    border-radius:22px;
  }
  .rvd-compare-table > div{
    border-right:0;
  }
  .rvd-th{
    font-size:16px;
  }
  .rvd-row-title{
    border-top:4px solid #eadacc;
  }
}


/* =========================================================
   v26 premium brand platform layer
   Logo and main coffee/gold identity are preserved.
   No fake numbers, no fake data charts, no formula changes.
   ========================================================= */

.brand-hero{
  position:relative;
  overflow:hidden;
  padding:76px 0 72px;
  background:
    radial-gradient(circle at 82% 16%,rgba(214,163,84,.24),transparent 30%),
    radial-gradient(circle at 12% 86%,rgba(166,58,42,.14),transparent 28%),
    linear-gradient(135deg,#211815,#2b1a16 54%,#4b2d25);
  color:#fff;
}
.brand-hero::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  opacity:.26;
  background:
    linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.04) 1px,transparent 1px);
  background-size:70px 70px;
  mask-image:linear-gradient(180deg,#000,transparent 75%);
}
.brand-hero-grid{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:1.05fr .95fr;
  gap:36px;
  align-items:center;
}
.brand-hero h1{
  margin:14px 0 16px;
  font-size:clamp(38px,6vw,74px);
  line-height:1.05;
  letter-spacing:-.045em;
  color:#fff!important;
}
.brand-hero h1 em{font-style:normal;color:#f1cd77}
.brand-hero p{
  max-width:780px;
  color:rgba(255,255,255,.84)!important;
  font-size:18px;
  line-height:1.85;
}
.brand-hero .crumb,.brand-hero .crumb a{color:rgba(255,255,255,.68)}
.brand-dashboard,.about-quote{
  border:1px solid rgba(214,163,84,.26);
  background:rgba(255,255,255,.09);
  border-radius:32px;
  padding:26px;
  box-shadow:0 28px 70px rgba(0,0,0,.20);
  backdrop-filter:blur(10px);
}
.dash-top{
  display:flex;
  justify-content:space-between;
  gap:18px;
  color:#f1cd77;
  font-size:13px;
  font-weight:900;
  letter-spacing:.06em;
  margin-bottom:16px;
}
.dash-top b{color:#fff;font-size:14px;letter-spacing:0}
.dash-flow{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
}
.dash-flow a{
  display:block;
  text-decoration:none;
  padding:18px;
  border-radius:22px;
  background:rgba(255,255,255,.095);
  border:1px solid rgba(255,255,255,.12);
}
.dash-flow b{display:block;color:#fff;font-size:20px;margin-bottom:8px}
.dash-flow span{display:block;color:rgba(255,255,255,.74);line-height:1.6}
.dash-note{margin-top:14px;color:rgba(255,255,255,.62);font-size:13px;line-height:1.7}

.home-scenarios,.home-tool-hub,.line-brand-band,.trust-layer,.about-stats,.about-pain,.about-services,.about-boundary,.about-maintain{
  margin-top:56px;
}
.scenario-bento{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
}
.scenario-tile{
  position:relative;
  display:flex;
  flex-direction:column;
  gap:12px;
  min-height:310px;
  padding:28px;
  border:1px solid #e7d9c9;
  border-radius:30px;
  text-decoration:none;
  background:
    radial-gradient(circle at 86% 16%,rgba(214,163,84,.14),transparent 28%),
    linear-gradient(180deg,#fff,#fdf9f4);
  box-shadow:0 18px 44px rgba(43,26,22,.08);
  overflow:hidden;
}
.scenario-tile::after{
  content:"";
  position:absolute;
  left:0;right:0;bottom:0;
  height:6px;
  background:linear-gradient(90deg,#a63a2a,#d6a354);
}
.scenario-tile:nth-child(2){background:radial-gradient(circle at 86% 16%,rgba(111,66,193,.10),transparent 28%),linear-gradient(180deg,#fff,#fbf7ff)}
.scenario-tile:nth-child(3){background:radial-gradient(circle at 86% 16%,rgba(14,118,110,.10),transparent 28%),linear-gradient(180deg,#fff,#f7fffc)}
.tile-label{
  align-self:flex-start;
  color:#8a5a13;
  background:#fff4df;
  border:1px solid #ead2a7;
  border-radius:999px;
  padding:7px 12px;
  font-size:12px;
  font-weight:950;
  letter-spacing:.08em;
}
.scenario-tile h3{font-size:30px;line-height:1.24;margin:0;color:#211815}
.scenario-tile p{color:#5f4e46;line-height:1.82;margin:0;flex:1}
.scenario-tile b{color:#a63a2a}
.scenario-tile:hover{transform:translateY(-4px);box-shadow:0 26px 58px rgba(43,26,22,.12)}

.home-timeline-section{
  margin-top:64px;
  padding:64px 0;
  background:linear-gradient(180deg,#fff7ea,#fff);
}
.brand-timeline{
  position:relative;
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:16px;
}
.brand-timeline a{
  position:relative;
  z-index:1;
  display:block;
  text-decoration:none;
  padding:24px;
  min-height:210px;
  border-radius:28px;
  background:#fff;
  border:1px solid #eadacc;
  box-shadow:0 16px 34px rgba(43,26,22,.06);
}
.brand-timeline i{
  display:grid;
  place-items:center;
  width:54px;height:54px;
  border-radius:18px;
  background:#2b1a16;
  color:#d6a354;
  font-style:normal;
  font-weight:950;
  margin-bottom:18px;
}
.brand-timeline b{display:block;color:#211815;font-size:22px;margin-bottom:8px}
.brand-timeline span{color:#5f4e46;line-height:1.72}
.brand-timeline a:not(:last-child)::after{
  content:"";
  position:absolute;
  top:50px;
  right:-18px;
  width:36px;
  height:2px;
  background:linear-gradient(90deg,#d6a354,transparent);
}

.home-tool-hub{
  display:grid;
  grid-template-columns:.85fr 1.15fr;
  gap:28px;
  align-items:center;
  padding:34px;
  border:1px solid #e7d9c9;
  border-radius:34px;
  background:linear-gradient(135deg,#fff,#fbf5eb);
  box-shadow:0 20px 48px rgba(43,26,22,.08);
}
.hub-copy h2{font-size:clamp(30px,4vw,46px);line-height:1.15;color:#211815;margin:8px 0 12px}
.hub-copy p{color:#5f4e46;line-height:1.85}
.tool-mini-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
}
.tool-mini-grid a{
  display:block;
  text-decoration:none;
  background:#fff;
  border:1px solid #eadacc;
  border-radius:24px;
  padding:22px;
  box-shadow:0 10px 24px rgba(43,26,22,.05);
}
.tool-mini-grid b{display:block;color:#211815;font-size:22px;margin-bottom:8px}
.tool-mini-grid span{color:#5f4e46;line-height:1.72}

.line-brand-band{
  display:grid;
  grid-template-columns:1fr .85fr;
  gap:24px;
  align-items:center;
  padding:34px;
  border-radius:34px;
  background:
    radial-gradient(circle at 88% 20%,rgba(0,199,85,.18),transparent 30%),
    linear-gradient(135deg,#211815,#3a241e);
  border:1px solid rgba(214,163,84,.24);
  box-shadow:0 24px 58px rgba(43,26,22,.16);
}
.line-brand-band h2{font-size:clamp(30px,4vw,46px);line-height:1.15;color:#fff;margin:8px 0 12px}
.line-brand-band p{color:rgba(255,255,255,.78);line-height:1.85}
.line-mock{
  background:rgba(255,255,255,.10);
  border:1px solid rgba(255,255,255,.12);
  border-radius:28px;
  padding:22px;
}
.line-bubble{
  background:#fff;
  color:#211815;
  padding:14px 16px;
  border-radius:18px 18px 18px 4px;
  margin-bottom:12px;
  line-height:1.65;
}
.line-bubble.alt{
  background:#dff8e8;
  margin-left:26px;
  border-radius:18px 18px 4px 18px;
}

.trust-layer{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
  margin-bottom:56px;
}
.trust-card{
  padding:26px;
  border-radius:28px;
  border:1px solid #e7d9c9;
  background:#fff;
  box-shadow:0 14px 34px rgba(43,26,22,.06);
}
.trust-card span{
  display:grid;
  place-items:center;
  width:46px;height:46px;
  border-radius:16px;
  background:#2b1a16;
  color:#d6a354;
  font-weight:950;
  margin-bottom:14px;
}
.trust-card h3{margin:0 0 8px;color:#211815;font-size:24px}
.trust-card p{margin:0;color:#5f4e46;line-height:1.75}

/* About */
.about-quote b{display:block;color:#f1cd77;font-size:14px;letter-spacing:.12em;margin-bottom:14px}
.about-quote p{font-size:26px;line-height:1.55;color:#fff!important;margin:0}
.about-stats{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:14px;
}
.about-stats div{
  background:#2b1a16;
  color:#fff;
  border-radius:26px;
  padding:24px;
  box-shadow:0 18px 40px rgba(43,26,22,.12);
}
.about-stats b{display:block;color:#d6a354;font-size:42px;line-height:1;margin-bottom:8px}
.about-stats span{color:rgba(255,255,255,.78)}
.pain-grid,.service-grid,.maintain-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
}
.pain-grid div,.service-grid a,.maintain-grid div{
  display:block;
  text-decoration:none;
  background:linear-gradient(180deg,#fff,#fdf9f4);
  border:1px solid #e7d9c9;
  border-radius:28px;
  padding:26px;
  box-shadow:0 14px 34px rgba(43,26,22,.06);
}
.pain-grid span{
  display:inline-flex;
  color:#8a5a13;
  background:#fff4df;
  border:1px solid #ead2a7;
  border-radius:999px;
  padding:7px 12px;
  font-size:12px;
  font-weight:950;
  margin-bottom:12px;
}
.pain-grid h3,.service-grid b,.maintain-grid b{display:block;color:#211815;font-size:24px;line-height:1.32;margin-bottom:10px}
.pain-grid p,.service-grid span,.maintain-grid p{color:#5f4e46;line-height:1.78}
.service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.service-grid em{display:block;margin-top:16px;font-style:normal;color:#a63a2a;font-weight:950}
.about-boundary{
  display:grid;
  grid-template-columns:.75fr 1.25fr;
  gap:24px;
  align-items:start;
  padding:34px;
  border:1px solid #e7d9c9;
  border-radius:34px;
  background:#fff7ea;
}
.about-boundary h2{font-size:clamp(30px,4vw,46px);line-height:1.15;margin:0 0 12px}
.about-boundary p{color:#5f4e46;line-height:1.8}
.boundary-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
}
.boundary-grid div{
  background:#fff;
  border:1px solid #eadacc;
  border-radius:24px;
  padding:22px;
}
.boundary-grid b{display:block;color:#211815;font-size:20px;margin-bottom:8px}
.boundary-grid span{color:#5f4e46;line-height:1.68}

@media(max-width:960px){
  .brand-hero-grid,.home-tool-hub,.line-brand-band,.about-boundary{grid-template-columns:1fr}
  .brand-dashboard{display:none}
  .scenario-bento,.brand-timeline,.trust-layer,.about-stats,.pain-grid,.maintain-grid{grid-template-columns:1fr}
  .service-grid,.tool-mini-grid,.boundary-grid{grid-template-columns:1fr}
  .brand-timeline a:not(:last-child)::after{display:none}
}
@media(max-width:760px){
  .brand-hero{padding:52px 0 48px}
  .brand-hero h1{font-size:clamp(34px,10vw,46px)}
  .scenario-tile{min-height:auto;padding:22px}
  .home-tool-hub,.line-brand-band,.about-boundary{padding:24px;border-radius:26px}
  .about-stats div{padding:22px}
}


/* =========================================================
   v27 flow platform layer
   Goal: make happydo.tw guide users through the signing-before-check workflow.
   Scoped UI for flow router, progress, next-step cards, copy summaries, article stage hub.
   ========================================================= */

.hd-flow-router,
.hd-flow-progress-panel,
.hd-route-map-section .container,
.hd-tool-next,
.hd-selection-copy,
.hd-maintenance-accordion{
  margin-top:56px;
}

.hd-flow-router,
.hd-flow-progress-panel,
.hd-tool-next,
.hd-selection-copy{
  border:1px solid #e7d9c9;
  border-radius:32px;
  background:
    radial-gradient(circle at 88% 14%,rgba(214,163,84,.14),transparent 28%),
    linear-gradient(180deg,#fff,#fdf9f4);
  box-shadow:0 18px 44px rgba(43,26,22,.08);
  padding:32px;
}

.hd-route-buttons{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px;
  margin-top:20px;
}

.hd-route-buttons button{
  border:1px solid #eadacc;
  border-radius:22px;
  padding:18px 16px;
  background:#fff;
  color:#211815;
  font-weight:950;
  cursor:pointer;
  box-shadow:0 10px 24px rgba(43,26,22,.05);
}

.hd-route-buttons button.active,
.hd-route-buttons button:hover{
  background:#2b1a16;
  color:#d6a354;
  border-color:#2b1a16;
}

.hd-route-result-card{
  margin-top:18px;
  padding:24px;
  border-radius:26px;
  background:linear-gradient(135deg,#2b1a16,#4b2d25);
  color:#fff;
  box-shadow:0 18px 40px rgba(43,26,22,.13);
}

.hd-route-result-card h3{
  color:#fff!important;
  font-size:30px;
  line-height:1.25;
  margin:8px 0 10px;
}

.hd-route-result-card p{
  color:rgba(255,255,255,.78)!important;
  line-height:1.78;
}

.hd-route-links{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:16px;
}

.hd-route-links a{
  display:inline-flex;
  min-height:42px;
  align-items:center;
  justify-content:center;
  padding:10px 14px;
  border-radius:999px;
  background:#fff;
  color:#2b1a16;
  font-weight:950;
  text-decoration:none;
}

.hd-flow-progress-head{
  display:flex;
  justify-content:space-between;
  gap:22px;
  align-items:start;
}

.hd-flow-progress-head h2{
  font-size:clamp(28px,4vw,42px);
  line-height:1.16;
  margin:8px 0 8px;
  color:#211815;
}

.hd-flow-progress-head p{
  color:#5f4e46;
  line-height:1.75;
  margin:0;
}

.hd-flow-score{
  min-width:120px;
  background:#2b1a16;
  color:#fff;
  border-radius:24px;
  padding:18px;
  text-align:center;
  box-shadow:0 12px 28px rgba(43,26,22,.12);
}

.hd-flow-score b{
  display:block;
  color:#d6a354;
  font-size:38px;
  line-height:1;
}

.hd-flow-score span{
  display:block;
  color:rgba(255,255,255,.72);
  margin-top:6px;
  font-size:13px;
}

.hd-flow-progress-track{
  height:12px;
  border-radius:999px;
  background:#efe4d8;
  margin:22px 0;
  overflow:hidden;
  box-shadow:inset 0 0 0 1px rgba(43,26,22,.05);
}

.hd-flow-progress-track i{
  display:block;
  height:100%;
  border-radius:999px;
  background:linear-gradient(90deg,#a63a2a,#d6a354);
}

.hd-flow-step-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px;
}

.hd-flow-step{
  display:block;
  text-decoration:none;
  padding:18px;
  border-radius:22px;
  background:#fff;
  border:1px solid #eadacc;
  box-shadow:0 10px 24px rgba(43,26,22,.045);
}

.hd-flow-step span{
  display:inline-flex;
  padding:6px 10px;
  border-radius:999px;
  background:#f3eadf;
  color:#72513f;
  font-size:12px;
  font-weight:950;
  margin-bottom:10px;
}

.hd-flow-step b{
  display:block;
  color:#211815;
  font-size:18px;
  line-height:1.35;
}

.hd-flow-step.done{
  border-color:#d6a354;
  background:#fff7ea;
}

.hd-flow-step.done span{
  background:#A63A2A;
  color:#fff;
}

.hd-flow-reset{
  margin-top:18px;
  border:none;
  border-radius:999px;
  background:#fff;
  border:1px solid #eadacc;
  color:#5f4e46;
  padding:11px 16px;
  font-weight:900;
  cursor:pointer;
}

.hd-recommended-routes{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
  margin-top:22px;
}

.hd-route-card{
  padding:26px;
  border-radius:28px;
  border:1px solid #e7d9c9;
  background:linear-gradient(180deg,#fff,#fdf9f4);
  box-shadow:0 16px 36px rgba(43,26,22,.07);
}

.hd-route-card span{
  display:inline-flex;
  background:#fff4df;
  border:1px solid #ead2a7;
  color:#8a5a13;
  border-radius:999px;
  padding:7px 12px;
  font-size:12px;
  font-weight:950;
  margin-bottom:12px;
}

.hd-route-card h3{
  color:#211815;
  font-size:26px;
  line-height:1.25;
  margin:0 0 12px;
}

.hd-route-card ol{
  margin:0 0 18px;
  padding-left:22px;
  color:#5f4e46;
  line-height:1.75;
}

.hd-route-card a{
  color:#a63a2a;
  font-weight:950;
  text-decoration:none;
}

.hd-tool-next{
  display:grid;
  grid-template-columns:1fr 1.1fr;
  gap:24px;
  align-items:center;
}

.hd-tool-next-copy h2,
.hd-selection-copy h2{
  font-size:clamp(28px,4vw,42px);
  line-height:1.18;
  color:#211815;
  margin:8px 0 10px;
}

.hd-tool-next-copy p,
.hd-selection-copy p{
  color:#5f4e46;
  line-height:1.82;
  margin:0;
}

.hd-tool-next-actions{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  justify-content:flex-end;
}

.hd-tool-next-actions a,
.hd-tool-next-actions button,
.hd-selection-copy button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:48px;
  border-radius:999px;
  padding:12px 17px;
  text-decoration:none;
  font-weight:950;
  border:1px solid #eadacc;
  background:#fff;
  color:#2b1a16;
  cursor:pointer;
}

.hd-tool-next-actions a:first-child,
.hd-selection-copy button{
  background:#a63a2a;
  color:#fff;
  border-color:#a63a2a;
}

.hd-selection-copy{
  display:grid;
  grid-template-columns:1fr auto;
  gap:18px;
  align-items:center;
}

.art-stage-hub{
  max-width:1120px;
  margin:32px auto 28px;
  padding:30px;
  border:1px solid #e7d9c9;
  border-radius:32px;
  background:linear-gradient(180deg,#fff,#fdf9f4);
  box-shadow:0 18px 44px rgba(43,26,22,.08);
}

.art-stage-hub h2{
  color:#211815!important;
  margin:0 0 8px;
}

.art-stage-hub > p{
  color:#5f4e46;
  margin:0 0 20px;
}

.art-stage-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:14px;
}

.art-stage-grid div{
  background:#fff;
  border:1px solid #eadacc;
  border-radius:24px;
  padding:20px;
}

.art-stage-grid span{
  display:block;
  color:#8a5a13;
  font-weight:950;
  margin-bottom:10px;
}

.art-stage-grid a{
  display:block;
  color:#211815;
  text-decoration:none;
  padding:8px 0;
  border-top:1px solid #f0e4d8;
  font-weight:850;
}

.hd-maintenance-accordion .hd-accordion-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
}

.hd-maintenance-accordion details{
  background:#fff;
  border:1px solid #eadacc;
  border-radius:24px;
  padding:20px;
  box-shadow:0 10px 24px rgba(43,26,22,.045);
}

.hd-maintenance-accordion summary{
  cursor:pointer;
  color:#211815;
  font-weight:950;
  font-size:18px;
}

.hd-maintenance-accordion p{
  color:#5f4e46;
  line-height:1.78;
  margin:12px 0 0;
}

@media(max-width:960px){
  .hd-route-buttons,
  .hd-flow-step-grid,
  .hd-recommended-routes,
  .art-stage-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .hd-tool-next,
  .hd-selection-copy{
    grid-template-columns:1fr;
  }
  .hd-tool-next-actions{
    justify-content:flex-start;
  }
}

@media(max-width:720px){
  .hd-route-buttons,
  .hd-flow-step-grid,
  .hd-recommended-routes,
  .art-stage-grid,
  .hd-maintenance-accordion .hd-accordion-grid{
    grid-template-columns:1fr;
  }
  .hd-flow-progress-head{
    display:block;
  }
  .hd-flow-score{
    margin-top:16px;
    width:100%;
  }
  .hd-tool-next-actions a,
  .hd-tool-next-actions button,
  .hd-selection-copy button{
    width:100%;
  }
}


/* =========================================================
   v28 homepage brand upgrade
   Objective: stronger "private urban renewal knowledge platform" feel
   while preserving current logo and main coffee-gold brand identity.
   ========================================================= */

.home-v28-hero{
  padding-bottom:86px;
}

.home-v28-grid{
  gap:42px;
  align-items:stretch;
}

.hero-brand-note{
  margin-top:20px;
  padding:18px 20px;
  border-radius:22px;
  background:rgba(255,255,255,.10);
  border:1px solid rgba(255,255,255,.14);
  box-shadow:0 12px 28px rgba(0,0,0,.08);
  backdrop-filter:blur(8px);
}

.hero-brand-note strong{
  display:block;
  color:#f1cd77;
  font-size:13px;
  letter-spacing:.12em;
  margin-bottom:8px;
}

.hero-brand-note span{
  display:block;
  color:rgba(255,255,255,.88);
  line-height:1.8;
}

.home-v28-mini-pills{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:20px;
}

.home-v28-mini-pills span{
  display:inline-flex;
  align-items:center;
  min-height:38px;
  padding:8px 14px;
  border-radius:999px;
  background:rgba(255,255,255,.10);
  border:1px solid rgba(255,255,255,.14);
  color:#fff;
  font-weight:850;
  font-size:14px;
}

.hero-platform-preview{
  display:flex;
  align-items:stretch;
}

.hpp-shell{
  width:100%;
  border-radius:34px;
  background:
    radial-gradient(circle at 82% 16%,rgba(214,163,84,.12),transparent 30%),
    linear-gradient(180deg,rgba(255,255,255,.10),rgba(255,255,255,.06));
  border:1px solid rgba(255,255,255,.16);
  box-shadow:0 34px 70px rgba(0,0,0,.22);
  backdrop-filter:blur(12px);
  padding:18px;
}

.hpp-topbar{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:12px;
  margin-bottom:16px;
}

.hpp-brand{
  color:rgba(255,255,255,.86);
  font-size:13px;
  font-weight:900;
  letter-spacing:.04em;
}

.hpp-badge{
  display:inline-flex;
  min-height:34px;
  align-items:center;
  padding:8px 12px;
  border-radius:999px;
  background:#f1cd77;
  color:#2b1a16;
  font-size:12px;
  font-weight:950;
}

.hpp-main{
  display:grid;
  grid-template-columns:.9fr 1.1fr;
  gap:14px;
}

.hpp-route-panel,
.hpp-summary-panel{
  border-radius:26px;
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.10);
  padding:18px;
}

.hpp-panel-title{
  color:#f1cd77;
  font-size:12px;
  font-weight:950;
  letter-spacing:.1em;
  margin-bottom:12px;
}

.hpp-route-list{
  display:grid;
  gap:10px;
}

.hpp-route-list div{
  display:grid;
  grid-template-columns:46px 1fr;
  gap:10px;
  align-items:center;
  padding:12px;
  border-radius:18px;
  background:rgba(255,255,255,.07);
}

.hpp-route-list b{
  display:grid;
  place-items:center;
  width:42px;
  height:42px;
  border-radius:14px;
  background:#2b1a16;
  color:#d6a354;
  font-weight:950;
}

.hpp-route-list span{
  color:#fff;
  font-weight:850;
  line-height:1.4;
}

.hpp-summary-card{
  padding:14px;
  border-radius:18px;
  background:#fff;
  margin-bottom:10px;
  box-shadow:0 10px 24px rgba(43,26,22,.06);
}

.hpp-summary-card.alt{
  background:#fff7ea;
}

.hpp-summary-card span{
  display:inline-flex;
  color:#8a5a13;
  background:#fff4df;
  border:1px solid #ead2a7;
  border-radius:999px;
  padding:5px 10px;
  font-size:11px;
  font-weight:950;
  margin-bottom:8px;
}

.hpp-summary-card b{
  display:block;
  color:#211815;
  font-size:19px;
  line-height:1.34;
  margin-bottom:4px;
}

.hpp-summary-card small{
  display:block;
  color:#6b5951;
  line-height:1.6;
}

.hpp-bottom{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:14px;
}

.hpp-chip{
  display:inline-flex;
  min-height:34px;
  align-items:center;
  padding:8px 12px;
  border-radius:999px;
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.12);
  color:rgba(255,255,255,.82);
  font-size:12px;
  font-weight:850;
}

.home-v28-brandstrip{
  display:grid;
  grid-template-columns:.85fr 1.15fr;
  gap:18px;
  margin-top:34px;
}

.brandstrip-card,
.brandstrip-grid > div{
  border-radius:28px;
  border:1px solid #e7d9c9;
  background:linear-gradient(180deg,#fff,#fdf9f4);
  box-shadow:0 16px 36px rgba(43,26,22,.07);
}

.brandstrip-card{
  padding:28px;
}

.brandstrip-card strong{
  display:block;
  color:#211815;
  font-size:28px;
  line-height:1.24;
  margin-bottom:10px;
}

.brandstrip-card span{
  display:block;
  color:#5f4e46;
  line-height:1.82;
}

.brandstrip-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
}

.brandstrip-grid > div{
  padding:22px;
}

.brandstrip-grid b{
  display:block;
  color:#211815;
  font-size:21px;
  margin-bottom:8px;
}

.brandstrip-grid span{
  color:#5f4e46;
  line-height:1.72;
}

.scenario-bento-v28 .scenario-tile{
  padding-top:24px;
}

.tile-icon{
  display:grid;
  place-items:center;
  width:58px;
  height:58px;
  border-radius:20px;
  font-size:22px;
  font-weight:950;
  margin-bottom:6px;
  box-shadow:0 12px 24px rgba(43,26,22,.08);
}

.tile-icon-a{
  background:linear-gradient(135deg,#2b1a16,#6f4a3d);
  color:#f1cd77;
}
.tile-icon-b{
  background:linear-gradient(135deg,#a63a2a,#d6a354);
  color:#fff;
}
.tile-icon-c{
  background:linear-gradient(135deg,#A63A2A,#C87932);
  color:#fff;
}

.home-tool-hub-v28{
  background:
    radial-gradient(circle at 88% 14%,rgba(214,163,84,.14),transparent 26%),
    linear-gradient(135deg,#fff,#faf5ee);
}

.home-v28-trust{
  margin-bottom:58px;
}

.trust-layer-v28 .trust-card{
  background:linear-gradient(180deg,#fff,#fcf8f1);
}

@media(max-width:960px){
  .home-v28-brandstrip,
  .hpp-main{
    grid-template-columns:1fr;
  }
}

@media(max-width:760px){
  .hero-platform-preview{
    display:none;
  }

  .home-v28-mini-pills{
    gap:8px;
  }

  .home-v28-mini-pills span{
    font-size:13px;
  }

  .home-v28-brandstrip{
    margin-top:22px;
  }

  .brandstrip-card{
    padding:22px;
  }

  .brandstrip-card strong{
    font-size:24px;
  }

  .brandstrip-grid{
    grid-template-columns:1fr;
  }
}



/* =========================================================
   v29 homepage + tools unified brand language
   Scope kept mainly to homepage and tools page.
   ========================================================= */

.tools-v29-hero{
  padding-bottom:78px;
}

.tools-v29-hero-grid{
  gap:42px;
  align-items:stretch;
}

.tools-v29-pill-row{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:20px;
}

.tools-v29-pill-row span{
  display:inline-flex;
  align-items:center;
  min-height:38px;
  padding:8px 14px;
  border-radius:999px;
  background:rgba(255,255,255,.10);
  border:1px solid rgba(255,255,255,.14);
  color:#fff;
  font-size:14px;
  font-weight:850;
}

.tools-v29-preview{
  display:flex;
}

.tv29-shell{
  width:100%;
  border-radius:32px;
  background:radial-gradient(circle at 88% 14%,rgba(214,163,84,.13),transparent 28%),linear-gradient(180deg,rgba(255,255,255,.10),rgba(255,255,255,.07));
  border:1px solid rgba(255,255,255,.16);
  box-shadow:0 28px 64px rgba(0,0,0,.22);
  backdrop-filter:blur(10px);
  padding:20px;
}

.tv29-shell-top{
  display:flex;
  justify-content:space-between;
  gap:12px;
  align-items:center;
  margin-bottom:16px;
}

.tv29-shell-top span{
  color:rgba(255,255,255,.78);
  font-size:13px;
  font-weight:900;
}

.tv29-shell-top b{
  display:inline-flex;
  min-height:34px;
  align-items:center;
  padding:8px 12px;
  border-radius:999px;
  background:#f1cd77;
  color:#2b1a16;
  font-size:12px;
  font-weight:950;
}

.tv29-scenario-list{
  display:grid;
  gap:12px;
}

.tv29-scenario-list > div{
  display:grid;
  grid-template-columns:48px 1fr;
  gap:12px;
  align-items:start;
  padding:14px;
  border-radius:20px;
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.08);
}

.tv29-scenario-list i{
  display:grid;
  place-items:center;
  width:44px;
  height:44px;
  border-radius:14px;
  background:#2b1a16;
  color:#d6a354;
  font-style:normal;
  font-weight:950;
}

.tv29-scenario-list b{
  display:block;
  color:#fff;
  font-size:18px;
  line-height:1.35;
  margin-bottom:4px;
}

.tv29-scenario-list span{
  display:block;
  color:rgba(255,255,255,.75);
  line-height:1.68;
}

.tv29-preview-note{
  margin-top:14px;
  padding:12px 14px;
  border-radius:18px;
  background:rgba(255,255,255,.08);
  color:#fff;
  line-height:1.72;
}

.tools-v29-route-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
}

.tools-v29-route-card{
  padding:28px;
  border-radius:30px;
  border:1px solid #e6d8c7;
  background:linear-gradient(180deg,#fff,#fcf8f2);
  box-shadow:0 18px 40px rgba(43,26,22,.07);
}

.tools-v29-route-card.featured{
  background:linear-gradient(180deg,#fff9ef,#fcf1df);
  border-color:#e5c98f;
  box-shadow:0 22px 48px rgba(166,58,42,.08);
}

.route-tag{
  display:inline-flex;
  min-height:32px;
  align-items:center;
  padding:7px 12px;
  border-radius:999px;
  background:#fff4df;
  border:1px solid #ead2a7;
  color:#8a5a13;
  font-size:12px;
  font-weight:950;
  margin-bottom:12px;
}

.tools-v29-route-card h3{
  color:#211815;
  font-size:28px;
  line-height:1.22;
  margin:0 0 10px;
}

.tools-v29-route-card p{
  color:#5f4e46;
  line-height:1.8;
  margin:0 0 16px;
}

.tools-v29-route-card ol{
  margin:0;
  padding-left:20px;
}

.tools-v29-route-card li{
  color:#4f413b;
  line-height:1.8;
  margin-bottom:8px;
}

.tools-v29-route-card a{
  color:#a63a2a;
  font-weight:900;
  text-decoration:none;
}

.tools-v29-quick-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:16px;
}

.tools-v29-quick-card{
  display:block;
  padding:22px;
  border-radius:28px;
  background:#fff;
  border:1px solid #e7d9c9;
  box-shadow:0 14px 30px rgba(43,26,22,.06);
  text-decoration:none;
}

.tools-v29-quick-card b{
  display:block;
  color:#211815;
  font-size:22px;
  line-height:1.3;
  margin-bottom:8px;
}

.tools-v29-quick-card span{
  display:block;
  color:#5f4e46;
  line-height:1.75;
}

.tools-v29-category-grid{
  display:grid;
  gap:22px;
}

.tools-v29-category-block{
  border:1px solid #e7d9c9;
  border-radius:34px;
  background:linear-gradient(180deg,#fff,#fdf9f4);
  box-shadow:0 18px 42px rgba(43,26,22,.07);
  padding:28px;
}

.tools-v29-category-head{
  margin-bottom:20px;
}

.tools-v29-category-head span{
  display:inline-flex;
  min-height:32px;
  align-items:center;
  padding:7px 12px;
  border-radius:999px;
  background:#2b1a16;
  color:#d6a354;
  font-size:12px;
  font-weight:950;
  margin-bottom:10px;
}

.tools-v29-category-head h3{
  color:#211815;
  font-size:30px;
  line-height:1.22;
  margin:0 0 10px;
}

.tools-v29-category-head p{
  color:#5f4e46;
  line-height:1.8;
  margin:0;
}

.tools-v29-card-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
}

.tools-v29-tool-card{
  display:block;
  text-decoration:none;
  background:#fff;
  border:1px solid #eadacc;
  border-radius:24px;
  padding:20px;
  box-shadow:0 12px 26px rgba(43,26,22,.05);
}

.tools-v29-tool-card small{
  display:inline-flex;
  min-height:28px;
  align-items:center;
  padding:6px 10px;
  border-radius:999px;
  background:#f7ede1;
  color:#8a5a13;
  font-size:11px;
  font-weight:950;
  margin-bottom:10px;
}

.tools-v29-tool-card b{
  display:block;
  color:#211815;
  font-size:22px;
  line-height:1.34;
  margin-bottom:8px;
}

.tools-v29-tool-card p{
  margin:0;
  color:#5f4e46;
  line-height:1.75;
}

.tools-v29-process-line{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:14px;
}

.tools-v29-process-line > div{
  background:#fff;
  border:1px solid #e7d9c9;
  border-radius:28px;
  padding:22px;
  box-shadow:0 14px 32px rgba(43,26,22,.06);
}

.tools-v29-process-line i{
  display:inline-grid;
  place-items:center;
  width:46px;
  height:46px;
  border-radius:16px;
  background:#a63a2a;
  color:#fff;
  font-style:normal;
  font-weight:950;
  margin-bottom:10px;
}

.tools-v29-process-line b{
  display:block;
  color:#211815;
  font-size:21px;
  line-height:1.36;
  margin-bottom:6px;
}

.tools-v29-process-line span,
.tools-v29-process-line span a{
  color:#5f4e46;
  line-height:1.75;
}

.tools-v29-process-line span a{
  color:#a63a2a;
  font-weight:900;
  text-decoration:none;
}

.tools-v29-cta-wrap{
  display:grid;
  grid-template-columns:1fr auto;
  gap:24px;
  align-items:center;
  padding:30px;
  border-radius:32px;
  border:1px solid #e7d9c9;
  background:radial-gradient(circle at 88% 12%,rgba(214,163,84,.14),transparent 24%),linear-gradient(180deg,#fff,#fdf9f4);
  box-shadow:0 18px 40px rgba(43,26,22,.07);
}

.tools-v29-cta-wrap h2{
  color:#211815;
  font-size:32px;
  line-height:1.24;
  margin:8px 0 10px;
}

.tools-v29-cta-wrap p{
  color:#5f4e46;
  line-height:1.8;
  margin:0;
}

.tools-v29-cta-actions{
  display:flex;
  gap:12px;
  flex-wrap:wrap;
}

.tools-v29-quick-card:hover,
.tools-v29-tool-card:hover,
.tools-v29-route-card:hover,
.tools-v29-process-line > div:hover{
  transform:translateY(-3px);
  transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease;
  box-shadow:0 22px 46px rgba(43,26,22,.10);
}

@media(max-width:1100px){
  .tools-v29-route-grid,
  .tools-v29-quick-grid,
  .tools-v29-process-line{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media(max-width:960px){
  .tools-v29-hero-grid,
  .tools-v29-cta-wrap{
    grid-template-columns:1fr;
  }

  .tools-v29-preview{display:none;}

  .tools-v29-card-grid{grid-template-columns:1fr;}
}

@media(max-width:720px){
  .tools-v29-route-grid,
  .tools-v29-quick-grid,
  .tools-v29-process-line{
    grid-template-columns:1fr;
  }

  .tools-v29-category-block,
  .tools-v29-route-card,
  .tools-v29-cta-wrap{
    padding:22px;
    border-radius:26px;
  }

  .tools-v29-category-head h3,
  .tools-v29-route-card h3,
  .tools-v29-cta-wrap h2{
    font-size:26px;
  }

  .tools-v29-tool-card b,
  .tools-v29-quick-card b,
  .tools-v29-process-line b{
    font-size:20px;
  }
}


/* =========================================================
   v30 unified brand language: about + calculator
   Built on v29 home/tools. Logo and coffee-gold identity preserved.
   ========================================================= */

.about-v30-hero{
  padding-bottom:82px;
}

.about-v30-grid{
  gap:42px;
  align-items:stretch;
}

.about-v30-panel{
  border-radius:34px;
  background:radial-gradient(circle at 88% 14%,rgba(214,163,84,.14),transparent 30%),linear-gradient(180deg,rgba(255,255,255,.10),rgba(255,255,255,.07));
  border:1px solid rgba(255,255,255,.16);
  box-shadow:0 28px 70px rgba(0,0,0,.20);
  backdrop-filter:blur(10px);
  padding:22px;
}

.av30-panel-top{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-bottom:16px;
}

.av30-panel-top span{
  color:rgba(255,255,255,.76);
  font-size:13px;
  font-weight:900;
}

.av30-panel-top b{
  display:inline-flex;
  align-items:center;
  min-height:34px;
  border-radius:999px;
  padding:8px 12px;
  background:#f1cd77;
  color:#2b1a16;
  font-size:12px;
  font-weight:950;
}

.av30-principles{
  display:grid;
  gap:12px;
}

.av30-principles > div{
  display:grid;
  grid-template-columns:48px 1fr;
  gap:12px;
  padding:16px;
  border-radius:22px;
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.10);
}

.av30-principles i{
  display:grid;
  place-items:center;
  width:44px;
  height:44px;
  border-radius:15px;
  background:#2b1a16;
  color:#d6a354;
  font-style:normal;
  font-weight:950;
}

.av30-principles b{
  display:block;
  color:#fff;
  font-size:19px;
  line-height:1.34;
  margin-bottom:4px;
}

.av30-principles span{
  display:block;
  color:rgba(255,255,255,.75);
  line-height:1.66;
}

.about-v30-position,
.about-v30-pain,
.about-v30-services,
.about-v30-maintain{
  margin-top:56px;
}

.about-v30-position{
  display:grid;
  grid-template-columns:1fr .95fr;
  gap:22px;
  align-items:stretch;
}

.about-v30-position-main,
.about-v30-stats,
.about-v30-maintain{
  border:1px solid #e7d9c9;
  border-radius:34px;
  background:linear-gradient(180deg,#fff,#fdf9f4);
  box-shadow:0 18px 44px rgba(43,26,22,.08);
  padding:32px;
}

.about-v30-position-main h2,
.about-v30-maintain h2{
  color:#211815;
  font-size:clamp(30px,4vw,48px);
  line-height:1.16;
  margin:8px 0 12px;
}

.about-v30-position-main p,
.about-v30-maintain p{
  color:#5f4e46;
  line-height:1.86;
}

.about-v30-stats{
  display:grid;
  grid-template-columns:1fr;
  gap:14px;
}

.about-v30-stats > div{
  padding:20px;
  border-radius:24px;
  background:#fff;
  border:1px solid #eadacc;
}

.about-v30-stats b{
  display:block;
  color:#a63a2a;
  font-size:28px;
  line-height:1.1;
  margin-bottom:6px;
}

.about-v30-stats span{
  color:#5f4e46;
  line-height:1.68;
}

.about-v30-card-grid,
.about-v30-service-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
}

.about-v30-card,
.about-v30-service-grid a,
.about-v30-maintain-grid details{
  border:1px solid #e7d9c9;
  border-radius:28px;
  background:linear-gradient(180deg,#fff,#fdf9f4);
  box-shadow:0 16px 36px rgba(43,26,22,.07);
  padding:26px;
}

.about-v30-card span,
.about-v30-service-grid small{
  display:inline-flex;
  align-items:center;
  min-height:32px;
  border-radius:999px;
  padding:7px 12px;
  background:#fff4df;
  border:1px solid #ead2a7;
  color:#8a5a13;
  font-size:12px;
  font-weight:950;
  margin-bottom:12px;
}

.about-v30-card h3,
.about-v30-service-grid b{
  display:block;
  color:#211815;
  font-size:26px;
  line-height:1.28;
  margin-bottom:10px;
}

.about-v30-card p,
.about-v30-service-grid span{
  display:block;
  color:#5f4e46;
  line-height:1.8;
}

.about-v30-service-grid{
  grid-template-columns:repeat(2,minmax(0,1fr));
}

.about-v30-service-grid a{
  text-decoration:none;
}

.about-v30-maintain{
  display:grid;
  grid-template-columns:.85fr 1.15fr;
  gap:24px;
  align-items:start;
  margin-bottom:64px;
}

.about-v30-maintain-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
}

.about-v30-maintain-grid details{
  padding:22px;
}

.about-v30-maintain-grid summary{
  color:#211815;
  font-weight:950;
  cursor:pointer;
}

.about-v30-maintain-grid p{
  margin:12px 0 0;
  font-size:14px;
}

/* Calculator v30 */
.calculator-v30-page .page-hero,
.calculator-v30-page .calc-hero,
.calculator-v30-page header.page-hero{
  background:radial-gradient(circle at 86% 14%,rgba(214,163,84,.22),transparent 30%),linear-gradient(135deg,#211815,#2b1a16 55%,#4b2d25)!important;
}

.calculator-v30-control-room,
.calculator-v30-next{
  margin-top:42px;
  border:1px solid #e7d9c9;
  border-radius:34px;
  background:radial-gradient(circle at 88% 14%,rgba(214,163,84,.14),transparent 28%),linear-gradient(180deg,#fff,#fdf9f4);
  box-shadow:0 18px 44px rgba(43,26,22,.08);
  padding:32px;
}

.calculator-v30-control-room{
  display:grid;
  grid-template-columns:1fr 1.1fr;
  gap:24px;
  align-items:center;
}

.calc-v30-copy h2,
.calculator-v30-next h2{
  color:#211815;
  font-size:clamp(30px,4vw,46px);
  line-height:1.16;
  margin:8px 0 12px;
}

.calc-v30-copy p,
.calculator-v30-next p{
  color:#5f4e46;
  line-height:1.84;
  margin:0;
}

.calc-v30-dashboard{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
}

.calc-v30-dashboard div{
  background:#fff;
  border:1px solid #eadacc;
  border-radius:24px;
  padding:22px;
  box-shadow:0 12px 28px rgba(43,26,22,.05);
}

.calc-v30-dashboard b{
  display:block;
  color:#211815;
  font-size:21px;
  margin-bottom:8px;
}

.calc-v30-dashboard span{
  display:block;
  color:#5f4e46;
  line-height:1.68;
}

.calculator-v30-page .calc-shell,
.calculator-v30-page .calc-panel,
.calculator-v30-page .calc-card,
.calculator-v30-page .calc-result,
.calculator-v30-page .form-panel{
  border-radius:26px!important;
  box-shadow:0 16px 38px rgba(43,26,22,.07)!important;
}

.calculator-v30-page input,
.calculator-v30-page select,
.calculator-v30-page textarea,
.calculator-v30-page .calc-input{
  border-radius:16px!important;
  border-color:#dfcfbf!important;
  background:#fffdf8!important;
}

.calculator-v30-page input:focus,
.calculator-v30-page select:focus,
.calculator-v30-page textarea:focus,
.calculator-v30-page .calc-input:focus{
  border-color:#d6a354!important;
  box-shadow:0 0 0 4px rgba(214,163,84,.18)!important;
  outline:none!important;
}

.calculator-v30-next{
  display:grid;
  grid-template-columns:.85fr 1.15fr;
  gap:24px;
  align-items:center;
  margin-bottom:54px;
}

.calc-v30-next-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
}

.calc-v30-next-grid a{
  display:block;
  text-decoration:none;
  border-radius:24px;
  background:#fff;
  border:1px solid #eadacc;
  padding:22px;
  box-shadow:0 12px 28px rgba(43,26,22,.05);
}

.calc-v30-next-grid b{
  display:block;
  color:#211815;
  font-size:22px;
  margin-bottom:8px;
}

.calc-v30-next-grid span{
  color:#5f4e46;
  line-height:1.72;
}

@media(max-width:960px){
  .about-v30-grid,
  .about-v30-position,
  .about-v30-maintain,
  .calculator-v30-control-room,
  .calculator-v30-next{
    grid-template-columns:1fr;
  }

  .about-v30-panel{
    display:none;
  }

  .about-v30-card-grid,
  .about-v30-service-grid,
  .about-v30-maintain-grid,
  .calc-v30-dashboard,
  .calc-v30-next-grid{
    grid-template-columns:1fr;
  }
}

@media(max-width:720px){
  .about-v30-position-main,
  .about-v30-stats,
  .about-v30-maintain,
  .calculator-v30-control-room,
  .calculator-v30-next{
    padding:22px;
    border-radius:26px;
  }

  .about-v30-card,
  .about-v30-service-grid a,
  .about-v30-maintain-grid details,
  .calc-v30-dashboard div,
  .calc-v30-next-grid a{
    padding:20px;
    border-radius:22px;
  }
}


/* =========================================================
   v33 Data Trust Platform
   Data pages + semi-data article trust layer + homepage data center
   ========================================================= */

.data-trust-hero-card,
.data-can-judge,
.data-next-step,
.data-limit-note,
.article-trust-strip,
.article-next-strip,
.home-data-center{
  margin-top:46px;
}

.data-trust-hero-card,
.data-can-judge,
.data-next-step,
.data-limit-note,
.article-trust-strip,
.article-next-strip,
.home-data-center{
  border:1px solid #e7d9c9;
  border-radius:34px;
  background:
    radial-gradient(circle at 88% 14%,rgba(214,163,84,.13),transparent 28%),
    linear-gradient(180deg,#fff,#fdf9f4);
  box-shadow:0 18px 44px rgba(43,26,22,.08);
  padding:32px;
}

.data-trust-hero-card{
  display:grid;
  grid-template-columns:1fr 1.05fr;
  gap:24px;
  align-items:stretch;
}

.data-trust-status h2,
.data-can-judge h2,
.data-next-step h2,
.article-trust-strip h2,
.article-next-strip h2,
.home-data-center h2{
  color:#211815;
  font-size:clamp(30px,4vw,46px);
  line-height:1.16;
  margin:8px 0 12px;
}

.data-trust-status p,
.data-next-step p,
.data-limit-note p,
.article-trust-strip p,
.home-data-copy p{
  color:#5f4e46;
  line-height:1.84;
  margin:0;
}

.data-trust-meta{
  display:grid;
  grid-template-columns:1fr;
  gap:12px;
}

.data-trust-meta > div{
  background:#fff;
  border:1px solid #eadacc;
  border-radius:22px;
  padding:18px;
  box-shadow:0 10px 24px rgba(43,26,22,.045);
}

.data-trust-meta b,
.data-can-grid b,
.home-data-grid b{
  display:block;
  color:#211815;
  font-size:20px;
  line-height:1.34;
  margin-bottom:6px;
}

.data-trust-meta span,
.data-can-grid span,
.home-data-grid span{
  display:block;
  color:#5f4e46;
  line-height:1.68;
}

.data-can-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:16px;
}

.data-can-grid > div,
.home-data-grid a{
  background:#fff;
  border:1px solid #eadacc;
  border-radius:24px;
  padding:22px;
  box-shadow:0 12px 28px rgba(43,26,22,.05);
}

.data-next-step{
  display:grid;
  grid-template-columns:1fr 1.05fr;
  gap:24px;
  align-items:center;
}

.data-next-actions,
.article-next-actions{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  justify-content:flex-end;
}

.data-next-actions a,
.article-next-actions a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:48px;
  border-radius:999px;
  padding:12px 18px;
  text-decoration:none;
  font-weight:950;
  background:#fff;
  border:1px solid #eadacc;
  color:#2b1a16;
}

.data-next-actions a:first-child,
.article-next-actions a:first-child{
  background:#a63a2a;
  color:#fff;
  border-color:#a63a2a;
}

.data-limit-note{
  background:#fff7ea;
  border-color:#efd6ac;
}

.data-limit-note b{
  display:block;
  color:#7c2e20;
  font-size:20px;
  margin-bottom:8px;
}

.article-trust-strip,
.article-next-strip{
  display:grid;
  grid-template-columns:1fr 1.05fr;
  gap:24px;
  align-items:center;
}

.article-trust-meta{
  display:grid;
  gap:10px;
}

.article-trust-meta span{
  display:flex;
  gap:10px;
  justify-content:space-between;
  align-items:center;
  padding:14px 16px;
  border:1px solid #eadacc;
  border-radius:18px;
  background:#fff;
  color:#5f4e46;
}

.article-trust-meta b{
  color:#211815;
}

.article-trust-meta a{
  color:#a63a2a;
  font-weight:950;
  text-decoration:none;
}

.home-data-center{
  display:grid;
  grid-template-columns:.8fr 1.2fr;
  gap:24px;
  align-items:start;
}

.home-data-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
}

.home-data-grid a{
  display:block;
  text-decoration:none;
}

.home-data-grid a:hover,
.data-can-grid > div:hover{
  transform:translateY(-3px);
  box-shadow:0 20px 40px rgba(43,26,22,.10);
  transition:transform .22s ease,box-shadow .22s ease;
}

@media(max-width:980px){
  .data-trust-hero-card,
  .data-next-step,
  .article-trust-strip,
  .article-next-strip,
  .home-data-center{
    grid-template-columns:1fr;
  }

  .data-next-actions,
  .article-next-actions{
    justify-content:flex-start;
  }

  .data-can-grid,
  .home-data-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media(max-width:720px){
  .data-can-grid,
  .home-data-grid{
    grid-template-columns:1fr;
  }

  .data-trust-hero-card,
  .data-can-judge,
  .data-next-step,
  .data-limit-note,
  .article-trust-strip,
  .article-next-strip,
  .home-data-center{
    padding:22px;
    border-radius:26px;
  }

  .data-next-actions a,
  .article-next-actions a{
    width:100%;
  }
}


/* =========================================================
   v34 simplify homepage + scoped article header fixes
   ========================================================= */

/* Home: reduce visual noise; keep brand hero but remove crowded dashboard feel */
.home-v34-simple .brand-hero-grid,
.home-v34-simple .home-v28-grid{
  grid-template-columns:1fr!important;
  max-width:980px;
}

.home-v34-simple .home-v28-hero,
.home-v34-simple .brand-hero{
  padding:64px 0 58px!important;
}

.home-v34-simple .brand-hero h1{
  max-width:900px;
  font-size:clamp(42px,7vw,78px);
  line-height:1.04;
}

.home-v34-simple .brand-hero p{
  max-width:760px;
  font-size:19px;
  line-height:1.86;
}

.home-v34-simple .hero-brand-note.simple{
  max-width:760px;
  padding:16px 18px;
  border-radius:20px;
}

.home-v34-simple .hero-actions{
  margin-top:22px;
}

.home-v34-simple .home-scenarios{
  margin-top:42px;
}

.home-v34-simple .scenario-bento{
  gap:18px;
}

.home-v34-simple .scenario-tile{
  min-height:260px;
}

.home-v34-simple .home-timeline-section{
  margin-top:46px;
}

/* Hide old removed sections defensively if cache/partial still exists */
.home-v34-simple .home-v28-brandstrip,
.home-v34-simple .home-data-center,
.home-v34-simple .hd-flow-router,
.home-v34-simple .hd-flow-progress-panel,
.home-v34-simple .hero-platform-preview,
.home-v34-simple .home-v28-mini-pills{
  display:none!important;
}

/* article-93zones: hero title/watermark contrast fix only */
.article-93zones-page .hero h1,
.article-93zones-page .hero h1 em,
.article-93zones-page .hero .hero-sub,
.article-93zones-page .hero .crumb,
.article-93zones-page .hero .badge{
  text-shadow:none!important;
}

.article-93zones-page .hero h1{
  color:#fff5df!important;
}

.article-93zones-page .hero h1 em{
  color:#f1cd77!important;
}

.article-93zones-page .hero h1::before,
.article-93zones-page .hero h1::after,
.article-93zones-page .hero::before,
.article-93zones-page .hero::after{
  opacity:.12!important;
  color:rgba(255,255,255,.08)!important;
}

.article-93zones-page .hero .hero-sub{
  color:rgba(255,255,255,.84)!important;
  max-width:880px;
}

/* developer-risk: hero title/watermark contrast + ugly lower intro cleanup */
.developer-risk-page .hero h1,
.developer-risk-page .hero h1 em,
.developer-risk-page .hero .lede,
.developer-risk-page .hero .crumb,
.developer-risk-page .hero .badge{
  text-shadow:none!important;
}

.developer-risk-page .hero h1{
  color:#fff5df!important;
}

.developer-risk-page .hero h1 em{
  color:#f1cd77!important;
}

.developer-risk-page .hero h1::before,
.developer-risk-page .hero h1::after,
.developer-risk-page .hero::before,
.developer-risk-page .hero::after{
  opacity:.10!important;
  color:rgba(255,255,255,.08)!important;
}

.developer-risk-page .hero .lede{
  color:rgba(255,255,255,.86)!important;
  max-width:900px;
}

.developer-risk-page .hero-note{
  background:rgba(255,255,255,.10)!important;
  border:1px solid rgba(214,163,84,.30)!important;
  color:rgba(255,255,255,.90)!important;
  border-radius:20px!important;
  padding:18px 22px!important;
  line-height:1.85!important;
  max-width:980px;
}

.developer-risk-page .hero-note b{
  color:#f1cd77!important;
}

/* The "extended reading" block under developer hero looked like a text lump */
.developer-risk-page .hd-prop-section{
  max-width:1120px!important;
  margin:34px auto 0!important;
  padding:30px 32px!important;
  border:1px solid #e7d9c9!important;
  border-radius:30px!important;
  background:linear-gradient(180deg,#fff,#fdf9f4)!important;
  box-shadow:0 16px 36px rgba(43,26,22,.07)!important;
  text-align:left!important;
}

.developer-risk-page .hd-prop-section .hd-prop-kicker{
  display:inline-flex!important;
  padding:7px 12px!important;
  border-radius:999px!important;
  background:#fff4df!important;
  border:1px solid #ead2a7!important;
  color:#8a5a13!important;
  font-size:12px!important;
  font-weight:950!important;
  letter-spacing:.08em!important;
  text-transform:uppercase!important;
  margin-bottom:12px!important;
}

.developer-risk-page .hd-prop-section .hd-prop-title{
  color:#211815!important;
  font-size:clamp(28px,4vw,40px)!important;
  line-height:1.22!important;
  margin:0 0 10px!important;
}

.developer-risk-page .hd-prop-section .hd-prop-sub{
  color:#5f4e46!important;
  line-height:1.82!important;
  margin:0!important;
  max-width:920px!important;
}

@media(max-width:760px){
  .home-v34-simple .brand-hero h1{
    font-size:clamp(36px,11vw,52px);
  }

  .home-v34-simple .brand-hero p{
    font-size:17px;
  }

  .developer-risk-page .hd-prop-section{
    margin:24px 16px 0!important;
    padding:22px!important;
    border-radius:24px!important;
  }
}


/* =========================================================
   v35 home hero route stack
   Move the three scenario cards into the right side of homepage hero.
   ========================================================= */

.home-v35-routes .brand-hero-grid,
.home-v35-routes .home-v28-grid{
  grid-template-columns:minmax(0,1.05fr) minmax(360px,.72fr)!important;
  gap:42px!important;
  align-items:center!important;
  max-width:1200px!important;
}

.home-v35-routes .home-v28-hero,
.home-v35-routes .brand-hero{
  padding:64px 0 66px!important;
}

.home-v35-routes .brand-hero h1{
  max-width:760px;
}

.home-v35-routes .brand-hero p,
.home-v35-routes .hero-brand-note.simple{
  max-width:720px;
}

.home-hero-route-stack{
  align-self:center;
  border:1px solid rgba(214,163,84,.28);
  background:linear-gradient(180deg,rgba(255,255,255,.12),rgba(255,255,255,.07));
  box-shadow:0 28px 70px rgba(0,0,0,.20);
  backdrop-filter:blur(10px);
  border-radius:32px;
  padding:18px;
}

.route-stack-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-bottom:12px;
  padding:4px 2px 8px;
}

.route-stack-head span{
  color:#f1cd77;
  font-size:12px;
  font-weight:950;
  letter-spacing:.14em;
}

.route-stack-head b{
  display:inline-flex;
  min-height:32px;
  align-items:center;
  padding:7px 12px;
  border-radius:999px;
  background:#f1cd77;
  color:#2b1a16;
  font-size:12px;
  font-weight:950;
}

.hero-route-card{
  display:grid;
  grid-template-columns:78px 1fr;
  gap:16px;
  align-items:center;
  text-decoration:none;
  padding:18px 18px 18px 16px;
  border-radius:28px;
  background:linear-gradient(135deg,rgba(255,255,255,.10),rgba(255,255,255,.05));
  border:1px solid rgba(255,255,255,.16);
  margin-top:14px;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.10),0 14px 36px rgba(0,0,0,.14);
  transition:transform .22s ease, background .22s ease, border-color .22s ease, box-shadow .22s ease;
}

.hero-route-card:hover{
  transform:translateY(-3px);
  background:linear-gradient(135deg,rgba(255,255,255,.14),rgba(255,255,255,.08));
  border-color:rgba(214,163,84,.42);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.14),0 18px 40px rgba(0,0,0,.18);
}

.hero-route-card i{
  display:grid;
  place-items:center;
  width:68px;
  height:68px;
  border-radius:22px;
  font-style:normal;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.16),0 16px 30px rgba(0,0,0,.20);
  border:1px solid rgba(255,255,255,.16);
}

.hero-route-card i svg{
  width:34px;
  height:34px;
  display:block;
}

.hero-route-a i{background:linear-gradient(180deg,rgba(145,110,85,.58),rgba(78,49,40,.94));color:#f4ddb2;}
.hero-route-b i{background:linear-gradient(180deg,#db8d4e,#b95932);color:#fff4df;}
.hero-route-c i{background:linear-gradient(180deg,#2ab0a7,#167d78);color:#f5fffe;}

.hero-route-card span{
  display:inline-flex;
  min-height:28px;
  align-items:center;
  padding:6px 10px;
  border-radius:999px;
  background:rgba(241,205,119,.14);
  border:1px solid rgba(241,205,119,.18);
  color:#f1cd77;
  font-size:12px;
  font-weight:950;
  margin-bottom:8px;
}

.hero-route-card b{
  display:block;
  color:#fff;
  font-size:19px;
  line-height:1.38;
  margin-bottom:8px;
}

.hero-route-card em{
  display:inline-flex;
  align-items:center;
  gap:10px;
  color:rgba(255,255,255,.82);
  font-style:normal;
  font-weight:850;
  letter-spacing:.02em;
}

.hero-route-card em::after{
  content:'→';
  display:inline-grid;
  place-items:center;
  width:34px;
  height:34px;
  border-radius:999px;
  border:1px solid rgba(241,205,119,.22);
  color:#f1cd77;
  background:rgba(255,255,255,.06);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.10);
  flex:0 0 auto;
}

.home-v35-routes .home-scenarios{
  display:none!important;
}

@media(max-width:980px){
  .home-v35-routes .brand-hero-grid,
  .home-v35-routes .home-v28-grid{
    grid-template-columns:1fr!important;
    max-width:860px!important;
  }

  .home-hero-route-stack{
    margin-top:10px;
  }
}

@media(max-width:720px){
  .home-hero-route-stack{
    padding:14px;
    border-radius:26px;
  }

  .hero-route-card{
    grid-template-columns:62px 1fr;
    padding:14px;
    border-radius:22px;
    gap:12px;
  }

  .hero-route-card i{
    width:54px;
    height:54px;
    border-radius:18px;
  }

  .hero-route-card i svg{
    width:28px;
    height:28px;
  }

  .hero-route-card b{
    font-size:17px;
  }

  .hero-route-card em::after{
    width:30px;
    height:30px;
  }
}


/* =========================================================
   v37 calculator header order fix
   page-hero stays first; control room becomes secondary panel below hero.
   ========================================================= */
.calculator-v30-page .calculator-v30-control-room{
  margin-top:32px!important;
  margin-bottom:28px!important;
}

.calculator-v30-page main > .page-hero{
  margin-bottom:0!important;
}

@media(max-width:720px){
  .calculator-v30-page .calculator-v30-control-room{
    margin-top:24px!important;
  }
}

/* === happydo query path blocks: linked pages only, no homepage changes === */
.hd-query-path-section{padding:42px 0;background:linear-gradient(180deg,#fffaf2 0%,#fff 100%)}
.hd-query-path-panel{background:#fff;border:1px solid rgba(214,163,84,.32);border-radius:26px;padding:24px;box-shadow:0 18px 46px rgba(31,41,51,.06)}
.hd-query-path-panel .eyebrow,.hd-query-path-eyebrow{display:inline-flex;border-radius:999px;background:rgba(214,163,84,.14);color:#8a5b10;padding:6px 12px;font-size:13px;font-weight:900;letter-spacing:.08em;margin-bottom:10px}
.hd-query-path-panel h2{margin:0 0 8px;color:#1a1a1a;letter-spacing:-.03em}.hd-query-path-panel>p{margin:0;color:#667085;line-height:1.75;max-width:760px}
.hd-query-path-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin-top:18px}
.hd-query-path-card{display:block;text-decoration:none;color:#1a1a1a;background:#fff;border:1px solid #e6dfd3;border-radius:18px;padding:16px;min-height:150px;transition:.18s ease;position:relative;overflow:hidden}
.hd-query-path-card:hover{transform:translateY(-2px);border-color:#d6a354;box-shadow:0 16px 34px rgba(31,41,51,.08);background:#fffdf8}
.hd-query-path-card i{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:999px;background:#1a1a1a;color:#f2c779;font-style:normal;font-weight:900;font-size:13px;margin-bottom:10px}
.hd-query-path-card b{display:block;font-size:16px;line-height:1.35;margin-bottom:6px}.hd-query-path-card span{display:block;color:#667085;font-size:13px;line-height:1.6}.hd-query-path-card strong{color:#8a5b10;font-weight:900}
.hd-old-house-note{background:#fffdf8;border:1px solid #f1d7a8;border-radius:22px;padding:22px;margin:22px 0;box-shadow:0 12px 30px rgba(31,41,51,.04)}
.hd-old-house-note h2{margin:0 0 8px;color:#1a1a1a}.hd-old-house-note p{margin:0;color:#475467;line-height:1.8}.hd-old-house-note ul{margin:12px 0 0;padding-left:20px;color:#475467;line-height:1.8}.hd-old-house-note li{margin:3px 0}
@media(max-width:1050px){.hd-query-path-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:760px){.hd-query-path-grid{grid-template-columns:1fr}.hd-query-path-card{min-height:auto}.hd-query-path-section{padding:30px 0}.hd-query-path-panel{padding:20px}}

/* Dashboard UI consistency baseline */
.hd-article-page article,
.hd-redesign-page article{
  max-width:900px;
  margin-inline:auto;
  padding-inline:24px;
}

.hd-article-page article h1,
.hd-redesign-page article h1{
  line-height:1.24;
  letter-spacing:-.025em;
}

.hd-article-page article h2,
.hd-redesign-page article h2{
  line-height:1.35;
  margin-top:2.35rem;
  margin-bottom:.85rem;
}

.hd-article-page article h3,
.hd-redesign-page article h3{
  line-height:1.42;
  margin-top:1.35rem;
  margin-bottom:.5rem;
}

.hd-article-page article p,
.hd-article-page article li,
.hd-redesign-page article p,
.hd-redesign-page article li{
  line-height:1.85;
}

.summary-box,
.method-card,
.benefit,
.misconception,
.fit-card,
.stat,
.qa,
.notice,
.callout:not(.dark):not(.navy):not(.danger),
.query-box,
.pro-tips,
.tip-item,
.formula,
.v8-card,
.v8-mini,
.v11-flow-steps a,
.v11-flow-steps div,
.hd-selection-copy,
.reltool-card,
.ns-card{
  border:1px solid var(--qa-line,var(--line));
  border-radius:20px;
  box-shadow:var(--shadow-xs);
}

.summary-box,
.query-box,
.pro-tips,
.v8-card,
.hd-selection-copy{
  padding:24px;
}

.method-card,
.benefit,
.misconception,
.fit-card,
.stat,
.qa,
.notice,
.callout:not(.dark):not(.navy):not(.danger),
.formula,
.tip-item,
.v8-mini,
.reltool-card,
.ns-card{
  padding:18px;
}

.method-grid,
.fit-grid,
.stats-row,
.reltool-grid,
.ns-grid,
.v8-grid,
.v8-grid-3,
.v11-flow-steps{
  gap:14px;
}

.cta-box,
.tool-nextstep,
.hd-cta-strip{
  border-radius:24px;
  padding:28px;
  box-shadow:0 22px 54px rgba(31,21,18,.16);
}

.hero-actions,
.btn-row,
.v11-copy-box,
.socbar-btns{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  align-items:center;
}

.table-wrap{
  margin:18px 0 26px;
  border-radius:18px;
}

.table-wrap table{
  min-width:640px;
  border-collapse:collapse;
}

.table-wrap th,
.table-wrap td{
  padding:12px 14px;
  vertical-align:middle;
}

.zone-label,
.val,
.val-highlight{
  font-weight:950;
}

.val-highlight{
  color:var(--brick)!important;
}

.val-note,
.note-cell{
  color:var(--muted)!important;
  line-height:1.55;
}

.faq-sec,
.reltool-sec,
.socbar-sec,
.ns-sec{
  padding:52px 24px;
}

.faq-in,
.reltool-in,
.socbar-in,
.ns-in{
  max-width:900px;
  margin-inline:auto;
}

.faq-hd,
.reltool-hd{
  margin-bottom:24px;
}

.faq-list{
  display:grid;
  gap:0;
}

.faq-item{
  border-bottom:1px solid var(--qa-line,var(--line));
}

.faq-q{
  width:100%;
  border:none;
  background:transparent;
  padding:18px 0;
  text-align:left;
  font-family:inherit;
  font-size:15px;
  font-weight:950;
  color:var(--ink);
  cursor:pointer;
}

.faq-a{
  max-height:0;
  overflow:hidden;
  transition:max-height .25s ease;
}

.faq-item.open .faq-a{
  max-height:800px;
}

.faq-a>div{
  padding:0 0 18px;
  line-height:1.8;
  color:var(--text);
}

.reltool-grid,
.ns-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
}

.reltool-card,
.ns-card{
  display:flex;
  flex-direction:column;
  gap:7px;
  text-decoration:none;
  transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease;
}

.reltool-card:hover,
.ns-card:hover{
  transform:translateY(-2px);
  border-color:var(--gold-600);
  box-shadow:var(--shadow);
}

.reltool-go,
.ns-arr{
  margin-top:auto;
  color:var(--brick);
  font-weight:950;
}

.socbar-sec{
  background:var(--cream);
}

.socbar-in{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:28px;
  background:#fff;
  border:1px solid var(--qa-line,var(--line));
  border-left:6px solid var(--gold-600);
  border-radius:24px;
  padding:26px;
  box-shadow:var(--shadow-xs);
}

.socbtn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border:1px solid var(--qa-line,var(--line));
  border-radius:999px;
  padding:10px 16px;
  text-decoration:none;
  font-weight:950;
}

.socbtn-ln{
  background:var(--line-green)!important;
  color:#fff!important;
  border-color:var(--line-green)!important;
}

.v8-grid{
  display:grid;
  grid-template-columns:minmax(240px,.85fr) 1fr;
  gap:18px;
  align-items:start;
}

.v8-field{
  display:grid;
  gap:6px;
  margin-bottom:12px;
}

.v8-field label{
  color:var(--ink);
  font-weight:900;
}

.v8-field input{
  width:100%;
  border:1px solid var(--qa-line,var(--line));
  border-radius:14px;
  padding:12px 14px;
  font:inherit;
  color:var(--ink);
  background:#fff;
}

.v8-btn,
.v11-copy-selection,
.hd-selection-copy button{
  border:none;
  border-radius:999px;
  background:var(--brick);
  color:#fff;
  padding:12px 18px;
  font:inherit;
  font-weight:950;
  cursor:pointer;
}

.v8-result{
  border:1px solid rgba(214,163,84,.45);
  border-radius:18px;
  background:#fff8ec;
  padding:16px;
  color:var(--text);
}

.v11-flow-steps{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
}

.v11-flow-steps a,
.v11-flow-steps div{
  text-decoration:none;
}

.v11-copy-status{
  color:var(--green);
  font-weight:900;
}

@media(max-width:900px){
  .reltool-grid,
  .ns-grid,
  .v8-grid,
  .v11-flow-steps{
    grid-template-columns:1fr 1fr;
  }

  .socbar-in{
    align-items:flex-start;
    flex-direction:column;
  }
}

@media(max-width:640px){
  .hd-article-page article,
  .hd-redesign-page article{
    padding-inline:20px;
  }

  .reltool-grid,
  .ns-grid,
  .v8-grid,
  .v8-grid-3,
  .v11-flow-steps,
  .method-grid,
  .fit-grid,
  .stats-row{
    grid-template-columns:1fr!important;
  }

  .cta-box,
  .tool-nextstep,
  .hd-cta-strip,
  .summary-box,
  .query-box,
  .pro-tips,
  .v8-card,
  .hd-selection-copy{
    padding:20px;
    border-radius:20px;
  }

  .hero-actions .btn,
  .btn-row .btn,
  .socbtn,
  .v11-copy-selection,
  .hd-selection-copy button{
    width:100%;
    justify-content:center;
  }
}

.hd-recommended-reading{
  max-width:900px;
  margin:0 auto 44px;
  padding:28px 24px;
}

.hd-recommended-reading .hd-grid-3{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:16px;
  margin-top:18px;
}

.hd-reco-card{
  min-height:190px;
  text-decoration:none;
  display:flex;
  flex-direction:column;
  gap:10px;
  border:1px solid var(--qa-line,var(--line));
  border-radius:20px;
  background:linear-gradient(180deg,#fff,#fffaf3);
  padding:20px;
  box-shadow:var(--shadow-xs);
  transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease;
}

.hd-reco-card:hover{
  transform:translateY(-2px);
  border-color:var(--gold-600);
  box-shadow:var(--shadow);
}

.hd-reco-card b{
  color:var(--ink);
  font-size:17px;
  line-height:1.4;
  font-weight:950;
}

.hd-reco-card span{
  color:var(--text);
  font-size:14px;
  line-height:1.7;
}

.hd-reco-card em{
  margin-top:auto;
  align-self:flex-start;
  border-radius:999px;
  background:var(--brick);
  color:#fff;
  padding:9px 13px;
  font-style:normal;
  font-size:13px;
  font-weight:950;
}

@media(max-width:760px){
  .hd-recommended-reading{
    padding:22px 20px;
  }

  .hd-recommended-reading .hd-grid-3{
    grid-template-columns:1fr;
  }

  .hd-reco-card{
    min-height:auto;
  }
}

/* ================================================================
   Home typography balance v2026-05 (Batch 1)
   Scope: ONLY home pages (body.home-v35-routes). Other pages unaffected.
   Goal:
   - Home hero H1 must not look oversized
   - Right-side route cards have consistent type hierarchy
   - Eyebrow / kicker / .ub never drop below 12px
   - All values follow TYPOGRAPHY_STANDARD.md §5
   No !important; selector specificity (body class chain) is enough.
   ================================================================ */

/* hero H1 */
body.home-v35-routes .brand-hero h1,
body.home-v35-routes .home-brand-hero h1,
body.home-v35-routes .home-v28-hero h1,
body.home-v35-routes header.brand-hero h1{
  font-size:clamp(34px,4.6vw,54px);
  line-height:1.15;
  letter-spacing:-.025em;
}

/* hero lead paragraph */
body.home-v35-routes .brand-hero > .container > .brand-hero-copy > p,
body.home-v35-routes .brand-hero-copy p,
body.home-v35-routes .home-brand-hero p,
body.home-v35-routes .home-v28-hero p{
  font-size:17px;
  line-height:1.85;
}

/* eyebrow / kicker / crumb / .ub on the home page */
body.home-v35-routes .hero-kicker,
body.home-v35-routes .crumb,
body.home-v35-routes .eyebrow,
body.home-v35-routes .ub{
  font-size:12px;
  line-height:1.4;
  letter-spacing:.18em;
  font-weight:800;
}

/* right-side route stack cards */
body.home-v35-routes .hero-route-card span{
  font-size:13px;
  letter-spacing:.06em;
}
body.home-v35-routes .hero-route-card b{
  font-size:18px;
  line-height:1.35;
}
body.home-v35-routes .hero-route-card em{
  font-size:14.5px;
  font-style:normal;
  font-weight:800;
}

/* section H2 — process / tool-hub / line-brand / trust layer */
body.home-v35-routes .home-timeline-section h2,
body.home-v35-routes .home-tool-hub h2,
body.home-v35-routes .line-brand-band h2,
body.home-v35-routes .home-v28-trust h2{
  font-size:clamp(24px,3vw,34px);
  line-height:1.3;
  letter-spacing:-.02em;
}

/* section descriptions and card bodies */
body.home-v35-routes .home-tool-hub p,
body.home-v35-routes .tool-mini-grid span,
body.home-v35-routes .trust-card p,
body.home-v35-routes .brand-timeline span,
body.home-v35-routes .line-brand-band p,
body.home-v35-routes .home-timeline-section .sec-head p{
  font-size:15px;
  line-height:1.78;
}

/* card titles */
body.home-v35-routes .brand-timeline b,
body.home-v35-routes .tool-mini-grid b,
body.home-v35-routes .trust-card h3{
  font-size:17px;
  line-height:1.35;
}

/* brand-hero-note text */
body.home-v35-routes .hero-brand-note strong{
  font-size:13px;
  letter-spacing:.04em;
}
body.home-v35-routes .hero-brand-note span{
  font-size:15px;
  line-height:1.78;
}

/* mobile balance for home */
@media(max-width:760px){
  body.home-v35-routes .brand-hero h1,
  body.home-v35-routes .home-brand-hero h1,
  body.home-v35-routes .home-v28-hero h1{
    font-size:clamp(30px,8.5vw,38px);
    line-height:1.2;
  }
  body.home-v35-routes .brand-hero-copy p,
  body.home-v35-routes .home-brand-hero p,
  body.home-v35-routes .home-v28-hero p{
    font-size:15.5px;
    line-height:1.8;
  }
  body.home-v35-routes .hero-route-card b{
    font-size:17px;
  }
  body.home-v35-routes .hero-route-card em{
    font-size:14px;
  }
  body.home-v35-routes .home-timeline-section h2,
  body.home-v35-routes .home-tool-hub h2,
  body.home-v35-routes .line-brand-band h2,
  body.home-v35-routes .home-v28-trust h2{
    font-size:clamp(22px,6vw,26px);
  }
}


/* =================================================================
   v28 Round-1 consistency pass — 2026-05-22
   附在 happydo-dashboard.css 末尾。
   目標：統一卡片高度、CTA 對齊、內部連結卡比例、避免右側留白。
   ================================================================= */

/* 1. 內部連結卡與工具卡：統一 flex column / CTA 在底部 ------------- */
.ns-card,
.reltool-card,
.hd-next-card,
.hd-funnel-card,
.fx-next,
.v8-mini,
.v9-card,
.tool-mini-grid > a,
.hd-route-card,
.calc-question-card,
.v11-flow-steps > a,
.v11-flow-steps.vertical > div,
.v11-label-card,
.scenario-tile{
  display:flex;
  flex-direction:column;
  gap:8px;
  height:100%;
  min-width:0;
}

/* 「下一步」箭頭 / em 標籤統一在卡片底部 */
.ns-card .ns-arr,
.reltool-card .reltool-go,
.hd-next-card .go,
.hd-funnel-card em,
.fx-next em,
.tool-mini-grid > a em,
.v11-flow-steps > a em,
.calc-question-card em,
.scenario-tile b{
  margin-top:auto;
}

/* 2. Card grids 預設 align-items:stretch，卡片高度同步 ------------- */
.ns-grid,
.reltool-grid,
.hd-next-grid,
.hd-funnel-grid,
.tool-mini-grid,
.hd-recommended-routes,
.hd-flow-step-grid,
.fx-next-grid,
.calc-question-grid,
.v11-flow-steps,
.v11-label-grid,
.scenario-bento,
.brand-timeline,
.pain-grid,
.service-grid,
.maintain-grid,
.boundary-grid,
.art-stage-grid,
.hd-related-grid,
.v8-grid,
.v8-grid-3,
.v9-grid,
.tools-grid{
  align-items:stretch;
}

/* 3. ns-card / reltool-card：手機單欄，桌機自動 2/3 欄 --------------- */
@media(max-width:980px){
  .ns-grid,
  .reltool-grid,
  .hd-next-grid,
  .v9-grid,
  .v8-grid-3{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}
@media(max-width:640px){
  .ns-grid,
  .reltool-grid,
  .hd-next-grid,
  .v9-grid,
  .v8-grid-3,
  .v8-grid,
  .hd-funnel-grid,
  .tool-mini-grid,
  .v11-label-grid,
  .pain-grid,
  .maintain-grid,
  .boundary-grid,
  .art-stage-grid,
  .fx-next-grid,
  .hd-related-grid,
  .calc-question-grid,
  .v11-flow-steps,
  .hd-recommended-routes,
  .hd-flow-step-grid{
    grid-template-columns:1fr!important;
  }
}

/* 4. valuation-report / selection-order / price-difference：大卡片
      在右側不要留白；內容延展到欄寬。 ------------------------------- */
.valuation-report-page .section > .container,
.selection-order-page .section > .container,
.price-difference-page .section > .container{
  max-width:100%;
}

.valuation-report-page .section .card,
.selection-order-page .section .card,
.price-difference-page .section .card{
  width:100%;
}

/* 5. .hd-footer-trust：手機 actions 滿版且最少 50px 觸控區 --------- */
@media(max-width:560px){
  .hd-footer-trust{
    padding:18px;
  }
  .hd-footer-trust .actions{
    flex-direction:column;
    align-items:stretch;
    gap:10px;
  }
  .hd-footer-trust .actions a{
    width:100%;
    min-height:50px;
    padding:12px 16px;
  }
}

/* 6. 工具頁 hero panel 在很窄的畫面隱藏，避免擠壓主要按鈕 ---------- */
@media(max-width:420px){
  .hero-panel:not(.brand-hero-copy),
  .brand-dashboard,
  .rvd-route-card{
    display:none;
  }
}

/* 7. Sensitivity / scenario / Risk thermometer 視覺微整 ---------- */
.sensitivity-card,
.scenario-meta{
  min-width:0;
}

.sensitivity-card .scenario-rate{
  word-break:keep-all;
}

/* 8. Calculator 結果卡：確保 number 區不被擠壓 -------------------- */
.calc-result-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  flex-wrap:wrap;
}
.calc-result-row .calc-result-label{
  flex:1 1 auto;
  min-width:120px;
}
.calc-result-row .calc-result-value{
  flex:0 0 auto;
  text-align:right;
}

/* 9. Document-readiness-checklist 列印：確保 checkbox 與項目對齊 --- */
@media print{
  body{background:#fff!important;}
  .site-nav,.nav-cta,.ub,#lf,
  .hd-footer-trust,.hd-recommended-reading,
  .site-footer{display:none!important;}
  .page-hero,.brand-hero,.hd-redesign-hero{
    padding:12px 0!important;
    background:#fff!important;
    color:#000!important;
    border-bottom:1px solid #000!important;
  }
  .page-hero h1,.brand-hero h1{color:#000!important;}
}

/* 10. 章節間距節奏：避免相鄰 .section 距離不一 --------------------- */
main > .section + .section{
  padding-top:46px;
}
@media(max-width:760px){
  main > .section + .section{
    padding-top:32px;
  }
}

/* 11. 內文卡的 a.btn 不要超出卡片寬度（中文長按鈕字也能換行） ------ */
.card .btn,
.callout .btn,
.summary .btn,
.cta-box .btn,
.ns-card .btn,
.reltool-card .btn{
  white-space:normal;
  line-height:1.4;
  max-width:100%;
}

/* 12. footer link cluster：手機別堆三欄擠在一起 ------------------- */
@media(max-width:560px){
  .site-footer .fin{
    gap:18px;
  }
  .site-footer .fb p{
    font-size:13.5px;
    line-height:1.78;
  }
}

/* =================================================================
   v28 Round-2a cost-table inline cleanup — 2026-05-22
   只做 cost-table.html inline style 回收，不改數值、內容、URL、JS。
   ================================================================= */
.ct-cell-sub{font-weight:400;font-size:11px;}
.ct-struct-sub{font-size:11px;color:#6e5c53;}
.ct-group-cell{font-weight:700;font-size:13px;padding:8px 14px;text-align:left;}
.ct-group-rc{background:#FFF4E6;color:#A63A2A;}
.ct-group-src{background:#dcfce7;color:#166534;}
.ct-group-sc{background:#fef3c7;color:#92400e;}
.ct-rowbg-rc{background:#FBF7EF;}
.ct-rowbg-src{background:#f0fdf4;}
.ct-rowbg-sc{background:#fffbeb;}
.ct-left{text-align:left;}
.ct-note-list,.note-box ol{padding-left:20px;margin-top:8px;}
.ct-h2-spaced{margin-top:48px;}
.ct-subhead{font-size:17px;font-weight:800;color:var(--orange-800);margin:20px 0 12px;}
.ct-th-newtaipei{background:#15803d;}
.ct-cta-wrap{text-align:center;margin:28px 0;}
.ct-cta-btn{display:inline-flex;align-items:center;gap:8px;padding:14px 28px;background:var(--orange-500);color:#fff;border-radius:12px;text-decoration:none;font-weight:700;font-size:15px;}
.ct-source-foot{font-size:13px;color:var(--slate-500);padding-top:16px;border-top:1px solid var(--orange-200);}
.ct-mt-18{margin-top:18px;}


/* =================================================================
   v29 Round-2b inline style cleanup — 2026-05-23
   回收 article / doc-readiness / selection / price / valuation 頁面
   重複 inline style= 為共用 class，不改任何數值或視覺設計。
   ================================================================= */

/* ── article-2026-* FAQ 卡片三件組 ─────────────────────────── */
.ar-faq-card{background:#fff;border:1px solid #E2D6C5;border-radius:18px;padding:22px}
.ar-faq-h3{font-size:16px;font-weight:900;color:#2B1A16;margin-bottom:8px}
.ar-faq-p{font-size:14px;color:#5D4037;line-height:1.75;margin:0}

/* ── article-2026-* FAQ section 結構 ───────────────────────── */
.ar-faq-sec{background:#fff;padding:48px 0;border-top:1px solid #E2D6C5}
.ar-faq-sec-plain{background:#fff;padding:48px 0}
.ar-faq-wrap{max-width:1120px;margin:0 auto;padding:0 22px}
.ar-faq-head{text-align:center;margin-bottom:28px}
.ar-faq-eyebrow{display:inline-block;font-size:11px;font-weight:900;letter-spacing:2px;
  color:#A63A2A;background:#FFF4E6;border:1px solid #F0D7B6;border-radius:999px;
  padding:5px 12px;margin-bottom:10px}
.ar-faq-title{font-size:clamp(20px,3vw,28px);font-weight:900;color:#2B1A16}
.ar-faq-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}
@media(max-width:640px){.ar-faq-grid{grid-template-columns:1fr}}

/* ── article 來源頁尾 ───────────────────────────────────────── */
.ar-source-foot{background:#F8F5F0;border-top:1px solid #E7DCD2;padding:16px 24px;
  font-size:12px;color:#7A6357;text-align:center;line-height:1.7}

/* ── articles.html 標籤色票 ────────────────────────────────── */
.art-tag-purple{background:#FBF7EF;border:1px solid #E6D7C7;color:#2B1A16}
.art-tag-blue{background:#F7EFE3;border:1px solid #D3BEA9;color:#3E2723}
.art-tag-red{background:#FFF0EC;border:1px solid #D6856A;color:#A63A2A}
.art-tag-teal{background:#FBF7EF;border:1px solid #99f6e4;color:#A63A2A}
.art-tag-orange{background:#FFF4E6;border:1px solid #D6A354;color:#A63A2A}
.art-tag-amber{background:#FBF7EF;border:1px solid #C87932;color:#5D4037}

/* ── 小型 brand link ────────────────────────────────────────── */
.link-brand-sm{font-size:13px;color:var(--brand,#A63A2A)}

/* ── document-readiness list / note ────────────────────────── */
.doc-list{padding-left:16px;color:var(--muted,#666);font-size:14px;line-height:2.1;margin:4px 0}
.doc-note{font-size:13px;margin-top:8px}
.doc-note-warn{font-size:13px;margin-top:8px;color:inherit}


.doc-list-18{padding-left:18px;color:var(--muted,#666);font-size:14px;line-height:2.1;margin:4px 0}
.doc-list-18b{padding-left:18px;color:var(--muted,#666);font-size:15px;line-height:2.2;margin:0}


/* =================================================================
   v29b — merged from happydo-mid-boost.css (removed separate file)
   ================================================================= */
/* happydo mid boost - scoped internal-link and action sections */
.hd-mid-boost{margin:34px auto;padding:24px;border:1px solid rgba(214,163,84,.35);border-radius:24px;background:#fffaf2;color:#2B1A16;box-shadow:0 18px 45px rgba(43,26,22,.08);line-height:1.8;max-width:1120px}
.hd-mid-boost *{box-sizing:border-box}
.hd-mid-boost .hd-mid-eyebrow{display:inline-flex;align-items:center;gap:8px;font-size:12px;letter-spacing:.12em;text-transform:uppercase;font-weight:900;color:#A45D2A;background:#fff3df;border:1px solid rgba(214,163,84,.35);border-radius:999px;padding:5px 10px;margin-bottom:10px}
.hd-mid-boost h2{margin:4px 0 10px;color:#1f1713;font-size:clamp(22px,3vw,32px);line-height:1.25;font-weight:900}
.hd-mid-boost h3{margin:0 0 8px;color:#2B1A16;font-size:18px;font-weight:900}
.hd-mid-boost p,.hd-mid-boost li,.hd-mid-boost span{color:#4B3B33}
.hd-mid-boost .hd-mid-lead{font-size:16px;margin:0 0 18px;color:#5f5048}
.hd-mid-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:16px}
.hd-mid-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.hd-mid-grid.four{grid-template-columns:repeat(4,minmax(0,1fr))}
.hd-mid-card{background:#fff;border:1px solid #E8D8C7;border-radius:18px;padding:16px;min-height:120px;box-shadow:0 8px 25px rgba(43,26,22,.06)}
.hd-mid-card b{display:block;color:#1f1713;font-size:16px;margin-bottom:6px}.hd-mid-card small{display:block;color:#7A6357;line-height:1.7}
.hd-mid-list{margin:12px 0 0;padding-left:20px}.hd-mid-list li{margin:7px 0}.hd-mid-table{width:100%;border-collapse:collapse;margin-top:14px;background:#fff;border-radius:16px;overflow:hidden;border:1px solid #E8D8C7}.hd-mid-table th,.hd-mid-table td{padding:12px;border-bottom:1px solid #F0E3D6;text-align:left;vertical-align:top;color:#3f312b}.hd-mid-table th{background:#FFF3DF;color:#2B1A16;font-weight:900}.hd-mid-table tr:last-child td{border-bottom:0}
.hd-mid-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}.hd-mid-actions a,.hd-mid-actions button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;border-radius:999px;padding:10px 16px;text-decoration:none;border:1px solid rgba(214,163,84,.45);font-weight:900;cursor:pointer;font-size:14px}.hd-mid-actions a.primary,.hd-mid-actions button.primary{background:#C85A28;color:#fff;border-color:#C85A28}.hd-mid-actions a.secondary,.hd-mid-actions button.secondary{background:#fff;color:#2B1A16}.hd-mid-actions a.line{background:#06C755;color:#fff;border-color:#06C755}.hd-mid-note{margin-top:14px;background:#fff;border-left:4px solid #D6A354;border-radius:12px;padding:12px 14px;color:#5f5048;font-size:14px}.hd-mid-copy-text{white-space:pre-wrap;background:#fff;border:1px dashed #D6A354;border-radius:14px;padding:12px;margin-top:12px;color:#3f312b;font-size:14px}
.hd-mid-safe{font-size:13px;color:#7A6357;margin-top:12px;border-top:1px solid #E8D8C7;padding-top:10px}.hd-mid-chip{display:inline-flex;border-radius:999px;background:#F8EFE6;color:#7A3E22;font-size:12px;font-weight:900;padding:4px 9px;margin:2px 4px 2px 0}.hd-mid-danger{background:#fff5f2;border-color:#F3B7A6}.hd-mid-success{background:#f4fff8;border-color:#bde7ca}
@media(max-width:820px){.hd-mid-boost{margin:24px 16px;padding:18px;border-radius:20px}.hd-mid-grid,.hd-mid-grid.two,.hd-mid-grid.four{grid-template-columns:1fr}.hd-mid-table{font-size:14px}.hd-mid-table th,.hd-mid-table td{padding:10px}.hd-mid-actions a,.hd-mid-actions button{width:100%}}


/* =================================================================
   v30 Round-4 inline CSS extraction — 2026-05-23
   #lf floating button + lfIn/lfPulse keyframes (was repeated in 19 pages)
   .socbar-text colour fixes (was repeated in 4 article pages)
   .cbtn-* social CTA buttons (was repeated in 4 article pages)
   ================================================================= */

/* ── LINE floating button ───────────────────────────────────────── */
#lf{position:fixed;bottom:28px;right:22px;z-index:9999;width:58px;height:58px;border-radius:50%;background:linear-gradient(145deg,#2B3A7A,#C85A28);display:flex;align-items:center;justify-content:center;text-decoration:none;box-shadow:0 4px 20px rgba(200,90,40,.4);transition:transform .22s,box-shadow .22s;animation:lfIn .55s .9s cubic-bezier(.34,1.56,.64,1) both}
#lf:hover{transform:translateY(-4px) scale(1.08);box-shadow:0 10px 32px rgba(200,90,40,.5)}
#lf::before{content:'LINE';position:absolute;right:70px;top:50%;transform:translateY(-50%) translateX(4px);background:#1C2654;color:#fff;font-size:12px;font-family:inherit;white-space:nowrap;padding:6px 12px;border-radius:8px;border-right:3px solid #C85A28;opacity:0;pointer-events:none;transition:opacity .18s,transform .18s}
#lf:hover::before{opacity:1;transform:translateY(-50%) translateX(0)}
#lf::after{content:'';position:absolute;right:62px;top:50%;transform:translateY(-50%);border:6px solid transparent;border-left-color:#1C2654;opacity:0;pointer-events:none;transition:opacity .18s}
#lf:hover::after{opacity:1}
#lp{position:fixed;bottom:28px;right:22px;width:58px;height:58px;border-radius:50%;z-index:9998;pointer-events:none;border:2px solid rgba(200,90,40,.55);animation:lfIn .55s .9s cubic-bezier(.34,1.56,.64,1) both,lfPulse 2.5s 1.8s ease-out infinite}
@keyframes lfIn{from{opacity:0;transform:translateX(80px) scale(.8)}to{opacity:1;transform:translateX(0) scale(1)}}
@keyframes lfPulse{0%{transform:scale(1);opacity:.7}70%{transform:scale(1.6);opacity:0}100%{transform:scale(1.6);opacity:0}}

/* ── socbar text colour restore ─────────────────────────────────── */
/* socbar-in has white/cream background — restore dark text */
.socbar-text h2,.socbar-text h3{color:#2B1A16!important;text-shadow:none!important}
.socbar-text p,.socbar-text .reltool-eyebrow{color:#5D4037!important;text-shadow:none!important}
.socbar-in{background:#fff!important}
/* socbar buttons use their own defined colors */
.socbtn{text-shadow:none!important;color:inherit!important}
.socbtn-fb{color:#1877f2!important}
.socbtn-ig{color:#e1306c!important}
.socbtn-th{color:#2B1A16!important}
.socbtn-ln{color:#06c755!important}

/* ── cbtn social CTA colours ────────────────────────────────────── */
/* CTA section buttons — ensure text is always visible */
.cbtn-fb,.cbtn-ig,.cbtn-th,.cbtn-line{color:#fff!important;font-weight:800!important}
.cbtn-fb{background:#1877f2!important}
.cbtn-ig{background:linear-gradient(135deg,#f09433,#dc2743 50%,#bc1888)!important;color:#fff!important}
.cbtn-th{background:#2B1A16!important;color:#fff!important}
.cbtn-line{background:#06C755!important;color:#fff!important}
/* CTA sections with dark backgrounds */
.ctas-sec,.line-ctas,.contact-cta{color:#fff!important}
.ctas-sec h2,.ctas-sec p,.line-ctas h2,.line-ctas p{color:#fff!important}

/* === Round 5A: Ask Happy guided entry router === */
.ask-happy-panel{background:rgba(255,255,255,.96);border:1px solid rgba(214,163,84,.42);border-radius:28px;padding:24px;box-shadow:0 24px 56px rgba(31,21,18,.18);color:var(--text);position:relative;overflow:hidden}.ask-happy-panel:before{content:"";position:absolute;inset:0 0 auto 0;height:5px;background:linear-gradient(90deg,var(--gold-600),var(--brick));opacity:.95}.ask-happy-panel .ask-kicker{display:inline-flex;align-items:center;border:1px solid #efd4a9;background:#fff7e8;color:var(--brick);border-radius:999px;padding:6px 12px;font-size:11px;font-weight:950;letter-spacing:.12em;text-transform:uppercase;margin-bottom:10px}.ask-happy-panel h2,.ask-happy-panel h3{color:var(--ink);font-weight:950;letter-spacing:-.02em}.ask-happy-panel h2{font-size:clamp(22px,2.6vw,30px);line-height:1.25;margin:0 0 8px}.ask-happy-panel h2 em{font-style:normal;color:var(--brick)}.ask-happy-panel p{color:var(--muted);font-size:14px;line-height:1.75}.ask-happy-form-row{display:grid;grid-template-columns:1fr auto;gap:10px;margin-top:16px;background:#fff;border:1px solid var(--line);border-radius:18px;padding:7px;box-shadow:var(--shadow-xs)}.ask-happy-form-row:focus-within{outline:3px solid rgba(214,163,84,.22);border-color:var(--gold-600)}.ask-happy-form-row input{border:0!important;background:transparent!important;color:var(--ink);padding:12px 13px;font-size:16px;outline:0;width:100%}.ask-happy-form-row button{border-radius:14px;background:linear-gradient(180deg,var(--gold-600),var(--brick));color:#fff;font-weight:950;padding:0 18px;cursor:pointer;white-space:nowrap;box-shadow:0 12px 28px rgba(166,58,42,.18)}.ask-happy-form-row button:hover{transform:translateY(-1px);filter:brightness(.98)}.ask-happy-chips{display:flex;flex-wrap:wrap;gap:9px;margin-top:14px}.ask-happy-chip{border:1px solid #ead1a8;background:#fff7e8;color:var(--espresso-800);border-radius:999px;padding:8px 12px;font-size:13px;font-weight:900;cursor:pointer}.ask-happy-chip:hover{background:#fff0d5;border-color:var(--gold-600);color:var(--brick);transform:translateY(-1px)}.ask-happy-note{margin-top:12px;color:#6e5c53!important;font-size:12.5px!important}.ask-happy-result{margin-top:18px}.ask-happy-result[hidden]{display:none!important}.ask-happy-result-heading{display:flex;align-items:end;justify-content:space-between;gap:12px;margin-bottom:10px}.ask-happy-result-heading span{color:var(--brick);font-weight:950;font-size:12px;letter-spacing:.12em;text-transform:uppercase}.ask-happy-result-heading b{color:var(--ink);font-size:14px}.ask-happy-result-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.ask-happy-result-card{background:#fff;border:1px solid var(--line);border-radius:20px;padding:18px;box-shadow:var(--shadow-xs)}.ask-happy-result-card:hover{box-shadow:var(--shadow);border-color:var(--gold-600)}.ask-happy-result-top{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px}.ask-happy-result-top span{display:inline-flex;border:1px solid #efd4a9;background:#fff7e8;color:var(--brick);border-radius:999px;padding:5px 10px;font-size:11px;font-weight:950}.ask-happy-result-top em{font-style:normal;color:var(--muted);font-size:12px;font-weight:900}.ask-happy-result-card h3{font-size:17px;line-height:1.35;margin:0 0 7px;color:var(--ink)}.ask-happy-result-card p{font-size:13.5px;line-height:1.7;color:var(--muted);margin:0 0 10px}.ask-happy-result-card ul{margin:0 0 14px 18px;padding:0}.ask-happy-result-card li{font-size:13px;color:var(--text);line-height:1.62}.ask-happy-result-actions{display:flex;gap:8px;flex-wrap:wrap}.ask-happy-primary,.ask-happy-secondary,.ask-happy-start{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:9px 12px;text-decoration:none;font-size:12.5px;font-weight:950}.ask-happy-primary{background:var(--espresso-900);color:var(--gold-500)!important}.ask-happy-secondary,.ask-happy-start{background:#fff7e8;color:var(--brick)!important;border:1px solid #ead1a8}.ask-happy-fallback{background:#fff;border:1px solid var(--line);border-radius:22px;padding:20px;box-shadow:var(--shadow-xs)}.ask-happy-fallback h3{font-size:18px;margin:0 0 6px}.ask-happy-fallback p{font-size:14px}.ask-happy-fallback-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:14px 0}.ask-happy-fallback-grid a{display:block;background:#fff7e8;border:1px solid #ead1a8;border-radius:16px;padding:14px;text-decoration:none}.ask-happy-fallback-grid b{display:block;color:var(--ink);font-size:14px}.ask-happy-fallback-grid span{display:block;color:var(--muted);font-size:12px;line-height:1.55;margin-top:4px}.ask-happy-page-hero{background:radial-gradient(circle at 78% 12%,rgba(214,163,84,.20),transparent 34%),linear-gradient(135deg,var(--espresso-950),var(--espresso-900) 58%,var(--espresso-800));padding:58px 0;color:#fff}.ask-happy-page-grid{display:grid;grid-template-columns:.95fr 1.05fr;gap:28px;align-items:center}.ask-happy-page-copy h1{font-size:clamp(32px,5vw,54px);line-height:1.12;color:#fff;font-weight:950;letter-spacing:-.04em}.ask-happy-page-copy h1 em{display:block;color:var(--gold-500);font-style:normal}.ask-happy-page-copy p{color:rgba(255,255,255,.82);line-height:1.85;margin-top:14px}.ask-scenario-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.ask-scenario-card{background:#fff;border:1px solid var(--line);border-radius:22px;padding:20px;text-decoration:none;box-shadow:var(--shadow-xs);display:flex;flex-direction:column;min-height:190px}.ask-scenario-card:hover{transform:translateY(-2px);box-shadow:var(--shadow);border-color:var(--gold-600)}.ask-scenario-card span{align-self:flex-start;border:1px solid #efd4a9;background:#fff7e8;color:var(--brick);border-radius:999px;padding:5px 10px;font-size:11px;font-weight:950;margin-bottom:10px}.ask-scenario-card b{color:var(--ink);font-size:17px;line-height:1.35}.ask-scenario-card p{color:var(--muted);font-size:13.5px;line-height:1.65;margin-top:8px}.ask-scenario-card em{margin-top:auto;color:var(--brick);font-size:13px;font-style:normal;font-weight:950}.ask-next-cta{margin:34px 0;background:linear-gradient(135deg,#fff,var(--cream));border:1px solid var(--line);border-radius:26px;padding:24px;box-shadow:var(--shadow-xs);display:flex;justify-content:space-between;gap:18px;align-items:center;flex-wrap:wrap}.ask-next-cta h2{font-size:22px;color:var(--ink);font-weight:950;margin:0 0 6px}.ask-next-cta p{color:var(--muted);font-size:14px;line-height:1.72}.ask-next-cta .btns{display:flex;gap:10px;flex-wrap:wrap}.ask-next-cta a{display:inline-flex;border-radius:999px;padding:11px 14px;text-decoration:none;font-size:13px;font-weight:950}.ask-next-cta a.primary{background:var(--espresso-900);color:var(--gold-500)}.ask-next-cta a.ghost{background:#fff;border:1px solid var(--line);color:var(--brick)}@media(max-width:920px){.ask-happy-page-grid{grid-template-columns:1fr}.ask-happy-result-grid,.ask-scenario-grid{grid-template-columns:1fr 1fr}.ask-happy-fallback-grid{grid-template-columns:1fr}}@media(max-width:640px){.ask-happy-panel{padding:20px}.ask-happy-form-row{grid-template-columns:1fr}.ask-happy-form-row button{min-height:44px}.ask-happy-result-grid,.ask-scenario-grid{grid-template-columns:1fr}.ask-happy-result-heading{align-items:flex-start;flex-direction:column}.ask-happy-chips{gap:8px}.ask-happy-chip{font-size:12.5px}.ask-next-cta{align-items:flex-start}.ask-next-cta a{width:100%;justify-content:center}}


/* Round 5A.2: Ask Happy topic handoff */
.ask-topic-handoff{margin:0 0 14px;background:linear-gradient(135deg,#fff7e8,#fff);border:1px solid rgba(214,163,84,.46);border-radius:22px;padding:18px 20px;box-shadow:0 14px 34px rgba(43,26,22,.08)}
.ask-topic-handoff .ask-topic-kicker{display:inline-flex;align-items:center;border:1px solid #efd4a9;background:#fff;color:var(--brick);border-radius:999px;padding:5px 10px;font-size:11px;font-weight:950;letter-spacing:.12em;text-transform:uppercase;margin-bottom:9px}
.ask-topic-handoff h3{margin:0 0 7px;color:var(--ink);font-size:20px;line-height:1.35;font-weight:950}
.ask-topic-handoff p{margin:0;color:var(--muted);font-size:14px;line-height:1.75}
.ask-scenario-card.active-topic{border-color:var(--gold-600);box-shadow:0 18px 44px rgba(166,58,42,.16);transform:translateY(-2px);background:linear-gradient(135deg,#fff,#fff7e8)}
.ask-scenario-card.active-topic span{background:var(--espresso-900);border-color:var(--espresso-900);color:var(--gold-500)}
.ask-scenario-card.muted-topic{opacity:.58}
.ask-scenario-card.muted-topic:hover{opacity:1}
@media(max-width:640px){.ask-topic-handoff{padding:16px}.ask-topic-handoff h3{font-size:18px}.ask-scenario-card.muted-topic{opacity:.72}}


/* Round live polish: contract risk score clarity */
.risk-score-split{display:flex;flex-direction:column;align-items:flex-start;gap:4px;line-height:1.35}
.risk-score-split small{font-size:.9rem;color:#6e5c53;font-weight:700}
.risk-score-split small b{font-size:1.05rem;color:#2B1A16}


/* =================================================================
   v32 Hero 元件規則 — Claude Design Hero Prototype 2026-05-24
   hd-* / hq-* 前綴，不覆蓋任何既有規則
   CSS root 變數、::selection 已移至 happydo-global.css
   ================================================================= */

/* ── Hero 容器 ─────────────────────────────────────────── */
.hd-hero {
  position: relative;
  background: #2B1A16;
  color: #FBF7EF;
  padding: 88px 0 96px;
  overflow: hidden;
  isolation: isolate;
}
/* 紙張質感：SVG feTurbulence 內嵌 */
.hd-hero::before {
  content: "";
  position: absolute; inset: 0;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='360' height='360'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 0.85  0 0 0 0 0.71  0 0 0 0 0.45  0 0 0 0.55 0'/></filter><rect width='100%25' height='100%25' filter='url(%23n)' opacity='0.55'/></svg>");
  background-size: 360px 360px;
  opacity: .10;
  mix-blend-mode: overlay;
  pointer-events: none;
  z-index: 0;
}
.hd-hero::after {
  content: "";
  position: absolute; inset: -10%;
  background:
    radial-gradient(40% 50% at 8% 0%, rgba(214,163,84,.22), transparent 60%),
    radial-gradient(45% 55% at 100% 100%, rgba(166,58,42,.10), transparent 60%);
  pointer-events: none;
  z-index: 0;
}
.hd-hero > .hd-container { position: relative; z-index: 1; }

.hd-container {
  max-width: 1180px;
  margin: 0 auto;
  padding: 0 32px;
}

/* ── Grid：Grid Areas 控制欄位，DOM 順序即閱讀順序 ──── */
.hd-hero-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.08fr) minmax(0, 1fr);
  grid-template-rows: auto;
  grid-template-areas:
    "eyebrow  form"
    "sub      form"
    "actions  form"
    "pact     form";
  column-gap: 72px;
  row-gap: 0;
  align-items: start;
}
.hd-hero-eyebrow-wrap { grid-area: eyebrow; }
.hd-hero-form         { grid-area: form; align-self: center; }
.hd-hero-sub          { grid-area: sub;  margin: 0 0 38px; }
.hd-hero-actions      { grid-area: actions; }
.hd-hero-pact         { grid-area: pact; }

/* ── Eyebrow ────────────────────────────────────────────── */
.hd-hero-eyebrow {
  display: inline-flex; align-items: center; gap: 12px;
  font-size: 12px; font-weight: 900;
  letter-spacing: .22em;
  color: #E9C46A;
  margin: 0 0 22px;
  text-transform: uppercase;
}
.hd-hero-eyebrow::before {
  content: ""; width: 28px; height: 1px;
  background: linear-gradient(90deg, transparent, rgba(214,163,84,.7));
}

/* ── H1 ────────────────────────────────────────────────── */
.hd-hero-title {
  font-size: clamp(40px, 4.6vw, 56px);
  font-weight: 900;
  line-height: 1.22;
  letter-spacing: -.02em;
  color: #FBF7EF;
  margin: 0 0 26px;
}
.hd-hero-title em {
  font-style: normal;
  color: #E9C46A;
  position: relative;
  white-space: nowrap;
}
.hd-hero-title em::after {
  content: "";
  position: absolute; left: 0; right: 0; bottom: -6px;
  height: 2px;
  background: linear-gradient(90deg, #D6A354, transparent);
  border-radius: 2px;
}

/* ── 副標 ────────────────────────────────────────────────── */
.hd-hero-sub {
  font-size: 16px;
  line-height: 1.85;
  color: rgba(251,247,239,.78);
  max-width: 30em;
}
.hd-hero-sub b { font-weight: 900; color: #E9C46A; }

/* ── 按鈕列 ───────────────────────────────────────────── */
.hd-hero-actions {
  display: flex; flex-wrap: wrap; gap: 14px; align-items: center;
  margin-bottom: 32px;
}

/* ── 立場聲明 ─────────────────────────────────────────── */
.hd-hero-pact {
  display: flex; align-items: flex-start; gap: 12px;
  padding: 16px 18px;
  border-left: 2px solid rgba(214,163,84,.45);
  background: rgba(251,247,239,.04);
  border-radius: 0 12px 12px 0;
  max-width: 30em;
}
.hd-hero-pact strong {
  flex: 0 0 auto;
  font-size: 12px; font-weight: 900;
  letter-spacing: .16em;
  color: #E9C46A;
  padding-top: 2px;
}
.hd-hero-pact span { font-size: 14px; line-height: 1.7; color: rgba(251,247,239,.72); }

/* ── hd-btn 三層 ──────────────────────────────────────── */
.hd-btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  min-height: 52px;
  padding: 0 28px;
  border-radius: 999px;
  border: 1px solid transparent;
  background: transparent;
  color: inherit;
  font-family: inherit;
  font-size: 16px;
  font-weight: 900;
  letter-spacing: .04em;
  text-decoration: none;
  cursor: pointer;
  user-select: none;
  transition: transform .18s ease, box-shadow .18s ease,
              background-color .18s ease, border-color .18s ease, color .18s ease;
}
.hd-btn:focus-visible { outline: none; box-shadow: 0 0 0 4px rgba(214,163,84,.38); }
.hd-btn .hd-arrow { display: inline-block; transition: transform .18s ease; }
.hd-btn:hover .hd-arrow { transform: translateX(3px); }

.hd-btn-primary {
  background: #D6A354; color: #2B1A16; border-color: #D6A354;
  box-shadow: 0 14px 32px rgba(214,163,84,.30), inset 0 1px 0 rgba(255,255,255,.20);
}
.hd-btn-primary:hover {
  background: #E9C46A; border-color: #E9C46A; transform: translateY(-1px);
  box-shadow: 0 18px 42px rgba(214,163,84,.42), inset 0 1px 0 rgba(255,255,255,.28);
}
.hd-btn-primary:active { transform: translateY(0); }

.hd-btn-secondary {
  background: #fff; color: #2B1A16; border-color: #E6D7C7;
}
.hd-btn-secondary:hover { border-color: #D6A354; background: #fff8ed; }

.hd-on-dark .hd-btn-secondary {
  background: transparent; color: #FBF7EF; border-color: rgba(214,163,84,.40);
}
.hd-on-dark .hd-btn-secondary:hover {
  border-color: #D6A354; background: rgba(214,163,84,.10);
}

.hd-btn-text {
  background: transparent; color: #A63A2A;
  min-height: auto; padding: 6px 4px; font-size: 15px;
}
.hd-btn-text:hover { text-decoration: underline; text-underline-offset: 5px; }
.hd-on-dark .hd-btn-text { color: #E9C46A; }

/* ── Ask Happy 玻璃卡片 ───────────────────────────────── */
.hd-form-card {
  position: relative;
  padding: 28px 26px 22px;
  border-radius: 24px;
  background: rgba(255,255,255,.10);
  border: 1px solid rgba(214,163,84,.40);
  backdrop-filter: blur(14px) saturate(140%);
  -webkit-backdrop-filter: blur(14px) saturate(140%);
  box-shadow: 0 30px 80px rgba(0,0,0,.34), inset 0 1px 0 rgba(255,255,255,.08);
}
@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))) {
  .hd-form-card { background: rgba(62,39,35,.86); border-color: rgba(214,163,84,.50); }
}

.hd-form-card-title {
  display: flex; align-items: center; gap: 12px;
  font-size: 12px; font-weight: 900;
  letter-spacing: .14em;
  color: #f1cd77;
  margin: 0 0 14px;
}
.hd-form-card-title::after {
  content: ""; flex: 1; height: 1px;
  background: linear-gradient(90deg, rgba(214,163,84,.45), transparent);
}

.hd-dot {
  width: 8px; height: 8px; border-radius: 50%;
  background: #D6A354;
  box-shadow: 0 0 0 4px rgba(214,163,84,.18);
  display: inline-block;
}

.hd-form-card-foot {
  display: flex; justify-content: space-between;
  margin-top: 14px;
  font-size: 11px; color: rgba(251,247,239,.45);
}

/* ── hq-textarea ─────────────────────────────────────── */
.hq-textarea {
  width: 100%; box-sizing: border-box;
  min-height: 84px;
  padding: 14px 16px;
  background: rgba(31,20,17,.55);
  border: 1px solid rgba(214,163,84,.28);
  border-radius: 14px;
  color: #FBF7EF;
  font-family: inherit; font-size: 16px; line-height: 1.7;
  resize: vertical;
  transition: border-color .18s, background-color .18s, box-shadow .18s;
}
.hq-textarea::placeholder { color: rgba(251,247,239,.42); }
.hq-textarea:focus {
  outline: none; border-color: #D6A354;
  background: rgba(31,20,17,.72);
  box-shadow: 0 0 0 4px rgba(214,163,84,.18);
}
.hd-form-card .hd-btn-primary { width: 100%; margin-top: 12px; }

/* ── hq-chip ──────────────────────────────────────────── */
.hq-chips { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 18px; }
.hq-chip {
  display: inline-flex; align-items: center;
  min-height: 44px; padding: 0 16px;
  border-radius: 999px;
  border: 1px solid rgba(214,163,84,.40);
  background: transparent;
  color: rgba(251,247,239,.80);
  font-family: inherit; font-size: 14px; font-weight: 700;
  cursor: pointer; white-space: nowrap;
  transition: background-color .18s, border-color .18s, color .18s;
}
.hq-chip:hover { border-color: #D6A354; background: rgba(214,163,84,.10); color: #FBF7EF; }
.hq-chip:focus-visible { outline: none; box-shadow: 0 0 0 4px rgba(214,163,84,.28); }
.hq-chip.is-active { background: #D6A354; color: #2B1A16; border-color: #D6A354; }

/* ── hq-result ────────────────────────────────────────── */
.hq-result {
  margin-top: 18px; padding: 18px 18px 16px;
  border-radius: 16px;
  background: linear-gradient(180deg, rgba(214,163,84,.14), rgba(214,163,84,.06));
  border: 1px solid rgba(214,163,84,.34);
  border-left: 3px solid #D6A354;
}
.hq-result[hidden] { display: none; }
.hq-result-eyebrow {
  display: flex; align-items: center; gap: 8px;
  font-size: 11px; font-weight: 900; letter-spacing: .16em;
  color: #E9C46A; margin: 0 0 8px;
}
.hq-result-eyebrow::before {
  content: ""; width: 6px; height: 6px; border-radius: 50%;
  background: #D6A354;
  box-shadow: 0 0 0 3px rgba(214,163,84,.25);
  animation: hd-pulse 1.8s ease-in-out infinite;
}
@keyframes hd-pulse {
  0%,100% { box-shadow: 0 0 0 3px rgba(214,163,84,.25); }
  50%      { box-shadow: 0 0 0 6px rgba(214,163,84,.05); }
}
.hq-result-title { font-size: 18px; font-weight: 900; color: #FBF7EF; margin: 0 0 6px; line-height: 1.4; }
.hq-result-desc  { font-size: 14px; line-height: 1.72; color: rgba(251,247,239,.82); margin: 0 0 14px; }
.hq-result-actions { display: flex; flex-wrap: wrap; gap: 10px; }

/* ── sr-only ──────────────────────────────────────────── */
.hd-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;
}

/* ── RWD ──────────────────────────────────────────────── */
@media (max-width: 860px) {
  .hd-hero { padding: 56px 0 64px; }
  .hd-container { padding: 0 20px; }

  /* 手機版改單欄，DOM 順序即視覺順序，不用 order */
  .hd-hero-grid {
    grid-template-columns: 1fr;
    grid-template-areas:
      "eyebrow"
      "form"
      "sub"
      "actions"
      "pact";
    gap: 28px 0;
  }

  /* H1 手機版：最小 40px，小手機 36px */
  .hd-hero-title { font-size: clamp(36px, 8vw, 44px); margin-bottom: 0; }

  .hd-hero-sub   { margin: 0; }
  .hd-hero-actions { flex-direction: column; }
  .hd-hero-actions .hd-btn { width: 100%; min-height: 52px; justify-content: center; }

  .hd-form-card { padding: 22px 18px 18px; }
}

@media (max-width: 390px) {
  .hd-hero-title { font-size: 36px; }
}

/* =================================================================
   v33 Components v2.1 整合 — 2026-05-24
   Round 3: hd-tool-next CTA 精修
   Round 1: hd-card 工具卡元件
   Round 2: hd-intro-card 導讀卡元件
   不覆蓋任何既有規則，只新增補強
   ================================================================= */

/* ── Round 3: hd-tool-next 精修 ─────────────────────────── */

/* 整體容器改為 grid 左右結構 */
.hd-tool-next{
  display:grid;
  grid-template-columns:1fr auto;
  gap:28px;
  align-items:center;
  padding:32px 36px;
}

.hd-tool-next-copy{ min-width:0; }

.hd-tool-next-copy .eyebrow{
  font-size:12px;
  font-weight:900;
  letter-spacing:.16em;
  color:#A63A2A;
  display:block;
  margin-bottom:8px;
}

.hd-tool-next-copy h2{
  font-size:20px;
  font-weight:900;
  color:#2B1A16;
  margin:0 0 6px;
  line-height:1.35;
}

.hd-tool-next-copy p{
  font-size:14px;
  color:#6e5c53;
  margin:0;
  line-height:1.65;
}

.hd-tool-next-actions{
  display:flex;
  flex-direction:column;
  gap:10px;
  min-width:180px;
  align-items:stretch;
}

/* 主 CTA：金底深字 */
.hd-tool-next-actions a.hd-btn-primary:first-child{
  background:#D6A354;
  color:#2B1A16;
  border-color:#D6A354;
  font-weight:900;
  text-align:center;
}
.hd-tool-next-actions a.hd-btn-primary:first-child:hover{
  background:#E9C46A;
  color:#2B1A16;
  border-color:#E9C46A;
}

/* 次 CTA */
.hd-tool-next-actions a.hd-btn-secondary{
  background:#fff;
  color:#2B1A16;
  border:1px solid #E6D7C7;
  text-align:center;
}
.hd-tool-next-actions a.hd-btn-secondary:hover{
  border-color:#D6A354;
}

/* 輔助 CTA：文字連結 */
.hd-tool-next-actions a.hd-btn-text{
  background:transparent;
  border:0;
  color:#A63A2A;
  text-align:center;
  padding:6px 4px;
  min-height:auto;
  font-size:14px;
}
.hd-tool-next-actions a.hd-btn-text:hover{
  text-decoration:underline;
  text-underline-offset:4px;
}

/* 手機版：全寬垂直排列 */
@media(max-width:680px){
  .hd-tool-next{
    grid-template-columns:1fr;
    gap:20px;
    padding:24px 20px;
  }
  .hd-tool-next-actions{
    min-width:0;
    width:100%;
  }
  .hd-tool-next-actions a{
    width:100%;
    min-height:52px;
  }
}

/* ── Round 1: hd-card 工具卡元件 ────────────────────────── */

.hd-card-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:20px;
}
@media(max-width:900px){
  .hd-card-grid{ grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:560px){
  .hd-card-grid{ grid-template-columns:1fr; }
}

.hd-card{
  display:flex;
  flex-direction:column;
  gap:10px;
  padding:22px 20px 18px;
  background:#fff;
  border:1px solid #E6D7C7;
  border-radius:16px;
  box-shadow:0 2px 12px rgba(43,26,22,.06);
  text-decoration:none;
  color:inherit;
  transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease;
}
.hd-card:hover{
  transform:translateY(-3px);
  border-color:#D6A354;
  box-shadow:
    0 14px 32px rgba(43,26,22,.10),
    0 0 0 1px rgba(214,163,84,.55);
}

.hd-card--featured{
  border-left:4px solid #D6A354;
  background:#FFFBF2;
}

.hd-tool-badge{
  display:inline-flex;
  align-items:center;
  padding:3px 10px;
  border-radius:999px;
  background:#FFF4E6;
  color:#A63A2A;
  font-size:12px;
  font-weight:900;
  letter-spacing:.04em;
  align-self:flex-start;
}

.hd-tool-name{
  font-size:18px;
  font-weight:900;
  color:#2B1A16;
  line-height:1.35;
  margin:0;
}

.hd-tool-desc{
  font-size:14px;
  color:#6e5c53;
  line-height:1.65;
  margin:0;
  flex:1;
}

.hd-card .hd-btn-text{
  align-self:flex-start;
  margin-top:4px;
  font-size:14px;
  font-weight:700;
  color:#A63A2A;
  text-decoration:none;
}
.hd-card .hd-btn-text:hover{
  text-decoration:underline;
  text-underline-offset:4px;
}

/* ── Round 2: hd-intro-card 導讀卡 ─────────────────────── */

.hd-intro-card{
  width:100%;
  max-width:none;
  padding:22px 24px;
  background:rgba(214,163,84,.06);
  border-left:4px solid #D6A354;
  border-radius:0 16px 16px 0;
  margin:0 0 32px;
}

.hd-intro-card--narrow{
  max-width:760px;
}

.hd-intro-eyebrow{
  display:block;
  font-size:12px;
  font-weight:900;
  letter-spacing:.14em;
  color:#A63A2A;
  margin-bottom:10px;
}

.hd-intro-body{
  font-size:15px;
  color:#5D4037;
  line-height:1.75;
  margin:0 0 12px;
}

.hd-intro-list{
  list-style:none;
  padding:0;
  margin:0 0 12px;
  display:flex;
  flex-direction:column;
  gap:6px;
}
.hd-intro-list li{
  font-size:14px;
  color:#6e5c53;
  line-height:1.6;
  padding-left:16px;
  position:relative;
}
.hd-intro-list li::before{
  content:"";
  position:absolute;
  left:0;
  top:8px;
  width:6px;
  height:6px;
  border-radius:50%;
  background:#A63A2A;
}

.hd-intro-foot{
  font-size:12px;
  color:#907c72;
  line-height:1.6;
  margin-top:8px;
  padding-top:10px;
  border-top:1px solid #E6D7C7;
}

/* =========================================================
   v34.2 layout repair · calculator / intro / share fixes
   只修版面，不改公式、不改 JS hook
   ========================================================= */

.hd-intro-wrap{
  max-width:1080px;
  margin:32px auto 0;
  padding:0 24px;
}

.hd-intro-wrap .hd-intro-card,
.onboarding-page #presign-6-check .hd-intro-card{
  margin:0 0 32px;
}

.page-rights-agreement > .container{
  max-width:980px;
  margin:0 auto;
  padding:0 24px;
}

.page-rights-agreement .hd-intro-card--narrow{
  width:100%;
  max-width:none;
  margin:32px 0 44px;
}

.share-row{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:10px!important;
  flex-wrap:wrap!important;
  max-width:980px!important;
  margin:28px auto 0!important;
  padding:18px 20px!important;
  background:#fff!important;
  border:1px solid #E6D7C7!important;
  border-radius:20px!important;
  box-shadow:0 12px 30px rgba(43,26,22,.05)!important;
}

.share-label{
  display:inline-flex!important;
  align-items:center!important;
  margin-right:2px!important;
  color:#2B1A16!important;
  font-weight:900!important;
  white-space:normal!important;
}

.share-btn{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:40px!important;
  padding:9px 14px!important;
  border-radius:999px!important;
  border:1px solid #E6D7C7!important;
  background:#fff!important;
  color:#2B1A16!important;
  font-weight:900!important;
  font-size:14px!important;
  line-height:1!important;
  text-decoration:none!important;
  white-space:nowrap!important;
}

.share-btn:hover{
  border-color:#D6A354!important;
  color:#A63A2A!important;
  transform:translateY(-1px);
}

.calc-workbench{
  display:grid!important;
  grid-template-columns:minmax(0,1.06fr) minmax(360px,.94fr)!important;
  gap:24px!important;
  align-items:start!important;
}

.calc-input-panel,
.calc-result-panel{
  min-width:0!important;
}

.calc-result-panel{
  position:sticky;
  top:92px;
  display:grid;
  gap:16px;
  align-self:start;
}

.calc-metric-grid{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:12px!important;
  margin:0 0 14px!important;
}

.calc-metric-card{
  background:#fff!important;
  border:1px solid #E6D7C7!important;
  border-radius:18px!important;
  padding:16px!important;
  box-shadow:0 12px 28px rgba(43,26,22,.06)!important;
  min-width:0!important;
}

.calc-metric-card.featured{
  background:linear-gradient(180deg,#fff,#FBF7EF)!important;
  border-left:4px solid #D6A354!important;
}

.calc-metric-label{
  color:#6e5c53!important;
  font-size:12px!important;
  font-weight:900!important;
  line-height:1.45!important;
  margin-bottom:6px!important;
}

.calc-metric-value{
  color:#2B1A16!important;
  font-size:clamp(20px,2.4vw,28px)!important;
  font-weight:950!important;
  line-height:1.15!important;
  font-variant-numeric:tabular-nums!important;
}

.calc-metric-unit{
  font-size:13px!important;
  color:#6e5c53!important;
  margin-left:2px!important;
}

.calc-sensitivity-chart,
.calc-cost-chips-section{
  background:#fff!important;
  border:1px solid #E6D7C7!important;
  border-radius:20px!important;
  padding:18px!important;
  box-shadow:0 12px 28px rgba(43,26,22,.05)!important;
}

.calc-sensitivity-title,
.calc-cost-chips-title{
  color:#2B1A16!important;
  font-size:15px!important;
  font-weight:950!important;
  margin-bottom:12px!important;
}

.calc-sensitivity-rows{
  display:grid!important;
  gap:9px!important;
}

.calc-sensitivity-row{
  display:grid!important;
  grid-template-columns:58px minmax(0,1fr) 86px!important;
  gap:10px!important;
  align-items:center!important;
  padding:9px 10px!important;
  border:1px solid #E6D7C7!important;
  border-radius:14px!important;
  background:#FBF7EF!important;
}

.calc-sensitivity-row.current{
  border-color:#D6A354!important;
  background:#fff!important;
  box-shadow:0 0 0 1px rgba(214,163,84,.24)!important;
}

.calc-sens-label{
  color:#2B1A16!important;
  font-weight:950!important;
  font-size:13px!important;
}

.calc-sens-bar{
  height:10px!important;
  max-width:100%!important;
  min-width:18px!important;
  border-radius:999px!important;
  background:linear-gradient(90deg,#A63A2A,#D6A354)!important;
}

.calc-sens-value{
  color:#2B1A16!important;
  text-align:right!important;
  font-weight:900!important;
  font-size:13px!important;
  font-variant-numeric:tabular-nums!important;
}

.calc-cost-chips-grid{
  display:flex!important;
  gap:8px!important;
  flex-wrap:wrap!important;
}

.calc-cost-chip{
  display:inline-flex!important;
  align-items:center!important;
  min-height:34px!important;
  padding:7px 11px!important;
  border-radius:999px!important;
  border:1px solid #E6D7C7!important;
  background:#FBF7EF!important;
  color:#2B1A16!important;
  font-size:12px!important;
  font-weight:900!important;
}

.calc-result-actions{
  display:flex!important;
  gap:10px!important;
  flex-wrap:wrap!important;
  align-items:center!important;
  margin:18px 0!important;
}

.calc-download-btn{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:44px!important;
  padding:11px 18px!important;
  border-radius:999px!important;
  border:1px solid #2B1A16!important;
  background:#2B1A16!important;
  color:#D6A354!important;
  font-weight:950!important;
  cursor:pointer!important;
  box-shadow:0 10px 22px rgba(43,26,22,.14)!important;
}

.calc-download-btn.secondary{
  background:#fff!important;
  border-color:#E6D7C7!important;
  color:#2B1A16!important;
}

.calc-copy-status{
  color:#A63A2A!important;
  font-size:13px!important;
  font-weight:900!important;
}

.hd-next-step-hub{
  margin-top:22px!important;
  padding:28px!important;
  border:1px solid #E6D7C7!important;
  border-radius:24px!important;
  background:linear-gradient(180deg,#fff,#FBF7EF)!important;
  box-shadow:0 14px 34px rgba(43,26,22,.06)!important;
}

.hd-next-step-kicker{
  color:#A63A2A!important;
  font-size:12px!important;
  font-weight:950!important;
  letter-spacing:.12em!important;
  margin-bottom:8px!important;
}

.hd-next-step-title{
  color:#2B1A16!important;
  font-size:clamp(22px,2.4vw,30px)!important;
  font-weight:950!important;
  line-height:1.3!important;
  margin:0 0 8px!important;
}

.hd-next-step-copy{
  color:#6e5c53!important;
  font-size:15px!important;
  line-height:1.75!important;
  margin:0 0 18px!important;
}

.hd-cta-group{
  display:grid!important;
  gap:10px!important;
  justify-items:start!important;
}

.hd-cta-secondary-group{
  display:flex!important;
  gap:10px!important;
  flex-wrap:wrap!important;
}

@media(max-width:980px){
  .calc-workbench{grid-template-columns:1fr!important;}
  .calc-result-panel{position:static!important;}
  .page-rights-agreement > .container{max-width:760px;}
}

@media(max-width:760px){
  .share-row{align-items:stretch!important;}
  .share-label{width:100%!important;}
  .share-btn{width:100%!important;}
  .calc-metric-grid{grid-template-columns:1fr!important;}
  .calc-sensitivity-row{grid-template-columns:52px minmax(0,1fr) 76px!important;}
  .calc-result-actions{align-items:stretch!important;}
  .calc-download-btn{width:100%!important;}
  .hd-cta-secondary-group{display:grid!important;grid-template-columns:1fr!important;width:100%!important;}
  .hd-cta-group{justify-items:stretch!important;}
  .hd-cta-group .hd-btn{width:100%!important;}
  .hd-intro-wrap{padding:0 18px;}
}

/* =================================================================
   v34.3 Layout repair — 2026-05-24
   1. Ask Happy textarea pointer-events + z-index
   2. start-here quiz-hero → dark espresso
   3. onboarding .hero → dark espresso
   4. article ra-next-map → hd-article-next
   5. hd-intro-wrap sizing
   6. share-row spacing
   ================================================================= */

/* ── 1. Ask Happy: Hero overlay 不遮 textarea ──────────── */
.hd-hero { position: relative; }

.hd-hero::before,
.hd-hero::after { pointer-events: none; z-index: 0; }

.hd-hero > .hd-container { position: relative; z-index: 1; }

.hd-hero-grid { position: relative; z-index: 1; }

.hd-hero-form,
.hd-form-card  { position: relative; z-index: 2; }

.hq-textarea {
  pointer-events: auto !important;
  user-select: text !important;
  -webkit-user-select: text !important;
  cursor: text !important;
}

.hq-chip,
[data-ask-happy-submit] {
  pointer-events: auto !important;
}

/* ── 2. start-here: quiz-hero → dark espresso ──────────── */
.quiz-hero {
  background: #2B1A16;
  padding: 72px 0 64px;
  position: relative;
  overflow: hidden;
}

/* subtle warm grain */
.quiz-hero::before {
  content: "";
  position: absolute; inset: 0;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='200' height='200'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 0.8  0 0 0 0 0.6  0 0 0 0 0.3  0 0 0 0.4 0'/></filter><rect width='100%25' height='100%25' filter='url(%23n)' opacity='0.6'/></svg>");
  background-size: 200px 200px;
  opacity: .08;
  mix-blend-mode: overlay;
  pointer-events: none;
}

.quiz-hero > * { position: relative; z-index: 1; }

/* inner wrapper — align with .container max-width */
.quiz-hero-inner {
  max-width: 1180px;
  margin: 0 auto;
  padding: 0 32px;
}

.quiz-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .2em;
  color: #E9C46A;
  text-transform: uppercase;
  margin-bottom: 18px;
}

.quiz-hero h1 {
  font-size: clamp(36px, 4.2vw, 52px);
  font-weight: 900;
  color: #FBF7EF;
  line-height: 1.25;
  letter-spacing: -.02em;
  margin: 0 0 18px;
  max-width: 28em;
  text-align: left;
}

.quiz-hero p {
  font-size: 16px;
  line-height: 1.8;
  color: rgba(251,247,239,.75);
  max-width: 36em;
  margin: 0;
  text-align: left;
}

@media (max-width: 680px) {
  .quiz-hero { padding: 48px 0 44px; }
  .quiz-hero-inner { padding: 0 20px; }
  .quiz-hero h1 { font-size: 32px; }
}

/* ── 3. onboarding: .hero → dark espresso ──────────────── */
header.hero {
  background: #2B1A16;
  padding: 72px 0 64px;
  position: relative;
  overflow: hidden;
}

header.hero::before {
  content: "";
  position: absolute; inset: 0;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='200' height='200'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 0.8  0 0 0 0 0.6  0 0 0 0 0.3  0 0 0 0.4 0'/></filter><rect width='100%25' height='100%25' filter='url(%23n)' opacity='0.6'/></svg>");
  background-size: 200px 200px;
  opacity: .08;
  mix-blend-mode: overlay;
  pointer-events: none;
}

.hero-in {
  max-width: 1180px;
  margin: 0 auto;
  padding: 0 32px;
  position: relative;
  z-index: 1;
}

.hero-in .badge {
  display: inline-flex;
  align-items: center;
  padding: 4px 14px;
  border-radius: 999px;
  background: rgba(214,163,84,.18);
  border: 1px solid rgba(214,163,84,.4);
  color: #E9C46A;
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .16em;
  text-transform: uppercase;
  margin-bottom: 18px;
}

.hero-in h1 {
  font-size: clamp(32px, 4vw, 50px);
  font-weight: 900;
  color: #FBF7EF;
  line-height: 1.28;
  letter-spacing: -.018em;
  margin: 0 0 18px;
  max-width: 26em;
  text-align: left;
}

.hero-in h1 em {
  font-style: normal;
  color: #E9C46A;
}

.hero-in p {
  font-size: 16px;
  line-height: 1.8;
  color: rgba(251,247,239,.75);
  max-width: 38em;
  margin: 0 0 16px;
  text-align: left;
}

.hero-in .disclaimer {
  font-size: 12px;
  color: rgba(251,247,239,.45);
  line-height: 1.6;
  max-width: 38em;
}

@media (max-width: 680px) {
  header.hero { padding: 48px 0 40px; }
  .hero-in { padding: 0 20px; }
  .hero-in h1 { font-size: 30px; }
}

/* ── 4. article: ra-next-map 整理 ──────────────────────── */
.ra-next-map {
  max-width: 1120px;
  margin: 56px auto 0;
  padding: 0 24px;
}

.ra-next-head {
  margin-bottom: 28px;
}

.ra-guide-kicker {
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .14em;
  color: #A63A2A;
  text-transform: uppercase;
  margin-bottom: 10px;
}

.ra-next-head h2 {
  font-size: clamp(20px, 2.4vw, 26px);
  font-weight: 900;
  color: #2B1A16;
  margin: 0 0 10px;
  line-height: 1.35;
}

.ra-next-head p {
  font-size: 15px;
  color: #6e5c53;
  line-height: 1.75;
  max-width: 48em;
  margin: 0;
}

.ra-next-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0,1fr));
  gap: 16px;
  margin-bottom: 20px;
}

.ra-next-card {
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding: 20px 18px 16px;
  background: #fff;
  border: 1px solid #E6D7C7;
  border-radius: 14px;
  text-decoration: none;
  color: inherit;
  transition: transform .18s, border-color .18s, box-shadow .18s;
}
.ra-next-card:hover {
  transform: translateY(-2px);
  border-color: #D6A354;
  box-shadow: 0 10px 28px rgba(43,26,22,.09), 0 0 0 1px rgba(214,163,84,.4);
}
.ra-next-card.primary {
  border-left: 4px solid #D6A354;
  background: #FFFBF2;
}

.ra-next-card b {
  font-size: 15px;
  font-weight: 900;
  color: #2B1A16;
  line-height: 1.4;
}
.ra-next-card span {
  font-size: 13px;
  color: #6e5c53;
  line-height: 1.65;
  flex: 1;
}
.ra-next-card em {
  font-style: normal;
  font-size: 13px;
  font-weight: 700;
  color: #A63A2A;
  margin-top: 4px;
}

.ra-next-foot {
  padding-top: 12px;
}
.ra-next-foot a {
  font-size: 14px;
  color: #A63A2A;
  text-decoration: none;
  font-weight: 700;
}
.ra-next-foot a:hover { text-decoration: underline; text-underline-offset: 4px; }

@media (max-width: 700px) {
  .ra-next-grid { grid-template-columns: 1fr; }
  .ra-next-map { padding: 0 18px; }
}

/* ── 5. hd-intro-wrap sizing fix ───────────────────────── */
/* override previous definition to use consistent width */
.hd-intro-wrap {
  width: min(1120px, calc(100% - 48px));
  max-width: none;
  margin: clamp(28px, 4vw, 56px) auto;
  padding: 0;
}

@media (max-width: 720px) {
  .hd-intro-wrap {
    width: auto;
    margin: 28px 18px;
  }
}

/* ── 6. share-row spacing ───────────────────────────────── */
.share-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
  max-width: 1120px;
  margin: 28px auto 0;
  padding: 16px 20px;
}

.share-label {
  font-size: 13px;
  color: #6e5c53;
  font-weight: 700;
  margin-right: 4px;
}

.share-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 0 16px;
  border-radius: 999px;
  border: 1px solid #E6D7C7;
  background: #fff;
  color: #2B1A16;
  font-size: 13px;
  font-weight: 700;
  font-family: inherit;
  text-decoration: none;
  cursor: pointer;
  transition: border-color .18s, background-color .18s;
}
.share-btn:hover {
  border-color: #D6A354;
  background: #FBF7EF;
}

@media (max-width: 600px) {
  .share-row { flex-direction: column; align-items: flex-start; }
  .share-btn { width: 100%; min-height: 48px; }
}

/* ── onboarding: content below hero spacing ─────────────── */
#presign-6-check,
.onboarding-page .hd-intro-wrap {
  margin-top: clamp(32px, 5vw, 72px);
}

/* =================================================================
   v34.6 Legacy Hero Repair — 2026-05-24
   修正舊版工具頁置中 Hero，統一左對齊
   修正 print-header 在螢幕上外露問題
   不影響 index.html hd-hero 與 calculator
   ================================================================= */

/* ── Print headers: screen hidden, print visible ────────── */
.print-header-cp,
.print-header-pg,
.print-header,
[class*="print-header"] {
  display: none !important;
}

@media print {
  .print-header-cp,
  .print-header-pg,
  .print-header,
  [class*="print-header"] {
    display: block !important;
  }
}

/* ── 一般工具頁 hero 左對齊補強 ────────────────────────── */
/* 只針對非首頁 hero (沒有 hd-hero / brand-hero) */
.hero.page-hero .hero-content,
.hero .hero-content,
.hero .hero-inner {
  text-align: left;
}

.hero.page-hero h1,
.hero h1 {
  text-align: left;
}

.hero.page-hero p,
.hero p {
  text-align: left;
  margin-left: 0;
  margin-right: 0;
}

.hero.page-hero .hero-actions,
.hero .hero-actions {
  justify-content: flex-start;
}

/* tag / badge 色系防呆：排除藍色、綠色、青綠色 */
.hero .tag,
.hero .hero-badge,
.hero .badge {
  background: rgba(214,163,84,.16) !important;
  border-color: rgba(214,163,84,.42) !important;
  color: #E9C46A !important;
}

/* 不要讓這些規則蓋到 index.html / calculator */
.hd-hero h1,
.hd-hero .hd-hero-title,
.brand-hero h1,
.home-v28-hero h1 {
  /* reset: 讓 index hd-hero 的自有規則生效 */
  text-align: inherit;
  margin-left: inherit;
}

/* ── 手機版保持左對齊 ────────────────────────────────── */
@media (max-width: 680px) {
  .hero .hero-content,
  .hero .hero-inner {
    padding: 0 18px;
    text-align: left;
  }
  .hero .hero-actions {
    flex-direction: column;
  }
  .hero .hero-actions a,
  .hero .hero-actions button {
    width: 100%;
  }
}

/* =================================================================
   v34.8 Infographic Integration — 2026-05-24
   .hd-article-visual / .hd-info-link-card / .hd-note-card
   元件型 class，不影響全站 hero / header / h1 規則
   ================================================================= */

/* ── 大圖說明區塊 ─────────────────────────────────────── */
.hd-article-visual {
  margin: 48px 0;
  display: grid;
  grid-template-columns: 1fr;
  gap: 20px;
  background: #FBF7EF;
  border: 1px solid #E6D7C7;
  border-radius: 20px;
  padding: 28px 32px 32px;
  overflow: hidden;
}

.hd-article-visual-copy { min-width: 0; max-width: 860px; }
.hd-article-visual-copy .eyebrow {
  font-size: 12px; font-weight: 900;
  letter-spacing: .14em; color: #A63A2A;
  text-transform: uppercase; margin-bottom: 10px;
}
.hd-article-visual-copy h2 {
  font-size: clamp(18px, 2.4vw, 24px);
  font-weight: 900; color: #2B1A16;
  line-height: 1.35; margin: 0 0 10px;
}
.hd-article-visual-copy p {
  font-size: 15px; color: #6e5c53;
  line-height: 1.75; margin: 0;
  max-width: 36em;
}

.hd-article-visual picture {
  display: block;
  width: 100%;
}
.hd-article-visual-img {
  width: 100%; height: auto;
  border-radius: 14px;
  display: block;
  box-shadow: 0 8px 32px rgba(43,26,22,.12);
}

@media (max-width: 720px) {
  .hd-article-visual {
    padding: 20px 18px 24px;
    gap: 16px;
  }
}

/* ── 導流小卡 ─────────────────────────────────────────── */
.hd-info-link-card {
  display: flex;
  flex-direction: column;
  gap: 6px;
  padding: 16px 20px;
  margin: 24px 0;
  background: #fff;
  border: 1px solid #E6D7C7;
  border-left: 4px solid #D6A354;
  border-radius: 0 12px 12px 0;
  text-decoration: none;
  color: inherit;
  transition: border-color .18s, box-shadow .18s;
  max-width: 520px;
}
.hd-info-link-card:hover {
  border-color: #D6A354;
  box-shadow: 0 4px 18px rgba(43,26,22,.08);
}
.hd-info-link-card strong {
  font-size: 15px; font-weight: 900; color: #2B1A16;
}
.hd-info-link-card span {
  font-size: 13px; color: #6e5c53; line-height: 1.6;
}
.hd-info-link-card::after {
  content: "查看圖解 →";
  font-size: 13px; font-weight: 700;
  color: #A63A2A; margin-top: 4px;
}

/* ── 提醒卡 ───────────────────────────────────────────── */
.hd-note-card {
  padding: 16px 20px;
  margin: 20px 0;
  background: rgba(214,163,84,.07);
  border: 1px solid rgba(214,163,84,.35);
  border-radius: 12px;
}
.hd-note-card strong {
  display: block;
  font-size: 14px; font-weight: 900;
  color: #2B1A16; margin-bottom: 6px;
}
.hd-note-card p {
  font-size: 14px; color: #6e5c53;
  line-height: 1.75; margin: 0;
}
.hd-note-card a { color: #A63A2A; font-weight: 700; }


/* =================================================================
   v44 Infographic Wave 3 — 2026-05-25
   Desktop uses stacked full-width visuals; mobile swaps to vertical image via <picture>.
   ================================================================= */
.hd-article-visual.hd-article-visual--stacked,
.hd-wave3-visual {
  display: block;
  max-width: min(1120px, calc(100% - 32px));
  margin: 52px auto;
  padding: clamp(22px, 3.2vw, 38px);
  background: #FBF7EF;
  border: 1px solid #E6D7C7;
  border-radius: 22px;
  box-shadow: 0 18px 50px rgba(43,26,22,.06);
}
.hd-article-visual--stacked .hd-article-visual-copy,
.hd-wave3-visual .hd-article-visual-copy {
  max-width: 820px;
  margin: 0 auto 24px;
  text-align: center;
}
.hd-article-visual--stacked .hd-article-visual-copy .eyebrow,
.hd-wave3-visual .hd-article-visual-copy .eyebrow {
  display: inline-flex;
  padding: 6px 16px;
  border: 1px solid #E6D7C7;
  border-radius: 999px;
  background: #FFF8EA;
  color: #A63A2A;
  font-size: 13px;
  letter-spacing: .12em;
  margin-bottom: 14px;
}
.hd-article-visual--stacked .hd-article-visual-copy h2,
.hd-wave3-visual .hd-article-visual-copy h2 {
  font-size: clamp(26px, 3vw, 40px);
  line-height: 1.25;
  margin-bottom: 12px;
}
.hd-article-visual--stacked .hd-article-visual-copy p,
.hd-wave3-visual .hd-article-visual-copy p {
  max-width: 42em;
  margin: 0 auto;
  font-size: clamp(16px, 1.45vw, 20px);
  line-height: 1.85;
}
.hd-article-visual--stacked picture,
.hd-wave3-visual picture { display: block; }
.hd-article-visual--stacked .hd-article-visual-img,
.hd-wave3-visual .hd-article-visual-img {
  width: 100%;
  max-width: 1080px;
  margin: 0 auto;
  display: block;
  border-radius: 18px;
  box-shadow: 0 16px 42px rgba(43,26,22,.12);
}
@media (max-width: 767px) {
  .hd-article-visual.hd-article-visual--stacked,
  .hd-wave3-visual {
    max-width: calc(100% - 24px);
    margin: 36px auto;
    padding: 18px 14px;
    border-radius: 18px;
  }
  .hd-article-visual--stacked .hd-article-visual-copy,
  .hd-wave3-visual .hd-article-visual-copy {
    text-align: left;
    margin-bottom: 18px;
  }
  .hd-article-visual--stacked .hd-article-visual-copy h2,
  .hd-wave3-visual .hd-article-visual-copy h2 { font-size: 24px; }
  .hd-article-visual--stacked .hd-article-visual-copy p,
  .hd-wave3-visual .hd-article-visual-copy p { font-size: 16px; }
  .hd-article-visual--stacked .hd-article-visual-img,
  .hd-wave3-visual .hd-article-visual-img { border-radius: 14px; }
}

/* =================================================================
   v35 QA Foundation Fix — 2026-05-25
   hd-next-step-module: 圖卡後「下一步」CTA 模組
   ================================================================= */

.hd-next-step-module {
  margin: 32px 0 0;
  padding: 22px 24px 20px;
  background: #fff;
  border: 1px solid #E6D7C7;
  border-radius: 16px;
}

.hd-next-step-module h3 {
  font-size: 14px;
  font-weight: 900;
  color: #6e5c53;
  letter-spacing: .06em;
  margin-bottom: 14px;
}

.hd-next-step-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.hd-next-step-card {
  display: inline-flex;
  align-items: center;
  padding: 10px 18px;
  background: #FBF7EF;
  border: 1px solid #E6D7C7;
  border-radius: 999px;
  color: #2B1A16;
  font-size: 14px;
  font-weight: 700;
  text-decoration: none;
  transition: border-color .18s, background .18s, transform .18s;
  min-height: 44px;
}
.hd-next-step-card:hover {
  border-color: #D6A354;
  background: #FFF8EE;
  transform: translateY(-1px);
}
.hd-next-step-card:focus-visible {
  outline: none;
  box-shadow: 0 0 0 3px rgba(214,163,84,.35);
}
.hd-next-step-card.primary {
  background: #D6A354;
  border-color: #D6A354;
  color: #2B1A16;
  font-weight: 900;
}
.hd-next-step-card.primary:hover {
  background: #E9C46A;
  border-color: #E9C46A;
}

@media (max-width: 600px) {
  .hd-next-step-grid { flex-direction: column; }
  .hd-next-step-card { justify-content: center; width: 100%; }
}

/* happydo-wave9-packA-safe-interactions-20260526 */
.hd-interact-panel{margin:22px 0 24px;padding:18px;border:1px solid #E7DCD2;border-radius:18px;background:#fff;box-shadow:0 10px 26px rgba(43,26,22,.06)}
.hd-interact-panel h3{margin:0 0 10px;color:#211815;font-size:20px;line-height:1.35}
.hd-interact-panel p{margin:0 0 14px;color:#5D4037;line-height:1.75}
.hd-interact-row{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.hd-interact-btn{min-height:44px;border:1px solid #E7DCD2;background:#FBF7EF;color:#2B1A16;border-radius:999px;padding:10px 15px;font-weight:900;cursor:pointer;font-family:inherit}
.hd-interact-btn:hover,.hd-interact-btn.is-active{background:#D6A354;border-color:#D6A354;color:#15110F}
.hd-interact-input{min-height:44px;min-width:min(100%,280px);flex:1;border:1px solid #E7DCD2;border-radius:999px;padding:10px 15px;font:inherit;color:#2B1A16;background:#fff}
.hd-interact-status{font-size:14px;color:#6E625A;font-weight:700}
tr.hd-row-selected td{background:#FFF4E2!important}
tr.hd-row-match td{outline:2px solid rgba(214,163,84,.45);outline-offset:-2px}
.hd-case-tabs{position:sticky;top:68px;z-index:6;margin:20px 0 26px;padding:14px;border:1px solid #E7DCD2;border-radius:20px;background:rgba(255,255,255,.96);box-shadow:0 12px 30px rgba(43,26,22,.08)}
.hd-case-tabs .hd-interact-row{gap:8px}
.hd-case-tab{min-height:44px;border:1px solid #E7DCD2;background:#FBF7EF;color:#2B1A16;border-radius:14px;padding:10px 12px;font-weight:900;cursor:pointer;font-family:inherit}
.hd-case-tab.is-active,.hd-case-tab:hover{background:#D6A354;border-color:#D6A354;color:#15110F}
.hd-radar-helper{margin:18px 0 22px;padding:16px 18px;border:1px solid #E7DCD2;border-left:6px solid #D6A354;border-radius:18px;background:#fff}
.hd-radar-helper h3{margin:0 0 8px;color:#211815;font-size:20px}
.hd-radar-helper p{margin:0;color:#5D4037;line-height:1.75}
@media(max-width:720px){.hd-case-tabs{position:static}.hd-interact-btn,.hd-case-tab{width:100%;text-align:center}.hd-interact-input{width:100%}}

/* happydo-zoning-table-brand-color-fix-20260526 */
/* Remove legacy green table bars in zoning-table */
.zoning-table-page .city-taipei,
.zoning-table-page .city-newtaipei,
.zoning-table-page .zone-group,
.zoning-table-page .zone-group-tp,
.zoning-table-page .zone-group-nt,
.zoning-table-page .zone-group-newtaipei,
body:has(#happydo-zone-helper) .city-taipei,
body:has(#happydo-zone-helper) .city-newtaipei,
body:has(#happydo-zone-helper) .zone-group,
body:has(#happydo-zone-helper) .zone-group-tp,
body:has(#happydo-zone-helper) .zone-group-nt,
body:has(#happydo-zone-helper) .zone-group-newtaipei {
  background: #2B1A16 !important;
  color: #F7E8C8 !important;
  border-color: #3E2723 !important;
}

body:has(#happydo-zone-helper) .table-wrap table thead th {
  background: #2B1A16 !important;
  color: #F7E8C8 !important;
}

body:has(#happydo-zone-helper) .table-wrap table tbody td[colspan] {
  background: #FFF4E2 !important;
  color: #8A5A13 !important;
  font-weight: 900 !important;
}

/* Clickable infographic card sections - 20260526 */
.hd-clickable-visual {
  padding-top: 0;
}

.hd-step-card-grid,
.hd-click-card-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(230px, 1fr));
  gap: 14px;
  margin-top: 22px;
}

.hd-step-card,
.hd-click-card {
  display: flex;
  flex-direction: column;
  min-height: 100%;
  padding: 20px;
  border: 1px solid rgba(214, 163, 84, 0.32);
  border-radius: 22px;
  background: linear-gradient(135deg, #fffaf2 0%, #ffffff 74%);
  color: #2b160d;
  text-decoration: none;
  box-shadow: 0 16px 42px rgba(58, 40, 24, 0.08);
  transition: transform 0.16s ease, border-color 0.16s ease, box-shadow 0.16s ease;
}

.hd-step-card:hover,
.hd-click-card:hover {
  transform: translateY(-2px);
  border-color: rgba(214, 163, 84, 0.72);
  box-shadow: 0 20px 52px rgba(58, 40, 24, 0.12);
}

.hd-step-num,
.hd-phase-tag {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: fit-content;
  margin-bottom: 12px;
  padding: 6px 11px;
  border-radius: 999px;
  background: #2b1a16;
  color: #f7e8c8;
  font-size: 0.78rem;
  font-weight: 900;
  letter-spacing: 0.08em;
}

.hd-click-card-title {
  display: block;
  color: #1f120b;
  font-size: 1.08rem;
  font-weight: 950;
  line-height: 1.38;
}

.hd-click-card-text {
  display: block;
  margin-top: 8px;
  color: #5f5148;
  font-size: 0.95rem;
  line-height: 1.72;
}

.hd-click-card-cta {
  display: inline-flex;
  align-items: center;
  width: fit-content;
  margin-top: auto;
  padding-top: 14px;
  color: #8b3d20;
  font-size: 0.94rem;
  font-weight: 900;
}

@media (max-width: 640px) {
  .hd-step-card-grid,
  .hd-click-card-grid {
    grid-template-columns: 1fr;
    gap: 12px;
  }

  .hd-step-card,
  .hd-click-card {
    border-radius: 18px;
    padding: 18px;
  }
}


/* Clickable infographic cards emphasis - 20260526 */
.hd-step-card-grid,
.hd-click-card-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(230px, 1fr));
  gap: 16px;
  margin: 24px 0 36px;
}

.hd-step-card,
.hd-click-card {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 10px;
  min-height: 188px;
  padding: 22px;
  border: 2px solid rgba(214, 163, 84, 0.52);
  border-radius: 24px;
  background:
    linear-gradient(135deg, rgba(255, 250, 242, 0.98), rgba(255, 255, 255, 0.98) 58%, rgba(255, 247, 234, 0.95));
  color: #2b160d;
  text-decoration: none;
  box-shadow: 0 18px 48px rgba(58, 40, 24, 0.11);
  overflow: hidden;
  transition: transform 0.18s ease, box-shadow 0.18s ease, border-color 0.18s ease;
}

.hd-step-card::before,
.hd-click-card::before {
  content: "";
  position: absolute;
  inset: 0 0 auto 0;
  height: 6px;
  background: linear-gradient(90deg, #d6a354, #8b5e34, #b1621b);
}

.hd-step-card:hover,
.hd-click-card:hover {
  transform: translateY(-3px);
  border-color: #d6a354;
  box-shadow: 0 24px 60px rgba(58, 40, 24, 0.16);
}

.hd-step-num,
.hd-phase-tag {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: fit-content;
  min-height: 30px;
  padding: 6px 12px;
  border-radius: 999px;
  background: #d6a354;
  color: #1a1a1a;
  font-size: 0.86rem;
  font-weight: 950;
  letter-spacing: 0.04em;
}

.hd-step-card h3,
.hd-step-card h4,
.hd-click-card-title {
  margin: 2px 0 2px;
  color: #1f120b;
  font-size: clamp(1.08rem, 1.8vw, 1.24rem);
  line-height: 1.38;
  font-weight: 950;
}

.hd-step-card p,
.hd-click-card-text {
  margin: 0;
  color: #5f5148;
  font-size: 0.96rem;
  line-height: 1.75;
}

.hd-click-card-cta,
.hd-step-card .hd-click-card-cta,
.hd-step-card .btn,
.hd-click-card .btn {
  margin-top: auto;
  display: inline-flex;
  align-items: center;
  width: fit-content;
  min-height: 38px;
  padding: 8px 13px;
  border-radius: 999px;
  background: #fff7ea;
  color: #8b3d20;
  border: 1px solid rgba(214, 163, 84, 0.55);
  font-size: 0.92rem;
  font-weight: 950;
  line-height: 1.2;
  text-decoration: none;
}

.hd-click-card-cta::after,
.hd-step-card .hd-click-card-cta::after {
  content: "→";
  margin-left: 0.45em;
  font-weight: 950;
}

.hd-step-card:hover .hd-click-card-cta,
.hd-click-card:hover .hd-click-card-cta,
.hd-step-card:hover .btn,
.hd-click-card:hover .btn {
  background: #d6a354;
  color: #1a1a1a;
  border-color: #d6a354;
}

@media (max-width: 640px) {
  .hd-step-card-grid,
  .hd-click-card-grid {
    grid-template-columns: 1fr;
    gap: 12px;
    margin: 20px 0 30px;
  }

  .hd-step-card,
  .hd-click-card {
    min-height: unset;
    padding: 19px;
    border-radius: 20px;
  }
}

/* Figure data summary cards - 20260526 */
.hd-click-card-block,
.hd-data-card-block {
  margin: 24px 0 34px;
}

.hd-click-card-lead {
  margin: 8px 0 18px;
  color: #5f5148;
  line-height: 1.78;
}

.hd-data-card-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 14px;
  margin: 18px 0 4px;
}

.hd-data-card {
  padding: 18px 20px;
  border: 1px solid rgba(214, 163, 84, 0.34);
  border-radius: 20px;
  background: linear-gradient(135deg, #fffaf2, #ffffff);
  box-shadow: 0 12px 34px rgba(58, 40, 24, 0.07);
}

.hd-data-card b {
  display: block;
  margin-bottom: 8px;
  color: #1f120b;
  font-weight: 950;
  line-height: 1.45;
}

.hd-data-card span {
  display: block;
  color: #5f5148;
  line-height: 1.72;
}

.hd-comparison-reader .hd-wave8-tool-head {
  margin-bottom: 16px;
}

@media (max-width: 640px) {
  .hd-data-card-grid {
    grid-template-columns: 1fr;
    gap: 12px;
  }

  .hd-data-card {
    border-radius: 18px;
    padding: 16px 18px;
  }
}


/* Wave8 tab and FAQ button repair - 20260527 */
.faq-q,
button.faq-q {
  appearance: none;
  -webkit-appearance: none;
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  min-height: 52px;
  padding: 14px 18px;
  border: 1px solid rgba(214, 163, 84, 0.32);
  border-radius: 16px;
  background: #fffaf2;
  color: #2b160d;
  font: inherit;
  font-size: 1rem;
  font-weight: 900;
  line-height: 1.45;
  text-align: left;
  cursor: pointer;
  box-shadow: 0 8px 24px rgba(58, 40, 24, 0.06);
}

.faq-q:hover,
button.faq-q:hover {
  border-color: rgba(214, 163, 84, 0.72);
  background: #fff7ea;
}

.faq-q::after,
button.faq-q::after {
  content: "+";
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 26px;
  height: 26px;
  border-radius: 999px;
  background: #d6a354;
  color: #1a1a1a;
  font-weight: 950;
}

.faq-item.open .faq-q::after,
.faq-item.open button.faq-q::after,
.faq-q[aria-expanded="true"]::after,
button.faq-q[aria-expanded="true"]::after {
  content: "-";
}

.hd-wave8-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin: 14px 0 18px;
}

.hd-wave8-tab,
button.hd-wave8-tab {
  appearance: none;
  -webkit-appearance: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 9px 16px;
  border: 1px solid rgba(214, 163, 84, 0.42);
  border-radius: 999px;
  background: #ffffff;
  color: #2b160d;
  font: inherit;
  font-size: 0.94rem;
  font-weight: 900;
  line-height: 1.2;
  cursor: pointer;
  box-shadow: 0 6px 16px rgba(58, 40, 24, 0.05);
}

.hd-wave8-tab:hover,
button.hd-wave8-tab:hover {
  border-color: #d6a354;
  background: #fffaf2;
}

.hd-wave8-tab.is-active,
button.hd-wave8-tab.is-active {
  border-color: #d6a354;
  background: #d6a354;
  color: #1a1a1a;
}

.v8-btn,
.v11-copy-selection,
.hd-selection-copy button,
.hd-flow-reset {
  appearance: none;
  -webkit-appearance: none;
}

@media (max-width: 640px) {
  .faq-q,
  button.faq-q {
    min-height: 48px;
    padding: 13px 15px;
    border-radius: 14px;
    font-size: 0.96rem;
  }

  .hd-wave8-tabs {
    gap: 8px;
  }

  .hd-wave8-tab,
  button.hd-wave8-tab {
    min-height: 38px;
    padding: 8px 13px;
    font-size: 0.9rem;
  }
}


/* Low-risk details and copy button styles - 20260527 */
.rights-faq-item,
.hd-official-step {
  margin: 12px 0;
  border: 1px solid rgba(214, 163, 84, 0.32);
  border-radius: 18px;
  background: #fffaf2;
  box-shadow: 0 10px 28px rgba(58, 40, 24, 0.06);
  overflow: hidden;
}

.rights-faq-item summary,
.hd-official-step summary {
  list-style: none;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 16px 18px;
  color: #2b160d;
  font-weight: 900;
  line-height: 1.5;
}

.rights-faq-item summary::-webkit-details-marker,
.hd-official-step summary::-webkit-details-marker {
  display: none;
}

.rights-faq-item summary::after,
.hd-official-step summary::after {
  content: "+";
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 26px;
  height: 26px;
  border-radius: 999px;
  background: #d6a354;
  color: #1a1a1a;
  font-weight: 950;
}

.rights-faq-item[open] summary::after,
.hd-official-step[open] summary::after {
  content: "-";
}

.rights-faq-item[open],
.hd-official-step[open] {
  border-color: rgba(214, 163, 84, 0.62);
  background: #fff7ea;
}

.hd-official-step-body {
  padding: 0 18px 18px;
  color: #5f5148;
  line-height: 1.8;
}

[data-hd-copy-summary] {
  appearance: none;
  -webkit-appearance: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 42px;
  padding: 9px 15px;
  border: 1px solid rgba(214, 163, 84, 0.48);
  border-radius: 999px;
  background: #fffaf2;
  color: #8b3d20;
  font: inherit;
  font-size: 0.94rem;
  font-weight: 900;
  line-height: 1.2;
  cursor: pointer;
  box-shadow: 0 6px 16px rgba(58, 40, 24, 0.05);
}

[data-hd-copy-summary]::before {
  content: "📋";
  margin-right: 0.4em;
}

[data-hd-copy-summary]:hover {
  border-color: #d6a354;
  background: #fff7ea;
}

@media (max-width: 640px) {
  .rights-faq-item summary,
  .hd-official-step summary {
    padding: 14px 15px;
  }

  [data-hd-copy-summary] {
    min-height: 40px;
    padding: 8px 13px;
    font-size: 0.9rem;
  }
}

/* Phase 6G-5C shared next-step card alignment standard
   適用：proposal-question-generator / contract-risk-thermometer / meeting-minutes-builder 等 hd-tool-next 類型區塊。
   規範：左側文案靠上、下一步為短 pill、右側按鈕靠上排列。
   注意：pre-sign-check.html 的 #tool-next-step 已另有 6G-1C 鎖定規則，除非明確要求，不要改它的位置。 */
.hd-tool-next {
  align-items: flex-start !important;
  padding-top: 36px !important;
  padding-bottom: 36px !important;
}

.hd-tool-next .hd-tool-next-copy {
  align-self: flex-start !important;
  justify-self: flex-start !important;
  padding-top: 0 !important;
  margin-top: 0 !important;
}

.hd-tool-next .hd-tool-next-copy .eyebrow {
  display: inline-flex !important;
  width: auto !important;
  max-width: max-content !important;
  min-width: 0 !important;
  padding: 5px 14px !important;
  margin: 0 0 12px 0 !important;
  border-radius: 999px !important;
  line-height: 1.2 !important;
  white-space: nowrap !important;
}

.hd-tool-next .hd-tool-next-copy h2 {
  margin-top: 0 !important;
}

.hd-tool-next .hd-tool-next-actions {
  align-self: flex-start !important;
}

@media (max-width: 760px) {
  .hd-tool-next {
    padding-top: 24px !important;
    padding-bottom: 24px !important;
  }

  .hd-tool-next .hd-tool-next-copy .eyebrow {
    margin-bottom: 10px !important;
  }
}

/* Phase 7C-8: common burden HTML visual card - 20260530 */
.hd-common-burden-html-visual {
  width: 100%;
  max-width: 100%;
  margin: 26px 0 30px;
  box-sizing: border-box;
}

.hd-cb-visual-inner {
  width: 100%;
  max-width: 960px;
  margin: 0 auto;
  background: #FFFDF8;
  border: 1px solid #E7DCD2;
  border-radius: 34px;
  padding: 34px 42px;
  box-shadow: 0 18px 42px rgba(33, 24, 21, .08);
  box-sizing: border-box;
}

.hd-cb-visual-head {
  text-align: center;
  margin-bottom: 26px;
}

.hd-cb-visual-head span {
  display: inline-flex;
  color: #A63A2A;
  font-size: 13px;
  font-weight: 950;
  letter-spacing: .12em;
  margin-bottom: 10px;
}

.hd-cb-visual-head h3 {
  margin: 0;
  color: #211815;
  font-size: clamp(28px, 4vw, 42px);
  line-height: 1.18;
  font-weight: 950;
}

.hd-cb-visual-head p {
  margin: 10px auto 0;
  max-width: 680px;
  color: #6B625C;
  font-size: 16px;
  line-height: 1.7;
}

.hd-cb-flow {
  display: grid;
  justify-items: center;
  margin: 28px auto;
}

.hd-cb-step {
  width: min(100%, 720px);
  background: #FFFDF8;
  border: 2px solid #E7DCD2;
  border-radius: 22px;
  padding: 18px 24px;
  text-align: center;
  box-sizing: border-box;
}

.hd-cb-step b {
  display: block;
  color: #211815;
  font-size: 24px;
  line-height: 1.35;
  font-weight: 950;
}

.hd-cb-step span {
  display: block;
  margin-top: 6px;
  color: #6B625C;
  font-size: 15px;
  line-height: 1.6;
}

.hd-cb-step.is-focus {
  background: #FFF8EA;
  border-color: #D6A354;
}

.hd-cb-step.is-soft {
  background: #F7EFE3;
  border-color: #D6A354;
}

.hd-cb-line {
  width: 3px;
  height: 28px;
  background: #D6A354;
}

.hd-cb-costs {
  width: 100%;
  max-width: 820px;
  margin: 26px auto 0;
  border: 2px solid #E7DCD2;
  border-radius: 24px;
  padding: 22px;
  background: #FFFDF8;
  box-sizing: border-box;
}

.hd-cb-costs h4 {
  margin: 0 0 14px;
  color: #211815;
  font-size: 24px;
  font-weight: 950;
}

.hd-cb-cost-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px 16px;
}

.hd-cb-cost-grid span {
  display: flex;
  align-items: center;
  gap: 10px;
  min-height: 42px;
  border: 1px solid #DCC7AE;
  border-radius: 12px;
  padding: 9px 12px;
  color: #4B403A;
  font-size: 14px;
  font-weight: 850;
  box-sizing: border-box;
}

.hd-cb-cost-grid i {
  color: #A63A2A;
  font-style: normal;
  font-weight: 950;
}

.hd-cb-costs p {
  margin: 14px 0 0;
  border: 2px solid #D6A354;
  border-left-width: 7px;
  border-radius: 14px;
  padding: 12px 14px;
  color: #211815;
  background: #FFF8EA;
  font-size: 16px;
  font-weight: 950;
  line-height: 1.6;
}

.hd-cb-visual-foot {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  margin-top: 28px;
  padding-top: 18px;
  border-top: 2px solid #D6A354;
  color: #8B6D2F;
  font-size: 14px;
  line-height: 1.6;
}

.hd-cb-visual-foot strong {
  color: #8B6D2F;
  font-weight: 950;
}

.hd-cb-visual-foot span {
  color: #6B625C;
}

@media (max-width: 760px) {
  .hd-common-burden-html-visual {
    margin: 18px 0 24px;
  }

  .hd-cb-visual-inner {
    border-radius: 24px;
    padding: 20px 16px;
    box-shadow: 0 10px 28px rgba(33, 24, 21, .06);
  }

  .hd-cb-visual-head {
    text-align: left;
    margin-bottom: 18px;
  }

  .hd-cb-visual-head span {
    border: 1px solid #E9D5BE;
    background: #FFF4E6;
    border-radius: 999px;
    padding: 5px 11px;
    font-size: 12px;
  }

  .hd-cb-visual-head h3 {
    font-size: 25px;
    line-height: 1.28;
  }

  .hd-cb-visual-head p {
    font-size: 15px;
  }

  .hd-cb-flow {
    margin: 20px auto;
  }

  .hd-cb-step {
    border-radius: 17px;
    padding: 14px 14px;
    text-align: left;
  }

  .hd-cb-step b {
    font-size: 18px;
  }

  .hd-cb-step span {
    font-size: 14px;
  }

  .hd-cb-line {
    height: 18px;
  }

  .hd-cb-costs {
    border-radius: 18px;
    padding: 16px;
  }

  .hd-cb-costs h4 {
    font-size: 20px;
  }

  .hd-cb-cost-grid {
    grid-template-columns: 1fr;
    gap: 9px;
  }

  .hd-cb-cost-grid span {
    font-size: 14px;
    min-height: 40px;
  }

  .hd-cb-costs p {
    font-size: 15px;
  }

  .hd-cb-visual-foot {
    display: block;
    font-size: 13px;
  }

  .hd-cb-visual-foot span {
    display: block;
    margin-top: 4px;
  }
}

/* Phase 7C-10: meeting question timeline HTML visual card - 20260530 */
.hd-meeting-timeline-html-visual {
  width: 100%;
  max-width: 100%;
  margin: 26px 0 30px;
  box-sizing: border-box;
}

.hd-mt-visual-inner {
  width: 100%;
  max-width: 960px;
  margin: 0 auto;
  background: #FFFDF8;
  border: 1px solid #E7DCD2;
  border-radius: 34px;
  padding: 34px 42px;
  box-shadow: 0 18px 42px rgba(33, 24, 21, .08);
  box-sizing: border-box;
}

.hd-mt-visual-head {
  text-align: center;
  margin-bottom: 26px;
}

.hd-mt-visual-head span {
  display: inline-flex;
  color: #A63A2A;
  font-size: 13px;
  font-weight: 950;
  letter-spacing: .12em;
  margin-bottom: 10px;
}

.hd-mt-visual-head h3 {
  margin: 0;
  color: #211815;
  font-size: clamp(28px, 4vw, 42px);
  line-height: 1.18;
  font-weight: 950;
}

.hd-mt-visual-head p {
  margin: 10px auto 0;
  max-width: 700px;
  color: #6B625C;
  font-size: 16px;
  line-height: 1.7;
}

.hd-mt-flow {
  display: grid;
  gap: 14px;
  margin: 28px auto;
  max-width: 820px;
}

.hd-mt-step {
  display: grid;
  grid-template-columns: 54px 1fr;
  gap: 16px;
  align-items: start;
  background: #FFFDF8;
  border: 2px solid #E7DCD2;
  border-radius: 22px;
  padding: 18px 22px;
  box-sizing: border-box;
}

.hd-mt-step.is-focus {
  background: #FFF8EA;
  border-color: #D6A354;
}

.hd-mt-step.is-final {
  background: #F7EFE3;
  border-color: #D6A354;
}

.hd-mt-num {
  width: 42px;
  height: 42px;
  display: grid;
  place-items: center;
  border-radius: 16px;
  background: #211815;
  color: #D6A354;
  font-size: 18px;
  font-weight: 950;
}

.hd-mt-step b {
  display: block;
  color: #211815;
  font-size: 22px;
  line-height: 1.35;
  font-weight: 950;
}

.hd-mt-step span {
  display: block;
  margin-top: 6px;
  color: #6B625C;
  font-size: 15px;
  line-height: 1.65;
}

.hd-mt-question-box {
  width: 100%;
  max-width: 820px;
  margin: 26px auto 0;
  border: 2px solid #E7DCD2;
  border-radius: 24px;
  padding: 22px;
  background: #FFFDF8;
  box-sizing: border-box;
}

.hd-mt-question-box h4 {
  margin: 0 0 14px;
  color: #211815;
  font-size: 24px;
  font-weight: 950;
}

.hd-mt-question-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.hd-mt-question-grid span {
  display: flex;
  align-items: center;
  min-height: 44px;
  border: 1px solid #DCC7AE;
  border-left: 5px solid #D6A354;
  border-radius: 13px;
  padding: 10px 13px;
  color: #4B403A;
  font-size: 14px;
  font-weight: 850;
  line-height: 1.5;
  box-sizing: border-box;
}

.hd-mt-visual-foot {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  margin-top: 28px;
  padding-top: 18px;
  border-top: 2px solid #D6A354;
  color: #8B6D2F;
  font-size: 14px;
  line-height: 1.6;
}

.hd-mt-visual-foot strong {
  color: #8B6D2F;
  font-weight: 950;
}

.hd-mt-visual-foot span {
  color: #6B625C;
}

@media (max-width: 760px) {
  .hd-meeting-timeline-html-visual {
    margin: 18px 0 24px;
  }

  .hd-mt-visual-inner {
    border-radius: 24px;
    padding: 20px 16px;
    box-shadow: 0 10px 28px rgba(33, 24, 21, .06);
  }

  .hd-mt-visual-head {
    text-align: left;
    margin-bottom: 18px;
  }

  .hd-mt-visual-head span {
    border: 1px solid #E9D5BE;
    background: #FFF4E6;
    border-radius: 999px;
    padding: 5px 11px;
    font-size: 12px;
  }

  .hd-mt-visual-head h3 {
    font-size: 25px;
    line-height: 1.28;
  }

  .hd-mt-visual-head p {
    font-size: 15px;
  }

  .hd-mt-flow {
    gap: 10px;
    margin: 20px auto;
  }

  .hd-mt-step {
    grid-template-columns: 42px 1fr;
    gap: 12px;
    border-radius: 17px;
    padding: 14px 14px;
  }

  .hd-mt-num {
    width: 34px;
    height: 34px;
    border-radius: 13px;
    font-size: 15px;
  }

  .hd-mt-step b {
    font-size: 18px;
  }

  .hd-mt-step span {
    font-size: 14px;
  }

  .hd-mt-question-box {
    border-radius: 18px;
    padding: 16px;
  }

  .hd-mt-question-box h4 {
    font-size: 20px;
  }

  .hd-mt-question-grid {
    grid-template-columns: 1fr;
    gap: 9px;
  }

  .hd-mt-question-grid span {
    font-size: 14px;
    min-height: 40px;
  }

  .hd-mt-visual-foot {
    display: block;
    font-size: 13px;
  }

  .hd-mt-visual-foot span {
    display: block;
    margin-top: 4px;
  }
}

/* Phase 7C-11: contract document risk HTML visual card - 20260530 */
.hd-document-risk-html-visual {
  width: 100%;
  max-width: 100%;
  margin: 26px 0 30px;
  box-sizing: border-box;
}

.hd-dr-visual-inner {
  width: 100%;
  max-width: 1000px;
  margin: 0 auto;
  background: #FFFDF8;
  border: 1px solid #E7DCD2;
  border-radius: 34px;
  padding: 34px 42px;
  box-shadow: 0 18px 42px rgba(33, 24, 21, .08);
  box-sizing: border-box;
}

.hd-dr-visual-head {
  text-align: center;
  margin-bottom: 26px;
}

.hd-dr-visual-head span {
  display: inline-flex;
  color: #A63A2A;
  font-size: 13px;
  font-weight: 950;
  letter-spacing: .12em;
  margin-bottom: 10px;
}

.hd-dr-visual-head h3 {
  margin: 0;
  color: #211815;
  font-size: clamp(28px, 4vw, 42px);
  line-height: 1.18;
  font-weight: 950;
}

.hd-dr-visual-head p {
  margin: 10px auto 0;
  max-width: 720px;
  color: #6B625C;
  font-size: 16px;
  line-height: 1.7;
}

.hd-dr-track {
  display: grid;
  grid-template-columns: 1fr auto 1fr auto 1fr auto 1fr auto 1fr;
  gap: 10px;
  align-items: stretch;
  margin: 28px auto;
}

.hd-dr-stage {
  display: grid;
  gap: 10px;
  align-content: start;
  background: #FFFDF8;
  border: 2px solid #E7DCD2;
  border-radius: 22px;
  padding: 18px 16px;
  box-sizing: border-box;
}

.hd-dr-stage.is-soft {
  background: #FFFDF8;
}

.hd-dr-stage.is-focus {
  background: #FFF8EA;
  border-color: #D6A354;
}

.hd-dr-stage.is-strong {
  background: #F7EFE3;
  border-color: #D6A354;
}

.hd-dr-stage.is-final {
  background: #FFF0EC;
  border-color: #A63A2A;
}

.hd-dr-num {
  width: 38px;
  height: 38px;
  display: grid;
  place-items: center;
  border-radius: 14px;
  background: #211815;
  color: #D6A354;
  font-size: 16px;
  font-weight: 950;
}

.hd-dr-stage b {
  display: block;
  color: #211815;
  font-size: 19px;
  line-height: 1.35;
  font-weight: 950;
}

.hd-dr-stage span {
  display: block;
  margin-top: 6px;
  color: #6B625C;
  font-size: 14px;
  line-height: 1.65;
}

.hd-dr-arrow {
  display: grid;
  place-items: center;
  color: #B8863B;
  font-size: 24px;
  font-weight: 950;
}

.hd-dr-check-box {
  width: 100%;
  max-width: 860px;
  margin: 26px auto 0;
  border: 2px solid #E7DCD2;
  border-radius: 24px;
  padding: 22px;
  background: #FFFDF8;
  box-sizing: border-box;
}

.hd-dr-check-box h4 {
  margin: 0 0 14px;
  color: #211815;
  font-size: 24px;
  font-weight: 950;
}

.hd-dr-check-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}

.hd-dr-check-grid span {
  display: flex;
  align-items: center;
  min-height: 44px;
  border: 1px solid #DCC7AE;
  border-left: 5px solid #D6A354;
  border-radius: 13px;
  padding: 10px 13px;
  color: #4B403A;
  font-size: 14px;
  font-weight: 850;
  line-height: 1.5;
  box-sizing: border-box;
}

.hd-dr-visual-foot {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  margin-top: 28px;
  padding-top: 18px;
  border-top: 2px solid #D6A354;
  color: #8B6D2F;
  font-size: 14px;
  line-height: 1.6;
}

.hd-dr-visual-foot strong {
  color: #8B6D2F;
  font-weight: 950;
}

.hd-dr-visual-foot span {
  color: #6B625C;
}

@media (max-width: 980px) {
  .hd-dr-track {
    grid-template-columns: 1fr;
  }

  .hd-dr-arrow {
    transform: rotate(90deg);
    min-height: 18px;
  }
}

@media (max-width: 760px) {
  .hd-document-risk-html-visual {
    margin: 18px 0 24px;
  }

  .hd-dr-visual-inner {
    border-radius: 24px;
    padding: 20px 16px;
    box-shadow: 0 10px 28px rgba(33, 24, 21, .06);
  }

  .hd-dr-visual-head {
    text-align: left;
    margin-bottom: 18px;
  }

  .hd-dr-visual-head span {
    border: 1px solid #E9D5BE;
    background: #FFF4E6;
    border-radius: 999px;
    padding: 5px 11px;
    font-size: 12px;
  }

  .hd-dr-visual-head h3 {
    font-size: 25px;
    line-height: 1.28;
  }

  .hd-dr-visual-head p {
    font-size: 15px;
  }

  .hd-dr-track {
    gap: 8px;
    margin: 20px auto;
  }

  .hd-dr-stage {
    grid-template-columns: 42px 1fr;
    gap: 12px;
    border-radius: 17px;
    padding: 14px;
  }

  .hd-dr-num {
    width: 34px;
    height: 34px;
    border-radius: 13px;
    font-size: 15px;
  }

  .hd-dr-stage b {
    font-size: 18px;
  }

  .hd-dr-stage span {
    font-size: 14px;
  }

  .hd-dr-check-box {
    border-radius: 18px;
    padding: 16px;
  }

  .hd-dr-check-box h4 {
    font-size: 20px;
  }

  .hd-dr-check-grid {
    grid-template-columns: 1fr;
    gap: 9px;
  }

  .hd-dr-check-grid span {
    font-size: 14px;
    min-height: 40px;
  }

  .hd-dr-visual-foot {
    display: block;
    font-size: 13px;
  }

  .hd-dr-visual-foot span {
    display: block;
    margin-top: 4px;
  }
}

/* Phase 7C-12: contract risk checklist HTML visual card - 20260530 */
.hd-contract-risk-html-visual {
  width: 100%;
  max-width: 100%;
  margin: 26px 0 30px;
  box-sizing: border-box;
}

.hd-cr-visual-inner {
  width: 100%;
  max-width: 1000px;
  margin: 0 auto;
  background: #FFFDF8;
  border: 1px solid #E7DCD2;
  border-radius: 34px;
  padding: 34px 42px;
  box-shadow: 0 18px 42px rgba(33, 24, 21, .08);
  box-sizing: border-box;
}

.hd-cr-visual-head {
  text-align: center;
  margin-bottom: 26px;
}

.hd-cr-visual-head span {
  display: inline-flex;
  color: #A63A2A;
  font-size: 13px;
  font-weight: 950;
  letter-spacing: .12em;
  margin-bottom: 10px;
}

.hd-cr-visual-head h3 {
  margin: 0;
  color: #211815;
  font-size: clamp(28px, 4vw, 42px);
  line-height: 1.18;
  font-weight: 950;
}

.hd-cr-visual-head p {
  margin: 10px auto 0;
  max-width: 740px;
  color: #6B625C;
  font-size: 16px;
  line-height: 1.7;
}

.hd-cr-risk-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
  margin: 28px auto;
}

.hd-cr-risk-card {
  background: #FFFDF8;
  border: 2px solid #E7DCD2;
  border-radius: 22px;
  padding: 20px 22px;
  box-sizing: border-box;
}

.hd-cr-risk-card.is-focus {
  background: #FFF8EA;
  border-color: #D6A354;
}

.hd-cr-risk-card.is-strong {
  background: #FFF0EC;
  border-color: #A63A2A;
}

.hd-cr-risk-card h4 {
  margin: 0 0 12px;
  color: #211815;
  font-size: 22px;
  line-height: 1.35;
  font-weight: 950;
}

.hd-cr-risk-card ol {
  margin: 0;
  padding-left: 1.3em;
  color: #6B625C;
}

.hd-cr-risk-card li {
  margin: 8px 0;
  color: #4B403A;
  font-size: 15px;
  line-height: 1.65;
  font-weight: 750;
}

.hd-cr-warning-box {
  display: grid;
  gap: 6px;
  max-width: 860px;
  margin: 26px auto 0;
  border: 2px solid #D6A354;
  border-left-width: 8px;
  border-radius: 18px;
  padding: 16px 18px;
  background: #FFF8EA;
  box-sizing: border-box;
}

.hd-cr-warning-box strong {
  color: #211815;
  font-size: 17px;
  font-weight: 950;
}

.hd-cr-warning-box span {
  color: #4B403A;
  font-size: 15px;
  line-height: 1.7;
  font-weight: 800;
}

.hd-cr-visual-foot {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  margin-top: 28px;
  padding-top: 18px;
  border-top: 2px solid #D6A354;
  color: #8B6D2F;
  font-size: 14px;
  line-height: 1.6;
}

.hd-cr-visual-foot strong {
  color: #8B6D2F;
  font-weight: 950;
}

.hd-cr-visual-foot span {
  color: #6B625C;
}

@media (max-width: 760px) {
  .hd-contract-risk-html-visual {
    margin: 18px 0 24px;
  }

  .hd-cr-visual-inner {
    border-radius: 24px;
    padding: 20px 16px;
    box-shadow: 0 10px 28px rgba(33, 24, 21, .06);
  }

  .hd-cr-visual-head {
    text-align: left;
    margin-bottom: 18px;
  }

  .hd-cr-visual-head span {
    border: 1px solid #E9D5BE;
    background: #FFF4E6;
    border-radius: 999px;
    padding: 5px 11px;
    font-size: 12px;
  }

  .hd-cr-visual-head h3 {
    font-size: 25px;
    line-height: 1.28;
  }

  .hd-cr-visual-head p {
    font-size: 15px;
  }

  .hd-cr-risk-grid {
    grid-template-columns: 1fr;
    gap: 10px;
    margin: 20px auto;
  }

  .hd-cr-risk-card {
    border-radius: 17px;
    padding: 16px;
  }

  .hd-cr-risk-card h4 {
    font-size: 19px;
  }

  .hd-cr-risk-card li {
    font-size: 14px;
  }

  .hd-cr-warning-box {
    border-radius: 16px;
    padding: 14px;
  }

  .hd-cr-visual-foot {
    display: block;
    font-size: 13px;
  }

  .hd-cr-visual-foot span {
    display: block;
    margin-top: 4px;
  }
}

/* Phase 7C-13: final infographic HTML visual cards - 20260530 */
.hd-approval-timeline-html-visual,
.hd-official-route-html-visual,
.hd-ping-truth-html-visual {
  width: 100%;
  max-width: 100%;
  margin: 26px 0 30px;
  box-sizing: border-box;
}

.hd-av-visual-inner,
.hd-or-visual-inner,
.hd-pt-visual-inner {
  width: 100%;
  max-width: 1000px;
  margin: 0 auto;
  background: #FFFDF8;
  border: 1px solid #E7DCD2;
  border-radius: 34px;
  padding: 34px 42px;
  box-shadow: 0 18px 42px rgba(33, 24, 21, .08);
  box-sizing: border-box;
}

.hd-av-visual-head,
.hd-or-visual-head,
.hd-pt-visual-head {
  text-align: center;
  margin-bottom: 26px;
}

.hd-av-visual-head span,
.hd-or-visual-head span,
.hd-pt-visual-head span {
  display: inline-flex;
  color: #A63A2A;
  font-size: 13px;
  font-weight: 950;
  letter-spacing: .12em;
  margin-bottom: 10px;
}

.hd-av-visual-head h3,
.hd-or-visual-head h3,
.hd-pt-visual-head h3 {
  margin: 0;
  color: #211815;
  font-size: clamp(28px, 4vw, 42px);
  line-height: 1.18;
  font-weight: 950;
}

.hd-av-visual-head p,
.hd-or-visual-head p,
.hd-pt-visual-head p {
  margin: 10px auto 0;
  max-width: 740px;
  color: #6B625C;
  font-size: 16px;
  line-height: 1.7;
}

.hd-av-flow,
.hd-or-route-grid,
.hd-pt-logic-grid {
  display: grid;
  gap: 14px;
  margin: 28px auto;
  max-width: 860px;
}

.hd-av-step,
.hd-or-card,
.hd-pt-card {
  background: #FFFDF8;
  border: 2px solid #E7DCD2;
  border-radius: 22px;
  padding: 18px 22px;
  box-sizing: border-box;
}

.hd-or-route-grid,
.hd-pt-logic-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.hd-av-step.is-focus,
.hd-or-card.is-focus,
.hd-pt-card.is-focus {
  background: #FFF8EA;
  border-color: #D6A354;
}

.hd-av-step.is-final,
.hd-or-card.is-final,
.hd-pt-card.is-final {
  background: #FFF0EC;
  border-color: #A63A2A;
}

.hd-av-step b,
.hd-or-card b,
.hd-pt-card b {
  display: block;
  color: #211815;
  font-size: 21px;
  line-height: 1.35;
  font-weight: 950;
}

.hd-av-step span,
.hd-or-card span,
.hd-pt-card span {
  display: block;
  margin-top: 6px;
  color: #6B625C;
  font-size: 15px;
  line-height: 1.65;
  font-weight: 750;
}

.hd-av-warning-box,
.hd-pt-warning-box {
  display: grid;
  gap: 6px;
  max-width: 860px;
  margin: 26px auto 0;
  border: 2px solid #D6A354;
  border-left-width: 8px;
  border-radius: 18px;
  padding: 16px 18px;
  background: #FFF8EA;
  box-sizing: border-box;
}

.hd-av-warning-box strong,
.hd-pt-warning-box strong {
  color: #211815;
  font-size: 17px;
  font-weight: 950;
}

.hd-av-warning-box span,
.hd-pt-warning-box span {
  color: #4B403A;
  font-size: 15px;
  line-height: 1.7;
  font-weight: 800;
}

.hd-or-check-box {
  max-width: 860px;
  margin: 26px auto 0;
  border: 2px solid #E7DCD2;
  border-radius: 22px;
  padding: 20px 22px;
  background: #FFFDF8;
  box-sizing: border-box;
}

.hd-or-check-box h4 {
  margin: 0 0 14px;
  color: #211815;
  font-size: 22px;
  font-weight: 950;
}

.hd-or-check-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.hd-or-check-grid span {
  border: 1px solid #DCC7AE;
  border-left: 5px solid #D6A354;
  border-radius: 13px;
  padding: 10px 13px;
  color: #4B403A;
  font-size: 14px;
  font-weight: 850;
  line-height: 1.5;
}

.hd-av-visual-foot,
.hd-or-visual-foot,
.hd-pt-visual-foot {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  margin-top: 28px;
  padding-top: 18px;
  border-top: 2px solid #D6A354;
  color: #8B6D2F;
  font-size: 14px;
  line-height: 1.6;
}

.hd-av-visual-foot strong,
.hd-or-visual-foot strong,
.hd-pt-visual-foot strong {
  color: #8B6D2F;
  font-weight: 950;
}

.hd-av-visual-foot span,
.hd-or-visual-foot span,
.hd-pt-visual-foot span {
  color: #6B625C;
}

@media (max-width: 760px) {
  .hd-approval-timeline-html-visual,
  .hd-official-route-html-visual,
  .hd-ping-truth-html-visual {
    margin: 18px 0 24px;
  }

  .hd-av-visual-inner,
  .hd-or-visual-inner,
  .hd-pt-visual-inner {
    border-radius: 24px;
    padding: 20px 16px;
    box-shadow: 0 10px 28px rgba(33, 24, 21, .06);
  }

  .hd-av-visual-head,
  .hd-or-visual-head,
  .hd-pt-visual-head {
    text-align: left;
    margin-bottom: 18px;
  }

  .hd-av-visual-head span,
  .hd-or-visual-head span,
  .hd-pt-visual-head span {
    border: 1px solid #E9D5BE;
    background: #FFF4E6;
    border-radius: 999px;
    padding: 5px 11px;
    font-size: 12px;
  }

  .hd-av-visual-head h3,
  .hd-or-visual-head h3,
  .hd-pt-visual-head h3 {
    font-size: 25px;
    line-height: 1.28;
  }

  .hd-av-visual-head p,
  .hd-or-visual-head p,
  .hd-pt-visual-head p {
    font-size: 15px;
  }

  .hd-av-flow,
  .hd-or-route-grid,
  .hd-pt-logic-grid {
    grid-template-columns: 1fr;
    gap: 10px;
    margin: 20px auto;
  }

  .hd-av-step,
  .hd-or-card,
  .hd-pt-card {
    border-radius: 17px;
    padding: 16px;
  }

  .hd-av-step b,
  .hd-or-card b,
  .hd-pt-card b {
    font-size: 18px;
  }

  .hd-av-step span,
  .hd-or-card span,
  .hd-pt-card span {
    font-size: 14px;
  }

  .hd-or-check-box {
    border-radius: 18px;
    padding: 16px;
  }

  .hd-or-check-box h4 {
    font-size: 20px;
  }

  .hd-or-check-grid {
    grid-template-columns: 1fr;
    gap: 9px;
  }

  .hd-av-visual-foot,
  .hd-or-visual-foot,
  .hd-pt-visual-foot {
    display: block;
    font-size: 13px;
  }

  .hd-av-visual-foot span,
  .hd-or-visual-foot span,
  .hd-pt-visual-foot span {
    display: block;
    margin-top: 4px;
  }
}

/* Phase 7D-6b: core page mobile readability polish - 20260530 */
@media (max-width: 760px) {
  /* Articles index: make cards easier to scan on phones */
  .art-desc,
  .art-tools-label,
  .art-tool-tag,
  .art-read,
  .art-date {
    font-size: 14px !important;
    line-height: 1.7 !important;
  }

  .art-cat,
  .art-hero-badge {
    font-size: 12px !important;
  }

  .filt-btn {
    font-size: 14px !important;
    min-height: 42px;
  }

  /* Start-here quiz: reduce tiny helper text */
  .q-sub,
  .opt-desc,
  .result-sub,
  .tool-link-desc,
  .fast-card p,
  .quiz-section-hd p,
  .restart-btn {
    font-size: 14px !important;
    line-height: 1.72 !important;
  }

  .quiz-eyebrow,
  .q-num,
  .fast-card-step,
  .result-badge {
    font-size: 12px !important;
  }

  /* Renewal navigator: helper text and route cards */
  .form-group label,
  .form-hint,
  .score-label,
  .summary-body,
  .step-name,
  .time-note,
  .nextstep-desc,
  .checkpack-desc,
  .hd-check-pack-eyebrow {
    font-size: 14px !important;
    line-height: 1.72 !important;
  }

  .time-tag,
  .nextstep-step,
  .checkpack-eyebrow {
    font-size: 12px !important;
  }

  /* Meeting minutes: helper and status text */
  .kicker,
  .copy-status,
  .footer {
    font-size: 14px !important;
    line-height: 1.7 !important;
  }

  .brand small {
    font-size: 12px !important;
  }

  /* Query / cost table pages: keep table usable without shrinking too much */
  .warn-box,
  .note-box,
  .tip-item p,
  .source,
  .query-link,
  .cost-source-links a,
  .cost-neutral-note {
    font-size: 14px !important;
    line-height: 1.72 !important;
  }

  .note-cell,
  .convert,
  .val-note {
    font-size: 13px !important;
    line-height: 1.65 !important;
  }

  .cost-compare-kicker,
  .tag {
    font-size: 12px !important;
  }

  /* Tables on small screens should remain readable, not compressed */
  table,
  .hd-table,
  .data-table,
  .rpg-table {
    font-size: 14px !important;
  }

  th,
  td,
  thead th,
  tbody td {
    font-size: 14px !important;
    line-height: 1.6 !important;
  }
}

/* Cost table heading marker cleanup - 20260530
   Remove leftover pseudo marker bars on cost-table headings only. */
.cost-table-page h1::before,
.cost-table-page h1::after,
.cost-table-page h2::before,
.cost-table-page h2::after,
.cost-table-page h3::before,
.cost-table-page h3::after{
  content:none!important;
  display:none!important;
  width:0!important;
  height:0!important;
  background:none!important;
  border:0!important;
  margin:0!important;
  padding:0!important;
}

.cost-table-page h1,
.cost-table-page h2,
.cost-table-page h3{
  text-shadow:none!important;
  -webkit-text-stroke:0!important;
}

/* Happy image floating menu - 20260530
   Branded Happy floating button with Ask Happy / LINE quick actions. */
.happy-float{
  position:fixed;
  right:18px;
  bottom:18px;
  z-index:9999;
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  gap:10px;
  font-family:inherit;
}

body.happy-float-ready #lp{
  display:none!important;
}

.happy-float-main{
  position:relative;
  width:74px;
  height:74px;
  border:1px solid rgba(214,163,84,.58);
  border-radius:24px;
  background:#FBF7EF;
  box-shadow:0 16px 36px rgba(33,24,21,.22);
  display:grid;
  place-items:center;
  cursor:pointer;
  transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease;
  padding:0;
  overflow:visible;
}

.happy-float-main:hover,
.happy-float[data-open="true"] .happy-float-main{
  transform:translateY(-3px);
  box-shadow:0 22px 44px rgba(33,24,21,.28);
  border-color:#D6A354;
}

.happy-float-img{
  width:68px;
  height:68px;
  border-radius:22px;
  object-fit:cover;
  display:block;
}

.happy-float-menu{
  display:grid;
  gap:8px;
  min-width:172px;
  opacity:0;
  transform:translateY(8px) scale(.98);
  pointer-events:none;
  transition:opacity .16s ease, transform .16s ease;
}

.happy-float[data-open="true"] .happy-float-menu{
  opacity:1;
  transform:translateY(0) scale(1);
  pointer-events:auto;
}

.happy-float-menu-item{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  border-radius:999px;
  padding:11px 14px;
  text-decoration:none;
  font-size:14px;
  font-weight:950;
  box-shadow:0 12px 28px rgba(33,24,21,.16);
  border:1px solid rgba(214,163,84,.30);
  background:#fffaf0;
  color:#211815!important;
  white-space:nowrap;
}

.happy-float-menu-item::after{
  content:"→";
  font-weight:950;
}

.happy-float-menu-item.primary{
  background:#211815;
  color:#D6A354!important;
}

.happy-float-menu-item.line{
  background:#06C755;
  color:#fff!important;
  border-color:rgba(6,199,85,.55);
}

@media(max-width:640px){
  .happy-float{
    right:12px;
    bottom:calc(12px + env(safe-area-inset-bottom));
  }

  .happy-float-main{
    width:66px;
    height:66px;
    border-radius:22px;
  }

  .happy-float-img{
    width:60px;
    height:60px;
    border-radius:20px;
  }

  .happy-float-menu{
    min-width:156px;
  }

  .happy-float-menu-item{
    padding:10px 13px;
    font-size:13px;
  }
}

/* Happy character intro - Ask Happy - 20260530 */
.happy-character-intro{
  margin-top:20px;
  display:grid;
  grid-template-columns:auto 1fr;
  gap:14px;
  align-items:center;
  padding:16px;
  border:1px solid rgba(214,163,84,.38);
  border-radius:24px;
  background:linear-gradient(135deg,rgba(255,250,240,.96),rgba(247,239,227,.92));
  box-shadow:0 18px 42px rgba(33,24,21,.13);
  color:#211815;
}

.happy-character-avatar{
  position:relative;
  width:78px;
  height:78px;
  border-radius:24px;
  display:grid;
  place-items:center;
  background:#FBF7EF;
  border:1px solid rgba(214,163,84,.45);
  box-shadow:0 12px 28px rgba(33,24,21,.14);
  flex:0 0 auto;
}

.happy-character-avatar img{
  width:70px;
  height:70px;
  object-fit:cover;
  border-radius:22px;
  display:block;
}

.happy-character-avatar::after{
  content:"";
  position:absolute;
  right:-5px;
  top:-6px;
  width:24px;
  height:24px;
  border-radius:999px;
  background:#D6A354;
  box-shadow:0 6px 14px rgba(184,134,59,.24);
}

.happy-character-avatar::before{
  content:"?";
  position:absolute;
  right:2px;
  top:-3px;
  z-index:1;
  color:#211815;
  font-weight:950;
  font-size:14px;
  line-height:24px;
}

.happy-character-copy b{
  display:block;
  margin-bottom:4px;
  color:#8B3D20;
  font-size:13px;
  font-weight:950;
  letter-spacing:.08em;
}

.happy-character-copy strong{
  display:block;
  color:#211815;
  font-size:18px;
  line-height:1.35;
  font-weight:950;
  margin-bottom:5px;
}

.happy-character-copy span{
  display:block;
  color:#5f514b;
  font-size:14px;
  line-height:1.75;
}

@media(max-width:640px){
  .happy-character-intro{
    grid-template-columns:1fr;
    text-align:left;
    padding:16px;
  }

  .happy-character-avatar{
    width:72px;
    height:72px;
  }

  .happy-character-avatar img{
    width:64px;
    height:64px;
  }
}

/* Happy state cards - Phase 7F-3 - 20260530 */
.happy-state-section{
  padding:28px 20px 0;
}

.happy-state-card{
  max-width:1080px;
  margin:24px auto 0;
  display:grid;
  grid-template-columns:auto 1fr;
  gap:16px;
  align-items:center;
  padding:18px;
  border:1px solid rgba(214,163,84,.34);
  border-radius:26px;
  background:linear-gradient(135deg,rgba(255,250,240,.98),rgba(247,239,227,.92));
  box-shadow:0 18px 42px rgba(33,24,21,.12);
  color:#211815;
}

.happy-state-avatar{
  position:relative;
  width:78px;
  height:78px;
  border-radius:24px;
  display:grid;
  place-items:center;
  background:#FBF7EF;
  border:1px solid rgba(214,163,84,.45);
  box-shadow:0 12px 28px rgba(33,24,21,.14);
  flex:0 0 auto;
}

.happy-state-avatar img{
  width:70px;
  height:70px;
  object-fit:cover;
  border-radius:22px;
  display:block;
}

.happy-state-avatar::after{
  content:attr(data-badge);
  position:absolute;
  right:-7px;
  top:-7px;
  min-width:28px;
  height:28px;
  padding:0 7px;
  border-radius:999px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:#D6A354;
  color:#211815;
  font-size:13px;
  line-height:1;
  font-weight:950;
  border:2px solid #FBF7EF;
  box-shadow:0 8px 18px rgba(184,134,59,.25);
}

.happy-state-card--start .happy-state-avatar::after{
  background:#D6A354;
}

.happy-state-card--research .happy-state-avatar::after{
  background:#B8863B;
  color:#fffaf0;
}

.happy-state-card--check .happy-state-avatar::after{
  background:#A63A2A;
  color:#fffaf0;
}

.happy-state-copy b{
  display:block;
  margin-bottom:4px;
  color:#8B3D20;
  font-size:13px;
  font-weight:950;
  letter-spacing:.08em;
}

.happy-state-copy strong{
  display:block;
  color:#211815;
  font-size:18px;
  line-height:1.35;
  font-weight:950;
  margin-bottom:5px;
}

.happy-state-copy span{
  display:block;
  color:#5f514b;
  font-size:14px;
  line-height:1.75;
}

@media(max-width:640px){
  .happy-state-section{
    padding:22px 16px 0;
  }

  .happy-state-card{
    grid-template-columns:1fr;
    gap:12px;
    padding:16px;
    border-radius:22px;
  }

  .happy-state-avatar{
    width:72px;
    height:72px;
  }

  .happy-state-avatar img{
    width:64px;
    height:64px;
  }
}

/* Happy tool reminder cards - Phase 7F-4 - 20260530 */
.happy-state-card--notes .happy-state-avatar::after{
  background:#D6A354;
  color:#211815;
}

.happy-state-card--question .happy-state-avatar::after{
  background:#B8863B;
  color:#fffaf0;
}

.happy-state-card--risk .happy-state-avatar::after{
  background:#A63A2A;
  color:#fffaf0;
}

.happy-state-section--tool{
  padding-top:24px;
}

/* Happy home route entry - Phase 7F-5 - 20260530 */
.happy-home-route{
  max-width:1120px;
  margin:28px auto 0;
  padding:0 20px;
}

.happy-home-route-card{
  display:grid;
  grid-template-columns:240px 1fr;
  gap:28px;
  align-items:center;
  padding:28px;
  border:1px solid rgba(214,163,84,.34);
  border-radius:30px;
  background:linear-gradient(135deg,rgba(255,250,240,.98),rgba(247,239,227,.92));
  box-shadow:0 18px 42px rgba(33,24,21,.11);
  color:#211815;
}

.happy-home-route-visual{
  display:grid;
  place-items:center;
}

.happy-home-route-visual img{
  width:220px;
  max-width:100%;
  height:auto;
  display:block;
  border-radius:28px;
  filter:drop-shadow(0 14px 24px rgba(33,24,21,.13));
}

.happy-home-route-copy{
  max-width:680px;
}

.happy-home-route-kicker{
  display:inline-flex;
  align-items:center;
  gap:8px;
  margin-bottom:10px;
  color:#8B3D20;
  font-size:13px;
  font-weight:950;
  letter-spacing:.08em;
}

.happy-home-route-kicker::before{
  content:"";
  width:22px;
  height:4px;
  border-radius:999px;
  background:#D6A354;
}

.happy-home-route-copy h2{
  margin:0 0 10px;
  color:#211815;
  font-size:clamp(24px,3vw,36px);
  line-height:1.25;
  font-weight:950;
  letter-spacing:-.02em;
}

.happy-home-route-copy h2 em{
  color:#B8863B;
  font-style:normal;
}

.happy-home-route-copy p{
  margin:0;
  color:#5f514b;
  font-size:16px;
  line-height:1.8;
}

.happy-home-route-actions{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin-top:18px;
}

.happy-home-route-actions a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:44px;
  padding:12px 18px;
  border-radius:999px;
  font-size:15px;
  font-weight:900;
  text-decoration:none;
}

.happy-home-route-actions .primary{
  background:#D6A354;
  color:#211815;
  box-shadow:0 12px 24px rgba(184,134,59,.18);
}

.happy-home-route-actions .secondary{
  background:#fffaf0;
  color:#8B3D20;
  border:1px solid rgba(214,163,84,.48);
}

@media(max-width:760px){
  .happy-home-route{
    margin-top:22px;
    padding:0 16px;
  }

  .happy-home-route-card{
    grid-template-columns:1fr;
    gap:16px;
    padding:22px 18px;
    border-radius:24px;
  }

  .happy-home-route-visual{
    justify-content:start;
  }

  .happy-home-route-visual img{
    width:140px;
    border-radius:22px;
  }

  .happy-home-route-copy h2{
    font-size:24px;
  }

  .happy-home-route-actions a{
    width:100%;
  }
}

/* Happy calc and reminder cards - Phase 7F-7 - 20260531 */
.happy-state-card--calc .happy-state-avatar::after{
  background:#D6A354;
  color:#211815;
}

.happy-state-card--reminder .happy-state-avatar::after{
  background:#A63A2A;
  color:#fffaf0;
}

/* Happy main pages wave 2 - Phase 7F-8 - 20260531 */
.happy-state-card--listen .happy-state-avatar::after{
  background:#D6A354;
  color:#211815;
}

/* Happy inline notes - Phase 7F-9 - 20260531 */
.happy-inline-note{
  max-width:860px;
  margin:22px auto;
  display:grid;
  grid-template-columns:auto 1fr;
  gap:12px;
  align-items:center;
  padding:14px 16px;
  border:1px solid rgba(214,163,84,.34);
  border-radius:18px;
  background:linear-gradient(135deg,rgba(255,250,240,.98),rgba(247,239,227,.9));
  box-shadow:0 10px 26px rgba(33,24,21,.08);
  color:#211815;
}

.happy-inline-note img{
  width:54px;
  height:54px;
  object-fit:cover;
  border-radius:16px;
  display:block;
  background:#FBF7EF;
  border:1px solid rgba(214,163,84,.32);
}

.happy-inline-note b{
  display:block;
  margin-bottom:2px;
  color:#8B3D20;
  font-size:13px;
  font-weight:950;
  letter-spacing:.04em;
}

.happy-inline-note span{
  display:block;
  color:#5f514b;
  font-size:14px;
  line-height:1.75;
}

@media(max-width:640px){
  .happy-inline-note{
    grid-template-columns:1fr;
    align-items:start;
    margin:18px 16px;
    padding:14px;
  }

  .happy-inline-note img{
    width:50px;
    height:50px;
  }
}

/* Phase 8A-1 IA five path sections - 20260531 */
.hd-ia-section{
  padding:34px 0;
  background:linear-gradient(180deg,#FBF7EF,#fffaf0);
}

.hd-ia-card{
  border:1px solid rgba(214,163,84,.32);
  background:rgba(255,253,248,.96);
  border-radius:24px;
  padding:24px;
  box-shadow:0 14px 34px rgba(33,24,21,.08);
}

.hd-ia-head{
  max-width:760px;
  margin:0 0 18px;
}

.hd-ia-kicker{
  display:inline-flex;
  align-items:center;
  border-radius:999px;
  padding:6px 12px;
  background:#FFF7ED;
  color:#8B3D20;
  border:1px solid rgba(214,163,84,.34);
  font-weight:900;
  font-size:13px;
  margin-bottom:10px;
}

.hd-ia-head h2{
  margin:0 0 8px;
  color:#211815;
  font-size:clamp(22px,3vw,32px);
  line-height:1.35;
  letter-spacing:-.02em;
}

.hd-ia-head p{
  margin:0;
  color:#6B625C;
  font-size:15px;
  line-height:1.8;
}

.hd-ia-grid{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:12px;
}

.hd-ia-path{
  display:flex;
  flex-direction:column;
  gap:8px;
  min-height:148px;
  padding:16px;
  border-radius:18px;
  text-decoration:none;
  color:#211815;
  background:#fff;
  border:1px solid rgba(214,163,84,.28);
  transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}

.hd-ia-path:hover{
  transform:translateY(-2px);
  box-shadow:0 12px 26px rgba(33,24,21,.10);
  border-color:rgba(166,58,42,.38);
}

.hd-ia-path i{
  width:32px;
  height:32px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:999px;
  background:#A63A2A;
  color:#fffaf0;
  font-style:normal;
  font-weight:950;
  font-size:14px;
}

.hd-ia-path b{
  color:#211815;
  font-size:16px;
  line-height:1.35;
}

.hd-ia-path span{
  color:#6B625C;
  font-size:13.5px;
  line-height:1.65;
}

.hd-ia-subgrid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px;
}

.hd-ia-subcard{
  display:block;
  padding:16px;
  border-radius:18px;
  border:1px solid rgba(214,163,84,.28);
  background:#fff;
  color:#211815;
  text-decoration:none;
}

.hd-ia-subcard b{
  display:block;
  margin-bottom:6px;
  color:#211815;
  font-size:15px;
}

.hd-ia-subcard span{
  display:block;
  color:#6B625C;
  font-size:13.5px;
  line-height:1.65;
}

@media(max-width:980px){
  .hd-ia-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .hd-ia-subgrid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media(max-width:640px){
  .hd-ia-section{
    padding:24px 0;
  }

  .hd-ia-card{
    padding:18px;
    border-radius:20px;
  }

  .hd-ia-grid,
  .hd-ia-subgrid{
    grid-template-columns:1fr;
  }

  .hd-ia-path{
    min-height:auto;
  }
}

/* Phase 8A-2 entry page role cards - 20260531 */
.hd-entry-role{
  padding:22px 0 10px;
  background:#FBF7EF;
}

.hd-entry-role-card{
  display:grid;
  grid-template-columns:1fr auto;
  gap:18px;
  align-items:center;
  border:1px solid rgba(214,163,84,.34);
  border-radius:22px;
  padding:18px 20px;
  background:linear-gradient(135deg,#fffdf8,#F7EFE3);
  box-shadow:0 10px 28px rgba(33,24,21,.07);
}

.hd-entry-role-copy b{
  display:block;
  margin-bottom:6px;
  color:#8B3D20;
  font-size:14px;
  font-weight:950;
  letter-spacing:.04em;
}

.hd-entry-role-copy strong{
  display:block;
  margin-bottom:6px;
  color:#211815;
  font-size:clamp(18px,2.4vw,24px);
  line-height:1.4;
}

.hd-entry-role-copy span{
  display:block;
  color:#6B625C;
  font-size:14.5px;
  line-height:1.75;
}

.hd-entry-role-link{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:150px;
  padding:12px 16px;
  border-radius:999px;
  background:#A63A2A;
  color:#fffaf0;
  text-decoration:none;
  font-weight:900;
  font-size:14px;
  white-space:nowrap;
}

.hd-entry-role-link:hover{
  transform:translateY(-1px);
  box-shadow:0 10px 22px rgba(166,58,42,.22);
}

.hd-entry-role-mini{
  margin-top:12px;
  display:flex;
  gap:8px;
  flex-wrap:wrap;
}

.hd-entry-role-mini a{
  display:inline-flex;
  align-items:center;
  padding:7px 11px;
  border-radius:999px;
  border:1px solid rgba(214,163,84,.34);
  background:#fffaf0;
  color:#3E2723;
  text-decoration:none;
  font-size:13px;
  font-weight:800;
}

@media(max-width:720px){
  .hd-entry-role-card{
    grid-template-columns:1fr;
  }

  .hd-entry-role-link{
    width:100%;
  }
}

/* Phase 8A-3 path child page exposure - 20260531 */
.hd-path-more{
  padding:26px 0;
  background:#FBF7EF;
}

.hd-path-more-card{
  border:1px solid rgba(214,163,84,.32);
  background:rgba(255,253,248,.96);
  border-radius:22px;
  padding:22px;
  box-shadow:0 12px 30px rgba(33,24,21,.07);
}

.hd-path-more-head{
  margin-bottom:16px;
}

.hd-path-more-kicker{
  display:inline-flex;
  align-items:center;
  border-radius:999px;
  padding:6px 12px;
  background:#FFF7ED;
  color:#8B3D20;
  border:1px solid rgba(214,163,84,.34);
  font-weight:900;
  font-size:13px;
  margin-bottom:10px;
}

.hd-path-more-head h2{
  margin:0 0 8px;
  color:#211815;
  font-size:clamp(20px,2.7vw,28px);
  line-height:1.35;
}

.hd-path-more-head p{
  margin:0;
  color:#6B625C;
  font-size:14.5px;
  line-height:1.75;
}

.hd-path-more-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px;
}

.hd-path-more-link{
  display:block;
  padding:15px;
  border-radius:18px;
  background:#fff;
  border:1px solid rgba(214,163,84,.28);
  color:#211815;
  text-decoration:none;
  transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}

.hd-path-more-link:hover{
  transform:translateY(-2px);
  box-shadow:0 10px 24px rgba(33,24,21,.09);
  border-color:rgba(166,58,42,.38);
}

.hd-path-more-link b{
  display:block;
  margin-bottom:6px;
  color:#211815;
  font-size:15px;
  line-height:1.35;
}

.hd-path-more-link span{
  display:block;
  color:#6B625C;
  font-size:13.5px;
  line-height:1.65;
}

@media(max-width:980px){
  .hd-path-more-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media(max-width:640px){
  .hd-path-more{
    padding:20px 0;
  }

  .hd-path-more-card{
    padding:18px;
    border-radius:20px;
  }

  .hd-path-more-grid{
    grid-template-columns:1fr;
  }
}

/* Phase 8A-4C compact Happy mark in homepage hero - 20260531 */
.hd-hero-happy-mark{
  display:flex;
  align-items:center;
  gap:10px;
  margin-bottom:12px;
  padding:10px 12px;
  border-radius:18px;
  background:rgba(255,250,240,.92);
  border:1px solid rgba(214,163,84,.38);
  box-shadow:0 10px 24px rgba(33,24,21,.12);
}

.hd-hero-happy-mark img{
  width:52px;
  height:52px;
  object-fit:cover;
  border-radius:16px;
  background:#FBF7EF;
  border:1px solid rgba(214,163,84,.35);
  flex:0 0 auto;
}

.hd-hero-happy-mark b{
  display:block;
  color:#211815;
  font-size:14px;
  font-weight:950;
  line-height:1.35;
}

.hd-hero-happy-mark span{
  display:block;
  color:#6B625C;
  font-size:12.5px;
  line-height:1.55;
}

@media(max-width:640px){
  .hd-hero-happy-mark{
    margin-bottom:10px;
    padding:9px 10px;
  }

  .hd-hero-happy-mark img{
    width:46px;
    height:46px;
  }
}

/* Phase 8A-4C homepage Happy strip below hero - 20260531 */
.hd-home-happy-strip{
  padding:18px 0 0;
  background:#FBF7EF;
}

.hd-home-happy-strip-card{
  display:flex;
  align-items:center;
  gap:14px;
  max-width:980px;
  margin:0 auto;
  padding:14px 16px;
  border-radius:22px;
  background:linear-gradient(135deg,#fffdf8,#F7EFE3);
  border:1px solid rgba(214,163,84,.34);
  box-shadow:0 12px 28px rgba(33,24,21,.08);
}

.hd-home-happy-strip-card img{
  width:68px;
  height:68px;
  object-fit:cover;
  border-radius:18px;
  background:#FBF7EF;
  border:1px solid rgba(214,163,84,.32);
  flex:0 0 auto;
}

.hd-home-happy-strip-card b{
  display:block;
  color:#211815;
  font-size:17px;
  font-weight:950;
  margin-bottom:4px;
}

.hd-home-happy-strip-card span{
  display:block;
  color:#6B625C;
  font-size:14.5px;
  line-height:1.75;
}

@media(max-width:640px){
  .hd-home-happy-strip{
    padding:14px 0 0;
  }

  .hd-home-happy-strip-card{
    margin:0 16px;
    padding:13px;
    border-radius:20px;
    align-items:flex-start;
  }

  .hd-home-happy-strip-card img{
    width:56px;
    height:56px;
    border-radius:16px;
  }

  .hd-home-happy-strip-card b{
    font-size:15px;
  }

  .hd-home-happy-strip-card span{
    font-size:13.5px;
  }
}

/* Phase 8A-4C homepage original Happy feature - 20260531 */
.hd-home-happy-feature{
  padding:18px 0 0;
  background:#FBF7EF;
}

.hd-home-happy-feature-card{
  max-width:1100px;
  margin:0 auto;
  display:grid;
  grid-template-columns:220px 1fr;
  gap:22px;
  align-items:center;
  padding:18px 22px;
  border-radius:28px;
  background:linear-gradient(135deg,#fffdf8,#F7EFE3);
  border:1px solid rgba(214,163,84,.36);
  box-shadow:0 16px 34px rgba(33,24,21,.09);
}

.hd-home-happy-feature-visual{
  display:flex;
  justify-content:center;
  align-items:center;
}

.hd-home-happy-feature-visual img{
  width:190px;
  max-width:100%;
  height:auto;
  display:block;
  border-radius:24px;
  background:#FBF7EF;
  border:1px solid rgba(214,163,84,.28);
  box-shadow:0 12px 28px rgba(33,24,21,.10);
}

.hd-home-happy-feature-copy span{
  display:inline-flex;
  margin-bottom:8px;
  padding:6px 12px;
  border-radius:999px;
  background:#FFF7ED;
  color:#8B3D20;
  border:1px solid rgba(214,163,84,.34);
  font-size:13px;
  font-weight:900;
}

.hd-home-happy-feature-copy h2{
  margin:0 0 8px;
  color:#211815;
  font-size:clamp(22px,3vw,32px);
  line-height:1.35;
  letter-spacing:-.02em;
}

.hd-home-happy-feature-copy h2 em{
  color:#A63A2A;
  font-style:normal;
}

.hd-home-happy-feature-copy p{
  margin:0;
  color:#6B625C;
  font-size:15px;
  line-height:1.8;
}

@media(max-width:760px){
  .hd-home-happy-feature{
    padding:14px 0 0;
  }

  .hd-home-happy-feature-card{
    margin:0 16px;
    grid-template-columns:92px 1fr;
    gap:14px;
    padding:14px;
    border-radius:22px;
  }

  .hd-home-happy-feature-visual img{
    width:86px;
    border-radius:18px;
  }

  .hd-home-happy-feature-copy span{
    font-size:12px;
    padding:5px 10px;
    margin-bottom:6px;
  }

  .hd-home-happy-feature-copy h2{
    font-size:18px;
    line-height:1.35;
  }

  .hd-home-happy-feature-copy p{
    font-size:13.5px;
    line-height:1.7;
  }
}

/* Phase 8A-4D homepage Happy character + HTML copy - 20260531 */
.hd-home-happy-feature-visual img{
  width:230px;
  max-width:100%;
  height:auto;
  display:block;
  border-radius:24px;
  background:transparent;
  border:0;
  box-shadow:none;
}

@media(max-width:760px){
  .hd-home-happy-feature-card{
    grid-template-columns:104px 1fr;
    gap:14px;
  }

  .hd-home-happy-feature-visual img{
    width:100px;
    border-radius:18px;
  }
}

/* Phase 8B-1 core tool user guide - 20260531 */
.hd-tool-use-guide{
  padding:28px 0;
  background:#FBF7EF;
}

.hd-tool-use-card{
  border:1px solid rgba(214,163,84,.34);
  background:linear-gradient(135deg,#fffdf8,#F7EFE3);
  border-radius:24px;
  padding:22px;
  box-shadow:0 12px 30px rgba(33,24,21,.07);
}

.hd-tool-use-head{
  max-width:820px;
  margin-bottom:16px;
}

.hd-tool-use-kicker{
  display:inline-flex;
  align-items:center;
  border-radius:999px;
  padding:6px 12px;
  margin-bottom:10px;
  background:#FFF7ED;
  color:#8B3D20;
  border:1px solid rgba(214,163,84,.34);
  font-size:13px;
  font-weight:900;
}

.hd-tool-use-head h2{
  margin:0 0 8px;
  color:#211815;
  font-size:clamp(22px,3vw,30px);
  line-height:1.35;
  letter-spacing:-.02em;
}

.hd-tool-use-head p{
  margin:0;
  color:#6B625C;
  font-size:14.5px;
  line-height:1.8;
}

.hd-tool-use-grid{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:12px;
}

.hd-tool-use-item{
  padding:15px;
  border-radius:18px;
  background:#fff;
  border:1px solid rgba(214,163,84,.28);
}

.hd-tool-use-item b{
  display:block;
  margin-bottom:6px;
  color:#211815;
  font-size:15px;
  line-height:1.35;
}

.hd-tool-use-item span{
  display:block;
  color:#6B625C;
  font-size:13.5px;
  line-height:1.65;
}

.hd-tool-use-actions{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  margin-top:16px;
}

.hd-tool-use-actions a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:10px 14px;
  border-radius:999px;
  text-decoration:none;
  font-size:14px;
  font-weight:900;
  border:1px solid rgba(214,163,84,.36);
  color:#3E2723;
  background:#fffaf0;
}

.hd-tool-use-actions a.primary{
  background:#A63A2A;
  color:#fffaf0;
  border-color:#A63A2A;
}

@media(max-width:1080px){
  .hd-tool-use-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media(max-width:640px){
  .hd-tool-use-guide{
    padding:22px 0;
  }

  .hd-tool-use-card{
    padding:18px;
    border-radius:20px;
  }

  .hd-tool-use-grid{
    grid-template-columns:1fr;
  }

  .hd-tool-use-actions a{
    width:100%;
  }
}

/* Phase 8B-3 pre-sign entry clarity - 20260531 */
.hd-presign-clarity{
  padding:22px 0;
  background:#FBF7EF;
}

.hd-presign-clarity-card{
  border:1px solid rgba(214,163,84,.34);
  background:linear-gradient(135deg,#fffdf8,#F7EFE3);
  border-radius:22px;
  padding:18px 20px;
  box-shadow:0 10px 26px rgba(33,24,21,.07);
}

.hd-presign-clarity-card b{
  display:inline-flex;
  margin-bottom:8px;
  padding:6px 12px;
  border-radius:999px;
  background:#FFF7ED;
  color:#8B3D20;
  border:1px solid rgba(214,163,84,.34);
  font-size:13px;
  font-weight:900;
}

.hd-presign-clarity-card h2{
  margin:0 0 8px;
  color:#211815;
  font-size:clamp(20px,2.7vw,28px);
  line-height:1.35;
}

.hd-presign-clarity-card p{
  margin:0;
  color:#6B625C;
  font-size:14.5px;
  line-height:1.8;
}

.hd-presign-clarity-list{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:14px;
}

.hd-presign-clarity-list a{
  display:inline-flex;
  align-items:center;
  padding:8px 12px;
  border-radius:999px;
  background:#fff;
  border:1px solid rgba(214,163,84,.3);
  color:#3E2723;
  text-decoration:none;
  font-size:13.5px;
  font-weight:850;
}

.hd-presign-clarity-list a.primary{
  background:#A63A2A;
  border-color:#A63A2A;
  color:#fffaf0;
}

@media(max-width:640px){
  .hd-presign-clarity{
    padding:18px 0;
  }

  .hd-presign-clarity-card{
    padding:16px;
    border-radius:20px;
  }

  .hd-presign-clarity-list a{
    width:100%;
    justify-content:center;
  }
}

/* Phase 8D-2A article evergreen polish - 20260531 */
.hd-article-link-strong {
  color: #A63A2A;
  font-weight: 800;
  text-decoration-thickness: 0.08em;
  text-underline-offset: 0.18em;
}

.hd-deep-links-block {
  margin: 40px 0 24px;
  border-top: 1px solid var(--line, #E6DED4);
  padding-top: 28px;
}

.hd-deep-links-title {
  font-size: 15px;
  font-weight: 700;
  color: #211815;
  margin-bottom: 16px;
}

.hd-line-btn {
  background: #06C755;
  color: #fff;
}

.hd-case-note {
  font-size: 13px;
  color: #5D4037;
  margin-top: 12px;
}

.case-num--brick {
  background: #A63A2A;
}

.case-num--coffee {
  background: #3E2723;
}

.case-num--gold {
  background: #B8863B;
}

.case-num--cream-dark {
  background: #854F0B;
}

.v9-bar-fill--48 {
  width: 48%;
}

.v9-bar-fill--56 {
  width: 56%;
}

.v9-bar-fill--64 {
  width: 64%;
}

.v9-bar-fill--72 {
  width: 72%;
}

/* Phase 8D-2A article entry context - 20260531 */
.hd-entry-context {
  max-width: 1080px;
  margin: 22px auto 28px;
  padding: 24px;
  border: 1px solid rgba(214, 163, 84, 0.34);
  border-radius: 24px;
  background: linear-gradient(135deg, #FBF7EF 0%, #F7EFE3 100%);
  box-shadow: 0 14px 32px rgba(33, 24, 21, 0.07);
}

.hd-entry-context-head {
  max-width: 760px;
  margin-bottom: 18px;
}

.hd-entry-context-head h2 {
  margin: 6px 0 8px;
  color: #211815;
  font-size: clamp(22px, 3.5vw, 30px);
  line-height: 1.25;
}

.hd-entry-context-head p {
  margin: 0;
  color: #6B625C;
  line-height: 1.75;
}

.hd-entry-context-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}

.hd-entry-context-card {
  padding: 16px;
  border-radius: 18px;
  background: rgba(255, 255, 255, 0.72);
  border: 1px solid rgba(33, 24, 21, 0.08);
}

.hd-entry-context-card b {
  display: inline-flex;
  margin-bottom: 8px;
  color: #A63A2A;
  font-size: 14px;
}

.hd-entry-context-card span {
  display: block;
  color: #3E2723;
  line-height: 1.65;
}

@media (max-width: 760px) {
  .hd-entry-context {
    margin: 18px 16px 24px;
    padding: 20px;
    border-radius: 20px;
  }

  .hd-entry-context-grid {
    grid-template-columns: 1fr;
  }
}

/* Phase 8D-2F buyback note spacing - 20260531 */
.hd-note-mt-lg {
  margin-top: 22px;
}

.hd-note-mt-sm {
  margin-top: 12px;
}

/* Phase 8D-2G comparison article spacing - 20260531 */
.comparison-hero-actions {
  margin-top: 12px;
}

.comparison-next-step-section {
  padding-top: 0;
}

/* Phase 8D-2H policy radar spacing - 20260531 */
.policy-radar-hero-actions {
  margin-top: 12px;
}

/* Phase 8D-3A mobile nav compatibility - 20260531 */
@media (max-width: 760px) {
  .main-nav.open,
  .main-nav.is-open {
    display: flex;
  }
}

/* Phase 8E-2A homepage update status strip - 20260531 */
.home-update-strip {
  max-width: 1120px;
  margin: 18px auto 32px;
  padding: 22px;
  border: 1px solid rgba(214, 163, 84, 0.28);
  border-radius: 24px;
  background: linear-gradient(135deg, rgba(251, 247, 239, 0.96), rgba(247, 239, 227, 0.9));
  box-shadow: 0 10px 28px rgba(33, 24, 21, 0.06);
}

.home-update-strip__head {
  margin-bottom: 14px;
}

.home-update-strip__kicker {
  display: inline-flex;
  margin-bottom: 6px;
  color: #A63A2A;
  font-size: 12px;
  font-weight: 900;
  letter-spacing: 0.12em;
}

.home-update-strip__head h2 {
  margin: 0 0 6px;
  color: #211815;
  font-size: clamp(20px, 3vw, 26px);
  line-height: 1.25;
}

.home-update-strip__head p {
  max-width: 720px;
  margin: 0;
  color: #6B625C;
  font-size: 14px;
  line-height: 1.75;
}

.home-update-strip__items {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
}

.home-update-strip__item {
  display: grid;
  gap: 4px;
  padding: 12px 14px;
  border-radius: 16px;
  border: 1px solid rgba(33, 24, 21, 0.08);
  background: rgba(255, 255, 255, 0.68);
  color: #211815;
  text-decoration: none;
}

.home-update-strip__item:hover {
  border-color: rgba(166, 58, 42, 0.28);
  transform: translateY(-1px);
}

.home-update-strip__name {
  font-size: 14px;
  font-weight: 900;
}

.home-update-strip__status {
  color: #6B625C;
  font-size: 12px;
  line-height: 1.45;
}

.home-update-strip__status time {
  color: #8B3D20;
  font-weight: 800;
}

.home-update-strip__cta {
  color: #A63A2A;
  font-size: 12px;
  font-weight: 900;
}

.home-update-strip__empty {
  grid-column: 1 / -1;
  margin: 0;
  color: #6B625C;
  font-size: 14px;
}

@media (max-width: 860px) {
  .home-update-strip {
    margin: 16px 16px 28px;
    padding: 18px;
    border-radius: 20px;
  }

  .home-update-strip__items {
    grid-template-columns: 1fr 1fr;
  }
}

@media (max-width: 540px) {
  .home-update-strip__items {
    grid-template-columns: 1fr;
  }

  .home-update-strip__item {
    grid-template-columns: 1fr auto;
    align-items: center;
  }

  .home-update-strip__name,
  .home-update-strip__status {
    grid-column: 1;
  }

  .home-update-strip__cta {
    grid-column: 2;
    grid-row: 1 / span 2;
  }
}

/* Phase 8E-2C policy radar action card border fix - 20260531 */
body.hd-system.hd-article-page article section.hd-enhance-box.policy-radar-action-box,
body.hd-article-page article section.hd-enhance-box.policy-radar-action-box,
section.hd-enhance-box.policy-radar-action-box {
  border-left: 1px solid #E2D6C5 !important;
}

/* Phase 8F-1 calculator expectation gap analysis - 20260531 */
.expectation-gap-card {
  background: linear-gradient(180deg, #fff, #FFF9EF) !important;
  border-color: #E5D6C4 !important;
}

.expectation-gap-card.warning {
  border-color: #D6A354 !important;
}

.expectation-gap-card.ok {
  border-color: #BFA98C !important;
}

.expectation-gap-kicker {
  font-size: 12px;
  letter-spacing: .12em;
  font-weight: 950;
  color: #A63A2A;
  text-transform: uppercase;
  margin-bottom: 6px;
}

.expectation-gap-card h4 {
  margin: 0 0 8px;
  color: var(--hd-ink) !important;
  font-size: clamp(18px, 2.4vw, 24px);
}

.expectation-gap-lead,
.expectation-gap-note {
  color: var(--hd-muted) !important;
  font-size: 13px;
  line-height: 1.7;
}

.expectation-gap-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  margin: 14px 0;
}

.expectation-gap-grid div {
  background: #fff;
  border: 1px solid #E7DCD2;
  border-radius: 16px;
  padding: 13px 14px;
}

.expectation-gap-grid span {
  display: block;
  color: var(--hd-muted) !important;
  font-size: 12px;
  font-weight: 850;
  margin-bottom: 4px;
}

.expectation-gap-grid b {
  display: block;
  color: var(--hd-brick) !important;
  font-size: 20px;
  font-weight: 950;
}

.expectation-gap-message {
  border-radius: 16px;
  padding: 13px 14px;
  margin: 12px 0;
  border: 1px solid #E7DCD2;
  background: #FBF7EF;
}

.expectation-gap-message b {
  color: var(--hd-ink) !important;
}

.expectation-gap-message p {
  margin: 4px 0 0;
  color: var(--hd-text) !important;
  font-size: 13px;
  line-height: 1.7;
}

.expectation-gap-message.warning {
  background: #FFF7E8;
  border-color: #EFD4A9;
}

.expectation-gap-message.ok {
  background: #F7EFE3;
  border-color: #D9C8B5;
}

@media (max-width: 560px) {
  .expectation-gap-grid {
    grid-template-columns: 1fr;
  }
}

/* Phase 8F-2 data source note - 20260531 */
.data-source-note {
  margin-top: 24px;
  padding: 18px;
  border: 1px solid rgba(214, 163, 84, 0.36);
  border-radius: 20px;
  background: linear-gradient(180deg, rgba(251, 247, 239, 0.96), rgba(247, 239, 227, 0.92));
  color: #211815;
  box-shadow: 0 12px 28px rgba(33, 24, 21, 0.06);
}

.data-source-note__label {
  display: inline-flex;
  align-items: center;
  width: fit-content;
  margin-bottom: 12px;
  padding: 5px 10px;
  border-radius: 999px;
  background: rgba(214, 163, 84, 0.18);
  color: #8B3D20;
  font-size: 0.82rem;
  font-weight: 800;
  letter-spacing: 0.04em;
}

.data-source-note__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}

.data-source-note__item {
  min-width: 0;
  padding: 14px;
  border-radius: 16px;
  background: rgba(255, 255, 255, 0.58);
  border: 1px solid rgba(62, 39, 35, 0.08);
}

.data-source-note__item strong {
  display: block;
  margin-bottom: 6px;
  color: #3E2723;
  font-size: 0.96rem;
}

.data-source-note__item p {
  margin: 0;
  color: #6B625C;
  font-size: 0.92rem;
  line-height: 1.75;
}

.data-source-note__item a {
  color: #8B3D20;
  font-weight: 700;
  text-decoration: underline;
  text-underline-offset: 3px;
}

.data-source-note__item a:hover {
  color: #A63A2A;
}

.data-source-note--compact {
  margin-top: 18px;
}

@media (max-width: 760px) {
  .data-source-note {
    padding: 16px;
    border-radius: 18px;
  }

  .data-source-note__grid {
    grid-template-columns: 1fr;
  }

  .data-source-note__item {
    padding: 13px;
  }
}

/* Phase 8F-3A calculator print export - 20260531 */
@media print {
  body.calc-print-mode {
    background: #fff !important;
  }

  body.calc-print-mode .site-header,
  body.calc-print-mode .site-footer,
  body.calc-print-mode .page-hero,
  body.calc-print-mode .calc-result-actions,
  body.calc-print-mode .hd-tool-next-copy,
  body.calc-print-mode .hd-funnel-cta,
  body.calc-print-mode .hd-related,
  body.calc-print-mode .line-float,
  body.calc-print-mode .share-row,
  body.calc-print-mode .no-print {
    display: none !important;
  }

  body.calc-print-mode .calc-app-shell,
  body.calc-print-mode .container {
    max-width: 100% !important;
    width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
  }

  body.calc-print-mode .calc-card,
  body.calc-print-mode .calc-disclaimer,
  body.calc-print-mode .calc-prefill-note,
  body.calc-print-mode .calc-result-row,
  body.calc-print-mode .calc-dashboard,
  body.calc-print-mode .calc-dash-card {
    box-shadow: none !important;
    border-color: #ddd !important;
    break-inside: avoid;
    page-break-inside: avoid;
  }

  body.calc-print-mode a {
    color: #211815 !important;
    text-decoration: none !important;
  }
}

/* Phase 8F-3B pre-sign report export - 20260601 */
.pre-sign-report-note {
  margin: 16px 0;
  padding: 14px 16px;
  border-radius: 16px;
  background: rgba(251, 247, 239, 0.92);
  border: 1px solid rgba(214, 163, 84, 0.34);
  color: #211815;
}

.pre-sign-report-note strong {
  display: block;
  margin-bottom: 4px;
  color: #3E2723;
  font-weight: 900;
}

.pre-sign-report-note p {
  margin: 0;
  color: #6B625C;
  font-size: 0.94rem;
  line-height: 1.75;
}

@media print {
  body.pre-sign-print-mode {
    background: #fff !important;
    color: #211815 !important;
  }

  body.pre-sign-print-mode .site-nav,
  body.pre-sign-print-mode .site-header,
  body.pre-sign-print-mode .site-footer,
  body.pre-sign-print-mode .ps-hero,
  body.pre-sign-print-mode .v8-stepbar,
  body.pre-sign-print-mode .hd-funnel-cta,
  body.pre-sign-print-mode .hd-tool-next,
  body.pre-sign-print-mode .hd-footer-trust,
  body.pre-sign-print-mode .line-float,
  body.pre-sign-print-mode #lf,
  body.pre-sign-print-mode .v8-actions,
  body.pre-sign-print-mode .v8-copy-status {
    display: none !important;
  }

  body.pre-sign-print-mode .ps-section,
  body.pre-sign-print-mode .ps-wrap {
    max-width: 100% !important;
    width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
    background: #fff !important;
  }

  body.pre-sign-print-mode .ps-wrap > .ps-card:not(#preSignResult) {
    display: none !important;
  }

  body.pre-sign-print-mode #preSignResult {
    display: block !important;
    box-shadow: none !important;
    border: 1px solid #ddd !important;
    border-radius: 0 !important;
    margin: 0 !important;
    padding: 24px !important;
    break-inside: avoid;
    page-break-inside: avoid;
  }

  body.pre-sign-print-mode .v8-summary,
  body.pre-sign-print-mode .pre-sign-report-note {
    box-shadow: none !important;
    border-color: #ddd !important;
    background: #fff !important;
    break-inside: avoid;
    page-break-inside: avoid;
  }

  body.pre-sign-print-mode a {
    color: #211815 !important;
    text-decoration: none !important;
  }
}

/* Phase 8F-3C contract risk report export - 20260601 */
.contract-risk-report-note {
  margin: 14px 0 16px;
  padding: 14px 16px;
  border-radius: 16px;
  background: rgba(251, 247, 239, 0.92);
  border: 1px solid rgba(214, 163, 84, 0.34);
  color: #211815;
}

.contract-risk-report-note strong {
  display: block;
  margin-bottom: 4px;
  color: #3E2723;
  font-weight: 900;
}

.contract-risk-report-note p {
  margin: 0;
  color: #6B625C;
  font-size: 0.94rem;
  line-height: 1.75;
}

@media print {
  .contract-risk-report-note {
    background: #fff !important;
    border-color: #ddd !important;
    box-shadow: none !important;
    break-inside: avoid;
    page-break-inside: avoid;
  }
}

/* Phase 8G-1 start-here service flow - 20260601 */
.start-service-output {
  margin: 22px 0 6px;
  padding: 18px;
  border-radius: 22px;
  background: linear-gradient(180deg, rgba(251, 247, 239, 0.98), rgba(247, 239, 227, 0.92));
  border: 1px solid rgba(214, 163, 84, 0.34);
  box-shadow: 0 14px 32px rgba(33, 24, 21, 0.07);
}

.start-service-output-head {
  display: grid;
  gap: 4px;
  margin-bottom: 14px;
}

.start-service-output-head span {
  width: fit-content;
  padding: 5px 10px;
  border-radius: 999px;
  background: rgba(214, 163, 84, 0.18);
  color: #8B3D20;
  font-size: 0.82rem;
  font-weight: 900;
  letter-spacing: 0.04em;
}

.start-service-output-head strong {
  color: #3E2723;
  font-size: 1.03rem;
  line-height: 1.55;
}

.start-service-output-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
}

.start-service-output-grid a {
  display: grid;
  gap: 5px;
  min-height: 100%;
  padding: 14px;
  border-radius: 16px;
  background: rgba(255, 255, 255, 0.62);
  border: 1px solid rgba(62, 39, 35, 0.08);
  text-decoration: none;
  color: #211815;
}

.start-service-output-grid a:hover {
  border-color: rgba(214, 163, 84, 0.58);
  transform: translateY(-1px);
}

.start-service-output-grid b {
  color: #3E2723;
  font-size: 0.95rem;
}

.start-service-output-grid small {
  color: #6B625C;
  font-size: 0.86rem;
  line-height: 1.65;
}

@media (max-width: 900px) {
  .start-service-output-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 560px) {
  .start-service-output {
    padding: 16px;
    border-radius: 18px;
  }

  .start-service-output-grid {
    grid-template-columns: 1fr;
  }
}

/* Phase 9A-1 findback difference calculator - 20260602 */
.findback-alert,
.findback-disclaimer {
  border: 1px solid rgba(214, 163, 84, .45);
  background: #fff8ed;
  color: var(--text, #2B1A16);
  border-radius: 16px;
  padding: 14px 16px;
  line-height: 1.75;
  margin: 16px 0;
}

.findback-alert strong {
  color: var(--orange, #A63A2A);
}

.findback-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(280px, .82fr);
  gap: 18px;
  align-items: start;
  margin-top: 18px;
}

.findback-form,
.findback-result,
.findback-output {
  border: 1px solid var(--line, #E6D7C7);
  border-radius: 20px;
  background: #fff;
  padding: 18px;
}

.findback-field {
  display: flex;
  flex-direction: column;
  gap: 6px;
  margin-bottom: 14px;
}

.findback-field label {
  font-weight: 900;
  color: var(--text, #2B1A16);
}

.findback-field input {
  width: 100%;
  border: 1px solid var(--line, #E6D7C7);
  border-radius: 12px;
  padding: 12px 13px;
  font-size: 16px;
  color: var(--text, #2B1A16);
  background: #fff;
}

.findback-field small {
  color: var(--muted, #6e5c53);
  font-size: 13px;
  line-height: 1.55;
}

.findback-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
}

.findback-details {
  margin-top: 14px;
  border-top: 1px solid var(--line, #E6D7C7);
  padding-top: 12px;
  color: var(--muted, #6e5c53);
}

.findback-details summary {
  cursor: pointer;
  font-weight: 900;
  color: var(--orange, #A63A2A);
}

.findback-result {
  min-height: 230px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 8px;
  background: #fbf7ef;
}

.findback-result b {
  color: var(--text, #2B1A16);
  font-size: 18px;
}

.findback-result strong {
  display: block;
  font-size: clamp(30px, 6vw, 44px);
  line-height: 1.1;
  color: var(--orange, #A63A2A);
}

.findback-result p {
  color: var(--muted, #6e5c53);
  margin: 0;
}

.findback-result.is-pay {
  border-color: rgba(180, 35, 24, .35);
  background: #fff1f0;
}

.findback-result.is-pay strong {
  color: #B42318;
}

.findback-result.is-receive {
  border-color: rgba(46, 125, 50, .32);
  background: #f1f8f3;
}

.findback-result.is-receive strong {
  color: #2e7d32;
}

.findback-result.is-balanced {
  border-color: rgba(214, 163, 84, .4);
  background: #fff8ed;
}

.findback-output {
  margin-top: 18px;
}

.findback-summary-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 12px;
  margin-bottom: 18px;
}

.findback-summary-grid div {
  border: 1px solid var(--line, #E6D7C7);
  border-radius: 16px;
  padding: 14px;
  background: #fffaf4;
}

.findback-summary-grid span {
  display: block;
  font-size: 13px;
  color: var(--muted, #6e5c53);
  margin-bottom: 4px;
}

.findback-summary-grid strong {
  display: block;
  font-size: 20px;
  color: var(--text, #2B1A16);
}

.findback-questions h3 {
  margin-top: 0;
}

.findback-questions ol {
  margin: 0;
  padding-left: 1.35rem;
}

.findback-questions li {
  margin: 8px 0;
}

.findback-actions {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  margin-top: 18px;
}

.findback-copy-status {
  color: var(--orange, #A63A2A);
  font-weight: 900;
  margin-top: 10px;
}

@media (max-width: 860px) {
  .findback-grid,
  .findback-row,
  .findback-summary-grid {
    grid-template-columns: 1fr;
  }

  .findback-result {
    min-height: auto;
  }
}

/* Phase 9B-1 renewal tax premise guide - 20260602 */
.tax-guide-page .tax-disclaimer-box,
.tax-guide-page .tax-warning-box,
.tax-guide-page .tax-high-risk,
.tax-guide-page .tax-intro-card {
  border: 1px solid rgba(214, 163, 84, .45);
  border-radius: 18px;
  padding: 18px;
  background: #fff8ed;
  color: var(--text, #2B1A16);
  line-height: 1.75;
}

.tax-guide-page .tax-disclaimer-box {
  border-color: rgba(166, 58, 42, .36);
  background: #fff4f0;
}

.tax-guide-page .tax-high-risk {
  border-color: rgba(180, 35, 24, .38);
  background: #fff1f0;
  margin-top: 18px;
}

.tax-guide-page .tax-high-risk h3,
.tax-guide-page .tax-warning-box strong,
.tax-guide-page .tax-disclaimer-box strong {
  color: #A63A2A;
}

.tax-tree,
.tax-time-grid,
.tax-topic-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
}

.tax-time-grid,
.tax-topic-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.tax-tree-card {
  border: 1px solid var(--line, #E6D7C7);
  border-radius: 18px;
  background: #fff;
  padding: 18px;
}

.tax-tree-card h3,
.tax-topic-grid h3,
.tax-time-grid h3 {
  margin-top: 0;
}

.tax-tree-card ul {
  margin: 0;
  padding-left: 1.2rem;
  line-height: 1.75;
}

.tax-portal-table {
  border: 1px solid var(--line, #E6D7C7);
  border-radius: 18px;
  overflow: hidden;
  background: #fff;
}

.tax-portal-row {
  display: grid;
  grid-template-columns: minmax(0, 1.3fr) minmax(190px, .7fr);
  gap: 14px;
  align-items: center;
  padding: 16px 18px;
  border-bottom: 1px solid var(--line, #E6D7C7);
}

.tax-portal-row:last-child {
  border-bottom: 0;
}

.tax-portal-row strong,
.tax-portal-row span {
  display: block;
}

.tax-portal-row span {
  color: var(--muted, #6e5c53);
  line-height: 1.6;
  margin-top: 3px;
}

.tax-portal-row a {
  font-weight: 900;
  color: var(--orange, #A63A2A);
  text-decoration: none;
}

.tax-link-note {
  color: var(--muted, #6e5c53);
  font-size: 14px;
  line-height: 1.7;
  margin-top: 12px;
}

.tax-question-list {
  display: grid;
  gap: 10px;
  padding-left: 1.4rem;
  line-height: 1.75;
}

.tax-question-list li {
  border: 1px solid var(--line, #E6D7C7);
  border-radius: 14px;
  background: #fff;
  padding: 12px 14px;
}

.tax-copy-box {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  align-items: center;
  margin-top: 18px;
}

.tax-copy-status {
  color: var(--orange, #A63A2A);
  font-weight: 900;
}

@media (max-width: 860px) {
  .tax-tree,
  .tax-time-grid,
  .tax-topic-grid,
  .tax-portal-row {
    grid-template-columns: 1fr;
  }

  .tax-copy-box .btn {
    width: 100%;
    justify-content: center;
  }
}

.tax-guide-page .tax-happy-note {
  border: 1px solid rgba(214, 163, 84, .45);
  border-radius: 18px;
  background: #fffaf4;
  padding: 16px 18px;
  margin: 16px 0;
  line-height: 1.75;
  color: var(--text, #2B1A16);
}

.tax-guide-page .tax-happy-note strong {
  color: #A63A2A;
}

/* Phase 9C-1 renewal trust account guide - 20260602 */
.trust-guide-page .trust-disclaimer-box,
.trust-guide-page .trust-risk-box {
  border: 1px solid rgba(166, 58, 42, .34);
  border-radius: 18px;
  padding: 18px;
  background: #fff4f0;
  color: var(--text, #2B1A16);
  line-height: 1.75;
}

.trust-guide-page .trust-disclaimer-box strong,
.trust-guide-page .trust-risk-box h2 {
  color: #A63A2A;
}

.trust-audience-grid,
.trust-term-grid,
.trust-check-grid {
  display: grid;
  gap: 16px;
}

.trust-audience-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.trust-term-grid,
.trust-check-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.trust-check-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.trust-audience-card,
.trust-term-card,
.trust-check-card {
  border: 1px solid var(--line, #E6D7C7);
  border-radius: 18px;
  background: #fff;
  padding: 18px;
  line-height: 1.75;
}

.trust-audience-card h2,
.trust-term-card h3,
.trust-check-card h3 {
  margin-top: 0;
}

.trust-audience-card ul {
  margin: 0;
  padding-left: 1.2rem;
}

.trust-audience-warn {
  background: #fff8ed;
}

.trust-check-card strong {
  display: inline-flex;
  width: 42px;
  height: 42px;
  border-radius: 999px;
  align-items: center;
  justify-content: center;
  background: #fff8ed;
  color: #A63A2A;
  font-weight: 900;
  margin-bottom: 8px;
}

.trust-reference-table {
  border: 1px solid var(--line, #E6D7C7);
  border-radius: 18px;
  overflow: hidden;
  background: #fff;
}

.trust-reference-row {
  display: grid;
  grid-template-columns: minmax(0, 1.3fr) minmax(190px, .7fr);
  gap: 14px;
  align-items: center;
  padding: 16px 18px;
  border-bottom: 1px solid var(--line, #E6D7C7);
}

.trust-reference-row:last-child {
  border-bottom: 0;
}

.trust-reference-row strong,
.trust-reference-row span {
  display: block;
}

.trust-reference-row span {
  color: var(--muted, #6e5c53);
  line-height: 1.6;
  margin-top: 3px;
}

.trust-reference-row a {
  font-weight: 900;
  color: var(--orange, #A63A2A);
  text-decoration: none;
}

.trust-link-note {
  color: var(--muted, #6e5c53);
  font-size: 14px;
  line-height: 1.7;
  margin-top: 12px;
}

.trust-question-list {
  display: grid;
  gap: 10px;
  padding-left: 1.4rem;
  line-height: 1.75;
}

.trust-question-list li {
  border: 1px solid var(--line, #E6D7C7);
  border-radius: 14px;
  background: #fff;
  padding: 12px 14px;
}

.trust-copy-box {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  align-items: center;
  margin-top: 18px;
}

.trust-copy-status {
  color: var(--orange, #A63A2A);
  font-weight: 900;
}

@media (max-width: 980px) {
  .trust-term-grid,
  .trust-check-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 720px) {
  .trust-audience-grid,
  .trust-term-grid,
  .trust-check-grid,
  .trust-reference-row {
    grid-template-columns: 1fr;
  }

  .trust-copy-box .btn {
    width: 100%;
    justify-content: center;
  }
}
/* Phase 9D-1 self-renewal guide - 20260603 */
.self-renewal-page {
  background: var(--cream, #FBF7EF);
  color: var(--ink, #211815);
}

.self-renewal-hero {
  padding: clamp(52px, 8vw, 92px) 0 28px;
  background:
    radial-gradient(circle at 80% 12%, rgba(214, 163, 84, .24), transparent 34%),
    linear-gradient(135deg, #FBF7EF 0%, #F7EFE3 100%);
}

.self-renewal-hero__grid {
  display: grid;
  grid-template-columns: minmax(0, 1.45fr) minmax(280px, .75fr);
  gap: clamp(24px, 5vw, 48px);
  align-items: center;
}

.self-renewal-hero h1 {
  margin: 10px 0 18px;
  font-size: clamp(32px, 5.2vw, 58px);
  line-height: 1.12;
  letter-spacing: -.04em;
  color: var(--coffee-900, #211815);
}

.self-renewal-hero .hero-sub {
  max-width: 760px;
  color: var(--muted, #6B625C);
  font-size: clamp(17px, 2vw, 20px);
  line-height: 1.85;
}

.self-renewal-hero__actions,
.self-renewal-next-band .hero-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 22px;
}

.self-renewal-hero__note {
  margin-top: 18px;
  padding: 14px 16px;
  border: 1px solid rgba(166, 58, 42, .22);
  border-radius: 18px;
  background: rgba(255,255,255,.58);
  color: var(--muted, #6B625C);
  line-height: 1.75;
}

.self-renewal-hero-card,
.self-renewal-panel,
.self-renewal-law-grid article,
.self-renewal-benefits article,
.self-renewal-risk-card,
.self-renewal-mode-grid article,
.self-renewal-question-box,
.self-renewal-official,
.self-renewal-disclaimer,
.self-renewal-myth-box {
  border: 1px solid rgba(62, 39, 35, .12);
  border-radius: 24px;
  background: rgba(255,255,255,.82);
  box-shadow: 0 14px 34px rgba(33,24,21,.08);
}

.self-renewal-hero-card {
  padding: 26px;
  background: #211815;
  color: #F7EFE3;
}

.self-renewal-hero-card strong {
  display: inline-flex;
  margin-bottom: 12px;
  color: #D6A354;
  font-size: 15px;
}

.self-renewal-hero-card p,
.self-renewal-hero-card li {
  color: rgba(247,239,227,.9);
  line-height: 1.75;
}

.self-renewal-hero-card ul {
  margin: 16px 0 0;
  padding-left: 1.2em;
}

.self-renewal-anchor {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  padding-top: 18px;
  padding-bottom: 8px;
}

.self-renewal-anchor a {
  display: inline-flex;
  align-items: center;
  min-height: 38px;
  padding: 8px 14px;
  border: 1px solid rgba(214, 163, 84, .42);
  border-radius: 999px;
  background: #fff;
  color: var(--coffee-900, #211815);
  font-weight: 800;
  text-decoration: none;
}

.self-renewal-section {
  padding: clamp(34px, 6vw, 68px) 0;
}

.self-renewal-two-col,
.self-renewal-law-grid,
.self-renewal-risk-grid,
.self-renewal-mode-grid {
  display: grid;
  gap: 18px;
}

.self-renewal-two-col {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.self-renewal-law-grid,
.self-renewal-risk-grid,
.self-renewal-mode-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.self-renewal-panel,
.self-renewal-law-grid article,
.self-renewal-risk-card,
.self-renewal-mode-grid article,
.self-renewal-question-box,
.self-renewal-official,
.self-renewal-disclaimer,
.self-renewal-myth-box {
  padding: clamp(20px, 3vw, 28px);
}

.self-renewal-panel h3,
.self-renewal-law-grid h3,
.self-renewal-risk-card h3,
.self-renewal-mode-grid h3 {
  margin-top: 0;
  color: var(--coffee-900, #211815);
}

.self-renewal-panel p,
.self-renewal-panel li,
.self-renewal-law-grid p,
.self-renewal-risk-card p,
.self-renewal-mode-grid p,
.self-renewal-question-box li,
.self-renewal-disclaimer p,
.self-renewal-myth-box li {
  color: var(--muted, #6B625C);
  line-height: 1.78;
}

.self-renewal-panel--warn {
  border-color: rgba(166, 58, 42, .24);
  background: rgba(166, 58, 42, .06);
}

.self-renewal-law-grid article span {
  display: inline-flex;
  margin-bottom: 10px;
  color: #B8863B;
  font-weight: 900;
  letter-spacing: .08em;
}

.self-renewal-law-grid a,
.self-renewal-risk-card a,
.self-renewal-mode-grid a,
.self-renewal-official__links a {
  color: #A63A2A;
  font-weight: 900;
  text-decoration: none;
}

.self-renewal-benefits {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 14px;
}

.self-renewal-benefits article {
  padding: 18px;
}

.self-renewal-benefits b {
  display: block;
  margin-bottom: 8px;
  color: var(--coffee-900, #211815);
}

.self-renewal-benefits p {
  margin: 0;
  color: var(--muted, #6B625C);
  line-height: 1.65;
}

.risk-stage {
  display: inline-flex;
  margin-bottom: 12px;
  padding: 6px 10px;
  border-radius: 999px;
  background: rgba(214, 163, 84, .18);
  color: #8B3D20;
  font-size: 13px;
  font-weight: 900;
}

.risk-note {
  margin-top: 12px;
  padding: 12px 14px;
  border-radius: 16px;
  background: rgba(214, 163, 84, .14);
}

.self-renewal-myth-box {
  display: grid;
  grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr);
  gap: 22px;
  align-items: start;
  background: #211815;
}

.self-renewal-myth-box h2,
.self-renewal-myth-box .eyebrow {
  color: #D6A354;
}

.self-renewal-myth-box li {
  color: rgba(247,239,227,.92);
}

.self-renewal-question-box h3 {
  margin: 22px 0 8px;
  color: #8B3D20;
}

.self-renewal-question-box h3:first-child {
  margin-top: 0;
}

.self-renewal-copy-status {
  margin-top: 12px;
  min-height: 1.5em;
  color: #8B3D20;
  font-weight: 800;
}

.self-renewal-official {
  display: grid;
  grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr);
  gap: 20px;
}

.self-renewal-official__links {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.self-renewal-official__links a {
  display: inline-flex;
  padding: 9px 12px;
  border-radius: 999px;
  background: rgba(214, 163, 84, .16);
}

.self-renewal-next-band {
  align-items: center;
}

.self-renewal-disclaimer {
  background: rgba(255,255,255,.72);
  border-color: rgba(166, 58, 42, .24);
}

.self-renewal-disclaimer strong {
  display: block;
  margin-bottom: 8px;
  color: #A63A2A;
}

@media (max-width: 960px) {
  .self-renewal-hero__grid,
  .self-renewal-two-col,
  .self-renewal-law-grid,
  .self-renewal-risk-grid,
  .self-renewal-mode-grid,
  .self-renewal-myth-box,
  .self-renewal-official {
    grid-template-columns: 1fr;
  }

  .self-renewal-benefits {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 640px) {
  .self-renewal-hero {
    padding-top: 42px;
  }

  .self-renewal-hero__actions,
  .self-renewal-next-band .hero-actions {
    flex-direction: column;
  }

  .self-renewal-hero__actions .btn,
  .self-renewal-next-band .btn,
  .self-renewal-section .section-head .btn {
    width: 100%;
    justify-content: center;
  }

  .self-renewal-anchor {
    overflow-x: auto;
    flex-wrap: nowrap;
    padding-left: 16px;
    padding-right: 16px;
  }

  .self-renewal-anchor a {
    white-space: nowrap;
  }

  .self-renewal-benefits {
    grid-template-columns: 1fr;
  }
}
/* Phase 9D-1B self-renewal dark header - 20260603 */
.self-renewal-nav {
  background: #211815;
  border-bottom: 1px solid rgba(214, 163, 84, .22);
}

.self-renewal-nav .nav-in {
  background: transparent;
}

.self-renewal-nav a,
.self-renewal-nav .nav-links a,
.self-renewal-nav .brand-text,
.self-renewal-nav .brand-title,
.self-renewal-nav .brand-subtitle,
.self-renewal-nav .logo-text,
.self-renewal-nav .site-title {
  color: #F7EFE3;
}

.self-renewal-nav .nav-links a:hover {
  color: #D6A354;
}

.self-renewal-nav .nav-cta {
  background: #D6A354;
  color: #211815;
  box-shadow: none;
}

.self-renewal-nav .nav-cta:hover {
  background: #B8863B;
  color: #211815;
}

@media (max-width: 768px) {
  .self-renewal-nav .nav-links {
    background: #211815;
    border-color: rgba(214, 163, 84, .22);
  }
}
/* Phase 9D-1D self-renewal header CTA final override - 20260603 */
.site-nav.self-renewal-nav {
  background: #211815 !important;
  border-bottom-color: rgba(214, 163, 84, .26) !important;
}

.site-nav.self-renewal-nav .nav-in {
  background: transparent !important;
}

.site-nav.self-renewal-nav .nav-links a {
  color: #F7EFE3 !important;
}

.site-nav.self-renewal-nav .nav-links a:hover {
  color: #D6A354 !important;
}

.site-nav.self-renewal-nav .nav-links a.nav-cta {
  background: #D6A354 !important;
  color: #211815 !important;
  border: 1px solid #D6A354 !important;
  box-shadow: none !important;
}

.site-nav.self-renewal-nav .nav-links a.nav-cta:hover {
  background: #B8863B !important;
  color: #211815 !important;
  border-color: #B8863B !important;
}
/* Phase 9D-1E self-renewal hero tone alignment - 20260603 */
.self-renewal-hero {
  background:
    radial-gradient(circle at 82% 18%, rgba(214, 163, 84, .12), transparent 34%),
    linear-gradient(135deg, #FBF7EF 0%, #F7EFE3 100%) !important;
}

.self-renewal-hero .eyebrow {
  background: rgba(214, 163, 84, .12) !important;
  border-color: rgba(214, 163, 84, .38) !important;
  color: #8B3D20 !important;
}

.self-renewal-hero-card {
  background: #2B1A16 !important;
  border: 1px solid rgba(214, 163, 84, .28) !important;
  box-shadow: 0 18px 42px rgba(33, 24, 21, .16) !important;
}

.self-renewal-hero-card strong {
  color: #D6A354 !important;
}

.self-renewal-hero-card p,
.self-renewal-hero-card li {
  color: #F7EFE3 !important;
}

.self-renewal-hero__actions .btn.primary {
  background: #A63A2A !important;
  color: #fff !important;
  border-color: #A63A2A !important;
}

.self-renewal-hero__actions .btn.ghost {
  background: rgba(255,255,255,.82) !important;
  color: #211815 !important;
  border: 1px solid rgba(62, 39, 35, .16) !important;
}

.self-renewal-hero__actions .btn.ghost:hover {
  background: #F7EFE3 !important;
  border-color: rgba(214, 163, 84, .42) !important;
}
/* Phase 9D-1F self-renewal standard article hero - 20260603 */
.self-renewal-hero {
  padding: clamp(44px, 6vw, 72px) 0 36px !important;
  background: #FBF7EF !important;
  border-bottom: 1px solid rgba(62, 39, 35, .08) !important;
}

.self-renewal-hero__grid {
  grid-template-columns: minmax(0, 920px) !important;
  justify-content: start !important;
  gap: 22px !important;
}

.self-renewal-hero h1 {
  max-width: 900px !important;
  margin: 12px 0 18px !important;
  font-size: clamp(34px, 4.2vw, 50px) !important;
  line-height: 1.16 !important;
  letter-spacing: -.035em !important;
}

.self-renewal-hero .hero-sub {
  max-width: 880px !important;
  font-size: clamp(16px, 1.7vw, 18px) !important;
  line-height: 1.85 !important;
  color: #6B625C !important;
}

.self-renewal-hero .eyebrow {
  background: rgba(214, 163, 84, .12) !important;
  border: 1px solid rgba(214, 163, 84, .36) !important;
  color: #8B3D20 !important;
}

.self-renewal-hero-card {
  max-width: 880px !important;
  padding: 18px 20px !important;
  background: #F7EFE3 !important;
  color: #211815 !important;
  border: 1px solid rgba(214, 163, 84, .28) !important;
  box-shadow: none !important;
}

.self-renewal-hero-card strong {
  color: #8B3D20 !important;
}

.self-renewal-hero-card p,
.self-renewal-hero-card li {
  color: #3E2723 !important;
}

.self-renewal-hero-card ul {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 6px 18px !important;
  margin-top: 12px !important;
}

.self-renewal-hero__note {
  max-width: 880px !important;
  background: rgba(255,255,255,.62) !important;
  box-shadow: none !important;
}

.self-renewal-hero__actions .btn.primary {
  background: #A63A2A !important;
  border-color: #A63A2A !important;
  color: #fff !important;
}

.self-renewal-hero__actions .btn.ghost {
  background: #fff !important;
  border: 1px solid rgba(62, 39, 35, .14) !important;
  color: #211815 !important;
}

@media (max-width: 768px) {
  .self-renewal-hero {
    padding-top: 34px !important;
  }

  .self-renewal-hero-card ul {
    grid-template-columns: 1fr !important;
  }
}
/* Phase 9D-1F self-renewal standard dark hero - 20260603 */
.self-renewal-hero {
  padding: clamp(72px, 9vw, 128px) 0 clamp(64px, 8vw, 112px) !important;
  background:
    radial-gradient(circle at 78% 22%, rgba(214, 163, 84, .26), transparent 34%),
    linear-gradient(135deg, #211815 0%, #2B1A16 48%, #3E2723 100%) !important;
  border-bottom: 0 !important;
  color: #F7EFE3 !important;
}

.self-renewal-hero__grid {
  grid-template-columns: minmax(0, 900px) !important;
  justify-content: start !important;
  gap: 24px !important;
}

.self-renewal-hero .eyebrow {
  display: inline-flex !important;
  align-items: center !important;
  width: fit-content !important;
  padding: 9px 18px !important;
  border-radius: 999px !important;
  background: rgba(214, 163, 84, .12) !important;
  border: 1px solid rgba(214, 163, 84, .46) !important;
  color: #D6A354 !important;
  font-weight: 900 !important;
}

.self-renewal-hero h1 {
  max-width: 900px !important;
  margin: 20px 0 20px !important;
  font-size: clamp(42px, 6vw, 72px) !important;
  line-height: 1.08 !important;
  letter-spacing: -.045em !important;
  color: #fff !important;
}

.self-renewal-hero h1 br {
  display: none !important;
}

.self-renewal-hero .hero-sub {
  max-width: 760px !important;
  font-size: clamp(17px, 2vw, 21px) !important;
  line-height: 1.9 !important;
  color: rgba(247, 239, 227, .88) !important;
}

.self-renewal-hero__actions {
  margin-top: 28px !important;
}

.self-renewal-hero__actions .btn.primary {
  background: #A63A2A !important;
  border-color: #A63A2A !important;
  color: #fff !important;
  box-shadow: 0 18px 36px rgba(166, 58, 42, .28) !important;
}

.self-renewal-hero__actions .btn.ghost {
  background: #fff !important;
  border: 1px solid rgba(255,255,255,.88) !important;
  color: #211815 !important;
}

.self-renewal-hero__note {
  max-width: 820px !important;
  margin-top: 22px !important;
  background: rgba(247, 239, 227, .08) !important;
  border: 1px solid rgba(214, 163, 84, .22) !important;
  color: rgba(247, 239, 227, .82) !important;
  box-shadow: none !important;
}

.self-renewal-hero-card {
  max-width: 820px !important;
  margin-top: 18px !important;
  padding: 20px 22px !important;
  background: rgba(247, 239, 227, .08) !important;
  border: 1px solid rgba(214, 163, 84, .28) !important;
  color: #F7EFE3 !important;
  box-shadow: none !important;
}

.self-renewal-hero-card strong {
  color: #D6A354 !important;
}

.self-renewal-hero-card p,
.self-renewal-hero-card li {
  color: rgba(247,239,227,.88) !important;
}

.self-renewal-hero-card ul {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 6px 18px !important;
  margin-top: 12px !important;
}

@media (max-width: 768px) {
  .self-renewal-hero {
    padding: 52px 0 56px !important;
  }

  .self-renewal-hero h1 br {
    display: initial !important;
  }

  .self-renewal-hero-card ul {
    grid-template-columns: 1fr !important;
  }
}
/* Phase 9D-4 article shell and self-renewal hero fix - 20260603 */
/* Self-renewal: header uses normal light site-nav; only hero stays dark */
.self-renewal-page .self-renewal-hero {
  padding: clamp(72px, 9vw, 128px) 0 clamp(64px, 8vw, 112px) !important;
  background:
    radial-gradient(circle at 78% 22%, rgba(214, 163, 84, .26), transparent 34%),
    linear-gradient(135deg, #211815 0%, #2B1A16 48%, #3E2723 100%) !important;
  border-bottom: 0 !important;
  color: #F7EFE3 !important;
}

.self-renewal-page .self-renewal-hero h1 {
  color: #fff !important;
}

.self-renewal-page .self-renewal-hero .hero-sub {
  color: rgba(247, 239, 227, .88) !important;
}

.self-renewal-page .self-renewal-hero .eyebrow {
  background: rgba(214, 163, 84, .12) !important;
  border: 1px solid rgba(214, 163, 84, .46) !important;
  color: #D6A354 !important;
}

.self-renewal-page .self-renewal-hero-card {
  background: rgba(247, 239, 227, .08) !important;
  border: 1px solid rgba(214, 163, 84, .28) !important;
  box-shadow: none !important;
  color: #F7EFE3 !important;
}

/* Common-burden: restore readable standard shell */
.common-burden-page .skip-link:not(:focus) {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

.common-burden-page .site-nav {
  background: #FBF7EF !important;
  border-bottom: 1px solid rgba(62, 39, 35, .1) !important;
}

.common-burden-page .site-nav .nav-in {
  background: transparent !important;
}

.common-burden-page .site-nav .nav-links a:not(.nav-cta) {
  color: #3E2723 !important;
}

.common-burden-page .site-nav .nav-links a:not(.nav-cta):hover {
  color: #A63A2A !important;
}

.common-burden-page .site-footer {
  background: #211815 !important;
  color: #F7EFE3 !important;
}

.common-burden-page .site-footer,
.common-burden-page .site-footer p,
.common-burden-page .site-footer small,
.common-burden-page .site-footer span,
.common-burden-page .site-footer li {
  color: rgba(247, 239, 227, .82) !important;
}

.common-burden-page .site-footer a,
.common-burden-page .site-footer .footer-heading {
  color: #F7EFE3 !important;
}

.common-burden-page .site-footer a:hover {
  color: #D6A354 !important;
}
/* Phase 9E-2A self-renewal unclear list generator - 20260603 */
.self-renewal-check-page {
  background: #FBF7EF;
  color: #211815;
}

.sr-check-hero {
  padding: clamp(72px, 9vw, 128px) 0 clamp(60px, 8vw, 104px);
  background:
    radial-gradient(circle at 80% 20%, rgba(214, 163, 84, .24), transparent 34%),
    linear-gradient(135deg, #211815 0%, #2B1A16 48%, #3E2723 100%);
  color: #F7EFE3;
}

.sr-check-hero__grid {
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(280px, .75fr);
  gap: clamp(24px, 4vw, 48px);
  align-items: center;
}

.sr-check-hero h1 {
  max-width: 880px;
  margin: 18px 0;
  font-size: clamp(38px, 5.2vw, 68px);
  line-height: 1.08;
  letter-spacing: -.045em;
  color: #fff;
}

.sr-check-hero .hero-sub {
  max-width: 780px;
  color: rgba(247, 239, 227, .88);
  font-size: clamp(17px, 2vw, 21px);
  line-height: 1.9;
}

.sr-check-hero .eyebrow {
  color: #D6A354;
}

.sr-check-note {
  padding: 24px;
  border-radius: 24px;
  background: rgba(247, 239, 227, .08);
  border: 1px solid rgba(214, 163, 84, .3);
  box-shadow: 0 24px 60px rgba(0,0,0,.2);
}

.sr-check-note strong {
  display: block;
  color: #D6A354;
  font-size: 1.1rem;
  margin-bottom: 10px;
}

.sr-check-note p,
.sr-check-note li {
  color: rgba(247, 239, 227, .88);
}

.sr-check-note ul {
  display: grid;
  gap: 8px;
  padding-left: 0;
  list-style: none;
  margin: 16px 0 0;
}

.sr-check-intro {
  padding-top: 34px;
}

.sr-check-tool {
  padding: clamp(36px, 6vw, 72px) 0;
}

.sr-check-toolbar {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  gap: 20px;
  margin-bottom: 24px;
}

.sr-check-toolbar h2,
.sr-check-result h2 {
  margin: 8px 0 0;
  color: #211815;
}

.sr-check-form {
  display: grid;
  gap: 22px;
}

.sr-check-group {
  border: 1px solid rgba(62, 39, 35, .12);
  border-radius: 24px;
  padding: 22px;
  background: #fff;
  box-shadow: 0 12px 32px rgba(33, 24, 21, .06);
}

.sr-check-group legend {
  padding: 0 10px;
  color: #8B3D20;
  font-weight: 900;
  font-size: 1.18rem;
}

.sr-check-question {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 18px;
  align-items: center;
  padding: 18px 0;
  border-top: 1px solid rgba(62, 39, 35, .1);
}

.sr-check-question:first-of-type {
  border-top: 0;
}

.sr-check-question__text {
  display: flex;
  gap: 12px;
  align-items: flex-start;
}

.sr-check-number {
  flex: 0 0 auto;
  display: inline-grid;
  place-items: center;
  width: 30px;
  height: 30px;
  border-radius: 999px;
  background: #F7EFE3;
  color: #8B3D20;
  font-weight: 900;
  font-size: .9rem;
}

.sr-check-question p {
  margin: 3px 0 0;
  color: #211815;
  line-height: 1.7;
  font-weight: 700;
}

.sr-check-options {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  justify-content: flex-end;
}

.sr-check-options label {
  cursor: pointer;
}

.sr-check-options input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

.sr-check-options span {
  display: inline-flex;
  align-items: center;
  min-height: 40px;
  padding: 9px 13px;
  border-radius: 999px;
  border: 1px solid rgba(62, 39, 35, .16);
  background: #FBF7EF;
  color: #3E2723;
  font-weight: 800;
  transition: transform .18s ease, border-color .18s ease, background .18s ease;
}

.sr-check-options input:checked + span {
  background: #211815;
  color: #F7EFE3;
  border-color: #211815;
}

.sr-check-options label:hover span {
  transform: translateY(-1px);
  border-color: #D6A354;
}

.sr-check-actions {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
  margin-top: 24px;
}

.sr-check-result {
  margin-top: 34px;
  padding: clamp(22px, 4vw, 34px);
  border-radius: 28px;
  background: #fff;
  border: 1px solid rgba(62, 39, 35, .12);
  box-shadow: 0 18px 42px rgba(33, 24, 21, .08);
}

.result-head {
  display: flex;
  justify-content: space-between;
  gap: 18px;
  align-items: flex-start;
  margin-bottom: 22px;
}

.sr-check-summary {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
}

.sr-check-summary-card {
  padding: 18px;
  border-radius: 20px;
  background: #FBF7EF;
  border: 1px solid rgba(62, 39, 35, .1);
}

.sr-check-summary-card h3 {
  margin: 0 0 12px;
  color: #211815;
}

.sr-check-summary-card ul {
  margin: 0;
  padding-left: 20px;
  display: grid;
  gap: 10px;
}

.sr-check-summary-card li {
  line-height: 1.65;
  color: #3E2723;
}

.sr-check-summary-card small {
  display: block;
  color: #6B625C;
  margin-top: 2px;
}

.sr-copy-textarea {
  width: 100%;
  min-height: 220px;
  margin-top: 18px;
  padding: 16px;
  border-radius: 18px;
  border: 1px solid rgba(62, 39, 35, .16);
  background: #FBF7EF;
  color: #211815;
  font: inherit;
  line-height: 1.7;
}

@media (max-width: 860px) {
  .sr-check-hero__grid {
    grid-template-columns: 1fr;
  }

  .sr-check-toolbar,
  .result-head {
    align-items: stretch;
    flex-direction: column;
  }

  .sr-check-question {
    grid-template-columns: 1fr;
  }

  .sr-check-options {
    justify-content: flex-start;
  }

  .sr-check-options span {
    width: 100%;
    justify-content: center;
  }

  .sr-check-options label {
    flex: 1 1 100%;
  }

  .sr-check-summary {
    grid-template-columns: 1fr;
  }
}
/* Phase 9E-3A policy radar classification guide - 20260603 */
.policy-radar-classification {
  padding: clamp(34px, 6vw, 72px) 0;
}

.policy-radar-classification-head {
  max-width: 880px;
  margin: 0 auto 26px;
  text-align: center;
}

.policy-radar-classification-head h2 {
  margin: 8px 0 12px;
  color: #211815;
  font-size: clamp(26px, 4vw, 42px);
  line-height: 1.2;
  letter-spacing: -.03em;
}

.policy-radar-classification-head p {
  margin: 0;
  color: #6B625C;
  line-height: 1.9;
}

.policy-radar-category-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
}

.policy-radar-category-card {
  display: flex;
  flex-direction: column;
  min-height: 250px;
  padding: 22px;
  border-radius: 24px;
  background: #fff;
  border: 1px solid rgba(62, 39, 35, .12);
  box-shadow: 0 14px 34px rgba(33, 24, 21, .07);
}

.policy-radar-category-card span {
  display: inline-flex;
  width: fit-content;
  margin-bottom: 14px;
  padding: 5px 10px;
  border-radius: 999px;
  background: #F7EFE3;
  color: #8B3D20;
  font-weight: 900;
  font-size: .82rem;
}

.policy-radar-category-card h3 {
  margin: 0 0 10px;
  color: #211815;
  font-size: 1.24rem;
}

.policy-radar-category-card p {
  margin: 0 0 18px;
  color: #6B625C;
  line-height: 1.75;
}

.policy-radar-category-card a {
  margin-top: auto;
  color: #8B3D20;
  font-weight: 900;
  text-decoration: none;
}

.policy-radar-category-card a:hover {
  color: #A63A2A;
  text-decoration: underline;
}

@media (max-width: 920px) {
  .policy-radar-category-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 640px) {
  .policy-radar-classification-head {
    text-align: left;
  }

  .policy-radar-category-grid {
    grid-template-columns: 1fr;
  }

  .policy-radar-category-card {
    min-height: auto;
  }
}
/* Phase 9E-4A start here scenario router - 20260603 */
.start-scenario-router {
  padding: clamp(30px, 6vw, 68px) 0;
}

.start-scenario-router-head {
  max-width: 860px;
  margin: 0 auto 24px;
  text-align: center;
}

.start-scenario-router-head h2 {
  margin: 8px 0 12px;
  color: #211815;
  font-size: clamp(26px, 4vw, 40px);
  line-height: 1.22;
  letter-spacing: -.03em;
}

.start-scenario-router-head p {
  margin: 0;
  color: #6B625C;
  line-height: 1.9;
}

.start-scenario-router-grid {
  display: grid;
  grid-template-columns: repeat(7, minmax(220px, 1fr));
  gap: 14px;
  overflow-x: auto;
  padding-bottom: 8px;
  scroll-snap-type: x proximity;
}

.start-scenario-router-grid a {
  display: flex;
  flex-direction: column;
  min-height: 210px;
  padding: 20px;
  border-radius: 22px;
  background: #fff;
  border: 1px solid rgba(62, 39, 35, .12);
  box-shadow: 0 12px 28px rgba(33, 24, 21, .06);
  color: #211815;
  text-decoration: none;
  scroll-snap-align: start;
}

.start-scenario-router-grid a:hover {
  transform: translateY(-2px);
  box-shadow: 0 18px 38px rgba(33, 24, 21, .1);
}

.start-scenario-router-grid small {
  color: #8B3D20;
  font-weight: 900;
  margin-bottom: 10px;
}

.start-scenario-router-grid b {
  font-size: 1.16rem;
  line-height: 1.35;
  margin-bottom: 10px;
}

.start-scenario-router-grid span {
  color: #6B625C;
  line-height: 1.7;
}

@media (min-width: 980px) {
  .start-scenario-router-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    overflow-x: visible;
  }
}

@media (max-width: 640px) {
  .start-scenario-router-head {
    text-align: left;
  }

  .start-scenario-router-grid {
    margin-right: calc(var(--container-pad, 20px) * -1);
    padding-right: var(--container-pad, 20px);
  }
}

/* Phase 10D-1B hotfix: keep common burden Happy avatar readable - 20260604 */
.common-burden-happy-state .happy-state-card--check::before,
.common-burden-happy-state .happy-state-card--check::after,
.common-burden-happy-state .happy-state-avatar::before,
.common-burden-happy-state .happy-state-avatar::after {
  content: none !important;
  display: none !important;
}

/* Phase 10E-3D: selection-order checkbox layout fix - 20260604 */
.selection-order-checkbox-fix .v8-form label.v8-mini {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 10px;
  min-height: auto;
  padding: 14px 16px;
  line-height: 1.5;
}

.selection-order-checkbox-fix .v8-form label.v8-mini input[type="checkbox"] {
  width: 18px;
  height: 18px;
  min-height: 0;
  flex: 0 0 auto;
  margin: 0;
}

.selection-order-checkbox-fix .v8-form label.v8-mini {
  text-align: left;
}

/* Phase 10F-1C: calculator use guide layout - 20260604 */
.calculator-use-guide .hd-tool-use-head,
.calculator-use-guide .hd-tool-use-grid,
.calculator-use-guide .hd-tool-use-actions {
  max-width: 100%;
}

.calculator-use-guide .hd-tool-use-grid {
  width: 100%;
}

.calculator-use-guide .hd-tool-use-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 20px;
  align-items: stretch;
}

.calculator-use-guide .hd-tool-use-card {
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
}

.calculator-use-guide .hd-tool-use-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 22px;
}

@media (max-width: 900px) {
  .calculator-use-guide .hd-tool-use-grid {
    grid-template-columns: 1fr;
  }
}
