*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
:root{
  --gold:#6E9EC9;--gold-light:#9AC2E2;--gold-dim:rgba(110,158,201,0.15);
  --cyan:#7A8494;--cyan-dim:rgba(122,132,148,0.12);--cyan-glow:rgba(122,132,148,0.2);
  --dark:#0B0D10;--dark2:#10141A;--dark3:#171C24;--dark4:#1E2530;
  --cream:#EBF0F5;--cream-mid:#B0BCC8;--cream-muted:#687480;
  --border:rgba(110,158,201,0.14);--border-soft:rgba(255,255,255,0.05);
}
html{scroll-behavior:smooth}
body{font-family:'DM Sans',sans-serif;background:var(--dark);color:var(--cream);font-weight:300;line-height:1.7;overflow-x:hidden}

/* Custom cursor */
.cursor{position:fixed;pointer-events:none;z-index:9999;mix-blend-mode:screen}
.cursor-dot{width:6px;height:6px;background:var(--cyan);border-radius:50%;position:fixed;transform:translate(-50%,-50%);transition:transform .15s ease,opacity .3s;opacity:.9}
.cursor-ring{width:36px;height:36px;border:1px solid rgba(110,158,201,.35);border-radius:50%;position:fixed;transform:translate(-50%,-50%);transition:width .4s cubic-bezier(.25,.46,.45,.94),height .4s cubic-bezier(.25,.46,.45,.94),border-color .4s,transform .08s linear}
.cursor-glow{width:180px;height:180px;background:radial-gradient(circle,rgba(110,158,201,.07) 0%,transparent 70%);border-radius:50%;position:fixed;transform:translate(-50%,-50%);transition:transform .25s ease;pointer-events:none}
body:hover .cursor-dot{opacity:.9}
a:hover ~ .cursor-ring, a:hover .cursor-ring{width:60px;height:60px;border-color:var(--gold)}

#nav{position:fixed;top:0;left:0;right:0;z-index:100;padding:2rem 5rem;display:flex;align-items:center;justify-content:space-between;transition:all .6s cubic-bezier(.25,.46,.45,.94)}
#nav.scrolled{background:rgba(11,13,16,0.97);border-bottom:1px solid var(--border);padding:1.1rem 5rem;backdrop-filter:blur(16px)}
.nav-logo, .custom-logo-link{font-family:'Cormorant Garamond',serif;font-size:1.35rem;font-weight:300;letter-spacing:.15em;color:var(--cream);text-decoration:none;transition:opacity .3s;display:flex;align-items:center;gap:1.2rem}
.nav-logo:hover, .custom-logo-link:hover{opacity:.7}
.nav-logo span{color:var(--gold)}
.custom-logo{max-height:45px;width:auto;display:block}
.nav-links, .nav-links ul{display:flex;gap:2.5rem;list-style:none !important;margin:0;padding:0}
.nav-links li{position:relative;list-style:none !important}
.nav-links a{font-size:.68rem;letter-spacing:.2em;text-transform:uppercase;color:var(--cream);text-decoration:none;transition:color .4s;position:relative;padding:10px 0;display:block;text-shadow:0 2px 4px rgba(0,0,0,0.6)}
.nav-links a::after{content:'';position:absolute;bottom:8px;left:0;width:0;height:1px;background:linear-gradient(90deg,var(--cyan),var(--gold));transition:width .4s cubic-bezier(.25,.46,.45,.94)}
.nav-links a:hover, .nav-links li.current-menu-item > a, .nav-links li.current-page-ancestor > a{color:var(--cyan)}
.nav-links a:hover::after, .nav-links li.current-menu-item > a::after, .nav-links li.current-page-ancestor > a::after{width:100%}

/* Caret for dropdowns */
.nav-links .menu-item-has-children > a {
  padding-right: 1.2rem !important;
}
.nav-links .menu-item-has-children > a::before {
  content: '';
  position: absolute;
  right: 0;
  top: 50%;
  width: 5px;
  height: 5px;
  border-right: 1px solid currentColor;
  border-bottom: 1px solid currentColor;
  transform: translateY(-65%) rotate(45deg);
  transition: transform 0.4s cubic-bezier(.25,.46,.45,.94), opacity 0.4s;
  opacity: 0.4;
}
.nav-links .menu-item-has-children:hover > a::before {
  transform: translateY(-15%) rotate(225deg);
  opacity: 1;
}

/* Dropdown / Sub-menu */
.nav-links .sub-menu {
  position: absolute;
  top: 100%;
  left: 0;
  background: rgba(16, 20, 26, 0.98);
  border: 1px solid var(--border);
  min-width: 220px;
  padding: 1rem 0;
  margin: 0;
  list-style: none !important;
  opacity: 0;
  visibility: hidden;
  transform: translateY(10px);
  transition: all 0.3s cubic-bezier(.25,.46,.45,.94);
  backdrop-filter: blur(12px);
  z-index: 1000;
  display: flex;
  flex-direction: column;
  gap: 0;
}

.nav-links li:hover > .sub-menu {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}

.nav-links .sub-menu a {
  padding: 0.8rem 1.5rem;
  font-size: 0.58rem;
  color: var(--cream-mid);
  letter-spacing: 0.15em;
  transition: all 0.3s;
}

.nav-links .sub-menu a:hover {
  color: var(--gold);
  background: rgba(255, 255, 255, 0.03);
  padding-left: 1.8rem;
}

.nav-links .sub-menu a::after {
  display: none;
}

/* ── HERO ── */
.hero{min-height:100vh;display:flex;align-items:flex-end;padding:0 5rem 7rem;position:relative;overflow:hidden}
.hero-bg{position:absolute;inset:0;background:radial-gradient(ellipse 70% 60% at 65% 35%,rgba(110,158,201,0.09) 0%,transparent 60%),radial-gradient(ellipse 40% 50% at 15% 75%,rgba(80,130,180,0.05) 0%,transparent 55%);will-change:transform}
.hero-grid{position:absolute;inset:0;background-image:linear-gradient(var(--border-soft) 1px,transparent 1px),linear-gradient(90deg,var(--border-soft) 1px,transparent 1px);background-size:90px 90px;mask-image:radial-gradient(ellipse 90% 90% at 50% 50%,black 0%,transparent 100%);opacity:0;transition:opacity 2s ease 0.5s}
.hero-grid.loaded{opacity:1}

.hero-content{position:relative;max-width:800px}
.hero-eyebrow{font-size:.62rem;letter-spacing:.35em;text-transform:uppercase;color:var(--gold);margin-bottom:1.8rem;display:flex;align-items:center;gap:.9rem;opacity:0;transform:translateY(16px);transition:opacity 1s ease .3s,transform 1s cubic-bezier(.25,.46,.45,.94) .3s}
.hero-eyebrow.loaded{opacity:1;transform:translateY(0)}
.hero-eyebrow::before{content:'';display:block;width:0;height:1px;background:var(--gold);opacity:.7;transition:width 1.2s cubic-bezier(.25,.46,.45,.94) .6s}
.hero-eyebrow.loaded::before{width:36px}

