/* MIRROR ME — cinematic art direction layer */
@view-transition{navigation:auto}
::view-transition-old(root){animation:mm-page-out .22s ease both}
::view-transition-new(root){animation:mm-page-in .48s cubic-bezier(.22,.61,.36,1) both}
@keyframes mm-page-out{to{opacity:0;filter:blur(4px);transform:scale(.995)}}
@keyframes mm-page-in{from{opacity:0;filter:blur(6px);transform:scale(1.004)}}

::selection{background:#111;color:#f7f7f4}
html{background:#090909}
body{position:relative;isolation:isolate;overflow-x:hidden}
body:before{
  content:"";position:fixed;inset:0;z-index:9998;pointer-events:none;opacity:.18;
  background-image:
    radial-gradient(circle at 20% 20%,rgba(0,0,0,.16) 0 .55px,transparent .7px),
    radial-gradient(circle at 80% 50%,rgba(255,255,255,.22) 0 .45px,transparent .65px);
  background-size:5px 5px,7px 7px;
  mix-blend-mode:multiply
}

.scroll-progress{position:fixed;top:0;left:0;right:0;height:2px;z-index:9999;pointer-events:none}
.scroll-progress span{display:block;width:100%;height:100%;background:#111;transform:scaleX(0);transform-origin:left center;will-change:transform}
.section.dark~* .scroll-progress span{background:#111}

.site-header{transition:background .45s ease,box-shadow .45s ease,border-color .45s ease,min-height .45s ease}
.site-header.is-scrolled{background:rgba(247,247,244,.9);box-shadow:0 12px 40px rgba(0,0,0,.045);border-bottom-color:rgba(17,17,17,.45)}
.brand{position:relative}
.brand:after{content:"";position:absolute;left:0;right:0;bottom:-8px;height:1px;background:currentColor;transform:scaleX(.18);transform-origin:left;transition:transform .55s cubic-bezier(.22,.61,.36,1)}
.brand:hover:after{transform:scaleX(1)}

.nav-links a{position:relative;text-decoration:none!important}
.nav-links a:not(.nav-cta):after{
  content:"";position:absolute;left:0;right:0;bottom:-7px;height:1px;background:currentColor;
  transform:scaleX(0);transform-origin:right;transition:transform .4s cubic-bezier(.22,.61,.36,1)
}
.nav-links a:not(.nav-cta):hover:after{transform:scaleX(1);transform-origin:left}

.home-hero{min-height:min(86vh,940px);isolation:isolate}
.home-hero:before{
  content:"";position:absolute;inset:18px;z-index:2;border:1px solid rgba(255,255,255,.23);
  pointer-events:none;opacity:0;
  background:linear-gradient(105deg,transparent 0 43%,rgba(255,255,255,.12) 49%,transparent 55%) 120% 0/320% 100% no-repeat;
  animation:mm-frame-in 1.4s .35s ease forwards,mm-mirror-sweep 3.8s 1s cubic-bezier(.16,1,.3,1) forwards
}
@keyframes mm-frame-in{to{opacity:1}}
@keyframes mm-mirror-sweep{from{background-position:120% 0}to{background-position:-80% 0}}
.home-hero:after{z-index:1;background:
  linear-gradient(180deg,rgba(0,0,0,.03) 0%,rgba(0,0,0,.02) 35%,rgba(0,0,0,.67) 100%),
  linear-gradient(90deg,rgba(0,0,0,.16),transparent 42%)}
.home-hero img,.about-photo img,.approach-visual-media img{
  transform:translate3d(0,var(--parallax-y,0),0) scale(1.035);
  will-change:transform;transition:transform .16s linear,filter .7s ease
}
.motion-ready .home-hero img{animation:mm-image-in 1.7s cubic-bezier(.16,1,.3,1) both}
@keyframes mm-image-in{from{opacity:.25;filter:blur(10px) saturate(.75)}to{opacity:1;filter:blur(0) saturate(1)}}

.home-hero-inner{min-height:min(86vh,940px)}
.home-hero-inner:after{
  content:"MIRROR";position:absolute;right:-.02em;bottom:-.105em;z-index:-1;
  font-size:clamp(120px,21vw,330px);font-weight:500;line-height:.78;letter-spacing:-.075em;
  color:rgba(255,255,255,.065);pointer-events:none;white-space:nowrap
}
.home-hero h1,.home-question .question,.statement,.page-hero h1,.about-copy h1,.approach-visual-copy h2,.section h2,.inquiry-body h3,.offer h3{
  text-wrap:balance
}
.home-hero-copy h1{font-size:clamp(34px,4.25vw,68px);max-width:980px}
.home-hero-copy p{font-size:clamp(16px,1.5vw,22px)}
.home-hero-meta{opacity:.88}

.page-hero{position:relative;overflow:hidden;background:
 linear-gradient(120deg,rgba(236,235,230,.18),transparent 52%)}
.page-hero:after{
  content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:#111;
  transform:scaleX(0);transform-origin:left;animation:mm-rule-in 1.15s .18s cubic-bezier(.16,1,.3,1) forwards
}
@keyframes mm-rule-in{to{transform:scaleX(1)}}

.motion-ready .will-reveal{
  opacity:0;transform:translate3d(0,28px,0);filter:blur(7px);
  transition:
    opacity .85s cubic-bezier(.16,1,.3,1),
    transform .95s cubic-bezier(.16,1,.3,1),
    filter .95s cubic-bezier(.16,1,.3,1);
  transition-delay:calc(var(--reveal-order,0)*34ms)
}
.motion-ready .will-reveal.is-visible{opacity:1;transform:translate3d(0,0,0);filter:blur(0)}

.section{position:relative}
.section.dark,.approach-visual{overflow:hidden;isolation:isolate}
.section.dark:before,.approach-visual:after{
  content:"";position:absolute;z-index:0;pointer-events:none;width:760px;height:760px;border-radius:50%;
  left:calc(var(--pointer-x,50%) - 380px);top:calc(var(--pointer-y,50%) - 380px);
  background:radial-gradient(circle,rgba(255,255,255,.095) 0%,rgba(255,255,255,.035) 28%,transparent 70%);
  opacity:.9;transition:opacity .45s ease
}
.section.dark>.wrap,.approach-visual>*{position:relative;z-index:1}

.lens-card,.resource-card,.actor-card,.inquiry,.offer{
  transition:background .5s cubic-bezier(.16,1,.3,1),transform .5s cubic-bezier(.16,1,.3,1),box-shadow .5s ease
}
@media(pointer:fine){
  .lens-card:hover,.resource-card:hover,.actor-card:hover{transform:translateY(-4px);box-shadow:0 24px 50px rgba(0,0,0,.07);background:rgba(247,247,244,.72)}
  .inquiry:hover{background:linear-gradient(90deg,rgba(0,0,0,.025),transparent 62%)}
  .inquiry:hover .inquiry-label{color:#111;transform:translateX(4px)}
  .offer:hover{background:linear-gradient(90deg,rgba(0,0,0,.022),transparent 68%)}
}
.inquiry-label{transition:color .4s ease,transform .5s cubic-bezier(.16,1,.3,1)}

.explore-card{position:relative;overflow:hidden;isolation:isolate;transition:color .55s ease,background .55s ease,transform .55s cubic-bezier(.16,1,.3,1)}
.explore-card:before{
  content:"";position:absolute;inset:0;z-index:-1;background:#111;
  transform:translateY(101%);transition:transform .58s cubic-bezier(.16,1,.3,1)
}
.explore-card:hover{background:transparent;transform:translateY(-3px)}
.explore-card:hover:before{transform:translateY(0)}
.explore-card strong{transition:transform .55s cubic-bezier(.16,1,.3,1),letter-spacing .55s ease}
.explore-card:hover strong{transform:translateX(7px);letter-spacing:-.03em}

.btn{position:relative;border-bottom:0!important;overflow:hidden}
.btn:after{
  content:"";position:absolute;left:0;right:0;bottom:4px;height:1px;background:currentColor;
  transform:scaleX(.28);transform-origin:left;transition:transform .48s cubic-bezier(.16,1,.3,1)
}
.btn:hover:after{transform:scaleX(1)}

.about-photo,.approach-visual-media{position:relative;overflow:hidden}
.about-photo:after,.approach-visual-media:after{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(120deg,rgba(255,255,255,.08),transparent 35%,rgba(0,0,0,.08));
  mix-blend-mode:soft-light
}
.about-copy{position:relative}
.about-copy:after{
  content:"";position:absolute;top:54px;right:54px;width:58px;height:58px;border-top:1px solid #111;border-right:1px solid #111;opacity:.32
}

.inquiry-stack{position:relative}
.inquiry-stack:before{
  content:"";position:absolute;left:0;top:0;width:1px;height:100%;
  background:linear-gradient(#111,transparent 95%);opacity:.18;pointer-events:none
}

.footer{position:relative;background:var(--white);overflow:hidden;padding-bottom:clamp(110px,12vw,180px)}
.footer:before{content:"";display:block;position:absolute;top:-1px;left:0;width:0;height:1px;background:#111;animation:mm-footer-rule linear both;animation-timeline:view();animation-range:entry 0% cover 28%}
.footer:after{
  content:"MIRROR ME";position:absolute;left:50%;bottom:-.13em;transform:translateX(-50%);
  font-size:clamp(72px,14vw,220px);font-weight:500;line-height:.8;letter-spacing:-.07em;
  white-space:nowrap;color:rgba(9,9,9,.045);pointer-events:none
}
@keyframes mm-footer-rule{to{width:100%}}

@media(max-width:900px){
  body:before{opacity:.1}
  .home-hero,.home-hero-inner{min-height:78svh}
  .home-hero:before{inset:10px;background:none}
  .home-hero-inner:after{display:none}
  .home-hero h1{font-size:clamp(30px,9vw,42px);max-width:92%}
  .footer{padding-bottom:100px}
  .home-hero p{font-size:15px;max-width:88%}
  .motion-ready .will-reveal{transform:translate3d(0,18px,0);filter:blur(4px);transition-duration:.72s}
  .about-copy:after{top:28px;right:16px;width:34px;height:34px}
  .section.dark:before,.approach-visual:after{display:none}
  .home-hero img,.about-photo img,.approach-visual-media img{transform:scale(1.02)}
}
@media(max-width:520px){
  .home-hero,.home-hero-inner{min-height:76svh}
  .home-hero h1{font-size:31px;line-height:.98}
}
@media(prefers-reduced-motion:reduce){
  @view-transition{navigation:auto}
  ::view-transition-old(root),::view-transition-new(root){animation:none}
  .motion-ready .will-reveal,.motion-ready .will-reveal.is-visible{opacity:1;transform:none;filter:none;transition:none}
  .home-hero img,.about-photo img,.approach-visual-media img{animation:none!important;transform:none!important;transition:none}
  .home-hero:before,.page-hero:after,.footer:before{animation:none!important;opacity:1;transform:none;width:100%}
  .scroll-progress{display:none}
}

/* Page-specific editorial identities */
@media(min-width:901px){
  .inquiry-body{padding-left:34px;border-left:1px solid rgba(17,17,17,.12)}
  .inquiry-label{position:sticky;top:96px;align-self:start}
}
.page-explorations .inquiry,.page-distinctions .inquiry{position:relative;scroll-margin-top:88px}
.page-explorations .inquiry-stack{counter-reset:mmchapter}
.page-explorations .inquiry{counter-increment:mmchapter}
.page-explorations .inquiry:after{
  content:counter(mmchapter,decimal-leading-zero);position:absolute;right:0;top:36px;
  font-size:clamp(54px,6vw,96px);font-weight:500;line-height:.8;letter-spacing:-.07em;
  color:rgba(9,9,9,.035);pointer-events:none;font-variant-numeric:tabular-nums
}
.page-distinctions .inquiry-stack{counter-reset:mmdist}
.page-distinctions .inquiry{counter-increment:mmdist}
.page-distinctions .inquiry:after{
  content:counter(mmdist,decimal-leading-zero);position:absolute;right:0;top:42px;
  font-size:15px;letter-spacing:.16em;color:rgba(9,9,9,.22);pointer-events:none;
  font-variant-numeric:tabular-nums
}
.page-sources .inquiry-body a{
  text-decoration-thickness:1px;text-underline-offset:4px;
  transition:opacity .3s ease,text-underline-offset .3s ease
}
.page-sources .inquiry-body a:hover{opacity:.58;text-underline-offset:7px}
.page-approach .approach-visual-copy{background:
  linear-gradient(145deg,rgba(255,255,255,.025),transparent 42%),
  #0b0b0b}
.page-coaching .offer-meta>p:first-child{font-size:18px;letter-spacing:-.01em;color:#111}
.page-resources .resource-card{min-height:300px}
.page-about .actor-card{position:relative;overflow:hidden}
.page-about .actor-card:after{
  content:"";position:absolute;left:22px;bottom:20px;width:0;height:1px;background:#111;
  transition:width .55s cubic-bezier(.16,1,.3,1)
}
@media(pointer:fine){.page-about .actor-card:hover:after{width:calc(100% - 44px)}}
@media(max-width:900px){
  .inquiry-body{padding-left:0;border-left:0}
  .inquiry-label{position:static}
  .page-explorations .inquiry:after{top:29px;font-size:44px}
  .page-distinctions .inquiry:after{top:30px;font-size:12px}
  .page-resources .resource-card{min-height:205px}
}

/* Opening film */
.mm-opening-film{
  position:fixed;inset:0;z-index:11000;background:#000;color:#f7f7f4;
  display:grid;place-items:center;opacity:1;visibility:visible;
  transition:opacity .48s ease,visibility .48s ease
}
.mm-opening-film-video{
  display:block;width:100%;height:100%;object-fit:contain;background:#000
}
.mm-opening-film-start{
  position:absolute;left:50%;bottom:max(34px,5vh);transform:translateX(-50%);
  min-height:42px;padding:0 18px;border:1px solid rgba(255,255,255,.58);border-radius:999px;
  background:rgba(0,0,0,.46);color:#fff;backdrop-filter:blur(8px);
  font:600 10px/1 Arial,Helvetica,sans-serif;letter-spacing:.16em;text-transform:uppercase;
  cursor:pointer
}
.mm-opening-film-start:hover{background:rgba(255,255,255,.1)}
.mm-opening-film-skip{
  position:absolute;right:max(24px,3vw);top:max(24px,3vw);z-index:2;
  padding:8px 0;border:0;background:transparent;color:rgba(255,255,255,.72);
  font:600 10px/1 Arial,Helvetica,sans-serif;letter-spacing:.18em;text-transform:uppercase;
  cursor:pointer;transition:color .28s ease,opacity .28s ease
}
.mm-opening-film-skip:hover{color:#fff}
.mm-opening-film.is-leaving{opacity:0;visibility:hidden;pointer-events:none}
@media(max-width:900px){
  .mm-opening-film-start{bottom:max(28px,4vh)}
}
@media(prefers-reduced-motion:reduce){
  .mm-opening-film{display:none!important}
}

/* Signature opening */
.intro-lock{overflow:hidden}
.mm-intro{
  position:fixed;inset:0;z-index:10000;background:#090909;color:#f7f7f4;
  display:grid;place-items:center;opacity:1;transition:opacity .52s ease,visibility .52s ease
}
.mm-intro-word{
  font-size:12px;font-weight:700;letter-spacing:.22em;text-transform:uppercase;
  transform:translateY(5px);opacity:0;transition:opacity .38s ease,transform .55s cubic-bezier(.16,1,.3,1)
}
.mm-intro-rule{
  position:absolute;left:50%;top:calc(50% + 32px);width:130px;height:1px;background:#f7f7f4;
  transform:translateX(-50%) scaleX(0);transform-origin:center;opacity:.65;
  transition:transform .6s .12s cubic-bezier(.16,1,.3,1)
}
.mm-intro.is-active .mm-intro-word{opacity:1;transform:none}
.mm-intro.is-active .mm-intro-rule{transform:translateX(-50%) scaleX(1)}
.mm-intro.is-leaving{opacity:0;visibility:hidden}

/* Monumental page signatures */
.page-approach .page-hero,
.page-coaching .page-hero,
.page-sources .page-hero,
.page-distinctions .page-hero{isolation:isolate}
.page-approach .page-hero:before,
.page-coaching .page-hero:before,
.page-sources .page-hero:before,
.page-distinctions .page-hero:before{
  position:absolute;z-index:0;right:.045em;bottom:-.16em;
  font-size:clamp(150px,28vw,430px);font-weight:500;line-height:.75;letter-spacing:-.08em;
  color:rgba(9,9,9,.04);pointer-events:none;white-space:nowrap
}
.page-approach .page-hero>.wrap,
.page-coaching .page-hero>.wrap,
.page-sources .page-hero>.wrap,
.page-distinctions .page-hero>.wrap{position:relative;z-index:1}
.page-approach .page-hero:before{content:"?"}
.page-coaching .page-hero:before{content:"→"}
.page-distinctions .page-hero{background:var(--stone)}
.page-distinctions .page-hero:before{content:"≠";right:.08em;color:rgba(9,9,9,.055)}
.page-sources .page-hero{background:#090909;color:#f7f7f4}
.page-sources .page-hero:before{content:"SOURCES";font-size:clamp(100px,18vw,270px);right:-.035em;color:rgba(255,255,255,.045)}
.page-sources .page-hero .eyebrow{color:#8e8e89}
.page-sources .page-hero p{color:#b9b9b4}
.page-sources .page-hero:after{background:#f7f7f4}

/* Homepage cards as editorial plates */
.page-home .lens-grid{counter-reset:mmlens}
.page-home .lens-card{counter-increment:mmlens;position:relative;overflow:hidden}
.page-home .lens-card:after{
  content:counter(mmlens,decimal-leading-zero);position:absolute;right:18px;bottom:12px;
  font-size:58px;font-weight:500;line-height:.8;letter-spacing:-.07em;color:rgba(9,9,9,.035);
  transition:color .45s ease,transform .55s cubic-bezier(.16,1,.3,1)
}
@media(pointer:fine){
  .page-home .lens-card:hover:after{color:rgba(9,9,9,.09);transform:translateY(-3px)}
}

/* Major typography reveals use a mask instead of a generic fade */
.motion-ready .home-hero-copy h1.will-reveal,
.motion-ready .page-hero h1.will-reveal,
.motion-ready .statement.will-reveal,
.motion-ready .concept-line.will-reveal{
  clip-path:inset(0 0 105% 0);
  transform:translate3d(0,34px,0);
  transition:
    opacity .75s cubic-bezier(.16,1,.3,1),
    transform 1s cubic-bezier(.16,1,.3,1),
    clip-path 1.05s cubic-bezier(.16,1,.3,1),
    filter .85s cubic-bezier(.16,1,.3,1)
}
.motion-ready .home-hero-copy h1.will-reveal.is-visible,
.motion-ready .page-hero h1.will-reveal.is-visible,
.motion-ready .statement.will-reveal.is-visible,
.motion-ready .concept-line.will-reveal.is-visible{
  clip-path:inset(0 0 0 0);transform:none
}

/* More gallery-like breathing space */
@media(min-width:1100px){
  .section{padding-top:104px;padding-bottom:104px}
  .home-question{min-height:68vh;display:flex;align-items:center;padding-top:120px;padding-bottom:120px}
  .page-hero{padding-top:118px;padding-bottom:82px}
  .inquiry{padding-top:58px;padding-bottom:58px}
  .offer{padding-top:52px;padding-bottom:52px}
}
@media(max-width:900px){
  .page-approach .page-hero:before,
  .page-coaching .page-hero:before,
  .page-distinctions .page-hero:before{font-size:190px;bottom:-.12em}
  .page-sources .page-hero:before{font-size:105px;bottom:-.05em}
  .page-home .lens-card:after{font-size:44px;right:12px;bottom:10px}
}
@media(prefers-reduced-motion:reduce){
  .mm-intro{display:none!important}
  .motion-ready .home-hero-copy h1.will-reveal,
  .motion-ready .page-hero h1.will-reveal,
  .motion-ready .statement.will-reveal,
  .motion-ready .concept-line.will-reveal{clip-path:none!important}
}

/* Mobile navigation choreography */
@media(max-width:900px){
  .mobile-panel{
    opacity:0;transform:translate3d(0,-10px,0);
    transition:opacity .32s ease,transform .48s cubic-bezier(.16,1,.3,1)
  }
  .mobile-menu[open] .mobile-panel{opacity:1;transform:none}
  .mobile-panel a{
    opacity:0;transform:translate3d(0,12px,0);
    transition:opacity .4s ease,transform .55s cubic-bezier(.16,1,.3,1),color .25s ease
  }
  .mobile-menu[open] .mobile-panel a{opacity:1;transform:none}
  .mobile-menu[open] .mobile-panel a:nth-child(1){transition-delay:.03s}
  .mobile-menu[open] .mobile-panel a:nth-child(2){transition-delay:.06s}
  .mobile-menu[open] .mobile-panel a:nth-child(3){transition-delay:.09s}
  .mobile-menu[open] .mobile-panel a:nth-child(4){transition-delay:.12s}
  .mobile-menu[open] .mobile-panel a:nth-child(5){transition-delay:.15s}
  .mobile-menu[open] .mobile-panel a:nth-child(6){transition-delay:.18s}
}
@media(prefers-reduced-motion:reduce){
  .mobile-panel,.mobile-panel a{transition:none!important;opacity:1!important;transform:none!important}
}

/* Cinematic home masthead */
.page-home .site-header{
  position:fixed;left:0;right:0;top:0;
  background:linear-gradient(180deg,rgba(0,0,0,.32),rgba(0,0,0,0));
  color:#f7f7f4;border-bottom-color:rgba(255,255,255,.26);
  backdrop-filter:none
}
.page-home .site-header .nav-cta{border-bottom-color:currentColor}
.page-home .site-header.is-scrolled{
  background:rgba(247,247,244,.92);color:#090909;
  border-bottom-color:rgba(17,17,17,.42);backdrop-filter:blur(18px)
}
.page-home .home-hero,.page-home .home-hero-inner{min-height:100svh}
.page-home .home-hero-inner{padding-top:88px;padding-bottom:42px}
.page-home .home-hero-inner:before{
  content:"SCROLL";position:absolute;right:0;bottom:42px;
  font-size:9px;letter-spacing:.17em;text-transform:uppercase;color:rgba(255,255,255,.72);
  writing-mode:vertical-rl;transform:rotate(180deg)
}
.page-home .home-hero-inner:before{
  animation:mm-scroll-cue 2.8s 1.5s ease-in-out infinite
}
@keyframes mm-scroll-cue{
  0%,100%{opacity:.35;transform:rotate(180deg) translateY(0)}
  50%{opacity:.9;transform:rotate(180deg) translateY(7px)}
}

/* Slow photographic breathing */
.page-home .home-hero img{scale:1.055;animation:mm-hero-breathe 8.5s cubic-bezier(.16,1,.3,1) forwards}
@keyframes mm-hero-breathe{
  0%{scale:1.085;filter:blur(8px) saturate(.78) contrast(.98)}
  18%{filter:blur(0) saturate(.9) contrast(1)}
  100%{scale:1.055;filter:blur(0) saturate(1) contrast(1.015)}
}

/* Photographic shutter reveals */
.about-photo.will-reveal,
.approach-visual-media.will-reveal{
  opacity:1!important;transform:none!important;filter:none!important
}
.about-photo:before,.approach-visual-media:before{
  content:"";position:absolute;inset:0;z-index:3;pointer-events:none;
  background:var(--stone);transform:translateX(0);
  transition:transform 1.15s .08s cubic-bezier(.76,0,.24,1)
}
.approach-visual-media:before{background:#090909}
.about-photo.is-visible:before,.approach-visual-media.is-visible:before{transform:translateX(101%)}
.about-photo img,.approach-visual-media img{filter:saturate(.93) contrast(1.015)}
@media(pointer:fine){
  .about-photo:hover img,.approach-visual-media:hover img{filter:saturate(1) contrast(1.02)}
}

/* Current navigation becomes a quiet editorial marker */
.nav-links a[aria-current="page"]{opacity:1}
.nav-links a[aria-current="page"]:after{transform:scaleX(1)!important;transform-origin:left!important}

/* Light-to-dark section cuts */
.section:not(.dark):after{
  content:"";position:absolute;left:0;top:-1px;height:1px;width:100%;
  background:linear-gradient(90deg,#111 0 22%,rgba(17,17,17,.15) 22% 100%);
  transform-origin:left;opacity:.7
}

/* Filmic dark sections: restrained inner frame */
.section.dark:after{
  content:"";position:absolute;inset:18px;z-index:0;border:1px solid rgba(255,255,255,.12);
  pointer-events:none
}

@media(max-width:900px){
  .page-home .site-header{background:linear-gradient(180deg,rgba(0,0,0,.38),transparent)}
  .page-home .site-header.is-scrolled{background:rgba(247,247,244,.96)}
  .page-home .home-hero,.page-home .home-hero-inner{min-height:92svh}
  .page-home .home-hero-inner{padding-top:72px;padding-bottom:28px}
  .page-home .home-hero-inner:before{display:none}
  .section.dark:after{inset:8px}
}
@media(prefers-reduced-motion:reduce){
  .page-home .home-hero img{animation:none!important;scale:1.02!important}
  .page-home .home-hero-inner:before{animation:none!important}
  .about-photo:before,.approach-visual-media:before{display:none!important}
}

@media(max-width:900px){
  .page-home .site-header:has(.mobile-menu[open]){
    background:rgba(247,247,244,.98);color:#090909;border-bottom-color:#111;backdrop-filter:blur(18px)
  }
}

/* Cinematic scene rail */
.scene-counter{
  position:fixed;right:17px;top:50%;z-index:45;transform:translateY(-50%);
  display:grid;grid-template-columns:auto 42px auto;align-items:center;gap:8px;
  font-size:9px;letter-spacing:.15em;font-variant-numeric:tabular-nums;
  color:rgba(9,9,9,.44);opacity:0;transition:opacity .45s ease
}
.scene-counter.is-active{opacity:1}
.scene-counter i{display:block;height:1px;background:currentColor;opacity:.45}
.scene-counter em{
  position:absolute;right:-2px;top:calc(100% + 22px);
  writing-mode:vertical-rl;font-style:normal;font-size:8px;letter-spacing:.2em;
  text-transform:uppercase;color:rgba(9,9,9,.24)
}
.page-sources .scene-counter{color:rgba(9,9,9,.44)}
@media(max-width:1100px){.scene-counter{right:8px;opacity:.55}.scene-counter em{display:none}}
@media(max-width:900px){.scene-counter{display:none!important}}

/* Closing credits */
.footer{
  background:#090909!important;color:#f7f7f4!important;border-top-color:rgba(255,255,255,.22)!important
}
.footer:before{background:#f7f7f4!important;opacity:.7}
.footer:after{color:rgba(255,255,255,.045)!important}
.footer small{color:#8f8f8a!important}
.footer a{color:#f7f7f4}
.footer-grid{position:relative;z-index:1}
.footer-grid>div{opacity:.9}


/* Final cinematic proportions — editorial, not decorative */
@media(min-width:1100px){
  .page-hero{
    min-height:58svh;
    display:flex;
    align-items:flex-end;
    padding-top:150px;
    padding-bottom:72px
  }
  .page-hero>.wrap{width:min(calc(100% - 84px),var(--max))}
  .page-hero h1{max-width:1120px;font-size:clamp(52px,5.35vw,78px);line-height:.92}
  .page-hero p{max-width:780px;margin-top:34px}
  
  .page-about .about-hero{min-height:86svh;grid-template-columns:.92fr 1.08fr}
  .page-about .about-photo{min-height:86svh}
  .page-about .about-copy{
    min-height:86svh;
    padding:clamp(56px,6vw,92px);
    background:#f2f1ec
  }
  .page-about .about-copy h1{font-size:clamp(48px,4.9vw,76px);line-height:.92;max-width:820px}
  .page-about .about-copy p{max-width:590px}
  
  .page-approach .approach-visual{min-height:80svh;grid-template-columns:.88fr 1.12fr}
  .page-approach .approach-visual-media{min-height:80svh}
  .page-approach .approach-visual-copy{padding:clamp(54px,5vw,84px)}
  .page-approach .approach-visual-copy h2{font-size:clamp(44px,4.6vw,72px);max-width:760px}
  
  .page-coaching .offer{grid-template-columns:.78fr 1.22fr;gap:88px}
  .page-coaching .offer h3{max-width:520px}
  
  .page-resources .resource-grid{grid-template-columns:repeat(12,1fr)}
  .page-resources .resource-card:nth-child(1){grid-column:span 5}
  .page-resources .resource-card:nth-child(2){grid-column:span 7}
  .page-resources .resource-card:nth-child(3){grid-column:span 7}
  .page-resources .resource-card:nth-child(4){grid-column:span 5}
  .page-resources .resource-card{min-height:330px}
  
  .page-explorations .inquiry:nth-child(even) .inquiry-body,
  .page-sources .inquiry:nth-child(even) .inquiry-body{
    transform:translateX(28px)
  }
  .page-explorations .inquiry-body,
  .page-sources .inquiry-body{transition:transform .7s cubic-bezier(.16,1,.3,1)}
  
  .section.dark{padding-top:126px;padding-bottom:126px}
  .section.dark .statement{max-width:1180px}
}

/* Make the photographs feel like stills, not website images */
.home-hero img,.about-photo img,.approach-visual-media img{
  image-rendering:auto;
  backface-visibility:hidden
}
.page-about .about-photo:after,
.page-approach .approach-visual-media:after{
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.1)
}

/* Editorial rhythm in long reading pages */
.page-explorations .inquiry-body p,
.page-sources .inquiry-body p,
.page-distinctions .inquiry-body p{max-width:800px}
.page-explorations .question-line{max-width:760px}
.page-distinctions .inquiry-body h3{max-width:820px}

/* A final controlled fade into the closing credits */
.footer{
  box-shadow:0 -70px 100px -90px rgba(0,0,0,.55)
}

@media(max-width:900px){
  .page-about .about-copy{background:#f2f1ec}
  .page-explorations .inquiry:nth-child(even) .inquiry-body,
  .page-sources .inquiry:nth-child(even) .inquiry-body{transform:none}
}

/* Editorial frame — quieter than a UI, closer to a magazine folio */
.editorial-spine{
  position:fixed;left:16px;top:50%;z-index:44;
  transform:translateY(-50%);
  display:flex;flex-direction:column;align-items:center;gap:12px;
  opacity:0;pointer-events:none;
  transition:opacity .5s ease,transform .7s cubic-bezier(.16,1,.3,1)
}
.has-scrolled .editorial-spine{opacity:1;transform:translateY(-50%) translateX(0)}
.editorial-spine span,.editorial-spine em{
  writing-mode:vertical-rl;transform:rotate(180deg);
  font-style:normal;font-size:8px;letter-spacing:.19em;text-transform:uppercase;
  color:rgba(9,9,9,.32)
}
.editorial-spine i{width:1px;height:54px;background:rgba(9,9,9,.2)}
.page-sources .editorial-spine span,
.page-sources .editorial-spine em{color:rgba(9,9,9,.32)}

/* Scene counter behaves like a film slate, not a widget */
.scene-current{
  display:inline-block;min-width:18px;
  transition:opacity .16s ease,transform .22s cubic-bezier(.16,1,.3,1)
}
.scene-current.is-changing{opacity:0;transform:translateY(-5px)}

/* Internal navigation is cut like a scene */
.page-wipe{
  position:fixed;inset:0;z-index:10001;pointer-events:none;
  background:#090909;
  transform:scaleX(0);transform-origin:right center;
  transition:transform .36s cubic-bezier(.76,0,.24,1)
}
.page-wipe.is-active{transform:scaleX(1)}
.page-is-leaving{overflow:hidden}

/* Large-screen title scale: closer to campaign typography */
@media(min-width:1440px){
  .page-home .home-hero-copy{max-width:980px}
  .page-home .home-hero-copy h1{
    font-size:clamp(62px,5.25vw,86px);
    line-height:.91;letter-spacing:-.055em;max-width:980px
  }
  .page-home .home-hero-copy p{max-width:650px;font-size:21px}
  .page-home .home-hero-meta{font-size:10px}
  .page-hero h1{font-size:clamp(60px,5.65vw,86px)}
}

/* Photographs get the smallest possible cinematic zoom on interaction */
@media(pointer:fine) and (min-width:901px){
  .about-photo img,.approach-visual-media img{
    transition:transform 1.15s cubic-bezier(.16,1,.3,1),filter .75s ease
  }
  .about-photo:hover img,.approach-visual-media:hover img{
    transform:translate3d(0,var(--parallax-y,0),0) scale(1.052)
  }
}

/* Slightly more luxurious spacing around the major statements */
@media(min-width:1100px){
  .home-question .wrap{padding-left:5vw}
  .page-home .section.dark .wrap{padding-left:4vw}
  .page-home .section.dark .statement{max-width:1100px}
  .page-about .actor-grid{margin-top:54px}
}

/* Mobile remains cinematic without becoming theatrical */
@media(max-width:900px){
  .editorial-spine,.page-wipe{display:none!important}
  .page-home .home-hero-copy h1{max-width:310px}
  .page-home .home-hero-copy p{max-width:300px}
}

@media(prefers-reduced-motion:reduce){
  .page-wipe{display:none!important}
  .scene-current{transition:none!important}
}

/* A quiet route from the opening portrait to the actual sessions. */
.home-hero-copy .hero-service-link{
  display:inline-block;margin-top:22px;padding:4px 0 7px;
  color:#fff;border-bottom:1px solid rgba(255,255,255,.72);
  font-size:13px;line-height:1.35;letter-spacing:.08em;
  text-decoration:none;text-transform:uppercase
}
.home-hero-copy .hero-service-link:hover{border-bottom-color:#fff}
.about-reflection{margin-right:auto;margin-left:34%}
@media(max-width:900px){
  .home-hero-copy .hero-service-link{margin-top:16px;font-size:12px}
  .about-reflection{margin-left:0}
  .lens-card p,.resource-card p,.epistemic-card p{font-size:14px}
  .footer small{font-size:12px}
}


/* Camera-depth scroll on the opening shot */
@media(min-width:901px){
  .page-home .home-hero-copy{
    transform:translate3d(0,var(--hero-copy-y,0),0);
    opacity:var(--hero-copy-opacity,1);
    will-change:transform,opacity
  }
  .page-home .home-hero-meta{
    transform:translate3d(0,var(--hero-meta-y,0),0);
    opacity:var(--hero-meta-opacity,.88);
    will-change:transform,opacity
  }
  .page-home .home-hero:after{
    background:
      linear-gradient(180deg,rgba(0,0,0,.03) 0%,rgba(0,0,0,.02) 35%,rgba(0,0,0,var(--hero-shade,.67)) 100%),
      linear-gradient(90deg,rgba(0,0,0,.16),transparent 42%)
  }
}


/* Desktop hero face-safe crop — 2026-10-01 */
@media(min-width:901px){
  .page-home .home-hero img{
    object-position:center 12%;
    animation:none;
    scale:1.01;
  }
}


/* MIRROR ME films */
.film-index-section{background:#0a0a0a;color:#f4f2ed}
.film-index-head{display:flex;align-items:flex-end;justify-content:space-between;gap:28px;margin-bottom:34px}
.film-index-head h2{margin:10px 0 0;max-width:720px}
.film-index-link{font-size:11px;letter-spacing:.13em;text-transform:uppercase;color:inherit;text-decoration:none;white-space:nowrap}
.film-card{display:grid;grid-template-columns:minmax(0,1.75fr) minmax(260px,.65fr);gap:0;color:inherit;text-decoration:none;border-top:1px solid rgba(255,255,255,.28);border-bottom:1px solid rgba(255,255,255,.28)}
.film-card-frame{position:relative;background:#000;overflow:hidden;aspect-ratio:16/7}
.film-card-frame video{width:100%;height:100%;display:block;object-fit:cover;filter:grayscale(1)}
.film-play{position:absolute;inset:50% auto auto 50%;transform:translate(-50%,-50%);width:58px;height:58px;border:1px solid rgba(255,255,255,.78);border-radius:50%;display:grid;place-items:center;font-size:13px;padding-left:3px;background:rgba(0,0,0,.18);backdrop-filter:blur(4px)}
.film-card-meta{display:flex;flex-direction:column;justify-content:flex-end;padding:34px}
.film-card-meta span,.film-card-meta em{font-size:10px;letter-spacing:.13em;text-transform:uppercase;font-style:normal;opacity:.62}
.film-card-meta strong{font-family:var(--serif);font-size:clamp(28px,3.2vw,54px);font-weight:400;line-height:.98;margin:14px 0 22px}
.film-page{background:#070707;color:#f4f2ed}
.film-page .site-header{background:rgba(7,7,7,.82);color:#f4f2ed;border-color:rgba(255,255,255,.15)}
.film-page .brand,.film-page .nav-links a,.film-page .mobile-menu summary{color:#f4f2ed}
.film-hero{padding:110px 0 44px;background:#070707}
.film-hero .eyebrow{color:rgba(244,242,237,.58)}
.film-hero h1{max-width:980px;margin:14px 0 0;font-size:clamp(52px,8vw,118px);line-height:.88;font-weight:400}
.film-stage{background:#000}
.film-stage .wrap{max-width:1440px}
.film-stage video{width:100%;height:auto;display:block;background:#000}
.film-note{background:#f4f2ed;color:#111}
.film-note-grid{display:grid;grid-template-columns:.48fr 1.52fr;gap:64px}
.film-note .kicker{color:#6d6962}
.film-note .prose{max-width:780px}
.film-note .prose p:first-child{margin-top:0}
.film-back{display:inline-block;margin-top:32px;font-size:11px;letter-spacing:.13em;text-transform:uppercase;color:inherit;text-decoration:none}
@media(max-width:760px){
  .film-index-head{display:block}
  .film-index-link{display:inline-block;margin-top:18px}
  .film-card{grid-template-columns:1fr}
  .film-card-frame{aspect-ratio:16/9}
  .film-card-meta{padding:24px 0}
  .film-note-grid{grid-template-columns:1fr;gap:24px}
  .film-hero{padding-top:84px}
}
