:root{--bg:#e3ebf0;--surface:#f1f5f8;--surface2:#d9e5ec;--heading:#192630;--text:#31414d;--muted:#516b7e;--line:#bdced8;--accent:#506a7d;--accent2:#b5c5d0;--warm:#a84f3a;--dark:#243844;--shadow:0 18px 46px rgba(28,48,58,.12);--radius:20px;--max:1180px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font:400 17px/1.68 "Segoe UI Variable Text","Segoe UI",Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;font-synthesis:none}body.dark{--bg:#293d49;--surface:#2e3d47;--surface2:#364854;--heading:#f1f6f9;--text:#d9e5df;--muted:#b5c5bd;--line:#475f70;--accent:#9eb5c5;--accent2:#5b798f;--warm:#e2a184;--dark:#1f303a;--shadow:0 18px 46px rgba(9,16,22,.22)}a{color:var(--heading);text-decoration:none}a:hover{color:var(--accent)}img{max-width:100%;display:block}.container{width:min(var(--max),calc(100% - 2rem));margin:auto}.skip{position:absolute;left:-999px;top:0;background:#fff;padding:.7rem;z-index:1000}.skip:focus{left:.5rem}.contact-strip{background:var(--dark);color:#dce8ef;font-size:.84rem}.contact-strip__inner{display:flex;justify-content:flex-end;gap:1rem;padding:.4rem 0}.contact-strip a{color:#fff}header{position:sticky;top:0;z-index:50;background:color-mix(in srgb,var(--bg) 92%,transparent);backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}.nav{height:78px;display:flex;align-items:center;gap:1.4rem}.brand{display:inline-flex;align-items:center;gap:.65rem;font-weight:800;letter-spacing:.02em}.brand-mark{width:38px;height:38px}.brand-word{font-size:1.4rem;text-transform:uppercase}.brand-v{color:var(--heading)}.brand-rest{color:var(--accent)}.navlinks{margin-left:auto;display:flex;gap:1.1rem;align-items:center}.navlinks a{font-size:.94rem;color:var(--text)}.navlinks .active{color:var(--heading);font-weight:700}.nav-actions{display:flex;align-items:center;gap:.65rem}.icon-btn,.menu-btn,.cookie-settings-button{border:1px solid var(--line);background:var(--surface);color:var(--heading);border-radius:999px;padding:.55rem .72rem;cursor:pointer}.menu-btn{display:none}.mobile-nav{display:none;padding:1rem 1.2rem;border-top:1px solid var(--line);background:var(--surface)}.mobile-nav.open{display:grid;gap:.8rem}.button{display:inline-flex;justify-content:center;align-items:center;gap:.45rem;background:var(--heading);color:var(--bg)!important;padding:.78rem 1.15rem;border-radius:999px;font-weight:700;border:1px solid var(--heading);cursor:pointer}.button:hover{transform:translateY(-1px);opacity:.92}.button.ghost{background:transparent;color:var(--heading)!important;border-color:var(--line)}.hero,.page-hero{position:relative;overflow:hidden}.hero{padding:6.8rem 0 5rem;background:radial-gradient(circle at 80% 20%,color-mix(in srgb,var(--accent2) 54%,transparent),transparent 34%),linear-gradient(145deg,var(--surface),var(--bg))}.hero:after,.page-hero:after{content:"";position:absolute;width:420px;height:420px;border:1px solid color-mix(in srgb,var(--accent) 35%,transparent);border-radius:50%;right:-160px;top:-220px}.hero-grid,.grid-2,.content-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(300px,.75fr);gap:3.2rem;align-items:center}.hero h1,.page-hero h1{font-size:clamp(2.8rem,7vw,5.8rem);line-height:1.02;letter-spacing:-.055em;margin:.7rem 0 1.4rem;color:var(--heading)}.page-hero{padding:5rem 0 3.8rem;background:linear-gradient(145deg,var(--surface),var(--surface2))}.page-hero h1{font-size:clamp(2.5rem,5.3vw,4.6rem)}.page-hero p{max-width:820px;font-size:1.15rem}.accent-text{color:var(--accent)}.lead,.intro{font-size:1.15rem;max-width:760px}.badge,.eyebrow,.report-kicker{display:inline-block;text-transform:uppercase;letter-spacing:.13em;font-size:.78rem;font-weight:800;color:var(--accent)}.actions,.report-actions{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:1.6rem}.trust{display:flex;flex-wrap:wrap;gap:.7rem 1.4rem;margin-top:2rem;color:var(--muted);font-size:.9rem}.hero-side,.card,.visual,.callout,.notice,.office,.report-stat,.report-note,.report-toc{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.hero-side{padding:2rem}.mini-list{display:grid;gap:.7rem;margin-top:1.2rem}.mini-list div{border-top:1px solid var(--line);padding-top:.7rem}.section{padding:5rem 0}.section.soft{background:var(--surface2)}.darkband{background:var(--dark);color:#d9e7ef}.darkband h2,.darkband h3,.darkband a{color:#fff}.section h2{font-size:clamp(2rem,4.4vw,3.5rem);line-height:1.1;letter-spacing:-.04em;color:var(--heading);margin:.4rem 0 1.5rem}.grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.2rem}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.card{padding:1.6rem;display:flex;flex-direction:column}.card h3{font-size:1.25rem;line-height:1.25;color:var(--heading);margin:.4rem 0}.card p{flex:1}.card a{font-weight:700}.visual{padding:1.4rem;overflow:hidden}.visual img{width:100%;min-height:260px;object-fit:contain}.process{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem}.step{padding:1.35rem;border-left:3px solid var(--accent);background:var(--surface);border-radius:0 16px 16px 0}.text-links{display:flex;flex-wrap:wrap;gap:.7rem;margin-top:1.3rem}.text-link{padding:.55rem .8rem;border:1px solid var(--line);border-radius:999px}.content-grid{align-items:start;grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr)}.article{min-width:0}.article h2{margin-top:2.4rem;color:var(--heading);font-size:2rem;line-height:1.2}.article h3{color:var(--heading)}.article li{margin:.45rem 0}.aside{position:sticky;top:110px}.related{display:grid;gap:.8rem}.related a{display:block;padding:1rem;border:1px solid var(--line);border-radius:14px;background:var(--surface)}.related a span{display:block;color:var(--muted);font-size:.9rem;margin-top:.25rem}.callout,.notice{padding:1.35rem;margin:1.5rem 0}.notice{border-left:4px solid var(--accent);border-radius:0 16px 16px 0}.form{display:grid;gap:.55rem;background:var(--surface);border:1px solid var(--line);padding:1.5rem;border-radius:var(--radius);box-shadow:var(--shadow)}input,select,textarea{width:100%;padding:.8rem .9rem;border:1px solid var(--line);border-radius:12px;background:var(--bg);color:var(--text);font:inherit}.offices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.2rem}.office{padding:1.4rem}.office-map{position:relative;min-height:260px;margin-top:1rem;border-radius:16px;overflow:hidden;background:var(--surface2)}.office-map iframe{width:100%;height:300px;border:0}.map-placeholder{display:grid;place-items:center;min-height:260px;text-align:center;padding:1.5rem}.faq{display:grid;gap:.8rem}.faq details{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:1rem 1.2rem}.faq summary{font-weight:700;color:var(--heading);cursor:pointer}footer{background:var(--dark);color:#d5e3eb;padding:3.8rem 0 1.2rem}.footer-grid{display:grid;grid-template-columns:1.5fr .8fr .8fr;gap:2.4rem}.footer-grid a{color:#e8f1f6}.footer-links{display:grid;gap:.55rem}.company-registration{font-size:.82rem;color:#a9beca}.footer-cookie-controls{display:flex;gap:1rem;align-items:center;border-top:1px solid #2f3f4a;margin-top:2rem;padding-top:1rem}.footer-cookie-controls button{background:transparent;color:#e8f1f6}.footer-bottom{display:flex;justify-content:space-between;gap:1rem;border-top:1px solid #2f3f4a;margin-top:1rem;padding-top:1rem;font-size:.84rem;color:#95acbc}.cookie-consent{position:fixed;z-index:100;left:1rem;right:1rem;bottom:1rem}.cookie-consent[hidden]{display:none}.cookie-consent__inner{width:min(900px,100%);margin:auto;background:var(--surface);border:1px solid var(--line);border-radius:20px;box-shadow:0 20px 70px rgba(0,0,0,.25);padding:1.2rem;display:flex;justify-content:space-between;gap:1rem;align-items:center}.cookie-consent__copy h2{margin:0;color:var(--heading);font-size:1.25rem}.cookie-consent__copy p{margin:.3rem 0}.cookie-consent__actions{display:flex;gap:.7rem;flex-shrink:0}.scroll-top{position:fixed;right:1rem;bottom:1rem;width:44px;height:44px;border-radius:50%;border:1px solid var(--line);background:var(--surface);color:var(--heading);opacity:0;pointer-events:none;transition:.2s;z-index:40}.scroll-top.show{opacity:1;pointer-events:auto}.reveal{opacity:0;transform:translateY(18px);transition:.6s ease}.reveal.visible{opacity:1;transform:none}.report-meta{display:flex;flex-wrap:wrap;gap:.6rem 1.2rem;margin:1rem 0 1.8rem;color:var(--muted);font-size:.92rem}.report-stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;margin:1.5rem 0 2rem}.report-stat{padding:1.15rem}.report-stat strong{display:block;font-size:1.65rem;line-height:1.1;color:var(--accent);margin-bottom:.35rem}.report-note{border-left:4px solid var(--accent);padding:1rem 1.2rem;border-radius:0 14px 14px 0;margin:1.5rem 0}.report-table{width:100%;border-collapse:collapse;margin:1.2rem 0 2rem}.report-table th,.report-table td{border:1px solid var(--line);padding:.75rem;text-align:left;vertical-align:top}.report-table th{background:var(--surface2);color:var(--heading)}.source-list li{margin-bottom:.7rem}.report-toc{padding:1.2rem 1.35rem;margin:1.5rem 0}.report-toc a{display:block;margin:.35rem 0}@media(max-width:960px){.navlinks{display:none}.menu-btn{display:inline-flex}.hero-grid,.content-grid,.grid-2{grid-template-columns:1fr}.grid-3{grid-template-columns:repeat(2,minmax(0,1fr))}.process{grid-template-columns:repeat(2,minmax(0,1fr))}.aside{position:static}.footer-grid{grid-template-columns:1fr 1fr}.report-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:640px){.contact-strip__inner{justify-content:center}.nav{height:68px}.brand-word{font-size:1.15rem}.nav-actions .button{display:none}.hero{padding:4.5rem 0 3.4rem}.grid-3,.offices,.process,.footer-grid{grid-template-columns:1fr}.cookie-consent__inner,.cookie-consent__actions{flex-direction:column;align-items:stretch}.footer-bottom{flex-direction:column}.report-stat-grid{grid-template-columns:1fr}.report-actions .button{width:100%}}
/* Contact maps — Version 3.16 */
.office-map{min-height:320px;border:1px solid var(--line);box-shadow:0 12px 34px rgba(0,0,0,.16)}
.office-map iframe{display:block;width:100%;height:320px;border:0;filter:saturate(.82) contrast(.96)}
body.dark .office-map iframe{filter:saturate(.72) brightness(.82) contrast(1.06)}
.map-placeholder{min-height:320px;align-content:center;gap:.45rem;background:linear-gradient(145deg,var(--surface),var(--surface2));color:var(--muted)}
.map-placeholder strong{font-size:1.05rem;color:var(--heading)}
.map-placeholder p{max-width:310px;margin:.1rem auto .7rem}
.map-placeholder__icon{display:grid;place-items:center;width:48px;height:48px;margin:0 auto .35rem;border:1px solid var(--line);border-radius:50%;background:var(--surface);color:var(--accent);font-size:1.45rem}
.map-actions{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-top:.85rem;padding:.85rem 1rem;border:1px solid var(--line);border-radius:14px;background:color-mix(in srgb,var(--surface) 86%,transparent)}
.map-address{color:var(--muted);font-size:.88rem;line-height:1.45}
.map-link{flex:0 0 auto;margin:0;font-size:.88rem;white-space:nowrap}
@media(max-width:640px){.office-map,.office-map iframe,.map-placeholder{min-height:280px;height:280px}.map-actions{align-items:flex-start;flex-direction:column}.map-link{white-space:normal}}


/* Version 3.17 — balanced palette, sharper typography and contact rebuild */
html{background:var(--bg);color-scheme:light dark}
body,h1,h2,h3,h4,h5,h6,button,input,select,textarea{font-family:"Segoe UI Variable Text","Segoe UI",Arial,sans-serif}
h1,h2,h3,h4,h5,h6,.brand-word{font-family:"Segoe UI Variable Display","Segoe UI",Arial,sans-serif;font-synthesis:none}
body{min-width:320px;overflow-x:hidden}
p,li,label,input,select,textarea,button{letter-spacing:0}
h1,h2,h3,h4{font-weight:700}
.hero h1,.page-hero h1,.section h2{letter-spacing:-.035em}
header{background:color-mix(in srgb,var(--bg) 94%,transparent)}
.button,.icon-btn,.menu-btn,.cookie-settings-button,.text-link{transition:transform .18s ease,background-color .18s ease,border-color .18s ease,color .18s ease,box-shadow .18s ease}
.button{font-weight:700;box-shadow:0 8px 22px rgba(18,35,28,.12)}
.button:hover,.text-link:hover{transform:translateY(-1px)}
:focus-visible{outline:3px solid color-mix(in srgb,var(--accent) 68%,#fff);outline-offset:3px}
.reveal{opacity:1;transform:none;transition:none}
.brand-mark{width:38px;height:38px;flex:0 0 38px}
.card,.hero-side,.visual,.callout,.notice,.office,.report-stat,.report-note,.report-toc,.form{box-shadow:var(--shadow)}
input,select,textarea{background:color-mix(in srgb,var(--surface) 78%,var(--bg));border-color:var(--line);font-size:1rem;line-height:1.45}
input:focus,select:focus,textarea:focus{border-color:var(--accent);box-shadow:0 0 0 4px color-mix(in srgb,var(--accent) 18%,transparent);outline:0}
label{font-weight:650;color:var(--heading)}
footer{background:var(--dark)}
.cookie-consent__inner{max-width:780px;padding:1rem 1.1rem;border-radius:16px}
.cookie-consent__copy p{font-size:.92rem;line-height:1.5}
.cookie-consent__actions .button{white-space:nowrap}

.contact-hero{padding:4.5rem 0 3.4rem}
.contact-hero .container{position:relative;z-index:1}
.contact-hero p{max-width:720px}
.contact-main{padding-top:4rem}
.contact-layout{display:grid;grid-template-columns:minmax(280px,.78fr) minmax(0,1.22fr);gap:1.4rem;align-items:start}
.contact-summary{display:grid;gap:1rem;position:sticky;top:112px}
.contact-summary-card,.contact-guidance,.contact-form,.office-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}
.contact-summary-card{padding:1.7rem}
.contact-summary-card h2{font-size:clamp(1.8rem,3vw,2.55rem);margin:.35rem 0 1rem;line-height:1.12}
.contact-summary-card p{margin:.65rem 0}
.contact-detail{display:grid;grid-template-columns:36px 1fr;gap:.7rem;align-items:start;padding:1rem 0;border-top:1px solid var(--line)}
.contact-detail:first-of-type{margin-top:1.2rem}
.contact-detail__icon{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:var(--surface2);color:var(--accent);font-weight:700}
.contact-detail strong{display:block;color:var(--heading);font-size:.9rem;margin-bottom:.12rem}
.contact-detail a,.contact-detail span{overflow-wrap:anywhere}
.contact-guidance{padding:1.25rem 1.35rem;background:color-mix(in srgb,var(--surface2) 72%,var(--surface))}
.contact-guidance h3{margin:.1rem 0 .6rem;font-size:1rem}
.contact-guidance ul{margin:.5rem 0 0;padding-left:1.1rem}
.contact-form{padding:1.7rem;display:block}
.contact-form__head{margin-bottom:1.25rem}
.contact-form__head h2{font-size:clamp(1.65rem,3vw,2.3rem);margin:.25rem 0 .45rem}
.contact-form__head p{margin:0;color:var(--muted)}
.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}
.form-field{display:grid;gap:.42rem;min-width:0}
.form-field--full{grid-column:1/-1}
.form-help{font-size:.84rem;color:var(--muted);margin:0}
.contact-form .button{margin-top:1.2rem;min-height:48px}
.offices-section{padding-top:4.3rem}
.offices-heading{display:flex;justify-content:space-between;gap:2rem;align-items:end;margin-bottom:1.5rem}
.offices-heading h2{margin-bottom:0}
.offices-heading p{max-width:520px;margin:0;color:var(--muted)}
.office-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem}
.office-card{padding:1.5rem;display:grid;grid-template-rows:auto auto 1fr;min-width:0}
.office-card__head{display:flex;gap:1rem;align-items:center;padding-bottom:1.15rem;border-bottom:1px solid var(--line)}
.office-card__number{display:grid;place-items:center;width:46px;height:46px;border-radius:14px;background:var(--surface2);color:var(--accent);font-weight:800}
.office-card__head h3{font-size:1.35rem;margin:0;color:var(--heading)}
.office-card__head p{margin:.15rem 0 0;color:var(--muted);font-size:.9rem}
.office-details{display:grid;grid-template-columns:1fr 1fr;gap:1rem;padding:1.2rem 0}
.office-details div{min-width:0}
.office-details strong{display:block;color:var(--heading);font-size:.88rem;margin-bottom:.25rem}
.office-details address{font-style:normal}
.office-details a{overflow-wrap:anywhere}
.location-panel{position:relative;overflow:hidden;display:grid;grid-template-columns:1fr auto;gap:1rem;align-items:end;min-height:190px;padding:1.35rem;border:1px solid var(--line);border-radius:16px;background:linear-gradient(145deg,color-mix(in srgb,var(--surface2) 84%,transparent),color-mix(in srgb,var(--surface) 92%,transparent))}
.location-panel:before,.location-panel:after{content:"";position:absolute;inset:-30% -10%;background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px);background-size:34px 34px;opacity:.35;transform:rotate(-8deg)}
.location-panel:after{inset:auto 12% 14% auto;width:72px;height:72px;border:1px solid var(--accent);border-radius:50%;background:color-mix(in srgb,var(--accent) 14%,transparent);transform:none;opacity:1}
.location-panel__copy,.location-panel .button{position:relative;z-index:1}
.location-panel__copy strong{display:block;color:var(--heading);font-size:1.05rem;margin-bottom:.25rem}
.location-panel__copy span{display:block;color:var(--muted);font-size:.91rem}
.location-panel .button{align-self:end;background:var(--heading);color:var(--bg)!important;white-space:nowrap}
.office-map,.map-actions{display:none!important}

