/* ===================================================================
   Mamor Capital Ventures — shared stylesheet (v2)
   Type: system Helvetica stack (no webfonts)
   Palette: warm charcoal ink + gold #CAA25A, paper neutrals.
   Navy/blue removed from all content sections, nav and footer are
   charcoal (not blue) per review notes.
   =================================================================== */
:root{
  --ink:#273562;          /* navy sampled from client logo — nav, footer, hero overlay, accents */
  --ink-2:#1E2A52;
  --gold:#CAA25A;
  --gold-deep:#A9803D;
  --paper:#FBF9F5;
  --paper-2:#F1ECE1;
  --line: rgba(39,53,98,0.14);
  --line-ink: rgba(251,249,245,0.16);
  --muted: rgba(20,20,22,0.78);   /* darkened per review — was a lighter navy-tinted grey */
  --muted-on-ink: rgba(251,249,245,0.68);
  --radius:2px;
  --maxw:1200px;
  --sans: Helvetica, "Helvetica Neue", Arial, sans-serif;
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0; background:var(--paper); color:var(--ink);
  font-family:var(--sans); font-size:16px; line-height:1.6;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden; /* the full-width pull quotes use a 100vw + negative-margin technique that can otherwise trigger a stray horizontal scrollbar */
}
h1,h2,h3,h4{font-family:var(--sans); font-weight:700; letter-spacing:-0.01em; margin:0;}
.eyebrow{font-family:var(--sans); font-weight:700; font-size:12px; letter-spacing:0.1em; text-transform:uppercase; color:var(--gold-deep);}
a{color:inherit; text-decoration:none;}
img{max-width:100%; display:block;}
.wrap{max-width:var(--maxw); margin:0 auto; padding:0 32px;}
section{position:relative;}
p{margin:0 0 1em;}

.btn{
  display:inline-flex; align-items:center; gap:10px;
  font-family:var(--sans); font-weight:700; font-size:13px; letter-spacing:0.03em; text-transform:uppercase;
  padding:14px 26px; border:1.5px solid currentColor; border-radius:var(--radius);
  transition:background .2s ease, color .2s ease, border-color .2s ease; white-space:nowrap; cursor:pointer;
}
.btn-gold{background:var(--gold); color:var(--ink); border-color:var(--gold);}
.btn-gold:hover{background:var(--gold-deep); border-color:var(--gold-deep); color:var(--paper);}
.hero-btn-1:hover{background:var(--mcv-btn1-hover-bg, var(--gold-deep)); border-color:var(--mcv-btn1-hover-bg, var(--gold-deep));}
.btn-outline-light{color:var(--paper); border-color:rgba(251,249,245,0.45);}
.btn-outline-light:hover{border-color:var(--gold); color:var(--gold);}
.hero-btn-2:hover{background:var(--mcv-btn2-hover-bg, transparent); border-color:var(--mcv-btn2-hover-bg, var(--gold));}
.btn-outline-dark{color:var(--ink); border-color:rgba(39,53,98,0.35);}
.btn-outline-dark:hover{border-color:var(--ink); background:rgba(39,53,98,0.05);}

/* ---------- NAV (light — logo has dark navy/gold wordmark, needs light bg) ---------- */
header.site-header{
  position:sticky; top:0; z-index:50;
  background:var(--paper);
  border-bottom:1px solid var(--line);
}
.nav{max-width:var(--maxw); margin:0 auto; padding:16px 32px; display:flex; align-items:center; justify-content:space-between; color:var(--ink); position:relative;}
.logo{display:flex; align-items:center; gap:10px;}
.logo img{height:42px; width:auto; display:block;}
.nav-links{display:flex; gap:28px; font-size:13px; letter-spacing:0.02em; font-weight:500;}
.nav-links a{color:var(--muted); transition:color .2s; padding-bottom:4px; border-bottom:2px solid transparent;}
.nav-links a:hover{color:var(--ink);}
.nav-links a.current{color:var(--ink); border-bottom-color:var(--gold);}
.nav-cta{display:flex; align-items:center; gap:16px;}
.nav-hamburger{
  display:none; background:none; border:none; cursor:pointer; padding:6px;
  width:40px; height:40px; align-items:center; justify-content:center; color:var(--ink);
}
.nav-hamburger svg{width:24px; height:24px; stroke:currentColor; stroke-width:2; stroke-linecap:round; fill:none;}
.nav-hamburger .icon-close{display:none;}
.nav-hamburger.is-open .icon-open{display:none;}
.nav-hamburger.is-open .icon-close{display:block;}

/* ---------- PAGE HERO (image) ---------- */
.page-hero{
  position:relative; color:var(--paper); min-height:66vh; display:flex; align-items:flex-end;
  background-size:cover; background-position:center; overflow:hidden;
  --hero-overlay: linear-gradient(180deg, rgba(39,53,98,0.25) 0%, rgba(39,53,98,0.5) 50%, rgba(17,24,46,0.92) 100%);
}
.page-hero.hero-tall{min-height:82vh;}
.page-hero.hero-valign-top{align-items:flex-start;}
.page-hero.hero-valign-center{align-items:center;}
.page-hero.hero-valign-bottom{align-items:flex-end;}
.page-hero::after{
  content:""; position:absolute; inset:0;
  background:var(--hero-overlay);
}
.page-hero .wrap{position:relative; z-index:2; padding-bottom:60px; padding-top:70px; transform:translateY(var(--hero-offset-y, 0px));}
.page-hero .eyebrow{color:var(--gold); display:block; margin-bottom:14px;}
.page-hero h1{font-size:clamp(32px,4.4vw,56px); line-height:1.08; max-width:780px; font-weight:700;}
.page-hero .lede{max-width:560px; margin-top:20px; color:var(--muted-on-ink); font-size:17px;}
.page-hero .hero-lede{max-width:560px; margin-top:20px; color:var(--muted-on-ink); font-size:17px;}
.page-hero .hero-lede p{margin:0 0 10px;}
.page-hero .hero-lede p:last-child{margin-bottom:0;}
.page-hero .hero-lede ul, .page-hero .hero-lede ol{margin:0 0 10px; padding-left:20px;}
.page-hero .hero-lede li{margin-bottom:6px;}
.page-hero .hero-lede strong{color:var(--paper); font-weight:700;}
.page-hero .hero-lede a{color:var(--gold-light, var(--gold)); text-decoration:underline;}
.page-hero .hero-ctas{display:flex; gap:16px; margin-top:32px; flex-wrap:wrap;}
/* Horizontal text position — center/right also re-centers the max-width
   heading/lede blocks themselves, not just the text lines within them. */
