/* Additive safeguards and bilingual controls; original visual system retained. */
*, *::before, *::after { box-sizing: border-box; }
html { scroll-padding-top: 7rem; overflow-x:clip; }
body { overflow-wrap: break-word; overflow-x:clip; }
img, video, iframe { max-width: 100%; }
input, select, textarea { max-width: 100%; font: inherit; }
a, button, summary { -webkit-tap-highlight-color: rgba(83,214,236,.2); }
:focus-visible { outline: 3px solid #8af0ff; outline-offset: 5px; }
.visually-hidden { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0; }
.language-switch { display: flex; flex: 0 0 auto; gap: 2px; border: 1px solid #31505f; border-radius: 999px; padding: 2px; }
.language-switch a { min-width: 44px; min-height: 44px; display: inline-flex; align-items: center; justify-content: center; color: #d9e9ef; font-size: 12px; font-weight: 700; border-radius: 999px; }
.language-switch a[aria-current] { color: #04121a; background: #8ae8f2; }
.hero-role { max-width: 48rem; line-height: 1.7; }
.current-mandate-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 1rem; }
.current-mandate-grid article { min-width: 0; }
.current-mandate-grid article > div { margin-top: 1rem; line-height: 1.7; }
.current-mandate-grid article > p { color: #9ac9d5; }
.document-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1.3rem; }
.document-card { background: #102535; border: 1px solid #2b4657; border-radius: 1rem; padding: clamp(1.25rem,3vw,2rem); min-width: 0; }
.document-card h2 { font-size: clamp(1.25rem,2vw,1.65rem); line-height: 1.35; margin: 1rem 0; }
.document-card p { color: #c2d3de; line-height: 1.7; }
.document-card .button { margin-top: 1rem; }
.edition-notice { background: #102535; border: 1px solid #31505f; padding: 1rem 1.3rem; border-radius: .8rem; margin: 1rem 0 2rem; color: #dae9ef; line-height: 1.7; }
.edition-notice a { text-decoration: underline; }
.site-footer a { min-height: 32px; }
.cc-study-reader, .cc-study-layout, .cc-study-panel { min-width: 0; }
.cc-study-reader table { display: block; max-width: 100%; overflow-x: auto; }
@media(max-width:1280px) {
  .site-header .desktop-nav, .site-header .header-cta { display:none; }
  .site-header .mobile-menu { display: block; }
  .site-header .header-inner { gap: .65rem; }
  .site-header .brand { margin-right: auto; min-width: 0; }
  .site-header .mobile-menu > nav { max-height: calc(100dvh - 100px); overflow-y:auto; overscroll-behavior:contain; }
}
@media(max-width:900px) { .current-mandate-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:600px) {
  .current-mandate-grid, .document-grid { grid-template-columns:minmax(0,1fr); }
  .site-header .brand-copy { display: none; }
  .site-header .brand-mark { width:42px; height:42px; }
  .site-header .header-inner { min-height:72px; }
  .button { white-space:normal; text-align:center; }
  .hero-role { font-size: .95rem; }
  .proof-item strong { font-size:clamp(1.4rem,6vw,2rem); }
}
@media(prefers-reduced-motion:reduce) {
  *, *::before, *::after { animation:none !important; transition:none !important; scroll-behavior:auto !important; }
}
.cms-four-labels { position:absolute; inset:auto 1rem .5rem; display:grid; grid-template-columns:1fr 1fr; gap:.5rem; color:#b6dfeb; font-size:.8rem; z-index:2; }
.cms-four-labels span { padding:.3rem; background:#0b1d2d; border:1px solid #25404e; border-radius:.35rem; }
.document-edition { font-size:.85rem; color:#b6c5d0; }
.mobile-menu:not([open]) > nav { display:none; }
@media(max-width:1100px) { .projects-scanline { display:none; } }
main .shell > *, main [class*="grid"] > *, .hero-copy { min-width:0; }
main h1, main h2, main h3, main p, main a { overflow-wrap:anywhere; }
.resume-hero > .shell > h1 { font-size:clamp(2.15rem,5vw,4.5rem); font-weight:750; line-height:1.08; letter-spacing:-.04em; max-width:18ch; margin:1.2rem 0; }
body[data-route="/downloads"] .resume-hero,
body[data-route="/cyber-master-series/field-guides"] .resume-hero { min-height:0; padding:140px 0 64px; }
@media(max-width:600px) {
  body[data-route="/downloads"] .resume-hero,
  body[data-route="/cyber-master-series/field-guides"] .resume-hero { padding:112px 0 40px; }
}
@media(max-width:600px) {
  html[lang="fr"] .hero h1 { font-size:clamp(2.45rem,11.5vw,4rem); }
}
