/* Finance industry section — standalone stylesheet. Families: fn- (workspace shell), fp- (public pages), fv- (vision board), fr- (architecture report), fh- (hub). */
:root{--fn-accent:hsl(160,55%,42%);--fn-accent-soft:hsla(160,55%,42%,.12);--fn-accent-line:hsla(160,55%,42%,.45)}
[data-theme="light"]{--fn-accent:hsl(160,60%,32%);--fn-accent-soft:hsla(160,60%,32%,.09);--fn-accent-line:hsla(160,60%,32%,.4)}

/* ---- shell shared by every finance page ---- */
.fn-shell{width:100%;min-width:0;box-sizing:border-box;max-width:1280px;margin:auto;padding:115px 28px 48px;color:var(--color-text-primary);overflow-wrap:anywhere}
.fn-eyebrow{font-size:.72rem;letter-spacing:.12em;font-weight:700;color:var(--fn-accent)}
.fn-meta{font-size:.82rem;color:var(--color-text-muted)}
.fn-hero{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;margin-bottom:25px}.fn-hero h1{font-size:clamp(2rem,4vw,3rem);line-height:1.15;margin:8px 0 14px;letter-spacing:-.04em}.fn-hero p{max-width:720px;color:var(--color-text-secondary)}.fn-hero>a{white-space:nowrap}
.fn-boundary{padding:16px 20px;border:1px solid var(--color-border);border-left:4px solid var(--fn-accent);border-radius:10px;line-height:1.65;background:var(--color-surface-sunken)}
.fn-status{min-height:26px;margin:16px 0;color:var(--color-text-secondary)}.fn-status[data-error=true]{color:#b42318;font-weight:600}
.fn-shell button,.fn-shell input,.fn-shell select,.fn-shell textarea{font:inherit}.fn-shell button{cursor:pointer;border-radius:8px;padding:9px 14px;border:1px solid var(--color-border);background:var(--color-surface-sunken);color:var(--color-text-primary)}.fn-shell button.fn-primary{background:var(--color-action-primary);color:#fff;border-color:var(--color-action-primary)}.fn-shell button:disabled{opacity:.5;cursor:not-allowed}.fn-shell :is(button,input,textarea,select,a,summary):focus-visible{outline:3px solid var(--color-action-primary);outline-offset:3px}
.fn-toolbar{display:flex;align-items:end;gap:12px;flex-wrap:wrap;margin-bottom:24px}.fn-toolbar label{min-width:180px;flex:1}.fn-toolbar select{width:100%}.fn-shell label{display:flex;flex-direction:column;gap:7px;font-size:.88rem;font-weight:600}.fn-shell input,.fn-shell select,.fn-shell textarea{width:100%;border:1px solid var(--color-border);border-radius:7px;padding:10px;background:var(--color-background);color:var(--color-text-primary);box-sizing:border-box}.fn-shell textarea{min-height:90px;resize:vertical}.fn-shell .fn-check{flex-direction:row;align-items:flex-start;grid-column:1/-1;font-weight:400}.fn-check input{width:18px;flex:none;margin-top:3px}
.fn-card{border:1px solid var(--color-border);border-radius:14px;padding:24px;background:var(--color-surface);margin-bottom:20px}.fn-card h2{font-size:1.25rem;margin:0 0 12px}.fn-card h3{font-size:1rem;margin:0 0 8px}.fn-card p{color:var(--color-text-secondary);line-height:1.65}.fn-card-title{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:18px}.fn-card-title h2{margin:0}.fn-card dd{margin:8px 0 18px;overflow-wrap:anywhere}.fn-card li{line-height:1.7;margin:8px 0}
.fn-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:22px}.fn-stat{padding:18px;border:1px solid var(--color-border);border-radius:12px;background:var(--color-surface-sunken)}.fn-stat strong{display:block;font-size:1.7rem;margin:4px 0}.fn-stat span{font-size:.8rem;color:var(--color-text-secondary)}
.fn-tabs{display:flex;gap:8px;flex-wrap:wrap;padding:4px 2px 14px;margin-bottom:6px}.fn-tabs button{white-space:nowrap}.fn-tabs button[aria-pressed=true]{border-color:var(--fn-accent);color:var(--fn-accent);font-weight:700}
.fn-form{display:grid;grid-template-columns:1fr 1fr;gap:18px}.fn-form .fn-wide{grid-column:1/-1}.fn-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:15px}
.fn-table-wrap{overflow:auto}.fn-table{border-collapse:collapse;width:100%;font-size:.87rem}.fn-table td,.fn-table th{padding:13px 10px;border-bottom:1px solid var(--color-border);text-align:left;vertical-align:top;overflow-wrap:anywhere}.fn-table th{font-size:.75rem;color:var(--color-text-secondary)}.fn-table td:last-child{min-width:140px}.fn-table button{padding:5px 9px;margin:2px}
.fn-pill{display:inline-block;padding:4px 9px;border-radius:6px;background:var(--color-surface-sunken);border:1px solid var(--color-border);font-size:.76rem}.fn-pill-high{border-color:#b42318;color:#b42318}.fn-pill-medium{border-color:#b7791f;color:#b7791f}.fn-pill-low{border-color:var(--fn-accent);color:var(--fn-accent)}
.fn-list{display:grid;grid-template-columns:1fr 1fr;gap:15px}.fn-list article{padding:18px;border:1px solid var(--color-border);border-radius:10px}.fn-list p{font-size:.88rem}.fn-empty{padding:30px 0;text-align:center}.fn-foot{padding-top:20px;font-size:.82rem;color:var(--color-text-secondary);line-height:1.65}
@media(max-width:760px){.fn-shell{padding:100px 16px 30px}.fn-hero{display:block}.fn-hero>a{display:inline-block;margin-top:12px}.fn-grid{grid-template-columns:1fr 1fr}.fn-form,.fn-list{grid-template-columns:1fr}.fn-card{padding:18px}.fn-card-title{align-items:flex-start;flex-wrap:wrap}.fn-toolbar label{min-width:100%}}

/* ---- public pages: hub, guide, vision, report ---- */
.fp-shell{max-width:1240px}.fp-hero{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(280px,1fr);gap:48px;padding:24px 0 40px}.fp-hero h1{font-size:clamp(2.25rem,4vw,3.8rem);line-height:1.1;letter-spacing:-.045em;margin:18px 0 24px}.fp-hero h1 em{font-style:normal;color:var(--fn-accent)}.fp-intro{font-size:1.15rem;line-height:1.75;color:var(--color-text-secondary);max-width:680px}
.fp-actions{display:flex;gap:20px;align-items:center;flex-wrap:wrap;margin:24px 0 14px}.fp-primary{display:inline-block;background:var(--color-action-primary);color:#fff!important;padding:12px 18px;border-radius:8px;text-decoration:none;font-weight:600}.fp-primary:hover{filter:brightness(.92)}
.fp-start{padding:28px;border:1px solid var(--color-border);border-top:4px solid var(--fn-accent);border-radius:16px;background:var(--color-surface-sunken)}.fp-start h2{font-size:1.5rem;line-height:1.3;margin:16px 0}.fp-start ol,.fp-start ul{padding-left:22px}.fp-start li{margin:12px 0;font-size:.92rem}.fp-start a{color:var(--color-text-primary)}
.fp-contents{display:flex;gap:12px 22px;flex-wrap:wrap;border-top:1px solid var(--color-border);border-bottom:1px solid var(--color-border);padding:18px 0;font-size:.88rem}
.fp-section{padding:48px 0;border-bottom:1px solid var(--color-border);scroll-margin-top:95px}.fp-section h2{font-size:clamp(1.65rem,3vw,2.2rem);line-height:1.25;letter-spacing:-.025em;margin:12px 0 18px}.fp-section p,.fp-section li{line-height:1.75;color:var(--color-text-secondary)}.fp-section>p{max-width:880px}.fp-section h3{font-size:1.1rem;line-height:1.4;margin:0 0 12px}
.fp-three,.fp-four{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin:26px 0}.fp-four{grid-template-columns:repeat(4,minmax(0,1fr))}.fp-three article,.fp-four article{padding:22px;border:1px solid var(--color-border);border-radius:12px}.fp-three p,.fp-four p{font-size:.91rem;margin:12px 0 0}.fp-four h3{margin-top:12px}
.fp-section table{margin:26px 0}.fp-section caption{text-align:left;font-size:1rem;font-weight:600;padding:0 0 12px}.fp-section th{min-width:100px}.fp-note{padding:16px 20px;background:var(--color-surface-sunken);border-left:3px solid var(--fn-accent);font-size:.9rem}
.fp-howto{display:grid;grid-template-columns:46px minmax(0,1fr);gap:22px;border-top:1px solid var(--color-border);padding:30px 0;scroll-margin-top:100px}.fp-howto:first-of-type{margin-top:28px}.fp-howto h3{font-size:1.3rem}.fp-howto ol{padding-left:22px;margin:18px 0}.fp-howto li{padding-left:6px;margin:12px 0}.fp-step{width:42px;height:42px;background:var(--fn-accent-soft);border:1px solid var(--fn-accent-line);border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--fn-accent);font-weight:700}
.fp-output{background:var(--color-surface-sunken);border-radius:8px;padding:14px 18px}.fp-source{font-size:.8rem;line-height:1.7;color:var(--color-text-secondary)}.fp-source a{display:inline-block;margin-right:14px}
.fp-template{border:1px solid var(--color-border);border-radius:10px;padding:20px;margin:14px 0;scroll-margin-top:100px}.fp-template summary{cursor:pointer;font-weight:600;line-height:1.5;display:block}.fp-template summary span{float:right;font-size:.8rem;font-weight:400;color:var(--color-text-secondary)}.fp-template ul{padding-left:24px;margin:20px 0 0}.fp-template li{font-size:.9rem}
.fp-faq{border:1px solid var(--color-border);border-radius:10px;padding:18px 20px;margin:12px 0}.fp-faq summary{cursor:pointer;font-weight:600;line-height:1.5;display:block}.fp-faq p{margin:14px 0 0}
.fp-workspace{display:flex;align-items:center;justify-content:space-between;gap:32px}.fp-workspace>div{max-width:800px}.fp-workspace>a{flex:none}.fp-sources{columns:2;padding-left:22px}.fp-sources li{break-inside:avoid;margin:8px 0;font-size:.9rem}
.fp-panel{padding:32px;margin:0 0 32px;border:1px solid var(--fn-accent-line);border-top:4px solid var(--fn-accent);border-radius:16px;background:var(--color-surface-sunken);scroll-margin-top:100px}.fp-panel-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:24px}.fp-panel-heading>div{min-width:0}.fp-panel h2{font-size:clamp(1.7rem,3vw,2.35rem);line-height:1.2;letter-spacing:-.025em;margin:12px 0 16px}.fp-panel-intro{max-width:780px;line-height:1.7;color:var(--color-text-secondary);margin:0}.fp-badge{flex:none;border:1px solid var(--color-border);border-radius:999px;padding:8px 12px;font-size:.8rem;font-weight:600;color:var(--color-text-primary)}
.fp-topics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:26px 0}.fp-topics>a{display:block;padding:22px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:10px;text-decoration:none;color:var(--color-text-primary);transition:border-color .15s}.fp-topics>a:hover{border-color:var(--fn-accent)}.fp-topics .fn-eyebrow{font-size:.66rem;letter-spacing:.08em}.fp-topics h3{font-size:1.08rem;line-height:1.45;margin:14px 0 10px}.fp-topics h3 span{color:var(--fn-accent)}.fp-topics p{font-size:.9rem;line-height:1.7;color:var(--color-text-secondary);margin:0}.fp-download{font-weight:600;text-decoration:underline;text-underline-offset:4px}.fp-panel>.fn-meta{margin-bottom:0}
.fp-regime{display:inline-block;padding:3px 8px;border-radius:5px;font-size:.72rem;font-weight:700;letter-spacing:.03em;text-transform:uppercase;border:1px solid var(--color-border)}.fp-regime-binding{color:#b42318;border-color:#b4231866}.fp-regime-guidance{color:#b7791f;border-color:#b7791f66}.fp-regime-voluntary{color:var(--fn-accent);border-color:var(--fn-accent-line)}.fp-regime-pending{color:var(--color-text-muted)}
@media(max-width:900px){.fp-hero{grid-template-columns:1fr;gap:22px}.fp-three,.fp-four,.fp-topics{grid-template-columns:1fr 1fr}.fp-workspace{display:block}.fp-workspace>a{margin-top:14px}.fp-panel-heading{display:block}.fp-badge{display:inline-block;margin-top:16px}}
@media(max-width:560px){.fp-hero{padding-top:10px}.fp-three,.fp-four,.fp-topics{grid-template-columns:1fr}.fp-howto{grid-template-columns:1fr;gap:14px}.fp-section{padding:32px 0}.fp-template summary span{display:block;float:none;margin-top:5px}.fp-sources{columns:1}.fp-contents{gap:12px 18px}.fp-start{padding:22px}.fp-panel{padding:22px 18px}.fp-topics>a{padding:18px}.fp-panel .fp-actions{align-items:stretch;flex-direction:column}.fp-panel .fp-primary{text-align:center}}
@media print{#main-header,#mobile-nav-drawer,#page-help-link,.fp-actions,.fp-workspace{display:none!important}.fn-shell{padding:0;max-width:none}.fp-hero{display:block}.fp-start{display:none}.fp-section{padding:20px 0}.fp-howto,.fp-panel{break-inside:avoid}.fp-primary{color:#000!important}}

/* ---- hub (/finance) ---- */
.fh-pillars{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin:26px 0}.fh-pillars>a{display:block;padding:22px;background:var(--color-surface);border:1px solid var(--color-border);border-top:3px solid var(--fn-accent);border-radius:12px;text-decoration:none;color:var(--color-text-primary)}.fh-pillars>a:hover{border-color:var(--fn-accent)}.fh-pillars h3{font-size:1.05rem;margin:12px 0 8px}.fh-pillars p{font-size:.9rem;line-height:1.65;color:var(--color-text-secondary);margin:0}.fh-pillars .fn-meta{display:block;margin-top:12px}
.fh-dates{list-style:none;padding:0;margin:20px 0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.fh-dates li{padding:14px 16px;border:1px solid var(--color-border);border-radius:10px;font-size:.9rem;line-height:1.6}.fh-dates time{display:block;font-weight:700;color:var(--fn-accent)}
@media(max-width:1000px){.fh-pillars{grid-template-columns:1fr 1fr}}@media(max-width:560px){.fh-pillars,.fh-dates{grid-template-columns:1fr}}

/* ---- vision board ---- */
.fv-board{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin:28px 0}.fv-lane{padding:20px;background:var(--color-surface-sunken);border:1px solid var(--color-border);border-top:4px solid var(--fn-accent);border-radius:12px;min-width:0}.fv-lane>h3{font-size:1.15rem}.fv-lane>p{font-size:.88rem;margin:14px 0 22px}
.fv-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:10px;margin:16px 0;scroll-margin-top:100px}.fv-card summary{padding:20px;cursor:pointer;line-height:1.5;display:block}.fv-card summary::after{content:none}.fv-card-title{display:block;font-size:1.1rem;font-weight:650}.fv-value{display:block;font-size:.9rem;line-height:1.7;color:var(--color-text-secondary);margin-top:12px}.fv-expand{display:block;font-size:.78rem;text-decoration:underline;text-underline-offset:4px;margin-top:18px;font-weight:600}.fv-card[open]{border-color:var(--fn-accent)}.fv-card dl{margin:0;padding:0 20px 22px}.fv-card dt{font-size:.82rem;font-weight:700;margin-top:20px}.fv-card dd{margin:8px 0 0;font-size:.88rem;line-height:1.75;color:var(--color-text-secondary)}
.fv-flow{list-style:none;padding:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;margin:24px 0}.fv-flow li{padding:20px;border:1px solid var(--color-border);border-top:3px solid var(--fn-accent);border-radius:10px}.fv-flow h3{font-size:1rem}.fv-flow p{font-size:.9rem;margin-bottom:0}
@media(max-width:1000px){.fv-board{grid-template-columns:1fr}.fv-flow{grid-template-columns:1fr 1fr}}@media(max-width:560px){.fv-flow{grid-template-columns:1fr}.fv-lane{padding:16px}}@media print{.fv-board,.fv-flow{display:block}.fv-card{break-inside:avoid}.fv-card::details-content{content-visibility:visible}.fv-expand{display:none}}

/* ---- architecture report ---- */
.fr-contents{columns:2;column-gap:48px;padding-left:24px}.fr-contents li{break-inside:avoid;padding:7px 0 7px 5px;line-height:1.5}
.fr-report{font-size:1rem;line-height:1.8}.fr-report h2{font-size:clamp(1.5rem,2.6vw,2rem);line-height:1.3;padding-top:40px;margin:40px 0 20px;border-top:1px solid var(--color-border);scroll-margin-top:100px;letter-spacing:-.025em}.fr-report h3{font-size:1.2rem;margin-top:32px;scroll-margin-top:100px}.fr-report p,.fr-report li{color:var(--color-text-secondary);max-width:940px}.fr-report strong{color:var(--color-text-primary)}.fr-report li{margin:10px 0}
.fr-report pre{max-width:100%;overflow:auto;padding:24px;background:var(--color-surface-sunken);border:1px solid var(--color-border);border-radius:10px;font-size:.8rem;line-height:1.7;white-space:pre;overflow-wrap:normal}.fr-report :is(pre,.fr-table-wrap):focus-visible{outline:3px solid var(--color-action-primary);outline-offset:3px}
.fr-table-wrap{overflow:auto;margin:26px 0}.fr-table{border-collapse:collapse;min-width:720px;width:100%;line-height:1.65;font-size:.9rem}.fr-table td,.fr-table th{padding:13px 10px;border-bottom:1px solid var(--color-border);text-align:left;vertical-align:top;min-width:145px}.fr-table th{font-size:.85rem;color:var(--color-text-secondary)}
.fr-map{margin:26px 0}.fr-layer{padding:20px;border:1px solid var(--color-border);border-radius:12px;background:var(--color-surface-sunken);text-align:center}.fr-layer strong,.fr-layer span{display:block}.fr-layer span{font-size:.9rem;line-height:1.7;margin-top:8px;color:var(--color-text-secondary)}.fr-core{border:2px solid var(--fn-accent)}.fr-arrow{text-align:center;font-size:1.5rem;padding:6px;color:var(--fn-accent)}.fr-map-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.fr-map figcaption{font-size:.8rem;color:var(--color-text-secondary);margin-top:16px;line-height:1.6}
.fr-flow .fr-layer,.fr-flow .fr-map-grid{margin-bottom:2px}.fr-flow-wide{grid-column:span 2}.fr-pass{text-align:center;color:var(--color-text-secondary);opacity:.55;padding:6px;font-size:1.1rem;letter-spacing:.2em}.fr-boundary{border-style:dashed;border-width:2px;border-color:hsl(38,85%,50%);background:hsla(38,90%,50%,.08)}.fr-boundary strong{font-size:.85rem;letter-spacing:.02em;text-transform:uppercase}
@media(max-width:650px){.fr-contents{columns:1}.fr-map-grid{grid-template-columns:1fr}.fr-flow-wide{grid-column:auto}.fr-report pre{padding:14px;font-size:.72rem}.fr-report h2{padding-top:28px;margin-top:28px}}
@media print{.fr-report h2{break-after:avoid}.fr-report pre{white-space:pre-wrap;overflow-wrap:anywhere}.fr-table{min-width:0;font-size:9pt}.fr-table-wrap{overflow:visible}.fr-contents{columns:2}}