.page-hero .wrap.hero-halign-center{text-align:center;}
.page-hero .wrap.hero-halign-center h1,
.page-hero .wrap.hero-halign-center .hero-lede{margin-left:auto; margin-right:auto;}
.page-hero .wrap.hero-halign-center .hero-ctas{justify-content:center;}
.page-hero .wrap.hero-halign-right{text-align:right;}
.page-hero .wrap.hero-halign-right h1,
.page-hero .wrap.hero-halign-right .hero-lede{margin-left:auto; margin-right:0;}
.page-hero .wrap.hero-halign-right .hero-ctas{justify-content:flex-end;}
.hero-credit{position:absolute; z-index:2; right:32px; bottom:16px; font-family:var(--sans); font-size:10.5px; color:rgba(251,249,245,0.4); letter-spacing:0.02em;}

.stat-strip{background:var(--paper-2); border-top:1px solid var(--line); border-bottom:1px solid var(--line);}
.stat-strip .wrap{display:grid; grid-template-columns:repeat(4,1fr);}
.stat{padding:26px 20px; border-right:1px solid var(--line); text-align:center;}
.stat:last-child{border-right:none;}
.stat .num{font-family:var(--sans); font-weight:700; font-size:26px; color:var(--ink);}
.stat .label{font-family:var(--sans); font-weight:500; font-size:11.5px; letter-spacing:0.06em; text-transform:uppercase; color:var(--muted); margin-top:6px;}

/* ---------- SECTION SCAFFOLD (all light — no navy blocks) ---------- */
.section{padding:48px 0 72px; scroll-margin-top:100px;}
.section-paper{background:var(--paper);}
.section-paper-2{background:var(--paper-2);}
.section-head{max-width:100%; margin-bottom:56px;}
.section-head .eyebrow{display:block; margin-bottom:14px;}
.section-head h2{font-size:clamp(26px,3.2vw,40px); line-height:1.15; font-weight:700; max-width:700px;}
.section-head p{margin-top:16px; color:var(--muted); font-size:16px; max-width:920px;}

.section-head.align-center{text-align:center;}
.section-head.align-center h2, .section-head.align-center .section-head-desc, .section-head.align-center p{margin-left:auto; margin-right:auto;}
.section-head.align-right{text-align:right;}
.section-head.align-right h2, .section-head.align-right .section-head-desc, .section-head.align-right p{margin-left:auto; margin-right:0;}

/* Rich WYSIWYG description content (bullets, multiple paragraphs, bold, links) */
.section-head-desc{margin-top:16px; max-width:920px; color:var(--muted); font-size:16px;}

/* Justify text — either site-wide (body.has-justified-text) or forced per-
   section (section.mcv-justify). Applied to every block of running prose
   so lines stretch to fill the column width instead of ragged-right. */
.has-justified-text .section-head-desc,
.has-justified-text .section-head-desc p,
.has-justified-text .about-copy p,
.has-justified-text .vmv-card-text,
.has-justified-text .value-add-item p,
.has-justified-text .contact-founders-text,
.has-justified-text .entry-content p,
.mcv-justify .section-head-desc,
.mcv-justify .section-head-desc p,
.mcv-justify .about-copy p,
.mcv-justify .vmv-card-text,
.mcv-justify .value-add-item p,
.mcv-justify .contact-founders-text,
.mcv-justify .entry-content p{
  text-align:justify; text-justify:inter-word; hyphens:auto;
}
.section-head-desc p{margin:0 0 14px;}
.section-head-desc p:last-child{margin-bottom:0;}
.section-head-desc ul, .section-head-desc ol{margin:0 0 14px; padding-left:22px;}
.section-head-desc ul{list-style:disc;}
.section-head-desc ol{list-style:decimal;}
.section-head-desc li{margin-bottom:8px; padding-left:4px;}
.section-head-desc li::marker{color:var(--gold-deep);}
.section-head-desc strong, .section-head-desc b{color:var(--ink); font-weight:700;}
.section-head-desc em, .section-head-desc i{font-style:italic;}
.section-head-desc a{color:var(--gold-deep); text-decoration:underline; text-underline-offset:2px;}
.section-head-desc a:hover{color:var(--ink);}

.mcv-animate-in{
  opacity:0; transform:translateY(18px);
  transition:opacity .6s ease, transform .6s cubic-bezier(.2,.8,.2,1);
}
.mcv-animate-in.is-visible{opacity:1; transform:translateY(0);}
@media (prefers-reduced-motion: reduce){
  .mcv-animate-in{opacity:1; transform:none; transition:none;}
}
/* Elementor adds this class to <body> while editing — always show animated
   content immediately in the editor, since the editor's iframe/canvas
   doesn't reliably fire scroll/intersection events the same way a real
   browser window does. */
body.elementor-editor-active .mcv-animate-in{opacity:1 !important; transform:none !important;}

.msg-box{
  margin-top:50px; padding:20px 0; position:relative; width:100%; max-width:none;
  transition:transform .3s ease;
}
.msg-box:hover{transform:translateX(4px);}
.msg-box p{
  font-family:var(--mcv-quote-font, var(--sans)); font-weight:700; line-height:1.4; margin:0; width:100%;
  font-size:var(--mcv-quote-size, 22px); color:var(--mcv-quote-color, var(--ink));
  transition:color .3s ease;
}
.msg-box:hover p{color:var(--gold-deep);}
.msg-box .quote-icon{display:inline-block; color:var(--gold); vertical-align:-0.15em; transition:transform .3s ease;}
.msg-box .quote-icon svg{width:0.85em; height:0.65em; fill:currentColor;}
.msg-box:hover .quote-icon{transform:scale(1.15);}
.msg-box .quote-icon-open{margin-right:0.25em;}
.msg-box .quote-icon-close{margin-left:0.25em; transform:rotate(180deg);}
.msg-box:hover .quote-icon-close{transform:rotate(180deg) scale(1.15);}

