*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
:root {
  --bg:#0A0A0A;
  --bg2:#111111;
  --bg3:#161616;
  --bg4:#1C1C1C;

  --gold:#378915;              /* base green */
  --gold-light:#5DB82A;        /* lighter green */
  --gold-dim:rgba(55,137,21,0.15);
  --gold-glow:rgba(55,137,21,0.08);

  --text:#F0EDE8;
  --text2:#A09A92;
  --text3:#5A5550;

  --border:rgba(55,137,21,0.12);
  --border2:rgba(240,237,232,0.06);

  --font-d:'Playfair Display',serif;
  --font-b:'DM Sans',sans-serif;
  --font-a:'Cormorant Garamond',serif;
  --ease:cubic-bezier(.4,0,.2,1);
  --max:1240px;
}
html{scroll-behavior:smooth;font-size:16px;}
body{background:var(--bg);color:var(--text);font-family:var(--font-b);overflow-x:hidden;cursor:none;}
::selection{background:var(--gold);color:#000;}

/* ── CUSTOM CURSOR ── */
#cursor{position:fixed;width:10px;height:10px;background:var(--gold);border-radius:50%;pointer-events:none;z-index:9999;transform:translate(-50%,-50%);transition:transform .1s,width .2s,height .2s,background .2s;}
#cursor-ring{position:fixed;width:36px;height:36px;border:1px solid rgba(201,168,76,.4);border-radius:50%;pointer-events:none;z-index:9998;transform:translate(-50%,-50%);transition:transform .15s var(--ease),width .3s,height .3s,opacity .3s;}
body:hover #cursor-ring{opacity:1;}

/* ── NOISE TEXTURE ── */
body::before{content:'';position:fixed;inset:0;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.03'/%3E%3C/svg%3E");pointer-events:none;z-index:0;opacity:.4;}

/* ── PAGES ── */
.page{display:none;min-height:100vh;}
.page.active{display:block;}

/* ── NAV ── */
/* ── NAV ── */
nav{position:fixed;top:0;left:0;right:0;z-index:1000;padding:28px 60px;display:flex;align-items:center;justify-content:space-between;transition:all .4s var(--ease);}
nav.scrolled{background:rgba(10,10,10,.92);backdrop-filter:blur(20px);padding:18px 60px;border-bottom:1px solid var(--border);}

/* ── Logo image ── */
.nav-logo{display:flex;align-items:center;text-decoration:none;flex-shrink:0;}
.nav-logo span{display:flex;align-items:center;justify-content:center;}
.nav-logo img {
    height: 80px;
    width: 100%;
    object-fit: contain;
    display: block;
    transition: opacity .3s var(--ease), height .3s var(--ease);
}

.nav-logo:hover img{opacity:.8;}
.scrolled .nav-logo img {
    height: 70px;
}
.nav-links{display:flex;align-items:center;gap:40px;list-style:none;}
.nav-links a{color:var(--text2);text-decoration:none;font-size:.85rem;letter-spacing:.1em;text-transform:uppercase;font-weight:500;transition:color .3s;position:relative;}
.nav-links a::after{content:'';position:absolute;bottom:-4px;left:0;width:0;height:1px;background:var(--gold);transition:width .3s var(--ease);}
.nav-links a:hover,.nav-links a.active{color:var(--gold);}
.nav-links a:hover::after,.nav-links a.active::after{width:100%;}
.nav-cta{background:transparent;border:1px solid var(--gold);color:var(--gold);padding:10px 28px;font-family:var(--font-b);font-size:.8rem;letter-spacing:.1em;text-transform:uppercase;cursor:none;transition:all .3s;text-decoration:none;}
.nav-cta:hover{background:var(--gold);color:#000;}
.hamburger{display:none;flex-direction:column;gap:5px;cursor:none;padding:4px;}
.hamburger span{width:24px;height:1.5px;background:var(--text);transition:all .3s;}
.mobile-menu{position:fixed;inset:0;background:rgba(10,10,10,.98);backdrop-filter:blur(30px);z-index:999;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:40px;opacity:0;pointer-events:none;transition:opacity .4s;}
.mobile-menu.open{opacity:1;pointer-events:all;}
.mobile-menu a{font-family:var(--font-d);font-size:2.5rem;color:var(--text);text-decoration:none;transition:color .3s;}
.mobile-menu a:hover{color:var(--gold);}
.mobile-close{position:absolute;top:30px;right:30px;background:none;border:none;color:var(--text2);font-size:1.5rem;cursor:none;}

@media(max-width:768px){.nav-logo img{height:60px;}}
@media(max-width:480px){.nav-logo img{height:64px;}}

/* ── SECTION UTILITIES ── */
section{position:relative;z-index:1;}
.container{max-width:var(--max);margin:0 auto;padding:0 60px;}
.section-label{font-size:.75rem;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);font-weight:600;margin-bottom:16px;display:block;}
.section-title{font-family:var(--font-d);font-size:clamp(2rem,4vw,3.5rem);font-weight:700;line-height:1.15;color:var(--text);margin-bottom:20px;}
.section-sub{font-size:1.05rem;color:var(--text2);line-height:1.7;max-width:580px;}
.gold{color:var(--gold);}
.reveal{opacity:0;transform:translateY(40px);transition:opacity .8s var(--ease),transform .8s var(--ease);}
.reveal.visible{opacity:1;transform:none;}
.reveal-left{opacity:0;transform:translateX(-40px);transition:opacity .8s var(--ease),transform .8s var(--ease);}
.reveal-left.visible{opacity:1;transform:none;}
.reveal-right{opacity:0;transform:translateX(40px);transition:opacity .8s var(--ease),transform .8s var(--ease);}
.reveal-right.visible{opacity:1;transform:none;}

/* ── BTN ── */
.btn{display:inline-block;padding:15px 38px;font-family:var(--font-b);font-size:.82rem;letter-spacing:.12em;text-transform:uppercase;font-weight:600;cursor:none;text-decoration:none;transition:all .3s var(--ease);}
.btn-gold{background:var(--gold);color:#000;}
.btn-gold:hover{background:var(--gold-light);transform:translateY(-2px);box-shadow:0 20px 40px rgba(201,168,76,.2);}
.btn-outline{border:1px solid var(--gold);color:var(--gold);background:transparent;}
.btn-outline:hover{background:var(--gold);color:#000;}






/* ══════════════════════════════════════
   GLOBAL PARAGRAPH FONT SIZE — 18px
══════════════════════════════════════ */
p {
  font-size: 18px !important;
}
/* ═══════════════════════════
   HOME PAGE
═══════════════════════════ */

/* HERO */
.hero{min-height:100vh;display:flex;align-items:center;position:relative;overflow:hidden;padding-top:100px;}
.hero-bg{position:absolute;inset:0;overflow:hidden;}
.hero-orb{position:absolute;border-radius:50%;filter:blur(80px);pointer-events:none;}
.hero-orb-1{width:600px;height:600px;background:radial-gradient(circle,rgba(201,168,76,.07) 0%,transparent 70%);top:-100px;right:-100px;animation:float1 8s ease-in-out infinite;}
.hero-orb-2{width:400px;height:400px;background:radial-gradient(circle,rgba(201,168,76,.05) 0%,transparent 70%);bottom:0;left:-50px;animation:float2 10s ease-in-out infinite;}
.hero-grid{position:absolute;inset:0;background-image:linear-gradient(var(--border2) 1px,transparent 1px),linear-gradient(90deg,var(--border2) 1px,transparent 1px);background-size:80px 80px;mask-image:radial-gradient(ellipse 80% 80% at 50% 50%,black 30%,transparent 100%);}
@keyframes float1{0%,100%{transform:translate(0,0) scale(1);}50%{transform:translate(-30px,30px) scale(1.05);}}
@keyframes float2{0%,100%{transform:translate(0,0) scale(1);}50%{transform:translate(20px,-20px) scale(1.08);}}

/* Hero layout — two columns */
.hero-content {
    position: relative;
    z-index: 2;
    margin: 0 auto;
    padding: 0 60px;
    width: 100%;
    display: grid;
    grid-template-columns: 1fr 1fr;
    align-items: center;
    gap: 0px;
    padding-top: 63px;
}
/* Left text column */
.hero-text{
    padding-left: 60px;
}
.hero-eyebrow{display:flex;align-items:center;gap:16px;margin-bottom:32px;opacity:0;animation:fadeUp .8s .2s var(--ease) forwards;}
.hero-eyebrow-line{width:40px;height:1px;background:var(--gold);}
.hero-eyebrow-text{font-size:.78rem;letter-spacing:.25em;text-transform:uppercase;color:var(--gold);font-weight:600;}
.hero-h1{font-family:var(--font-d);font-size:clamp(2.4rem,5vw,5rem);font-weight:900;line-height:1.08;color:var(--text);margin-bottom:32px;opacity:0;animation:fadeUp .8s .4s var(--ease) forwards;}
.hero-h1 em{font-style:italic;color:var(--gold);}
.hero-sub{font-size:1.05rem;color:var(--text2);line-height:1.8;max-width:500px;margin-bottom:48px;opacity:0;animation:fadeUp .8s .6s var(--ease) forwards;}
.hero-actions{display:flex;gap:20px;flex-wrap:wrap;opacity:0;animation:fadeUp .8s .8s var(--ease) forwards;}

/* Right image column */
.hero-image {
  display: flex;
  justify-content: center;
  align-items: flex-end;
  opacity: 0;
  animation: fadeUp .8s .5s var(--ease) forwards;
  margin-left: -60px; /* ← pulls image left, closer to text */
}
.hero-image-frame{position:relative;width:100%;max-width:580px;}

/* Corner accents */
.hero-image-frame::before{content:'';position:absolute;top:-12px;left:-12px;width:60px;height:60px;border-top:2px solid var(--gold);border-left:2px solid var(--gold);z-index:2;opacity:.7;}
.hero-image-frame::after{content:'';position:absolute;bottom:-12px;right:-12px;width:60px;height:60px;border-bottom:2px solid var(--gold);border-right:2px solid var(--gold);z-index:2;opacity:.7;}

.hero-image-frame img{width:100%;height:auto;display:block;object-fit:cover;object-position:top;}

/* Scroll indicator */
.hero-scroll{position:absolute;bottom:40px;left:50%;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:12px;color:var(--text3);font-size:.72rem;letter-spacing:.15em;text-transform:uppercase;opacity:0;animation:fadeUp .8s 1.2s var(--ease) forwards;}
.hero-scroll-line{width:1px;height:50px;background:linear-gradient(to bottom,var(--gold),transparent);animation:scrollLine 2s ease-in-out infinite;}
@keyframes scrollLine{0%{transform:scaleY(0);transform-origin:top;}50%{transform:scaleY(1);transform-origin:top;}51%{transform:scaleY(1);transform-origin:bottom;}100%{transform:scaleY(0);transform-origin:bottom;}}
@keyframes fadeUp{from{opacity:0;transform:translateY(30px);}to{opacity:1;transform:none;}}

/* Responsive */
@media(max-width:900px){
  .hero-content{grid-template-columns:1fr;padding:0 30px;gap:40px;}
  .hero-image{order:-1;}
  .hero-image-frame{max-width:320px;margin:0 auto;}
}
@media(max-width:600px){
  .hero-content{padding:0 20px;}
  .hero-h1{font-size:2.2rem;}
}





/* ── PHILOSOPHY ── */
.philosophy {
  padding: 120px 30px; /* ← 30px left/right */
  background: var(--bg2);
  position: relative;
  overflow: hidden;
}

.philosophy-inner {
  display: grid;
  grid-template-columns: 1fr 1.4fr;
  gap: 80px;
  align-items: center;
  width: 100%; /* ← full width, no max-width */
}


.philosophy::before {
  content: 'ASCEND';
  position: absolute;
  right: -20px;
  top: 50%;
  transform: translateY(-50%);
  font-family: var(--font-d);
  font-size: 18rem;
  font-weight: 900;
  color: rgba(255,255,255,0.015);
  pointer-events: none;
  line-height: 1;
  letter-spacing: -.02em;
}
.philosophy-inner {
  display: grid;
  grid-template-columns: 1fr 1.4fr;
  gap: 80px;
  align-items: center;
  /* max-width: 1240px; */
  margin: 0 auto;
  padding-left: 60px;
  padding-right: 60px;
}
.philosophy-left { position: relative; }
.philosophy-title {
  font-family: var(--font-d);
  font-size: clamp(2.6rem, 4.5vw, 4.2rem); /* ← bigger */
  font-weight: 900;
  color: var(--text);
  line-height: 1.1;
  margin: 12px 0 28px;
}
.philosophy-title em { font-style: italic; color: var(--gold); }
.philosophy-line {
  width: 48px;
  height: 2px;
  background: var(--gold);
  margin-bottom: 48px;
}
.philosophy-stats {
  display: flex;
  gap: 36px;
}
.philosophy-stat {
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.philosophy-stat-num {
  font-family: var(--font-d);
  font-size: 2.2rem;
  font-weight: 900;
  color: var(--gold);
  line-height: 1;
}
.philosophy-stat-label {
  font-size: .68rem;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: var(--text3);
}

/* Right */
.philosophy-right {
  display: flex;
  flex-direction: column;
  gap: 24px;
}
.philosophy-intro {
  font-family: var(--font-a);
  font-size: 1.5rem;
  color: var(--text);
  line-height: 1.6;
  font-weight: 300;
}
.philosophy-intro em {
  font-style: italic;
  color: var(--gold-light);
}
.philosophy-body {
  font-size: .95rem;
  color: var(--text2);
  line-height: 1.9;
}
.philosophy-body strong {
  color: var(--text);
  font-weight: 600;
}
.philosophy-signature {
  display: flex;
  align-items: center;
  gap: 16px;
  margin-top: 12px;
}
.philosophy-sig-line {
  width: 32px;
  height: 1px;
  background: var(--gold);
}
.philosophy-signature span {
  font-family: var(--font-a);
  font-size: 1rem;
  font-style: italic;
  color: var(--text3);
  letter-spacing: .05em;
}

/* Responsive */
@media(max-width: 900px) {
  .philosophy { padding: 80px 30px; }
  .philosophy-inner { grid-template-columns: 1fr; gap: 48px; }
  .philosophy::before { font-size: 8rem; }
}
@media(max-width: 600px) {
  .philosophy { padding: 60px 20px; }
}


/* section end here  */





/* ── DIFFERENCE SECTION ── */
.difference {
  padding: 120px 30px;
  background: var(--bg);
  position: relative;
  overflow: hidden;
}
.difference::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 1px;
  background: linear-gradient(to right, transparent, var(--gold), transparent);
  opacity: .3;
}

/* Header */
.difference-header {
  padding-left: 60px;
  padding-right: 60px;
}
.difference-title {
  font-family: var(--font-d);
  font-size: clamp(2.4rem, 4vw, 3.8rem);
  font-weight: 900;
  color: var(--text);
  line-height: 1.1;
  margin-top: 12px;
}
.difference-title em {
  font-style: italic;
  color: var(--gold);
}

/* Pillars grid */
.difference-pillars {
  display: grid;
  grid-template-columns: 1fr 1.2fr 1fr;
  gap: 1px;
  /* background: var(--border); */
  margin-bottom: 1px;
  padding: 60px;
}

/* Cards */
.difference-card {
  background: var(--bg2);
  padding: 48px 40px;
  display: flex;
  flex-direction: column;
  gap: 20px;
  transition: background .3s;
  position: relative;
}
.difference-card:hover { background: var(--bg3); }
.difference-card--featured {
  background: var(--bg3);
  border-top: 2px solid var(--gold);
}
.difference-card--featured:hover { background: var(--bg4); }

.difference-card-top {
  display: flex;
  align-items: center;
  gap: 14px;
}
.difference-icon { font-size: 1.4rem; }
.difference-tag {
  font-size: .65rem;
  font-weight: 700;
  letter-spacing: .22em;
  text-transform: uppercase;
  color: var(--gold);
  padding: 4px 12px;
  border: 1px solid rgba(55,137,21,0.3);
}
.difference-card-title {
  font-family: var(--font-d);
  font-size: 1.25rem;
  font-weight: 700;
  color: var(--text);
  line-height: 1.3;
}
.difference-card-body {
  font-size: .88rem;
  color: var(--text2);
  line-height: 1.85;
}

/* Milestone badge */
.difference-milestone {
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 20px;
  background: var(--bg4);
  border-left: 2px solid var(--gold);
  margin-top: auto;
}
.difference-milestone-num {
  font-family: var(--font-d);
  font-size: 2.4rem;
  font-weight: 900;
  color: var(--gold);
  line-height: 1;
}
.difference-milestone-text {
  font-size: .78rem;
  color: var(--text2);
  line-height: 1.5;
}

/* List */
.difference-list {
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 18px;
  margin-top: 4px;
}
.difference-list li {
  display: flex;
  gap: 14px;
  align-items: flex-start;
}
.difference-list-dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--gold);
  margin-top: 6px;
  flex-shrink: 0;
}
.difference-list strong {
  display: block;
  font-size: .82rem;
  font-weight: 600;
  color: var(--text);
  margin-bottom: 3px;
}
.difference-list span {
  font-size: .8rem;
  color: var(--text2);
  line-height: 1.6;
}

/* Traits */
.difference-traits {
  display: flex;
  flex-direction: column;
  gap: 16px;
  margin-top: 4px;
}
.difference-trait {
  display: flex;
  gap: 14px;
  align-items: flex-start;
  padding: 16px;
  background: var(--bg4);
  border: 1px solid var(--border);
}
.difference-trait-icon { font-size: 1.2rem; margin-top: 2px; }
.difference-trait strong {
  display: block;
  font-size: .82rem;
  font-weight: 600;
  color: var(--text);
  margin-bottom: 4px;
}
.difference-trait span {
    font-size: 14px;
    color: var(--text2);
    line-height: 1.6;
}
/* CTA Bar */
.difference-cta {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 40px;
  padding: 48px 40px;
  background: var(--bg2);
  border: 1px solid var(--border);
}
.difference-cta-divider {
  width: 1px;
  height: 40px;
  background: var(--border);
}

/* Responsive */
@media(max-width: 1024px) {
  .difference-pillars { grid-template-columns: 1fr 1fr; }
  .difference-card:last-child { grid-column: span 2; }
}
@media(max-width: 700px) {
  .difference { padding: 60px 20px; }
  .difference-pillars { grid-template-columns: 1fr; }
  .difference-card:last-child { grid-column: span 1; }
  .difference-cta { flex-direction: column; gap: 16px; }
  .difference-cta-divider { width: 40px; height: 1px; }
}



/* styling wnd here in this section */






/* ── INSIGHTS ── */
.insights {
  padding: 120px 30px;
  background: var(--bg2);
  position: relative;
}
.insights::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 1px;
  background: linear-gradient(to right, transparent, var(--gold), transparent);
  opacity: .3;
}

/* Header */
.insights-header {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  margin-bottom: 56px;
  flex-wrap: wrap;
  gap: 24px;
}
.insights-title {
  font-family: var(--font-d);
  font-size: clamp(2rem, 3.5vw, 3.2rem);
  font-weight: 900;
  color: var(--text);
  line-height: 1.15;
  margin-top: 10px;
}
.insights-title em {
  font-style: italic;
  color: var(--gold);
}

/* Grid */
.insights-grid {
  display: grid;
  grid-template-columns: 1.4fr 1fr;
  gap: 1px;
  background: var(--border);
}

/* Featured */
.insight-featured {
  background: var(--bg);
  display: flex;
  flex-direction: column;
}
.insight-featured-img {
  position: relative;
  height: 340px;
  overflow: hidden;
  background: var(--bg4);
}
.insight-featured-img img {
  width: 100%; height: 100%;
  object-fit: cover;
  display: block;
  transition: transform .6s var(--ease);
}
.insight-featured:hover .insight-featured-img img { transform: scale(1.04); }
.insight-featured-img-overlay {
  position: absolute; inset: 0;
  background: linear-gradient(to top, rgba(10,10,10,.7) 0%, transparent 60%);
}
.img-fallback {
  background: linear-gradient(135deg, var(--bg3) 0%, var(--bg4) 100%);
  display: flex; align-items: center; justify-content: center;
}
.img-fallback::after {
  content: '📄';
  font-size: 3rem;
  opacity: .2;
}
.insight-cat {
  position: absolute;
  top: 20px; left: 20px;
  font-size: .6rem;
  font-weight: 700;
  letter-spacing: .2em;
  text-transform: uppercase;
  color: var(--bg);
  background: var(--gold);
  padding: 5px 12px;
}
.insight-featured-body {
  padding: 36px 40px 40px;
  display: flex;
  flex-direction: column;
  gap: 16px;
  flex: 1;
}
.insight-meta {
  display: flex;
  align-items: center;
  gap: 8px;
}
.insight-date, .insight-read {
  font-size: .72rem;
  color: var(--text3);
  letter-spacing: .08em;
}
.insight-dot { color: var(--gold); font-size: .6rem; }
.insight-featured-title {
  font-family: var(--font-d);
  font-size: 1.6rem;
  font-weight: 700;
  color: var(--text);
  line-height: 1.25;
}
.insight-featured-snippet {
  font-size: .88rem;
  color: var(--text2);
  line-height: 1.85;
}
.insight-read-more {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: .75rem;
  font-weight: 600;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--gold);
  text-decoration: none;
  margin-top: auto;
  transition: gap .25s;
}
.insight-read-more:hover { gap: 14px; }

