/* V2 — editorial layout for the sections between hero and contact.
   Loaded after style.css; header, hero, contact and footer stay untouched. */

.ed,.ed-contact,.ed-footer,.hero{--rule:#1f1f1f;--hair:#d8d3c8}
.ed-contact .wrap,.ed-footer .wrap,.ed .wrap{width:1160px;max-width:100%;margin:0 auto;padding:0 32px}

/* Section folio: "N° 01 — The mission" */
.folio{display:flex;align-items:center;gap:18px;font:400 15px/1 var(--impact);text-transform:uppercase;letter-spacing:1.5px;color:var(--navy)}
.folio b{font-weight:400;background:var(--yellow);color:var(--navy);padding:6px 10px}
.folio::after{content:"";flex:1;height:2px;background:var(--rule)}

/* 1. Intro: full-width tri-colour headline, drop cap, two text columns */
.ed-intro{padding:48px 0 52px}
.ed-intro h1{font:700 clamp(38px,4.6vw,62px)/1 var(--helv);letter-spacing:-2px;color:#000;margin:24px 0 28px;max-width:24ch}
.ed-intro h1 .c{color:var(--coral)}
.ed-intro h1 .y{color:var(--yellow)}
.ed-intro .body{display:grid;grid-template-columns:240px 1fr;gap:40px;border-top:1px solid var(--hair);padding-top:24px}
.ed-intro figure img{width:100%}
.ed-intro figcaption{font:300 italic 13px/18px var(--helv);color:#777;margin-top:10px;border-top:1px solid var(--hair);padding-top:10px}
.ed-intro .cols{columns:3;column-gap:30px;column-rule:1px solid var(--hair);font:300 15px/23px var(--helv);color:#333}
.ed-intro .cols p{margin-bottom:12px;break-inside:avoid-column}
.ed-intro .lead{font:400 19px/28px var(--helv);color:#111}
.ed-intro .lead::first-letter{float:left;font:400 78px/64px var(--impact);color:var(--yellow);margin:6px 14px 0 0}
.ed-intro .sign{margin-top:8px}
.ed-intro .pull{margin:18px 0 18px;padding:14px 0;border-top:4px solid #000;border-bottom:1px solid #000;font:400 28px/1.1 var(--impact);text-transform:uppercase;color:var(--navy)}
.ed-intro .pull span{color:var(--coral)}
.ed-intro .sign{font:400 18px var(--impact);text-transform:uppercase;color:var(--navy)}
.ed-intro .sign a{color:var(--coral);text-decoration:none;border-bottom:3px solid var(--yellow)}

/* 2. Focus: navy spread, outlined numerals, big quote */
.ed-focus{background:var(--navy);color:#fff;padding:50px 0 54px;position:relative}
.ed-focus .folio{color:#fff}
.ed-focus .folio::after{background:#fff;opacity:.35}
.ed-focus h2{font:700 clamp(30px,3.4vw,44px)/1.04 var(--helv);letter-spacing:-1px;margin:22px 0 28px}
.ed-focus h2 .c{color:var(--coral)}
.ed-focus h2 .y{color:var(--yellow)}
.ed-focus .three{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid rgba(255,255,255,.3)}
.ed-focus .three div{padding:20px 28px 4px 0}
.ed-focus .three div+div{padding-left:28px;border-left:1px solid rgba(255,255,255,.3)}
.ed-focus .n{font:400 76px/1 var(--impact);color:transparent;-webkit-text-stroke:2px var(--yellow);display:block;margin-bottom:12px}
.ed-focus .three p{font:700 18px/1.3 var(--helv);color:#e9ebef}
.ed-focus .three b{color:var(--yellow)}
.ed-focus blockquote{margin-top:34px;padding-top:26px;border-top:1px solid rgba(255,255,255,.3);display:grid;grid-template-columns:80px 1fr;gap:14px;align-items:start}
.ed-focus blockquote::before{content:"\201C";font:700 130px/.8 Georgia,serif;color:var(--coral)}
.ed-focus blockquote small{display:block;font:400 14px var(--impact);letter-spacing:1.5px;text-transform:uppercase;color:var(--yellow);margin-bottom:8px}
.ed-focus blockquote p{font:300 italic clamp(24px,2.5vw,34px)/1.2 var(--helv);color:#fff}

/* 3. Clients: ticker + headline/wall */
.ticker{background:var(--yellow);overflow:hidden;white-space:nowrap;border-bottom:2px solid #000}
.ticker div{display:inline-block;padding:10px 0;font:400 18px/1 var(--impact);text-transform:uppercase;color:var(--navy);animation:tick 40s linear infinite}
.ticker span{margin:0 22px;color:#fff}
@keyframes tick{to{transform:translateX(-50%)}}
@media (prefers-reduced-motion:reduce){.ticker div{animation:none}}
.ed-clients{padding:46px 0 52px}
.ed-clients .grid{display:grid;grid-template-columns:320px 1fr;gap:44px;margin-top:24px;align-items:center}
.ed-clients h2{font:700 44px/1 var(--helv);letter-spacing:-2px;color:#000}
.ed-clients h2 .c{color:var(--coral)}
.ed-clients h2 .y{color:var(--yellow)}
.ed-clients .lead{font:300 16px/24px var(--helv);color:#333;margin-top:18px;padding-left:18px;border-left:4px solid var(--yellow)}
.ed-clients .wall{border:1px solid var(--hair);padding:18px;background:#fff;box-shadow:14px 14px 0 var(--cream)}
.ed-clients .count{display:flex;gap:32px;margin-top:20px}
.ed-clients .count div{font:300 13px/1.3 var(--helv);color:#666;text-transform:uppercase;letter-spacing:1px}
.ed-clients .count b{display:block;font:400 40px/1 var(--impact);color:var(--navy);letter-spacing:0}

/* 4. Facts + typical: cream index page */
.ed-index{background:var(--cream);padding:46px 0 54px}
.ed-index .table{display:grid;grid-template-columns:repeat(3,1fr);margin-top:24px;border-top:4px solid #000}
.ed-index .col{padding:18px 26px 0 0}
.ed-index .col+.col{padding-left:26px;border-left:1px solid var(--hair)}
.ed-index .col h3{display:flex;align-items:center;gap:10px;font:400 24px/1 var(--impact);text-transform:uppercase;color:#000;margin-bottom:10px}
.ed-index .col h3 i{font-style:normal;width:34px;height:34px;display:grid;place-items:center;background:#000;color:var(--yellow);font:700 19px var(--helv)}
.ed-index .col li{list-style:none;display:flex;gap:12px;font:300 16px/1.3 var(--futura);color:#000;padding:6px 0;border-bottom:1px solid var(--hair)}
.ed-index .col li em{font:400 13px/1.9 var(--impact);font-style:normal;color:var(--coral);min-width:22px}
.ed-typical{display:grid;grid-template-columns:5fr 7fr;gap:44px;margin-top:40px;padding-top:30px;border-top:4px solid #000;align-items:start}
.ed-typical h2{font:700 46px/1 var(--helv);letter-spacing:-2px;color:#000}
.ed-typical h2 .c{color:var(--coral)}
.ed-typical h2 .y{color:var(--yellow)}
.ed-typical .txt{font:300 16px/24px var(--helv);color:#333}
.ed-typical .txt p+p{margin-top:12px}
.ed-typical .txt p:first-child{font:700 20px/1.3 var(--helv);color:var(--navy)}

@media (max-width:1000px){
  .ed .wrap{padding:0 16px}
  .ed-intro{padding:60px 0}
  .ed-intro h1{letter-spacing:-1.5px;margin:30px 0 36px}
  .ed-intro .body{grid-template-columns:1fr;gap:28px}
  .ed-intro figure{max-width:300px}
  .ed-intro .cols{columns:1}
  .ed-intro .pull{font-size:28px}
  .ed-focus{padding:70px 0}
  .ed-focus .three{grid-template-columns:1fr}
  .ed-focus .three div,.ed-focus .three div+div{padding:24px 0;border-left:0;border-bottom:1px solid rgba(255,255,255,.3)}
  .ed-focus .n{font-size:84px}
  .ed-focus blockquote{grid-template-columns:1fr;margin-top:50px}
  .ed-focus blockquote::before{font-size:120px;height:70px}
  .ed-clients{padding:70px 0}
  .ed-clients .grid{grid-template-columns:1fr;gap:36px}
  .ed-clients h2,.ed-typical h2{font-size:46px}
  .ed-clients .wall{padding:12px;box-shadow:8px 8px 0 var(--cream)}
  .ed-index{padding:70px 0}
  .ed-index .table{grid-template-columns:1fr}
  .ed-index .col,.ed-index .col+.col{padding:24px 0;border-left:0}
  .ed-typical{grid-template-columns:1fr;gap:28px;margin-top:60px}
}

/* 5. Contact: editorial form */
.ed-contact{background:var(--contact-yellow);padding:46px 0 54px}
.ed-contact .grid{display:grid;grid-template-columns:4fr 7fr;gap:48px;margin-top:24px;align-items:start}
.ed-contact .pic img{width:100%;height:230px;object-fit:cover}
.ed-contact figcaption{font:300 italic 13px/18px var(--helv);color:#4a4020;margin-top:8px}
.ed-contact .byline{display:flex;gap:14px;align-items:center;margin:22px 0 14px;padding-top:16px;border-top:4px solid #000}
.ed-contact .byline img{width:64px;height:64px;border-radius:50%;object-fit:cover;object-position:top;background:#fff}
.ed-contact .byline b{display:block;font:400 24px/1 var(--impact);text-transform:uppercase;color:#000}
.ed-contact .byline span{font:300 15px var(--futura);color:#000}
.coords{display:grid;grid-template-columns:86px 1fr;font:300 15px/1.4 var(--futura);color:#000}
.coords dt,.coords dd{padding:8px 0;border-bottom:1px solid rgba(0,0,0,.18)}
.coords dt{font:400 13px/1.7 var(--impact);text-transform:uppercase;letter-spacing:.5px}
.coords a{text-decoration:none;border-bottom:1px solid #000}
.coords .li{display:inline-block;width:15px;height:15px;vertical-align:-2px;margin-left:4px}
.ed-contact h2{font:700 clamp(30px,3.2vw,42px)/1.08 var(--helv);letter-spacing:-1px;color:#000}
.ed-contact mark{background:#fff;color:#000;padding:0 6px}
.ed-contact form{margin-top:26px;display:grid;gap:18px}
.ed-contact .two{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.ed-contact label span{display:block;font:400 13px var(--impact);text-transform:uppercase;letter-spacing:1px;color:#000;margin-bottom:4px}
.ed-contact input,.ed-contact textarea{width:100%;border:0;border-bottom:2px solid #000;background:transparent;padding:8px 0;font:400 17px var(--helv);color:#000;outline:none;border-radius:0}
.ed-contact textarea{resize:vertical;min-height:96px}
.ed-contact input:focus,.ed-contact textarea:focus{border-bottom-color:#fff;background:rgba(255,255,255,.25)}
.ed-contact .send{display:flex;align-items:center;gap:18px;margin-top:4px}
.ed-contact button{display:inline-flex;align-items:center;gap:14px;background:var(--navy);color:#fff;border:0;padding:14px 30px;font:400 20px/1 var(--impact);text-transform:uppercase;letter-spacing:1px;cursor:pointer}
.ed-contact button i{font-style:normal;color:var(--yellow);transition:transform .2s}
.ed-contact button:hover i{transform:translateX(4px)}
.ed-contact .sent{display:none;font:400 15px var(--helv);color:#000}

/* 6. Footer: masthead */
.ed-footer{background:var(--navy-deep);color:#c9ccd3;padding:40px 0 0;font:300 14px/1.6 var(--futura)}
.ed-footer .mast{display:flex;align-items:baseline;justify-content:space-between;gap:30px;padding-bottom:20px;border-bottom:1px solid rgba(255,255,255,.2)}
.ed-footer .word{font:400 clamp(40px,5.4vw,74px)/1 var(--impact);color:#fff;text-decoration:none;letter-spacing:.5px}
.ed-footer .mast p{font:300 italic 15px/1.4 var(--helv);color:#c9ccd3;max-width:30ch;text-align:right}
.ed-footer .cols{display:grid;grid-template-columns:2fr 1.4fr 1fr;gap:40px;padding:26px 0}
.ed-footer h4{font:400 14px/1 var(--impact);text-transform:uppercase;letter-spacing:1.5px;color:var(--yellow);margin-bottom:14px}
.ed-footer .links{list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:6px 24px}
.ed-footer a{color:#fff;text-decoration:none}
.ed-footer a:hover{color:var(--yellow)}
.ed-footer .cols p+p{margin-top:8px}
.ed-footer .legal{display:flex;justify-content:space-between;padding:14px 0 18px;border-top:1px solid rgba(255,255,255,.2);font-size:12.5px}
.ed-footer .legal a{text-decoration:underline}
.ed-footer .flag{height:12px;background:linear-gradient(#000 0 4px,var(--red) 4px 8px,var(--gold) 8px)}

@media (max-width:1000px){
  .ed-contact .grid{grid-template-columns:1fr;gap:30px}
  .ed-contact .two{grid-template-columns:1fr}
  .ed-footer .mast{flex-direction:column;gap:8px}
  .ed-footer .mast p{text-align:left}
  .ed-footer .cols{grid-template-columns:1fr;gap:22px}
  .ed-footer .legal{flex-direction:column;gap:6px}
}

/* Hero: editorial card instead of the translucent box */
.hero .card-ed{position:absolute;left:58%;top:58px;width:430px;background:#fff;padding:26px 30px 28px;border-top:8px solid var(--yellow);box-shadow:0 24px 50px rgba(0,0,0,.35)}
.hero .card-ed .q{font:400 30px/1.05 var(--impact);text-transform:uppercase;color:var(--navy)}
.hero .card-ed .q mark{background:var(--yellow);color:var(--navy);padding:0 4px;box-decoration-break:clone;-webkit-box-decoration-break:clone}
.hero .card-ed .have{margin-top:20px;padding-top:16px;border-top:2px solid #000;font:400 17px/1 var(--impact);text-transform:uppercase;color:var(--navy);letter-spacing:.5px}
.hero .card-ed ul{list-style:none;margin:10px 0 12px}
.hero .card-ed li{display:flex;align-items:center;gap:12px;font:700 19px/1 var(--helv);color:#000;padding:8px 0;border-bottom:1px solid var(--hair)}
.hero .card-ed li::before{content:"";width:10px;height:10px;background:var(--coral);flex:none}
.hero .card-ed .end{font:400 17px/1 var(--impact);text-transform:uppercase;color:var(--navy);letter-spacing:.5px}
.hero .card-ed .cta{display:inline-flex;gap:10px;margin-top:20px;background:var(--navy);color:#fff;text-decoration:none;padding:12px 20px;font:400 16px/1 var(--impact);text-transform:uppercase;letter-spacing:1px}
.hero .card-ed .cta i{font-style:normal;color:var(--yellow)}
@media (max-width:1000px){.hero .card-ed{position:static;width:auto;max-width:440px}}

/* Header: flame mark next to the wordmark */
.site-header .container{width:1160px;padding:0 32px;justify-content:space-between}
.site-header .logo{display:flex;align-items:center;gap:14px;margin-bottom:12px}
.site-header .logo .mark{width:58px;height:58px;border-radius:4px;background:#212836 url(../img/logo-mark.png) 50% 20%/128% no-repeat}
@media (max-width:1000px){.site-header .container{padding:16px 16px 0}.site-header .logo .mark{width:44px;height:44px}}

/* Clients: logo lanes scrolling in alternate directions */
.marquee{display:grid;gap:14px;padding:20px 0;border-top:4px solid #000;border-bottom:1px solid #000;overflow:hidden;
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.lane{overflow:hidden}
.track{display:flex;width:max-content;list-style:none;animation:lane var(--dur,48s) linear infinite}
.lane.rev .track{animation-direction:reverse}
.track li{flex:none;display:grid;place-items:center;height:62px;padding:0 30px}
.track img{max-height:40px;max-width:150px;width:auto;height:auto}
.marquee:hover .track{animation-play-state:paused}
@keyframes lane{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@media (prefers-reduced-motion:reduce){.track{animation:none;flex-wrap:wrap;width:auto}.track li[aria-hidden]{display:none}}
@media (max-width:1000px){.track li{height:52px;padding:0 18px}.track img{max-height:32px;max-width:120px}}

/* Hero frame: German tricolour on top, French tricolour on the bottom edge */
.stripes{height:8px;background:linear-gradient(90deg,#000 0 33.33%,var(--red) 33.33% 66.66%,var(--gold) 66.66%)}
.stripes.under{display:none}
.hero{border-bottom:3px solid var(--navy)}
.hero::after{content:"";position:absolute;left:0;right:0;bottom:0;height:8px;z-index:2;background:linear-gradient(90deg,#0055A4 0 33.33%,#fff 33.33% 66.66%,#EF4135 66.66%)}

/* Flag bars between sections, alternating Germany / France */
.flagbar{height:8px}
.flagbar.de{background:linear-gradient(90deg,#000 0 33.33%,var(--red) 33.33% 66.66%,var(--gold) 66.66%)}
.flagbar.fr{background:linear-gradient(90deg,#0055A4 0 33.33%,#fff 33.33% 66.66%,#EF4135 66.66%);box-shadow:inset 0 -2px 0 var(--navy),inset 0 2px 0 var(--navy);height:10px}

/* Mobile navigation (burger) */
.mnav{display:none}
@media (max-width:1120px){
  .site-header .container{flex-direction:row;align-items:center;justify-content:space-between;padding:14px 16px}
  .site-header nav{display:none}
  .site-header .logo{margin-bottom:0;font-size:26px}
  .mnav{display:block;position:relative}
  .mnav summary{list-style:none;cursor:pointer;width:46px;height:46px;background:var(--navy);display:flex;flex-direction:column;justify-content:center;align-items:center;gap:5px}
  .mnav summary::-webkit-details-marker{display:none}
  .mnav summary span{display:block;width:22px;height:2px;background:#fff;transition:transform .2s,opacity .2s}
  .mnav[open] summary span:nth-child(1){transform:translateY(7px) rotate(45deg)}
  .mnav[open] summary span:nth-child(2){opacity:0}
  .mnav[open] summary span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
  .mnav ul{position:absolute;right:0;top:54px;z-index:30;width:min(320px,calc(100vw - 32px));list-style:none;background:#fff;border-top:6px solid var(--yellow);box-shadow:0 18px 40px rgba(0,0,0,.3)}
  .mnav li a{display:block;padding:13px 18px;font:400 18px/1 var(--impact);text-transform:uppercase;color:var(--navy);text-decoration:none;border-bottom:1px solid var(--hair)}
  .mnav li.sub a{padding-left:34px;font-size:15px;color:#555}
  .mnav li a:hover{background:var(--cream)}
}

/* Tablet landscape (iPad 1024–1180): keep the hero card inside the screen */
@media (min-width:1001px) and (max-width:1200px){
  .hero .card-ed{left:auto;right:40px;width:410px}
}

/* ===== Home finishing pass (10/2026) ===== */
/* Shared: keyword highlight + bold lead word */
.ed mark{background:linear-gradient(transparent 58%,rgba(252,183,7,.55) 58%);color:inherit;padding:0 2px}
.ed strong{font-weight:700;color:#000}
.ed .kw{display:block;font:400 26px/1 var(--impact);text-transform:uppercase;color:var(--coral);letter-spacing:.3px;margin-bottom:10px}

/* 01 — title with butterflies on the right, image + CTA on the left */
.ed-intro .titlebar{display:grid;grid-template-columns:1fr 240px;gap:30px;align-items:center;margin:24px 0 28px}
.ed-intro .titlebar h1{margin:0}
.ed-intro .bfly{width:100%;max-width:240px;justify-self:end}
.ed-intro .side figure{border:1px solid var(--hair);padding:14px;background:#fff}
.ed-intro .side figure img{width:100%}
.ed-intro .side figcaption{border-top:0;padding-top:4px}
.ed-intro .side .sign{margin-top:20px;padding:14px 16px;background:var(--navy);color:#fff;font:400 19px/1.25 var(--impact)}
.ed-intro .side .sign a{color:var(--yellow);border-bottom-color:var(--coral)}
.ed-intro .trio{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:6px}
.ed-intro .trio>div{padding-top:14px;border-top:6px solid #000;font:300 15.5px/1.6 var(--helv);color:#333}
.ed-intro .trio>div:nth-child(2){border-top-color:var(--red)}
.ed-intro .trio>div:nth-child(3){border-top-color:var(--gold)}
.ed-intro .trio .aside-txt{color:#888;font-style:italic}

/* 02 — calmer type scale */
.ed-focus h2{font-size:clamp(26px,2.6vw,34px);margin:20px 0 22px}
.ed-focus .n{font-size:56px;margin-bottom:8px}
.ed-focus .three p{font-size:16px}
.ed-focus blockquote{grid-template-columns:64px 1fr;margin-top:26px}
.ed-focus blockquote::before{font-size:100px}
.ed-focus blockquote p{font-size:clamp(20px,2vw,26px)}

/* Ticker framed by flags: no own border */
.ticker{border-bottom:0}

/* 03 — logos without rules, 4 figures */
.marquee{border-top:0;border-bottom:0;padding:6px 0}
.ed-clients .count{gap:22px;flex-wrap:wrap}
.ed-clients .count b{font-size:36px}

/* 04 — typical first, then interactive table */
.ed-typical{margin:24px 0 34px;padding-top:0;border-top:0;align-items:start}
.ed-typical .txt .big{font:400 22px/1.4 var(--helv);color:#111;margin-bottom:18px}
.ed-typical .txt .two{display:grid;grid-template-columns:1fr 1fr;gap:26px}
.ed-typical .txt .two p{margin:0;padding-top:12px;border-top:2px solid #000;font-size:15.5px;line-height:1.6}
.ed-typical .txt .two p+p{margin-top:0}
.ed-index .table{margin-top:0}
.ed-index .col{transition:background .25s,box-shadow .25s,transform .25s;padding-bottom:14px}
.ed-index .col:hover{background:#fff;box-shadow:0 14px 34px rgba(0,0,0,.10);transform:translateY(-4px)}
.ed-index .col h3 i{transition:background .25s,color .25s}
.ed-index .col:hover h3 i{background:var(--yellow);color:#000}
.ed-index .col li{transition:background .2s,padding-left .2s,color .2s;cursor:default}
.ed-index .col li:hover{background:var(--yellow);padding-left:10px;color:#000}
.ed-index .col li:hover em{color:#000}

@media (max-width:1000px){
  .ed-intro .titlebar{grid-template-columns:1fr;gap:10px}
  .ed-intro .bfly{max-width:200px;justify-self:start}
  .ed-intro .trio{grid-template-columns:1fr}
  .ed-typical .txt .two{grid-template-columns:1fr}
  .ed-index .col:hover{transform:none}
}
.ed-clients .count{display:grid;grid-template-columns:1fr 1fr;gap:16px 26px;max-width:300px}
.ed-clients .count b{font-size:40px}
.ed-typical .txt .two p:first-child{font:300 15.5px/1.6 var(--helv);color:#333}
/* More breathing room for sections 03 and 04 */
.ed-clients{padding:80px 0 88px}
.ed-index{padding:80px 0 92px}
@media (max-width:1000px){.ed-clients,.ed-index{padding:56px 0 60px}}
/* Section 04 table: black rule stays visible on hover, left column gets inner padding */
.ed-index .table{border-top:0}
.ed-index .col,.ed-index .col+.col{padding:18px 22px 14px;border-top:4px solid #000}
.ed-index .col:hover{transform:none;box-shadow:0 12px 30px rgba(0,0,0,.10)}
@media (max-width:1000px){.ed-index .col,.ed-index .col+.col{padding:18px 14px 14px}}
/* Section numbers never break ("N° 01" stays on one line) */
.folio b{white-space:nowrap;flex:none}
/* Mobile: section 01 without butterflies and map; CTA after the three columns */
@media (max-width:1000px){
  .ed-intro .bfly,.ed-intro .side figure{display:none}
  .ed-intro .story{order:1}
  .ed-intro .side{order:2}
  .ed-intro .side .sign{margin-top:0}
}

/* Easter egg hint: the comet wobbles a little on hover */
.site-header .logo .mark{transition:transform .25s}
.site-header .logo .mark:hover{transform:rotate(-12deg) scale(1.08)}
.meteor-on .site-header .logo .mark{box-shadow:0 0 0 3px var(--yellow),0 0 18px var(--coral)}

/* Home hero slideshow: slide 1 = startups (Berlin), slide 2 = candidates (Paris) */
.hero.slides{background:var(--navy)}
.hero .slide{position:absolute;inset:0;background:var(--bg) center/cover no-repeat;opacity:0;visibility:hidden;transition:opacity .9s ease,visibility 0s .9s}
.hero .slide.on{opacity:1;visibility:visible;transition:opacity .9s ease;z-index:1}
.hero .s-arc{background-position:center 62%}
.hero .slide .card-ed{transform:translateY(14px);opacity:0;transition:transform .7s .25s ease,opacity .7s .25s ease}
.hero .slide.on .card-ed{transform:none;opacity:1}
.hero .card-ed .big{font:400 30px/1.05 var(--impact);text-transform:uppercase;color:var(--coral);margin-top:6px}
.hero .card-ed .help{margin-top:18px;padding-top:14px;border-top:2px solid #000;font:700 19px/1.35 var(--helv);color:#000}
.hero .card-ed .help mark{background:var(--yellow);color:var(--navy);padding:0 4px}
.hero .slide-ctl{position:absolute;left:50%;bottom:24px;transform:translateX(-50%);z-index:3;display:flex;align-items:center;gap:14px}
.hero .slide-ctl>button{width:40px;height:40px;border:0;background:var(--navy);color:var(--yellow);font:700 18px/1 var(--helv);cursor:pointer;box-shadow:0 6px 16px rgba(0,0,0,.3)}
.hero .slide-ctl>button:hover{background:var(--yellow);color:var(--navy)}
.hero .dots{display:flex;gap:8px}
.hero .dots button{width:12px;height:12px;padding:0;border:2px solid #fff;background:rgba(255,255,255,.35);cursor:pointer}
.hero .dots button.on{background:var(--yellow);border-color:var(--yellow)}
@media (prefers-reduced-motion:reduce){.hero .slide,.hero .slide .card-ed{transition:none}}
@media (max-width:1000px){
  .hero.slides{display:block;padding:0}
  .hero .slide{position:relative;inset:auto;display:none;flex-direction:column-reverse;align-items:center;padding:30px 16px 0;opacity:1;visibility:visible;transition:none}
  .hero .slide.on{display:flex}
  .hero .s-arc{padding-bottom:84px}
  .hero .slide-ctl{bottom:18px}
}
/* The portrait stays put while the backgrounds crossfade (desktop); each slide carries its own copy on mobile */
@media (min-width:1001px){
  .hero .slide .portrait{display:none}
  .hero .portrait.keep{z-index:2}
  .hero .slide .card-ed{z-index:3}
  .hero .slide.on{z-index:auto}
  .hero .slide.on .card-ed{position:absolute}
}
@media (max-width:1000px){.hero .portrait.keep{display:none}.hero .s-arc{padding-bottom:0}}

/* Logo = easter-egg trigger (quick clicks): no text selection, no double-tap zoom */
.site-header .logo{-webkit-user-select:none;user-select:none;touch-action:manipulation}

/* Easter eggs (Meteor / Rambo): client and partner logos are immune, a blue force field shows it,
   and flares up at each hit (.egg-shield) */
:is(.meteor-on,.rambo-on) :is(.ed-clients .marquee,.logo-box){position:relative;border-radius:10px;
  box-shadow:0 0 0 1.5px rgba(140,205,255,.55),0 0 22px 4px rgba(70,150,255,.28),inset 0 0 26px rgba(90,170,255,.25);
  animation:eggimmune 2.6s ease-in-out infinite}
:is(.meteor-on,.rambo-on) :is(.ed-clients .marquee,.logo-box)::after{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;
  background:linear-gradient(115deg,rgba(120,195,255,0) 30%,rgba(170,225,255,.22) 50%,rgba(120,195,255,0) 70%) 0 0/250% 100%;
  animation:eggsheen 3.2s linear infinite}
@keyframes eggimmune{50%{box-shadow:0 0 0 1.5px rgba(140,205,255,.9),0 0 32px 8px rgba(70,150,255,.42),inset 0 0 36px rgba(90,170,255,.36)}}
@keyframes eggsheen{from{background-position:100% 0}to{background-position:-150% 0}}
:is(.meteor-on,.rambo-on) :is(.ed-clients .marquee,.logo-box).egg-shield{animation:eggshield .9s ease-out}
@keyframes eggshield{
  0%{box-shadow:0 0 0 3px rgba(190,235,255,1),0 0 48px 16px rgba(70,160,255,.85),inset 0 0 60px rgba(120,200,255,.7);filter:brightness(1.12)}
  100%{box-shadow:0 0 0 1.5px rgba(140,205,255,.55),0 0 22px 4px rgba(70,150,255,.28),inset 0 0 26px rgba(90,170,255,.25);filter:none}}