/* ---------- compare table (why mamor) — interactive on hover ---------- */
.compare-columns{display:grid; grid-template-columns:1fr 1fr; gap:60px; align-items:stretch; margin-bottom:56px;}
.compare-columns .compare-text-col .section-head{margin-bottom:0;}
.compare-columns .compare-image-col .img-frame{aspect-ratio:auto; height:100%; min-height:280px;}
@media (max-width:900px){
  .compare-columns{grid-template-columns:1fr;}
}
.compare{display:grid; grid-template-columns:1fr 1fr; gap:1px; background:var(--line); border:1px solid var(--line); perspective:1200px;}
.compare .col{
  background:var(--paper); padding:38px; position:relative; overflow:hidden;
  transition:transform .35s ease, box-shadow .35s ease;
  will-change:transform;
}
.compare .col:hover{
  transform:translateY(-6px) scale(1.015);
  box-shadow:0 22px 40px rgba(39,53,98,0.14);
  z-index:2;
}
.compare .col.gold-top{border-top:3px solid var(--gold);}
.compare .col.ink-top{border-top:3px solid var(--ink);}
.compare .col::before{
  content:""; position:absolute; inset:0; opacity:0; transition:opacity .35s ease; pointer-events:none;
}
.compare .col.gold-top::before{background:radial-gradient(circle at 30% 0%, rgba(202,162,90,0.10), transparent 60%);}
.compare .col.ink-top::before{background:radial-gradient(circle at 30% 0%, rgba(39,53,98,0.06), transparent 60%);}
.compare .col:hover::before{opacity:1;}
.compare h4{font-size:13px; font-weight:700; letter-spacing:0.08em; text-transform:uppercase; color:var(--muted); margin-bottom:20px; position:relative;}
.compare ul{list-style:none; margin:0; padding:0; position:relative;}
.compare li{
  padding:13px 0; border-top:1px solid var(--line); font-size:16px;
  transition:transform .25s ease, padding-left .25s ease, color .25s ease;
}
.compare li:first-child{border-top:none;}
.compare li:hover{transform:translateX(4px); color:var(--ink); font-weight:600; padding-left:14px;}
.compare .col.gold-top li:hover{border-left:2px solid var(--gold); margin-left:-2px;}
.compare .col.ink-top li:hover{border-left:2px solid var(--ink); margin-left:-2px;}

/* ---------- VMV cards (light, gold top accent, interactive on hover) ---------- */
.vmv-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:var(--line); border:1px solid var(--line); perspective:1200px;}

/* ---------- Intro section: two columns, VMV as clickable tabs on the right ---------- */
.intro-columns{display:grid; grid-template-columns:1.1fr 0.9fr; gap:60px; align-items:start;}
.intro-left .section-head{margin-bottom:0;}
.vmv-tabs-widget{border:1px solid var(--line); background:var(--paper);}
.vmv-tab-buttons{display:flex; border-bottom:1px solid var(--line);}
.vmv-tab-btn{
  flex:1; background:none; border:none; border-top:3px solid transparent; cursor:pointer;
  font-family:var(--sans); font-weight:700; font-size:13px; letter-spacing:0.03em; text-transform:uppercase;
  padding:18px 12px; color:var(--muted); transition:color .25s ease, border-color .25s ease, background .25s ease;
}
.vmv-tab-btn:hover{color:var(--ink); background:var(--paper-2);}
.vmv-tab-btn.active{color:var(--ink); border-top-color:var(--gold); background:var(--paper-2);}
.vmv-tab-panels{padding:34px;}
.vmv-tab-panel{display:none; animation:vmv-fade .35s ease;}
.vmv-tab-panel.active{display:block;}
.vmv-tab-panel h3{font-size:21px; color:var(--ink);}
.vmv-tab-panel .vmv-card-text{margin-top:14px; color:var(--muted); font-size:var(--mcv-body-size, 16px);}
.vmv-tab-panel .values-tags{margin-top:14px;}
@keyframes vmv-fade{ from{opacity:0; transform:translateY(6px);} to{opacity:1; transform:translateY(0);} }
@media (max-width:900px){
  .intro-columns{grid-template-columns:1fr;}
  .vmv-tab-buttons{flex-wrap:wrap;}
}
.vmv-card{
  background:var(--paper); padding:40px 34px; border-top:3px solid var(--gold);
  position:relative; overflow:hidden;
  transition:transform .35s ease, box-shadow .35s ease;
}
.vmv-card::before{
  content:""; position:absolute; inset:0; opacity:0; transition:opacity .35s ease; pointer-events:none;
  background:radial-gradient(circle at 30% 0%, rgba(202,162,90,0.12), transparent 60%);
}
.vmv-card:hover{
  transform:translateY(-6px) scale(1.015);
  box-shadow:0 22px 40px rgba(39,53,98,0.14);
  z-index:2;
}
.vmv-card:hover::before{opacity:1;}
.vmv-card .idx{font-family:var(--sans); font-weight:700; color:var(--gold-deep); font-size:12px; letter-spacing:0.08em; text-transform:uppercase; position:relative;}
.vmv-card h3{margin-top:16px; font-size:21px; color:var(--ink); position:relative; transition:transform .3s ease;}
.vmv-card:hover h3{transform:translateX(4px);}
.vmv-card p{margin-top:14px; color:var(--muted); font-size:16px; position:relative;}
.vmv-card-text{margin-top:14px; color:var(--muted); font-size:var(--mcv-body-size, 16px); position:relative;}
.vmv-card-text p{margin:0 0 10px; color:inherit; font-size:inherit;}
.vmv-card-text p:last-child{margin-bottom:0;}
.vmv-card-text strong, .vmv-card-text b{color:var(--ink); font-weight:700;}
.vmv-card-text em, .vmv-card-text i{font-style:italic;}
.vmv-card-text a{color:var(--gold-deep); text-decoration:underline;}
.vmv-card-text ul, .vmv-card-text ol{margin:0 0 10px; padding-left:20px;}
.vmv-card-text li{margin-bottom:6px;}
.values-tags{display:flex; flex-wrap:wrap; gap:14px; margin-top:18px; position:relative;}
.values-tags span{
  font-family:var(--sans); font-weight:700; font-size:19px; letter-spacing:0.01em;
  padding:12px 22px; border-radius:var(--radius);
  display:inline-block; transition:transform .25s ease, box-shadow .25s ease;
}
.values-tags span:hover{transform:translateY(-4px) scale(1.05); box-shadow:0 12px 20px rgba(39,53,98,0.18);}
.values-tags span:nth-child(odd){background:var(--gold); color:var(--ink);}
.values-tags span:nth-child(even){background:var(--ink); color:var(--gold);}

