:root{
  --ink:#2a1b30;--ink-deep:#1d1222;--plum:#5b4061;--plum-mid:#3d2843;
  --gold:#c9a24a;--gold-soft:#e3c77e;--gold-deep:#9a7a2e;
  --paper:#f7f2ee;--paper-hi:#fffdf9;--line:#e4d9df;--text:#3a2c3f;--mute:#6e6072;
  --serif:"Fraunces",Georgia,serif;--sans:"Inter",system-ui,sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:17px;line-height:1.7;-webkit-font-smoothing:antialiased}
a{color:inherit}
.wrap{max-width:1200px;margin:0 auto;padding:0 40px;position:relative;z-index:1}

/* ---------- shared type ---------- */
.label{display:inline-flex;align-items:center;gap:12px;font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--gold-deep);font-weight:600;margin:0 0 22px}
.label span{font-family:var(--serif);font-size:15px;letter-spacing:0;color:var(--gold);padding-right:12px;border-right:1px solid currentColor}
.label.light{color:var(--gold-soft)}
.label.light span{color:var(--gold-soft)}
.display{font-family:var(--serif);font-weight:400;font-size:clamp(40px,5.2vw,72px);line-height:1.02;letter-spacing:-.025em;margin:0;color:var(--ink)}
.display em{font-style:italic;font-weight:300;color:var(--gold-deep)}
.display.light{color:var(--paper)}
.display.light em{color:var(--gold-soft)}
.section-head{margin-bottom:64px;max-width:820px}
.section-head.center{margin-left:auto;margin-right:auto;text-align:center}
.section-head .intro{font-size:19px;color:var(--text);margin:22px auto 0;max-width:52ch}

