:root{
  --cream:#f5f2ee;
  --deep-teal:#1a363e;
  --teal:#2b8998;
  --gold:#c9a84c;
  --peach:#d89a7d;
  --charcoal:#1e1e1e;
  --mid:#5a5a5a;
  --light:#9a9a9a;
  --border:rgba(26,54,62,0.13);
}
body{font-family:'DM Sans',sans-serif;background:var(--cream);color:var(--charcoal);overflow-x:hidden;}
a{text-decoration:none;color:inherit;}

/* NAV */
nav{position:fixed;top:0;left:0;right:0;z-index:100;padding:14px 5vw;display:flex;align-items:center;justify-content:space-between;background:rgba(245,242,238,0.96);backdrop-filter:blur(12px);border-bottom:0.5px solid var(--border);}
.nav-logo img{height:52px;width:auto;display:block;}
.nav-links{display:flex;gap:32px;list-style:none;}
.nav-links a{font-size:11px;font-weight:500;letter-spacing:0.14em;text-transform:uppercase;color:var(--mid);transition:color .2s;}
.nav-links a:hover{color:var(--deep-teal);}
.nav-toggle{display:none;flex-direction:column;justify-content:center;gap:5px;width:28px;height:22px;background:none;border:none;padding:0;cursor:pointer;}
.nav-toggle span{display:block;width:100%;height:1.5px;background:var(--charcoal);transition:transform .2s ease,opacity .2s ease;}
.nav-toggle.is-open span:nth-child(1){transform:translateY(6.5px) rotate(45deg);}
.nav-toggle.is-open span:nth-child(2){opacity:0;}
.nav-toggle.is-open span:nth-child(3){transform:translateY(-6.5px) rotate(-45deg);}

/* HERO */
.hero{min-height:100vh;display:grid;grid-template-columns:55% 45%;padding-top:80px;}
.hero-left{display:flex;flex-direction:column;justify-content:center;padding:72px 52px 72px 5vw;background:var(--cream);position:relative;}
.hero-left::after{content:'';position:absolute;right:0;top:12%;bottom:12%;width:0.5px;background:var(--border);}
.hero-eyebrow{font-size:11px;font-weight:500;letter-spacing:0.2em;text-transform:uppercase;color:var(--teal);margin-bottom:22px;opacity:0;animation:fadeUp .8s ease forwards .2s;}
.hero-tagline{font-family:'Cormorant Garamond',serif;font-size:clamp(28px,3vw,46px);font-weight:300;font-style:italic;color:var(--deep-teal);line-height:1.35;margin-bottom:24px;opacity:0;animation:fadeUp .8s ease forwards .35s;}
.hero-rule{width:44px;height:1px;background:var(--gold);margin-bottom:24px;opacity:0;animation:fadeUp .8s ease forwards .45s;}
.hero-sub{font-size:16px;font-weight:300;color:var(--mid);line-height:1.85;max-width:460px;margin-bottom:28px;opacity:0;animation:fadeUp .8s ease forwards .55s;}
.hero-descriptor{font-size:10px;font-weight:500;letter-spacing:0.18em;text-transform:uppercase;color:var(--light);margin-bottom:36px;opacity:0;animation:fadeUp .8s ease forwards .62s;}
.hero-descriptor span{color:var(--gold);margin:0 10px;}
.hero-cta{display:inline-block;font-size:11px;font-weight:500;letter-spacing:0.14em;text-transform:uppercase;color:var(--deep-teal);border:0.75px solid var(--deep-teal);padding:14px 32px;border-radius:2px;width:fit-content;transition:background .25s,color .25s;opacity:0;animation:fadeUp .8s ease forwards .72s;}
.hero-cta:hover{background:var(--deep-teal);color:var(--cream);}
.hero-right{position:relative;overflow:hidden;min-height:calc(100vh - 80px);}
.hero-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center top;display:block;opacity:0;animation:fadeIn 1s ease forwards .2s;}
.hero-overlay{position:absolute;inset:0;background:linear-gradient(to right,rgba(245,242,238,.15) 0%,transparent 35%);pointer-events:none;z-index:1;}
.hero-tag{position:absolute;bottom:32px;left:24px;z-index:2;background:rgba(245,242,238,.93);backdrop-filter:blur(8px);border:0.5px solid var(--border);padding:12px 18px;border-radius:2px;opacity:0;animation:fadeUp .8s ease forwards 1s;}
.hero-tag p{font-family:'Cormorant Garamond',serif;font-size:14px;font-weight:300;font-style:italic;color:var(--deep-teal);margin:0;}
.hero-tag span{font-size:10px;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--teal);display:block;margin-top:3px;}

