:root{
  /* surfaces */
  --void:#0a0a09;
  --void-deep:#050605;
  --surface:#121312;
  --paper:#faf9f7;
  --paper-2:#f1f0ec;
  /* accent */
  --gold:#e8c386;
  --gold-bright:#f5d9a8;
  --gold-deep:#836327;
  /* text */
  --ink:#17181a;
  --muted:#5e5a52;
  --on-dark:#e9e5dd;
  --muted-dark:#9c968a;
  --faint-dark:#8a8377;
  /* lines */
  --line:#e3e1db;
  --line-soft:#ddddd2;
  --line-dark:#ffffff16;
  --focus:#a8802e;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:24px}
body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
button{font:inherit}
a,button,summary{-webkit-tap-highlight-color:transparent}
a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--focus);outline-offset:6px}
p{font-size:15px;line-height:1.85;color:var(--muted);margin:0 0 20px}
h1,h2,h3{margin:0;font-weight:400}
h1,h2{font-family:Georgia,'Times New Roman',serif;letter-spacing:-2px}
h2{font-size:48px;line-height:1.15}
h2 em{color:var(--gold-deep);font-weight:400}
h3{font-size:21px;line-height:1.35}
em{font-weight:400}
.eyebrow{font-size:10px;font-weight:600;letter-spacing:2px;line-height:1.7;margin-bottom:26px;color:var(--ink)}

