/* Parixia Conseil — exact match from React source */
:root{
  /* ── Colors (existing) ─────────────────────────────── */
  --bg:#f7f6f3;--bg-2:#efede7;--bg-3:#e6e4dd;
  --ink:#1f1d1a;--ink-2:#3a3834;--ink-3:#6b6862;--ink-4:#9a9791;--ink-5:#c4c0b8;
  --rule:#dedbd3;--accent:#b79770;--grain:0.08;

  /* ── Fonts (existing) ──────────────────────────────── */
  --font-display:'General Sans','Helvetica Neue',Arial,sans-serif;
  --font-body:'General Sans','Helvetica Neue',Arial,sans-serif;
  --font-mono:'IBM Plex Mono',ui-monospace,monospace;

  /* ── Breakpoints (reference, not usable in @media) ─ */
  /* sm 480 · md 768 · lg 1024 · xl 1360 */

  /* ── Layout ────────────────────────────────────────── */
  --container-max:1360px;
  --container-px:clamp(16px, 4vw, 32px);
  --header-h:clamp(56px, 7vw, 72px);
  --touch-min:44px;
  --z-header:100;
  --z-overlay:200;
  --z-cursor:9998;
  --z-grain:9999;

  /* ── Spacing scale (fluid mobile→desktop) ──────────── */
  --space-3xs:clamp(4px, 0.6vw, 6px);
  --space-2xs:clamp(8px, 1vw, 10px);
  --space-xs:clamp(10px, 1.2vw, 14px);
  --space-sm:clamp(14px, 1.8vw, 20px);
  --space-md:clamp(18px, 2.4vw, 28px);
  --space-lg:clamp(24px, 3.4vw, 40px);
  --space-xl:clamp(32px, 4.6vw, 60px);
  --space-2xl:clamp(48px, 6.5vw, 80px);
  --space-3xl:clamp(64px, 8.5vw, 120px);
  --space-4xl:clamp(80px, 11vw, 160px);
  --space-5xl:clamp(100px, 13vw, 200px);

  /* Section vertical rhythm */
  --section-py:clamp(72px, 10vw, 140px);
  --section-py-lg:clamp(96px, 12vw, 180px);
  --section-py-sm:clamp(48px, 7vw, 96px);

  /* ── Typography scale (fluid) ──────────────────────── */
  --fs-micro:clamp(9px, 0.7vw, 10px);
  --fs-mono-sm:clamp(10px, 0.8vw, 11px);
  --fs-mono:clamp(11px, 0.9vw, 12px);
  --fs-xs:clamp(12px, 1vw, 13px);
  --fs-sm:clamp(13px, 1.05vw, 14px);
  --fs-body:clamp(15px, 1.15vw, 16px);
  --fs-body-lg:clamp(16px, 1.4vw, 19px);
  --fs-h4:clamp(18px, 1.8vw, 22px);
  --fs-h3:clamp(20px, 2.2vw, 26px);
  --fs-h3-lg:clamp(24px, 3vw, 34px);
  --fs-h3-xl:clamp(28px, 3.4vw, 40px);
  --fs-h2:clamp(28px, 4vw, 44px);
  --fs-h2-lg:clamp(32px, 4.8vw, 68px);
  --fs-display:clamp(44px, 7vw, 112px);
  --fs-display-xl:clamp(48px, 10.5vw, 180px);

  /* ── Motion ────────────────────────────────────────── */
  --ease-out:cubic-bezier(.2,.7,.15,1);
  --dur-fast:200ms;
  --dur-base:400ms;
  --dur-slow:700ms;

  /* ── Borders / radius ──────────────────────────────── */
  --border:1px solid var(--rule);
  --radius-sm:0;
}
.theme-night{--bg:#0c0c0f;--bg-2:#141418;--bg-3:#1c1c21;--ink:#f2efe8;--ink-2:#d6d2c8;--ink-3:#9c988e;--ink-4:#6b6862;--ink-5:#3a3834;--rule:#232228;--accent:#c9a77a}
.theme-paper{--bg:#f1ece2;--bg-2:#e8e2d4;--bg-3:#ddd5c4;--ink:#1a1915;--rule:#d6cdb9;--accent:#9e6a3e}
*{box-sizing:border-box}
html,body{margin:0;padding:0}
html{scroll-behavior:smooth;scroll-padding-top:var(--header-h);-webkit-text-size-adjust:100%;text-size-adjust:100%;overflow-x:hidden;overflow-x:clip}
body{overflow-x:hidden;overflow-x:clip}
body{background:var(--bg);color:var(--ink);font-family:var(--font-body);font-size:var(--fs-body);line-height:1.5;-webkit-font-smoothing:antialiased;cursor:none;transition:background .4s,color .4s;min-height:100svh;min-height:100vh}
@media(pointer:coarse){body{cursor:auto}}
img,svg,video{max-width:100%;height:auto;display:block}
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
}
body::before{content:"";position:fixed;inset:0;pointer-events:none;z-index:9999;opacity:var(--grain);mix-blend-mode:multiply;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='160'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.6 0'/></filter><rect width='100%25' height='100%25' filter='url(%23n)'/></svg>")}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;background:none;border:0;padding:0;cursor:none}
@media(pointer:coarse){button{cursor:auto}}
::selection{background:var(--ink);color:var(--bg)}
::-webkit-scrollbar{width:8px;height:8px}
::-webkit-scrollbar-thumb{background:var(--ink-5);border-radius:4px}
:focus-visible{outline:2px solid var(--ink);outline-offset:3px}

/* Typography */
.mono{font-family:var(--font-mono);font-feature-settings:"zero" 1}
.display{font-family:var(--font-display);font-weight:500;letter-spacing:-0.03em;line-height:0.96}
.caps{text-transform:uppercase;letter-spacing:0.18em;font-size:11px}

/* Reveal */
.reveal-line{overflow:hidden;display:inline-block;padding:.12em .08em .38em;margin:-.12em -.08em -.38em;line-height:inherit}
.reveal-word{display:inline-block;transform:translateY(110%);transition:transform 900ms cubic-bezier(.2,.7,.15,1)}
.is-visible .reveal-word{transform:translateY(0)}
.fade-up{opacity:0;transform:translateY(20px);transition:opacity 800ms ease,transform 800ms cubic-bezier(.2,.7,.15,1)}
.fade-up.is-visible{opacity:1;transform:translateY(0)}

/* Layout */
.container{width:100%;max-width:var(--container-max);margin:0 auto;padding:0 var(--container-px)}

/* Section spacing utilities */
.section{padding-block:var(--section-py);position:relative}
.section-lg{padding-block:var(--section-py-lg);position:relative}
.section-sm{padding-block:var(--section-py-sm);position:relative}
.section-dark{background:var(--ink);color:var(--bg);overflow:hidden}
.section-tinted{background:var(--bg-2)}

/* Hero section */
.hero-section{position:relative;min-height:100svh;min-height:100vh;display:flex;flex-direction:column;padding-top:calc(var(--header-h) + var(--space-lg));padding-bottom:var(--space-md);overflow:hidden}
@media(min-width:768px){
  .hero-section{padding-top:calc(var(--header-h) + var(--space-2xl));padding-bottom:var(--space-md)}
}

/* Marquee strip */
.marquee-section{padding-block:var(--space-md);border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);background:var(--bg)}

/* Footer */
.site-footer{padding:var(--space-2xl) 0 var(--space-md);border-top:1px solid var(--rule);background:var(--bg)}
.site-footer .footer-bottom{margin-top:var(--space-2xl);padding-top:var(--space-md);border-top:1px solid var(--rule);font-family:var(--font-mono);color:var(--ink-3)}
.site-footer .footer-bottom span{font-size:var(--fs-mono-sm);letter-spacing:0.1em}

/* Header bar */
.site-header{position:fixed;top:0;left:0;right:0;z-index:var(--z-header);transition:background 300ms,border-color 300ms}
.site-header-inner{display:flex;align-items:center;justify-content:space-between;gap:var(--space-md);height:var(--header-h)}
.site-header .header-cta{display:none}
@media(min-width:1024px){.site-header .header-cta{display:inline-flex}}

/* Sub-page hero (services hub, etc.) */
.subpage-hero{position:relative;padding-top:calc(var(--header-h) + var(--space-xl));padding-bottom:var(--space-xl);overflow:hidden}
@media(min-width:768px){.subpage-hero{padding-top:calc(var(--header-h) + var(--space-2xl));padding-bottom:var(--space-2xl)}}

/* Generic 4-col meta rail (used in hero tops) */
.meta-rail{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-sm);border-top:1px solid var(--rule);padding-top:var(--space-sm);margin-bottom:var(--space-2xl)}
.meta-rail > *:nth-child(3),.meta-rail > *:nth-child(4){text-align:left}
@media(min-width:480px){.meta-rail > *:nth-child(4){text-align:right}}
@media(min-width:768px){.meta-rail{grid-template-columns:repeat(4,1fr);gap:var(--space-md)}}

