/* ============================================================
   PINNACLE TRADING — Stylesheet
   Quiet-luxury, B2B trading house. Restrained. Authoritative.
   ============================================================ */

:root {
  --white:  #FFFFFF;
  --off:    #F7F6F4;
  --ink:    #111010;
  --mid:    #555250;
  --faint:  #999590;
  --rule:   rgba(17,16,16,.1);
  --rule-dk:rgba(247,246,244,.14);
  --char:   #111010;
  --serif:  "Cormorant Garamond",Georgia,serif;
  --sans:   "Jost",system-ui,sans-serif;
  --maxw:   1180px;
  --ease:   cubic-bezier(.22,.61,.36,1);
  --blue:   #1A6FA8;
  --blue-dk:#155C8C;
}

/* ── reset ── */
*,*::before,*::after{box-sizing:border-box;}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;}
body{
  margin:0;
  font-family:var(--sans);
  font-size:15px;
  line-height:1.7;
  font-weight:400;
  letter-spacing:.01em;
  color:var(--ink);
  background:var(--white);
  -webkit-font-smoothing:antialiased;
}
h1,h2,h3,h4{
  font-family:var(--serif);
  font-weight:500;
  line-height:1.1;
  letter-spacing:.01em;
  margin:0;
}
p{margin:0;}
a{color:inherit;text-decoration:none;}
img{max-width:100%;display:block;}
::selection{background:var(--char);color:#fff;}

/* ── layout ── */
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 48px;}

/* ── label / eyebrow ── */
.label{
  display:block;
  font-family:var(--sans);
  font-size:.62rem;
  font-weight:500;
  letter-spacing:.26em;
  text-transform:uppercase;
  color:var(--faint);
}

