/*
Theme Name: Pharos Global
Theme URI: https://pharos-global.com
Author: Pharos Global
Author URI: https://pharos-global.com
Description: Corporate website theme for Pharos Global / BHC Markets Limited — a Mauritius-licensed Investment Dealer. Dark emerald design with 3D visuals, animated network backgrounds and scroll reveals.
Version: 1.0.0
Requires at least: 6.0
Tested up to: 6.5
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: pharos-global
Tags: business, corporate, dark, one-column, custom-logo, custom-menu
*/


:root{
  --bg:#071a0e;--bg2:#0d2515;--bg3:#0a1f12;
  --green:#2adb6f;--gl:#5fe6a0;--sv:#9ab8b0;
  --white:#eef4f0;--muted:rgba(238,244,240,.52);
  --border:rgba(79,255,176,.09);
  --grad1:linear-gradient(135deg,#0d3520,#071a0e);
}
*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{background:var(--bg);color:var(--white);font-family:'Montserrat',sans-serif;overflow-x:hidden;}
::-webkit-scrollbar{width:4px;}
::-webkit-scrollbar-track{background:var(--bg);}
::-webkit-scrollbar-thumb{background:#2d6a40;}

/* NAV */
#site-nav{
  position:fixed;top:0;left:0;right:0;z-index:1000;
  padding:14px 52px;display:flex;align-items:center;justify-content:space-between;gap:28px;
  background:rgba(7,26,14,.92);backdrop-filter:blur(16px);
  border-bottom:1px solid var(--border);
  transition:background .3s,transform .4s cubic-bezier(.23,1,.32,1);
}
#site-nav.scrolled{background:rgba(4,16,8,.97);}
#site-nav.hide{transform:translateY(-100%);}
.logo-link{flex-shrink:0;}
.logo-img{height:42px;width:auto;}
.nav-links{display:flex;gap:26px;list-style:none;flex:1;justify-content:center;}
.nav-links a{
  color:rgba(238,244,240,.58);text-decoration:none;
  font-size:10.5px;letter-spacing:1.8px;text-transform:uppercase;font-weight:500;
  position:relative;transition:color .3s;
}
.nav-links a::after{content:'';position:absolute;bottom:-3px;left:0;width:100%;height:1px;background:var(--gl);transform:scaleX(0);transform-origin:right;transition:transform .35s cubic-bezier(.76,0,.24,1);}
.nav-links a:hover,.nav-links a.active{color:var(--gl);}
.nav-links a:hover::after,.nav-links a.active::after{transform:scaleX(1);transform-origin:left;}
.nav-cta{flex-shrink:0;padding:9px 22px;border:1px solid rgba(79,255,176,.3);color:var(--gl);font-size:10px;letter-spacing:2px;text-transform:uppercase;font-weight:500;text-decoration:none;transition:all .3s;}
.nav-cta:hover{background:rgba(79,255,176,.08);}
.nav-burger{display:none;background:none;border:none;color:var(--white);font-size:22px;cursor:pointer;}

/* LOADER */
#ph-loader{position:fixed;inset:0;z-index:99999;background:#030d05;display:flex;flex-direction:column;align-items:center;justify-content:center;transition:opacity .6s,transform .6s;}
#ph-loader.out{opacity:0;transform:translateY(-6px);pointer-events:none;}
.loader-logo{opacity:0;transform:translateY(10px);transition:opacity .5s,transform .5s;}
.loader-logo.in{opacity:1;transform:none;}
.loader-logo img{height:50px;}
#loader-num{position:absolute;bottom:28px;right:52px;font-family:'Cormorant Garamond',serif;font-size:clamp(64px,11vw,140px);font-weight:300;color:rgba(79,255,176,.06);letter-spacing:-4px;user-select:none;}
.loader-bar{position:absolute;bottom:0;left:0;right:0;height:2px;background:rgba(79,255,176,.07);}
#loader-fill{height:100%;background:linear-gradient(to right,transparent,var(--green),var(--gl));transform-origin:left;transform:scaleX(0);}
#page-trans{position:fixed;inset:0;z-index:99990;background:#030d05;transform:translateY(100%);pointer-events:none;}
#page-trans.in{animation:tIn .55s cubic-bezier(.76,0,.24,1) forwards;pointer-events:all;}
#page-trans.out{animation:tOut .65s cubic-bezier(.76,0,.24,1) forwards;}
@keyframes tIn{from{transform:translateY(100%)}to{transform:translateY(0)}}
@keyframes tOut{from{transform:translateY(0)}to{transform:translateY(-100%)}}

/* HERO */
.hero{min-height:100vh;display:grid;grid-template-columns:1fr 1fr;align-items:center;position:relative;overflow:hidden;padding:100px 52px 60px;}
.hero-bg{position:absolute;inset:0;z-index:0;}
.hero-bg canvas{width:100%;height:100%;display:block;}
.hero-bg::after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(7,26,14,.95) 0%,rgba(7,26,14,.7) 50%,rgba(7,26,14,.15) 100%);}
.hero-body{position:relative;z-index:2;}
.hero-badge{display:inline-flex;align-items:center;gap:8px;padding:6px 16px;margin-bottom:28px;border:1px solid rgba(79,255,176,.25);font-size:10px;letter-spacing:3px;text-transform:uppercase;color:var(--gl);background:rgba(42,219,111,.08);}
.hero-badge::before{content:'';width:6px;height:6px;border-radius:50%;background:var(--green);box-shadow:0 0 8px var(--green);animation:blink 2s infinite;}
@keyframes blink{0%,100%{opacity:1}50%{opacity:.3}}
.hero-h1{font-family:'Cormorant Garamond',serif;font-size:clamp(40px,5vw,76px);font-weight:300;line-height:1.05;letter-spacing:-.5px;margin-bottom:20px;}
.hero-h1 em{font-style:italic;color:var(--gl);}
.hero-p{font-size:13.5px;line-height:1.9;color:var(--muted);font-weight:300;max-width:500px;margin-bottom:36px;}
.hero-btns{display:flex;gap:14px;flex-wrap:wrap;}
.hero-cv{position:relative;z-index:2;}
.hero-cv .cv-box{height:520px;}
.hero-scroll{position:absolute;bottom:32px;left:52px;z-index:3;display:flex;align-items:center;gap:14px;color:rgba(238,244,240,.3);font-size:9px;letter-spacing:3px;text-transform:uppercase;}
.scroll-line{width:34px;height:1px;background:rgba(238,244,240,.18);overflow:hidden;position:relative;}
.scroll-line::after{content:'';position:absolute;top:0;left:-100%;width:100%;height:100%;background:var(--gl);animation:sl 2s infinite;}
@keyframes sl{to{left:100%;}}
.hero-arr{position:absolute;bottom:32px;right:52px;z-index:3;animation:bounceY 2s infinite;opacity:.45;}
.hero-arr svg{width:22px;height:22px;stroke:var(--gl);fill:none;}
@keyframes bounceY{0%,100%{transform:translateY(0)}50%{transform:translateY(8px)}}