/* Split hero (title + side card) */
.split-hero{display:grid;grid-template-columns:1fr;gap:var(--space-xl);align-items:start;margin-bottom:var(--space-2xl)}
@media(min-width:1024px){.split-hero{grid-template-columns:2.2fr 1fr;gap:48px;align-items:end;margin-bottom:100px}}

/* Mini-nav card (services list inside split-hero) */
.mini-nav{border:1px solid var(--rule);padding:6px 0;background:var(--bg)}
.mini-nav a{display:grid;grid-template-columns:44px 1fr 16px;align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);min-height:var(--touch-min);border-bottom:1px solid var(--rule);color:inherit;text-decoration:none}
.mini-nav a:last-child{border-bottom:0}
.mini-nav .mn-num{font-family:var(--font-mono);font-size:var(--fs-mono);letter-spacing:0.14em;color:var(--ink-3)}
.mini-nav .mn-label{font-family:var(--font-display);font-size:var(--fs-h4);font-weight:500;letter-spacing:-0.01em;line-height:1.2}
.mini-nav .arrow{transition:transform 300ms;color:var(--ink-3)}
@media(hover:hover){.mini-nav a:hover{background:var(--bg-2)} .mini-nav a:hover .arrow{transform:translateX(4px);color:var(--ink)}}
@media(min-width:768px){
  .mini-nav a{grid-template-columns:60px 1fr 20px;padding:18px 22px;gap:16px}
  .mini-nav .mn-label{font-size:18px}
}

/* Practice grid (1 → 2 → 4 col container of .practice-card) */
.practice-grid{display:grid;grid-template-columns:1fr;gap:0}
@media(min-width:768px){.practice-grid{grid-template-columns:1fr 1fr}}
@media(min-width:1024px){.practice-grid{grid-template-columns:repeat(4,1fr)}}

/* CTA grid (heading + actions) */
.cta-grid{display:grid;grid-template-columns:1fr;gap:var(--space-xl);align-items:start}
@media(min-width:768px){.cta-grid{grid-template-columns:1fr 1fr;gap:var(--space-2xl);align-items:end}}
@media(min-width:1024px){.cta-grid{gap:80px}}

/* deliv: third column right-align only on tablet+ */
.deliv-price{text-align:left}
@media(min-width:768px){.deliv-price{text-align:right}}

/* ── Strategie page specifics ─────────────────────────── */

/* Static header variant (for sub-nav pages) */
.site-header.is-static{position:relative}

/* Hero pre-title row */
.hero-pretitle{display:grid;grid-template-columns:1fr;gap:var(--space-sm);align-items:start;margin-bottom:var(--space-xl)}
.hero-pretitle .hp-right{text-align:left}
@media(min-width:768px){
  .hero-pretitle{grid-template-columns:auto 1fr;gap:var(--space-lg);align-items:end}
  .hero-pretitle .hp-right{text-align:right}
}

/* Hero body two-col (intro + aside) */
.hero-body-grid{display:grid;grid-template-columns:1fr;gap:var(--space-xl);align-items:start;margin-top:var(--space-xl)}
@media(min-width:1024px){.hero-body-grid{grid-template-columns:1fr 1fr;gap:80px;margin-top:60px}}

/* Aside (right column with vertical rule) */
.hero-aside{padding-left:0;border-left:0}
@media(min-width:1024px){.hero-aside{border-left:1px solid var(--rule);padding-left:32px}}

/* "En bref" definition list */
.in-brief{margin:0;display:grid;grid-template-columns:1fr;gap:var(--space-2xs);font-size:var(--fs-sm)}
.in-brief dt{font-family:var(--font-mono);color:var(--ink-3);font-size:var(--fs-mono);letter-spacing:0.14em;text-transform:uppercase;margin-top:var(--space-xs)}
.in-brief dt:first-of-type{margin-top:0}
.in-brief dd{margin:0;color:var(--ink-2)}
@media(min-width:480px){
  .in-brief{grid-template-columns:120px 1fr;gap:var(--space-xs) var(--space-md);align-items:start}
  .in-brief dt{margin-top:0;padding-top:2px}
}
@media(min-width:1024px){.in-brief{grid-template-columns:140px 1fr;gap:14px 20px}}

/* Conviction grid (3-col cards in manifeste) */
.conviction-grid{display:grid;grid-template-columns:1fr;gap:0;border-top:1px solid var(--rule)}
.conviction-grid > *{padding:var(--space-lg) var(--space-md);border-bottom:1px solid var(--rule)}
.conviction-grid > *:last-child{border-bottom:0}
.conviction-grid h3{font-family:var(--font-display);font-size:var(--fs-h3);font-weight:500;letter-spacing:-0.015em;margin:0 0 var(--space-sm) 0;line-height:1.2;max-width:18ch}
.conviction-grid p{margin:0;color:var(--ink-2);font-size:var(--fs-body);line-height:1.55}
.conviction-grid .conv-num{font-family:var(--font-mono);font-size:var(--fs-mono);letter-spacing:0.14em;color:var(--ink-3);text-transform:uppercase;margin-bottom:var(--space-md)}
@media(min-width:768px){
  .conviction-grid{grid-template-columns:1fr 1fr}
  .conviction-grid > *{border-right:1px solid var(--rule);min-height:280px}
  .conviction-grid > *:nth-child(2n){border-right:0}
  .conviction-grid > *:nth-last-child(-n+2):not(:last-child){border-bottom:0}
  .conviction-grid > *:last-child{border-bottom:0}
}
@media(min-width:1024px){
  .conviction-grid{grid-template-columns:repeat(3,1fr)}
  .conviction-grid > *{padding:44px 36px;min-height:320px;border-bottom:0;border-right:1px solid var(--rule)}
  .conviction-grid > *:nth-child(2n){border-right:1px solid var(--rule)}
  .conviction-grid > *:last-child{border-right:0}
  .conviction-grid h3{font-size:26px;margin:0 0 18px 0}
  .conviction-grid .conv-num{margin-bottom:40px}
}