/* ── buttons ── */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:.6em;
  font-family:var(--sans);font-size:.68rem;font-weight:500;
  letter-spacing:.2em;text-transform:uppercase;
  padding:.9em 2em;
  border:1px solid var(--blue);
  background:var(--blue);color:#fff;
  line-height:1;white-space:nowrap;cursor:pointer;
  transition:background .25s,color .25s,border-color .25s;
}
.btn:hover{background:transparent;color:var(--blue);border-color:var(--blue);}
.btn .arw{transition:transform .25s var(--ease);}
.btn:hover .arw{transform:translateX(3px);}
.btn--ghost{background:transparent;color:var(--ink);border-color:var(--ink);}
.btn--ghost:hover{background:var(--blue);color:#fff;border-color:var(--blue);}
.on-dark .btn,.cta-sec .btn,.sec--dark .btn{
  background:#fff;color:var(--ink);border-color:#fff;
}
.on-dark .btn:hover,.cta-sec .btn:hover,.sec--dark .btn:hover{
  background:transparent;color:#fff;border-color:rgba(255,255,255,.6);
}

/* inline text link */
.tlink{
  font-family:var(--sans);font-size:.68rem;font-weight:500;
  letter-spacing:.18em;text-transform:uppercase;
  display:inline-flex;align-items:center;gap:.5em;
  border-bottom:1px solid var(--rule);
  padding-bottom:2px;
  transition:border-color .2s,color .2s;
}
.tlink:hover{border-color:var(--blue);color:var(--blue);}
.tlink .arw{transition:transform .25s var(--ease);}
.tlink:hover .arw{transform:translateX(3px);}
.on-dark .tlink{border-color:rgba(247,246,244,.25);color:#fff;}
.on-dark .tlink:hover{border-color:#fff;}

/* ── utility bar ── */
.util{
  background:var(--char);
  color:rgba(247,246,244,.55);
  font-family:var(--sans);
  font-size:.6rem;
  font-weight:400;
  letter-spacing:.2em;
  text-transform:uppercase;
}
.util .wrap{
  display:flex;
  justify-content:space-between;
  align-items:center;
  height:36px;
  gap:16px;
}
.util a{transition:color .2s;}
.util a:hover{color:var(--blue);}
.util-r{display:flex;gap:20px;align-items:center;}

/* ── header / nav ── */
header{
  position:sticky;top:0;z-index:100;
  background:#fff;
  border-bottom:1px solid var(--rule);
  transition:box-shadow .3s;
}
header.scrolled{
  box-shadow:0 4px 24px -8px rgba(17,16,16,.08);
}
.nav{
  display:flex;align-items:center;
  justify-content:space-between;
  height:120px;gap:24px;
}

/* brand / logo */
.brand{display:inline-flex;align-items:center;gap:.6em;color:var(--ink);}
.brand .apex{flex:none;}
.brand-mark{height:100px;width:auto;display:block;flex:none;}
.wordmark{display:flex;flex-direction:column;line-height:1;}
.wm-name{
  font-family:var(--serif);font-weight:600;
  font-size:1.1rem;letter-spacing:.2em;text-transform:uppercase;
  white-space:nowrap;
}
.wm-sub{
  font-family:var(--sans);font-weight:400;
  font-size:.48rem;letter-spacing:.4em;text-transform:uppercase;
  color:var(--faint);margin-top:5px;
}

/* nav links */
.navlinks{display:flex;align-items:center;gap:28px;}
.navlinks a{
  font-family:var(--sans);font-size:.60rem;font-weight:500;
  letter-spacing:.16em;text-transform:uppercase;
  color:var(--mid);
  position:relative;padding:4px 0;
  transition:color .2s;
}
.navlinks a::after{
  content:"";position:absolute;left:0;bottom:-2px;
  height:1px;width:0;background:var(--blue);
  transition:width .3s var(--ease);
}
.navlinks a:hover,.navlinks a.active{color:var(--blue);}
.navlinks a:hover::after,.navlinks a.active::after{width:100%;}

.nav-cta{display:flex;align-items:center;gap:14px;}

/* hamburger */
.burger{
  display:none;background:none;border:0;cursor:pointer;
  width:24px;height:16px;position:relative;flex:none;
}
.burger span{
  position:absolute;left:0;height:1px;width:100%;
  background:var(--ink);transition:.28s var(--ease);
}
.burger span:nth-child(1){top:0;}
.burger span:nth-child(2){top:7px;}
.burger span:nth-child(3){top:14px;}
body.menu-open .burger span:nth-child(1){top:7px;transform:rotate(45deg);}
body.menu-open .burger span:nth-child(2){opacity:0;}
body.menu-open .burger span:nth-child(3){top:7px;transform:rotate(-45deg);}

.burger{ position:relative; z-index:110; }

/* ── mobile panel ── */
.scrim{
  position:fixed;inset:0;background:rgba(17,16,16,.3);
  z-index:80;opacity:0;pointer-events:none;transition:opacity .35s;
}
body.menu-open .scrim{opacity:1;pointer-events:auto;}
.mobile-panel{
  position:fixed;inset:0 0 0 auto;
  width:min(86%,340px);
  background:#fff;z-index:90;
  border-left:1px solid var(--rule);
  transform:translateX(100%);
  transition:transform .38s var(--ease);
  padding:72px 28px 32px;
  display:flex;flex-direction:column;
  overflow-y:auto;
}
body.menu-open .mobile-panel{transform:none;}
.mobile-panel a.nav-link{
  display:block;
  font-family:var(--sans);font-size:.72rem;font-weight:500;
  letter-spacing:.18em;text-transform:uppercase;
  color:var(--ink);
  padding:16px 0;
  border-bottom:1px solid var(--rule);
}
.mobile-panel a.nav-link:last-of-type{border-bottom:0;}
.mobile-panel .mpanel-cta{
  display:flex;align-items:center;justify-content:center;
  font-family:var(--sans);font-size:.64rem;font-weight:500;
  letter-spacing:.18em;text-transform:uppercase;
  padding:.95em 1.8em;
  background:var(--blue);color:#fff;border:1px solid var(--blue);
  margin-top:24px;
  transition:background .25s,color .25s;
}
.mobile-panel .mpanel-cta:hover{background:transparent;color:var(--blue);}

/* ── sections ── */
.sec{padding:88px 0;}
.sec--dark{background:var(--char);color:#fff;}
.sec--dark h1,.sec--dark h2,.sec--dark h3,.sec--dark h4{color:#fff;}
.sec--off{background:var(--off);}

/* section heading block */
.sh{margin-bottom:52px;max-width:780px;}
.sh .label{margin-bottom:16px;}
.sh h2{font-size:clamp(1.55rem,2.8vw,2.2rem);font-weight:500;max-width:40ch;}
.sh p{margin-top:14px;font-size:.96rem;color:var(--mid);max-width:60ch;line-height:1.7;}
.sec--dark .sh p{color:rgba(247,246,244,.62);}

/* ── hero ── */
.hero{background:var(--char);color:#fff;overflow:hidden;}
.hero-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  min-height:580px;
  align-items:stretch;
}
.hero-copy{
  display:flex;flex-direction:column;justify-content:center;
  padding:80px 56px 80px 48px;
}
.hero .label{color:rgba(247,246,244,.5);margin-bottom:20px;}
.hero h1{
  font-family:var(--serif);
  font-size:clamp(2rem,3.6vw,3.2rem);
  font-weight:500;line-height:1.08;
  color:#fff;
  max-width:20ch;
}
.hero-sub{
  margin-top:18px;
  font-size:.95rem;line-height:1.75;
  color:rgba(247,246,244,.65);
  max-width:44ch;
}
.hero-cta{margin-top:28px;display:flex;gap:16px;align-items:center;flex-wrap:wrap;}
.hero-figures{
  display:flex;
  border-top:1px solid var(--rule-dk);
  margin-top:44px;
  padding-top:32px;
  gap:0;
}
.hf{
  flex:1;
  display:flex;flex-direction:column;gap:6px;
  padding-right:20px;
}
.hf+.hf{border-left:1px solid var(--rule-dk);padding-left:20px;padding-right:0;}
.hf-n{
  font-family:var(--serif);
  font-size:clamp(1.5rem,2.2vw,2rem);
  font-weight:500;line-height:1;
  color:#fff;
}
.hf-n b{font-weight:500;}
.hf-l{
  font-family:var(--sans);font-size:.56rem;font-weight:500;
  letter-spacing:.16em;text-transform:uppercase;
  color:rgba(247,246,244,.45);
  line-height:1.4;
}
.hero-media{position:relative;overflow:hidden;background:#1a1815;}
.hero-media img{
  position:absolute;inset:0;width:100%;height:100%;
  object-fit:cover;object-position:center;
  opacity:.9;
}

/* ── credibility strip ── */
.cred{border-bottom:1px solid var(--rule);}
.cred-row{
  display:flex;align-items:center;gap:10px 20px;
  padding:13px 0;flex-wrap:wrap;
}
.cred-label{
  font-family:var(--sans);font-size:.6rem;font-weight:400;
  letter-spacing:.18em;text-transform:uppercase;color:var(--mid);
  padding-right:6px;
  border-right:1px solid var(--rule);
  margin-right:4px;
}
.cred-item{
  font-family:var(--sans);font-size:.6rem;font-weight:500;
  letter-spacing:.14em;text-transform:uppercase;color:var(--faint);
}
.cred-dot{color:var(--rule);font-size:.7rem;}

/* ── scrolling ticker ── */
.ticker{
  border-top:1px solid var(--rule);
  border-bottom:1px solid var(--rule);
  overflow:hidden;
  background:var(--off);
}
.ticker-track{
  display:flex;width:max-content;
  animation:tick 50s linear infinite;
}
.ticker:hover .ticker-track{animation-play-state:paused;}
.ticker-group{
  display:flex;align-items:center;flex:0 0 auto;padding:14px 0;
}
.ticker-group span{
  font-family:var(--sans);font-size:.6rem;font-weight:500;
  letter-spacing:.22em;text-transform:uppercase;
  color:var(--mid);white-space:nowrap;
}
.ticker-group .sep{color:var(--faint);padding:0 20px;}
@keyframes tick{from{transform:translateX(0)}to{transform:translateX(-50%)}}

/* ── assure (3-col trust) ── */
.assure{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:0;
  margin-top:52px;
  border-top:1px solid var(--rule);
}
.as-item{
  padding:36px 40px 0 0;
  border-right:1px solid var(--rule);
}
.as-item:first-child{padding-left:0;}
.as-item:nth-child(2){padding-left:40px;}
.as-item:last-child{border-right:0;padding-left:40px;padding-right:0;}
.as-n{
  font-family:var(--sans);font-size:.6rem;font-weight:500;
  letter-spacing:.22em;text-transform:uppercase;color:var(--faint);
  display:block;margin-bottom:18px;
}
.as-item h3{font-family:var(--serif);font-size:1.25rem;font-weight:500;}
.as-item p{margin-top:10px;color:var(--mid);font-size:.92rem;line-height:1.7;}

/* ── categories list ── */
.catsec{background:var(--white);}
.cat-list{margin-top:0;border-top:1px solid var(--rule);}
.cat-row{
  display:grid;
  grid-template-columns:3.5rem 1fr 2fr 6rem 1.5rem;
  align-items:center;column-gap:28px;
  padding:22px 0;
  border-bottom:1px solid var(--rule);
  text-decoration:none;color:var(--ink);
  transition:background .2s;
}
.cat-row:hover{background:var(--off);}
.cr-idx{
  font-family:var(--sans);font-size:.58rem;font-weight:500;
  letter-spacing:.18em;color:var(--faint);
}
.cr-name{
  font-family:var(--serif);
  font-size:clamp(1.1rem,2vw,1.5rem);
  font-weight:500;line-height:1.15;
}
.cr-desc{color:var(--mid);font-size:.88rem;line-height:1.55;}
.cr-tag{
  font-family:var(--sans);font-size:.54rem;font-weight:500;
  letter-spacing:.16em;text-transform:uppercase;color:var(--faint);
  text-align:right;
}
.cr-tag:empty{display:none;}
.cr-arw{
  font-size:.9rem;color:var(--faint);
  justify-self:end;
  transition:transform .25s var(--ease),color .2s;
}
.cat-row:hover .cr-arw{transform:translateX(4px);color:var(--blue);}
.cat-foot{
  margin-top:36px;padding-top:28px;
  border-top:1px solid var(--rule);
  display:flex;justify-content:space-between;
  align-items:center;gap:20px;flex-wrap:wrap;
}
.cat-foot p{color:var(--mid);font-size:.88rem;max-width:48ch;}

/* ── proof / testimonial ── */
.proof.sec--dark .wrap{
  display:grid;grid-template-columns:1.15fr .85fr;gap:64px;align-items:center;
}
.pq{
  font-family:var(--serif);
  font-size:clamp(1.3rem,2.4vw,1.85rem);
  line-height:1.38;font-weight:400;font-style:italic;
  color:#fff;
}
.pby{
  margin-top:20px;
  font-family:var(--sans);font-size:.6rem;font-weight:500;
  letter-spacing:.2em;text-transform:uppercase;
  color:rgba(247,246,244,.45);
}
.trusted{border-top:1px solid var(--rule-dk);}
.tr-label{
  display:block;
  font-family:var(--sans);font-size:.58rem;font-weight:500;
  letter-spacing:.2em;text-transform:uppercase;
  color:rgba(247,246,244,.4);
  padding:14px 0 10px;
}
.tr-row{
  border-top:1px solid var(--rule-dk);
  padding:16px 0;
  display:flex;align-items:baseline;justify-content:space-between;gap:12px;
}
.tr-n{font-family:var(--serif);font-size:1.5rem;font-weight:500;color:#fff;}
.tr-l{
  font-family:var(--sans);font-size:.58rem;font-weight:500;
  letter-spacing:.14em;text-transform:uppercase;
  color:rgba(247,246,244,.45);text-align:right;
}

/* ── process steps ── */
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin-top:52px;}
.step{padding:28px 32px 0 0;border-top:1px solid var(--rule);}
.step+.step{border-left:1px solid var(--rule);padding-left:32px;}
.sn{
  font-family:var(--sans);font-size:.58rem;font-weight:500;
  letter-spacing:.2em;text-transform:uppercase;color:var(--faint);
  display:block;margin-bottom:18px;
}
.step h3{font-family:var(--serif);font-size:1.1rem;font-weight:500;}
.step p{margin-top:8px;color:var(--mid);font-size:.88rem;line-height:1.65;}

/* ── CTA / form section ── */
.cta-sec{background:var(--char);}
.cta-sec .wrap{
  display:grid;grid-template-columns:1fr 1fr;gap:72px;align-items:start;
}
.cta-copy .label{color:rgba(247,246,244,.45);margin-bottom:16px;}
.cta-sec h2{font-size:clamp(1.5rem,2.6vw,2rem);font-weight:500;color:#fff;max-width:20ch;}
.cta-copy .lead{margin-top:14px;font-size:.95rem;line-height:1.72;color:rgba(247,246,244,.65);max-width:40ch;}
.cta-list{margin-top:20px;padding:0;list-style:none;}
.cta-list li{
  font-size:.88rem;color:rgba(247,246,244,.75);
  padding:12px 0;border-top:1px solid var(--rule-dk);
  display:flex;align-items:flex-start;gap:.8em;
}
.cta-list li:last-child{border-bottom:1px solid var(--rule-dk);}
.ck{color:rgba(247,246,244,.35);flex:none;}
.cta-paths{
  margin-top:20px;
  font-family:var(--sans);font-size:.64rem;
  letter-spacing:.12em;text-transform:uppercase;
  color:rgba(247,246,244,.4);
}
.cta-paths a{
  color:rgba(247,246,244,.75);
  border-bottom:1px solid rgba(247,246,244,.2);
  padding-bottom:1px;transition:border-color .2s,color .2s;
}
.cta-paths a:hover{color:#fff;border-color:rgba(247,246,244,.7);}
.cta-paths .sep{margin:0 6px;opacity:.4;}

/* form */
form.req{background:transparent;border:0;padding:0;}
.frow{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px;}
.field{display:flex;flex-direction:column;gap:8px;}
.field.full{grid-column:1/-1;}
.field label{
  font-family:var(--sans);font-size:.58rem;font-weight:500;
  letter-spacing:.18em;text-transform:uppercase;
  color:rgba(247,246,244,.45);
}
.field input,.field select,.field textarea{
  background:transparent;border:0;
  border-bottom:1px solid rgba(247,246,244,.18);
  padding:.6em 0;
  color:#fff;font-family:var(--sans);font-size:.9rem;
  transition:border-color .25s;
}
.field textarea{resize:vertical;min-height:56px;}
.field input::placeholder,.field textarea::placeholder{color:rgba(247,246,244,.25);}
.field input:focus,.field select:focus,.field textarea:focus{
  outline:none;border-color:rgba(247,246,244,.6);
}
.field select{
  appearance:none;cursor:pointer;color:#fff;
  background-image:
    linear-gradient(45deg,transparent 50%,rgba(247,246,244,.5) 50%),
    linear-gradient(135deg,rgba(247,246,244,.5) 50%,transparent 50%);
  background-position:calc(100% - 14px) center,calc(100% - 9px) center;
  background-size:4px 4px,4px 4px;background-repeat:no-repeat;
}
.field select option{background:var(--char);color:#fff;}
form.req .btn{width:100%;margin-top:8px;justify-content:center;}
.form-note{
  margin-top:12px;text-align:center;
  font-family:var(--sans);font-size:.55rem;
  letter-spacing:.1em;text-transform:uppercase;
  color:rgba(247,246,244,.3);
}
.form-success{display:none;text-align:center;padding:32px 0;}
.form-success.on{display:block;}
.form-success .fs-ico{
  width:44px;height:44px;border-radius:50%;
  border:1px solid rgba(247,246,244,.35);
  display:flex;align-items:center;justify-content:center;
  margin:0 auto 16px;color:#fff;
}
.form-success h3{color:#fff;font-size:1.4rem;font-weight:500;}
.form-success p{margin-top:10px;color:rgba(247,246,244,.6);font-size:.88rem;}

/* ── image + text split ── */
.imgsplit{display:grid;grid-template-columns:.92fr 1.08fr;gap:56px;align-items:center;}
.imgsplit.rev{grid-template-columns:1.08fr .92fr;}
.imgsplit.rev .is-media{order:2;}
.is-media{position:relative;overflow:hidden;aspect-ratio:4/5;background:#1a1815;}
.is-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
.is-text .label{margin-bottom:14px;}
.is-text h2{font-size:clamp(1.5rem,2.6vw,2.1rem);margin-top:0;font-weight:500;}
.is-lede{margin-top:14px;color:var(--mid);font-size:.95rem;line-height:1.72;}
.is-p{margin-top:10px;color:var(--mid);font-size:.92rem;line-height:1.7;}

/* categories page — compact uniform image sections */
.cat-section-wrap .imgsplit{gap:40px;align-items:center;}
.cat-section-wrap .is-media{aspect-ratio:3/2;max-height:320px;}
.cat-section-wrap .sec{padding:52px 0;}
.is-text .mission{
  margin-top:20px;
  border-left:1px solid var(--rule);padding-left:18px;
  font-family:var(--serif);font-style:italic;
  font-size:1.05rem;color:var(--ink);line-height:1.55;
}
.is-text .tlink{margin-top:22px;}

/* ── footer ── */
footer{background:var(--char);color:rgba(247,246,244,.5);padding:72px 0 32px;}

/* brand lockup on top: submark + name */
.foot-top{
  display:flex;align-items:center;gap:18px;
  padding-bottom:40px;margin-bottom:40px;
  border-bottom:1px solid var(--rule-dk);
}
.foot-logo{height:120px;width:auto;display:block;flex:none;}
.foot-name{
  font-family:var(--serif);font-size:1.5rem;font-weight:500;
  letter-spacing:.16em;text-transform:uppercase;color:#fff;line-height:1;
}

/* three columns beneath the brand */
.foot-cols{display:grid;grid-template-columns:1fr 1fr 1fr;gap:40px;}
.foot-col h4{
  font-family:var(--sans);font-size:.56rem;font-weight:500;
  letter-spacing:.22em;text-transform:uppercase;
  color:rgba(247,246,244,.4);margin:0 0 18px;
}
.foot-col ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px;}
.foot-col a{font-size:.86rem;transition:color .2s;}
.foot-col a:hover{color:#fff;}
.foot-col address{font-style:normal;font-size:.86rem;line-height:1.8;}
.foot-col p{font-size:.86rem;line-height:1.7;}

.foot-bar{
  margin-top:52px;padding-top:24px;border-top:1px solid var(--rule-dk);
  display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap;
  font-family:var(--sans);font-size:.56rem;font-weight:400;
  letter-spacing:.14em;text-transform:uppercase;
  color:rgba(247,246,244,.3);
}
.foot-bar a:hover{color:#fff;}
.fb-links{display:flex;gap:20px;}

/* ── interior pages ── */
.page-hero{background:var(--white);padding:80px 0 72px;border-bottom:1px solid var(--rule);}
.crumb{
  font-family:var(--sans);font-size:.6rem;font-weight:500;
  letter-spacing:.18em;text-transform:uppercase;
  color:var(--faint);display:flex;gap:.7em;align-items:center;
  margin-bottom:24px;
}
.crumb a:hover{color:var(--ink);}
.crumb .sep{opacity:.5;}
.page-hero h1{font-size:clamp(1.8rem,4vw,3rem);font-weight:500;max-width:22ch;}
.page-hero .ph-sub{margin-top:16px;font-size:.95rem;line-height:1.7;color:var(--mid);max-width:56ch;}

/* split / prose (about, partners) */
.split{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center;}
.split.rev{grid-template-columns:1fr 1fr;}
.prose-block .label{margin-bottom:12px;}
.prose-block h2{font-size:clamp(1.5rem,2.6vw,2.1rem);font-weight:500;}
.prose-block .lead{
  margin-top:18px;font-size:1.1rem;line-height:1.55;
  color:var(--ink);font-family:var(--serif);font-weight:400;font-style:italic;
}
.prose-block p{margin-top:14px;color:var(--mid);font-size:.92rem;line-height:1.75;}
.prose-block .btn{margin-top:28px;}

/* quote band */
.band{background:var(--char);}
.band .wrap{padding:80px 48px;text-align:center;}
.band-q{
  font-family:var(--serif);
  font-size:clamp(1.4rem,3vw,2.2rem);
  line-height:1.38;font-weight:400;font-style:italic;
  max-width:30ch;margin:18px auto 0;color:#fff;
}
.band-q .mk{font-style:normal;color:rgba(247,246,244,.3);}

/* stats */
.stats{border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);}
.stats .wrap{display:grid;grid-template-columns:repeat(4,1fr);gap:0;}
.stats .wrap.stats--6{grid-template-columns:repeat(6,1fr);}
.stat{padding:28px 16px;text-align:center;border-right:1px solid var(--rule);}
.stat:last-child{border-right:0;}
.stats--6 .stat:nth-child(3n){border-right:1px solid var(--rule);}
.stats--6 .stat:last-child{border-right:0;}
.stat .num{
  font-family:var(--serif);
  font-size:clamp(1.4rem,2.2vw,2rem);
  font-weight:500;line-height:1;
}
.stat .num b{font-weight:500;}
.stat .lab{
  font-family:var(--sans);font-size:.55rem;font-weight:500;
  letter-spacing:.18em;text-transform:uppercase;color:var(--faint);margin-top:8px;
}

/* duo columns (partners) */
.duo{display:grid;grid-template-columns:1fr 1fr;gap:0;margin-top:52px;border-top:1px solid var(--rule);}
.duo-card{padding:36px 48px 36px 0;border-right:1px solid var(--rule);}
.duo-card:last-child{padding:36px 0 36px 48px;border-right:0;}
.duo-card .dn{
  font-family:var(--sans);font-size:.6rem;font-weight:500;
  letter-spacing:.2em;text-transform:uppercase;color:var(--faint);
  margin-bottom:12px;
}
.duo-card h3{font-family:var(--serif);font-size:1.45rem;font-weight:500;}
.duo-card p{margin-top:12px;color:var(--mid);font-size:.9rem;line-height:1.65;}
.duo-card ul{margin:18px 0 0;padding:0;list-style:none;}
.duo-card li{
  display:flex;gap:.8em;align-items:flex-start;
  font-size:.88rem;color:var(--mid);
  padding:11px 0;border-top:1px solid var(--rule);
}
.duo-card li .mk{color:var(--faint);flex:none;}
.duo-card .btn{margin-top:22px;}

/* logo wall */
.logo-wall{
  display:grid;grid-template-columns:repeat(4,1fr);gap:0;
  border:1px solid var(--rule);margin-top:44px;
}
.logo-cell{
  aspect-ratio:3/1;
  display:flex;align-items:center;justify-content:center;
  font-family:var(--sans);font-size:.72rem;font-weight:500;
  letter-spacing:.14em;text-transform:uppercase;color:var(--faint);
  border-right:1px solid var(--rule);border-bottom:1px solid var(--rule);
  transition:color .2s,background .2s;
}
.logo-cell:last-child{border-right:0;}
.logo-cell:nth-last-child(-n+4){border-bottom:0;}
.logo-cell:hover{color:var(--ink);background:var(--off);}
.placeholder-tag{
  margin-top:14px;display:inline-block;
  font-family:var(--sans);font-size:.58rem;
  letter-spacing:.14em;text-transform:uppercase;color:var(--faint);
}


/* val grid (partners dark) */
.val-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:0;margin-top:52px;border-top:1px solid var(--rule-dk);}
.val{padding:36px 44px 36px 0;border-bottom:1px solid var(--rule-dk);}
.val:nth-child(odd){border-right:1px solid var(--rule-dk);}
.val:nth-child(even){padding-left:44px;padding-right:0;}
.val:nth-last-child(-n+2){border-bottom:0;}
.val .vn{
  font-family:var(--sans);font-size:.58rem;font-weight:500;
  letter-spacing:.18em;text-transform:uppercase;color:rgba(247,246,244,.4);
  margin-bottom:12px;
}
.val h3{font-size:1.2rem;color:#fff;font-weight:500;}
.val p{margin-top:10px;color:rgba(247,246,244,.6);font-size:.9rem;line-height:1.7;}


/* Specific overrides for white background sections */
.light-bg {
  background-color: #ffffff;
}

.light-bg h2,
.light-bg h3 {
  color: #000000 !important;
}

.light-bg .label,
.light-bg .vn {
  color: rgba(0, 0, 0, 0.6) !important;
}

.light-bg p {
  color: rgba(0, 0, 0, 0.75) !important;
}

.light-bg .val-grid,
.light-bg .val {
  border-color: #e0e0e0 !important;
}

/* timeline inside a light-bg section */
.light-bg .tl-yr{ color:#000000 !important; }
.light-bg .tl-tx{ color:rgba(0,0,0,.72) !important; }
.light-bg .tl-yr::before{ background:rgba(0,0,0,.45) !important; }
.light-bg .tl-item{ border-color:#e0e0e0 !important; }

/* careers perks */
.perks{display:grid;grid-template-columns:repeat(3,1fr);gap:0 48px;margin-top:48px;}
.perk{padding:36px 0;border-top:1px solid var(--rule);}
.perk:nth-child(-n+3){border-top:0;}
.perk:nth-last-child(-n+3){border-bottom:0;}
.perk .pk-ico{color:var(--mid);}
.perk h3{margin-top:16px;font-family:var(--serif);font-size:1.1rem;font-weight:500;}
.perk p{margin-top:8px;color:var(--mid);font-size:.86rem;line-height:1.6;}

/* roles list */
.roles{margin-top:48px;border-top:1px solid var(--rule);}
.role{
  display:flex;justify-content:space-between;align-items:center;gap:20px;
  padding:22px 0;border-bottom:1px solid var(--rule);
  transition:padding .25s,background .2s;cursor:pointer;
}
.role:hover{padding-left:14px;background:var(--off);}
.r-title{font-family:var(--serif);font-size:1.25rem;font-weight:500;}
.r-meta{
  font-family:var(--sans);font-size:.58rem;font-weight:500;
  letter-spacing:.15em;text-transform:uppercase;
  color:var(--faint);margin-top:7px;display:flex;gap:1em;flex-wrap:wrap;
}
.r-apply{
  font-family:var(--sans);font-size:.62rem;font-weight:500;
  letter-spacing:.18em;text-transform:uppercase;color:var(--mid);
  display:inline-flex;gap:.5em;align-items:center;white-space:nowrap;
  transition:color .2s;
}
.role:hover .r-apply{color:var(--blue);}
.r-apply .arw{transition:transform .25s var(--ease);}
.role:hover .r-apply .arw{transform:translateX(3px);}

/* contact */
.contact-grid{display:grid;grid-template-columns:.72fr 1.28fr;gap:64px;align-items:start;}
.contact-info{border-top:1px solid var(--rule-dk);}
.ci-item{padding:20px 0;border-bottom:1px solid var(--rule-dk);}
.ci-label{
  font-family:var(--sans);font-size:.58rem;font-weight:500;
  letter-spacing:.18em;text-transform:uppercase;color:rgba(247,246,244,.4);
}
.ci-val{
  margin-top:8px;font-family:var(--serif);font-size:1rem;
  line-height:1.5;color:#fff;font-weight:400;
}
.ci-val a:hover{color:rgba(247,246,244,.7);}

/* map */
.map-panel{background:var(--off);}
.map-wrap{
  aspect-ratio:16/6;border:1px solid var(--rule);
  background:#1a1815;
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;
  color:#fff;position:relative;overflow:hidden;
  margin-top:36px;
}
.map-wrap::before{
  content:"";position:absolute;inset:0;opacity:.25;
  background:
    linear-gradient(rgba(247,246,244,.06) 1px,transparent 1px) 0 0/40px 40px,
    linear-gradient(90deg,rgba(247,246,244,.06) 1px,transparent 1px) 0 0/40px 40px;
}
.map-wrap .pin{position:relative;z-index:2;color:rgba(247,246,244,.7);}
.map-wrap .map-addr{
  position:relative;z-index:2;
  font-family:var(--sans);font-size:.62rem;font-weight:500;
  letter-spacing:.16em;text-transform:uppercase;
  color:rgba(247,246,244,.65);text-align:center;line-height:1.9;
}
.map-wrap .btn{position:relative;z-index:2;}

/* timeline */
.timeline{margin-top:52px;display:grid;grid-template-columns:repeat(4,1fr);gap:0;}
.tl-item{padding:0 28px;border-left:1px solid var(--rule-dk);}
.tl-item:first-child{padding-left:0;border-left:0;}
.tl-dot{display:none;}
.tl-yr{font-family:var(--serif);font-size:1.5rem;font-weight:500;color:#fff;position:relative;padding-left:16px;}
.tl-yr::before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:5px;height:5px;border-radius:50%;background:rgba(247,246,244,.4);}
.tl-tx{margin-top:10px;font-size:.88rem;color:rgba(247,246,244,.6);line-height:1.6;}

/* legal */
.legal{max-width:700px;margin:0 auto;}
.legal .note{
  border-left:2px solid var(--rule);padding:16px 20px;
  font-family:var(--sans);font-size:.82rem;color:var(--mid);
  margin-bottom:36px;line-height:1.7;
}
.legal h2{font-family:var(--serif);font-size:1.4rem;margin-top:40px;font-weight:500;}
.legal h2:first-of-type{margin-top:0;}
.legal p,.legal li{color:var(--mid);font-size:.92rem;line-height:1.8;margin-top:12px;}
.legal ul{padding-left:20px;margin-top:10px;}
.legal a{color:var(--ink);text-decoration:underline;text-underline-offset:2px;}
.legal .updated{
  font-family:var(--sans);font-size:.6rem;font-weight:500;
  letter-spacing:.16em;text-transform:uppercase;color:var(--faint);margin-bottom:28px;
  display:block;
}

/* ── reveal animation ── */
.rv{opacity:0;transform:translateY(16px);transition:opacity .7s var(--ease),transform .7s var(--ease);}
.rv.in{opacity:1;transform:none;}

/* ── focus ── */
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{
  outline:2px solid var(--ink);outline-offset:3px;
}
.sec--dark a:focus-visible,.cta-sec a:focus-visible,.cta-sec input:focus-visible,
.cta-sec select:focus-visible,.cta-sec textarea:focus-visible{outline-color:#fff;}

/* ── heritage (homepage about strip) ── */
.heritage .wrap{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center;}



/* 1. Only prepare the container if it has the specific darkening class */
.is-media.rv.darkened-media {
  position: relative;
  display: inline-block; 
}

/* 2. Hide the overlay by default on normal images */
.dark-overlay {
  display: none;
}

/* 3. Only display and style the overlay when inside your targeted container */
.darkened-media .dark-overlay {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.2); /* Adjust darkness level here */
  pointer-events: none;
  z-index: 2;
}


/* ============================================================
   RESPONSIVE
   ============================================================ */

@media(max-width:1080px){
  .foot-cols{gap:32px;}
  .cta-sec .wrap{gap:48px;}
  .cat-row{grid-template-columns:3rem 1fr 1.5fr 5rem 1.5rem;column-gap:20px;}
}

@media(max-width:900px){
  /* nav → burger */
  .navlinks{display:none;}
  .burger{display:block;}
  .nav-cta .btn{display:none;}

  /* hero stacks */
  .hero-grid{grid-template-columns:1fr;min-height:0;}
  .hero-copy{padding:56px 48px 44px;}
  .hero h1{font-size:clamp(1.75rem,6vw,2.6rem);}
  .hero-media{min-height:260px;aspect-ratio:16/9;order:2;}
  .hero-figures{flex-wrap:wrap;}

  /* image splits */
  .imgsplit,.imgsplit.rev{grid-template-columns:1fr;gap:32px;}
  .imgsplit.rev .is-media{order:0;}
  .is-media{aspect-ratio:16/9;}

  /* heritage */
  .heritage .wrap{grid-template-columns:1fr;gap:36px;}

  /* categories — simplified on tablet */
  .cat-row{grid-template-columns:2.5rem 1fr 1.5rem;column-gap:14px;}
  .cr-desc{display:none;}
  .cr-tag{display:none;}

  /* cta section */
  .cta-sec .wrap{grid-template-columns:1fr;gap:36px;}

  /* grids */
  .proof.sec--dark .wrap{display:block;}
  .trusted{margin-top:32px;}
  .split,.split.rev{grid-template-columns:1fr;gap:36px;}
  .duo{grid-template-columns:1fr;border-top:0;}
  .duo-card,.duo-card:last-child{padding:28px 0;border-right:0;border-top:1px solid var(--rule);}
  .contact-grid{grid-template-columns:1fr;gap:36px;}
  .steps{grid-template-columns:1fr 1fr;gap:0;}
  .step{border-top:1px solid var(--rule);border-left:0;padding:28px 24px 0 0;}
  .step+.step{border-left:0;padding-left:0;}
  .step:nth-child(even){border-left:1px solid var(--rule);padding-left:24px;padding-right:0;}
  .val-grid{grid-template-columns:1fr;}
  .val,.val:nth-child(odd),.val:nth-child(even){padding:28px 0;border-right:0;border-bottom:1px solid var(--rule-dk);}
  .val:last-child{border-bottom:0;}
  .stats .wrap{grid-template-columns:repeat(3,1fr);gap:0;}
  .stats .wrap.stats--6{grid-template-columns:repeat(3,1fr);}
  .stat{padding:22px 12px;border-bottom:1px solid var(--rule);}
  .stat:nth-child(3n){border-right:0;}
  .stat:nth-child(3n+1),.stat:nth-child(3n+2){border-right:1px solid var(--rule);}
  .stats--6 .stat:nth-child(3n){border-right:0;}
  .stats--6 .stat:nth-last-child(-n+3){border-bottom:0;}
  .perks{grid-template-columns:1fr;gap:0;}
  .perk{padding:24px 0;border-top:1px solid var(--rule);}
  .perk:nth-child(-n+3){border-top:1px solid var(--rule);}
  .perk:first-child{border-top:0;}
  .logo-wall{grid-template-columns:1fr 1fr;}
  .logo-cell:nth-child(2n){border-right:0;}
  .logo-cell:nth-last-child(-n+4){border-bottom:1px solid var(--rule);}
  .logo-cell:nth-last-child(-n+2){border-bottom:0;}
  .timeline{grid-template-columns:1fr 1fr;gap:0;}
  .tl-item:nth-child(odd){padding-left:0;border-left:0;}
}

@media(max-width:600px){
  .wrap{padding:0 20px;}
  .sec{padding:60px 0;}

  /* util bar */
  .util .wrap{height:auto;padding:9px 20px;}
  .util .util-l{display:none;}
  .util-r{width:100%;justify-content:center;}
  .util .ucont{display:none;}

  /* header */
  .nav{height:58px;}
  .brand-mark{height:32px;}
  .wm-name{font-size:0.8rem;}
  .wm-sub{display:none;}

  /* hero */
  .hero-copy{padding:44px 20px 36px;}
  .hero h1{font-size:clamp(1.55rem,7vw,2.2rem);}
  .hero-sub{font-size:.88rem;}
  .hero-cta{flex-direction:column;align-items:flex-start;gap:12px;}
  .hero-cta .btn{padding:.8em 0;background:transparent;border:0;border-bottom:1px solid rgba(247,246,244,.5);color:#fff;letter-spacing:.2em;}
  .hero-media{min-height:200px;}
  .hero-figures{margin-top:24px;padding-top:22px;}
  .hf-n{font-size:1.35rem;}
  .hf{padding-right:14px;}
  .hf+.hf{padding-left:14px;}

  /* credibility */
  .cred-row{padding:10px 0;gap:6px 12px;}
  .cred-label{display:none;}
  .cred-dot{display:none;}

  /* ticker */
  .ticker-group{padding:10px 0;}
  .ticker-group .sep{padding:0 14px;}

  /* categories */
  .cat-row{padding:16px 0;column-gap:10px;}
  .cr-name{font-size:1rem;}

  /* assure */
  .assure{grid-template-columns:1fr;border-top:0;}
  .as-item,.as-item:first-child,.as-item:nth-child(2),.as-item:last-child{
    padding:24px 0;border-right:0;border-top:1px solid var(--rule);
  }
  .as-item:first-child{border-top:1px solid var(--rule);}

  /* section heads */
  .sh h2{font-size:clamp(1.3rem,6vw,1.75rem);}

  /* page heroes */
  .page-hero{padding:56px 0 52px;}
  .page-hero h1{font-size:clamp(1.55rem,7vw,2.2rem);}

  /* form */
  .frow{grid-template-columns:1fr;gap:12px;margin-bottom:12px;}

  /* stats */
  .stats .wrap,.stats .wrap.stats--6{grid-template-columns:1fr 1fr;}
  .stat{padding:20px 10px;border-bottom:1px solid var(--rule);}
  .stat:nth-child(odd){border-right:1px solid var(--rule);}
  .stat:nth-child(even){border-right:0;}
  .stat:nth-last-child(-n+2):nth-child(odd),.stat:nth-last-child(-n+2):nth-child(even){border-bottom:0;}
  .stats--6 .stat:nth-child(3n){border-right:inherit;}

  /* proof */
  .proof.sec--dark .wrap{padding-top:0;}
  .pq{font-size:clamp(1.1rem,5vw,1.45rem);}

  /* band */
  .band .wrap{padding:60px 20px;}
  .band-q{font-size:clamp(1.15rem,5.5vw,1.7rem);}

  /* steps */
  .steps{grid-template-columns:1fr;}
  .step,.step:nth-child(even){border-left:0;border-top:1px solid var(--rule);padding:22px 0;padding-right:0;}
  .step:first-child{border-top:0;}

  /* roles */
  .role{flex-direction:column;align-items:flex-start;gap:10px;padding:18px 0;}
  .r-title{font-size:1.1rem;}

  /* map — taller on mobile so it isn't a thin strip */
  .map-wrap{aspect-ratio:4/3;}

  /* timeline */
  .timeline{grid-template-columns:1fr;gap:0;}
  .tl-item{padding:20px 0;border-left:0;border-top:1px solid var(--rule-dk);}
  .tl-item:first-child{border-top:0;}

  /* logo wall */
  .logo-wall{grid-template-columns:1fr 1fr;}
  .logo-cell{font-size:.62rem;}

  /* duo */
  .duo-card:last-child{border-top:1px solid var(--rule);}

  /* footer — centered stack */
   .foot-top{flex-direction:column;text-align:center;gap:16px;padding-bottom:32px;margin-bottom:32px;}
  .foot-logo{height:104px;margin:0 auto;}
  .foot-name{font-size:1.25rem;letter-spacing:.1em;white-space:nowrap;}
  .foot-cols{grid-template-columns:1fr;gap:32px;text-align:center;}
  .foot-col ul{align-items:center;}
  .foot-bar{flex-direction:column;align-items:center;gap:8px;text-align:center;}
  .fb-links{justify-content:center;}

  /* mobile panel */

  .mobile-panel{
    width:100%;
    padding:100px 24px 32px;
  }
  
}

/* ── FAQ accordion ── */
.acc{margin-top:0;border-top:1px solid var(--rule);max-width:860px;}
.acc-item{border-bottom:1px solid var(--rule);}
.acc-head{
  display:flex;align-items:center;justify-content:space-between;gap:24px;
  width:100%;text-align:left;background:none;border:0;cursor:pointer;
  padding:26px 4px;font-family:var(--serif);font-size:1.12rem;font-weight:500;
  color:var(--ink);transition:color .2s;
}
.acc-head:hover{color:var(--blue);}
.acc-head .q-num{
  font-family:var(--sans);font-size:.68rem;font-weight:500;color:var(--faint);
  letter-spacing:.1em;margin-right:14px;
}
.acc-head .q-plus{
  flex:none;width:18px;height:18px;position:relative;color:var(--mid);
}
.acc-head .q-plus::before,.acc-head .q-plus::after{
  content:'';position:absolute;background:currentColor;
  top:50%;left:50%;transform:translate(-50%,-50%);
}
.acc-head .q-plus::before{width:14px;height:1px;}
.acc-head .q-plus::after{width:1px;height:14px;transition:transform .25s var(--ease);}
.acc-item.open .q-plus::after{transform:translate(-50%,-50%) rotate(90deg) scaleY(0);}
.acc-item.open .acc-head{color:var(--blue);}
.acc-body{
  max-height:0;overflow:hidden;transition:max-height .3s var(--ease);
}
.acc-item.open .acc-body{max-height:600px;}
.acc-body-in{padding:0 4px 28px;max-width:74ch;}
.acc-body-in p{color:var(--mid);font-size:.96rem;line-height:1.75;}
.acc-body-in p+p{margin-top:12px;}

.faq-cta{
  margin-top:64px;padding:48px 40px;background:var(--off);
  display:flex;flex-direction:column;align-items:center;text-align:center;
}
.faq-cta-lead{
  font-family:var(--serif);font-size:1.6rem;font-weight:500;
  color:var(--ink);line-height:1.15;
}
.faq-cta-sub{
  margin-top:8px;font-family:var(--serif);font-style:italic;
  font-size:1.05rem;color:var(--mid);line-height:1.35;max-width:42ch;
}
.faq-cta .btn{margin-top:24px;}

@media(max-width:640px){
  .faq-cta{padding:36px 24px;}
  .faq-cta-lead{font-size:1.35rem;}
  .acc-head{font-size:1.02rem;padding:22px 2px;}
  .acc-head .q-num{display:none;}
}

/* categories "don't see" CTA (#enquire) — trim size, keep the label on one line */
#enquire .label{ letter-spacing:.14em; }
#enquire h2{ font-size:clamp(1.35rem,3vw,1.9rem); max-width:24ch; margin:0 auto; }
#enquire .lead{ margin-top:14px; font-size:.92rem; line-height:1.7; }
@media(max-width:600px){
  #enquire .label{ font-size:.55rem; letter-spacing:.05em; }
  #enquire h2{ font-size:1.3rem; }
  #enquire .lead{ font-size:.86rem; }
}

/* about page CTA columns (#about-cta) — full sentences shouldn't render at headline size */
#about-cta h2{ font-size:clamp(1.15rem,2.2vw,1.6rem); line-height:1.3; font-weight:500; }

@media(prefers-reduced-motion:reduce){
  *{animation-duration:.001ms!important;transition-duration:.001ms!important;}
  .rv{opacity:1;transform:none;}
  .ticker-track{animation:none!important;}
}


.pt-band,.pt-img{
  position:relative;isolation:isolate;
  background-color:var(--char);
  background-size:cover;background-position:center;background-repeat:no-repeat;
}
.pt-band::before,.pt-img::before{
  content:"";position:absolute;inset:0;z-index:0;pointer-events:none;
  background:
    linear-gradient(180deg,rgba(17,16,16,.55),rgba(17,16,16,.72)),
    linear-gradient(0deg,rgba(26,111,168,.16),rgba(26,111,168,.16));
}
.pt-band>*,.pt-img>*{position:relative;z-index:1;}

.pt-band{
  min-height:clamp(260px,40vw,440px);
  display:grid;place-items:center;text-align:center;
  overflow:hidden;padding:64px 0;
}
.pt-band .pt-band-in{max-width:760px;padding:0 48px;color:#fff;}
.pt-band .label{color:rgba(247,246,244,.55);margin-bottom:16px;}
.pt-band h2{
  font-family:var(--serif);font-weight:500;color:#fff;
  font-size:clamp(1.5rem,3.2vw,2.4rem);line-height:1.18;max-width:24ch;margin:0 auto;
}
.pt-band .pt-band-sub{
  margin-top:14px;font-family:var(--sans);font-size:.6rem;font-weight:500;
  letter-spacing:.18em;text-transform:uppercase;color:rgba(247,246,244,.6);
}
.pt-band .btn{margin-top:26px;background:#fff;color:var(--ink);border-color:#fff;}
.pt-band .btn:hover{background:transparent;color:#fff;border-color:rgba(255,255,255,.6);}

@media(max-width:600px){
  .pt-band{min-height:240px;padding:52px 0;}
  .pt-band .pt-band-in{padding:0 20px;}
}