/* V70 "Ember" direction · preview layer. Loaded last, overrides tokens and surfaces only.
   Architecture and section order untouched. */
:root{
  --e1:#f08a52;--e2:#d4622f;--e3:#93391c;
  --ember:linear-gradient(135deg,#f08a52 0%,#d4622f 46%,#93391c 100%);
  --carbon:#060708;--s1:#0c0e10;--s2:#12151a;
  --rim:rgba(255,255,255,.075);--rim-hi:rgba(255,255,255,.16);
  --bg:#060708!important;--panel:#0c0e10!important;
  --gold-1:#f08a52!important;--gold-2:#d4622f!important;--gold-3:#5e2412!important;
  --gold:linear-gradient(128deg,#f08a52 0%,#d4622f 48%,#93391c 100%)!important;
  --amber:#d4622f!important;--copper:#d4622f;--copper-light:#f08a52;--orange:#d4622f;
  --pc:#d4622f;--pcl:#f08a52;--v59-orange:#d4622f;--v59-orange-hot:#f08a52;
  --r-card:14px!important;--r-media:10px!important;
}
html,body{background:var(--carbon)!important}
body{background:
  radial-gradient(1100px 700px at 88% -8%,rgba(212,98,47,.10),transparent 62%),
  radial-gradient(900px 900px at -10% 38%,rgba(70,90,120,.06),transparent 60%),
  var(--carbon)!important}

/* ---------- Typography: no justified headings, readable paragraphs ---------- */
h1,h2,h3,h4,.hero-tagline,.rpt-title{text-align:left;text-wrap:balance;hyphens:manual!important}
.quote h2,.quote blockquote,.quote p{text-align:center}
p,.lede,.oc-d,.desc2,.bd{text-wrap:pretty}
.hero .lede,.hero .hero-tagline,.hero p{text-align:left!important;word-spacing:normal!important;hyphens:manual!important}
@media(max-width:720px){html body p:not(#am-justify-scope):not(.v70a):not(.v70b):not(.v70c):not(.v70d){text-align:left!important;word-spacing:normal!important}}
.pilltag,.eyebrow,.oc-label,.rpt-kicker,.host{color:var(--e1)!important;letter-spacing:.2em}
.pilltag:before,.eyebrow:before{background:var(--ember)!important;opacity:.9}

/* ---------- Hero: portrait shifted right, text column clear ---------- */
@media(min-width:1024px){
  .hero .hl-cut{position:relative;left:14vw}
  .hero .hl-name{left:0!important;right:0!important;width:auto!important;text-align:left!important;padding:0 0 0 calc(max(0px,(100% - 1300px)/2) + var(--pad))!important;font-size:clamp(88px,11.5vw,176px)!important;z-index:7!important}
  .hero .hl-name .hl-line span{font-size:inherit!important}
  .hero .hl-ui{grid-template-columns:minmax(340px,440px) 1fr!important}
  .hero .hl-ui>*{max-width:440px}
  .hero .hl-ui>.eyebrow{white-space:nowrap}
}
.hero .hl-scrim{inset:0!important;top:0!important;height:auto!important;background:
  linear-gradient(90deg,rgba(6,7,8,.92) 0%,rgba(6,7,8,.62) 32%,rgba(6,7,8,0) 58%),
  linear-gradient(0deg,rgba(6,7,8,.95) 0%,rgba(6,7,8,0) 38%)!important}
.hero .hl-bloom{background:radial-gradient(42% 52% at 66% 46%,rgba(212,98,47,.20),transparent 70%)!important}
.hl-name .hl-line span{color:#f6f2ec!important}

/* ---------- Buttons & links ---------- */
.btn-w,.btn-book,.rpt-cta,button[type=submit]{
  background:var(--ember)!important;color:#fff!important;border:1px solid rgba(255,255,255,.18)!important;
  box-shadow:0 1px 0 rgba(255,255,255,.25) inset,0 14px 34px -12px rgba(212,98,47,.55)!important;
  transition:transform .3s cubic-bezier(.2,.8,.2,1),box-shadow .3s ease,filter .3s ease!important;cursor:pointer}
.btn-w:hover,.btn-book:hover,button[type=submit]:hover{transform:translateY(-2px);filter:brightness(1.07);
  box-shadow:0 1px 0 rgba(255,255,255,.3) inset,0 20px 44px -12px rgba(212,98,47,.7)!important}
.btn-w:focus-visible,.btn-book:focus-visible,a:focus-visible,button:focus-visible{outline:2px solid var(--e1);outline-offset:3px}
a,button,[role=button],summary,label[for]{cursor:pointer}
.textlink:hover,.more:hover{color:var(--e1)!important}

/* ---------- Depth surfaces: gradient rim + inner light ---------- */
.proof-item,.card,.factcard,.disc-col,.oc,.press-row,.rpt-feature,.side-photo,.podcast-feature,.ae-step,.contact-direct{
  position:relative;isolation:isolate;
  background:linear-gradient(160deg,rgba(255,255,255,.045) 0%,rgba(255,255,255,.012) 46%,rgba(0,0,0,.18) 100%),var(--s1)!important;
  border:1px solid var(--rim)!important;border-radius:var(--r-card)!important;
  box-shadow:0 1px 0 rgba(255,255,255,.06) inset,0 30px 60px -30px rgba(0,0,0,.8),0 2px 6px rgba(0,0,0,.35)!important;
  transition:transform .5s cubic-bezier(.2,.8,.2,1),border-color .35s ease,box-shadow .5s ease!important}
.proof-item:before,.card:before,.factcard:before,.oc:before,.press-row:before,.rpt-feature:before,.podcast-feature:before{
  content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;z-index:-1;opacity:0;
  background:radial-gradient(420px circle at var(--mx,50%) var(--my,0%),rgba(240,138,82,.13),transparent 60%);
  transition:opacity .4s ease}
@media(hover:hover) and (pointer:fine){
  .proof-item:hover,.card:hover,.factcard:hover,.oc:hover,.press-row:hover,.rpt-feature:hover,.podcast-feature:hover{
    border-color:rgba(240,138,82,.32)!important;
    box-shadow:0 1px 0 rgba(255,255,255,.08) inset,0 40px 80px -30px rgba(0,0,0,.9),0 0 0 1px rgba(240,138,82,.06),0 0 60px -20px rgba(212,98,47,.35)!important}
  .proof-item:hover:before,.card:hover:before,.factcard:hover:before,.oc:hover:before,.press-row:hover:before,.rpt-feature:hover:before,.podcast-feature:hover:before{opacity:1}
}
.side-photo{overflow:hidden}
.side-photo img{border-radius:inherit}

/* Outcome numbers: ember gradient figures */
.oc-num,.oc-count,.oc-num .x{
  background:var(--ember);-webkit-background-clip:text;background-clip:text;color:transparent!important}
.oc{padding:clamp(22px,2.4vw,32px)!important}

/* Hero report card */
.rpt-feature{backdrop-filter:none!important}
.rpt-feature .rpt-thumb img{box-shadow:0 12px 30px -8px rgba(0,0,0,.8),0 0 0 1px rgba(255,255,255,.12);transform:perspective(600px) rotateY(-12deg);transition:transform .5s ease}
.rpt-feature:hover .rpt-thumb img{transform:perspective(600px) rotateY(0)}

/* Section seams: hairline with ember centre */
.sec.seam:before,.seam:before{background:linear-gradient(90deg,transparent,rgba(240,138,82,.35),transparent)!important}


/* Nav pill */
.nav-pill{background:rgba(10,12,14,.72)!important;border:1px solid var(--rim-hi)!important;
  box-shadow:0 1px 0 rgba(255,255,255,.07) inset,0 18px 40px -18px rgba(0,0,0,.9)!important}
.seg a.on,.seg .on{background:var(--ember)!important;color:#fff!important}

/* Tilt layer (JS sets --rx/--ry on fine pointers only) */
[data-tilt]{transform:perspective(1100px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg)) translateZ(0)}

/* ---------- Bug fix: horizontal overflow on mobile (layout viewport 469px on a 390px iPhone) ---------- */
/* Root cause: v59 body::before uses inset:-25vh -20vw; v62 switches it to position:absolute on mobile,
   so it extends 20vw past the right edge and widens the layout viewport. */
@media (max-width: 820px), (hover: none) and (pointer: coarse){
  body::before{inset:0!important;width:auto!important;height:100%!important}
}

/* ---------- Bug fix: podcast image forced 1300px layout width on mobile ---------- */
.press-list>*{min-width:0;max-width:100%}
.podcast-feature{width:100%}
.podcast-visual img{max-width:100%}

@media(max-width:720px){
  .proof-item,.card,.factcard,.disc-col,.oc,.press-row,.rpt-feature,.podcast-feature,.ae-step{
    box-shadow:0 1px 0 rgba(255,255,255,.05) inset,0 16px 30px -18px rgba(0,0,0,.8)!important}
}
@media(prefers-reduced-motion:reduce){
  [data-tilt]{transform:none!important}
  .proof-item,.card,.factcard,.disc-col,.oc,.press-row,.rpt-feature,.podcast-feature,.btn-w,.btn-book,.rpt-thumb img{transition:none!important}
  .rpt-feature .rpt-thumb img{transform:none!important}
}
@media(max-width:1023px){
  .hero .hl-name{z-index:7!important}
  .hero .hl-name .hl-line span{font-size:clamp(58px,17vw,96px)!important;line-height:.92}
}

/* ---------- V70.1: stronger section identity ---------- */
/* Short blocks: no justification (removes word gaps in cards, proof strip, columns) */
html body :is(.proof-item,.card,.bcol,.factcard,.oc,.press-row,.ae-step,.mstep,.contact,.tl-body,.feature-body,.podcast-copy) p:not(#am-justify-scope):not(.v70a):not(.v70b):not(.v70c):not(.v70d){
  text-align:left!important;word-spacing:normal!important}
html body p:not(#am-justify-scope){hyphens:auto;-webkit-hyphens:auto;hyphenate-limit-chars:7 3 3}
/* Long prose keeps justification, with hyphenation so lines stay even */
.prose p,.disc-col>p,.article-body p{hyphens:auto;-webkit-hyphens:auto}

/* Section index numerals: outlined, ember rim */
html body .sec-top .idx{color:transparent!important;-webkit-text-stroke:1px rgba(240,138,82,.55);opacity:1!important;
  font-weight:300!important}

/* Section titles: larger, tighter */
.sec-top h2,.contact-head h2{font-size:clamp(34px,3.6vw,56px)!important;letter-spacing:-.035em!important;line-height:1.02!important}

/* Raised slabs: alternating depth on key sections */
#disciplines,#outcomes,#capabilities,#presence{
  background:
    radial-gradient(70% 60% at 85% 0%,rgba(212,98,47,.07),transparent 70%),
    linear-gradient(180deg,#0d0f12 0%,#090a0c 100%)!important;
  box-shadow:0 1px 0 rgba(255,255,255,.06) inset,0 -1px 0 rgba(0,0,0,.6) inset}

/* Outcome figures larger */
.oc-num{font-size:clamp(46px,4.4vw,68px)!important;line-height:1!important;letter-spacing:-.04em}
.oc-k{color:#f4f0e8!important}

/* Cards: ember hairline on top edge */
.card:after,.oc:after,.factcard:after,.proof-item:after{
  content:"";position:absolute;left:18px;right:18px;top:-1px;height:1px;pointer-events:none;
  background:linear-gradient(90deg,transparent,rgba(240,138,82,.55),transparent);opacity:.7}

/* ---------- V70.2 ---------- */
/* Hero: stronger tagline, report card anchored to the right edge instead of floating on the portrait */
.hero .hero-tagline{font-size:clamp(18px,1.45vw,22px)!important;font-weight:500!important;letter-spacing:-.01em;color:#fbf8f3!important}
@media(min-width:1024px){
  .hero .hl-ui>.rpt-feature{justify-self:end!important;width:min(400px,100%)!important;
    background:linear-gradient(140deg,rgba(240,138,82,.10),rgba(10,12,14,.82) 55%)!important;
    -webkit-backdrop-filter:blur(14px) saturate(1.2)!important;backdrop-filter:blur(14px) saturate(1.2)!important;
    border:1px solid rgba(240,138,82,.30)!important}
}
.hero .rpt-action>span{background:var(--ember)!important;border-radius:999px!important;padding:7px 13px!important}

/* Proof strip: one continuous band with hairline dividers rather than four boxed tiles */
.proof .proof-grid{gap:0!important;border:1px solid var(--rim);border-radius:16px;overflow:hidden;
  background:linear-gradient(180deg,rgba(255,255,255,.035),rgba(255,255,255,.01)),var(--s1);
  box-shadow:0 1px 0 rgba(255,255,255,.06) inset,0 30px 60px -34px rgba(0,0,0,.9)}
.proof .proof-item{background:transparent!important;border:0!important;border-radius:0!important;box-shadow:none!important;
  border-left:1px solid var(--rim)!important;transform:none!important}
.proof .proof-item:first-child{border-left:0!important}
.proof .proof-item:after{display:none}
.proof .proof-item p b{color:#fbf8f3;font-weight:600}
@media(max-width:760px){
  .proof .proof-item{border-left:0!important;border-top:1px solid var(--rim)!important}
  .proof .proof-item:first-child{border-top:0!important}
}

/* Quote: ember quotation mark, quieter attribution */
.quote .mark{color:var(--e1)!important;opacity:.85}

/* Press logos: consistent monochrome treatment, ember on hover */
.press-logo{filter:grayscale(1) brightness(1.6) contrast(.9);opacity:.62;transition:opacity .3s ease,filter .3s ease}
.press-logo-link:hover .press-logo,.press-logo-link:focus-visible .press-logo{opacity:1;filter:none}
@media(prefers-reduced-motion:reduce){.press-logo{transition:none}}
@media(min-width:1024px){
  .hero .hl-name{top:calc(38% + 36px)!important}
  .hero .hl-ui{padding-bottom:104px!important}
  .hero .hl-ui>.rpt-feature{align-self:end!important}
}
.hero .rpt-feature::after{display:none!important}
html body .hero p:not(#am-justify-scope):not(.v70a):not(.v70b):not(.v70c):not(.v70d){text-align:left!important;word-spacing:normal!important;hyphens:manual!important}
/* Nav ring: v59 pseudo-element took the viewport width on mobile and drew a ghost outline */
.nav-pill{position:relative}
.nav-pill::after{left:-1px!important;right:-1px!important;top:-1px!important;bottom:-1px!important;width:auto!important;height:auto!important}
