/* Live composition, refined. No outer rail frames, badges or case buttons. */
:root{--bg:#000;--ink:#f4f3ef;--muted:#9e9e9b;--line:#262626;--gold:#d4b17d;--space:5.2vw;color-scheme:dark;background:#000}
html,body,main,.journey,.stage,.project-collection,.contact-band,.site-footer{background:#000}
body{color:var(--ink);-webkit-font-smoothing:antialiased}
::selection{background:#d4b17d;color:#000}
.site-header{background:#000;border:0;box-shadow:none;height:84px;padding-inline:var(--space)}
.site-header .brand{font-size:32px;font-weight:600}
.site-header nav{gap:16px}
.site-header nav a{padding-inline:12px;font-size:13px;letter-spacing:0;color:#b8b8b4}
.site-header nav .nav-contact{border:0;border-radius:999px;background:#eeeae2;color:#080808;box-shadow:none;padding-inline:23px;gap:18px;margin-left:6px}
.site-header nav .nav-contact:hover,.site-header nav .nav-contact[aria-current]{background:var(--gold);color:#000}
.site-header nav a:not(.nav-contact):after{height:1px;background:currentColor;left:12px;right:12px}
.global-motion,.focus,.collection-index,.rail-count,.stage-footer,.progress{display:none!important}
.stage{border:0}
.intro{border:0}
.discipline{font-size:clamp(13px,1.3vw,18px);letter-spacing:-.01em}
.hero-note{font-size:clamp(16px,1.5vw,22px);letter-spacing:-.035em;color:#aaa9a4}
/* Crush the near-black backdrop in the static fallback, without replacing the artwork. */
.sculpture-poster{filter:contrast(1.15)}
.project-collection{padding-top:66px;padding-bottom:56px;scroll-margin-top:84px}
.collection-heading{min-height:0;padding:0 0 36px;margin-inline:var(--space);gap:32px;max-width:none;align-items:flex-end}
.collection-title-wrap{transform:none!important;opacity:1!important;max-width:calc(100% - 190px)}
.collection-heading h2{font-size:clamp(46px,6.8vw,104px);font-weight:450;line-height:1.04;letter-spacing:-.065em}
.collection-description{font-size:14px;line-height:1.65;max-width:590px;color:#9e9e9b;margin-top:22px}
.collection-character{height:180px;max-width:220px;object-fit:contain;object-position:right bottom}
.collection-character.character-digital{height:180px;width:225px}
.collection-frame{margin:0;max-width:none;background:#000;border:0;border-radius:0;box-shadow:none;overflow:visible}
.collection-frame:before,.collection-frame:after{content:none;display:none}
.rail-viewport{border:0;background:#000;scroll-padding-inline:var(--space);overscroll-behavior-x:contain}
.rail-track{gap:24px;padding:0 var(--space) 0;align-items:flex-start}
.rail-item{width:clamp(330px,46vw,780px)}
.rail-work{border:0;background:transparent;box-shadow:none;border-radius:0;color:var(--ink);display:block;touch-action:pan-x pan-y pinch-zoom}
.rail-work:focus-visible{outline:2px solid var(--gold);outline-offset:5px;border-radius:20px}
.rail-visual{border:0;border-radius:20px;overflow:hidden;background:#080808;isolation:isolate;aspect-ratio:1.5}
.rail-visual:has(.rail-video){background:#080808}
#digital .rail-visual{aspect-ratio:1.6}
.rail-visual img,.rail-visual video{border-radius:inherit}
.rail-work:hover .rail-visual img{transform:scale(1.015)}
.rail-document .rail-visual{background:#eeeae4}
.rail-format{inset:auto auto 14px 14px;border:0;border-radius:999px;background:#000b;backdrop-filter:blur(10px);box-shadow:none;padding:8px 11px;color:#f1f1ed;font-size:10px;font-weight:450;letter-spacing:.015em;text-transform:none}
.rail-caption{padding:20px 1px 0;min-height:0;gap:0;align-items:flex-start;flex-direction:column}
.rail-caption p{font-size:11px;line-height:1.5;letter-spacing:0;color:#93938e;margin-bottom:7px}
.rail-caption h3{font-size:clamp(23px,2.1vw,32px);line-height:1.18;letter-spacing:-.035em;max-width:100%;font-weight:450;transition:color .18s ease}
.rail-work:hover h3{color:var(--gold)}
.rail-tools{display:flex;align-items:center;gap:16px;margin:28px var(--space) 0;min-height:44px}
.rail-motion{font:inherit;font-size:11px;letter-spacing:0;color:#969691;background:none;border:0;padding:12px 0;min-height:44px;cursor:pointer;text-align:left;white-space:nowrap}
.rail-motion:hover{color:var(--ink)}
.rail-toolbar{display:flex;min-height:0;padding:0;margin:0;border:0;background:none;box-shadow:none;flex:1}
.rail-toolbar:before,.rail-toolbar:after{content:none}
.rail-arrows{display:flex;gap:8px;margin-left:auto}
.rail-arrows button{display:grid;place-items:center;width:44px;height:44px;flex:0 0 44px;padding:0;background:#181818;border:0;border-radius:50%;color:#ecece8;cursor:pointer;transition:background .2s,color .2s,transform .2s}
.rail-arrows button:hover{background:#eeeae2;color:#000;transform:translateY(-2px)}
.rail-arrows svg{width:20px;height:20px}
.rail-tools .video-start{border:0!important;border-radius:999px!important;background:#171717!important;color:#ddd!important;font-size:11px!important;padding:10px 14px!important;min-height:44px!important;margin-left:0!important}
.rail-tools button:focus-visible,.site-header a:focus-visible{outline:2px solid var(--gold);outline-offset:4px}
.profile-teaser{border-color:#242424;padding-top:78px;padding-bottom:90px}
.contact-band{background:#000;border-top:1px solid #242424}
.contact-band .text-link,.text-link{background:none;border:0;border-bottom:1px solid #777;border-radius:0;box-shadow:none;padding:12px 0;color:var(--ink)}
.contact-band .text-link:hover,.text-link:hover{background:none;color:var(--gold);border-color:var(--gold);box-shadow:none}
.site-footer{border-color:#222;color:#91918c}
.case-preview-film,.case-hero img,.case-media img,.case-gallery img,.archive-visual{border-radius:20px;overflow:hidden}
@media(min-width:1900px){.collection-heading,.rail-tools{max-width:1720px;margin-inline:auto}.rail-track{padding-inline:max(var(--space),calc((100vw - 1720px)/2))}}
@media(max-width:1000px){.collection-character{height:135px;max-width:150px}.collection-character.character-digital{height:140px;width:180px}.collection-title-wrap{max-width:calc(100% - 155px)}.collection-heading h2{font-size:6.6vw}}
@media(max-width:700px){
 :root{--space:22px}
 .site-header{height:72px;padding-inline:20px;gap:12px}
 .site-header .brand{font-size:28px;min-width:42px}
 .site-header nav{gap:4px}
 .site-header nav a{padding:0 9px;font-size:12px}
 .site-header nav .nav-contact{padding-inline:16px;margin-left:5px}
 .project-collection{padding-top:34px;padding-bottom:38px;scroll-margin-top:72px}
 .collection-heading{padding-bottom:24px;gap:0;position:relative;min-height:140px}
 .collection-title-wrap{max-width:100%;position:relative;z-index:1}
 .collection-heading h2{font-size:clamp(31px,8.6vw,58px);white-space:nowrap;letter-spacing:-.065em}
 .collection-description{font-size:12px;line-height:1.65;max-width:calc(100% - 65px);margin-top:16px}
 .collection-character,.collection-character.character-digital{position:absolute;right:-2px;bottom:20px;height:85px;width:69px;max-width:69px;z-index:0}
 .collection-character.character-digital{height:70px;width:79px;max-width:79px}
 .rail-track{gap:16px;padding-inline:var(--space)}
 .rail-item{width:82vw}
 .rail-visual{border-radius:16px;aspect-ratio:1.12}
 #digital .rail-visual{aspect-ratio:1.6}
 .rail-caption{padding-top:16px;min-height:0;gap:0}
 .rail-caption p{font-size:10px;margin-bottom:6px}
 .rail-caption h3{font-size:24px;line-height:1.15}
 .rail-format{left:10px;bottom:10px;font-size:9px;padding:7px 9px}
 .rail-tools{margin-top:21px;gap:10px;flex-wrap:wrap}
 .rail-toolbar{order:3;flex-basis:100%}
 .rail-toolbar:empty{display:none}
 .rail-tools .video-start[hidden]{display:none!important}
 .rail-arrows{gap:7px}
 .profile-teaser{padding-top:45px;padding-bottom:60px}
 .contact-band{padding-top:48px;padding-bottom:40px}
 .contact-band h2{font-size:51px}
 .case-preview-film,.case-hero img,.case-media img,.case-gallery img{border-radius:14px}
}
@media(max-width:359px){:root{--space:18px}.site-header{padding-inline:16px;gap:8px}.site-header nav{gap:0}.site-header nav a{font-size:11px;padding-inline:7px}.site-header nav .nav-contact{padding-inline:12px}.collection-heading h2{font-size:28px}.collection-description{max-width:calc(100% - 55px);font-size:11px}.collection-character{right:-5px!important;width:61px!important}.rail-caption h3{font-size:22px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important}.rail-arrows button,.rail-caption h3{transition:none}}

/* Second refinement: clearer reading rhythm and more prominent social films. */
.collection-heading h2{font-size:clamp(46px,6.2vw,96px);letter-spacing:-.055em;text-wrap:balance}
.collection-description{font-size:15px;line-height:1.65;color:#aaa9a4;max-width:600px}
.collection-character{height:158px}
.collection-character.character-digital{height:158px;width:200px}
#social .rail-item{width:clamp(310px,36vw,600px)}
#social .rail-visual{aspect-ratio:1.14}
.rail-caption{min-height:90px}
.rail-caption p{font-size:12px;color:#aaa9a4}
.rail-caption h3{line-height:1.22;text-wrap:pretty}
.rail-tools{margin-top:15px}
.rail-viewport:focus-visible{outline:1px solid #d4b17d;outline-offset:-2px}
.rail-arrows button:active{transform:scale(.94)}
.site-header nav a[aria-current="location"]{color:var(--ink)}
.hero-note{max-width:28ch;line-height:1.35}
@media(hover:hover) and (pointer:fine){.rail-work:hover h3{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:6px}.rail-motion:hover{text-decoration:underline;text-underline-offset:4px}}
@media(max-width:1000px) and (min-width:701px){.collection-heading h2{font-size:6.3vw}.collection-character{height:135px}.collection-character.character-digital{height:135px;width:170px}}
@media(max-width:700px){
 .site-header{padding-inline:var(--space)}
 .collection-heading{min-height:122px;padding-bottom:25px}
 .collection-heading h2{font-size:clamp(31px,8.5vw,58px);letter-spacing:-.05em}
 .collection-description{font-size:13px;line-height:1.65;max-width:calc(100% - 76px);margin-top:15px}
 .collection-character{height:85px}
 .collection-character.character-digital{height:70px;width:79px}
 #social .rail-item{width:82vw}
 #social .rail-visual{aspect-ratio:1.12}
 .rail-caption{min-height:82px;padding-top:17px}
 .rail-caption p{font-size:11px;line-height:1.55}
 .rail-caption h3{font-size:23px;line-height:1.23;letter-spacing:-.025em}
 .rail-tools{margin-top:8px}
 .rail-motion{font-size:12px}
 .project-collection{padding-bottom:32px}
}
@media(max-width:359px){.collection-heading h2{font-size:28px}.collection-description{font-size:12px;max-width:calc(100% - 64px)}.rail-caption h3{font-size:21px}}

/* Edge-to-edge previews and a tighter transition from the hero. */
.rail-tools,.rail-toolbar,.rail-motion,.rail-arrows,.video-start{display:none!important}
.home #social{padding-top:30px}
.project-collection .rail-visual,.project-collection .rail-visual:has(.rail-video){background:transparent;border:0;overflow:hidden}
.project-collection .rail-work .rail-visual>img,
.project-collection .rail-work .rail-visual>video{display:block;width:100%;height:100%;padding:0;border:0;border-radius:0;object-fit:cover;background:transparent}
#digital .rail-website .rail-video,#digital .rail-website-visual .rail-video{object-fit:cover}
#social .rail-video{object-position:50% 38%}
.project-collection .rail-document .rail-visual>img{object-position:center 25%}
@media(max-width:700px){.home #social{padding-top:18px}}

/* Slightly larger Modern Mister figures, with room for the mobile descriptions. */
.mister{height:clamp(236px,calc(var(--stage-height)*.46),318px)}
.collection-character{height:204.6px;width:233.2px;max-width:286px}
.collection-character.character-digital{height:204.6px;width:259.6px}
@media(max-width:1000px) and (min-width:701px){
 .collection-character{height:176px;width:195.8px;max-width:220px}
 .collection-character.character-digital{height:176px;width:220px}
 .collection-title-wrap{max-width:calc(100% - 204px)}
}
@media(max-width:700px){
 .mister{height:188px}
 .collection-character{height:110px;width:89.1px;max-width:89.1px}
 .collection-character.character-digital{height:91.3px;width:102.3px;max-width:102.3px}
 .collection-description{max-width:calc(100% - 100px)}
}
@media(max-width:359px){
 .collection-character{height:103.4px;width:79.2px!important;max-width:79.2px}
 .collection-character.character-digital{height:85.8px;width:93.5px!important;max-width:93.5px}
 .collection-description{max-width:calc(100% - 90px)}
}