/* PAGE HERO */
.page-hero{padding:148px 52px 72px;position:relative;overflow:hidden;}
.ph-par{position:absolute;inset:0;z-index:0;}
.ph-par canvas{width:100%;height:100%;display:block;opacity:.28;}
.ph-glow{position:absolute;inset:0;z-index:1;pointer-events:none;}
.ph-body{position:relative;z-index:2;}
.breadcrumb{font-size:10px;letter-spacing:3px;text-transform:uppercase;color:var(--muted);margin-bottom:18px;}
.breadcrumb a{color:var(--gl);text-decoration:none;}
.breadcrumb span{margin:0 8px;opacity:.3;}
.page-h1{font-family:'Cormorant Garamond',serif;font-size:clamp(36px,4.8vw,68px);font-weight:300;line-height:1.06;margin-bottom:18px;}
.page-h1 em{font-style:italic;color:var(--gl);}
.page-lead{font-size:14px;line-height:1.9;color:var(--muted);max-width:560px;font-weight:300;}

/* PARALLAX BG GLOW */
.par-glow{position:absolute;inset:0;z-index:0;pointer-events:none;will-change:transform;}
.par-bg{position:absolute;inset:0;z-index:0;pointer-events:none;will-change:transform;}

/* BUTTONS */
.btn-p{display:inline-block;padding:13px 34px;background:linear-gradient(135deg,#2d6a40,#1a3d25);color:var(--white);text-decoration:none;font-size:10px;letter-spacing:3px;text-transform:uppercase;font-weight:500;border:1px solid rgba(79,255,176,.28);transition:border-color .3s,box-shadow .3s;}
.btn-p:hover{border-color:var(--gl);box-shadow:0 0 28px rgba(42,219,111,.18);}
.btn-g{display:inline-block;padding:13px 34px;background:transparent;color:rgba(238,244,240,.6);text-decoration:none;font-size:10px;letter-spacing:3px;text-transform:uppercase;font-weight:500;border:1px solid rgba(238,244,240,.18);transition:all .3s;}
.btn-g:hover{color:var(--white);border-color:rgba(238,244,240,.42);}

/* LAYOUT */
.div{width:100%;height:1px;background:linear-gradient(to right,transparent,rgba(79,255,176,.16),transparent);}
.sec{padding:96px 52px;position:relative;overflow:hidden;}
.sec.dark{background:rgba(13,40,24,.4);}
.split2{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center;}
.split2.rev{direction:rtl;}.split2.rev>*{direction:ltr;}
.lbl{font-size:10px;letter-spacing:4px;text-transform:uppercase;color:var(--gl);margin-bottom:14px;display:flex;align-items:center;gap:12px;}
.lbl::before{content:'';width:22px;height:1px;background:var(--gl);}
.h2{font-family:'Cormorant Garamond',serif;font-size:clamp(28px,3vw,48px);font-weight:300;line-height:1.1;margin-bottom:18px;}
.h2 em{font-style:italic;color:var(--gl);}
.para{font-size:13.5px;line-height:1.9;color:var(--muted);font-weight:300;}

/* CANVAS */
.cv-box{position:relative;width:100%;border:1px solid var(--border);}
.cv-box canvas{position:absolute;top:0;left:0;width:100%!important;height:100%!important;display:block;}

/* CARDS */
.cards{display:grid;gap:2px;}.cards.c3{grid-template-columns:repeat(3,1fr);}.cards.c4{grid-template-columns:repeat(4,1fr);}.cards.c2{grid-template-columns:repeat(2,1fr);}
.card{padding:40px 34px;background:rgba(26,61,37,.2);border:1px solid var(--border);position:relative;overflow:hidden;transition:background .4s;}
.card:hover{background:rgba(26,61,37,.4);}
.card::after{content:'';position:absolute;bottom:0;left:0;width:0;height:1px;background:var(--green);transition:width .5s;}
.card:hover::after{width:100%;}
.cn{font-family:'Cormorant Garamond',serif;font-size:52px;font-weight:300;color:rgba(79,255,176,.07);line-height:1;position:absolute;top:12px;right:20px;}
.ct{font-family:'Cormorant Garamond',serif;font-size:21px;font-weight:400;margin-bottom:10px;}
.cp{font-size:13px;line-height:1.8;color:var(--muted);}
.clink{display:inline-flex;align-items:center;gap:8px;margin-top:14px;font-size:10px;letter-spacing:2px;text-transform:uppercase;color:var(--gl);text-decoration:none;transition:gap .3s;}
.clink:hover{gap:13px;}

/* STATS */
.stat-row{display:grid;grid-template-columns:repeat(4,1fr);gap:0;}
.stat{padding:28px 24px;border:1px solid var(--border);background:rgba(26,61,37,.22);position:relative;}
.stat::before{content:'';position:absolute;top:0;left:0;width:2px;height:100%;background:linear-gradient(to bottom,var(--green),transparent);}
.stat-n{font-family:'Cormorant Garamond',serif;font-size:36px;font-weight:300;color:var(--gl);line-height:1;margin-bottom:6px;}
.stat-l{font-size:10px;letter-spacing:2px;color:var(--muted);text-transform:uppercase;}

/* PILLARS */
.pillars{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;}
.pillar{padding:48px 38px;background:rgba(26,61,37,.18);border:1px solid var(--border);position:relative;}
.pillar::before{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(to right,var(--green),transparent);}
.pl-sub{font-size:10px;letter-spacing:3px;text-transform:uppercase;color:var(--gl);margin-bottom:10px;}
.pl-title{font-family:'Cormorant Garamond',serif;font-size:23px;font-weight:400;margin-bottom:12px;}
.pl-text{font-size:13px;line-height:1.85;color:var(--muted);}

/* WHY GRID */
.why-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;}
.why-card{padding:42px 34px;background:rgba(26,61,37,.18);border:1px solid var(--border);position:relative;transition:background .4s;}
.why-card:hover{background:rgba(26,61,37,.38);}
.wc-num{font-family:'Cormorant Garamond',serif;font-size:52px;font-weight:300;color:rgba(79,255,176,.08);line-height:1;position:absolute;top:12px;right:20px;}
.wc-title{font-family:'Cormorant Garamond',serif;font-size:20px;font-weight:400;margin-bottom:10px;}
.wc-desc{font-size:13px;line-height:1.8;color:var(--muted);}

/* FEATURE LIST */
.feat-list{list-style:none;display:flex;flex-direction:column;gap:12px;margin-top:24px;}
.feat-list li{display:flex;align-items:flex-start;gap:12px;font-size:13px;color:var(--muted);line-height:1.7;}
/* PROCESS FLOW */
.flow-diagram{display:grid;grid-template-columns:repeat(6,1fr) 5px repeat(0,0fr);align-items:start;gap:0;position:relative;margin-top:8px;}
.flow-step{padding:28px 20px 28px;background:rgba(26,61,37,.2);border:1px solid var(--border);position:relative;text-align:center;transition:background .3s;}
.flow-step:hover{background:rgba(26,61,37,.38);}
.flow-step::before{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(to right,var(--green),transparent);}
.flow-num{font-family:'Cormorant Garamond',serif;font-size:40px;font-weight:300;color:rgba(79,255,176,.14);line-height:1;margin-bottom:8px;}
.flow-title{font-size:11px;letter-spacing:1.5px;text-transform:uppercase;font-weight:600;margin-bottom:8px;color:var(--white);}
.flow-desc{font-size:11.5px;line-height:1.65;color:var(--muted);}
.flow-arrow{display:flex;align-items:center;justify-content:center;color:rgba(79,255,176,.3);font-size:20px;padding-top:48px;}

/* ASSET TABLE */
.asset-tbl{width:100%;border-collapse:collapse;}
.asset-tbl th{padding:13px 18px;text-align:left;font-size:10px;letter-spacing:2.5px;text-transform:uppercase;color:var(--gl);border-bottom:1px solid rgba(79,255,176,.16);font-weight:500;}
.asset-tbl td{padding:14px 18px;font-size:13px;color:rgba(238,244,240,.72);border-bottom:1px solid rgba(79,255,176,.05);line-height:1.5;}
.asset-tbl tr:hover td{background:rgba(26,61,37,.25);color:var(--white);}
.tag{display:inline-block;padding:3px 10px;font-size:10px;letter-spacing:1px;background:rgba(79,255,176,.1);color:var(--gl);border:1px solid rgba(79,255,176,.18);}

/* HIGHLIGHT BOX */
.hbox{padding:32px 36px;background:linear-gradient(135deg,rgba(45,106,64,.26),rgba(10,31,16,.5));border:1px solid rgba(79,255,176,.16);position:relative;overflow:hidden;}
.hbox::before{content:'';position:absolute;top:0;left:0;width:3px;height:100%;background:var(--green);}
.hb-sub{font-size:10px;letter-spacing:3px;text-transform:uppercase;color:var(--gl);margin-bottom:8px;}
.hb-p{font-size:13px;line-height:1.85;color:var(--muted);}

/* ACCORDION */
.accord-item{border-bottom:1px solid rgba(79,255,176,.09);}
.accord-hd{padding:22px 0;display:flex;justify-content:space-between;align-items:center;cursor:pointer;font-size:14.5px;font-weight:500;transition:color .3s;user-select:none;}
.accord-hd:hover{color:var(--gl);}
.a-ic{width:20px;height:20px;flex-shrink:0;stroke:var(--gl);fill:none;transition:transform .3s;}
.a-ic.open{transform:rotate(45deg);}
.accord-body{overflow:hidden;max-height:0;transition:max-height .4s ease;}
.accord-body.open{max-height:260px;}
.accord-body p{padding:0 0 20px;font-size:13px;line-height:1.85;color:var(--muted);}

/* TIMELINE */
.timeline{display:flex;flex-direction:column;}
.tl-row{display:grid;grid-template-columns:70px 1fr;gap:26px;padding:30px 0;border-bottom:1px solid rgba(79,255,176,.07);}
.tl-n{font-family:'Cormorant Garamond',serif;font-size:46px;font-weight:300;color:rgba(79,255,176,.14);line-height:1;text-align:right;}
.tl-title{font-family:'Cormorant Garamond',serif;font-size:20px;font-weight:400;margin-bottom:7px;}
.tl-p{font-size:13px;line-height:1.8;color:var(--muted);}

/* CTA BAND */
.cta-band{padding:120px 52px;text-align:center;position:relative;overflow:hidden;background:var(--bg3);}
.cta-bg{position:absolute;inset:0;z-index:0;opacity:.18;}
.cta-bg canvas{width:100%;height:100%;display:block;}
.cta-body{position:relative;z-index:2;}
.cta-h2{font-family:'Cormorant Garamond',serif;font-size:clamp(32px,4.2vw,60px);font-weight:300;line-height:1.1;margin-bottom:16px;}
.cta-h2 em{font-style:italic;color:var(--gl);}
.cta-p{font-size:13px;color:var(--muted);margin-bottom:36px;}

/* MARQUEE */
.marquee-band{border-top:1px solid var(--border);border-bottom:1px solid var(--border);padding:16px 0;overflow:hidden;background:rgba(13,40,24,.3);}
.mq-track{white-space:nowrap;overflow:hidden;}
.marquee-inner{display:inline-flex;align-items:center;white-space:nowrap;will-change:transform;}
.mi{display:inline-flex;align-items:center;font-family:'Cormorant Garamond',serif;font-size:clamp(15px,1.8vw,24px);font-weight:300;letter-spacing:2px;text-transform:uppercase;color:rgba(238,244,240,.28);padding:0 36px;}
.mi em{font-style:italic;color:rgba(79,255,176,.48);}
.mdot{width:4px;height:4px;border-radius:50%;background:rgba(79,255,176,.22);flex-shrink:0;}

/* GRADIENT SECTION DIVIDERS */
.grad-band{height:160px;position:relative;overflow:hidden;}
.grad-band::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse 80% 100% at 50% 100%,rgba(42,219,111,.08),transparent);}