.hero h1{font-family:'Cormorant Garamond',serif;font-size:clamp(4.5rem,10vw,10rem);font-weight:300;line-height:.9;letter-spacing:-.015em;color:var(--cream);margin-bottom:2.2rem}
.hero-word{display:inline-block;opacity:0;transform:translateY(40px);transition:opacity 1.1s cubic-bezier(.25,.46,.45,.94),transform 1.1s cubic-bezier(.25,.46,.45,.94)}
.hero-word.loaded{opacity:1;transform:translateY(0)}
.hero-word:nth-child(1){transition-delay:.5s}
.hero h1 em{font-style:italic;color:var(--gold-light);display:block;opacity:0;transform:translateY(40px) skewX(-2deg);transition:opacity 1.2s cubic-bezier(.25,.46,.45,.94) .7s,transform 1.2s cubic-bezier(.25,.46,.45,.94) .7s,color .3s}
.hero h1 em.loaded{opacity:1;transform:translateY(0) skewX(0)}

.hero-desc{font-size:.9rem;color:var(--cream-mid);max-width:380px;line-height:1.9;font-weight:300;opacity:0;transform:translateY(20px);transition:opacity 1s ease .95s,transform 1s cubic-bezier(.25,.46,.45,.94) .95s}
.hero-desc.loaded{opacity:1;transform:translateY(0)}

.hero-cta{display:inline-flex;align-items:center;gap:.7rem;margin-top:2.8rem;font-size:.65rem;letter-spacing:.22em;text-transform:uppercase;color:var(--gold);text-decoration:none;padding-bottom:.3rem;border-bottom:1px solid rgba(110,158,201,.3);transition:color .4s,gap .4s cubic-bezier(.25,.46,.45,.94),border-bottom-color .4s;opacity:0;transform:translateY(16px);transition:opacity 1s ease 1.15s,transform 1s cubic-bezier(.25,.46,.45,.94) 1.15s}
.hero-cta.loaded{opacity:1;transform:translateY(0)}
.hero-cta:hover{color:var(--cyan);border-bottom-color:var(--cyan);gap:1.2rem}

.hero-aside{position:absolute;right:5rem;bottom:7rem;display:flex;flex-direction:column;gap:2.5rem;align-items:flex-end}
.hero-stat{text-align:right;opacity:0;transform:translateX(20px)}
.hero-stat.loaded{opacity:1;transform:translateX(0);transition:opacity 1s ease,transform 1s cubic-bezier(.25,.46,.45,.94)}
.hero-stat:nth-child(1){transition-delay:.8s}
.hero-stat:nth-child(3){transition-delay:1s}
.hero-stat:nth-child(5){transition-delay:1.2s}
.hero-stat-num{font-family:'Cormorant Garamond',serif;font-size:2.6rem;font-weight:300;color:var(--cream);line-height:1;text-shadow:0 2px 10px rgba(0,0,0,0.5)}
.hero-stat-num sup{font-size:1.2rem;color:var(--gold);vertical-align:super}
.hero-stat-label{font-size:.6rem;letter-spacing:.2em;text-transform:uppercase;color:var(--cream);opacity:.9;margin-top:.3rem;text-shadow:0 2px 6px rgba(0,0,0,0.8)}
.hero-stat-divider{width:1px;height:40px;background:linear-gradient(var(--gold),transparent);opacity:.3;align-self:flex-end}

.hero-scroll{position:absolute;bottom:2.5rem;left:50%;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:.6rem;opacity:0;animation:fadeInBounce 3s ease 2s forwards}
.hero-scroll span{font-size:.52rem;letter-spacing:.25em;text-transform:uppercase;color:var(--cream-muted)}
.hero-scroll-line{width:1px;height:38px;background:linear-gradient(var(--cream-muted),transparent)}
@keyframes fadeInBounce{
  0%{opacity:0;transform:translateX(-50%) translateY(-10px)}
  30%{opacity:.35;transform:translateX(-50%) translateY(0)}
  60%{transform:translateX(-50%) translateY(7px)}
  80%{transform:translateX(-50%) translateY(0)}
  100%{opacity:.35;transform:translateX(-50%) translateY(0);animation-name:continueBounce}
}
@keyframes continueBounce{
  0%,100%{transform:translateX(-50%) translateY(0)}
  50%{transform:translateX(-50%) translateY(7px)}
}

/* ── SECTION TRANSITIONS ── */
.gold-rule{height:1px;background:linear-gradient(90deg,transparent,var(--gold) 30%,var(--gold) 70%,transparent);opacity:0;margin:0 5rem;transition:opacity 1.2s ease}
.gold-rule.visible{opacity:.15}

.section-label{font-size:.6rem;letter-spacing:.3em;text-transform:uppercase;color:var(--gold);margin-bottom:1.5rem;display:flex;align-items:center;gap:.9rem;overflow:hidden}
.section-label::before{content:'';display:block;width:0;height:1px;background:var(--gold);opacity:.6;transition:width 1s cubic-bezier(.25,.46,.45,.94)}
.section-label.line-drawn::before{width:28px}
.section-label-text{opacity:0;transform:translateX(-8px);transition:opacity .8s ease .3s,transform .8s cubic-bezier(.25,.46,.45,.94) .3s}
.section-label.line-drawn .section-label-text{opacity:1;transform:translateX(0)}

/* ── ABOUT ── */
.about{padding:9rem 5rem;display:grid;grid-template-columns:1fr 1fr;gap:7rem;align-items:center}
.about-title{font-family:'Cormorant Garamond',serif;font-size:clamp(2.8rem,5vw,4.5rem);font-weight:300;line-height:1.08;color:var(--cream);margin-bottom:2.5rem}
.about-title em{font-style:italic;color:var(--gold-light)}
.about-body{font-size:.88rem;color:var(--cream-mid);line-height:1.95;font-weight:300;max-width:480px}
.about-body p+p{margin-top:1.2rem}

.reveal-text{opacity:0;transform:translateY(32px);transition:opacity .9s cubic-bezier(.25,.46,.45,.94),transform .9s cubic-bezier(.25,.46,.45,.94)}
.reveal-text.visible{opacity:1;transform:translateY(0)}

.pedigree-item{padding:1.8rem 0;border-bottom:1px solid var(--border-soft);display:grid;grid-template-columns:auto 1fr;gap:1.5rem;align-items:start;opacity:0;transform:translateX(20px);transition:opacity .8s cubic-bezier(.25,.46,.45,.94),transform .8s cubic-bezier(.25,.46,.45,.94),background .3s}
.pedigree-item.visible{opacity:1;transform:translateX(0)}
.pedigree-item:nth-child(1){transition-delay:.05s}
.pedigree-item:nth-child(2){transition-delay:.15s}
.pedigree-item:nth-child(3){transition-delay:.25s}
.pedigree-item:nth-child(4){transition-delay:.35s}
.pedigree-item:first-child{border-top:1px solid var(--border-soft)}
.pedigree-item:hover{background:rgba(122,132,148,.02)}
.pedigree-year{font-family:'Cormorant Garamond',serif;font-size:1.1rem;font-weight:300;color:var(--gold);letter-spacing:.05em;min-width:55px;padding-top:.1rem}
.pedigree-role{font-size:.82rem;font-weight:500;color:var(--cream);margin-bottom:.3rem;letter-spacing:.02em}
.pedigree-org{font-size:.75rem;color:var(--cream-muted);letter-spacing:.04em}
.pedigree-owner{display:inline-flex;align-items:center;gap:.4rem;font-size:.55rem;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);opacity:.6;margin-top:.4rem}
.pedigree-owner::before{content:'';display:inline-block;width:10px;height:1px;background:var(--gold);opacity:.6}