@media(max-width:960px){
 .contact-layout{grid-template-columns:1fr}
 .contact-summary{position:static;grid-template-columns:1fr 1fr}
 .contact-summary-card{grid-row:span 2}
 .office-details{grid-template-columns:1fr}
}
@media(max-width:720px){
 body{font-size:16px}
 .page-hero h1{font-size:clamp(2.35rem,12vw,3.5rem)}
 .contact-summary{grid-template-columns:1fr}
 .contact-summary-card{grid-row:auto}
 .form-grid,.office-grid{grid-template-columns:1fr}
 .offices-heading{display:block}
 .offices-heading p{margin-top:.75rem}
 .location-panel{grid-template-columns:1fr;min-height:180px}
 .location-panel .button{justify-self:start}
 .cookie-consent{left:.6rem;right:.6rem;bottom:.6rem}
}
@media(max-width:420px){
 .container{width:min(var(--max),calc(100% - 1.25rem))}
 .contact-main,.offices-section,.section{padding-top:3.2rem;padding-bottom:3.2rem}
 .contact-form,.contact-summary-card,.office-card{padding:1.15rem}
 .location-panel{padding:1.1rem}
 .nav{gap:.75rem}
 .brand-mark{width:34px;height:34px;flex-basis:34px}
}


/* Version 3.18 refinement layer */
:root{
  --bg:#dbe6ed;
  --surface:#eaf1f5;
  --surface2:#cbdbe5;
  --heading:#192731;
  --text:#303f4a;
  --muted:#506a7d;
  --line:#afc2ce;
  --accent:#465e6f;
  --accent2:#a9bbc8;
  --dark:#263844;
  --shadow:0 14px 34px rgba(27,45,55,.11);
}
body.dark{
  --bg:#2f4351;
  --surface:#384f5e;
  --surface2:#425e70;
  --heading:#f5f8fa;
  --text:#e3edf3;
  --muted:#c0d0da;
  --line:#597d94;
  --accent:#b7cfde;
  --accent2:#7299b2;
  --dark:#243642;
  --shadow:0 14px 34px rgba(10,18,24,.18);
}
html{background:#2f4351;color-scheme:dark light}
body{
  font-family:"Segoe UI Variable Text","Aptos","Segoe UI",Roboto,Arial,sans-serif;
  font-size:17px;
  line-height:1.65;
  font-weight:400;
  font-kerning:normal;
  font-feature-settings:"kern" 1,"liga" 1,"calt" 1;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  text-rendering:optimizeLegibility;
}
h1,h2,h3,h4,.brand-word,.button,.eyebrow,.badge,.report-kicker{
  font-family:"Segoe UI Variable Display","Aptos Display","Segoe UI",Roboto,Arial,sans-serif;
}
h1,h2,h3,h4{font-weight:700;text-wrap:balance}
p,li,td,th,label,input,select,textarea{font-weight:400}
header{background:color-mix(in srgb,var(--bg) 97%,var(--dark));backdrop-filter:none;-webkit-backdrop-filter:none}
.reveal,.reveal.visible{opacity:1!important;transform:none!important;transition:none!important}
.card,.hero-side,.visual,.callout,.notice,.office,.report-stat,.report-note,.report-toc,.contact-summary-card,.contact-guidance,.contact-form,.office-card{box-shadow:var(--shadow)}
.button{font-weight:700;letter-spacing:.005em}
input,select,textarea{font-size:16px;line-height:1.45;background:color-mix(in srgb,var(--surface) 78%,var(--bg));border-color:var(--line)}
input:focus,select:focus,textarea:focus{outline:3px solid color-mix(in srgb,var(--accent) 35%,transparent);outline-offset:1px;border-color:var(--accent)}
.page-hero{padding:4.6rem 0 3.4rem}
.page-hero h1{max-width:980px}
.section{padding:4.5rem 0}

/* Rebuilt contact page */
.contact-main{padding-top:4rem}
.contact-page-grid{display:grid;grid-template-columns:minmax(280px,.72fr) minmax(0,1.28fr);gap:1.35rem;align-items:start}
.contact-intro-card,.contact-form,.office-row{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}
.contact-intro-card{padding:1.7rem;position:sticky;top:108px}
.contact-intro-card h2{font-size:clamp(1.8rem,3vw,2.5rem);line-height:1.12;margin:.35rem 0 .85rem}
.contact-intro-card>p{margin:.55rem 0 1.25rem}
.contact-methods{display:grid;gap:.15rem;border-top:1px solid var(--line)}
.contact-method{display:grid;grid-template-columns:42px minmax(0,1fr);gap:.8rem;padding:1rem 0;border-bottom:1px solid var(--line);align-items:start}
.contact-method__icon{display:grid;place-items:center;width:38px;height:38px;border-radius:11px;background:var(--surface2);color:var(--accent);font-weight:800}
.contact-method strong{display:block;color:var(--heading);font-size:.92rem;margin-bottom:.1rem}
.contact-method a,.contact-method span{overflow-wrap:anywhere}
.contact-note{margin-top:1.1rem;padding:1rem 1.05rem;border-radius:14px;background:var(--surface2);color:var(--text)}
.contact-note strong{display:block;color:var(--heading);margin-bottom:.3rem}
.contact-note p{margin:.25rem 0;font-size:.94rem}
.contact-form{padding:1.7rem}
.contact-form__head{margin-bottom:1.25rem}
.contact-form__head h2{font-size:clamp(1.75rem,3vw,2.35rem);margin:.2rem 0 .4rem}
.contact-form__head p{margin:0;color:var(--muted)}
.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}
.form-field{display:grid;gap:.42rem;min-width:0}
.form-field--full{grid-column:1/-1}
.form-help{font-size:.86rem;color:var(--muted);margin:0}
.contact-form .button{margin-top:1.15rem;min-height:48px}
.contact-privacy{font-size:.84rem;color:var(--muted);margin:1rem 0 0}
.contact-privacy a{text-decoration:underline;text-underline-offset:2px}
.offices-section{padding-top:4rem}
.offices-heading{display:flex;justify-content:space-between;align-items:end;gap:2rem;margin-bottom:1.3rem}
.offices-heading h2{margin-bottom:0}
.offices-heading p{max-width:520px;margin:0;color:var(--muted)}
.office-list{display:grid;gap:1rem}
.office-row{display:grid;grid-template-columns:minmax(180px,.6fr) minmax(220px,.9fr) minmax(220px,.9fr) auto;gap:1.2rem;align-items:center;padding:1.35rem 1.45rem}
.office-row__title{display:flex;align-items:center;gap:.8rem}
.office-row__number{display:grid;place-items:center;width:44px;height:44px;border-radius:13px;background:var(--surface2);color:var(--accent);font-weight:800;flex:0 0 auto}
.office-row h3{margin:0;font-size:1.22rem;color:var(--heading)}
.office-row__label{display:block;font-size:.82rem;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);margin-bottom:.25rem;font-weight:700}
.office-row address{font-style:normal;margin:0}
.office-row__contact a{display:block;overflow-wrap:anywhere}
.office-row .button{white-space:nowrap}