/* header */
.header{height:96px;padding:0 max(5vw,24px);display:flex;align-items:center;justify-content:space-between;background:var(--void);color:var(--on-dark);border-bottom:1px solid var(--line-dark);position:relative;z-index:10}
.wordmark{display:flex;align-items:center;gap:10px;font-family:Georgia,serif;font-size:23px;letter-spacing:3px;color:var(--gold)}
.wordmark small{display:block;font-family:Arial,sans-serif;font-size:8px;letter-spacing:4px;margin-top:5px}
.brand-mark{width:46px;height:46px;flex-shrink:0;display:block}
.header nav{display:flex;align-items:center;gap:33px;font-size:12px}
.header nav>a{transition:color .2s}
.header nav>a:hover{color:var(--gold)}
.nav-cta{border:1px solid #e8c38638;padding:13px 20px;margin-left:15px;transition:border-color .2s,background .2s}
.nav-cta:hover{border-color:var(--gold);background:#e8c3860f}
.nav-cta span{margin-left:23px}
.menu-toggle{display:none}

/* hero */
.hero{background:var(--void);color:var(--on-dark);padding:0 max(5vw,24px);overflow:hidden;position:relative}
.hero:before{content:'';position:absolute;top:-180px;left:50%;width:1100px;height:560px;transform:translateX(-50%);background:radial-gradient(ellipse at center,#e8c3860e,transparent 68%);pointer-events:none}
.hero-inner{max-width:1440px;margin:auto;min-height:635px;display:grid;grid-template-columns:1.15fr 1fr;align-items:center;gap:10px;position:relative}
.hero-copy{padding:70px 0 50px;position:relative;z-index:1}
.hero .eyebrow{color:#a9a396;font-size:9px;letter-spacing:1.6px}
.dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--gold);margin-right:9px;vertical-align:1px}
h1{font-size:clamp(48px,4.75vw,76px);line-height:1.08;letter-spacing:-2.4px}
h1 em{color:var(--gold)}
.hero-description{color:#a8a296;font-size:15px;max-width:475px;line-height:1.85;margin:28px 0 30px}
.actions{display:flex;align-items:center;gap:29px}
.button{display:inline-flex;align-items:center;justify-content:space-between;gap:32px;padding:18px 24px;font-size:12px;font-weight:600;transition:background .2s,transform .2s}
.button:hover{background:var(--gold-bright);transform:translateY(-2px)}
.gold{background:var(--gold);color:var(--void-deep)}
.text-link{font-size:12px;border-bottom:1px solid #55524a;padding:10px 0;display:inline-flex;gap:24px;align-items:center;transition:border-color .2s,color .2s}
.text-link:hover{border-color:var(--gold);color:var(--gold)}
.hero-note{font-size:10px;letter-spacing:1px;color:var(--faint-dark);margin:30px 0 0}
.hero-art{position:relative;isolation:isolate;display:flex;align-items:center;justify-content:center;min-height:485px}
.hero-art:before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse,#e8c38618,transparent 65%);z-index:-1}
.hero-art img{width:110%;height:auto;position:relative;filter:drop-shadow(0 20px 34px #0009)}
.orbit{position:absolute;border:1px solid #e8c3861f;border-radius:50%;width:420px;height:420px}
.orbit-two{width:490px;height:490px;border-style:dashed;border-color:#e8c38612}
.art-cross{position:absolute;font-size:22px;color:#7a6e52}
.cross-one{top:10px;right:35px}
.cross-two{bottom:40px;left:15px}
.art-caption{position:absolute;bottom:0;display:flex;justify-content:space-between;width:85%;font-size:8px;letter-spacing:2px;color:#7e7869}
.hero-bottom{border-top:1px solid var(--line-dark);display:flex;justify-content:space-between;align-items:center;padding:24px 0;max-width:1440px;margin:auto;color:var(--muted-dark);font-size:12px;position:relative}
.hero-bottom>span:last-child{font-size:9px;letter-spacing:1.5px}
.hero-bottom b{color:var(--gold);margin-left:24px;font-size:18px}

/* sections */
.section{padding:100px max(6vw,24px)}
.overview{display:grid;grid-template-columns:1fr 1fr;gap:80px;max-width:1600px;margin:auto}
.lead{font-size:20px;line-height:1.6;color:var(--ink);margin-bottom:24px}
.inline-tags{display:flex;gap:20px;border-top:1px solid var(--line);padding-top:23px;margin-top:26px;font-size:10px;letter-spacing:.5px}
.inline-tags span:before{content:'✓';color:var(--gold-deep);margin-right:8px}

/* expertise */
.expertise{background:var(--paper-2)}
.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:50px;margin-bottom:50px}
.section-heading>p{margin:0;font-size:13px}
.services{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line-soft);border:1px solid var(--line-soft)}
.service{background:var(--paper);padding:32px;display:flex;flex-direction:column;transition:background .25s}
.service:hover{background:#fff}
.service-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:33px}
.service-icon{font-size:30px;color:var(--gold-deep)}
.number{font-size:10px;color:#8f8a80}
.service h3{font-family:Georgia,serif;font-size:26px;letter-spacing:-.5px;margin-bottom:20px}
.service p{font-size:13px;line-height:1.9}
.service details{margin-top:auto;border-top:1px solid var(--line);padding-top:17px}
.service summary{list-style:none;cursor:pointer;font-size:11px;display:flex;justify-content:space-between;align-items:center}
.service summary::-webkit-details-marker{display:none}
.service summary span{font-size:20px;color:var(--gold-deep)}
.service details[open] summary{margin-bottom:15px}
.service details[open] summary span{transform:rotate(45deg)}
.service details p{margin-bottom:0}
.service-callout{background:var(--void);color:var(--on-dark);justify-content:center;position:relative;overflow:hidden}
.service-callout:before{content:'';position:absolute;inset:0;background:radial-gradient(circle at 80% 15%,#e8c38614,transparent 60%);pointer-events:none}
.service-callout:hover{background:var(--void)}
.service-callout>*{position:relative}
.service-callout .eyebrow{font-size:9px;color:var(--gold);margin-bottom:30px}
.service-callout h3{font-size:37px;line-height:1.17}
.service-callout p{color:#a8a296;max-width:210px}
.circle-link{display:flex;align-items:center;justify-content:center;width:44px;height:44px;border:1px solid #e8c38655;border-radius:50%;color:var(--gold);font-size:22px;margin-top:12px;transition:background .2s,border-color .2s}
.circle-link:hover{background:#e8c38614;border-color:var(--gold)}

/* approach */
.approach{display:grid;grid-template-columns:1fr 1fr;gap:100px;background:var(--void);color:var(--on-dark)}
.approach .eyebrow{color:var(--gold)}
.approach h2 em{color:var(--gold)}
.approach-intro>p:not(.eyebrow){color:#a8a296;max-width:410px;margin-top:28px}
.principle{font-family:Georgia,serif;font-size:28px;line-height:1.5;margin-top:42px;color:var(--muted-dark)}
.principle span{color:var(--gold)}
.principles article{display:flex;gap:23px;border-top:1px solid #ffffff1a;padding:25px 0 6px}
.principles article>span{font-size:10px;color:var(--gold);padding-top:6px}
.principles h3{font-size:17px;margin-bottom:12px}
.principles p{color:#a8a296;font-size:13px;line-height:1.85}

/* clients */
.clients{display:grid;grid-template-columns:1fr 1fr;gap:100px;border-bottom:1px solid var(--line)}
.clients p:not(.eyebrow){max-width:480px;margin-top:27px}
.sectors{padding-top:18px}
.sectors>span{display:flex;justify-content:space-between;padding:22px 0;border-bottom:1px solid var(--line);font-size:17px;transition:color .2s}
.sectors>span:hover{color:var(--gold-deep)}
.sectors b{font-size:15px;color:var(--gold-deep);font-weight:400}

/* partners */
.partners{background:var(--paper-2)}
.partner-intro{max-width:400px}
.partner-intro p{font-size:14px}
.dark-link{color:var(--ink)}
.partner-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:30px;padding-top:12px}
.partner-grid article{border-top:1px solid var(--line-soft);padding-top:24px}
.partner-grid article>span{font-size:9px;letter-spacing:1.4px;color:var(--gold-deep)}
.partner-grid h3{font-size:22px;font-family:Georgia,serif;margin:24px 0 15px}
.partner-grid p{font-size:13px;line-height:1.85}

/* engagement */
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:60px}
.steps article{border-top:1px solid var(--line-soft);padding-top:25px}
.step-number{display:block;font-family:Georgia,serif;font-size:45px;color:#b08f4d;margin-bottom:30px}
.steps h3{font-family:Georgia,serif;font-size:26px;margin-bottom:17px}
.steps p{font-size:14px;min-height:110px}
.step-note{font-size:9px;letter-spacing:1.2px;color:#6e6a60}

/* about */
.about{display:grid;grid-template-columns:.75fr 1.25fr;gap:60px;border-top:1px solid var(--line);padding-top:75px;padding-bottom:80px}
.about h2{font-size:39px;margin-bottom:30px}
.about p:not(.eyebrow){max-width:700px}

/* contact */
.contact{background:var(--void);color:var(--on-dark);display:grid;grid-template-columns:1.5fr 1fr;align-items:end;gap:70px;padding-top:85px;padding-bottom:85px;position:relative;overflow:hidden}
.contact:before{content:'';position:absolute;top:-40%;right:-10%;width:760px;height:760px;background:radial-gradient(circle,#e8c38610,transparent 62%);pointer-events:none}
.contact>*{position:relative}
.contact .eyebrow{color:#a9a396;font-size:9px}
.contact h2 em{color:var(--gold)}
.contact p{color:#a8a296;max-width:530px;margin:28px 0}
.contact-details{border-top:1px solid #ffffff26;padding:25px 0 0}
.contact-details>span{font-size:9px;letter-spacing:1.7px;color:var(--gold)}
.contact-details>a{display:flex;justify-content:space-between;gap:15px;margin-top:21px;font-size:18px;transition:color .2s}
.contact-details>a:hover{color:var(--gold)}
.contact-details p{font-family:Georgia,serif;font-size:22px;line-height:1.5;color:var(--muted-dark);margin-bottom:0}

/* footer */
footer{background:var(--void-deep);color:var(--muted-dark);padding:45px max(6vw,24px) 24px}
.footer-top{display:flex;align-items:center;justify-content:space-between;padding-bottom:38px}
.footer-top p{font-size:12px;color:var(--faint-dark);margin:0}
.footer-top>a:last-child{font-size:11px;transition:color .2s}
.footer-top>a:last-child:hover{color:var(--gold)}
.footer-bottom{display:flex;justify-content:space-between;border-top:1px solid var(--line-dark);padding-top:23px;font-size:10px;color:#837d72}
.skip{position:fixed;left:10px;top:-100px;background:var(--gold);color:var(--void-deep);padding:15px;z-index:99}
.skip:focus{top:10px}

@media(min-width:1600px){.section{padding-left:max(6vw,calc((100vw - 1360px)/2));padding-right:max(6vw,calc((100vw - 1360px)/2))}}
@media(max-width:1000px){
  .header nav{gap:18px}.nav-cta{margin-left:0}
  .hero-inner{grid-template-columns:1.2fr 1fr}.hero-art img{width:120%}
  .orbit{width:300px;height:300px}.orbit-two{width:370px;height:370px}
  .hero .eyebrow{max-width:300px}.actions{gap:18px}.button{padding:17px 18px;gap:18px}.hero-note{font-size:9px}
  .overview,.approach,.clients{gap:50px}
  .section{padding-top:75px;padding-bottom:75px}
  h2{font-size:39px}
  .service{padding:25px}.service h3{font-size:23px}
  .partner-grid{gap:22px}.steps{gap:30px}.steps p{min-height:155px}
  .contact{gap:35px}.contact-details>a{font-size:15px}
}
@media(max-width:760px){
  html{scroll-padding-top:20px}
  .header{height:82px}.wordmark{font-size:21px}.brand-mark{width:38px;height:38px}
  .menu-toggle{display:flex;gap:12px;background:none;color:var(--on-dark);border:1px solid #ffffff40;padding:10px 13px;font-size:12px}
  .header nav{display:none;position:absolute;top:81px;left:0;right:0;background:var(--void);padding:25px;box-shadow:0 20px 30px #0006;border-bottom:1px solid var(--line-dark)}
  .header nav.open{display:flex;flex-direction:column;align-items:stretch;gap:0}
  .header nav a{padding:16px}.nav-cta{margin-top:10px}
  .hero-inner{display:block}.hero-copy{padding:55px 0 0}
  .hero .eyebrow{max-width:none;font-size:8px;letter-spacing:1.3px}
  h1{font-size:clamp(46px,8vw,62px);letter-spacing:-1.8px}
  .hero-description{max-width:530px}
  .hero-art{min-height:340px;max-width:440px;margin:15px auto 30px}
  .hero-art img{width:100%}
  .orbit{width:290px;height:290px}.orbit-two{width:330px;height:330px}
  .art-caption{font-size:7px;bottom:0}.cross-one{top:25px}
  .hero-bottom{font-size:10px;gap:20px;line-height:1.6}
  .hero-bottom>span:last-child{font-size:8px;text-align:right;letter-spacing:1px}
  .hero-bottom b{margin-left:8px}
  .section{padding:60px 24px}
  .overview,.approach,.clients,.about,.contact{grid-template-columns:1fr;gap:35px}
  .eyebrow{font-size:9px;margin-bottom:20px}
  h2{font-size:37px;letter-spacing:-1.3px}
  .lead{font-size:18px}
  .section-heading{display:block;margin-bottom:35px}.section-heading>p{margin-top:22px}
  .services{grid-template-columns:1fr 1fr}
  .service{padding:25px 22px}.service h3{font-size:23px}.service-top{margin-bottom:24px}
  .service-callout h3{font-size:30px}
  .principle{margin-top:25px}
  .partner-intro{margin-top:27px}
  .partner-grid{grid-template-columns:1fr 1fr;gap:25px}
  .steps{grid-template-columns:1fr;gap:32px}.steps p{min-height:0}
  .step-number{margin-bottom:15px;font-size:35px}
  .about h2{font-size:35px}
  .contact-details{margin-top:10px}.contact-details>a{font-size:18px}
  .footer-top{flex-wrap:wrap;gap:30px}.footer-top p{font-size:10px}.footer-top>a:last-child{width:100%}
  .footer-bottom{gap:20px;line-height:1.7;font-size:9px}
  .inline-tags{font-size:9px;gap:15px}
}
@media(max-width:420px){
  .services{grid-template-columns:1fr}
  .service{padding:28px}.service p{font-size:14px}.service h3 br{display:none}
  .partner-grid{grid-template-columns:1fr}
  .actions{gap:16px}
  .actions .button{font-size:11px;padding:16px 14px;gap:16px}
  .actions .text-link{font-size:11px;gap:9px}
  .hero-note{font-size:8px}
  .hero-art{min-height:285px}
  .orbit{width:250px;height:250px}.orbit-two{width:290px;height:290px}
  .art-caption{font-size:6px}
  .inline-tags{flex-wrap:wrap}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}}