/* ── COMPANIES ── */
.companies{padding:9rem 5rem;background:var(--dark2);position:relative;overflow:hidden}
.companies-header{margin-bottom:3rem}
.companies-title{font-family:'Cormorant Garamond',serif;font-size:clamp(2.5rem,4.5vw,4rem);font-weight:300;line-height:1.1;color:var(--cream)}
.companies-title em{font-style:italic;color:var(--gold-light)}
.companies-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:16px;width:100%}
.company-card{background:#10141A;border:1px solid #1A2535;padding:2rem;display:flex;flex-direction:column;gap:.4rem;text-decoration:none;color:inherit;opacity:0;transform:translateY(20px);transition:border-color .3s,background .3s,opacity .7s,transform .7s;width:100%;box-sizing:border-box}
.company-card.visible{opacity:1;transform:translateY(0)}
.company-card:nth-child(1){transition-delay:.05s}.company-card:nth-child(2){transition-delay:.1s}.company-card:nth-child(3){transition-delay:.15s}.company-card:nth-child(4){transition-delay:.2s}.company-card:nth-child(5){transition-delay:.25s}.company-card:nth-child(6){transition-delay:.3s}.company-card:nth-child(7){transition-delay:.35s}.company-card:nth-child(8){transition-delay:.4s}.company-card:nth-child(9){transition-delay:.45s}
.company-card:hover{background:#131920;border-color:#2A4060}
.company-num{font-family:'Cormorant Garamond',serif;font-size:.78rem;color:#6E9EC9;opacity:.35;letter-spacing:.12em}
.company-name{font-family:'Cormorant Garamond',serif;font-size:1.35rem;font-weight:300;color:#EBF0F5;line-height:1.2}
.company-rule{height:1px;background:#1A2535;margin:.3rem 0}
.company-type{font-size:.52rem;letter-spacing:.2em;text-transform:uppercase;color:#6E9EC9}
.company-owner{font-size:.5rem;letter-spacing:.15em;text-transform:uppercase;color:#EBF0F5;opacity:.28;display:flex;align-items:center;gap:.4rem}
.company-owner::before{content:'';display:inline-block;width:10px;height:1px;background:currentColor;opacity:.6}
.company-desc{font-size:.76rem;color:rgba(235,240,245,.55);line-height:1.75;font-weight:300;margin-top:.8rem;display:block}
.company-link{display:inline-flex;align-items:center;gap:.7rem;margin-top:1.2rem;font-size:.55rem;letter-spacing:.18em;text-transform:uppercase;color:#6E9EC9;opacity:.8;transition:opacity .3s,gap .3s}
.company-card:hover .company-link{opacity:1;gap:1rem}
@media(max-width:768px){.companies-grid{grid-template-columns:1fr}.companies{padding:6rem 2rem}}

/* ── PORTFOLIO ── */
.portfolio{padding:9rem 5rem;background:var(--dark)}
.portfolio-header{margin-bottom:5rem;display:flex;align-items:flex-end;justify-content:space-between;gap:2rem}
.portfolio-title{font-family:'Cormorant Garamond',serif;font-size:clamp(2.5rem,4.5vw,4rem);font-weight:300;line-height:1.1;color:var(--cream)}
.portfolio-title em{font-style:italic;color:var(--gold-light)}
.portfolio-filter{display:flex;gap:1rem;flex-wrap:wrap}
.filter-btn{font-size:.6rem;letter-spacing:.18em;text-transform:uppercase;color:var(--cream-muted);background:none;border:1px solid var(--border-soft);padding:.5rem 1.2rem;cursor:pointer;transition:color .3s,border-color .3s,background .3s;font-family:'DM Sans',sans-serif}
.filter-btn:hover,.filter-btn.active{color:var(--cyan);border-color:var(--cyan);background:rgba(122,132,148,.05)}
.portfolio-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--border)}
.portfolio-card{background:var(--dark);position:relative;overflow:hidden;opacity:0;transform:translateY(20px);transition:opacity .8s cubic-bezier(.25,.46,.45,.94),transform .8s cubic-bezier(.25,.46,.45,.94)}
.portfolio-card.visible{opacity:1;transform:translateY(0)}
.portfolio-card:nth-child(1){transition-delay:.04s}
.portfolio-card:nth-child(2){transition-delay:.1s}
.portfolio-card:nth-child(3){transition-delay:.16s}
.portfolio-card:nth-child(4){transition-delay:.22s}
.portfolio-card:nth-child(5){transition-delay:.28s}
.portfolio-card:nth-child(6){transition-delay:.34s}
.portfolio-card:nth-child(7){transition-delay:.4s}
.portfolio-card[data-hidden]{opacity:0;transform:scale(.96);pointer-events:none;transition:opacity .4s,transform .4s}
.portfolio-img{width:100%;aspect-ratio:4/3;background:var(--dark3);overflow:hidden;position:relative}
.portfolio-img-inner{width:100%;height:100%;background:var(--dark4);transition:transform .7s cubic-bezier(.25,.46,.45,.94);display:flex;align-items:center;justify-content:center}
.portfolio-card:hover .portfolio-img-inner{transform:scale(1.04)}
.portfolio-img-placeholder{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.8rem;background:linear-gradient(135deg,var(--dark3) 0%,var(--dark4) 100%);position:relative;overflow:hidden}
.portfolio-img-placeholder::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse 80% 60% at 50% 40%,rgba(110,158,201,.04) 0%,transparent 70%)}
.portfolio-img-placeholder svg{opacity:.18;transition:opacity .4s}
.portfolio-card:hover .portfolio-img-placeholder svg{opacity:.3}
.portfolio-img-label{font-size:.55rem;letter-spacing:.25em;text-transform:uppercase;color:var(--cream-muted);opacity:.35;transition:opacity .4s}
.portfolio-card:hover .portfolio-img-label{opacity:.6}
.portfolio-body{padding:2rem 2rem 2.2rem;position:relative}
.portfolio-body::before{content:'';position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,var(--cyan),transparent);transform:scaleX(0);transition:transform .6s cubic-bezier(.25,.46,.45,.94)}
.portfolio-card:hover .portfolio-body::before{transform:scaleX(1)}
.portfolio-tag{font-size:.55rem;letter-spacing:.22em;text-transform:uppercase;color:var(--gold);margin-bottom:.7rem;opacity:.7}
.portfolio-name{font-family:'Cormorant Garamond',serif;font-size:1.5rem;font-weight:300;color:var(--cream);line-height:1.2;margin-bottom:.4rem;transition:color .4s}
.portfolio-card:hover .portfolio-name{color:var(--gold-light)}
.portfolio-location{font-size:.72rem;color:var(--cream-muted);margin-bottom:.9rem;letter-spacing:.03em}
.portfolio-desc{font-size:.77rem;color:var(--cream-muted);line-height:1.85;font-weight:300;transition:color .4s}
.portfolio-card:hover .portfolio-desc{color:var(--cream-mid)}
.portfolio-meta{display:flex;gap:1.5rem;margin-top:1.2rem;padding-top:1.2rem;border-top:1px solid var(--border-soft)}
.portfolio-meta-item{display:flex;flex-direction:column;gap:.25rem}
.portfolio-meta-label{font-size:.52rem;letter-spacing:.18em;text-transform:uppercase;color:var(--gold);opacity:.5}
.portfolio-meta-value{font-size:.75rem;color:var(--cream-mid)}

/* wide card spanning 2 cols */
.portfolio-card.wide{grid-column:span 2}
.portfolio-card.wide .portfolio-img{aspect-ratio:16/7}

@media(max-width:900px){
  .portfolio{padding:5rem 1.8rem}
  .portfolio-grid{grid-template-columns:1fr}
  .portfolio-card.wide{grid-column:span 1}
  .portfolio-card.wide .portfolio-img{aspect-ratio:4/3}
  .portfolio-header{flex-direction:column;align-items:flex-start}
}
.legacy{padding:9rem 5rem;display:grid;grid-template-columns:1fr 2fr;gap:6rem;align-items:start}
.legacy-title{font-family:'Cormorant Garamond',serif;font-size:clamp(3rem,5vw,5rem);font-weight:300;line-height:1;color:var(--cream);margin-top:1rem}
.legacy-title em{font-style:italic;color:var(--gold-light);display:block}
.legacy-right{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}
.stat-card{background:var(--dark3);border:1px solid var(--border);padding:2.5rem;position:relative;overflow:hidden;opacity:0;transform:translateY(28px) scale(.98);transition:opacity .8s cubic-bezier(.25,.46,.45,.94),transform .8s cubic-bezier(.25,.46,.45,.94),background .4s,box-shadow .4s,border-color .4s}
.stat-card.visible{opacity:1;transform:translateY(0) scale(1)}
.stat-card:nth-child(1){transition-delay:.05s}
.stat-card:nth-child(2){transition-delay:.12s}
.stat-card:nth-child(3){transition-delay:.19s}
.stat-card:nth-child(4){transition-delay:.26s}
.stat-card:nth-child(5){transition-delay:.33s}
.stat-card:nth-child(6){transition-delay:.4s}
.stat-card::after{content:'';position:absolute;bottom:-20px;right:-20px;width:90px;height:90px;background:radial-gradient(circle,rgba(110,158,201,.05),transparent 70%);transition:transform .6s cubic-bezier(.25,.46,.45,.94),opacity .4s}
.stat-card:hover{background:#191E26;border-color:rgba(110,158,201,.22);box-shadow:0 12px 40px rgba(0,0,0,.3),inset 0 1px 0 rgba(110,158,201,.08)}
.stat-card:hover::after{transform:scale(1.8);opacity:1.5}
.stat-big{font-family:'Cormorant Garamond',serif;font-size:3.5rem;font-weight:300;color:var(--cream);line-height:1;margin-bottom:.4rem;transition:color .4s}
.stat-card:hover .stat-big{color:var(--cyan)}
.stat-big span{color:var(--gold);font-size:2rem}
.stat-label{font-size:.62rem;letter-spacing:.18em;text-transform:uppercase;color:var(--cream-muted);line-height:1.6;transition:color .4s}
.stat-card:hover .stat-label{color:var(--cream-mid)}

/* counting animation */
.count-num{display:inline}

/* ── CONTACT ── */
.contact{padding:9rem 5rem;background:var(--dark2);display:grid;grid-template-columns:1fr 1fr 1.4fr;gap:5rem;align-items:start}
.contact-title{font-family:'Cormorant Garamond',serif;font-size:clamp(2.5rem,4.5vw,4rem);font-weight:300;line-height:1.1;color:var(--cream);margin-bottom:1.5rem}
.contact-title em{font-style:italic;color:var(--gold-light)}
.contact-desc{font-size:.85rem;color:var(--cream-mid);line-height:1.9;max-width:400px}
.contact-right{display:flex;flex-direction:column;gap:0}
.contact-item{padding:1.8rem 0;border-bottom:1px solid var(--border-soft);opacity:0;transform:translateX(20px);transition:opacity .8s cubic-bezier(.25,.46,.45,.94),transform .8s cubic-bezier(.25,.46,.45,.94)}
.contact-item.visible{opacity:1;transform:translateX(0)}
.contact-item:nth-child(1){transition-delay:.05s}
.contact-item:nth-child(2){transition-delay:.15s}
.contact-item:nth-child(3){transition-delay:.25s}
.contact-item:nth-child(4){transition-delay:.35s}
.contact-item:first-child{border-top:1px solid var(--border-soft)}
.contact-item-label{font-size:.58rem;letter-spacing:.25em;text-transform:uppercase;color:var(--gold);margin-bottom:.5rem}
.contact-item-value{font-family:'Cormorant Garamond',serif;font-size:1.4rem;font-weight:300;color:var(--cream);text-decoration:none;transition:color .4s,letter-spacing .4s;display:block}
a.contact-item-value:hover{color:var(--cyan);letter-spacing:.02em}

/* ── INQUIRY FORM ── */
.contact-form{display:flex;flex-direction:column;gap:0;opacity:0;transform:translateY(24px);transition:opacity .9s cubic-bezier(.25,.46,.45,.94) .2s,transform .9s cubic-bezier(.25,.46,.45,.94) .2s}
.contact-form.visible{opacity:1;transform:translateY(0)}
.contact-form-label{font-size:.58rem;letter-spacing:.25em;text-transform:uppercase;color:var(--gold);margin-bottom:2rem;display:flex;align-items:center;gap:.7rem}
.contact-form-label::before{content:'';display:inline-block;width:10px;height:1px;background:var(--gold)}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--border)}
.form-row.full{grid-template-columns:1fr}
.form-field{background:var(--dark3);padding:1.2rem 1.4rem;position:relative;transition:background .3s}
.form-field:focus-within{background:var(--dark4)}
.form-field label{display:block;font-size:.52rem;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);opacity:.6;margin-bottom:.4rem;transition:opacity .3s}
.form-field:focus-within label{opacity:1}
.form-field input,.form-field textarea,.form-field select{width:100%;background:none;border:none;outline:none;font-family:'DM Sans',sans-serif;font-size:.85rem;font-weight:300;color:var(--cream);line-height:1.6;resize:none}
.form-field input::placeholder,.form-field textarea::placeholder{color:var(--cream-muted);opacity:.4}
.form-field textarea{min-height:100px}
.form-field select{cursor:pointer;appearance:none;-webkit-appearance:none}
.form-field select option{background:var(--dark3);color:var(--cream)}
.form-submit{background:none;border:1px solid var(--border);padding:1.2rem 1.4rem;cursor:pointer;font-family:'DM Sans',sans-serif;font-size:.62rem;letter-spacing:.25em;text-transform:uppercase;color:var(--gold);display:flex;align-items:center;justify-content:space-between;gap:1rem;transition:background .4s,border-color .4s,gap .4s cubic-bezier(.25,.46,.45,.94);margin-top:1px;width:100%}
.form-submit:hover{background:rgba(122,132,148,.05);border-color:var(--cyan);gap:2rem}
.form-submit-arrow{font-size:1rem;transition:transform .4s cubic-bezier(.25,.46,.45,.94)}
.form-submit:hover .form-submit-arrow{transform:translateX(6px)}
.form-success{display:none;padding:2rem;background:rgba(122,132,148,.04);border:1px solid rgba(122,132,148,.2);text-align:center}
.form-success.show{display:block}
.form-success p{font-family:'Cormorant Garamond',serif;font-size:1.4rem;font-weight:300;color:var(--cream-mid)}

@media(max-width:900px){
  .contact{grid-template-columns:1fr;gap:3.5rem}
  .form-row{grid-template-columns:1fr}
}

/* ── BOLD & STRUCTURAL OVERRIDES ── */
.hero, .project-hero, body:not(.home) section:first-of-type, body:not(.home) main:first-of-type {
    background-image: linear-gradient(rgba(110,158,201,.04) 1px, transparent 1px), linear-gradient(90deg, rgba(110,158,201,.04) 1px, transparent 1px) !important;
    background-size: 80px 80px !important;
}
.hero-grid{background-size:80px 80px;background-image:linear-gradient(rgba(110,158,201,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(110,158,201,.07) 1px,transparent 1px)}
.section-label{font-size:.58rem;letter-spacing:.4em;border-left:2px solid var(--gold);padding-left:.8rem;margin-bottom:2rem}
.section-label::before{display:none}
.section-label-text{opacity:1;transform:none;transition:none}
.section-label.line-drawn .section-label-text{opacity:1;transform:none}
.stat-big{font-size:4.5rem}
.hero-eyebrow::before{display:none}
.hero-eyebrow{border-left:2px solid var(--gold);padding-left:.9rem;letter-spacing:.3em}

/* ── TEAM ── */
.team{padding:9rem 5rem;background:var(--dark2);position:relative;overflow:hidden}
.team-bg-num{font-family:'Cormorant Garamond',serif;font-size:clamp(12rem,22vw,22rem);font-weight:300;line-height:1;color:var(--gold);opacity:.03;position:absolute;right:-2rem;top:50%;transform:translateY(-50%);letter-spacing:-.04em;pointer-events:none;user-select:none}
.team-header{margin-bottom:5rem;position:relative}
.team-title{font-family:'Cormorant Garamond',serif;font-size:clamp(2.5rem,4.5vw,4rem);font-weight:300;line-height:1.1;color:var(--cream)}
.team-title em{font-style:italic;color:var(--gold-light)}
.team-intro{font-size:.88rem;color:var(--cream-mid);max-width:520px;line-height:1.9;margin-top:1.2rem}
.team-dept{margin-bottom:5rem}
.team-dept:last-child{margin-bottom:0}
.team-dept-header{display:flex;align-items:center;gap:1.5rem;margin-bottom:2.5rem;padding-bottom:1rem;border-bottom:1px solid var(--border)}
.team-dept-num{font-family:'Cormorant Garamond',serif;font-size:1rem;color:var(--gold);opacity:.5;letter-spacing:.1em;min-width:2.5rem}
.team-dept-name{font-size:.62rem;letter-spacing:.35em;text-transform:uppercase;color:var(--gold);font-weight:500}
.team-dept-line{flex:1;height:1px;background:var(--border)}
.team-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;background:transparent}
.team-member{background:#10141A;border:1px solid #1A2535;position:relative;overflow:hidden;opacity:0;transform:translateY(20px);transition:opacity .7s cubic-bezier(.25,.46,.45,.94),transform .7s cubic-bezier(.25,.46,.45,.94),background .4s,border-color .3s}
.team-member.visible{opacity:1;transform:translateY(0)}
.team-member:nth-child(1){transition-delay:.05s}
.team-member:nth-child(2){transition-delay:.12s}
.team-member:nth-child(3){transition-delay:.19s}
.team-member:nth-child(4){transition-delay:.26s}
.team-member:hover{background:#131920;border-color:#2A4060}
.team-member-photo{width:100%;aspect-ratio:16/11;background:var(--dark3);position:relative;overflow:hidden}
.team-member-photo-inner{width:100%;height:100%;background:linear-gradient(160deg,var(--dark3) 0%,var(--dark4) 100%);display:flex;align-items:center;justify-content:center;transition:transform .6s cubic-bezier(.25,.46,.45,.94)}
.team-member:hover .team-member-photo-inner{transform:scale(1.03)}
.team-member-photo-inner svg{opacity:.12;transition:opacity .4s}
.team-member:hover .team-member-photo-inner svg{opacity:.22}
.team-member-photo::after{content:'';position:absolute;bottom:0;left:0;right:0;height:40%;background:linear-gradient(transparent,var(--dark3));pointer-events:none}
.team-member-info{padding:1.4rem 1.6rem 1.8rem}
.team-member-name{font-family:'Cormorant Garamond',serif;font-size:1.3rem;font-weight:300;color:var(--cream);line-height:1.2;margin-bottom:.3rem;transition:color .4s}
.team-member:hover .team-member-name{color:var(--cyan)}
.team-member-role{font-size:.6rem;letter-spacing:.18em;text-transform:uppercase;color:var(--gold);opacity:.7}
.team-member.lead{grid-column:span 2}
.team-member.lead .team-member-photo{aspect-ratio:16/11}
.team-member.lead .team-member-name{font-size:1.8rem}
@media(max-width:900px){
  .team{padding:5rem 2rem}
  .team-grid{grid-template-columns:1fr 1fr}
  .team-member.lead{grid-column:span 2}
}

.brands-strip{padding:3.5rem 5rem;border-top:1px solid var(--border);border-bottom:1px solid var(--border);background:var(--dark2);display:flex;align-items:center;gap:1rem;overflow:hidden}
.brands-strip-label{font-size:.55rem;letter-spacing:.28em;text-transform:uppercase;color:var(--cream-muted);opacity:.45;white-space:nowrap;margin-right:1rem;flex-shrink:0}
.brands-divider{width:1px;height:28px;background:var(--border);flex-shrink:0}
.brands-list{display:flex;align-items:center;gap:0;flex:1}
.brand-link{font-family:'Cormorant Garamond',serif;font-size:1.15rem;font-weight:300;letter-spacing:.1em;color:var(--cream-muted);text-decoration:none;padding:.6rem 2rem;position:relative;transition:color .4s;white-space:nowrap;opacity:.5}
.brand-link::after{content:'';position:absolute;bottom:0;left:50%;transform:translateX(-50%);width:0;height:1px;background:var(--gold);transition:width .5s cubic-bezier(.25,.46,.45,.94)}
.brand-link:hover{color:var(--cyan);opacity:1}
.brand-link:hover::after{width:60%}
.brand-sep{color:var(--border);font-size:.8rem;opacity:.6;user-select:none;flex-shrink:0}
footer{padding:3rem 5rem;display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--border-soft)}
.footer-logo{font-family:'Cormorant Garamond',serif;font-size:1.1rem;font-weight:300;letter-spacing:.15em;color:var(--cream-muted)}
.footer-logo span{color:var(--gold)}
.footer-copy{font-size:.62rem;letter-spacing:.1em;color:var(--cream-muted);opacity:.45}
.footer-social{display:flex;gap:1.5rem}
.footer-social a{font-size:.58rem;letter-spacing:.18em;text-transform:uppercase;color:var(--cream-muted);text-decoration:none;transition:color .4s;opacity:.55;position:relative}
.footer-social a::after{content:'';position:absolute;bottom:-2px;left:0;width:0;height:1px;background:var(--gold);transition:width .4s cubic-bezier(.25,.46,.45,.94)}
.footer-social a:hover{color:var(--cyan);opacity:1}
.footer-social a:hover::after{width:100%}

/* ── PORTFOLIO (PROJECTS) ── */
.portfolio{padding:9rem 5rem;background:var(--dark);position:relative;overflow:hidden}
.portfolio-header{margin-bottom:4rem}
.portfolio-tabs{display:flex;flex-wrap:wrap;gap:0;margin-bottom:4rem;justify-content:flex-start}
.portfolio-tab{flex:auto;min-width:160px;padding:1.2rem 2.5rem;background:var(--dark2);font-size:.6rem;letter-spacing:.22em;text-transform:uppercase;color:var(--cream-muted);cursor:pointer;border:none;border-bottom:1px solid var(--border);font-family:'DM Sans',sans-serif;transition:background .3s,color .3s;text-align:center}
.portfolio-tab.active,.portfolio-tab:hover{background:var(--dark3);color:var(--gold-light)}
.portfolio-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--border)}
.project-card{background:var(--dark2);position:relative;overflow:hidden;opacity:0;transform:translateY(20px);transition:opacity .8s cubic-bezier(.25,.46,.45,.94),transform .8s cubic-bezier(.25,.46,.45,.94),background .4s}
.project-card.visible{opacity:1;transform:translateY(0)}
.project-card:hover{background:var(--dark3)}
.project-img{width:100%;aspect-ratio:16/10;background:var(--dark3);display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden}
.project-img-inner{width:100%;height:100%;background:linear-gradient(135deg,var(--dark3),var(--dark4));display:flex;align-items:center;justify-content:center;transition:transform .6s cubic-bezier(.25,.46,.45,.94)}
.project-card:hover .project-img-inner{transform:scale(1.03)}
.project-img-label{font-size:.52rem;letter-spacing:.25em;text-transform:uppercase;color:var(--cream-muted);opacity:.3}
.project-img::after{content:'';position:absolute;bottom:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,var(--gold),transparent);transform:scaleX(0);transition:transform .6s cubic-bezier(.25,.46,.45,.94)}
.project-card:hover .project-img::after{transform:scaleX(1)}
.project-body{padding:1.8rem 2rem 2.2rem}
.project-tag{font-size:.52rem;letter-spacing:.22em;text-transform:uppercase;color:var(--gold);opacity:.7;margin-bottom:.6rem}
.project-name{font-family:'Cormorant Garamond',serif;font-size:1.5rem;font-weight:300;color:var(--cream);line-height:1.2;margin-bottom:.3rem;transition:color .4s}
.project-card:hover .project-name{color:var(--gold-light)}
.project-location{font-size:.7rem;color:var(--cream-muted);margin-bottom:.9rem}
.project-desc{font-size:.77rem;color:var(--cream-muted);line-height:1.85;font-weight:300}
.project-meta{display:flex;gap:2rem;margin-top:1.2rem;padding-top:1.2rem;border-top:1px solid var(--border-soft)}
.project-meta-item{display:flex;flex-direction:column;gap:.2rem}
.project-meta-label{font-size:.5rem;letter-spacing:.18em;text-transform:uppercase;color:var(--gold);opacity:.5}
.project-meta-value{font-size:.75rem;color:var(--cream-mid);font-family:'Cormorant Garamond',serif;font-size:1rem;font-weight:300}