/* Side cards */
.insights-side {
  display: flex;
  flex-direction: column;
  gap: 1px;
  background: var(--border);
}
.insight-card {
  background: var(--bg);
  display: flex;
  flex-direction: row;
  transition: background .3s;
}
.insight-card:hover { background: var(--bg3); }
.insight-card-img {
  width: 120px;
  flex-shrink: 0;
  position: relative;
  overflow: hidden;
  background: var(--bg4);
}
.insight-card-img img {
  width: 100%; height: 100%;
  object-fit: cover;
  display: block;
  transition: transform .5s var(--ease);
}
.insight-card:hover .insight-card-img img { transform: scale(1.06); }
.insight-card-img .insight-cat {
  font-size: .52rem;
  padding: 4px 8px;
  top: 10px; left: 10px;
}
.insight-card-body {
  padding: 24px 28px;
  display: flex;
  flex-direction: column;
  gap: 10px;
  justify-content: center;
}
.insight-card-title {
  font-family: var(--font-d);
  font-size: .95rem;
  font-weight: 700;
  color: var(--text);
  line-height: 1.35;
}

/* Responsive */
@media(max-width: 1024px) {
  .insights-grid { grid-template-columns: 1fr; }
  .insights-side { gap: 1px; }
}
@media(max-width: 600px) {
  .insights { padding: 60px 20px; }
  .insight-card { flex-direction: column; }
  .insight-card-img { width: 100%; height: 160px; }
  .insights-header { flex-direction: column; align-items: flex-start; }
}

/* section end here  */




/* TESTIMONIALS */
.testimonials{padding:120px 0;background:var(--bg);}
.testimonials-track{overflow:hidden;margin-top:60px;}
.testimonials-inner{display:flex;gap:30px;transition:transform .6s var(--ease);}
.testi-card{min-width:380px;background:var(--bg3);padding:48px;border:1px solid var(--border);flex-shrink:0;position:relative;}
.testi-quote{font-family:var(--font-d);font-size:5rem;color:var(--gold);line-height:.6;margin-bottom:24px;opacity:.4;}
.testi-text{font-family:var(--font-a);font-size:1.15rem;font-style:italic;color:var(--text);line-height:1.75;margin-bottom:32px;}
.testi-author{display:flex;align-items:center;gap:16px;}
.testi-avatar{width:50px;height:50px;border-radius:50%;background:linear-gradient(135deg,var(--gold-dim),var(--bg4));border:1px solid var(--gold-dim);display:flex;align-items:center;justify-content:center;font-family:var(--font-d);color:var(--gold);font-weight:700;}
.testi-name{font-weight:600;font-size:.92rem;color:var(--text);margin-bottom:4px;}
.testi-title{font-size:.78rem;color:var(--text2);}
.testi-nav{display:flex;gap:12px;margin-top:40px;}
.testi-btn{width:44px;height:44px;border:1px solid var(--border);background:none;color:var(--text2);cursor:none;transition:all .3s;display:flex;align-items:center;justify-content:center;}
.testi-btn:hover{border-color:var(--gold);color:var(--gold);}

/* CTA BANNER */
.cta-banner{padding:120px 0;text-align:center;position:relative;overflow:hidden;}
.cta-banner::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse 60% 60% at 50% 50%,rgba(201,168,76,.06) 0%,transparent 70%);}
.cta-banner h2{font-family:var(--font-d);font-size:clamp(2.5rem,5vw,4rem);font-weight:700;color:var(--text);margin-bottom:24px;position:relative;}
.cta-banner p{color:var(--text2);font-size:1.05rem;margin-bottom:48px;position:relative;}















/* ═══════════════════════════
   ABOUT PAGE
═══════════════════════════ */









/* ══════════════════════════════════════
   ABOUT HERO — NEW
══════════════════════════════════════ */
.about-hero-new {
  min-height: 100vh;
  display: flex;
  flex-direction: column;
  justify-content: center;
  position: relative;
  overflow: hidden;
  padding-top: 100px;
  background: var(--bg);
}

/* Background */
.ahn-bg { position: absolute; inset: 0; pointer-events: none; }

.ahn-grid {
  position: absolute; inset: 0;
  background-image:
    linear-gradient(var(--border2) 1px, transparent 1px),
    linear-gradient(90deg, var(--border2) 1px, transparent 1px);
  background-size: 80px 80px;
  mask-image: radial-gradient(ellipse 90% 90% at 50% 50%, black 20%, transparent 100%);
}

.ahn-orb {
  position: absolute; border-radius: 50%;
  filter: blur(100px); pointer-events: none;
}
.ahn-orb-1 {
  width: 500px; height: 500px;
  background: radial-gradient(circle, rgba(55,137,21,.1) 0%, transparent 70%);
  top: -100px; right: 10%;
  animation: float1 9s ease-in-out infinite;
}
.ahn-orb-2 {
  width: 350px; height: 350px;
  background: radial-gradient(circle, rgba(55,137,21,.07) 0%, transparent 70%);
  bottom: 100px; left: 5%;
  animation: float2 11s ease-in-out infinite;
}

/* Diagonal accent lines */
.ahn-line {
  position: absolute;
  width: 1px;
  background: linear-gradient(to bottom, transparent, rgba(55,137,21,.25), transparent);
  pointer-events: none;
}
.ahn-line-1 { height: 60%; top: 20%; left: 28%; transform: rotate(12deg); }
.ahn-line-2 { height: 40%; top: 30%; right: 25%; transform: rotate(-8deg); }

/* Watermark */
.ahn-watermark {
  position: absolute;
  font-family: var(--font-d);
  font-size: clamp(10rem, 20vw, 18rem);
  font-weight: 900;
  color: transparent;
  -webkit-text-stroke: 1px rgba(55,137,21,.06);
  top: 50%; left: 50%;
  transform: translate(-50%, -50%);
  white-space: nowrap;
  pointer-events: none;
  letter-spacing: -.02em;
  user-select: none;
}

/* Inner layout */
.ahn-inner {
  display: grid;
  grid-template-columns: 80px 1fr 200px;
  gap: 48px;
  align-items: center;
  padding: 60px 30px;
  position: relative;
  z-index: 2;
  width: 100%;
}

/* Left side label */
.ahn-side { display: flex; align-items: center; justify-content: center; }
.ahn-side-label {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 12px;
  writing-mode: vertical-rl;
  text-orientation: mixed;
  transform: rotate(180deg);
  font-size: .65rem;
  font-weight: 700;
  letter-spacing: .2em;
  text-transform: uppercase;
  color: var(--text3);
}
.ahn-side-label span:first-child { color: var(--gold); }
.ahn-side-rule {
  width: 1px; height: 40px;
  background: linear-gradient(to bottom, var(--gold), transparent);
  flex-shrink: 0;
}

/* Center headline */
.ahn-center { display: flex; flex-direction: column; gap: 24px; }

.ahn-eyebrow {
  display: flex; align-items: center; gap: 10px;
  font-size: .68rem; font-weight: 700;
  letter-spacing: .25em; text-transform: uppercase;
  color: var(--gold);
  opacity: 0; animation: fadeUp .6s .1s var(--ease) forwards;
}
.ahn-eyebrow-dot {
  width: 6px; height: 6px; border-radius: 50%;
  background: var(--gold);
  box-shadow: 0 0 10px rgba(55,137,21,.6);
  flex-shrink: 0;
}

/* Headline — each line animates in */
.ahn-h1 {
  display: flex; flex-direction: column; gap: 4px;
  font-family: var(--font-d);
  font-size: clamp(2.8rem, 5.5vw, 5.5rem);
  font-weight: 900;
  line-height: 1.05;
  color: var(--text);
}
.ahn-h1-line {
  display: block;
  opacity: 0;
  animation: slideInLeft .7s var(--ease) forwards;
}
.ahn-h1-italic {
  font-style: italic;
  color: var(--gold);
  font-weight: 400;
  font-family: var(--font-a);
  font-size: clamp(3rem, 6vw, 6rem);
}
.ahn-h1-outline {
  color: transparent;
  -webkit-text-stroke: 1.5px var(--text);
}

@keyframes slideInLeft {
  from { opacity: 0; transform: translateX(-40px); }
  to   { opacity: 1; transform: translateX(0); }
}

/* Divider */
.ahn-divider {
  display: flex; align-items: center; gap: 12px;
  opacity: 0; animation: fadeUp .6s .8s var(--ease) forwards;
}
.ahn-divider-line {
  height: 1px; flex: 1;
  background: linear-gradient(to right, var(--gold), transparent);
  max-width: 80px;
}
.ahn-divider-icon { color: var(--gold); font-size: .8rem; }

/* Sub text */
.ahn-sub {
  font-size: 1rem;
  color: var(--text2);
  line-height: 1.85;
  max-width: 520px;
  opacity: 0;
  animation: fadeUp .6s var(--ease) forwards;
}

/* CTA row */
.ahn-cta-row {
  display: flex; align-items: center; gap: 32px;
  opacity: 0; animation: fadeUp .6s var(--ease) forwards;
}
.ahn-scroll-hint {
  display: flex; align-items: center; gap: 12px;
  font-size: .65rem; letter-spacing: .18em;
  text-transform: uppercase; color: var(--text3);
}
.ahn-scroll-line {
  width: 40px; height: 1px;
  background: linear-gradient(to right, var(--gold), transparent);
}

/* Right stats */
.ahn-stats {
  display: flex; flex-direction: column;
  gap: 0; align-items: flex-start;
}
.ahn-stat {
  padding: 20px 0;
  opacity: 0; animation: fadeUp .6s var(--ease) forwards;
}
.ahn-stat-num {
  display: block;
  font-family: var(--font-d);
  font-size: 1.9rem; font-weight: 900;
  color: var(--gold); line-height: 1;
  margin-bottom: 4px;
}
.ahn-stat-label {
  display: block;
  font-size: .65rem; font-weight: 600;
  letter-spacing: .14em; text-transform: uppercase;
  color: var(--text3); line-height: 1.5;
}
.ahn-stat-rule {
  width: 30px; height: 1px;
  background: var(--border);
  margin: 4px 0;
}

/* Bottom ticker bar */
.ahn-bottom-bar {
  display: flex; align-items: center;
  gap: 24px; padding: 16px 30px;
  border-top: 1px solid var(--border);
  background: var(--bg2);
  position: relative; z-index: 2;
  font-size: .65rem; font-weight: 600;
  letter-spacing: .18em; text-transform: uppercase;
  color: var(--text3);
  flex-wrap: wrap;
}
.ahn-bar-dot { color: var(--gold); font-size: .55rem; }

/* Responsive */
@media(max-width: 1024px) {
  .ahn-inner { grid-template-columns: 1fr; padding: 40px 30px; }
  .ahn-side { display: none; }
  .ahn-stats {
    flex-direction: row; gap: 32px;
    border-top: 1px solid var(--border);
    padding-top: 24px; flex-wrap: wrap;
  }
  .ahn-stat-rule { display: none; }
}
@media(max-width: 600px) {
  .ahn-h1 { font-size: 2.4rem; }
  .ahn-bottom-bar { gap: 14px; }
  .ahn-cta-row { flex-direction: column; align-items: flex-start; gap: 16px; }
}



/* styling overr vin hero about us section  */












/* ══════════════════════════════════════
   TABBED CHAPTERS — FULL WIDTH
══════════════════════════════════════ */
.tab-chapters {
  display: grid;
  grid-template-columns: 280px 1fr;
  min-height: 80vh;
  background: var(--bg);
  border-top: 1px solid var(--border);
  width: 100%;
}

/* ── Vertical Tab Nav ── */
.tab-nav {
  background: var(--bg2);
  border-right: 1px solid var(--border);
  display: flex;
  flex-direction: column;
  padding: 48px 0;
  position: sticky;
  top: 80px;
  height: calc(100vh - 80px);
  overflow-y: auto;
}
.tab-nav-label {
  font-size: .6rem;
  font-weight: 700;
  letter-spacing: .25em;
  text-transform: uppercase;
  color: var(--text3);
  padding: 0 28px 16px;
}
.tab-nav-rule {
  height: 1px;
  background: var(--border);
  margin: 0 28px 24px;
}
.tab-btn {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 20px 28px;
  background: transparent;
  border: none;
  border-left: 2px solid transparent;
  cursor: pointer;
  text-align: left;
  width: 100%;
  transition: background .25s, border-color .25s;
}
.tab-btn:hover { background: var(--bg3); }
.tab-btn.active {
  background: var(--bg3);
  border-left-color: var(--gold);
}
.tab-btn-num {
  font-family: var(--font-d);
  font-size: 1.4rem;
  font-weight: 900;
  color: var(--text3);
  line-height: 1;
  flex-shrink: 0;
  transition: color .25s;
  min-width: 32px;
}
.tab-btn.active .tab-btn-num { color: var(--gold); }
.tab-btn-info {
  display: flex;
  flex-direction: column;
  gap: 3px;
  flex: 1;
}
.tab-btn-title {
  font-size: .82rem;
  font-weight: 600;
  color: var(--text2);
  transition: color .25s;
  letter-spacing: .02em;
}
.tab-btn.active .tab-btn-title { color: var(--text); }
.tab-btn-sub {
  font-size: .65rem;
  color: var(--text3);
  letter-spacing: .06em;
  line-height: 1.4;
}
.tab-btn-arrow {
  color: var(--text3);
  font-size: .9rem;
  opacity: 0;
  transform: translateX(-6px);
  transition: opacity .25s, transform .25s, color .25s;
}
.tab-btn:hover .tab-btn-arrow,
.tab-btn.active .tab-btn-arrow {
  opacity: 1;
  transform: translateX(0);
  color: var(--gold);
}
.tab-nav-footer {
  margin-top: auto;
  padding: 24px 28px 0;
  border-top: 1px solid var(--border);
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: .62rem;
  font-weight: 600;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: var(--text3);
}
.tab-nav-footer span:first-child { color: var(--gold); }

/* ── Content Area ── */
.tab-content {
  position: relative;
  overflow: hidden;
  width: 100%;
}
.tab-panel {
  display: none;
  position: relative;
  overflow: hidden;
  animation: tabFadeIn .45s var(--ease) forwards;
}
.tab-panel.active { display: block; }
@keyframes tabFadeIn {
  from { opacity: 0; transform: translateY(16px); }
  to   { opacity: 1; transform: translateY(0); }
}

/* ── Panel Inner — FULL WIDTH ── */
.tab-panel-inner {
  padding: 60px 56px;
  display: flex;
  flex-direction: column;
  gap: 36px;
  position: relative;
  z-index: 2;
  max-width: 100%;
  width: 100%;
}