/* Method table (4-col phase rows) */
.method-table{background:var(--bg);border:1px solid var(--rule)}
.method-row{display:grid;grid-template-columns:1fr;gap:var(--space-sm);padding:var(--space-lg) var(--space-md);border-bottom:1px solid var(--rule);align-items:start}
.method-row:last-child{border-bottom:0}
.method-row .mr-num{font-family:var(--font-mono);color:var(--ink-3);text-transform:uppercase;letter-spacing:0.14em}
.method-row .mr-num .mr-phase{font-size:var(--fs-mono)}
.method-row .mr-num .mr-when{font-size:var(--fs-mono-sm);color:var(--ink-4);margin-top:6px;display:block}
.method-row .mr-title{font-family:var(--font-display);font-size:var(--fs-h3);font-weight:500;letter-spacing:-0.015em;margin:0;line-height:1.2}
.method-row .mr-desc{margin:0;color:var(--ink-2);font-size:var(--fs-sm);line-height:1.55;max-width:52ch}
.method-row .mr-tags{display:flex;flex-wrap:wrap;gap:6px}
.method-row .mr-tag{font-family:var(--font-mono);font-size:var(--fs-mono-sm);padding:4px 10px;border:1px solid var(--rule);color:var(--ink-3);text-transform:uppercase;letter-spacing:0.1em}
@media(min-width:768px){
  .method-row{grid-template-columns:120px 1fr;gap:var(--space-md) var(--space-lg)}
  .method-row .mr-title{grid-column:2}
  .method-row .mr-desc{grid-column:2}
  .method-row .mr-tags{grid-column:2}
}
@media(min-width:1024px){
  .method-row{grid-template-columns:140px 1fr 1.2fr 160px;gap:32px;padding:36px}
  .method-row .mr-title{grid-column:auto;font-size:26px}
  .method-row .mr-desc{grid-column:auto}
  .method-row .mr-tags{grid-column:auto;flex-direction:column;flex-wrap:nowrap}
  .method-row .mr-tag{text-align:center}
}

/* Formats grid (3-col cards) */
.formats-grid{display:grid;grid-template-columns:1fr;gap:0;border:1px solid var(--rule)}
.format-card{padding:var(--space-lg) var(--space-md);border-bottom:1px solid var(--rule);position:relative;display:flex;flex-direction:column;background:var(--bg)}
.format-card:last-child{border-bottom:0}
.format-card .fc-num{font-family:var(--font-mono);color:var(--ink-3);text-transform:uppercase;letter-spacing:0.14em;font-size:var(--fs-mono);margin-bottom:var(--space-md)}
.format-card .fc-title{font-family:var(--font-display);font-size:var(--fs-h3-lg);font-weight:500;letter-spacing:-0.02em;margin:0 0 var(--space-xs) 0;line-height:1.15}
.format-card .fc-desc{margin:0 0 var(--space-md) 0;color:var(--ink-2);font-size:var(--fs-sm);line-height:1.55}
.format-card .fc-meta{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-md);padding:var(--space-sm) 0;border-top:1px solid var(--rule);margin-top:auto}
.format-card .fc-meta .fcm-l{font-family:var(--font-mono);font-size:var(--fs-mono-sm);color:var(--ink-3);text-transform:uppercase;letter-spacing:0.1em;margin-bottom:6px}
.format-card .fc-meta .fcm-v{font-family:var(--font-mono);font-size:var(--fs-xs)}
.format-card .fc-foot{margin-top:var(--space-sm);font-family:var(--font-mono);font-size:var(--fs-mono-sm);color:var(--ink-3);text-transform:uppercase;letter-spacing:0.1em}
.format-card .fc-badge{position:absolute;top:var(--space-sm);right:var(--space-md);font-family:var(--font-mono);font-size:var(--fs-mono-sm);color:var(--ink-3);text-transform:uppercase;letter-spacing:0.14em}
.format-card.is-featured{background:var(--ink);color:var(--bg)}
.format-card.is-featured .fc-num,.format-card.is-featured .fc-foot,.format-card.is-featured .fc-badge,.format-card.is-featured .fc-meta .fcm-l{color:rgba(242,239,232,0.6)}
.format-card.is-featured .fc-desc{color:rgba(242,239,232,0.75)}
.format-card.is-featured .fc-meta{border-top-color:rgba(242,239,232,0.18)}
@media(min-width:768px){
  .formats-grid{grid-template-columns:repeat(3,1fr)}
  .format-card{padding:44px 36px;border-bottom:0;border-right:1px solid var(--rule);min-height:380px}
  .format-card:last-child{border-right:0}
  .format-card .fc-title{font-size:28px}
}

/* Next practices (3-col mini cards) */
.next-practices{display:grid;grid-template-columns:1fr;gap:0;border:1px solid var(--rule);background:var(--bg)}
.next-practices > *{padding:var(--space-lg) var(--space-md);border-bottom:1px solid var(--rule);min-height:auto}
.next-practices > *:last-child{border-bottom:0}
.next-practices h3{font-family:var(--font-display);font-size:var(--fs-h3-lg);font-weight:500;letter-spacing:-0.02em;margin:var(--space-md) 0 0 0;line-height:1.1}
@media(min-width:768px){
  .next-practices{grid-template-columns:repeat(3,1fr)}
  .next-practices > *{border-bottom:0;border-right:1px solid var(--rule);min-height:240px}
  .next-practices > *:last-child{border-right:0}
  .next-practices h3{font-size:32px}
}
@media(min-width:1024px){
  .next-practices > *{min-height:280px;padding:44px 36px}
}

/* Next-practices header row */
.np-header{display:grid;grid-template-columns:1fr;gap:var(--space-sm);align-items:end;margin-bottom:var(--space-xl)}
.np-header .np-h-right{text-align:left}
@media(min-width:768px){
  .np-header{grid-template-columns:1fr 1fr;gap:var(--space-md)}
  .np-header .np-h-right{text-align:right}
}

/* Quote block — adapt blockquote padding */
.quote-block blockquote{padding-left:var(--space-2xl)}
.quote-block .qb-attr{padding-left:var(--space-2xl)}
@media(min-width:768px){
  .quote-block blockquote,.quote-block .qb-attr{padding-left:60px}
}

/* Buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:12px;padding:14px 22px;min-height:var(--touch-min);border:1px solid var(--ink);background:var(--ink);color:var(--bg);font-size:var(--fs-sm);touch-action:manipulation;transition:background 250ms,color 250ms,transform 250ms}
.btn .arrow,.btn-ghost .arrow{transition:transform 300ms}
.btn-ghost{display:inline-flex;align-items:center;gap:10px;padding:14px 0;min-height:var(--touch-min);font-size:var(--fs-sm);border-bottom:1px solid var(--ink-4);touch-action:manipulation;transition:border-color 250ms}
.btn:active{transform:scale(0.98)}
@media(hover:hover){
  .btn:hover{background:transparent;color:var(--ink)}
  .btn:hover .arrow,.btn-ghost:hover .arrow{transform:translateX(4px)}
  .btn-ghost:hover{border-color:var(--ink)}
}

/* Links */
.link-underline{position:relative;display:inline-block;padding-bottom:2px}
.link-underline::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:currentColor;transform:scaleX(0.2);transform-origin:0 50%;transition:transform 400ms var(--ease-out)}
@media(hover:hover){.link-underline:hover::after{transform:scaleX(1)}}

/* Cursor */
.cursor-dot,.cursor-ring{position:fixed;top:0;left:0;pointer-events:none;z-index:9998;border-radius:999px}
.cursor-dot{width:6px;height:6px;background:var(--ink);transform:translate(-50%,-50%);transition:width 200ms,height 200ms;opacity:0.9}
.cursor-ring{width:30px;height:30px;border:1px solid var(--ink);transform:translate(-50%,-50%);transition:width 240ms,height 240ms,opacity 240ms;opacity:0.5}
body.cursor-hover .cursor-dot{width:10px;height:10px}
body.cursor-hover .cursor-ring{width:64px;height:64px;opacity:0.4}
@media(pointer:coarse){.cursor-dot,.cursor-ring{display:none}}

/* Nav */
.nav-scrolled{background:rgba(247,246,243,0.94);background:color-mix(in srgb,var(--bg) 94%,transparent);backdrop-filter:blur(14px) saturate(140%);-webkit-backdrop-filter:blur(14px) saturate(140%);border-bottom:1px solid var(--rule)}
.theme-night .nav-scrolled{background:rgba(12,12,15,0.94);background:color-mix(in srgb,var(--bg) 94%,transparent)}
.theme-paper .nav-scrolled{background:rgba(241,236,226,0.94);background:color-mix(in srgb,var(--bg) 94%,transparent)}

/* Burger button (hidden on desktop) */
.burger{display:inline-flex;align-items:center;justify-content:center;width:var(--touch-min);height:var(--touch-min);margin:-8px;border:0;background:transparent;color:var(--ink);cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent}
.burger span{display:block;position:relative;width:22px;height:1px;background:currentColor;transition:transform 300ms var(--ease-out),opacity 200ms}
.burger span::before,.burger span::after{content:"";position:absolute;left:0;width:22px;height:1px;background:currentColor;transition:transform 300ms var(--ease-out),top 300ms var(--ease-out)}
.burger span::before{top:-7px}
.burger span::after{top:7px}
.burger[aria-expanded="true"] span{background:transparent}
.burger[aria-expanded="true"] span::before{top:0;transform:rotate(45deg)}
.burger[aria-expanded="true"] span::after{top:0;transform:rotate(-45deg)}
@media(min-width:1024px){.burger{display:none}}

/* Mobile nav overlay */
.mobile-nav{position:fixed;inset:0;z-index:var(--z-overlay);background:var(--bg);padding:calc(var(--header-h) + var(--space-lg)) var(--container-px) var(--space-2xl);display:flex;flex-direction:column;gap:var(--space-md);transform:translateY(-100%);visibility:hidden;transition:transform 400ms var(--ease-out),visibility 0s linear 400ms;overflow-y:auto;-webkit-overflow-scrolling:touch}
.mobile-nav.is-open{transform:translateY(0);visibility:visible;transition:transform 500ms var(--ease-out),visibility 0s}
.mobile-nav a{display:flex;align-items:center;justify-content:space-between;padding:var(--space-sm) 0;min-height:var(--touch-min);font-family:var(--font-display);font-size:var(--fs-h3-lg);font-weight:500;letter-spacing:-0.02em;color:var(--ink);border-bottom:1px solid var(--rule);text-decoration:none}
.mobile-nav a::after{content:"→";font-family:var(--font-mono);font-size:var(--fs-sm);color:var(--ink-3)}
.mobile-nav .mn-meta{margin-top:auto;padding-top:var(--space-lg);font-family:var(--font-mono);font-size:var(--fs-mono);color:var(--ink-3);text-transform:uppercase;letter-spacing:0.14em}
body.nav-open{overflow:hidden}
@media(min-width:1024px){.mobile-nav{display:none}}

/* Nav dropdown (desktop hover) */
.nav-item{position:relative;display:flex;align-items:center}
@media(min-width:1024px){
  .nav-item.has-dropdown > .nav-item-trigger{display:inline-flex;align-items:center;gap:5px}
  .nav-item.has-dropdown .dd-caret{display:inline-block;font-size:9px;line-height:1;transform:translateY(1px);transition:transform 240ms var(--ease-out)}
  .nav-item.has-dropdown:hover .dd-caret,
  .nav-item.has-dropdown:focus-within .dd-caret{transform:rotate(180deg) translateY(-1px)}
  .nav-item.has-dropdown::after{content:"";position:absolute;top:100%;left:-20px;right:-20px;height:14px;pointer-events:none}
  .nav-item.has-dropdown:hover::after,
  .nav-item.has-dropdown:focus-within::after{pointer-events:auto}
  .nav-dropdown{position:absolute;top:calc(100% + 14px);left:50%;transform:translateX(-50%) translateY(-6px);min-width:280px;background:var(--bg);border:1px solid var(--rule);padding:8px 0;box-shadow:0 20px 48px -24px rgba(0,0,0,0.22),0 2px 6px -2px rgba(0,0,0,0.06);opacity:0;visibility:hidden;pointer-events:none;transition:opacity 220ms var(--ease-out),transform 220ms var(--ease-out),visibility 0s linear 220ms;z-index:calc(var(--z-header) + 1)}
  .nav-item.has-dropdown:hover .nav-dropdown,
  .nav-item.has-dropdown:focus-within .nav-dropdown{opacity:1;visibility:visible;pointer-events:auto;transform:translateX(-50%) translateY(0);transition:opacity 220ms var(--ease-out),transform 220ms var(--ease-out),visibility 0s}
  .nav-dropdown .dd-item{display:flex;align-items:baseline;gap:14px;padding:12px 22px;font-size:14px;color:var(--ink-2);text-decoration:none;transition:background 160ms,color 160ms}
  .nav-dropdown .dd-item .dd-num{font-family:var(--font-mono);font-size:10px;letter-spacing:0.14em;color:var(--ink-4);min-width:28px;text-transform:uppercase}
  .nav-dropdown .dd-item .dd-label{font-family:var(--font-display);font-weight:500;letter-spacing:-0.01em}
  .nav-dropdown .dd-item:hover{background:color-mix(in srgb, var(--ink) 4%, transparent);color:var(--ink)}
  .nav-dropdown .dd-item:hover .dd-num{color:var(--ink-3)}
  .nav-dropdown .dd-all{display:block;padding:12px 22px;margin-top:6px;border-top:1px solid var(--rule);font-family:var(--font-mono);font-size:10px;letter-spacing:0.14em;text-transform:uppercase;color:var(--ink-3);text-decoration:none;transition:color 160ms}
  .nav-dropdown .dd-all:hover{color:var(--ink)}
}