/* ── PIPELINE ── */
.pipeline{padding:9rem 5rem;background:var(--dark2);position:relative;overflow:hidden}
.pipeline-header{margin-bottom:5rem}
.pipeline-title{font-family:'Cormorant Garamond',serif;font-size:clamp(2.5rem,4.5vw,4rem);font-weight:300;line-height:1.1;color:var(--cream)}
.pipeline-title em{font-style:italic;color:var(--gold-light)}
.pipeline-stages{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--border);margin-bottom:4rem}
.pipeline-stage{background:var(--dark2);padding:2rem 2.5rem;position:relative}
.pipeline-stage-num{font-family:'Cormorant Garamond',serif;font-size:3rem;font-weight:300;color:var(--gold);opacity:.15;line-height:1;margin-bottom:.5rem}
.pipeline-stage-name{font-size:.6rem;letter-spacing:.28em;text-transform:uppercase;color:var(--gold);margin-bottom:.6rem}
.pipeline-stage-count{font-family:'Cormorant Garamond',serif;font-size:2rem;font-weight:300;color:var(--cream)}
.pipeline-stage-label{font-size:.62rem;color:var(--cream-muted);letter-spacing:.05em}
.pipeline-table{width:100%;border-collapse:collapse}
.pipeline-table th{font-size:.55rem;letter-spacing:.25em;text-transform:uppercase;color:var(--gold);opacity:.6;padding:.8rem 1.5rem;text-align:left;border-bottom:1px solid var(--border)}
.pipeline-table td{font-size:.82rem;color:var(--cream-mid);padding:1.2rem 1.5rem;border-bottom:1px solid var(--border-soft);font-weight:300;transition:color .3s}
.pipeline-table tr:hover td{color:var(--cream);background:rgba(110,158,201,.02)}
.pipeline-table td:first-child{font-family:'Cormorant Garamond',serif;font-size:1.1rem;font-weight:300;color:var(--cream)}
.pipeline-badge{display:inline-block;font-size:.5rem;letter-spacing:.18em;text-transform:uppercase;padding:.3rem .7rem;border:1px solid;border-radius:0}
.badge-acquisition{color:#6E9EC9;border-color:rgba(110,158,201,.3)}
.badge-entitlement{color:#9AC2E2;border-color:rgba(154,194,226,.3)}
.badge-construction{color:var(--cyan);border-color:rgba(122,132,148,.3)}
.badge-stabilized{color:#7FC97F;border-color:rgba(127,201,127,.3)}

/* ── INVEST / CAPITAL ── */
.invest{padding:9rem 5rem;background:var(--dark);position:relative;overflow:hidden}
.invest-header{margin-bottom:5rem}
.invest-title{font-family:'Cormorant Garamond',serif;font-size:clamp(2.5rem,4.5vw,4rem);font-weight:300;line-height:1.1;color:var(--cream)}
.invest-title em{font-style:italic;color:var(--gold-light)}
.invest-grid{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--border);margin-bottom:4rem}
.invest-card{background:var(--dark2);padding:3rem;position:relative;overflow:hidden;opacity:0;transform:translateY(20px);transition:opacity .8s cubic-bezier(.25,.46,.45,.94),transform .8s cubic-bezier(.25,.46,.45,.94)}
.invest-card.visible{opacity:1;transform:translateY(0)}
.invest-card-num{font-family:'Cormorant Garamond',serif;font-size:.85rem;color:var(--gold);opacity:.35;letter-spacing:.12em;margin-bottom:1.2rem}
.invest-card-title{font-family:'Cormorant Garamond',serif;font-size:1.6rem;font-weight:300;color:var(--cream);margin-bottom:.8rem}
.invest-card-desc{font-size:.8rem;color:var(--cream-muted);line-height:1.9}
.invest-card-detail{font-size:.72rem;color:var(--gold-light);margin-top:1rem;font-family:'Cormorant Garamond',serif;font-size:1rem;font-weight:300;opacity:.7}
.invest-cta{display:flex;gap:1px;background:var(--border)}
.invest-cta-btn{flex:1;padding:1.5rem 2.5rem;background:var(--dark2);font-size:.62rem;letter-spacing:.25em;text-transform:uppercase;color:#FFFFFF;text-decoration:none;display:flex;align-items:center;justify-content:space-between;transition:background .4s,color .4s}
.invest-cta-btn:hover{background:var(--dark3);color:var(--gold-light)}

/* ── CREDENTIALS ── */
.credentials{padding:9rem 5rem;background:var(--dark2);position:relative;overflow:hidden}
.credentials-header{margin-bottom:5rem}
.credentials-title{font-family:'Cormorant Garamond',serif;font-size:clamp(2.5rem,4.5vw,4rem);font-weight:300;line-height:1.1;color:var(--cream)}
.credentials-title em{font-style:italic;color:var(--gold-light)}
.credentials-grid{display:grid;grid-template-columns:1fr 1fr;gap:4rem}
.credentials-col-title{font-size:.6rem;letter-spacing:.32em;text-transform:uppercase;color:var(--gold);margin-bottom:2rem;padding-bottom:.8rem;border-bottom:1px solid var(--border)}
.credential-item{padding:1rem 0;border-bottom:1px solid var(--border-soft);display:flex;align-items:center;gap:1rem;opacity:0;transform:translateX(16px);transition:opacity .7s cubic-bezier(.25,.46,.45,.94),transform .7s cubic-bezier(.25,.46,.45,.94)}
.credential-item.visible{opacity:1;transform:translateX(0)}
.credential-dot{width:4px;height:4px;background:var(--gold);border-radius:50%;flex-shrink:0;opacity:.5}
.credential-text{font-size:.8rem;color:var(--cream-mid);line-height:1.6}

/* ── MARKET THESIS ── */
.thesis{padding:9rem 5rem;background:var(--dark);position:relative;overflow:hidden}
.thesis-header{margin-bottom:5rem}
.thesis-title{font-family:'Cormorant Garamond',serif;font-size:clamp(2.5rem,4.5vw,4rem);font-weight:300;line-height:1.1;color:var(--cream)}
.thesis-title em{font-style:italic;color:var(--gold-light)}
.thesis-grid{display:grid;grid-template-columns:1fr 1fr;gap:7rem;align-items:start}
.thesis-body{font-size:.88rem;color:var(--cream-mid);line-height:2;font-weight:300}
.thesis-body p+p{margin-top:1.2rem}
.thesis-markets{display:flex;flex-direction:column;gap:1px;background:var(--border)}
.thesis-market{background:var(--dark2);padding:1.8rem 2.5rem;display:grid;grid-template-columns:auto 1fr auto;gap:1.5rem;align-items:center;opacity:0;transform:translateX(20px);transition:opacity .7s cubic-bezier(.25,.46,.45,.94),transform .7s cubic-bezier(.25,.46,.45,.94),background .3s}
.thesis-market.visible{opacity:1;transform:translateX(0)}
.thesis-market:hover{background:var(--dark3)}
.thesis-market-num{font-family:'Cormorant Garamond',serif;font-size:.85rem;color:var(--gold);opacity:.4;letter-spacing:.1em}
.thesis-market-name{font-size:.85rem;color:var(--cream);font-weight:400;letter-spacing:.02em}
.thesis-market-tag{font-size:.52rem;letter-spacing:.18em;text-transform:uppercase;color:var(--gold);opacity:.6}

/* ── DOWNLOADS ── */
.downloads{padding:6rem 5rem;background:var(--dark2);position:relative;overflow:hidden}
.downloads-title{font-family:'Cormorant Garamond',serif;font-size:clamp(2rem,3.5vw,3rem);font-weight:300;line-height:1.1;color:var(--cream);margin-bottom:3rem}
.downloads-title em{font-style:italic;color:var(--gold-light)}
.downloads-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--border)}
.download-item{background:var(--dark2);padding:2.5rem;display:flex;flex-direction:column;gap:1.2rem;transition:background .4s;cursor:pointer;text-decoration:none;color:inherit}
.download-item:hover{background:var(--dark3)}
.download-icon{width:40px;height:40px;border:1px solid var(--border);display:flex;align-items:center;justify-content:center;transition:border-color .4s}
.download-item:hover .download-icon{border-color:var(--gold)}
.download-name{font-family:'Cormorant Garamond',serif;font-size:1.3rem;font-weight:300;color:var(--cream);transition:color .4s}
.download-item:hover .download-name{color:var(--gold-light)}
.download-desc{font-size:.75rem;color:var(--cream-muted);line-height:1.8}
.download-cta{font-size:.58rem;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);opacity:.5;display:flex;align-items:center;gap:.5rem;transition:opacity .4s,gap .4s cubic-bezier(.25,.46,.45,.94)}
.download-item:hover .download-cta{opacity:1;gap:.9rem}