/* Editorial elements */
.ed-chapter-slash {
  position: absolute;
  top: 0; left: -5%;
  width: 40%; height: 100%;
  background: linear-gradient(135deg, rgba(55,137,21,.04) 0%, transparent 60%);
  clip-path: polygon(0 0, 85% 0, 100% 100%, 0 100%);
  pointer-events: none;
}
.ed-chapter-bg-num {
  position: absolute;
  font-family: var(--font-d);
  font-size: clamp(14rem, 22vw, 22rem);
  font-weight: 900;
  color: transparent;
  -webkit-text-stroke: 1px rgba(55,137,21,.06);
  top: 50%; right: -20px;
  transform: translateY(-50%);
  line-height: 1;
  pointer-events: none;
  user-select: none;
  letter-spacing: -.04em;
  z-index: 0;
}
.ed-panel-index {
  display: flex;
  align-items: center;
  gap: 12px;
}
.ed-index-num {
  font-family: var(--font-d);
  font-size: 1rem;
  font-weight: 900;
  color: var(--gold);
  letter-spacing: .05em;
}
.ed-index-rule {
  width: 48px; height: 1px;
  background: linear-gradient(to right, var(--gold), transparent);
}
.ed-index-label {
  font-size: .6rem;
  font-weight: 700;
  letter-spacing: .22em;
  text-transform: uppercase;
  color: var(--text3);
}
.ed-chapter-heading {
  font-family: var(--font-d);
  font-size: clamp(2.6rem, 4.5vw, 4.2rem);
  font-weight: 900;
  line-height: 1.05;
  color: var(--text);
  letter-spacing: -.02em;
}
.ed-chapter-heading em {
  font-style: italic;
  color: var(--gold);
  font-family: var(--font-a);
  font-size: 110%;
  font-weight: 400;
}
.ed-chapter-subline {
  font-size: .75rem;
  font-weight: 600;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--text3);
  border-left: 2px solid var(--gold);
  padding-left: 14px;
  line-height: 1.6;
}
.ed-lede {
  font-family: var(--font-a);
  font-size: clamp(1.1rem, 2vw, 1.4rem);
  font-style: italic;
  font-weight: 300;
  color: var(--text);
  line-height: 1.6;
  padding-bottom: 24px;
  border-bottom: 1px solid var(--border);
}
.ed-lede strong {
  font-style: normal;
  font-weight: 600;
  color: var(--gold);
}
.ed-body-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 32px;
  width: 100%;
}
.ed-body-col {
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.ed-body-col p {
  font-size: .9rem;
  color: var(--text2);
  line-height: 1.9;
}
.ed-body-col strong { color: var(--text); font-weight: 600; }
.ed-body-col em { color: var(--gold); font-style: italic; }
.ed-stat-bar {
  display: flex;
  border: 1px solid var(--border);
  overflow: hidden;
  width: 100%;
}
.ed-stat-bar-item {
  flex: 1;
  padding: 20px 16px;
  text-align: center;
  background: var(--bg3);
  transition: background .3s;
}
.ed-stat-bar-item:hover { background: var(--bg4); }
.ed-stat-bar-num {
  display: block;
  font-family: var(--font-d);
  font-size: 1.6rem;
  font-weight: 900;
  color: var(--gold);
  line-height: 1;
  margin-bottom: 6px;
}
.ed-stat-bar-text {
  font-size: .6rem;
  font-weight: 600;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--text3);
  line-height: 1.5;
}
.ed-stat-bar-div {
  width: 1px;
  background: var(--border);
  flex-shrink: 0;
}
.ed-tech-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1px;
  background: var(--border);
  width: 100%;
}
.ed-tech-card {
  background: var(--bg3);
  padding: 24px 20px;
  display: flex;
  flex-direction: column;
  gap: 10px;
  transition: background .3s;
  position: relative;
  overflow: hidden;
}
.ed-tech-card::before {
  content: '';
  position: absolute;
  bottom: 0; left: 0; right: 0;
  height: 2px;
  background: var(--gold);
  transform: scaleX(0);
  transition: transform .3s var(--ease);
}
.ed-tech-card:hover { background: var(--bg4); }
.ed-tech-card:hover::before { transform: scaleX(1); }
.ed-tech-icon { font-size: 1.6rem; }
.ed-tech-name {
  font-size: .78rem;
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--text);
}
.ed-tech-desc {
  font-size: .75rem;
  color: var(--text3);
  line-height: 1.6;
}
.ed-values-strip {
  display: flex;
  gap: 1px;
  background: var(--border);
  overflow: hidden;
  width: 100%;
}
.ed-vs-item {
  flex: 1;
  padding: 20px 12px;
  background: var(--bg3);
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  transition: background .3s;
  cursor: default;
}
.ed-vs-item:hover { background: rgba(55,137,21,.08); }
.ed-vs-icon { font-size: 1.4rem; }
.ed-vs-label {
  font-size: .6rem;
  font-weight: 700;
  letter-spacing: .15em;
  text-transform: uppercase;
  color: var(--text3);
  text-align: center;
}
.ed-blockquote {
  display: flex;
  gap: 20px;
  align-items: stretch;
  padding: 24px 28px;
  background: var(--bg3);
  border: 1px solid var(--border);
  position: relative;
  overflow: hidden;
}
.ed-blockquote::after {
  content: '"';
  position: absolute;
  right: 20px; bottom: -20px;
  font-family: var(--font-a);
  font-size: 8rem;
  color: rgba(55,137,21,.06);
  line-height: 1;
  pointer-events: none;
}
.ed-bq-accent {
  width: 3px;
  background: linear-gradient(to bottom, var(--gold), rgba(55,137,21,.2));
  flex-shrink: 0;
  border-radius: 2px;
}
.ed-blockquote p {
  font-family: var(--font-a);
  font-size: 1.1rem;
  font-style: italic;
  color: var(--text);
  line-height: 1.65;
  position: relative;
  z-index: 1;
}

/* ── RESPONSIVE ── */
@media(max-width: 900px) {
  .tab-chapters {
    grid-template-columns: 1fr;
    grid-template-rows: auto 1fr;
  }
  .tab-nav {
    position: static;
    height: auto;
    flex-direction: row;
    padding: 0;
    border-right: none;
    border-bottom: 1px solid var(--border);
    overflow-x: auto;
  }
  .tab-nav-label,
  .tab-nav-rule,
  .tab-nav-footer { display: none; }
  .tab-btn {
    flex-direction: column;
    align-items: center;
    text-align: center;
    padding: 16px 20px;
    border-left: none;
    border-bottom: 2px solid transparent;
    min-width: 120px;
    gap: 6px;
  }
  .tab-btn.active {
    border-bottom-color: var(--gold);
    border-left: none;
  }
  .tab-btn-arrow,
  .tab-btn-sub { display: none; }
  .tab-btn-num { font-size: 1rem; }
  .tab-panel-inner { padding: 40px 24px; }
  .ed-body-grid { grid-template-columns: 1fr; }
  .ed-tech-grid { grid-template-columns: 1fr; }
  .ed-stat-bar { flex-wrap: wrap; }
  .ed-stat-bar-item { flex: 1 1 45%; }
}
@media(max-width: 480px) {
  .tab-panel-inner { padding: 30px 16px; gap: 24px; }
  .ed-chapter-heading { font-size: 2.2rem; }
  .ed-values-strip { flex-wrap: wrap; }
  .ed-vs-item { flex: 1 1 45%; }
  .ed-stat-bar-item { flex: 1 1 100%; }
}


/* styling ends here */










/* ══════════════════════════════════════
   GENEROSITY SECTION
══════════════════════════════════════ */
.generosity {
  position: relative;
  overflow: hidden;
  background: var(--bg2);
  border-top: 1px solid var(--border);
}

/* Background */
.gen-bg { position: absolute; inset: 0; pointer-events: none; }
.gen-orb {
  position: absolute;
  width: 600px; height: 600px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(55,137,21,.07) 0%, transparent 70%);
  top: -100px; right: -100px;
  filter: blur(80px);
  animation: float1 10s ease-in-out infinite;
}
.gen-grid {
  position: absolute; inset: 0;
  background-image:
    linear-gradient(var(--border2) 1px, transparent 1px),
    linear-gradient(90deg, var(--border2) 1px, transparent 1px);
  background-size: 60px 60px;
  mask-image: radial-gradient(ellipse 70% 70% at 80% 50%, black 20%, transparent 100%);
}

/* Inner layout */
.gen-inner {
  display: grid;
  grid-template-columns: 1fr 1.1fr;
  gap: 80px;
  align-items: center;
  padding: 100px 30px;
  position: relative;
  z-index: 2;
  width: 100%;
}

/* ── Left ── */
.gen-left {
  display: flex;
  flex-direction: column;
  gap: 24px;
}
.gen-eyebrow {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: .65rem;
  font-weight: 700;
  letter-spacing: .25em;
  text-transform: uppercase;
  color: var(--gold);
}
.gen-eyebrow-dot {
  width: 6px; height: 6px;
  border-radius: 50%;
  background: var(--gold);
  box-shadow: 0 0 10px rgba(55,137,21,.6);
  flex-shrink: 0;
}
.gen-title {
  font-family: var(--font-d);
  font-size: clamp(2.6rem, 4.5vw, 4rem);
  font-weight: 900;
  color: var(--text);
  line-height: 1.05;
  letter-spacing: -.02em;
}
.gen-title em {
  font-style: italic;
  color: var(--gold);
  font-family: var(--font-a);
  font-size: 110%;
  font-weight: 400;
}
.gen-sub {
  font-size: .75rem;
  font-weight: 600;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--text3);
  border-left: 2px solid var(--gold);
  padding-left: 14px;
  line-height: 1.6;
}
.gen-rule {
  width: 48px; height: 1.5px;
  background: linear-gradient(to right, var(--gold), transparent);
}
.gen-body {
  font-size: .92rem;
  color: var(--text2);
  line-height: 1.9;
  max-width: 480px;
}

/* Quote */
.gen-quote {
  display: flex;
  flex-direction: column;
  gap: 12px;
  padding: 24px 28px;
  background: var(--bg3);
  border: 1px solid var(--border);
  position: relative;
  overflow: hidden;
}
.gen-quote::before {
  content: '"';
  position: absolute;
  right: 16px; top: -10px;
  font-family: var(--font-a);
  font-size: 7rem;
  color: rgba(55,137,21,.07);
  line-height: 1;
  pointer-events: none;
}
.gen-quote-line {
  width: 32px; height: 2px;
  background: var(--gold);
}
.gen-quote p {
  font-family: var(--font-a);
  font-size: 1.05rem;
  font-style: italic;
  color: var(--text);
  line-height: 1.7;
  position: relative; z-index: 1;
}
.gen-quote span {
  font-size: .65rem;
  font-weight: 700;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: var(--gold);
}

/* ── Right ── */
.gen-right {
  display: flex;
  flex-direction: column;
  gap: 1px;
  background: var(--border);
}

/* Org cards */
.gen-org-card {
  display: flex;
  align-items: flex-start;
  gap: 24px;
  padding: 36px 32px;
  background: var(--bg3);
  position: relative;
  overflow: hidden;
  transition: background .3s;
}
.gen-org-card:hover { background: var(--bg4); }
.gen-org-card:hover .gen-org-accent { transform: scaleY(1); }

/* Animated left accent bar */
.gen-org-accent {
  position: absolute;
  left: 0; top: 0; bottom: 0;
  width: 3px;
  background: linear-gradient(to bottom, var(--gold), rgba(55,137,21,.2));
  transform: scaleY(0);
  transform-origin: top;
  transition: transform .4s var(--ease);
}

.gen-org-icon {
  font-size: 2rem;
  width: 56px; height: 56px;
  background: var(--bg4);
  border: 1px solid var(--border);
  display: flex; align-items: center; justify-content: center;
  flex-shrink: 0;
  transition: border-color .3s;
}
.gen-org-card:hover .gen-org-icon { border-color: var(--gold); }

.gen-org-body {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.gen-org-tag {
  font-size: .6rem;
  font-weight: 700;
  letter-spacing: .2em;
  text-transform: uppercase;
  color: var(--gold);
}
.gen-org-name {
  font-family: var(--font-d);
  font-size: 1.25rem;
  font-weight: 700;
  color: var(--text);
  line-height: 1.2;
}
.gen-org-desc {
  font-size: .84rem;
  color: var(--text2);
  line-height: 1.8;
}

/* Stat strip */
.gen-stat-strip {
  display: flex;
  align-items: center;
  background: var(--bg);
  border-top: none;
}
.gen-strip-item {
  flex: 1;
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 24px 24px;
  transition: background .3s;
}
.gen-strip-item:hover { background: var(--bg3); }
.gen-strip-icon { font-size: 1.4rem; flex-shrink: 0; }
.gen-strip-title {
  display: block;
  font-size: .75rem;
  font-weight: 700;
  color: var(--text);
  letter-spacing: .06em;
  margin-bottom: 3px;
}
.gen-strip-desc {
  display: block;
  font-size: .68rem;
  color: var(--text3);
  line-height: 1.4;
}
.gen-strip-div {
  width: 1px; height: 40px;
  background: var(--border);
  flex-shrink: 0;
}

/* ── Bottom Banner ── */
.gen-banner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 32px;
  padding: 36px 30px;
  background: var(--bg);
  border-top: 1px solid var(--border);
  position: relative;
  z-index: 2;
}
.gen-banner::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 1px;
  background: linear-gradient(to right, transparent, var(--gold), transparent);
  opacity: .4;
}
.gen-banner-label {
  display: block;
  font-size: .6rem;
  font-weight: 700;
  letter-spacing: .22em;
  text-transform: uppercase;
  color: var(--gold);
  margin-bottom: 6px;
}
.gen-banner-text p {
  font-family: var(--font-a);
  font-size: clamp(1rem, 2vw, 1.3rem);
  font-style: italic;
  color: var(--text);
  line-height: 1.4;
}

/* ── RESPONSIVE ── */
@media(max-width: 1024px) {
  .gen-inner {
    grid-template-columns: 1fr;
    gap: 48px;
    padding: 70px 30px;
  }
}
@media(max-width: 768px) {
  .gen-inner { padding: 60px 20px; }
  .gen-stat-strip { flex-direction: column; gap: 0; }
  .gen-strip-item { width: 100%; border-bottom: 1px solid var(--border); }
  .gen-strip-div { display: none; }
  .gen-banner {
    flex-direction: column;
    text-align: center;
    padding: 32px 20px;
    gap: 20px;
  }
}
@media(max-width: 480px) {
  .gen-title { font-size: 2.2rem; }
  .gen-org-card { flex-direction: column; gap: 16px; padding: 28px 20px; }
}








/* ══════════════════════════════════════
   CONCLUSION SECTION
══════════════════════════════════════ */
.conclusion {
  position: relative;
  overflow: hidden;
  background: var(--bg);
  border-top: 1px solid var(--border);
}

/* Background */
.concl-bg { position: absolute; inset: 0; pointer-events: none; }
.concl-orb {
  position: absolute;
  border-radius: 50%;
  filter: blur(100px);
}
.concl-orb-1 {
  width: 700px; height: 700px;
  background: radial-gradient(circle, rgba(55,137,21,.08) 0%, transparent 70%);
  top: -200px; left: -100px;
  animation: float1 12s ease-in-out infinite;
}
.concl-orb-2 {
  width: 400px; height: 400px;
  background: radial-gradient(circle, rgba(55,137,21,.05) 0%, transparent 70%);
  bottom: 0; right: 5%;
  animation: float2 9s ease-in-out infinite;
}
.concl-grid {
  position: absolute; inset: 0;
  background-image:
    linear-gradient(var(--border2) 1px, transparent 1px),
    linear-gradient(90deg, var(--border2) 1px, transparent 1px);
  background-size: 80px 80px;
  mask-image: radial-gradient(ellipse 80% 80% at 50% 50%, black 20%, transparent 100%);
}
.concl-diagonal {
  position: absolute;
  bottom: 0; right: 0;
  width: 50%; height: 100%;
  background: linear-gradient(135deg, transparent 60%, rgba(55,137,21,.03) 100%);
  clip-path: polygon(40% 0, 100% 0, 100% 100%, 0 100%);
}

/* Watermark */
.concl-watermark {
  position: absolute;
  font-family: var(--font-d);
  font-size: clamp(10rem, 20vw, 18rem);
  font-weight: 900;
  color: transparent;
  -webkit-text-stroke: 1px rgba(55,137,21,.04);
  bottom: -40px; right: -20px;
  line-height: 1;
  pointer-events: none;
  user-select: none;
  letter-spacing: -.02em;
}

/* Inner */
.concl-inner {
  position: relative;
  z-index: 2;
  padding: 100px 30px;
  display: flex;
  flex-direction: column;
  gap: 64px;
  width: 100%;
}

/* Label row */
.concl-label-row {
  display: flex;
  align-items: center;
  gap: 20px;
}
.concl-label-line {
  flex: 1; height: 1px;
  background: linear-gradient(to right, transparent, var(--border), transparent);
  max-width: 120px;
}
.concl-label {
  font-size: .62rem;
  font-weight: 700;
  letter-spacing: .25em;
  text-transform: uppercase;
  color: var(--text3);
  white-space: nowrap;
}

/* Headline */
.concl-headline-wrap { text-align: center; }
.concl-title {
  font-family: var(--font-d);
  font-size: clamp(3rem, 7vw, 6.5rem);
  font-weight: 900;
  color: var(--text);
  line-height: 1.05;
  letter-spacing: -.03em;
}
.concl-title em {
  font-style: italic;
  color: var(--gold);
  font-family: var(--font-a);
  font-weight: 300;
  font-size: 105%;
}

/* Content grid */
.concl-grid-layout {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 80px;
  align-items: start;
  width: 100%;
}

/* Body text */
.concl-body-wrap {
  display: flex;
  flex-direction: column;
  gap: 20px;
}
.concl-body {
  font-size: .95rem;
  color: var(--text2);
  line-height: 1.9;
}
.concl-body strong {
  color: var(--text);
  font-weight: 600;
}
.concl-body--highlight {
  font-family: var(--font-a);
  font-size: 1.1rem;
  font-style: italic;
  color: var(--text);
  padding: 20px 24px;
  border: 1px solid var(--border);
  border-left: 3px solid var(--gold);
  background: var(--bg2);
  line-height: 1.7;
}
.concl-body--highlight em {
  color: var(--gold);
  font-style: normal;
  font-weight: 600;
}

/* Journey steps */
.concl-journey {
  display: flex;
  flex-direction: column;
  gap: 0;
}
.concl-step {
  display: grid;
  grid-template-columns: 16px 24px 1fr;
  gap: 16px;
  align-items: start;
}
.concl-step-dot {
  width: 12px; height: 12px;
  border-radius: 50%;
  background: var(--bg4);
  border: 2px solid var(--border);
  margin-top: 4px;
  transition: border-color .3s, background .3s;
  flex-shrink: 0;
}
.concl-step:hover .concl-step-dot {
  border-color: var(--gold);
  background: rgba(55,137,21,.15);
}
.concl-step-dot--gold {
  background: var(--gold);
  border-color: var(--gold);
  box-shadow: 0 0 12px rgba(55,137,21,.5);
}
.concl-step-line {
  width: 1px;
  background: linear-gradient(to bottom, var(--border), transparent);
  min-height: 60px;
  margin: 14px auto 0;
}
.concl-step-line--hide { background: transparent; }
.concl-step-body {
  display: flex;
  flex-direction: column;
  gap: 4px;
  padding-bottom: 28px;
}
.concl-step-label {
  font-size: .7rem;
  font-weight: 700;
  letter-spacing: .15em;
  text-transform: uppercase;
  color: var(--text3);
}
.concl-step-label--gold { color: var(--gold); }
.concl-step-text {
  font-size: .85rem;
  color: var(--text2);
  line-height: 1.6;
}

/* ── Final CTA Block ── */
.concl-cta-block {
  display: grid;
  grid-template-columns: 1fr 1.4fr;
  gap: 60px;
  align-items: center;
  padding: 48px;
  background: var(--bg2);
  border: 1px solid var(--border);
  position: relative;
  overflow: hidden;
  width: 100%;
}
.concl-cta-block::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 2px;
  background: linear-gradient(to right, var(--gold), rgba(55,137,21,.2), transparent);
}
.concl-cta-block::after {
  content: '✦';
  position: absolute;
  right: 40px; bottom: -20px;
  font-size: 8rem;
  color: rgba(55,137,21,.04);
  line-height: 1;
  pointer-events: none;
}
.concl-cta-eyebrow {
  display: block;
  font-size: .6rem;
  font-weight: 700;
  letter-spacing: .22em;
  text-transform: uppercase;
  color: var(--gold);
  margin-bottom: 12px;
}
.concl-cta-title {
  font-family: var(--font-d);
  font-size: clamp(1.8rem, 3vw, 2.8rem);
  font-weight: 900;
  color: var(--text);
  line-height: 1.1;
  letter-spacing: -.02em;
}
.concl-cta-title em {
  font-style: italic;
  color: var(--gold);
  font-family: var(--font-a);
  font-weight: 300;
}
.concl-cta-right {
  display: flex;
  flex-direction: column;
  gap: 24px;
}
.concl-cta-body {
  font-size: .9rem;
  color: var(--text2);
  line-height: 1.85;
}
.concl-cta-btns {
  display: flex;
  gap: 16px;
  flex-wrap: wrap;
}

