/* =========================================================================
   LAKESIDE MINERALS — Copper & Gold institutional design system
   Aesthetic: refined dark luxury · warm charcoal · copper/gold accents
   Type: Cinzel (display, matches logo) · Fraunces (editorial) · Hanken Grotesk (body)
   ========================================================================= */

:root{
  /* palette */
  --ink:        #0b0d0f;
  --ink-1:      #101316;
  --ink-2:      #14181c;
  --ink-3:      #1b2025;
  --ink-card:   #161a1e;
  --paper:      #f4efe6;
  --paper-2:    #ece5d8;
  --text:       #ece7df;
  --muted:      #9a9489;
  --muted-2:    #767169;
  --line:       rgba(236,231,223,.12);
  --line-soft:  rgba(236,231,223,.07);

  --copper:     #c47a4a;
  --copper-br:  #e2965f;
  --gold:       #cda85f;
  --gold-br:    #e3c486;
  --grad:       linear-gradient(120deg, var(--copper) 0%, var(--gold) 100%);
  --grad-text:  linear-gradient(100deg, var(--copper-br) 0%, var(--gold-br) 70%);

  /* type */
  --f-display: 'Cinzel', 'Times New Roman', serif;
  --f-serif:   'Fraunces', Georgia, serif;
  --f-body:    'Hanken Grotesk', -apple-system, BlinkMacSystemFont, sans-serif;

  --maxw: 1280px;
  --gutter: clamp(20px, 5vw, 64px);
  --ease: cubic-bezier(.22,.61,.36,1);
  --header-h: 78px;
}

