:root {
  --sand: #F5EFE6;
  --cream: #FAF7F2;
  --charcoal: #1C1C1C;
  --warm-gray: #6B6560;
  --gold: #B8935A;
  --gold-light: #D4AA72;
  --green-dark: #1A2920;
  --green-mid: #2E4A3A;
}
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; }
body { font-family: 'DM Sans', sans-serif; background: var(--cream); color: var(--charcoal); overflow-x: hidden; }

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

/* NAV */
nav { position: fixed; top:0; left:0; right:0; z-index:100; display:flex; align-items:center; justify-content:space-between; padding:1.4rem 4rem; background:rgba(250,247,242,0.94); backdrop-filter:blur(14px); border-bottom:1px solid rgba(184,147,90,0.15); }
.nav-logo { font-family:'Cormorant Garamond',serif; font-size:1.6rem; font-weight:600; letter-spacing:0.12em; color:var(--charcoal); text-decoration:none; }
.nav-logo span { color:var(--gold); }
.nav-links { display:flex; gap:2.8rem; list-style:none; }
.nav-links a { font-size:0.76rem; font-weight:500; letter-spacing:0.14em; text-transform:uppercase; color:var(--warm-gray); text-decoration:none; transition:color 0.2s; }
.nav-links a:hover { color:var(--gold); }
.nav-cta { font-size:0.73rem; font-weight:500; letter-spacing:0.12em; text-transform:uppercase; color:var(--cream); background:var(--green-dark); padding:0.7rem 1.6rem; text-decoration:none; border:1px solid var(--green-dark); transition:all 0.25s; }
.nav-cta:hover { background:transparent; color:var(--green-dark); }

