:root{
  --ink:#1B1613;
  --aubergine:#3B1B2E;
  --aubergine-deep:#2A1220;
  --emerald:#163A2F;
  --emerald-deep:#0F2A22;
  --gold:#C9A15C;
  --gold-soft:#DEC48C;
  --sand:#F1E6D3;
  --sand-deep:#E8D9C0;
  --cream:#F7EFDF;
}
*{box-sizing:border-box; margin:0; padding:0;}
body{ background:var(--sand); color:var(--ink); font-family:'Work Sans', sans-serif; line-height:1.6; }
.display{ font-family:'Fraunces', serif; font-weight:500; letter-spacing:-0.01em; }
.eyebrow{ font-family:'Work Sans', sans-serif; font-size:12px; letter-spacing:0.16em; text-transform:uppercase; font-weight:600; }
a{ color:inherit; text-decoration:none; }

/* NAV */
nav{ display:flex; align-items:center; justify-content:space-between; padding:28px 64px; max-width:1200px; margin:0 auto; }
.logo-mark{ display:flex; align-items:center; gap:12px; }
.logo-img{ height:46px; width:auto; display:block; }
.logo-tagline{ font-family:'Fraunces', serif; font-style:italic; font-size:13px; color:var(--aubergine); border-left:1px solid var(--sand-deep); padding-left:12px; }
.nav-links{ display:flex; align-items:center; gap:36px; font-size:14px; font-weight:500; }
.nav-links a.cta{ border:1px solid var(--ink); padding:9px 20px; border-radius:2px; font-size:13px; }
.nav-links a.active{ color:var(--aubergine); font-weight:600; }

/* HERO (homepage) */
.hero{
  position:relative;
  background:linear-gradient(115deg, var(--aubergine) 0%, var(--aubergine) 46%, var(--emerald) 54%, var(--emerald) 100%);
  color:var(--cream); overflow:hidden; padding:88px 64px 110px;
}
.seam{ position:absolute; top:0; bottom:0; left:0; right:0; pointer-events:none; }
.seam svg{ width:100%; height:100%; }
.hero-inner{ max-width:1200px; margin:0 auto; position:relative; z-index:2; }
.hero .eyebrow{ color:var(--gold-soft); margin-bottom:20px; display:flex; align-items:center; gap:14px; flex-wrap:wrap; }
.hero .eyebrow .dot{ opacity:0.5; }
.hero h1{ font-size:clamp(36px, 5vw, 60px); line-height:1.1; max-width:880px; margin-bottom:26px; }
.hero h1 em{ font-style:italic; color:var(--gold-soft); }
.hero p.sub{ font-size:17.5px; max-width:600px; color:var(--sand-deep); margin-bottom:36px; }
.hero-ctas{ display:flex; gap:16px; align-items:center; flex-wrap:wrap; }
.btn-gold{ background:var(--gold); color:var(--aubergine-deep); font-weight:600; font-size:14px; padding:15px 30px; border-radius:2px; display:inline-block; border:none; cursor:pointer; font-family:'Work Sans', sans-serif; }
.btn-ghost{ border:1px solid rgba(247,239,223,0.45); color:var(--cream); font-size:14px; font-weight:500; padding:14px 28px; border-radius:2px; }

/* PAGE HEADER (interior pages) */
.page-header{
  position:relative;
  background:linear-gradient(115deg, var(--aubergine) 0%, var(--aubergine) 46%, var(--emerald) 54%, var(--emerald) 100%);
  color:var(--cream); overflow:hidden; padding:76px 64px 88px;
}
.page-header-inner{ max-width:1200px; margin:0 auto; position:relative; z-index:2; }
.page-header .eyebrow{ color:var(--gold-soft); margin-bottom:18px; }
.page-header h1{ font-size:clamp(32px, 4.6vw, 54px); line-height:1.08; max-width:760px; margin-bottom:20px; }
.page-header h1 em{ font-style:italic; color:var(--gold-soft); }
.page-header p{ font-size:16.5px; max-width:580px; color:var(--sand-deep); }

/* CREDENTIAL STRIP */
.strip{ background:var(--ink); color:var(--sand-deep); padding:20px 64px; }
.strip-inner{
  max-width:1200px; margin:0 auto;
  display:flex; justify-content:space-between; align-items:center;
  flex-wrap:wrap; gap:14px; font-size:13px; letter-spacing:0.03em;
}
.strip-inner span{ opacity:0.85; }
.strip-inner span.gold{ color:var(--gold-soft); opacity:1; }

/* BRAND STATEMENT BAND */
.brand-statement{ background:var(--aubergine-deep); color:var(--cream); padding:88px 64px; text-align:center; }
.brand-statement-inner{ max-width:820px; margin:0 auto; }
.brand-statement .rule{ width:48px; height:2px; background:var(--gold); margin:0 auto 28px; }
.brand-statement p{ font-family:'Fraunces', serif; font-style:italic; font-weight:400; font-size:clamp(22px, 3vw, 32px); line-height:1.42; color:var(--cream); }
.brand-statement p em{ color:var(--gold-soft); font-style:italic; }