/* TICKER */
.ticker{background:var(--charcoal);padding:13px 0;overflow:hidden;white-space:nowrap;}
.ticker-inner{display:inline-flex;animation:ticker 28s linear infinite;}
@keyframes ticker{from{transform:translateX(0);}to{transform:translateX(-50%);}}
.ticker-item{font-size:11px;font-weight:400;letter-spacing:.2em;text-transform:uppercase;color:rgba(245,242,238,.55);padding:0 28px;}
.ticker-dot{color:var(--gold);margin-right:28px;}

/* ABOUT */
.about{padding:96px 5vw;max-width:1200px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:72px;align-items:start;}
.section-label{font-size:11px;font-weight:500;letter-spacing:.22em;text-transform:uppercase;color:var(--teal);margin-bottom:14px;}
.section-title{font-family:'Cormorant Garamond',serif;font-size:clamp(28px,3vw,44px);font-weight:300;line-height:1.2;color:var(--deep-teal);margin-bottom:24px;}
.section-title em{font-style:italic;}
.about-body{font-family:'Cormorant Garamond',serif;font-size:18px;line-height:1.82;color:var(--mid);}
.about-body p+p{margin-top:16px;}
.credentials{display:flex;flex-direction:column;gap:8px;margin-top:28px;}
.credential{display:flex;align-items:center;gap:14px;padding:13px 18px;border:0.5px solid rgba(201,168,76,.25);background:#f8f6f2;}
.cred-dot{width:6px;height:6px;background:var(--gold);flex-shrink:0;}
.cred-text{font-size:15px;font-weight:400;letter-spacing:.06em;color:var(--mid);}
.cred-text strong{color:var(--charcoal);font-weight:500;}
.rise-block{border:0.5px solid rgba(201,168,76,.22);}
.rise-row{padding:22px 26px;border-bottom:0.5px solid rgba(201,168,76,.12);}
.rise-row:last-child{border-bottom:none;}
.rise-letter{font-size:11px;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:var(--gold);margin-bottom:6px;}
.rise-label{font-family:'Cormorant Garamond',serif;font-size:18px;font-weight:400;color:var(--deep-teal);margin-bottom:6px;}
.rise-text{font-size:16px;font-weight:300;color:var(--mid);line-height:1.65;}

/* QUOTE — fixed with opening AND closing marks */
.quote-section{background:var(--deep-teal);padding:96px 5vw;display:flex;align-items:center;justify-content:center;text-align:center;}
.quote-inner{max-width:700px;position:relative;}
.quote-open{font-family:'Cormorant Garamond',serif;font-size:96px;font-weight:200;color:var(--gold);line-height:.5;position:absolute;top:-16px;left:-28px;opacity:.45;}
.quote-close{font-family:'Cormorant Garamond',serif;font-size:96px;font-weight:200;color:var(--gold);line-height:.5;position:absolute;bottom:-48px;right:-18px;opacity:.45;}
.quote-text{font-family:'Cormorant Garamond',serif;font-size:clamp(24px,2.8vw,38px);font-weight:300;font-style:italic;color:var(--cream);line-height:1.55;padding:32px 48px;margin-bottom:28px;}
.quote-rule{width:40px;height:0.75px;background:var(--gold);margin:0 auto;}

/* VENTURES */
.ventures{padding:96px 5vw;}
.ventures-header{display:flex;align-items:center;gap:20px;margin-bottom:56px;}
.ventures-header-line{flex:1;height:0.5px;background:var(--border);}
.ventures-header-label{font-size:11px;font-weight:500;letter-spacing:.2em;text-transform:uppercase;color:var(--light);white-space:nowrap;}
.ventures-grid{display:grid;grid-template-columns:1fr 1fr;gap:2px;background:var(--border);border:0.5px solid var(--border);}
.venture{padding:48px 40px;background:var(--cream);position:relative;overflow:hidden;transition:background .25s;}
.venture:hover{background:#fff;}
.venture::before{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:var(--teal);transform:scaleX(0);transition:transform .35s ease;transform-origin:left;}
.venture:hover::before{transform:scaleX(1);}
.venture-name{font-family:'Cormorant Garamond',serif;font-size:26px;font-weight:300;color:var(--deep-teal);margin-bottom:14px;}
.venture-desc{font-size:16px;font-weight:300;color:var(--mid);line-height:1.85;margin-bottom:24px;}
.venture-url{font-size:10px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--teal);border-bottom:0.5px solid var(--teal);padding-bottom:2px;transition:opacity .2s;}
.venture-url:hover{opacity:.6;}

/* ECOSYSTEM */
.ecosystem{background:var(--charcoal);padding:112px 5vw;text-align:center;}
.ecosystem-label{font-size:11px;font-weight:500;letter-spacing:.25em;text-transform:uppercase;color:var(--gold);margin-bottom:14px;}
.ecosystem-title{font-family:'Cormorant Garamond',serif;font-size:clamp(30px,3.5vw,50px);font-weight:300;line-height:1.15;color:var(--cream);max-width:520px;margin:0 auto 18px;}
.ecosystem-title em{font-style:italic;}
.ecosystem-sub{font-family:'Cormorant Garamond',serif;font-size:18px;color:rgba(245,242,238,.6);max-width:460px;margin:0 auto 64px;line-height:1.7;}
.ecosystem-tree{display:inline-flex;flex-direction:column;align-items:center;}
.eco-root{background:var(--gold);color:var(--charcoal);padding:16px 44px;font-family:'DM Sans',sans-serif;font-size:13px;font-weight:500;letter-spacing:0.18em;text-transform:uppercase;}
.eco-root-sub{font-size:11px;font-weight:400;letter-spacing:.2em;text-transform:uppercase;color:rgba(201,168,76,.75);margin-top:10px;}
.eco-stem{width:1px;height:44px;background:rgba(201,168,76,.3);margin:0 auto;}
.eco-cards{display:flex;justify-content:center;gap:16px;max-width:860px;margin:0 auto;}
.eco-card{flex:1;max-width:260px;padding:30px 24px;border:0.5px solid rgba(201,168,76,.25);text-align:left;background:transparent;transition:border-color .25s;}
.eco-card:hover{border-color:rgba(201,168,76,.55);}
.eco-card-logo{height:48px;display:flex;align-items:center;margin-bottom:16px;}
.eco-card-logo img{max-height:44px;max-width:120px;object-fit:contain;}
.eco-card-type{font-size:11px;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:rgba(201,168,76,.7);margin-bottom:10px;}
.eco-card-desc{font-family:'Cormorant Garamond',serif;font-size:16px;color:rgba(245,242,238,.7);line-height:1.65;margin-bottom:18px;}
.eco-card-link{font-size:10px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--gold);border-bottom:0.5px solid rgba(201,168,76,.4);padding-bottom:2px;}
.eco-card-soon{font-family:'Cormorant Garamond',serif;font-size:18px;font-weight:300;font-style:italic;color:rgba(245,242,238,.18);}
.eco-footer-line{margin-top:64px;font-size:10px;font-weight:400;letter-spacing:.26em;text-transform:uppercase;color:rgba(201,168,76,.4);}

