/* ===== THEME (ink #11181d, Instrument Sans throughout) ===== */
:root{
  --ink:#11181d; --slate2:#2a3640; --slate5:#5a656d; --slate6:#6b7780;
  --slate8:#8b959d; --slateA:#a7adb3; --lineE:#e9eef2; --bgF:#f4f6f8; --footer:#0d1216;
  --wf-dim:#c9d1d8; --wf-lit:#11181d;
}
* { box-sizing:border-box; }
html,body { margin:0; padding:0; background:#ffffff; color:var(--ink); font-family:'Instrument Sans', sans-serif; -webkit-font-smoothing:antialiased; }
body { overflow-x:hidden; }
img { max-width:100%; display:block; }
a { color:inherit; text-decoration:none; }
.wrap { max-width:none; margin:0; padding:0 4vw; }
.eyebrow { font-size:.78rem; letter-spacing:.22em; text-transform:uppercase; color:var(--slate6); font-weight:600; }
.rv { opacity:0; transform:translateY(28px); }

/* ===== SCROLL TEXT-FILL (signature) ===== */
.wf { color:var(--wf-lit); }
.wfw { display:inline; color:var(--wf-lit); will-change:color; }
.wf-h { font-family:'Instrument Sans',sans-serif; font-weight:700; letter-spacing:-.025em;
  font-size:clamp(2rem,4.8vw,3.7rem); line-height:1.06; margin:.2em 0 .5em; }
.wf-lede { font-family:'Instrument Sans',sans-serif; font-weight:700; letter-spacing:-.02em;
  font-size:clamp(1.5rem,3.2vw,2.7rem); line-height:1.28; margin:0; }
.wf-body { font-size:clamp(1.02rem,1.3vw,1.18rem); line-height:1.8; margin:0 0 1.1em; font-weight:500; }

/* ===== HERO (white, centered — like the reference) ===== */
.about-hero { position:relative; background:#fff; padding:9.5rem 0 0; text-align:center; overflow:hidden; }
.about-hero .eyebrow { color:var(--slate5); }
.about-hero h1 { font-family:'Instrument Sans',sans-serif; font-weight:700; color:var(--ink);
  font-size:clamp(3.4rem,12vw,9.5rem); letter-spacing:-.035em; line-height:.9; margin:.18em 0 .35em; }
.about-hero .subtitle { font-size:clamp(1rem,1.5vw,1.2rem); color:var(--slate5); margin:0 auto 3.4rem; max-width:44ch; }
.hero-banner { position:relative; height:clamp(320px,52vw,620px); border-radius:14px; overflow:hidden;
  margin:0 4vw; box-shadow:0 40px 90px rgba(17,24,29,.18); }
.hero-banner img { position:absolute; inset:0; width:100%; height:120%; object-fit:cover; }
.hero-banner .pal-video { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; border:0; z-index:1; }
.hero-banner:after{ content:""; position:absolute; inset:0; z-index:2; background:linear-gradient(180deg,rgba(17,24,29,.18),rgba(17,24,29,.42)); }
.hero-banner.has-video:after{ display:none; }
.hb-play { position:absolute; left:50%; top:50%; transform:translate(-50%,-50%); width:88px; height:88px; border-radius:999px;
  border:none; background:rgba(255,255,255,.92); color:#11181d; display:flex; align-items:center; justify-content:center;
  cursor:pointer; z-index:3; transition:transform .25s ease, background .25s ease; box-shadow:0 14px 44px rgba(0,0,0,.35); }
.hb-play:hover { transform:translate(-50%,-50%) scale(1.08); background:#fff; }
.hb-play svg { margin-left:5px; }
.hero-banner .lbl { z-index:3; }

/* ===== STATEMENT (big scroll-fill paragraph) ===== */
.statement { padding:7.5rem 0 6rem; }
.statement .wf-lede { max-width:none; text-align:justify; text-justify:inter-word; -webkit-hyphens:auto; hyphens:auto; }

/* ===== SECTIONS ===== */
.sec { padding:7rem 0; }
.sec-head { max-width:820px; }
.sec-head h2 { font-family:'Instrument Sans',sans-serif; font-weight:700; letter-spacing:-.02em;
  font-size:clamp(2rem,4.6vw,3.6rem); line-height:1.05; margin:.3em 0 .45em; }
.sec-head p { font-size:1.05rem; line-height:1.7; color:var(--slate5); }
.ph { position:relative; border-radius:12px; overflow:hidden; }
.ph > img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; z-index:0; }
.ph .lbl { position:absolute; left:14px; bottom:12px; font-size:.64rem; letter-spacing:.16em; text-transform:uppercase; color:rgba(255,255,255,.9); z-index:2; text-shadow:0 1px 6px rgba(0,0,0,.5); }

/* WHO WE ARE */
.who { background:#fff; }
.who-grid { display:grid; grid-template-columns:.92fr 1.08fr; gap:64px; align-items:center; margin-top:46px; }
.who-imgs { position:relative; height:540px; }
.who-imgs .a { position:absolute; width:74%; height:82%; top:0; right:0; border-radius:12px;
  background:linear-gradient(150deg,#2a3640,#11181d 70%); }
.who-imgs .b { position:absolute; width:50%; height:50%; left:0; bottom:0; border-radius:12px;
  background:linear-gradient(150deg,#c2ccd3,#8b959d 70%,#5a656d); box-shadow:0 30px 70px rgba(17,24,29,.25); }
.who-text .who-stats { display:flex; gap:46px; margin-top:34px; flex-wrap:wrap; }
.stat .n { font-family:'Instrument Sans',sans-serif; font-weight:800; font-size:2.6rem; line-height:1; color:var(--ink); }
.stat .l { font-size:.82rem; color:var(--slate6); margin-top:6px; letter-spacing:.04em; }
@media(max-width:880px){ .who-grid{grid-template-columns:1fr;gap:44px} .who-imgs{height:420px;order:-1} }

/* WHAT SETS APART — sticky heading + accordion */
.apart { background:var(--bgF); }
.apart-grid { display:grid; grid-template-columns:.82fr 1.18fr; gap:70px; align-items:start; }
.apart-left { position:sticky; top:90px; }
.acc { border-top:1px solid #d5dce1; }
.acc-row { border-bottom:1px solid #d5dce1; }
.acc-head { width:100%; background:none; border:none; cursor:pointer; display:flex; align-items:center; gap:24px;
  padding:30px 4px; text-align:left; font-family:'Instrument Sans',sans-serif; transition:padding-left .3s ease; }
.acc-head:hover { padding-left:10px; }
.acc-num { font-family:'Instrument Sans',sans-serif; font-weight:800; color:var(--slate8); font-size:.95rem; min-width:30px; }
.acc-title { flex:1; font-weight:700; letter-spacing:-.01em; font-size:clamp(1.2rem,2vw,1.6rem); color:var(--ink); line-height:1.18; }
.acc-icon { font-size:1.7rem; color:var(--slate5); line-height:1; width:24px; text-align:center; transition:transform .3s ease, color .3s ease; }
.acc-row.open .acc-icon { color:var(--ink); transform:rotate(180deg); }
.acc-body { max-height:0; overflow:hidden; transition:max-height .5s cubic-bezier(.4,0,.2,1); }
.acc-row.open .acc-body { max-height:260px; }
.acc-inner { padding:0 4px 30px 78px; }
.acc-inner p { margin:0; color:var(--slate5); line-height:1.75; font-size:1.04rem; max-width:54ch; }
@media(max-width:860px){ .apart-grid{grid-template-columns:1fr;gap:34px} .apart-left{position:static} .acc-inner{padding-left:54px} }

/* TEAM — carousel + progress + banner + cta */
.team { background:#fff; }
.caro { margin:50px 0 0; }
.caro-track { display:flex; gap:22px; overflow-x:auto; scroll-snap-type:x mandatory; padding-bottom:6px;
  scrollbar-width:none; -ms-overflow-style:none; }
.caro-track::-webkit-scrollbar{ display:none; }
.caro-card { flex:0 0 clamp(220px,24vw,290px); scroll-snap-align:start; }
.caro-pic { aspect-ratio:3/4; border-radius:10px; overflow:hidden; position:relative;
  background:linear-gradient(160deg,#39454e,#11181d 85%); display:flex; align-items:center; justify-content:center; }
.caro-pic img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; z-index:0; filter:grayscale(100%); transition:filter .5s ease, transform .6s ease; }
.caro-card:hover .caro-pic img { filter:grayscale(0); transform:scale(1.04); }
.caro-pic:after { content:""; position:absolute; inset:0; background:linear-gradient(180deg,transparent 55%,rgba(0,0,0,.35)); }
.caro-init { font-family:'Instrument Sans',sans-serif; font-weight:800; font-size:2.4rem; color:rgba(255,255,255,.18); letter-spacing:.04em; }
.caro-card h4 { font-family:'Instrument Sans',sans-serif; font-weight:700; font-size:1.1rem; margin:.85em 0 .14em; color:var(--ink); }
.caro-card .role { font-size:.86rem; color:var(--slate6); }
.caro-bottom { display:flex; align-items:center; gap:26px; margin-top:34px; }
.caro-bar { flex:1; height:3px; background:#e1e6ea; border-radius:3px; overflow:hidden; }
.caro-bar-fill { height:100%; background:var(--ink); border-radius:3px; transition:width .15s linear; }
.caro-arrows { display:flex; gap:10px; }
.caro-arrows button { width:46px; height:46px; border-radius:999px; border:1px solid #cfd6db; background:#fff; cursor:pointer;
  font-size:1.1rem; color:var(--ink); display:flex; align-items:center; justify-content:center; transition:.2s; }
.caro-arrows button:hover { background:var(--ink); color:#fff; border-color:var(--ink); }
.team-banner { height:clamp(260px,34vw,420px); border-radius:14px; margin:64px 0 56px; position:relative;
  background:linear-gradient(120deg,#39454e,#11181d 80%); }
.team-cta { display:grid; grid-template-columns:1.4fr 1fr; gap:50px; align-items:center; }
.team-ctas { display:flex; gap:14px; flex-wrap:wrap; }
.tbtn { padding:.95rem 1.9rem; border-radius:999px; font-weight:600; font-size:.94rem; transition:.2s;
  border:1px solid var(--ink); color:var(--ink); cursor:pointer; background:none; display:inline-flex; align-items:center; gap:.55rem; }
.tbtn:hover { background:var(--lineE); transform:translateY(-2px); }
.tbtn.solid { background:var(--ink); color:#fff; border-color:var(--ink); }
.tbtn.solid:hover { background:var(--slate2); }
@media(max-width:860px){ .team-cta{grid-template-columns:1fr;gap:28px} }

/* CORE VALUES — expanding overlapping panels */
.values { background:var(--bgF); }
.vacc { display:flex; gap:12px; height:460px; margin-top:54px; }
.vpanel { position:relative; flex:1; border-radius:12px; overflow:hidden; cursor:pointer; color:#fff;
  transition:flex .55s cubic-bezier(.4,0,.2,1); display:flex; flex-direction:column; justify-content:flex-end; padding:26px 24px; }
.vpanel.active { flex:3.4; }
.vpanel:nth-child(1){ background:linear-gradient(180deg,#2a3640,#11181d); }
.vpanel:nth-child(2){ background:linear-gradient(180deg,#5a656d,#11181d); }
.vpanel:nth-child(3){ background:linear-gradient(180deg,#8b959d,#2a3640); }
.vpanel:nth-child(4){ background:linear-gradient(180deg,#3a4750,#11181d); }
.vpanel:nth-child(5){ background:linear-gradient(180deg,#6b7780,#1b2228); }
.vpanel:before { content:""; position:absolute; inset:0; z-index:1; background:linear-gradient(180deg,rgba(0,0,0,.15),rgba(0,0,0,.62)); }
.vp-img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; z-index:0; }
.vpanel-num,.vpanel-body { position:relative; z-index:2; }
.vpanel-num { font-family:'Instrument Sans',sans-serif; font-weight:800; font-size:.85rem; opacity:.8; margin-bottom:auto; }
.vpanel-body h3 { font-family:'Instrument Sans',sans-serif; font-weight:700; font-size:1.3rem; margin:0 0 .5em; line-height:1.12; }
.vpanel-body p { font-size:.92rem; line-height:1.55; margin:0; opacity:0; max-height:0; overflow:hidden;
  transition:opacity .4s ease .12s, max-height .5s ease; }
.vpanel.active .vpanel-body p { opacity:.95; max-height:140px; }
@media(max-width:780px){
  .vacc{ flex-direction:column; height:auto; }
  .vpanel{ flex:none; min-height:130px; }
  .vpanel.active{ flex:none; }
  .vpanel-body p{ opacity:.95; max-height:140px; }
}