/* HERO */
.hero { min-height:100vh; display:grid; grid-template-columns:1fr 1fr; overflow:hidden; }
.hero-left { background:var(--green-dark); display:flex; flex-direction:column; justify-content:flex-end; padding:8rem 4rem 5rem 5rem; position:relative; z-index:1; }
.hero-left::before { content:''; position:absolute; inset:0; background:url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%23B8935A' fill-opacity='0.04'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E"); opacity:0.4; }
.hero-eyebrow { font-size:0.71rem; letter-spacing:0.22em; text-transform:uppercase; color:var(--gold); margin-bottom:1.8rem; opacity:0; animation:fadeUp 0.8s 0.2s forwards; }
.hero-title { font-family:'Cormorant Garamond',serif; font-size:clamp(2.8rem,4.2vw,4.2rem); font-weight:300; line-height:1.12; color:var(--cream); margin-bottom:2rem; opacity:0; animation:fadeUp 0.8s 0.4s forwards; }
.hero-title em { font-style:italic; color:var(--gold-light); }
.hero-sub { font-size:0.9rem; line-height:1.85; color:rgba(250,247,242,0.62); max-width:400px; margin-bottom:3rem; font-weight:300; opacity:0; animation:fadeUp 0.8s 0.6s forwards; }
.hero-actions { display:flex; gap:1.2rem; align-items:center; opacity:0; animation:fadeUp 0.8s 0.8s forwards; }
.btn-primary { font-size:0.74rem; font-weight:500; letter-spacing:0.14em; text-transform:uppercase; color:var(--green-dark); background:var(--gold); padding:0.9rem 2.2rem; text-decoration:none; transition:all 0.25s; display:inline-block; }
.btn-primary:hover { background:var(--gold-light); transform:translateY(-1px); }
.btn-ghost { font-size:0.74rem; font-weight:500; letter-spacing:0.14em; text-transform:uppercase; color:rgba(250,247,242,0.7); text-decoration:none; border-bottom:1px solid rgba(184,147,90,0.4); padding-bottom:2px; transition:all 0.2s; }
.btn-ghost:hover { color:var(--gold); border-color:var(--gold); }
.hero-right { background:var(--sand); position:relative; overflow:hidden; }
.hero-right-inner { position:absolute; inset:0; display:flex; flex-direction:column; justify-content:flex-end; padding:8rem 4rem 4rem 5rem; }
.hero-tagline { font-family:'Cormorant Garamond',serif; font-size:1.25rem; font-style:italic; font-weight:300; color:var(--green-mid); margin-bottom:3rem; line-height:1.55; opacity:0; animation:fadeUp 0.8s 0.5s forwards; }
.hero-stat-grid { display:grid; grid-template-columns:1fr 1fr; gap:2px; }
.stat-cell { background:var(--cream); padding:2.2rem 1.8rem; opacity:0; animation:fadeIn 0.7s forwards; }
.stat-cell:nth-child(1){animation-delay:.5s} .stat-cell:nth-child(2){animation-delay:.65s} .stat-cell:nth-child(3){animation-delay:.8s} .stat-cell:nth-child(4){animation-delay:.95s}
.stat-num { font-family:'Cormorant Garamond',serif; font-size:3rem; font-weight:300; color:var(--green-dark); line-height:1; margin-bottom:0.4rem; }
.stat-num sup { font-size:1.4rem; color:var(--gold); }
.stat-label { font-size:0.71rem; letter-spacing:0.1em; text-transform:uppercase; color:var(--warm-gray); }

/* HELPERS */
.section-label { font-size:0.71rem; letter-spacing:0.22em; text-transform:uppercase; color:var(--gold); margin-bottom:0.9rem; display:block; }
.section-title { font-family:'Cormorant Garamond',serif; font-size:clamp(1.9rem,2.8vw,2.7rem); font-weight:300; line-height:1.2; color:var(--charcoal); }
.section-title.light { color:var(--cream); }
.section-header { display:flex; justify-content:space-between; align-items:flex-end; margin-bottom:4rem; padding-bottom:2rem; border-bottom:1px solid rgba(107,101,96,0.15); }
.section-link { font-size:0.73rem; letter-spacing:0.12em; text-transform:uppercase; color:var(--warm-gray); text-decoration:none; border-bottom:1px solid currentColor; padding-bottom:2px; transition:color 0.2s; }
.section-link:hover, .section-link.light:hover { color:var(--gold); }
.section-link.light { color:rgba(250,247,242,0.5); }

/* ABOUT */
.about-strip { background:var(--green-mid); padding:5rem; display:grid; grid-template-columns:1fr 2fr; gap:6rem; align-items:center; }
.about-heading { font-family:'Cormorant Garamond',serif; font-size:clamp(1.7rem,2.5vw,2.4rem); font-weight:300; color:var(--cream); line-height:1.3; margin-bottom:1.4rem; }
.about-body { font-size:0.88rem; line-height:1.92; color:rgba(250,247,242,0.62); font-weight:300; margin-bottom:2rem; }
.about-badges { display:flex; gap:0.8rem; flex-wrap:wrap; }
.badge { font-size:0.67rem; letter-spacing:0.12em; text-transform:uppercase; color:var(--gold); border:1px solid rgba(184,147,90,0.35); padding:0.45rem 1rem; }

/* SERVICES */
.services { padding:7rem 5rem; background:var(--cream); }
.services-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:2px; }
.service-card { background:var(--sand); padding:2.8rem 2rem; position:relative; overflow:hidden; transition:all 0.3s; cursor:default; }
.service-card::after { content:''; position:absolute; bottom:0; left:0; right:0; height:2px; background:var(--gold); transform:scaleX(0); transition:transform 0.3s; transform-origin:left; }
.service-card:hover { background:var(--green-dark); }
.service-card:hover::after { transform:scaleX(1); }
.service-num { font-family:'Cormorant Garamond',serif; font-size:3.5rem; font-weight:300; color:rgba(184,147,90,0.18); line-height:1; margin-bottom:1.5rem; transition:color 0.3s; }
.service-card:hover .service-num { color:rgba(184,147,90,0.3); }
.service-name { font-family:'Cormorant Garamond',serif; font-size:1.35rem; font-weight:400; color:var(--charcoal); margin-bottom:0.8rem; transition:color 0.3s; }
.service-card:hover .service-name { color:var(--cream); }
.service-desc { font-size:0.81rem; line-height:1.82; color:var(--warm-gray); font-weight:300; transition:color 0.3s; }
.service-card:hover .service-desc { color:rgba(250,247,242,0.55); }