/* ── LOGO ── */
.nav-logo-icon{width:28px;height:28px;flex-shrink:0;margin-right:.3rem}

/* ── QUOTES ── */
.quotes{padding:9rem 5rem;background:var(--dark3);position:relative;overflow:hidden}
.quotes-header{margin-bottom:5rem}
.quotes-title{font-family:"Cormorant Garamond",serif;font-size:clamp(2.5rem,4.5vw,4rem);font-weight:300;line-height:1.1;color:var(--cream)}
.quotes-title em{font-style:italic;color:var(--gold-light)}
.quotes-track{display:grid;grid-template-columns:repeat(3,1fr);gap:3rem;background:transparent}
.quote-card{background:transparent;padding:2.5rem 0;position:relative;opacity:0;transform:translateY(24px);transition:opacity .8s cubic-bezier(.25,.46,.45,.94),transform .8s cubic-bezier(.25,.46,.45,.94);border-top:1px solid rgba(110,158,201,.2)}
.quote-card.visible{opacity:1;transform:translateY(0)}
.quote-mark{font-family:'Cormorant Garamond',serif;font-size:4rem;line-height:.7;color:var(--gold);opacity:.25;margin-bottom:1.2rem;display:block}
.quote-text{font-family:'Cormorant Garamond',serif;font-size:1.15rem;font-weight:300;color:var(--cream);line-height:1.8;font-style:italic;margin-bottom:2rem}
.quote-author{display:flex;flex-direction:column;gap:.3rem}
.quote-author-name{font-size:.78rem;font-weight:500;color:var(--cream);letter-spacing:.04em}
.quote-author-role{font-size:.58rem;letter-spacing:.18em;text-transform:uppercase;color:var(--gold);opacity:.55}