/* ── RESPONSIVE ── */
@media(max-width: 1024px) {
  .concl-grid-layout { grid-template-columns: 1fr; gap: 48px; }
  .concl-cta-block { grid-template-columns: 1fr; gap: 32px; padding: 36px; }
}
@media(max-width: 768px) {
  .concl-inner { padding: 70px 20px; gap: 48px; }
  .concl-title { font-size: 2.8rem; }
  .concl-cta-block { padding: 28px 20px; }
  .concl-cta-btns { flex-direction: column; }
  .concl-cta-btns .btn { text-align: center; }
}
@media(max-width: 480px) {
  .concl-title { font-size: 2.2rem; }
  .concl-body--highlight { font-size: .95rem; }
}



/* styling ends here  */












/* ══════════════════════════════════════════════════
   PORTFOLIO HERO  —  portfolio-hero.css
   Uses: --bg, --bg2, --bg3, --bg4, --gold, --gold-light,
         --gold-dim, --border, --border2, --text, --text2,
         --text3, --font-d, --font-b, --font-a, --ease
══════════════════════════════════════════════════ */

/* ════════════════════════════════════════
   PORTFOLIO HERO — portfolio-hero.css
   Matches style.css variables & patterns
════════════════════════════════════════ */

/* ── Hero wrapper ── */
.pf-hero {
  min-height: 100vh;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  position: relative;
  overflow: hidden;
  padding-top: 80px;
  background: var(--bg);
}

/* ════════════════════════════════════
   BACKGROUND LAYERS
════════════════════════════════════ */
.pf-bg {
  position: absolute;
  inset: 0;
  pointer-events: none;
}

.pf-bg-grid {
  position: absolute;
  inset: 0;
  background-image:
    linear-gradient(var(--border2) 1px, transparent 1px),
    linear-gradient(90deg, var(--border2) 1px, transparent 1px);
  background-size: 80px 80px;
  animation: pfGridMove 24s linear infinite;
  mask-image: radial-gradient(ellipse 100% 100% at 50% 50%, black 10%, transparent 100%);
}
@keyframes pfGridMove {
  0%   { background-position: 0 0; }
  100% { background-position: 80px 80px; }
}

.pf-bg-orb {
  position: absolute;
  border-radius: 50%;
  filter: blur(90px);
  pointer-events: none;
}
.pf-bg-orb-1 {
  width: 700px; height: 700px;
  background: radial-gradient(circle, rgba(55,137,21,.09) 0%, transparent 65%);
  top: -180px; right: -120px;
  animation: float1 10s ease-in-out infinite;
}
.pf-bg-orb-2 {
  width: 450px; height: 450px;
  background: radial-gradient(circle, rgba(55,137,21,.06) 0%, transparent 65%);
  bottom: 80px; left: -80px;
  animation: float2 13s ease-in-out infinite;
}
.pf-bg-orb-3 {
  width: 280px; height: 280px;
  background: radial-gradient(circle, rgba(55,137,21,.04) 0%, transparent 65%);
  top: 40%; left: 40%;
  animation: float1 18s ease-in-out infinite reverse;
}

.pf-bg-line {
  position: absolute;
  width: 1px;
  background: linear-gradient(to bottom, transparent, rgba(55,137,21,.18), transparent);
  pointer-events: none;
}
.pf-bg-line-1 { height: 65%; top: 18%; left: 20%; transform: rotate(9deg); }
.pf-bg-line-2 { height: 50%; top: 28%; right: 28%; transform: rotate(-7deg); }
.pf-bg-line-3 { height: 38%; top: 38%; right: 15%; transform: rotate(14deg); }

/* ════════════════════════════════════
   GHOST WATERMARK
════════════════════════════════════ */
.pf-watermark {
  position: absolute;
  font-family: var(--font-d);
  font-size: clamp(10rem, 22vw, 20rem);
  font-weight: 900;
  color: transparent;
  -webkit-text-stroke: 1px rgba(55,137,21,.05);
  bottom: 60px; right: -30px;
  line-height: 1;
  pointer-events: none;
  user-select: none;
  letter-spacing: -.03em;
  z-index: 0;
}

/* ════════════════════════════════════
   VERTICAL SIDE LABEL
════════════════════════════════════ */
.pf-side-label {
  position: absolute;
  left: 28px;
  top: 50%;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
  z-index: 3;
  writing-mode: vertical-rl;
  text-orientation: mixed;
  transform: translateY(-50%) rotate(180deg);
}
.pf-side-num {
  font-family: var(--font-d);
  font-size: .85rem;
  font-weight: 900;
  color: var(--gold);
  letter-spacing: .05em;
}
.pf-side-rule {
  width: 1px;
  height: 44px;
  background: linear-gradient(to bottom, var(--gold), transparent);
  flex-shrink: 0;
}
.pf-side-text {
  font-size: .58rem;
  font-weight: 700;
  letter-spacing: .22em;
  text-transform: uppercase;
  color: var(--text3);
}

/* ════════════════════════════════════
   TOP META BAR
════════════════════════════════════ */
.pf-meta-bar {
  position: absolute;
  top: 96px; left: 0; right: 0;
  padding: 0 72px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  z-index: 3;
  opacity: 0;
  animation: fadeUp .6s .15s var(--ease) forwards;
}

.pf-meta-left {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: .65rem;
  font-weight: 600;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: var(--text3);
}
.pf-meta-dot {
  width: 6px; height: 6px;
  border-radius: 50%;
  background: var(--gold);
  box-shadow: 0 0 10px rgba(55,137,21,.6);
  flex-shrink: 0;
}
.pf-meta-sep { color: var(--gold); }

.pf-meta-right {
  display: flex;
  align-items: center;
  gap: 20px;
}
.pf-meta-stat {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 2px;
}
.pf-meta-stat strong {
  font-family: var(--font-d);
  font-size: 1.1rem;
  font-weight: 900;
  color: var(--gold);
  line-height: 1;
}
.pf-meta-stat span {
  font-size: .55rem;
  font-weight: 600;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: var(--text3);
}
.pf-meta-div {
  width: 1px; height: 28px;
  background: var(--border);
  flex-shrink: 0;
}

/* ════════════════════════════════════
   MAIN CONTENT BLOCK
════════════════════════════════════ */
.pf-content {
  position: relative;
  z-index: 3;
  padding: 0 72px;
  margin-bottom: 88px;
  display: flex;
  flex-direction: column;
  gap: 0;
  padding-top: 150px;
}

/* Eyebrow */
.pf-eyebrow {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 26px;
  opacity: 0;
  animation: fadeUp .7s .25s var(--ease) forwards;
}
.pf-eyebrow-dot {
  width: 7px; height: 7px;
  border-radius: 50%;
  background: var(--gold);
  box-shadow: 0 0 14px rgba(55,137,21,.65);
  flex-shrink: 0;
}
.pf-eyebrow span {
  font-size: .68rem;
  font-weight: 700;
  letter-spacing: .26em;
  text-transform: uppercase;
  color: var(--gold);
}
.pf-eyebrow-line {
  flex: 1;
  height: 1px;
  background: linear-gradient(to right, rgba(55,137,21,.45), transparent);
  max-width: 160px;
}

/* Headline rows */
.pf-headline {
  display: flex;
  flex-direction: column;
  margin-bottom: 44px;
}
.pf-hl-row {
  overflow: hidden;
  line-height: 1.0;
}
.pf-hl {
  display: block;
  font-family: var(--font-d);
  font-weight: 900;
  letter-spacing: -.03em;
  color: var(--text);
  opacity: 0;
  animation: pfSlideUp .85s var(--ease) forwards;
}

/* Line 1 — normal */
.pf-hl-1 {
  font-size: clamp(3rem, 7.2vw, 7.5rem);
  animation-delay: .1s;
}
/* Line 2 — outline */
.pf-hl-2 {
  font-size: clamp(3.5rem, 9vw, 9rem);
  animation-delay: .28s;
}
.pf-hl-outline {
  color: transparent !important;
  -webkit-text-stroke: 1.5px var(--text);
}
/* Line 3 — gold italic */
.pf-hl-3 {
  font-size: clamp(3rem, 7.2vw, 7.5rem);
  animation-delay: .46s;
}
.pf-hl-italic {
  font-family: var(--font-a) !important;
  font-style: italic !important;
  font-weight: 300 !important;
  color: var(--gold) !important;
  -webkit-text-stroke: 0 !important;
  letter-spacing: -.01em !important;
}

@keyframes pfSlideUp {
  from { opacity: 0; transform: translateY(70px); }
  to   { opacity: 1; transform: translateY(0); }
}

/* Sub row */
.pf-sub-row {
    display: flex;
    align-items: flex-end;
    /* justify-content: space-between; */
    
    opacity: 0;
    animation: fadeUp .7s .7s var(--ease) forwards;
    gap: 230px;
}
.pf-sub {
  font-size: .95rem;
  color: var(--text2);
  line-height: 1.85;
  max-width: 500px;
}
.pf-cta-wrap {
  display: flex;
  align-items: center;
  gap: 18px;
  flex-shrink: 0;
}

/* ════════════════════════════════════
   RIGHT SECTOR BADGES
════════════════════════════════════ */
.pf-badges {
  position: absolute;
  right: 36px;
  top: 50%;
  transform: translateY(-50%);
  display: flex;
  flex-direction: column;
  gap: 10px;
  z-index: 4;
  opacity: 0;
  animation: fadeUp .7s .85s var(--ease) forwards;
}
.pf-badge {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 14px 18px;
  background: var(--bg2);
  border: 1px solid var(--border);
  border-left: 2px solid var(--gold);
  gap: 5px;
  transition: background .3s, border-color .3s;
  cursor: default;
  min-width: 80px;
}
.pf-badge:hover {
  background: var(--bg3);
  border-left-color: var(--gold-light);
}
.pf-badge-num {
  font-family: var(--font-d);
  font-size: 1.7rem;
  font-weight: 900;
  color: var(--gold);
  line-height: 1;
}
.pf-badge-label {
    font-size: 10px;
    font-weight: 700;
    letter-spacing: .14em;
    text-transform: uppercase;
    color: #b9b7b7;
    text-align: center;
    line-height: 1.5;
}

/* ════════════════════════════════════
   BOTTOM TICKER BAR
════════════════════════════════════ */
.pf-ticker {
  position: relative;
  z-index: 3;
  border-top: 1px solid var(--border);
  background: var(--bg2);
  overflow: hidden;
  opacity: 0;
  animation: fadeUp .6s 1.1s var(--ease) forwards;
}
.pf-ticker::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 1px;
  background: linear-gradient(to right, transparent, var(--gold), transparent);
  opacity: .35;
}
.pf-ticker-track {
  display: flex;
  white-space: nowrap;
  animation: pfTicker 22s linear infinite;
}
.pf-ticker-track:hover { animation-play-state: paused; }
.pf-ticker-item {
  display: flex;
  align-items: center;
  gap: 18px;
  padding: 14px 36px;
  flex-shrink: 0;
}
.pf-ticker-item span {
  font-size: .62rem;
  font-weight: 700;
  letter-spacing: .2em;
  text-transform: uppercase;
  color: var(--text3);
  transition: color .3s;
}
.pf-ticker-item:hover span:first-child { color: var(--gold); }
.pf-tick-sep {
  color: var(--gold) !important;
  font-size: .5rem;
  flex-shrink: 0;
}
@keyframes pfTicker {
  0%   { transform: translateX(0); }
  100% { transform: translateX(-50%); }
}

/* ════════════════════════════════════
   PORTFOLIO INTRO SECTION
════════════════════════════════════ */
.pf-intro {
  position: relative;
  overflow: hidden;
  background: var(--bg);
  border-top: 1px solid var(--border);
}

.pf-intro-bg { position: absolute; inset: 0; pointer-events: none; }
.pf-intro-orb {
  position: absolute;
  width: 700px; height: 700px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(55,137,21,.07) 0%, transparent 65%);
  top: -150px; left: -150px;
  filter: blur(100px);
  animation: float1 14s ease-in-out infinite;
}
.pf-intro-grid {
  position: absolute; inset: 0;
  background-image:
    linear-gradient(var(--border2) 1px, transparent 1px),
    linear-gradient(90deg, var(--border2) 1px, transparent 1px);
  background-size: 70px 70px;
  mask-image: radial-gradient(ellipse 60% 80% at 10% 50%, black 10%, transparent 80%);
}

.pf-intro-inner {
  display: grid;
  grid-template-columns: 340px 1fr;
  min-height: 90vh;
  align-items: stretch;
  position: relative;
  z-index: 2;
  width: 100%;
}

/* Left column */
.pf-intro-left {
  display: flex;
  flex-direction: column;
  padding: 80px 0 80px 30px;
  border-right: 1px solid var(--border);
  position: relative;
  gap: 40px;
  background: var(--bg2);
}

.pf-intro-index {
  display: flex;
  align-items: center;
  gap: 12px;
}
.pf-intro-index-num {
  font-family: var(--font-d);
  font-size: 1rem;
  font-weight: 900;
  color: var(--gold);
}
.pf-intro-index-rule {
  width: 32px; height: 1px;
  background: linear-gradient(to right, var(--gold), transparent);
}
.pf-intro-index-label {
  font-size: .58rem;
  font-weight: 700;
  letter-spacing: .22em;
  text-transform: uppercase;
  color: var(--text3);
}

.pf-intro-rotated {
  font-family: var(--font-d);
  font-size: clamp(3.5rem, 6vw, 5.5rem);
  font-weight: 900;
  color: transparent;
  -webkit-text-stroke: 1px rgba(55,137,21,.18);
  writing-mode: vertical-rl;
  text-orientation: mixed;
  transform: rotate(180deg);
  letter-spacing: .08em;
  line-height: 1;
  user-select: none;
  align-self: flex-start;
  margin-left: 10px;
}

.pf-intro-stats {
  display: flex;
  flex-direction: column;
  gap: 0;
}
.pf-intro-stat {
  padding: 20px 0;
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.pf-intro-stat-num {
  font-family: var(--font-d);
  font-size: 2rem;
  font-weight: 900;
  color: var(--gold);
  line-height: 1;
}
.pf-intro-stat-label {
  font-size: .6rem;
  font-weight: 700;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: var(--text3);
}
.pf-intro-stat-rule {
  width: 48px; height: 1px;
  background: var(--border);
}

.pf-intro-bracket {
  position: relative;
  padding: 20px 16px;
  margin-top: auto;
  margin-right: 30px;
}
.pf-intro-bracket-tl,
.pf-intro-bracket-br {
  position: absolute;
  width: 16px; height: 16px;
}
.pf-intro-bracket-tl {
  top: 0; left: 0;
  border-top: 2px solid var(--gold);
  border-left: 2px solid var(--gold);
}
.pf-intro-bracket-br {
  bottom: 0; right: 0;
  border-bottom: 2px solid var(--gold);
  border-right: 2px solid var(--gold);
}
.pf-intro-bracket-inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  padding: 12px 0;
}
.pf-intro-bracket-word {
  font-size: .65rem;
  font-weight: 700;
  letter-spacing: .2em;
  text-transform: uppercase;
  color: var(--text2);
}
.pf-intro-bracket-rule {
  width: 1px; height: 20px;
  background: var(--gold);
}

/* Right column */
.pf-intro-right {
  padding: 80px 56px;
  display: flex;
  flex-direction: column;
  gap: 28px;
  justify-content: center;
}

.pf-intro-title {
  font-family: var(--font-d);
  font-size: clamp(2rem, 3.8vw, 3.4rem);
  font-weight: 900;
  color: var(--text);
  line-height: 1.1;
  letter-spacing: -.02em;
}
.pf-intro-title em {
  font-style: italic;
  color: var(--gold);
  font-family: var(--font-a);
  font-weight: 300;
  font-size: 108%;
}

.pf-intro-rule-wrap {
  display: flex;
  align-items: center;
  gap: 16px;
}
.pf-intro-rule {
  width: 40px; height: 1.5px;
  background: var(--gold);
  flex-shrink: 0;
}
.pf-intro-rule-label {
  font-size: .6rem;
  font-weight: 700;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: var(--text3);
  white-space: nowrap;
}

.pf-intro-lede {
  font-family: var(--font-a);
  font-size: clamp(1rem, 1.8vw, 1.2rem);
  font-style: italic;
  color: var(--text);
  line-height: 1.8;
}
.pf-intro-lede strong {
  font-style: normal;
  color: var(--gold);
  font-weight: 600;
}
.pf-intro-body {
  font-size: .9rem;
  color: var(--text2);
  line-height: 1.95;
}

.pf-intro-pillars {
  display: flex;
  flex-direction: column;
  gap: 1px;
  background: var(--border);
  border: 1px solid var(--border);
  margin-top: 8px;
}
.pf-intro-pillar {
  display: flex;
  align-items: center;
  gap: 20px;
  padding: 20px 24px;
  background: var(--bg3);
  position: relative;
  overflow: hidden;
  transition: background .3s;
}
.pf-intro-pillar::before {
  content: '';
  position: absolute;
  left: 0; top: 0; bottom: 0;
  width: 2px;
  background: var(--gold);
  transform: scaleY(0);
  transform-origin: top;
  transition: transform .35s var(--ease);
}
.pf-intro-pillar:hover { background: var(--bg4); }
.pf-intro-pillar:hover::before { transform: scaleY(1); }
.pf-intro-pillar-icon {
  font-size: 1.3rem;
  width: 44px; height: 44px;
  background: var(--bg4);
  border: 1px solid var(--border);
  display: flex; align-items: center; justify-content: center;
  flex-shrink: 0;
  transition: border-color .3s;
}
.pf-intro-pillar:hover .pf-intro-pillar-icon { border-color: var(--gold); }
.pf-intro-pillar-body {
  display: flex;
  flex-direction: column;
  gap: 3px;
}
.pf-intro-pillar-title {
  font-size: .78rem;
  font-weight: 700;
  color: var(--text);
  letter-spacing: .05em;
}
.pf-intro-pillar-sub {
  font-size: .7rem;
  color: var(--text3);
  line-height: 1.5;
}

.pf-intro-cta {
  display: flex;
  align-items: center;
  gap: 28px;
  padding-top: 8px;
}
.pf-intro-cta-meta {
  display: flex;
  flex-direction: column;
  gap: 3px;
}
.pf-intro-cta-label {
  font-size: .58rem;
  font-weight: 700;
  letter-spacing: .2em;
  text-transform: uppercase;
  color: var(--text3);
}
.pf-intro-cta-name {
  font-family: var(--font-d);
  font-size: .95rem;
  font-weight: 700;
  color: var(--text);
  letter-spacing: .02em;
}

/* ════════════════════════════════════
   SCROLL REVEAL — matches style.css
════════════════════════════════════ */
.reveal-left,
.reveal-right {
  opacity: 0;
  transition: opacity .7s var(--ease), transform .7s var(--ease);
}
.reveal-left  { transform: translateX(-40px); }
.reveal-right { transform: translateX( 40px); }
.reveal-left.visible,
.reveal-right.visible {
  opacity: 1;
  transform: translateX(0);
}