/* ---------- lockup ---------- */
.lockup{display:inline-flex;align-items:center;gap:14px;text-decoration:none;color:var(--paper)}
.lockup .emblem{width:46px;height:50px;flex:none;--em-post:#f7f2ee;--em-arc:var(--gold-soft)}
.lockup-name{font-family:var(--serif);font-size:19px;line-height:1.08;font-weight:500;letter-spacing:-.005em}

/* ---------- hero ---------- */
.hero{position:relative;overflow:hidden;color:var(--paper);padding-bottom:120px;
  background:radial-gradient(1100px 600px at 85% 10%,rgba(201,162,74,.20),transparent 60%),
             radial-gradient(900px 700px at 0% 100%,rgba(91,64,97,.55),transparent 65%),
             linear-gradient(160deg,var(--ink) 0%,var(--ink-deep) 100%)}
.arches{position:absolute;right:-60px;bottom:-40px;width:min(720px,70vw);height:auto;color:var(--gold-soft);opacity:.16;pointer-events:none}
.topbar{display:flex;justify-content:space-between;align-items:center;padding-top:30px;padding-bottom:30px;border-bottom:1px solid rgba(227,199,126,.18)}
.links{display:flex;align-items:center;gap:34px}
.links a{text-decoration:none;font-size:15px;color:#ddd2de}
.links a:hover{color:#fff}
.links .nav-cta{border:1px solid var(--gold);color:var(--gold-soft);padding:9px 18px;border-radius:2px}
.links .nav-cta:hover{background:var(--gold);color:var(--ink)}
.hero-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:80px;align-items:end;padding-top:110px}
.eyebrow{font-size:12px;letter-spacing:.22em;text-transform:uppercase;color:var(--gold-soft);font-weight:600;margin:0 0 30px;display:flex;align-items:center;gap:14px}
.eyebrow::before{content:"";width:40px;height:1px;background:var(--gold)}
h1{font-family:var(--serif);font-weight:300;font-size:clamp(52px,7.4vw,104px);line-height:.98;letter-spacing:-.035em;margin:0 0 34px}
h1 em{font-style:italic;color:var(--gold-soft)}
.lede{font-size:19px;line-height:1.65;color:#e2d8e3;max-width:54ch;margin:0 0 44px}
.actions{display:flex;flex-wrap:wrap;gap:14px}
.btn{display:inline-flex;align-items:center;gap:10px;min-height:54px;padding:0 30px;border-radius:2px;font-size:15px;font-weight:600;text-decoration:none;transition:background .2s,border-color .2s,transform .2s}
.btn:hover{transform:translateY(-1px)}
.btn-primary{background:var(--gold);color:var(--ink)}
.btn-primary:hover{background:var(--gold-soft)}
.btn-ghost{border:1px solid rgba(247,242,238,.4);color:var(--paper)}
.btn-ghost:hover{border-color:var(--paper)}
.areas{background:rgba(29,18,34,.55);border:1px solid rgba(227,199,126,.25);backdrop-filter:blur(6px);padding:26px 28px 14px}
.areas-head{font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--gold-soft);font-weight:600;margin:0 0 6px}
.areas ul{list-style:none;margin:0;padding:0}
.areas li{display:flex;align-items:baseline;gap:14px;padding:14px 0;border-bottom:1px solid rgba(221,210,222,.14);font-size:15.5px;color:#ece4ec}
.areas li:last-child{border-bottom:0}
.areas .n{font-family:var(--serif);font-size:13px;color:var(--gold);min-width:20px}
.areas .flag{justify-content:space-between;padding:16px 0}
.areas .named{font-family:var(--serif);font-size:22px;color:#fff}
.areas .tag{font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink);background:var(--gold-soft);padding:4px 9px;border-radius:2px}

/* ---------- story ---------- */
.story{position:relative;overflow:hidden;padding:140px 0 130px;background:var(--paper)}
.story-arches{position:absolute;right:-120px;bottom:-60px;width:620px;height:620px;color:var(--gold-deep);opacity:.22;pointer-events:none}
.facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin:0 0 80px;background:#fff;border:1px solid var(--line);border-top:3px solid var(--gold);box-shadow:0 30px 60px -40px rgba(42,27,48,.35)}
.fact{padding:44px 40px 40px}
.fact+.fact{border-left:1px solid var(--line)}
.fig{display:block;font-family:var(--serif);font-weight:300;font-size:clamp(46px,5.4vw,80px);line-height:.95;letter-spacing:-.03em;color:var(--ink);margin-bottom:18px}
.fact p{margin:0;font-size:16px;line-height:1.6;color:var(--text);max-width:28ch}
.story-body{max-width:860px}
.story-body p{margin:0;color:var(--text);font-size:19px}
.story-body .big{border-left:3px solid var(--gold);padding-left:28px;font-family:var(--serif);font-size:clamp(24px,2.4vw,32px);line-height:1.35;color:var(--ink);letter-spacing:-.01em}

/* ---------- leadership ---------- */
.leader-band{background:linear-gradient(180deg,var(--plum-mid),var(--ink));color:var(--paper);padding:130px 0}
.leader{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.3fr);gap:96px}
.lead-id{border-left:3px solid var(--gold);padding-left:32px}
.name{font-family:var(--serif);font-weight:400;font-size:clamp(48px,5.6vw,80px);line-height:.98;letter-spacing:-.03em;margin:0 0 18px}
.role{font-size:13px;letter-spacing:.18em;text-transform:uppercase;color:var(--gold-soft);font-weight:600;margin:0 0 40px}
.cred{margin:0;border-top:1px solid rgba(227,199,126,.3)}
.cred div{padding:20px 0;border-bottom:1px solid rgba(227,199,126,.18)}
.cred dt{font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:#bfb0c2;font-weight:600;margin:0 0 6px}
.cred dd{margin:0;font-size:16px;line-height:1.5;color:#f1e9f0}
.lead-body p{margin:0 0 22px;font-size:18px;line-height:1.75;color:#ddd1de}
.lead-body p:last-child{margin-bottom:0}
.lead-body .pull{font-family:var(--serif);font-style:italic;font-weight:300;font-size:clamp(34px,3.8vw,52px);line-height:1.1;color:var(--gold-soft);margin-bottom:36px;letter-spacing:-.02em}

/* ---------- build ---------- */
.build{padding:140px 0;background:var(--paper-hi)}
.flagship{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:64px;align-items:center;padding:64px;color:var(--paper);border-radius:4px;position:relative;overflow:hidden;
  background:radial-gradient(700px 400px at 100% 0%,rgba(201,162,74,.28),transparent 60%),linear-gradient(135deg,var(--ink) 0%,var(--plum-mid) 100%);
  box-shadow:0 40px 80px -40px rgba(42,27,48,.6)}
.chip{display:inline-block;font-size:11px;letter-spacing:.16em;text-transform:uppercase;font-weight:600;color:var(--ink);background:var(--gold-soft);padding:6px 12px;border-radius:2px}
.flagship h3{font-family:var(--serif);font-weight:400;font-size:clamp(46px,5.6vw,80px);line-height:1;letter-spacing:-.03em;margin:22px 0 22px}
.flagship p{font-size:19px;line-height:1.65;color:#e8dfe8;margin:0 0 34px;max-width:44ch}
.flag-art{position:relative;height:300px;margin-right:84px}
.stack{position:absolute;left:0;right:0;height:86px;border-radius:4px;border:1px solid rgba(227,199,126,.35);background:rgba(247,242,238,.06);backdrop-filter:blur(4px);display:flex;align-items:flex-end;padding:0 22px 16px;font-family:var(--serif);font-size:20px;color:#fff}
.stack.s1{top:0;transform:translateX(0)}
.stack.s2{top:70px;transform:translateX(28px)}
.stack.s3{top:140px;transform:translateX(56px)}
.stack.s4{top:210px;transform:translateX(84px);background:var(--gold);color:var(--ink);border-color:var(--gold)}
.sub{display:flex;align-items:center;gap:16px;font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--gold-deep);font-weight:600;margin:100px 0 32px}
.sub::after{content:"";flex:1;height:1px;background:var(--line)}
.area-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:24px}
.area{grid-column:span 2;position:relative;background:#fff;border:1px solid var(--line);border-top:3px solid var(--gold);padding:36px 32px 34px;transition:transform .25s,box-shadow .25s}
.area:hover{transform:translateY(-4px);box-shadow:0 24px 48px -28px rgba(42,27,48,.45)}
.area:nth-child(4),.area:nth-child(5){grid-column:span 3}
.area .icon{width:64px;height:64px;padding:14px;border-radius:50%;background:#f4ece0;color:var(--plum);margin-bottom:26px;transition:background .25s,color .25s}
.area:hover .icon{background:var(--ink);color:var(--gold-soft)}
.area .n{position:absolute;top:30px;right:30px;font-family:var(--serif);font-size:15px;color:var(--gold-deep)}
.area h3{font-family:var(--serif);font-weight:400;font-size:26px;line-height:1.15;letter-spacing:-.01em;margin:0 0 12px;color:var(--ink)}
.area p{margin:0;font-size:16px;line-height:1.65;color:var(--text)}

/* ---------- initiatives ---------- */
.initiatives{position:relative;overflow:hidden;padding:130px 0;color:var(--paper);
  background:radial-gradient(800px 500px at 10% 0%,rgba(227,199,126,.22),transparent 60%),linear-gradient(120deg,var(--plum) 0%,var(--ink) 100%)}
.initiatives .display{max-width:12ch}
.init-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:80px;align-items:end}
.init-copy p{font-size:20px;line-height:1.6;color:#efe6ee;margin:0 0 28px}
.pillars{list-style:none;padding:0;margin:0 0 28px;display:flex;flex-wrap:wrap;gap:12px}
.pillars li{font-family:var(--serif);font-size:20px;padding:10px 20px;border:1px solid rgba(227,199,126,.5);border-radius:40px;color:var(--gold-soft)}
.init-copy .soon{font-size:15px;color:#c9bccb;margin:0}

/* ---------- contact ---------- */
.contact{padding:140px 0;background:var(--paper)}
.contact-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;max-width:1000px;margin:0 auto}
.ccard{background:#fff;border:1px solid var(--line);padding:34px 32px;display:flex;flex-direction:column;gap:12px;border-bottom:3px solid var(--gold)}
.ccard .k{font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--gold-deep);font-weight:600}
.ccard .v{font-family:var(--serif);font-size:19px;overflow-wrap:anywhere;line-height:1.35;color:var(--ink)}

/* ---------- footer ---------- */
.site-foot{background:var(--ink-deep);color:#b6a8b9;padding:72px 0 48px}
.foot-grid{display:grid;grid-template-columns:auto 1fr auto;gap:28px 48px;align-items:center}
.foot-links{display:flex;justify-content:flex-end;gap:30px;flex-wrap:wrap}
.foot-links a{text-decoration:none;color:#ddd2de;font-size:15px}
.legal-line{grid-column:1/-1;margin:24px 0 0;padding-top:28px;border-top:1px solid rgba(227,199,126,.18);font-size:13px}
.legal-line a{color:#ddd2de}

/* ---------- legal pages ---------- */
.nav{background:var(--ink);padding:22px 32px}
.mark{text-decoration:none;display:inline-flex;gap:12px;align-items:center;color:var(--paper);font-family:var(--serif);font-size:18px}
.mark .emblem{flex:none}
.legal{max-width:760px;margin:0 auto;padding:72px 24px}
.legal h1{font-weight:400;font-size:clamp(2.2rem,5vw,3.2rem);letter-spacing:-.02em}
.legal h2{font-family:var(--serif);font-weight:500;font-size:1.3rem;margin-top:2em}
.legal p,.legal li{color:var(--text)}
.legal .meta{color:var(--mute);font-size:.9rem}
.legal .eyebrow{color:var(--gold-deep)}
.legal .eyebrow::before{background:var(--gold-deep)}
body > footer:not(.site-foot){text-align:center;padding:40px 24px;color:var(--mute);font-size:.85rem;border-top:1px solid var(--line)}

@media (max-width:980px){
  .area-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .area,.area:nth-child(4),.area:nth-child(5){grid-column:span 1}
  .area:nth-child(5){grid-column:span 2}
}
@media (max-width:860px){
  .wrap{padding:0 20px}
  .links a:not(.nav-cta){display:none}
  .hero{padding-bottom:72px}
  .hero-grid,.story-body,.leader,.flagship,.init-grid{grid-template-columns:1fr;gap:44px}
  .hero-grid{padding-top:56px}
  .arches{width:120vw;right:-40vw;opacity:.1}
  .facts{grid-template-columns:1fr}
  .fact,.fact+.fact{padding:30px 26px;border-left:0;border-bottom:1px solid var(--line)}
  .story,.build,.contact,.leader-band,.initiatives{padding:84px 0}
  .flagship{padding:36px 24px}
  .flag-art{height:280px;margin-right:84px}
  .area-grid{grid-template-columns:1fr}
  .area,.area:nth-child(4),.area:nth-child(5){grid-column:auto}
  .contact-cards{grid-template-columns:1fr}
  .foot-grid{grid-template-columns:1fr}
  .foot-links{justify-content:flex-start}
  .story-arches{width:360px;height:360px;right:-140px;opacity:.15}
}

/* scroll reveal */
.reveal{opacity:0;transform:translateY(24px);transition:opacity .8s ease,transform .8s ease}
.reveal.in{opacity:1;transform:none}
@media (prefers-reduced-motion: reduce){.reveal{opacity:1;transform:none;transition:none}}

/* principles */
.principles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-top:48px}
.pr{padding:34px 32px;background:var(--ink);color:var(--paper);position:relative;overflow:hidden}
.pr::after{content:"";position:absolute;right:-30px;bottom:-60px;width:140px;height:160px;border:1.2px solid rgba(227,199,126,.25);border-bottom:0;border-radius:70px 70px 0 0}
.pr-n{font-family:var(--serif);font-style:italic;color:var(--gold-soft);font-size:18px}
.pr h3{font-family:var(--serif);font-weight:400;font-size:34px;letter-spacing:-.02em;margin:10px 0 8px}
.pr p{margin:0;color:#d8cdd9;font-size:16px}
/* sticky bar */
.stickybar{position:fixed;top:0;left:0;right:0;z-index:50;background:rgba(29,18,34,.92);backdrop-filter:blur(10px);border-bottom:1px solid rgba(227,199,126,.2);transform:translateY(-100%);transition:transform .35s ease}
.stickybar.on{transform:none}
.sb-inner{display:flex;justify-content:space-between;align-items:center;padding-top:12px;padding-bottom:12px}
.lockup.small .emblem{width:30px;height:32px}
.lockup.small .lockup-name{font-size:17px}
/* leadership art */
.leader-band{position:relative;overflow:hidden}
.leader-arches{position:absolute;left:-160px;bottom:-120px;width:560px;height:560px;color:var(--gold-soft);opacity:.08;pointer-events:none}
/* footer tag */
.foot-tag{margin:0;font-family:var(--serif);font-size:22px;color:#efe6ee;text-align:center}
.foot-tag em{color:var(--gold-soft)}
@media (max-width:860px){
  .principles{grid-template-columns:1fr}
  .stickybar .links a:not(.nav-cta){display:none}
  .lockup.small .lockup-name{font-size:15px}
  .foot-grid{grid-template-columns:1fr}
  .foot-tag{text-align:left}
  .eyebrow{font-size:11px;letter-spacing:.16em}
  .eyebrow::before{width:24px}
}
.pr-lead{font-family:var(--serif);font-size:clamp(22px,2vw,26px);color:var(--ink);margin:72px 0 0}
.principles{margin-top:24px}

/* Inner pages */
.page-hero{min-height:0;padding-bottom:64px}
.page-head{position:relative;padding-top:56px}
.page-head h1{margin:8px 0 12px}
.page-intro{max-width:44ch;font-size:1.15rem}
.page-note,.legal-hub{margin-top:28px}
.legal-hub ul{margin:16px 0;padding-left:20px}
.pending{font-style:italic;opacity:.8}
.cc-head{margin-top:64px}
.cc-grid{margin-top:28px}
.cc-grid .area{grid-column:span 2}
.cc-grid .chip{display:inline-block;margin-bottom:14px}
.cc-cta{margin-top:56px}
.cc-cta p{margin-top:16px}
.cc-cta p a{text-decoration:underline}
@media (max-width:760px){.cc-grid .area{grid-column:1/-1}}
/* L&F: 44px tap targets; the nav stays on phones */
.links a,.foot-links a{display:inline-flex;align-items:center;min-height:44px}
.legal-line a,.ccard a,.cc-cta p a{display:inline-flex;align-items:center;min-height:44px}
@media (max-width:760px){
  .links{gap:16px}
  .links a:not(.nav-cta),.stickybar .links a:not(.nav-cta){display:inline-flex}
  .links a{font-size:14px}
  .topbar,.sb-inner{flex-wrap:wrap;row-gap:4px}
}
.cc-grid{display:flex;flex-wrap:wrap;justify-content:center}
.cc-grid .area{flex:0 1 calc((100% - 48px)/3)}
.flag-art .stack span{position:relative;top:-8px}
.foot-links{row-gap:4px}
@media (max-width:760px){.cc-grid .area{flex-basis:100%}.foot-links{column-gap:20px}}
.cc-grid .area .chip{display:inline-block;margin-bottom:14px}

/* Call to action (owner 2026-11-08: "a clear call to action for people to call us to do business") */
.call-cta{margin-top:40px;padding:24px 0 0;border-top:1px solid rgba(227,199,126,.35)}
.call-why{margin:0 0 14px;color:#efe6ee;font-size:17px;max-width:56ch}
.call-actions{display:flex;flex-wrap:wrap;align-items:center;gap:14px 24px}
.call-mail{color:var(--gold-soft);font-size:15px;text-underline-offset:3px;min-height:44px;display:inline-flex;align-items:center;overflow-wrap:anywhere}
.call-foot{margin:0 0 40px;padding:0 0 36px;border-top:0;border-bottom:1px solid rgba(255,255,255,.12)}
.call-light{margin:48px 0 24px;padding:24px 0;border-top:1px solid #d9cfc4;border-bottom:0}
.call-light .call-why{color:#2a1f2c}.call-light .call-mail{color:#6b4f1d}
.nav-call{margin-left:auto;background:#e3c77e;color:#1d1420;padding:10px 16px;border-radius:2px;font-weight:600;font-size:14px;text-decoration:none;white-space:nowrap}
header.nav{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
@media (max-width:640px){.call-btn{width:100%;justify-content:center}.links .nav-cta{padding:9px 12px;font-size:14px;white-space:nowrap}}
@media (max-width:640px){.links a:not(.nav-cta){display:none}}
/* Maestro r13 look notes 2026-11-08: looser hero H1 tracking on wide screens; "Also developing" divider under CareerCaseOS */
@media (min-width:900px){h1{letter-spacing:-.015em}}
.areas li.areas-divider{display:block;padding:14px 0 6px;border-bottom:0;font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--gold-soft);font-weight:600}
/* Design Critic R-aa9229: keep the Call button whole on phones once the sticky header shows */
@media (max-width:440px){.links a:not(.nav-cta),.stickybar .links a:not(.nav-cta){display:none}}