/* ── MAP ── */
.project-map{padding:9rem 5rem;background:var(--dark2);position:relative;overflow:hidden}
.project-map-header{margin-bottom:4rem}
.project-map-title{font-family:"Cormorant Garamond",serif;font-size:clamp(2.5rem,4.5vw,4rem);font-weight:300;line-height:1.1;color:var(--cream)}
.project-map-title em{font-style:italic;color:var(--gold-light)}
.map-container{position:relative;width:100%;height:520px;background:var(--dark3);border:1px solid var(--border);overflow:hidden}
.map-iframe{width:100%;height:100%;border:0;filter:invert(0.9) hue-rotate(195deg) brightness(0.8) saturate(1.3);opacity:.85}
.map-legend{display:flex;gap:2.5rem;margin-top:1.5rem;flex-wrap:wrap}
.map-legend-item{display:flex;align-items:center;gap:.6rem;font-size:.62rem;letter-spacing:.15em;text-transform:uppercase;color:var(--cream-muted)}
.map-legend-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}
.dot-dev{background:#6E9EC9}.dot-built{background:var(--cyan)}.dot-both{background:var(--gold-light)}

/* ── PRIVACY ── */
.privacy{padding:9rem 5rem;background:var(--dark);min-height:100vh;display:none}
.privacy.active{display:block}
.privacy-title{font-family:"Cormorant Garamond",serif;font-size:clamp(2.5rem,4vw,3.5rem);font-weight:300;color:var(--cream);margin-bottom:.8rem}
.privacy-date{font-size:.65rem;letter-spacing:.2em;text-transform:uppercase;color:var(--cream-muted);opacity:.5;margin-bottom:4rem}
.privacy-body{max-width:780px}
.privacy-body h2{font-family:"Cormorant Garamond",serif;font-size:1.4rem;font-weight:300;color:var(--cream);margin:2.5rem 0 .8rem}
.privacy-body p{font-size:.85rem;color:var(--cream-mid);line-height:2;font-weight:300;margin-bottom:1rem}
.privacy-body a{color:var(--gold-light);text-decoration:none}
.privacy-back{display:inline-flex;align-items:center;gap:.6rem;font-size:.62rem;letter-spacing:.22em;text-transform:uppercase;color:var(--gold);cursor:pointer;margin-bottom:3rem;background:none;border:none;font-family:"DM Sans",sans-serif;padding:0}

@media(max-width:900px){
  .portfolio,.pipeline,.invest,.credentials,.thesis,.downloads{padding:5rem 1.5rem}
  .portfolio-grid,.invest-grid,.credentials-grid,.downloads-grid,.quotes-track{grid-template-columns:1fr !important}
  .pipeline-stages{grid-template-columns:1fr 1fr !important}
  .thesis-grid{grid-template-columns:1fr !important;gap:3rem}
  
  #nav,#nav.scrolled{padding:1.4rem 1.8rem}
  .hero{padding:0 1.8rem 5rem}
  .hero-aside{display:none}
  .about,.companies,.legacy,.contact{padding:5rem 1.8rem;grid-template-columns:1fr !important;gap:3.5rem}
  .companies-grid{grid-template-columns:1fr !important}
  .legacy-right{grid-template-columns:1fr 1fr !important}
  .gold-rule{margin:0 1.8rem}
  footer{padding:2rem 1.8rem;flex-direction:column;gap:1.5rem;text-align:center}
  .brands-strip{padding:2.5rem 1.8rem;flex-wrap:wrap;gap:1rem}
  .brands-list{flex-wrap:wrap;justify-content:center}
  .brand-link{padding:.5rem 1rem;font-size:1rem}
}

@media(max-width:600px){
  .team-grid, .pipeline-stages, .legacy-right{grid-template-columns:1fr !important;}
  .stat-card{padding:1.5rem;}
  .about-featured-img{aspect-ratio: 1/1 !important;}
  .td-modal-content{padding:2rem 1.5rem;}
}

/* ── MODAL ── */
.td-modal-overlay{position:fixed;inset:0;background:rgba(11,13,16,0.95);backdrop-filter:blur(10px);z-index:9999;display:flex;align-items:center;justify-content:center;opacity:0;pointer-events:none;transition:opacity .4s cubic-bezier(.25,.46,.45,.94)}
.td-modal-overlay.active{opacity:1;pointer-events:auto}
.td-modal-content{background:var(--dark2);border:1px solid var(--border);max-width:600px;width:90%;max-height:85vh;overflow-y:auto;padding:3rem 3.5rem;position:relative;transform:translateY(20px) scale(.98);transition:transform .4s cubic-bezier(.25,.46,.45,.94),opacity .4s;opacity:0}
.td-modal-overlay.active .td-modal-content{transform:translateY(0) scale(1);opacity:1}
.td-modal-close{position:absolute;top:1.5rem;right:1.5rem;background:none;border:none;color:var(--cream-muted);font-size:1.5rem;cursor:pointer;transition:color .3s}
.td-modal-close:hover{color:var(--gold)}
.td-modal-header{margin-bottom:2rem;border-bottom:1px solid var(--border-soft);padding-bottom:1.5rem}
.td-modal-name{font-family:'Cormorant Garamond',serif;font-size:2.2rem;font-weight:300;color:var(--cream);line-height:1.2;margin-bottom:.3rem}
.td-modal-role{font-size:.65rem;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);opacity:.8}
.td-modal-body{font-size:.85rem;color:var(--cream-mid);line-height:1.9;font-weight:300}
.td-modal-body p{margin-bottom:1rem}
.team-member{cursor:pointer;}
.team-member:hover .team-member-name{color:var(--gold-light)}

