/* Dark cinematic visual system. Layout, motion, and approved copy are unchanged. */
:root{
  --paper:#0b0d0f;
  --ink:#f4f1e9;
  --muted:#9b9fa3;
  --accent:#c8b78f;
  --line:rgba(244,241,233,.17);
}
html{background:#090a0c}
body{
  background-color:#0b0d0f;
  background-image:
    radial-gradient(ellipse at 33% -8%,rgba(255,255,255,.075),transparent 38%),
    radial-gradient(ellipse at 88% 26%,rgba(118,132,145,.055),transparent 28%),
    linear-gradient(180deg,#0d1013 0%,#090b0d 48%,#070809 100%);
  background-attachment:fixed;
  color:var(--ink);
}
::selection{background:#d5c49b;color:#090a0c}
.header{
  background:rgba(9,11,13,.82)!important;
  border-bottom-color:rgba(255,255,255,.13)!important;
  backdrop-filter:blur(18px) saturate(115%);
  -webkit-backdrop-filter:blur(18px) saturate(115%);
}
.wordmark,.navigation,.hero-name,.hero-bottom,.selected-intro,.leadership-intro,.project-section,.about-section{color:var(--ink)}
.name-period,.status-dot,.tiny-cross,.dock-count,.footer-name>span,.project-heading .tiny-cross{color:var(--accent)!important}
.page-progress span,.character-track i,.dex-progress i{background:var(--accent)!important}
.hero-piece{box-shadow:0 26px 80px rgba(0,0,0,.42),0 0 0 1px rgba(255,255,255,.07)}
.hero-piece:hover{box-shadow:0 34px 100px rgba(0,0,0,.58),0 0 0 1px rgba(255,255,255,.11)}
.hero-main,.hero-front,.hero-back{filter:saturate(.94) contrast(1.02)}
.piece-label{background:linear-gradient(transparent,rgba(0,0,0,.62))}
.collage-note{color:var(--muted)}
.section-rule,.project-footer,.character-controls,.window-controls,footer{border-color:var(--line)}
.intro-title,.project-heading h2,.about-grid h2{color:var(--ink)}
.disciplines,.header-description span,.project-aside .mono,.mono,.case-channels{color:var(--muted)}
.disciplines .discipline-payoff{color:var(--ink)}
.dark-section,
.tea-section,
.fresh-section,
.glass-section,
.about-section{background:transparent;color:var(--ink);--line:rgba(244,241,233,.17)}
.tea-section{background:linear-gradient(180deg,rgba(255,255,255,.022),rgba(255,255,255,0) 26%)}
.fresh-section{background:linear-gradient(180deg,rgba(255,255,255,.018),transparent 35%)}
.dexcom-section.dex-sequence{
  background:#101317!important;
  color:var(--ink)!important;
  --ink:#f4f1e9!important;
  --muted:#a4a8ac!important;
  --line:rgba(244,241,233,.18)!important;
}
.dex-controls button[aria-pressed=true]{color:var(--accent)!important}
.dex-progress{background:rgba(255,255,255,.12)!important}
.dex-progress i{background:var(--accent)!important}
.dex-caption{color:var(--muted)}
.window-section{background:#111315!important;color:var(--ink);--line:rgba(244,241,233,.18)}
.window-stage{background:#07090b!important}
.window-mullion{background:linear-gradient(#5f6468,#25292d)!important;box-shadow:0 -3px 18px #0008!important}
.penn-section{background:#101215!important;color:var(--ink)!important;--ink:#f4f1e9!important;--muted:#a4a8ac!important;--line:rgba(244,241,233,.18)!important}
.character-controls button[aria-pressed=true],.window-controls button[aria-pressed=true],.film-selector .film-thumb.active{border-color:var(--accent)!important}
.film-selector .film-thumb{color:var(--ink)}
.film-selector .film-thumb small,.film-selector-note{color:var(--muted)}
.fresh-secondary{background:#101214!important}
.touch-play,.media-play,.watch-disc,.case-play{
  background:rgba(12,14,16,.90)!important;
  color:var(--ink)!important;
  border:1px solid rgba(255,255,255,.22);
  box-shadow:0 10px 32px rgba(0,0,0,.30);
}
.media-button:hover .media-play,.cinema-frame:hover .watch-disc{background:#232629!important}
.custom-cursor{background:#e7e2d5!important;color:#0b0d0f!important}
.work-dock,.motion-toggle{
  background:rgba(13,15,17,.88)!important;
  border-color:rgba(255,255,255,.18)!important;
  color:var(--ink)!important;
  box-shadow:0 8px 35px rgba(0,0,0,.28)!important;
}
.project-dialog,.index-dialog,.image-dialog,.contact-dialog{
  background:#0d0f11!important;
  color:var(--ink)!important;
  --paper:#0d0f11;
  --ink:#f4f1e9;
  --muted:#9da1a5;
  --line:rgba(244,241,233,.18);
}
.dialog-top{background:rgba(13,15,17,.94)!important;border-color:var(--line)!important;backdrop-filter:blur(16px)}
dialog::backdrop{background:rgba(0,0,0,.82)!important;backdrop-filter:blur(10px)}
.index-row,.playlist-item,.case-strategy section{border-color:var(--line)!important}
.index-row:hover,.index-row:focus-visible,.playlist-item.active{color:var(--accent)!important}
.case-screen{background:#050607!important}
.case-screen.portrait{background:#17191c!important}
.case-next{background:#15181b!important;color:var(--ink)!important;border-top:1px solid var(--line)}
.case-next:hover{background:#1a1d20!important}
.contact-dialog .contact-note,.playlist-item small{color:var(--muted)!important}
.noscript-note{background:#15181b!important;color:var(--ink)!important}
.image-dialog{background:#090b0d!important}
.image-dialog>img{box-shadow:0 20px 70px rgba(0,0,0,.45)}
button:focus-visible,a:focus-visible{outline-color:var(--accent)!important}

@media(max-width:760px){
  body{background-attachment:scroll;background-image:radial-gradient(ellipse at 50% 0%,rgba(255,255,255,.055),transparent 27%),linear-gradient(180deg,#0d1012 0%,#080a0c 100%)}
  .header{background:rgba(9,11,13,.90)!important}
  .hero-piece{box-shadow:0 18px 48px rgba(0,0,0,.42),0 0 0 1px rgba(255,255,255,.06)}
}


/* Leadership interstitial: intentionally separate from Selected Work. */
.leadership-band{
  position:relative;
  padding:clamp(70px,8vw,130px) var(--gutter);
  background:linear-gradient(115deg,rgba(255,255,255,.035),rgba(255,255,255,.008) 42%,rgba(255,255,255,.02));
  border-top:1px solid rgba(239,236,228,.12);
  border-bottom:1px solid rgba(239,236,228,.12);
  overflow:hidden;
}
.leadership-band:before{
  content:"";position:absolute;inset:-20% 38% -20% -10%;pointer-events:none;
  background:radial-gradient(ellipse at center,rgba(120,139,151,.08),transparent 68%);
}
.leadership-stack{position:relative;max-width:1180px;margin:0 auto;display:grid;}
.leadership-stack>span,.leadership-stack>strong{
  display:block;padding:.12em 0 .17em;border-bottom:1px solid rgba(239,236,228,.08);
  font:400 clamp(34px,4.8vw,78px)/1.04 var(--sans);letter-spacing:-.055em;color:rgba(239,236,228,.43);
}
.leadership-stack>strong{font-weight:700;color:var(--ink);border-bottom:0;padding-top:.22em;}
.case-screen.square{height:min(68vh,720px);aspect-ratio:1/1;max-width:720px;margin-inline:auto;}
@media(max-width:760px){
  .leadership-band{padding:60px var(--gutter) 64px;}
  .leadership-stack>span,.leadership-stack>strong{font-size:clamp(31px,9.2vw,48px);letter-spacing:-.05em;padding:.2em 0 .25em;}
  .case-screen.square{height:auto;aspect-ratio:1/1;max-width:none;}
}


/* 5-hour Tea pinned horizontal film sequence. Vertical scroll always produces visible movement. */
@media(min-width:761px){
  .tea-section{overflow:clip}
  .tea-section .cinema-scroll{height:300svh;min-height:1900px;margin:0 calc(var(--gutter) * -1)}
  .tea-section .cinema-sticky{position:sticky;top:76px;height:calc(100svh - 76px);padding:18px 0 14px;display:flex;flex-direction:column;justify-content:center;align-items:stretch;overflow:hidden}
  .tea-viewport{width:100%;overflow:hidden;padding:0 var(--gutter)}
  .tea-rail{display:flex;align-items:center;gap:clamp(28px,3vw,58px);width:max-content;will-change:transform;transition:none}
  .tea-card.cinema-frame{flex:0 0 min(76vw,1240px);width:min(76vw,1240px);max-height:64svh;aspect-ratio:16/9;opacity:.48;transform:scale(.965);transition:opacity .35s ease,transform .45s var(--ease);box-shadow:0 24px 70px rgba(0,0,0,.34),0 0 0 1px rgba(255,255,255,.06)}
  .tea-card.cinema-frame.is-active{opacity:1;transform:scale(1)}
  .tea-card.cinema-frame video{width:100%;height:100%;object-fit:contain;background:#050607}
  .tea-section .film-selector{align-self:center;flex:none;padding:16px 0 0}
  .motion-off .tea-section .cinema-scroll{height:auto;min-height:0}
  .motion-off .tea-section .cinema-sticky{position:relative;top:0;height:auto;min-height:0;padding:20px 0}
}
@media(max-width:760px){
  .tea-viewport{width:calc(100% + 44px);margin-left:-22px;overflow-x:auto;overflow-y:hidden;padding:0 22px 8px;scroll-snap-type:x mandatory;scrollbar-width:none}
  .tea-viewport::-webkit-scrollbar{display:none}
  .tea-rail{display:flex;gap:16px;width:max-content;transform:none!important}
  .tea-card.cinema-frame{flex:0 0 86vw;width:86vw;aspect-ratio:16/9;scroll-snap-align:center;opacity:.72;transform:scale(.985);transition:opacity .25s,transform .25s}
  .tea-card.cinema-frame.is-active{opacity:1;transform:scale(1)}
}

/* v4: Fresh Tour hero card + true Tea Time sequence progress */
.hero-back{aspect-ratio:9/16;background:#050607}
.hero-back video{width:100%;height:100%;object-fit:cover;object-position:52% 50%;display:block}
.hero-back-label{padding:34px 8px 9px;font-size:6px;line-height:1.25;letter-spacing:.02em}
.hero-back-label>span:first-child{max-width:82%}
.film-selector .film-thumb.active{border-bottom-color:transparent!important}
.tea-progress{width:calc(100% - var(--gutter)*2);max-width:734px;height:2px;margin:0 auto;background:rgba(238,226,195,.18);overflow:hidden}
.tea-progress i{display:block;width:100%;height:100%;background:var(--accent);transform-origin:left center;transform:scaleX(0);will-change:transform}
@media(max-width:760px){
  .hero-back{aspect-ratio:9/16}
  .hero-back-label{font-size:5px;padding:24px 6px 7px}
  .tea-progress{width:calc(100% - 44px);margin-top:-5px}
}