/* FORM */
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
.fg-full{grid-column:1/-1;}
.flabel{font-size:10px;letter-spacing:2px;text-transform:uppercase;color:var(--muted);display:block;margin-bottom:7px;}
.finput,.fselect,.ftextarea{width:100%;background:rgba(26,61,37,.28);border:1px solid rgba(79,255,176,.13);color:var(--white);padding:12px 14px;font-family:'Montserrat',sans-serif;font-size:13px;font-weight:300;outline:none;transition:border .3s;}
.finput:focus,.fselect:focus,.ftextarea:focus{border-color:rgba(79,255,176,.42);}
.finput::placeholder,.ftextarea::placeholder{color:rgba(238,244,240,.2);}
.ftextarea{resize:vertical;min-height:120px;}
.fselect option{background:var(--bg);}
#form-ok{display:none;margin-top:16px;padding:16px 20px;background:rgba(42,219,111,.1);border:1px solid rgba(42,219,111,.28);color:var(--gl);font-size:13px;}

/* FOOTER */
footer{padding:56px 52px;border-top:1px solid var(--border);display:grid;grid-template-columns:2fr 1fr 1fr 1.4fr;gap:44px;align-items:start;position:relative;overflow:hidden;}
.fc-brand img{height:46px;margin-bottom:12px;display:block;}
.footer-reg{font-size:10px;letter-spacing:3px;color:var(--gl);margin-bottom:12px;}
.footer-desc{font-size:12px;line-height:1.8;color:rgba(238,244,240,.34);}
.fc-title{font-size:10px;letter-spacing:3px;text-transform:uppercase;color:var(--gl);margin-bottom:16px;}
.fc a{display:block;font-size:12px;color:rgba(238,244,240,.46);text-decoration:none;margin-bottom:8px;transition:color .3s;}
.fc a:hover{color:var(--white);}
.fc-addr{font-size:12px;color:rgba(238,244,240,.46);line-height:1.9;margin-bottom:8px;}
.fc-email{font-size:12px;color:var(--gl);text-decoration:none;}
.footer-bar{padding:20px 52px;border-top:1px solid rgba(79,255,176,.07);display:flex;justify-content:space-between;font-size:11px;color:rgba(238,244,240,.26);letter-spacing:1px;}