/* ---------- reset ---------- */
*,*::before,*::after{ box-sizing:border-box; margin:0; padding:0; }
html{ scroll-behavior:smooth; -webkit-text-size-adjust:100%; }
body{
  font-family:var(--f-body);
  background:var(--ink);
  color:var(--text);
  line-height:1.6;
  font-size:17px;
  font-weight:380;
  letter-spacing:.005em;
  overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
img{ max-width:100%; display:block; }
a{ color:inherit; text-decoration:none; }
ul{ list-style:none; }
::selection{ background:var(--copper); color:#000; }

/* film grain + warmth atmosphere overlay */
body::before{
  content:""; position:fixed; inset:0; z-index:1; pointer-events:none;
  background:
    radial-gradient(120% 80% at 15% -10%, rgba(196,122,74,.10), transparent 60%),
    radial-gradient(100% 70% at 100% 110%, rgba(205,168,95,.07), transparent 55%);
  mix-blend-mode:screen;
}

/* ---------- layout helpers ---------- */
.wrap{ width:100%; max-width:var(--maxw); margin-inline:auto; padding-inline:var(--gutter); }
.section{ position:relative; padding:clamp(72px,10vw,140px) 0; z-index:2; }
.section--tight{ padding:clamp(56px,7vw,96px) 0; }
.section--light{ background:var(--paper); color:#26221c; }
.section--light .eyebrow{ color:var(--copper); }
.section--light .muted{ color:#6b6258; }
.divider{ height:1px; background:var(--line); border:0; }

/* ---------- typography ---------- */
.eyebrow{
  font-family:var(--f-body);
  font-weight:600; font-size:.74rem; letter-spacing:.32em; text-transform:uppercase;
  color:var(--gold-br); display:inline-flex; align-items:center; gap:.8em;
}
.eyebrow::before{ content:""; width:34px; height:1px; background:var(--grad); display:inline-block; }
.eyebrow--center::after{ content:""; width:34px; height:1px; background:var(--grad); display:inline-block; }

h1,h2,h3{ font-family:var(--f-display); font-weight:600; line-height:1.04; letter-spacing:.01em; }
.display{
  font-family:var(--f-display); font-weight:700;
  font-size:clamp(2.6rem,7vw,5.6rem); line-height:.98; letter-spacing:.005em;
  text-transform:uppercase;
}
.h2{ font-size:clamp(1.9rem,4vw,3.1rem); text-transform:uppercase; letter-spacing:.02em; }
.h3{ font-size:clamp(1.3rem,2.4vw,1.8rem); text-transform:uppercase; letter-spacing:.04em; }
.lead{ font-family:var(--f-serif); font-weight:380; font-size:clamp(1.25rem,2.4vw,1.7rem); line-height:1.5; color:#d7d1c6; }
.section--light .lead{ color:#3a352d; }
/* anchor offset under sticky header */
section[id], div[id].anchor{ scroll-margin-top:80px; }
/* full-screen "slide" sections (like the presentation pages) */
.slide-min{ min-height:100vh; display:flex; flex-direction:column; justify-content:center; }
.slide-full{ min-height:100vh; display:flex; flex-direction:column; }
.slide-pad-top{ padding-top:calc(var(--header-h) + clamp(26px,5vh,56px)); }
.grow-media{ flex:1 1 auto; min-height:clamp(300px,46vh,560px); position:relative; overflow:hidden; }
.grow-media img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
/* full-bleed media (edge to edge) */
.fullbleed{ width:100vw; position:relative; left:50%; right:50%; margin-left:-50vw; margin-right:-50vw; }
/* tall portrait media */
.media-tall{ position:relative; height:clamp(560px,88vh,920px); border-radius:3px; overflow:hidden; }
.media-tall img{ width:100%; height:100%; object-fit:cover; object-position:center; }
.media-wide{ position:relative; height:clamp(360px,62vh,640px); overflow:hidden; }
.media-wide img{ width:100%; height:100%; object-fit:cover; }
.muted{ color:var(--muted); }
.serif{ font-family:var(--f-serif); }
.gold-text{
  background:var(--grad-text); -webkit-background-clip:text; background-clip:text; color:transparent;
}
.measure{ max-width:60ch; }
.measure-sm{ max-width:46ch; }

/* ---------- buttons ---------- */
.btn{
  display:inline-flex; align-items:center; gap:.7em;
  font-family:var(--f-body); font-weight:600; font-size:.82rem; letter-spacing:.16em; text-transform:uppercase;
  padding:1.05em 1.9em; border:1px solid transparent; border-radius:2px; cursor:pointer;
  transition:.4s var(--ease); position:relative; overflow:hidden;
}
.btn .arw{ transition:transform .4s var(--ease); }
.btn:hover .arw{ transform:translateX(5px); }
.btn--primary{ background:var(--grad); color:#1a0f06; }
.btn--primary:hover{ box-shadow:0 12px 34px -10px rgba(196,122,74,.6); transform:translateY(-2px); }
.btn--ghost{ border-color:var(--line); color:var(--text); background:rgba(255,255,255,.02); }
.btn--ghost:hover{ border-color:var(--gold); color:var(--gold-br); }
.section--light .btn--ghost{ border-color:rgba(0,0,0,.18); color:#26221c; }
.section--light .btn--ghost:hover{ border-color:var(--copper); color:var(--copper); }

/* =========================================================================
   HEADER
   ========================================================================= */
.header{
  position:fixed; top:0; left:0; right:0; z-index:100;
  height:var(--header-h);
  display:flex; align-items:center;
  transition:background .5s var(--ease), border-color .5s var(--ease), backdrop-filter .5s;
  border-bottom:1px solid transparent;
}
/* sticky header turns brand-blue once scrolled; .header--solid forces it for
   pages that open on a white section (e.g. Lakeside Project) */
.header.scrolled,
.header--solid{
  background:rgba(42,127,254,.95);
  backdrop-filter:blur(16px) saturate(140%);
  -webkit-backdrop-filter:blur(16px) saturate(140%);
  border-bottom-color:rgba(255,255,255,.18);
  box-shadow:0 8px 30px rgba(13,52,120,.28);
  height:66px;
}
.header--solid{ position:fixed; }
.header.scrolled .nav a,
.header--solid .nav a{ color:rgba(255,255,255,.88); }
.header.scrolled .nav a:hover,
.header.scrolled .nav a.active,
.header--solid .nav a:hover,
.header--solid .nav a.active{ color:#fff; }
.header.scrolled .nav a::after,
.header--solid .nav a::after{ background:#fff; }
.header__inner{ width:100%; max-width:var(--maxw); margin-inline:auto; padding-inline:var(--gutter);
  display:flex; align-items:center; justify-content:space-between; gap:24px; }
/* logo = emblem stacked over a single-line wordmark, matching the presentation */
.brand{ display:flex; flex-direction:column; align-items:center; gap:5px; text-align:center; }
.brand__mark{ width:30px; height:auto; filter:drop-shadow(0 2px 6px rgba(0,0,0,.4)); }
.brand__word{ font-family:'Cinzel', serif; font-weight:700; font-size:.82rem; letter-spacing:.2em; text-transform:uppercase; color:var(--paper); line-height:1; white-space:nowrap; }

.nav{ display:flex; align-items:center; gap:6px; }
.nav a{
  font-weight:500; font-size:.82rem; letter-spacing:.08em; text-transform:uppercase; color:#cfc9bf;
  padding:.6em .95em; border-radius:2px; position:relative; transition:color .3s;
}
.nav a::after{ content:""; position:absolute; left:.95em; right:.95em; bottom:.35em; height:1px; background:var(--grad); transform:scaleX(0); transform-origin:left; transition:transform .35s var(--ease); }
.nav a:hover{ color:#fff; }
.nav a:hover::after, .nav a.active::after{ transform:scaleX(1); }
.nav a.active{ color:var(--gold-br); }
.nav__cta{ margin-left:14px; padding:.7em 1.3em !important; border:1px solid var(--line); border-radius:2px; }
.nav__cta:hover{ border-color:var(--gold); }
.nav__cta::after{ display:none; }

/* mobile nav */
.burger{ display:none; flex-direction:column; gap:5px; width:30px; height:30px; justify-content:center; background:none; border:0; cursor:pointer; z-index:120; }
.burger span{ height:2px; width:24px; background:var(--paper); transition:.35s var(--ease); border-radius:2px; }
.nav-open .burger span:nth-child(1){ transform:translateY(7px) rotate(45deg); }
.nav-open .burger span:nth-child(2){ opacity:0; }
.nav-open .burger span:nth-child(3){ transform:translateY(-7px) rotate(-45deg); }

/* =========================================================================
   HERO
   ========================================================================= */
.hero{ position:relative; min-height:100svh; display:flex; align-items:flex-start; overflow:hidden; }
.hero__bg{ position:absolute; inset:0; z-index:0; }
.hero__bg img{ width:100%; height:100%; object-fit:cover; transform:scale(1.08); animation:heroPan 18s var(--ease) forwards; }
@keyframes heroPan{ to{ transform:scale(1); } }
.hero__bg::after{
  content:""; position:absolute; inset:0;
  background:
    linear-gradient(180deg, rgba(11,13,15,.36) 0%, rgba(11,13,15,.06) 36%, rgba(11,13,15,.24) 78%, rgba(11,13,15,.58) 100%),
    linear-gradient(90deg, rgba(11,13,15,.30), transparent 52%);
}
.hero__inner{ position:relative; z-index:2; width:100%; max-width:var(--maxw); margin-inline:auto; padding:calc(var(--header-h) + clamp(100px,13vh,160px)) var(--gutter) clamp(56px,8vh,110px); }
/* bigger monitors: the vh padding caps out, so the title floats too high —
   push it further down as the viewport grows */
@media (min-width:1600px){
  .hero__inner{ padding-top:calc(var(--header-h) + clamp(160px,16vh,240px)); }
}
@media (min-width:1920px){
  .hero__inner{ padding-top:calc(var(--header-h) + clamp(220px,20vh,330px)); }
}
@media (min-width:2400px){
  .hero__inner{ padding-top:calc(var(--header-h) + clamp(300px,24vh,440px)); }
}
/* hero title — Montserrat (matches the presentation), static, white */
.hero__title{ font-family:'Montserrat', sans-serif; font-weight:800; color:#fff;
  font-size:clamp(1.8rem, 3.7vw, 3.1rem); line-height:1.12; letter-spacing:-.012em;
  text-shadow:0 2px 26px rgba(0,0,0,.42); }
.hero__title span{ display:block; }
.hero__sub{ max-width:46ch; font-family:var(--f-serif); font-size:clamp(1.15rem,2vw,1.5rem); color:#ded8cd; margin-bottom:38px; opacity:0; animation:rise .9s var(--ease) .75s forwards; }
.hero__cta{ display:flex; flex-wrap:wrap; gap:16px; opacity:0; animation:rise .9s var(--ease) .95s forwards; }
.hero__scroll{ position:absolute; bottom:30px; left:50%; transform:translateX(-50%); z-index:3; display:flex; flex-direction:column; align-items:center; gap:10px; font-size:.6rem; letter-spacing:.3em; text-transform:uppercase; color:var(--muted); opacity:0; animation:fade 1s ease 1.4s forwards; }
.hero__scroll .line{ width:1px; height:46px; background:linear-gradient(var(--gold),transparent); position:relative; overflow:hidden; }
.hero__scroll .line::after{ content:""; position:absolute; top:-50%; left:0; width:100%; height:50%; background:var(--gold-br); animation:scrolldot 2s ease-in-out infinite; }
@keyframes scrolldot{ 0%{top:-50%}60%,100%{top:100%} }

@keyframes rise{ to{ transform:translateY(0); opacity:1; } }
@keyframes fade{ to{ opacity:1; } }

/* hero ticker / facts strip */
.factstrip{ position:relative; z-index:2; border-top:1px solid var(--line); border-bottom:1px solid var(--line); background:var(--ink-1); }
.factstrip__grid{ display:grid; grid-template-columns:repeat(4,1fr); }
.fact{ padding:34px var(--gutter); border-right:1px solid var(--line-soft); }
.fact:last-child{ border-right:0; }
.fact__n{ font-family:var(--f-serif); font-weight:500; font-size:clamp(2rem,3.4vw,2.9rem); line-height:1; color:var(--gold-br); }
.fact__l{ margin-top:10px; font-size:.78rem; letter-spacing:.12em; text-transform:uppercase; color:var(--muted); }

/* =========================================================================
   GENERIC CONTENT BLOCKS
   ========================================================================= */
.split{ display:grid; grid-template-columns:1.05fr .95fr; gap:clamp(36px,6vw,90px); align-items:center; }
.split--rev .split__media{ order:-1; }
.sec-head{ margin-bottom:clamp(34px,5vw,58px); }
.sec-head .eyebrow{ margin-bottom:22px; }

.figure{ position:relative; border-radius:3px; overflow:hidden; }
.figure img{ width:100%; height:100%; object-fit:cover; }
.figure--frame{ border:1px solid var(--line); padding:10px; background:var(--ink-2); }
.figure__cap{ font-size:.74rem; letter-spacing:.1em; text-transform:uppercase; color:var(--muted); margin-top:14px; }

/* feature list */
.flist{ display:flex; flex-direction:column; gap:2px; }
.flist li{ display:grid; grid-template-columns:auto 1fr; gap:20px; padding:22px 0; border-top:1px solid var(--line); align-items:start; }
.flist li:last-child{ border-bottom:1px solid var(--line); }
.flist .idx{ font-family:var(--f-serif); font-size:1.1rem; color:var(--gold-br); padding-top:2px; }
.flist .ft{ font-weight:600; font-size:1.05rem; color:var(--text); }
.flist .fd{ color:var(--muted); font-size:.95rem; }

/* big stat band */
.statband{ display:grid; grid-template-columns:repeat(5,1fr); gap:1px; background:var(--line); border:1px solid var(--line); }
.statband .st{ background:var(--ink-1); padding:38px 26px; text-align:center; }
.statband .st__n{ font-family:var(--f-serif); font-size:clamp(2.4rem,4vw,3.4rem); line-height:1; color:transparent; background:var(--grad-text); -webkit-background-clip:text; background-clip:text; }
.statband .st__l{ margin-top:14px; font-size:.8rem; letter-spacing:.06em; color:var(--muted); line-height:1.4; }

/* card grid */
.cards{ display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
.card{ background:var(--ink-card); border:1px solid var(--line); border-radius:3px; padding:34px 30px; transition:.45s var(--ease); position:relative; overflow:hidden; }
.card::after{ content:""; position:absolute; left:0; top:0; height:2px; width:0; background:var(--grad); transition:width .5s var(--ease); }
.card:hover{ transform:translateY(-6px); border-color:rgba(205,168,95,.4); }
.card:hover::after{ width:100%; }
.card h3{ font-size:1.15rem; margin-bottom:12px; }
.card p{ color:var(--muted); font-size:.95rem; }

/* quote / pull */
.pull{ font-family:var(--f-serif); font-size:clamp(1.6rem,3.4vw,2.5rem); line-height:1.32; font-weight:380; }
.pull em{ font-style:normal; color:transparent; background:var(--grad-text); -webkit-background-clip:text; background-clip:text; }

/* =========================================================================
   INTERACTIVE TARGETS MAP
   ========================================================================= */
.tmap-layout{ display:grid; grid-template-columns:300px 1fr; gap:34px; align-items:start; }
.tlist{ display:flex; flex-direction:column; gap:10px; }
.tlist__head{ font-size:.74rem; letter-spacing:.28em; text-transform:uppercase; color:var(--gold-br); margin-bottom:8px; }
.tbtn{
  display:flex; align-items:center; justify-content:space-between; gap:14px;
  padding:16px 18px; border:1px solid var(--line); border-radius:3px; background:var(--ink-1);
  font-family:var(--f-display); font-weight:600; font-size:.96rem; letter-spacing:.06em; text-transform:uppercase;
  cursor:pointer; transition:.35s var(--ease); width:100%; text-align:left; color:var(--text);
}
.tbtn .dot{ width:9px; height:9px; border-radius:50%; background:var(--grad); flex-shrink:0; box-shadow:0 0 0 0 rgba(226,150,95,.5); }
.tbtn .meta{ flex:1; }
.tbtn small{ display:block; font-family:var(--f-body); font-weight:400; font-size:.66rem; letter-spacing:.12em; color:var(--muted); margin-top:3px; }
.tbtn .arw{ color:var(--muted); transition:.35s var(--ease); }
.tbtn:hover, .tbtn.is-active{ border-color:var(--gold); background:var(--ink-3); transform:translateX(4px); }
.tbtn:hover .arw, .tbtn.is-active .arw{ color:var(--gold-br); transform:translateX(3px); }
.tbtn.is-active .dot{ animation:dotpulse 1.6s ease-out infinite; }
@keyframes dotpulse{ 0%{box-shadow:0 0 0 0 rgba(226,150,95,.5)} 100%{box-shadow:0 0 0 9px rgba(226,150,95,0)} }

.tmap{ position:relative; border:1px solid var(--line); border-radius:4px; overflow:hidden; background:#0a0c0e; box-shadow:0 30px 80px -40px rgba(0,0,0,.8); }
.tmap__img{ display:block; width:100%; transition:transform 1.2s var(--ease), filter 1.2s var(--ease); }
/* live light-sweep passing through the Cu-Au target areas */
.tmap .sweep{ position:absolute; inset:0; z-index:8; pointer-events:none; overflow:hidden; opacity:0; transition:opacity .9s var(--ease); mix-blend-mode:screen; }
.tmap .sweep::before{ content:""; position:absolute; top:-25%; left:-50%; width:42%; height:150%;
  background:linear-gradient(105deg, rgba(227,196,134,0) 0%, rgba(227,196,134,.28) 38%, rgba(255,243,214,.7) 50%, rgba(227,196,134,.28) 62%, rgba(227,196,134,0) 100%);
  filter:blur(7px); transform:skewX(-10deg); animation:sweepMove 3.6s cubic-bezier(.45,.05,.4,1) infinite; }
@keyframes sweepMove{ 0%{ left:-50%; } 55%,100%{ left:120%; } }
/* visible only while scrolling down and the map is in view; fades on scroll up */
body.scroll-down .tmap.in .sweep{ opacity:1; }
body.scroll-up .tmap.in .sweep{ opacity:0; }
@media (prefers-reduced-motion:reduce){ .tmap .sweep{ display:none; } }
.tmap__legend{ position:absolute; left:16px; bottom:16px; z-index:5; display:flex; gap:18px; flex-wrap:wrap; background:rgba(11,13,15,.7); backdrop-filter:blur(6px); padding:10px 14px; border:1px solid var(--line); border-radius:3px; font-size:.7rem; letter-spacing:.08em; text-transform:uppercase; color:#cfc9bf; }
.tmap__legend span{ display:inline-flex; align-items:center; gap:7px; }
.tmap__legend i{ width:9px; height:9px; border-radius:50%; background:var(--grad); }

/* pins — bold, high-contrast marker that reads on any background */
.pin{ position:absolute; z-index:6; width:34px; height:34px; cursor:pointer;
  transform:translate(-50%,-50%) translateY(-14px) scale(.6); transform-origin:center center; opacity:0;
  transition:opacity .55s var(--ease), transform .6s var(--ease); transition-delay:var(--pd,.5s); }
.tmap.in .pin{ opacity:1; transform:translate(-50%,-50%) translateY(0) scale(1); }
.pin__ring{ position:absolute; top:50%; left:50%; width:22px; height:22px; border-radius:50%;
  transform:translate(-50%,-50%); border:2px solid #0b0d0f;
  background:rgba(11,13,15,.35); box-shadow:0 2px 10px rgba(0,0,0,.7); transition:.3s var(--ease); }
.pin__core{ position:absolute; top:50%; left:50%; width:14px; height:14px; border-radius:50%;
  transform:translate(-50%,-50%); background:var(--pc,var(--gold-br)); border:2px solid #0b0d0f;
  box-shadow:0 0 0 2px rgba(255,255,255,.9), 0 3px 8px rgba(0,0,0,.6); }
.pin__pulse{ position:absolute; top:50%; left:50%; width:22px; height:22px; border-radius:50%;
  transform:translate(-50%,-50%); border:2px solid var(--pc,var(--gold-br)); box-shadow:0 0 6px rgba(0,0,0,.6);
  animation:pinpulse 2.2s ease-out infinite; }
@keyframes pinpulse{ 0%{ transform:translate(-50%,-50%) scale(.55); opacity:.95 } 100%{ transform:translate(-50%,-50%) scale(2.6); opacity:0 } }
.pin__label{
  position:absolute; left:50%; bottom:calc(100% + 10px); transform:translateX(-50%) translateY(6px);
  background:var(--ink); border:1px solid var(--pc,var(--gold)); color:#fff;
  font-family:var(--f-display); font-weight:600; font-size:.76rem; letter-spacing:.1em; text-transform:uppercase;
  padding:6px 12px; border-radius:2px; white-space:nowrap; opacity:0; pointer-events:none; transition:.35s var(--ease);
}
.pin__label::after{ content:""; position:absolute; top:100%; left:50%; transform:translateX(-50%); border:5px solid transparent; border-top-color:var(--pc,var(--gold)); }
.pin:hover{ z-index:9; }
.pin:hover .pin__label, .pin.is-active .pin__label{ opacity:1; transform:translateX(-50%) translateY(0); }
.pin:hover .pin__ring, .pin.is-active .pin__ring{ transform:translate(-50%,-50%) scale(1.4); border-color:var(--pc,var(--gold-br)); background:rgba(11,13,15,.5); }
.pin:hover .pin__core, .pin.is-active .pin__core{ box-shadow:0 0 0 3px rgba(255,255,255,1), 0 3px 10px rgba(0,0,0,.7); }

/* Lakeside Project map: no circle markers — blue name tags only, matching the
   homepage Cu-Au targets map */
.ptg__map .pin__ring, .ptg__map .pin__core, .ptg__map .pin__pulse{ display:none; }
.ptg__map .pin__label{ background:var(--slide-blue); border:0; color:#fff;
  font-family:'Montserrat',sans-serif; font-weight:600; font-size:.72rem; letter-spacing:.02em; text-transform:none;
  padding:5px 10px; box-shadow:0 4px 14px rgba(0,0,0,.35); }
.ptg__map .pin__label::after{ border-top-color:var(--slide-blue); }
/* pins near the map's top edge: drop the tag below so it isn't clipped */
.pin--below .pin__label{ bottom:auto; top:calc(100% + 10px); transform:translateX(-50%) translateY(-6px); }
.pin--below:hover .pin__label, .pin--below.is-active .pin__label{ transform:translateX(-50%) translateY(0); }
.ptg__map .pin--below .pin__label::after{ top:auto; bottom:100%; border-top-color:transparent; border-bottom-color:var(--slide-blue); }

/* =========================================================================
   INFRASTRUCTURE
   ========================================================================= */
.infra-graphic{ background:var(--ink-2); border:1px solid var(--line); border-radius:4px; padding:clamp(20px,3vw,40px); }
.infra-graphic img{ width:100%; }
/* ===== ABOUT (slide 3) — full-screen white panel, edge to edge ===== */
.about{ background:var(--ink); padding:0; }
.about__box{ position:relative; background:#fff; color:#16140f; overflow:hidden;
  min-height:calc(100vh - 20px); display:flex; flex-direction:column; }
/* stylish copper corner brackets */
.about__box .brk{ position:absolute; width:24px; height:24px; z-index:5; pointer-events:none; }
.about__box .brk--tl{ top:20px; left:22px; border-top:2px solid #2a7ffe; border-left:2px solid #2a7ffe; }
.about__box .brk--tr{ top:20px; right:22px; border-top:2px solid #2a7ffe; border-right:2px solid #2a7ffe; }
.about__box .brk--bl{ bottom:20px; left:22px; border-bottom:2px solid #2a7ffe; border-left:2px solid #2a7ffe; }
.about__box .brk--br{ bottom:20px; right:22px; border-bottom:2px solid #2a7ffe; border-right:2px solid #2a7ffe; }
.about__inner{ flex:0 0 auto; padding:clamp(42px,7vh,92px) clamp(28px,5vw,72px) clamp(42px,7vh,92px); }
/* centered middle column (~60% of page) with whitespace either side */
.about__col{ width:60%; max-width:60%; margin-inline:auto; text-align:center; }
.about__col .eyebrow{ justify-content:center; }
.about__col .lead{ margin-inline:auto; }
.about__col .about__body{ margin-inline:auto; }
@media (max-width:900px){ .about__col{ width:86%; max-width:86%; } }
.about__inner .eyebrow{ color:#2a7ffe; }
.about__inner .eyebrow::before{ background:#2a7ffe; }
.about .lead{ color:#171510; font-family:'Montserrat',sans-serif; font-weight:600; margin-top:clamp(10px,1.4vh,16px);
  font-size:clamp(1.06rem,1.5vw,1.34rem); line-height:1.42; max-width:none; letter-spacing:-.005em; }
.about .lead .accent{ color:inherit; }
.about__body{ font-family:'Montserrat',sans-serif; font-weight:400; color:#5f584d; font-size:clamp(.92rem,.98vw,1.02rem); line-height:1.65; max-width:none; margin-top:14px; }
.about__col .eyebrow{ font-family:'Montserrat',sans-serif; }
/* big image fills the rest of the full-screen card, with a light Ken-Burns drift */
.about__fig{ position:relative; flex:1 1 auto; min-height:240px; overflow:hidden; border-top:1px solid rgba(0,0,0,.1); }
.about__fig img{ position:absolute; left:0; top:0; width:100%; height:100%; object-fit:cover;
  transform-origin:center; animation:aboutPan 22s ease-in-out infinite alternate; will-change:transform; }
@keyframes aboutPan{ 0%{ transform:scale(1.02) translate(0,0); } 100%{ transform:scale(1.1) translate(-1.5%,-1%); } }
@media (prefers-reduced-motion:reduce){ .about__fig img{ animation:none; transform:scale(1.02); } }

/* ===== LOCATION (slide 4) — built full-screen white ===== */
.loc{ position:relative; background:#ffffff; color:#16140f; min-height:100vh; display:flex; flex-direction:column;
  gap:clamp(22px,3.4vh,48px);
  padding:calc(var(--header-h) + clamp(22px,3.6vh,48px)) clamp(28px,5vw,76px) clamp(42px,6vh,86px); }
.loc .brk{ position:absolute; width:24px; height:24px; z-index:3; pointer-events:none; }
.loc .brk--tl{ top:74px; left:24px; border-top:2px solid #2a7ffe; border-left:2px solid #2a7ffe; }
.loc .brk--tr{ top:74px; right:24px; border-top:2px solid #2a7ffe; border-right:2px solid #2a7ffe; }
.loc .brk--bl{ bottom:22px; left:24px; border-bottom:2px solid #2a7ffe; border-left:2px solid #2a7ffe; }
.loc .brk--br{ bottom:22px; right:24px; border-bottom:2px solid #2a7ffe; border-right:2px solid #2a7ffe; }
/* top row — small map + Location label at top-left, justified text to the right (like the slide) */
.loc__top{ display:grid; grid-template-columns:clamp(180px,18vw,230px) minmax(0,1fr); gap:clamp(24px,3vw,48px); align-items:start; max-width:1080px; margin-inline:auto; }
.loc__aside{ display:flex; flex-direction:column; }
.loc__label{ display:inline-flex; align-items:center; gap:9px; font-family:'Montserrat',sans-serif; font-weight:600; font-size:.86rem; letter-spacing:.02em; color:#1a1814; }
.loc__sq{ width:9px; height:9px; background:#1a1814; display:inline-block; }
.loc__world{ width:100%; max-width:230px; display:block; margin-top:16px; }
.loc__facts{ text-align:justify; padding-top:2px; }
.loc__lead{ font-family:'Montserrat',sans-serif; font-weight:700; font-size:clamp(1.04rem,1.5vw,1.34rem); color:#15130f; line-height:1.4; }
.loc__list{ list-style:none; margin-top:6px; }
.loc__list li{ font-family:'Montserrat',sans-serif; font-size:clamp(.96rem,1.08vw,1.1rem); color:#2a261f; line-height:1.7; }
.loc__list strong{ color:#15130f; font-weight:700; }
.loc__map{ position:relative; display:flex; align-items:center; justify-content:center; width:100%; }
.loc__map::before{ content:""; position:absolute; left:50%; top:52%; width:70%; height:84%; transform:translate(-50%,-50%);
  background:radial-gradient(ellipse at center, rgba(36,58,92,.12), rgba(36,58,92,.04) 55%, transparent 72%); filter:blur(24px); pointer-events:none; }
.loc__mapwrap{ position:relative; max-width:min(900px, 78%); }
.loc__mapwrap img{ display:block; width:100%; height:auto; filter:drop-shadow(0 26px 44px rgba(28,40,62,.26)); }
@media (max-width:760px){ .loc__top{ grid-template-columns:1fr; } .loc__world{ max-width:200px; } .loc__mapwrap{ max-width:94%; } }

/* ===== UNIQUELY LOCATED (slide 5) — Dias left, infrastructure right ===== */
.uniq{ position:relative; background:#ece8e1; color:#16140f; min-height:100vh; display:flex; align-items:center; justify-content:center;
  padding:calc(var(--header-h) + clamp(28px,5vh,64px)) clamp(28px,5vw,72px) clamp(34px,5vh,68px); }
.uniq__card{ position:relative; width:92%; max-width:1500px; display:flex; }
.uniq .brk{ position:absolute; width:22px; height:22px; z-index:3; pointer-events:none; }
.uniq .brk--tl{ top:-18px; left:-18px; border-top:2px solid #2a7ffe; border-left:2px solid #2a7ffe; }
.uniq .brk--tr{ top:-18px; right:-18px; border-top:2px solid #2a7ffe; border-right:2px solid #2a7ffe; }
.uniq .brk--bl{ bottom:-18px; left:-18px; border-bottom:2px solid #2a7ffe; border-left:2px solid #2a7ffe; }
.uniq .brk--br{ bottom:-18px; right:-18px; border-bottom:2px solid #2a7ffe; border-right:2px solid #2a7ffe; }
.uniq__grid{ flex:1; display:grid; grid-template-columns:clamp(280px,32%,440px) 1fr; gap:clamp(32px,4vw,70px); align-items:stretch; }
.uniq__photo{ position:relative; min-height:450px; border-radius:14px; overflow:hidden;
  box-shadow:0 24px 50px -38px rgba(28,40,62,.55); transition:transform .5s var(--ease), box-shadow .5s var(--ease); }
.uniq__photo:hover{ transform:translateY(-5px); box-shadow:0 38px 74px -40px rgba(28,40,62,.7); }
.uniq__photo img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center 28%; transition:transform 1s var(--ease); }
.uniq__photo:hover img{ transform:scale(1.06); }
.uniq__content{ display:flex; flex-direction:column; }
.uniq__label{ display:inline-flex; align-items:center; gap:9px; font-family:'Montserrat',sans-serif; font-weight:600; font-size:.8rem; letter-spacing:.02em; color:#1a1814; }
.uniq__h{ font-family:'Montserrat',sans-serif; font-weight:700; font-size:clamp(1.3rem,2.1vw,1.8rem); color:#15130f; line-height:1.2; margin-top:14px; }
.uniq__p{ font-family:'Montserrat',sans-serif; font-weight:400; color:#4a443b; font-size:clamp(.96rem,1.1vw,1.08rem); line-height:1.62; max-width:60ch; margin-top:16px; }
.uniq__graphic{ margin-top:clamp(24px,3.5vh,50px); }
.uniq__graphic img{ width:100%; max-width:660px; display:block; border-radius:8px; }
@media (max-width:1100px){ .uniq__card{ width:88%; } }
@media (max-width:820px){ .uniq__card{ width:90%; } .uniq__grid{ grid-template-columns:1fr; } .uniq__photo{ min-height:300px; } }

/* ===== back-to-top arrow ===== */
.totop{ position:fixed; right:clamp(16px,3vw,34px); bottom:clamp(16px,3vw,34px); z-index:90;
  width:50px; height:50px; border-radius:50%; border:1px solid rgba(255,255,255,.25);
  background:rgba(11,13,15,.62); backdrop-filter:blur(8px); -webkit-backdrop-filter:blur(8px); color:#fff; cursor:pointer;
  display:grid; place-items:center; font-size:1.25rem; line-height:1;
  opacity:0; pointer-events:none; transform:translateY(12px); transition:opacity .4s var(--ease), transform .4s var(--ease), background .3s, border-color .3s; }
.totop.show{ opacity:1; pointer-events:auto; transform:translateY(0); }
.totop:hover{ background:#2a7ffe; border-color:#2a7ffe; transform:translateY(-3px); }

/* ===== EXPLORATION UPSIDE (slide 6) — text top, full-width image below ===== */
.expl{ position:relative; background:#ffffff; color:#16140f; min-height:100vh; display:flex; flex-direction:column;
  padding:calc(var(--header-h) + clamp(20px,3.4vh,46px)) 0 0; }
.expl .brk{ position:absolute; width:24px; height:24px; z-index:3; pointer-events:none; }
.expl .brk--tl{ top:74px; left:24px; border-top:2px solid #2a7ffe; border-left:2px solid #2a7ffe; }
.expl .brk--tr{ top:74px; right:24px; border-top:2px solid #2a7ffe; border-right:2px solid #2a7ffe; }
.expl .brk--bl{ bottom:22px; left:24px; border-bottom:2px solid #2a7ffe; border-left:2px solid #2a7ffe; }
.expl .brk--br{ bottom:22px; right:24px; border-bottom:2px solid #2a7ffe; border-right:2px solid #2a7ffe; }
.expl__head{ flex:0 0 auto; }
.expl__label{ display:inline-flex; align-items:center; gap:9px; font-family:'Montserrat',sans-serif; font-weight:600; font-size:.86rem; letter-spacing:.02em; color:#1a1814; }
.expl__p{ font-family:'Montserrat',sans-serif; font-weight:400; color:#3a352d; text-align:justify;
  font-size:clamp(1rem,1.35vw,1.32rem); line-height:1.6; max-width:96ch; margin-top:18px; }
.expl__p strong{ color:#3a352d; font-weight:700; }
.expl__media{ flex:1 1 auto; min-height:clamp(300px,46vh,560px); margin-top:clamp(26px,4vh,56px); position:relative; overflow:hidden; }
.expl__media img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }

/* ===== CU-AU TARGETS (slide 7) — colored stat bars + satellite map ===== */
.cuau{ position:relative; background:#ffffff; color:#16140f; min-height:100vh; display:flex; flex-direction:column; justify-content:center;
  padding:calc(var(--header-h) + clamp(24px,4vh,56px)) clamp(28px,5vw,76px) clamp(34px,5vh,72px); }
.cuau .brk{ position:absolute; width:24px; height:24px; z-index:3; pointer-events:none; }
.cuau .brk--tl{ top:74px; left:24px; border-top:2px solid #2a7ffe; border-left:2px solid #2a7ffe; }
.cuau .brk--tr{ top:74px; right:24px; border-top:2px solid #2a7ffe; border-right:2px solid #2a7ffe; }
.cuau .brk--bl{ bottom:22px; left:24px; border-bottom:2px solid #2a7ffe; border-left:2px solid #2a7ffe; }
.cuau .brk--br{ bottom:22px; right:24px; border-bottom:2px solid #2a7ffe; border-right:2px solid #2a7ffe; }
.cuau__label{ display:inline-flex; align-items:center; gap:9px; font-family:'Montserrat',sans-serif; font-weight:600; font-size:.86rem; letter-spacing:.02em; color:#1a1814; margin-bottom:clamp(18px,3vh,34px); }
.cuau__grid{ display:grid; grid-template-columns:clamp(300px,37%,460px) 1fr; gap:clamp(28px,4vw,60px); align-items:center; }
.cuau__bars{ display:flex; flex-direction:column; gap:clamp(10px,1.4vh,16px); }
.cuau__bar{ display:flex; align-items:center; gap:18px; border-radius:8px; color:#fff; padding:clamp(12px,1.6vh,20px) clamp(18px,2vw,26px); }
.cuau__n{ font-family:'Montserrat',sans-serif; font-weight:800; font-size:clamp(1.8rem,3vw,2.7rem); line-height:1; min-width:1.4em; }
.cuau__l{ font-family:'Montserrat',sans-serif; font-weight:600; font-size:clamp(.78rem,.95vw,1rem); line-height:1.25; white-space:nowrap; }
.cuau__l small{ display:block; font-weight:400; font-size:.82em; opacity:.92; }
.cuau__map{ position:relative; border-radius:8px; overflow:hidden; box-shadow:0 30px 64px -46px rgba(28,40,62,.5); }
.cuau__map img{ width:100%; display:block; }
.cuau__bar{ cursor:pointer; transition:transform .25s var(--ease), box-shadow .25s var(--ease); }
.cuau__bar:hover{ transform:translateX(5px); box-shadow:0 10px 26px -12px rgba(0,0,0,.4); }
/* flashable colored markers over the baked pins */
.cm{ position:absolute; width:26px; height:26px; transform:translate(-50%,-50%); border-radius:50%; opacity:0; z-index:4; cursor:pointer; }
.cm::before, .cm::after{ margin:4px; }
.cm:hover{ opacity:1; z-index:9; }
.cm:hover .cm__label{ opacity:1; transform:translateX(-50%) translateY(0); }
.cm[data-t="giant"]{ color:#ff22ff; } .cm[data-t="porphyry"]{ color:#00d455; }
.cm[data-t="highsulph"]{ color:#ff9405; } .cm[data-t="lowsulph"]{ color:#ffd42a; }
.cm::before{ content:""; position:absolute; inset:0; border-radius:50%; border:2.5px solid currentColor; box-shadow:0 0 8px currentColor; }
.cm::after{ content:""; position:absolute; inset:0; border-radius:50%; border:2px solid currentColor; }
.cm.flash{ opacity:1; }
.cm.flash::after{ animation:cmPulse 1.1s ease-out infinite; }
@keyframes cmPulse{ 0%{ transform:scale(1); opacity:.9; } 100%{ transform:scale(3.2); opacity:0; } }
/* project-name tag that pops above a marker while it flashes */
.cm__label{ position:absolute; left:50%; bottom:calc(100% + 9px); transform:translateX(-50%) translateY(6px);
  background:var(--slide-blue); color:#fff; font-style:normal;
  font-family:'Montserrat',sans-serif; font-weight:600; font-size:.72rem; letter-spacing:.02em;
  padding:5px 10px; border-radius:2px; white-space:nowrap; opacity:0; transition:.35s var(--ease);
  box-shadow:0 4px 14px rgba(0,0,0,.35); }
.cm__label::after{ content:""; position:absolute; top:100%; left:50%; transform:translateX(-50%);
  border:5px solid transparent; border-top-color:var(--slide-blue); }
.cm.flash .cm__label{ opacity:1; transform:translateX(-50%) translateY(0); }
/* markers near the map's top edge: drop the tag below so it isn't clipped */
.cm--below .cm__label{ bottom:auto; top:calc(100% + 9px); transform:translateX(-50%) translateY(-6px); }
.cm--below .cm__label::after{ top:auto; bottom:100%; border-top-color:transparent; border-bottom-color:var(--slide-blue); }
/* scroll-driven light sweep across the target areas */
.cuau__sweep, .ptg__sweep{ position:absolute; inset:0; pointer-events:none; opacity:0; z-index:8; will-change:opacity, background;
  background:
    radial-gradient(circle at var(--sx,18%) var(--sy,18%), rgba(255,250,235,.22) 0, rgba(255,250,235,0) 15%),
    radial-gradient(circle at var(--sx,18%) var(--sy,18%), rgba(12,16,24,0) 0, rgba(12,16,24,0) 20%, rgba(12,16,24,.5) 62%); }
@media (max-width:860px){ .cuau__grid{ grid-template-columns:1fr; gap:28px; } }

/* ===== PRIORITY PORPHYRY TARGETS (slide 9) ===== */
.ptg{ position:relative; background:#ffffff; color:#16140f;
  padding:calc(var(--header-h) + clamp(24px,4vh,56px)) clamp(28px,5vw,76px) clamp(40px,6vh,80px); }
.ptg .brk{ position:absolute; width:24px; height:24px; z-index:3; pointer-events:none; }
.ptg .brk--tl{ top:74px; left:24px; border-top:2px solid #2a7ffe; border-left:2px solid #2a7ffe; }
.ptg .brk--tr{ top:74px; right:24px; border-top:2px solid #2a7ffe; border-right:2px solid #2a7ffe; }
.ptg .brk--bl{ bottom:22px; left:24px; border-bottom:2px solid #2a7ffe; border-left:2px solid #2a7ffe; }
.ptg .brk--br{ bottom:22px; right:24px; border-bottom:2px solid #2a7ffe; border-right:2px solid #2a7ffe; }
.ptg__label{ display:inline-flex; align-items:center; gap:9px; font-family:'Montserrat',sans-serif; font-weight:700; font-size:.86rem; letter-spacing:.02em; color:#2a7ffe; }
.ptg__label .loc__sq{ background:#2a7ffe; }
.ptg__h{ font-family:'Montserrat',sans-serif; font-weight:800; font-size:clamp(1.5rem,2.6vw,2.2rem); color:#2a7ffe; margin-top:12px; }
.ptg__intro{ font-family:'Montserrat',sans-serif; color:#5a534a; font-size:clamp(.96rem,1.1vw,1.1rem); line-height:1.55; max-width:70ch; margin-top:12px; }
.ptg__grid{ display:grid; grid-template-columns:clamp(230px,26%,330px) 1fr; gap:clamp(26px,3.5vw,56px); align-items:stretch; margin-top:clamp(22px,3.4vh,40px); }
.ptg__list{ display:flex; flex-direction:column; gap:12px; }
.ptg__btn{ flex:1; display:flex; align-items:center; justify-content:space-between; min-height:54px;
  background:var(--pc,#2a7ffe); color:#fff;
  font-family:'Montserrat',sans-serif; font-weight:700; font-size:clamp(1rem,1.1vw,1.15rem); padding:16px 22px; border-radius:8px; text-decoration:none;
  box-shadow:0 8px 20px -12px var(--pc,#2a7ffe); transition:transform .3s var(--ease), filter .3s, box-shadow .3s; }
.ptg__btn .arw{ transition:transform .3s var(--ease); font-size:1.1em; }
.ptg__btn:hover, .ptg__btn.is-active{ filter:brightness(.92); transform:translateX(5px); box-shadow:0 14px 30px -12px var(--pc,#2a7ffe); }
.ptg__btn:hover .arw, .ptg__btn.is-active .arw{ transform:translateX(4px); }
.ptg__map{ border-color:rgba(0,0,0,.12); }
@media (max-width:860px){ .ptg__grid{ grid-template-columns:1fr; } }

/* ===== NEWS / CONTACT placeholders (to be built) ===== */
.stub{ background:var(--ink); color:var(--text); padding:clamp(72px,13vh,150px) 0; text-align:center; }
.stub--alt{ background:var(--ink-1); border-top:1px solid var(--line); }
.stub .eyebrow{ color:var(--gold-br); }
.stub p{ color:var(--muted); margin-top:18px; max-width:48ch; margin-inline:auto; font-size:1.05rem; }

/* ===== exact presentation slides (Cu-Au targets, Priority) ===== */
.slidesec{ padding:clamp(40px,6vh,90px) 0; }
.slideframe{ position:relative; max-width:1200px; margin-inline:auto; border:1px solid var(--line);
  border-radius:6px; overflow:hidden; background:#fff; box-shadow:0 40px 90px -50px rgba(0,0,0,.85); }
.slideframe > img{ width:100%; display:block; }

/* light sweep across the satellite-map region of a slide image */
.mapsweep{ position:absolute; top:7%; bottom:6%; left:34%; right:1.5%; overflow:hidden; pointer-events:none;
  z-index:3; opacity:0; transition:opacity .9s var(--ease); mix-blend-mode:screen; }
.mapsweep::before{ content:""; position:absolute; top:-25%; left:-55%; width:40%; height:150%;
  background:linear-gradient(105deg, rgba(255,250,235,0) 0%, rgba(255,246,222,.45) 38%, rgba(255,252,240,.92) 50%, rgba(255,246,222,.45) 62%, rgba(255,250,235,0) 100%);
  filter:blur(8px); transform:skewX(-10deg); animation:sweepMove 3.6s cubic-bezier(.45,.05,.4,1) infinite; }
body.scroll-down .slideframe.in .mapsweep{ opacity:1; }
body.scroll-up   .slideframe.in .mapsweep{ opacity:0; }
@media (prefers-reduced-motion:reduce){ .mapsweep{ display:none; } }

/* transparent clickable hotspots over the priority-target buttons */
.hotspot{ position:absolute; z-index:6; display:block; border-radius:8px; transition:box-shadow .3s var(--ease); }
.hotspot:hover{ box-shadow:0 0 0 2px #fff, 0 0 26px rgba(255,255,255,.6); }
.hotspot:focus-visible{ outline:3px solid var(--gold); outline-offset:2px; }

/* pulsing pin markers over the slide map (clickable) */
.spin{ position:absolute; z-index:5; width:34px; height:34px; transform:translate(-50%,-50%); cursor:pointer; }
.spin::before{ content:""; position:absolute; inset:0; border-radius:50%; border:2px solid var(--gold-br);
  box-shadow:0 0 10px rgba(227,196,134,.7); }
.spin::after{ content:""; position:absolute; inset:0; border-radius:50%; border:2px solid var(--gold-br);
  animation:pinpulse 2.1s ease-out infinite; }
.spin:hover::before{ border-color:#fff; box-shadow:0 0 14px #fff; }

/* slide-4 layout: small world-map inset + bullets, then dominant Lakeside map */
.loc-top{ display:grid; grid-template-columns:300px 1fr; gap:clamp(28px,4vw,56px); align-items:center; margin-bottom:clamp(26px,3.5vw,46px); }
.loc-bigmap{ background:#eef2f4; border:1px solid var(--line); border-radius:4px; padding:clamp(12px,1.6vw,22px); }
.loc-bigmap img{ width:100%; display:block; border-radius:2px; }
@media (max-width:760px){ .loc-top{ grid-template-columns:1fr; } }

/* slide-5 layout: tall Dias portrait left, content right */
.infra-split{ display:grid; grid-template-columns:0.86fr 1.14fr; gap:clamp(30px,5vw,72px); align-items:stretch; }
.infra-split .media-tall{ height:100%; min-height:clamp(620px,82vh,900px); align-self:stretch; }
.infra-split .media-tall img{ object-position:center 30%; }
@media (max-width:900px){ .infra-split{ grid-template-columns:1fr; } .infra-split .media-tall{ min-height:0; height:clamp(460px,72vh,680px); } }

/* =========================================================================
   TARGET DETAIL PAGES
   ========================================================================= */
.subhero{ position:relative; padding:calc(var(--header-h) + 70px) 0 64px; overflow:hidden; }
.subhero__bg{ position:absolute; inset:0; z-index:0; }
.subhero__bg img{ width:100%; height:100%; object-fit:cover; opacity:.32; transform:scale(1.05); }
.subhero__bg::after{ content:""; position:absolute; inset:0; background:linear-gradient(180deg, rgba(11,13,15,.7), rgba(11,13,15,.55) 40%, var(--ink) 100%); }
.subhero__inner{ position:relative; z-index:2; }
.subhero .crumbs{ font-size:.74rem; letter-spacing:.16em; text-transform:uppercase; color:var(--muted); margin-bottom:24px; }
.subhero .crumbs a:hover{ color:var(--gold-br); }
.subhero h1{ font-size:clamp(2.8rem,8vw,6rem); }
.subhero .tagline{ font-family:var(--f-body); font-weight:500; font-size:.82rem; letter-spacing:.28em; text-transform:uppercase; color:var(--gold-br); margin-bottom:18px; }

.report{ display:grid; grid-template-columns:1fr 1.15fr; gap:clamp(36px,5vw,72px); align-items:start; }
.report__poster{ border:1px solid var(--line); border-radius:4px; overflow:hidden; background:#fff; box-shadow:0 40px 90px -50px rgba(0,0,0,.85); position:sticky; top:90px; }
.report__poster img{ width:100%; }
.report__poster .zoomcue{ position:absolute; top:12px; right:12px; background:rgba(11,13,15,.7); color:#fff; font-size:.62rem; letter-spacing:.14em; text-transform:uppercase; padding:6px 10px; border-radius:2px; border:1px solid var(--line); pointer-events:none; }

/* centered single poster (target detail) */
.poster{ position:relative; max-width:760px; margin-inline:auto; border:1px solid var(--line); border-radius:4px; overflow:hidden; background:#fff; box-shadow:0 40px 90px -50px rgba(0,0,0,.85); cursor:zoom-in; transition:transform .5s var(--ease), box-shadow .5s var(--ease); }
.poster:hover{ transform:translateY(-4px); box-shadow:0 50px 110px -50px rgba(0,0,0,.9); }
.poster img{ width:100%; display:block; }
.poster .zoomcue{ position:absolute; top:14px; right:14px; background:rgba(11,13,15,.72); color:#fff; font-size:.64rem; letter-spacing:.14em; text-transform:uppercase; padding:7px 11px; border-radius:2px; border:1px solid var(--line); pointer-events:none; z-index:2; }
.kv{ display:grid; grid-template-columns:auto 1fr; gap:6px 26px; margin:30px 0; }
.kv dt{ font-size:.74rem; letter-spacing:.14em; text-transform:uppercase; color:var(--muted); padding:14px 0; border-top:1px solid var(--line); }
.kv dd{ font-family:var(--f-serif); font-size:1.05rem; color:var(--text); padding:14px 0; border-top:1px solid var(--line); }
.proc{ display:flex; flex-direction:column; gap:0; }
.proc li{ padding:20px 0; border-top:1px solid var(--line); display:grid; grid-template-columns:auto 1fr; gap:18px; }
.proc li:last-child{ border-bottom:1px solid var(--line); }
.proc .stage{ font-family:var(--f-display); font-weight:600; font-size:.78rem; letter-spacing:.1em; text-transform:uppercase; color:var(--gold-br); writing-mode:initial; padding-top:2px; }
.proc .ptxt{ color:var(--muted); font-size:.96rem; }

/* lightbox */
.lightbox{ position:fixed; inset:0; z-index:200; background:rgba(7,8,9,.94); backdrop-filter:blur(8px); display:flex; align-items:center; justify-content:center; padding:30px; opacity:0; pointer-events:none; transition:opacity .4s var(--ease); }
.lightbox.open{ opacity:1; pointer-events:auto; }
.lightbox img{ max-width:min(94vw,900px); max-height:92vh; box-shadow:0 30px 80px rgba(0,0,0,.6); border-radius:3px; }
.lightbox__close{ position:absolute; top:24px; right:30px; background:none; border:1px solid var(--line); color:#fff; width:46px; height:46px; border-radius:50%; cursor:pointer; font-size:1.2rem; transition:.3s; }
.lightbox__close:hover{ border-color:var(--gold); color:var(--gold-br); transform:rotate(90deg); }

/* target nav (prev/next) */
.tnav{ display:grid; grid-template-columns:repeat(auto-fit,minmax(180px,1fr)); gap:14px; }
.tnav a{ border:1px solid var(--line); border-radius:3px; padding:22px 24px; transition:.4s var(--ease); }
.tnav a:hover{ border-color:var(--gold); transform:translateY(-4px); background:var(--ink-1); }
.tnav .lbl{ font-size:.68rem; letter-spacing:.2em; text-transform:uppercase; color:var(--muted); }
.tnav .nm{ font-family:var(--f-display); font-weight:600; font-size:1.1rem; text-transform:uppercase; margin-top:8px; color:var(--gold-br); }

/* Other-targets nav at the foot of each target sheet page (white section) */
.tgt-nav{ background:#fff; padding:0 clamp(16px,4vw,40px) clamp(48px,7vh,90px); }
.tgt-nav__inner{ max-width:880px; margin:0 auto; }
.tgt-nav__h{ font-family:'Montserrat',sans-serif; font-weight:700; font-size:.74rem; letter-spacing:.2em; text-transform:uppercase; color:#2a7ffe; margin:0 0 16px; }
.tgt-nav__grid{ display:grid; grid-template-columns:repeat(auto-fit,minmax(150px,1fr)); gap:12px; }
.tgt-nav__grid a{ display:flex; align-items:center; justify-content:space-between; gap:10px; min-height:52px;
  background:#2a7ffe; color:#fff; text-decoration:none; border-radius:8px; padding:14px 18px;
  font-family:'Montserrat',sans-serif; font-weight:700; font-size:1rem;
  box-shadow:0 8px 20px -12px #2a7ffe; transition:transform .3s var(--ease), filter .3s, box-shadow .3s; }
.tgt-nav__grid a:hover{ filter:brightness(.93); transform:translateY(-3px); box-shadow:0 14px 30px -12px #2a7ffe; }
.tgt-nav__grid a .arw{ font-size:1.1em; transition:transform .3s var(--ease); }
.tgt-nav__grid a:hover .arw{ transform:translateX(4px); }
.tgt-nav__all{ display:inline-block; margin-top:18px; font-family:'Montserrat',sans-serif; font-weight:600; font-size:.82rem; letter-spacing:.08em; text-transform:uppercase; color:#2a7ffe; text-decoration:none; }
.tgt-nav__all:hover{ text-decoration:underline; }

/* =========================================================================
   CTA + FOOTER
   ========================================================================= */
.cta{ position:relative; text-align:center; overflow:hidden; }
.cta__bg{ position:absolute; inset:0; z-index:0; }
.cta__bg img{ width:100%; height:100%; object-fit:cover; opacity:.22; }
.cta__bg::after{ content:""; position:absolute; inset:0; background:radial-gradient(circle at 50% 40%, transparent, var(--ink) 75%); }
.cta__inner{ position:relative; z-index:2; }
.cta h2{ margin-bottom:24px; }

.footer{ background:var(--ink-1); border-top:1px solid var(--line); padding:72px 0 40px; position:relative; z-index:2; }
.footer__top{ display:grid; grid-template-columns:1.4fr 1fr 1fr; gap:40px; padding-bottom:48px; border-bottom:1px solid var(--line); }
.footer .brand{ display:inline-flex; }
.footer .brand__name{ font-size:1.15rem; }
.footer__col h4{ font-family:'Montserrat',sans-serif; font-size:.74rem; letter-spacing:.2em; text-transform:uppercase; color:#2a7ffe; margin-bottom:18px; }
.footer__col a{ display:block; color:var(--muted); padding:7px 0; font-size:.92rem; transition:.3s; }
.footer__col a:hover{ color:#2a7ffe; padding-left:5px; }
.footer__blurb{ color:var(--muted); font-size:.92rem; max-width:34ch; margin-top:20px; }
.footer__bottom{ display:flex; justify-content:space-between; gap:20px; flex-wrap:wrap; padding-top:28px; color:var(--muted-2); font-size:.78rem; }
.footer__disc{ max-width:62ch; line-height:1.6; }

/* =========================================================================
   SCROLL REVEAL
   ========================================================================= */
.reveal{ opacity:0; transform:translateY(34px); transition:opacity .9s var(--ease), transform .9s var(--ease); will-change:transform,opacity; }
.reveal.in{ opacity:1; transform:none; }
.reveal-d1{ transition-delay:.08s } .reveal-d2{ transition-delay:.16s } .reveal-d3{ transition-delay:.24s }
.reveal-d4{ transition-delay:.32s } .reveal-d5{ transition-delay:.4s }
/* media fade+scale */
.reveal-media{ opacity:0; transform:scale(1.04); clip-path:inset(0 0 0 0); transition:opacity 1.1s var(--ease), transform 1.4s var(--ease); }
.reveal-media.in{ opacity:1; transform:scale(1); }
@media (prefers-reduced-motion:reduce){
  *{ animation:none !important; transition:none !important; }
  .reveal,.reveal-media,.hero__eyebrow,.hero__sub,.hero__cta{ opacity:1 !important; transform:none !important; }
  .hero h1 .ln span{ transform:none !important; }
}

/* =========================================================================
   RESPONSIVE
   ========================================================================= */
@media (max-width:1040px){
  .tmap-layout{ grid-template-columns:1fr; }
  .tlist{ flex-direction:row; flex-wrap:wrap; }
  .tbtn{ width:auto; flex:1 1 30%; }
  .report{ grid-template-columns:1fr; }
  .report__poster{ position:static; }
}
@media (max-width:1024px){
  :root{ --header-h:64px; }
  .nav{ position:fixed; inset:0 0 0 auto; width:min(82vw,360px); background:var(--ink-1); border-left:1px solid var(--line);
    flex-direction:column; align-items:flex-start; justify-content:center; gap:8px; padding:40px; transform:translateX(105%); transition:transform .5s var(--ease); }
  .nav-open .nav{ transform:translateX(0); box-shadow:-30px 0 80px rgba(0,0,0,.5); }
  .nav a{ font-size:1.05rem; width:100%; }
  .nav__cta{ margin-left:0; margin-top:10px; }
  .burger{ display:flex; }
  .split{ grid-template-columns:1fr; }
  .split--rev .split__media{ order:0; }
  .statband{ grid-template-columns:repeat(2,1fr); }
  .factstrip__grid{ grid-template-columns:repeat(2,1fr); }
  .fact:nth-child(2){ border-right:0; }
  .cards{ grid-template-columns:1fr; }
  .footer__top{ grid-template-columns:1fr; gap:30px; }
}
@media (max-width:480px){
  .statband{ grid-template-columns:1fr; }
  .factstrip__grid{ grid-template-columns:1fr; }
  .fact{ border-right:0; }
  .tlist{ flex-direction:column; }
  .tbtn{ width:100%; }
}

/* =========================================================================
   ABOUT US PAGE  (about.html) — faithful recreation of presentation slides
   Slides 16 (about), 8 (history), 9 (watch), 17 (leadership),
          18 (team), 19 (strategic partners)
   Type: Montserrat (Ultra Light / SemiBold / Extra Bold) — exactly as the deck.
   ========================================================================= */
:root{ --slide-blue:#2a7ffe; }

.sl{ position:relative; z-index:2; background:#fff; color:#16140f;
  font-family:'Montserrat',sans-serif;
  padding:clamp(48px,7vh,90px) clamp(28px,5vw,90px);
  /* cap content at the site-wide --maxw while keeping backgrounds full-bleed */
  padding-inline:max(clamp(28px,5vw,90px), calc((100% - var(--maxw)) / 2)); }
/* full-width thin hairline separator between slide sections */
.sl-sep{ height:1px; background:#e4e4e4; border:0; }

/* small square-bullet label, top-left of each slide */
.sl-label{ display:inline-flex; align-items:center; gap:10px; font-family:'Montserrat',sans-serif;
  font-weight:400; font-size:clamp(1rem,1.4vw,1.25rem); color:#16140f; margin-bottom:clamp(20px,3vh,38px); }
.sl-label::before{ content:""; width:11px; height:11px; background:#16140f; display:inline-block; }
.sl-label--blue{ color:var(--slide-blue); font-weight:600; }
.sl-label--blue::before{ background:var(--slide-blue); }
.sl-label--white{ color:#fff; }
.sl-label--white::before{ background:#fff; }

/* ---- SLIDE 16: exact recreation — 13.33x7.5in canvas, elements placed by % ----
   Eagle box 2.51x7.5in = native photo aspect, so the whole bird shows uncropped.
   Canvas is width-capped so large monitors look identical to a laptop. */
.sl-about{ background:#fff; padding:0; display:flex; justify-content:center; overflow:hidden; }
.sl-about__canvas{ position:relative; container-type:inline-size; width:100%; max-width:var(--maxw);
  aspect-ratio:16 / 9; overflow:hidden; }
/* text block — flows from the slide's heading origin (4% / 22.7%) so the bold
   heading can never collide with the body. Sizes match the slide exactly. */
.sl-about__text{ position:absolute; left:4.05%; top:22.7%; width:54%; }
/* heading — slide-exact: regular weight, 24pt size, black (matches the deck render) */
.sl-about__head{ margin:0; font-family:'Montserrat',sans-serif; font-weight:400; color:#000;
  text-transform:none; font-size:2.5cqw; line-height:1.22; letter-spacing:-.005em; }
/* body — Montserrat Ultra Light, slide-exact 12pt size, black */
.sl-about__body{ margin-top:2.6cqw; }
.sl-about__body p{ font-family:'Montserrat',sans-serif; font-weight:400; color:#000;
  font-size:1.25cqw; line-height:1.4; margin:0 0 1.1em; }
.sl-about__body p:last-child{ margin-bottom:0; }
/* eagle — placed exactly as in the slide, whole photo visible (no zoom) */
.sl-about__fig{ position:absolute; left:71.8%; top:0; width:18.83%; height:100%; margin:0; overflow:hidden; background:#a3bef5; }
.sl-about__fig img{ position:absolute; top:0; left:50%; width:auto; max-width:none; height:100%;
  transform:translateX(-50%); object-fit:cover; object-position:center center; will-change:transform; }
@media (max-width:820px){
  .sl-about{ display:block; }
  .sl-about__canvas{ aspect-ratio:auto; container-type:normal; overflow:visible;
    padding:calc(var(--header-h) + 26px) clamp(22px,5vw,40px) 36px; }
  .sl-about__text{ position:static; width:auto; }
  .sl-about__head{ position:static; width:auto; font-size:clamp(1.5rem,5.4vw,2rem); margin-bottom:20px; }
  .sl-about__body{ position:static; width:auto; }
  .sl-about__body p{ font-size:clamp(.98rem,3.4vw,1.05rem); line-height:1.55; margin-bottom:14px; }
  /* The eagle photo is a very tall portrait — as a mobile sliver it's mostly
     empty sky. Crop it to a compact landscape banner framed on the eagle
     soaring in open sky (the ground strip is cropped out). The image covers
     the whole frame, so the photo's own sky is the single, consistent sky. */
  .sl-about__fig{ position:relative; left:auto; width:100%; height:auto; aspect-ratio:3 / 2;
    margin:24px 0 0; border-radius:8px; overflow:hidden; box-shadow:0 14px 34px rgba(22,20,15,.16); }
  .sl-about__fig img{ position:absolute; inset:0; left:0; width:100%; height:100%; max-width:none;
    /* !important so the desktop scroll-pan (inline transform) can never shift
       the banner off-centre on phones — the banner stays static */
    transform:none !important; object-fit:cover; object-position:center center; }
}

/* ---- SLIDE 8: exact recreation — 16:9 canvas, elements at slide coordinates ---- */
.sl-hist{ background:#fff; padding:0; display:flex; justify-content:center; overflow:hidden; }
.sl-hist__canvas{ position:relative; container-type:inline-size; width:100%; max-width:var(--maxw);
  aspect-ratio:16 / 9; overflow:hidden; font-family:'Montserrat',sans-serif; color:#000; }
/* top-left label */
.sl-hist__label{ position:absolute; left:1.7%; top:1.7%; display:inline-flex; align-items:center; gap:.55em;
  font-weight:400; font-size:1.25cqw; color:#000; }
.sl-hist__label::before{ content:""; width:.62em; height:.62em; background:#000; display:inline-block; }
/* a timeline step (year + caption + photo) placed at the slide's x */
.sl-hist__step{ position:absolute; top:9.1%; width:12.5%; }
.sl-hist__step .yr{ display:block; font-weight:600; font-size:1.25cqw; color:#000; line-height:1; }
.sl-hist__step .sub{ display:block; font-weight:300; font-size:1.04cqw; color:#000; line-height:1.25;
  margin-top:.8cqw; height:3.1cqw; }
.sl-hist__step .ph{ display:block; margin:0; width:100%; aspect-ratio:4 / 3; overflow:hidden; }
.sl-hist__step .ph img{ width:100%; height:100%; object-fit:cover; display:block; }
.sl-hist__step--wide .sub{ width:320%; }
/* 2026 — arrow + Drilling instead of a photo */
.sl-hist__step--drill{ left:74.5%; width:22%; }
.sl-hist__step--drill .yr{ margin-left:5.8cqw; }
.sl-hist__step--drill .drill{ display:flex; flex-direction:column-reverse; align-items:flex-start;
  gap:.8cqw; margin-top:3.2cqw; margin-left:5.8cqw; }
.sl-hist__step--drill .arrow{ width:5cqw; height:2.4cqw; background:#2A7FFF; flex-shrink:0;
  clip-path:polygon(0 30%,60% 30%,60% 0,100% 50%,60% 100%,60% 70%,0 70%); }
.sl-hist__step--drill .dt{ font-weight:600; font-size:1.67cqw; color:#000; }
/* blue exploration-overview band (full canvas width); children placed within it */
.sl-hist__band{ position:absolute; left:0; top:37.9%; width:100%; height:38.8%; background:#2A7FFF; }
.sl-hist__overv{ position:absolute; left:3%; top:40%; margin:0; font-family:'Montserrat',sans-serif;
  font-weight:300; color:#fff; text-transform:none; font-size:2.5cqw; line-height:1; letter-spacing:0; }
.sl-hist__overp{ position:absolute; left:3%; top:54%; margin:0; width:44%; font-weight:300; color:#fff;
  font-size:1.04cqw; line-height:1.35; }
.sl-hist__stats{ position:absolute; left:51.3%; top:3.3%; width:39%; height:auto; display:block; }
@media (max-width:820px){
  .sl-hist{ display:block; }
  .sl-hist__canvas{ aspect-ratio:auto; container-type:normal; overflow:visible;
    padding:calc(var(--header-h) + 24px) 22px 30px; }
  .sl-hist__canvas *{ position:static !important; }
  .sl-hist__label{ font-size:1.1rem; margin-bottom:18px; }
  .sl-hist__step{ width:auto !important; left:auto !important; margin-bottom:22px;
    display:grid; grid-template-columns:auto 1fr; gap:2px 14px; align-items:baseline; }
  .sl-hist__step .yr{ font-size:1.4rem; }
  .sl-hist__step .sub{ font-size:.95rem; height:auto !important; width:auto !important; }
  .sl-hist__step .ph{ grid-column:1 / -1; aspect-ratio:16 / 9; margin-top:10px; max-width:440px; }
  .sl-hist__step--drill .yr{ margin-left:0 !important; }
  .sl-hist__step--drill .drill{ margin-top:8px; }
  .sl-hist__step--drill .arrow{ width:54px; height:26px; }
  .sl-hist__step--drill .dt{ font-size:1.3rem; }
  .sl-hist__band{ width:auto; height:auto; border-radius:8px; padding:26px 22px; }
  .sl-hist__overv{ font-size:1.6rem; margin-bottom:8px; }
  .sl-hist__overp{ width:auto; margin-bottom:18px; }
  .sl-hist__stats{ width:100%; }
}

/* ---- SLIDE 9: watch ---- */
.sl-watch__head{ font-family:'Montserrat',sans-serif; font-weight:600; text-transform:none;
  font-size:clamp(1.35rem,2.4vw,2.05rem); color:#16140f; line-height:1.2; }
.sl-watch__intro{ font-family:'Montserrat',sans-serif; font-weight:300; color:#000;
  font-size:clamp(.98rem,1.15vw,1.14rem); line-height:1.55; margin-top:14px; max-width:115ch; }
.sl-watch__feature{ margin-top:clamp(26px,4vh,48px); display:flex; justify-content:center; }
.sl-watch__btn{ position:relative; width:min(680px,100%); aspect-ratio:16/8; border:8px solid var(--slide-blue);
  background:#000 url("../img/nick-tate-poster.jpg") center/cover no-repeat; border-radius:4px; cursor:pointer; color:#fff;
  display:flex; flex-direction:column; align-items:center; justify-content:center; gap:18px; padding:24px;
  transition:filter .3s var(--ease), transform .3s var(--ease); }
.sl-watch__btn::before{ content:""; position:absolute; inset:0; background:rgba(0,0,0,.38); }
.sl-watch__btn:hover{ filter:brightness(1.06); transform:translateY(-3px); }
.sl-watch__btnplay{ position:relative; width:0; height:0; border-style:solid; border-width:16px 0 16px 28px;
  border-color:transparent transparent transparent #fff; filter:drop-shadow(0 2px 6px rgba(0,0,0,.45)); }
.sl-watch__btntxt{ position:relative; font-family:'Montserrat',sans-serif; font-weight:500; font-size:clamp(1.05rem,1.7vw,1.5rem);
  line-height:1.3; text-align:center; max-width:18ch; color:#fff; text-shadow:0 2px 8px rgba(0,0,0,.55); }
.sl-watch__feature.is-playing .sl-watch__btn{ display:none; }
.sl-watch__feature video,
.sl-watch__embed{ width:min(820px,100%); aspect-ratio:16/9; border-radius:4px; background:#000;
  box-shadow:0 30px 70px -40px rgba(0,0,0,.5); }
.sl-watch__embed{ overflow:hidden; }
.sl-watch__embed iframe{ width:100%; height:100%; display:block; border:0; }

.sl-watch__grid{ margin-top:clamp(28px,4vh,48px); display:grid; grid-template-columns:repeat(6,1fr); gap:clamp(12px,1.4vw,20px); }
.sl-vid{ display:block; }
.sl-vid__thumb{ position:relative; display:block; aspect-ratio:16/9; overflow:hidden; border-radius:4px; background:#000; }
.sl-vid__thumb img{ width:100%; height:100%; object-fit:cover; transition:transform .5s var(--ease); }
.sl-vid:hover .sl-vid__thumb img{ transform:scale(1.06); }
.sl-vid__play{ position:absolute; top:50%; left:50%; transform:translate(-50%,-50%); width:38px; height:38px;
  border-radius:50%; background:rgba(0,0,0,.55); border:1px solid rgba(255,255,255,.6); transition:.3s var(--ease); }
.sl-vid__play::before{ content:""; position:absolute; top:50%; left:54%; transform:translate(-50%,-50%);
  width:0; height:0; border-style:solid; border-width:6px 0 6px 10px; border-color:transparent transparent transparent #fff; }
.sl-vid:hover .sl-vid__play{ background:var(--slide-blue); border-color:var(--slide-blue); }
.sl-vid__t{ display:block; margin-top:10px; font-family:'Montserrat',sans-serif; font-weight:500;
  font-size:clamp(.82rem,.95vw,.95rem); color:#16140f; line-height:1.3; }
@media (max-width:900px){ .sl-watch__grid{ grid-template-columns:repeat(3,1fr); } }
@media (max-width:520px){ .sl-watch__grid{ grid-template-columns:repeat(2,1fr); } }

/* ---- SLIDE 17: leadership ---- */
.sl-lead__backing{ font-family:'Montserrat',sans-serif; font-weight:600; color:#16140f;
  font-size:clamp(1.25rem,2.1vw,1.85rem); line-height:1.35; max-width:44ch; margin:0 0 clamp(34px,5vh,56px); }
.sl-lead__grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:clamp(16px,2.2vw,36px); align-items:start; }
.sl-lead__member{ display:flex; flex-direction:column; align-items:flex-start; min-width:0; }
.sl-lead__photo{ width:100%; aspect-ratio:4/5; border:1px solid #16140f; overflow:hidden;
  background:#f3f1ec; box-shadow:0 14px 34px rgba(22,20,15,.16); margin:0; }
.sl-lead__photo img{ width:100%; height:100%; object-fit:cover; display:block; }
.sl-lead__name{ font-family:'Montserrat',sans-serif; font-weight:700; text-transform:none;
  font-size:clamp(.92rem,1.15vw,1.18rem); color:#000; margin:14px 0 0; line-height:1.25; }
.sl-lead__role{ display:block; font-weight:400; color:#000; letter-spacing:.01em;
  font-size:.82em; margin-top:3px; }
.sl-lead__p{ font-family:'Montserrat',sans-serif; font-weight:300; color:#000;
  font-size:clamp(.8rem,.92vw,.94rem); line-height:1.55; margin-top:10px; max-width:52ch; }
@media (max-width:760px){ .sl-lead__grid{ grid-template-columns:repeat(2,1fr); gap:clamp(24px,4vw,36px); } }
@media (max-width:480px){ .sl-lead__grid{ grid-template-columns:1fr; gap:36px; } .sl-lead__backing{ max-width:none; } }

/* ---- SLIDE 18: team (blue) ---- */
.sl-team{ background:var(--slide-blue); color:#fff; }
.sl-team__grid{ display:grid; grid-template-columns:0.85fr 1.15fr; gap:clamp(34px,5vw,80px); align-items:center; }
.sl-team__head{ font-family:'Montserrat',sans-serif; font-weight:600; text-transform:none;
  font-size:clamp(1.6rem,2.8vw,2.3rem); color:#fff; line-height:1.15; }
.sl-team__p{ font-family:'Montserrat',sans-serif; font-weight:300; color:#fff;
  font-size:clamp(1rem,1.3vw,1.2rem); line-height:1.55; margin-top:16px; max-width:42ch; }
.sl-team__collage{ display:flex; flex-direction:column; gap:clamp(10px,1.4vw,20px); }
.sl-team__row{ display:flex; gap:clamp(10px,1.4vw,20px); }
.sl-team__box{ background:#fff; border:2px solid #16140f; display:block; margin:0; min-width:0; flex-basis:0; }
.sl-team__box img{ display:block; width:100%; height:100%; object-fit:cover; }
.sl-team__box--a{ aspect-ratio:16/9; flex-grow:1.778; }
.sl-team__box--b{ aspect-ratio:3/2;  flex-grow:1.5; }
.sl-team__box--c{ aspect-ratio:4/3;  flex-grow:1.333; }
.sl-team__box--e{ aspect-ratio:4/3;  flex-grow:1.333; }
@media (max-width:820px){
  .sl-team__grid{ grid-template-columns:1fr; }
  .sl-team__row{ flex-direction:column; }
  .sl-team__box{ width:100%; }
}

/* ---- SLIDE 19: strategic partners ---- */
.sl-part{ text-align:center; }
.sl-part__head{ font-family:'Montserrat',sans-serif; font-weight:600; text-transform:none;
  font-size:clamp(1.8rem,3.4vw,2.8rem); color:#16140f; }
.sl-part__intro{ font-family:'Montserrat',sans-serif; font-weight:300; color:#2a261f;
  font-size:clamp(.98rem,1.25vw,1.18rem); line-height:1.5; margin:14px auto 0; max-width:70ch; }
.sl-part__row{ display:flex; flex-wrap:wrap; align-items:center; justify-content:center;
  gap:clamp(36px,7vw,110px); margin-top:clamp(36px,6vh,70px); }
.sl-part__logo{ display:flex; align-items:center; justify-content:center; }
.sl-part__logo img{ height:clamp(72px,9vw,120px); width:auto; object-fit:contain; }
@media (max-width:560px){ .sl-part__logo img{ height:64px; } }

/* =========================================================================
   MOBILE POLISH — alignment, typography & responsive refinements
   Scoped to small screens only; the desktop presentation layouts are untouched.
   ========================================================================= */
@media (max-width:820px){
  /* Justified copy opens ugly word-rivers on narrow columns — align left so
     text reads cleanly and every paragraph shares one tidy left edge. */
  .expl__p,
  .loc__facts,
  .about__body{ text-align:left; }

  /* Full-screen "slide" sections force min-height:100vh, which on phones
     leaves large empty bands (short content) or awkward centering. Let the
     content define the height instead for a natural, scrollable flow. */
  .loc, .uniq, .expl, .cuau{ min-height:auto; }

  /* The about card is a full-viewport flex column on desktop; on mobile let
     it size to content and give the drifting photo a sensible fixed band. */
  .about__box{ min-height:auto; }
  .about__fig{ flex:0 0 auto; height:clamp(230px,44vw,360px); min-height:0; }

  /* Leadership profile: stacked single column — let name/bio use full width
     so they align to the same left edge as the photo. */
  .sl-lead__name, .sl-lead__p{ max-width:none; }
}

@media (max-width:600px){
  /* Nudge the base scale down so long words don't overflow tight viewports. */
  body{ font-size:16px; }

  /* Cu-Au stat bars: tighten so the big number + label sit comfortably. */
  .cuau__bar{ gap:14px; padding:14px 16px; }
  .cuau__n{ font-size:2rem; min-width:1.2em; }

  /* Photo spans the column on small phones for a balanced, centred profile. */
  .sl-lead__photo{ max-width:100%; }

  /* Trim heading/label spacing so sections don't feel loose on small screens. */
  .sl-label{ margin-bottom:18px; }

  /* Keep hero CTAs full-width and easy to tap. */
  .hero__cta .btn{ flex:1 1 auto; justify-content:center; }
}

@media (max-width:400px){
  body{ font-size:15.5px; }
  .sl{ padding-left:20px; padding-right:20px; }
}

/* ---- CONTACT PAGE ---- */
.sl-contact{ min-height:calc(100vh - var(--header-h, 70px));
  padding-top:calc(var(--header-h, 70px) + clamp(40px,7vh,90px)); }
.sl-contact__grid{ display:grid; grid-template-columns:0.9fr 1.1fr; gap:clamp(34px,6vw,90px); align-items:start; }
.sl-contact__head{ font-family:'Montserrat',sans-serif; font-weight:600; text-transform:none;
  font-size:clamp(1.8rem,3.2vw,2.6rem); color:#16140f; line-height:1.15; margin:0; }
.sl-contact__p{ font-family:'Montserrat',sans-serif; font-weight:300; color:#000;
  font-size:clamp(.98rem,1.15vw,1.12rem); line-height:1.6; margin-top:16px; max-width:44ch; }
.cf{ display:flex; flex-direction:column; gap:16px; }
.cf__row{ display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.cf__field{ display:flex; flex-direction:column; gap:6px; }
.cf__label{ font-family:'Montserrat',sans-serif; font-weight:600; font-size:.82rem; color:#16140f; letter-spacing:.02em; }
.cf__input{ font-family:'Montserrat',sans-serif; font-weight:400; font-size:.98rem; color:#16140f;
  background:#fff; border:1px solid #c9c5bc; border-radius:4px; padding:12px 14px; width:100%;
  transition:border-color .25s var(--ease), box-shadow .25s var(--ease); }
.cf__input:focus{ outline:none; border-color:var(--slide-blue); box-shadow:0 0 0 3px rgba(42,127,254,.15); }
.cf__input--area{ resize:vertical; min-height:150px; }
.cf__btn{ align-self:flex-start; font-family:'Montserrat',sans-serif; font-weight:600; font-size:.95rem;
  color:#fff; background:var(--slide-blue); border:0; border-radius:4px; padding:14px 34px; cursor:pointer;
  transition:filter .25s var(--ease), transform .25s var(--ease); }
.cf__btn:hover{ filter:brightness(1.08); transform:translateY(-2px); }
.cf__hp{ position:absolute; left:-9999px; width:1px; height:1px; overflow:hidden; }
.cf__notice{ font-family:'Montserrat',sans-serif; font-weight:500; font-size:.95rem;
  padding:13px 16px; border-radius:4px; }
.cf__notice--ok{ background:#e7f5ec; color:#146a34; border:1px solid #9fd4b2; }
.cf__notice--err{ background:#fdecec; color:#a02020; border:1px solid #eab3b3; }
@media (max-width:820px){
  .sl-contact__grid{ grid-template-columns:1fr; gap:30px; }
  .cf__row{ grid-template-columns:1fr; }
}

/* ---- language switcher ---- */
.lang{ display:flex; align-items:center; gap:12px; margin-left:clamp(14px,2vw,28px); }
.lang a{ font-family:'Montserrat',sans-serif; font-weight:600; font-size:.72rem; letter-spacing:.06em;
  color:#fff; opacity:.62; text-decoration:none; transition:opacity .25s var(--ease); }
.lang a:hover{ opacity:1; }
.lang a.active{ opacity:1; text-decoration:underline; text-underline-offset:4px; }
@media (max-width:820px){ .lang{ gap:9px; margin-left:auto; margin-right:14px; } }

/* ---- accessibility / SEO ---- */
.sr-only{ position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden;
  clip:rect(0,0,0,0); white-space:nowrap; border:0; }