/* GENERIC SECTION */
.section{ padding:104px 64px; max-width:1200px; margin:0 auto; }
.section-head{ max-width:640px; margin-bottom:60px; }
.section-head .eyebrow{ color:var(--emerald); margin-bottom:18px; }
.section-head h2{ font-size:clamp(28px, 3.4vw, 40px); line-height:1.15; }

/* PILLAR TEASER CARDS (used on homepage, linking out to pages) */
.pillars{ display:grid; grid-template-columns:repeat(3, 1fr); border:1px solid var(--sand-deep); }
.pillar{ padding:44px 36px; position:relative; display:block; }
.pillar.curriculum{ background:var(--aubergine); color:var(--cream); }
.pillar.training{ background:var(--emerald); color:var(--cream); }
.pillar.strategy{ background:var(--ink); color:var(--cream); border-top:2px solid var(--gold); }
.pillar .eyebrow{ color:var(--gold-soft); margin-bottom:18px; }
.pillar h3{ font-size:23px; margin-bottom:14px; }
.pillar p{ color:var(--sand-deep); font-size:14.5px; margin-bottom:18px; }
.pillar .link{ font-size:13px; font-weight:600; color:var(--gold-soft); }
.pillars-note{
  grid-column:1 / -1; background:var(--sand-deep); color:var(--ink);
  padding:20px 36px; font-size:14px; text-align:center; font-style:italic;
  font-family:'Fraunces', serif;
}

