/* RS for Motorsport — feuille de style principale.
   Basée sur la maquette validée le 08/09/2026 (identité "compétition"). */

:root{
  --ink:#0f1613;
  --ink-soft:#3c4a45;
  --paper:#f1f3ef;
  --surface:#e5e9e1;
  --surface-2:#d9e0d4;
  --line:#c8d1c2;
  --teal:#008190;
  --teal-strong:#006975;
  --green:#4a9a63;
  --green-bg:#68b97c;
  --lime-bg:#d1db67;
  --lime-text:#6b7013;
  --muted:#57655e;
  --white:#ffffff;
  --shadow: 0 1px 2px rgba(10,16,14,.06), 0 8px 24px -12px rgba(10,16,14,.24);
  --accent-grad: linear-gradient(90deg,var(--teal) 0%,var(--green-bg) 55%,var(--lime-bg) 100%);
  --radius-s: 6px;
  --radius-m: 10px;
  --radius-l: 16px;
  --maxw: 1180px;
  --carbon-bg:#0b1310;
  --carbon-bg-2:#0e1a15;
  --carbon-line: rgba(255,255,255,.14);
  --carbon-ink:#f3f6f1;
  --carbon-ink-soft: rgba(243,246,241,.72);
  --hero-teal:#3fc4d3;
  --hero-green:#7ecf90;
  --hero-lime:#d9e27f;
  --accent-grad-hero: linear-gradient(90deg,var(--hero-teal) 0%,var(--hero-green) 55%,var(--hero-lime) 100%);
}
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]){
    --ink:#eef2ec; --ink-soft:#c3d0c8; --paper:#0b1310; --surface:#121d18; --surface-2:#182720;
    --line:#243530; --teal:#49c3d2; --teal-strong:#6fd6e2; --green:#8ad79c; --green-bg:#5fae76;
    --lime-bg:#cdd873; --lime-text:#eef2c9; --muted:#9fb2a7; --white:#0b1310;
    --shadow: 0 1px 2px rgba(0,0,0,.3), 0 8px 28px -12px rgba(0,0,0,.55);
  }
}
:root[data-theme="dark"]{
  --ink:#eef2ec; --ink-soft:#c3d0c8; --paper:#0b1310; --surface:#121d18; --surface-2:#182720;
  --line:#243530; --teal:#49c3d2; --teal-strong:#6fd6e2; --green:#8ad79c; --green-bg:#5fae76;
  --lime-bg:#cdd873; --lime-text:#eef2c9; --muted:#9fb2a7; --white:#0b1310;
  --shadow: 0 1px 2px rgba(0,0,0,.3), 0 8px 28px -12px rgba(0,0,0,.55);
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
@media (prefers-reduced-motion: reduce){ html{scroll-behavior:auto;} }
body{
  margin:0;background:var(--paper);color:var(--ink);
  font-family:'Open Sans',system-ui,sans-serif;line-height:1.65;-webkit-font-smoothing:antialiased;
}
img{max-width:100%;height:auto;}
a{color:inherit;}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 28px;}
h1,h2,h3,.wp-block-heading{font-family:'Roboto',system-ui,sans-serif;text-wrap:balance;margin:0;color:var(--ink);}
.mono{font-family:'Roboto Mono',ui-monospace,monospace;}
p{color:var(--ink-soft);}
.entry-content p, .wrap > p{max-width:62ch;}
.eyebrow{
  font-family:'Roboto Mono',monospace;font-weight:600;font-size:.72rem;letter-spacing:.14em;
  text-transform:uppercase;color:var(--teal);display:inline-flex;align-items:center;gap:.5em;
  margin-top:70px !important;max-width:none !important;
}
.eyebrow::before{content:"";width:18px;height:2px;background:var(--accent-grad);display:inline-block;border-radius:2px;}