/* Insights category navigation and grouped cards */
.insight-tabs{display:flex;flex-wrap:wrap;gap:.7rem;margin:1.75rem 0 0;padding:.85rem;border:1px solid var(--line);border-radius:18px;background:var(--surface);box-shadow:var(--shadow)}
.insight-tab{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:.68rem 1rem;border:1px solid var(--line);border-radius:999px;background:var(--bg);color:var(--heading);font-weight:700;line-height:1.15;text-align:center}
.insight-tab:hover,.insight-tab:focus{background:var(--heading);color:var(--bg);border-color:var(--heading)}
.insight-group{scroll-margin-top:112px}
.insight-group+.insight-group{border-top:1px solid var(--line)}
.insight-group__head{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,.55fr);gap:2rem;align-items:end;margin-bottom:1.5rem}
.insight-group__head h2{margin-bottom:0}
.insight-group__head p{margin:0;color:var(--muted)}
.insight-group .card{min-height:100%}
.insight-group .card h3{font-size:1.22rem}

@media(max-width:960px){
  .contact-page-grid{grid-template-columns:1fr}
  .contact-intro-card{position:static}
  .office-row{grid-template-columns:1fr 1fr}
  .office-row .button{justify-self:start}
  .insight-group__head{grid-template-columns:1fr}
}
@media(max-width:720px){
  body{font-size:16px}
  .form-grid,.office-row{grid-template-columns:1fr}
  .offices-heading{display:block}
  .offices-heading p{margin-top:.7rem}
  .insight-tabs{flex-wrap:nowrap;overflow-x:auto;overscroll-behavior-inline:contain;scrollbar-width:thin;padding:.7rem;gap:.6rem}
  .insight-tab{flex:0 0 auto;min-height:40px;padding:.62rem .9rem}
}
@media(max-width:420px){
  .contact-intro-card,.contact-form,.office-row{padding:1.15rem}
  .contact-method{grid-template-columns:36px minmax(0,1fr)}
  .contact-method__icon{width:34px;height:34px}
}


