/* LegallyHeard presentation, approved September 2026. */
@font-face{font-family:Inter;src:url('/brand/inter.woff2') format('woff2');font-style:normal;font-weight:100 900;font-display:swap}
@font-face{font-family:'Cormorant Garamond';src:url('/brand/cormorant-garamond.woff2') format('woff2');font-style:normal;font-weight:600;font-display:swap}
:root{--navy:#0B1B33;--navy-700:#172b46;--navy-500:#21385a;--off-white:#FBFAF7;--white:#fff;--gold:#AE8B4E;--gold-700:#79633D;--ink:#0B1B33;--ink-muted:#536075;--rule:#DADCE0;--soft:#F5F1E8;--brand-warm:#F5F1E8;--brand-border:#E8DFCE;--radius:16px;--max:1320px;--pad:clamp(20px,3vw,32px)}
html{overflow:visible;overscroll-behavior-y:auto;background:var(--brand-warm);scroll-padding-top:112px}
html[data-footer-boundary]{overscroll-behavior-y:none}
body{overflow:visible;background:var(--off-white);color:var(--navy);font-size:16px;line-height:1.75}
main{overflow:hidden;min-height:40vh;padding-bottom:clamp(40px,5vw,72px)}
h1,h2,h3,h4,.demo-section h4,.calc-result strong,.calc-savings strong,.kpi strong,.tier .price,.compare-table th,.matrix th,details.faq-item summary{font-family:var(--sans);font-style:normal;font-weight:500;letter-spacing:-.035em}
h1{font-size:clamp(2.45rem,4.4vw,4rem);line-height:1.12;max-width:1000px;margin-bottom:24px}
h2{font-size:clamp(1.9rem,3vw,2.75rem);line-height:1.2}
h3{font-size:1.35rem;line-height:1.35;letter-spacing:-.02em}
p{color:var(--ink-muted)}
.lead{font-size:clamp(1.05rem,1.8vw,1.17rem);line-height:1.75;max-width:860px}
.eyebrow{color:var(--gold-700);font-size:.75rem;letter-spacing:.13em;line-height:1.7;font-weight:600}
.lh-header-space{height:0}
.site-header{position:sticky;top:0;background:var(--brand-warm);color:var(--navy);border-bottom:1px solid var(--brand-border);z-index:100;transition:none}
.site-header .nav{height:88px;padding:0 var(--pad);gap:24px}
.brand,.footer-col a.brand{display:inline-flex;align-items:center;gap:10px;flex-shrink:0;font-family:var(--serif);font-size:2rem!important;font-weight:600;line-height:1;letter-spacing:-.025em;color:var(--navy);white-space:nowrap;padding:0;border:0}
.brand-mark{width:38px;height:38px;flex-shrink:0;border-radius:8px}
.brand-name{display:inline;color:var(--navy)}
.brand .brand-dot{color:#AE8B4E}
.brand .tm{font:8px/1 Arial,sans-serif;color:var(--navy);vertical-align:super;margin-left:2px}
.nav-links{gap:22px;flex:1;justify-content:center}
.nav-links a{font-size:13px;line-height:1.3;color:var(--ink-muted);font-weight:400}
.nav-links a:hover,.nav-links a.active{color:var(--navy);text-decoration:underline;text-underline-offset:5px;text-decoration-color:var(--gold)}
.site-header .nav-cta{background:var(--navy);color:var(--off-white);border-radius:9px;padding:15px 17px;min-height:46px}
.nav-burger{color:var(--navy);border:1px solid var(--brand-border);border-radius:9px;padding:9px;flex-shrink:0}
.nav-burger svg{width:22px;height:22px}
.mobile-menu{background:var(--brand-warm);color:var(--navy);padding:0 var(--pad) 20px;max-height:calc(100dvh - 88px);overflow-y:auto;overscroll-behavior:contain}
.mobile-menu a{color:var(--navy);border-bottom:1px solid var(--brand-border);font-size:16px;padding:13px 0}
.nav-account-menu{background:var(--brand-warm)!important}
.hero.section-dark{background:var(--off-white);color:var(--navy);padding:clamp(40px,5vw,64px) 0 clamp(36px,4.5vw,60px);border-bottom:1px solid var(--rule)}
.hero.section-dark::after{display:none}
.hero.section-dark h1,.hero.section-dark h2,.hero.section-dark h3{color:var(--navy)}
.hero.section-dark p,.hero.section-dark .lead{color:var(--ink-muted)}
.hero.section-dark .eyebrow::after{content:'';display:block;width:100%;height:1px;background:var(--gold);margin-top:15px}
.hero.section-dark .btn-ghost{color:var(--navy);border:1px solid var(--rule);background:transparent}
.hero.section-dark .btn-ghost:hover{border-color:var(--gold);background:var(--brand-warm)}
.hero.section-dark a:not(.btn){color:var(--gold-700)}
.section,.section.container{padding-block:clamp(40px,5vw,64px)}
.section-muted{background:var(--brand-warm)}
.grid.two-col{align-items:start}
.card,.tier,.pipeline,.usecase,.guide-card,.chart-panel,.calc,.chart-cell{border-radius:16px;box-shadow:none}
.card,.pipeline,.usecase,.guide-card{padding:clamp(22px,3vw,32px)}
.card:hover,.guide-card:hover{transform:none;border-color:var(--gold)}
.btn{border-radius:9px;line-height:1.45;min-height:44px;white-space:normal;text-align:center;letter-spacing:0;font-weight:500;transition:background .2s,color .2s,border-color .2s}
.btn-primary{background:var(--navy);color:var(--off-white)}
.btn-accent{background:#C7AD7B;color:var(--navy)}
.btn-accent:hover{background:#BCA16F;color:var(--navy)}
.btn-outline{border-color:var(--rule)}
.btn-outline:hover{border-color:var(--navy)}
.form-row input,.form-row select,.form-row textarea{border-radius:9px;font-size:16px;min-height:46px}
.form-row textarea{min-height:150px}
.form-row input:focus,.form-row select:focus,.form-row textarea:focus{outline:2px solid var(--gold);outline-offset:2px}
:focus-visible{outline:2px solid var(--gold-700);outline-offset:4px}
.disclaimer-box,.note-box,.law-quote,.signpost{border-radius:0 12px 12px 0}
.callout{width:calc(100% - var(--pad)*2);max-width:1256px;margin:clamp(32px,5vw,64px) auto 0;border:1px solid var(--navy);border-radius:16px;background:var(--navy);padding:clamp(32px,4vw,48px) 0;overflow:hidden}
.callout h2{font-weight:500}
.callout p{color:#D7DCE4;max-width:760px;margin:0 auto 1rem}
.site-footer{background:var(--brand-warm);color:var(--ink-muted);border-top:1px solid var(--brand-border);padding:52px 0 30px}
.footer-col h4{color:var(--navy);font-family:var(--sans);font-size:.72rem;font-weight:600;letter-spacing:.11em}
.footer-col a,.footer-col p{color:var(--ink-muted);font-size:.8125rem;line-height:1.7}
.footer-col a{padding:5px 0}
.footer-col a:hover{color:var(--gold-700)}
.footer-col .brand{margin-bottom:22px}
.footer-col .footer-tagline{font-size:.875rem;color:var(--navy)}
.footer-col .small{opacity:1!important}
.footer-bottom{border-color:var(--rule);color:var(--ink-muted);font-size:.75rem;line-height:1.6;align-items:start}
.footer-grid{grid-template-columns:1.4fr 1fr 1fr 1fr;gap:32px;margin-bottom:34px}
.cookie-banner{border-radius:12px}
.cookie-banner a{color:#C7AD7B!important}
.skip-link{position:absolute;left:16px;top:8px;z-index:1000;padding:12px 18px;background:var(--navy);color:white;transform:translateY(-200%);border-radius:8px}
.skip-link:focus{transform:none;color:white}
.tier-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.tier .price{font-size:2.7rem}
.tier.professional-tier{grid-column:1/-1;background:var(--navy);color:var(--off-white);display:grid;grid-template-columns:1fr 1.2fr;gap:10px 40px;padding:36px}
.professional-tier h3,.professional-tier .price{color:var(--off-white)}
.professional-tier h3{font-size:1.8rem}
.professional-tier .price{font-size:1.4rem;color:#C7AD7B;margin:0}
.professional-tier .price-sub,.professional-tier p{color:#D7DCE4}
.professional-tier ul{grid-column:2;grid-row:1/5;margin:0}
.tier.professional-tier ul li{color:var(--off-white);border-color:#30415A}
.professional-tier .btn{width:max-content;background:#C7AD7B;color:var(--navy);max-width:100%}
.professional-tier .small{grid-column:1/-1}
.demo-empty{border-radius:16px}
.guide-card .badge{font-family:var(--sans);color:var(--gold-700)}
.resource-list a,main p a,main li a{overflow-wrap:anywhere}
main .btn{overflow-wrap:normal}
/* A failed script must never leave a guide unreadable. */
.reveal{opacity:1;transform:none}
@media(max-width:1100px){.lh-header-space{height:88px}.site-header{position:fixed;inset:0 0 auto;width:100%}.nav-links,.nav-cta{display:none}.nav-burger{display:block;margin-left:auto}.footer-grid{grid-template-columns:1.2fr 1fr;gap:32px 40px}.tier-grid{grid-template-columns:1fr}.tier.professional-tier{grid-template-columns:1fr 1fr}.site-header .nav-account{margin-left:auto}.site-header .nav-account .nav-cta{display:inline-flex}}
@media(min-width:1101px){.nav-links{display:flex}.nav-cta{display:inline-flex}.nav-burger{display:none}.mobile-menu.open{display:none}}
@media(max-width:600px){html{scroll-padding-top:94px}.lh-header-space{height:76px}.site-header .nav{height:76px;gap:12px}.brand,.footer-col a.brand{font-size:1.8rem!important}.brand-mark{width:33px;height:33px}.brand{gap:8px}.mobile-menu{max-height:calc(100dvh - 76px)}h1{font-size:2.45rem;letter-spacing:-.045em}.hero.section-dark{padding-top:35px}.footer-grid{grid-template-columns:1fr 1fr;gap:30px 20px}.footer-grid .footer-col:first-child{grid-column:1/-1}.footer-bottom{gap:16px}.site-footer{padding-top:38px}.tier.professional-tier{display:flex;gap:12px;padding:26px}.professional-tier ul{margin:12px 0}.professional-tier .btn{width:100%}.table-wrap{margin-inline:-2px}.compare-table th,.compare-table td{padding:12px;font-size:13px}.card,.tier,.guide-card{padding:24px}.calc{padding:22px}.calc-results{grid-template-columns:1fr}.callout h2{font-size:1.85rem}.nav-account{max-width:128px}.nav-account .nav-cta{padding:10px!important;font-size:12px}.site-header .nav-account .nav-account-menu{right:-45px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}}
/* Keep secondary navigation and figures in the same upright type system. */
.alleg-grid summary,.footer-tagline,.calc-row .val,.pipeline h3 .step-num,.step .step-num,.bstat-leader,.mini-kpi strong,.icon-badge,.matrix thead th{font-family:var(--sans);font-style:normal}
.alleg-grid summary{font-weight:500;letter-spacing:-.02em}
.alleg-grid details[open] summary::after{content:'+';transform:rotate(45deg)}
.helpline-box a,.helpline-box strong,.calc-savings strong{color:#C7AD7B}
@media(max-width:1100px){.site-header .nav-account{display:none}}
/* Intrinsic sizing must not let long select options or canvas defaults widen a grid. */
.grid.two-col{grid-template-columns:minmax(0,1fr)}
.grid>*,.form,.form-row,.chart-panel,.chart-panel>div{min-width:0}
#contact-form{width:100%;max-width:100%;grid-template-columns:minmax(0,1fr)}
.form-row{grid-template-columns:minmax(0,1fr)}
.form-row input:not([type=checkbox]):not([type=radio]):not(.visually-hidden),.form-row select,.form-row textarea{width:100%;min-width:0;max-width:100%}
#contact-form button{max-width:100%}
.chart-panel{max-width:100%;padding:clamp(18px,3vw,28px)}
.chart-panel>div{width:100%;max-width:100%}
.chart-panel canvas{width:100%!important;max-width:100%;min-width:0}
.chart-panel .chart-note,.chart-panel h4{overflow-wrap:anywhere}
@media(min-width:760px){.grid.two-col{grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr)}}
/* Demo chart cards must fit their track before canvas dimensions are measured. */
.demo-results,.demo-results .chart-grid,.demo-results .chart-cell{min-width:0;max-width:100%}
.demo-results .chart-grid{grid-template-columns:minmax(0,1fr)}
.demo-results .chart-cell canvas{max-width:100%;min-width:0}
.demo-results .chart-cell h4{overflow-wrap:anywhere}
.demo-results .author-bar{grid-template-columns:minmax(0,1fr) minmax(24px,1fr) max-content}
.demo-results .author-bar>*{min-width:0;overflow-wrap:anywhere}
@media(min-width:780px){.demo-results .chart-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Current secondary pages: navy introductions and clear, gold actions.
   Shared navigation, the homepage, demo reading surfaces and historical assets
   are outside this treatment. Long articles and form fields stay on paper. */
body:not(.demo-page) main .hero.section-dark{background:#0B1B33;color:#FBFAF7;border-bottom-color:#31425A}
body:not(.demo-page) main .hero.section-dark :is(h1,h2,h3){color:#FBFAF7}
body:not(.demo-page) main .hero.section-dark :is(p,.lead){color:#CFD6E0}
body:not(.demo-page) main .hero.section-dark .eyebrow{color:#C7AD7B}
body:not(.demo-page) main .hero.section-dark .eyebrow::after{background:#C7AD7B}
body:not(.demo-page) main .hero.section-dark a:not(.btn){color:#E2CBA1}
body:not(.demo-page) main .hero.section-dark a:not(.btn):hover{color:#FFF}
body:not(.demo-page) main .hero.section-dark .btn-ghost{background:transparent;color:#FBFAF7;border-color:#708096}
body:not(.demo-page) main .hero.section-dark .btn-ghost:hover{background:#172B46;color:#FBFAF7;border-color:#C7AD7B}

/* Short overview cards provide colour between the light reading sections. */
body:not(.demo-page) main .cards{display:grid;grid-template-columns:minmax(0,1fr);gap:24px}
@media(min-width:760px){body:not(.demo-page) main .cards.three-col{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(min-width:1101px){body:not(.demo-page) main .cards.three-col{grid-template-columns:repeat(3,minmax(0,1fr))}}
body:not(.demo-page) main :is(.cards>.card,.grid>.card,.usecase,.guide-card){
  --ink:#FBFAF7;--ink-muted:#CFD6E0;--rule:#35465D;
  --gold:#C7AD7B;--gold-700:#DFC798;
  background:#0B1B33;color:#FBFAF7;border-color:#31425A
}
body:not(.demo-page) main :is(.cards>.card,.grid>.card,.usecase,.guide-card) :is(h2,h3,h4,strong){color:#FBFAF7}
body:not(.demo-page) main :is(.cards>.card,.grid>.card,.usecase,.guide-card) :is(p,li,.illustrative){color:#CFD6E0}
body:not(.demo-page) main :is(.cards>.card,.grid>.card,.usecase,.guide-card) a:not(.btn){color:#E2CBA1}
body:not(.demo-page) main :is(.cards>.card,.grid>.card,.usecase,.guide-card) a:not(.btn):hover{color:#FFF}
body:not(.demo-page) main :is(.cards>.card,.grid>.card,.usecase,.guide-card) .badge{background:#172B46;color:#E2CBA1;border:1px solid #526078}
body:not(.demo-page) main :is(.cards>.card,.grid>.card,.usecase,.guide-card):hover{border-color:#C7AD7B}
body:not(.demo-page) main :is(.hero.section-dark,.cards>.card,.grid>.card,.usecase,.guide-card,.callout) :is(.btn-primary,.btn-accent,.btn-outline){background:#C7AD7B;color:#0B1B33;border-color:#C7AD7B}
body:not(.demo-page) main :is(.hero.section-dark,.cards>.card,.grid>.card,.usecase,.guide-card,.callout) :is(.btn-primary,.btn-accent,.btn-outline):hover{background:#D6BF94;color:#0B1B33;border-color:#D6BF94}
body:not(.demo-page) main :is(.hero.section-dark,.cards>.card,.grid>.card,.usecase,.guide-card,.callout) :focus-visible{outline-color:#E2CBA1}

/* Professional role details use the same navy panel and gold selection. */
.pro-page .pro-audience-tabs button[aria-selected=true]{background:#C7AD7B;color:#0B1B33;border-color:#AE8B4E}
.pro-page .pro-audience-tabs button[aria-selected=true] span{color:#0B1B33}
.pro-page .pro-audience-panel{background:#0B1B33;border-color:#31425A;color:#FBFAF7}
.pro-page .pro-audience-panel :is(h3,li),.pro-page .pro-audience-panel .pro-sequence>span{color:#FBFAF7}
.pro-page .pro-audience-panel .pro-audience-copy>p:not(.pro-audience-label),.pro-page .pro-audience-panel .pro-audience-visual p{color:#CFD6E0}
.pro-page .pro-audience-panel :is(.pro-audience-label,.pro-small-label){color:#C7AD7B}
.pro-page .pro-audience-panel .pro-audience-visual{border-color:#526078}
.pro-page .pro-audience-panel .pro-audience-copy li::before{background:#C7AD7B}
.pro-page .pro-audience-panel .pro-sequence>span:nth-child(2) i{background:#C7AD7B;color:#0B1B33;border-color:#C7AD7B}
.pro-page .pro-contact-card{background:#0B1B33;border-color:#31425A;color:#FBFAF7}
.pro-page .pro-contact-card h2{color:#FBFAF7}
.pro-page .pro-contact-card :is(p:not(.eyebrow),.pro-contact-action>span){color:#CFD6E0}
.pro-page .pro-contact-card .eyebrow{color:#C7AD7B}
.pro-page .pro-contact-card .btn-primary{background:#C7AD7B;color:#0B1B33;border-color:#C7AD7B}
.pro-page .pro-contact-card .btn-primary:hover{background:#D6BF94;color:#0B1B33;border-color:#D6BF94}
.pro-page :is(.pro-contact-card,.pro-audience-panel) :focus-visible{outline-color:#E2CBA1}

@media print{
  body:not(.demo-page) main :is(.hero.section-dark,.cards>.card,.grid>.card,.usecase,.guide-card,.callout),
  .pro-page :is(.pro-contact-card,.pro-audience-panel){background:#FFF;color:#0B1B33;border-color:#8994A3}
  body:not(.demo-page) main :is(.hero.section-dark,.cards>.card,.grid>.card,.usecase,.guide-card,.callout) :is(h1,h2,h3,h4,p,li,strong,a,.eyebrow,.badge),
  .pro-page :is(.pro-contact-card,.pro-audience-panel) :is(h2,h3,p,li,.pro-small-label,.pro-sequence>span,.pro-contact-action>span){color:#0B1B33!important}
  body:not(.demo-page) main :is(.usecase,.guide-card) .badge{background:#F5F1E8;border-color:#8994A3}
}
