



@layer base {
  :root {
    --background: 0 0% 100%;
    --foreground: 200 12% 13%;
    --card: 0 0% 100%;
    --card-foreground: 200 12% 13%;
    --popover: 0 0% 100%;
    --popover-foreground: 200 12% 13%;
    --primary: 41 77% 50%;
    --primary-foreground: 0 0% 100%;
    --secondary: 180 5% 95%;
    --secondary-foreground: 200 12% 13%;
    --muted: 180 5% 95%;
    --muted-foreground: 200 5% 40%;
    --accent: 180 5% 95%;
    --accent-foreground: 200 12% 13%;
    --destructive: 5 65% 43%;
    --destructive-foreground: 0 0% 100%;
    --border: 180 6% 86%;
    --input: 180 6% 82%;
    --ring: 41 77% 50%;
    --radius: 0.25rem;
    --paper: #f5f7fa;
    --ink: #061d42;
    --signal: #d8a12e;
    --signal-dark: #b98817;
    --quiet: #5d6978;
    --line: #e1e6ed;
    --display-font: 'Barlow Condensed', sans-serif;
    --body-font: 'Public Sans', sans-serif;
  }
  * { box-sizing: border-box; }
  html { scroll-behavior: smooth; scroll-padding-top: 112px; }
  body { margin: 0; font-family: var(--body-font); color: var(--ink); background: white; -webkit-font-smoothing: antialiased; }
  button, input, select, textarea { font: inherit; }
  button, a { -webkit-tap-highlight-color: transparent; }
  button { cursor: pointer; }
  a { color: inherit; text-decoration: none; }
  img { display: block; width: 100%; }
  p { line-height: 1.75; }
  h1, h2, h3, p { margin: 0; }
  ul { padding: 0; list-style: none; margin: 0; }
  :focus-visible { outline: 2px solid var(--signal); outline-offset: 5px; }
  ::selection { background: var(--signal); color: white; }
}
.wide-rail { width: min(1280px, calc(100% - 112px)); margin-inline: auto; }
.section-space { padding-block: 110px; }
.eyebrow { display: flex; align-items: center; gap: 11px; font-size: 10px; font-weight: 650; letter-spacing: 1.8px; line-height: 1.7; }
.red-line { height: 2px; width: 26px; background: var(--signal); flex-shrink: 0; }
.button { display: inline-flex; min-height: 52px; align-items: center; justify-content: space-between; gap: 28px; padding: 15px 22px; font-size: 12px; font-weight: 600; border: 0; border-radius: 3px; transition: background 180ms ease-out, transform 180ms ease-out; }
.button-red { background: var(--signal); color: white; }
.button-red:hover { background: var(--signal-dark); }
.button:active { transform: scale(.98); }
.button:disabled { opacity: .7; cursor: wait; }
.text-link { display: inline-flex; align-items: center; gap: 16px; font-size: 12px; font-weight: 600; background: none; padding: 0; border: 0; min-height: 44px; }
.text-link svg { transition: transform 180ms ease-out; }
.text-link:hover svg { transform: translate(2px, -2px); }
.text-link:hover { color: var(--signal); }
.section-heading { display: flex; justify-content: space-between; align-items: flex-end; gap: 40px; margin-bottom: 46px; }
.section-heading .eyebrow { margin-bottom: 22px; }
h2 { font-size: clamp(31px, 3.1vw, 43px); font-weight: 500; letter-spacing: -1.6px; line-height: 1.2; }
.section-heading > p { font-size: 13px; color: var(--quiet); max-width: 320px; padding-bottom: 5px; }
.subtle-text { color: var(--quiet); }
.fine-print { font-size: 10px; line-height: 1.7; color: var(--quiet); }
.skip-link { position: fixed; z-index: 60; top: 10px; left: 10px; padding: 12px 18px; background: white; transform: translateY(-150%); }
.skip-link:focus { transform: translateY(0); }
/* An unobtrusive masthead keeps the primary conversation within reach. */
.site-header { position: sticky; top: 0; z-index: 30; background: rgba(255,255,255,.97); border-bottom: 1px solid var(--line); }
.header-inner { width: min(1360px, calc(100% - 80px)); margin-inline: auto; height: 88px; display: flex; align-items: center; justify-content: space-between; gap: 30px; }
.brand { display: inline-flex; align-items: center; gap: 11px; }
.brand-symbol { color: var(--signal); width: 36px; height: 36px; }
.brand-text { font-size: 22px; line-height: 1.1; letter-spacing: 1.3px; font-weight: 650; }
.brand-text > span { display: block; font-size: 8px; font-weight: 500; letter-spacing: 4px; margin-top: 6px; }
.desktop-nav { display: flex; gap: 32px; font-size: 12px; font-weight: 500; }
.desktop-nav a { padding-block: 20px; transition: color 160ms ease-out; }
.desktop-nav a:hover { color: var(--signal); }
.header-cta { font-size: 11px; min-height: 44px; padding: 12px 17px; gap: 28px; }
.mobile-toggle { display: none; background: none; border: 0; width: 44px; height: 44px; align-items: center; justify-content: center; }
.mobile-nav { padding: 12px 28px 24px; display: flex; flex-direction: column; box-shadow: 0 12px 20px #1d23260d; }
.mobile-nav a { padding-block: 14px; display: flex; justify-content: space-between; border-bottom: 1px solid var(--line); font-size: 14px; }
/* Full-width architectural exhibit, with a single repeated clipped corner. */
.hero { position: relative; min-height: 100dvh; background: #e9eeef; overflow: hidden; }
.hero-image { position: absolute; inset: 0; clip-path: polygon(0 0,100% 0,100% calc(100% - 54px),calc(100% - 54px) 100%,0 100%); }
.hero-image img { width: 100%; height: 100%; object-fit: cover; object-position: center 56%; filter: saturate(.82); }
.hero-wash { position: absolute; inset: 0; background: linear-gradient(90deg, #f5f7f7 0%, #f5f7f7f5 21%, #f5f7f7dc 41%, #f5f7f755 63%, #f5f7f700 82%); }
.hero-content { position: relative; padding-top: clamp(100px, 14dvh, 160px); padding-bottom: 46px; }
.hero-content .eyebrow { font-size: 10px; letter-spacing: 1.65px; margin-bottom: 30px; }
.hero h1 { font-family: var(--display-font); font-size: clamp(68px, 7.2vw, 104px); line-height: .98; font-weight: 600; letter-spacing: -1px; }
.hero h1 span { color: var(--signal); }
.hero-content > p { margin-top: 28px; font-size: 15px; line-height: 1.85; color: #555f62; }
.hero-actions { display: flex; gap: 31px; align-items: center; margin-top: 34px; }
.hero-actions .button { min-width: 220px; }
.hero-scroll { display: flex; align-items: center; gap: 12px; margin-top: 85px; width: max-content; font-size: 8px; letter-spacing: 1.7px; font-weight: 600; }
.hero-scroll svg { color: var(--signal); }
.hero-annotation { position: absolute; right: 7.5%; bottom: 88px; display: flex; align-items: center; gap: 16px; padding: 19px 22px; background: rgba(255,255,255,.9); border-left: 2px solid var(--signal); backdrop-filter: blur(8px); }
.annotation-icon { display: flex; align-items: center; color: var(--signal); }
.annotation-icon svg { width: 38px; height: 38px; }
.hero-annotation > span:last-child { font-size: 9px; line-height: 1.8; letter-spacing: 1.5px; font-weight: 400; }
.hero-annotation strong { font-weight: 650; }
.hero-ref { position: absolute; bottom: 26px; right: 6%; font-size: 8px; letter-spacing: 1.5px; color: #465256; }
.assurance-strip { background: var(--paper); border-bottom: 1px solid var(--line); }
.assurance-inner { display: grid; grid-template-columns: repeat(3, 1fr); padding-block: 26px; }
.assurance-inner > div { display: flex; gap: 18px; align-items: center; justify-content: center; padding-block: 6px; }
.assurance-inner > div:first-child { justify-content: flex-start; }
.assurance-inner > div:last-child { justify-content: flex-end; }
.assurance-inner > div + div { border-left: 1px solid var(--line); }
.assurance-inner svg { width: 26px; height: 26px; }
.assurance-inner strong { display: block; font-size: 12px; font-weight: 550; }
.assurance-inner small { display: block; margin-top: 5px; font-size: 10px; color: var(--quiet); }
/* Three industry exhibits descend diagonally, rather than a flat card rail. */
.industries-section { padding-bottom: 156px; }
.industry-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 28px; }
.industry-card:nth-child(2) { transform: translateY(27px); }
.industry-card:nth-child(3) { transform: translateY(54px); }
.industry-image { display: block; width: 100%; aspect-ratio: 1.42; border: 0; padding: 0; position: relative; overflow: hidden; background: var(--paper); clip-path: polygon(0 0,100% 0,100% calc(100% - 24px),calc(100% - 24px) 100%,0 100%); }
.industry-image img { height: 100%; object-fit: cover; filter: saturate(.95); transition: transform 250ms ease-out; }
.industry-image:hover img { transform: scale(1.035); }
.image-reference { position: absolute; top: 17px; left: 17px; font-size: 8px; font-weight: 600; letter-spacing: 1.2px; color: var(--ink); background: rgba(255,255,255,.91); padding: 6px 9px; }
.image-arrow { position: absolute; right: 0; bottom: 0; background: var(--signal); color: white; width: 54px; height: 54px; display: flex; align-items: center; justify-content: center; }
.industry-title { display: flex; align-items: baseline; justify-content: space-between; margin-top: 24px; }
.industry-title h3 { font-size: 23px; letter-spacing: -.6px; font-weight: 550; }
.industry-title > span { font-size: 10px; color: var(--quiet); }
.industry-card > p { color: var(--quiet); font-size: 12px; line-height: 1.85; margin-block: 12px 14px; max-width: 340px; }
.industry-card > .text-link { border-top: 1px solid var(--line); width: 100%; justify-content: space-between; padding-top: 13px; }
/* Connected coverage, on a quiet dark canvas. */
.coverage-section { background: var(--ink); color: white; padding-block: 88px; clip-path: polygon(0 0,calc(100% - 32px) 0,100% 32px,100% 100%,0 100%); }
.coverage-layout { display: grid; grid-template-columns: 1fr 1.1fr; gap: 100px; }
.coverage-intro { position: relative; }
.coverage-intro .eyebrow { color: #c1c7c7; margin-bottom: 25px; }
.coverage-intro h2 { font-family: var(--display-font); font-size: 61px; font-weight: 500; line-height: 1.04; letter-spacing: .1px; }
.coverage-intro h2 > span { color: #969ea0; }
.coverage-intro > p { font-size: 13px; color: #bbc1c2; max-width: 330px; margin-block: 23px 13px; }
.coverage-intro .text-link { color: white; position: relative; z-index: 1; }
.coverage-mark { position: absolute; width: 165px; bottom: -24px; right: -28px; color: #41494b; pointer-events: none; }
.coverage-list { padding-top: 6px; }
.coverage-item { border-bottom: 1px solid #454d4e; }
.coverage-toggle { width: 100%; background: transparent; color: white; display: flex; align-items: center; gap: 23px; border: 0; padding: 24px 0; }
.coverage-toggle > span { flex: 1; text-align: left; font-size: 25px; letter-spacing: -.7px; }
.coverage-toggle > svg:first-child { color: #c4cbcb; }
.coverage-item.is-open .coverage-toggle > svg { color: #e3b44e; }
.coverage-detail { padding: 0 0 23px 50px; }
.coverage-detail h3 { font-weight: 500; font-size: 13px; margin-bottom: 10px; }
.coverage-detail > p { color: #aab3b5; font-size: 12px; }
.coverage-detail ul { margin-top: 16px; }
.coverage-detail li { display: flex; gap: 10px; align-items: center; font-size: 11px; padding-block: 4px; color: #d4d9d9; }
.coverage-detail li svg { color: #d9ae4c; flex-shrink: 0; }
.coverage-detail .coverage-note { margin-top: 17px; font-size: 10px; color: #aab3b5; }
.coverage-footnote { font-size: 10px; color: #aab3b5; margin-top: 24px; }
.approach-steps { display: grid; grid-template-columns: repeat(3,1fr); gap: 47px; margin-top: 53px; }
.step-number { font-family: var(--display-font); font-size: 35px; color: var(--signal); display: flex; align-items: center; gap: 25px; }
.step-number > span { height: 1px; background: var(--line); flex-grow: 1; }
.approach-steps h3 { font-size: 18px; font-weight: 550; margin-block: 22px 12px; letter-spacing: -.4px; }
.approach-steps p { font-size: 12px; color: var(--quiet); line-height: 1.9; max-width: 335px; }
.cases-section { background: var(--paper); background-image: radial-gradient(#1d232603 .7px, transparent .7px); background-size: 5px 5px; }
.case-tabs { display: flex; gap: 33px; border-bottom: 1px solid var(--line); margin-bottom: 30px; }
.case-tabs button { display: flex; gap: 26px; align-items: center; padding: 16px 0; border: 0; border-bottom: 2px solid transparent; background: none; font-size: 12px; color: var(--quiet); }
.case-tabs button[aria-pressed=true] { border-bottom-color: var(--signal); color: var(--ink); font-weight: 600; }
.case-tabs button > span { font-size: 9px; color: var(--quiet); }
.case-feature { display: grid; grid-template-columns: 1.1fr 1fr; gap: 64px; align-items: center; }
.case-image { aspect-ratio: 1.28; position: relative; overflow: hidden; clip-path: polygon(0 0,100% 0,100% calc(100% - 32px),calc(100% - 32px) 100%,0 100%); }
.case-image img { height: 100%; object-fit: cover; filter: saturate(.85); }
.case-copy { padding-right: 20px; }
.case-copy .eyebrow { color: var(--quiet); font-size: 8px; letter-spacing: 1.5px; }
.case-copy h3 { font-size: 31px; letter-spacing: -1px; line-height: 1.3; font-weight: 500; margin-top: 18px; }
.case-copy > p { color: var(--quiet); font-size: 12px; margin-top: 20px; }
.case-takeaway { border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); padding-block: 18px; margin-block: 23px 14px; display: flex; gap: 14px; align-items: flex-start; }
.case-takeaway svg { color: var(--signal); flex-shrink: 0; margin-top: 3px; }
.case-takeaway p { font-size: 12px; }
.case-disclaimer { margin-top: 20px; font-size: 10px; color: var(--quiet); }
.team-section { display: grid; grid-template-columns: 1fr 1fr; gap: 83px; align-items: center; }
.team-photo { aspect-ratio: .96; position: relative; background: var(--paper); clip-path: polygon(0 0,100% 0,100% calc(100% - 32px),calc(100% - 32px) 100%,0 100%); }
.team-photo img { height: 100%; object-fit: cover; filter: saturate(.85); object-position: 51% center; }
.team-photo-label { position: absolute; bottom: 30px; left: 26px; background: white; padding: 12px 17px; font-size: 9px; letter-spacing: 1.5px; }
.team-photo-cross { position: absolute; top: 15px; right: 21px; font-size: 30px; color: white; font-weight: 400; }
.team-copy .eyebrow { margin-bottom: 23px; }
.team-copy h2 { font-size: 35px; }
.team-copy > p:not(.fine-print) { font-size: 12px; color: var(--quiet); margin-top: 20px; max-width: 395px; }
.team-list { margin-top: 28px; }
.team-list button { display: flex; justify-content: space-between; align-items: center; width: 100%; padding: 17px 0; background: none; border: 0; border-top: 1px solid var(--line); text-align: left; }
.team-list button:hover strong, .team-list button:hover svg { color: var(--signal); }
.team-list strong { font-size: 13px; font-weight: 600; }
.team-list small { display: block; font-size: 10px; color: var(--quiet); margin-top: 4px; }
.team-copy > .fine-print { font-size: 9px; margin-top: 12px; max-width: 350px; }
.team-copy > .text-link { margin-top: 17px; }
.assessment-section { background: var(--paper); padding-block: 92px; border-top: 1px solid var(--line); }
.assessment-layout { display: grid; grid-template-columns: .9fr 1.1fr; gap: 93px; }
.assessment-copy { padding-top: 14px; }
.assessment-copy .eyebrow { margin-bottom: 25px; }
.assessment-copy h2 { font-family: var(--display-font); font-size: 69px; line-height: 1.05; font-weight: 500; letter-spacing: -.3px; }
.assessment-copy h2 span { color: var(--signal); }
.assessment-copy > p { font-size: 13px; color: var(--quiet); margin-top: 26px; max-width: 345px; }
.assessment-copy ul { margin-top: 27px; }
.assessment-copy li { display: flex; align-items: center; gap: 12px; font-size: 11px; margin-block: 12px; }
.assessment-copy li svg { color: var(--signal); }
.assessment-reference { display: block; font-size: 8px; letter-spacing: 1.7px; color: var(--quiet); margin-top: 64px; }
.assessment-form-wrap { background: white; padding: 38px; border-top: 3px solid var(--signal); box-shadow: 0 5px 35px #1d232606; }
.assessment-form-wrap h3 { font-size: 24px; font-weight: 500; letter-spacing: -.8px; }
.form-intro { font-size: 11px; color: var(--quiet); margin-top: 8px; margin-bottom: 26px; }
.form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 20px 18px; }
.form-field { display: flex; flex-direction: column; gap: 8px; }
.form-field label { font-size: 10px; font-weight: 600; }
.form-field label > span:not(.optional) { color: var(--signal); }
.form-field .optional { color: var(--quiet); font-weight: 400; margin-left: 2px; }
.form-field input, .form-field select, .form-field textarea { border: 1px solid var(--line); background: #fcfcfb; min-height: 44px; width: 100%; padding: 11px 12px; border-radius: 2px; font-size: 11px; color: var(--ink); transition: border-color 180ms ease-out; }
.form-field input:focus, .form-field select:focus, .form-field textarea:focus { outline: none; border-color: var(--signal); box-shadow: 0 0 0 1px var(--signal); }
.form-field input::placeholder, .form-field textarea::placeholder { color: #757b7c; }
.form-field textarea { resize: vertical; min-height: 85px; }
.form-field [aria-invalid=true] { border-color: var(--signal); }
.full-width { grid-column: 1/-1; }
.input-note { font-size: 9px; color: var(--quiet); line-height: 1.6; }
.honeypot { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
.consent-label { display: flex; gap: 10px; font-size: 9px; color: var(--quiet); line-height: 1.7; margin-block: 20px; cursor: pointer; }
.consent-label > input { accent-color: var(--signal); margin-top: 3px; flex-shrink: 0; height: 15px; width: 15px; }
.consent-label a { text-decoration: underline; text-underline-offset: 2px; }
.submit-button { width: 100%; font-size: 11px; }
.form-note { margin-top: 13px; font-size: 9px; }
.form-error { color: var(--signal-dark); font-size: 11px; border-left: 2px solid var(--signal); padding: 9px 12px; background: #d8a12e12; margin-bottom: 15px; }
.field-error { color: var(--signal-dark); font-size: 10px; }
.loading-spinner { animation: spin 1s linear infinite; }
@keyframes spin { to { transform: rotate(360deg); } }
.assessment-success { min-height: 540px; display: flex; flex-direction: column; justify-content: center; }
.assessment-success > svg { color: var(--signal); margin-bottom: 30px; }
.assessment-success .eyebrow { margin-bottom: 17px; }
.assessment-success h3 { font-size: 34px; line-height: 1.3; }
.assessment-success > p { font-size: 13px; color: var(--quiet); margin-top: 18px; }
.assessment-success > .fine-print { font-size: 10px; }
.assessment-success .text-link { margin-top: 20px; }
.site-footer { background: var(--ink); color: #dbe0e0; padding-top: 63px; }
.brand-light { color: white; }
.footer-main { display: grid; grid-template-columns: 1.3fr 1fr 1fr; gap: 60px; padding-bottom: 55px; }
.footer-main > div:first-child > p { font-size: 11px; color: #a8b1b3; margin-top: 24px; }
.footer-links { display: flex; flex-direction: column; align-items: flex-start; gap: 11px; }
.footer-links .eyebrow, .footer-contact .eyebrow { color: #a8b1b3; font-size: 8px; margin-bottom: 9px; }
.footer-links a { font-size: 11px; min-height: 22px; }
.footer-links a:hover { color: white; text-decoration: underline; }
.footer-contact h3 { font-weight: 400; font-size: 25px; letter-spacing: -.6px; line-height: 1.3; }
.footer-contact > a { display: flex; align-items: center; gap: 25px; font-size: 11px; margin-top: 21px; }
.footer-contact svg { color: #e3b44e; }
.footer-bottom { display: flex; justify-content: space-between; gap: 20px; border-top: 1px solid #3d4547; padding-block: 23px 18px; font-size: 9px; color: #a8b1b3; }
.footer-disclaimer { font-size: 8px; line-height: 1.75; color: #9fa8aa; padding-bottom: 26px; }
/* Accessible, fully themed detail exhibits. */
.detail-dialog { max-width: 720px; width: calc(100% - 32px); padding: 38px; border: 0; border-top: 3px solid var(--signal); border-radius: 3px; max-height: 85dvh; overflow-y: auto; }
.detail-dialog .eyebrow { color: var(--signal); font-size: 9px; padding-right: 20px; }
.dialog-heading { font-family: var(--body-font); font-size: 30px; font-weight: 500; line-height: 1.3; letter-spacing: -1px; }
.dialog-intro { color: var(--quiet); font-size: 13px; line-height: 1.8; }
.dialog-columns { display: grid; grid-template-columns: 1fr 1fr; gap: 30px; margin-block: 10px; padding-top: 15px; border-top: 1px solid var(--line); }
.dialog-columns h3, .case-dialog-part h3 { font-size: 13px; font-weight: 600; margin-bottom: 12px; }
.dialog-columns li { display: flex; align-items: flex-start; gap: 9px; font-size: 11px; line-height: 1.7; padding-block: 5px; color: var(--quiet); }
.dialog-columns li svg { flex-shrink: 0; color: var(--signal); margin-top: 3px; }
.detail-dialog > .button { margin-top: 8px; justify-self: start; }
.case-dialog-part { padding-top: 16px; border-top: 1px solid var(--line); }
.case-dialog-part p, .team-dialog > p:not(.fine-print) { font-size: 12px; color: var(--quiet); line-height: 1.8; }
.error-page { max-width: 780px; margin-inline: auto; padding: 100px 28px; min-height: 65dvh; }
.error-page h1 { font-family: var(--display-font); font-size: 65px; line-height: 1.1; margin-block: 25px; }
.error-page p { color: var(--quiet); margin-bottom: 28px; }
.error-page pre { font-size: 11px; overflow-x: auto; margin-top: 30px; }
.privacy-page { background: var(--paper); padding-block: 65px 100px; }
.privacy-rail { width: min(780px, calc(100% - 48px)); margin-inline: auto; }
.privacy-rail > .eyebrow { margin-top: 40px; }
.privacy-rail h1 { font-size: clamp(38px,5vw,60px); font-weight: 500; letter-spacing: -2px; margin-top: 22px; }
.privacy-lead { font-size: 17px; color: var(--quiet); margin-block: 22px 40px; }
.privacy-rail section { border-top: 1px solid var(--line); padding-block: 27px; }
.privacy-rail section h2 { font-size: 23px; letter-spacing: -.6px; margin-bottom: 17px; }
.privacy-rail section p { font-size: 13px; color: var(--quiet); margin-top: 12px; }
.privacy-cta { margin-top: 24px; }
.privacy-cta p { margin-bottom: 17px; font-size: 14px; }
.case-study-page { padding-bottom: 85px; }
.case-study-entry { padding-top: 44px; }
.case-study-header { display: flex; align-items: flex-end; justify-content: space-between; gap: 40px; margin-block: 40px; }
.case-study-header .eyebrow { color: var(--quiet); margin-bottom: 20px; }
.case-study-header h1 { max-width: 800px; font-size: clamp(38px, 4.5vw, 65px); line-height: 1.1; font-weight: 500; letter-spacing: -2px; }
.case-study-header p { margin-top: 24px; color: var(--quiet); font-size: 14px; }
.scenario-label { font-size: 8px; letter-spacing: 1px; line-height: 1.9; color: var(--quiet); flex-shrink: 0; padding-left: 14px; border-left: 2px solid var(--signal); }
.case-study-cover { position: relative; height: 510px; clip-path: polygon(0 0,100% 0,100% calc(100% - 40px),calc(100% - 40px) 100%,0 100%); }
.case-study-cover img { height: 100%; object-fit: cover; filter: saturate(.85); }
.case-study-body { display: grid; grid-template-columns: 1.5fr 1fr; align-items: start; gap: 100px; padding-top: 70px; }
.case-study-story section { padding-bottom: 38px; margin-bottom: 35px; border-bottom: 1px solid var(--line); }
.case-study-story section .eyebrow { color: var(--signal); margin-bottom: 20px; }
.case-study-story section h2 { font-size: 32px; }
.case-study-story section p { font-size: 14px; margin-top: 22px; color: var(--quiet); }
.case-study-objective > svg { color: var(--signal); margin-bottom: 18px; }
.case-study-aside { background: var(--paper); padding: 30px; border-top: 2px solid var(--signal); position: sticky; top: 125px; }
.case-study-aside .eyebrow { color: var(--quiet); font-size: 9px; }
.case-study-aside h3 { font-size: 24px; font-weight: 500; letter-spacing: -.5px; margin-block: 20px; }
.case-study-aside li { display: flex; gap: 9px; line-height: 1.7; font-size: 12px; padding-block: 7px; }
.case-study-aside li svg { color: var(--signal); flex-shrink: 0; margin-top: 3px; }
.case-study-aside p { color: var(--quiet); font-size: 12px; margin-block: 25px 18px; }
.case-study-aside > .button { width: 100%; }
.related-scenarios { padding-top: 50px; }
.related-scenarios > .eyebrow { margin-bottom: 20px; }
.related-scenarios > a { display: flex; align-items: center; justify-content: space-between; gap: 25px; padding-block: 27px; border-top: 1px solid var(--line); }
.related-scenarios small { display: block; color: var(--quiet); font-size: 10px; margin-bottom: 10px; }
.related-scenarios strong { display: block; font-size: 25px; font-weight: 500; letter-spacing: -.7px; }
.related-scenarios > a:hover svg { color: var(--signal); }
@media (max-width: 767px) {
  .case-study-header { display: block; margin-block: 25px; }
  .case-study-header h1 { font-size: 43px; letter-spacing: -1.5px; }
  .scenario-label { display: block; margin-top: 25px; }
  .case-study-cover { height: 300px; }
  .case-study-body { grid-template-columns: 1fr; gap: 35px; padding-top: 45px; }
  .case-study-aside { position: static; }
  .case-study-story section h2 { font-size: 29px; }
  .related-scenarios strong { font-size: 21px; }
  .case-study-cover .image-reference { font-size: 7px; }
}

@media (max-width: 1150px) {
  .wide-rail { width: calc(100% - 72px); }
  .header-inner { width: calc(100% - 56px); gap: 20px; }
  .desktop-nav { gap: 20px; font-size: 11px; }
  .hero h1 { font-size: 83px; }
  .hero-content { padding-top: 95px; }
  .hero-annotation { right: 5%; bottom: 80px; }
  .coverage-layout, .assessment-layout { gap: 60px; }
  .team-section { gap: 50px; }
  .team-copy h2 { font-size: 31px; }
  .case-feature { gap: 40px; }
  .assessment-form-wrap { padding: 28px; }
  .assurance-inner > div { gap: 12px; }
  .assurance-inner small { font-size: 9px; }
  .assurance-inner strong { font-size: 11px; }
}
@media (max-width: 900px) {
  .desktop-nav { display: none; }
  .header-cta { margin-left: auto; }
  .mobile-toggle { display: flex; }
  .hero { min-height: 100dvh; }
  .hero h1 { font-size: 76px; }
  .hero-wash { background: linear-gradient(90deg,#f5f7f7f5,#f5f7f7d9 45%,#f5f7f733); }
  .hero-annotation { bottom: 44px; right: 36px; }
  .hero-ref { display: none; }
  .industry-grid { gap: 20px; }
  .industry-title h3 { font-size: 20px; }
  .coverage-layout { gap: 45px; }
  .coverage-intro h2 { font-size: 51px; }
  .coverage-mark { display: none; }
  .coverage-detail { padding-left: 0; }
  .section-heading { gap: 28px; }
  .section-heading > p { max-width: 235px; }
  .approach-steps { gap: 25px; }
  .approach-steps h3 { font-size: 16px; }
  .case-copy h3 { font-size: 26px; }
  .case-feature { gap: 30px; }
  .team-section { gap: 35px; }
  .team-photo { aspect-ratio: .74; }
  .team-copy .eyebrow { font-size: 8px; }
  .team-copy h2 { font-size: 28px; }
  .assessment-layout { gap: 35px; grid-template-columns: .75fr 1fr; }
  .assessment-copy h2 { font-size: 56px; }
  .form-grid { grid-template-columns: 1fr; gap: 17px; }
  .footer-main { gap: 35px; }
}
@media (max-width: 767px) {
  html { scroll-padding-top: 90px; }
  .wide-rail { width: calc(100% - 44px); }
  .header-inner { width: calc(100% - 36px); height: 76px; gap: 12px; }
  .brand-symbol { width: 29px; height: 29px; }
  .brand { gap: 8px; }
  .brand-text { font-size: 18px; letter-spacing: 1px; }
  .brand-text > span { font-size: 6px; letter-spacing: 3.7px; margin-top: 5px; }
  .header-cta { font-size: 10px; gap: 12px; padding: 11px 12px; min-height: 42px; }
  .header-cta svg { width: 14px; }
  .mobile-toggle { width: 34px; }
  .hero { min-height: 100dvh; }
  .hero-image { inset: 0; }
  .hero-image img { object-position: 62% center; }
  .hero-wash { background: linear-gradient(180deg,#f5f7f7f5 0%,#f5f7f7df 45%,#f5f7f788 72%,#f5f7f744); }
  .hero-content { padding-top: 65px; padding-bottom: 180px; }
  .hero-content .eyebrow { font-size: 8px; letter-spacing: 1.25px; margin-bottom: 29px; gap: 9px; }
  .hero h1 { font-size: clamp(49px,10.4vw,75px); line-height: 1.01; letter-spacing: -.8px; }
  .hero-content > p { font-size: 13px; margin-top: 24px; max-width: 350px; }
  .hero-actions { flex-direction: column; align-items: flex-start; gap: 7px; margin-top: 26px; }
  .hero-actions .button { min-width: 230px; }
  .hero-scroll { margin-top: 35px; font-size: 7px; letter-spacing: 1.2px; }
  .hero-annotation { bottom: 28px; right: 22px; padding: 13px 16px; }
  .hero-annotation > span:last-child { font-size: 8px; }
  .annotation-icon svg { width: 28px; height: 28px; }
  .assurance-inner { grid-template-columns: 1fr; padding-block: 12px; }
  .assurance-inner > div, .assurance-inner > div:first-child, .assurance-inner > div:last-child { justify-content: flex-start; padding: 15px 2px; gap: 18px; }
  .assurance-inner > div + div { border-left: 0; border-top: 1px solid var(--line); }
  .assurance-inner strong { font-size: 12px; }
  .assurance-inner small { font-size: 10px; }
  .section-space { padding-block: 68px; }
  .section-heading { display: block; margin-bottom: 34px; }
  .section-heading .eyebrow { margin-bottom: 20px; }
  .section-heading > p { margin-top: 22px; max-width: 360px; }
  .section-heading > .text-link { margin-top: 15px; }
  h2 { font-size: 34px; letter-spacing: -1.2px; }
  .eyebrow { font-size: 8px; letter-spacing: 1.5px; }
  .desktop-break { display: none; }
  .industry-grid { grid-template-columns: 1fr; gap: 40px; }
  .industry-card:nth-child(2), .industry-card:nth-child(3) { transform: none; }
  .industry-image { aspect-ratio: 1.55; }
  .industry-title { margin-top: 19px; }
  .industry-title h3 { font-size: 25px; }
  .industry-card > p { font-size: 13px; max-width: none; }
  .industries-section { padding-bottom: 70px; }
  .coverage-section { padding-block: 65px; }
  .coverage-layout { grid-template-columns: 1fr; gap: 28px; }
  .coverage-intro h2 { font-size: 57px; }
  .coverage-intro > p { max-width: 400px; }
  .coverage-toggle { padding: 22px 0; }
  .coverage-detail { padding-left: 0; }
  .coverage-detail > p { font-size: 13px; }
  .coverage-detail li { font-size: 12px; }
  .approach-steps { grid-template-columns: 1fr; gap: 28px; margin-top: 30px; }
  .step-number { font-size: 32px; }
  .approach-steps h3 { font-size: 20px; margin-top: 14px; }
  .approach-steps p { max-width: none; font-size: 13px; }
  .case-tabs { gap: 23px; }
  .case-tabs button { font-size: 10px; gap: 9px; }
  .case-tabs button > span { display: none; }
  .case-feature { grid-template-columns: 1fr; gap: 27px; }
  .case-image { aspect-ratio: 1.45; }
  .case-copy { padding: 0; }
  .case-copy h3 { font-size: 30px; }
  .case-copy > p, .case-takeaway p { font-size: 13px; }
  .case-disclaimer { font-size: 9px; }
  .team-section { grid-template-columns: 1fr; gap: 38px; }
  .team-photo { aspect-ratio: 1.15; }
  .team-copy h2 { font-size: 34px; }
  .team-copy > p:not(.fine-print) { font-size: 13px; }
  .team-list button { min-height: 68px; }
  .team-list strong { font-size: 14px; }
  .team-list small { font-size: 11px; }
  .assessment-section { padding-block: 65px; }
  .assessment-layout { grid-template-columns: 1fr; gap: 34px; }
  .assessment-copy h2 { font-size: 65px; }
  .assessment-reference { margin-top: 29px; }
  .assessment-form-wrap { padding: 27px 23px; }
  .assessment-form-wrap h3 { font-size: 25px; }
  .form-intro { font-size: 12px; }
  .form-field label { font-size: 12px; }
  .form-field input, .form-field select, .form-field textarea { font-size: 16px; min-height: 48px; }
  .consent-label { font-size: 11px; padding-block: 7px; }
  .consent-label > input { width: 18px; height: 18px; }
  .input-note { font-size: 10px; }
  .submit-button { font-size: 11px; padding-inline: 14px; gap: 10px; }
  .assessment-success { min-height: 440px; }
  .site-footer { padding-top: 48px; }
  .footer-main { grid-template-columns: 1fr 1fr; gap: 35px 22px; }
  .footer-main > div:first-child { grid-column: 1/-1; }
  .footer-links a { min-height: 32px; display: flex; align-items: center; }
  .footer-links { gap: 3px; }
  .footer-contact h3 { font-size: 23px; }
  .footer-contact > a { font-size: 10px; gap: 12px; line-height: 1.6; }
  .footer-bottom { flex-wrap: wrap; row-gap: 15px; font-size: 8px; }
  .footer-bottom > span:last-child { display: none; }
  .footer-bottom a { min-height: 30px; }
  .footer-disclaimer { font-size: 8px; }
  .detail-dialog { padding: 32px 24px; }
  .dialog-heading { font-size: 27px; }
  .dialog-columns { grid-template-columns: 1fr; gap: 23px; }
  .dialog-columns li { font-size: 12px; }
  .privacy-page { padding-block: 40px 70px; }
}
@media (max-width: 375px) {
  .header-cta { display: none; }
  .mobile-toggle { margin-left: auto; }
  .hero h1 { font-size: 47px; }
  .hero-content .eyebrow { letter-spacing: .8px; font-size: 7px; }
  .hero-content { padding-top: 48px; }
  .assessment-copy h2 { font-size: 58px; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .01ms !important; transition-duration: .01ms !important; animation-iteration-count: 1 !important; }
}

/* CAFEX adaptations: original layouts retained, only brand, accessibility and new content */
html {scroll-behavior: smooth} body{overflow-x:hidden}.site-header{box-shadow:0 2px 22px #05224708}
.brand-logo{width:69px;height:69px;object-fit:contain;flex-shrink:0}.brand-text{color:#072452;font-size:19px;letter-spacing:.45px;font-weight:750}.brand-text>span{font-size:9px;letter-spacing:1.45px;margin-top:4px;color:#bc881b}.brand-light .brand-text{color:#fff}.brand-light .brand-text>span{color:#f1c960}
.brand-light .brand-logo{background:white;border-radius:4px;padding:2px}.desktop-nav{gap:21px}.desktop-nav a[aria-current=page],.mobile-nav a[aria-current=page]{color:var(--signal);font-weight:750}
.desktop-nav .nav-drop{position:relative;display:flex;align-items:center}.nav-drop>button{border:0;background:none;font-size:12px;color:inherit;font-weight:500;padding:20px 0}.nav-pop{display:none;position:absolute;top:100%;left:-14px;width:230px;background:white;border-top:2px solid var(--signal);box-shadow:0 18px 35px #021e4133;z-index:60;padding:10px 15px}.nav-pop a{display:block;padding:11px 6px;font-size:12px;border-bottom:1px solid var(--line)}.nav-drop:hover .nav-pop,.nav-drop:focus-within .nav-pop{display:block}
.button-red{background:var(--signal);color:#071e43}.button-red:hover{background:var(--signal-dark);color:white}.hero h1{max-width:1020px;font-size:clamp(59px,6.8vw,99px)}.hero-wash{background:linear-gradient(90deg,#f7f9fb 0%,#f7f9fbf5 21%,#f7f9fbef 41%,#f7f9fbb3 57%,#f7f9fb03 87%)}.hero-image img{object-position:center center}.hero-annotation{border-left-color:var(--signal)}.hero-content>p{max-width:555px}.hero h1 span{color:#c39228}.hero:after{content:'';position:absolute;bottom:0;left:0;right:0;height:4px;background:linear-gradient(90deg,#c18a1c,transparent 50%);pointer-events:none}
.team-photo img,.industry-image img,.case-image img,.case-study-cover img{filter:none}.coverage-section{background:linear-gradient(115deg,#061c41,#092952)}.site-footer{background:#06162f}.case-study-cover img{object-position:center center}
.coverage-item.is-open .coverage-toggle>svg{color:#e9b84c}.coverage-detail li svg{color:#e9b84c}
.mobile-nav{background:white}.mobile-nav a{font-weight:550}.mobile-nav .mobile-sub{padding-left:22px;font-size:12px;color:#49566b;min-height:38px}
.eyebrow{word-spacing:1px}.hero-ref{color:#24364f}.team-list .value-title{display:block;font-size:13px;font-weight:650}.team-list .value-description{display:block;font-size:11px;margin-top:4px;color:var(--quiet)}.team-list>div{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);padding:17px 0}
.industry-image{cursor:pointer}.icon-arrow{width:18px;height:18px;flex-shrink:0}.icon-tick{width:16px;height:16px;flex-shrink:0;color:var(--signal)}.icon-menu{width:23px;height:23px}.icon-idea{width:27px;height:27px;flex-shrink:0}.coverage-toggle .icon-idea{color:#ccd5e1}.coverage-toggle .icon-plus{width:21px;height:21px;color:#f4c65b}.coverage-toggle[aria-expanded=true] .icon-plus{transform:rotate(45deg)}
.case-tabs button{cursor:pointer}.case-tabs button:focus-visible{outline-offset:0}.case-feature[hidden],.coverage-detail[hidden],.mobile-nav[hidden]{display:none!important}
.whatsapp-float{position:fixed;right:21px;bottom:22px;display:flex;align-items:center;gap:10px;background:#147d50;color:white;padding:11px 16px;border-radius:999px;box-shadow:0 8px 22px #051c4260;font-size:12px;font-weight:700;z-index:45;min-height:50px}.whatsapp-float svg{width:21px;height:21px}.whatsapp-close{position:fixed;right:17px;bottom:78px;z-index:46;border:0;border-radius:50%;background:#fff;color:#334155;width:23px;height:23px;box-shadow:0 3px 8px #10233e33;font-size:16px}.whatsapp-float:hover{background:#0a693f}.whatsapp-float[hidden],.whatsapp-close[hidden]{display:none}
.loader{position:fixed;inset:0;background:#fff;z-index:150;display:flex;justify-content:center;align-items:center;flex-direction:column;gap:18px;transition:opacity .5s ease,visibility .5s ease}.loader.is-hidden{opacity:0;visibility:hidden;pointer-events:none}.loader img{width:165px;height:135px;object-fit:contain}.loader span{font-size:10px;letter-spacing:3px;color:#12345e}.loader-progress{width:170px;height:2px;background:#e6eaf0}.loader-progress i{display:block;background:#d8a12e;height:100%;width:0;animation:loaderFill 1s ease forwards}@keyframes loaderFill{to{width:100%}}
.approach-steps{margin-top:42px}.case-copy .text-link{margin-top:16px}.case-photo-caption{position:absolute;bottom:18px;left:18px;background:#ffffffdc;padding:8px 12px;font-size:9px;letter-spacing:1px}
.form-field textarea{min-height:112px}.request-hint{font-size:10px;color:var(--quiet);margin-top:17px}.request-hint strong{color:#07386e}.form-field label{font-size:11px}.assessment-form-wrap h3{font-size:26px}.form-sent{margin-top:14px;color:#0e6a48;font-size:12px}
.footer-bottom a.footer-credit{color:#f1c960;font-weight:650}.footer-location{margin-top:16px;font-size:10px;color:#c7d1dc;max-width:340px;line-height:1.7}.footer-main .brand-text{color:white}.footer-main>div:first-child>p{margin-top:12px}
.case-study-story section p{max-width:710px}.case-study-story .advice-card{border-left:3px solid var(--signal);padding:12px 18px;background:#f7f9fc;font-size:13px;color:#4d5a6b}.case-study-aside li .icon-tick{width:16px;height:16px}.case-study-aside .button{gap:12px}.case-study-aside .info-small{font-size:11px}.section-tag{display:inline-block;background:#f5e9c7;color:#806216;font-size:10px;font-weight:750;letter-spacing:1px;padding:7px 10px;margin-bottom:17px}
.page-content-note{padding-top:28px;padding-bottom:20px;color:#5b6776;font-size:12px}.page-content-note a{color:#936d18;text-decoration:underline}.contact-info{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;padding-block:35px 20px}.contact-info>div{background:#f7f9fc;border-top:2px solid #d8a12e;padding:22px}.contact-info h3{font-size:13px;margin-bottom:8px}.contact-info p{font-size:12px;color:var(--quiet)}.contact-info a{color:#0a4384;font-weight:650}.notice-small{font-size:11px;color:var(--quiet);margin-top:14px}.privacy-rail a{color:#ad7b11;text-decoration:underline}
@media(max-width:1150px){.desktop-nav{gap:12px}.header-inner{gap:12px}.brand-logo{height:59px;width:59px}.brand-text{font-size:17px}.desktop-nav a,.nav-drop>button{font-size:10px}}
@media(max-width:900px){.desktop-nav{display:none}.nav-pop{display:none}.hero-wash{background:linear-gradient(90deg,#f8fafbed,#f8fafbcf 55%,#f8fafb33)}}
@media(max-width:767px){.brand-logo{height:56px;width:56px}.brand-text{font-size:15px}.brand-text>span{font-size:7px;letter-spacing:1px}.hero h1{font-size:clamp(47px,10vw,69px)}.hero-wash{background:linear-gradient(180deg,#f7f9fbf5,#f7f9fbe0 58%,#f7f9fb7d)}.hero-content{padding-top:72px;padding-bottom:195px}.hero-annotation{bottom:35px}.whatsapp-float{right:12px;bottom:12px;padding:11px 13px}.whatsapp-float span{display:none}.whatsapp-close{right:7px;bottom:65px}.contact-info{grid-template-columns:1fr;gap:13px}.case-study-cover{height:330px}.case-study-cover img{object-position:65% center}}
@media(max-width:440px){.header-cta{display:none}.mobile-toggle{margin-left:auto}.hero h1{font-size:47px}.hero-content>.eyebrow{font-size:7px}.hero-annotation{right:20px}.brand-text{font-size:14px}}
@media(prefers-reduced-motion:reduce){.loader-progress i{animation:none;width:100%}.loader{transition:none}}


/* ------------------------------------------------------------------
   CAFEX premium iconography: authentic Font Awesome Free 6.7.2 SVGs.
   Self-contained paths (no external fonts, CDNs or emoji dependencies).
   ------------------------------------------------------------------ */

.fa-svg {display:inline-block; width:1em; height:1em; flex:0 0 auto; vertical-align:-.12em; fill:currentColor; stroke:none; overflow:visible; transition:transform .22s ease,color .22s ease; }
.fa-svg path {fill:currentColor;stroke:none;}
.icon-arrow.fa-svg {width:17px;height:17px;}
.button .fa-action-lead{width:15px;height:15px;margin-right:2px;color:inherit;}
.button:hover .icon-arrow,.text-link:hover .icon-arrow,.image-arrow:hover .icon-arrow,.related-scenarios>a:hover>.icon-arrow{transform:translateX(3px)}
.mobile-toggle .fa-menu-close{display:none;}
.mobile-toggle[aria-expanded="true"] .icon-menu:not(.fa-menu-close){display:none;}
.mobile-toggle[aria-expanded="true"] .fa-menu-close{display:block;}
.promise-icon{display:flex;align-items:center;justify-content:center;width:49px;height:49px;flex:0 0 49px;border:1px solid rgba(12,51,91,.09);border-radius:14px;color:#bf8522;background:linear-gradient(135deg,#fffaf0,#f3eee2);box-shadow:0 5px 13px #142e4812;}
.promise-icon .fa-svg{width:21px;height:21px;}
.assurance-inner>div:hover .promise-icon{background:#0a2b56;color:#f8c96b;transform:translateY(-2px);}
.industry-service-icon{position:absolute;left:17px;bottom:14px;z-index:2;width:44px;height:44px;border-radius:13px;display:flex;align-items:center;justify-content:center;background:#072958;border:1px solid #ffffff65;box-shadow:0 8px 24px #051c425e;color:#f6c66a;transition:transform .28s ease,background .28s ease;}
.industry-service-icon .fa-svg{width:20px;height:20px;}
.industry-card:hover .industry-service-icon{transform:translateY(-3px);background:#bf8c29;color:#fff;}
.industry-card .image-arrow .fa-svg{width:20px;height:20px;}
.coverage-toggle>.fa-svg:first-child{width:24px;height:24px;color:#dcb45f;}
.coverage-toggle .icon-plus.fa-svg{width:17px;height:17px;color:#f3c36a;}
.coverage-toggle:hover>.fa-svg:first-child{transform:scale(1.08);color:#ffd886;}
.coverage-mark .fa-svg{width:100%;height:auto;color:#ffffff10;}
.coverage-detail li .fa-svg{color:#f2be55;}
.fa-process-icon{width:24px;height:24px;margin-right:13px;color:#b98527;}
.step-number{display:flex;align-items:center;gap:1px;}
.step-number>span:last-child{flex:1;}
.case-tabs button .fa-tab-icon{width:14px;height:14px;vertical-align:-.1em; color:#d4ad57;}
.case-tabs button[aria-pressed="true"] .fa-tab-icon{color:#b07e25;}
.case-takeaway .fa-takeaway-icon{color:#c58c2e;}
.annotation-icon .fa-svg{width:32px;height:32px;color:#bd892d;}
.detail-service-emblem{display:inline-flex;width:54px;height:54px;align-items:center;justify-content:center;background:linear-gradient(135deg,#062853,#114778);border:1px solid #d2ad61;border-radius:15px;box-shadow:0 9px 21px #0c31541f;margin:17px 0 3px;}
.detail-service-emblem .fa-svg{width:25px;height:25px;color:#ffce6d;}
.related-scenarios>a{gap:15px;}
.related-scenarios>a>.related-icon{display:flex;align-items:center;justify-content:center;width:40px;height:40px;min-width:40px;border-radius:12px;background:#0a2c55;color:#edc16a;flex:0 0 auto;}
.related-scenarios>a>.related-icon .fa-svg{width:18px;height:18px;}
.related-scenarios>a>span:not(.related-icon){flex:1;}
.contact-info-icon{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:12px;background:#072e5b;color:#f3c168;margin-bottom:15px;}
.contact-info-icon .fa-svg{width:19px;height:19px;}
.footer-contact>a .fa-contact-symbol{width:18px;height:18px;color:#e6b959;}
.footer-contact>a .icon-arrow{margin-left:auto;}
.whatsapp-float{gap:11px;background:#0c7852;border:1px solid #ffffff1c;box-shadow:0 10px 30px #062e2f55;}
.whatsapp-float .fa-brand-icon{width:24px;height:24px;}
.whatsapp-float:hover{background:#086340;}
.whatsapp-close{display:flex;align-items:center;justify-content:center;cursor:pointer;}
.whatsapp-close .fa-close-symbol{width:11px;height:11px;}
.fa-back-icon{margin-right:6px;}
@media(max-width:900px){.promise-icon{height:42px;width:42px;flex-basis:42px;border-radius:12px}.promise-icon .fa-svg{width:18px;height:18px}}
@media(max-width:640px){.industry-service-icon{width:40px;height:40px;left:12px;bottom:10px}.industry-service-icon .fa-svg{width:18px;height:18px}.detail-service-emblem{width:46px;height:46px;margin:12px 0 0}.detail-service-emblem .fa-svg{width:22px;height:22px}.fa-process-icon{width:20px;height:20px}}
@media(prefers-reduced-motion:reduce){.fa-svg,.promise-icon,.industry-service-icon{transition:none!important}}

/* CAFEX - Mise à jour client du 22 octobre 2026 */
.brand-text{font-size:clamp(12px,1.25vw,17px);white-space:nowrap;letter-spacing:.01em;line-height:1.2}
.brand-text>span{font-size:clamp(7px,.62vw,9px);letter-spacing:0;white-space:normal;line-height:1.45;max-width:250px;margin-top:3px;font-weight:650;text-transform:none}
.header-inner .brand{min-width:244px;max-width:295px;flex-shrink:0}
.footer-main .brand-text>span{max-width:280px}
.hero-content>p{max-width:540px}
.hero h1{font-size:clamp(54px,6.25vw,87px)}
.cafex-section-top{display:flex;align-items:end;justify-content:space-between;gap:42px;margin-bottom:32px}
.cafex-section-top .eyebrow{margin-bottom:17px;color:#b28a27}
.cafex-section-top h2{max-width:650px;font-size:clamp(32px,3.1vw,45px);font-weight:600;letter-spacing:-1.3px}
.cafex-section-top h2 em{font-style:normal;color:#c69628}
.cafex-section-top>p{max-width:340px;font-size:13px;color:var(--quiet);line-height:1.75}
.cafex-statuts-section{padding:92px 0 100px;background:#fff}
.cafex-statuts-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 28px;list-style:none;margin:0;padding:0}
.cafex-statuts-grid li{border-top:1px solid #e4e8ed}
.cafex-statuts-grid a{display:flex;gap:14px;align-items:center;min-height:80px;padding:15px 2px;font-size:13px;line-height:1.45;font-weight:600;transition:color .2s}
.cafex-statuts-grid a:hover{color:#ad811e}
.stat-number{font-size:11px;color:#bd902b;min-width:26px}
.stat-arrow{color:#bd902b;margin-left:auto;font-size:17px}
.cafex-statut-disclaimer{font-size:11px;color:#687688;line-height:1.8;max-width:1050px;margin-top:27px}
.cafex-statut-disclaimer a{color:#a67915;text-decoration:underline}
.cafex-statuts-btn{margin-top:24px}
.cafex-training-highlight{padding:60px 0;background:#081f42;color:#fff}
.cafex-training-highlight>.wide-rail{display:flex;justify-content:space-between;align-items:center;gap:30px}
.cafex-training-highlight h2{font-size:clamp(29px,3vw,42px);font-weight:600;margin:13px 0}
.cafex-training-highlight p{font-size:13px;color:#cbd5e1;max-width:620px}
.cafex-training-highlight .button{flex-shrink:0}
.cafex-training-section{padding:80px 0;background:#f5f7fa}
.cafex-training-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:19px}
.cafex-training-card{padding:25px 24px 20px;background:#fff;border-top:3px solid #c99b2f;display:flex;flex-direction:column;min-height:238px;box-shadow:0 7px 20px #09284c08}
.training-number{font-size:10px;letter-spacing:1.3px;color:#bd8d21;font-weight:700}
.cafex-training-card h3{font-size:19px;line-height:1.3;margin:16px 0 10px;font-weight:650}
.cafex-training-card>p{font-size:12px;color:#697789;line-height:1.75}
.training-card-actions{margin-top:auto;padding-top:20px}
.training-request{border-top:1px solid #e4e8ed;padding-top:13px;font-weight:700;font-size:11px;display:flex;justify-content:space-between;gap:12px;color:#10345c}
.training-request:hover{color:#c18f1b}
.training-information{font-size:12px;line-height:1.8;margin-top:25px;color:#526275;background:#fff;padding:20px 24px;border-left:3px solid #c99b2f}
.training-information strong{display:block;color:#08254c}
.cafex-partners-section{padding:76px 0 95px;background:#fff;border-top:1px solid #e4e9ed}
.cafex-partner-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.partner-ademafr,.partner-placeholder{min-height:130px;padding:27px;background:#f5f7fa;border:1px solid #e3e9f0;display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;gap:11px}
.partner-mark{font-weight:800;font-size:clamp(24px,2.5vw,32px);letter-spacing:-1px;color:#0a305d}
.partner-mark span{color:#c49226}
.partner-ademafr>span{color:#687789;font-size:11px}
.partner-placeholder{flex-direction:row;gap:20px}
.partner-plus{font-size:27px;color:#c89a2d;border:1px solid #dfb86a;width:55px;height:55px;line-height:55px;text-align:center;border-radius:50%;flex-shrink:0}
.partner-placeholder>div:last-child{text-align:left}
.partner-placeholder strong{display:block;font-size:13px;margin-bottom:4px}
.partner-placeholder span{display:block;font-size:11px;color:#687789;line-height:1.65}
/* Le formulaire de contact se termine sans bande vide au-dessus du footer */
.case-study-page:has(>.assessment-section){padding-bottom:0}
.case-study-page .assessment-section{margin-bottom:0}
@media(max-width:1180px){.header-inner .brand{min-width:215px;max-width:245px}.desktop-nav{gap:10px}.desktop-nav a{font-size:10px}}
@media(max-width:980px){.header-inner .brand{min-width:0}.cafex-statuts-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.cafex-training-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.brand-text{font-size:13px}.brand-text>span{font-size:7px;max-width:195px}.brand-logo{width:50px;height:50px}.hero h1{font-size:clamp(43px,9vw,65px)}.cafex-section-top{display:block}.cafex-section-top>p{margin-top:16px}.cafex-statuts-grid,.cafex-training-grid,.cafex-partner-grid{grid-template-columns:1fr}.cafex-statuts-section{padding:65px 0}.cafex-training-section{padding:65px 0}.cafex-statuts-grid a{min-height:65px}.cafex-training-highlight>.wide-rail{flex-direction:column;align-items:flex-start}.cafex-partners-section{padding:65px 0}.cafex-training-card{min-height:215px}}
@media(max-width:390px){.brand-logo{width:46px;height:46px}.brand-text{font-size:12px}.brand-text>span{font-size:6px;max-width:160px}}


/* CAFEX — corrections du 24/10/2026 : typographie, catalogue, navigation, partenaires */
:root {--cafex-ink:#09234a;--cafex-gold:#c29427}
body{font-size:16px;line-height:1.65}
p{line-height:1.75}
.wide-rail{max-width:1280px}
.eyebrow{font-size:11px!important;line-height:1.5;letter-spacing:1.65px}
.desktop-nav{gap:clamp(11px,1.3vw,23px)}
.desktop-nav>a,.nav-menu-heading>a{font-size:13px;font-weight:650;white-space:nowrap;color:#122c52}
.nav-menu{position:relative;align-self:stretch;display:flex;align-items:center}
.nav-menu-heading{display:flex;align-items:center;gap:3px}
.nav-menu-toggle{cursor:pointer;border:0;background:transparent;color:#09234a;padding:8px;line-height:1;font-size:23px;font-weight:700}
.nav-menu-toggle[aria-expanded=true]{transform:rotate(180deg)}
.nav-menu-panel{position:absolute;top:calc(100% - 6px);left:-22px;z-index:88;width:max-content;min-width:260px;max-width:350px;padding:10px;background:#fff;border:1px solid #dce4ee;border-top:3px solid var(--cafex-gold);border-radius:2px 2px 12px 12px;box-shadow:0 20px 35px #061c4140}
.nav-menu-panel[hidden]{display:none!important}
.nav-menu-panel a{display:block;font-size:13px;font-weight:550;padding:11px 12px;line-height:1.4;color:#152f57;border-radius:5px}
.nav-menu-panel a:hover,.nav-menu-panel a:focus-visible{background:#f1f5fa;color:#9a6e14}
.mobile-menu-details{border-bottom:1px solid #e6eaf0}
.mobile-menu-details summary{cursor:pointer;list-style:none;padding:15px 20px;font-size:16px;font-weight:650;display:flex;justify-content:space-between}
.mobile-menu-details summary:after{content:'+';font-weight:700;color:#bd8b22}.mobile-menu-details[open] summary:after{content:'−'}
.mobile-menu-details summary::-webkit-details-marker{display:none}
.mobile-menu-links{padding:0 12px 10px 23px;background:#f6f8fc}
.mobile-menu-links a{display:block;font-size:14px;padding:10px 12px;color:#294565}
.mobile-nav>a{font-size:16px;min-height:48px;padding:12px 20px}
.mobile-all{font-weight:750}
.brand-text{font-size:clamp(14px,1.28vw,19px)!important;white-space:nowrap}
.brand-text>span{font-size:clamp(8px,.75vw,11px)!important;letter-spacing:0!important;max-width:310px!important;white-space:normal}
.header-inner .brand{min-width:280px;max-width:none;gap:10px}
.cafex-section-top h2 em{font-style:normal!important;color:inherit!important}
.cafex-section-top h2{font-size:clamp(34px,3.45vw,51px);font-weight:700;line-height:1.15}
.cafex-section-top>p{font-size:15px;max-width:460px;line-height:1.7}
.cafex-statuts-grid{list-style:none}
.cafex-statuts-grid a{font-size:15px;line-height:1.5;min-height:74px}
.stat-number{font-size:12px;min-width:31px}
.cafex-statut-disclaimer{font-size:13px}
.team-copy h2{font-size:clamp(32px,3vw,44px)!important;line-height:1.17}
.team-copy>p:not(.fine-print){font-size:17px!important;line-height:1.75!important;max-width:640px}
.team-list>div{align-items:flex-start;padding:19px 0;min-height:79px}
.team-list .value-title{font-size:17px!important;line-height:1.3}
.team-list .value-description{font-size:14px!important;line-height:1.55;max-width:540px;white-space:normal}
.team-copy .text-link{margin-top:26px;display:inline-flex}
.case-study-story p,.case-study-page p{font-size:15px;line-height:1.75}
.case-study-story h2{line-height:1.18}
.industry-card>p,.case-copy>p{font-size:15px}
.case-study-cover img{object-position:center 38%}
.assessment-section{padding-block:clamp(55px,6vw,95px);margin-bottom:0!important}
.assessment-layout{align-items:start;min-height:0}
.assessment-section:after{display:none!important}
.assessment-copy>p{font-size:16px;line-height:1.72}
.assessment-copy li{font-size:15px;line-height:1.6}
.form-field label{font-size:14px!important}
.form-intro,.request-hint,.input-note{font-size:13px!important;line-height:1.7}
.consent-label{font-size:13px!important;line-height:1.7}
.form-field input,.form-field select,.form-field textarea{font-size:15px}
.footer-location{font-size:13px!important}
.footer-contact>a,.footer-links>a{font-size:13px!important}
.footer-disclaimer,.footer-bottom{font-size:12px!important;line-height:1.65}
.email-float{position:fixed;right:18px;bottom:22px;display:inline-flex;gap:11px;align-items:center;background:#082f64;color:#fff;padding:12px 18px;border-radius:99px;font-size:14px;font-weight:700;box-shadow:0 10px 24px #061c4150;z-index:48;min-height:50px}
.email-float:hover{background:#bc891d;color:#081c3b}
.email-float svg{width:18px;height:18px}
.email-close{position:fixed;right:18px;bottom:80px;z-index:49;display:grid;place-items:center;border:0;background:#fff;box-shadow:0 3px 9px #061c413c;color:#223f60;font-size:18px;width:26px;height:26px;border-radius:50%;cursor:pointer}
.email-float[hidden],.email-close[hidden]{display:none!important}
.cafex-catalog-section{padding:clamp(65px,7vw,110px) 0;background:#f5f7fb;color:var(--cafex-ink)}
.catalog-intro{max-width:970px;margin-bottom:48px}
.catalog-intro h2{font-size:clamp(32px,4.1vw,57px);line-height:1.15;letter-spacing:-1.3px;color:#081f47;margin:18px 0}
.catalog-intro h2 span{color:#c0922d}
.catalog-intro>p{font-size:16px;line-height:1.82;max-width:960px;margin:12px 0}
.catalog-intro .catalog-lead{font-size:20px;font-weight:700;color:#102e58;margin-bottom:23px}
.catalog-toolbar{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:22px;padding-bottom:19px;border-bottom:2px solid #dfe6ee}
.catalog-toolbar>div{display:flex;flex-direction:column;gap:3px}
.catalog-toolbar strong{font-size:24px}
.catalog-toolbar span{font-size:14px;color:#607085}
.catalog-search-label{font-size:13px;font-weight:700;display:flex;flex-direction:column;gap:6px}
.catalog-search{width:min(430px,82vw);padding:13px 16px;background:#fff;border:1px solid #ccd8e6;border-radius:8px;color:#102b52;font-size:16px;min-height:48px}
.catalog-shortcuts{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:26px}
.catalog-shortcuts a{font-size:13px;color:#183c65;border:1px solid #d6e1ec;padding:8px 12px;border-radius:5px;background:#fff}
.catalog-shortcuts a:hover{background:#0a2951;color:#fff}
.catalog-group{background:#fff;border:1px solid #e1e7f0;margin-bottom:17px;border-radius:8px;overflow:hidden;scroll-margin-top:115px}
.catalog-group-heading{padding:19px 24px;background:#09274d;color:#fff;display:flex;align-items:center;gap:17px}
.catalog-group-heading h3{font-size:22px;font-weight:650;line-height:1.3;letter-spacing:0;flex:1;margin:0}
.catalog-index{font-size:14px;font-weight:750;color:#deb76b}
.catalog-count{font-size:12px;color:#d6e1f0;white-space:nowrap}
.catalog-list{list-style:none;margin:0;padding:9px 24px}
.catalog-course{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:11px 3px;border-bottom:1px solid #ecf0f4;font-size:15px;line-height:1.55}
.catalog-course:last-child{border-bottom:0}
.catalog-course>span:first-child{flex:1}
.catalog-course[hidden],.catalog-group[hidden],.catalog-empty[hidden]{display:none!important}
.catalog-request{font-size:12px;font-weight:700;white-space:nowrap;color:#a0700e;border-bottom:1px solid transparent;min-height:27px;display:inline-flex;align-items:center}
.catalog-request:hover{text-decoration:underline;color:#6d4a0a}
.catalog-request span{margin-left:4px}
.catalog-empty{padding:30px 18px;background:#fff}
.erp-showcase{padding:33px;margin:40px 0;background:#fff;border-top:4px solid #c29838;border-radius:8px}
.erp-showcase h3{font-size:27px;line-height:1.22;margin:9px 0}
.erp-showcase p{font-size:15px;line-height:1.7;max-width:900px}
.erp-brand-row{display:grid;grid-template-columns:repeat(4,1fr);gap:13px;margin-top:24px}
.erp-wordmark{display:flex;justify-content:center;align-items:center;min-height:77px;border:1px solid #e4e9f0;border-radius:7px;background:#fff;font-size:27px;font-weight:750;letter-spacing:-.6px}
.erp-sage{color:#13875b}.erp-odoo{color:#83517a}.erp-sap{color:#0c74b9}.erp-oracle{color:#b9342a}
.erp-showcase .erp-note{font-size:12px;color:#69798d;margin-top:15px;max-width:none}
.catalog-cta{margin-top:30px;background:#092850;color:#fff;padding:34px;display:flex;align-items:center;justify-content:space-between;gap:22px;border-radius:8px}
.catalog-cta h3{font-size:27px;margin:0 0 5px}
.catalog-cta p{font-size:15px;color:#d8e3ef;line-height:1.65;max-width:710px;margin:0}
.catalog-cta a{flex-shrink:0}
.cafex-partners-section{padding:75px 0 85px}
.cafex-partner-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px;align-items:stretch}
.cafex-partner-grid>article{padding:26px;min-height:190px;border:1px solid #e5e9ef;border-top:3px solid #c89b35;background:#fbfcfe;border-radius:6px}
.partner-ademafr-logo strong{font-size:30px;color:#0c2b57;line-height:1.3}.partner-ademafr-logo span{color:#c2932b}
.partner-ademafr p{color:#53647b;font-size:14px;margin:18px 0 11px}.partner-ademafr>a{font-size:13px;color:#987218;text-decoration:underline}
.partner-future-icon{color:#bc8b26;font-size:28px}.partner-future h3{font-size:20px;margin:9px 0}.partner-future p{font-size:14px;line-height:1.7;color:#596d81}
.partner-disclaimer{font-size:12px;color:#617288;margin:18px 0 0}
/* Improved responsive rules */
@media(max-width:1180px){.header-inner .brand{min-width:230px}.brand-text>span{max-width:210px!important}.desktop-nav>a,.nav-menu-heading>a{font-size:12px}}
@media(max-width:1000px){.desktop-nav{display:none}.cafex-partner-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:767px){.header-inner .brand{min-width:0}.brand-text{font-size:14px!important}.brand-text>span{font-size:8px!important;max-width:205px!important}.eyebrow{font-size:10px!important}.team-copy>p:not(.fine-print){font-size:16px!important}.team-list .value-title{font-size:16px!important}.team-list .value-description{font-size:14px!important}.cafex-section-top h2{font-size:35px}.cafex-statuts-grid a{font-size:15px}.cafex-catalog-section{padding:62px 0}.catalog-toolbar{display:block}.catalog-toolbar .catalog-search-label{margin-top:18px}.catalog-search{width:100%}.catalog-course{display:block;padding:12px 3px}.catalog-course .catalog-request{display:table;margin-top:7px}.catalog-group-heading{gap:10px;padding:16px}.catalog-group-heading h3{font-size:18px}.catalog-count{font-size:10px}.catalog-list{padding:8px 17px}.erp-brand-row{grid-template-columns:repeat(2,1fr)}.catalog-cta{flex-direction:column;align-items:stretch;padding:26px}.cafex-partner-grid{grid-template-columns:1fr}.email-float{right:12px;bottom:12px;padding:14px}.email-float span{display:none}.email-close{right:7px;bottom:68px}}
@media(max-width:390px){.brand-text{font-size:12px!important}.brand-text>span{font-size:7px!important;max-width:170px!important}.catalog-group-heading{flex-wrap:wrap}.catalog-count{margin-left:auto}}



/* === CAFEX MENU UX/UI REWORK 2026-10-24 === */
.site-header{backdrop-filter:saturate(180%) blur(12px);box-shadow:0 14px 34px rgba(5,34,71,.07)}
.header-inner{max-width:1320px;margin:0 auto;min-height:88px;gap:18px}
.brand{gap:14px;text-decoration:none}
.brand-logo{border-radius:10px;background:#fff;box-shadow:0 10px 24px rgba(6,29,66,.08)}
.brand-text{font-size:17px;line-height:1.08;letter-spacing:.01em}
.brand-text>span{display:block;margin-top:4px;font-size:11px;line-height:1.3;letter-spacing:.12em;text-transform:uppercase;color:#7f8b9d;max-width:270px}
.desktop-nav{display:flex;align-items:center;gap:8px;margin-left:auto;padding:6px;border:1px solid rgba(11,33,63,.08);background:rgba(248,250,253,.9);border-radius:18px;box-shadow:0 8px 24px rgba(7,31,63,.05)}
.desktop-nav>a,.nav-menu-heading>a,.nav-menu-toggle{display:inline-flex;align-items:center;min-height:46px;border-radius:12px;color:#142b4d;font-size:13px;font-weight:700;text-decoration:none;transition:all .18s ease}
.desktop-nav>a,.nav-menu-heading>a{padding:0 14px}
.nav-menu{position:relative}
.nav-menu-heading{display:flex;align-items:center;gap:4px}
.nav-menu-heading>a{padding-right:8px}
.nav-menu-toggle{justify-content:center;width:34px;border:1px solid transparent;background:transparent;padding:0;cursor:pointer}
.desktop-nav>a:hover,.nav-menu-heading>a:hover,.nav-menu-toggle:hover{background:#fff;color:var(--signal);box-shadow:0 8px 18px rgba(6,29,66,.08)}
.desktop-nav>a[aria-current=page],.mobile-nav a[aria-current=page],.nav-menu.is-current .nav-menu-heading>a{background:#fff;color:var(--signal);box-shadow:0 10px 18px rgba(6,29,66,.09)}
.nav-menu-toggle[aria-expanded=true]{background:#fff;border-color:rgba(199,154,53,.22);color:var(--signal);box-shadow:0 8px 18px rgba(6,29,66,.08)}
.nav-menu-panel{position:absolute;top:calc(100% + 14px);left:0;min-width:300px;max-width:360px;padding:12px;background:#fff;border:1px solid rgba(17,42,80,.1);border-radius:18px;box-shadow:0 28px 60px rgba(5,31,63,.18);z-index:70}
.nav-menu-panel::before{content:'';position:absolute;top:-8px;left:28px;width:16px;height:16px;background:#fff;border-left:1px solid rgba(17,42,80,.1);border-top:1px solid rgba(17,42,80,.1);transform:rotate(45deg)}
.nav-menu-panel a{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:13px 14px;border-radius:12px;color:#183458;font-size:13px;font-weight:600;text-decoration:none;border-bottom:0;transition:all .18s ease}
.nav-menu-panel a::after{content:'›';font-size:18px;line-height:1;color:#a3b0c2;transition:transform .18s ease,color .18s ease}
.nav-menu-panel a:hover{background:#f6f8fc;color:var(--signal)}
.nav-menu-panel a:hover::after{color:var(--signal);transform:translateX(3px)}
.header-cta{margin-left:6px;min-height:52px;border-radius:16px;padding-inline:20px;box-shadow:0 14px 30px rgba(199,154,53,.22)}
.mobile-toggle{width:48px;height:48px;border-radius:14px;background:#f6f8fc;border:1px solid rgba(15,36,67,.08);box-shadow:0 10px 20px rgba(6,29,66,.06)}
.mobile-toggle:hover{background:#fff}
.mobile-nav{position:fixed;top:89px;right:18px;left:auto;width:min(390px,calc(100vw - 24px));max-height:calc(100vh - 110px);overflow:auto;padding:18px;border:1px solid rgba(11,33,63,.08);border-radius:24px;background:rgba(255,255,255,.98);box-shadow:0 28px 60px rgba(6,29,66,.20);z-index:80}
.mobile-nav>a,.mobile-menu-details>summary,.mobile-appointment{display:flex;align-items:center;justify-content:space-between;min-height:52px;padding:14px 16px;border-radius:14px;border:0;font-size:15px;font-weight:700;color:#173254;text-decoration:none;list-style:none;background:transparent}
.mobile-nav>a:hover,.mobile-menu-details>summary:hover{background:#f7f9fc;color:var(--signal)}
.mobile-menu-details{margin:6px 0;border:1px solid rgba(17,42,80,.08);border-radius:18px;background:#fbfcfe;overflow:hidden}
.mobile-menu-details[open]{background:#fff;box-shadow:0 14px 32px rgba(6,29,66,.08)}
.mobile-menu-details>summary{cursor:pointer}
.mobile-menu-details>summary::-webkit-details-marker{display:none}
.mobile-menu-details>summary::after{content:'+';font-size:20px;color:#8b98ab;transition:transform .2s ease,color .2s ease}
.mobile-menu-details[open]>summary::after{content:'–';color:var(--signal)}
.mobile-menu-links{padding:0 10px 12px}
.mobile-menu-links a{display:block;padding:11px 14px;border-radius:12px;color:#526277;font-size:14px;font-weight:600;text-decoration:none}
.mobile-menu-links a:hover{background:#f7f9fc;color:var(--signal)}
.mobile-menu-links .mobile-all{background:#0d2950;color:#fff;margin-bottom:8px}
.mobile-menu-links .mobile-all:hover{background:#123969;color:#fff}
.mobile-appointment{margin-top:12px;background:linear-gradient(135deg,#d7aa3d,#b98215);color:#102949;justify-content:center;box-shadow:0 14px 28px rgba(199,154,53,.22)}
.mobile-nav-backdrop{position:fixed;inset:0;background:rgba(4,18,39,.38);backdrop-filter:blur(4px);z-index:75}
body.nav-open{overflow:hidden}
@media (max-width:1180px){.desktop-nav{gap:6px;padding:5px}.desktop-nav>a,.nav-menu-heading>a,.nav-menu-toggle{min-height:42px}.desktop-nav>a,.nav-menu-heading>a{padding:0 11px}.brand-text{font-size:16px}.brand-text>span{font-size:10px;max-width:220px}}
@media (max-width:1000px){.desktop-nav{display:none}.header-cta{display:none}.mobile-toggle{display:flex}.header-inner{min-height:84px}.mobile-nav{top:84px}}
@media (max-width:560px){.brand-text{font-size:15px}.brand-text>span{font-size:9px;letter-spacing:.10em;max-width:190px}.brand-logo{width:58px!important;height:58px!important}.mobile-nav{left:12px;right:12px;width:auto;top:82px;max-height:calc(100vh - 96px)}}


/* CAFEX — correctifs UX/UI 26/10/2026 — nouvelle version anti-cache */
:root{--readable-ink:#152c4b;--cafex-blue:#092b53;--cafex-yellow:#cc9a31}
html{scroll-padding-top:120px}
body{font-size:16.5px;line-height:1.7;color:var(--readable-ink)}
p{line-height:1.78}
.site-header{z-index:100;background:rgba(255,255,255,.99);border-bottom:1px solid #e6ebf1}
.header-inner{width:min(1440px,calc(100% - 50px));max-width:1440px;min-height:90px;gap:18px}
.header-inner .brand{display:flex;min-width:240px;flex:0 1 315px;align-items:center;gap:11px}
.header-inner .brand-logo{flex:none;width:65px;height:65px;object-fit:contain;border-radius:9px}
.header-inner .brand-text{font-size:16px!important;white-space:normal!important;line-height:1.12}
.header-inner .brand-text>span{font-size:9.3px!important;line-height:1.45;letter-spacing:.045em!important;max-width:235px!important;white-space:normal}
.desktop-nav{display:flex;align-items:center;justify-content:center;gap:4px;margin-left:auto;padding:5px;background:#f6f8fb;border:1px solid #e8edf2;border-radius:16px;box-shadow:none}
.desktop-nav>a,.nav-menu-heading>a{min-height:44px;padding:0 12px;font-size:13.5px!important;display:inline-flex;align-items:center;line-height:1.2;font-weight:680}
.nav-menu{position:relative;display:flex;align-items:center;align-self:stretch}
.nav-menu-heading{display:flex;align-items:center;gap:2px;min-height:44px}
.nav-menu-heading>a{padding-right:1px}
.nav-menu-toggle{display:flex;align-items:center;justify-content:center;width:28px;height:36px;border:0;background:transparent;color:#294a71!important;border-radius:9px;padding:0!important;line-height:1;transform:none!important}
.nav-chevron{width:14px;height:14px;transition:transform .18s ease}
.nav-menu-toggle[aria-expanded=true] .nav-chevron{transform:rotate(180deg)}
.nav-menu-panel{top:100%;left:0;min-width:300px;width:max-content;max-width:min(390px,90vw);padding:11px;background:#fff;border:1px solid #e2e7ed;border-top:3px solid var(--cafex-yellow);border-radius:0 0 16px 16px;box-shadow:0 22px 46px rgba(7,25,55,.19);z-index:140}
.nav-menu-panel::before{display:none}
.nav-menu-panel a{display:flex!important;align-items:center;justify-content:space-between;gap:20px;padding:13px 14px;font-size:14px!important;line-height:1.4!important;white-space:normal}
.nav-menu-panel a:hover,.nav-menu-panel a:focus-visible{background:#f2f6fa;color:#946818}
.header-cta{flex:none;min-height:48px;font-size:13px;padding-inline:14px;border-radius:11px}
.site-header a:focus-visible,.site-header button:focus-visible,.mobile-nav a:focus-visible,.mobile-nav summary:focus-visible{outline:3px solid #d9a533;outline-offset:3px}
/* Fix duplicate numbering, present a readable bullet list */
.cafex-statuts-section{padding-block:78px}
.cafex-section-top>p{font-size:17px!important;line-height:1.7}
.cafex-statuts-grid{list-style:none!important;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:36px;row-gap:0;margin:26px 0 0;padding:0}
.cafex-statuts-grid li{list-style:none!important;margin:0;border-bottom:1px solid #e5eaf0;border-top:0}
.cafex-statuts-grid li::marker{content:''}
.cafex-statuts-grid a{position:relative;display:flex;align-items:center;gap:12px;padding:17px 26px;font-size:16.5px!important;line-height:1.55;min-height:69px;font-weight:600;color:#123255;text-decoration:none}
.cafex-statuts-grid a::before{content:'•';position:absolute;left:3px;top:50%;transform:translateY(-51%);font-size:24px;color:#cb9935;font-weight:800}
.cafex-statuts-grid a .stat-arrow{margin-left:auto;color:#c0942b;font-size:18px}
.cafex-statuts-grid a:hover{background:#f8fafc;color:#ad7e20}
.cafex-statut-disclaimer{font-size:14.5px!important;line-height:1.8;max-width:1100px;margin-top:28px}
/* Contact information side card */
.case-study-aside{border-top:3px solid #c3942b}
.case-study-aside h3{font-size:26px;line-height:1.25;font-weight:650;margin-top:15px}
.case-study-aside li{font-size:15px!important;line-height:1.55;padding-block:9px;overflow-wrap:anywhere}
.case-study-aside a{overflow-wrap:anywhere}
.contact-page-aside ul{list-style:none;margin:15px 0;padding:0}
.contact-page-aside li{display:flex;flex-direction:column;align-items:flex-start;gap:4px;border-bottom:1px solid #e0e6ed;padding:12px 0}
.contact-page-aside li strong{color:#193759;font-size:13.5px;font-weight:780}
.contact-page-aside li a,.contact-page-aside li span{font-size:15px;color:#3e526b;line-height:1.55}
.contact-page-aside li a:hover{color:#aa781b;text-decoration:underline}
.contact-page-aside .button{display:flex;justify-content:space-between;margin-top:19px}
.contact-info{gap:18px}
.contact-info>div{padding:25px}
.contact-info h3{font-size:18px}
.contact-info p,.contact-info a{font-size:15.5px;line-height:1.7}
.contact-map-card{background:#fff!important;border:1px solid #d7e2eb;border-top:3px solid #c99b3a!important}
.contact-map-card a,.footer-location a{color:#b7882f;text-decoration:underline;text-underline-offset:4px}
/* Exhaustive training directory; each row is a bullet plus a distinct inquiry action. */
.cafex-catalog-section{background:#f5f7fb;padding:75px 0 90px}
.catalog-intro{max-width:1020px;margin-bottom:38px}
.catalog-intro p,.catalog-intro>p{font-size:17px!important;line-height:1.8;margin-bottom:14px}
.catalog-intro .catalog-lead{font-size:21px!important;line-height:1.55}
.catalog-toolbar{margin-top:34px;gap:26px}
.catalog-toolbar strong{font-size:25px}
.catalog-toolbar span{font-size:15px}
.catalog-search-label{font-size:14px}
.catalog-shortcuts{display:flex;gap:9px;margin:24px 0 31px}
.catalog-shortcuts a{font-size:14px;line-height:1.4;padding:10px 14px;border-radius:12px}
.catalog-group{border:1px solid #dfe7ef;border-radius:13px;background:white;overflow:hidden;margin-bottom:23px}
.catalog-group-heading{display:flex;align-items:center;gap:16px;padding:22px 26px;background:#092951}
.catalog-group-heading h3{font-size:22px;line-height:1.42;letter-spacing:0;font-weight:700;margin:0;flex:1}
.catalog-count{font-size:13px}
.catalog-list{list-style:none!important;padding:10px 25px;margin:0}
.catalog-course{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:14px;padding:13px 4px 13px 24px;margin:0;border-bottom:1px solid #e8edf1;font-size:16.5px!important;line-height:1.6;min-height:56px}
.catalog-course::before{content:'•';color:#c69b39;position:absolute;left:2px;top:50%;transform:translateY(-50%);font-size:22px;line-height:1}
.catalog-course>span:first-child{display:block;min-width:0;overflow-wrap:break-word}
.catalog-request{display:inline-flex;align-items:center;flex:none;gap:4px;color:#97691b;font-weight:720;font-size:13px;line-height:1.4;padding:7px 10px;border:1px solid transparent;border-radius:8px;white-space:nowrap;text-decoration:none}
.catalog-request:hover{background:#f7f0e2;text-decoration:none;border-color:#edd8aa}
.erp-showcase p{font-size:16px}
/* Footer: three clear columns and readable links */
.site-footer{padding-top:70px}
.footer-main{grid-template-columns:minmax(0,1.2fr) minmax(200px,.74fr) minmax(0,1fr);gap:clamp(35px,5vw,90px);align-items:start;padding-bottom:55px}
.footer-main>.footer-links,.footer-main>.footer-contact{display:flex;flex-direction:column;align-items:flex-start}
.footer-main>div:first-child>p{font-size:15px!important;line-height:1.7!important;margin-top:19px;color:#c5d0e0;max-width:400px}
.footer-location{font-size:14.5px!important;line-height:1.75;color:#d0d9e5;max-width:400px}
.footer-location a{font-size:14px;color:#eac76e;display:inline-block;margin-top:12px}
.footer-main .brand-text{font-size:19px!important}
.footer-main .brand-text>span{font-size:10px!important;line-height:1.5}
.footer-links .eyebrow,.footer-contact .eyebrow{font-size:11px!important;margin-bottom:17px;color:#d0dae7}
.footer-links a{font-size:15px!important;line-height:1.5;padding:7px 0;color:#e1e7ef}
.footer-contact h3{font-size:26px;line-height:1.3;margin:0 0 18px}
.footer-contact>a{display:flex;align-items:center;gap:14px;margin:8px 0;padding:8px 0;font-size:15px!important;line-height:1.5;color:#e7edf6;width:100%}
.footer-contact>a svg{flex:none}
.footer-contact>a .footer-contact-icon{width:21px;height:21px;stroke:#efc46c}
.footer-contact>a .icon-arrow{margin-left:auto;width:17px;height:17px}
.footer-bottom{font-size:13px!important}
.footer-disclaimer{font-size:12.5px!important;line-height:1.65}
@media(max-width:1230px){.desktop-nav{display:none!important}.mobile-toggle{display:flex!important;margin-left:auto}.header-cta{display:none!important}}
@media(max-width:1050px){.cafex-statuts-grid{grid-template-columns:1fr}.footer-main{grid-template-columns:repeat(2,minmax(0,1fr));gap:36px}.footer-main>div:first-child{grid-column:1/-1}}
@media(max-width:767px){.header-inner{width:calc(100% - 32px);min-height:76px}.header-inner .brand{min-width:0;flex:1;max-width:calc(100% - 60px)}.header-inner .brand-logo{width:53px!important;height:53px!important}.header-inner .brand-text{font-size:14px!important;max-width:240px}.header-inner .brand-text>span{font-size:9px!important;max-width:200px!important}.mobile-nav{top:76px!important}.cafex-statuts-grid a{font-size:15.5px!important;padding-block:14px}.catalog-course{grid-template-columns:1fr;gap:4px;padding:13px 0 15px 22px;font-size:16px!important}.catalog-course::before{top:23px;transform:none}.catalog-course .catalog-request{display:inline-flex;margin:4px 0 0 -4px;white-space:normal}.catalog-group-heading{padding:19px;flex-wrap:wrap}.catalog-group-heading h3{font-size:20px;min-width:70%}.catalog-list{padding:8px 18px}.catalog-toolbar strong{font-size:22px}.catalog-intro>p{font-size:16px!important}.footer-main{grid-template-columns:1fr;gap:31px}.footer-main>div:first-child{grid-column:auto}.site-footer{padding-top:53px}.footer-contact h3{font-size:23px}.contact-info{grid-template-columns:1fr}}
@media(max-width:480px){.catalog-shortcuts a{font-size:13px}.footer-main .brand-text{font-size:16px!important}.footer-main .brand-logo{width:63px!important;height:63px!important}.mobile-nav{left:12px!important;right:12px!important;width:auto!important}}


/* === CAFEX PARTNER LOGO GRID UPDATE 2026-10-28 === */
.partner-grid-logos{grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;align-items:stretch}
.partner-logo-card{padding:18px 18px 14px;min-height:200px;border:1px solid #e5e9ef;border-top:3px solid #c89b35;background:#fbfcfe;border-radius:8px;display:flex;flex-direction:column;justify-content:space-between;gap:14px;transition:transform .18s ease, box-shadow .18s ease}
.partner-logo-card:hover{transform:translateY(-3px);box-shadow:0 18px 34px rgba(6,29,66,.08)}
.partner-logo-wrap{height:116px;display:flex;align-items:center;justify-content:center;background:#fff;border:1px solid #edf1f5;border-radius:8px;padding:12px}
.partner-logo-wrap img{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;display:block}
.partner-logo-card h3{margin:0;font-size:14px;line-height:1.45;font-weight:700;color:#143257;text-align:center}
@media(max-width:1100px){.partner-grid-logos{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:820px){.partner-grid-logos{grid-template-columns:repeat(2,minmax(0,1fr))}.partner-logo-card{min-height:190px}}
@media(max-width:560px){.partner-grid-logos{grid-template-columns:1fr}.partner-logo-wrap{height:128px}}


/* === CAFEX PARTNERS ALL-PAGE V2 === */
.cafex-partners-section {padding:76px 0 92px;background:#fff}
.cafex-partners-section .cafex-section-top{margin-bottom:32px}
.cafex-partners-section .cafex-section-top>p{font-size:16px;line-height:1.65;color:#576c82;max-width:560px}
.cafex-partner-grid.partner-grid-logos {display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;align-items:stretch}
.cafex-partner-grid.partner-grid-logos>article.partner-logo-card {display:flex;flex-direction:column;justify-content:space-between;gap:12px;min-height:196px;max-width:100%;padding:16px;background:#fff;border:1px solid #e0e7ef;border-top:3px solid #c89b35;border-radius:12px;box-shadow:0 6px 22px rgba(6,29,66,.035);transition:transform .2s ease,box-shadow .2s ease}
.cafex-partner-grid.partner-grid-logos>article.partner-logo-card:hover {transform:translateY(-3px);box-shadow:0 15px 34px rgba(6,29,66,.10)}
.partner-grid-logos .partner-logo-wrap {height:120px;min-width:0;display:flex;justify-content:center;align-items:center;padding:10px;background:#f9fafc;border:1px solid #edf1f5;border-radius:8px;overflow:hidden}
.partner-grid-logos .partner-logo-wrap img {display:block;max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain}
.partner-grid-logos .partner-logo-card h3 {font-size:14px;line-height:1.45;font-weight:700;text-align:center;color:#102a4e;margin:0;overflow-wrap:anywhere}
.cafex-partners-section .partner-disclaimer{font-size:13px;line-height:1.65;color:#69798b;margin-top:20px}
@media(max-width:1150px){.cafex-partner-grid.partner-grid-logos{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:780px){.cafex-partner-grid.partner-grid-logos{grid-template-columns:repeat(2,minmax(0,1fr))}.cafex-partner-grid.partner-grid-logos>article.partner-logo-card{min-height:180px}}
@media(max-width:420px){.cafex-partner-grid.partner-grid-logos{gap:10px}.cafex-partner-grid.partner-grid-logos>article.partner-logo-card{padding:10px;min-height:160px}.partner-grid-logos .partner-logo-wrap{height:100px;padding:6px}.partner-grid-logos .partner-logo-card h3{font-size:12px}}