/* ---------- about / beneficiaries — redesigned as bordered, numbered cards ---------- */
.about-layout{display:grid; grid-template-columns:1fr 1fr; gap:60px; align-items:stretch;}
.about-layout .img-frame{aspect-ratio:auto; height:100%; transition:box-shadow .4s ease, border-color .4s ease;}
.about-layout .img-frame img{transition:transform .6s ease;}
.about-layout .img-frame:hover{box-shadow:0 22px 44px rgba(39,53,98,0.18); border-color:var(--gold);}
.about-layout .img-frame:hover img{transform:scale(1.06);}
.about-copy p{margin:0 0 18px; color:var(--muted); font-size:var(--mcv-body-size, 16px);}
.about-copy p:last-child{margin-bottom:0;}
.img-frame{border:1px solid var(--line); overflow:hidden; aspect-ratio:4/3; position:relative;}
.img-frame img{transition:transform .6s ease;}
.img-frame:hover img{transform:scale(1.05);}
.img-frame img{width:100%; height:100%; object-fit:cover;}
.beneficiary-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:24px; margin-top:56px; perspective:1200px;}
.beneficiary-card{
  background:var(--paper); border:1px solid var(--line); border-top:3px solid var(--gold);
  padding:0 0 26px; transition:transform .4s cubic-bezier(.2,.8,.2,1), box-shadow .4s ease;
}
.beneficiary-card:hover{transform:translateY(-8px) scale(1.015); box-shadow:0 24px 44px rgba(39,53,98,0.16); z-index:2;}
.beneficiary-card .img-frame{border:none; aspect-ratio:16/11; position:relative; overflow:hidden;}
.beneficiary-card .img-frame img{transition:transform .6s ease;}
.beneficiary-card:hover .img-frame img{transform:scale(1.08) translateY(-2%);}
.beneficiary-card .img-frame::after{
  content:""; position:absolute; inset:0; background:linear-gradient(180deg, transparent 55%, rgba(39,53,98,0.35) 100%);
  opacity:0; transition:opacity .4s ease;
}
.beneficiary-card:hover .img-frame::after{opacity:1;}
.beneficiary-card .bnf-num{
  position:absolute; top:14px; left:14px; width:34px; height:34px; border-radius:50%;
  background:var(--ink); color:var(--gold); display:flex; align-items:center; justify-content:center;
  font-weight:700; font-size:14px; z-index:2; transition:transform .4s ease, background .4s ease;
}
.beneficiary-card:hover .bnf-num{transform:scale(1.15) rotate(-6deg); background:var(--gold); color:var(--ink);}
.beneficiary-card .bnf-text{padding:20px 24px 0; transition:transform .35s ease;}
.beneficiary-card:hover .bnf-text{transform:translateX(3px);}
.beneficiary-card figcaption{font-size:var(--mcv-body-size, 14.5px); color:var(--muted);}
.beneficiary-card figcaption b{color:var(--ink); font-weight:700; display:block; font-size:16px; margin-bottom:6px; transition:color .3s ease;}
.beneficiary-card:hover figcaption b{color:var(--gold-deep);}
.img-credit{font-family:var(--sans); font-size:10px; color:var(--muted); opacity:0.75; margin-top:6px; padding:0 24px; display:block;}

/* ---------- value add — icon cards ---------- */
.value-add-columns{display:grid; grid-template-columns:1fr 1fr; gap:60px; align-items:start;}
.value-add-columns.value-add-columns--full{grid-template-columns:1fr; max-width:760px;}
.value-add-image-col .img-frame{aspect-ratio:4/5; position:sticky; top:100px;}
.value-add-list{list-style:none; margin:8px 0 0; padding:0;}
.value-add-item{
  display:block; padding:20px 4px;
  border-bottom:1px solid var(--line);
  transition:background .3s ease, padding-left .3s ease;
}
.value-add-item:first-child{padding-top:4px;}
.value-add-item:hover{background:var(--paper-2); padding-left:12px;}
.value-add-header{display:flex; align-items:center; gap:18px;}
.value-add-item .icon{
  flex-shrink:0; width:44px; height:44px; border-radius:50%; background:var(--paper-2);
  display:flex; align-items:center; justify-content:center; color:var(--gold-deep);
  transition:background .3s ease, color .3s ease;
}
.value-add-item .icon svg{width:20px; height:20px; stroke:currentColor; fill:none; stroke-width:1.8;}
.value-add-item:hover .icon{background:var(--ink); color:var(--gold);}

/* Inverted: dark icon circles idle, flip to light on hover — the reverse of the default. */
.value-add-inverted .value-add-item .icon{background:var(--ink); color:var(--gold);}
.value-add-inverted .value-add-item:hover .icon{background:var(--gold); color:var(--ink);}
.value-add-header h4{font-size:16.5px; font-weight:700; line-height:1.3;}
.value-add-item p{margin:10px 0 0 62px; font-size:var(--mcv-va-desc-size, var(--mcv-body-size, 16px)); color:var(--mcv-va-desc-color, var(--muted));}
.value-add-list--no-icons .value-add-item p{margin-left:0;}

/* No-icons variant: matches the Investments section's Criteria column
   exactly — border-top dividers, "+" mark, slide-right on hover. */
.value-add-list--no-icons .value-add-item{
  border-top:1px solid var(--line); border-bottom:none; padding:15px 0;
  transition:transform .25s ease, padding-left .25s ease, border-color .25s ease;
}
.value-add-list--no-icons .value-add-item:first-child{border-top:none; padding-top:0;}
.value-add-list--no-icons .value-add-item:hover{background:none; transform:translateX(4px); padding-left:8px;}
.value-add-list--no-icons .value-add-header{gap:14px;}
.value-add-list--no-icons .value-add-header .chk{color:var(--gold-deep); font-weight:700; transition:transform .25s ease;}
.value-add-list--no-icons .value-add-item:hover .chk{transform:scale(1.3);}
.value-add-list--no-icons .value-add-header h4{transition:color .25s ease;}
.value-add-list--no-icons .value-add-item:hover .value-add-header h4{color:var(--gold-deep);}
@media (max-width:560px){
  .value-add-item p{margin-left:0;}
}
@media (max-width:900px){
  .value-add-columns{grid-template-columns:1fr;}
  .value-add-image-col{order:-1;}
  .value-add-image-col .img-frame{position:static; aspect-ratio:16/9;}
}

