:root{
  --bg:#1b1a18;
  --panel:#23211e;
  --text:#fff;
  --muted:rgba(255,255,255,.72);
  --line:rgba(255,255,255,.13);
  --coral:#e05a4e;
  --teal:#52abab;
  --amber:#d4900a;
  --radius:24px;
  --font:'Figtree',sans-serif;
}
@font-face{
  font-family:'Figtree';
  src:url('/assets/fonts/figtree-latin.woff2') format('woff2');
  font-weight:400 700;font-style:normal;font-display:swap;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;background:var(--bg)}
body{margin:0;background:var(--bg);color:var(--text);font-family:var(--font);font-size:18px;line-height:1.6}
a{color:inherit}
img{max-width:100%;height:auto}
.sitebar{position:sticky;top:0;z-index:10;background:rgba(27,26,24,.94);backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}
.sitebar-inner{width:min(1180px,calc(100% - 40px));min-height:72px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:24px}
.brand{display:inline-flex;align-items:center;gap:10px;text-decoration:none;font-weight:800;letter-spacing:-.02em}
.brand img{width:34px;height:34px}
.brand em{color:var(--coral);font-style:normal}
.site-nav{display:flex;align-items:center;gap:20px}
.site-nav a{text-decoration:none;color:var(--muted);font-size:16px;font-weight:700}
.site-nav a:hover{color:#fff}
main{overflow:hidden}
.hero{--accent:var(--coral);width:min(1180px,calc(100% - 40px));margin:auto;padding:52px 0 68px;display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,.9fr);gap:clamp(36px,6vw,80px);align-items:center}
.hero--teal{--accent:var(--teal)}
.hero--amber{--accent:var(--amber)}
.breadcrumb{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:30px;color:var(--muted);font-size:13px}
.breadcrumb a{text-underline-offset:3px}
.eyebrow{margin:0 0 10px;color:var(--accent);font-size:12px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
.status{display:inline-flex;margin-bottom:18px;padding:5px 11px;border:1px solid color-mix(in srgb,var(--accent) 50%,transparent);border-radius:999px;background:color-mix(in srgb,var(--accent) 13%,transparent);color:var(--accent);font-size:12px;font-weight:800}
h1{max-width:720px;margin:0 0 20px;font-size:clamp(44px,7vw,78px);line-height:.98;letter-spacing:-.055em}
.lead{max-width:670px;margin:0;color:var(--muted);font-size:clamp(19px,2.1vw,22px);line-height:1.75}
.actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}
.button{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:0 22px;border:1px solid var(--line);border-radius:999px;text-decoration:none;font-size:15px;font-weight:800}
.button--primary{border-color:var(--accent);background:var(--accent);color:#12110f}
.button:hover{transform:translateY(-1px);filter:brightness(1.08)}
.hero-media{position:relative;margin:0;overflow:hidden;border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);box-shadow:0 28px 70px -36px #000}
.hero-media::after{content:"";position:absolute;inset:0;border-radius:inherit;box-shadow:inset 0 1px rgba(255,255,255,.08);pointer-events:none}
.hero-media picture{display:block}
.hero-media img{display:block;width:100%;aspect-ratio:16/10;object-fit:cover}
.content{border-top:1px solid var(--line);background:linear-gradient(180deg,rgba(255,255,255,.025),transparent 260px)}
.content-inner{width:min(1180px,calc(100% - 40px));margin:auto;padding:68px 0}
.section-label{margin:0 0 10px;color:var(--muted);font-size:12px;font-weight:800;letter-spacing:.1em;text-transform:uppercase}
h2{margin:0 0 28px;font-size:clamp(30px,4vw,48px);line-height:1.08;letter-spacing:-.04em}
.highlights{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-bottom:58px}
.highlight{padding:24px;border:1px solid var(--line);border-radius:18px;background:var(--panel);box-shadow:0 18px 36px -28px #000}
.highlight h3{margin:0 0 8px;font-size:18px}
.highlight p{margin:0;color:var(--muted);font-size:16px}
.tech{display:flex;flex-wrap:wrap;gap:9px;margin:0;padding:0;list-style:none}
.tech li{padding:7px 12px;border:1px solid var(--line);border-radius:999px;background:rgba(255,255,255,.045);font-size:13px;font-weight:700}
.content-inner>*+.section-label{margin-top:58px}
.content-inner>h3{margin:36px 0 10px;font-size:21px;line-height:1.25;letter-spacing:-.025em}
.prose{max-width:72ch;margin:0 0 18px;color:var(--muted);font-size:18px}
.prose:last-child{margin-bottom:0}
.shot{margin:0 0 34px;overflow:hidden;border:1px solid var(--line);border-radius:18px;background:var(--panel);box-shadow:0 18px 36px -28px #000}
.shot picture{display:block}
.shot img{display:block;width:100%;aspect-ratio:16/10;object-fit:cover;object-position:center top}
.shot figcaption{padding:14px 18px 18px;color:var(--muted);font-size:15px}
.work-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:0;padding:0;list-style:none}
.work-list a{display:block;height:100%;padding:22px;border:1px solid var(--line);border-radius:18px;background:var(--panel);text-decoration:none}
.work-list strong{display:block;margin-bottom:6px;font-size:18px}
.work-list span{color:var(--muted);font-size:15px}
.cta{margin-top:62px;padding:30px;border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);display:flex;align-items:center;justify-content:space-between;gap:24px}
.cta h2{margin:0;font-size:clamp(24px,3vw,34px)}
/* Contact footer: see assets/aah-footer.css (homepage-exact). */
@media(max-width:760px){
  .sitebar-inner{width:min(100% - 28px,1180px);min-height:58px}
  .brand span{display:none}
  .site-nav{gap:13px}
  .site-nav a{font-size:13px}
  .hero{width:min(100% - 36px,1180px);grid-template-columns:minmax(0,1fr);padding:34px 0 54px}
  .hero-media{grid-row:1}
  .hero-copy{grid-row:2}
  .breadcrumb{margin-bottom:22px}
  .highlights{grid-template-columns:minmax(0,1fr)}
  .work-list{grid-template-columns:minmax(0,1fr)}
  .content-inner{width:min(100% - 36px,1180px);padding:52px 0}
  .cta{align-items:flex-start;flex-direction:column;padding:24px}
  .cta .button{width:100%}
}
/* Team hub: addressable person sections (/team/#slug) */
.person-profile{scroll-margin-top:96px;display:grid;grid-template-columns:minmax(140px,200px) minmax(0,1fr);gap:24px 36px;align-items:start;padding:40px 0 8px;border-top:1px solid var(--line)}
.person-profile:first-of-type{border-top:0;padding-top:12px}
.person-profile-photo{margin:0}
.person-profile-photo img{display:block;width:100%;aspect-ratio:1;object-fit:cover;object-position:center top;border:1px solid var(--line);border-radius:18px;background:var(--panel)}
.person-profile-body .section-label{margin-top:0}
.person-profile-body h2{margin:0 0 14px;font-size:clamp(26px,3.5vw,36px);line-height:1.1;letter-spacing:-.04em}
.person-profile-body .actions{margin-top:8px}
@media(max-width:760px){
  .person-profile{grid-template-columns:minmax(0,1fr);gap:18px}
  .person-profile-photo{width:min(220px,100%)}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button{transition:none}}
/* Profile / roster quotes */
.profile-quote{margin:0 0 36px;padding:4px 0 4px 18px;border-left:3px solid var(--accent,var(--teal));max-width:42ch}
.profile-quote p{margin:0;color:var(--text);font-size:clamp(18px,2.2vw,24px);line-height:1.4;font-style:italic;letter-spacing:-.02em}
.profile-quote footer{margin-top:12px;color:var(--muted);font-size:13px;font-style:normal;font-weight:700}
.profile-quote cite{font-style:normal}
.roster-quote{display:block;margin-top:8px;color:rgba(255,255,255,.82);font-size:13px;font-style:italic;quotes:none}
.roster-quote::before,.roster-quote::after{content:none}