/* PULL-QUOTE / PHILOSOPHY BLOCK */
.philosophy{ background:var(--cream); padding:100px 64px; text-align:center; }
.philosophy-inner{ max-width:760px; margin:0 auto; }
.philosophy .rule{ width:48px; height:2px; background:var(--gold); margin:0 auto 32px; }
.philosophy blockquote{
  font-family:'Fraunces', serif; font-style:italic; font-weight:400;
  font-size:clamp(22px, 2.8vw, 30px); line-height:1.4; color:var(--aubergine-deep);
  margin-bottom:24px;
}
.philosophy .attr{ font-size:13px; letter-spacing:0.08em; text-transform:uppercase; color:#8A8078; }

/* AI STRATEGY BLOCK */
.ai-block{ background:var(--emerald-deep); color:var(--cream); padding:96px 64px; }
.ai-inner{ max-width:1200px; margin:0 auto; display:grid; grid-template-columns:1.1fr 0.9fr; gap:64px; align-items:start; }
.ai-inner .eyebrow{ color:var(--gold-soft); margin-bottom:18px; }
.ai-inner h2{ font-size:clamp(26px, 3vw, 34px); margin-bottom:22px; line-height:1.18; }
.ai-inner p{ color:var(--sand-deep); font-size:15.5px; max-width:520px; }
.ai-badge{
  background:rgba(247,239,223,0.06); border:1px solid rgba(201,161,92,0.4);
  padding:28px 30px; border-radius:2px;
}
.ai-badge .eyebrow{ color:var(--gold-soft); margin-bottom:10px; }
.ai-badge h4{ font-family:'Fraunces', serif; font-size:19px; margin-bottom:8px; }
.ai-badge .status{ font-size:12.5px; color:var(--sand-deep); opacity:0.8; }

/* SERVICE CARDS */
.services{ display:grid; grid-template-columns:repeat(3, 1fr); gap:1px; background:var(--sand-deep); }
.service-card{ background:var(--sand); padding:38px 30px; }
.service-card .num{ font-family:'Fraunces', serif; font-style:italic; color:var(--gold); font-size:14px; margin-bottom:20px; display:block; }
.service-card h4{ font-size:19px; margin-bottom:12px; }
.service-card p{ font-size:14px; color:#5A5048; }

/* ABOUT */
.about{ background:var(--cream); padding:104px 64px; }
.about-inner{ max-width:1200px; margin:0 auto; display:grid; grid-template-columns:0.85fr 1.15fr; gap:76px; align-items:center; }
.about-badge{
  aspect-ratio:4/5; background:linear-gradient(160deg, var(--aubergine), var(--emerald));
  border-radius:4px; position:relative; display:flex; align-items:center; justify-content:center; padding:40px;
}
.about-logo{ width:70%; max-width:220px; height:auto; background:var(--cream); border-radius:4px; padding:24px; }
.about h1, .about h2{ font-size:clamp(27px, 3.1vw, 35px); margin-bottom:20px; }
.about .eyebrow{ color:var(--emerald); margin-bottom:16px; }
.about p{ font-size:15.5px; color:#4A4038; max-width:560px; margin-bottom:16px; }
.credentials{ display:flex; gap:24px; margin-top:26px; flex-wrap:wrap; }
.credentials div{ font-size:12.5px; margin-right:24px; }
.credentials .label{ color:#8A8078; letter-spacing:0.06em; text-transform:uppercase; font-size:10.5px; margin-bottom:4px; }
.credentials .val{ font-weight:600; font-family:'Fraunces', serif; }

/* TRAINING PAGE EXTRAS */
.approach-grid{ display:grid; grid-template-columns:repeat(2, 1fr); gap:1px; background:var(--sand-deep); }
.approach-card{ background:var(--sand); padding:36px 32px; }
.approach-card .eyebrow{ color:var(--emerald); margin-bottom:14px; }
.approach-card h4{ font-size:18px; margin-bottom:10px; }
.approach-card p{ font-size:14px; color:#5A5048; }

/* CTA BLOCK */
.cta-block{ background:var(--ink); color:var(--cream); padding:96px 64px; text-align:center; }
.cta-block h2{ font-size:clamp(28px, 3.8vw, 44px); max-width:720px; margin:0 auto 22px; }
.cta-block h2 em{ color:var(--gold-soft); font-style:italic; }
.cta-block p{ color:var(--sand-deep); margin-bottom:34px; }

/* CONTACT PAGE */
.contact-wrap{ max-width:1200px; margin:0 auto; padding:96px 64px; display:grid; grid-template-columns:1.15fr 0.85fr; gap:72px; }
.form-card{ background:var(--cream); border:1px solid var(--sand-deep); padding:48px 44px; }
.form-card .eyebrow{ color:var(--emerald); margin-bottom:14px; }
.form-card h2{ font-size:26px; margin-bottom:10px; }
.form-card .lead{ font-size:14.5px; color:#5A5048; margin-bottom:32px; max-width:460px; }
.field-row{ display:grid; grid-template-columns:1fr 1fr; gap:20px; }
.field{ margin-bottom:22px; }
.field label{ display:block; font-size:12.5px; letter-spacing:0.04em; text-transform:uppercase; color:#8A8078; margin-bottom:8px; font-weight:600; }
.field input, .field select, .field textarea{
  width:100%; border:1px solid var(--sand-deep); background:var(--sand);
  padding:13px 14px; font-family:'Work Sans', sans-serif; font-size:14.5px; color:var(--ink);
  border-radius:2px;
}
.field textarea{ resize:vertical; min-height:120px; }
.field input:focus, .field select:focus, .field textarea:focus{ outline:none; border-color:var(--gold); background:var(--cream); }
.consent{ display:flex; align-items:flex-start; gap:10px; margin-bottom:28px; }
.consent input{ margin-top:3px; width:16px; height:16px; accent-color:var(--emerald); flex-shrink:0; }
.consent label{ font-size:13px; color:#5A5048; line-height:1.5; }
.form-note{ font-size:12px; color:#8A8078; margin-top:16px; }

.side-block{ margin-bottom:44px; }
.side-block .eyebrow{ color:var(--emerald); margin-bottom:14px; }
.side-block h3{ font-size:19px; margin-bottom:10px; }
.side-block p{ font-size:14px; color:#5A5048; margin-bottom:4px; }
.direct-contact{ font-size:15px; }
.direct-contact .row{ display:flex; justify-content:space-between; padding:14px 0; border-bottom:1px solid var(--sand-deep); }
.direct-contact .row .label{ color:#8A8078; font-size:12.5px; text-transform:uppercase; letter-spacing:0.04em; }
.direct-contact .row .val{ font-family:'Fraunces', serif; font-weight:500; }

.newsletter{ background:var(--ink); color:var(--cream); padding:36px 34px; border-top:2px solid var(--gold); }
.newsletter .eyebrow{ color:var(--gold-soft); margin-bottom:12px; }
.newsletter h3{ font-family:'Fraunces', serif; font-size:20px; margin-bottom:10px; }
.newsletter p{ font-size:13.5px; color:var(--sand-deep); margin-bottom:22px; }
.newsletter-form{ display:flex; flex-direction:column; gap:12px; }
.newsletter-form input[type="email"]{
  width:100%; border:1px solid rgba(247,239,223,0.25); background:rgba(247,239,223,0.06);
  padding:13px 14px; font-family:'Work Sans', sans-serif; font-size:14px; color:var(--cream); border-radius:2px;
}
.newsletter-form input::placeholder{ color:rgba(247,239,223,0.45); }
.newsletter-form .consent label{ color:var(--sand-deep); font-size:12px; }
.newsletter-form .consent input{ accent-color:var(--gold); }

/* FOOTER */
footer{
  background:var(--ink); border-top:1px solid rgba(247,239,223,0.12);
  padding:30px 64px; display:flex; justify-content:space-between; align-items:center;
  color:var(--sand-deep); font-size:13px;
}

@media (max-width:860px){
  nav, .hero, .page-header, .strip, .section, .about, .cta-block, footer, .ai-block, .philosophy, .contact-wrap{ padding-left:24px; padding-right:24px; }
  .nav-links{ gap:18px; }
  .nav-links span.hide-mobile{ display:none; }
  .logo-tagline{ display:none; }
  .pillars{ grid-template-columns:1fr; }
  .services{ grid-template-columns:1fr; }
  .approach-grid{ grid-template-columns:1fr; }
  .about-inner, .ai-inner{ grid-template-columns:1fr; gap:36px; }
  .strip-inner{ justify-content:flex-start; }
  .contact-wrap{ grid-template-columns:1fr; gap:56px; padding-top:64px; padding-bottom:64px; }
  .field-row{ grid-template-columns:1fr; gap:0; }
  .form-card{ padding:34px 26px; }
}