/* ---------- team ---------- */
.team-tabs{display:flex; gap:0; border-bottom:1px solid var(--line); margin-bottom:46px; flex-wrap:wrap;}
.team-tab{font-family:var(--sans); font-weight:700; font-size:12.5px; letter-spacing:0.04em; text-transform:uppercase; padding:15px 20px; cursor:pointer; color:var(--muted); border-bottom:2px solid transparent; margin-bottom:-1px; background:none; border-top:none; border-left:none; border-right:none;}
.team-tab.active{color:var(--ink); border-bottom-color:var(--gold);}
.team-panel{display:none;}
.team-panel.active{display:grid; grid-template-columns:repeat(var(--team-columns, 3), 1fr); gap:var(--team-gap, 26px);}
.team-card{cursor:pointer; background:none; border:none; text-align:left; padding:0; font-family:var(--sans); display:flex; flex-direction:column; align-items:stretch; width:100%;}
.team-card .photo{border:1px solid var(--line); aspect-ratio:1/1; overflow:hidden; position:relative; width:100%; flex-shrink:0;}
.has-custom-photo-height .team-card .photo{aspect-ratio:auto; height:var(--team-photo-height);}
.team-card .photo.photo-shape-circle{border-radius:50%;}
.team-card .photo.photo-shape-rounded{border-radius:14px;}
.team-card .photo img{width:100%; height:100%; object-fit:cover; transform:scale(var(--photo-zoom, 1)); transition:transform .35s ease;}
.team-card:hover .photo img{transform:scale(calc(var(--photo-zoom, 1) * 1.04));}
.team-card .photo::after{
  content:"View bio"; position:absolute; right:10px; bottom:10px;
  background:var(--gold); color:var(--ink); font-size:11px; font-weight:700;
  padding:6px 10px; letter-spacing:0.03em; text-transform:uppercase;
  opacity:0; transition:opacity .2s ease;
}
.team-card .photo.photo-shape-circle::after{
  right:auto; left:50%; bottom:6%; transform:translateX(-50%);
}
.team-card:hover .photo::after{opacity:1;}
.team-card h4{margin-top:16px; font-size:17px; color:var(--mcv-name-color, var(--ink));}
.team-card .qualifications{font-size:12px; color:var(--muted); margin-top:3px; font-style:italic;}
.team-card .role{font-family:var(--sans); font-weight:600; font-size:12.5px; color:var(--gold-deep); margin-top:4px; text-transform:uppercase; letter-spacing:0.02em;}
.team-card p.bio-preview{margin-top:8px; font-size:var(--mcv-body-size, 16px); color:var(--muted); display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden;}
.team-card .linkedin-chip{
  display:inline-flex; align-items:center; gap:6px; margin-top:auto; padding-top:5px;
  font-size:12px; font-weight:700; color:var(--ink); background:var(--paper-2);
  padding:5px 10px; border-radius:var(--radius); align-self:flex-start;
}
.team-card .linkedin-chip svg{width:13px; height:13px; fill:var(--gold-deep);}

/* team bio modal */
.modal-overlay{
  display:none; position:fixed; inset:0; z-index:100;
  background:rgba(17,24,46,0.72); align-items:center; justify-content:center; padding:24px;
}
.modal-overlay.open{display:flex;}
.modal-card{
  background:var(--paper); max-width:640px; width:100%; max-height:85vh; overflow-y:auto;
  border:1px solid var(--line); position:relative;
  display:flex; flex-direction:column;
}
.modal-close{
  position:absolute; top:16px; right:16px; width:34px; height:34px; border-radius:50%;
  background:var(--paper-2); border:1px solid var(--line); font-size:18px; line-height:1; cursor:pointer;
  display:flex; align-items:center; justify-content:center; color:var(--ink); z-index:2;
}
.modal-close:hover{background:var(--gold); border-color:var(--gold);}
.modal-photo{aspect-ratio:16/9; overflow:hidden; border-bottom:1px solid var(--line); order:1; flex-shrink:0;}
.modal-photo img{width:100%; height:100%; object-fit:cover; object-position:center 20%;}
.modal-body{padding:36px; order:2;}
.modal-body .role{font-weight:700; font-size:12.5px; text-transform:uppercase; letter-spacing:0.04em; color:var(--gold-deep);}
.modal-body h3{margin-top:8px; font-size:24px;}
.modal-body p{margin-top:18px; color:var(--muted); font-size:16px;}

/* Per-member photo visibility/position, set via JS when a team card is clicked */
.modal-card.photo-hidden .modal-photo{display:none;}
.modal-card.photo-pos-bottom .modal-photo{order:2; border-bottom:none; border-top:1px solid var(--line);}
.modal-card.photo-pos-bottom .modal-body{order:1;}
.modal-card.photo-pos-left,
.modal-card.photo-pos-right{flex-direction:row; max-height:min(85vh, 520px);}
.modal-card.photo-pos-left .modal-photo,
.modal-card.photo-pos-right .modal-photo{
  width:38%; flex-shrink:0; aspect-ratio:auto; height:auto; border-bottom:none; align-self:stretch;
}
.modal-card.photo-pos-left .modal-body,
.modal-card.photo-pos-right .modal-body{flex:1; overflow-y:auto;}
.modal-card.photo-pos-left .modal-photo{order:1; border-right:1px solid var(--line);}
.modal-card.photo-pos-left .modal-body{order:2;}
.modal-card.photo-pos-right .modal-photo{order:2; border-left:1px solid var(--line);}
.modal-card.photo-pos-right .modal-body{order:1;}
@media (max-width:640px){
  /* Side-by-side photo layouts get cramped in a narrow modal on phones —
     fall back to a simple top-photo stack regardless of the chosen position. */
  .modal-card.photo-pos-left,
  .modal-card.photo-pos-right{flex-direction:column; max-height:85vh;}
  .modal-card.photo-pos-left .modal-photo,
  .modal-card.photo-pos-right .modal-photo{
    width:100%; aspect-ratio:16/9; height:auto; order:1; border-right:none; border-left:none; border-bottom:1px solid var(--line);
  }
  .modal-card.photo-pos-left .modal-body,
  .modal-card.photo-pos-right .modal-body{order:2;}
}
.modal-linkedin{
  display:none; align-items:center; gap:8px; margin-top:20px; font-size:13px; font-weight:700;
  color:var(--ink); background:var(--paper-2); padding:10px 16px; width:fit-content; border-radius:var(--radius);
  transition:background .2s ease, color .2s ease;
}
.modal-linkedin.show{display:inline-flex;}
.modal-linkedin svg{width:15px; height:15px; fill:var(--gold-deep); transition:fill .2s ease;}
.modal-linkedin:hover{background:var(--ink); color:var(--gold);}
.modal-linkedin:hover svg{fill:var(--gold);}