/* WordPress Admin Bar Fix */
body.admin-bar #nav { top: 32px; }
@media screen and (max-width: 782px) {
  body.admin-bar #nav { top: 46px; }
}

/* Nav Toggle for Mobile */
.nav-toggle { display: none; background: none; border: none; cursor: pointer; padding: 0.5rem; flex-direction: column; gap: 5px; }
.nav-toggle span { display: block; width: 25px; height: 2px; background: var(--cream); transition: 0.3s; }
@media (max-width: 900px) {
  .nav-toggle { display: flex; z-index: 101; }
  .nav-links { position: fixed; top: 0; right: -100%; width: 80%; height: 100vh; background: var(--dark2); flex-direction: column; padding: 6rem 2rem; transition: 0.4s; gap: 1rem; overflow-y: auto; }
  .nav-links.active { right: 0; }
  .nav-links li { width: 100%; }
  .nav-links a { font-size: 1.2rem; padding: 0.5rem 0; width: 100%; }
  .nav-links .sub-menu { 
    position: static; 
    opacity: 1; 
    visibility: visible; 
    transform: none; 
    background: none; 
    border: none; 
    padding: 0 0 0 1.5rem; 
    min-width: 0;
    display: block;
    backdrop-filter: none;
  }
  .nav-links .sub-menu a { font-size: 0.9rem; color: var(--cream-muted); padding: 0.4rem 0; }
  .nav-links .sub-menu a:hover { padding-left: 0.5rem; }
}

