/* CFO Design System V7.5 — shared, final-layer layout rules.
   Legacy page styles were extracted to versioned external files without reordering,
   protecting established page presentation while centralising future changes. */
:root{--cfo-container:1270px;--cfo-inline:clamp(20px,3vw,40px);--cfo-navy:#10253e;--cfo-gold:#c49a61;--cfo-focus:#bd8134}
*,*::before,*::after{box-sizing:border-box}
html{scroll-padding-top:108px}
body{overflow-wrap:break-word}
.header>.container.nav-inner{width:100%;max-width:var(--cfo-container);margin-inline:auto;padding-inline:var(--cfo-inline);display:flex;align-items:center;gap:clamp(12px,1.45vw,23px);min-width:0}
.header .brand{flex:0 0 auto;display:flex;align-items:center;min-width:0}
.header .brand img{width:clamp(130px,10.5vw,160px);max-width:100%;height:auto;object-fit:contain}
.header .nav{min-width:0;align-items:center;justify-content:space-between;gap:clamp(8px,1.1vw,17px)}
.header .nav>a{white-space:nowrap;font-size:clamp(12px,.84vw,14px);line-height:1.4}
.header .nav .nav-dropdown>button{white-space:nowrap;font-size:clamp(12px,.84vw,14px);line-height:1.4}
.header .desktop-language-switch{flex:0 0 auto;margin-left:auto}
.header .nav-cta{flex:0 0 auto;white-space:nowrap;margin-left:0;font-size:clamp(12px,.83vw,14px)}
.header .nav-inner>.menu-toggle{flex:0 0 auto}
.header .nav-inner>.mobile-language-switch{margin-left:auto}
/* unify the common content shell while preserving deliberately narrow reading columns */
body .container{max-width:var(--cfo-container);margin-inline:auto;padding-inline:var(--cfo-inline)}
body .footer>.container{max-width:var(--cfo-container);margin-inline:auto;padding-inline:var(--cfo-inline)}
.footer-grid{gap:clamp(20px,2.5vw,36px)}
.cfo-hero-breadcrumb,.cs-breadcrumb,.breadcrumb,[aria-label="Breadcrumb"]{display:flex;align-items:center;flex-wrap:wrap;gap:8px 12px;line-height:1.5;max-width:100%;white-space:normal}
.cfo-hero-breadcrumb>a,.cs-breadcrumb>a,.breadcrumb>a{display:inline-flex;align-items:center}
.cfo-hero-breadcrumb .sep,.cs-breadcrumb [aria-hidden="true"]{flex:0 0 auto}
/* consistent focus and interactive affordances */
:where(a,button,summary,input,select,textarea,[tabindex]):focus-visible{outline:3px solid var(--cfo-focus);outline-offset:3px;border-radius:3px}
:where(button,a,summary){touch-action:manipulation}
:where(.btn,.nav-cta,.cs-button,.button){min-height:42px;display:inline-flex;align-items:center;justify-content:center;gap:.4em;text-align:center}
:where(.card,.cs-card,.tool-card,.insight-card){min-width:0;overflow-wrap:break-word}
:where(.article-body,.insight-body,.reading-content) p{overflow-wrap:break-word}
img{max-width:100%;height:auto}
[hidden]{display:none!important}
.skip-link{position:fixed;left:16px;top:-90px;background:#fff;color:#10253e;padding:12px 18px;border:2px solid #bd8134;border-radius:8px;z-index:99999;text-decoration:none;font-weight:700}
.skip-link:focus{top:12px}
@media(min-width:1280px){
 .header>.container.nav-inner{max-width:var(--cfo-container)!important;width:100%!important;padding-inline:var(--cfo-inline)!important;justify-content:space-between!important;flex-wrap:nowrap!important}
 .header .nav{display:flex!important;flex:1 1 auto!important;min-width:0!important;gap:clamp(7px,.78vw,14px)!important;align-items:center!important;justify-content:space-between!important}
 .header .desktop-language-switch{display:block!important;margin-left:0!important}
 .header .mobile-language-switch,.header .menu-toggle{display:none!important}
 .header .nav-cta{display:inline-flex!important;max-width:none!important;margin:0!important}
}
@media(max-width:1279px){
 .header>.container.nav-inner{max-width:var(--cfo-container)!important;width:100%!important;min-height:74px;display:flex!important;align-items:center!important;flex-wrap:nowrap!important;justify-content:flex-start!important;gap:12px!important}
 .header .nav-inner>.brand{margin-right:auto!important}
 .header .nav-inner>.mobile-language-switch{display:block!important;margin-left:auto!important}
 .header .nav-inner>.menu-toggle{display:inline-flex!important;align-items:center;justify-content:center;min-width:44px;min-height:44px;order:3}
 .header .nav-inner>.desktop-language-switch,.header .nav-inner>.nav-cta{display:none!important}
 .header #main-nav.nav{display:none!important}
 .header #main-nav.nav.open{display:flex!important;position:absolute!important;top:100%!important;left:0!important;right:0!important;width:100%!important;max-height:calc(100dvh - 75px);overflow-y:auto;overscroll-behavior:contain;flex-direction:column!important;align-items:stretch!important;background:#fff!important;padding:14px max(20px,calc((100vw - 1190px)/2)) 22px!important;box-shadow:0 14px 24px rgba(8,27,45,.13);z-index:9999}
 .header #main-nav.nav.open>a{width:100%;min-height:44px;display:flex;align-items:center;font-size:15px!important;white-space:normal}
 .header #main-nav.nav.open .nav-dropdown{width:100%}
 .header #main-nav.nav.open .nav-dropdown>button{width:100%;min-height:44px;text-align:left;font-size:15px!important}
}
@media(max-width:700px){
 :root{--cfo-inline:20px}
 .header .brand img{width:clamp(110px,30vw,144px)}
 .header .nav-inner>.mobile-language-switch{margin-left:auto}
 .cfo-hero-breadcrumb,.cs-breadcrumb,.breadcrumb,[aria-label="Breadcrumb"]{gap:5px 8px;font-size:13px}
 .footer-grid{gap:24px}
 :where(.hero,.section,.cs-section){scroll-margin-top:80px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
/* Crisp SVG menu controls; historical scripts can change button text without
   replacing the visual icon, and ARIA state remains the source of truth. */
@media(max-width:1279px){
 .header .menu-toggle{font-size:0!important;color:transparent!important;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2310253e' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='M4 6h16M4 12h16M4 18h16'/%3E%3C/svg%3E")!important;background-size:25px 25px!important;background-position:center!important;background-repeat:no-repeat!important}
 .header .menu-toggle[aria-expanded="true"]{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2310253e' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='M5 5l14 14M19 5L5 19'/%3E%3C/svg%3E")!important}
}