/* STRATEGY ADVISORY */
.strategy { background:var(--charcoal); padding:7rem 5rem; position:relative; overflow:hidden; }
.strategy::before { content:'STRATEGY'; font-family:'Cormorant Garamond',serif; font-size:14rem; font-weight:600; letter-spacing:-0.04em; color:rgba(255,255,255,0.025); position:absolute; right:-2rem; bottom:-2rem; line-height:1; pointer-events:none; white-space:nowrap; }
.strategy-inner { display:grid; grid-template-columns:1fr 1.5fr; gap:8rem; align-items:start; }
.strategy-left { position:sticky; top:8rem; }
.strategy-body { font-size:0.88rem; line-height:1.92; color:rgba(250,247,242,0.55); font-weight:300; margin:1.5rem 0 1.5rem; }
.strategy-cta { font-size:0.73rem; font-weight:500; letter-spacing:0.14em; text-transform:uppercase; color:var(--green-dark); background:var(--gold); padding:0.85rem 2rem; text-decoration:none; display:inline-block; transition:all 0.25s; margin-top:1rem; }
.strategy-cta:hover { background:var(--gold-light); transform:translateY(-1px); }
.strategy-pillars { display:flex; flex-direction:column; gap:2px; }
.pillar { background:rgba(255,255,255,0.03); border:1px solid rgba(255,255,255,0.06); padding:2rem 2.2rem; display:grid; grid-template-columns:auto 1fr; gap:1.8rem; align-items:start; transition:all 0.3s; cursor:default; }
.pillar:hover { background:rgba(184,147,90,0.07); border-color:rgba(184,147,90,0.22); }
.pillar-num { font-family:'Cormorant Garamond',serif; font-size:1rem; font-weight:300; color:var(--gold); letter-spacing:0.08em; padding-top:0.2rem; }
.pillar-name { font-family:'Cormorant Garamond',serif; font-size:1.25rem; font-weight:400; color:var(--cream); margin-bottom:0.5rem; transition:color 0.3s; }
.pillar:hover .pillar-name { color:var(--gold-light); }
.pillar-desc { font-size:0.8rem; line-height:1.8; color:rgba(250,247,242,0.45); font-weight:300; }
.strategy-industries { margin-top:4rem; padding-top:3.5rem; border-top:1px solid rgba(255,255,255,0.06); }
.strategy-industries-label { font-size:0.7rem; letter-spacing:0.22em; text-transform:uppercase; color:var(--gold); margin-bottom:1.5rem; display:block; }
.industry-tags { display:flex; flex-wrap:wrap; gap:0.6rem; }
.industry-tag { font-size:0.72rem; letter-spacing:0.1em; text-transform:uppercase; color:rgba(250,247,242,0.5); border:1px solid rgba(255,255,255,0.08); padding:0.5rem 1.1rem; transition:all 0.25s; cursor:default; }
.industry-tag:hover { color:var(--gold); border-color:rgba(184,147,90,0.3); background:rgba(184,147,90,0.06); }

/* WHY */
.why { padding:7rem 5rem; background:var(--sand); display:grid; grid-template-columns:1fr 1fr; gap:8rem; align-items:center; }
.why-body { font-size:0.88rem; line-height:1.92; color:var(--warm-gray); font-weight:300; margin:1.5rem 0; }
.why-list { list-style:none; margin-top:2rem; }
.why-list li { display:flex; align-items:flex-start; gap:1rem; padding:0.9rem 0; border-bottom:1px solid rgba(107,101,96,0.12); font-size:0.85rem; color:var(--charcoal); line-height:1.6; }
.why-list li::before { content:'—'; color:var(--gold); flex-shrink:0; margin-top:1px; }
.why-visual { position:relative; }
.why-card { background:var(--green-dark); padding:3.5rem 3rem; position:relative; }
.why-card::before { content:'"'; font-family:'Cormorant Garamond',serif; font-size:8rem; color:rgba(184,147,90,0.12); position:absolute; top:-1rem; left:2rem; line-height:1; }
.why-quote { font-family:'Cormorant Garamond',serif; font-size:1.5rem; font-style:italic; font-weight:300; color:var(--cream); line-height:1.5; margin-bottom:2rem; }
.why-attribution { font-size:0.7rem; letter-spacing:0.14em; text-transform:uppercase; color:var(--gold); }
.why-accent { position:absolute; bottom:-1.5rem; right:-1.5rem; width:80px; height:80px; background:var(--gold); z-index:0; }