/* Mobile nav — expandable section (Services) */
.mn-expand{border-bottom:1px solid var(--rule)}
.mn-expand-head{display:flex;align-items:center;justify-content:space-between;width:100%;padding:var(--space-sm) 0;min-height:var(--touch-min);border:0;background:transparent;color:var(--ink);font-family:var(--font-display);font-size:var(--fs-h3-lg);font-weight:500;letter-spacing:-0.02em;cursor:pointer;-webkit-tap-highlight-color:transparent;text-align:left}
.mn-expand-head .mn-expand-icon{font-family:var(--font-mono);font-size:26px;font-weight:300;color:var(--ink-3);transition:transform 280ms var(--ease-out),color 200ms;line-height:1}
.mn-expand[data-open="true"] .mn-expand-head .mn-expand-icon{transform:rotate(45deg);color:var(--ink)}
.mn-expand-body{max-height:0;overflow:hidden;transition:max-height 400ms var(--ease-out)}
.mn-expand[data-open="true"] .mn-expand-body{max-height:600px}
.mobile-nav .mn-expand-body a.mn-sub{padding:14px 0 14px var(--space-md);min-height:48px;font-family:var(--font-display);font-size:clamp(18px,4.4vw,22px);font-weight:400;color:var(--ink-2);border-bottom:1px dashed var(--rule);display:flex;align-items:center;gap:14px;justify-content:flex-start}
.mobile-nav .mn-expand-body a.mn-sub::after{content:"→";font-family:var(--font-mono);font-size:13px;color:var(--ink-4);margin-left:auto}
.mobile-nav .mn-expand-body a.mn-sub .mn-sub-num{font-family:var(--font-mono);font-size:11px;letter-spacing:0.14em;color:var(--ink-4);min-width:32px}
.mobile-nav .mn-expand-body a.mn-sub:last-child{border-bottom:0}
.mobile-nav .mn-expand-body a.mn-sub.mn-sub-all{font-size:clamp(13px,3.2vw,15px);color:var(--ink-3);font-family:var(--font-mono);letter-spacing:0.1em;text-transform:uppercase;padding-top:18px;padding-bottom:6px;margin-top:4px;border-top:1px dashed var(--rule);border-bottom:0}

/* Pillar top-border */
.pillar{position:relative}
.pillar::before{content:"";position:absolute;left:0;top:0;width:100%;height:1px;background:var(--ink);transform-origin:0 50%;transform:scaleX(0.25);transition:transform 700ms var(--ease-out)}
@media(hover:hover){.pillar:hover::before{transform:scaleX(1)}}

/* Marquee */
.marquee{display:flex;width:100%;overflow:hidden;gap:60px}
.marquee-track{display:flex;gap:60px;animation:marquee 60s linear infinite;flex-shrink:0;white-space:nowrap}
@keyframes marquee{from{transform:translateX(0)}to{transform:translateX(-100%)}}

/* Placeholder image */
.ph-image{position:relative;width:100%;padding-top:62.5%;background:repeating-linear-gradient(135deg,var(--bg-2) 0 14px,var(--bg-3) 14px 28px);border:1px solid var(--rule);overflow:hidden}
.ph-image .ph-label{position:absolute;left:14px;bottom:12px;font-family:var(--font-mono);font-size:10px;color:var(--ink-3);background:var(--bg);padding:2px 8px;letter-spacing:0.08em;text-transform:uppercase}

/* Article card zoom */
.zoomable{transition:transform 700ms var(--ease-out)}
@media(hover:hover){.article-card:hover .zoomable{transform:scale(1.04)}}

/* FAQ / Accordion */
.acc-item{border-bottom:1px solid var(--rule)}
.acc-head{display:flex;justify-content:space-between;align-items:center;gap:var(--space-sm);padding:var(--space-md) 0;min-height:var(--touch-min);cursor:none;width:100%;text-align:left;touch-action:manipulation;transition:color 200ms}
@media(pointer:coarse){.acc-head{cursor:pointer}}
.acc-head .num{font-family:var(--font-mono);font-size:var(--fs-mono);letter-spacing:0.14em;color:var(--ink-3);margin-right:var(--space-md);min-width:32px}
.acc-head .lbl{font-family:var(--font-display);font-size:var(--fs-h3);font-weight:500;letter-spacing:-0.01em;flex:1;line-height:1.2}
.acc-head .plus{font-family:var(--font-mono);font-size:18px;color:var(--ink-3);transition:transform 300ms;flex-shrink:0}
.acc-item.open .acc-head .plus{transform:rotate(45deg)}
.acc-body{max-height:0;overflow:hidden;transition:max-height 400ms var(--ease-out)}
.acc-item.open .acc-body{max-height:600px}
.acc-body-inner{padding:0 0 var(--space-md) clamp(0px, 6vw, 68px);color:var(--ink-2);line-height:1.6;max-width:60ch;font-size:var(--fs-body)}

/* Page entry — opacity only (translate would create a containing block for position:fixed children) */
.page-fade{animation:pageIn 500ms cubic-bezier(.2,.7,.15,1) both}
@keyframes pageIn{from{opacity:0}to{opacity:1}}

/* Services-specific — mobile-first */
.practice-card{position:relative;padding:var(--space-lg) var(--space-md);border-bottom:1px solid var(--rule);display:flex;flex-direction:column;justify-content:space-between;gap:var(--space-lg);transition:background 350ms}
.practice-card::before{content:"";position:absolute;left:0;top:0;height:1px;width:100%;background:var(--ink);transform-origin:0 50%;transform:scaleX(0.2);transition:transform 700ms var(--ease-out)}
.practice-card .num{font-family:var(--font-mono);font-size:var(--fs-mono);letter-spacing:0.18em;color:var(--ink-3);text-transform:uppercase}
.practice-card h3{font-family:var(--font-display);font-size:var(--fs-h3-xl);font-weight:500;letter-spacing:-0.02em;margin:var(--space-md) 0 var(--space-sm) 0;line-height:1.05}
.practice-card p{margin:0;color:var(--ink-2);font-size:var(--fs-body);line-height:1.55}
.practice-card .foot{display:flex;align-items:center;justify-content:space-between;gap:var(--space-sm);margin-top:var(--space-lg);padding-top:var(--space-sm);border-top:1px solid var(--rule);font-family:var(--font-mono);font-size:var(--fs-mono);text-transform:uppercase;letter-spacing:0.14em;color:var(--ink-3)}
@media(hover:hover){.practice-card:hover{background:var(--bg-2)} .practice-card:hover::before{transform:scaleX(1)}}
@media(min-width:768px){
  .practice-card{padding:44px 36px;border-bottom:0;border-right:1px solid var(--rule);min-height:520px}
  .practice-card:last-child{border-right:0}
}