/* SPLIT TEXT */
.wd{display:inline-block;overflow:hidden;vertical-align:bottom;}
.wd-i{display:inline-block;transform:translateY(105%);transition:transform .72s cubic-bezier(.16,1,.3,1);}
.wd-i.rev{transform:none;}
.fu{opacity:0;transform:translateY(22px);transition:opacity .72s ease,transform .72s cubic-bezier(.16,1,.3,1);}
.fu.vis{opacity:1;transform:none;}

/* RESPONSIVE */
@media(max-width:1060px){
  .flow-diagram{grid-template-columns:repeat(3,1fr);}.flow-arrow{display:none;}
  .stat-row{grid-template-columns:repeat(2,1fr);}
  .why-grid{grid-template-columns:repeat(2,1fr);}
}
@media(max-width:880px){
  .hero{grid-template-columns:1fr;}.hero-cv{display:none;}
  .split2,.split2.rev{grid-template-columns:1fr;direction:ltr;}
  .cards.c3,.cards.c4{grid-template-columns:1fr 1fr;}
  .pillars{grid-template-columns:1fr;}
  .why-grid{grid-template-columns:1fr;}
}
@media(max-width:640px){
  #site-nav{padding:12px 18px;}
  .nav-links{display:none;position:fixed;inset:0;width:100vw;height:100vh;background:#050e08;flex-direction:column;justify-content:center;align-items:center;gap:30px;z-index:9000;}
  .nav-links.open{display:flex;}
  .nav-links a{font-size:18px;letter-spacing:2px;color:#eef4f0;padding:6px 0;}
  .nav-links a.active{color:#5fe6a0;}
  .nav-burger{position:relative;z-index:9100;}
  .nav-cta{display:none;}
  .nav-burger{display:block;}
  .hero,.sec,.page-hero,.cta-band{padding-left:18px;padding-right:18px;}
  footer{grid-template-columns:1fr;padding:32px 18px;gap:28px;}
  .footer-bar{padding:18px;flex-direction:column;gap:6px;text-align:center;}
  .form-grid{grid-template-columns:1fr;}
  .flow-diagram{grid-template-columns:1fr 1fr;}
  .cards.c3,.cards.c4,.cards.c2{grid-template-columns:1fr;}
  .stat-row{grid-template-columns:1fr 1fr;}
}

/* 3D canvas vertical centering fix */
.cv-box { display:flex; align-items:center; justify-content:center; }
.cv-box canvas { position:absolute; top:0; left:0; width:100%!important; height:100%!important; }

/* Horizontal flow diagram */
.flow-h {
  display:grid;
  grid-template-columns:repeat(6,1fr);
  gap:0;
  position:relative;
  margin-top:8px;
}
.flow-h::before {
  content:'';
  position:absolute;
  top:52px;
  left:calc(100%/12);
  right:calc(100%/12);
  height:1px;
  background:linear-gradient(to right,transparent,rgba(79,255,176,.3),transparent);
  z-index:0;
}
.flow-h-step {
  padding:0 8px 32px;
  text-align:center;
  position:relative;
  z-index:1;
}
.flow-h-step::before {
  content:'';
  position:absolute;
  top:40px;
  left:50%;
  transform:translateX(-50%);
  width:1px;
  height:40px;
  background:linear-gradient(to bottom,rgba(79,255,176,.35),transparent);
}
.flow-h-dot {
  width:24px; height:24px;
  border-radius:50%;
  border:1.5px solid rgba(79,255,176,.5);
  background:rgba(13,40,24,.8);
  margin:0 auto 40px;
  position:relative;
  display:flex; align-items:center; justify-content:center;
  transition:border-color .3s, box-shadow .3s;
}
.flow-h-step:hover .flow-h-dot {
  border-color:var(--gl);
  box-shadow:0 0 12px rgba(79,255,176,.4);
}
.flow-h-dot::after {
  content:'';
  width:8px; height:8px;
  border-radius:50%;
  background:var(--gl);
  opacity:.7;
}
.flow-h-num {
  font-family:'Cormorant Garamond',serif;
  font-size:11px;
  letter-spacing:2px;
  color:rgba(79,255,176,.45);
  margin-bottom:10px;
  display:block;
}
.flow-h-title {
  font-size:11px;
  letter-spacing:1.5px;
  text-transform:uppercase;
  font-weight:600;
  color:var(--white);
  margin-bottom:8px;
  line-height:1.4;
}
.flow-h-desc {
  font-size:11.5px;
  line-height:1.65;
  color:var(--muted);
}
@media(max-width:900px){
  .flow-h { grid-template-columns:repeat(3,1fr); }
  .flow-h::before { display:none; }
}
@media(max-width:560px){
  .flow-h { grid-template-columns:repeat(2,1fr); }
}

/* Differentiators list */
.diff-row {
  display:grid;grid-template-columns:36px 1fr;gap:16px;
  padding:20px 0;
  border-bottom:1px solid rgba(79,255,176,.08);
  align-items:start;
  transition:background .3s;
}
.diff-row:hover { background:rgba(26,61,37,.2); padding-left:8px; }
.diff-num {
  font-family:'Cormorant Garamond',serif;
  font-size:22px;font-weight:300;
  color:rgba(79,255,176,.35);line-height:1.4;
}
.diff-title {
  font-size:14px;font-weight:500;
  color:var(--white);margin-bottom:6px;
  letter-spacing:.3px;
}
.diff-desc { font-size:13px;line-height:1.75;color:var(--muted); }


/* ── Growing pillar bars ─────────────────────────────────── */
.pillar-bars {
  display:flex;
  align-items:flex-end;
  justify-content:center;
  gap:32px;
  height:280px;
  padding:0 40px 32px;
  border:1px solid var(--border);
  background:rgba(13,40,24,.3);
  position:relative;
  overflow:hidden;
}
.pillar-bars::before {
  content:'';
  position:absolute;
  bottom:56px; left:40px; right:40px;
  height:1px;
  background:rgba(79,255,176,.18);
}
.pb-item {
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:14px;
  flex:1;
  max-width:120px;
}
.pb-bar-wrap {
  width:100%;
  display:flex;
  align-items:flex-end;
  justify-content:center;
}
.pb-bar {
  width:64px;
  height:0;
  background:linear-gradient(to top, #1a7a42, #2faf64);
  border-radius:3px 3px 0 0;
  transition:height 1.4s cubic-bezier(.16,1,.3,1);
  position:relative;
  box-shadow:0 0 16px rgba(42,219,111,.18);
}
.pb-bar::after {
  content:'';
  position:absolute;
  top:0; left:0; right:0;
  height:4px;
  background:rgba(143,255,191,.3);
  border-radius:3px 3px 0 0;
}
.pb-bar.animated {
  /* height set via JS */
}
.pb-label {
  font-size:10px;
  letter-spacing:2px;
  text-transform:uppercase;
  color:var(--gl);
  text-align:center;
  white-space:nowrap;
}
.pillar-bars.dark-bg {
  background:rgba(7,26,14,.6);
}

/* ── 3-step flow variant ─────────────────────────────────── */
.flow-h-3 {
  grid-template-columns: repeat(3,1fr) !important;
}
.flow-h-3::before {
  left: calc(100%/6) !important;
  right: calc(100%/6) !important;
}


/* ── Mobile: shrink 3D canvases so they don't dominate ── */
@media(max-width:640px){
  .cv-box{ height:280px !important; }
  .hero-cv{ display:none; }
  .pillar-bars{ height:220px; gap:20px; padding:0 20px 28px; }
  .pb-bar{ width:46px; }
  .ph-par canvas{ opacity:.18; }
  .cta-bg canvas{ opacity:.12; }
  /* nav menu open: lock body scroll feel */
  body.menu-open{ overflow:hidden; }
}
@media(max-width:480px){
  .cv-box{ height:240px !important; }
  .pillar-bars{ height:190px; }
}


/* ── Footer licence & social ─────────────────────────────── */
.footer-licence{margin-top:16px;padding-top:16px;border-top:1px solid rgba(79,255,176,.07);}
.fl-row{font-size:10.5px;line-height:1.7;color:rgba(238,244,240,.4);margin-bottom:8px;}
.fl-row:last-child{margin-bottom:0;}
.fl-label{display:inline-block;color:var(--gl);font-weight:500;letter-spacing:.5px;margin-right:6px;}
.footer-social{display:inline-flex;align-items:center;gap:9px;margin-top:20px;padding:9px 16px;border:1px solid rgba(79,255,176,.2);color:rgba(238,244,240,.7);text-decoration:none;font-size:10px;letter-spacing:2px;text-transform:uppercase;font-weight:500;transition:all .3s;}
.footer-social:hover{border-color:var(--gl);color:var(--gl);background:rgba(79,255,176,.06);}
.footer-social svg{flex-shrink:0;}


/* ── Animated footer visual ──────────────────────────────── */
footer{position:relative;overflow:hidden;}
.footer-visual{
  position:absolute;
  top:0;right:0;bottom:0;left:0;
  width:100%;
  pointer-events:none;
  z-index:0;
  opacity:.9;
  -webkit-mask-image:radial-gradient(ellipse 70% 90% at 75% 50%,#000 0%,rgba(0,0,0,.5) 55%,transparent 100%);
  mask-image:radial-gradient(ellipse 70% 90% at 75% 50%,#000 0%,rgba(0,0,0,.5) 55%,transparent 100%);
}
.footer-visual canvas{width:100%;height:100%;display:block;}
footer > .fc{position:relative;z-index:1;}
@media(max-width:880px){.footer-visual{display:none;}}

/* ── Section reveal on scroll ────────────────────────────── */
.sec-reveal{
  opacity:0;
  transform:translateY(36px);
  transition:opacity .9s cubic-bezier(.16,1,.3,1), transform .9s cubic-bezier(.16,1,.3,1);
}
.sec-reveal.sec-vis{
  opacity:1;
  transform:none;
}
/* hero never hidden — it's above the fold */
.hero.sec-reveal{opacity:1;transform:none;}


/* ── Animated grad-band ──────────────────────────────────── */
.grad-band{height:160px;position:relative;overflow:hidden;}
.grad-band canvas.gb-cv{
  position:absolute;inset:0;width:100%;height:100%;display:block;
  z-index:1;opacity:.8;pointer-events:none;
}


/* ── Ambient section animation ───────────────────────────── */
.sec-ambient{
  position:absolute;inset:0;width:100%;height:100%;
  display:block;z-index:0;opacity:.55;pointer-events:none;
}
.sec.dark > *:not(.sec-ambient):not(.par-glow){position:relative;z-index:1;}



/* ── Contact form: result message hidden by default ── */
#form-ok {
  display: none;
  margin-top: 24px;
  padding: 18px 24px;
  background: rgba(42,219,111,.12);
  border: 1px solid rgba(42,219,111,.3);
  color: var(--gl);
  font-size: 14px;
  line-height: 1.7;
}

/* ── WordPress nav_menu: kill all bullets everywhere in theme ── */
.fc ul,
.fc ul.menu,
.fc ul.fc-nav,
.fc .menu,
ul.fc-nav,
ul.nav-links,
.nav-links { list-style: none !important; margin: 0 !important; padding: 0 !important; }

.fc li,
.fc ul li,
.fc .menu li,
ul.fc-nav li { list-style: none !important; margin: 0 !important; padding: 0 !important; }

.fc li::before,
.fc li::marker { display: none !important; content: none !important; }

.fc ul li a,
.fc .menu li a,
ul.fc-nav li a {
  display: block;
  font-size: 12px;
  color: rgba(238,244,240,.46);
  text-decoration: none;
  margin-bottom: 8px;
  transition: color .3s;
}
.fc ul li a:hover,
ul.fc-nav li a:hover { color: var(--white); }

/* ── WordPress nav_menu in header: kill bullets ── */
ul.nav-links li,
.nav-links li { list-style: none !important; }
ul.nav-links li::marker,
.nav-links li::before { display: none !important; content: none !important; }

/* ── Contact form: result message hidden by default ── */
#form-ok {
  display: none;
  margin-top: 24px;
  padding: 18px 24px;
  background: rgba(42,219,111,.12);
  border: 1px solid rgba(42,219,111,.3);
  color: var(--gl);
  font-size: 14px;
  line-height: 1.7;
}

/* ══════════════════════════════════════════════════════════
   FIX 10 — Accessibility: focus states + reduced motion
   ══════════════════════════════════════════════════════════ */
/* Visible focus ring for keyboard navigation */
:focus-visible {
  outline: 2px solid var(--gl);
  outline-offset: 3px;
  border-radius: 2px;
}
a:focus-visible, button:focus-visible {
  outline: 2px solid var(--gl);
  outline-offset: 4px;
}

/* Prefers-reduced-motion: kill transitions/animations */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.001ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.001ms !important;
  }
  .fu { opacity: 1 !important; transform: none !important; }
  .wd-i { transform: none !important; opacity: 1 !important; }
  .sec-reveal { opacity: 1 !important; transform: none !important; }
}

/* ══════════════════════════════════════════════════════════
   FIX 11 — Privacy consent notice on contact form
   ══════════════════════════════════════════════════════════ */
.form-consent {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  margin-top: 16px;
  font-size: 12px;
  line-height: 1.7;
  color: var(--muted);
}
.form-consent input[type="checkbox"] {
  flex-shrink: 0;
  margin-top: 3px;
  accent-color: var(--gl);
  width: 16px;
  height: 16px;
}
.form-consent a { color: var(--gl); }
.form-honeypot { position: absolute; left: -9999px; opacity: 0; }

/* ══════════════════════════════════════════════════════════
   INSTRUMENT INFOGRAPHIC GRID
   ══════════════════════════════════════════════════════════ */
.inst-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;position:relative;z-index:1;}
.inst-card{background:rgba(26,61,37,.22);border:1px solid var(--border);padding:32px 28px 28px;position:relative;overflow:hidden;transition:background .4s,transform .4s cubic-bezier(.16,1,.3,1);}
.inst-card::after{content:'';position:absolute;bottom:0;left:0;width:0;height:2px;background:linear-gradient(to right,var(--green),transparent);transition:width .5s;}
.inst-card:hover{background:rgba(26,61,37,.42);}
.inst-card:hover::after{width:100%;}
.inst-top{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:20px;}
.inst-ic{width:48px;height:48px;color:var(--gl);flex-shrink:0;}
.inst-ic svg{width:100%;height:100%;display:block;}
.inst-cat{font-size:9px;letter-spacing:1.5px;text-transform:uppercase;font-weight:600;padding:4px 10px;border-radius:2px;white-space:nowrap;}
.cat-trad{background:rgba(47,175,100,.16);color:#5fe6a0;border:1px solid rgba(47,175,100,.3);}
.cat-alt{background:rgba(143,200,120,.14);color:#9fd98a;border:1px solid rgba(143,200,120,.28);}
.cat-digi{background:rgba(95,150,230,.14);color:#8fb5e6;border:1px solid rgba(95,150,230,.28);}
.inst-name{font-family:'Cormorant Garamond',serif;font-size:26px;font-weight:400;color:var(--white);margin-bottom:8px;}
.inst-market{font-size:12.5px;line-height:1.65;color:var(--muted);margin-bottom:18px;min-height:40px;}
.inst-tags{display:flex;flex-wrap:wrap;gap:6px;}
.itag{font-size:10px;letter-spacing:.5px;padding:4px 9px;background:rgba(79,255,176,.07);border:1px solid rgba(79,255,176,.14);color:rgba(238,244,240,.7);border-radius:2px;}
.inst-note{display:flex;align-items:flex-start;gap:10px;margin-top:24px;padding:16px 20px;background:rgba(13,40,24,.4);border-left:2px solid rgba(79,255,176,.35);font-size:11.5px;line-height:1.6;color:var(--muted);font-style:italic;position:relative;z-index:1;}
.inst-note-mark{width:14px;height:14px;flex-shrink:0;margin-top:1px;border-radius:50%;border:1.5px solid rgba(79,255,176,.4);position:relative;}
.inst-note-mark::after{content:'i';position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:9px;font-style:normal;font-weight:600;color:var(--gl);}
@media(max-width:900px){.inst-grid{grid-template-columns:1fr 1fr;}}
@media(max-width:560px){.inst-grid{grid-template-columns:1fr;}.inst-market{min-height:0;}}

/* ══════════════════════════════════════════════════════════
   DIFFERENTIATORS LIST
   ══════════════════════════════════════════════════════════ */
.diff-row{display:grid;grid-template-columns:36px 1fr;gap:16px;padding:20px 0;border-bottom:1px solid rgba(79,255,176,.08);align-items:start;transition:background .3s,padding-left .3s;}
.diff-row:hover{background:rgba(26,61,37,.2);padding-left:8px;}
.diff-num{font-family:'Cormorant Garamond',serif;font-size:22px;font-weight:300;color:rgba(79,255,176,.35);line-height:1.4;}
.diff-title{font-size:14px;font-weight:500;color:var(--white);margin-bottom:6px;letter-spacing:.3px;}
.diff-desc{font-size:13px;line-height:1.75;color:var(--muted);}

/* ══════════════════════════════════════════════════════════
   HORIZONTAL FLOW DIAGRAM
   ══════════════════════════════════════════════════════════ */
.flow-h{display:grid;grid-template-columns:repeat(6,1fr);gap:0;position:relative;margin-top:8px;}
.flow-h::before{content:'';position:absolute;top:52px;left:calc(100%/12);right:calc(100%/12);height:1px;background:linear-gradient(to right,transparent,rgba(79,255,176,.3),transparent);z-index:0;}
.flow-h-step{padding:0 8px 32px;text-align:center;position:relative;z-index:1;}
.flow-h-step::before{content:'';position:absolute;top:40px;left:50%;transform:translateX(-50%);width:1px;height:40px;background:linear-gradient(to bottom,rgba(79,255,176,.35),transparent);}
.flow-h-dot{width:24px;height:24px;border-radius:50%;border:1.5px solid rgba(79,255,176,.5);background:rgba(13,40,24,.8);margin:0 auto 40px;position:relative;display:flex;align-items:center;justify-content:center;transition:border-color .3s,box-shadow .3s;}
.flow-h-step:hover .flow-h-dot{border-color:var(--gl);box-shadow:0 0 12px rgba(79,255,176,.4);}
.flow-h-dot::after{content:'';width:8px;height:8px;border-radius:50%;background:var(--gl);opacity:.7;}
.flow-h-num{font-family:'Cormorant Garamond',serif;font-size:11px;letter-spacing:2px;color:rgba(79,255,176,.45);margin-bottom:10px;display:block;}
.flow-h-title{font-size:11px;letter-spacing:1.5px;text-transform:uppercase;font-weight:600;color:var(--white);margin-bottom:8px;line-height:1.4;}
.flow-h-desc{font-size:11.5px;line-height:1.65;color:var(--muted);}
.flow-h-3{grid-template-columns:repeat(3,1fr) !important;}
.flow-h-3::before{left:calc(100%/6) !important;right:calc(100%/6) !important;}
@media(max-width:900px){.flow-h{grid-template-columns:repeat(3,1fr);}.flow-h::before{display:none;}}
@media(max-width:560px){.flow-h{grid-template-columns:repeat(2,1fr);}}

/* ══════════════════════════════════════════════════════════
   LEGAL PAGES
   ══════════════════════════════════════════════════════════ */
.legal-wrap{max-width:880px;margin:0 auto;padding:80px 52px 100px;position:relative;z-index:1;}
.legal-block{margin-bottom:44px;}
.legal-block:last-child{margin-bottom:0;}
.legal-h2{font-family:'Cormorant Garamond',serif;font-size:clamp(22px,2.4vw,32px);font-weight:400;color:var(--white);margin-bottom:16px;display:flex;align-items:baseline;gap:14px;}
.legal-h2 .ln{font-size:13px;color:var(--gl);font-family:'Montserrat',sans-serif;font-weight:500;}
.legal-p{font-size:13.5px;line-height:1.9;color:var(--muted);margin-bottom:14px;}
.legal-p strong{color:rgba(238,244,240,.85);font-weight:500;}
.legal-list{list-style:none;margin:14px 0;display:flex;flex-direction:column;gap:10px;}
.legal-list li{display:flex;gap:12px;font-size:13px;line-height:1.8;color:var(--muted);}
.legal-list li::before{content:'';width:6px;height:6px;margin-top:8px;flex-shrink:0;background:var(--gl);border-radius:50%;}
.legal-updated{font-size:11px;letter-spacing:2px;text-transform:uppercase;color:var(--gl);margin-bottom:8px;}
.legal-intro{font-size:14px;line-height:1.9;color:rgba(238,244,240,.7);padding:24px 28px;background:rgba(13,40,24,.4);border-left:2px solid rgba(79,255,176,.35);margin-bottom:44px;}
@media(max-width:640px){.legal-wrap{padding:48px 18px 64px;}}