/* ════════════════════════════════════
   RESPONSIVE
════════════════════════════════════ */
@media(max-width: 1100px) {
  .pf-badges { display: none; }
  .pf-sub-row { flex-direction: column; align-items: flex-start; gap: 28px; }
  .pf-sub { max-width: 100%; }
  .pf-intro-inner { grid-template-columns: 260px 1fr; }
  .pf-intro-right { padding: 60px 36px; }
}

@media(max-width: 1024px) {
  .pf-content  { padding: 0 48px; }
  .pf-meta-bar { padding: 0 48px; }
}

@media(max-width: 860px) {
  .pf-intro-inner { grid-template-columns: 1fr; }
  .pf-intro-left {
    flex-direction: row;
    flex-wrap: wrap;
    align-items: center;
    padding: 40px 30px;
    border-right: none;
    border-bottom: 1px solid var(--border);
    gap: 24px;
  }
  .pf-intro-rotated {
    writing-mode: horizontal-tb;
    transform: none;
    font-size: 2rem;
  }
  .pf-intro-stats { flex-direction: row; gap: 24px; flex-wrap: wrap; }
  .pf-intro-stat-rule { display: none; }
  .pf-intro-bracket { display: none; }
  .pf-intro-right { padding: 48px 30px; }
}

@media(max-width: 768px) {
  .pf-meta-bar  { display: none; }
  .pf-side-label { display: none; }
  .pf-content   { padding: 0 30px; margin-bottom: 64px; }
  .pf-hl-1 { font-size: 2.6rem; }
  .pf-hl-2 { font-size: 3rem; }
  .pf-hl-3 { font-size: 2.6rem; }
}

@media(max-width: 560px) {
  .pf-intro-left  { padding: 32px 20px; }
  .pf-intro-right { padding: 40px 20px; gap: 22px; }
  .pf-intro-title { font-size: 1.9rem; }
  .pf-intro-pillars { display: none; }
  .pf-intro-cta { flex-direction: column; align-items: flex-start; gap: 16px; }
}

@media(max-width: 480px) {
  .pf-content { padding: 0 20px; margin-bottom: 48px; }
  .pf-watermark { font-size: 7rem; right: -10px; }
  .pf-hl-1 { font-size: 2rem; }
  .pf-hl-2 { font-size: 2.4rem; }
  .pf-hl-3 { font-size: 2rem; }
  .pf-cta-wrap { flex-direction: column; width: 100%; }
  .pf-cta-wrap .btn { width: 100%; text-align: center; }
  .pf-ticker-item { padding: 12px 22px; }
}









/* ══════════════════════════════════════
   VENTURE PROFILES SECTION
══════════════════════════════════════ */
.vp-section {
  position: relative;
  overflow: hidden;
  background: var(--bg);
  border-top: 1px solid var(--border);
}

.vp-bg { position: absolute; inset: 0; pointer-events: none; }
.vp-bg-grid {
  position: absolute; inset: 0;
  background-image:
    linear-gradient(var(--border2) 1px, transparent 1px),
    linear-gradient(90deg, var(--border2) 1px, transparent 1px);
  background-size: 80px 80px;
  mask-image: radial-gradient(ellipse 80% 80% at 50% 0%, black 10%, transparent 80%);
}
.vp-bg-orb {
  position: absolute;
  width: 900px; height: 900px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(55,137,21,.06) 0%, transparent 65%);
  top: -300px; right: -200px;
  filter: blur(120px);
  animation: float1 16s ease-in-out infinite;
}

/* ── Section Header ── */
.vp-header {
  padding: 80px 30px 56px;
  position: relative;
  z-index: 2;
  width: 100%;
}
.vp-header-top {
  display: flex;
  align-items: center;
  gap: 20px;
  margin-bottom: 24px;
}
.vp-header-index {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-shrink: 0;
}
.vp-header-num {
  font-family: var(--font-d);
  font-size: 1rem;
  font-weight: 900;
  color: var(--gold);
}
.vp-header-rule {
  width: 32px; height: 1px;
  background: linear-gradient(to right, var(--gold), transparent);
}
.vp-header-label {
  font-size: .6rem;
  font-weight: 700;
  letter-spacing: .22em;
  text-transform: uppercase;
  color: var(--text3);
}
.vp-header-line {
  flex: 1; height: 1px;
  background: linear-gradient(to right, var(--border), transparent);
}
.vp-header-title {
  font-family: var(--font-d);
  font-size: clamp(1.8rem, 3.5vw, 3rem);
  font-weight: 900;
  color: var(--text);
  line-height: 1.15;
  letter-spacing: -.02em;
}
.vp-header-title em {
  font-style: italic;
  color: var(--gold);
  font-family: var(--font-a);
  font-weight: 300;
  font-size: 108%;
}

/* ── Card Grid ── */
.vp-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1px;
  background: var(--border);
  position: relative;
  z-index: 2;
  width: 100%;
}

/* ── Card Base ── */
.vp-card {
  background: var(--bg2);
  display: flex;
  flex-direction: column;
  position: relative;
  overflow: hidden;
  transition: background .3s;
}
.vp-card:hover { background: var(--bg3); }

/* Top glow bar on hover */
.vp-card::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 2px;
  background: linear-gradient(to right, var(--gold), rgba(55,137,21,.2));
  transform: scaleX(0);
  transform-origin: left;
  transition: transform .4s var(--ease);
}
.vp-card:hover::before { transform: scaleX(1); }

/* Card top — logo + meta */
.vp-card-top {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  padding: 28px 28px 0;
}
.vp-card-logo-wrap {
    width: 150px;
    height: 150px;
    background: var(--bg4);
    border: 1px solid var(--border);
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    flex-shrink: 0;
    transition: border-color .3s;
}
.vp-card:hover .vp-card-logo-wrap { border-color: var(--gold); }
.vp-card-logo {
  width: 100%; height: 100%;
  object-fit: contain;
  padding: 8px;
}
.vp-card-logo-fallback {
  display: none;
  font-family: var(--font-d);
  font-size: 1.1rem;
  font-weight: 900;
  color: var(--gold);
  align-items: center;
  justify-content: center;
  width: 100%; height: 100%;
}
.vp-card-meta {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 6px;
}
.vp-card-num {
  font-family: var(--font-d);
  font-size: 2rem;
  font-weight: 900;
  color: transparent;
  -webkit-text-stroke: 1px rgba(55,137,21,.2);
  line-height: 1;
  transition: color .3s, -webkit-text-stroke .3s;
}
.vp-card:hover .vp-card-num {
  color: var(--gold);
  -webkit-text-stroke: 0;
}
.vp-card-tag {
  font-size: .55rem;
  font-weight: 700;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: var(--text3);
  background: var(--bg);
  border: 1px solid var(--border);
  padding: 3px 8px;
}

/* Card body */
.vp-card-body {
  padding: 20px 28px;
  display: flex;
  flex-direction: column;
  gap: 12px;
  flex: 1;
}
.vp-card-name {
  font-family: var(--font-d);
  font-size: 1.1rem;
  font-weight: 700;
  color: var(--text);
  line-height: 1.2;
  letter-spacing: -.01em;
}
.vp-card-pillar {
  font-size: .62rem;
  font-weight: 700;
  letter-spacing: .2em;
  text-transform: uppercase;
  color: var(--gold);
  border-left: 2px solid var(--gold);
  padding-left: 10px;
}
.vp-card-desc {
  font-size: .82rem;
  color: var(--text2);
  line-height: 1.8;
}
.vp-card-desc em { color: var(--text3); font-style: italic; }

/* Service tags */
.vp-card-services {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: 4px;
}
.vp-service-tag {
  font-size: .55rem;
  font-weight: 600;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--text3);
  background: var(--bg);
  border: 1px solid var(--border);
  padding: 4px 10px;
  transition: color .3s, border-color .3s;
}
.vp-card:hover .vp-service-tag { color: var(--text2); border-color: rgba(55,137,21,.2); }
.vp-service-tag--featured {
  color: var(--gold) !important;
  border-color: rgba(55,137,21,.3) !important;
  background: rgba(55,137,21,.05) !important;
}

/* Card footer — perspective */
.vp-card-footer {
  padding: 16px 28px 28px;
  position: relative;
}
.vp-card-perspective {
  padding: 16px 20px;
  background: var(--bg);
  border: 1px solid var(--border);
  border-left: 2px solid rgba(55,137,21,.3);
  display: flex;
  flex-direction: column;
  gap: 6px;
  transition: border-left-color .3s;
}
.vp-card:hover .vp-card-perspective { border-left-color: var(--gold); }
.vp-perspective-label {
  font-size: .55rem;
  font-weight: 700;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: var(--gold);
}
.vp-card-perspective p {
  font-size: .78rem;
  color: var(--text2);
  line-height: 1.6;
  font-style: italic;
}
.vp-card-accent {
  position: absolute;
  bottom: 0; left: 0; right: 0;
  height: 0;
}

/* ── Wide card (07 — full width) ── */
.vp-card--wide {
  grid-column: 1 / -1;
  flex-direction: column;
}
.vp-card--wide .vp-card-top {
  padding: 32px 36px 0;
}
.vp-card-wide-inner {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 40px;
  padding: 0 36px 36px;
  align-items: start;
}
.vp-card--wide .vp-card-body {
  padding: 20px 0 0;
}
.vp-card-wide-aside {
  display: flex;
  flex-direction: column;
  gap: 20px;
  padding-top: 20px;
}
.vp-wide-concept {
  display: flex;
  align-items: center;
  background: var(--bg);
  border: 1px solid var(--border);
  overflow: hidden;
}
.vp-wide-concept-item {
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  padding: 20px 16px;
  font-size: .65rem;
  font-weight: 600;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--text3);
  text-align: center;
  line-height: 1.4;
  transition: background .3s;
}
.vp-wide-concept-item:hover { background: var(--bg3); color: var(--text2); }
.vp-wide-concept-icon { font-size: 1.4rem; }
.vp-wide-concept-div {
  width: 1px; height: 48px;
  background: var(--border);
  flex-shrink: 0;
}

/* ── RESPONSIVE ── */
@media(max-width: 1100px) {
  .vp-grid { grid-template-columns: repeat(2, 1fr); }
  .vp-card--wide { grid-column: 1 / -1; }
}

@media(max-width: 860px) {
  .vp-card-wide-inner { grid-template-columns: 1fr; gap: 0; }
  .vp-card-wide-aside { padding: 0 0 20px; }
}

@media(max-width: 640px) {
  .vp-grid { grid-template-columns: 1fr; }
  .vp-card--wide { grid-column: 1; }
  .vp-header { padding: 60px 20px 40px; }
  .vp-card-top { padding: 24px 20px 0; }
  .vp-card-body { padding: 16px 20px; }
  .vp-card-footer { padding: 12px 20px 24px; }
  .vp-card--wide .vp-card-top { padding: 24px 20px 0; }
  .vp-card-wide-inner { padding: 0 20px 24px; }
  .vp-wide-concept { flex-direction: column; }
  .vp-wide-concept-div { width: 40px; height: 1px; }
}





/* ══════════════════════════════════════
   PORTFOLIO FINAL CTA
══════════════════════════════════════ */
.pf-cta-final {
  position: relative;
  overflow: hidden;
  background: var(--bg2);
  border-top: 1px solid var(--border);
}

/* Background */
.pf-cta-bg { position: absolute; inset: 0; pointer-events: none; }
.pf-cta-grid {
  position: absolute; inset: 0;
  background-image:
    linear-gradient(var(--border2) 1px, transparent 1px),
    linear-gradient(90deg, var(--border2) 1px, transparent 1px);
  background-size: 70px 70px;
  mask-image: radial-gradient(ellipse 100% 100% at 50% 50%, black 10%, transparent 80%);
}
.pf-cta-orb {
  position: absolute;
  border-radius: 50%;
  filter: blur(100px);
}
.pf-cta-orb-1 {
  width: 700px; height: 700px;
  background: radial-gradient(circle, rgba(55,137,21,.1) 0%, transparent 65%);
  top: -200px; left: -100px;
  animation: float1 12s ease-in-out infinite;
}
.pf-cta-orb-2 {
  width: 400px; height: 400px;
  background: radial-gradient(circle, rgba(55,137,21,.06) 0%, transparent 65%);
  bottom: 0; right: 10%;
  animation: float2 9s ease-in-out infinite;
}
.pf-cta-diagonal {
  position: absolute;
  top: 0; right: 0;
  width: 55%; height: 100%;
  background: linear-gradient(135deg, transparent 50%, rgba(55,137,21,.03) 100%);
  clip-path: polygon(30% 0, 100% 0, 100% 100%, 0 100%);
}

/* Watermark */
.pf-cta-watermark {
  position: absolute;
  font-family: var(--font-d);
  font-size: clamp(8rem, 18vw, 16rem);
  font-weight: 900;
  color: transparent;
  -webkit-text-stroke: 1px rgba(55,137,21,.04);
  bottom: 40px; right: -20px;
  line-height: 1;
  pointer-events: none;
  user-select: none;
  letter-spacing: -.02em;
  z-index: 0;
}

/* Inner layout */
.pf-cta-inner {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 80px;
  align-items: center;
  padding: 100px 30px;
  position: relative;
  z-index: 2;
  width: 100%;
}

/* ── Left ── */
.pf-cta-left {
  display: flex;
  flex-direction: column;
  gap: 32px;
}

.pf-cta-eyebrow {
  display: flex;
  align-items: center;
  gap: 12px;
}
.pf-cta-eyebrow-dot {
  width: 7px; height: 7px;
  border-radius: 50%;
  background: var(--gold);
  box-shadow: 0 0 14px rgba(55,137,21,.6);
  flex-shrink: 0;
}
.pf-cta-eyebrow span {
  font-size: .65rem;
  font-weight: 700;
  letter-spacing: .24em;
  text-transform: uppercase;
  color: var(--gold);
}
.pf-cta-eyebrow-line {
  flex: 1; height: 1px;
  background: linear-gradient(to right, rgba(55,137,21,.4), transparent);
  max-width: 120px;
}

.pf-cta-title {
  font-family: var(--font-d);
  font-size: clamp(2.2rem, 4vw, 3.8rem);
  font-weight: 900;
  color: var(--text);
  line-height: 1.08;
  letter-spacing: -.025em;
}
.pf-cta-title em {
  font-style: italic;
  color: var(--gold);
  font-family: var(--font-a);
  font-weight: 300;
  font-size: 108%;
}

.pf-cta-sub {
  font-size: .92rem;
  color: var(--text2);
  line-height: 1.9;
  max-width: 480px;
}

/* Trust strip */
.pf-cta-trust {
  display: flex;
  align-items: center;
  gap: 0;
  background: var(--bg3);
  border: 1px solid var(--border);
  overflow: hidden;
}
.pf-cta-trust-item {
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 20px 16px;
  gap: 4px;
  transition: background .3s;
}
.pf-cta-trust-item:hover { background: var(--bg4); }
.pf-cta-trust-num {
  font-family: var(--font-d);
  font-size: 1.6rem;
  font-weight: 900;
  color: var(--gold);
  line-height: 1;
}
.pf-cta-trust-label {
  font-size: .58rem;
  font-weight: 700;
  letter-spacing: .15em;
  text-transform: uppercase;
  color: var(--text3);
  text-align: center;
}
.pf-cta-trust-div {
  width: 1px; height: 40px;
  background: var(--border);
  flex-shrink: 0;
}

/* ── Right — CTA Card ── */
.pf-cta-right {
  display: flex;
  flex-direction: column;
}

.pf-cta-card {
  background: var(--bg);
  border: 1px solid var(--border);
  position: relative;
  overflow: hidden;
}

/* Green top bar */
.pf-cta-card::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 2px;
  background: linear-gradient(to right, var(--gold), rgba(55,137,21,.3), transparent);
}

/* Card top */
.pf-cta-card-top {
  padding: 24px 28px 0;
  display: flex;
  align-items: center;
}
.pf-cta-card-badge {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: .6rem;
  font-weight: 700;
  letter-spacing: .22em;
  text-transform: uppercase;
  color: var(--gold);
}
.pf-cta-card-badge-icon { font-size: .7rem; }

/* Corner accents */
.pf-cta-card-corner {
  position: absolute;
  width: 14px; height: 14px;
}
.pf-cta-card-corner-tl {
  top: 8px; right: 28px;
  border-top: 1.5px solid rgba(55,137,21,.3);
  border-left: 1.5px solid rgba(55,137,21,.3);
}
.pf-cta-card-corner-tr {
  top: 8px; right: 8px;
  border-top: 1.5px solid rgba(55,137,21,.3);
  border-right: 1.5px solid rgba(55,137,21,.3);
}
.pf-cta-card-corner-bl {
  bottom: 8px; left: 8px;
  border-bottom: 1.5px solid rgba(55,137,21,.3);
  border-left: 1.5px solid rgba(55,137,21,.3);
}
.pf-cta-card-corner-br {
  bottom: 8px; right: 8px;
  border-bottom: 1.5px solid rgba(55,137,21,.3);
  border-right: 1.5px solid rgba(55,137,21,.3);
}

/* Card body */
.pf-cta-card-body {
  padding: 20px 28px 28px;
  display: flex;
  flex-direction: column;
  gap: 20px;
}
.pf-cta-card-title {
  font-family: var(--font-d);
  font-size: clamp(1.4rem, 2.2vw, 1.9rem);
  font-weight: 900;
  color: var(--text);
  line-height: 1.15;
  letter-spacing: -.02em;
}
.pf-cta-card-desc {
  font-size: .85rem;
  color: var(--text2);
  line-height: 1.85;
}

/* Expect list */
.pf-cta-expects {
  display: flex;
  flex-direction: column;
  gap: 10px;
  padding: 16px 20px;
  background: var(--bg2);
  border: 1px solid var(--border);
}
.pf-cta-expect-item {
  display: flex;
  align-items: center;
  gap: 12px;
  font-size: .78rem;
  color: var(--text2);
  line-height: 1.5;
}
.pf-cta-expect-dot {
  width: 6px; height: 6px;
  border-radius: 50%;
  background: var(--gold);
  flex-shrink: 0;
  box-shadow: 0 0 8px rgba(55,137,21,.5);
}

/* CTA Button — large */
.pf-cta-btn {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 18px 24px;
  background: var(--gold);
  color: #fff;
  text-decoration: none;
  font-size: .75rem;
  font-weight: 700;
  letter-spacing: .18em;
  text-transform: uppercase;
  position: relative;
  overflow: hidden;
  transition: background .3s;
}
.pf-cta-btn::before {
  content: '';
  position: absolute;
  inset: 0;
  background: var(--gold-light);
  transform: translateX(-100%);
  transition: transform .4s var(--ease);
}
.pf-cta-btn:hover::before { transform: translateX(0); }
.pf-cta-btn-text { position: relative; z-index: 1; }
.pf-cta-btn-arrow {
  position: relative; z-index: 1;
  font-size: 1.1rem;
  transition: transform .3s;
}
.pf-cta-btn:hover .pf-cta-btn-arrow { transform: translateX(6px); }

.pf-cta-card-note {
  font-size: .68rem;
  color: var(--text3);
  text-align: center;
  letter-spacing: .06em;
}
.pf-cta-card-note a {
  color: var(--gold);
  text-decoration: none;
}
.pf-cta-card-note a:hover { text-decoration: underline; }