.side-nav{position:static;align-self:start}
.side-nav a{display:block;padding:var(--space-2xs) 0 var(--space-2xs) 14px;min-height:var(--touch-min);font-family:var(--font-mono);font-size:var(--fs-mono);text-transform:uppercase;letter-spacing:0.14em;color:var(--ink-3);border-left:1px solid var(--rule);transition:color 200ms,border-color 200ms}
.side-nav a.active{color:var(--ink);border-left-color:var(--ink)}
@media(hover:hover){.side-nav a:hover{color:var(--ink-2)}}
@media(min-width:1024px){.side-nav{position:sticky;top:120px}}

.deliv{border-top:1px solid var(--rule);padding:var(--space-md) 0;display:grid;grid-template-columns:1fr;gap:var(--space-2xs);align-items:start;transition:background 200ms}
.deliv:last-child{border-bottom:1px solid var(--rule)}
.deliv .dn{font-family:var(--font-mono);font-size:var(--fs-mono);letter-spacing:0.14em;color:var(--ink-3);padding-top:0}
.deliv .dt{font-family:var(--font-display);font-size:var(--fs-h4);font-weight:500;letter-spacing:-0.01em;margin:0 0 var(--space-2xs) 0;line-height:1.2}
.deliv .dd{margin:0;color:var(--ink-2);font-size:var(--fs-sm);line-height:1.5;max-width:56ch}
.deliv .dm{font-family:var(--font-mono);font-size:var(--fs-mono);letter-spacing:0.14em;color:var(--ink-3);text-transform:uppercase;white-space:nowrap;margin-top:var(--space-2xs)}
@media(min-width:768px){
  .deliv{grid-template-columns:60px 1fr auto;gap:24px}
  .deliv .dn{padding-top:6px}
  .deliv .dm{margin-top:0}
}

.case-track{display:flex;gap:var(--space-sm);overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:var(--space-sm);padding-inline:var(--container-px);margin-inline:calc(var(--container-px) * -1);scrollbar-width:none;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain}
.case-track::-webkit-scrollbar{display:none}
.case-card{flex:0 0 min(480px,86vw);scroll-snap-align:start;border:1px solid var(--rule);padding:var(--space-lg);background:var(--bg);transition:background 250ms}
.case-card .meta{font-family:var(--font-mono);font-size:var(--fs-mono);letter-spacing:0.14em;color:var(--ink-3);text-transform:uppercase;margin-bottom:var(--space-md);display:flex;justify-content:space-between;gap:var(--space-sm)}
.case-card h4{font-family:var(--font-display);font-size:var(--fs-h3);font-weight:500;letter-spacing:-0.01em;margin:0 0 var(--space-xs) 0;line-height:1.15;text-wrap:balance}
.case-card p{margin:0 0 var(--space-md) 0;color:var(--ink-2);font-size:var(--fs-sm);line-height:1.55}
.case-card .kpi{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-xs);border-top:1px solid var(--rule);padding-top:var(--space-sm)}
.case-card .kpi-n{font-family:var(--font-display);font-size:clamp(22px, 3vw, 28px);font-weight:400;letter-spacing:-0.02em;line-height:1}
.case-card .kpi-l{font-family:var(--font-mono);font-size:var(--fs-micro);letter-spacing:0.14em;color:var(--ink-3);text-transform:uppercase;margin-top:6px}
@media(hover:hover){.case-card:hover{background:var(--bg-2)}}

.method-rail{position:relative;display:grid;grid-template-columns:1fr;gap:0;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule)}
.method-step{padding:var(--space-lg) var(--space-md);border-bottom:1px solid var(--rule);position:relative}
.method-step:last-child{border-bottom:0}
.method-step .ms-num{font-family:var(--font-mono);font-size:var(--fs-mono);letter-spacing:0.14em;color:var(--ink-3);text-transform:uppercase;margin-bottom:var(--space-md)}
.method-step h4{font-family:var(--font-display);font-size:var(--fs-h4);font-weight:500;letter-spacing:-0.01em;margin:0 0 var(--space-2xs) 0;line-height:1.25}
.method-step p{margin:0;color:var(--ink-2);font-size:var(--fs-sm);line-height:1.55}
.method-step .ms-dur{display:block;margin-top:var(--space-sm);font-family:var(--font-mono);font-size:var(--fs-mono);letter-spacing:0.14em;color:var(--ink-3);text-transform:uppercase}
@media(min-width:768px){
  .method-rail{grid-template-columns:repeat(2,1fr)}
  .method-step{border-right:1px solid var(--rule)}
  .method-step:nth-child(2n){border-right:0}
  .method-step:nth-last-child(-n+2){border-bottom:0}
}
@media(min-width:1024px){
  .method-rail{grid-template-columns:repeat(4,1fr)}
  .method-step{border-right:1px solid var(--rule);border-bottom:0;padding:44px 32px 40px}
  .method-step:nth-child(2n){border-right:1px solid var(--rule)}
  .method-step:last-child{border-right:0}
}