/* ---------- investments (light — no navy panel) ---------- */
.invest-layout{display:grid; grid-template-columns:1fr 1fr; gap:60px; align-items:start;}
.criteria-col .section-head,
.sector-list-wrap .section-head{min-height:76px;}
.criteria-col .section-head h3{font-size:20px; font-weight:700; color:var(--ink);}
.sector-list-wrap .section-head h3{font-size:20px; font-weight:700; color:var(--ink);}
.sector-list{list-style:none; margin:0; padding:0;}
.sector-list-item{
  border-top:1px solid var(--line); padding:16px 0; display:flex; flex-direction:column; gap:4px;
  transition:transform .25s ease, padding-left .25s ease, border-color .25s ease;
}
.sector-list-item:first-child{border-top:none;}
.sector-list-item:hover{transform:translateX(4px); padding-left:8px;}
.sector-list-item .sl-name{
  font-weight:700; font-size:var(--mcv-sl-name-size, 16px); color:var(--mcv-sl-name-color, var(--ink));
  transition:color .25s ease;
}
.sector-list-item:hover .sl-name{color:var(--gold-deep);}
.sector-list-item .sl-sub{font-size:var(--mcv-sl-sub-size, 14px); color:var(--mcv-sl-sub-color, var(--gold-deep)); font-weight:600;}
.sector-list-item .sl-desc{font-size:var(--mcv-sl-desc-size, 13px); color:var(--mcv-sl-desc-color, var(--muted));}
.criteria-list{list-style:none; margin:0; padding:0;}
.criteria-list li{
  display:flex; gap:14px; padding:15px 0; border-top:1px solid var(--line);
  font-size:var(--mcv-criteria-size, var(--mcv-body-size, 16px)); color:var(--mcv-criteria-color, var(--ink));
  transition:transform .25s ease, padding-left .25s ease, color .25s ease, border-color .25s ease;
}
.criteria-list li:first-child{border-top:none;}
.criteria-list li .chk{color:var(--gold-deep); font-weight:700; transition:transform .25s ease;}
.criteria-list li:hover{transform:translateX(4px); color:var(--mcv-criteria-color, var(--ink)); font-weight:600; padding-left:8px;}
.criteria-list li:hover .chk{transform:scale(1.3);}
.ticket-card{
  background:var(--paper); border:1px solid var(--line); border-left:3px solid var(--gold); padding:34px; margin-bottom:22px;
  transition:transform .35s ease, box-shadow .35s ease, background .35s ease;
  position:relative; overflow:hidden;
}
.ticket-card::before{
  content:""; position:absolute; inset:0; opacity:0; transition:opacity .35s ease; pointer-events:none;
  background:radial-gradient(circle at 90% 0%, rgba(202,162,90,0.14), transparent 60%);
}
.ticket-card:hover{transform:translateY(-6px) scale(1.01); box-shadow:0 22px 40px rgba(39,53,98,0.14);}
.ticket-card:hover::before{opacity:1;}
.ticket-card .range{font-family:var(--sans); font-weight:700; font-size:32px; margin-top:12px; color:var(--ink); position:relative; transition:transform .3s ease;}
.ticket-card:hover .range{transform:scale(1.04); transform-origin:left;}

/* ---------- sector focus — animated flow diagram (recreated from client reference) ---------- */
.sector-flow-wrap{
  margin-top:80px;
  --sf-radius: 10px;
  --sf-idle-bg: var(--gold);
  --sf-idle-border: var(--gold);
  --sf-idle-text: var(--ink);
  --sf-hover-bg: var(--ink);
  --sf-hover-border: var(--ink);
  --sf-hover-text: var(--gold-light, var(--gold));
  --sf-label-size: 16px;
  --sf-sub-size: 13.5px;
  --sf-gap: 10px;
  --sf-arrow-color: var(--gold);
  --sf-shadow-idle: 0 14px 28px rgba(39,53,98,0.16);
  --sf-shadow-hover: 0 24px 44px rgba(39,53,98,0.30);
}
.sector-flow{
  display:grid; grid-template-columns:1fr auto 1fr auto 1fr auto 1fr; align-items:center;
  gap:var(--sf-gap); overflow-x:auto; padding:20px 4px 30px;
}
.sector-flow-item{
  display:flex; flex-direction:column; align-items:center; text-align:center; min-width:190px;
}
.sector-flow-item .sf-label{font-size:var(--sf-label-size); font-weight:800; letter-spacing:0.01em; color:var(--ink); margin-bottom:18px; text-transform:uppercase;}
.sector-flow-circle{
  width:100%; max-width:210px; min-height:150px; border-radius:var(--sf-radius);
  background:var(--sf-idle-bg); border:2px solid var(--sf-idle-border);
  display:flex; align-items:center; justify-content:center; padding:20px;
  box-shadow:var(--sf-shadow-idle);
  transition:transform .4s cubic-bezier(.2,.8,.2,1), box-shadow .4s ease, border-color .4s ease, background .4s ease;
  box-sizing:border-box;
}
/* Circle shape MUST stay 1:1 regardless of how much text is inside it, or
   it stretches into an oval as sub-items are added. Rectangle/pill shapes
   don't have this problem — they can grow taller and still look correct. */
.sector-flow-circle.shape-circle{
  aspect-ratio:1/1; width:190px; max-width:190px; height:190px; min-height:0;
  padding:16px; overflow:hidden; border-radius:50%;
}
.sector-flow-circle.shape-circle ul{
  max-height:100%; overflow-y:auto; scrollbar-width:thin;
}
.sector-flow-circle.shape-pill{border-radius:999px;}
.sector-flow-circle ul{list-style:none; margin:0; padding:0; font-size:var(--sf-sub-size); font-weight:600; line-height:1.6; color:var(--sf-idle-text); transition:color .4s ease;}
.sector-flow-item:hover .sector-flow-circle{
  transform:scale(1.06) translateY(-4px);
  box-shadow:var(--sf-shadow-hover);
  border-color:var(--sf-hover-border); background:var(--sf-hover-bg);
}
.sector-flow-item:hover .sector-flow-circle ul{color:var(--sf-hover-text);}
.sector-flow-item .sf-desc{margin-top:16px; font-size:13.5px; font-weight:500; color:var(--muted); max-width:190px; transition:color .3s ease;}
.sector-flow-item:hover .sf-desc{color:var(--ink); font-weight:700;}
.sector-flow-arrow{
  width:36px; height:36px; display:flex; align-items:center; justify-content:center; flex-shrink:0;
  color:var(--sf-arrow-color); transition:transform .4s ease;
}
.sector-flow-arrow svg{width:28px; height:28px; fill:currentColor;}
.sector-flow:hover .sector-flow-arrow{transform:translateX(2px);}