/* Version 3.20 FAQ / LLM readability */
.faq-topic-links{columns:2;column-gap:2rem;margin:1.25rem 0 0;padding-left:1.2rem}.faq-topic-links li{break-inside:avoid;margin:.55rem 0}.faq-section{padding-top:2rem}.faq-section+.faq-section{padding-top:1rem}.faq-section h2{max-width:850px}.faq details p{max-width:900px;line-height:1.75}.faq details summary{font-weight:800;line-height:1.4}@media(max-width:700px){.faq-topic-links{columns:1}}

/* Version 3.22 editorial research library */
.publication{--publication-accent:#6b94ad}
.publication-hero{position:relative;overflow:hidden;padding:5.4rem 0 4.6rem;background:linear-gradient(125deg,color-mix(in srgb,var(--dark) 94%,var(--publication-accent)),var(--dark));border-bottom:1px solid color-mix(in srgb,var(--publication-accent) 60%,var(--line))}
.publication-hero:before{content:"";position:absolute;inset:auto -10% -45% 42%;height:420px;border:1px solid color-mix(in srgb,var(--publication-accent) 32%,transparent);border-radius:50%;transform:rotate(-12deg)}
.publication-hero__grid{position:relative;display:grid;grid-template-columns:minmax(0,1.45fr) minmax(240px,.55fr);gap:4rem;align-items:center}
.publication-kicker{margin:0 0 1.1rem;color:color-mix(in srgb,var(--publication-accent) 72%,white);font-size:.82rem;line-height:1.3;font-weight:800;letter-spacing:.13em;text-transform:uppercase}
.publication-hero h1{max-width:940px;margin:0;color:#f7fafb;font-size:clamp(2.55rem,6.4vw,5.2rem);line-height:.98;letter-spacing:-.045em}
.publication-deck{max-width:830px;margin:1.55rem 0 0;color:#dce8ee;font-size:clamp(1.12rem,2.1vw,1.42rem);line-height:1.55}
.publication-meta{display:flex;flex-wrap:wrap;gap:.6rem 1.35rem;margin:1.6rem 0 0;color:#bbcad3;font-size:.86rem;font-weight:700}
.publication-meta span+span:before{content:"·";margin-right:1.35rem;color:var(--publication-accent)}
.publication-actions{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:2rem}
.publication-actions .button:first-child{background:var(--publication-accent);border-color:var(--publication-accent);color:#14232c!important}
.publication-actions .button.ghost{color:#edf4f7!important;border-color:#6e8796;background:transparent}
.publication-hero__mark{display:grid;place-items:center;min-height:320px;position:relative}
.publication-hero__mark span{position:absolute;border:2px solid color-mix(in srgb,var(--publication-accent) 65%,transparent);border-radius:50%}
.publication-hero__mark span:nth-child(1){width:250px;height:250px}
.publication-hero__mark span:nth-child(2){width:155px;height:155px;transform:translate(40px,-28px)}
.publication-hero__mark span:nth-child(3){width:58px;height:58px;background:color-mix(in srgb,var(--publication-accent) 22%,transparent);transform:translate(-62px,72px)}
.publication-hero__mark span:nth-child(n+4){display:none}
.publication-hero__mark--2 span{display:block!important;width:220px!important;height:2px!important;border:0!important;border-radius:0!important;background:var(--publication-accent)!important;transform-origin:80% 50%}
.publication-hero__mark--2 span:nth-child(1){transform:translateY(-56px) rotate(17deg)}.publication-hero__mark--2 span:nth-child(2){transform:translateY(-28px) rotate(9deg)}.publication-hero__mark--2 span:nth-child(3){transform:rotate(0)}.publication-hero__mark--2 span:nth-child(4){transform:translateY(28px) rotate(-9deg)}.publication-hero__mark--2 span:nth-child(5){transform:translateY(56px) rotate(-17deg)}
.publication-hero__mark--3 span{display:block!important;height:42px!important;border-radius:14px!important;background:transparent!important}.publication-hero__mark--3 span:nth-child(1){width:245px!important;transform:translate(-10px,70px)}.publication-hero__mark--3 span:nth-child(2){width:205px!important;transform:translate(6px,25px)}.publication-hero__mark--3 span:nth-child(3){width:165px!important;transform:translate(22px,-20px)}.publication-hero__mark--3 span:nth-child(4){width:125px!important;transform:translate(38px,-65px)}.publication-hero__mark--3 span:nth-child(5){display:none!important}
.publication-hero__mark--4 span{display:block!important;width:58px!important;height:58px!important;border-radius:10px!important;background:transparent!important}.publication-hero__mark--4 span:nth-child(1){transform:translate(-88px,70px)}.publication-hero__mark--4 span:nth-child(2){transform:translate(-44px,34px)}.publication-hero__mark--4 span:nth-child(3){transform:translate(0,-2px)}.publication-hero__mark--4 span:nth-child(4){transform:translate(44px,-38px)}.publication-hero__mark--4 span:nth-child(5){transform:translate(88px,-74px)}
.publication-hero__mark--5 span{display:block!important;background:transparent!important}.publication-hero__mark--5 span:nth-child(1){width:220px!important;height:130px!important;border-radius:26px!important;transform:translate(-32px,-18px)}.publication-hero__mark--5 span:nth-child(2){width:175px!important;height:105px!important;border-radius:22px!important;transform:translate(54px,42px)}.publication-hero__mark--5 span:nth-child(3){width:250px!important;height:2px!important;border:0!important;border-radius:0!important;background:var(--publication-accent)!important;transform:rotate(-34deg)}.publication-hero__mark--5 span:nth-child(n+4){display:none!important}
.publication-hero__mark--6 span{display:block!important;width:2px!important;border:0!important;border-radius:0!important;background:var(--publication-accent)!important;transform-origin:50% 100%}.publication-hero__mark--6 span:nth-child(1){height:90px!important;transform:translate(-100px,45px)}.publication-hero__mark--6 span:nth-child(2){height:125px!important;transform:translate(-50px,27px)}.publication-hero__mark--6 span:nth-child(3){height:160px!important;transform:none}.publication-hero__mark--6 span:nth-child(4){height:195px!important;transform:translate(50px,-18px)}.publication-hero__mark--6 span:nth-child(5){height:230px!important;transform:translate(100px,-35px)}
.publication-hero__mark--7:before,.publication-hero__mark--7:after{content:"";position:absolute;width:245px;height:2px;background:var(--publication-accent);transform:rotate(24deg)}.publication-hero__mark--7:after{transform:rotate(-28deg)}.publication-hero__mark--7 span{display:block!important;width:42px!important;height:42px!important;background:color-mix(in srgb,var(--publication-accent) 18%,transparent)!important}.publication-hero__mark--7 span:nth-child(1){transform:translate(-105px,58px)}.publication-hero__mark--7 span:nth-child(2){transform:translate(-52px,-72px)}.publication-hero__mark--7 span:nth-child(3){transform:translate(12px,18px)}.publication-hero__mark--7 span:nth-child(4){transform:translate(94px,-48px)}.publication-hero__mark--7 span:nth-child(5){transform:translate(112px,72px)}
.publication-stats{position:relative;margin-top:-1px;background:color-mix(in srgb,var(--surface) 87%,var(--dark));border-bottom:1px solid var(--line)}
.publication-stats__grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}
.publication-stat{padding:1.45rem 1.25rem;border-right:1px solid var(--line)}
.publication-stat:first-child{border-left:1px solid var(--line)}
.publication-stat strong{display:block;color:var(--publication-accent);font-size:clamp(1.55rem,3vw,2.35rem);line-height:1;font-weight:800;letter-spacing:-.035em}
.publication-stat span{display:block;margin-top:.55rem;color:var(--muted);font-size:.85rem;line-height:1.45}
.publication-stat a{color:var(--publication-accent);font-weight:800}
.publication-body{padding-top:4.8rem}
.publication-layout{display:grid;grid-template-columns:minmax(0,790px) minmax(240px,320px);gap:clamp(2rem,6vw,5.5rem);align-items:start;justify-content:space-between}
.publication-article{min-width:0}
.publication-standfirst{padding:0 0 2.3rem;border-bottom:1px solid var(--line)}
.publication-standfirst p{font-size:clamp(1.12rem,1.9vw,1.28rem);line-height:1.68;color:var(--heading)}
.publication-standfirst p:first-child:first-letter{float:left;margin:.12rem .5rem 0 0;color:var(--publication-accent);font-size:4.4rem;line-height:.78;font-weight:800}
.publication-section{padding:2.8rem 0 .4rem;scroll-margin-top:110px}
.publication-section+.publication-section{border-top:1px solid color-mix(in srgb,var(--line) 70%,transparent)}
.publication-section>h2{max-width:720px;margin:0 0 1.25rem;font-size:clamp(1.75rem,3.5vw,2.6rem);line-height:1.08;letter-spacing:-.025em}
.publication-section>p{max-width:760px;line-height:1.8}
.publication-section .section-intro{font-size:1.07rem;color:var(--muted)}
.publication-section sup{font-size:.67em;vertical-align:super;line-height:0}
.publication-section sup a{color:var(--publication-accent);font-weight:800;text-decoration:none}
.layers,.steps,.timeline,.gates{display:grid;gap:.72rem;margin:1.55rem 0 1rem}
.layers__item,.steps__item,.timeline__item,.gates__item{display:grid;grid-template-columns:74px minmax(0,1fr);gap:1rem;padding:1.05rem 1.15rem;border:1px solid var(--line);border-radius:16px;background:var(--surface)}
.layers__lead,.steps__lead,.timeline__lead,.gates__lead{display:grid;place-items:center;align-self:start;min-height:50px;border-radius:12px;background:color-mix(in srgb,var(--publication-accent) 18%,var(--surface2));color:var(--publication-accent);font-size:.9rem;font-weight:800;text-align:center}
.layers h3,.steps h3,.timeline h3,.gates h3{margin:.05rem 0 .2rem;font-size:1.05rem}
.layers p,.steps p,.timeline p,.gates p{margin:0;color:var(--muted);line-height:1.6}
.concept-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem;margin:1.5rem 0}
.concept-card{min-height:100%;padding:1.25rem;border:1px solid var(--line);border-radius:18px;background:linear-gradient(150deg,var(--surface),color-mix(in srgb,var(--surface2) 65%,var(--surface)))}
.concept-card:before{content:"";display:block;width:38px;height:4px;margin-bottom:.85rem;border-radius:9px;background:var(--publication-accent)}
.concept-card h3{margin:0 0 .45rem;font-size:1.12rem}
.concept-card p{margin:0;color:var(--muted);line-height:1.65}
.concept-grid--risk_rings .concept-card:nth-child(1){grid-column:1/-1;border-color:color-mix(in srgb,var(--publication-accent) 68%,var(--line))}
.publication-formula{margin:1.3rem 0!important;padding:1.2rem 1.35rem;border-left:5px solid var(--publication-accent);background:color-mix(in srgb,var(--publication-accent) 12%,var(--surface));color:var(--heading)!important;font-size:1.05rem;font-weight:750}
.case-study{position:relative;margin:1.8rem 0;padding:1.7rem 1.8rem 1.6rem;border:1px solid color-mix(in srgb,var(--publication-accent) 60%,var(--line));border-radius:22px;background:linear-gradient(140deg,color-mix(in srgb,var(--publication-accent) 12%,var(--surface)),var(--surface));overflow:hidden}
.case-study:after{content:"";position:absolute;right:-55px;top:-55px;width:150px;height:150px;border:1px solid color-mix(in srgb,var(--publication-accent) 38%,transparent);border-radius:50%}
.case-study__label{position:relative;z-index:1;color:var(--publication-accent);font-size:.76rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
.case-study h2{position:relative;z-index:1;max-width:650px;margin:.4rem 0 1.1rem;font-size:clamp(1.35rem,2.6vw,1.9rem);line-height:1.18}
.case-study p{position:relative;z-index:1;line-height:1.75}
.table-scroll{margin:1.5rem 0;overflow-x:auto;border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow)}
.publication-table{width:100%;min-width:700px;border-collapse:collapse;background:var(--surface)}
.publication-table th{padding:1rem 1.05rem;background:color-mix(in srgb,var(--publication-accent) 35%,var(--dark));color:#f5f8fa;text-align:left;font-size:.85rem;line-height:1.35}
.publication-table td{padding:1rem 1.05rem;border-top:1px solid var(--line);vertical-align:top;font-size:.92rem;line-height:1.58}
.publication-table tr:nth-child(even) td{background:color-mix(in srgb,var(--surface2) 45%,var(--surface))}
.publication-takeaways{margin:3rem 0 1rem;padding:1.7rem 1.8rem;border-radius:22px;background:var(--dark);color:#edf4f7}
.publication-takeaways h2{margin:0 0 1rem;color:#fff;font-size:1.55rem}
.publication-takeaways ul{display:grid;gap:.7rem;margin:0;padding:0;list-style:none}
.publication-takeaways li{position:relative;padding-left:1.8rem}
.publication-takeaways li:before{content:"✓";position:absolute;left:0;color:var(--publication-accent);font-weight:800}
.publication-sources{padding:3rem 0 1.5rem;border-bottom:1px solid var(--line)}
.publication-sources h2,.publication-scope h2,.publication-about h2{font-size:1.75rem}
.publication-sources>p{color:var(--muted)}
.publication-sources ol{display:grid;gap:.8rem;margin:1.3rem 0 0;padding:0;list-style:none}
.publication-sources li{display:grid;grid-template-columns:30px minmax(0,1fr);gap:.75rem;align-items:start}
.publication-sources li>span{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:color-mix(in srgb,var(--publication-accent) 20%,var(--surface2));color:var(--publication-accent);font-size:.78rem;font-weight:800}
.publication-sources li p{margin:0;font-size:.9rem;line-height:1.55}
.publication-sources li a{text-decoration:underline;text-decoration-color:color-mix(in srgb,var(--publication-accent) 60%,transparent);text-underline-offset:3px}
.publication-scope{padding:2.2rem 0;border-bottom:1px solid var(--line)}
.publication-scope p{color:var(--muted);font-size:.92rem}
.publication-about{margin-top:2.5rem;padding:1.7rem 1.8rem;border:1px solid var(--line);border-radius:20px;background:var(--surface)}
.publication-about h2{margin:.1rem 0 .55rem}
.publication-aside{position:sticky;top:104px;display:grid;gap:1rem}
.publication-toc,.publication-detail,.publication-aside>.related{padding:1.2rem 1.25rem;border:1px solid var(--line);border-radius:18px;background:var(--surface);box-shadow:var(--shadow)}
.publication-aside h2{margin:0 0 .8rem;font-size:.92rem;letter-spacing:.04em;text-transform:uppercase}
.publication-toc{display:grid;gap:.15rem}
.publication-toc a{padding:.48rem 0;border-bottom:1px solid color-mix(in srgb,var(--line) 68%,transparent);color:var(--muted);font-size:.86rem;line-height:1.35}
.publication-toc a:last-child{border-bottom:0}
.publication-toc a:hover{color:var(--publication-accent)}
.publication-detail dl{margin:0}
.publication-detail dl>div{display:grid;grid-template-columns:80px 1fr;gap:.6rem;padding:.45rem 0;border-bottom:1px solid color-mix(in srgb,var(--line) 68%,transparent);font-size:.84rem}
.publication-detail dl>div:last-child{border-bottom:0}
.publication-detail dt{color:var(--muted)}
.publication-detail dd{margin:0;color:var(--heading);font-weight:700}
.publication-aside>.related a{box-shadow:none;background:var(--surface2)}
.editorial-hero{padding:5.3rem 0 4.2rem;background:linear-gradient(140deg,var(--dark),color-mix(in srgb,var(--dark) 80%,#426a84));border-bottom:1px solid var(--line)}
.editorial-hero__grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(280px,.55fr);gap:4rem;align-items:end}
.editorial-hero h1{max-width:820px;margin:.3rem 0 .9rem;color:#f7fafb;font-size:clamp(3rem,7vw,5.8rem);line-height:.95;letter-spacing:-.045em}
.editorial-hero .lead{max-width:780px;color:#d8e5eb}
.editorial-hero__note{padding:1.35rem 1.4rem;border:1px solid #577688;border-radius:18px;background:rgba(255,255,255,.04);color:#cbd9e0}
.editorial-hero__note strong{display:block;margin-bottom:.35rem;color:#fff}
.editorial-hero__note p{margin:0;font-size:.93rem;line-height:1.65}
.section-heading{margin-bottom:1.3rem}
.section-heading h2{max-width:780px;font-size:clamp(2rem,4vw,3.4rem)}
.editorial-card{position:relative;overflow:hidden;padding:1.5rem;border:1px solid var(--line);border-radius:20px;background:var(--surface);box-shadow:var(--shadow)}
.editorial-card:before{content:"";position:absolute;inset:0 auto 0 0;width:5px;background:var(--card-accent)}
.editorial-card--wide{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:2.2rem;align-items:end;padding:2rem 2.1rem;margin-bottom:1.2rem}
.editorial-card--wide h3,.editorial-card--wide>p{grid-column:1}
.editorial-card--wide .editorial-card__meta,.editorial-card--wide>.text-link{grid-column:2;grid-row:auto}
.editorial-card__kicker{margin:0 0 .55rem;color:var(--card-accent);font-size:.76rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
.editorial-card h3{margin:0 0 .65rem;font-size:clamp(1.45rem,2.7vw,2.05rem);line-height:1.12}
.editorial-card h3 a{color:var(--heading)}
.editorial-card>p:not(.editorial-card__kicker){margin:.45rem 0 1rem;color:var(--muted);line-height:1.65}
.editorial-card__meta{display:flex;flex-wrap:wrap;gap:.45rem .9rem;margin:.75rem 0;color:var(--muted);font-size:.8rem;font-weight:700}
.editorial-card__meta span+span:before{content:"·";margin-right:.9rem;color:var(--card-accent)}
.editorial-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.1rem}
.section-alt{background:color-mix(in srgb,var(--surface) 55%,var(--bg));border-top:1px solid var(--line)}
.guide-heading{display:grid;grid-template-columns:1fr minmax(280px,.65fr);gap:2rem;align-items:end;margin-bottom:1.4rem}
.guide-heading h2{margin:.2rem 0 0;font-size:clamp(2rem,4vw,3.2rem)}
.guide-heading>p{margin:0;color:var(--muted)}
.guide-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem}
.guide-row{display:flex;justify-content:space-between;gap:1rem;padding:1rem 1.1rem;border:1px solid var(--line);border-radius:14px;background:var(--surface)}
.guide-row strong,.guide-row small{display:block}
.guide-row small{margin-top:.2rem;color:var(--muted);line-height:1.45}
.guide-row b{color:var(--accent);font-size:1.3rem}
.consolidation-card{padding:2rem;border:1px solid var(--line);border-radius:20px;background:var(--surface);box-shadow:var(--shadow)}
.consolidation-card h2{margin:1.4rem 0 .7rem;font-size:clamp(1.8rem,4vw,2.8rem)}
.consolidation-card .button{margin:1rem 1rem 0 0}.consolidation-card .text-link{display:inline-block}
.narrow{max-width:880px}
@media(max-width:980px){
  .publication-hero__grid{grid-template-columns:1fr}.publication-hero__mark{display:none}.publication-layout{grid-template-columns:1fr}.publication-aside{position:static;grid-template-columns:repeat(2,minmax(0,1fr))}.publication-toc{grid-column:1/-1}.publication-stats__grid{grid-template-columns:repeat(2,minmax(0,1fr))}.publication-stat:nth-child(odd){border-left:1px solid var(--line)}.editorial-hero__grid{grid-template-columns:1fr}.editorial-card--wide{display:block}.editorial-card--wide .editorial-card__meta{margin-top:1rem}
}
@media(max-width:720px){
  .publication-hero{padding:3.8rem 0 3.2rem}.publication-hero h1{font-size:clamp(2.55rem,12vw,4rem)}.publication-meta span+span:before{display:none}.publication-stats__grid{grid-template-columns:1fr}.publication-stat,.publication-stat:first-child,.publication-stat:nth-child(odd){border-left:1px solid var(--line);border-bottom:1px solid var(--line)}.publication-body{padding-top:3.2rem}.publication-aside{grid-template-columns:1fr}.layers__item,.steps__item,.timeline__item,.gates__item{grid-template-columns:58px minmax(0,1fr);padding:.9rem}.concept-grid,.editorial-grid,.guide-list{grid-template-columns:1fr}.case-study,.publication-takeaways,.publication-about{padding:1.3rem}.editorial-hero{padding:4rem 0 3.2rem}.editorial-hero h1{font-size:clamp(3rem,15vw,4.6rem)}.guide-heading{grid-template-columns:1fr}
}

/* Version 3.22.1 — light-first theme with a restrained warm accent */
::selection{background:var(--warm);color:#fff}
.eyebrow,.badge,.report-kicker{color:var(--warm)}
.editorial-hero .eyebrow,.darkband .eyebrow{color:#e2a184}
.navlinks .active{color:var(--warm)}
.hero:after,.page-hero:after{border-color:color-mix(in srgb,var(--warm) 48%,transparent)}
.hero-side{border-top:4px solid color-mix(in srgb,var(--warm) 72%,var(--line))}
.text-link:hover,.icon-btn:hover,.menu-btn:hover{border-color:var(--warm)}
.guide-row b,.contact-detail__icon,.office-card__number{color:var(--warm)}
.editorial-hero__note{border-top-color:#e2a184}
.button:hover{box-shadow:0 10px 30px color-mix(in srgb,var(--warm) 18%,transparent)}

/* Version 3.24.4: publication download controls */
.publication-actions .publication-download{min-height:48px;background:var(--publication-accent);border-color:var(--publication-accent);color:#14232c!important;box-shadow:0 10px 26px rgba(0,0,0,.18)}
.publication-actions .publication-download svg{width:1.05rem;height:1.05rem;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;flex:0 0 auto}
.publication-actions .publication-download:hover{background:color-mix(in srgb,var(--publication-accent) 88%,white);border-color:color-mix(in srgb,var(--publication-accent) 88%,white);opacity:1}
.publication-actions .publication-sources-link{min-height:48px;color:#edf4f7!important;border-color:#7892a2;background:rgba(255,255,255,.02)}
.publication-actions .publication-sources-link:hover{background:rgba(255,255,255,.08);border-color:#a8bac5;color:#fff!important;opacity:1}
.publication-actions .button:focus-visible{outline:3px solid #fff;outline-offset:3px}
@media(max-width:640px){.publication-actions{display:grid;grid-template-columns:1fr}.publication-actions .button{width:100%}}


/* Version 3.25 — VCI identity and visual refinement */
:root{
  --bg:#e9f0f0;
  --surface:#f8faf9;
  --surface2:#dce8e7;
  --heading:#17313d;
  --text:#314650;
  --muted:#5b7078;
  --line:#b8cccb;
  --accent:#2f7773;
  --accent2:#8cb8b4;
  --warm:#b56e49;
  --dark:#162f3b;
  --shadow:0 18px 50px rgba(23,49,61,.105);
}
body.dark{
  --bg:#203741;
  --surface:#29434d;
  --surface2:#31525c;
  --heading:#f4f8f7;
  --text:#dce9e7;
  --muted:#b7ccc9;
  --line:#496d72;
  --accent:#8bc0ba;
  --accent2:#527f7b;
  --warm:#dda078;
  --dark:#132b35;
  --shadow:0 18px 50px rgba(5,14,18,.24);
}
html{background:var(--dark)}
body{background-color:var(--bg);background-image:linear-gradient(180deg,color-mix(in srgb,var(--surface) 24%,transparent),transparent 28rem)}
::selection{background:var(--warm);color:#fff}
.contact-strip{background:linear-gradient(90deg,#112833,var(--dark) 58%,#204c50);border-bottom:1px solid rgba(255,255,255,.08)}
header{background:color-mix(in srgb,var(--surface) 94%,transparent);border-bottom-color:color-mix(in srgb,var(--line) 86%,transparent);box-shadow:0 8px 30px rgba(23,49,61,.055)}
.brand{gap:.75rem;min-width:max-content}
.brand-mark{width:42px;height:42px;filter:drop-shadow(0 7px 12px rgba(23,49,61,.18))}
.brand-word{display:grid;gap:.03rem;line-height:1;text-transform:none}
.brand-initials{font-size:1.34rem;letter-spacing:.15em;color:var(--heading);font-weight:850}
.brand-name{font-size:.58rem;line-height:1.15;letter-spacing:.085em;text-transform:uppercase;color:var(--muted);font-weight:750}
footer .brand-initials{color:#fff}
footer .brand-name{color:#aac2c6}
.navlinks a{position:relative}
.navlinks a:after{content:"";position:absolute;left:0;right:100%;bottom:-.48rem;height:2px;background:linear-gradient(90deg,var(--warm),var(--accent));transition:right .2s ease}
.navlinks a:hover:after,.navlinks .active:after{right:0}
.navlinks .active{color:var(--heading)}
.button{background:linear-gradient(135deg,var(--heading),#285965);border-color:color-mix(in srgb,var(--heading) 85%,var(--accent));box-shadow:0 8px 20px rgba(23,49,61,.12)}
.button:hover{box-shadow:0 12px 30px color-mix(in srgb,var(--warm) 20%,transparent);opacity:1}
.button.ghost{background:color-mix(in srgb,var(--surface) 52%,transparent);border-color:var(--line);box-shadow:none}
.hero{background:
  radial-gradient(circle at 86% 14%,color-mix(in srgb,var(--warm) 22%,transparent),transparent 26%),
  radial-gradient(circle at 68% 70%,color-mix(in srgb,var(--accent2) 45%,transparent),transparent 34%),
  linear-gradient(145deg,var(--surface),var(--bg) 64%,color-mix(in srgb,var(--surface2) 70%,var(--bg)))}
.hero:before{content:"";position:absolute;inset:0;background-image:linear-gradient(color-mix(in srgb,var(--line) 22%,transparent) 1px,transparent 1px),linear-gradient(90deg,color-mix(in srgb,var(--line) 18%,transparent) 1px,transparent 1px);background-size:56px 56px;mask-image:linear-gradient(90deg,transparent,rgba(0,0,0,.45));pointer-events:none}
.hero-grid,.hero .container{position:relative;z-index:1}
.hero:after,.page-hero:after{border-color:color-mix(in srgb,var(--warm) 50%,transparent);box-shadow:0 0 0 62px color-mix(in srgb,var(--accent) 5%,transparent),0 0 0 124px color-mix(in srgb,var(--warm) 4%,transparent)}
.page-hero{background:
  radial-gradient(circle at 86% 18%,color-mix(in srgb,var(--warm) 17%,transparent),transparent 30%),
  linear-gradient(145deg,var(--surface),color-mix(in srgb,var(--surface2) 72%,var(--bg)))}
.hero h1,.page-hero h1{letter-spacing:-.048em}
.accent-text{color:var(--accent)}
.eyebrow,.badge,.report-kicker{color:var(--warm)}
.hero-side,.card,.visual,.callout,.notice,.office,.report-stat,.report-note,.report-toc,.contact-summary-card,.contact-guidance,.contact-form,.office-card,.contact-intro-card,.office-row,.editorial-card,.consolidation-card{border-color:color-mix(in srgb,var(--line) 88%,transparent);box-shadow:var(--shadow)}
.hero-side{position:relative;overflow:hidden;border-top:0}
.hero-side:before{content:"";position:absolute;inset:0 0 auto;height:5px;background:linear-gradient(90deg,var(--warm),var(--accent),var(--accent2))}
.card{position:relative;overflow:hidden;border-top:3px solid var(--accent);transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease}
.grid-3 .card:nth-child(3n+2){border-top-color:var(--warm)}
.grid-3 .card:nth-child(3n+3){border-top-color:color-mix(in srgb,var(--accent) 60%,var(--warm))}
.card:hover{transform:translateY(-3px);box-shadow:0 22px 56px rgba(23,49,61,.14)}
.visual{background:linear-gradient(145deg,color-mix(in srgb,var(--surface) 94%,white),color-mix(in srgb,var(--surface2) 52%,var(--surface)))}
.section.soft,.section-alt{background:linear-gradient(135deg,color-mix(in srgb,var(--surface2) 68%,var(--bg)),color-mix(in srgb,var(--surface) 72%,var(--bg)));border-top:1px solid color-mix(in srgb,var(--line) 70%,transparent);border-bottom:1px solid color-mix(in srgb,var(--line) 70%,transparent)}
.darkband{background:linear-gradient(125deg,#122b36,var(--dark) 62%,#245157);position:relative;overflow:hidden}
.darkband:after{content:"";position:absolute;width:420px;height:420px;border-radius:50%;right:-190px;bottom:-270px;border:1px solid rgba(118,170,165,.32);box-shadow:0 0 0 70px rgba(193,129,91,.05),0 0 0 140px rgba(118,170,165,.035)}
.darkband>.container{position:relative;z-index:1}
.step{border-left-color:var(--accent);box-shadow:0 10px 28px rgba(23,49,61,.06)}
.process .step:nth-child(even){border-left-color:var(--warm)}
.text-link{background:color-mix(in srgb,var(--surface) 72%,transparent)}
.text-link:hover,.icon-btn:hover,.menu-btn:hover{border-color:var(--warm);background:color-mix(in srgb,var(--warm) 8%,var(--surface))}
.insight-tab{background:color-mix(in srgb,var(--surface) 68%,var(--bg))}
.insight-tab:hover,.insight-tab:focus{background:linear-gradient(135deg,var(--heading),#285965);color:#fff;border-color:transparent}
footer{background:linear-gradient(135deg,#102832,var(--dark) 66%,#21484d)}
.company-registration{color:#acc2c7}
.footer-bottom{color:#a9bec3}
.publication{--publication-accent:#76aaa5}
.editorial-hero{background:linear-gradient(135deg,#112a35,var(--dark) 58%,#28585b)}
.publication-hero{background:linear-gradient(125deg,color-mix(in srgb,var(--dark) 91%,var(--warm)),var(--dark) 54%,color-mix(in srgb,var(--dark) 80%,var(--accent)))}
@media(max-width:760px){
  .brand-name{display:none}
  .brand-mark{width:38px;height:38px}
  .brand-initials{font-size:1.2rem}
}


/* Version 3.26 - dark-default identity refinement */
body.dark header{background:color-mix(in srgb,#17313d 94%,transparent);box-shadow:0 10px 34px rgba(0,0,0,.22)}
body.dark .navlinks a{color:#c8d8d6}
body.dark .navlinks .active,body.dark .navlinks a:hover{color:#fff}
body.dark .icon-btn,body.dark .menu-btn{background:#203f4d;border-color:#52747a;color:#f7f5ef}
.nav{height:92px}
.brand{gap:.9rem;min-width:0}
.brand-mark{width:62px;height:62px;flex:0 0 62px;filter:drop-shadow(0 9px 18px rgba(4,15,20,.30))}
.brand-word{display:block;line-height:1.2;text-transform:none;max-width:235px}
.brand-name{font-size:.72rem;line-height:1.3;letter-spacing:.075em;text-transform:uppercase;color:var(--muted);font-weight:800}
body.dark header .brand-name{color:#dbe9e6}
footer .brand-mark{width:68px;height:68px;flex-basis:68px}
footer .brand-name{font-size:.76rem;color:#d7e7e4}
.brand-initials{display:none!important}
@media(max-width:1120px){header .brand-name{max-width:190px;font-size:.64rem}.navlinks{gap:.85rem}.navlinks a{font-size:.88rem}}
@media(max-width:960px){.nav{height:84px}.brand-mark{width:56px;height:56px;flex-basis:56px}header .brand-name{font-size:.68rem;max-width:230px}}
@media(max-width:640px){.nav{height:76px}.brand-mark{width:50px;height:50px;flex-basis:50px}.brand-name{display:block;font-size:.59rem;max-width:155px;letter-spacing:.055em}footer .brand-mark{width:58px;height:58px;flex-basis:58px}footer .brand-name{font-size:.68rem;max-width:210px}}


/* Version 3.27 - elegant VCI identity and one-line legal name */
.nav{height:88px;gap:1rem}
.brand{gap:1rem;min-width:max-content;flex:0 0 auto}
.brand-mark{width:98px;height:50px;flex:0 0 98px;object-fit:contain;filter:drop-shadow(0 7px 13px rgba(3,14,19,.26))}
.brand-word{display:block;max-width:none;line-height:1;min-width:max-content}
.brand-name{display:block!important;max-width:none!important;white-space:nowrap;font-size:.88rem;line-height:1;letter-spacing:.035em;text-transform:none;color:var(--muted);font-weight:650}
body.dark header .brand-name{color:#e4efed}
.navlinks{gap:.85rem}
.navlinks a{font-size:.90rem}
.nav-actions{gap:.55rem}
footer .brand{min-width:0}
footer .brand-mark{width:112px;height:58px;flex:0 0 112px}
footer .brand-name{white-space:nowrap;font-size:.88rem;letter-spacing:.03em;text-transform:none;color:#dce9e7}
@media(max-width:1120px){
  .brand-mark{width:88px;height:46px;flex-basis:88px}
  header .brand-name{font-size:.78rem!important;max-width:none!important}
  .navlinks{gap:.66rem}.navlinks a{font-size:.84rem}.nav-actions .button{padding:.72rem .92rem}
}
@media(max-width:960px){
  .nav{height:82px}.brand-mark{width:92px;height:46px;flex-basis:92px}
  header .brand-name{font-size:.82rem!important;max-width:none!important}
}
@media(max-width:640px){
  .nav{height:76px}.brand{gap:.6rem}.brand-mark{width:82px;height:42px;flex-basis:82px}
  header .brand-name{font-size:.64rem!important;letter-spacing:.018em;white-space:nowrap;max-width:none!important}
  footer .brand-mark{width:100px;height:52px;flex-basis:100px}
  footer .brand-name{font-size:.76rem;white-space:normal;line-height:1.25}
}
@media(max-width:430px){header .brand-name{display:none!important}.brand-mark{width:90px;height:44px;flex-basis:90px}}

/* VCI Horizon identity */
:root{--bg:#eef1f3;--surface:#f8f9fa;--surface2:#e5eaee;--heading:#101d2a;--text:#344455;--muted:#66798b;--line:#c7d0d8;--accent:#6f9abd;--accent2:#b9c9d6;--warm:#d6a44d;--dark:#08121d;--shadow:0 20px 48px rgba(8,18,29,.10);--radius:14px}
body.dark{--bg:#0a1420;--surface:#101c28;--surface2:#142332;--heading:#f4f0e7;--text:#d6dde4;--muted:#9eafbf;--line:#26394a;--accent:#83acd0;--accent2:#33526d;--warm:#d6a44d;--dark:#060d15;--shadow:0 24px 60px rgba(0,0,0,.32)}
body{font-family:"Segoe UI Variable Text","Segoe UI",Arial,sans-serif;background:var(--bg)}
h1,h2,h3,.brand-name{font-family:Georgia,"Times New Roman",serif;font-weight:500}
header{background:color-mix(in srgb,var(--dark) 92%,transparent);border-bottom:1px solid color-mix(in srgb,var(--warm) 24%,var(--line));box-shadow:0 8px 30px rgba(0,0,0,.14)}
.nav{height:88px;gap:1.15rem}.brand{gap:1rem;min-width:0}.brand-mark{width:112px;height:52px;flex:0 0 auto}.brand-word{font-size:1.02rem;text-transform:uppercase;letter-spacing:.075em;white-space:nowrap}.brand-name{color:#f4f0e7}.navlinks a{color:#d3dbe2;font-size:.88rem;text-transform:uppercase;letter-spacing:.06em}.navlinks .active,.navlinks a:hover{color:var(--warm)}
.contact-strip{background:#050b12;border-bottom:1px solid #1b2a38}.button{border-radius:4px;background:var(--warm);border-color:var(--warm);color:#101820!important;text-transform:uppercase;letter-spacing:.065em;font-size:.84rem}.button.ghost{color:var(--heading)!important;border-color:var(--warm);background:transparent}.hero{background:radial-gradient(circle at 78% 24%,rgba(111,154,189,.16),transparent 32%),linear-gradient(145deg,var(--surface),var(--bg));padding:7.2rem 0 5.4rem}.hero:after,.page-hero:after{border-color:color-mix(in srgb,var(--warm) 34%,transparent)}.hero h1,.page-hero h1{letter-spacing:-.035em}.eyebrow,.badge,.report-kicker{color:var(--warm)}.card,.visual,.hero-side,.callout,.notice,.office,.report-stat,.report-note,.report-toc{border-radius:var(--radius)}.card{border-top:2px solid color-mix(in srgb,var(--warm) 75%,transparent)}.step{border-left-color:var(--warm)}footer{background:#060d15}.footer-grid .brand-mark{width:126px;height:58px}
@media(max-width:1120px){.brand-word{font-size:.9rem;letter-spacing:.045em}.brand-mark{width:96px}.navlinks{gap:.75rem}.navlinks a{font-size:.8rem}}
@media(max-width:900px){.brand-word{display:none}.brand-mark{width:100px;height:48px}.nav{height:76px}}

/* Version 3.30 — comprehensive light/dark text contrast audit; dark remains default */
:root{
  --text:#2c3d4d;
  --muted:#52687a;
}
body.dark{
  --text:#dce4eb;
  --muted:#b2c0cc;
}
/* Ensure standard supporting copy remains readable on cards and tinted sections. */
p,li,dd,td,address,.intro,.lead{color:var(--text)}
.trust,.related a span,.report-meta,.form-help,.contact-form__head p,
.contact-privacy,.offices-heading p,.office-row__label,.office-card__head p,
.location-panel__copy span,.insight-group__head p,.editorial-card>p:not(.editorial-card__kicker),
.editorial-card__meta,.guide-heading>p,.guide-row small,.publication-sources>p,
.publication-scope p,.publication-toc a,.publication-detail dt,.concept-card p{
  color:var(--muted);
}
/* Dark feature bands require explicit high-contrast copy, regardless of generic section rules below/above. */
.darkband,.darkband p,.darkband li,.darkband .lead,.darkband .intro,.darkband .trust{
  color:#dce6ec;
}
.darkband h1,.darkband h2,.darkband h3,.darkband h4,.darkband strong,.darkband a:not(.button){
  color:#ffffff;
}
.darkband .eyebrow,.darkband .badge,.darkband .report-kicker{
  color:#e7bd70;
}
.darkband .button{color:#101820!important}
.darkband .button.ghost{color:#fff!important;background:rgba(255,255,255,.035);border-color:#d6a44d}
/* Improve readability of footer and fixed dark chrome. */
footer,footer p,footer li,footer address{color:#d9e2e9}
footer .company-registration,footer .footer-bottom{color:#b7c5cf}
.contact-strip,.contact-strip span{color:#dce5eb}
/* Form placeholders should be legible without competing with entered text. */
::placeholder{color:color-mix(in srgb,var(--muted) 88%,transparent);opacity:1}

/* Version 3.39 — comprehensive light-mode contrast correction */
:root{
  --text:#223649;
  --muted:#40586c;
  --accent-ink:#365f7d;
  --warm-ink:#805313;
}
body.dark{
  --text:#dce4eb;
  --muted:#b2c0cc;
  --accent-ink:#a9c6dd;
  --warm-ink:#e7bd70;
}

/* Gold and blue brand accents remain decorative, but text uses darker accessible variants in light mode. */
body:not(.dark) .eyebrow,
body:not(.dark) .badge,
body:not(.dark) .report-kicker{
  color:var(--warm-ink);
}
body:not(.dark) .accent-text,
body:not(.dark) .guide-row b,
body:not(.dark) .contact-method__icon,
body:not(.dark) .contact-detail__icon,
body:not(.dark) .office-row__number,
body:not(.dark) .office-card__number,
body:not(.dark) .report-stat strong,
body:not(.dark) .report-stat a{
  color:var(--accent-ink);
}

/* Per-article accent colours are attractive as rules and fills but too pale for small text on white. */
body:not(.dark) .editorial-card__kicker,
body:not(.dark) .editorial-card__meta span+span:before{
  color:color-mix(in srgb,var(--card-accent) 55%,var(--heading));
}
body:not(.dark) .publication-stat strong,
body:not(.dark) .publication-stat a,
body:not(.dark) .publication-standfirst p:first-child:first-letter,
body:not(.dark) .publication-section sup a,
body:not(.dark) .layers__lead,
body:not(.dark) .steps__lead,
body:not(.dark) .timeline__lead,
body:not(.dark) .gates__lead,
body:not(.dark) .case-study__label,
body:not(.dark) .publication-takeaways li:before,
body:not(.dark) .publication-sources li>span,
body:not(.dark) .publication-toc a:hover{
  color:color-mix(in srgb,var(--publication-accent) 55%,var(--heading));
}

/* The general list colour must not override copy placed on deliberately dark panels. */
.publication-takeaways,
.publication-takeaways p,
.publication-takeaways li,
.publication-takeaways strong,
.publication-takeaways a{
  color:#edf4f7;
}

/* Preserve brighter brand accents where the background is intentionally dark. */
body:not(.dark) .darkband .eyebrow,
body:not(.dark) .darkband .badge,
body:not(.dark) .darkband .report-kicker,
body:not(.dark) .editorial-hero .eyebrow{
  color:#e7bd70;
}

/* Small labels, metadata and supporting copy receive a little more weight and clarity. */
.trust,
.report-meta,
.editorial-card__meta,
.publication-meta,
.publication-toc a,
.publication-detail dt,
.office-row__label,
.form-help,
.contact-privacy{
  font-weight:500;
}

/* Version 3.40 — dark-surface text inheritance and site-wide contrast hardening */
/* Generic body-colour rules must never override copy placed on deliberately dark surfaces. */
.editorial-hero,
.editorial-hero p,
.editorial-hero li,
.editorial-hero small,
.editorial-hero span:not(.button),
.editorial-hero__note,
.editorial-hero__note p{
  color:#d8e5eb;
}
.editorial-hero__note strong,
.editorial-hero h1,
.editorial-hero h2,
.editorial-hero h3{
  color:#ffffff;
}
.editorial-hero__note p{color:#cbd9e0!important}

/* Footer controls sit outside .footer-grid, so give every ordinary footer link an explicit light colour. */
footer a:not(.button),
.footer-cookie-controls a,
.footer-cookie-controls .cookie-settings-button{
  color:#e8f1f6!important;
}
.footer-cookie-controls a:hover,
.footer-cookie-controls .cookie-settings-button:hover{
  color:#ffffff!important;
  border-color:#d6a44d;
}

/* Defensive rules for every other intentionally dark content surface. */
.darkband p,.darkband li,.darkband small,
.publication-hero p,.publication-hero li,.publication-hero small,
.publication-takeaways p,.publication-takeaways li,.publication-takeaways small{
  color:#dce6ec;
}
.publication-hero h1,.publication-hero h2,.publication-hero h3,
.publication-takeaways h1,.publication-takeaways h2,.publication-takeaways h3{
  color:#ffffff;
}

/* Keep policy/legal content comfortably readable in light mode. */
body:not(.dark) .article>p:not(.eyebrow),
body:not(.dark) .article>ul,
body:not(.dark) .article>ol,
body:not(.dark) .article li{
  color:#223649;
}
body:not(.dark) .article h2,
body:not(.dark) .article h3{
  color:#101d2a;
}