/* ── SINGLE PROJECT ── */
.single-project { margin-top: 120px; padding-bottom: 10rem; }
.project-hero { padding: 0 5rem; margin-bottom: 6rem; }
.project-hero-header { margin-bottom: 3rem; }
.project-title { font-family: 'Cormorant Garamond', serif; font-size: clamp(3rem, 6vw, 5.5rem); font-weight: 300; line-height: 1; color: var(--cream); margin-top: 1rem; }
.project-meta-strip { display: flex; gap: 5rem; padding: 2rem 0; border-top: 1px solid var(--border); border-bottom: 1px solid var(--border); }
.p-meta-label { font-size: .55rem; letter-spacing: .25em; text-transform: uppercase; color: var(--gold); margin-bottom: .5rem; }
.p-meta-value { font-size: 1.1rem; color: var(--cream-mid); font-family: 'Cormorant Garamond', serif; }
.project-content-grid { display: grid; grid-template-columns: 1.2fr 0.8fr; gap: 8rem; padding: 0 5rem; margin-bottom: 8rem; }
.p-content-label { font-size: .6rem; letter-spacing: .3em; text-transform: uppercase; color: var(--gold); opacity: .5; margin-bottom: 2rem; }
.entry-content { font-size: 1.1rem; color: var(--cream-mid); line-height: 1.9; font-weight: 300; }
.p-img-wrapper { position: relative; aspect-ratio: 3/4; overflow: hidden; }
.project-gallery-section { padding: 0 5rem; }
.project-gallery-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 2rem; }
.gallery-item { aspect-ratio: 16/10; overflow: hidden; }
.gallery-item img { width: 100%; height: 100%; object-fit: cover; transition: transform .8s ease; }
.gallery-item:hover img { transform: scale(1.05); }
.project-navigation { margin-top: 10rem; padding: 0 5rem; text-align: center; }

@media (max-width: 900px) {
  .single-project { margin-top: 80px; }
  .project-hero, .project-content-grid, .project-gallery-section, .project-navigation { padding: 0 1.8rem; }
  .project-meta-strip { flex-direction: column; gap: 2rem; }
  .project-content-grid { grid-template-columns: 1fr; gap: 4rem; }
  .project-gallery-grid { grid-template-columns: 1fr; }
}