/* ---------- media ---------- */
.media-carousel{position:relative;}
.media-carousel-track.media-grid{
  display:flex; gap:26px; overflow-x:auto; scroll-behavior:smooth; scroll-snap-type:x mandatory;
  scrollbar-width:none; -ms-overflow-style:none; padding-bottom:2px;
}
.media-carousel-track.media-grid::-webkit-scrollbar{display:none;}
.media-carousel-track .media-card{
  flex:0 0 calc((100% - 2*26px) / 3); scroll-snap-align:start; min-width:0;
}
.media-nav-btn{
  position:absolute; top:38%; transform:translateY(-50%); z-index:3;
  width:44px; height:44px; border-radius:50%; border:1px solid var(--line);
  background:var(--paper); color:var(--ink); display:flex; align-items:center; justify-content:center;
  cursor:pointer; box-shadow:0 10px 22px rgba(39,53,98,0.16); transition:background .2s ease, color .2s ease, opacity .2s ease;
}
.media-nav-btn svg{width:22px; height:22px; fill:currentColor;}
.media-nav-btn:hover{background:var(--gold); border-color:var(--gold);}
.media-nav-prev{left:-14px;}
.media-nav-next{right:-14px;}
.media-nav-btn.is-disabled{opacity:0; pointer-events:none;}
@media (max-width:900px){
  .media-carousel-track .media-card{flex:0 0 calc((100% - 26px) / 2);}
  .media-nav-prev{left:-6px;}
  .media-nav-next{right:-6px;}
}
@media (max-width:560px){
  .media-carousel-track .media-card{flex:0 0 88%;}
}
.media-card{
  display:block; border:1px solid var(--line); border-top:3px solid transparent; background:var(--paper);
  transition:transform .35s ease, box-shadow .35s ease, border-color .35s ease;
}
.media-card:hover{
  transform:translateY(-6px); box-shadow:0 22px 40px rgba(39,53,98,0.14); border-top-color:var(--gold); z-index:2;
}
.media-card .thumb{aspect-ratio:16/10; overflow:hidden; border-bottom:1px solid var(--line);}
.media-card .thumb img{width:100%; height:100%; object-fit:cover; transition:transform .5s ease;}
.media-card:hover .thumb img{transform:scale(1.06);}
.media-card .body{padding:22px;}
.media-card .tag{font-family:var(--sans); font-weight:700; font-size:11px; letter-spacing:0.05em; text-transform:uppercase; color:var(--gold-deep);}
.media-card h4{margin-top:10px; font-size:17px; line-height:1.35; transition:color .25s ease;}
.media-card:hover h4{color:var(--gold-deep);}
.media-card p{margin-top:10px; font-size:var(--mcv-body-size, 16px); color:var(--muted);}

/* ---------- contact (light panels, no navy) ---------- */
.contact-grid{display:grid; grid-template-columns:1fr 1fr; gap:1px; background:var(--line); border:1px solid var(--line);}
.contact-col{background:var(--paper); padding:44px;}
.contact-col h3{color:var(--ink); font-size:21px;}
.contact-detail{margin-top:24px;}
.contact-detail .label{font-family:var(--sans); font-weight:700; font-size:var(--mcv-field-label-size, 11px); text-transform:uppercase; letter-spacing:0.06em; color:var(--mcv-field-label-color, var(--muted));}
.contact-detail .value{margin-top:6px; font-size:var(--mcv-field-value-size, var(--mcv-body-size, 16px)); color:var(--mcv-field-value-color, var(--ink));}
.contact-detail .value a{color:var(--ink); text-decoration:underline; text-decoration-color:var(--gold); text-underline-offset:3px; transition:color .2s ease;}
.contact-detail .value a:hover{color:var(--gold-deep);}
.map-embed{margin-top:24px; border:1px solid var(--line); overflow:hidden; aspect-ratio:16/10;}
.map-embed iframe{width:100%; height:100%; border:0; display:block;}
.map-cta{
  margin-top:24px; border:1px solid var(--line); padding:28px; text-align:center;
  display:flex; flex-direction:column; align-items:center; gap:14px;
}
.map-cta .map-cta-label{font-size:13px; color:var(--muted);}
.upload-box{margin-top:26px; border:1px dashed var(--gold-deep); padding:24px; font-size:13px; color:var(--muted); display:flex; align-items:center; justify-content:space-between; gap:16px; flex-wrap:wrap;}
.contact-form-shortcode{margin-top:20px;}

/* Light-touch styling so a dropped-in Contact Form 7 (or similar) form
   reasonably matches the rest of the design without extra CSS work.
   Site owners can still override further via CF7's own settings or a
   child theme stylesheet. */