.btn{
  font-family:'Roboto',sans-serif;font-weight:700;font-size:.95rem;padding:.85em 1.8em;
  border:1px solid transparent;display:inline-flex;align-items:center;gap:.6em;cursor:pointer;
  text-decoration:none;transition:transform .15s ease, box-shadow .15s ease, background .15s ease;
  clip-path: polygon(12px 0, 100% 0, calc(100% - 12px) 100%, 0 100%);
}
.btn:focus-visible{outline:3px solid var(--hero-teal);outline-offset:2px;}
.btn-primary{background:var(--teal);color:#fff;box-shadow:var(--shadow);}
.btn-primary:hover{transform:translateY(-1px);background:var(--teal-strong);}
.btn-ghost{background:transparent;color:var(--ink);border-color:var(--line);}
.btn-ghost:hover{border-color:var(--teal);color:var(--teal);}
.btn-sm{padding:.55em 1.3em;font-size:.82rem;}

/* le héro (#accueil) a un fond sombre en permanence : le bouton "fantôme" doit utiliser les
   teintes claires "carbon" plutôt que les teintes par défaut (pensées pour un fond clair),
   sinon le texte/bordure devient quasi invisible tant qu'on ne survole pas le bouton. */
#accueil .btn-ghost{color:var(--carbon-ink);border-color:var(--carbon-line);}
#accueil .btn-ghost:hover{border-color:var(--hero-teal);color:var(--hero-teal);}

/* bridge: WordPress core Buttons block used for the hero CTAs */
.wp-block-button.btn-primary > .wp-block-button__link,
.wp-block-button.btn-ghost > .wp-block-button__link{
  font-family:'Roboto',sans-serif;font-weight:700;font-size:.95rem;padding:.85em 1.8em;
  border:1px solid transparent;display:inline-flex;align-items:center;gap:.6em;text-decoration:none;
  transition:transform .15s ease, background .15s ease;
  clip-path: polygon(12px 0, 100% 0, calc(100% - 12px) 100%, 0 100%);
}
.wp-block-button.btn-primary > .wp-block-button__link{background:var(--hero-teal);color:#04211f;}
.wp-block-button.btn-primary > .wp-block-button__link:hover{background:var(--hero-lime);transform:translateY(-1px);}
.wp-block-button.btn-ghost > .wp-block-button__link{background:transparent;color:var(--carbon-ink);border-color:var(--carbon-line);}
.wp-block-button.btn-ghost > .wp-block-button__link:hover{border-color:var(--hero-teal);color:var(--hero-teal);}

/* ---------- nav: fixed "control tower" look, always dark ---------- */
header.site{position:sticky;top:0;z-index:40;background:rgba(11,19,16,.94);backdrop-filter:blur(10px);border-bottom:1px solid var(--carbon-line);}
nav.wrap{display:flex;align-items:center;justify-content:space-between;padding:14px 28px;gap:1rem;}
.brand{display:flex;align-items:center;gap:.65em;}
.brand img{height:40px;width:auto;display:block;}
.navlinks{display:flex;align-items:center;gap:1.9rem;font-family:'Roboto',sans-serif;font-weight:500;font-size:.92rem;}
.navlinks a{text-decoration:none;color:var(--carbon-ink-soft);position:relative;padding:.2em 0;}
.navlinks a:hover, .navlinks a.active{color:var(--carbon-ink);}
.navlinks a.active::after{content:"";position:absolute;left:0;right:0;bottom:-6px;height:2px;background:var(--accent-grad-hero);border-radius:2px;}
.nav-newsletter-cta{display:inline-flex;align-items:center;gap:.4em;font-family:'Roboto',sans-serif;font-weight:700;font-size:.82rem;color:var(--hero-teal);border:1px solid var(--hero-teal);padding:.45em 1.1em;border-radius:999px;text-decoration:none;transition:background .15s ease,color .15s ease;}
.nav-newsletter-cta:hover{background:var(--hero-teal);color:#04211f;}
.navtoggle{display:none;background:none;border:1px solid var(--carbon-line);border-radius:8px;padding:.4em .6em;color:var(--carbon-ink);}
@media (max-width: 880px){
  .navlinks{position:fixed;inset:64px 0 auto 0;background:var(--carbon-bg);flex-direction:column;align-items:flex-start;
    padding:20px 28px 28px;border-bottom:1px solid var(--carbon-line);gap:1.1rem;transform:translateY(-8px);opacity:0;pointer-events:none;transition:.18s ease;}
  .navlinks.open{transform:translateY(0);opacity:1;pointer-events:auto;}
  .navtoggle{display:inline-flex;}
  .navlinks .nav-newsletter-cta{margin-top:.2em;}
}

/* kerb-stripe divider — literal track-kerb pattern, full-bleed regardless of its container */
.kerb{
  height:14px;width:100vw;margin:70px 0;
  margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);
  background: repeating-linear-gradient(-45deg, var(--teal) 0 18px, var(--paper) 18px 36px);
  position:relative;
}
.kerb .tag{position:absolute;left:28px;top:50%;transform:translateY(-50%);background:var(--ink);color:var(--paper);
  font-family:'Roboto Mono',monospace;font-weight:700;font-size:.64rem;letter-spacing:.1em;padding:.3em .7em;white-space:nowrap;}

/* ---------- hero ---------- */
.hero-section{padding-top:40px;padding-bottom:76px;position:relative;overflow:hidden;
  background:
    repeating-linear-gradient(135deg, rgba(255,255,255,.035) 0 2px, transparent 2px 15px),
    repeating-linear-gradient(45deg, rgba(255,255,255,.035) 0 2px, transparent 2px 15px),
    radial-gradient(ellipse 70% 55% at 78% 15%, rgba(63,196,211,.20), transparent 65%),
    var(--carbon-bg);
  color:var(--carbon-ink);
}
.startline{height:9px;margin-bottom:36px;opacity:.55;
  background-image: conic-gradient(rgba(255,255,255,.95) 90deg, transparent 90deg 180deg, rgba(255,255,255,.95) 180deg 270deg, transparent 270deg);
  background-size:18px 18px;}
.hero-section .eyebrow{color:var(--hero-teal);margin-top:0 !important;}
.hero-section .eyebrow::before{background:var(--accent-grad-hero);}
.hero-section p.lead{color:var(--carbon-ink-soft);max-width:52ch;font-size:1.08rem;}
.hero-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:56px;align-items:center;position:relative;z-index:1;}
@media (max-width:920px){.hero-grid{grid-template-columns:1fr;}}
.hero-copy h1{font-size:clamp(2.3rem,4.4vw,3.6rem);font-weight:900;line-height:1.06;margin:.5em 0 .45em;letter-spacing:-.01em;color:var(--carbon-ink);}
.hero-copy h1 .grad{background:var(--accent-grad-hero);-webkit-background-clip:text;background-clip:text;color:transparent;}
.hero-ctas{display:flex;gap:1rem;flex-wrap:wrap;margin-top:1.8rem;}

.track-outer{position:relative;max-width:440px;margin-left:auto;padding:22px;display:block;}
.track-outer::before{content:"";position:absolute;inset:0;border-radius:50%;
  background:repeating-conic-gradient(rgba(255,255,255,.4) 0deg 1.1deg, transparent 1.1deg 9deg);
  -webkit-mask:radial-gradient(farthest-side, transparent calc(100% - 15px), #000 calc(100% - 14px));
          mask:radial-gradient(farthest-side, transparent calc(100% - 15px), #000 calc(100% - 14px));}
.track-outer-link{cursor:pointer;text-decoration:none;color:inherit;transition:transform .2s ease;}
.track-outer-link:hover,.track-outer-link:focus-visible{transform:scale(1.03);}
.track-outer-link:hover .track-path,.track-outer-link:focus-visible .track-path{stroke:rgba(255,255,255,.45);}
.track-outer-link:hover .track-center .lbl,.track-outer-link:focus-visible .track-center .lbl{color:var(--hero-teal);}
.track-outer-link:focus-visible{outline:2px solid var(--hero-teal);outline-offset:4px;border-radius:50%;}
.track-wrap{position:relative;aspect-ratio:1/1;}
.track-wrap svg{width:100%;height:100%;}
.track-path{fill:none;stroke:rgba(255,255,255,.22);stroke-width:3;}
#car{r:6;fill:var(--hero-teal);filter:drop-shadow(0 0 6px rgba(63,196,211,.85));
  offset-path:path('M40,190 C40,90 130,40 220,40 C320,40 380,95 380,150 C380,205 330,230 260,230 C210,230 190,205 200,178 C212,148 260,150 275,178 C288,203 260,225 210,300 C170,362 90,380 60,320 C35,270 40,230 40,190 Z');
  animation: lap 9s linear infinite;}
@keyframes lap{ from{offset-distance:0%;} to{offset-distance:100%;} }
@media (prefers-reduced-motion: reduce){ #car{animation:none;offset-distance:12%;} }
.track-center{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:.3em;text-align:center;pointer-events:none;}
.track-center .num{font-family:'Roboto Mono',monospace;font-weight:700;font-size:2.1rem;color:var(--carbon-ink);font-variant-numeric:tabular-nums;}
.track-center .lbl{font-family:'Roboto Mono',monospace;font-size:.68rem;letter-spacing:.1em;color:var(--carbon-ink-soft);text-transform:uppercase;}

/* livery stripe shared by every card-like block */
.pillar, .offer-card, .commitments, .testi{position:relative;}
.pillar::before, .offer-card::before, .commitments::before, .testi::before{
  content:"";position:absolute;top:0;left:20px;right:20px;height:3px;background:var(--accent-grad);border-radius:0 0 2px 2px;}
.testi-empty::before{display:none;}

/* ---------- pillars (wp:columns.pillars > wp:column.pillar) ---------- */
.pillars{display:grid !important;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:2.4rem !important;}
@media (max-width:820px){.pillars{grid-template-columns:1fr;}}
.pillar{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-l);padding:32px 28px;}
.pillar-head{display:flex;align-items:center;gap:.9em;margin-bottom:1em;}
.pillar .icon{width:40px;height:40px;flex:none;}
.pillar h3{font-size:1.05rem;font-weight:700;margin:0;}
.pillar p{font-size:.94rem;margin:0;max-width:none;}

.section-head p{margin-top:.6em;}
h2.wp-block-heading{font-size:clamp(1.7rem,3vw,2.3rem);font-weight:700;margin-top:.5em !important;max-width:none;}

/* ---------- expertises: branching "plan de course" (raw HTML block, see gen_content.py) ---------- */
.race-plan{margin-top:2.2rem;}
.race-start{max-width:340px;margin:0 auto;}
.race-start .offer-card.start{border:1.5px solid var(--teal);}
.race-stem{width:3px;height:28px;background:var(--accent-grad);margin:0 auto;}
.race-connector{max-width:900px;height:3px;background:var(--accent-grad);margin:0 auto;}
.race-paths{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;max-width:900px;margin:0 auto;}
@media (max-width:920px){.race-paths{grid-template-columns:1fr;} .race-connector,.race-stem{display:none;}}
.race-path{position:relative;padding-top:28px;display:flex;flex-direction:column;gap:16px;}
.race-path::before{content:"";position:absolute;top:0;left:50%;width:3px;height:28px;background:var(--accent-grad);transform:translateX(-50%);}
@media (max-width:920px){.race-path{padding-top:0;} .race-path::before{display:none;}}
.race-path-label{align-self:center;font-family:'Roboto Mono',monospace;font-size:.68rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--teal);text-align:center;}
.offer-card{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius-m);padding:26px 24px;display:flex;flex-direction:column;align-items:center;text-align:center;gap:.7em;}
.offer-card .tag{align-self:center;font-family:'Roboto Mono',monospace;font-size:.65rem;letter-spacing:.08em;
  padding:.3em .7em;border-radius:999px;background:var(--surface-2);color:var(--ink-soft);font-weight:600;max-width:none;}
.offer-card h3{font-size:1.02rem;font-weight:700;}
.offer-card p{font-size:.9rem;margin:0;max-width:none;}
.offer-card.teaser{border:1.5px dashed color-mix(in srgb, var(--teal) 55%, var(--line));background:color-mix(in srgb, var(--teal) 6%, var(--paper));}
.offer-card.teaser .tag{background:var(--teal);color:#fff;}

/* ---------- témoignages (wp:columns.testi-grid > wp:column.testi.testi-empty) ---------- */
.testi-grid{display:grid !important;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:2.2rem !important;}
@media (max-width:920px){.testi-grid{grid-template-columns:1fr;}}
.testi{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-m);padding:26px;display:flex;flex-direction:column;gap:1em;}
.testi .placeholder-tag{font-family:'Roboto Mono',monospace;font-size:.62rem;letter-spacing:.06em;color:var(--muted);
  border:1px dashed var(--line);border-radius:999px;padding:.25em .7em;align-self:flex-start;text-transform:uppercase;max-width:none;}
.testi-empty{align-items:center;text-align:center;border-style:dashed;background:transparent;color:var(--muted);}
.testi-empty svg{color:var(--line);}
.testi-empty .who-slot{font-family:'Roboto',sans-serif;font-weight:700;color:var(--ink-soft);font-size:.95rem;}
.draft-flag{display:inline-flex;align-items:center;gap:.5em;font-family:'Roboto Mono',monospace;font-weight:600;font-size:.7rem;
  letter-spacing:.06em;text-transform:uppercase;color:var(--ink-soft);background:var(--surface-2);
  border:1px dashed var(--line);border-radius:999px;padding:.4em 1em;margin:0 0 1.6em;max-width:none;}

/* ---------- à propos (wp:columns.apropos-grid > wp:column / wp:column.commitments) ---------- */
.founder{display:flex;align-items:center;gap:1em;margin-bottom:1.6em;}
.founder-photo-ring{flex:none;display:block;width:90px;height:90px;border-radius:50%;padding:3px;background:var(--accent-grad);}
.founder-photo-ring img{display:block;width:100%;height:100%;border-radius:50%;object-fit:cover;border:3px solid var(--paper);}
.founder-meta strong{display:block;font-family:'Roboto',sans-serif;font-weight:700;font-size:1rem;color:var(--ink);}
.founder-meta span{font-family:'Roboto Mono',monospace;font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);}
.apropos-grid{display:grid !important;grid-template-columns:1.1fr .9fr;gap:56px;margin-top:2.2rem !important;align-items:start;}
@media (max-width:920px){.apropos-grid{grid-template-columns:1fr;}}
.commitments{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-l);padding:30px;}
.commitments h3{font-size:1.05rem;font-weight:700;margin-bottom:1em;}
.commitments ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.9em;}
.commitments li{display:flex;gap:.7em;font-size:.92rem;color:var(--ink-soft);align-items:flex-start;}
.commitments li svg{flex:none;width:18px;height:18px;margin-top:.15em;color:var(--green-bg);}
.stat-row{display:flex;gap:2.2rem;margin-top:2rem;flex-wrap:wrap;}
.stat{display:flex;flex-direction:column;}
.stat .n{font-family:'Roboto Mono',monospace;font-weight:700;font-size:1.7rem;color:var(--teal);font-variant-numeric:tabular-nums;}
.stat .l{font-family:'Roboto Mono',monospace;font-size:.66rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);}
.charte-cta{margin-top:1.8rem;}
.charte-cta:empty{display:none;margin:0;}