/* ── Bottom Banner ── */
.pf-cta-banner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 32px;
  padding: 28px 30px;
  background: var(--bg);
  border-top: 1px solid var(--border);
  position: relative;
  z-index: 2;
}
.pf-cta-banner::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 1px;
  background: linear-gradient(to right, transparent, var(--gold), transparent);
  opacity: .3;
}
.pf-cta-banner-left {
  display: flex;
  align-items: center;
  gap: 20px;
}
.pf-cta-banner-label {
  font-family: var(--font-d);
  font-size: .9rem;
  font-weight: 700;
  color: var(--gold);
  letter-spacing: .04em;
}
.pf-cta-banner-tagline {
  font-family: var(--font-a);
  font-size: .85rem;
  font-style: italic;
  color: var(--text3);
  border-left: 1px solid var(--border);
  padding-left: 20px;
}
.pf-cta-banner-links {
  display: flex;
  align-items: center;
  gap: 14px;
}
.pf-cta-banner-link {
  font-size: .62rem;
  font-weight: 700;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: var(--text3);
  text-decoration: none;
  transition: color .3s;
}
.pf-cta-banner-link:hover { color: var(--gold); }
.pf-cta-banner-sep { color: var(--border); font-size: .6rem; }

/* ── RESPONSIVE ── */
@media(max-width: 1024px) {
  .pf-cta-inner { grid-template-columns: 1fr; gap: 48px; padding: 80px 30px; }
  .pf-cta-sub { max-width: 100%; }
}
@media(max-width: 768px) {
  .pf-cta-inner { padding: 60px 20px; }
  .pf-cta-banner { flex-direction: column; align-items: flex-start; gap: 16px; padding: 24px 20px; }
  .pf-cta-banner-left { flex-direction: column; align-items: flex-start; gap: 8px; }
  .pf-cta-banner-tagline { border-left: none; padding-left: 0; }
}
@media(max-width: 480px) {
  .pf-cta-title { font-size: 2rem; }
  .pf-cta-card-body { padding: 16px 20px 20px; }
  .pf-cta-card-top { padding: 20px 20px 0; }
  .pf-cta-trust { flex-direction: column; }
  .pf-cta-trust-div { width: 40px; height: 1px; }
  .pf-cta-trust-item { width: 100%; }
  .pf-cta-btn { font-size: .68rem; padding: 16px 20px; }
}





/* contact page csss */

/* ══════════════════════════════════════
   CONTACT HERO BANNER
══════════════════════════════════════ */
.ct-hero {
  min-height: 100vh;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  position: relative;
  overflow: hidden;
  padding-top: 80px;
  background: var(--bg);
}

/* Background */
.ct-bg { position: absolute; inset: 0; pointer-events: none; }
.ct-bg-grid {
  position: absolute; inset: 0;
  background-image:
    linear-gradient(var(--border2) 1px, transparent 1px),
    linear-gradient(90deg, var(--border2) 1px, transparent 1px);
  background-size: 80px 80px;
  animation: ctGridMove 24s linear infinite;
  mask-image: radial-gradient(ellipse 100% 100% at 50% 50%, black 10%, transparent 100%);
}
@keyframes ctGridMove {
  0%   { background-position: 0 0; }
  100% { background-position: 80px 80px; }
}
.ct-bg-orb {
  position: absolute;
  border-radius: 50%;
  filter: blur(90px);
  pointer-events: none;
}
.ct-bg-orb-1 {
  width: 700px; height: 700px;
  background: radial-gradient(circle, rgba(55,137,21,.1) 0%, transparent 65%);
  top: -180px; left: -100px;
  animation: float1 11s ease-in-out infinite;
}
.ct-bg-orb-2 {
  width: 500px; height: 500px;
  background: radial-gradient(circle, rgba(55,137,21,.06) 0%, transparent 65%);
  bottom: 60px; right: -80px;
  animation: float2 14s ease-in-out infinite;
}
.ct-bg-orb-3 {
  width: 300px; height: 300px;
  background: radial-gradient(circle, rgba(55,137,21,.04) 0%, transparent 65%);
  top: 35%; right: 35%;
  animation: float1 19s ease-in-out infinite reverse;
}
.ct-bg-line {
  position: absolute;
  width: 1px;
  background: linear-gradient(to bottom, transparent, rgba(55,137,21,.15), transparent);
  pointer-events: none;
}
.ct-bg-line-1 { height: 60%; top: 20%; left: 18%; transform: rotate(8deg); }
.ct-bg-line-2 { height: 45%; top: 30%; right: 25%; transform: rotate(-6deg); }
.ct-bg-line-3 { height: 35%; top: 40%; right: 12%; transform: rotate(13deg); }

/* Watermark */
.ct-watermark {
  position: absolute;
  font-family: var(--font-d);
  font-size: clamp(8rem, 20vw, 18rem);
  font-weight: 900;
  color: transparent;
  -webkit-text-stroke: 1px rgba(55,137,21,.05);
  bottom: 60px; right: -20px;
  line-height: 1;
  pointer-events: none;
  user-select: none;
  letter-spacing: -.03em;
  z-index: 0;
}

/* Side label */
.ct-side-label {
  position: absolute;
  left: 28px; top: 50%;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
  z-index: 3;
  writing-mode: vertical-rl;
  text-orientation: mixed;
  transform: translateY(-50%) rotate(180deg);
}
.ct-side-num {
  font-family: var(--font-d);
  font-size: .85rem;
  font-weight: 900;
  color: var(--gold);
}
.ct-side-rule {
  width: 1px; height: 44px;
  background: linear-gradient(to bottom, var(--gold), transparent);
}
.ct-side-text {
  font-size: .58rem;
  font-weight: 700;
  letter-spacing: .22em;
  text-transform: uppercase;
  color: var(--text3);
}

/* Meta bar */
.ct-meta-bar {
  position: absolute;
  top: 96px; left: 0; right: 0;
  padding: 0 72px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  z-index: 3;
  opacity: 0;
  animation: fadeUp .6s .15s var(--ease) forwards;
}
.ct-meta-left {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: .65rem;
  font-weight: 600;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: var(--text3);
}
.ct-meta-dot {
  width: 6px; height: 6px;
  border-radius: 50%;
  background: var(--gold);
  box-shadow: 0 0 10px rgba(55,137,21,.6);
}
.ct-meta-sep { color: var(--gold); }
.ct-meta-right {
  display: flex;
  align-items: center;
  gap: 20px;
}
.ct-meta-stat {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 2px;
}
.ct-meta-stat strong {
  font-family: var(--font-d);
  font-size: 1.1rem;
  font-weight: 900;
  color: var(--gold);
  line-height: 1;
}
.ct-meta-stat span {
  font-size: .55rem;
  font-weight: 600;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: var(--text3);
}
.ct-meta-div {
  width: 1px; height: 28px;
  background: var(--border);
}

/* Main content */
.ct-content {
  position: relative;
  z-index: 3;
  padding: 0 72px;
  margin-bottom: 88px;
  display: flex;
  flex-direction: column;
  gap: 0;
}

/* Eyebrow */
.ct-eyebrow {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 26px;
  opacity: 0;
  animation: fadeUp .7s .25s var(--ease) forwards;
}
.ct-eyebrow-dot {
  width: 7px; height: 7px;
  border-radius: 50%;
  background: var(--gold);
  box-shadow: 0 0 14px rgba(55,137,21,.65);
  flex-shrink: 0;
}
.ct-eyebrow span {
  font-size: .68rem;
  font-weight: 700;
  letter-spacing: .26em;
  text-transform: uppercase;
  color: var(--gold);
}
.ct-eyebrow-line {
  flex: 1; height: 1px;
  background: linear-gradient(to right, rgba(55,137,21,.4), transparent);
  max-width: 160px;
}

/* Headline rows */
.ct-headline {
  display: flex;
  flex-direction: column;
  margin-bottom: 44px;
}
.ct-hl-row { overflow: hidden; line-height: 1.0; }
.ct-hl {
  display: block;
  font-family: var(--font-d);
  font-weight: 900;
  letter-spacing: -.03em;
  color: var(--text);
  opacity: 0;
  animation: pfSlideUp .85s var(--ease) forwards;
}
.ct-hl-1 {
  font-size: clamp(3rem, 7.2vw, 7.5rem);
  animation-delay: .1s;
}
.ct-hl-2 {
  font-size: clamp(3.5rem, 9vw, 9rem);
  animation-delay: .28s;
}
.ct-hl-outline {
  color: transparent !important;
  -webkit-text-stroke: 1.5px var(--gold);
}
.ct-hl-3 {
  font-size: clamp(3rem, 7.2vw, 7.5rem);
  animation-delay: .46s;
}
.ct-hl-italic {
  font-family: var(--font-a) !important;
  font-style: italic !important;
  font-weight: 300 !important;
  color: var(--text) !important;
  -webkit-text-stroke: 0 !important;
  letter-spacing: -.01em !important;
}

/* Sub row */
.ct-sub-row {
    /*display: flex;*/
    align-items: flex-end;
    /* justify-content: space-between; */
    gap: 79px;
    opacity: 0;
    animation: fadeUp .7s .7s var(--ease) forwards;
}
.ct-sub {
  font-size: .95rem;
  color: var(--text2);
  line-height: 1.85;
  max-width: 520px;
}
.ct-sub strong { color: var(--text); font-weight: 600; }
.ct-cta-wrap {
  display: flex;
  align-items: center;
  gap: 18px;
  flex-shrink: 0;
  padding-top: 30px;
}

/* Floating info card */
.ct-info-card {
  position: absolute;
  right: 125px;
  top: 50%;
  transform: translateY(-50%);
  width: 300px;
  background: var(--bg2);
  border: 1px solid var(--border);
  border-top: 2px solid var(--gold);
  z-index: 4;
  opacity: 0;
  animation: fadeUp .7s .9s var(--ease) forwards;
  padding: 20px;
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.ct-info-card-label {
  font-size: 18px;
  font-weight: 700;
  letter-spacing: .22em;
  text-transform: uppercase;
  color: var(--gold);
}
.ct-info-card-items {
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.ct-info-item {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 15px;
  color: var(--text2);
  line-height: 1.4;
}
.ct-info-dot {
  width: 5px; height: 5px;
  border-radius: 50%;
  background: var(--gold);
  flex-shrink: 0;
  box-shadow: 0 0 8px rgba(55,137,21,.5);
}
.ct-info-card-sig {
  display: flex;
  flex-direction: column;
  gap: 6px;
  padding-top: 4px;
}
.ct-info-sig-rule {
  width: 28px; height: 1px;
  background: var(--gold);
}
.ct-info-card-sig span {
  font-family: var(--font-d);
  font-size: .78rem;
  font-weight: 700;
  color: var(--text);
}
.ct-info-sig-title {
  font-family: var(--font-b) !important;
  font-size: .58rem !important;
  font-weight: 600 !important;
  color: var(--text3) !important;
  letter-spacing: .1em;
}

/* Bottom ticker */
.ct-ticker {
  position: relative;
  z-index: 3;
  border-top: 1px solid var(--border);
  background: var(--bg2);
  overflow: hidden;
  opacity: 0;
  animation: fadeUp .6s 1.1s var(--ease) forwards;
}
.ct-ticker::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 1px;
  background: linear-gradient(to right, transparent, var(--gold), transparent);
  opacity: .35;
}
.ct-ticker-track {
  display: flex;
  white-space: nowrap;
  animation: pfTicker 22s linear infinite;
}
.ct-ticker-track:hover { animation-play-state: paused; }
.ct-ticker-item {
  display: flex;
  align-items: center;
  gap: 18px;
  padding: 14px 36px;
  flex-shrink: 0;
}
.ct-ticker-item span {
  font-size: .62rem;
  font-weight: 700;
  letter-spacing: .2em;
  text-transform: uppercase;
  color: var(--text3);
  transition: color .3s;
}
.ct-ticker-item:hover span:first-child { color: var(--gold); }
.ct-tick-sep {
  color: var(--gold) !important;
  font-size: .5rem;
}

/* ── RESPONSIVE ── */
@media(max-width: 1100px) {
  .ct-info-card { display: none; }
  .ct-sub-row { flex-direction: column; align-items: flex-start; gap: 28px; }
  .ct-sub { max-width: 100%; }
}
@media(max-width: 1024px) {
  .ct-content  { padding: 0 48px; }
  .ct-meta-bar { padding: 0 48px; }
}
@media(max-width: 768px) {
  .ct-meta-bar   { display: none; }
  .ct-side-label { display: none; }
  .ct-content    { padding: 0 30px; margin-bottom: 64px; }
  .ct-hl-1 { font-size: 2.6rem; }
  .ct-hl-2 { font-size: 3rem; }
  .ct-hl-3 { font-size: 2.6rem; }
}
@media(max-width: 480px) {
  .ct-content { padding: 0 20px; margin-bottom: 48px; }
  .ct-watermark { font-size: 6rem; }
  .ct-hl-1 { font-size: 2rem; }
  .ct-hl-2 { font-size: 2.4rem; }
  .ct-hl-3 { font-size: 2rem; }
  .ct-cta-wrap { flex-direction: column; width: 100%; }
  .ct-cta-wrap .btn { width: 100%; text-align: center; }
  .ct-ticker-item { padding: 12px 22px; }
}



/* ══════════════════════════════════════
   CONSULTATION VALUE SECTION
══════════════════════════════════════ */
.cv-section {
  position: relative;
  overflow: hidden;
  background: var(--bg2);
  border-top: 1px solid var(--border);
}

/* Background */
.cv-bg { position: absolute; inset: 0; pointer-events: none; }
.cv-bg-grid {
  position: absolute; inset: 0;
  background-image:
    linear-gradient(var(--border2) 1px, transparent 1px),
    linear-gradient(90deg, var(--border2) 1px, transparent 1px);
  background-size: 70px 70px;
  mask-image: radial-gradient(ellipse 70% 80% at 0% 50%, black 10%, transparent 80%);
}
.cv-bg-orb {
  position: absolute;
  border-radius: 50%;
  filter: blur(100px);
  pointer-events: none;
}
.cv-bg-orb-1 {
  width: 650px; height: 650px;
  background: radial-gradient(circle, rgba(55,137,21,.08) 0%, transparent 65%);
  top: -150px; right: -100px;
  animation: float1 13s ease-in-out infinite;
}
.cv-bg-orb-2 {
  width: 400px; height: 400px;
  background: radial-gradient(circle, rgba(55,137,21,.05) 0%, transparent 65%);
  bottom: -80px; left: 20%;
  animation: float2 10s ease-in-out infinite;
}
.cv-bg-diagonal {
  position: absolute;
  top: 0; right: 0;
  width: 50%; height: 100%;
  background: linear-gradient(135deg, transparent 60%, rgba(55,137,21,.03) 100%);
  clip-path: polygon(25% 0, 100% 0, 100% 100%, 0 100%);
}

/* Watermark */
.cv-watermark {
  position: absolute;
  font-family: var(--font-d);
  font-size: clamp(8rem, 18vw, 16rem);
  font-weight: 900;
  color: transparent;
  -webkit-text-stroke: 1px rgba(55,137,21,.04);
  top: 50%; left: -20px;
  transform: translateY(-50%);
  line-height: 1;
  pointer-events: none;
  user-select: none;
  letter-spacing: -.02em;
  z-index: 0;
  writing-mode: vertical-rl;
  text-orientation: mixed;
}

/* Inner layout */
.cv-inner {
  display: grid;
  grid-template-columns: 380px 1fr;
  min-height: 90vh;
  align-items: stretch;
  position: relative;
  z-index: 2;
  width: 100%;
}

/* ══════════════════════════════════════
   LEFT PANEL
══════════════════════════════════════ */
.cv-left {
  background: var(--bg);
  border-right: 1px solid var(--border);
  display: flex;
  flex-direction: column;
  padding: 72px 32px 72px 30px;
  gap: 36px;
  position: relative;
  overflow: hidden;
}

.cv-left-index {
  display: flex;
  align-items: center;
  gap: 12px;
}
.cv-index-num {
  font-family: var(--font-d);
  font-size: 1rem;
  font-weight: 900;
  color: var(--gold);
}
.cv-index-rule {
  width: 32px; height: 1px;
  background: linear-gradient(to right, var(--gold), transparent);
}
.cv-index-label {
  font-size: .56rem;
  font-weight: 700;
  letter-spacing: .2em;
  text-transform: uppercase;
  color: var(--text3);
}

/* Rotated word */
.cv-rotated {
  font-family: var(--font-d);
  font-size: clamp(3rem, 5vw, 5rem);
  font-weight: 900;
  color: transparent;
  -webkit-text-stroke: 1px rgba(55,137,21,.15);
  writing-mode: vertical-rl;
  transform: rotate(180deg);
  letter-spacing: .1em;
  line-height: 1;
  user-select: none;
  align-self: flex-start;
  margin-left: 8px;
}

/* Central stat feature */
.cv-stat-feature {
  position: relative;
  padding: 28px 20px;
  align-self: center;
  width: 100%;
}
.cv-stat-feature-corner {
  position: absolute;
  width: 16px; height: 16px;
}
.cv-sf-tl { top: 0; left: 0; border-top: 2px solid var(--gold); border-left: 2px solid var(--gold); }
.cv-sf-tr { top: 0; right: 0; border-top: 2px solid var(--gold); border-right: 2px solid var(--gold); }
.cv-sf-bl { bottom: 0; left: 0; border-bottom: 2px solid var(--gold); border-left: 2px solid var(--gold); }
.cv-sf-br { bottom: 0; right: 0; border-bottom: 2px solid var(--gold); border-right: 2px solid var(--gold); }
.cv-stat-feature-inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
  padding: 16px 0;
}
.cv-sf-word {
  font-family: var(--font-d);
  font-size: 3.5rem;
  font-weight: 900;
  color: var(--gold);
  line-height: 1;
  letter-spacing: -.02em;
}
.cv-sf-rule {
  width: 32px; height: 1px;
  background: linear-gradient(to right, transparent, var(--gold), transparent);
}
.cv-sf-label {
  font-size: .62rem;
  font-weight: 700;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: var(--text3);
  text-align: center;
  line-height: 1.6;
}