.contact-form-shortcode .wpcf7-form p{margin:0 0 16px;}
.contact-form-shortcode .wpcf7-form label{
  display:block; font-family:var(--sans); font-weight:700; font-size:11px;
  text-transform:uppercase; letter-spacing:0.05em; color:var(--muted); margin-bottom:8px;
}
.contact-form-shortcode .wpcf7-form input[type="text"],
.contact-form-shortcode .wpcf7-form input[type="email"],
.contact-form-shortcode .wpcf7-form input[type="tel"],
.contact-form-shortcode .wpcf7-form input[type="url"],
.contact-form-shortcode .wpcf7-form select,
.contact-form-shortcode .wpcf7-form textarea{
  width:100%; background:transparent; border:none; border-bottom:1px solid var(--line);
  color:var(--ink); font-family:var(--sans); font-size:15px; padding:10px 0; outline:none;
}
.contact-form-shortcode .wpcf7-form input:focus,
.contact-form-shortcode .wpcf7-form textarea:focus,
.contact-form-shortcode .wpcf7-form select:focus{border-color:var(--gold-deep);}
.contact-form-shortcode .wpcf7-form input[type="file"]{
  font-size:13px; color:var(--muted); border:1px dashed var(--gold-deep); padding:14px; width:100%;
}
.contact-form-shortcode .wpcf7-form input[type="submit"]{
  font-family:var(--sans); font-weight:700; font-size:13px; letter-spacing:0.03em; text-transform:uppercase;
  padding:14px 26px; border:1.5px solid var(--gold); background:var(--gold); color:var(--ink);
  cursor:pointer; margin-top:10px; transition:background .2s ease;
}
.contact-form-shortcode .wpcf7-form input[type="submit"]:hover{background:var(--gold-deep); color:var(--paper);}
.contact-form-shortcode .wpcf7-response-output{
  margin-top:16px; padding:12px 16px; border:1px solid var(--line); font-size:13.5px;
}
.contact-form-shortcode .wpcf7-not-valid-tip{color:#a3312a; font-size:12px; margin-top:4px; display:block;}
.form-row{display:flex; flex-direction:column; gap:8px; margin-top:16px;}
.form-row label{font-family:var(--sans); font-weight:700; font-size:var(--mcv-field-label-size, 11px); text-transform:uppercase; letter-spacing:0.05em; color:var(--mcv-field-label-color, var(--muted));}
.form-row input, .form-row textarea, .form-row select{background:transparent; border:none; border-bottom:1px solid var(--line); color:var(--mcv-field-value-color, var(--ink)); font-family:var(--sans); font-size:var(--mcv-field-value-size, 15px); padding:10px 0; outline:none;}
.form-row input::placeholder, .form-row textarea::placeholder{color:rgba(39,53,98,0.35);}
.form-row input:focus, .form-row textarea:focus, .form-row select:focus{border-color:var(--gold-deep);}

/* ---------- strategic partners strip — infinite carousel ---------- */
.partners-strip{background:var(--paper-2); padding:64px 0; border-top:1px solid var(--line);}
.partners-strip .section-head{margin-bottom:var(--mcv-partners-gap, 40px);}
.partners-carousel{
  overflow:hidden; position:relative; width:100%;
  -webkit-mask-image:linear-gradient(90deg, transparent, #000 6%, #000 94%, transparent);
  mask-image:linear-gradient(90deg, transparent, #000 6%, #000 94%, transparent);
}
.partners-track{
  display:flex; gap:var(--mcv-partners-logo-gap, 20px); width:max-content;
  animation:partners-scroll 28s linear infinite;
}
.partners-carousel:hover .partners-track{animation-play-state:paused;}
@keyframes partners-scroll{
  from{transform:translateX(0);}
  to{transform:translateX(-50%);}
}
.partner-logo{
  background:var(--paper); border:1px solid var(--line); width:var(--mcv-partners-logo-width, 200px); aspect-ratio:3/2; flex-shrink:0;
  display:flex; align-items:center; justify-content:center; text-align:center;
  color:var(--muted); font-size:11.5px; font-weight:600; letter-spacing:0.02em; padding:12px;
}
/* Static display style: no scroll animation, centered wrapped row, no fade mask needed */
.partners-carousel.is-static{overflow:visible; -webkit-mask-image:none; mask-image:none;}
.partners-carousel.is-static .partners-track{
  animation:none; width:100%; flex-wrap:wrap; justify-content:center;
}
/* grayscale option — toggle in Customizer (or per-widget in Elementor) */
.partners-carousel.is-grayscale .partner-logo img{
  filter:grayscale(100%) opacity(0.65);
  transition:filter .3s ease;
}
.partners-carousel.is-grayscale .partner-logo:hover img{
  filter:grayscale(0%) opacity(1);
}
@media (prefers-reduced-motion: reduce){ .partners-track{animation:none;} }

/* ---------- footer compliance / PAIA ---------- */
.compliance-notice{font-size:12px; line-height:1.6; max-width:900px; color:rgba(251,249,245,0.55);}
.footer-legal-row{margin-top:26px; padding-top:22px; border-top:1px solid var(--line-ink);}

/* ---------- footer (charcoal, not blue) ---------- */
footer.site-footer{background:var(--ink); color:var(--muted-on-ink); padding:64px 0 26px;}
.footer-grid{display:grid; grid-template-columns:1.4fr 1fr 1fr 1fr; gap:40px;}
.footer-logo{font-family:var(--sans); font-weight:700; color:var(--paper); font-size:19px;}
.footer-logo--image img{max-height:38px; width:auto; display:block;}
.footer-tag{margin-top:14px; font-size:14px; max-width:280px; color:var(--muted-on-ink);}
.footer-col h5{font-family:var(--sans); font-weight:700; font-size:11px; letter-spacing:0.06em; text-transform:uppercase; color:var(--gold); margin-bottom:14px;}
.footer-col a{display:block; font-size:14px; margin-bottom:9px; color:var(--muted-on-ink);}
.footer-col a:hover{color:var(--paper);}
.footer-bottom{margin-top:56px; padding-top:22px; border-top:1px solid var(--line-ink); display:flex; justify-content:space-between; font-size:12.5px; color:rgba(251,249,245,0.4); flex-wrap:wrap; gap:10px;}

/* ---------- review banner ---------- */
.review-banner{background:var(--gold); color:var(--ink); text-align:center; padding:10px 16px; font-size:12.5px; font-weight:600;}

/* ---------- back to top ---------- */
.back-to-top{
  position:fixed; right:28px; bottom:28px; z-index:80;
  width:50px; height:50px; border-radius:50%;
  background:var(--ink); color:var(--gold); border:1px solid var(--ink);
  display:flex; align-items:center; justify-content:center; cursor:pointer;
  opacity:0; visibility:hidden; transform:translateY(12px);
  transition:opacity .3s ease, transform .3s ease, visibility .3s, background .25s ease, color .25s ease;
  box-shadow:0 10px 24px rgba(39,53,98,0.28);
}
.back-to-top.visible{opacity:1; visibility:visible; transform:translateY(0);}
.back-to-top:hover{background:var(--gold); color:var(--ink);}
.back-to-top svg{width:20px; height:20px; fill:none; stroke:currentColor; stroke-width:2.2; stroke-linecap:round; stroke-linejoin:round;}
@media (max-width:560px){
  .back-to-top{right:18px; bottom:18px; width:44px; height:44px;}
}

/* ---------- responsive ---------- */
@media (max-width: 900px){
  .nav-cta{display:none;}
  .nav-hamburger{display:flex;}
  .nav-links{
    display:none; position:absolute; top:100%; left:0; right:0;
    background:var(--paper); border-bottom:1px solid var(--line);
    flex-direction:column; gap:0; padding:8px 0;
    box-shadow:0 16px 30px rgba(39,53,98,0.12);
  }
  .nav-links.is-open{display:flex;}
  .nav-links a{
    padding:14px 32px; border-bottom:1px solid var(--line); width:100%; box-sizing:border-box;
  }
  .nav-links a.current{border-left:3px solid var(--gold); background:var(--paper-2);}
  .compare{grid-template-columns:1fr;}
  .vmv-grid{grid-template-columns:1fr;}
  .about-layout{grid-template-columns:1fr;}
  .beneficiary-grid{grid-template-columns:1fr;}
  .value-add-list{grid-template-columns:1fr;}
  .team-panel.active{grid-template-columns:1fr 1fr;}
  .invest-layout{grid-template-columns:1fr;}
  .media-grid{grid-template-columns:1fr;}
  .contact-grid{grid-template-columns:1fr;}
  .footer-grid{grid-template-columns:1fr 1fr;}
  .stat-strip .wrap{grid-template-columns:repeat(2,1fr);}
  .stat{border-bottom:1px solid var(--line);}
  .stat:nth-child(2n){border-right:none;}
  .stat:nth-last-child(-n+2){border-bottom:none;}
  .sector-flow{grid-template-columns:none; display:flex;}
}
@media (max-width: 560px){
  .wrap{padding:0 20px;}
  .team-panel.active{grid-template-columns:1fr;}
  .footer-grid{grid-template-columns:1fr;}
}
@media (prefers-reduced-motion: reduce){ html{scroll-behavior:auto;} }