/* CTA */
.cta-section { background:var(--green-dark); padding:6rem 5rem; display:grid; grid-template-columns:1.5fr 1fr; gap:4rem; align-items:center; position:relative; overflow:hidden; }
.cta-section::before { content:'ALPS'; font-family:'Cormorant Garamond',serif; font-size:18rem; font-weight:600; color:rgba(255,255,255,0.025); position:absolute; right:-2rem; top:50%; transform:translateY(-50%); letter-spacing:-0.05em; pointer-events:none; }
.cta-title { font-family:'Cormorant Garamond',serif; font-size:clamp(2rem,3vw,3rem); font-weight:300; color:var(--cream); line-height:1.2; margin-bottom:1.2rem; }
.cta-sub { font-size:0.87rem; line-height:1.8; color:rgba(250,247,242,0.5); font-weight:300; margin-bottom:2.5rem; }
.cta-right { display:flex; flex-direction:column; gap:1.4rem; }
.cta-contact-item { display:flex; flex-direction:column; gap:0.2rem; padding-bottom:1.2rem; border-bottom:1px solid rgba(255,255,255,0.06); }
.cta-contact-item:last-child { border-bottom:none; }
.cta-contact-label { font-size:0.67rem; letter-spacing:0.16em; text-transform:uppercase; color:var(--gold); }
.cta-contact-value { font-size:0.85rem; color:rgba(250,247,242,0.7); font-weight:300; }

/* FOOTER */
footer { background:#0F1714; padding:3.5rem 5rem; display:flex; align-items:center; justify-content:space-between; border-top:1px solid rgba(184,147,90,0.1); }
.footer-logo { font-family:'Cormorant Garamond',serif; font-size:1.4rem; font-weight:600; letter-spacing:0.12em; color:var(--cream); text-decoration:none; }
.footer-logo span { color:var(--gold); }
.footer-links { display:flex; gap:2.4rem; list-style:none; }
.footer-links a { font-size:0.72rem; letter-spacing:0.12em; text-transform:uppercase; color:rgba(250,247,242,0.35); text-decoration:none; transition:color 0.2s; }
.footer-links a:hover { color:var(--gold); }
.footer-copy { font-size:0.72rem; color:rgba(250,247,242,0.25); }

/* RESPONSIVE */
@media(max-width:1024px){
  nav{padding:1.2rem 2.5rem;}
  .nav-links{display:none;}
  .hero{grid-template-columns:1fr;}
  .hero-left{padding:8rem 2.5rem 4rem;}
  .hero-right{min-height:55vw;}
  .hero-right-inner{position:relative;padding:3rem 2.5rem;}
  .about-strip{grid-template-columns:1fr;gap:2.5rem;padding:4rem 2.5rem;}
  .services{padding:5rem 2.5rem;}
  .services-grid{grid-template-columns:1fr 1fr;}
  .strategy{padding:5rem 2.5rem;}
  .strategy-inner{grid-template-columns:1fr;gap:4rem;}
  .strategy-left{position:static;}
  .why{grid-template-columns:1fr;gap:4rem;padding:5rem 2.5rem;}
  .cta-section{grid-template-columns:1fr;padding:4rem 2.5rem;}
  footer{flex-direction:column;gap:1.5rem;padding:2.5rem;text-align:center;}
  .footer-links{flex-wrap:wrap;justify-content:center;}
}
@media(max-width:600px){
  .services-grid{grid-template-columns:1fr;}
  .strategy::before{display:none;}
}