/* Strategie page specifics */
.sub-nav{position:sticky;top:0;z-index:20;background:rgba(247,246,243,0.96);background:color-mix(in srgb,var(--bg) 96%,transparent);backdrop-filter:blur(14px) saturate(140%);-webkit-backdrop-filter:blur(14px) saturate(140%);border-top:1px solid var(--rule);border-bottom:1px solid var(--rule)}
.theme-night .sub-nav{background:rgba(12,12,15,0.96);background:color-mix(in srgb,var(--bg) 96%,transparent)}
.theme-paper .sub-nav{background:rgba(241,236,226,0.96);background:color-mix(in srgb,var(--bg) 96%,transparent)}
.sub-nav-inner{display:flex;justify-content:space-between;align-items:center;height:52px;gap:var(--space-md);overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.sub-nav-inner::-webkit-scrollbar{display:none}
.sub-nav-links{display:flex;gap:var(--space-md)}
.sub-nav-links a{display:inline-flex;align-items:center;gap:6px;font-family:var(--font-mono);font-size:var(--fs-mono-sm);letter-spacing:0.16em;text-transform:uppercase;color:var(--ink-3);padding:6px 0;border-bottom:1px solid transparent;transition:color 200ms,border-color 200ms;white-space:nowrap}
.sub-nav-links a.active{color:var(--ink);border-bottom-color:var(--ink)}
@media(hover:hover){.sub-nav-links a:hover{color:var(--ink-2)}}

/* Mobile/Tablet: sub-nav becomes bottom-fixed bar with numbers only */
@media(max-width:1023px){
  /* Static header becomes fixed so burger stays accessible */
  .site-header.is-static{
    position:fixed;top:0;left:0;right:0;
    background:color-mix(in srgb, var(--bg) 94%, transparent);
    backdrop-filter:blur(14px) saturate(140%);
    -webkit-backdrop-filter:blur(14px) saturate(140%);
    border-bottom:1px solid var(--rule);
  }
  /* Sub-nav transforms into bottom dock */
  .sub-nav{
    position:fixed;top:auto;bottom:0;left:0;right:0;
    border-top:1px solid var(--rule);border-bottom:0;
    z-index:var(--z-header);
    padding-bottom:env(safe-area-inset-bottom);
  }
  .sub-nav .container{padding:0;max-width:none}
  .sub-nav .sub-nav-breadcrumb{display:none!important}
  .sub-nav-inner{height:56px;justify-content:stretch;gap:0;padding-inline:var(--space-2xs)}
  .sub-nav-links{display:flex;flex:1;gap:0;justify-content:space-around;width:100%}
  .sub-nav-links a{
    flex:1;min-width:44px;min-height:var(--touch-min);
    display:flex;flex-direction:column;align-items:center;justify-content:center;
    padding:6px 2px;gap:0;
    font-size:var(--fs-mono-sm);letter-spacing:0.1em;
    border-bottom:0;border-top:2px solid transparent;
    text-align:center;line-height:1;
    -webkit-tap-highlight-color:transparent;
  }
  .sub-nav-links a.active{border-top-color:var(--ink);border-bottom-color:transparent;color:var(--ink)}
  .sub-nav-links a .sn-label{display:none}
  /* Reserve space at bottom of viewport so content not hidden under dock */
  body{padding-bottom:calc(56px + env(safe-area-inset-bottom))}
  /* Hide bottom dock when mobile-nav overlay is open (overlay covers it anyway) */
  body.nav-open .sub-nav{display:none}
}

.quote-block{position:relative;padding:var(--space-2xl) 0 var(--space-2xl) clamp(0px, 4vw, 0px);border-top:1px solid var(--rule);border-bottom:1px solid var(--rule)}
.quote-block::before{content:"\201C";position:absolute;left:0;top:var(--space-sm);font-family:var(--font-display);font-size:clamp(48px, 8vw, 80px);line-height:1;color:var(--ink-5)}

.two-col{display:grid;grid-template-columns:1fr;gap:1px;background:var(--rule);border:1px solid var(--rule)}
.two-col > div{background:var(--bg);padding:var(--space-lg) var(--space-md)}
.two-col h3{font-family:var(--font-display);font-size:var(--fs-h3);font-weight:500;letter-spacing:-0.01em;margin:0 0 var(--space-2xs) 0}
.two-col .hdr{display:flex;align-items:center;gap:10px;margin-bottom:var(--space-md)}
.two-col .hdr .dot{width:8px;height:8px;border-radius:999px;flex-shrink:0}
.two-col ul{list-style:none;padding:0;margin:0}
.two-col ul li{padding:var(--space-xs) 0;border-top:1px solid var(--rule);font-size:var(--fs-body);line-height:1.5;color:var(--ink-2);display:grid;grid-template-columns:20px 1fr;gap:12px;align-items:start}
.two-col ul li:last-child{border-bottom:1px solid var(--rule)}
.two-col ul li .mark{font-family:var(--font-mono);font-size:var(--fs-xs);color:var(--ink-3);padding-top:2px}
@media(min-width:768px){
  .two-col{grid-template-columns:1fr 1fr;gap:2px}
  .two-col > div{padding:44px 36px;min-height:320px}
}

.kpi-big{display:grid;grid-template-columns:1fr;gap:0;border-top:1px solid var(--ink);border-bottom:1px solid var(--rule)}
.kpi-big > div{padding:var(--space-xl) var(--space-md);border-bottom:1px solid var(--rule);position:relative}
.kpi-big > div:last-child{border-bottom:0}
.kpi-big .kn{font-family:var(--font-display);font-size:clamp(40px,6.5vw,92px);font-weight:400;letter-spacing:-0.03em;line-height:0.9;margin:0}
.kpi-big .kl{font-family:var(--font-mono);font-size:var(--fs-mono);letter-spacing:0.14em;color:var(--ink-3);text-transform:uppercase;margin-top:var(--space-xs)}
.kpi-big .kd{margin-top:var(--space-sm);color:var(--ink-2);font-size:var(--fs-sm);line-height:1.55;max-width:32ch}
@media(min-width:768px){
  .kpi-big{grid-template-columns:repeat(3,1fr)}
  .kpi-big > div{padding:60px 40px;border-bottom:0;border-right:1px solid var(--rule)}
  .kpi-big > div:last-child{border-right:0}
}

.case-detail{border-top:1px solid var(--rule);padding:var(--space-xl) 0;display:grid;grid-template-columns:1fr;gap:var(--space-md);align-items:start}
.case-detail:last-child{border-bottom:1px solid var(--rule)}
.case-detail .cd-meta{font-family:var(--font-mono);font-size:var(--fs-mono);letter-spacing:0.14em;color:var(--ink-3);text-transform:uppercase}
.case-detail .cd-meta > div{margin-bottom:6px;display:inline-block;margin-right:var(--space-sm)}
.case-detail h3{font-family:var(--font-display);font-size:var(--fs-h3-xl);font-weight:500;letter-spacing:-0.02em;margin:0 0 var(--space-sm) 0;line-height:1.1;text-wrap:balance}
.case-detail .cd-ctx{color:var(--ink-2);font-size:var(--fs-body);line-height:1.55;margin:0 0 var(--space-sm) 0;max-width:52ch}
.case-detail .cd-kpis{display:grid;grid-template-columns:1fr 1fr;gap:2px;background:var(--rule)}
.case-detail .cd-kpis > div{background:var(--bg);padding:var(--space-sm) var(--space-md)}
.case-detail .cd-kpis .n{font-family:var(--font-display);font-size:clamp(24px, 3.4vw, 32px);font-weight:400;letter-spacing:-0.02em;line-height:1}
.case-detail .cd-kpis .l{font-family:var(--font-mono);font-size:var(--fs-mono-sm);letter-spacing:0.14em;color:var(--ink-3);text-transform:uppercase;margin-top:var(--space-2xs)}
@media(min-width:768px){
  .case-detail{grid-template-columns:160px 1fr 1fr;gap:48px;padding:60px 0}
  .case-detail .cd-meta > div{display:block;margin-right:0}
}

.scroll-cue{display:none}
@media(min-width:1024px){
  .scroll-cue{position:absolute;right:32px;bottom:40px;font-family:var(--font-mono);font-size:10px;letter-spacing:0.14em;color:var(--ink-3);text-transform:uppercase;display:flex;align-items:center;gap:12px;writing-mode:vertical-rl;transform:rotate(180deg)}
  .scroll-cue::before{content:"";display:block;width:1px;height:40px;background:var(--ink-3);animation:scrollCue 2s ease-in-out infinite}
}
@keyframes scrollCue{0%,100%{transform:scaleY(1);transform-origin:top}50%{transform:scaleY(0.3);transform-origin:top}}

/* Hero keyframes */
@keyframes ringsRotate{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}
@keyframes ruleSlide{0%,100%{transform:translateX(0)}50%{transform:translateX(calc(100vw - 260px))}}
@keyframes scrollHint{0%,100%{transform:translateX(0)}50%{transform:translateX(28px)}}
@keyframes pulseDot{0%,100%{transform:scale(1)}50%{transform:scale(1.25)}}

/* ═══════════════════════════════════════════════════════════
   RESPONSIVE — MOBILE FIRST
   Defaults below = mobile (320px+).
   Overrides override inline styles via !important (the inline
   styles in index.html define the *desktop* layout).
   Progressive enhancement via min-width queries.
   ═══════════════════════════════════════════════════════════ */

/* ── Base: mobile (320px+) ───────────────────────────── */
.hero-nav{display:none!important}
.hero-meta-grid{grid-template-columns:1fr 1fr!important;gap:var(--space-sm)!important;margin-bottom:var(--space-2xl)!important}
.hero-meta-grid > *:nth-child(3),
.hero-meta-grid > *:nth-child(4){text-align:left!important}
.hero-content-grid{grid-template-columns:1fr!important;gap:var(--space-lg)!important;align-items:start!important}
.hero-content-grid p{font-size:var(--fs-body-lg)!important}
.hero-content-grid > div:last-child{justify-content:flex-start!important}
.hero-bottom-rail{flex-direction:column;align-items:flex-start!important;gap:var(--space-xs)!important}
.hero-bottom-rail > *:nth-child(2){display:none}

.pillars-grid{grid-template-columns:1fr!important;margin-top:var(--space-2xl)!important}
.pillars-grid .pillar{padding:var(--space-lg) var(--space-md)!important;min-height:auto!important;border-right:0!important;border-bottom:1px solid var(--rule)!important;gap:var(--space-md)}
.pillars-grid .pillar:last-child{border-bottom:0!important}
.pillars-grid .pillar h3{font-size:var(--fs-h3-xl)!important;margin:var(--space-sm) 0 var(--space-xs) 0!important}
.pillars-grid .pillar > div:first-child > div:first-child{margin-bottom:var(--space-md)!important}
.pillars-grid .pillar > div:last-child{margin-top:var(--space-md)!important}

.stats-grid{grid-template-columns:1fr 1fr!important;margin-top:var(--space-2xl)!important}
.stats-grid > *{padding:var(--space-md) var(--space-sm)!important;min-height:auto!important;border-bottom:1px solid var(--rule)}
.stats-grid > *:nth-child(2n){border-right:0!important}
.stats-grid > *:nth-last-child(-n+1){border-bottom:0}

.articles-grid{grid-template-columns:1fr!important;gap:var(--space-lg)!important}

.approach-grid{grid-template-columns:1fr!important;gap:var(--space-lg)!important;margin-top:var(--space-2xl)!important;padding-top:var(--space-lg)!important}
.approach-grid > *{padding-right:0!important}
.approach-grid h3.display{font-size:var(--fs-h3)!important}
.approach-grid > * > .display:not(h3){font-size:clamp(40px, 7vw, 56px)!important}
.approach-grid p{font-size:var(--fs-sm)!important;line-height:1.55}

.footer-grid{grid-template-columns:1fr 1fr!important;gap:var(--space-lg)!important}
.footer-grid > *:first-child{grid-column:1 / -1}
.footer-bottom{flex-direction:column;gap:var(--space-2xs)!important;align-items:flex-start!important}

.section-label{grid-template-columns:1fr!important;gap:var(--space-sm)!important}
.section-label .sl-left{margin-bottom:var(--space-xs)}

/* ── Tablet (≥ 480px) ───────────────────────────────── */
@media(min-width:480px){
  .hero-meta-grid > *:nth-child(4){text-align:right!important}
  .stats-grid > *{padding:var(--space-lg) var(--space-md)!important}
}

/* ── Tablet (≥ 768px) ───────────────────────────────── */
@media(min-width:768px){
  .hero-meta-grid{grid-template-columns:1fr 1fr 1fr 1fr!important;gap:var(--space-md)!important}
  .hero-content-grid{grid-template-columns:1.3fr 1fr!important;gap:var(--space-xl)!important;align-items:end!important}
  .hero-content-grid > div:last-child{justify-content:flex-end!important}
  .hero-content-grid p{font-size:19px!important}
  .hero-bottom-rail{flex-direction:row;align-items:center!important;gap:var(--space-md)!important}
  .hero-bottom-rail > *:nth-child(2){display:block}

  .pillars-grid{grid-template-columns:1fr 1fr!important;margin-top:96px!important}
  .pillars-grid .pillar{padding:40px 28px!important;min-height:420px!important;border-right:1px solid var(--rule)!important;border-bottom:1px solid var(--rule)!important}
  .pillars-grid .pillar:nth-child(2n){border-right:0!important}
  .pillars-grid .pillar:nth-last-child(-n+2){border-bottom:0!important}

  .stats-grid{grid-template-columns:repeat(3,1fr)!important;margin-top:96px!important}
  .stats-grid > *{padding:40px 24px!important;min-height:220px!important;border-bottom:0}
  .stats-grid > *:nth-child(2n){border-right:1px solid var(--rule)!important}
  .stats-grid > *:nth-child(3n){border-right:0!important}

  .articles-grid{grid-template-columns:1fr 1fr!important;gap:var(--space-md)!important}

  .approach-grid{grid-template-columns:repeat(3,1fr)!important;gap:40px!important;margin-top:140px!important;padding-top:60px!important}
  .approach-grid > *{padding-right:20px!important}
  .approach-grid h3.display{font-size:26px!important}
  .approach-grid > * > .display:not(h3){font-size:64px!important}

  .footer-grid{grid-template-columns:repeat(4,1fr)!important;gap:var(--space-lg)!important}
  .footer-grid > *:first-child{grid-column:auto}
  .footer-bottom{flex-direction:row;gap:16px!important;align-items:center!important}

  .section-label{grid-template-columns:160px 1fr!important;gap:32px!important}
  .section-label .sl-left{margin-bottom:0}
}

/* ── Desktop (≥ 1024px) ──────────────────────────────── */
@media(min-width:1024px){
  .hero-nav{display:flex!important}

  .pillars-grid{grid-template-columns:repeat(4,1fr)!important}
  .pillars-grid .pillar{border-bottom:0!important}
  .pillars-grid .pillar:nth-child(2n){border-right:1px solid var(--rule)!important}
  .pillars-grid .pillar:last-child{border-right:0!important}

  .stats-grid{grid-template-columns:repeat(5,1fr)!important}
  .stats-grid > *{border-right:1px solid var(--rule)!important}
  .stats-grid > *:last-child{border-right:0!important}
  .stats-grid > *:nth-child(2n),
  .stats-grid > *:nth-child(3n){border-right:1px solid var(--rule)!important}
  .stats-grid > *:nth-child(5n){border-right:0!important}

  .articles-grid{grid-template-columns:repeat(3,1fr)!important;gap:32px!important}

  .footer-grid{grid-template-columns:2fr 1fr 1fr 1fr!important;gap:40px!important}
}

/* ── Mobile-only animation tame-down ──────────────────── */
@media(max-width:767px){
  /* Reduce decorative animations on mobile for perf + clarity */
  [style*="ringsRotate"]{animation-duration:160s!important;opacity:0.35!important}
  [style*="ruleSlide"]{display:none!important}
}
