:root{
  --maroon-950:#3D0813;
  --maroon-900:#520E1D;
  --maroon-800:#6E1226;
  --maroon-700:#8A1730;
  --maroon-600:#A31B3A;
  --rose-100:#F6E9ED;
  --rose-50:#FBF5F7;
  --paper:#FFFFFF;
  --ink:#231A1E;
  --ink-soft:#6B5A60;
  --line:rgba(110,18,38,.14);
  --warn:#B4540A;
  --warn-bg:#FFF4E8;
  --display:'Archivo',sans-serif;
  --body:'Instrument Sans',sans-serif;
  --mono:'IBM Plex Mono',monospace;
  --ease-out:cubic-bezier(.16,1,.3,1);
  --radius:18px;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:var(--body);color:var(--ink);background:var(--paper);line-height:1.6;overflow-x:hidden}
img,svg{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
ul{list-style:none}
::selection{background:var(--maroon-600);color:#fff}

.wrap{width:min(1180px,92vw);margin-inline:auto}
.eyebrow{font-family:var(--mono);font-size:.72rem;letter-spacing:.22em;text-transform:uppercase;color:var(--maroon-600);display:flex;align-items:center;gap:.7rem}
.eyebrow::before{content:"";width:26px;height:2px;background:var(--maroon-600)}
.eyebrow.on-dark{color:#E9A9B8}
.eyebrow.on-dark::before{background:#E9A9B8}
h1,h2,h3{font-family:var(--display);font-variation-settings:'wdth' 112;line-height:1.04;letter-spacing:-.01em}
h2{font-size:clamp(1.9rem,4vw,3rem);font-weight:800}
.sec{padding:clamp(4.5rem,9vw,7.5rem) 0}
.lead{color:var(--ink-soft);font-size:1.06rem;max-width:56ch}

.rv{opacity:0;transform:translateY(26px);transition:opacity .8s var(--ease-out),transform .8s var(--ease-out)}
.rv.in{opacity:1;transform:none}
.rv-d1{transition-delay:.1s}.rv-d2{transition-delay:.2s}.rv-d3{transition-delay:.3s}.rv-d4{transition-delay:.4s}
@media (prefers-reduced-motion:reduce){
  .rv{opacity:1;transform:none;transition:none}
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
  html{scroll-behavior:auto}
}

/* ---------- elegant icon system: thin hairline rings ---------- */
.ico{width:46px;height:46px;border-radius:50%;border:1px solid var(--line);display:grid;place-items:center;color:var(--maroon-700);flex-shrink:0;transition:border-color .3s,background .3s,color .3s}
.ico svg{stroke-width:1.4}
.ico.on-dark{border-color:rgba(255,255,255,.25);color:#E9A9B8}

/* ---------- logo (official asset on white plate) ---------- */
.logo{display:inline-flex;align-items:center}
.logo-plate{display:inline-flex;align-items:center}
.logo-plate img{height:40px;width:auto;display:block}
.foot-logo{gap:.8rem}
.foot-logo-text{display:flex;flex-direction:column;line-height:1.1;color:#fff}
.foot-logo-text b{font-family:var(--display);font-weight:800;font-size:1.1rem}
.foot-logo-text span{font-size:.62rem;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.65)}

/* ---------- nav ---------- */
.nav{position:fixed;inset:0 0 auto 0;z-index:50;background:rgba(255,255,255,.94);backdrop-filter:blur(14px);border-bottom:1px solid rgba(110,18,38,.08);transition:box-shadow .4s}
.nav.scrolled{box-shadow:0 10px 34px rgba(61,8,19,.14)}
.nav-inner{display:flex;align-items:center;justify-content:space-between;padding:.9rem 0}
.nav-links{display:flex;gap:1.5rem;align-items:center}
.nav-links a{color:var(--ink-soft);font-size:.9rem;font-weight:500;position:relative;padding:.2rem 0}
.nav-links a::after{content:"";position:absolute;left:0;bottom:-2px;width:0;height:2px;background:var(--maroon-700);transition:width .3s var(--ease-out)}
.nav-links a:hover::after{width:100%}
.nav-links a:hover{color:var(--maroon-800)}
.nav-links a.hot{background:var(--maroon-700);color:#fff;padding:.45rem 1rem;border-radius:99px;font-weight:700}
.nav-links a.hot:hover{background:var(--maroon-600);color:#fff}
.nav-links a.hot::after{display:none}
.lang-toggle{display:flex;border:1px solid var(--line);border-radius:99px;overflow:hidden;font-family:var(--mono);font-size:.72rem}
.lang-toggle .lang-opt{background:transparent;border:0;color:var(--ink-soft);padding:.38rem .8rem;cursor:pointer;transition:.25s;letter-spacing:.08em}
.lang-toggle .lang-opt::after{display:none}
.lang-toggle .lang-opt.active{background:var(--maroon-700);color:#fff;font-weight:600}
.burger{display:none;background:none;border:0;cursor:pointer;width:40px;height:40px}
.burger span{display:block;width:22px;height:2px;background:var(--maroon-800);margin:5px auto;transition:.3s}
.burger.open span{background:#fff}
@media(max-width:960px){
  .nav-links{position:fixed;inset:0;background:var(--maroon-950);flex-direction:column;justify-content:center;gap:1.8rem;transform:translateX(100%);transition:transform .45s var(--ease-out)}
  .nav-links.open{transform:none}
  .nav-links a{font-size:1.25rem;color:rgba(255,255,255,.85)}
  .nav-links a:hover{color:#fff}
  .nav-links .lang-toggle{border-color:rgba(255,255,255,.35)}
  .nav-links .lang-toggle .lang-opt{color:rgba(255,255,255,.75)}
  .nav-links .lang-toggle .lang-opt.active{background:#fff;color:var(--maroon-800)}
  .burger{display:block;position:relative;z-index:60}
  .burger.open span:nth-child(1){transform:translateY(7px) rotate(45deg)}
  .burger.open span:nth-child(2){opacity:0}
  .burger.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
}

/* ---------- hero ---------- */
.hero{min-height:100svh;background:
  radial-gradient(1100px 600px at 82% -8%,rgba(163,27,58,.5),transparent 62%),
  radial-gradient(800px 500px at -8% 108%,rgba(163,27,58,.32),transparent 60%),
  var(--maroon-950);
  color:#fff;display:flex;align-items:center;position:relative;overflow:hidden;padding:7.5rem 0 4.5rem}
.hero .dotgrid{position:absolute;inset:0;background-image:radial-gradient(rgba(255,255,255,.13) 1px,transparent 1.6px);background-size:26px 26px;mask-image:radial-gradient(ellipse 80% 70% at 55% 40%,#000 25%,transparent 75%);pointer-events:none}
.hero-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:3rem;align-items:center;position:relative;z-index:2}
.hero-grid>*{min-width:0}
.trust-row{display:flex;flex-wrap:wrap;gap:.55rem;margin-bottom:1.5rem;opacity:0;animation:fade 1s .2s forwards}
.trust-chip{font-family:var(--mono);font-size:.66rem;letter-spacing:.1em;text-transform:uppercase;border:1px solid rgba(255,255,255,.28);border-radius:99px;padding:.35rem .8rem;color:rgba(255,255,255,.85);display:inline-flex;align-items:center;gap:.5rem}
.trust-chip svg{color:#7CE3A2}
.hero h1{font-size:clamp(2.5rem,5.6vw,4.4rem);font-weight:900;font-variation-settings:'wdth' 118}
.hero h1 .line{display:block;overflow:hidden}
.hero h1 .line>span{display:inline-block;transform:translateY(112%);animation:rise 1s var(--ease-out) forwards}
.hero h1 .line:nth-child(2)>span{animation-delay:.12s}
.hero h1 .line:nth-child(3)>span{animation-delay:.24s}
@keyframes rise{to{transform:none}}
.swap-word{color:#F0A8BC;display:inline-block;white-space:nowrap;position:relative}
.swap-word .w{display:inline-block;transition:transform .45s var(--ease-out),opacity .45s}
.swap-word.out .w{transform:translateY(-70%);opacity:0}
.swap-word.pre .w{transform:translateY(70%);opacity:0;transition:none}
.hero-sub{margin:1.5rem 0 2.2rem;font-size:1.08rem;color:rgba(255,255,255,.78);max-width:46ch;opacity:0;animation:fade 1s .5s forwards}
@keyframes fade{to{opacity:1}}
.hero-ctas{display:flex;gap:1rem;flex-wrap:wrap;opacity:0;animation:fade 1s .7s forwards}
.btn{display:inline-flex;align-items:center;gap:.55rem;font-weight:600;font-size:.95rem;padding:.95rem 1.7rem;border-radius:99px;transition:transform .3s var(--ease-out),box-shadow .3s,background .3s;cursor:pointer;border:0}
.btn svg{transition:transform .3s var(--ease-out)}
.btn:hover svg{transform:translateX(4px)}
.btn-solid{background:#fff;color:var(--maroon-800)}
.btn-solid:hover{transform:translateY(-3px);box-shadow:0 14px 34px rgba(0,0,0,.35)}
.btn-ghost{background:transparent;color:#fff;border:1.5px solid rgba(255,255,255,.4)}
.btn-ghost:hover{border-color:#fff;transform:translateY(-3px)}

/* ---------- hero orbital visual (abstract) ---------- */
.orb{position:relative;aspect-ratio:1/1;max-width:600px;margin-left:auto;opacity:0;animation:fade 1.2s .4s forwards;pointer-events:none}
.orb svg{width:100%;height:100%;overflow:visible}
.ring.outer.o-a{stroke:rgba(255,255,255,.17)}
.ring.outer.o-b{stroke:rgba(255,255,255,.15)}
.ring.outer.o-c{stroke:rgba(255,255,255,.13)}
.ring.outer.o-d{stroke:rgba(255,255,255,.11)}
.ring.outer.o-e{stroke:rgba(255,255,255,.09)}
.ring.outer.o-f{stroke:rgba(255,255,255,.045)}
.ring.outer.o-g{stroke:rgba(255,255,255,.035)}
.ring.outer.o-h{stroke:rgba(255,255,255,.026)}
.ring.outer.o-i{stroke:rgba(255,255,255,.018)}
.orb-float{animation:orbFloat 9s ease-in-out infinite}
@keyframes orbFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-14px)}}
.ring{fill:none;stroke:rgba(255,255,255,.16);stroke-width:1}
.ring.dashed{stroke-dasharray:2 9;stroke-linecap:round}
.ring.faint{stroke:rgba(255,255,255,.09)}
.ring.breathe{stroke:rgba(240,168,188,.28);transform-origin:400px 400px;animation:breathe 6s ease-in-out infinite}
@keyframes breathe{0%,100%{transform:scale(1);opacity:.35}50%{transform:scale(1.07);opacity:.9}}
.orbit{transform-origin:400px 400px}
.orbit.o1{animation:spin 36s linear infinite}
.orbit.o2{animation:spin 56s linear infinite reverse}
.orbit.o3{animation:spin 80s linear infinite}
.orbit.o-sweep{animation:spin 14s linear infinite}
.orbit.o-sweep2{animation:spin 22s linear infinite reverse}
@keyframes spin{to{transform:rotate(360deg)}}
.sweep{fill:none;stroke:#F0A8BC;stroke-width:2.5;stroke-linecap:round;stroke-dasharray:170 1935;filter:drop-shadow(0 0 8px rgba(240,168,188,.9));opacity:.9}
.sweep.s2{stroke:rgba(255,255,255,.75);stroke-width:1.8;stroke-dasharray:90 1638;filter:drop-shadow(0 0 6px rgba(255,255,255,.7));opacity:.7}
.sat{fill:#F0A8BC}
.sat.lg{fill:#fff}
.trail{fill:#fff}
.trail.t1{opacity:.5}
.trail.t2{opacity:.3}
.trail.t3{opacity:.15}
.sat-glow{fill:none;stroke:rgba(240,168,188,.45);stroke-width:1}
.core-glow{animation:corePulse 5s ease-in-out infinite}
@keyframes corePulse{0%,100%{opacity:.55}50%{opacity:.95}}
.ribbon-mark{opacity:.42;filter:drop-shadow(0 0 34px rgba(163,27,58,.6))}
@media(max-width:960px){
  .ring.outer.o-d,.ring.outer.o-e,.ring.outer.o-f,.ring.outer.o-g,.ring.outer.o-h,.ring.outer.o-i{display:none}
  .hero-grid{grid-template-columns:1fr}
  .orb{max-width:380px;margin:0 auto}
}


/* i18n & mobile hardening */
.hero h1.hero-done .line{overflow:visible}
html[lang="tl"] .hero h1{font-size:clamp(2.1rem,4.8vw,3.7rem)}
html[lang="tl"] .swap-word{min-width:0}
.btn,.fb-cta{max-width:100%;text-align:center}
@media(max-width:460px){
  .hero h1{font-size:clamp(2rem,9vw,2.4rem)}
  html[lang="tl"] .hero h1{font-size:clamp(1.8rem,8.6vw,2.2rem)}
  .orb{max-width:280px}
  .fb-number{font-size:clamp(2.4rem,11vw,3rem)}
  .mini-stats{grid-template-columns:1fr 1fr;gap:1rem}
  .logo-plate img{height:26px}
  .jobs-ctas{flex-direction:column;align-items:stretch}
  .mail-chip{justify-content:center}
}

/* ---------- counter band ---------- */
.band{background:var(--maroon-900);color:#fff;position:relative;overflow:hidden}
.band::before{content:"";position:absolute;inset:0;background-image:radial-gradient(rgba(255,255,255,.08) 1px,transparent 1.5px);background-size:22px 22px}
.band-inner{position:relative;display:grid;grid-template-columns:1.05fr 1.2fr;gap:2.5rem;padding:3.4rem 0;align-items:center}
.fb-counter{display:flex;flex-direction:column;gap:.4rem}
.fb-number{font-family:var(--display);font-weight:900;font-variation-settings:'wdth' 120;font-size:clamp(2.8rem,6vw,4.4rem);line-height:1;display:flex;align-items:baseline;gap:.5rem}
.fb-number .plus{color:#F0A8BC}
.fb-label{font-family:var(--mono);font-size:.75rem;letter-spacing:.2em;text-transform:uppercase;color:rgba(255,255,255,.7);display:flex;gap:.6rem;align-items:center}
.live-dot{width:8px;height:8px;border-radius:50%;background:#5EDB8A;box-shadow:0 0 0 0 rgba(94,219,138,.6);animation:beat 2s infinite}
@keyframes beat{0%{box-shadow:0 0 0 0 rgba(94,219,138,.55)}70%{box-shadow:0 0 0 10px rgba(94,219,138,0)}100%{box-shadow:0 0 0 0 rgba(94,219,138,0)}}
.mini-stats{display:grid;grid-template-columns:repeat(2,1fr);gap:1.2rem 2rem}
.mini-stat b{font-family:var(--display);font-weight:800;font-size:1.65rem;font-variation-settings:'wdth' 112;display:block;line-height:1.1}
.mini-stat span{font-size:.8rem;color:rgba(255,255,255,.65)}
@media(max-width:880px){.band-inner{grid-template-columns:1fr}}

/* ---------- sectors & professions marquee ---------- */
.network{background:var(--rose-50);overflow:hidden}
.marquee{display:flex;gap:.9rem;margin-top:1.4rem;overflow:hidden;mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.marquee-track{display:flex;gap:.9rem;flex-shrink:0;animation:scroll linear infinite}
.marquee:hover .marquee-track{animation-play-state:paused}
@keyframes scroll{to{transform:translateX(calc(-100% - .9rem))}}
.mq-sectors .marquee-track{animation-duration:70s}
.mq-prof .marquee-track{animation-duration:28s;animation-direction:reverse}
.tag-sector{background:#fff;border:1px solid var(--line);border-radius:12px;padding:.8rem 1.5rem;font-family:var(--display);font-weight:700;font-size:.95rem;white-space:nowrap;color:var(--maroon-900)}
.tag-prof{background:var(--maroon-700);color:#fff;border-radius:99px;padding:.6rem 1.3rem;font-size:.85rem;font-weight:600;white-space:nowrap}
.mq-label{font-family:var(--mono);font-size:.66rem;letter-spacing:.2em;text-transform:uppercase;color:var(--ink-soft);margin-top:2.2rem}

/* ---------- jobs / how to apply ---------- */
.apply-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.1rem;margin-top:2.6rem}
.apply-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:1.7rem 1.5rem;transition:transform .35s var(--ease-out),box-shadow .35s}
.apply-card:hover{transform:translateY(-5px);box-shadow:0 18px 40px rgba(110,18,38,.1)}
.apply-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.2rem}
.apply-num{font-family:var(--mono);font-size:.7rem;letter-spacing:.18em;color:var(--maroon-600)}
.apply-card b{font-family:var(--display);font-weight:800;font-size:1.05rem;display:block;margin-bottom:.45rem}
.apply-card p{font-size:.88rem;color:var(--ink-soft)}
.apply-card p a{color:var(--maroon-700);font-weight:600;text-decoration:underline;text-underline-offset:3px}
.scam-box{margin-top:1.6rem;background:var(--warn-bg);border:1px solid rgba(180,84,10,.3);border-radius:var(--radius);padding:1.4rem 1.6rem;display:grid;grid-template-columns:auto 1fr;gap:1.1rem;align-items:start}
.scam-box .ico{border-color:rgba(180,84,10,.35);color:var(--warn)}
.scam-box b{color:var(--warn);font-family:var(--display);font-weight:800;font-size:.98rem;display:block;letter-spacing:.02em;text-transform:uppercase}
.scam-box p{font-size:.9rem;color:#7A4310;margin-top:.3rem}
.jobs-ctas{display:flex;gap:1rem;flex-wrap:wrap;align-items:center;margin-top:2rem}
.fb-cta{display:inline-flex;align-items:center;gap:.7rem;background:var(--maroon-700);color:#fff;padding:1.05rem 2rem;border-radius:99px;font-weight:700;font-size:1rem;transition:transform .3s var(--ease-out),box-shadow .3s,background .3s}
.fb-cta:hover{background:var(--maroon-600);transform:translateY(-4px);box-shadow:0 18px 44px rgba(110,18,38,.3)}
.mail-chip{display:inline-flex;align-items:center;gap:.6rem;font-family:var(--mono);font-size:.82rem;border:1px solid var(--line);border-radius:99px;padding:.85rem 1.4rem;color:var(--maroon-800);transition:.3s}
.mail-chip:hover{background:var(--rose-100);transform:translateY(-3px)}
.mail-chip svg{stroke-width:1.4}
@media(max-width:880px){.apply-grid{grid-template-columns:1fr}}

/* ---------- overview ---------- */
.overview-grid{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:start;margin-top:2.6rem}
.overview-grid h2 .dream{color:var(--maroon-600)}
.pillars{display:grid;gap:0;border-top:1px solid var(--line)}
.pillar{display:grid;grid-template-columns:auto 1fr;gap:1.1rem;padding:1.25rem 0;border-bottom:1px solid var(--line);align-items:start;transition:padding-left .35s var(--ease-out)}
.pillar:hover{padding-left:.6rem}
.pillar:hover .ico{background:var(--maroon-700);border-color:var(--maroon-700);color:#fff}
.pillar b{font-weight:700;font-size:.98rem;display:block}
.pillar p{color:var(--ink-soft);font-size:.9rem;margin-top:.15rem}
@media(max-width:880px){.overview-grid{grid-template-columns:1fr;gap:2.4rem}}

/* ---------- deliver across europe ---------- */
.deliver{background:var(--maroon-950);color:#fff;position:relative;overflow:hidden}
.deliver::before{content:"";position:absolute;inset:0;background-image:radial-gradient(rgba(255,255,255,.07) 1px,transparent 1.5px);background-size:26px 26px}
.deliver .wrap{position:relative;z-index:2}
.deliver-grid{display:grid;gap:3rem;margin-top:2.6rem}
.protect{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}
@media(max-width:880px){.protect{grid-template-columns:1fr}}
.protect-card{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);border-radius:var(--radius);padding:1.4rem 1.5rem;display:grid;grid-template-columns:auto 1fr;gap:1.1rem;align-items:start;transition:background .3s,transform .3s var(--ease-out)}
.protect-card:hover{background:rgba(255,255,255,.1);transform:translateX(6px)}
.protect-card b{font-family:var(--display);font-weight:800;font-size:1rem;display:block;margin-bottom:.25rem}
.protect-card p{font-size:.87rem;color:rgba(255,255,255,.68)}


/* ---------- industries ---------- */
.ind-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.1rem;margin-top:2.6rem}
.ind-card{border:1px solid var(--line);border-radius:var(--radius);padding:1.6rem 1.4rem;position:relative;overflow:hidden;transition:transform .35s var(--ease-out);background:#fff}
.ind-card::before{content:"";position:absolute;inset:auto 0 0 0;height:2px;background:var(--maroon-600);transform:scaleX(0);transform-origin:left;transition:transform .4s var(--ease-out)}
.ind-card:hover{transform:translateY(-6px)}
.ind-card:hover::before{transform:none}
.ind-card:hover .ico{background:var(--maroon-700);border-color:var(--maroon-700);color:#fff}
.ind-card .ico{margin-bottom:1rem}
.ind-card b{font-size:.96rem;display:block;line-height:1.3;margin-bottom:.4rem}
.ind-card p{font-size:.83rem;color:var(--ink-soft);line-height:1.5}
@media(max-width:1000px){.ind-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.ind-grid{grid-template-columns:1fr}}

/* ---------- process ---------- */
.jobs-bg{background:var(--rose-50)}
.steps{display:grid;grid-template-columns:repeat(6,1fr);gap:1rem;margin-top:3rem;position:relative}
.steps::before{content:"";position:absolute;top:26px;left:4%;right:4%;height:1px;background:var(--line)}
.step-card{position:relative}
.step-num{width:52px;height:52px;border-radius:50%;background:#fff;border:1px solid var(--line);display:grid;place-items:center;font-family:var(--mono);font-size:.8rem;font-weight:600;color:var(--maroon-700);margin-bottom:1.1rem;position:relative;z-index:1;transition:.35s}
.step-card:hover .step-num{background:var(--maroon-700);color:#fff;border-color:var(--maroon-700);transform:scale(1.08)}
.step-card b{font-family:var(--display);font-weight:800;font-size:1rem;letter-spacing:.02em;text-transform:uppercase;display:block;margin-bottom:.35rem;color:var(--maroon-900)}
.step-card p{font-size:.8rem;color:var(--ink-soft);line-height:1.5}
@media(max-width:1000px){.steps{grid-template-columns:repeat(3,1fr);gap:2rem 1rem}.steps::before{display:none}}
@media(max-width:600px){.steps{grid-template-columns:repeat(2,1fr)}}

/* ---------- ethics ---------- */
.ethics-grid{display:grid;grid-template-columns:1fr 1fr;gap:4rem;margin-top:2.6rem;align-items:start}
.checklist li{display:flex;gap:.9rem;padding:.8rem 0;border-bottom:1px solid var(--line);font-size:.95rem;align-items:flex-start}
.checklist li svg{flex-shrink:0;margin-top:.2rem;color:var(--maroon-600);stroke-width:1.6}
.quote-block{background:var(--maroon-900);color:#fff;border-radius:var(--radius);padding:2.4rem;position:relative}
.quote-block::before{content:"“";font-family:var(--display);font-size:5rem;font-weight:900;color:rgba(255,255,255,.18);position:absolute;top:.5rem;left:1.4rem;line-height:1}
.quote-block p{font-size:1.12rem;line-height:1.65;position:relative}
.quote-block footer{margin-top:1.4rem;font-family:var(--mono);font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;color:rgba(255,255,255,.6)}
@media(max-width:880px){.ethics-grid{grid-template-columns:1fr;gap:2.4rem}}

/* ---------- team ---------- */
.team-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.4rem;margin-top:2.6rem;max-width:860px}
.team-card{display:block;color:inherit;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;background:#fff;transition:transform .35s var(--ease-out),box-shadow .35s;cursor:pointer}
.li-badge{position:absolute;top:1.35rem;right:1.4rem;width:32px;height:32px;border-radius:50%;border:1px solid var(--line);display:grid;place-items:center;color:var(--maroon-700);transition:.3s}
.team-card:hover .li-badge{background:#0A66C2;border-color:#0A66C2;color:#fff}
.team-card:hover{transform:translateY(-6px);box-shadow:0 20px 46px rgba(110,18,38,.12)}
.team-photo{aspect-ratio:1/.85;background:linear-gradient(150deg,var(--maroon-800),var(--maroon-600));display:grid;place-items:center;position:relative;overflow:hidden}
.team-photo img{width:100%;height:100%;object-fit:cover;object-position:center;position:relative}
.team-photo::before{content:"";position:absolute;inset:0;background-image:radial-gradient(rgba(255,255,255,.12) 1px,transparent 1.5px);background-size:18px 18px}
.team-initials{font-family:var(--display);font-weight:900;font-size:3.2rem;color:rgba(255,255,255,.92);font-variation-settings:'wdth' 118;position:relative}
.team-info{padding:1.4rem 1.5rem;position:relative}
.team-info b{font-family:var(--display);font-weight:800;font-size:1.08rem;display:block}
.team-info span{font-family:var(--mono);font-size:.7rem;letter-spacing:.16em;text-transform:uppercase;color:var(--maroon-600)}
.team-info p{font-size:.86rem;color:var(--ink-soft);margin-top:.6rem;line-height:1.55}
@media(max-width:880px){.team-grid{grid-template-columns:1fr}}

/* ---------- contact / employers ---------- */
.contact{background:
  radial-gradient(900px 500px at 20% 0%,rgba(163,27,58,.5),transparent 60%),
  var(--maroon-950);color:#fff;position:relative;overflow:hidden}
.contact .dotgrid{position:absolute;inset:0;background-image:radial-gradient(rgba(255,255,255,.1) 1px,transparent 1.6px);background-size:24px 24px;mask-image:radial-gradient(ellipse 70% 60% at 50% 50%,#000 20%,transparent 75%)}
.contact-grid{position:relative;z-index:2;display:grid;grid-template-columns:1fr 1fr;gap:1.4rem;margin-top:2.6rem}
.c-card{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.14);border-radius:var(--radius);padding:2rem;transition:background .3s,transform .3s var(--ease-out)}
.c-card:hover{background:rgba(255,255,255,.1);transform:translateY(-4px)}
.c-card h3{font-size:1.3rem;font-weight:800;margin-bottom:.6rem}
.c-card p{font-size:.92rem;color:rgba(255,255,255,.7);margin-bottom:1.4rem}
.c-card .btn-solid{font-size:.9rem}
@media(max-width:880px){.contact-grid{grid-template-columns:1fr}}

/* ---------- footer ---------- */
footer.site{background:var(--maroon-950);color:rgba(255,255,255,.75);padding:4rem 0 2rem;border-top:1px solid rgba(255,255,255,.1)}
.foot-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:2.6rem}
.foot-grid h4{font-family:var(--mono);font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;color:#E9A9B8;margin-bottom:1rem}
.foot-grid li{margin-bottom:.55rem;font-size:.9rem}
.foot-grid a:hover{color:#fff}
.foot-bottom{margin-top:3rem;padding-top:1.4rem;border-top:1px solid rgba(255,255,255,.12);display:flex;justify-content:space-between;flex-wrap:wrap;gap:.8rem;font-size:.78rem;color:rgba(255,255,255,.45)}
@media(max-width:880px){.foot-grid{grid-template-columns:1fr}}

.social-row{display:flex;gap:.7rem;margin-top:1.3rem}
.social-row a{width:38px;height:38px;border-radius:50%;border:1px solid rgba(255,255,255,.25);display:grid;place-items:center;color:rgba(255,255,255,.8);transition:.3s}
.social-row a:hover{background:#fff;border-color:#fff;color:var(--maroon-800);transform:translateY(-3px)}

/* keyboard focus visibility */
a:focus-visible,button:focus-visible{outline:2px solid var(--maroon-600);outline-offset:3px;border-radius:6px}
.nav-links a.hot:focus-visible,.btn:focus-visible,.fb-cta:focus-visible{outline-offset:4px}