/* Value stack */
.cv-value-stack {
  display: flex;
  flex-direction: column;
  gap: 0;
  margin-top: auto;
}
.cv-value-item {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 14px 0;
  transition: opacity .3s;
}
.cv-value-item:hover { opacity: .8; }
.cv-value-dot {
  width: 8px; height: 8px;
  border-radius: 50%;
  background: var(--bg4);
  border: 1.5px solid var(--border);
  flex-shrink: 0;
  transition: background .3s, border-color .3s;
}
.cv-value-item:hover .cv-value-dot {
  background: var(--gold);
  border-color: var(--gold);
  box-shadow: 0 0 10px rgba(55,137,21,.4);
}
.cv-value-body {
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.cv-value-title {
  font-size: .75rem;
  font-weight: 700;
  color: var(--text);
  letter-spacing: .04em;
}
.cv-value-sub {
  font-size: .62rem;
  color: var(--text3);
  line-height: 1.4;
}
.cv-value-div {
  width: 100%; height: 1px;
  background: var(--border);
}

/* ══════════════════════════════════════
   RIGHT PANEL
══════════════════════════════════════ */
.cv-right {
  padding: 72px 56px;
  display: flex;
  flex-direction: column;
  gap: 28px;
  justify-content: center;
}

.cv-eyebrow {
  display: flex;
  align-items: center;
  gap: 12px;
}
.cv-eyebrow-dot {
  width: 6px; height: 6px;
  border-radius: 50%;
  background: var(--gold);
  box-shadow: 0 0 12px rgba(55,137,21,.5);
  flex-shrink: 0;
}
.cv-eyebrow span {
  font-size: .62rem;
  font-weight: 700;
  letter-spacing: .24em;
  text-transform: uppercase;
  color: var(--gold);
}
.cv-eyebrow-line {
  flex: 1; height: 1px;
  background: linear-gradient(to right, rgba(55,137,21,.35), transparent);
  max-width: 80px;
}

.cv-title {
  font-family: var(--font-d);
  font-size: clamp(2rem, 3.8vw, 3.4rem);
  font-weight: 900;
  color: var(--text);
  line-height: 1.1;
  letter-spacing: -.025em;
}
.cv-title em {
  font-style: italic;
  color: var(--gold);
  font-family: var(--font-a);
  font-weight: 300;
  font-size: 108%;
}

.cv-rule-wrap {
  display: flex;
  align-items: center;
  gap: 14px;
}
.cv-rule {
  width: 36px; height: 1.5px;
  background: var(--gold);
  flex-shrink: 0;
}
.cv-rule-label {
  font-size: .58rem;
  font-weight: 700;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: var(--text3);
  white-space: nowrap;
}

.cv-lede {
  font-family: var(--font-a);
  font-size: clamp(1rem, 1.8vw, 1.18rem);
  font-style: italic;
  color: var(--text);
  line-height: 1.8;
}
.cv-lede strong {
  font-style: normal;
  color: var(--gold);
  font-weight: 600;
}
.cv-body {
  font-size: .9rem;
  color: var(--text2);
  line-height: 1.95;
}
.cv-body strong { color: var(--text); font-weight: 600; }

/* Who is it for grid */
.cv-for-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1px;
  background: var(--border);
  border: 1px solid var(--border);
}
.cv-for-card {
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 20px 20px;
  background: var(--bg3);
  position: relative;
  overflow: hidden;
  transition: background .3s;
}
.cv-for-card::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 1.5px;
  background: var(--gold);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform .35s var(--ease);
}
.cv-for-card:hover { background: var(--bg4); }
.cv-for-card:hover::before { transform: scaleX(1); }
.cv-for-icon {
  font-size: 1.5rem;
  width: 46px; height: 46px;
  background: var(--bg4);
  border: 1px solid var(--border);
  display: flex; align-items: center; justify-content: center;
  flex-shrink: 0;
  transition: border-color .3s;
}
.cv-for-card:hover .cv-for-icon { border-color: var(--gold); }
.cv-for-body {
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.cv-for-title {
  font-size: .76rem;
  font-weight: 700;
  color: var(--text);
  letter-spacing: .04em;
}
.cv-for-sub {
  font-size: .67rem;
  color: var(--text3);
  line-height: 1.45;
}

/* Blockquote */
.cv-quote {
  display: flex;
  align-items: stretch;
  gap: 0;
  position: relative;
  overflow: hidden;
  background: var(--bg);
  border: 1px solid var(--border);
}
.cv-quote-bar {
  width: 3px;
  background: linear-gradient(to bottom, var(--gold), rgba(55,137,21,.2));
  flex-shrink: 0;
}
.cv-quote-content {
  padding: 20px 24px;
  display: flex;
  flex-direction: column;
  gap: 8px;
  position: relative;
  z-index: 1;
}
.cv-quote-content p {
  font-family: var(--font-a);
  font-size: 1.05rem;
  font-style: italic;
  color: var(--text);
  line-height: 1.65;
}
.cv-quote-content span {
  font-size: .6rem;
  font-weight: 700;
  letter-spacing: .2em;
  text-transform: uppercase;
  color: var(--gold);
}
.cv-quote-bg {
  position: absolute;
  right: 16px; bottom: -24px;
  font-family: var(--font-a);
  font-size: 7rem;
  color: rgba(55,137,21,.05);
  line-height: 1;
  pointer-events: none;
  user-select: none;
}

/* CTA */
.cv-cta {
  display: flex;
  align-items: center;
  gap: 24px;
  padding-top: 4px;
}
.cv-cta-note {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: .62rem;
  font-weight: 600;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: var(--text3);
}
.cv-cta-note-icon { color: var(--gold); font-size: .5rem; }

/* ══════════════════════════════════════
   RESPONSIVE
══════════════════════════════════════ */
@media(max-width: 1100px) {
  .cv-inner { grid-template-columns: 300px 1fr; }
  .cv-right { padding: 60px 36px; }
}
@media(max-width: 860px) {
  .cv-inner { grid-template-columns: 1fr; }
  .cv-left {
    flex-direction: row;
    flex-wrap: wrap;
    align-items: center;
    padding: 40px 30px;
    border-right: none;
    border-bottom: 1px solid var(--border);
    gap: 24px;
    min-height: unset;
  }
  .cv-rotated {
    writing-mode: horizontal-tb;
    transform: none;
    font-size: 2rem;
  }
  .cv-value-stack { display: none; }
  .cv-stat-feature { width: auto; flex-shrink: 0; }
  .cv-right { padding: 48px 30px; }
  .cv-watermark { display: none; }
}
@media(max-width: 640px) {
  .cv-for-grid { grid-template-columns: 1fr; }
  .cv-right { padding: 40px 20px; gap: 22px; }
  .cv-title { font-size: 1.9rem; }
  .cv-cta { flex-direction: column; align-items: flex-start; gap: 14px; }
}
@media(max-width: 480px) {
  .cv-left { padding: 32px 20px; }
  .cv-quote-content p { font-size: .95rem; }
}



/* ══════════════════════════════════════
   SESSION DETAILS & INVESTMENT
══════════════════════════════════════ */
.sd-section {
  position: relative;
  overflow: hidden;
  background: var(--bg);
  border-top: 1px solid var(--border);
}

/* Background */
.sd-bg { position: absolute; inset: 0; pointer-events: none; }
.sd-bg-grid {
  position: absolute; inset: 0;
  background-image:
    linear-gradient(var(--border2) 1px, transparent 1px),
    linear-gradient(90deg, var(--border2) 1px, transparent 1px);
  background-size: 80px 80px;
  mask-image: radial-gradient(ellipse 80% 80% at 100% 50%, black 10%, transparent 80%);
}
.sd-bg-orb {
  position: absolute;
  border-radius: 50%;
  filter: blur(100px);
  pointer-events: none;
}
.sd-bg-orb-1 {
  width: 700px; height: 700px;
  background: radial-gradient(circle, rgba(55,137,21,.08) 0%, transparent 65%);
  top: -200px; left: -100px;
  animation: float2 14s ease-in-out infinite;
}
.sd-bg-orb-2 {
  width: 450px; height: 450px;
  background: radial-gradient(circle, rgba(55,137,21,.05) 0%, transparent 65%);
  bottom: 0; right: 5%;
  animation: float1 10s ease-in-out infinite;
}

/* Watermark */
.sd-watermark {
  position: absolute;
  font-family: var(--font-d);
  font-size: clamp(8rem, 16vw, 14rem);
  font-weight: 900;
  color: transparent;
  -webkit-text-stroke: 1px rgba(55,137,21,.04);
  bottom: 80px; right: -20px;
  line-height: 1;
  pointer-events: none;
  user-select: none;
  letter-spacing: -.02em;
  z-index: 0;
}

/* Inner wrapper */
.sd-inner {
  position: relative;
  z-index: 2;
  padding: 80px 30px;
  display: flex;
  flex-direction: column;
  gap: 56px;
  width: 100%;
}

/* ── Section Header ── */
.sd-header {
  display: flex;
  align-items: center;
  gap: 20px;
  width: 100%;
}
.sd-header-index {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-shrink: 0;
}
.sd-index-num {
  font-family: var(--font-d);
  font-size: 1rem;
  font-weight: 900;
  color: var(--gold);
}
.sd-index-rule {
  width: 32px; height: 1px;
  background: linear-gradient(to right, var(--gold), transparent);
}
.sd-index-label {
  font-size: .6rem;
  font-weight: 700;
  letter-spacing: .22em;
  text-transform: uppercase;
  color: var(--text3);
  white-space: nowrap;
}
.sd-header-line {
  flex: 1; height: 1px;
  background: linear-gradient(to right, var(--border), transparent);
}

/* ── Main Grid ── */
.sd-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 64px;
  align-items: start;
  width: 100%;
}

/* ── Left ── */
.sd-left {
  display: flex;
  flex-direction: column;
  gap: 32px;
}

.sd-title {
  font-family: var(--font-d);
  font-size: clamp(2rem, 3.8vw, 3.4rem);
  font-weight: 900;
  color: var(--text);
  line-height: 1.1;
  letter-spacing: -.025em;
}
.sd-title em {
  font-style: italic;
  color: var(--gold);
  font-family: var(--font-a);
  font-weight: 300;
  font-size: 108%;
}
.sd-sub {
  font-size: .9rem;
  color: var(--text2);
  line-height: 1.9;
}
.sd-sub strong { color: var(--text); font-weight: 600; }

/* Detail cards */
.sd-details {
  display: flex;
  flex-direction: column;
  gap: 1px;
  background: var(--border);
  border: 1px solid var(--border);
}
.sd-detail-card {
  display: flex;
  align-items: flex-start;
  gap: 20px;
  padding: 24px 24px;
  background: var(--bg2);
  position: relative;
  overflow: hidden;
  transition: background .3s;
}
.sd-detail-card::before {
  content: '';
  position: absolute;
  left: 0; top: 0; bottom: 0;
  width: 2px;
  background: var(--gold);
  transform: scaleY(0);
  transform-origin: top;
  transition: transform .35s var(--ease);
}
.sd-detail-card:hover { background: var(--bg3); }
.sd-detail-card:hover::before { transform: scaleY(1); }

/* Featured rate card */
.sd-detail-card--featured {
  background: var(--bg3);
  border-left: 2px solid var(--gold);
}
.sd-detail-card--featured::before { display: none; }

.sd-detail-icon {
  width: 40px; height: 40px;
  background: var(--bg4);
  border: 1px solid var(--border);
  display: flex; align-items: center; justify-content: center;
  flex-shrink: 0;
  font-size: 1rem;
  color: var(--text3);
  transition: border-color .3s, color .3s;
}
.sd-detail-card:hover .sd-detail-icon { border-color: rgba(55,137,21,.3); color: var(--gold); }
.sd-detail-icon--gold {
  border-color: var(--gold) !important;
  color: var(--gold) !important;
  font-size: 1.1rem;
  font-weight: 900;
  font-family: var(--font-d);
  background: rgba(55,137,21,.06) !important;
}

.sd-detail-body {
  display: flex;
  flex-direction: column;
  gap: 4px;
  flex: 1;
}
.sd-detail-label {
  font-size: .56rem;
  font-weight: 700;
  letter-spacing: .22em;
  text-transform: uppercase;
  color: var(--gold);
}
.sd-detail-value {
  font-size: .88rem;
  font-weight: 700;
  color: var(--text);
  line-height: 1.3;
  letter-spacing: .01em;
}
.sd-detail-value--gold {
  color: var(--gold) !important;
  font-family: var(--font-d);
  font-size: 1rem !important;
}
.sd-detail-sub {
  font-size: .7rem;
  color: var(--text3);
  line-height: 1.5;
}

/* ── Right — Booking Card ── */
.sd-right {
  position: sticky;
  top: 100px;
}
.sd-booking-card {
  background: var(--bg2);
  border: 1px solid var(--border);
  position: relative;
  overflow: hidden;
}
.sd-booking-card::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 2px;
  background: linear-gradient(to right, var(--gold), rgba(55,137,21,.3), transparent);
}

/* Card header */
.sd-booking-header {
  padding: 28px 28px 20px;
  border-bottom: 1px solid var(--border);
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.sd-booking-header-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.sd-booking-badge {
  display: flex;
  align-items: center;
  gap: 7px;
  font-size: .58rem;
  font-weight: 700;
  letter-spacing: .2em;
  text-transform: uppercase;
  color: var(--gold);
}
.sd-booking-badge-dot {
  width: 6px; height: 6px;
  border-radius: 50%;
  background: var(--gold);
  box-shadow: 0 0 8px rgba(55,137,21,.7);
  animation: pulse 2s ease-in-out infinite;
}
@keyframes pulse {
  0%, 100% { box-shadow: 0 0 8px rgba(55,137,21,.7); }
  50%       { box-shadow: 0 0 16px rgba(55,137,21,1); }
}
.sd-booking-available {
  font-size: .56rem;
  font-weight: 700;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: var(--text3);
  background: var(--bg3);
  border: 1px solid var(--border);
  padding: 3px 10px;
}
.sd-booking-title {
  font-family: var(--font-d);
  font-size: clamp(1.4rem, 2.2vw, 1.9rem);
  font-weight: 900;
  color: var(--text);
  line-height: 1.15;
  letter-spacing: -.02em;
}
.sd-booking-desc {
  font-size: .78rem;
  color: var(--text3);
  font-style: italic;
  font-family: var(--font-a);
}

/* Perks */
.sd-perks {
  padding: 20px 28px;
  display: flex;
  flex-direction: column;
  gap: 10px;
  border-bottom: 1px solid var(--border);
  background: var(--bg3);
}
.sd-perk {
    display: flex;
    align-items: center;
    gap: 12px;
    font-size: 16px;
    color: var(--text2);
}
.sd-perk-dot {
  width: 5px; height: 5px;
  border-radius: 50%;
  background: var(--gold);
  flex-shrink: 0;
  box-shadow: 0 0 6px rgba(55,137,21,.5);
}

/* Calendar embed area */
.sd-calendar {
  margin: 0;
  border-bottom: 1px solid var(--border);
}
.sd-calendar-placeholder {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 12px;
  padding: 48px 28px;
  text-align: center;
  background: var(--bg);
  min-height: 200px;
  border: 1px dashed rgba(55,137,21,.2);
  margin: 16px;
}
.sd-cal-icon { font-size: 2rem; }
.sd-cal-text {
  font-size: .8rem;
  font-weight: 700;
  color: var(--text2);
  letter-spacing: .08em;
}
.sd-cal-sub {
  font-size: .68rem;
  color: var(--text3);
  line-height: 1.6;
  max-width: 280px;
}

/* Book button */
.sd-book-btn {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 20px 28px;
  background: var(--gold);
  color: #fff;
  text-decoration: none;
  font-size: .72rem;
  font-weight: 700;
  letter-spacing: .16em;
  text-transform: uppercase;
  position: relative;
  overflow: hidden;
  transition: background .3s;
}
.sd-book-btn::before {
  content: '';
  position: absolute; inset: 0;
  background: var(--gold-light);
  transform: translateX(-100%);
  transition: transform .4s var(--ease);
}
.sd-book-btn:hover::before { transform: translateX(0); }
.sd-book-btn-label { position: relative; z-index: 1; }
.sd-book-btn-arrow {
  position: relative; z-index: 1;
  font-size: 1.1rem;
  transition: transform .3s;
}
.sd-book-btn:hover .sd-book-btn-arrow { transform: translateX(6px); }

/* Card footer */
.sd-booking-footer {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 14px 28px;
  font-size: .6rem;
  font-weight: 600;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: var(--text3);
  background: var(--bg3);
}

/* Corner accents */
.sd-corner {
  position: absolute;
  width: 12px; height: 12px;
}
.sd-corner-tl { top: 6px; left: 6px; border-top: 1.5px solid rgba(55,137,21,.25); border-left: 1.5px solid rgba(55,137,21,.25); }
.sd-corner-tr { top: 6px; right: 6px; border-top: 1.5px solid rgba(55,137,21,.25); border-right: 1.5px solid rgba(55,137,21,.25); }
.sd-corner-bl { bottom: 6px; left: 6px; border-bottom: 1.5px solid rgba(55,137,21,.25); border-left: 1.5px solid rgba(55,137,21,.25); }
.sd-corner-br { bottom: 6px; right: 6px; border-bottom: 1.5px solid rgba(55,137,21,.25); border-right: 1.5px solid rgba(55,137,21,.25); }

/* ── Bottom Process Strip ── */
.sd-next-strip {
  display: flex;
  align-items: center;
  gap: 0;
  background: var(--bg2);
  border: 1px solid var(--border);
  overflow: hidden;
  position: relative;
  width: 100%;
}
.sd-next-strip::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0; height: 1.5px;
  background: linear-gradient(to right, transparent, var(--gold), transparent);
  opacity: .4;
}
.sd-next-label {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  padding: 24px 28px;
  border-right: 1px solid var(--border);
  flex-shrink: 0;
  min-width: 120px;
}
.sd-next-label-dot { color: var(--gold); font-size: .7rem; }
.sd-next-label span:last-child {
  font-size: .56rem;
  font-weight: 700;
  letter-spacing: .2em;
  text-transform: uppercase;
  color: var(--text3);
  text-align: center;
  writing-mode: vertical-rl;
  transform: rotate(180deg);
}
.sd-next-steps {
  display: flex;
  align-items: center;
  flex: 1;
}
.sd-next-step {
  flex: 1;
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 24px 20px;
  transition: background .3s;
}
.sd-next-step:hover { background: var(--bg3); }
.sd-next-step-num {
  font-family: var(--font-d);
  font-size: 1.4rem;
  font-weight: 900;
  color: transparent;
  -webkit-text-stroke: 1px rgba(55,137,21,.2);
  line-height: 1;
  flex-shrink: 0;
  transition: color .3s, -webkit-text-stroke .3s;
}
.sd-next-step:hover .sd-next-step-num {
  color: var(--gold);
  -webkit-text-stroke: 0;
}
.sd-next-step-body {
  display: flex;
  flex-direction: column;
  gap: 3px;
}
.sd-next-step-title {
  font-size: 18px;
  font-weight: 700;
  color: var(--text);
  letter-spacing: .06em;
}
.sd-next-step-sub {
    font-size: 12px;
    color: var(--text3);
    line-height: 1.4;
}
.sd-next-arrow {
  color: rgba(55,137,21,.25);
  font-size: .9rem;
  flex-shrink: 0;
  padding: 0 4px;
}

/* ── RESPONSIVE ── */
@media(max-width: 1100px) {
  .sd-grid { grid-template-columns: 1fr; gap: 48px; }
  .sd-right { position: static; }
}
@media(max-width: 768px) {
  .sd-inner { padding: 60px 20px; gap: 40px; }
  .sd-next-strip { flex-direction: column; }
  .sd-next-label {
    flex-direction: row;
    width: 100%; border-right: none;
    border-bottom: 1px solid var(--border);
    min-width: unset; padding: 16px 20px;
  }
  .sd-next-label span:last-child {
    writing-mode: horizontal-tb;
    transform: none;
  }
  .sd-next-steps { flex-wrap: wrap; width: 100%; }
  .sd-next-step { flex: 1 1 45%; }
  .sd-next-arrow { display: none; }
}
@media(max-width: 480px) {
  .sd-booking-header { padding: 20px 20px 16px; }
  .sd-perks { padding: 16px 20px; }
  .sd-book-btn { padding: 16px 20px; font-size: .66rem; }
  .sd-booking-footer { padding: 12px 20px; }
  .sd-next-step { flex: 1 1 100%; }
  .sd-title { font-size: 1.9rem; }
}



