/* One square portrait box: only its size changes between layouts. */

#contact .crew-form > img.press-photo,#contact .touch-crew > img {

  width:min(100%,var(--crew-portrait-size,18dvh)); height:auto;

  aspect-ratio:1 / 1; min-height:0; max-height:none;

  align-self:center; justify-self:center;

  object-fit:cover; object-position:center top;

  border:0; border-radius:50%; background:none; box-shadow:none;

}

/* Independent touch composition. Desktop brand scenes remain in their own sheets. */

.mini-expand,.touch-music-tabs,.touch-crew,.touch-download-link { display:none; }

@media (max-width:1199px), (any-pointer:coarse) and (max-width:1366px) {

  :root { --touch-gutter:clamp(24px,4vw,48px); }

  button,a,input,select,textarea { -webkit-tap-highlight-color:transparent; }

  .section-inner { width:calc(100% - var(--touch-gutter)*2); max-width:1100px; margin-inline:auto; }

  .chapter-mode .section .section-inner { padding:24px 0 156px; }

  .section .eyebrow { font-size:22px; margin:0 64px 24px 0; }

  .eyebrow::after { max-width:180px; }

  .section h1,.section h2 { font-size:clamp(64px,8vw,96px); line-height:.95; }

  .section .paint-strike { height:18px; margin:15px 0 23px; }

  .morph-nav { display:none!important; }

  /* One reachable tap menu, anchored independently of section/footer geometry. */

  body .side-rail,body .side-rail.is-visible,body.route-open .side-rail {

    display:block!important; position:fixed; z-index:180; inset:12px 16px auto auto;

    width:50px; height:50px; min-height:0; padding:0; margin:0;

    opacity:1; visibility:visible; transform:none; border-radius:14px;

    background:linear-gradient(135deg,#252027d9,#080609ed); backdrop-filter:blur(22px);

    border:1px solid #ffb2dc80; box-shadow:inset 0 1px 0 #fff7,0 0 18px #ff009021;

    transition:width .2s,height .2s;

  }

  body .side-rail::before,body .side-rail::after { display:none; }

  body .side-rail .rail-toggle { position:absolute; inset:0 0 auto auto; width:48px; height:48px; min-height:0; margin:0; transform:none; padding:4px; }

  body .side-rail .nav-mark { position:relative; inset:auto; margin:0; translate:none; width:40px; height:40px; transform:none; }

  body .side-rail .nav-mark svg { width:100%; height:100%; }

  body .side-rail a { display:none; }

  body .side-rail.is-open,body[data-scene=contact] .side-rail.is-open { top:12px; width:min(360px,calc(100vw - 32px)); height:250px; padding:60px 14px 14px; display:grid!important; grid-template-columns:1fr 1fr; grid-template-rows:repeat(3,50px); gap:8px; }

  body .side-rail.is-open a { display:flex; position:static; width:auto; height:50px; min-height:44px; opacity:1; visibility:visible; transform:none; align-items:center; justify-content:center; border:1px solid #ffc1e13d; border-radius:8px; padding:6px; }

  body .side-rail .nav-label { display:flex; gap:5px; flex-wrap:wrap; justify-content:center; font:400 20px/1 var(--display); letter-spacing:.3px; }

  body .side-rail .nav-label__main,body .side-rail .nav-label__sub { font:inherit; }

  .side-rail a.is-current { background:#ff009022; border-color:#ff0090; }

  body .mobile-dock { display:grid; grid-template-columns:repeat(4,1fr); position:fixed; z-index:140; left:16px; right:16px; bottom:max(10px,env(safe-area-inset-bottom)); width:auto; max-width:620px; margin:auto; min-height:54px; transform:none; padding:4px 8px; border-radius:14px; background:#09080bed; backdrop-filter:blur(22px); }

  .mobile-dock a { min-height:44px; display:flex; justify-content:center; align-items:center; font:400 18px/1.05 var(--display); text-align:center; padding:2px 6px; }

  body.route-open .mobile-dock { display:none; }

  /* Compact transport with an explicit second level, never a touch-hover trap. */

  body .music-player.mini-player,body .music-player.mini-player.is-footer-safe {

    right:16px; left:auto; bottom:calc(76px + env(safe-area-inset-bottom)); width:360px; max-width:calc(100vw - 32px); height:58px; border-radius:14px; overflow:visible; transform:none;

  }

  body.route-open .music-player.mini-player { bottom:calc(14px + env(safe-area-inset-bottom)); }

  body .music-player.mini-player.is-revealed { height:132px; }

  body .music-player.mini-player .mini-player__details { opacity:1; visibility:visible; transition:none; }

  body .music-player.mini-player .mini-cover { position:absolute; left:9px; top:9px; width:40px; height:40px; border-radius:7px; }

  body .music-player.mini-player .mini-title { left:61px; right:100px; top:20px; margin:0; font:600 14px/1.25 var(--body); text-transform:none; }

  body .music-player.mini-player .mini-play { top:6px; bottom:auto; right:44px; width:44px; height:44px; }

  body .music-player.mini-player .mini-disc { display:none; }

  body .music-player.mini-player .mini-expand { display:grid; place-items:center; position:absolute; top:7px; right:3px; width:36px; height:44px; padding:8px; border:0; border-radius:8px; background:none; z-index:3; }

  .mini-player.is-revealed .mini-expand svg { transform:rotate(180deg); }

  body .music-player.mini-player .mini-equalizer { width:72px; height:72px; right:30px; top:-8px; bottom:auto; }

  .mini-player:not(.is-revealed) :is(.mini-seek,.mini-time,.mini-volume,.mini-next) { display:none; }

  body .music-player.mini-player .mini-seek { top:57px; left:14px; width:calc(100% - 28px); height:24px; }

  body .music-player.mini-player .mini-time { left:14px; bottom:20px; font-size:12px; }

  body .music-player.mini-player .mini-volume { right:64px; bottom:6px; height:44px; gap:8px; }

  body .music-player.mini-player .mini-volume input { height:44px; width:80px; }

  body .music-player.mini-player .mini-next { bottom:6px; right:9px; }

  .mini-player input[type=range]::-webkit-slider-thumb { width:14px; height:14px; margin-top:-5.5px; }

  .mini-player[data-state=error].is-revealed .mini-status { inset:59px 14px auto; font-size:12px; }

  .touch-keyboard .mini-player,.touch-keyboard .mobile-dock { visibility:hidden; }

  /* Keep the video in the foreground stacking tree after the chapter clip reveal. */

  #home.hero > .section-video { z-index:0; filter:grayscale(1) contrast(1.16) brightness(.62); }

  #home.hero::after,#home .video-raster { z-index:1; pointer-events:none; }

  #home .hero-artists { display:none; }

  #home .hero-brand { top:39%; left:50%; transform:translate(-50%,-50%); width:clamp(260px,46vw,400px); }

  #home .hero-brand img { width:100%; max-width:none; }

  #home .hero-brand p { font-size:clamp(16px,1.7vw,20px); letter-spacing:3px; gap:12px; margin-top:14px; }

  #home .hero-brand p span { width:24px; }

  #home .hero-mobile-artists { display:none; }

  #home .scroll-cue { bottom:105px; }

  /* Tablet: editorial text/photo pairing with metrics anchored below the copy. */

  #about .about__inner { position:relative; z-index:3; }

  #about .about-copy { width:52%; max-width:600px; margin:0; padding:0; }

  #about .about-copy>p { font:400 15px/1.6 var(--body); letter-spacing:.35px; margin:0 0 16px; text-transform:uppercase; }

  #about .about-artists { top:110px; right:-3%; bottom:auto; left:auto; width:53%; height:calc(100% - 215px); object-fit:contain; object-position:center bottom; opacity:1; mask-image:linear-gradient(#000 83%,transparent); }

  #about .ghost-mark { width:62%; right:0; left:auto; top:12%; opacity:.26; }

  #about .kpi-grid { width:100%; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; margin:23px 0; }

  #about .kpi { min-height:110px; height:auto; padding:14px 8px 12px; }

  #about .kpi strong { font-size:clamp(40px,4.6vw,58px); line-height:1; }

  #about .kpi span { font:400 17px/1.15 var(--display); margin-top:12px; }

  #about .button-row { gap:15px; flex-wrap:wrap; margin:0; }

  .signal-button,.outline-button { min-height:46px; font-size:19px; }

  #music .music__inner { display:block; }

  #music .music-heading { margin:0 0 24px; }

  #music .music-heading h2 { font-size:clamp(62px,7vw,84px); }

  #music .music-heading .spray-copy { width:min(500px,66%); margin:12px 0 0; height:auto; }

  #music .music-layout { display:grid; grid-template-columns:1.05fr 1fr; gap:24px; margin:0; }

  #music .tracks { width:auto; min-width:0; margin:0; grid-area:auto; }

  #music h3 { font-size:28px; margin:0 0 12px; }

  #music .tracks ol { gap:9px; }

  #music .track-row { display:grid; height:auto; max-height:none; grid-template-columns:44px minmax(0,1fr); grid-template-rows:auto auto; gap:2px 12px; padding:9px 12px; min-height:72px; }

  #music .track-no { display:none; }

  #music .track-play { grid-column:1; grid-row:1/3; width:44px; height:44px; align-self:center; max-width:none; }

  #music .track-title { grid-column:2; grid-row:1; min-width:0; }

  #music .track-title strong { font:400 20px/1.1 var(--display); white-space:normal; }

  #music .track-title small { font:400 12px/1.2 var(--body); margin-top:2px; }

  #music .platforms { grid-column:2; grid-row:2; display:flex; justify-content:flex-start; gap:8px; }

  #music .platforms a { display:grid; place-items:center; width:34px; height:30px; padding:4px; margin:0; }

  #music .platforms svg { width:19px; height:19px; }

  #music .signal-world { position:relative; width:auto; min-width:0; padding:0; margin:0; display:flex; flex-direction:column; }

  #music .tour { position:relative; inset:auto; width:100%; max-width:none; padding:0; margin:0; z-index:3; }

  #music .tour-list { gap:8px; }

  #music .tour-list a { min-height:48px; }

  #music .globe { position:relative; inset:auto; width:100%; height:clamp(230px,29vh,355px); margin:-2px 0 0; transform:none; flex:none; }

  #music .hologram-canvas { position:absolute; inset:0; width:100%; height:100%; }

  #music .world-counts { position:relative; inset:auto; display:flex; justify-content:space-around; gap:10px; margin:-12px 0 0; }

  #music .world-counts strong { font-size:36px; }

  #music .world-counts span { font-size:14px; }

  #music .signal-thanks { font:400 12px/1.4 var(--body); text-align:center; margin:14px 0; }

  #music .signal-world>.signal-button { position:static; margin:0 auto; }

  /* Contact and footer stay in normal layout; no artwork under form controls. */

  #contact .contact__inner { padding-bottom:20px; height:auto!important; }

  #contact h2 { font-size:clamp(48px,6vw,76px); text-align:center; margin:0; }

  #contact .paint-strike { width:65%; margin:13px auto 24px; }

  #contact .contact-fluffy { display:none; }

  #contact .contact-cards { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; width:100%; max-width:none; margin:0; }

  #contact .contact-card { padding:18px 12px; min-height:0; height:auto; }

  #contact .contact-icon { width:46px; height:46px; margin:0 auto 12px; }

  #contact .contact-card h3 { font-size:27px; }

  #contact .contact-card p { font:400 13px/1.4 var(--body); margin:8px 0 14px; }

  #contact .contact-card a { width:100%; max-width:190px; font-size:18px; padding:8px; margin-top:0; }

  #contact .crew-form { display:grid; grid-template-columns:130px minmax(0,1fr); gap:22px; padding:22px; margin:22px 0 0; width:100%; }

  #contact .crew-form>img { --crew-portrait-size:130px; position:static; margin:0; }

  #contact .crew-form__body { width:100%; padding:0; }

  #contact .crew-form h3 { font-size:24px; line-height:1.15; margin:0 0 12px; }

  #contact .crew-fields { display:grid; grid-template-columns:1fr 1fr; gap:10px; }

  #contact .crew-fields>.check { grid-column:1/-1; }

  #contact .crew-form input:not([type=checkbox]) { height:44px; font:400 16px var(--body); }

  #contact .crew-form .check { font-size:13px; line-height:1.4; }

  #contact .crew-form [type=submit] { min-height:44px; margin-top:10px; }

  .route-page { scroll-padding:20px 0 160px; }

  .route-header,#about-full .route-header,#downloads .downloads-entry .route-header { width:calc(100% - var(--touch-gutter)*2); height:76px; margin:0 auto; padding:0 55px 0 0; gap:20px; }

  .route-header>a { width:auto; min-width:88px; min-height:44px; font-size:20px; padding:8px 18px; }

  .route-header p { font-size:22px; }

  .route-content,#about-full .route-content { width:calc(100% - var(--touch-gutter)*2); max-width:1050px; margin-inline:auto; }

  #about-full .about-full__hero { width:calc(100% - var(--touch-gutter)*2); height:390px; margin-inline:auto; }

  #about-full .about-full__hero>div { padding:30px 0 0; }

  #about-full #about-full-title { font-size:74px; }

  #about-full .about-full__hero>div>img { width:225px; }

  #about-full .about-full__hero>.press-photo { top:0; right:-3%; width:57%; height:100%; object-fit:cover; object-position:center top; }

  #about-full .story-grid { grid-template-columns:minmax(0,1fr) 250px; gap:26px; }

  #about-full .story-grid p { font-size:16px; line-height:1.7; }

  #about-full .timeline { margin-top:38px; }

  #booking-request .booking-shell { max-width:850px; padding-top:20px; }

  #booking-request h2 { font-size:clamp(56px,8vw,86px); line-height:.96; }

  #booking-request .brush-copy { max-width:440px; width:80%; margin:16px 0 24px; }

  #booking-request .booking-shell>p { font-size:16px; line-height:1.55; }

  #booking-request .booking-form { margin-top:26px; }

  #booking-request .form-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; padding:24px; }

  #booking-request input:not([type=checkbox]),#booking-request select,#booking-request textarea { min-height:48px; padding:12px; font:400 16px/1.4 var(--body); width:100%; }

  #booking-request label { min-width:0; font-size:16px; }

  #booking-request textarea { min-height:120px; resize:vertical; }

  #booking-request .consent-grid { grid-template-columns:1fr; gap:15px; margin:24px 0; }

  #booking-request .consent-grid label { font:400 14px/1.6 var(--body); }

  #booking-request .booking-form>[type=submit] { min-height:50px; font-size:22px; }

  /* Dialogs use their own readable touch frame instead of the desktop star inset. */

  dialog.consent-dialog,dialog.newsletter-dialog { width:min(520px,calc(100% - 32px)); max-width:calc(100% - 32px); max-height:calc(100dvh - 32px); padding:0; margin:auto; overflow:auto; border-radius:20px; }

  .consent-star { width:100%; height:auto; min-height:0; padding:0; }

  .consent-star__frame { display:none; }

  .consent-dialog .consent-panel,.newsletter-dialog .newsletter-card { position:relative; inset:auto; transform:none; width:100%; max-width:none; height:auto; padding:28px; clip-path:none; border-radius:20px; background:linear-gradient(135deg,#272026f5,#0b090cf7); }

  .consent-panel>img,.newsletter-card>img { width:180px; margin:0 auto 20px; }

  .consent-panel h2,.newsletter-card h2 { font-size:38px; line-height:1.05; margin:0 0 16px; }

  .consent-panel p,.newsletter-card p { font:400 15px/1.6 var(--body); margin:12px 0 20px; }

  .consent-panel button:not(.consent-languages button),.newsletter-card .signal-button { min-height:46px; font-size:20px; }

  .consent-panel .consent-options { padding:14px 0; }

  .consent-options label { min-height:40px; font-size:16px; }

  .newsletter-card label:not(.check) { display:grid; gap:6px; font-size:16px; }

  .newsletter-card input:not([type=checkbox]) { height:50px; font:400 16px var(--body); }

  .newsletter-card .check { margin:16px 0; font:400 14px/1.5 var(--body); }

  .newsletter-card .newsletter-close { width:44px; height:44px; right:8px; top:8px; font-size:30px; }

  .newsletter-card small { font-size:12px; }

}

/* Portrait tablets: use the extra height for the artist composition, not stretched text. */

@media (min-width:601px) and (max-width:950px) and (min-height:700px) {

  #about .about-copy { width:50%; padding-top:25px; }

  #about .about-artists { top:145px; right:0; width:48%; height:min(53dvh,600px); object-position:center; }

  #about .kpi-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:9px; }

  #about .kpi span { font-size:16px; }

  #music .music-layout { grid-template-columns:1fr; gap:26px; }

  #music .tracks ol { display:grid; grid-template-columns:1fr 1fr; gap:12px; }

  #music .signal-world { display:grid; grid-template-columns:1fr 1fr; gap:12px 24px; }

  #music .tour { grid-column:1; grid-row:1; align-self:center; }

  #music .globe { grid-column:2; grid-row:1; height:260px; }

  #music .world-counts { grid-column:2; grid-row:2; }

  #music .signal-thanks { grid-column:1; grid-row:2; margin:0; align-self:center; }

  #music .signal-world>.signal-button { grid-column:1/-1; margin:5px auto 0; }

  #about-full .about-full__hero { height:350px; }

  #about-full #about-full-title { font-size:64px; }

}

/* Phones have continuous native scrolling, including landscape. No section locks. */

@media (max-width:600px), (max-height:500px) and (max-width:1000px) {

  :root { --touch-gutter:22px; }

  html.chapter-mode.native-layout,html.native-layout body { height:100%; overflow:hidden; }

  html.native-layout main { display:block; position:relative; inset:auto; height:100dvh; overflow-x:hidden; overflow-y:auto; scroll-behavior:auto; scroll-padding-bottom:165px; scroll-snap-type:none; }

  html.native-layout .section,html.native-layout .section.is-active { position:relative; inset:auto; width:100%; height:auto; min-height:0; max-height:none; display:block; visibility:visible; opacity:1; transform:none; overflow:clip; overscroll-behavior-y:auto; pointer-events:auto; scroll-snap-align:none; }

  html.native-layout .section .section-inner { padding:38px 0 52px; width:calc(100% - var(--touch-gutter)*2); }

  html.native-layout #home { position:relative; inset:auto; visibility:visible; pointer-events:auto; height:100svh; min-height:520px; }

  html.native-layout #home .hero-brand { width:88%; top:42%; }

  html.native-layout #home .hero-brand p { font-size:18px; letter-spacing:3px; }

  html.native-layout #home .hero-artists { display:none; }

  html.native-layout #home .scroll-cue { bottom:115px; }

  .section .eyebrow { font-size:20px; margin-bottom:32px; }

  .section h1,.section h2 { font-size:clamp(56px,14vw,78px); line-height:.96; }

  body .mobile-dock { left:10px; right:10px; bottom:max(8px,env(safe-area-inset-bottom)); padding:4px; }

  .mobile-dock a { font-size:16px; }

  body .music-player.mini-player,body .music-player.mini-player.is-footer-safe { left:10px; right:10px; width:auto; max-width:none; bottom:calc(72px + env(safe-area-inset-bottom)); }

  body.route-open .music-player.mini-player { bottom:calc(10px + env(safe-area-inset-bottom)); }

  #about { border-top:1px solid #ff009053; }

  #about .about__inner { padding-top:30px; }

  #about .about-copy { width:100%; max-width:none; padding-top:0; }

  #about .about-copy h1 { max-width:none; margin:0; }

  #about .paint-strike { width:78%; max-width:330px; margin:14px 0 0; }

  #about .about-artists { width:100%; left:0; right:0; top:170px; height:355px; object-fit:contain; object-position:center top; z-index:2; mask-image:linear-gradient(#000 68%,transparent 100%); }

  #about .ghost-mark { width:100%; top:155px; right:-15%; }

  #about .about-copy>p:first-of-type { margin-top:332px; }

  #about .about-copy>p { font-size:15px; line-height:1.7; letter-spacing:.3px; }

  #about .kpi-grid { gap:10px; margin:25px 0; }

  #about .kpi { min-height:116px; padding:16px 5px 12px; }

  #about .kpi strong { font-size:43px; }

  #about .kpi span { font-size:16px; }

  #about .button-row { display:grid; grid-template-columns:1fr; gap:14px; }

  #about .button-row .signal-button { width:100%; }

  #about .button-row .text-link { display:inline-flex; min-height:44px; align-items:center; justify-content:center; font-size:17px; }

  #music { border-top:1px solid #ff009045; }

  #music .music-heading { margin-bottom:25px; }

  #music .music-heading h2 { font-size:clamp(54px,13vw,72px); white-space:nowrap; }

  #music .music-heading h2 em { display:inline; }

  #music .music-heading .spray-copy { width:100%; max-width:440px; margin:14px 0 0; }

  #music .touch-music-tabs { display:grid; grid-template-columns:1fr 1fr; gap:4px; padding:4px; margin:0 0 24px; background:#170e16a3; border:1px solid #ffffff30; border-radius:12px; }

  .touch-music-tabs button { min-height:44px; border:0; border-radius:8px; color:#bca9b4; background:transparent; font:400 23px/1 var(--display); }

  .touch-music-tabs [aria-selected=true] { color:#fff; background:linear-gradient(120deg,#ff00903d,#ff009012); box-shadow:inset 0 0 0 1px #ff009087; }

  #music .music-layout { display:block; }

  #music :is(.tracks,.signal-world)[hidden] { display:none!important; }

  #music .tracks ol { display:grid; grid-template-columns:1fr; gap:10px; }

  #music .track-row { grid-template-columns:52px minmax(0,1fr); padding:12px; gap:3px 14px; min-height:103px; border-radius:10px; }

  #music .track-play { width:52px; height:52px; border-radius:6px; }

  #music .track-title strong { font-size:24px; }

  #music .track-title small { font-size:12px; line-height:1.4; }

  #music .platforms { gap:5px; }

  #music .platforms a { width:40px; height:38px; padding:8px; }

  #music .platforms svg { width:21px; height:21px; }

  #music .tracks>.text-link { min-height:44px; display:inline-flex; align-items:center; font-size:17px; margin-top:14px; }

  #music .signal-world { display:flex; gap:0; }

  #music .tour-list a { min-height:62px; }

  #music .tour-list strong { font-size:22px; }

  #music .globe { height:330px; width:100%; margin:5px 0 0; }

  #music .world-counts { margin:0; }

  #music .world-counts strong { font-size:43px; }

  #music .world-counts span { font-size:16px; }

  #music .signal-world>.free-downloads { display:none; }

  #music .touch-download-link { display:flex; justify-content:center; width:100%; max-width:440px; min-height:50px; margin:24px auto 0; font-size:22px; }

  #contact { border-top:1px solid #ff009045; }

  #contact h2 { font-size:clamp(48px,12vw,66px); text-align:left; max-width:400px; }

  #contact .paint-strike { width:85%; margin:14px 0 28px; }

  #contact .contact-cards { grid-template-columns:1fr; gap:12px; }

  #contact .contact-card { display:grid; grid-template-columns:50px minmax(0,1fr); gap:5px 16px; text-align:left; padding:18px; }

  #contact .contact-icon { grid-row:1/4; align-self:center; width:46px; height:46px; margin:0; }

  #contact .contact-card h3 { font-size:29px; margin:0; }

  #contact .contact-card p { font-size:14px; margin:2px 0 7px; }

  #contact .contact-card a { width:100%; max-width:none; grid-column:2; font-size:20px; }

  #contact .crew-form { display:none; }

  #contact .touch-crew { display:grid; grid-template-columns:86px minmax(0,1fr); align-items:center; gap:18px; padding:22px 18px; margin-top:24px; }

  .touch-crew>img { --crew-portrait-size:86px; }

  .touch-crew h3 { font-size:29px; line-height:1.05; margin:0; }

  .touch-crew p { font:400 14px/1.5 var(--body); margin:8px 0 14px; }

  .touch-crew .signal-button { width:100%; min-height:46px; padding:8px; font-size:19px; }

  .route-header,#about-full .route-header,#downloads .downloads-entry .route-header { height:76px; gap:16px; }

  .route-header p { font-size:20px; }

  .route-header>a { min-width:78px; padding-inline:12px; }

  #about-full .about-full__hero { height:auto; min-height:0; display:block; margin-top:16px; }

  #about-full .about-full__hero>div { padding:0; display:flex; flex-direction:column; }

  #about-full #about-full-title { font-size:clamp(57px,14vw,76px); margin:0; }

  #about-full .about-full__hero .paint-strike { width:86%; max-width:330px; height:18px; margin:14px 0 285px; }

  #about-full .about-full__hero>.press-photo { width:100%; height:302px; top:93px; left:0; right:0; object-fit:contain; object-position:center top; mask-image:linear-gradient(#000 70%,transparent); }

  #about-full .about-full__hero>div>img { width:190px; align-self:center; margin:0; }

  #about-full .about-full__hero>div>p { font-size:16px; letter-spacing:3px; margin:12px 0 20px; text-align:center; width:100%; }

  #about-full .story-grid { display:grid; grid-template-columns:1fr; gap:24px; margin-top:30px; }

  #about-full .story-grid aside { position:static; padding:22px; }

  #about-full .story-grid p { font-size:16px; line-height:1.75; }

  #about-full .timeline { margin:32px 0; }

  #about-full .route-cta { padding:24px; margin-top:32px; }

  #about-full .route-cta h2,#about-full .route-cta h3 { font-size:35px; line-height:1.1; }

  #booking-request .booking-shell { padding-top:18px; }

  #booking-request h2 { font-size:clamp(54px,13vw,74px); }

  #booking-request .brush-copy { width:100%; max-width:330px; }

  #booking-request .form-grid { grid-template-columns:1fr; gap:18px; padding:20px; }

  #booking-request .form-grid>label { grid-column:1; }

  #booking-request .booking-form h3 { font-size:29px; }

  #booking-request .booking-form>[type=submit] { width:100%; }

  .newsletter-dialog .newsletter-card,.consent-dialog .consent-panel { padding:26px 22px; }

}

/* Downloads gets a compact performance stage; products are browseable at human scale. */

@media (max-width:1199px), (any-pointer:coarse) and (max-width:1366px) {

  #downloads .downloads-entry { height:auto; min-height:0; padding-bottom:28px; }

  #downloads .downloads-opening { position:relative; top:auto; left:auto; width:calc(100% - var(--touch-gutter)*2); max-width:1000px; margin:25px auto 0; }

  #downloads #downloads-title { font-size:clamp(56px,7.5vw,86px); white-space:normal; }

  #downloads .downloads-intro .spray-copy { width:90%; max-width:430px; margin:15px 0; }

  #downloads .downloads-character { top:75px; left:38%; right:0; bottom:auto; width:62%; height:360px; }

  #downloads .downloads-emblem { top:30px; right:-10%; height:460px; opacity:.25; }

  #downloads .download-packs { display:grid; grid-template-columns:1fr 1fr; width:100%; max-width:none; gap:20px; margin-top:210px; }

  #downloads .download-pack { display:grid; grid-template-columns:80px minmax(0,1fr); gap:16px; padding:20px; min-height:0; }

  #downloads .pack-visual { width:80px; margin:0; }

  #downloads .download-meta { display:block; min-width:0; }

  #downloads .download-pack h3 { display:block; font-size:32px; line-height:1; margin:0; }

  #downloads .download-pack h3 em { display:block; font-size:23px; margin-top:6px; }

  #downloads .pack-tags { display:block; font:400 13px/1.5 var(--body); margin-top:10px; }

  #downloads .download-meta .collection-button { display:flex; flex-direction:row; justify-content:flex-start; gap:10px; width:100%; min-width:0; max-width:none; min-height:46px; padding:0; margin-top:16px; font:400 18px var(--display); }

  #downloads .download-meta .collection-button svg { width:36px; height:36px; padding:8px; flex:none; }

  #downloads .downloads-motion-controls { position:relative; inset:auto; margin:18px var(--touch-gutter) 0; }

  #downloads .downloads-scroll-cue { display:none; }

  #downloads .downloads-stage { height:auto; min-height:0; aspect-ratio:3/1; }

  #downloads .rebel-collection { padding:40px 0; }

  #downloads .collection-heading { margin:0 0 28px; }

  #downloads .collection-heading__intro { font-size:22px; }

  #downloads .collection-heading__name { font-size:clamp(44px,6vw,72px); }

  #downloads .collection-heading__suffix { font-size:25px; }

  #downloads .offers { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }

  #downloads .product-card { padding:18px; height:auto; min-height:0; }

  #downloads .product-visual { height:auto; aspect-ratio:1; margin:0; }

  #downloads .offer-product { width:100%; height:100%; object-fit:contain; }

  #downloads .product-family { font:400 12px/1.4 var(--body); }

  #downloads .product-card h3 { font-size:32px; margin:8px 0; }

  #downloads .product-detail { font-size:14px; }

  #downloads .product-card .collection-button { font-size:18px; min-height:46px; margin-top:18px; padding:8px; }

}

@media (max-width:600px), (max-height:500px) and (max-width:1000px) {

  #downloads .downloads-opening { margin-top:18px; }

  #downloads #downloads-title { font-size:clamp(48px,12vw,66px); }

  #downloads .downloads-intro .spray-copy { width:100%; max-width:340px; }

  #downloads .downloads-character { top:198px; left:0; width:100%; height:235px; }

  #downloads .downloads-emblem { top:135px; height:320px; right:-25%; }

  #downloads .download-packs { grid-template-columns:1fr; gap:14px; margin-top:270px; }

  #downloads .download-pack { grid-template-columns:82px minmax(0,1fr); padding:20px; gap:18px; }

  #downloads .pack-visual { width:82px; }

  #downloads .download-pack h3 { font-size:33px; }

  #downloads .download-pack h3 em { font-size:24px; }

  #downloads .downloads-stage { aspect-ratio:2.2/1; }

  #downloads .downloads-stage__image { height:100%; object-fit:cover; }

  #downloads .offers { grid-template-columns:1fr; gap:20px; }

  #downloads .product-card { display:grid; grid-template-columns:44% minmax(0,1fr); gap:12px 20px; padding:20px; }

  #downloads .product-visual { grid-row:1/3; align-self:center; }

  #downloads .product-copy { align-self:end; margin:0; text-align:left; }

  #downloads .product-card h3 { font-size:32px; }

  #downloads .product-card .collection-button { grid-column:2; margin:0; align-self:start; }

}

@media (min-width:601px) and (max-width:1000px) and (max-height:500px) {

  :root { --touch-gutter:30px; }

  html.native-layout #home { min-height:390px; }

  html.native-layout #home .hero-brand { width:50%; top:40%; }

  html.native-layout #home .scroll-cue { display:none; }

  #about .about-copy { width:58%; }

  #about .about-artists { top:110px; left:auto; right:-5%; width:48%; height:400px; }

  #about .about-copy>p:first-of-type { margin-top:26px; }

  #music .tracks ol { grid-template-columns:1fr 1fr; }

  #music .music-heading .spray-copy { max-width:430px; }

  #music .signal-world { display:grid; grid-template-columns:1fr 1fr; gap:16px; }

  #music .tour { grid-row:1; }

  #music .globe { grid-column:2; grid-row:1/3; height:300px; }

  #music .world-counts { grid-column:1; }

  #music .signal-thanks { grid-column:1/-1; }

  #contact .contact-cards { grid-template-columns:repeat(3,minmax(0,1fr)); }

  #contact .contact-card { display:block; text-align:center; padding:18px 12px; }

  #contact .contact-icon { margin:0 auto 12px; }

  #contact .contact-card h3 { font-size:26px; }

  #contact .touch-crew { max-width:520px; margin-inline:auto; }

  body .music-player.mini-player,body .music-player.mini-player.is-footer-safe { left:auto; width:330px; bottom:70px; }

  #about-full .about-full__hero { height:365px; }

  #about-full .about-full__hero>div { width:52%; }

  #about-full .about-full__hero .paint-strike { margin-bottom:20px; }

  #about-full .about-full__hero>.press-photo { top:0; left:auto; right:-2%; width:52%; height:320px; }

  #about-full .about-full__hero>div>img { align-self:flex-start; }

  #about-full .about-full__hero>div>p { text-align:left; }

  #downloads .downloads-character { top:90px; left:40%; width:60%; height:300px; }

  #downloads .download-packs { margin-top:155px; grid-template-columns:1fr 1fr; }

  #downloads .offers { grid-template-columns:1fr; max-width:640px; margin:auto; }

}

@media (prefers-reduced-motion:reduce) {

  body .side-rail,body .music-player.mini-player .mini-expand svg { transition:none; }

}



@media (max-width:1199px), (any-pointer:coarse) and (max-width:1366px) {

 body[data-scene=contact] .side-rail { top:12px; transform:none; }

 #about-full .press-facts dd { overflow-wrap:anywhere; }

 #about-full .timeline>div { gap:14px; }

 #about-full .timeline p { font:400 14px/1.6 var(--body); }

 #booking-request fieldset { padding:0; min-width:0; margin:0 0 24px; }

 #booking-request legend { padding:0 12px; font-size:28px; }

}

@media (max-width:600px), (max-height:500px) and (max-width:1000px) {

 #about-full .timeline>div { grid-template-columns:1fr 1fr; }

 #about-full .route-cta>div { display:grid; grid-template-columns:1fr; gap:12px; }

}



@media (max-width:1199px), (any-pointer:coarse) and (max-width:1366px) {

 .newsletter-dialog .newsletter-card { gap:12px; }

 .newsletter-card>img { margin-bottom:10px; }

 .newsletter-card h2 { margin-bottom:0; }

 .newsletter-card p { margin:0 0 8px; }

 .newsletter-card .check { margin:8px 0; }

}



@media (max-width:1199px), (any-pointer:coarse) and (max-width:1366px) {

 #music .tour-list a { display:grid; height:auto; min-height:62px; grid-template-columns:72px minmax(0,1fr) 20px; grid-template-rows:auto auto; gap:4px 10px; padding:10px; }

 #music .tour-list time { grid-column:1; grid-row:1/3; align-self:center; font:400 17px/1.2 var(--display); }

 #music .tour-list strong { grid-column:2; grid-row:1; font:400 22px/1.05 var(--display); }

 #music .tour-list span { grid-column:2; grid-row:2; font:400 12px/1.35 var(--body); white-space:normal; }

 #music .tour-list b { grid-column:3; grid-row:1/3; align-self:center; font-size:22px; }

 #music .tour>.text-link { display:inline-flex; align-items:center; min-height:44px; font-size:18px; }

}



@media (max-width:1199px), (any-pointer:coarse) and (max-width:1366px) {

 #music .music-heading .brush-copy.spray-copy { height:auto; aspect-ratio:2132/230; margin:16px 0 0; }

 #booking-request .brush-copy.spray-copy { height:auto; aspect-ratio:2142/240; }

 #downloads .downloads-intro .brush-copy.spray-copy { height:auto; aspect-ratio:2078/470; }

 :is(#music,#booking-request,#downloads) .spray-copy .spray-visual { inset:0; width:100%; height:100%; transform:none; }

 html[lang=de] #music .music-heading .brush-copy.spray-copy { aspect-ratio:2139/252; }

 html[lang=de] #booking-request .brush-copy.spray-copy { aspect-ratio:2112/207; }

 html[lang=de] #downloads .downloads-intro .brush-copy.spray-copy { aspect-ratio:2125/204; }

 #music .music-heading { display:flow-root; }

 #music .signal-world { overflow:clip; overflow-clip-margin:8px; }

 #music .tracks>.outline-button,#music .tour>.outline-button { min-height:44px; font-size:18px; }

}

@media (max-width:600px) {

 #downloads .downloads-character { top:235px; height:260px; }

}



@media (min-width:951px) and (max-width:1199px) and (min-height:501px), (min-width:951px) and (max-width:1366px) and (any-pointer:coarse) and (min-height:501px) {

 #music .music__inner { display:grid; grid-template-columns:minmax(0,1.05fr) minmax(0,1fr); grid-template-rows:auto auto 1fr; gap:0 30px; padding-top:20px; padding-bottom:140px; }

 #music .eyebrow { grid-area:1/1/2/3; margin:0 70px 18px 0; }

 #music .music-heading { grid-area:2/1; margin-bottom:16px; }

 #music .music-heading h2 { font-size:66px; }

 #music .music-heading .brush-copy.spray-copy { width:92%; max-width:440px; margin-top:10px; }

 #music .music-layout { display:contents; }

 #music .tracks { grid-area:3/1; display:block; }

 #music .tracks h3 { font-size:25px; margin-bottom:8px; }

 #music .tracks ol { display:grid; grid-template-columns:1fr; grid-template-rows:repeat(6,auto); gap:6px; margin-bottom:8px; }

 #music .track-row { height:auto; min-height:54px; grid-template-columns:40px minmax(0,1fr) 128px; grid-template-rows:auto; padding:5px 10px; gap:10px; }

 #music .track-play { width:40px; height:40px; grid-column:1; grid-row:1; }

 #music .track-title { grid-column:2; grid-row:1; align-self:center; }

 #music .track-title strong { font-size:20px; }

 #music .track-title small { font-size:11px; line-height:1.2; }

 #music .platforms { grid-column:3; grid-row:1; gap:0; margin:0; }

 #music .platforms a { width:32px; height:44px; }

 #music .signal-world { grid-area:2/2/4/3; display:flex; gap:0; }

 #music .tour { display:block; }

 #music .tour h3 { margin-bottom:8px; }

 #music .tour-list a { min-height:52px; padding:7px 12px; }

 #music .tour-list strong { font-size:20px; }

 #music .tour-list time { font-size:16px; }

 #music .globe { height:245px; margin:0; }

 #music .world-counts { margin:0; }

 #music .world-counts strong { font-size:36px; }

 #music .world-counts small { font-size:16px; }

 #music .signal-thanks { margin:9px 0; }

 #music .free-downloads { min-height:44px; font-size:22px; margin:0 auto; }

 #contact .eyebrow { position:static; margin:0 65px 16px 0; }

 #contact h2 { font-size:55px; }

 #contact .contact__inner { padding-top:20px; }

 #contact .contact-cards { gap:18px; }

 #contact .contact-card { display:grid; grid-template-columns:48px minmax(0,1fr); grid-template-rows:auto auto auto; gap:4px 15px; text-align:left; padding:18px; }

 #contact .contact-icon { grid-row:1/4; margin:0; align-self:center; }

 #contact .contact-card h3 { font-size:28px; }

 #contact .contact-card p { margin:0; }

 #contact .contact-card a { grid-column:2; min-height:44px; margin:8px 0 0; }

 #contact .crew-form { display:none; }

 #contact .touch-crew { display:grid; grid-template-columns:90px minmax(0,1fr); gap:22px; align-items:center; padding:18px 24px; margin-top:20px; }

 #contact .touch-crew>img { --crew-portrait-size:90px; }

 #contact .touch-crew>div { display:grid; grid-template-columns:1fr 210px; align-items:center; gap:8px 24px; }

 #contact .touch-crew h3 { font-size:32px; margin:0; }

 #contact .touch-crew p { font:400 15px/1.4 var(--body); margin:0; }

 #contact .touch-crew button { grid-column:2; grid-row:1/3; }

}



@media (min-width:601px) and (max-width:950px) and (min-height:501px) {

 #music .touch-music-tabs { display:grid; grid-template-columns:1fr 1fr; gap:4px; padding:4px; margin:0 0 22px; background:#170e16a3; border:1px solid #ffffff30; border-radius:12px; }

 .touch-music-tabs button { min-height:44px; border:0; border-radius:8px; color:#bca9b4; background:transparent; font:400 23px/1 var(--display); }

 .touch-music-tabs [aria-selected=true] { color:#fff; background:linear-gradient(120deg,#ff00903d,#ff009012); box-shadow:inset 0 0 0 1px #ff009087; }

 #music .music-layout { display:block; }

 #music .tracks ol { display:grid; grid-template-columns:1fr 1fr; gap:12px; }

 #music .signal-world { display:grid; grid-template-columns:1fr 1fr; gap:12px 24px; }

 #music .tour { grid-column:1; grid-row:1; }

 #music .globe { grid-column:2; grid-row:1; height:260px; }

 #music .world-counts { grid-column:2; grid-row:2; }

 #music .signal-thanks { grid-column:1; grid-row:2; }

 #music .free-downloads { grid-column:1/-1; margin:14px auto 0; }

 #music .signal-world>.free-downloads { display:none; }

 #music .touch-download-link { display:flex; justify-content:center; width:max-content; min-height:46px; margin:22px auto 0; }

}



@media (max-width:1199px), (any-pointer:coarse) and (max-width:1366px) {

 .section-progress { display:none; }

 body .mobile-dock { border:1px solid #ffc2e363; box-shadow:inset 0 1px 0 #ffe1ef45,0 6px 22px #0009; }

 body .mobile-dock a { color:#c9bac4; text-decoration:none; }

 body .mobile-dock a[aria-current=page] { color:#ff3fa8; }

 #about .about-artists { right:0; }

}

@media (min-width:951px) and (max-width:1199px) and (min-height:501px), (min-width:951px) and (max-width:1366px) and (any-pointer:coarse) and (min-height:501px) {

 #music .signal-world>.free-downloads { display:none; }

 #music .touch-download-link { display:flex; grid-area:3/1; align-self:end; justify-self:end; margin:0 0 16px; min-height:44px; font-size:20px; padding:8px 22px; }

 #music .world-counts small { font-size:16px; }

}



@media (max-width:1199px), (any-pointer:coarse) and (max-width:1366px) {

 #contact .touch-crew { border-radius:14px; }

 #contact .touch-crew h3 { font:400 32px/1.05 var(--display); }

 #contact .brand-atmosphere { opacity:.25; }

}





@media (min-width:601px) and (max-width:1000px) and (max-height:500px) {

 body .mobile-dock { display:none; }

 body .music-player.mini-player,body .music-player.mini-player.is-footer-safe { bottom:calc(10px + env(safe-area-inset-bottom)); }

}



@media (min-width:601px) and (max-width:1000px) and (max-height:500px) {

 html.native-layout .section .section-inner { padding-top:20px; }

 .section .eyebrow { margin-bottom:16px; }

 #music .music-heading { display:flex; align-items:center; justify-content:space-between; gap:24px; margin-bottom:20px; }

 #music .music-heading h2 { font-size:56px; }

 #music .music-heading .brush-copy.spray-copy { width:45%; max-width:360px; margin:0; flex-shrink:0; }

 #music .touch-music-tabs { margin-bottom:18px; }

 #contact h2 { max-width:none; font-size:48px; }

 #contact .paint-strike { max-width:480px; }

 #booking-request h2 { font-size:56px; }

}



@media (max-width:1199px), (any-pointer:coarse) and (max-width:1366px) {

 dialog.consent-dialog,dialog.newsletter-dialog { height:fit-content; }

 .consent-dialog .consent-panel { gap:10px; }

 .consent-panel>img { width:170px; margin:0 auto 8px; }

 .consent-panel h2 { position:static; width:auto; height:auto; overflow:visible; clip-path:none; font-size:32px; margin:0; }

 .consent-panel p { font-size:14px; line-height:1.5; padding:0; margin:4px 0 10px; max-width:none; }

 .consent-panel p::before { display:none; }

 .consent-languages button,.form-security__close { width:44px; height:44px; }

 .consent-panel .consent-options { max-height:none; }

}



@media (max-width:360px) {

 #booking-request h2 { font-size:44px; }

 #contact .touch-crew { grid-template-columns:64px minmax(0,1fr); gap:14px; padding:18px 14px; }

 #contact .touch-crew>img { width:64px; }

 #contact .touch-crew h3 { font-size:28px; }

}













/* Compact navigation has one entry point: the branded menu at the top. */

@media (max-width:1199px), (any-pointer:coarse) and (max-width:1366px) {

  body .mobile-dock { display:none!important; }

  body .music-player.mini-player,body .music-player.mini-player.is-footer-safe,

  body.route-open .music-player.mini-player { bottom:calc(14px + env(safe-area-inset-bottom)); }

  #home .scroll-cue { bottom:90px; }

  #about .about__inner { min-height:100dvh; height:auto; padding-bottom:100px; }

  #about .about-artists.press-photo {

    top:160px; right:var(--touch-gutter); bottom:auto; left:auto;

    width:calc(46% - var(--touch-gutter)/2); height:auto; max-height:none; max-width:none;

    object-fit:contain; object-position:center; opacity:1; filter:none;

    mask-image:linear-gradient(180deg,#000 0%,#000 62%,rgba(0,0,0,.88) 76%,rgba(0,0,0,.35) 91%,transparent 100%),linear-gradient(90deg,transparent,#000 4%,#000 96%,transparent);

    mask-composite:intersect;

  }

  #about .ghost-mark { top:130px; right:var(--touch-gutter); left:auto; width:52%; height:auto; aspect-ratio:1; opacity:.16; }

  #about .button-row { display:grid; grid-template-columns:1fr 1fr; gap:16px; width:calc(100vw - var(--touch-gutter)*2); max-width:1100px; }

  #about .button-row :is(.signal-button,.text-link) { display:flex; align-items:center; justify-content:center; width:100%; min-height:48px; margin:0; font-size:20px; }

  #about .button-row .signal-button { gap:16px; }

}

@media (max-width:600px) {

  #about .about__inner { min-height:0; padding-bottom:70px; }

  #about .about-artists.press-photo { top:170px; left:50%; right:auto; width:min(82vw,350px); height:auto; transform:translateX(-50%); }

  #about .about-copy>p:first-of-type { margin-top:calc(min(82vw,350px)*2221/1764 + 14px); }

  #about .ghost-mark { top:165px; left:50%; right:auto; width:90%; transform:translateX(-50%); }

  #about .button-row { grid-template-columns:1fr; gap:12px; }

}

@media (min-width:601px) and (max-width:1000px) and (max-height:500px) {

  #about .about__inner { min-height:0; }

  #about .about-artists.press-photo { top:115px; width:40%; }

  #about .about-copy>p:first-of-type { margin-top:26px; }

}



@media (min-width:601px) and (max-width:950px) and (min-height:501px) {

  #about .about-artists.press-photo { max-width:340px; }

}

@media (min-width:951px) and (max-width:1199px) and (min-height:501px),

       (min-width:951px) and (max-width:1366px) and (any-pointer:coarse) and (min-height:501px) {

  #about .about-artists.press-photo { top:100px; width:min(calc(46% - var(--touch-gutter)/2),calc((100dvh - 220px)*1764/2221)); }

  #about .ghost-mark { top:80px; }

  #about .button-row { width:100%; }

  #about .button-row :is(.signal-button,.text-link) { font-size:18px; }

}



/* Dedicated fullscreen navigation for phones and tablets. Desktop rail is retained. */

@font-face {

  font-family:'BC Menu Condensed'; src:url('assets/fonts/SixCaps.ttf') format('truetype');

  font-style:normal; font-weight:400; font-display:swap;

}

.touch-menu-surface { display:none; }

@media (max-width:1199px), (any-pointer:coarse) and (max-width:1366px) {

  body .side-rail[data-side-rail],body[data-scene] .side-rail[data-side-rail],body.route-open .side-rail[data-side-rail] {

    --menu-top:max(84px,calc(env(safe-area-inset-top) + 70px));

    --menu-bottom:max(48px,calc(env(safe-area-inset-bottom) + 30px));

    --menu-font:clamp(54px,min(24vw,14dvh),170px);

    display:grid!important; position:fixed; z-index:200; inset:0!important;

    width:100%; height:100dvh; min-height:0; max-height:none;

    grid-template-columns:minmax(0,1fr); grid-template-rows:repeat(6,max-content); gap:clamp(6px,.8dvh,10px); align-content:center;

    padding:var(--menu-top) max(20px,env(safe-area-inset-left)) var(--menu-bottom) max(20px,env(safe-area-inset-right));

    margin:0; border:0; border-radius:0; box-shadow:none; background:transparent;

    backdrop-filter:none; -webkit-backdrop-filter:none; transform:none; opacity:1; visibility:visible;

    overflow:hidden; isolation:isolate; pointer-events:none; transition:none;

  }

  body .side-rail[data-side-rail]:is(.is-open,.is-closing) { pointer-events:auto; touch-action:none; overscroll-behavior:none; }

  body .side-rail[data-side-rail] .touch-menu-surface {

    display:grid; place-items:center; position:absolute; z-index:-1; inset:0; overflow:hidden;

    background:var(--pink); visibility:hidden; pointer-events:none;

    clip-path:circle(0 at calc(100% - 42px) calc(38px + env(safe-area-inset-top)));

    transition:clip-path 560ms cubic-bezier(.76,0,.24,1),visibility 0s 560ms;

  }

  body .side-rail[data-side-rail].is-open .touch-menu-surface {

    visibility:visible; clip-path:circle(150vmax at calc(100% - 42px) calc(38px + env(safe-area-inset-top))); transition-delay:0s;

  }

  body .side-rail[data-side-rail] .touch-menu-symbol {

    display:block; position:absolute; left:50%; top:50%; width:min(128vmin,92dvh); height:auto; max-width:none;

    opacity:.22; object-fit:contain; transform:translate(-50%,-50%) scale(.86) rotate(-9deg); filter:none;

    transition:transform 850ms cubic-bezier(.16,1,.3,1);

  }

  body .side-rail[data-side-rail].is-open .touch-menu-symbol { transform:translate(-50%,-50%) scale(1) rotate(-6deg); }

  body .side-rail[data-side-rail] .rail-toggle {

    position:absolute; z-index:3; inset:calc(12px + env(safe-area-inset-top)) max(16px,env(safe-area-inset-right)) auto auto;

    width:52px; height:52px; min-height:52px; margin:0; padding:5px;

    border:1px solid #ffd5ed80; border-radius:50%; background:#170b15d9;

    box-shadow:inset 0 1px 0 #fff4,0 0 18px #0002; pointer-events:auto; transform:none;

    transition:background 220ms,border-color 220ms;

  }

  body .side-rail[data-side-rail].is-open .rail-toggle { background:#4d00296b; border-color:#fff9; }

  body .side-rail[data-side-rail] .rail-toggle .nav-mark { width:40px; height:40px; visibility:visible; }

  body .side-rail[data-side-rail] > a {

    position:relative; z-index:1; display:flex; align-items:center; justify-content:center;

    width:100%; height:auto; min-height:44px; padding:0; margin:0;

    border:0; border-radius:0; background:none; box-shadow:none;

    font:400 var(--menu-font)/.94 'BC Menu Condensed',var(--display); color:#fff; text-align:center;

    opacity:0; visibility:hidden; pointer-events:none; transform:translateY(24px);

    transition:opacity 160ms,transform 220ms,visibility 0s 220ms;

  }

  body .side-rail[data-side-rail].is-open > a {

    opacity:1; visibility:visible; pointer-events:auto; transform:translateY(0);

    transition:opacity 360ms,transform 560ms cubic-bezier(.16,1,.3,1),visibility 0s;

    transition-delay:calc(130ms + var(--menu-index)*55ms),calc(130ms + var(--menu-index)*55ms),0s;

  }

  body .side-rail[data-side-rail] > a::after { display:none; }

  body .side-rail[data-side-rail] .nav-label {

    display:block; position:relative; font:inherit; line-height:inherit; letter-spacing:.012em; white-space:nowrap;

    text-shadow:0 2px 20px #62003318; transition:color 160ms,transform 180ms;

  }

  body .side-rail[data-side-rail] .nav-label__main,body .side-rail[data-side-rail] .nav-label__sub { display:inline; font:inherit; line-height:inherit; }

  body .side-rail[data-side-rail] > a:is(.is-current,:hover) { color:#290015; }

  body .side-rail[data-side-rail] > a:hover .nav-label { transform:translateX(4px); }

  body .side-rail[data-side-rail] > a:focus-visible { outline:2px solid #fff; outline-offset:-5px; }

  body .side-rail[data-side-rail] .rail-toggle:focus-visible { outline:2px solid #fff; outline-offset:4px; }

  body.is-touch-menu-open .music-player,body.is-touch-menu-open .mobile-dock { visibility:hidden!important; }

  body.is-touch-menu-open main,body.is-touch-menu-open .route-page { overflow:hidden!important; }

}

@media (max-height:500px) and (max-width:1199px) {

  body[data-scene] .side-rail[data-side-rail] { --menu-top:52px; --menu-bottom:max(14px,env(safe-area-inset-bottom)); --menu-font:clamp(38px,12dvh,62px); gap:2px; }

}

@media (prefers-reduced-motion:reduce) and (max-width:1199px), (prefers-reduced-motion:reduce) and (any-pointer:coarse) and (max-width:1366px) {

  body .side-rail[data-side-rail] .touch-menu-surface,body .side-rail[data-side-rail] .touch-menu-symbol,body .side-rail[data-side-rail] > a,

  body .side-rail[data-side-rail].is-open .touch-menu-surface,body .side-rail[data-side-rail].is-open .touch-menu-symbol,body .side-rail[data-side-rail].is-open > a { transition:none; }

  body .side-rail[data-side-rail] .touch-menu-symbol,body .side-rail[data-side-rail].is-open .touch-menu-symbol { transform:translate(-50%,-50%); }

}



/* Tablet About: a composed viewport with a shared metrics band and clear player space. */

@media (min-width:601px) and (max-width:1199px) and (min-height:501px),

       (min-width:601px) and (max-width:1366px) and (min-height:501px) and (any-pointer:coarse) {

  #about .about__inner {

    display:flex; flex-direction:column; height:100dvh; min-height:100dvh;

    padding:24px 0 96px;

  }

  #about .eyebrow { flex:none; margin:0 68px clamp(24px,3.5dvh,40px) 0; }

  #about .about-copy {

    display:flex; flex:1; flex-direction:column; width:100%; max-width:none; min-height:0; padding:0; margin:0;

  }

  #about .about-copy h1 { flex:none; font-size:clamp(70px,min(11vw,9dvh),112px); line-height:.95; }

  #about .paint-strike { flex:none; width:min(48%,360px); height:20px; margin:12px 0 26px; }

  #about .about-copy>p {

    flex:none; width:48%; max-width:520px; font-size:clamp(15px,min(2.45vw,1.92dvh),20px);

    line-height:1.6; letter-spacing:.2px; margin:0 0 18px;

  }

  #about .about-artists.press-photo {

    top:clamp(154px,20dvh,240px); right:calc(var(--touch-gutter)*.45); bottom:auto; left:auto;

    width:51%; height:auto; max-width:none; max-height:calc(100dvh - 345px);

    object-fit:contain; object-position:center top; transform:none;

  }

  #about .ghost-mark { top:18dvh; right:0; left:auto; width:57%; height:auto; }

  #about .kpi-grid {

    flex:none; width:100%; margin:auto 0 18px; padding-top:12px;

    grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px;

  }

  #about .kpi { height:clamp(130px,16dvh,164px); min-height:0; padding:14px 12px; }

  #about .kpi strong { font-size:clamp(52px,min(7.4vw,6.8dvh),72px); line-height:1; }

  #about .kpi span { font-size:clamp(17px,2.5vw,21px); line-height:1.1; margin-top:9px; letter-spacing:.035em; }

  #about .kpi span::before { margin-bottom:5px; }

  #about .button-row { flex:none; width:100%; max-width:none; grid-template-columns:1fr 1fr; gap:18px; margin:0; }

  #about .button-row :is(.signal-button,.text-link) { min-height:48px; font-size:21px; }

}

@media (min-width:601px) and (max-width:1199px) and (min-height:501px) and (max-height:760px),

       (min-width:601px) and (max-width:1366px) and (min-height:501px) and (max-height:760px) and (any-pointer:coarse) {

  #about .about__inner { padding-top:20px; padding-bottom:90px; }

  #about .eyebrow { margin-bottom:18px; }

  #about .about-copy h1 { font-size:clamp(58px,8.5dvh,70px); }

  #about .paint-strike { height:16px; margin:8px 0 18px; }

  #about .about-copy>p { font-size:15px; line-height:1.45; margin-bottom:12px; }

  #about .about-artists.press-photo { top:128px; max-height:calc(100dvh - 420px); }

  #about .kpi-grid { margin-bottom:14px; padding-top:8px; gap:14px; }

  #about .kpi { height:112px; padding:10px; }

  #about .kpi strong { font-size:46px; }

  #about .kpi span { font-size:16px; margin-top:5px; }

  #about .button-row :is(.signal-button,.text-link) { font-size:19px; }

}



/* Wide tablets keep a compact metrics group beside the larger portrait. */

@media (min-width:951px) and (max-width:1199px) and (min-height:501px),

       (min-width:951px) and (max-width:1366px) and (min-height:501px) and (any-pointer:coarse) {

  #about .about-copy { width:52%; }

  #about .about-copy h1 { font-size:clamp(72px,min(8.8vw,11dvh),108px); }

  #about .paint-strike { width:76%; max-width:390px; }

  #about .about-copy>p { width:100%; max-width:none; font-size:clamp(16px,1.65vw,20px); line-height:1.5; }

  #about .about-artists.press-photo {

    top:clamp(100px,13dvh,150px); right:var(--touch-gutter); width:44%; height:calc(100dvh - 190px);

    max-height:none; object-position:center bottom;

  }

  #about .ghost-mark { top:12dvh; right:0; width:52%; height:calc(100dvh - 150px); transform:none; }

  #about .kpi-grid { gap:12px; }

  #about .kpi { height:clamp(126px,17dvh,152px); }

  #about .kpi strong { font-size:clamp(48px,5vw,60px); }

  #about .kpi span { font-size:18px; }

  #about .button-row { gap:14px; }

  #about .button-row :is(.signal-button,.text-link) { font-size:18px; }

}


/* Tablet portrait: replace the baked oval rim with a smooth circular CSS edge. */
.crew-portrait-clean { display:none; }
@media (max-width:1199px), (any-pointer:coarse) and (max-width:1366px) {
  @media (min-width:601px) and (min-height:501px) {
    #contact .crew-form > img.press-photo,
    #contact .touch-crew > img { display:none; }
    #contact .crew-portrait-clean {
      display:block;
      box-sizing:border-box;
      width:130px;
      height:130px;
      max-width:100%;
      aspect-ratio:1;
      align-self:center;
      justify-self:center;
      border:2px solid #ff50b3;
      border-radius:50%;
      background:#10050d url("assets/reference-detail/crew-circle.png") center / 112% auto no-repeat;
      box-shadow:0 0 0 1px #ffb7df45,0 0 16px #ff00902b;
    }
    #contact .touch-crew > .crew-portrait-clean { width:90px; height:90px; }
  }
}


/* Tablet: tap the record to reveal controls; keep phone and desktop layouts intact. */

@media (min-width:501px) and (max-width:1199px), (min-width:501px) and (max-width:1366px) and (any-pointer:coarse) {
  body .music-player.mini-player:not(.is-revealed) {

    left:auto; width:68px; height:68px; border-radius:50%;

  }

  body .music-player.mini-player:not(.is-revealed) .mini-player__details {

    opacity:0; visibility:hidden; pointer-events:none;

  }

  body .music-player.mini-player:not(.is-revealed) .mini-play {

    top:6px; right:6px; width:54px; height:54px; pointer-events:none;

  }

  body .music-player.mini-player:not(.is-revealed) .mini-disc { display:block; }

  body .music-player.mini-player:not(.is-revealed) .mini-play svg { visibility:hidden; }

  body .music-player.mini-player:not(.is-revealed) .mini-expand {

    inset:0; width:68px; height:68px; padding:0; border-radius:50%; background:transparent;

  }

  body .music-player.mini-player:not(.is-revealed) .mini-expand svg { display:none; }

  body .music-player.mini-player:not(.is-revealed) .mini-equalizer {

    width:112px; height:112px; right:-23px; top:-23px; bottom:auto;

  }

}

/* Mobile contact actions: two decisive routes, then two light-weight rows. */
@media (max-width:600px) {
  #contact .contact-cards {
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:10px;
    width:100%;
    margin:0;
  }
  #contact .contact-card {
    min-width:0;
    min-height:176px;
    height:auto;
    display:grid;
    grid-template-columns:1fr;
    grid-template-rows:auto auto 1fr auto;
    justify-items:center;
    align-items:center;
    gap:5px;
    padding:14px 10px 12px;
    text-align:center;
  }
  #contact .contact-card .contact-icon { grid-row:auto; width:39px; height:39px; }
  #contact .contact-card h3 { font-size:24px; line-height:1; white-space:normal; }
  #contact .contact-card p { margin:0; font-size:12px; line-height:1.3; text-align:center; }
  #contact .contact-card a { grid-column:auto; width:100%; min-height:40px; margin:3px 0 0; padding:7px 4px; font-size:18px; }

  /* Downloads stays present, but reads as a route rather than a third tile. */
  #contact .contact-card:nth-child(3) {
    grid-column:1 / -1;
    min-height:0;
    display:grid;
    grid-template-columns:34px minmax(0,1fr) auto;
    grid-template-rows:auto auto;
    align-items:center;
    gap:0 10px;
    padding:12px 2px 10px;
    border:0;
    border-top:1px solid #ff009055;
    border-radius:0;
    background:none;
    box-shadow:none;
    text-align:left;
  }
  #contact .contact-card:nth-child(3)::after { display:none; }
  #contact .contact-card:nth-child(3) .contact-icon { grid-row:1 / -1; width:30px; height:30px; }
  #contact .contact-card:nth-child(3) h3 { justify-self:start; font-size:22px; text-align:left; }
  #contact .contact-card:nth-child(3) p { justify-self:start; font-size:12px; text-align:left; }
  #contact .contact-card:nth-child(3) a {
    grid-column:3;
    grid-row:1 / -1;
    width:auto;
    min-height:34px;
    margin:0;
    padding:4px 0 4px 8px;
    border:0;
    background:none;
    box-shadow:none;
    color:var(--pink);
    font-size:17px;
    white-space:nowrap;
  }

  /* Crew is a final invitation, not another heavy panel. */
  #contact .touch-crew {
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    align-items:center;
    gap:4px 14px;
    margin:0;
    padding:12px 0 4px;
    border:0;
    border-top:1px solid #ff009055;
    border-radius:0;
    background:none;
    box-shadow:none;
  }
  #contact .touch-crew > :is(img,.crew-portrait-clean) { display:none!important; }
  #contact .touch-crew > div { display:contents; }
  #contact .touch-crew h3 { grid-column:1; margin:0; font-size:23px; line-height:1; }
  #contact .touch-crew p { grid-column:1; margin:0; font-size:12px; line-height:1.35; }
  #contact .touch-crew .signal-button {
    grid-column:2;
    grid-row:1 / 3;
    width:auto;
    min-height:38px;
    margin:0;
    padding:7px 11px;
    font-size:17px;
    white-space:nowrap;
  }
}

