:root{
--ink:#101820;
--paper:#f7f7f3;
--white:#fff;
--blue:#1746d1;
--blue-dark:#0d2f9d;
--red:#d43b2f;
--green:#14705e;
--yellow:#f1d64b;
--line:#c8ccd0;
--muted:#58616b;
--dark:#101820;
--dark-muted:#c7cdd3;
--s4:4px;
--s8:8px;
--s12:12px;
--s16:16px;
--s24:24px;
--s32:32px;
--s40:40px;
--s64:64px;
--max:1240px;
--measure:72ch;
--header:64px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background-color:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif;font-size:1rem;line-height:1.65}
body.menu-open{position:fixed;width:100%}
a{color:var(--blue);text-decoration-thickness:1px;text-underline-offset:var(--s4)}
a:hover{color:var(--blue-dark)}
a,button,input,textarea,select{font:inherit}
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid var(--blue);outline-offset:var(--s4)}
button{cursor:pointer}
img,svg{display:block;max-width:100%}
h1,h2,h3,p,li,dt,dd,th,td,address,label{overflow-wrap:anywhere}
h1,h2,h3{line-height:1.06;letter-spacing:-.035em;margin-top:0}
h1{font-size:clamp(2.75rem,8vw,7rem);max-width:12ch;margin-bottom:var(--s24)}
h2{font-size:clamp(2rem,4.5vw,4rem);margin-bottom:var(--s24)}
h3{font-size:clamp(1.25rem,2vw,1.75rem);margin-bottom:var(--s12)}
p{margin-top:0;margin-bottom:var(--s24)}
ul,ol{margin-top:0;margin-bottom:var(--s24);padding-left:var(--s24)}
li+li{margin-top:var(--s8)}
blockquote{margin:var(--s32) 0;padding:var(--s24);border-left:8px solid var(--yellow);font-size:1.2rem}
.container{width:min(calc(100% - var(--s32)),var(--max));margin-inline:auto}
.skip-link{position:fixed;z-index:1000;left:var(--s16);top:var(--s16);padding:var(--s12) var(--s16);background-color:var(--ink);color:var(--white);transform:translateY(calc((var(--s64) + var(--s32)) * -1))}
.skip-link:focus{transform:translateY(0)}
.site-header{height:var(--header);background-color:var(--white);border-bottom:1px solid var(--line)}
.header-row{height:100%;display:flex;align-items:center;gap:var(--s24)}
.header-row>*{min-width:0}
.brand{display:flex;align-items:center;gap:var(--s8);color:var(--ink);font-weight:800;letter-spacing:-.025em;text-decoration:none;line-height:1}
.brand:hover{color:var(--blue)}
.brand-mark{width:28px;height:28px;flex:0 0 auto}
.desktop-nav{display:flex;align-items:center;justify-content:center;gap:var(--s16);margin-left:auto}
.desktop-nav a{color:var(--ink);font-size:.875rem;font-weight:700;text-decoration:none;white-space:nowrap}
.desktop-nav a:hover,.desktop-nav a[aria-current="page"]{color:var(--blue);text-decoration:underline;text-underline-offset:var(--s8)}
.header-cta,.button{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:var(--s8) var(--s16);border:2px solid var(--ink);background-color:var(--yellow);color:var(--ink);font-weight:800;text-decoration:none}
.header-cta:hover,.button:hover{background-color:var(--ink);color:var(--white)}
.header-cta{white-space:nowrap}
.menu-toggle{display:none;margin-left:auto;width:44px;height:40px;padding:var(--s8);border:2px solid var(--ink);background-color:var(--white);color:var(--ink)}
.menu-toggle svg{width:24px;height:24px}
.mobile-menu{position:fixed;z-index:900;inset:0;background-color:var(--ink);color:var(--white);overflow-y:auto;padding:var(--s64) var(--s16) var(--s32)}
.mobile-menu[hidden]{display:none}
.mobile-menu-inner{width:min(100%,var(--max));min-height:calc(100vh - var(--s64) - var(--s32));margin-inline:auto;display:flex;flex-direction:column;align-items:stretch}
.mobile-close-row{display:flex;justify-content:flex-end}
.mobile-close{width:44px;height:44px;border:2px solid var(--white);background-color:var(--ink);color:var(--white)}
.mobile-nav{margin-block:auto;padding:var(--s32) 0;list-style:none}
.mobile-nav li+li{margin-top:var(--s16)}
.mobile-nav a{display:block;color:var(--white);font-size:clamp(1.65rem,8vw,3rem);font-weight:800;line-height:1.1;text-decoration:none}
.mobile-nav .button{color:var(--ink);font-size:1rem}
.mobile-nav .button:hover{color:var(--white)}
.site-main{display:block}
.hero{padding-top:var(--s64);padding-bottom:var(--s64)}
.hero-grid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(240px,.6fr);gap:var(--s64);align-items:end}
.hero-grid>*{min-width:0}
.eyebrow{display:inline-block;margin-bottom:var(--s16);color:var(--blue-dark);font-size:.875rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
.hero-copy{max-width:var(--measure);font-size:clamp(1.15rem,2vw,1.45rem)}
.hero-note{border-top:8px solid var(--blue);padding-top:var(--s24)}
.hero-note strong{display:block;font-size:2.25rem;line-height:1;margin-bottom:var(--s12)}
.rule-section{padding-top:var(--s64);padding-bottom:var(--s64);border-top:1px solid var(--line)}
.section-heading{display:grid;grid-template-columns:minmax(0,.55fr) minmax(0,1.45fr);gap:var(--s32);align-items:start;margin-bottom:var(--s40)}
.section-heading>*{min-width:0}
.section-heading p{max-width:var(--measure);margin-top:var(--s8)}
.split-index{display:grid;grid-template-columns:minmax(220px,.65fr) minmax(0,1.35fr);gap:var(--s64);align-items:start}
.split-index>*{min-width:0}
.index-nav{position:sticky;top:var(--s24);margin:0;padding:0;list-style:none;border-top:1px solid var(--ink)}
.index-nav li{margin:0;border-bottom:1px solid var(--line)}
.index-nav a{display:grid;grid-template-columns:2.5rem minmax(0,1fr);gap:var(--s12);padding:var(--s16) 0;color:var(--ink);font-weight:800;text-decoration:none}
.index-nav a:hover{color:var(--blue)}
.index-number{color:var(--blue);font-variant-numeric:tabular-nums}
.expanded-list{display:grid;gap:var(--s24)}
.expanded-list>*{min-width:0}
.entry{min-height:260px;padding:var(--s32);background-color:var(--white);border-top:8px solid var(--blue);display:grid;grid-template-columns:minmax(0,1fr) auto;gap:var(--s24);align-items:end}
.entry>*{min-width:0}
.entry:nth-child(2){border-color:var(--red)}
.entry:nth-child(3){border-color:var(--green)}
.entry:nth-child(4){border-color:var(--yellow)}
.entry:nth-child(5){border-color:var(--ink)}
.entry h3{font-size:clamp(1.65rem,4vw,3.2rem);max-width:15ch}
.entry p{max-width:62ch;margin-bottom:0}
.entry-link{align-self:end;font-weight:800;white-space:nowrap}
.support-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--s24)}
.support-grid>*{min-width:0}
.support-card{padding:var(--s24);border-top:1px solid var(--ink)}
.support-card .label{display:block;margin-bottom:var(--s12);color:var(--muted);font-size:.875rem;font-weight:800;text-transform:uppercase}
.page-intro{padding-top:var(--s64);padding-bottom:var(--s40);border-bottom:1px solid var(--line)}
.page-intro h1{font-size:clamp(2.75rem,7vw,6rem)}
.page-intro p{max-width:var(--measure);font-size:1.2rem}
.article-wrap{width:min(calc(100% - var(--s32)),var(--max));margin-inline:auto;padding-top:var(--s64);padding-bottom:var(--s64);display:grid;grid-template-columns:minmax(180px,.45fr) minmax(0,1.55fr);gap:var(--s64)}
.article-wrap>*{min-width:0}
.article-aside{border-top:8px solid var(--yellow);padding-top:var(--s16)}
.article-aside p{color:var(--muted);font-size:.95rem}
.article{max-width:var(--measure)}
.article section+section{margin-top:var(--s64)}
.article h2{font-size:clamp(1.8rem,3.5vw,3rem)}
.article h3{margin-top:var(--s32)}
.article-lead{font-size:1.2rem}
.comparison{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s24);margin:var(--s32) 0}
.comparison>*{min-width:0}
.comparison-panel{padding:var(--s24);background-color:var(--white);border-top:8px solid var(--blue)}
.comparison-panel:nth-child(2){border-color:var(--red)}
.table-wrap{max-width:100%;overflow-x:auto;margin:var(--s32) 0}
table{width:100%;border-collapse:collapse;background-color:var(--white)}
caption{text-align:left;font-size:1.25rem;font-weight:800;padding-bottom:var(--s12)}
th,td{padding:var(--s12) var(--s16);border:1px solid var(--line);text-align:left;vertical-align:top}
th{background-color:var(--ink);color:var(--white)}
.definition-list{border-top:1px solid var(--ink)}
.definition-list div{display:grid;grid-template-columns:minmax(140px,.45fr) minmax(0,1.55fr);gap:var(--s24);padding:var(--s16) 0;border-bottom:1px solid var(--line)}
.definition-list>*{min-width:0}
.definition-list dt{font-weight:800}
.definition-list dd{margin:0}
.contact-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(240px,.75fr);gap:var(--s64);padding-top:var(--s64);padding-bottom:var(--s64)}
.contact-grid>*{min-width:0}
.contact-form{padding:var(--s32);background-color:var(--white);border-top:8px solid var(--blue)}
.form-field{margin-bottom:var(--s24)}
.form-field label{display:block;margin-bottom:var(--s8);font-weight:800}
.form-field input,.form-field textarea,.form-field select{width:100%;padding:var(--s12);border:2px solid var(--ink);background-color:var(--white);color:var(--ink);border-radius:0}
.form-field textarea{min-height:180px;resize:vertical}
.form-field .field-hint{display:block;margin-top:var(--s8);color:var(--muted);font-size:.875rem}
.form-field .error{display:none;margin-top:var(--s8);color:#a01913;font-weight:800}
.form-field.is-invalid .error{display:block}
.form-field.is-invalid input,.form-field.is-invalid textarea,.form-field.is-invalid select{border-color:#a01913}
.form-status{margin-top:var(--s16);font-weight:800}
.contact-details{border-top:8px solid var(--yellow);padding-top:var(--s24)}
.contact-details address{font-style:normal;margin-bottom:var(--s24)}
.legal{width:min(calc(100% - var(--s32)),var(--measure));margin-inline:auto;padding-top:var(--s64);padding-bottom:var(--s64)}
.legal h1{font-size:clamp(2.75rem,7vw,5.5rem)}
.legal section+section{margin-top:var(--s40)}
.legal h2{font-size:clamp(1.6rem,3vw,2.5rem)}
.site-footer{background-color:var(--dark);color:var(--white);padding-top:var(--s64);padding-bottom:var(--s32)}
.footer-grid{display:grid;grid-template-columns:1.25fr 1fr 1fr;gap:var(--s40)}
.footer-grid>*{min-width:0}
.site-footer h2{font-size:1rem;letter-spacing:.08em;text-transform:uppercase}
.site-footer p,.site-footer address{color:var(--dark-muted)}
.site-footer address{font-style:normal}
.site-footer a{color:var(--white)}
.site-footer ul{padding:0;list-style:none}
.site-footer li+li{margin-top:var(--s8)}
.footer-base{display:flex;justify-content:space-between;gap:var(--s24);margin-top:var(--s40);padding-top:var(--s24);border-top:1px solid #56616c;color:var(--dark-muted);font-size:.875rem}
.site-footer :focus-visible,.mobile-menu :focus-visible,.cookie-banner :focus-visible{outline-color:var(--yellow)}
.cookie-banner{position:fixed;z-index:950;right:var(--s16);bottom:var(--s16);left:var(--s16);width:min(calc(100% - var(--s32)),var(--max));margin-inline:auto;padding:var(--s24);background-color:var(--ink);color:var(--white);border-top:8px solid var(--yellow)}
.cookie-banner[hidden]{display:none}
.cookie-main{display:flex;align-items:center;gap:var(--s24)}
.cookie-main>*{min-width:0}
.cookie-copy{flex:1}
.cookie-copy p{margin:0;color:var(--dark-muted)}
.cookie-copy a{color:var(--white)}
.cookie-actions{display:flex;justify-content:flex-end;gap:var(--s8)}
.cookie-actions button{flex:1 1 auto;padding:var(--s8) var(--s12);border:2px solid var(--white);background-color:var(--white);color:var(--ink);font-weight:800}
.cookie-actions button:nth-child(2){background-color:var(--ink);color:var(--white)}
.cookie-actions button:nth-child(3){border-color:var(--yellow);background-color:var(--yellow);color:var(--ink)}
.cookie-preferences{margin-top:var(--s24);padding-top:var(--s24);border-top:1px solid #56616c}
.cookie-preferences[hidden]{display:none}
.cookie-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--s16)}
.cookie-options>*{min-width:0}
.cookie-option{padding:var(--s16);border:1px solid #68737d}
.cookie-option label{display:flex;gap:var(--s8);align-items:flex-start;font-weight:800}
.cookie-option p{margin:var(--s8) 0 0;color:var(--dark-muted);font-size:.875rem}
@media (max-width:1023px){
:root{--header:52px}
.desktop-nav,.header-cta{display:none}
.menu-toggle{display:block}
.brand{font-size:.95rem}
.hero-grid{grid-template-columns:minmax(0,1fr) minmax(200px,.5fr);gap:var(--s32)}
}
@media (max-width:767px){
.hero-grid,.section-heading,.split-index,.article-wrap,.contact-grid,.footer-grid{grid-template-columns:1fr}
.hero-grid,.section-heading,.split-index,.article-wrap,.contact-grid{gap:var(--s32)}
.index-nav{position:static}
.entry{min-height:0;grid-template-columns:1fr}
.entry-link{white-space:normal}
.support-grid{grid-template-columns:1fr}
.comparison{grid-template-columns:1fr}
.definition-list div{grid-template-columns:1fr;gap:var(--s8)}
.article-wrap{padding-top:var(--s40)}
.article-aside{margin-bottom:var(--s8)}
.footer-base{flex-direction:column}
.cookie-main{display:block}
.cookie-actions{margin-top:var(--s16)}
.cookie-options{grid-template-columns:1fr}
}
@media (max-width:479px){
h1{font-size:2.75rem}
.hero,.page-intro{padding-top:var(--s40)}
.entry,.contact-form{padding:var(--s24)}
.cookie-banner{padding:var(--s16)}
.cookie-actions{flex-direction:column}
.cookie-actions button{width:100%}
}
@media (max-width:399px){
.brand{font-size:.82rem}
.brand-mark{width:24px;height:24px}
.container,.article-wrap,.legal{width:calc(100% - var(--s32))}
}
@media (prefers-reduced-motion:reduce){
*{transition-duration:.01ms!important;animation-duration:.01ms!important}
html{scroll-behavior:auto}
}