/* ══════════════════════════════════════
   GENERAL CONTACT SECTION
══════════════════════════════════════ */
.gc-section {
  position: relative;
  overflow: hidden;
  background: var(--bg2);
  border-top: 1px solid var(--border);
}

.gc-bg { position: absolute; inset: 0; pointer-events: none; }
.gc-bg-grid {
  position: absolute; inset: 0;
  background-image:
    linear-gradient(var(--border2) 1px, transparent 1px),
    linear-gradient(90deg, var(--border2) 1px, transparent 1px);
  background-size: 70px 70px;
  mask-image: radial-gradient(ellipse 90% 90% at 50% 50%, black 10%, transparent 85%);
}
.gc-bg-orb {
  position: absolute;
  border-radius: 50%;
  filter: blur(100px);
  pointer-events: none;
}
.gc-bg-orb-1 {
  width: 600px; height: 600px;
  background: radial-gradient(circle, rgba(55,137,21,.08) 0%, transparent 65%);
  top: -100px; right: -100px;
  animation: float1 13s ease-in-out infinite;
}
.gc-bg-orb-2 {
  width: 400px; height: 400px;
  background: radial-gradient(circle, rgba(55,137,21,.05) 0%, transparent 65%);
  bottom: 50px; left: 5%;
  animation: float2 10s ease-in-out infinite;
}

/* Watermark */
.gc-watermark {
  position: absolute;
  font-family: var(--font-d);
  font-size: clamp(7rem, 15vw, 13rem);
  font-weight: 900;
  color: transparent;
  -webkit-text-stroke: 1px rgba(55,137,21,.04);
  bottom: 40px; left: -10px;
  line-height: 1;
  pointer-events: none;
  user-select: none;
  letter-spacing: -.02em;
  z-index: 0;
}

/* Inner */
.gc-inner {
  position: relative;
  z-index: 2;
  padding: 80px 30px;
  display: flex;
  flex-direction: column;
  gap: 56px;
  width: 100%;
}

/* Header */
.gc-header {
  display: flex;
  align-items: center;
  gap: 20px;
  width: 100%;
}
.gc-header-index {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-shrink: 0;
}
.gc-index-num {
  font-family: var(--font-d);
  font-size: 1rem;
  font-weight: 900;
  color: var(--gold);
}
.gc-index-rule {
  width: 32px; height: 1px;
  background: linear-gradient(to right, var(--gold), transparent);
}
.gc-index-label {
  font-size: .6rem;
  font-weight: 700;
  letter-spacing: .22em;
  text-transform: uppercase;
  color: var(--text3);
  white-space: nowrap;
}
.gc-header-line {
  flex: 1; height: 1px;
  background: linear-gradient(to right, var(--border), transparent);
}

/* Main grid */
.gc-grid {
  display: grid;
  grid-template-columns: 1fr 1.2fr;
  gap: 64px;
  align-items: start;
  width: 100%;
}

/* ══════════════════════════════════════
   LEFT — CONTACT INFO
══════════════════════════════════════ */
.gc-info {
  display: flex;
  flex-direction: column;
  gap: 40px;
}

.gc-info-title {
  font-family: var(--font-d);
  font-size: clamp(2.2rem, 4vw, 3.5rem);
  font-weight: 900;
  color: var(--text);
  line-height: 1.1;
  letter-spacing: -.025em;
  margin-bottom: 12px;
}
.gc-info-title em {
  font-style: italic;
  color: var(--gold);
  font-family: var(--font-a);
  font-weight: 300;
  font-size: 108%;
}
.gc-info-sub {
  font-size: .88rem;
  color: var(--text2);
  line-height: 1.85;
}

/* Contact blocks */
.gc-contact-block {
  display: flex;
  flex-direction: column;
  gap: 14px;
}
.gc-block-label {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: .6rem;
  font-weight: 700;
  letter-spacing: .22em;
  text-transform: uppercase;
  color: var(--text3);
}
.gc-block-dot {
  width: 6px; height: 6px;
  border-radius: 50%;
  background: var(--gold);
  box-shadow: 0 0 8px rgba(55,137,21,.5);
  flex-shrink: 0;
}

/* Contact items */
.gc-contact-items {
  display: flex;
  flex-direction: column;
  gap: 1px;
  background: var(--border);
  border: 1px solid var(--border);
}
.gc-contact-item {
  display: flex;
  align-items: center;
  gap: 18px;
  padding: 18px 20px;
  background: var(--bg3);
  text-decoration: none;
  position: relative;
  overflow: hidden;
  transition: background .3s;
}
.gc-contact-item::before {
  content: '';
  position: absolute;
  left: 0; top: 0; bottom: 0;
  width: 2px;
  background: var(--gold);
  transform: scaleY(0);
  transform-origin: top;
  transition: transform .35s var(--ease);
}
.gc-contact-item:hover { background: var(--bg4); }
.gc-contact-item:hover::before { transform: scaleY(1); }
.gc-contact-icon {
  width: 40px; height: 40px;
  background: var(--bg4);
  border: 1px solid var(--border);
  display: flex; align-items: center; justify-content: center;
  color: var(--text3);
  font-size: .85rem;
  flex-shrink: 0;
  transition: border-color .3s, color .3s;
}
.gc-contact-item:hover .gc-contact-icon {
  border-color: var(--gold);
  color: var(--gold);
}
.gc-contact-body {
  display: flex;
  flex-direction: column;
  gap: 2px;
  flex: 1;
}
.gc-contact-label {
  font-size: .55rem;
  font-weight: 700;
  letter-spacing: .2em;
  text-transform: uppercase;
  color: var(--text3);
}
.gc-contact-value {
  font-size: .88rem;
  font-weight: 600;
  color: var(--text);
  letter-spacing: .02em;
  transition: color .3s;
}
.gc-contact-item:hover .gc-contact-value { color: var(--gold); }
.gc-contact-arrow {
  color: var(--text3);
  font-size: .9rem;
  opacity: 0;
  transform: translateX(-6px);
  transition: opacity .3s, transform .3s, color .3s;
}
.gc-contact-item:hover .gc-contact-arrow {
  opacity: 1;
  transform: translateX(0);
  color: var(--gold);
}

/* HQ Card */
.gc-hq-card {
  display: flex;
  align-items: center;
  gap: 18px;
  padding: 20px 22px;
  background: var(--bg3);
  border: 1px solid var(--border);
  position: relative;
  overflow: hidden;
  transition: background .3s;
}
.gc-hq-card:hover { background: var(--bg4); }
.gc-hq-corner {
  position: absolute;
  width: 14px; height: 14px;
}
.gc-hq-tl {
  top: 0; left: 0;
  border-top: 1.5px solid rgba(55,137,21,.3);
  border-left: 1.5px solid rgba(55,137,21,.3);
}
.gc-hq-br {
  bottom: 0; right: 0;
  border-bottom: 1.5px solid rgba(55,137,21,.3);
  border-right: 1.5px solid rgba(55,137,21,.3);
}
.gc-hq-icon {
  width: 40px; height: 40px;
  background: var(--bg4);
  border: 1px solid var(--border);
  display: flex; align-items: center; justify-content: center;
  color: var(--gold);
  font-size: .85rem;
  flex-shrink: 0;
}
.gc-hq-body {
  display: flex;
  flex-direction: column;
  gap: 3px;
}
.gc-hq-name {
  font-size: .82rem;
  font-weight: 700;
  color: var(--text);
  letter-spacing: .04em;
}
.gc-hq-addr {
    font-size: .95rem;
    color: var(--gold);
    line-height: 1.5;
}

/* Social */
.gc-social-desc {
  font-size: .78rem;
  color: var(--text3);
  line-height: 1.6;
}
.gc-social-row {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.gc-social-btn {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 10px 16px;
  background: var(--bg3);
  border: 1px solid var(--border);
  color: var(--text2);
  text-decoration: none;
  font-size: .65rem;
  font-weight: 700;
  letter-spacing: .14em;
  text-transform: uppercase;
  transition: background .3s, border-color .3s, color .3s;
}
.gc-social-btn:hover {
  background: var(--bg4);
  border-color: var(--gold);
  color: var(--gold);
}
.gc-social-btn i { font-size: .8rem; }

/* ══════════════════════════════════════
   RIGHT — CONTACT FORM
══════════════════════════════════════ */
.gc-form-card {
  background: var(--bg);
  border: 1px solid var(--border);
  position: relative;
  overflow: hidden;
}
.gc-form-card::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 2px;
  background: linear-gradient(to right, var(--gold), rgba(55,137,21,.3), transparent);
}

/* Form header */
.gc-form-header {
  padding: 28px 30px 22px;
  border-bottom: 1px solid var(--border);
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.gc-form-badge {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: .58rem;
  font-weight: 700;
  letter-spacing: .22em;
  text-transform: uppercase;
  color: var(--gold);
}
.gc-form-badge-dot {
  width: 6px; height: 6px;
  border-radius: 50%;
  background: var(--gold);
  box-shadow: 0 0 8px rgba(55,137,21,.6);
}
.gc-form-title {
  font-family: var(--font-d);
  font-size: clamp(1.5rem, 2.5vw, 2rem);
  font-weight: 900;
  color: var(--text);
  line-height: 1.1;
  letter-spacing: -.02em;
}
.gc-form-title em {
  font-style: italic;
  color: var(--gold);
  font-family: var(--font-a);
  font-weight: 300;
}
.gc-form-desc {
  font-size: .78rem;
  color: var(--text2);
  line-height: 1.7;
}
.gc-form-desc strong { color: var(--text); font-weight: 600; }

/* Form */
.gc-form {
  padding: 24px 30px 30px;
  display: flex;
  flex-direction: column;
  gap: 20px;
}
.gc-form-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
}

/* Field */
.gc-field {
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.gc-field-label {
  font-size: .6rem;
  font-weight: 700;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: var(--text3);
}
.gc-required { color: var(--gold); }
.gc-field-wrap { position: relative; }
.gc-input {
  width: 100%;
  background: var(--bg2);
  border: 1px solid var(--border);
  border-bottom: none;
  color: var(--text);
  font-family: var(--font-b);
  font-size: .85rem;
  padding: 12px 14px;
  outline: none;
  transition: background .3s, border-color .3s;
  resize: none;
  box-sizing: border-box;
}
.gc-input::placeholder { color: var(--text3); font-size: .82rem; }
.gc-input:focus { background: var(--bg3); border-color: rgba(55,137,21,.3); }
.gc-input:focus + .gc-field-line { transform: scaleX(1); }
.gc-field-line {
  height: 1.5px;
  background: var(--gold);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform .35s var(--ease);
}
.gc-input.gc-error { border-color: rgba(200,60,60,.4); }
.gc-input.gc-error + .gc-field-line { background: rgba(200,60,60,.6); transform: scaleX(1); }
.gc-textarea { min-height: 130px; }

/* Field error */
.gc-field-error {
  font-size: .6rem;
  color: rgba(220,80,80,.9);
  letter-spacing: .08em;
  display: none;
}
.gc-field-error.visible { display: block; }

/* Submit button */
.gc-submit-btn {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 18px 24px;
  background: var(--gold);
  color: #fff;
  border: none;
  cursor: pointer;
  font-family: var(--font-b);
  font-size: .72rem;
  font-weight: 700;
  letter-spacing: .18em;
  text-transform: uppercase;
  position: relative;
  overflow: hidden;
  transition: background .3s;
  width: 100%;
}
.gc-submit-btn::before {
  content: '';
  position: absolute; inset: 0;
  background: var(--gold-light);
  transform: translateX(-100%);
  transition: transform .4s var(--ease);
}
.gc-submit-btn:hover::before { transform: translateX(0); }
.gc-submit-btn:disabled { opacity: .7; cursor: not-allowed; }
.gc-submit-label,
.gc-submit-arrow { position: relative; z-index: 1; }
.gc-submit-arrow {
  font-size: 1.1rem;
  transition: transform .3s;
}
.gc-submit-btn:hover:not(:disabled) .gc-submit-arrow { transform: translateX(6px); }

/* Loading state */
.gc-submit-loading {
  display: none;
  align-items: center;
  gap: 10px;
  position: relative;
  z-index: 1;
}
.gc-submit-loading.visible { display: flex; }
.gc-submit-label.hidden,
.gc-submit-arrow.hidden { display: none; }
.gc-spinner {
  width: 14px; height: 14px;
  border: 2px solid rgba(255,255,255,.3);
  border-top-color: #fff;
  border-radius: 50%;
  animation: gcSpin .7s linear infinite;
}
@keyframes gcSpin {
  to { transform: rotate(360deg); }
}

/* Success / error messages */
.gc-form-success,
.gc-form-error-msg {
  display: none;
  align-items: flex-start;
  gap: 14px;
  padding: 16px 20px;
  border: 1px solid var(--border);
  font-size: .82rem;
  line-height: 1.6;
}
.gc-form-success { background: rgba(55,137,21,.08); border-color: rgba(55,137,21,.25); color: var(--text); }
.gc-form-success.visible { display: flex; }
.gc-form-success .gc-success-icon { color: var(--gold); font-size: .7rem; margin-top: 3px; }
.gc-form-success strong { display: block; color: var(--gold); margin-bottom: 2px; font-size: .78rem; letter-spacing: .06em; text-transform: uppercase; }
.gc-form-error-msg { background: rgba(200,60,60,.06); border-color: rgba(200,60,60,.2); color: var(--text2); }
.gc-form-error-msg.visible { display: flex; }
.gc-form-error-msg strong { display: block; color: rgba(220,80,80,.9); margin-bottom: 2px; }
.gc-form-error-msg a { color: var(--gold); }

/* Corner accents */
.gc-fc {
  position: absolute;
  width: 12px; height: 12px;
}
.gc-fc-tl { top: 6px; left: 6px; border-top: 1.5px solid rgba(55,137,21,.2); border-left: 1.5px solid rgba(55,137,21,.2); }
.gc-fc-tr { top: 6px; right: 6px; border-top: 1.5px solid rgba(55,137,21,.2); border-right: 1.5px solid rgba(55,137,21,.2); }
.gc-fc-bl { bottom: 6px; left: 6px; border-bottom: 1.5px solid rgba(55,137,21,.2); border-left: 1.5px solid rgba(55,137,21,.2); }
.gc-fc-br { bottom: 6px; right: 6px; border-bottom: 1.5px solid rgba(55,137,21,.2); border-right: 1.5px solid rgba(55,137,21,.2); }

/* ══════════════════════════════════════
   RESPONSIVE
══════════════════════════════════════ */
@media(max-width: 1100px) {
  .gc-grid { grid-template-columns: 1fr; gap: 48px; }
}
@media(max-width: 768px) {
  .gc-inner { padding: 60px 20px; gap: 40px; }
  .gc-form-row { grid-template-columns: 1fr; }
  .gc-form { padding: 20px; }
  .gc-form-header { padding: 22px 20px 18px; }
}
@media(max-width: 480px) {
  .gc-info-title { font-size: 2rem; }
  .gc-social-row { gap: 6px; }
  .gc-social-btn { font-size: .6rem; padding: 8px 12px; }
  .gc-submit-btn { font-size: .65rem; padding: 16px 18px; }
}


























/* ── FOOTER ── */
footer{background:var(--bg2);border-top:1px solid var(--border);padding:70px 0 30px;}
.footer-inner{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:60px;margin-bottom:60px;}
.footer-brand p{color:var(--text2);font-size:.9rem;line-height:1.7;margin-top:16px;max-width:280px;}
.footer-col h4{font-size:.75rem;letter-spacing:.15em;text-transform:uppercase;color:var(--text);font-weight:600;margin-bottom:20px;}
.footer-col ul{list-style:none;}
.footer-col ul li{margin-bottom:12px;}
.footer-col ul li a{color:var(--text2);text-decoration:none;font-size:.9rem;transition:color .3s;}
.footer-col ul li a:hover{color:var(--gold);}
.footer-socials{display:flex;gap:12px;margin-top:24px;}
.footer-social{width:38px;height:38px;border:1px solid var(--border);display:flex;align-items:center;justify-content:center;color:var(--text2);text-decoration:none;font-size:.85rem;transition:all .3s;}
.footer-social:hover{border-color:var(--gold);color:var(--gold);}
.footer-bottom{border-top:1px solid var(--border);padding-top:30px;display:flex;align-items:center;justify-content:space-between;}
.footer-bottom p{color:var(--text3);font-size:.82rem;}
.footer-bottom span{color:var(--gold);}

/* ── RESPONSIVE ── */
@media(max-width:1024px){
  nav{padding:22px 40px;}
  nav.scrolled{padding:16px 40px;}
  .container{padding:0 40px;}
  .hero-content{padding:0 40px;}
  .stats-grid{grid-template-columns:repeat(2,1fr);}
  .stat-item:nth-child(2){border-right:none;}
  .stat-item:nth-child(3){border-top:1px solid var(--border);}
  .stat-item:nth-child(4){border-top:1px solid var(--border);border-right:none;}
  .ventures-grid,.services-grid{grid-template-columns:1fr 1fr;}
  .values-grid{grid-template-columns:1fr 1fr;}
  .pricing-grid{grid-template-columns:1fr;}
  .footer-inner{grid-template-columns:1fr 1fr;}
  .process-steps{grid-template-columns:1fr 1fr;gap:40px;}
  .process-steps::before{display:none;}
  .timeline::before{left:20px;}
  .timeline-item{grid-template-columns:40px 1fr;}
  .tl-empty{display:none;}
  .timeline-item:nth-child(even) .tl-content{grid-column:2;}
  .tl-dot{margin:0;}
  .contact-grid{grid-template-columns:1fr;}
  .about-hero-inner{grid-template-columns:1fr;}
}
@media(max-width:768px){
  nav{padding:20px 24px;}
  nav.scrolled{padding:14px 24px;}
  .nav-links,.nav-cta{display:none;}
  .hamburger{display:flex;}
  .container{padding:0 24px;}
  .hero-content{padding:0 24px;}
  .ventures-grid,.services-grid,.form-row{grid-template-columns:1fr;}
  .values-grid{grid-template-columns:1fr 1fr;}
  .footer-inner{grid-template-columns:1fr;}
  .contact-form{padding:32px 24px;}
  .hero-actions{flex-direction:column;}
  .hero-actions .btn{text-align:center;}
  .testi-card{min-width:300px;}
  .about-badge-1,.about-badge-2{display:none;}
  .press-logos{gap:30px;}
}
@media(max-width:480px){
  .values-grid{grid-template-columns:1fr;}
  .stats-grid{grid-template-columns:1fr 1fr;}
  .stat-item{padding:28px 20px;}
}




.pf-intro-stats {
    display: none;
}

.pf-intro-bracket {
    position: relative;
    padding: 20px 16px;
    margin-top: auto;
    margin-right: 30px;
    display: none;
}