/* ---------- contact ---------- */
#contact{background:var(--surface);padding:88px 0;}
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:48px;margin-top:2.2rem;}
@media (max-width:880px){.contact-grid{grid-template-columns:1fr;}}
.field{display:flex;flex-direction:column;gap:.4em;margin-bottom:1.1em;}
.field label{font-family:'Roboto Mono',monospace;font-size:.68rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);}
.field input, .field textarea{font-family:'Open Sans',sans-serif;font-size:.95rem;padding:.75em .9em;border-radius:var(--radius-s);
  border:1px solid var(--line);background:var(--paper);color:var(--ink);width:100%;}
.field input:focus, .field textarea:focus{outline:2px solid var(--teal);outline-offset:1px;}
.contact-info .row{display:flex;gap:.8em;align-items:flex-start;margin-bottom:1.1em;font-size:.92rem;color:var(--ink-soft);}
.contact-info .row svg{flex:none;width:19px;height:19px;color:var(--teal);margin-top:.15em;}
.contact-info .row a{color:inherit;text-decoration:none;}
.contact-info .row a:hover{color:var(--teal);text-decoration:underline;}
.social{display:flex;gap:.8em;margin-top:1.4em;}
.social a{width:36px;height:36px;border:1px solid var(--line);border-radius:999px;display:flex;align-items:center;justify-content:center;text-decoration:none;}
.social a:hover{border-color:var(--teal);color:var(--teal);}
.form-notice{padding:.9em 1.2em;border-radius:var(--radius-s);font-size:.9rem;margin-top:1.2em;max-width:none;}
.form-notice-success{background:color-mix(in srgb, var(--green-bg) 20%, var(--paper));color:var(--ink);border:1px solid var(--green-bg);}
.form-notice-error{background:color-mix(in srgb, #d1495b 15%, var(--paper));color:var(--ink);border:1px solid #d1495b;}

/* ---------- footer: same fixed "control tower" dark as the header ---------- */
footer{position:relative;background:var(--carbon-bg-2);color:var(--carbon-ink-soft);padding:60px 0 26px;}
footer::before{content:"";position:absolute;top:0;left:0;right:0;height:8px;opacity:.5;
  background-image: conic-gradient(rgba(255,255,255,.9) 90deg, transparent 90deg 180deg, rgba(255,255,255,.9) 180deg 270deg, transparent 270deg);
  background-size:16px 16px;}
footer .wrap{display:grid;grid-template-columns:1.3fr 1.1fr 1fr 1fr 1fr;gap:36px;}
@media (max-width:980px){footer .wrap{grid-template-columns:1fr 1fr;}}
@media (max-width:520px){footer .wrap{grid-template-columns:1fr;}}
.screen-reader-text{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;
  clip:rect(0,0,0,0);white-space:nowrap;border:0;}
.newsletter-form{margin-top:.2em;}
.newsletter-row{display:flex;gap:.5em;flex-wrap:wrap;}
.newsletter-row input[type="email"]{flex:1 1 140px;min-width:0;font-family:'Open Sans',sans-serif;font-size:.85rem;
  padding:.6em .8em;border-radius:var(--radius-s);border:1px solid rgba(255,255,255,.18);
  background:rgba(255,255,255,.06);color:#fff;}
.newsletter-row input[type="email"]::placeholder{color:rgba(243,246,241,.45);}
.newsletter-row input[type="email"]:focus{outline:2px solid var(--hero-teal);outline-offset:1px;}
.newsletter-consent{display:flex;gap:.55em;align-items:flex-start;margin-top:.7em;font-size:.74rem;
  line-height:1.4;color:rgba(243,246,241,.62);cursor:pointer;}
.newsletter-consent input{margin-top:.2em;flex:none;}
.newsletter-consent a{text-decoration:underline;}
.form-notice-sm{padding:.6em .9em;font-size:.82rem;margin-top:0;}
footer img{height:26px;margin-bottom:1em;}
footer p{color:var(--carbon-ink-soft);font-size:.86rem;max-width:32ch;}
footer h4{font-family:'Roboto Mono',monospace;font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;color:rgba(243,246,241,.55);margin:0 0 1em;}
footer ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.7em;}
footer a{color:var(--carbon-ink-soft);text-decoration:none;font-size:.9rem;}
footer a:hover{color:#fff;}
.footer-bottom{max-width:var(--maxw);margin:44px auto 0;padding:22px 28px 0;border-top:1px solid rgba(255,255,255,.12);
  display:flex;justify-content:space-between;flex-wrap:wrap;gap:.8em;font-family:'Roboto Mono',monospace;font-size:.72rem;color:rgba(255,255,255,.5);}
.eco-badge{display:inline-flex;align-items:center;gap:.5em;padding:.35em .8em;border:1px solid rgba(255,255,255,.18);border-radius:999px;}
.footer-social{display:flex;gap:.8em;margin-top:1.2em;}
.footer-social a{width:36px;height:36px;border:1px solid rgba(255,255,255,.18);border-radius:999px;display:flex;align-items:center;justify-content:center;text-decoration:none;color:var(--carbon-ink-soft);}
.footer-social a:hover{border-color:var(--hero-teal);color:var(--hero-teal);}

/* ---------- cookie banner ---------- */
#cookies{position:fixed;left:16px;right:16px;bottom:16px;max-width:760px;margin:0 auto;z-index:60;
  background:var(--paper);border:1px solid var(--line);border-radius:var(--radius-m);box-shadow:var(--shadow);
  padding:20px 22px;display:flex;gap:1.4rem;align-items:center;flex-wrap:wrap;
  transform:translateY(140%);transition:transform .3s ease;}
#cookies.show{transform:translateY(0);}
#cookies p{margin:0;font-size:.85rem;flex:1 1 320px;max-width:none;}
#cookies .actions{display:flex;gap:.7rem;flex-wrap:wrap;}

.skip-link{position:absolute;left:-999px;top:auto;background:var(--teal);color:#fff;padding:.7em 1.2em;border-radius:0 0 8px 0;z-index:100;}
.skip-link:focus{left:0;top:0;}

::selection{background:var(--lime-bg);color:var(--ink);}
