html{scroll-behavior:smooth}
body.minimal-home{margin:0;overflow-x:clip}
.minimal-main{margin:0;min-height:100vh}
.minimal-hero{height:100svh;min-height:520px;position:relative}
.hero-composition{
  position:absolute;left:18%;top:50%;width:64.5%;
  display:grid;grid-template-columns:1fr 1fr;gap:4.3vw;align-items:center;
  transform:translateY(-50%);
}
.logo-anchor{aspect-ratio:827/308}
.video-anchor{aspect-ratio:16/9}
.hero-logo{position:absolute;display:block;z-index:31;will-change:opacity;transform-origin:top left}
.hero-logo img{width:100%;height:auto;display:block}
.reel-window{position:absolute;z-index:30;margin:0;will-change:opacity;transform-origin:top left}
.reel-screen{width:100%;aspect-ratio:16/9;background:#000;border-radius:var(--media-radius);overflow:hidden}
.reel-screen video{display:block;width:100%;height:100%;object-fit:contain;background:#000}
.minimal-reel-controls{padding-top:clamp(12px,1.6vw,30px)}
.reel-progress{
  appearance:none;-webkit-appearance:none;display:block;width:100%;height:14px;padding:0;margin:0;
  background:transparent;cursor:pointer;--played:0%;border:0;
}
.reel-progress::-webkit-slider-runnable-track{height:1px;background:linear-gradient(to right,var(--ink) var(--played),rgb(13 13 11 / 28%) var(--played));border-radius:2px}
.reel-progress::-moz-range-track{height:1px;background:rgb(13 13 11 / 28%);border-radius:2px}
.reel-progress::-moz-range-progress{height:1px;background:var(--ink)}
.reel-progress::-webkit-slider-thumb{appearance:none;width:5px;height:5px;border-radius:50%;background:var(--ink);margin-top:-2px}
.reel-progress::-moz-range-thumb{width:5px;height:5px;border:0;border-radius:50%;background:var(--ink)}
.reel-actions{display:flex;align-items:center;justify-content:center;gap:12px;padding-top:8px}
.reel-actions button{
  display:grid;place-items:center;width:32px;height:32px;padding:5px;border:0;border-radius:7px;
  color:var(--ink);background:transparent;cursor:pointer;transition:background .18s ease,transform .18s ease;
}
.reel-actions button:hover{background:rgb(13 13 11 / 6%);transform:scale(1.04)}
.reel-actions button:active{transform:scale(.94)}
.reel-actions svg{display:block;width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.3;stroke-linecap:round;stroke-linejoin:round}
.reel-toggle .pause-icon,.reel-window.is-playing .play-icon{display:none}
.reel-window.is-playing .pause-icon{display:block}
.reel-mute .sound-off,.reel-mute[aria-pressed="true"] .sound-on{display:none}
.reel-mute[aria-pressed="true"] .sound-off{display:block}
.reel-error{font:12px/1.4 var(--sans);text-align:center;margin-top:6px}
.scroll-cue{position:absolute;bottom:34px;left:calc(50% - 18px);padding:12px;display:grid;place-items:center;width:36px;height:36px}
.scroll-cue svg{width:23px;height:15px;fill:none;stroke:var(--ink);stroke-width:2.2;animation:scroll-whisper 1.9s ease-in-out infinite}
@keyframes scroll-whisper{0%,100%{opacity:0;transform:translateY(-3px)}55%{opacity:.87;transform:translateY(3px)}}
.skip-link{position:fixed;left:16px;top:12px;transform:translateY(-180%);z-index:60;padding:8px 12px;background:var(--paper)}
.skip-link:focus{transform:none}
.home-projects-content{position:relative;padding:24px clamp(24px,3.2vw,64px) clamp(130px,14vh,210px)}
#projects{scroll-margin-top:32px}
.home-sennheiser-pair{display:grid;grid-template-columns:1fr 1fr;gap:28px;padding:9px;align-items:start;min-width:0}
.home-sennheiser-pair .project-visual{display:block;min-width:0;margin:0}
.projects-page .home-sennheiser-media{aspect-ratio:auto!important;height:auto;display:block;border:0;overflow:hidden}
.home-sennheiser-media img{display:block;position:static;width:100%;height:auto;object-fit:contain}
.reel-window:fullscreen,.reel-window:-webkit-full-screen{
  position:fixed!important;inset:0!important;width:100vw!important;height:100dvh!important;
  transform:none!important;padding:clamp(16px,3vw,48px)!important;border-radius:0!important;background:var(--paper);
  display:flex;flex-direction:column;justify-content:center;
}
.reel-window:fullscreen .reel-screen,.reel-window:-webkit-full-screen .reel-screen{max-height:calc(100dvh - 120px)}
.reel-window:fullscreen .minimal-reel-controls,.reel-window:-webkit-full-screen .minimal-reel-controls{padding-top:14px}
@media(max-width:700px){
  .hero-composition{left:9%;width:82%;top:46%;display:flex;flex-direction:column;gap:36px}
  .logo-anchor{width:100%;align-self:flex-start}
  .video-anchor{width:100%}
  .home-projects-content{padding-top:24px}
  .home-sennheiser-pair{grid-template-columns:1fr}
  .reel-actions{gap:10px}
  #projects{scroll-margin-top:24px}
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .scroll-cue svg{animation:none;opacity:.4}
  .reel-actions button{transition:none}
}
body.minimal-home #main{padding:0;margin:0}
.reel-screen video{opacity:0}
.reel-window.has-started .reel-screen video{opacity:1}

.home-sennheiser-media video{display:block;width:100%;height:auto;object-fit:contain}
.reel-volume{appearance:none;-webkit-appearance:none;width:44px;height:16px;background:transparent;cursor:pointer;margin:0}
.reel-volume::-webkit-slider-runnable-track{height:1px;background:rgb(13 13 11 / 45%);border-radius:2px}
.reel-volume::-webkit-slider-thumb{appearance:none;width:5px;height:5px;border-radius:50%;background:var(--ink);margin-top:-2px}
.reel-volume::-moz-range-track{height:1px;background:rgb(13 13 11 / 45%)}
.reel-volume::-moz-range-thumb{width:5px;height:5px;border:0;border-radius:50%;background:var(--ink)}
.volume-control{display:flex;align-items:center;padding:10px 2px}
.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.ghost-cursor{z-index:45}

.logo-dot{position:absolute;left:64.087%;top:0;width:13.18%;height:32.143%;transform-origin:center;display:block}
.hero-logo .logo-dot img{display:block;width:100%;height:100%}
.logo-dot:is(:hover,.ghost-hover){animation:logo-dot-pulse 680ms cubic-bezier(.45,0,.2,1)}
@keyframes logo-dot-pulse{0%,100%{transform:scale(1)}48%{transform:scale(1.15)}}
.study-more{transition:transform .24s cubic-bezier(.2,.7,.3,1)}
.study-more .study-more-arrow{transition:transform .24s cubic-bezier(.2,.7,.3,1)}
.study-more:is(:hover,:focus-visible,.ghost-hover){transform:translateY(-3px)}
.study-more:is(:hover,:focus-visible,.ghost-hover) .study-more-arrow{transform:translate(3px,-3px)}
@media(prefers-reduced-motion:reduce){.logo-dot:is(:hover,.ghost-hover){animation:none}.study-more,.study-more .study-more-arrow{transition:none;transform:none!important}}

.reel-fullscreen.ghost-hover{background:rgb(13 13 11 / 7%);transform:scale(1.06)}
.scroll-cue.ghost-hover svg{animation:cue-intro-nudge 1.2s cubic-bezier(.4,0,.2,1) both}
@keyframes cue-intro-nudge{0%{opacity:.6;transform:translateY(-3px)}45%{opacity:1;transform:translateY(6px)}100%{opacity:0;transform:translateY(11px)}}
@media(prefers-reduced-motion:reduce){.reel-fullscreen.ghost-hover{transform:none}.scroll-cue.ghost-hover svg{animation:none}}

body.has-left-intro .scroll-cue{opacity:0;visibility:hidden;pointer-events:none}

.home-projects-content{padding-bottom:36px}
body.minimal-home .home-contact-footer{margin:0 clamp(24px,3.2vw,64px);padding:4px 0 24px;border:0;justify-content:flex-end;min-height:0}

.hero-logo,.reel-window{will-change:transform,opacity;backface-visibility:hidden}
.reel-actions{gap:8px;padding-top:5px}
.reel-actions button{width:28px;height:28px;padding:5px;border-radius:6px}
.reel-actions svg{width:17px;height:17px;stroke-width:1.15}
.reel-volume{width:34px}
@media(pointer:coarse){.reel-actions button{width:34px;height:34px;padding:8px}}