/* PILLARS */
.pillars{padding:96px 5vw;background:#f0ede8;}
.pillars-header{display:flex;align-items:center;gap:18px;margin-bottom:52px;}
.pillars-header-line{flex:1;height:0.5px;background:var(--border);}
.pillars-header-label{font-size:11px;font-weight:500;letter-spacing:.2em;text-transform:uppercase;color:var(--light);}
.pillars-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:2px;background:var(--border);border:0.5px solid var(--border);}
.pillar{padding:38px 28px;background:#f0ede8;transition:background .25s;}
.pillar:hover{background:#fff;}
.pillar-num{font-size:10px;font-weight:500;letter-spacing:.1em;color:var(--gold);margin-bottom:14px;display:block;}
.pillar-sub{font-size:11px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--peach);margin-bottom:10px;display:block;}
.pillar-title{font-family:'Cormorant Garamond',serif;font-size:17px;font-weight:400;color:var(--deep-teal);line-height:1.45;margin-bottom:10px;}
.pillar-body{font-size:15px;font-weight:300;color:var(--mid);line-height:1.75;}

/* SERVICES */
.services{padding:96px 5vw;}
.services-intro-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:end;margin-bottom:56px;}
.services-intro{font-family:'Cormorant Garamond',serif;font-size:18px;line-height:1.78;color:var(--mid);}
.services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;background:var(--border);border:0.5px solid var(--border);}
.service-card{background:var(--cream);padding:38px 30px;transition:background .3s;}
.service-card:hover{background:#fff;}
.service-num{font-family:'Cormorant Garamond',serif;font-size:13px;font-style:italic;color:var(--gold);margin-bottom:16px;}
.service-title{font-family:'Cormorant Garamond',serif;font-size:20px;font-weight:400;color:var(--deep-teal);margin-bottom:12px;line-height:1.2;}
.service-body{font-size:15px;font-weight:300;line-height:1.72;color:var(--mid);}

/* FOOTER IDENTITY */
.footer-identity{background:var(--deep-teal);padding:0;display:grid;grid-template-columns:repeat(4,1fr);}
.id-item{padding:44px 30px;border-right:0.5px solid rgba(255,255,255,.07);}
.id-item:last-child{border-right:none;}
.id-title{font-size:11px;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:var(--gold);margin-bottom:12px;}
.id-body{font-size:15px;font-weight:300;color:rgba(245,242,238,.62);line-height:1.75;}

/* CONNECT */
.connect{padding:96px 5vw;text-align:center;background:var(--cream);}
.connect-inner{max-width:540px;margin:0 auto;}
.connect-body{font-family:'Cormorant Garamond',serif;font-size:19px;line-height:1.78;color:var(--mid);margin-bottom:44px;}
.connect-links{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;}
.btn-primary{display:inline-block;padding:13px 26px;background:var(--charcoal);color:var(--cream);font-size:11px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;transition:background .2s;}
.btn-primary:hover{background:#333;}
.btn-outline{display:inline-block;padding:13px 26px;border:0.75px solid var(--gold);color:var(--charcoal);font-size:11px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;transition:background .2s,color .2s;}
.btn-outline:hover{background:var(--gold);color:var(--charcoal);}

/* FOOTER */
footer{background:var(--deep-teal);padding:48px 5vw 24px;}
.footer-top{display:flex;justify-content:space-between;align-items:start;margin-bottom:40px;padding-bottom:40px;border-bottom:0.5px solid rgba(255,255,255,.08);}
.footer-name{font-family:'Cormorant Garamond',serif;font-style:italic;font-size:26px;color:var(--cream);}
.footer-tagline{font-size:11px;font-weight:400;letter-spacing:.18em;text-transform:uppercase;color:rgba(201,168,76,.5);margin-top:4px;}
footer ul{display:flex;gap:26px;list-style:none;}
footer ul a{font-size:11px;font-weight:400;letter-spacing:.12em;text-transform:uppercase;color:rgba(245,242,238,.45);transition:color .2s;}
footer ul a:hover{color:var(--gold);}
.footer-bottom{display:flex;justify-content:space-between;align-items:center;}
.footer-copy{font-size:11px;color:rgba(245,242,238,.3);letter-spacing:.04em;}

@keyframes fadeUp{from{opacity:0;transform:translateY(16px);}to{opacity:1;transform:translateY(0);}}
@keyframes fadeIn{from{opacity:0;}to{opacity:1;}}

@media(max-width:960px){
  .nav-toggle{display:flex;}
  .nav-links{position:absolute;top:100%;left:0;right:0;flex-direction:column;gap:0;max-height:0;overflow:hidden;background:rgba(245,242,238,0.98);backdrop-filter:blur(12px);border-bottom:0.5px solid var(--border);transition:max-height .3s ease;}
  .nav-links.is-open{max-height:320px;}
  .nav-links li{width:100%;text-align:center;}
  .nav-links a{display:block;padding:18px 5vw;}
  .hero{grid-template-columns:1fr;min-height:auto;}
  .hero-left{padding:56px 5vw;}
  .hero-left::after{display:none;}
  .hero-right{height:70vw;min-height:400px;position:relative;}
  .about{grid-template-columns:1fr;gap:44px;padding:64px 5vw;}
  .pillars-grid{grid-template-columns:1fr 1fr;}
  .pillar-body{font-size:16px;}
  .services-intro-grid{grid-template-columns:1fr;gap:20px;}
  .services-grid{grid-template-columns:1fr;}
  .service-body{font-size:16px;}
  .ventures-grid{grid-template-columns:1fr;}
  .eco-cards{flex-direction:column;align-items:center;}
  .footer-identity{grid-template-columns:1fr 1fr;}
  .footer-top{flex-direction:column;gap:24px;}
  footer ul{flex-wrap:wrap;}
}
