@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/assets/inter-latin-400.woff2) format('woff2');
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/assets/inter-latin-500.woff2) format('woff2');
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/assets/inter-latin-600.woff2) format('woff2');
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/assets/inter-latin-700.woff2) format('woff2');
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url(/assets/inter-latin-800.woff2) format('woff2');
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 900;
  font-display: swap;
  src: url(/assets/inter-latin-900.woff2) format('woff2');
}


:root{--navy:#0a1f44;--ink:#101827;--muted:#556170;--accent:#c84420;--line:#dce1e8;--paper:#fff;--halo:#f2f5fa}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:8rem}body{margin:0;color:var(--ink);background:var(--paper);font-family:Inter,Arial,system-ui,sans-serif;font-size:1.0625rem;line-height:1.65}a{color:var(--navy);text-underline-offset:.23em}button{font:inherit;cursor:pointer}img{max-width:100%;height:auto}h1,h2,h3{color:var(--navy);line-height:1.1;letter-spacing:-.035em}h1{font-size:clamp(2.8rem,5.8vw,5.5rem);margin:.4em 0}h2{font-size:clamp(1.8rem,3vw,2.8rem);margin:1.8em 0 .6em}h3{font-size:1.35rem;margin:1.8em 0 .6em}p{margin:0 0 1.2em}.wrap{width:min(1180px,calc(100% - 3.5rem));margin:auto}.nav{border-bottom:1px solid var(--line);background:#fff;position:sticky;top:0;z-index:20}.nav-inner{display:flex;align-items:center;gap:2rem;min-height:5rem}.brand{text-decoration:none;font-weight:900;font-size:1.5rem;letter-spacing:.015em}.brand span{color:var(--accent)}.nav nav{display:flex;gap:1.7rem;margin-left:auto}.nav nav a{font-size:.9375rem;text-decoration:none;font-weight:600}.nav nav a:hover,.nav nav a[aria-current]{color:var(--accent)}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:1.3rem;background:var(--navy);color:white;padding:1.1rem 1.5rem;text-decoration:none;font-weight:700;border:1px solid var(--navy);border-radius:2px}.button:hover{background:#153769}.button.compact{font-size:.875rem;padding:.75rem 1rem;white-space:nowrap}.button.light{background:white;color:var(--navy);max-width:26rem;border-color:white}.eyebrow{text-transform:uppercase;letter-spacing:.14em;font-size:.875rem;font-weight:700;color:var(--muted)}.hero{padding-top:4rem;padding-bottom:5rem}.hero-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:6rem;align-items:end}.hero h1{font-size:clamp(3rem,6.2vw,5.75rem);line-height:1.02;margin:.15em 0 .4em;font-weight:800}.hero h1 em{font-style:normal;color:var(--accent)}.lead{font-size:1.25rem;max-width:46rem;color:#39465a;line-height:1.55}.text-link{display:block;margin-top:1.1rem;font-weight:600;font-size:1rem}.hero-aside{background:var(--halo);border-top:4px solid var(--accent);padding:2rem;margin-bottom:.25rem}.hero-aside ol{padding:0;list-style:none}.hero-aside li{position:relative;padding:1.3rem 0 1.2rem 2.5rem;border-bottom:1px solid var(--line)}.hero-aside li span{position:absolute;left:0;color:var(--accent);font-size:.875rem;font-weight:700}.hero-aside li p{font-size:1rem;margin:.5rem 0 0;color:var(--muted)}.aside-note{font-size:.9375rem;margin:1.6rem 0 0}.page-heading{padding-top:4.5rem;padding-bottom:3rem;border-bottom:1px solid var(--line)}.page-heading h1{max-width:18ch}.content-section{padding-top:2rem;padding-bottom:5rem}.prose{max-width:780px}.prose p,.prose li{line-height:1.8}.prose li{margin-bottom:.6rem}.prose h2:first-child{margin-top:1rem}.prose table{width:100%;border-collapse:collapse;font-size:1rem}.prose td,.prose th{padding:.9rem;border-bottom:1px solid var(--line);text-align:left}.prose blockquote{border-left:3px solid var(--accent);margin:2rem 0;padding:0 1.5rem;font-size:1.35rem}.offers{display:grid;grid-template-columns:repeat(3,1fr);margin:3rem 0;border:1px solid var(--line)}.offers article{padding:2rem;border-right:1px solid var(--line)}.offers article:last-child{border-right:0;background:var(--halo)}.offers h2{font-size:1.8rem;margin:.5em 0 1em}.offers a{font-weight:700;font-size:1rem}.about-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:5rem;padding-top:3rem}.about-grid figure{margin:0}.about-grid img{width:100%;aspect-ratio:6/7;object-fit:cover;object-position:top;border-bottom:4px solid var(--accent)}figcaption{font-size:.9375rem;color:var(--muted);padding-top:1rem}.closing{background:var(--navy);color:white;padding:4rem 0}.closing-inner{display:flex;align-items:center;justify-content:space-between;gap:3rem}.closing h2{color:white;margin:.5em 0;font-size:clamp(2rem,3.5vw,3.25rem)}.closing .eyebrow{color:#b7c7df}.closing p{color:#d1d9e6}.footer{padding-top:3rem;padding-bottom:3rem;display:flex;justify-content:space-between;gap:2rem}.footer p{font-size:1rem;margin-top:.8rem;color:var(--muted)}.footer nav{display:flex;flex-direction:column;align-items:flex-start;gap:.65rem}.footer nav a,.footer button{font-size:.9375rem}.footer button{border:0;padding:0;background:none;color:var(--navy);text-decoration:underline}.consent{position:fixed;bottom:1rem;right:1rem;z-index:50;background:#fff;border:1px solid var(--navy);box-shadow:0 8px 40px #0a1f4426;width:min(31rem,calc(100% - 2rem));padding:1.5rem;font-size:1rem}.consent div{display:flex;gap:.75rem}.consent button{flex:1;padding:.7rem;background:#fff;color:var(--navy);border:1px solid var(--navy)}.consent button:hover{background:var(--halo)}[hidden]{display:none!important}:focus-visible{outline:3px solid var(--accent);outline-offset:5px}.skip{position:absolute;top:-8rem;z-index:80;background:#fff;padding:1rem}.skip:focus{top:0}.article-list{display:grid;grid-template-columns:repeat(2,1fr);gap:2rem}.article-list article{border-top:2px solid var(--navy);padding:1.5rem 0}.article-list h2{margin:.5rem 0 1rem;font-size:2rem}.article-meta{font-size:.9375rem;color:var(--muted)}.article-main{max-width:780px}.article-main .prose{padding:3rem 0}.article-sources{border-top:1px solid var(--line);padding-top:2rem;margin-bottom:3rem;overflow-wrap:anywhere}@media(max-width:900px){.hero-grid{gap:2.5rem;grid-template-columns:1.2fr 1fr}.nav-inner{flex-wrap:wrap;gap:.5rem 1rem;padding:1rem 0}.nav nav{order:3;flex-basis:100%;justify-content:space-between;margin:0;gap:1rem}.nav .button{margin-left:auto}.offers{grid-template-columns:1fr}.offers article{border-right:0;border-bottom:1px solid var(--line)}.about-grid{gap:2.5rem}.closing-inner{align-items:flex-start;flex-direction:column}}@media(max-width:640px){.wrap{width:calc(100% - 2.5rem)}.hero{padding-top:2.5rem;padding-bottom:3rem}.hero-grid,.about-grid,.article-list{grid-template-columns:1fr}.hero h1{font-size:3.15rem}.hero-aside{margin-top:1rem}.page-heading{padding-top:3rem}.nav nav{overflow-x:auto}.nav nav a{white-space:nowrap}.footer{flex-direction:column}.about-grid figure{max-width:25rem}.prose table{display:block;overflow-x:auto}.closing{padding:3rem 0}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Composition: variance 7, motion 3, density 6. Palette and fonts from site.css unchanged. */
html { scroll-padding-top: 9rem; }
body { overflow-wrap: break-word; }
.wrap { width: min(1180px, calc(100% - 4rem)); }
.nav-inner { gap: 1.5rem; }
.nav nav { gap: 1.5rem; }
.nav nav a { display: inline-flex; align-items: center; min-height: 44px; }
.nav nav a[aria-current] { text-decoration: underline; text-decoration-thickness: 2px; text-underline-offset: .55em; }
.button { min-height: 48px; gap: 1rem; line-height: 1.4; transition: background-color .16s ease; }
.button > span[aria-hidden] { flex-shrink: 0; }
.text-link { width: fit-content; min-height: 44px; padding-block: .5rem; }
.hero { padding-block: 3.5rem; }
.hero-grid { grid-template-columns: 1.08fr 1fr; gap: 4rem; align-items: center; }
.hero-copy, .hero-grid > *, .closing-inner > *, .about-grid > * { min-width: 0; }
.hero .eyebrow { font-size: .78rem; margin-bottom: 1.25rem; }
.hero h1 { font-size: clamp(3.1rem, 5.45vw, 4.8rem); line-height: 1.04; margin: 0 0 1.6rem; }
.hero .lead { font-size: 1.0625rem; line-height: 1.65; max-width: 46ch; margin-bottom: 1.5rem; }
.hero .button { font-size: .9375rem; }
.hero .text-link { font-size: .9375rem; margin-top: .6rem; }
/* Service-scope diagram using actual deliverables, not a simulated product screenshot. */
.dossier { background: var(--halo); border: 1px solid var(--line); border-radius: 2px; }
.dossier-heading { background: var(--navy); border-top: 4px solid var(--accent); padding: 1.7rem 2rem 2rem; }
.dossier-heading > p { color: #d1d9e6; font-size: .8125rem; margin: 0 0 1rem; }
.dossier-heading h2 { color: var(--paper); font-size: clamp(1.7rem, 2.6vw, 2.25rem); line-height: 1.15; margin: 0; }
.dossier-pieces { list-style: none; margin: 0; padding: .4rem 1.6rem; }
.dossier-pieces li { display: grid; grid-template-columns: 5.2rem minmax(0, 1fr); gap: 1rem; padding: 1.25rem 0; align-items: start; }
.dossier-pieces li + li { border-top: 1px solid var(--line); }
.piece-label { font-size: .72rem; font-weight: 700; line-height: 1.4; color: var(--accent); padding-top: .3rem; }
.dossier-pieces h3 { font-size: 1.0625rem; letter-spacing: -.025em; line-height: 1.3; margin: 0 0 .4rem; }
.dossier-pieces p { color: var(--muted); font-size: .875rem; line-height: 1.6; margin: 0; }
.dossier-note { margin: 0; border-top: 1px solid var(--line); padding: 1rem 1.6rem; font-size: .8125rem; font-weight: 600; }
.service-strip { background: var(--halo); border-block: 1px solid var(--line); }
.service-strip > .wrap { padding-block: 1.1rem; }
.service-strip .wrap > span { font-size: .8125rem; color: var(--muted); display: block; margin-bottom: .3rem; }
.service-strip .wrap > div { display: flex; justify-content: space-between; gap: 1rem; flex-wrap: wrap; }
.service-strip a { display: inline-flex; align-items: center; min-height: 44px; gap: 1.5rem; font-size: .9375rem; font-weight: 600; text-decoration: none; }
.service-strip a:hover { text-decoration: underline; color: var(--accent); }
.section-intro { max-width: 49rem; }
.section-intro h2 { margin: 0 0 1.2rem; font-size: clamp(1.9rem, 3.15vw, 2.8rem); line-height: 1.12; max-width: 24ch; }
.section-intro > p { margin: 0; color: var(--muted); max-width: 65ch; }
.home-context { padding-block: 4rem; }
.situations { display: grid; grid-template-columns: 1fr 1fr; margin-top: 2rem; border-block: 1px solid var(--line); }
.situations article { padding: 1.75rem 2.25rem 1.75rem 0; }
.situations article + article { padding-left: 2.25rem; border-left: 1px solid var(--line); }
.situations h3 { font-size: 1.25rem; margin: 0 0 .65rem; }
.situations p { margin: 0; max-width: 44ch; font-size: 1rem; color: var(--muted); }
.home-method { padding: 0 0 4rem; }
.responsibilities { display: grid; grid-template-columns: 1fr 1fr; margin-top: 2rem; background: var(--halo); border: 1px solid var(--line); }
.responsibilities article { padding: 2rem; }
.responsibilities article + article { background: var(--paper); border-left: 1px solid var(--line); border-top: 3px solid var(--accent); padding-top: calc(2rem - 3px); }
.responsibilities h3 { font-size: 1.6rem; margin: 0 0 1.25rem; }
.responsibilities ul { margin: 0; padding-left: 1.15rem; }
.responsibilities li { padding: .35rem 0 .35rem .3rem; font-size: 1rem; }
.responsibilities li::marker { color: var(--accent); }
.home-method > p:last-child { margin: .8rem 0 0; }
.home-offers { padding-bottom: 3rem; }
.offer-paths { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border-block: 1px solid var(--line); margin-top: 2rem; }
.offer-path { display: flex; flex-direction: column; padding: 1.8rem 1.5rem; text-decoration: none; min-width: 0; transition: background-color .16s ease; }
.offer-path:first-child { padding-left: 0; }
.offer-path + .offer-path { border-left: 1px solid var(--line); }
.offer-path:hover { background: var(--halo); }
.offer-volume { display: flex; align-items: baseline; gap: .7rem; font-size: 3.75rem; font-weight: 800; letter-spacing: -.06em; line-height: 1.1; margin-bottom: 1.6rem; }
.offer-volume > span { font-weight: 500; letter-spacing: 0; font-size: .875rem; color: var(--muted); }
.offer-path-name { display: flex; justify-content: space-between; align-items: center; font-size: 1.0625rem; font-weight: 700; gap: .5rem; }
.offer-path-name > span { color: var(--accent); font-size: 1.5rem; }
.offer-path-detail { color: var(--muted); font-size: .875rem; margin-top: .5rem; }
.other-sector { font-size: .9375rem; color: var(--muted); margin: 1.25rem 0 0; }
.urgent-section { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 3rem; align-items: center; border: 1px solid var(--line); border-left: 4px solid var(--accent); background: var(--halo); padding: 2rem; margin-bottom: 4rem; }
.urgent-section h2 { font-size: 1.7rem; margin: 0 0 1rem; max-width: 28ch; }
.urgent-section p { font-size: .9375rem; max-width: 65ch; margin: 0; }
.urgent-section .button { font-size: .875rem; white-space: nowrap; }
.page-heading { padding-block: 3rem 2.5rem; }
.page-heading h1 { font-size: clamp(2.4rem, 5vw, 4.5rem); margin: .5rem 0 1.3rem; }
.page-heading .lead { font-size: 1.125rem; margin-bottom: 0; }
.page-heading .eyebrow { font-size: .78rem; margin-bottom: 1.25rem; }
.content-section { padding-block: 2.5rem 4rem; }
.service-layout { display: grid; grid-template-columns: 15rem minmax(0, 1fr); gap: 4rem; align-items: start; }
.service-index { position: sticky; top: 7rem; background: var(--halo); border-top: 3px solid var(--accent); padding: 1rem 1.2rem; }
.service-index p { margin: 0 0 .75rem; font-weight: 700; font-size: .9375rem; }
.service-index a { display: flex; justify-content: space-between; align-items: center; min-height: 48px; padding-block: .5rem; gap: .5rem; text-decoration: none; font-size: .8125rem; }
.service-index a:hover { color: var(--accent); text-decoration: underline; }
.service-step { padding: 0 0 2rem; margin-bottom: 2rem; border-bottom: 1px solid var(--line); scroll-margin-top: 1rem; }
.services-prose .service-step h2 { margin-top: 0; font-size: clamp(1.6rem, 2.6vw, 2.15rem); }
.services-prose .service-step p:last-child { margin-bottom: 0; }
.services-prose .service-step:last-child { border-bottom: 0; margin-bottom: 0; padding-bottom: 0; }
.offers article { display: flex; flex-direction: column; padding: 2rem 1.75rem; }
.offers article > .eyebrow { display: none; }
.offers article > p:has(strong) { order: -1; font-size: 2.3rem; line-height: 1.2; color: var(--accent); letter-spacing: -.045em; margin-bottom: 1rem; }
.offers h2 { font-size: 1.5rem; margin: 0 0 1rem; }
.offers a { display: flex; align-items: center; min-height: 44px; margin-top: auto; }
.about-grid { gap: 4rem; }
.about-grid figure { position: sticky; top: 7rem; align-self: start; }
.about-grid .prose h2 { font-size: clamp(1.65rem, 2.8vw, 2.3rem); }
.closing { padding-block: 3rem; }
.closing-inner { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 3rem; }
.closing .eyebrow { text-transform: none; letter-spacing: 0; font-size: .875rem; }
.closing h2 { font-size: clamp(2rem, 3.2vw, 2.8rem); }
.closing p:last-child { margin-bottom: 0; }
.closing .button.light { max-width: 23rem; font-size: 1rem; line-height: 1.55; }
.footer nav { display: grid; grid-template-columns: repeat(2, auto); column-gap: 2rem; row-gap: .25rem; }
.footer nav a, .footer button { display: flex; align-items: center; min-height: 44px; text-align: left; }
.consent { max-height: calc(100dvh - 2rem); overflow-y: auto; overscroll-behavior: contain; }
.consent button { min-height: 44px; }
@media (max-width: 1024px) {
  .hero-grid { gap: 2.5rem; }
  .dossier-heading { padding: 1.5rem; }
  .dossier-pieces { padding-inline: 1.2rem; }
  .dossier-pieces li { grid-template-columns: 4.25rem minmax(0, 1fr); gap: .8rem; }
  .service-layout { grid-template-columns: 13rem minmax(0, 1fr); gap: 2.5rem; }
  .urgent-section { gap: 1.5rem; }
  .urgent-section .button { white-space: normal; max-width: 16rem; }
}
@media (max-width: 900px) {
  .nav-inner { flex-wrap: nowrap; gap: 1rem; padding-block: .65rem; min-height: 4.5rem; }
  .nav nav { order: initial; flex-basis: auto; margin-left: auto; gap: 1rem; }
  .nav nav a { font-size: .8125rem; }
  .nav .button.compact { font-size: .8125rem; padding: .7rem .8rem; gap: .6rem; margin-left: 0; }
  .brand { font-size: 1.35rem; }
  .hero h1 { font-size: clamp(2.6rem, 5.7vw, 3.5rem); }
  .hero-grid { gap: 1.5rem; }
  .hero .button { font-size: .8125rem; padding-inline: 1rem; }
  .dossier-heading h2 { font-size: 1.7rem; }
  .dossier-pieces li { grid-template-columns: 1fr; gap: .5rem; padding-block: 1rem; }
  .piece-label { padding-top: 0; }
  .dossier-note { padding-inline: 1.2rem; }
  .offers article { border-right: 0; padding: 1.5rem; }
  .offers article:last-child { border-bottom: 0; }
  .service-layout { grid-template-columns: 1fr; gap: 2.5rem; }
  .service-index { position: static; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .3rem 1.5rem; }
  .service-index p { grid-column: 1 / -1; }
  .closing-inner { grid-template-columns: 1fr; gap: 1.5rem; }
  .about-grid { grid-template-columns: .8fr 1.2fr; gap: 2rem; }
}
@media (max-width: 700px) {
  .wrap { width: calc(100% - 2.5rem); }
  .nav-inner { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: .1rem 1rem; padding-block: .5rem .25rem; }
  .nav nav { grid-column: 1 / -1; grid-row: 2; width: 100%; margin: 0; justify-content: space-between; gap: .5rem; overflow: visible; }
  .nav nav a { font-size: .875rem; padding-inline: .1rem; }
  .nav .button.compact { min-height: 44px; }
  .nav .brand { width: fit-content; }
  .hero { padding-block: 2rem; }
  .hero-grid { grid-template-columns: 1fr; gap: 2rem; }
  .hero h1 { font-size: clamp(2.35rem, 10.4vw, 3.5rem); max-width: 16ch; margin-bottom: 1.25rem; }
  .hero .eyebrow { font-size: .6875rem; letter-spacing: .12em; margin-bottom: 1.15rem; }
  .hero .lead { font-size: 1rem; line-height: 1.6; }
  .hero .button { font-size: .875rem; min-height: 52px; width: 100%; justify-content: space-between; }
  .hero .text-link { font-size: .875rem; }
  .dossier-heading { padding: 1.4rem; }
  .dossier-heading h2 { font-size: 1.8rem; }
  .dossier-pieces li { grid-template-columns: 4.3rem minmax(0, 1fr); gap: .85rem; padding-block: 1.2rem; }
  .dossier-pieces h3 { font-size: 1rem; }
  .service-strip .wrap > div { display: grid; grid-template-columns: 1fr 1fr; gap: .1rem .5rem; }
  .service-strip a { font-size: .8125rem; }
  .service-strip .wrap > span { margin-bottom: .5rem; }
  .home-context { padding-block: 2.75rem; }
  .section-intro h2 { font-size: 1.9rem; max-width: 24ch; }
  .section-intro p { font-size: 1rem; }
  .situations { grid-template-columns: 1fr; margin-top: 1.5rem; }
  .situations article { padding: 1.25rem 0; }
  .situations article + article { border-left: 0; border-top: 1px solid var(--line); padding: 1.25rem 0; }
  .home-method { padding-bottom: 2.75rem; }
  .responsibilities { grid-template-columns: 1fr; margin-top: 1.5rem; }
  .responsibilities article { padding: 1.5rem; }
  .responsibilities article + article { border-left: 0; padding-top: calc(1.5rem - 3px); }
  .responsibilities h3 { font-size: 1.45rem; }
  .responsibilities li { font-size: .9375rem; }
  .offer-paths { grid-template-columns: 1fr; margin-top: 1.5rem; }
  .offer-path { display: grid; grid-template-columns: 5.5rem minmax(0, 1fr); column-gap: 1.2rem; padding: 1.25rem 0; }
  .offer-path + .offer-path { border-left: 0; border-top: 1px solid var(--line); }
  .offer-volume { grid-row: span 2; flex-direction: column; gap: .3rem; font-size: 2.75rem; margin-bottom: 0; }
  .offer-volume > span { font-size: .75rem; }
  .offer-path-name { font-size: 1rem; }
  .home-offers { padding-bottom: 2.5rem; }
  .urgent-section { grid-template-columns: 1fr; padding: 1.5rem; margin-bottom: 2.75rem; gap: 1.25rem; }
  .urgent-section h2 { font-size: 1.5rem; }
  .urgent-section .button { max-width: none; width: 100%; font-size: .8125rem; padding-inline: 1rem; }
  .page-heading { padding-block: 2.5rem 2rem; }
  .page-heading h1 { font-size: clamp(2.15rem, 8.7vw, 3.25rem); }
  .page-heading .lead { font-size: 1rem; }
  .content-section { padding-block: 2rem 3rem; }
  .prose h2 { font-size: 1.65rem; }
  .prose p, .prose li { line-height: 1.7; }
  .prose { font-size: 1rem; min-width: 0; }
  .prose .button { max-width: 100%; font-size: .875rem; }
  .service-index { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .25rem 1rem; }
  .service-index a { font-size: .75rem; }
  .service-step { padding-bottom: 1.5rem; margin-bottom: 1.5rem; }
  .services-prose .service-step h2 { font-size: 1.65rem; }
  .about-grid { grid-template-columns: 1fr; gap: 2rem; }
  .about-grid figure { position: static; width: min(100%, 25rem); }
  .about-grid img { aspect-ratio: 6 / 5; object-position: center 25%; }
  .closing .button.light { max-width: 100%; width: 100%; font-size: .9375rem; }
  .footer { flex-direction: column; gap: 1.5rem; padding-block: 2.5rem; }
  .footer nav { grid-template-columns: 1fr; gap: 0; }
  .consent { right: .75rem; bottom: .75rem; width: calc(100% - 1.5rem); max-height: calc(100dvh - 1.5rem); padding: 1.15rem; font-size: .9375rem; }
}
@media (prefers-reduced-motion: reduce) {
  .button, .offer-path { transition: none; }
}

/* Interior pages: calmer hierarchy and a more editorial reading rhythm. */
body:not([data-page="accueil"]) .page-heading {
  padding-block: clamp(2.35rem, 5vw, 4rem) clamp(2rem, 4vw, 3rem);
}
body:not([data-page="accueil"]) .page-heading h1 {
  max-width: 22ch;
  font-size: clamp(2.35rem, 4.7vw, 3.8rem);
  line-height: 1.04;
  text-wrap: balance;
}
body:not([data-page="accueil"]) .page-heading .lead {
  max-width: 65ch;
  line-height: 1.65;
}
body:not([data-page="accueil"]) .content-section {
  padding-block: clamp(2.5rem, 5vw, 4rem) clamp(3.5rem, 7vw, 5.5rem);
}
body:not([data-page="accueil"]) .prose {
  max-width: 68ch;
}
body:not([data-page="accueil"]) .prose p,
body:not([data-page="accueil"]) .prose li {
  line-height: 1.75;
}
body:not([data-page="accueil"]) .prose h2 {
  text-wrap: balance;
}

body:not([data-page="accueil"]) .service-layout {
  grid-template-columns: minmax(12rem, 15rem) minmax(0, 68ch);
  gap: clamp(2rem, 5vw, 4rem);
}
body:not([data-page="accueil"]) .service-step {
  padding-bottom: 2.35rem;
  margin-bottom: 2.35rem;
}

/* Keep offer choices distinct without repeating three identical card towers. */
body:not([data-page="accueil"]) .offers {
  grid-template-columns: 1.15fr .925fr .925fr;
  gap: 1px;
  border: 0;
  background: var(--line);
  margin-block: 2.5rem 3.5rem;
}
body:not([data-page="accueil"]) .offers article {
  min-width: 0;
  min-height: 100%;
  padding: 2.15rem 1.8rem 2rem;
  border: 0;
  background: var(--paper);
}
body:not([data-page="accueil"]) .offers article:first-child {
  border-top: 4px solid var(--accent);
  padding-top: calc(2.15rem - 4px);
}
body:not([data-page="accueil"]) .offers article:last-child {
  background: var(--halo);
}
body:not([data-page="accueil"]) .offers article > p:has(strong) {
  font-size: 2rem;
}

body:not([data-page="accueil"]) .article-list {
  gap: clamp(2.5rem, 5vw, 4rem);
}
body:not([data-page="accueil"]) .article-list article {
  padding-block: 1.8rem 2rem;
}
body:not([data-page="accueil"]) .article-list h2 {
  text-wrap: balance;
}

body:not([data-page="accueil"]) .tool-heading {
  padding-block: clamp(2rem, 4vw, 3rem) 1.8rem;
}
body:not([data-page="accueil"]) .tool-heading h1 {
  max-width: 22ch;
  font-size: clamp(2.25rem, 4.5vw, 3.65rem);
  line-height: 1.06;
}
body:not([data-page="accueil"]) .tool-list {
  margin-bottom: clamp(3rem, 6vw, 5rem);
}
body:not([data-page="accueil"]) .tool-list a {
  padding-block: 1.9rem;
}

@media (max-width: 900px) {
  /* Match the three-column service index breakpoint: it needs the full row. */
  body:not([data-page="accueil"]) .service-layout {
    grid-template-columns: 1fr;
    gap: 2rem;
  }
}

@media (max-width: 700px) {
  body:not([data-page="accueil"]) .page-heading h1,
  body:not([data-page="accueil"]) .tool-heading h1 {
    font-size: clamp(2.1rem, 9vw, 3rem);
    line-height: 1.08;
  }
  body:not([data-page="accueil"]) .content-section {
    padding-block: 2.25rem 3.5rem;
  }
  body:not([data-page="accueil"]) .offers {
    grid-template-columns: 1fr;
    margin-block: 2rem 3rem;
  }
  body:not([data-page="accueil"]) .offers article,
  body:not([data-page="accueil"]) .offers article:first-child {
    border-top: 0;
    padding: 1.55rem 1.35rem 1.65rem;
  }
  body:not([data-page="accueil"]) .offers article:first-child {
    border-left: 4px solid var(--accent);
    padding-left: calc(1.35rem - 4px);
  }
}

@media (max-width: 380px) {
  body:not([data-page="accueil"]) .page-heading,
  body:not([data-page="accueil"]) .tool-heading {
    padding-top: 1.8rem;
  }
  body:not([data-page="accueil"]) .page-heading h1,
  body:not([data-page="accueil"]) .tool-heading h1 {
    font-size: 2.05rem;
  }
  body:not([data-page="accueil"]) .page-heading .lead,
  body:not([data-page="accueil"]) .tool-heading .lead {
    font-size: 1rem;
  }
}
.consent { border: 1px solid var(--line); border-radius: 12px; box-shadow: 0 12px 48px #0a1f4426; }
.consent .consent-title { margin: 0 0 .65rem; color: var(--navy); font-size: 1.2rem; font-weight: 750; line-height: 1.3; }
.consent p { margin-bottom: .75rem; line-height: 1.55; }
.consent .consent-details { display: inline-block; margin-bottom: 1rem; font-size: .875rem; }
.consent .consent-actions { display: grid; grid-template-columns: 1fr 1fr; gap: .65rem; }
.consent button { min-width: 0; min-height: 46px; border-radius: 6px; font-weight: 650; font-size: .9375rem; background: var(--navy); color: white; }
.consent button:hover { background: #153769; }
.consent button:focus-visible, .consent a:focus-visible { outline: 3px solid var(--accent); outline-offset: 3px; }
.consent .consent-note { margin: .85rem 0 0; font-size: .75rem; color: var(--muted); line-height: 1.5; }
.consent button.consent-refuse { display: block; margin: .35rem auto 0; padding: .55rem 1rem; background: transparent; border-color: transparent; color: var(--navy); text-decoration: underline; text-underline-offset: .2em; }
.consent button.consent-refuse:hover { background: var(--halo); }
.cookie-options { margin-top: .75rem; padding-top: 1rem; border-top: 1px solid var(--line); font-size: .875rem; }
.cookie-option { display: flex; align-items: flex-start; gap: .65rem; margin: 1rem 0; cursor: pointer; }
.cookie-option input { width: 20px; height: 20px; flex-shrink: 0; accent-color: var(--navy); }
.cookie-options > button { width: 100%; }
.prose .article-figure { width: 100%; margin: 2rem 0; }
.prose .article-figure img { display: block; width: 100%; max-width: 100%; height: auto; aspect-ratio: 3 / 2; border-radius: 8px; }
.prose .article-figure figcaption { margin-top: .65rem; color: var(--muted); font-size: .875rem; line-height: 1.55; }

/* OFFREA studio direction: marine-led, editorial B2B. Loaded after the shared layout. */
:root{--studio-marine:#0a1f44;--studio-orange:#c84420;--studio-ink:#f5f7fb;--studio-muted:#b8c6d9;--studio-line:rgba(232,239,248,.2);--studio-paper:#f5f7fb}
body[data-page="accueil"]{background:var(--studio-marine);color:var(--studio-ink);font-family:Inter,Arial,system-ui,sans-serif}
body[data-page="accueil"] .nav{background:var(--studio-marine);border-color:var(--studio-line)}
body[data-page="accueil"] .brand,body[data-page="accueil"] .nav nav a{color:var(--studio-ink)}
body[data-page="accueil"] .nav nav a:hover,body[data-page="accueil"] .nav nav a[aria-current]{color:var(--studio-orange)}
body[data-page="accueil"] h1,body[data-page="accueil"] h2,body[data-page="accueil"] h3{color:var(--studio-ink)}
body[data-page="accueil"] .hero{padding-block:3rem 4rem;position:relative;overflow:hidden}
body[data-page="accueil"] .hero:before{content:"";position:absolute;inset:0 -10%;pointer-events:none;opacity:.3;background:linear-gradient(115deg,transparent 0 52%,rgba(200,68,32,.15) 52% 52.2%,transparent 52.2%),radial-gradient(circle at 85% 10%,rgba(255,255,255,.12),transparent 31%)}
body[data-page="accueil"] .hero-grid{position:relative;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:3rem;align-items:center}
body[data-page="accueil"] .hero .eyebrow{color:#d9e4f1;font-size:.75rem;letter-spacing:.18em}
body[data-page="accueil"] .hero h1{font-size:clamp(3rem,5.4vw,4.8rem);line-height:.96;letter-spacing:-.07em;margin:.2rem 0 1.8rem;max-width:none}
body[data-page="accueil"] .hero h1 em{color:var(--studio-orange)}
body[data-page="accueil"] .hero .lead{color:#d4dfec;max-width:42ch;font-size:1.1rem}
body[data-page="accueil"] .button{background:var(--studio-orange);border-color:var(--studio-orange);color:#fff;border-radius:0;box-shadow:6px 6px 0 rgba(200,68,32,.22)}
body[data-page="accueil"] .button:hover{background:var(--studio-marine);border-color:var(--studio-marine);transform:translate(-2px,-2px);box-shadow:8px 8px 0 rgba(200,68,32,.22)}
body[data-page="accueil"] .hero .text-link{color:#f4f7fb}
body[data-page="accueil"] .hero-explorer{width:100%;max-width:600px}
body[data-page="accueil"] .hero-explorer .decp-explorer{margin:0;border:1px solid rgba(232,239,248,.22);box-shadow:14px 14px 0 rgba(0,0,0,.16)}
body[data-page="accueil"] .home-content{width:min(1180px,calc(100% - 3.5rem))}
body[data-page="accueil"] .service-strip{background:#081a39;border-color:var(--studio-line)}
body[data-page="accueil"] .service-strip .wrap>span{color:var(--studio-muted)}
body[data-page="accueil"] .service-strip a{color:var(--studio-ink)}
body[data-page="accueil"] .service-strip a:hover{color:var(--studio-orange)}
body[data-page="accueil"] .home-context,body[data-page="accueil"] .home-method{padding-block:clamp(4rem,8vw,8rem);border-bottom:1px solid var(--studio-line)}
body[data-page="accueil"] .section-intro{display:block;max-width:49rem}
body[data-page="accueil"] .section-intro h2{font-size:clamp(2rem,3.4vw,3.5rem);letter-spacing:-.065em;line-height:.98;margin:0 0 1.4rem;max-width:25ch}
body[data-page="accueil"] .section-intro p{color:var(--studio-muted);line-height:1.75;max-width:62ch}
body[data-page="accueil"] .situations,body[data-page="accueil"] .responsibilities{background:transparent;border-top:1px solid var(--studio-line);margin-top:clamp(3rem,6vw,5rem)}
body[data-page="accueil"] .situations article,body[data-page="accueil"] .responsibilities article{padding:2rem 2rem 2rem 0;background:transparent}
body[data-page="accueil"] .situations article+article,body[data-page="accueil"] .responsibilities article+article{border-color:var(--studio-line);padding-left:2rem}
body[data-page="accueil"] .situations h3,body[data-page="accueil"] .responsibilities h3{font-size:1.5rem;margin:0 0 .8rem}
body[data-page="accueil"] .situations p,body[data-page="accueil"] .responsibilities li{color:var(--studio-muted)}
body[data-page="accueil"] .responsibilities article+article{border-top:3px solid var(--studio-orange);border-left:0}
body[data-page="accueil"] .responsibilities ul{margin:0;padding-left:1.2rem}
body[data-page="accueil"] .home-content a{color:#fff}
body[data-page="accueil"] .home-content .text-link{display:inline-block;margin-top:2rem}
body[data-page="accueil"] .home-offers{padding-block:clamp(4rem,8vw,8rem);border-bottom:1px solid var(--studio-line)}
body[data-page="accueil"] .offer-paths{display:grid;grid-template-columns:1fr;border-top:1px solid var(--studio-line);margin-top:3rem}
body[data-page="accueil"] .offer-paths>*{border-left:0!important}
body[data-page="accueil"] .offer-path{border-bottom:1px solid var(--studio-line);color:var(--studio-ink);display:grid;grid-template-columns:7rem minmax(0,1fr) minmax(12rem,.7fr);gap:1rem;align-items:center;padding:1.7rem 0;text-decoration:none}
body[data-page="accueil"] .offer-path:hover{background:rgba(255,255,255,.05);padding-inline:1rem}
body[data-page="accueil"] .offer-volume{color:var(--studio-orange);font-size:3.6rem;font-weight:800;letter-spacing:-.08em;line-height:1}
body[data-page="accueil"] .offer-volume>span{display:block;color:var(--studio-muted);font-size:.7rem;letter-spacing:.08em;text-transform:uppercase}
body[data-page="accueil"] .offer-path-name{font-weight:700;font-size:1.1rem}body[data-page="accueil"] .offer-path-detail{color:var(--studio-muted);font-size:.9rem}
body[data-page="accueil"] .other-sector{color:var(--studio-muted);margin:2rem 0 0}body[data-page="accueil"] .other-sector a{color:#fff}
body[data-page="accueil"] .urgent-section{background:#081a39;border:1px solid var(--studio-line);border-left:4px solid var(--studio-orange);margin-block:clamp(3rem,7vw,7rem);padding:clamp(1.5rem,4vw,3rem)}
body[data-page="accueil"] .urgent-section h2{margin:0 0 .8rem}body[data-page="accueil"] .urgent-section p{color:var(--studio-muted)}
body[data-page="accueil"] .closing{background:#071730;border-top:1px solid var(--studio-line)}
body[data-page="accueil"] .closing h2{color:#fff}body[data-page="accueil"] .closing .eyebrow{color:#b8c6d9}body[data-page="accueil"] .closing p{color:#d4dfec}
body[data-page="accueil"] .closing .button.light{background:#fff;color:var(--studio-marine);border-color:#fff;box-shadow:none}
body[data-page="accueil"] .footer{color:var(--studio-ink)}
body[data-page="accueil"] .footer p,body[data-page="accueil"] .footer nav a,body[data-page="accueil"] .footer button{color:var(--studio-muted)}
body[data-page="accueil"] [data-studio-reveal]{opacity:1;transform:none}
body[data-page="accueil"] [data-studio-reveal].is-visible{animation:studio-rise .7s ease both}
@keyframes studio-rise{from{opacity:.7;transform:translateY(10px)}to{opacity:1;transform:none}}
body[data-page="accueil"] .hero-grid{align-items:start}
body[data-page="accueil"] .hero-copy{padding-top:2rem}
body[data-page="accueil"] .offer-volume{display:block;margin:0;grid-row:auto}
body[data-page="accueil"] .offer-volume>span{margin-top:.4rem}
body[data-page="accueil"] .home-context,body[data-page="accueil"] .home-method,body[data-page="accueil"] .home-offers{padding-block:clamp(3rem,6vw,6rem)}
@media(min-width:1280px){body[data-page="accueil"] .hero{width:min(1280px,calc(100% - 3.5rem))}}
@media(max-width:900px){body[data-page="accueil"] .hero-grid{grid-template-columns:1fr;gap:3rem}body[data-page="accueil"] .hero-explorer{max-width:600px;margin-left:auto}body[data-page="accueil"] .offer-path{grid-template-columns:6rem 1fr}body[data-page="accueil"] .offer-path-detail{grid-column:2}}
@media(max-width:640px){body[data-page="accueil"] .wrap,body[data-page="accueil"] .home-content{width:calc(100% - 2.5rem)}body[data-page="accueil"] .hero h1{font-size:clamp(2.35rem,10.4vw,3.5rem)}body[data-page="accueil"] .offer-path{grid-template-columns:5rem 1fr;padding-block:1.3rem}body[data-page="accueil"] .offer-volume{font-size:2.7rem}body[data-page="accueil"] .situations article,body[data-page="accueil"] .responsibilities article{padding-inline:0!important}body[data-page="accueil"] .situations article+article,body[data-page="accueil"] .responsibilities article+article{border-left:0!important;border-top:1px solid var(--studio-line);padding-top:1.5rem!important}body[data-page="accueil"] .urgent-section{grid-template-columns:1fr!important}body[data-page="accueil"] .urgent-section .button{width:100%;max-width:none}}
@media(prefers-reduced-motion:reduce){body[data-page="accueil"] [data-studio-reveal].is-visible{animation:none}body[data-page="accueil"] .button,body[data-page="accueil"] .offer-path{transition:none}}

/* One OFFREA header across the marketing site, articles and working tools. */
.nav { background:var(--navy); border-bottom:1px solid #ffffff26; color:#fff; }
.nav .brand,.nav nav a { color:#fff; }
.nav .button.compact { color:#fff; background:var(--accent); border-color:var(--accent); box-shadow:none; }
.nav .button.compact:hover { background:#153769; border-color:#153769; transform:none; }
.nav .nav-inner { min-height:80px; gap:1.5rem; }
.nav .desktop-nav { display:flex; gap:1.4rem; flex-wrap:nowrap; margin-left:auto; }
.nav nav a { font-size:.85rem; white-space:nowrap; }
.nav nav a[aria-current] { color:#fff; text-decoration-color:var(--accent); }
.mobile-menu { display:none; }
.page-heading,.tool-heading { background:var(--navy); color:#fff; box-shadow:0 0 0 100vmax var(--navy); clip-path:inset(0 -100vmax); border-color:#ffffff26; }
.page-heading h1,.page-heading a,.tool-heading h1,.tool-heading a { color:#fff; }
.page-heading .lead,.page-heading .eyebrow,.page-heading .article-meta,.tool-heading .lead,.tool-heading .tool-meta,.tool-heading .breadcrumbs { color:#d1d9e6; }
@media(max-width:1050px) {
  .nav .desktop-nav { display:none; }
  .nav .nav-inner { display:flex; flex-wrap:nowrap; gap:1rem; min-height:72px; padding-block:.6rem; }
  .nav .brand { margin-right:auto; font-size:1.35rem; }
  .mobile-menu { display:block; }
  .mobile-menu summary { min-height:44px; display:flex; align-items:center; cursor:pointer; padding:.5rem .65rem; font-size:.875rem; border:1px solid #ffffff50; list-style:none; }
  .mobile-menu summary::-webkit-details-marker { display:none; }
  .mobile-menu summary::after { content:'+'; font-size:1.25rem; margin-left:.7rem; line-height:1; }
  .mobile-menu[open] summary::after { content:'−'; }
  .nav .mobile-menu nav { position:absolute; inset:100% 0 auto; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); margin:0; padding:1rem max(1.25rem,calc((100% - 1180px)/2)); background:var(--navy); border-bottom:1px solid #ffffff40; gap:.25rem 2rem; box-shadow:0 16px 24px #0003; }
  .nav .mobile-menu nav a { padding:.5rem; min-height:48px; font-size:1rem; }
  .nav .button.compact { margin:0; font-size:.875rem; padding:.65rem .75rem; min-height:44px; gap:.5rem; }
}
@media(max-width:400px) {
  .nav .nav-inner { width:calc(100% - 1.25rem); gap:.25rem; }
  .nav .brand { font-size:1.12rem; }
  .nav .button.compact { padding:.55rem .5rem; }
  .nav .button.compact span { display:none; }
  .mobile-menu summary { font-size:.875rem; padding:.4rem .4rem; }
  .mobile-menu summary::after { margin-left:.3rem; }
}

.visual-heading{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:clamp(2rem,5vw,5rem);align-items:center;padding-top:3rem;padding-bottom:2.5rem}
.visual-heading h1{font-size:clamp(2rem,3.7vw,3.4rem);line-height:1.08;max-width:24ch}
.page-visual{margin:0;min-width:0;align-self:center}
.page-visual img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover}
.page-visual figcaption{border-left:3px solid var(--accent);padding:.7rem 0 .1rem 1rem;margin-top:1rem;font-size:.91rem;color:#fff;line-height:1.5}
.page-visual small{display:block;color:#d1d9e6;font-size:.72rem;margin-top:.35rem}
.visual-heading .lead{font-size:1.08rem}
.tool-heading .eyebrow,.decp-widget-shell .eyebrow{color:#d1d9e6}
@media(max-width:700px){.visual-heading{grid-template-columns:1fr;gap:1.5rem;padding-top:1.7rem;padding-bottom:2rem}.visual-heading h1{font-size:2.15rem}.page-visual img{aspect-ratio:4/3}.page-visual{max-width:32rem;width:100%}}

/* Commercial composition: actual work first, resources after the offer. */
body[data-page="accueil"] .hero-grid{grid-template-columns:minmax(0,1.04fr) minmax(0,1fr);gap:clamp(2rem,5vw,5rem);align-items:center}
body[data-page="accueil"] .hero-copy{padding-top:0}
body[data-page="accueil"] .hero h1{font-size:clamp(2.75rem,4.8vw,4.5rem);line-height:1.03;letter-spacing:-.055em;max-width:15ch;text-wrap:balance}
body[data-page="accueil"] .hero h1 em{color:#ef997b}
body[data-page="accueil"] .hero .lead{font-size:1.0625rem;line-height:1.7}
.work-example{margin:0;background:#f5f7fb;color:#23354f;padding:clamp(1.25rem,2.5vw,2rem);border-top:4px solid var(--accent);box-shadow:10px 10px 0 rgba(0,0,0,.12);min-width:0}
.work-example figcaption{padding:0;color:#425570}
.work-example .example-label{display:block;color:#52617a;font-size:.75rem;font-weight:650;letter-spacing:.055em;line-height:1.5}
.work-example h2,body[data-page="accueil"] .work-example h2{color:var(--navy);font-size:clamp(1.6rem,2.4vw,2.1rem);line-height:1.12;letter-spacing:-.04em;margin:.75rem 0}
.work-example figcaption p{font-size:.875rem;line-height:1.6;margin:0 0 1rem;max-width:53ch}
.example-steps{list-style:none;margin:0;padding:0}
.example-steps li{display:grid;grid-template-columns:1.6rem minmax(0,1fr);gap:.7rem;padding:1rem 0;border-top:1px solid #d8e0eb}
.example-number{font-variant-numeric:tabular-nums;color:var(--accent);font-size:.75rem;font-weight:700;line-height:1.7}
.example-steps h3,body[data-page="accueil"] .example-steps h3{margin:0 0 .45rem;color:var(--navy);font-size:.9375rem;line-height:1.4;letter-spacing:-.01em}
.example-steps p,.example-steps blockquote{font-size:.875rem;line-height:1.65;margin:0}
.example-steps blockquote{border-left:2px solid var(--accent);padding-left:.8rem;color:#33455f}
.example-link{display:flex;gap:1rem;align-items:center;justify-content:space-between;min-height:44px;font-size:.875rem;font-weight:650;color:var(--navy);text-underline-offset:.25em}
body[data-page="accueil"] .home-observatory{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);align-items:start;gap:3rem;padding-block:1rem 5rem}
body[data-page="accueil"] .home-observatory .section-intro{padding-top:2rem}
body[data-page="accueil"] .home-observatory h2{font-size:clamp(2rem,3vw,3rem);line-height:1.12}
body[data-page="accueil"] .home-observatory .eyebrow{color:#b8c6d9;font-size:.75rem;line-height:1.6}
body[data-page="accueil"] .home-observatory .text-link{color:#fff}
.home-observatory-widget{min-width:0}
.home-observatory-widget .decp-explorer{margin:0}
body[data-page="accueil"] .offer-volume>span{font-size:.75rem}
/* Short introductions retain their approved photo and bring decisions forward. */
body:not([data-page="accueil"]) .functional-heading{grid-template-columns:minmax(0,1fr) minmax(15rem,.52fr);gap:2.5rem;padding-block:2rem 1.75rem}
body:not([data-page="accueil"]) .functional-heading h1{font-size:clamp(2rem,3.2vw,3rem);line-height:1.1;margin:.5rem 0 1rem;max-width:24ch}
body:not([data-page="accueil"]) .functional-heading .lead{font-size:1rem;line-height:1.65;margin-bottom:.6rem}
.functional-heading .eyebrow{margin-bottom:.75rem}
.functional-heading .page-visual{max-width:25rem;justify-self:end}
.functional-heading .page-visual figcaption{font-size:.8125rem;margin-top:.7rem;padding-top:0}
.heading-shortcut{display:inline-flex;align-items:center;gap:1rem;min-height:44px;font-size:.9375rem;font-weight:650;color:inherit}
.functional-heading .tool-meta{margin-block:.5rem;font-size:.875rem}
body[data-page="offres"] .content-section{padding-top:1.8rem}
.offer-choice-intro{display:flex;gap:2rem;align-items:baseline;margin-bottom:1.75rem}
.offer-choice-intro h2{font-size:1.55rem;line-height:1.2;margin:0;max-width:22ch;flex:1}
.offer-choice-intro p{font-size:.9375rem;color:var(--muted);margin:0;max-width:60ch;flex:1.5}
.offer-choice{display:grid;grid-template-columns:minmax(10rem,.65fr) minmax(0,1.6fr) auto;gap:2rem;align-items:center;padding:1.75rem 0;border-top:1px solid var(--line);scroll-margin-top:6rem}
.offer-choice:last-child{border-bottom:1px solid var(--line)}
.offer-choice h3{font-size:1rem;margin:.6rem 0 0;line-height:1.35;letter-spacing:-.015em}
.offer-choice-volume{font-size:2.5rem;line-height:1;font-weight:750;color:var(--accent);letter-spacing:-.04em;margin:0;font-variant-numeric:tabular-nums}
.offer-choice-volume span{font-size:.875rem;font-weight:500;letter-spacing:0;color:var(--muted)}
.offer-choice h4{font-size:1.0625rem;line-height:1.4;margin:0 0 .6rem;color:var(--navy)}
.offer-choice-situation p{font-size:.9375rem;color:var(--muted);line-height:1.7;margin:0;max-width:55ch}
.offer-choice .button{font-size:.875rem;padding:.85rem 1rem;min-height:48px;min-width:13rem}
.offer-scope,.offer-example{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:clamp(2rem,5vw,5rem);padding-block:4rem;border-bottom:1px solid var(--line)}
.offer-scope h2,.offer-example>div h2{font-size:clamp(1.8rem,2.7vw,2.5rem);line-height:1.15;margin:0 0 1.2rem;max-width:23ch}
.offer-scope p,.offer-example>div p{font-size:1rem;color:var(--muted);max-width:55ch}
.offer-scope dl{margin:0}
.offer-scope dl>div{padding:1.2rem 0;border-top:1px solid var(--line)}
.offer-scope dl>div:first-child{padding-top:0;border:0}
.offer-scope dt{font-size:1rem;font-weight:700;color:var(--navy)}
.offer-scope dd{margin:.5rem 0 0;font-size:.9375rem;color:var(--muted);line-height:1.7}
.offer-example{align-items:center}
.offer-example .work-example{box-shadow:none}
.urgent-opening{margin-top:1.5rem;max-width:40rem}
.urgent-opening p{font-size:.875rem;line-height:1.65;color:#cbd7e8;margin:.9rem 0 0}
.urgent-opening .button{min-height:48px;max-width:100%;font-size:1rem;background:var(--accent);border-color:var(--accent);color:#fff}
.urgent-opening .button:hover{background:#aa3719;border-color:#aa3719}
@media(max-width:1000px){.offer-choice{grid-template-columns:minmax(8rem,.55fr) minmax(0,1fr);gap:1rem 2rem}.offer-choice .button{grid-column:2;justify-self:start}.offer-choice-heading{align-self:start}.offer-choice-intro{display:block}.offer-choice-intro h2{max-width:none;margin-bottom:.65rem}.offer-choice-intro p{max-width:70ch}}
@media(max-width:900px){body[data-page="accueil"] .hero-grid{grid-template-columns:1fr;gap:2.5rem}body[data-page="accueil"] .hero h1{max-width:19ch;font-size:clamp(2.6rem,6vw,4rem)}.work-example{max-width:42rem;width:100%;justify-self:end}body[data-page="accueil"] .home-observatory{grid-template-columns:1fr;gap:2rem}.home-observatory-widget{width:100%;max-width:45rem;justify-self:center}.offer-scope,.offer-example{gap:2rem}}
@media(max-width:700px){
  body[data-page="accueil"] .hero{padding-block:2rem 3rem}
  body[data-page="accueil"] .hero h1{font-size:clamp(2.35rem,9.8vw,3.4rem);max-width:17ch}
  body[data-page="accueil"] .hero .lead{font-size:1rem}
  .work-example{padding:1.25rem;box-shadow:6px 6px 0 rgba(0,0,0,.12)}
  .work-example h2,body[data-page="accueil"] .work-example h2{font-size:1.65rem}
  body[data-page="accueil"] .home-observatory{padding-bottom:3rem}
  body:not([data-page="accueil"]) .functional-heading{grid-template-columns:1fr;gap:1rem;padding-block:1.4rem}
  body:not([data-page="accueil"]) .functional-heading h1{font-size:2rem;line-height:1.1;margin:.4rem 0 .8rem}
  .functional-heading .page-visual{display:grid;grid-template-columns:7.5rem minmax(0,1fr);gap:1rem;align-items:center;max-width:none;width:100%;justify-self:stretch}
  .functional-heading .page-visual img{aspect-ratio:4/3}
  .functional-heading .page-visual figcaption{margin:0;padding:0 0 0 .75rem;font-size:.8125rem;line-height:1.5}
  .functional-heading .breadcrumbs{margin-bottom:.7rem}
  .functional-heading .eyebrow{font-size:.75rem;margin-bottom:.5rem}
  .functional-heading .tool-meta{gap:.3rem 1rem;font-size:.8125rem}
  body[data-page="offres"] .content-section{padding-top:1.6rem}
  .offer-choice-intro{margin-bottom:1.4rem}
  .offer-choice-intro h2{font-size:1.35rem}
  .offer-choice{grid-template-columns:1fr;gap:1rem;padding-block:1.5rem}
  .offer-choice-heading{display:flex;align-items:center;justify-content:space-between;gap:1rem}
  .offer-choice h3{margin:0;font-size:.9375rem}
  .offer-choice-volume{font-size:2.1rem;white-space:nowrap}
  .offer-choice-volume span{font-size:.8125rem}
  .offer-choice .button{grid-column:1;width:100%;font-size:.9375rem}
  .offer-scope,.offer-example{grid-template-columns:1fr;padding-block:2.5rem}
  .offer-example .work-example{justify-self:start}
  .urgent-opening .button{font-size:.9375rem;line-height:1.5;padding:1rem;gap:.75rem;width:100%}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Light editorial palette for the homepage; other pages keep their own theme. */
body[data-page="accueil"] {
  --studio-ink: #0a1f44;
  --studio-muted: #4b5b70;
  --studio-line: #dbe1e8;
  --studio-paper: #faf9f6;
  background: var(--studio-paper);
  color: var(--studio-ink);
}

body[data-page="accueil"] .nav {
  background: #fff;
  color: var(--studio-ink);
  border-color: var(--studio-line);
}
body[data-page="accueil"] .brand,
body[data-page="accueil"] .nav nav a {
  color: var(--studio-ink);
}
body[data-page="accueil"] .nav nav a:hover,
body[data-page="accueil"] .nav nav a[aria-current] {
  color: var(--studio-orange);
}
body[data-page="accueil"] .mobile-menu summary {
  border-color: #bcc6d2;
  color: var(--studio-ink);
}
body[data-page="accueil"] .nav .mobile-menu nav {
  background: #fff;
  border-color: var(--studio-line);
  box-shadow: none;
}

body[data-page="accueil"] h1,
body[data-page="accueil"] h2,
body[data-page="accueil"] h3 {
  color: var(--studio-ink);
}
body[data-page="accueil"] .hero::before {
  content: none;
  display: none;
}
body[data-page="accueil"] .hero .eyebrow {
  color: var(--studio-muted);
}
body[data-page="accueil"] .hero h1 em {
  color: var(--studio-orange);
}
body[data-page="accueil"] .hero .lead,
body[data-page="accueil"] .section-intro p {
  color: var(--studio-muted);
}
body[data-page="accueil"] .hero .text-link,
body[data-page="accueil"] .home-content a,
body[data-page="accueil"] .other-sector a,
body[data-page="accueil"] .home-observatory .text-link {
  color: var(--studio-ink);
}

body[data-page="accueil"] .button,
body[data-page="accueil"] .nav .button.compact,
body[data-page="accueil"] .closing .button.light {
  background: var(--studio-orange);
  border-color: var(--studio-orange);
  color: #fff;
  box-shadow: none;
}
body[data-page="accueil"] .button:hover,
body[data-page="accueil"] .nav .button.compact:hover,
body[data-page="accueil"] .closing .button.light:hover {
  background: #a93719;
  border-color: #a93719;
  color: #fff;
  box-shadow: none;
  transform: none;
}

body[data-page="accueil"] .work-example {
  background: #fff;
  color: #23354f;
  border: 1px solid var(--studio-line);
  border-top: 4px solid var(--studio-orange);
  box-shadow: none;
}
body[data-page="accueil"] .work-example figcaption,
body[data-page="accueil"] .work-example .example-label {
  color: var(--studio-muted);
}
body[data-page="accueil"] .work-example h2,
body[data-page="accueil"] .example-steps h3,
body[data-page="accueil"] .example-link {
  color: var(--studio-ink);
}
body[data-page="accueil"] .example-steps li {
  border-color: var(--studio-line);
}

body[data-page="accueil"] .service-strip {
  background: #fff;
  border-color: var(--studio-line);
}
body[data-page="accueil"] .service-strip .wrap > span,
body[data-page="accueil"] .situations p,
body[data-page="accueil"] .responsibilities li,
body[data-page="accueil"] .other-sector,
body[data-page="accueil"] .offer-path-detail,
body[data-page="accueil"] .offer-volume > span {
  color: var(--studio-muted);
}
body[data-page="accueil"] .service-strip a,
body[data-page="accueil"] .offer-path {
  color: var(--studio-ink);
}
body[data-page="accueil"] .service-strip a:hover {
  color: var(--studio-orange);
}
body[data-page="accueil"] .offer-path:hover {
  background: #fff;
  padding-inline: 0;
}
body[data-page="accueil"] .urgent-section {
  background: #fff5ee;
  border-color: #ead8ce;
  border-left-color: var(--studio-orange);
}
body[data-page="accueil"] .urgent-section p {
  color: var(--studio-muted);
}
body[data-page="accueil"] .home-observatory > .section-intro .eyebrow {
  color: var(--studio-muted);
}

/* The data explorer remains a separate, self-contained navy working tool. */
body[data-page="accueil"] .decp-explorer h2,
body[data-page="accueil"] .decp-explorer h3 {
  color: #fff;
}

body[data-page="accueil"] .closing {
  background: #f0f2f4;
  border-color: var(--studio-line);
  color: var(--studio-ink);
}
body[data-page="accueil"] .closing h2 {
  color: var(--studio-ink);
}
body[data-page="accueil"] .closing .eyebrow,
body[data-page="accueil"] .closing p {
  color: var(--studio-muted);
}
body[data-page="accueil"] .footer {
  color: var(--studio-ink);
  background: var(--studio-paper);
}
body[data-page="accueil"] .footer p,
body[data-page="accueil"] .footer nav a,
body[data-page="accueil"] .footer button {
  color: var(--studio-muted);
}
body[data-page="accueil"] [data-studio-reveal].is-visible {
  animation: none;
}
@media(max-width:400px) {
  body[data-page="accueil"] .nav .nav-inner { width:calc(100% - 1.25rem); }
}

/* Approved stock scenes paired with a plain description of the work entrusted. */
.home-hero-photo{margin:0;min-width:0;align-self:center;position:relative;padding-bottom:1.5rem}
.home-hero-photo img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover}
.home-hero-photo figcaption{position:relative;margin:-1.5rem 0 0 2rem;padding:1.35rem 1.5rem;background:#fff;border-left:3px solid var(--accent);max-width:28rem;box-shadow:0 12px 35px #0a1f440a}
.home-hero-photo figcaption span{display:block;color:var(--navy);font-size:1.125rem;font-weight:700;line-height:1.3;letter-spacing:-.02em}
.home-hero-photo figcaption p{color:#4b5b70;font-size:.9375rem;line-height:1.65;margin:.6rem 0 0}
body[data-page="accueil"] .hero{padding-block:3rem}
body[data-page="accueil"] .hero h1{font-size:clamp(2.65rem,4.4vw,4rem)}
body[data-page="accueil"] .hero-grid{gap:clamp(2rem,4vw,4rem);align-items:center}
body[data-page="accueil"] .home-context{padding-bottom:3rem;border-bottom:0}
body[data-page="accueil"] .home-context .situations{margin-top:2rem}
.home-preparation{display:grid;grid-template-columns:minmax(0,.78fr) minmax(0,1fr);gap:clamp(2rem,6vw,5rem);align-items:center;padding-block:1rem 4.5rem;border-bottom:1px solid var(--studio-line)}
.home-terrain-photo{margin:0;max-width:29rem}
.home-terrain-photo img{display:block;width:100%;height:auto;aspect-ratio:4/5;object-fit:cover}
.preparation-copy{min-width:0}
.preparation-copy .eyebrow{font-size:.75rem;color:var(--studio-muted);line-height:1.5}
.preparation-copy h2,.offer-preparation h2{margin:.5rem 0 1.8rem;font-size:clamp(1.85rem,3vw,2.8rem);line-height:1.12;max-width:23ch;letter-spacing:-.045em}
.preparation-steps{margin:0;padding:0;list-style:none;counter-reset:preparation}
.preparation-scope{font-size:.9375rem;line-height:1.65;color:#4b5b70;margin:0 0 1rem}
.preparation-steps li{position:relative;padding:1.2rem 0 1.2rem 2.7rem;border-top:1px solid var(--line);counter-increment:preparation}
.preparation-steps li::before{content:"0" counter(preparation);position:absolute;left:0;top:1.25rem;color:var(--accent);font-size:.8rem;font-weight:700;font-variant-numeric:tabular-nums}
.preparation-steps h3,body[data-page="accueil"] .preparation-steps h3{font-size:1.125rem;line-height:1.4;margin:0 0 .5rem;letter-spacing:-.02em;color:var(--navy)}
.preparation-steps p{font-size:.9375rem;line-height:1.75;color:#4b5b70;margin:0;max-width:58ch}
.preparation-copy .text-link{color:var(--navy);margin-top:1rem;min-height:44px;display:inline-flex;align-items:center;gap:1rem}
.offer-preparation{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1fr);gap:clamp(2rem,5vw,4rem);align-items:center;padding-block:3.5rem;border-bottom:1px solid var(--line)}
.offer-preparation figure{margin:0;align-self:start;padding-top:.5rem}
.offer-preparation img{display:block;width:100%;height:auto;aspect-ratio:3/2}
.offer-preparation figcaption{font-size:.875rem;line-height:1.6;padding-top:1rem;color:var(--muted);max-width:48ch}
.offer-preparation .eyebrow{font-size:.75rem}
@media(max-width:900px){body[data-page="accueil"] .hero-grid{grid-template-columns:1fr 1fr;gap:1.5rem}body[data-page="accueil"] .hero h1{font-size:clamp(2.35rem,5.3vw,3.6rem)}.home-hero-photo figcaption{margin-left:1rem;padding:1rem}.home-preparation{gap:2rem}.home-terrain-photo{align-self:start}}
@media(max-width:700px){
  body[data-page="accueil"] .hero{padding-block:1.8rem 2rem}
  body[data-page="accueil"] .hero-grid{grid-template-columns:1fr;gap:2rem}
  body[data-page="accueil"] .hero h1{font-size:clamp(2.25rem,9vw,3.1rem);max-width:18ch}
  .home-hero-photo{padding-bottom:0}
  .home-hero-photo figcaption{margin:-1rem 0 0 1rem;padding:1rem 1.1rem}
  .home-hero-photo figcaption span{font-size:1rem}
  .home-hero-photo figcaption p{font-size:.875rem}
  body[data-page="accueil"] .home-context{padding-block:2.5rem}
  .home-preparation,.offer-preparation{grid-template-columns:1fr;gap:2rem;padding-block:0 3rem}
  .home-terrain-photo{width:100%;max-width:27.2rem;margin-inline:auto}
  .preparation-copy h2,.offer-preparation h2{font-size:2rem;margin-bottom:1.4rem}
  .preparation-copy h2 br{display:none}
  .offer-preparation{padding-block:2.5rem}
  .offer-preparation figure{max-width:36rem;padding:0}
}
