@import url('https://fonts.googleapis.com/css2?family=Archivo:wght@400;500;700;800;900&family=Jost:wght@300;400;500;600&display=swap');

:root{
  --ink:#0c0c0d;
  --paper:#f4f4f5;
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{margin:0;background:var(--paper);font-family:'Jost',system-ui,sans-serif;-webkit-font-smoothing:antialiased;color:var(--ink);overflow-x:hidden;}
a{color:var(--ink);text-decoration:none;}
::selection{background:var(--ink);color:#fff;}
h1,h2,h3,p{margin:0;}
button{font:inherit;}

.wrap{max-width:1180px;margin:0 auto;}

/* ---------- scroll reveal ---------- */
.reveal{opacity:0;transform:translateY(28px);transition:opacity .8s cubic-bezier(.22,.61,.36,1),transform .8s cubic-bezier(.22,.61,.36,1);}
.reveal.is-visible{opacity:1;transform:translateY(0);}
.reveal-scale{opacity:0;transform:scale(.94);transition:opacity .8s cubic-bezier(.22,.61,.36,1),transform .8s cubic-bezier(.22,.61,.36,1);}
.reveal-scale.is-visible{opacity:1;transform:scale(1);}
.reveal-left{opacity:0;transform:translateX(-32px);transition:opacity .7s cubic-bezier(.22,.61,.36,1),transform .7s cubic-bezier(.22,.61,.36,1);}
.reveal-left.is-visible{opacity:1;transform:translateX(0);}
.stagger .reveal:nth-child(1){transition-delay:.02s}
.stagger .reveal:nth-child(2){transition-delay:.09s}
.stagger .reveal:nth-child(3){transition-delay:.16s}
.stagger .reveal:nth-child(4){transition-delay:.23s}
.stagger .reveal:nth-child(5){transition-delay:.30s}
.stagger .reveal:nth-child(6){transition-delay:.37s}
.stagger .reveal:nth-child(7){transition-delay:.44s}
.stagger .reveal:nth-child(8){transition-delay:.51s}
.stagger .reveal:nth-child(9){transition-delay:.58s}
.stagger .reveal:nth-child(10){transition-delay:.65s}
.stagger .reveal:nth-child(11){transition-delay:.72s}
.stagger .reveal:nth-child(12){transition-delay:.79s}

@keyframes floaty{0%,100%{transform:translateY(0)}50%{transform:translateY(-16px)}}
@keyframes pulseBadge{0%,100%{transform:scale(1)}50%{transform:scale(1.06)}}
@keyframes shimmer{0%{background-position:-200% 0}100%{background-position:200% 0}}

/* ---------- nav ---------- */
/* .nav is position:sticky, which still occupies flow space above .hero -
   at rest what shows through a "transparent" nav is body's background, not
   hero's own gradient (hero hasn't started yet at that point in the page).
   So instead of relying on transparency, match hero's gradient start color
   exactly (#fff) for a seamless join with zero reliance on stacking order. */
/* grid with two equal 1fr side columns (not flex space-between) so the
   links stay pinned to the true horizontal center regardless of how the
   logo and button widths compare - space-between would skew the middle
   item toward whichever flanking item is narrower. */
.nav{position:sticky;top:0;z-index:50;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;column-gap:24px;
  padding:40px clamp(20px,5vw,56px) 18px;background:#fff;backdrop-filter:none;-webkit-backdrop-filter:none;
  border-bottom:1px solid transparent;transition:padding .35s ease,box-shadow .35s ease,background .35s ease,backdrop-filter .35s ease,border-color .35s ease;}
.nav.scrolled{padding:14px clamp(20px,5vw,56px);box-shadow:0 8px 24px rgba(0,0,0,0.06);background:rgba(255,255,255,0.72);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);border-bottom-color:rgba(0,0,0,0.07);}
.nav-logo{justify-self:start;font-family:'Archivo';font-weight:900;letter-spacing:0.06em;font-size:clamp(16px,1.56vw,20px);color:var(--ink);}
.nav-links{justify-self:center;display:flex;flex-wrap:wrap;gap:clamp(18px,2.97vw,38px);align-items:center;}
.nav .btn-outline{justify-self:end;}
.nav-link{position:relative;font-family:'Jost';font-size:14px;letter-spacing:0.06em;color:#333;padding-bottom:2px;}
.nav-link::after{content:'';position:absolute;left:0;right:100%;bottom:-2px;height:1px;background:var(--ink);transition:right .3s cubic-bezier(.22,.61,.36,1);}
.nav-link:hover::after{right:0;}
.nav-link:hover{color:var(--ink);}
.btn-outline{display:inline-flex;align-items:center;border:1px solid var(--ink);border-radius:40px;padding:9px 26px;font-family:'Jost';font-size:14px;letter-spacing:0.04em;color:var(--ink);transition:background .25s ease,color .25s ease,transform .25s ease;}
.btn-outline:hover{background:var(--ink);color:#fff;transform:translateY(-2px);}
.btn-solid{display:inline-flex;align-items:center;background:var(--ink);color:#fff;border-radius:40px;padding:14px 32px;font-family:'Jost';font-size:14px;letter-spacing:0.04em;transition:background .25s ease,transform .25s ease,box-shadow .25s ease;}
.btn-solid:hover{background:#333;transform:translateY(-3px);box-shadow:0 14px 28px rgba(0,0,0,0.22);}
/* the 3-column grid (logo/links/button) has no room to breathe under ~760px -
   logo and links start wrapping onto multiple lines inside their own grid
   tracks and collide. Switch to a two-row flex stack instead: logo+Book on
   row 1, links centered on their own full-width row below. */
@media (max-width:760px){
  .nav{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;padding:16px 20px;row-gap:12px;}
  .nav.scrolled{padding:12px 20px;}
  .nav-logo{font-size:15px;}
  .nav-links{order:3;width:100%;justify-content:center;gap:14px 20px;}
  .nav-link{font-size:13px;}
}

/* ---------- hero ---------- */
/* Layout ported 1:1 from the "1B" reference (Concepts Ref.dc.html), a 1280x820
   mockup card. Every top/left/right/bottom below is that spec's px value
   converted to a % of 1280 (horizontal) or 820 (vertical) so the proportions
   match exactly at any viewport size. */
.hero{position:relative;overflow:hidden;background:linear-gradient(180deg,#ffffff,var(--paper));height:88vh;min-height:640px;}
.hero-glow{position:absolute;inset:0;z-index:0;
  background:radial-gradient(50% 35% at 82% 10%,rgba(0,0,0,0.04),transparent),radial-gradient(32% 26% at 8% 52%,rgba(0,0,0,0.035),transparent);
  transition:transform .1s linear;}
/* Caps how far edge-anchored elements (tagline, copy, social) can spread on
   ultra-wide screens, so they stay near the headline's own rendered width
   instead of pinning to the raw viewport edge. */
.hero-inner{position:absolute;inset:0;max-width:1584px;margin:0 auto;}
.hero-title{position:absolute;top:6%;left:0;right:0;text-align:center;z-index:2;font-family:'Archivo';font-weight:900;letter-spacing:-0.02em;line-height:0.9;
  font-size:clamp(50px,min(18vw,13.8vh),171px);white-space:nowrap;color:var(--ink);opacity:0;animation:heroIn 1s cubic-bezier(.22,.61,.36,1) .1s forwards;}
@keyframes heroIn{to{opacity:1;transform:translateY(0);}}
@keyframes heroFadeIn{to{opacity:1;}}
.hero-tagline{position:absolute;top:41.46%;left:clamp(20px,9vw,150px);z-index:3;text-align:left;
  font-family:'Jost';font-weight:500;font-size:clamp(13px,1.17vw,15px);letter-spacing:0.02em;color:var(--ink);max-width:240px;
  opacity:0;transform:translateY(20px);animation:heroIn 1s cubic-bezier(.22,.61,.36,1) .25s forwards;}
.hero-pedestal{position:absolute;left:50%;top:36.59%;transform:translateX(-50%);z-index:4;
  opacity:0;animation:heroFadeIn 1s ease .35s forwards;}
.hero-mic{width:clamp(190px,23.4vw,300px);aspect-ratio:300/230;margin:0 auto;border-radius:50%;background:radial-gradient(circle at 42% 32%,#ffffff,#dcdce0 62%,#c0a06a);
  box-shadow:0 60px 90px rgba(0,0,0,0.18);animation:floaty 6s ease-in-out infinite;}
.hero-stand{width:clamp(130px,15.63vw,200px);aspect-ratio:200/150;margin:clamp(-30px,-2.34vw,-22px) auto 0;background:linear-gradient(180deg,#f2f2f4,#e2e2e6);box-shadow:0 40px 50px rgba(0,0,0,0.08);}
.hero-copy{position:absolute;left:clamp(20px,9vw,150px);bottom:18.29%;z-index:5;max-width:300px;
  font-family:'Jost';font-weight:300;font-size:14px;line-height:1.7;color:#333;margin:0;
  opacity:0;transform:translateY(20px);animation:heroIn 1s cubic-bezier(.22,.61,.36,1) .5s forwards;}
.hero-badge{position:absolute;right:clamp(20px,9vw,150px);bottom:19.51%;z-index:5;
  font-family:'Jost';font-size:13px;letter-spacing:0.08em;color:var(--ink);
  opacity:0;transform:translateY(20px);animation:heroIn 1s cubic-bezier(.22,.61,.36,1) .5s forwards;}
.hero-location{position:absolute;left:0;right:0;bottom:7.32%;text-align:center;z-index:5;
  font-family:'Jost';font-size:12px;letter-spacing:0.3em;text-transform:uppercase;color:#9a9a9e;
  opacity:0;animation:heroFadeIn 1s ease .65s forwards;}
@media (max-width:760px){
  .hero{height:auto;min-height:0;padding:70px 20px 40px;display:flex;flex-direction:column;align-items:center;text-align:center;gap:20px;}
  .hero-inner{position:static;display:contents;}
  .hero-title,.hero-tagline,.hero-pedestal,.hero-copy,.hero-badge,.hero-location{position:static;transform:none;max-width:none;left:auto;right:auto;top:auto;bottom:auto;}
  .hero-title{font-size:clamp(56px,18vw,96px);white-space:normal;line-height:0.92;}
  .hero-tagline{text-align:center;}
  .hero-copy{max-width:340px;text-align:center;}
}

/* ---------- intro strip ---------- */
.intro{padding:clamp(56px,9vw,130px) clamp(20px,5vw,56px);text-align:center;}
.intro p{font-family:'Archivo';font-weight:800;letter-spacing:-0.01em;line-height:1.08;font-size:clamp(26px,4.2vw,64px);max-width:20ch;margin:0 auto;color:var(--ink);text-wrap:balance;}

/* ---------- gallery ---------- */
.gallery{padding:0 clamp(20px,5vw,56px) clamp(56px,8vw,110px);}
.gallery-grid{max-width:1180px;margin:0 auto;display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,380px));justify-content:center;gap:clamp(12px,1.4vw,18px);}
.gallery-tile{aspect-ratio:3/4;background:linear-gradient(160deg,#ededf0,#dcdce0);display:flex;align-items:flex-end;padding:16px;overflow:hidden;position:relative;}
.gallery-tile span{font-family:'Jost';font-size:11px;letter-spacing:0.08em;text-transform:uppercase;color:#9a9a9e;transition:transform .5s cubic-bezier(.22,.61,.36,1);}
.gallery-tile::before{content:'';position:absolute;inset:0;background:linear-gradient(160deg,rgba(0,0,0,0),rgba(0,0,0,0.08));opacity:0;transition:opacity .5s ease;}
.gallery-tile:hover::before{opacity:1;}
.gallery-tile:hover span{transform:translateY(-4px);}

/* ---------- process ---------- */
.process{padding:clamp(56px,8vw,120px) clamp(20px,5vw,56px);background:#fff;}
.process .wrap{max-width:1000px;}
.eyebrow{font-family:'Jost';font-size:12px;letter-spacing:0.28em;text-transform:uppercase;color:#9a9a9e;margin-bottom:16px;}
.process h2{font-family:'Archivo';font-weight:900;text-transform:uppercase;line-height:0.9;letter-spacing:-0.015em;font-size:clamp(34px,6vw,88px);margin:0 0 clamp(36px,5vw,64px);color:var(--ink);}
.timeline{position:relative;padding-left:64px;}
.timeline-rail{position:absolute;left:19px;top:8px;bottom:8px;width:2px;background:rgba(0,0,0,0.12);transform-origin:top;transform:scaleY(0);transition:transform 1.1s cubic-bezier(.22,.61,.36,1);}
.timeline-rail.is-visible{transform:scaleY(1);}
.step{position:relative;padding-bottom:clamp(32px,4vw,48px);}
.step:last-child{padding-bottom:0;}
.step-num{position:absolute;left:-64px;top:0;width:40px;height:40px;border-radius:50%;background:var(--ink);color:#fff;display:flex;align-items:center;justify-content:center;font-family:'Archivo';font-weight:800;font-size:15px;transition:transform .4s cubic-bezier(.34,1.56,.64,1);}
.step.is-visible .step-num{transform:scale(1);}
.step .step-num{transform:scale(0);}
.step h3{font-family:'Archivo';font-weight:800;text-transform:uppercase;font-size:clamp(22px,3vw,30px);margin:2px 0 8px;color:var(--ink);}
.step p{font-family:'Jost';font-weight:300;line-height:1.7;font-size:clamp(15px,1.2vw,17px);color:#555;margin:0;max-width:62ch;}

/* ---------- producer ---------- */
.producer{background:#f6f6f7;color:var(--ink);padding:clamp(64px,9vw,130px) clamp(20px,5vw,56px);}
.producer-grid{max-width:1180px;margin:0 auto;display:grid;grid-template-columns:minmax(260px,484px) 1fr;gap:clamp(32px,4.5vw,72px);align-items:start;}
.producer-photo{width:100%;max-width:484px;aspect-ratio:4/5;background-size:cover;background-position:center 20%;position:relative;overflow:hidden;box-shadow:0 24px 50px rgba(0,0,0,0.2);}
@media (max-width:680px){.producer-grid{grid-template-columns:1fr;}.producer-photo{max-width:360px;margin:0 auto;}}
.producer-photo::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,0) 55%,rgba(0,0,0,0.28));}
.producer h2{font-family:'Archivo';font-weight:900;text-transform:uppercase;line-height:0.88;letter-spacing:-0.02em;font-size:clamp(46px,6vw,94px);margin:0;color:var(--ink);}
.producer-role{font-family:'Jost';font-weight:400;letter-spacing:0.24em;text-transform:uppercase;font-size:clamp(14px,1.5vw,16px);color:#63636b;margin:16px 0 28px;}
.producer-copy{font-family:'Jost';font-weight:300;line-height:1.75;font-size:clamp(15px,1.15vw,16px);color:#4a4a4a;margin:0 0 32px;max-width:52ch;}
.credit-list{border-top:1px solid rgba(0,0,0,0.16);}
.credit-item{border-bottom:1px solid rgba(0,0,0,0.13);}
.credit-q{width:100%;display:flex;align-items:center;justify-content:space-between;gap:16px;background:transparent;border:none;cursor:pointer;padding:14px 0;text-align:left;transition:padding-left .3s ease;}
.credit-q:hover{padding-left:8px;}
.credit-name{font-family:'Archivo';font-weight:700;font-size:16px;color:var(--ink);}
.credit-chevron{flex:none;font-family:'Jost';font-size:16px;color:#8a8a90;transition:transform .3s cubic-bezier(.22,.61,.36,1);}
.credit-item.open .credit-chevron{transform:rotate(180deg);}
.credit-panel{max-height:0;overflow:hidden;transition:max-height .4s cubic-bezier(.22,.61,.36,1);}
.credit-track{display:flex;justify-content:space-between;gap:16px;padding:10px 0 10px 4px;font-family:'Jost';font-size:14px;border-top:1px solid rgba(0,0,0,0.1);}
.credit-track:first-child{border-top:none;}
.credit-track:last-child{padding-bottom:18px;}
.credit-track span:first-child{color:#2b2b2b;}
.credit-track span:last-child{color:#8a8a90;}

/* ---------- no singing skills ---------- */
.big-line{padding:clamp(72px,11vw,180px) clamp(20px,5vw,56px) clamp(36px,5vw,80px);text-align:center;background:#fff;}
.big-line h2{font-family:'Archivo';font-weight:900;text-transform:uppercase;line-height:0.92;letter-spacing:-0.02em;font-size:clamp(36px,7vw,112px);margin:0;color:var(--ink);text-wrap:balance;}
.big-line p{font-family:'Jost';font-weight:300;font-size:clamp(16px,1.6vw,20px);line-height:1.6;color:#6e6e73;margin:clamp(20px,3vw,36px) auto 0;max-width:56ch;}

/* ---------- sound player ---------- */
.sound{background:#fff;padding:clamp(20px,3vw,40px) clamp(20px,5vw,56px) clamp(56px,8vw,110px);text-align:center;}
.player{position:relative;max-width:990px;height:563px;margin:0 auto;border-radius:26px;overflow:hidden;box-shadow:0 24px 60px rgba(0,0,0,0.2);}
.player-bg{position:absolute;inset:-40px;z-index:0;background-size:cover;background-position:center;filter:blur(32px) brightness(0.9);transform:scale(1.15);transition:background-image .5s ease;}
.player-overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,0.2),rgba(0,0,0,0.64));z-index:1;}
.player-arrow{position:absolute;top:165px;z-index:6;width:46px;height:46px;border-radius:50%;border:none;background:rgba(255,255,255,0.16);backdrop-filter:blur(8px);color:#fff;font-size:20px;cursor:pointer;transition:background .25s ease,transform .25s ease;}
.player-arrow:hover{background:rgba(255,255,255,0.3);transform:scale(1.08);}
.player-arrow.prev{left:26px;}
.player-arrow.next{right:26px;}
.covers{position:absolute;top:42px;left:0;right:0;height:278px;z-index:3;}
.cover{position:absolute;left:50%;top:0;width:238px;height:278px;margin-left:-119px;border-radius:14px;background-size:cover;background-position:center;
  transition:transform .5s cubic-bezier(.22,.61,.36,1),opacity .5s,filter .5s;cursor:pointer;}
.cover.is-active{animation:coverBreathe 4s ease-in-out infinite;}
@keyframes coverBreathe{0%,100%{filter:brightness(1)}50%{filter:brightness(1.06)}}
.player-meta{position:absolute;top:334px;left:0;right:0;text-align:center;z-index:4;}
.player-title{font-family:'Archivo';font-weight:800;font-size:28px;color:#fff;transition:opacity .3s ease;}
.player-sub{font-family:'Jost';font-weight:300;font-size:15px;color:rgba(255,255,255,0.8);margin-top:4px;}
.player-console{position:absolute;bottom:22px;left:50%;transform:translateX(-50%);z-index:6;width:594px;max-width:90%;
  background:rgba(28,28,32,0.5);backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,0.14);border-radius:20px;padding:14px 22px;}
.seek-row{display:flex;align-items:center;gap:11px;}
.seek-time{font-family:'Jost';font-size:11px;color:rgba(255,255,255,0.7);min-width:31px;}
.seek-time.right{text-align:left;}
.seek-time.left{text-align:right;}
input[type=range].sk{-webkit-appearance:none;appearance:none;height:5px;border-radius:3px;background:rgba(255,255,255,0.28);cursor:pointer;accent-color:#fff;flex:1;}
input[type=range].sk::-webkit-slider-thumb{-webkit-appearance:none;width:15px;height:15px;border-radius:50%;background:#fff;box-shadow:0 2px 6px rgba(0,0,0,0.35);}
input[type=range].sk::-moz-range-thumb{width:15px;height:15px;border:none;border-radius:50%;background:#fff;}
input[type=range].vol{-webkit-appearance:none;appearance:none;height:4px;border-radius:3px;background:rgba(255,255,255,0.28);cursor:pointer;accent-color:#fff;flex:1;min-width:0;}
input[type=range].vol::-webkit-slider-thumb{-webkit-appearance:none;width:12px;height:12px;border-radius:50%;background:#fff;}
input[type=range].vol::-moz-range-thumb{width:12px;height:12px;border:none;border-radius:50%;background:#fff;}
.transport{display:flex;align-items:center;justify-content:center;gap:22px;margin-top:13px;flex-wrap:wrap;row-gap:12px;}
/* overlaid on the active cover art (see .covers) rather than sitting in the
   transport row - faint glass circle, brightens on hover for affordance. */
.play-btn{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:5;
  width:60px;height:60px;border-radius:50%;border:1px solid rgba(255,255,255,0.35);cursor:pointer;
  background:rgba(255,255,255,0.16);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);
  color:#fff;font-size:18px;display:flex;align-items:center;justify-content:center;
  transition:background .25s ease,transform .25s ease;box-shadow:0 10px 24px rgba(0,0,0,0.25);}
.play-btn:hover{background:rgba(255,255,255,0.32);transform:translate(-50%,-50%) scale(1.08);}
.play-btn:active{transform:translate(-50%,-50%) scale(.94);}
.ba-toggle{display:flex;background:rgba(255,255,255,0.12);border-radius:40px;padding:4px;position:relative;}
.ba-btn{position:relative;z-index:1;border:none;cursor:pointer;padding:8px 18px;border-radius:40px;font-family:'Jost';font-weight:500;font-size:13px;letter-spacing:0.04em;background:transparent;color:rgba(255,255,255,0.75);transition:color .35s ease;}
.ba-btn.active{color:#111;}
.ba-thumb{position:absolute;top:4px;bottom:4px;border-radius:40px;background:#fff;transition:transform .35s cubic-bezier(.22,.61,.36,1),width .35s ease;z-index:0;}
.vol-wrap{display:flex;align-items:center;gap:7px;flex:none;width:108px;}
.vol-wrap span{color:#fff;font-size:14px;}
.sound-fine{font-family:'Jost';font-size:11px;letter-spacing:0.04em;color:#9a9a9e;margin:36px 0 0;}
@media (max-width:760px){
  .player-console{width:92%;padding:12px 16px;}
  .transport{gap:16px;}
  .vol-wrap{width:92px;}
}

/* ---------- pricing ---------- */
.pricing{position:relative;overflow:hidden;background:#f6f6f7;padding:clamp(56px,8vw,120px) clamp(20px,5vw,56px);text-align:center;}
.pricing-wash{position:absolute;inset:0;z-index:0;
  background:radial-gradient(50% 46% at 4% 0%,rgba(120,150,190,0.07),transparent 66%),radial-gradient(48% 46% at 98% 8%,rgba(120,150,190,0.05),transparent 66%),radial-gradient(70% 50% at 60% 112%,rgba(120,150,190,0.045),transparent 68%);}
.pricing-inner{position:relative;z-index:1;max-width:1180px;margin:0 auto;}
.pricing h2{font-family:'Archivo';font-weight:900;text-transform:uppercase;letter-spacing:-0.02em;font-size:clamp(34px,6vw,88px);margin:0;color:var(--ink);}
.pricing-sub{font-family:'Jost';font-weight:300;font-size:clamp(15px,1.3vw,17px);color:#6e6e73;margin:16px 0 30px;}
.cur-toggle{display:inline-flex;background:#fff;border:1px solid rgba(0,0,0,0.1);border-radius:40px;padding:5px;margin-bottom:44px;box-shadow:0 6px 16px rgba(0,0,0,0.05);position:relative;}
.cur-btn{position:relative;z-index:1;border:none;cursor:pointer;padding:9px 20px;border-radius:40px;font-family:'Jost';font-weight:500;font-size:13px;letter-spacing:0.03em;background:transparent;color:#6e6e73;transition:color .35s ease;}
.cur-btn.active{color:#fff;}
.cur-thumb{position:absolute;top:5px;bottom:5px;left:5px;border-radius:40px;background:var(--ink);transition:transform .35s cubic-bezier(.22,.61,.36,1),width .35s ease;z-index:0;}
.plans{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,375px));justify-content:center;column-gap:20px;row-gap:34px;text-align:left;align-items:stretch;}
.plan{background:#fff;border-radius:22px;padding:clamp(28px,3vw,34px);display:flex;flex-direction:column;position:relative;
  box-shadow:0 12px 30px rgba(60,90,140,0.07);transition:transform .4s cubic-bezier(.22,.61,.36,1),box-shadow .4s ease;}
.plan:hover{transform:translateY(-8px);box-shadow:0 24px 48px rgba(60,90,140,0.16);}
.plan.dark{background:#0c0c0d;box-shadow:0 22px 50px rgba(40,55,95,0.32);transform:translateY(-14px) scale(1.03);z-index:2;}
.plan.dark:hover{transform:translateY(-22px) scale(1.03);box-shadow:0 32px 64px rgba(40,55,95,0.4);}
@media (max-width:900px){.plan.dark{transform:none;}.plan.dark:hover{transform:translateY(-8px);}}
.plan-badge{position:absolute;top:20px;right:24px;font-family:'Jost';font-size:11px;letter-spacing:0.1em;text-transform:uppercase;color:#0c0c0d;background:#fff;border-radius:40px;padding:5px 13px;animation:pulseBadge 2.6s ease-in-out infinite;}
.plan-name{font-family:'Archivo';font-weight:800;font-size:22px;color:var(--ink);}
.plan.dark .plan-name{color:#fff;margin-top:22px;}
.plan-tag{font-family:'Jost';font-size:14px;color:#9a9a9e;margin-top:4px;}
.plan.dark .plan-tag{color:#8a8a90;}
.plan-price{font-family:'Archivo';font-weight:900;font-size:40px;color:var(--ink);margin:22px 0 4px;transition:opacity .25s ease;}
.plan.dark .plan-price{color:#fff;}
.plan-unit{font-family:'Jost';font-size:13px;color:#9a9a9e;}
.plan.dark .plan-unit{color:#8a8a90;}
.plan-cta{margin:26px 0;width:100%;text-align:center;border-radius:40px;padding:15px;font-family:'Jost';font-size:14px;letter-spacing:0.04em;transition:background .25s ease,color .25s ease,transform .25s ease;}
.plan-cta.solid{background:var(--ink);color:#fff;}
.plan-cta.solid:hover{background:#333;transform:translateY(-2px);}
.plan-cta.light{background:#fff;color:var(--ink);}
.plan-cta.light:hover{background:#e6e6ea;transform:translateY(-2px);}
.plan-cta.ghost{background:transparent;color:var(--ink);border:1px solid var(--ink);padding:14px;}
.plan-cta.ghost:hover{background:var(--ink);color:#fff;transform:translateY(-2px);}
.plan-feat-label{font-family:'Jost';font-size:12px;letter-spacing:0.14em;text-transform:uppercase;color:#9a9a9e;margin-bottom:14px;}
.plan.dark .plan-feat-label{color:#8a8a90;}
.plan-feats{display:flex;flex-direction:column;gap:12px;font-family:'Jost';}
.chk{display:flex;gap:12px;font-size:15px;line-height:1.4;}
.pricing-foot{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:20px;margin-top:40px;padding-top:30px;border-top:1px solid rgba(0,0,0,0.1);text-align:left;}
.pricing-foot-copy{max-width:52ch;font-family:'Jost';font-size:13px;line-height:1.6;color:#6e6e73;}
.pricing-partners{display:flex;align-items:center;gap:12px;}
.pricing-partners span{font-family:'Jost';font-size:12px;letter-spacing:0.14em;text-transform:uppercase;color:#9a9a9e;}
.pill-link{font-family:'Jost';font-size:13px;border:1px solid rgba(0,0,0,0.2);border-radius:40px;padding:9px 20px;color:var(--ink);transition:background .25s ease;}
.pill-link:hover{background:rgba(0,0,0,0.05);}

/* ---------- included table ---------- */
.included{padding:clamp(56px,8vw,120px) clamp(20px,5vw,56px);background:#fff;}
.included .wrap{max-width:1180px;}
.included h2{font-family:'Archivo';font-weight:900;text-transform:uppercase;line-height:0.9;letter-spacing:-0.01em;font-size:clamp(34px,6vw,88px);margin:0 0 clamp(28px,4vw,48px);color:var(--ink);}
.table-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;}
table{border-collapse:collapse;width:100%;min-width:640px;font-family:'Jost';}
th{font-size:12px;letter-spacing:0.1em;text-transform:uppercase;color:#9a9a9e;border-bottom:2px solid var(--ink);padding:16px 18px;text-align:left;}
th.plan-col{text-align:center;font-family:'Archivo';font-weight:800;text-transform:uppercase;font-size:14px;color:var(--ink);}
th.mid{background:rgba(0,0,0,0.04);}
td{padding:14px 18px;font-size:15px;color:#6e6e73;border-bottom:1px solid rgba(0,0,0,0.08);text-align:center;transition:background .3s ease;}
td.feat-name{text-align:left;color:var(--ink);}
td.mid{background:rgba(0,0,0,0.04);color:var(--ink);font-weight:500;}
td[data-val="yes"]{color:#141416;font-weight:700;font-size:17px;}
td[data-val="no"]{color:#d4d4d8;font-weight:400;}
td.mid[data-val="yes"]{color:#141416;}
td.mid[data-val="no"]{color:#c7c7cc;}
tr.reveal-row{opacity:0;transform:translateX(-16px);transition:opacity .5s ease,transform .5s ease;}
tr.reveal-row.is-visible{opacity:1;transform:translateX(0);}
tbody tr:nth-child(1){transition-delay:.02s}
tbody tr:nth-child(2){transition-delay:.06s}
tbody tr:nth-child(3){transition-delay:.10s}
tbody tr:nth-child(4){transition-delay:.14s}
tbody tr:nth-child(5){transition-delay:.18s}
tbody tr:nth-child(6){transition-delay:.22s}
tbody tr:nth-child(7){transition-delay:.26s}
tbody tr:nth-child(8){transition-delay:.30s}
tbody tr:nth-child(9){transition-delay:.34s}
tbody tr:nth-child(10){transition-delay:.38s}
tbody tr:nth-child(11){transition-delay:.42s}
tbody tr:nth-child(12){transition-delay:.46s}
tr:hover td{background:rgba(0,0,0,0.03);}
tr:hover td.mid{background:rgba(0,0,0,0.07);}
.included-note{font-family:'Jost';font-size:12px;letter-spacing:0.04em;color:#9a9a9e;margin-top:16px;}

/* ---------- faq ---------- */
.faq{padding:clamp(56px,8vw,120px) clamp(20px,5vw,56px);background:#f6f6f7;}
.faq .wrap{max-width:1000px;}
.faq h2{font-family:'Archivo';font-weight:900;text-transform:uppercase;line-height:0.9;letter-spacing:-0.01em;font-size:clamp(34px,6vw,88px);margin:0 0 clamp(28px,4vw,48px);color:var(--ink);}
.faq-list{max-width:900px;}
.faq-item{border-top:1px solid rgba(0,0,0,0.12);}
.faq-list::after{content:'';display:block;border-top:1px solid rgba(0,0,0,0.12);}
.faq-q{width:100%;display:flex;align-items:center;justify-content:space-between;gap:20px;background:transparent;border:none;cursor:pointer;padding:clamp(10px,1.26vw,14px) 0;text-align:left;}
.faq-q span.q-text{font-family:'Archivo';font-weight:700;text-transform:uppercase;letter-spacing:0.01em;font-size:clamp(14px,1.53vw,20px);color:var(--ink);transition:color .25s ease;}
.faq-item:hover .q-text{color:#555;}
.faq-icon{flex:none;font-family:'Jost';font-weight:300;font-size:28px;line-height:1;color:#9a9a9e;transition:transform .3s cubic-bezier(.22,.61,.36,1);}
.faq-panel{max-height:0;overflow:hidden;transition:max-height .4s cubic-bezier(.22,.61,.36,1);}
.faq-panel p{font-family:'Jost';font-weight:300;line-height:1.6;font-size:clamp(15px,1.2vw,17px);color:#555;margin:0;padding:0 0 clamp(16px,2vw,22px);max-width:64ch;}

/* ---------- location ---------- */
.location{position:relative;overflow:hidden;background:linear-gradient(120deg,#ffffff,#f0f0f2);padding:clamp(64px,10vw,160px) clamp(20px,5vw,56px);text-align:center;}
.location-glow{position:absolute;inset:0;background:radial-gradient(45% 45% at 50% 120%,rgba(120,150,190,0.1),transparent);z-index:0;}
.location-inner{position:relative;z-index:2;}
.location h2{font-family:'Archivo';font-weight:900;text-transform:uppercase;line-height:0.92;letter-spacing:-0.02em;font-size:clamp(27px,5.2vw,77px);margin:0;color:var(--ink);text-wrap:balance;}
.location-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(28px,4vw,56px);align-items:center;text-align:left;max-width:1000px;margin:clamp(40px,5vw,64px) auto 0;}
.location-map{position:relative;width:100%;aspect-ratio:4/3;border-radius:20px;overflow:hidden;box-shadow:0 24px 48px rgba(0,0,0,0.14);background:#e4e4e7;}
.location-map iframe{width:100%;height:100%;border:0;display:block;}
.location-detail p{font-family:'Jost';font-weight:300;line-height:1.75;font-size:clamp(15px,1.2vw,17px);color:#555;margin:0;max-width:48ch;}
.location-detail .btn-solid{margin-top:24px;}
@media (max-width:760px){.location-grid{grid-template-columns:1fr;}}

/* ---------- footer ---------- */
.site-footer{padding:clamp(32px,4vw,48px) clamp(20px,5vw,56px);display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;align-items:center;background:var(--ink);color:#f4f2ee;}
.site-footer .foot-logo{font-family:'Archivo';font-weight:900;letter-spacing:0.04em;font-size:16px;color:#fff;}
.site-footer .foot-meta{font-family:'Jost';font-size:13px;color:#8a8a90;}

@media (prefers-reduced-motion: reduce){
  .reveal,.reveal-scale,.reveal-left,.timeline-rail,.step-num{transition:none!important;opacity:1!important;transform:none!important;}
  .hero-title,.hero-tagline,.hero-copy,.hero-badge,.hero-location{animation:none!important;opacity:1!important;transform:none!important;}
  .hero-pedestal{animation:none!important;opacity:1!important;}
  .hero-mic,.plan-badge,.cover.is-active{animation:none!important;}
}

/* ---------- Codex vision: campaign hero, tonal rhythm, asymmetric gallery ---------- */
:root{--accent:#bca77d;--night:#090908;--bone:#eeeae2;--porcelain:#f7f5f0;}
.nav{position:fixed;left:0;right:0;color:#fff;background:linear-gradient(180deg,rgba(2,4,8,.82),transparent);border:0;padding-top:24px}.nav-logo,.nav-link,.nav .btn-outline{color:#fff}.nav-link::after{background:#fff}.nav .btn-outline{border-color:rgba(255,255,255,.65)}.nav .btn-outline:hover{background:#fff;color:#080a0e}.nav.scrolled{background:rgba(7,9,13,.82);border-bottom-color:rgba(255,255,255,.1);box-shadow:none}
.hero{height:100svh;min-height:700px;background-color:var(--night);background-image:linear-gradient(rgba(31,24,14,.11),rgba(31,24,14,.11)),url('assets/hero-studio.png');background-position:center;background-size:cover;background-blend-mode:color;color:#fff}.hero::before{content:'';position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,rgba(3,5,9,.72),rgba(3,5,9,.1) 58%,rgba(3,5,9,.3)),linear-gradient(180deg,transparent 50%,rgba(3,5,9,.78))}.hero-glow{z-index:2;background:radial-gradient(45% 60% at 77% 36%,rgba(188,167,125,.12),transparent 70%)}.hero-inner{z-index:3}.hero-kicker{position:absolute;top:18%;left:clamp(24px,5vw,76px);font-size:11px;letter-spacing:.24em;text-transform:uppercase;color:rgba(255,255,255,.66);opacity:0;animation:heroFadeIn 1s ease .05s forwards}.hero-title{top:26%;left:clamp(18px,4vw,60px);right:auto;text-align:left;font-size:clamp(64px,11.2vw,170px);line-height:.78;letter-spacing:-.065em;color:#fff;mix-blend-mode:screen}.hero-tagline{top:auto;left:auto;right:clamp(24px,5vw,76px);bottom:28%;max-width:none;color:#fff;font-size:clamp(18px,2vw,30px);font-family:'Archivo';font-weight:700;text-transform:uppercase}.hero-pedestal{display:none}.hero-copy{left:clamp(24px,5vw,76px);bottom:13%;max-width:34ch;color:rgba(255,255,255,.72);font-size:15px}.hero-badge{right:clamp(24px,5vw,76px);bottom:13%;color:#fff;font-size:11px;letter-spacing:.22em}.hero-location{display:none}.hero-scroll{position:absolute;left:50%;bottom:4%;z-index:6;display:flex;flex-direction:column;align-items:center;gap:10px;transform:translateX(-50%);color:rgba(255,255,255,.55);font-size:10px;letter-spacing:.2em;text-transform:uppercase}.hero-scroll i{width:1px;height:38px;background:linear-gradient(#fff,transparent)}
.intro{position:relative;background:var(--bone);padding-top:clamp(90px,13vw,190px);padding-bottom:clamp(90px,13vw,190px)}.intro-index{position:absolute;top:36px;left:clamp(20px,5vw,56px);font-size:10px;letter-spacing:.2em;color:#777}.intro p{max-width:17ch;font-size:clamp(34px,5.8vw,86px);letter-spacing:-.045em}
.gallery{background:var(--bone);padding:0 clamp(20px,5vw,56px) clamp(100px,14vw,210px)}.gallery-grid{max-width:1280px;grid-template-columns:1.35fr .65fr;grid-template-rows:minmax(176px,29vw) minmax(144px,20vw);gap:clamp(14px,2vw,28px);justify-content:stretch}.gallery-tile{aspect-ratio:auto;padding:0;background:#d8d8da}.gallery-frame{position:absolute;inset:0;background-size:cover;background-position:center;transition:transform 1s cubic-bezier(.22,.61,.36,1),filter .6s ease}.gallery-tile--hero{grid-row:1/span 2}.gallery-tile--hero .gallery-frame{background-image:linear-gradient(180deg,transparent,rgba(0,0,0,.18)),url('assets/hero-studio.png');background-position:65% center}.gallery-tile--portrait .gallery-frame{background-image:linear-gradient(180deg,transparent,rgba(0,0,0,.15)),url('assets/hyunjunpic.webp');background-position:center 25%;filter:grayscale(1) contrast(1.08)}.gallery-tile--detail .gallery-frame{background-image:linear-gradient(120deg,rgba(10,12,18,.12),rgba(10,12,18,.72)),url('assets/1cover.jfif');filter:grayscale(.75) contrast(1.15)}.gallery-tile::before{z-index:2;background:linear-gradient(180deg,transparent 62%,rgba(0,0,0,.68));opacity:1}.gallery-tile:hover .gallery-frame{transform:scale(1.035);filter:grayscale(0) contrast(1.04)}.gallery-tile span{position:absolute;z-index:3;left:22px;bottom:20px;color:#fff;font-size:10px;letter-spacing:.16em}.gallery-tile span b{margin-right:18px;color:rgba(255,255,255,.5);font-weight:400}.gallery-statement{grid-column:1/-1;display:flex;align-items:flex-end;justify-content:space-between;gap:30px;padding:clamp(46px,7vw,90px) 0 0}.gallery-statement em{font-size:13px;color:#777}.gallery-statement strong{font-family:'Archivo';font-weight:900;text-transform:uppercase;text-align:right;font-size:clamp(42px,7.5vw,110px);line-height:.82;letter-spacing:-.055em}
.process{background:var(--night);color:#fff;padding-top:clamp(90px,12vw,170px);padding-bottom:clamp(90px,12vw,170px)}.process h2,.process .step h3{color:#fff}.process .eyebrow{color:var(--accent)}.process .step p{color:rgba(255,255,255,.58)}.process .timeline-rail{background:rgba(255,255,255,.14)}.process .step-num{background:var(--accent);color:#15120c}.producer{background:var(--porcelain)}.big-line{background:#d8d0c2}.sound{background:#0b0a09}.pricing{background:var(--bone)}
@media(max-width:760px){.nav{position:absolute;background:linear-gradient(180deg,rgba(2,4,8,.85),transparent)}.nav-links{display:none}.hero{min-height:680px;height:100svh;padding:0}.hero::before{background:linear-gradient(180deg,rgba(3,5,9,.35),rgba(3,5,9,.12) 40%,rgba(3,5,9,.88))}.hero-inner{display:block;position:absolute;inset:0}.hero-kicker{top:18%;left:20px;right:20px;text-align:center}.hero-title{position:absolute;top:25%;left:18px;right:18px;text-align:center;font-size:clamp(58px,18vw,94px);line-height:.82}.hero-tagline{position:absolute;left:20px;right:20px;bottom:26%;text-align:center;font-size:18px}.hero-copy{position:absolute;left:28px;right:28px;bottom:12%;max-width:none;text-align:center;font-size:13px;line-height:1.55}.hero-badge,.hero-scroll{display:none}.gallery-grid{grid-template-columns:1fr;grid-template-rows:56vh 38.4vh 33.6vh}.gallery-tile--hero{grid-row:auto}.gallery-statement{grid-column:auto;display:block;padding-top:40px}.gallery-statement strong{display:block;text-align:left;margin-top:18px;font-size:clamp(43px,15vw,72px)}}

.hero-title{mix-blend-mode:normal;text-shadow:0 1px 30px rgba(0,0,0,.16)}.hero-badge{color:#d8c8a7}.intro-index,.gallery-statement em{color:#817a6e}.producer-role{color:#9b8357}.big-line h2,.big-line p{color:#171512}.pricing-wash{background:radial-gradient(50% 45% at 50% 0%,rgba(188,167,125,.15),transparent)}.plan.dark{background:#11100e}.location{background:linear-gradient(120deg,var(--porcelain),#e8e2d8)}
.gallery-tile--hero .gallery-frame{filter:grayscale(.28) sepia(.08)}.gallery-tile--hero:hover .gallery-frame{filter:grayscale(.08) sepia(.04)}.plan.dark{box-shadow:0 24px 54px rgba(28,23,16,.24)}.plan-badge{color:#17130d;background:#d8c8a7}.cur-thumb,.ba-thumb{background:#171613}

/* ---------- Codex vision V2: smoked pearl glass ---------- */
:root{--accent:#b7bce1;--night:#0b0e16;--bone:#eef0f5;--porcelain:#f6f7fa;--glass:rgba(255,255,255,.09);--glass-line:rgba(255,255,255,.18);}
body{background:#e9ebf1;}
.nav{margin:12px clamp(12px,2vw,26px) 0;left:0;right:0;width:auto;padding:13px clamp(18px,2.4vw,30px);border:1px solid rgba(255,255,255,.2);border-radius:18px;background:rgba(16,20,31,.38);box-shadow:0 12px 42px rgba(4,7,15,.13),inset 0 1px 0 rgba(255,255,255,.16);backdrop-filter:blur(20px) saturate(125%);-webkit-backdrop-filter:blur(20px) saturate(125%)}
.nav.scrolled{margin-top:8px;padding:11px clamp(18px,2.4vw,30px);background:rgba(16,20,31,.68);border-color:rgba(255,255,255,.14);box-shadow:0 14px 46px rgba(3,6,14,.22)}
.hero{background-color:#0b0e16;background-image:linear-gradient(115deg,rgba(94,103,153,.16),transparent 42%),linear-gradient(rgba(15,18,30,.08),rgba(15,18,30,.08)),url('assets/hero-studio.png');background-blend-mode:screen,color,normal}
.hero::before{background:linear-gradient(90deg,rgba(7,10,18,.7),rgba(12,15,25,.06) 58%,rgba(10,13,22,.27)),linear-gradient(180deg,rgba(9,12,20,.12),rgba(9,12,20,.78))}
.hero-glow{background:radial-gradient(42% 55% at 76% 34%,rgba(174,184,235,.17),transparent 70%)}
.hero-kicker,.hero-badge{color:#d8dcf5}.hero-scroll i{background:linear-gradient(#cdd3f4,transparent)}
.intro,.gallery{background:linear-gradient(135deg,#f1f2f6 0%,#e5e8f0 52%,#eef0f5 100%)}
.intro::after{content:'';position:absolute;width:38vw;height:38vw;right:-18vw;bottom:-24vw;border-radius:50%;background:rgba(176,184,224,.22);filter:blur(70px);pointer-events:none}
.intro-index,.gallery-statement em{color:#747a91}.gallery-statement strong{color:#111521}
.gallery-tile{border:1px solid rgba(255,255,255,.65);border-radius:24px;box-shadow:0 28px 70px rgba(35,42,67,.13),inset 0 1px 0 rgba(255,255,255,.4)}
.gallery-tile--hero .gallery-frame{filter:grayscale(.12) saturate(.72) hue-rotate(8deg)}.gallery-tile--hero:hover .gallery-frame{filter:grayscale(0) saturate(.82)}
.process{background:radial-gradient(80% 55% at 90% 0%,rgba(111,121,178,.16),transparent 70%),linear-gradient(160deg,#0a0d15,#111626);}
.process .eyebrow{color:#c3c9ee}.process .step-num{background:rgba(199,205,240,.9);color:#151927;box-shadow:0 0 0 7px rgba(185,194,235,.08)}
.producer{background:linear-gradient(140deg,#f5f6f9,#e9ebf1)}.producer-role{color:#7d84a8}.producer-photo{border-radius:28px;box-shadow:0 32px 75px rgba(38,45,68,.16)}
.credit-item{border-color:rgba(68,75,104,.14)}.credit-item.open{margin:0 -18px;padding:0 18px;background:rgba(255,255,255,.42);border-radius:16px;box-shadow:inset 0 1px 0 rgba(255,255,255,.7);backdrop-filter:blur(12px)}
.big-line,.sound{background:radial-gradient(70% 50% at 50% 0%,rgba(131,142,204,.16),transparent 72%),linear-gradient(180deg,#101522 0%,#0b0f19 100%)}
.big-line{padding-bottom:clamp(24px,3vw,48px)}.big-line h2{color:#f4f5fb;text-shadow:0 8px 40px rgba(112,127,195,.12)}.big-line p{color:rgba(229,232,245,.6)}
.sound{padding-top:clamp(12px,2vw,28px);padding-bottom:clamp(80px,10vw,140px)}
.player{border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.07);box-shadow:0 35px 90px rgba(0,0,0,.42),inset 0 1px 0 rgba(255,255,255,.15);backdrop-filter:blur(22px) saturate(115%);-webkit-backdrop-filter:blur(22px) saturate(115%)}
.player-overlay{background:linear-gradient(180deg,rgba(9,12,20,.08),rgba(9,12,20,.52))}.player-console{background:rgba(15,19,30,.4);border-top:1px solid rgba(255,255,255,.12);backdrop-filter:blur(24px)}.ba-toggle{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.14)}.ba-thumb{background:rgba(235,237,250,.9)}
.sound-fine{color:rgba(220,224,240,.38)}
.pricing{background:radial-gradient(60% 50% at 50% 0%,rgba(168,176,218,.28),transparent 70%),linear-gradient(135deg,#eef0f5,#e2e5ed)}.pricing-wash{background:none}
.plan{background:rgba(255,255,255,.52);border:1px solid rgba(255,255,255,.7);box-shadow:0 22px 60px rgba(48,56,84,.12),inset 0 1px 0 rgba(255,255,255,.85);backdrop-filter:blur(18px) saturate(115%)}.plan:hover{box-shadow:0 28px 70px rgba(42,50,80,.17)}.plan.dark{background:rgba(18,22,34,.88);border-color:rgba(255,255,255,.14);box-shadow:0 30px 72px rgba(23,28,48,.26),inset 0 1px 0 rgba(255,255,255,.11)}.plan-badge{background:#dce0f4;color:#1a1e2c}
.included{background:#f5f6f9}.faq{background:#eceef3}.location{background:radial-gradient(60% 60% at 50% 100%,rgba(161,171,218,.22),transparent),linear-gradient(135deg,#f4f5f8,#e7e9f0)}
@media(max-width:760px){.nav{margin:10px 12px 0;border-radius:16px}.hero{background-position:58% center}.gallery-tile{border-radius:18px}.plan{backdrop-filter:blur(12px)}}
.sound-stage{position:relative;overflow:hidden;background:radial-gradient(72% 54% at 50% 8%,rgba(131,142,204,.16),transparent 70%),linear-gradient(180deg,#101522 0%,#0b0f19 100%)}.sound-stage::before{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(105deg,transparent 18%,rgba(255,255,255,.018) 50%,transparent 82%)}.sound-stage .big-line,.sound-stage .sound{position:relative;z-index:1;background:transparent}.sound-stage .big-line{padding-bottom:18px}.sound-stage .sound{padding-top:18px}

/* V2 publishing polish: remove section seams */
.intro,.gallery{background:#eaedf4}.intro{margin-bottom:-1px}.gallery{margin-top:0}.faq{background:#eceef3;margin-bottom:-1px}.location{margin-top:0;border-top:0;background:radial-gradient(60% 60% at 50% 100%,rgba(161,171,218,.22),transparent),linear-gradient(180deg,#eceef3 0%,#eef0f5 32%,#e7e9f0 100%)}

/* Mobile scroll stability */
html,body{width:100%;max-width:100%;overflow-x:clip;overscroll-behavior-x:none}
body{touch-action:pan-y}
.table-scroll{touch-action:pan-x pan-y;overscroll-behavior-x:contain}
input[type="range"]{touch-action:none}
@supports not (overflow:clip){html,body{overflow-x:hidden}}
@media(max-width:760px){
  .nav,.nav.scrolled{position:absolute;margin:10px 12px 0;padding:13px 16px;background:rgba(16,20,31,.76);box-shadow:0 10px 28px rgba(3,6,14,.16);backdrop-filter:none;-webkit-backdrop-filter:none;transform:none}
  .hero{height:100svh;min-height:100svh}
  .hero-glow{transform:none!important}
  .plan,.credit-item.open,.player,.player-console{backdrop-filter:none;-webkit-backdrop-filter:none}
  .player-bg{filter:blur(18px) brightness(.88);transform:scale(1.08)}
  .gallery-grid,.producer-grid,.plans,.location-grid{min-width:0}
  section,header,footer{max-width:100%;overflow-x:clip}
}
/* Locked mobile viewport height: ignore browser top/bottom bar visibility changes */
@media(max-width:760px){
  .hero{height:var(--initial-viewport-height,100svh);min-height:var(--initial-viewport-height,100svh)}
  .gallery-grid{grid-template-rows:var(--gallery-tall-height,56svh) var(--gallery-medium-height,38.4svh) var(--gallery-square-height,33.6svh)}
}

/* Review summary */
.review-bridge-proof.review-bridge-proof--live{grid-template-columns:auto auto;gap:clamp(18px,3vw,38px);align-items:center}
.review-bridge-proof.review-bridge-proof--live>div{min-width:0}
.review-bridge-proof.review-bridge-proof--live b{font-size:clamp(20px,2.2vw,30px);line-height:1}
@media(max-width:760px){
  .review-bridge-proof.review-bridge-proof--live{grid-template-columns:1fr 1fr}
}

/* ---------- navigation, review CTA and producer credits ---------- */
.table-catalogue-link{display:inline-block;border-bottom:1px solid rgba(17,21,33,.32);padding-bottom:3px;font-weight:600;line-height:1.35;color:#111521;transition:border-color .2s ease}
.table-catalogue-link:hover{border-color:#111521}
#booking-platforms{scroll-margin-top:110px}
.package-common{max-width:840px;margin:34px auto 26px;padding:18px clamp(14px,3vw,34px);border-top:1px solid rgba(53,61,88,.16);border-bottom:1px solid rgba(53,61,88,.16);font-family:'Jost';font-size:clamp(13px,1.2vw,15px);line-height:1.6;color:#666d80}
.pricing-contact{display:block;width:max-content;max-width:100%;margin-top:12px;border-bottom:1px solid rgba(17,21,33,.25);font-weight:600;color:#373e56;overflow-wrap:anywhere}
.catalogue-label span{margin-left:8px;padding:4px 7px;border:1px solid #c9c9c9;border-radius:999px;font-size:8px;letter-spacing:.1em;color:#606060}

.review-bridge .review-bridge-cta{justify-content:center;min-width:200px;padding:14px 20px;border:1px solid rgba(255,255,255,.82);border-radius:999px;background:#f5f6fc;color:#0b0f19;font-size:11px;transition:background .2s ease,color .2s ease,transform .2s ease}
.review-bridge .review-bridge-cta:hover{gap:14px;border-color:#fff;background:transparent;color:#fff;transform:translateY(-2px)}

.credit-reveal{margin-top:24px;border-top:1px solid rgba(54,61,84,.16);border-bottom:1px solid rgba(54,61,84,.16)}
.credit-trigger{width:100%;padding:18px 0;display:flex;align-items:center;justify-content:space-between;gap:24px;border:0;background:transparent;text-align:left;cursor:pointer;color:#282d40}
.credit-trigger>span{font-family:'Archivo';font-size:12px;font-weight:800;letter-spacing:.16em;text-transform:uppercase}
.credit-trigger>strong{display:flex;align-items:center;gap:10px;font-family:'Jost';font-size:9px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:#747b91}
.credit-trigger i{font-family:'Jost';font-size:19px;font-style:normal;font-weight:300;line-height:1;transition:transform .3s ease}
.credit-panel{max-height:0;overflow:hidden;opacity:0;transition:max-height .55s cubic-bezier(.22,.61,.36,1),opacity .3s ease}
.credit-reveal.is-open .credit-panel{max-height:1500px;opacity:1}
.credit-reveal.is-open .credit-trigger i{transform:rotate(45deg)}
.credit-panel>p{margin:0;padding:2px 0 15px;font-family:'Jost';font-size:9px;line-height:1.45;letter-spacing:.08em;text-transform:uppercase;color:#9599a8}
.career-group h3{margin:0 0 8px;font-family:'Archivo';font-size:10px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:#555c72}
.career-group+.career-group{margin-top:18px}
.credit-list{margin:0;padding:0 0 18px;display:grid;grid-template-columns:1fr 1fr;column-gap:28px;list-style:none;counter-reset:credit}
.credit-list li{counter-increment:credit;display:grid;grid-template-columns:24px minmax(0,.8fr) minmax(0,1fr) auto;gap:10px;align-items:baseline;padding:10px 0;border-top:1px solid rgba(54,61,84,.1)}
.credit-list li::before{content:counter(credit,decimal-leading-zero);font-family:'Jost';font-size:8px;color:#a2a5b0}
.credit-list li span,.credit-list li strong,.award-list li span,.award-list li strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.credit-list li span,.award-list li span{font-family:'Jost';font-size:11px;color:#656b7c}
.credit-list li strong,.award-list li strong{font-family:'Archivo';font-size:11px;font-weight:700;color:#282d40}
.credit-panel time{font-family:'Jost';font-size:9px;color:#9a9daa}
.award-list{margin:0;padding:0 0 22px;list-style:none}
.award-list li{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;gap:12px;align-items:baseline;padding:11px 0;border-top:1px solid rgba(54,61,84,.1)}

@media(max-width:760px){
  .nav{position:absolute;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;padding:13px 16px 10px;row-gap:11px}
  .nav-logo{color:#fff;font-size:13px}
  .nav .btn-outline{padding:7px 15px;border-color:rgba(255,255,255,.72);color:#fff;font-size:11px}
  .nav-links{grid-column:1/-1;order:initial;width:100%;display:flex;justify-content:flex-start;flex-wrap:nowrap;gap:20px;overflow-x:auto;padding:1px 0 5px;scrollbar-width:none;-webkit-overflow-scrolling:touch}
  .nav-links::-webkit-scrollbar{display:none}
  .nav-link{flex:0 0 auto;color:rgba(255,255,255,.78);font-size:10px;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap}
  .nav-link:hover{color:#fff}
  .review-bridge .review-bridge-cta{width:100%;justify-self:stretch}
  .credit-list{grid-template-columns:1fr}
  .award-list li{grid-template-columns:minmax(0,1fr) auto}
  .award-list li span{grid-column:1/-1;grid-row:2}
  .package-common{margin-top:28px}
  .pricing-contact{width:auto}
}

/* Session quick facts */
.quick-facts{position:relative;background:#0b0e16;color:#fff;border-top:1px solid rgba(255,255,255,.1);border-bottom:1px solid rgba(255,255,255,.1);padding:0 clamp(20px,5vw,56px)}
.quick-facts-inner{max-width:1280px;margin:0 auto;display:grid;grid-template-columns:repeat(4,1fr)}
.quick-fact{padding:24px clamp(14px,2.4vw,34px);border-right:1px solid rgba(255,255,255,.1)}
.quick-fact:first-child{border-left:1px solid rgba(255,255,255,.1)}
.quick-fact span{display:block;margin-bottom:7px;font-family:'Archivo';font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#d8dcf5}
.quick-fact strong{display:block;font-family:'Jost';font-size:13px;font-weight:400;color:rgba(255,255,255,.58)}
@media(max-width:760px){.quick-facts-inner{grid-template-columns:1fr 1fr}.quick-fact{padding:18px 14px;border-bottom:1px solid rgba(255,255,255,.1)}.quick-fact:nth-child(odd){border-left:1px solid rgba(255,255,255,.1)}.quick-fact span{font-size:10px}.quick-fact strong{font-size:12px;line-height:1.4}}

/* Session format chooser */
.pricing-sub{margin-bottom:0}
.session-paths{max-width:1080px;margin:44px auto 0;display:grid;grid-template-columns:1fr 54px 1fr;align-items:stretch;text-align:left}
.session-path{padding:30px 32px;border:1px solid rgba(255,255,255,.78);border-radius:24px;background:rgba(255,255,255,.46);box-shadow:0 18px 50px rgba(48,56,84,.09),inset 0 1px 0 rgba(255,255,255,.85);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}
.session-path.private-path{background:rgba(20,24,37,.88);border-color:rgba(255,255,255,.14);color:#fff;box-shadow:0 22px 58px rgba(23,28,48,.2),inset 0 1px 0 rgba(255,255,255,.1)}
.session-path-top{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:22px;font-family:'Jost';font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:#858b9f}
.session-path-top strong{font-weight:500;color:#646d92}
.private-path .session-path-top{color:rgba(255,255,255,.45)}.private-path .session-path-top strong{color:#c7cdef}
.session-path h3{margin:0 0 13px;font-family:'Archivo';font-size:clamp(24px,2.5vw,34px);font-weight:900;letter-spacing:-.035em;text-transform:uppercase;color:#161a27}
.private-path h3{color:#fff}
.session-path p{margin:0;font-family:'Jost';font-size:14px;line-height:1.65;color:#62687a}
.private-path p{color:rgba(255,255,255,.62)}
.session-path-meta{display:flex;flex-wrap:wrap;gap:7px;margin-top:22px}.session-path-meta span{padding:6px 10px;border:1px solid rgba(50,57,82,.12);border-radius:999px;font-family:'Jost';font-size:10px;letter-spacing:.05em;color:#646b80;background:rgba(255,255,255,.34)}
.private-path .session-path-meta span{border-color:rgba(255,255,255,.13);background:rgba(255,255,255,.06);color:rgba(255,255,255,.62)}
.session-path-or{align-self:center;justify-self:center;display:flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:50%;font-family:'Archivo';font-size:9px;font-weight:800;color:#777e95;background:rgba(255,255,255,.68);border:1px solid rgba(255,255,255,.9);box-shadow:0 8px 22px rgba(50,58,88,.08);z-index:2}
.session-path-note{margin:18px auto 28px;font-family:'Jost';font-size:13px;color:#6f7588}
.plan-format{margin-bottom:10px;font-family:'Jost';font-size:10px;font-weight:600;letter-spacing:.13em;text-transform:uppercase;color:#6e7590}.plan.dark .plan-format{color:#bfc5e8}.plan-format.private{color:#59617d}
@media(max-width:760px){.session-paths{grid-template-columns:1fr;margin-top:32px}.session-path{padding:24px 22px;border-radius:20px}.session-path-or{margin:-5px 0;z-index:3}.session-path-note{max-width:34ch;line-height:1.5}.session-path h3{font-size:25px}.session-path p{font-size:13px}.session-paths,.session-path{backdrop-filter:none;-webkit-backdrop-filter:none}}

/* Shared-session confirmation popover */
.booking-info{position:absolute;top:20px;right:22px;z-index:8}
.booking-info-btn{display:grid;place-items:center;width:27px;height:27px;padding:0;border:1px solid rgba(18,18,20,.18);border-radius:50%;background:rgba(255,255,255,.72);color:#252528;font-family:'Jost';font-size:13px;font-weight:700;font-style:italic;cursor:pointer;box-shadow:0 5px 14px rgba(30,35,55,.08);backdrop-filter:blur(10px);transition:transform .2s ease,background .2s ease,border-color .2s ease}
.booking-info-btn:hover,.booking-info-btn:focus-visible,.booking-info.is-open .booking-info-btn{transform:translateY(-1px);background:#171719;color:#fff;border-color:#171719;outline:none}
.booking-note{position:absolute;top:37px;right:0;width:min(310px,calc(100vw - 54px));padding:18px;border:1px solid rgba(255,255,255,.8);border-radius:16px;background:#fff;color:#55545a;box-shadow:0 18px 50px rgba(28,30,42,.18);font-family:'Jost';font-size:12px;line-height:1.5;opacity:0;visibility:hidden;transform:translateY(-7px) scale(.98);transform-origin:top right;pointer-events:none;transition:opacity .18s ease,transform .18s ease,visibility .18s ease}
.booking-note strong{display:block;margin-bottom:9px;color:#171719;font-family:'Archivo';font-size:14px}
.booking-note p{margin:0 0 8px}
.booking-note span{display:block;margin-top:11px;padding-top:10px;border-top:1px solid rgba(20,20,24,.1);color:#171719;font-weight:600}
.booking-info:hover .booking-note,.booking-info:focus-within .booking-note,.booking-info.is-open .booking-note{opacity:1;visibility:visible;transform:none;pointer-events:auto}
@media(max-width:760px){.booking-info{top:18px;right:18px}.booking-note{position:fixed;top:auto;right:18px;left:18px;bottom:22px;width:auto;border-radius:20px;padding:20px;z-index:30;transform:translateY(12px) scale(.98)}.booking-info:hover:not(.is-open) .booking-note{opacity:0;visibility:hidden;pointer-events:none}.booking-info.is-open .booking-note{opacity:1;visibility:visible;transform:none;pointer-events:auto}}
/* Worked-with logo wall */
.worked-with{margin-top:4px;padding-top:22px;border-top:1px solid rgba(54,61,84,.16)}
.worked-with-title{margin-bottom:18px;font-family:'Archivo';font-size:12px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:#282d40}
.logo-wall{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));column-gap:clamp(14px,2vw,28px);row-gap:18px;align-items:center}
.logo-mark,.logo-more{min-width:0;min-height:68px;display:grid;place-items:center}
.logo-mark{opacity:.62;transition:opacity .28s ease,transform .28s ease}
.logo-mark:hover{opacity:1;transform:translateY(-2px)}
.logo-mark img{display:block;width:auto;height:auto;max-width:100%;max-height:52px;object-fit:contain}
.logo-more{align-content:center;border-left:1px solid rgba(54,61,84,.13)}
.logo-more span{font-family:'Archivo';font-size:11px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:#747b91}
@media(max-width:900px) and (min-width:681px){.logo-wall{grid-template-columns:repeat(3,minmax(0,1fr))}.logo-more{border-left:0}}
@media(max-width:680px){.worked-with{margin-top:6px;padding-top:24px}.logo-wall{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:28px;row-gap:16px}.logo-mark,.logo-more{min-height:72px}.logo-mark img{max-height:50px}.logo-more{border-left:1px solid rgba(54,61,84,.13)}}
/* Single gallery statement alignment */
.gallery-statement strong{margin-left:auto}
@media(max-width:760px){.gallery-statement strong{margin-left:0}}

/* Final real-studio imagery */
.gallery-tile--hero .gallery-frame{background-image:linear-gradient(180deg,transparent,rgba(0,0,0,.22)),url('assets/real-sessions/group-session.webp');background-size:auto 114%;background-position:center 65%;filter:grayscale(.08) saturate(.82)}
.gallery-tile--portrait .gallery-frame{background-image:linear-gradient(180deg,transparent,rgba(0,0,0,.16)),url('assets/session-gallery/guest-recording.webp');background-position:center 42%;filter:grayscale(.05) saturate(.88)}
.gallery-tile--detail .gallery-frame{background-image:linear-gradient(120deg,rgba(10,12,18,.02),rgba(10,12,18,.38)),url('assets/session-gallery/mixing-desk.webp');background-position:center 48%;filter:grayscale(.14) saturate(.8) contrast(1.04)}
.gallery-tile--hero:hover .gallery-frame,.gallery-tile--portrait:hover .gallery-frame,.gallery-tile--detail:hover .gallery-frame{filter:grayscale(0) saturate(.94) contrast(1.02)}
.producer-photo{background-size:115%;background-position:center 46%}
@media(max-width:760px){.gallery-tile--hero .gallery-frame{background-size:auto 112%;background-position:center 64%}.gallery-tile--portrait .gallery-frame{background-position:center 38%}.gallery-tile--detail .gallery-frame{background-position:center 46%}.producer-photo{background-size:118%;background-position:center 44%}}
/* ---------- V2-C: simplified packages and categorized FAQ ---------- */
.step-tier{display:inline-flex;vertical-align:middle;margin-left:10px;padding:5px 9px;border:1px solid rgba(255,255,255,.2);border-radius:999px;font-family:'Jost';font-size:9px;font-weight:600;line-height:1;letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.58)}
.package-glance{max-width:1080px;margin:42px auto 16px;display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid rgba(53,61,88,.16);border-bottom:1px solid rgba(53,61,88,.16);text-align:left}
.package-glance article{min-width:0;padding:24px clamp(18px,2.5vw,32px)}
.package-glance article+article{border-left:1px solid rgba(53,61,88,.16)}
.package-glance span{display:block;margin-bottom:9px;font-family:'Jost';font-size:10px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:#747b91}
.package-glance strong{display:block;font-family:'Archivo';font-size:clamp(16px,1.55vw,21px);font-weight:800;line-height:1.25;letter-spacing:-.025em;color:#171b29}
.package-glance-note{margin:0 auto 28px;font-family:'Jost';font-size:12px;line-height:1.55;color:#6f7588}
.shared-plan .plan-format{margin-top:38px}
.inline-popular{display:inline-flex;vertical-align:middle;margin-left:7px;padding:5px 8px;border-radius:999px;background:#e1e4f5;color:#545d83;font-family:'Jost';font-size:8px;font-weight:700;line-height:1;letter-spacing:.11em;text-transform:uppercase}
.vip-group-note{margin:auto 0 0;padding-top:20px;border-top:1px solid rgba(255,255,255,.12);font-family:'Jost';font-size:12px;line-height:1.55;color:rgba(224,227,241,.56)}
.booking-info{top:18px;right:18px}
.booking-info-btn{display:flex;align-items:center;gap:7px;width:auto;height:28px;padding:0 10px;border-radius:999px;font-size:9px;font-style:normal;letter-spacing:.08em;text-transform:uppercase}
.booking-info-btn b{display:grid;place-items:center;width:15px;height:15px;border:1px solid currentColor;border-radius:50%;font-size:9px;font-style:italic}
.booking-note{top:36px}
.faq-tabs{display:flex;gap:8px;margin:-12px 0 34px;padding:5px;width:max-content;max-width:100%;border:1px solid rgba(59,65,89,.12);border-radius:999px;background:rgba(255,255,255,.58)}
.faq-tab{border:0;border-radius:999px;padding:10px 18px;background:transparent;color:#74798b;font-family:'Jost';font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;transition:background .25s ease,color .25s ease,box-shadow .25s ease}
.faq-tab.is-active{background:#171b29;color:#fff;box-shadow:0 8px 20px rgba(28,34,55,.16)}
.faq-tab:focus-visible{outline:2px solid #737da9;outline-offset:2px}
.faq-group{max-width:900px}
.faq-group[hidden]{display:none}
@media(max-width:760px){
  .step-tier{display:table;margin:9px 0 0}
  .package-glance{grid-template-columns:1fr;margin-top:32px}
  .package-glance article{padding:20px 4px}
  .package-glance article+article{border-left:0;border-top:1px solid rgba(53,61,88,.14)}
  .package-glance-note{max-width:38ch;margin-bottom:26px}
  .shared-plan .plan-format{margin-top:38px}
  .booking-info{top:17px;right:17px}
  .booking-info-btn{height:27px;padding:0 9px;font-size:8px}
  .faq-tabs{width:100%;overflow-x:auto;border-radius:16px;padding:5px;-webkit-overflow-scrolling:touch;scrollbar-width:none}
  .faq-tabs::-webkit-scrollbar{display:none}
  .faq-tab{flex:0 0 auto;padding:10px 14px;font-size:10px}
}
/* ---------- V2-C v5: package depth, delivery split, review bridge ---------- */
.hero-badge{max-width:360px;text-align:right;line-height:1.45}
.step p strong{color:#fff;font-weight:700}
.plan-policy-note{margin:auto 0 0;padding-top:20px;border-top:1px solid rgba(24,28,43,.1);font-family:'Jost';font-size:12px;line-height:1.58;color:#697087}
.plan.dark .plan-policy-note{border-color:rgba(255,255,255,.12);color:rgba(224,227,241,.58)}
.vip-delivery{display:grid;gap:7px;margin-top:22px;padding:15px 16px;border:1px solid rgba(255,255,255,.12);border-radius:14px;background:rgba(255,255,255,.055);font-family:'Jost';font-size:11px;line-height:1.45}
.vip-delivery strong{color:#f3f4fa;font-weight:600;letter-spacing:.03em}.vip-delivery span{color:rgba(224,227,241,.57)}
.review-bridge{padding:0 clamp(20px,5vw,56px);background:#0b0f19;color:#fff;border-top:1px solid rgba(255,255,255,.1);border-bottom:1px solid rgba(255,255,255,.1)}
.review-bridge-inner{max-width:1180px;min-height:142px;margin:0 auto;display:grid;grid-template-columns:1.05fr 1fr auto;align-items:center;gap:clamp(24px,5vw,72px)}
.review-bridge-inner>div:first-child span{display:block;margin-bottom:8px;font-family:'Jost';font-size:9px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:#aeb6dd}
.review-bridge-inner>div:first-child strong{display:block;font-family:'Archivo';font-size:clamp(20px,2.5vw,34px);font-weight:900;letter-spacing:-.035em;text-transform:uppercase}
.review-bridge-proof{display:grid;grid-template-columns:auto 1fr auto 1fr;align-items:center;gap:8px 12px}
.review-bridge-proof b{font-family:'Archivo';font-size:24px;font-weight:900;color:#f3f4fa}.review-bridge-proof span{max-width:9ch;font-family:'Jost';font-size:9px;line-height:1.35;letter-spacing:.1em;text-transform:uppercase;color:rgba(224,228,245,.48)}
.review-bridge a{display:inline-flex;align-items:center;gap:14px;padding:12px 0;border-bottom:1px solid rgba(255,255,255,.35);font-family:'Jost';font-size:11px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:#fff;white-space:nowrap;transition:border-color .2s ease,gap .2s ease}.review-bridge a:hover{gap:19px;border-color:#fff}.review-bridge a i{font-style:normal;font-size:17px}
@media(max-width:760px){.hero-badge{max-width:none;text-align:center}.review-bridge-inner{min-height:0;padding:32px 0;grid-template-columns:1fr;gap:24px}.review-bridge-proof{grid-template-columns:auto 1fr auto 1fr}.review-bridge a{justify-self:start}.plan-policy-note{margin-top:22px}}
/* ---------- V2-C: aligned package hierarchy ---------- */
.plan .plan-format{min-height:14px;margin-top:38px;margin-bottom:10px}
.plan .plan-name{min-height:29px;margin-top:0;display:flex;align-items:center}
.plan .plan-tag{min-height:20px}
.plan.featured{transform:none;z-index:2}
.plan.featured:hover{transform:translateY(-8px)}
.plan.featured .plan-name{margin-top:0;color:#fff}
.plan.featured .plan-format.private{color:#bfc5e8}
.plan.featured .plan-feats .chk>span:first-child{color:#fff}
.plan.featured .plan-feats .chk>span:last-child{color:#c4c4c8}
.plan.featured .plan-badge{background:#dce0f4;color:#1a1e2c}
.plan:not(.featured) .plan-badge{background:rgba(225,228,245,.82);color:#545d83}
@media(max-width:900px){.plan.featured,.plan.featured:hover{transform:none}}

/* ---------- V2-C private packages, catalogue and add-ons ---------- */
.proof-stat--text{flex-direction:column;gap:5px;text-align:center}
.proof-stat--text strong{max-width:18ch;font-size:clamp(17px,2vw,27px);line-height:1.04;text-transform:uppercase;white-space:normal}
.proof-stat--text span{max-width:none}
.package-glance{margin-bottom:30px}

.catalogue{padding:clamp(70px,10vw,140px) clamp(20px,5vw,56px);background:#fafafa;color:#050505}
.catalogue .wrap{max-width:1180px}
.catalogue h2{margin:0;font-family:'Archivo';font-size:clamp(44px,7.5vw,104px);font-weight:900;line-height:.84;letter-spacing:-.055em;text-transform:uppercase}
.catalogue-intro{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(24px,4vw,56px);margin:clamp(40px,6vw,76px) 0 clamp(52px,7vw,88px);padding-top:28px;border-top:1px solid #c9c9c9}
.catalogue-intro p{margin:0;font-family:'Jost';font-size:clamp(14px,1.25vw,17px);line-height:1.68;color:#5f5f5f}
.catalogue-group+.catalogue-group{margin-top:clamp(42px,6vw,72px)}
.catalogue-label{margin-bottom:16px;font-family:'Jost';font-size:10px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:#797979}
.track-grid{display:grid;border-top:1px solid #050505;border-left:1px solid #c9c9c9}
.track-grid--kpop{grid-template-columns:repeat(4,minmax(0,1fr))}
.track-grid--originals{grid-template-columns:repeat(2,minmax(0,1fr))}
.track-card{min-height:210px;padding:24px;display:flex;flex-direction:column;border-right:1px solid #c9c9c9;border-bottom:1px solid #c9c9c9;background:#fafafa}
.track-card>span,.track-card>div>span{font-family:'Jost';font-size:10px;letter-spacing:.14em;color:#797979}
.track-card strong{margin:auto 0 8px;font-family:'Archivo';font-size:clamp(18px,1.8vw,25px);font-weight:800;line-height:1.05;text-transform:uppercase}
.track-card small{font-family:'Jost';font-size:12px;color:#797979}
.track-card--original{min-height:250px;background:#050505;color:#fafafa;border-color:#3f3f3f}
.track-card--original>div{display:flex;align-items:center;justify-content:space-between;gap:16px}
.track-card--original em{padding:5px 8px;border:1px solid #565656;border-radius:999px;font-family:'Jost';font-size:8px;font-style:normal;letter-spacing:.1em;text-transform:uppercase;color:#c9c9c9}
.track-card--original small{color:#9c9c9c}
.track-card--original button{margin-top:24px;padding:11px 0;border:0;border-top:1px solid #3a3a3a;background:transparent;color:#8d8d8d;text-align:left;font-family:'Jost';font-size:10px;letter-spacing:.1em;text-transform:uppercase;cursor:not-allowed}
.track-card--original button b{margin-right:7px;color:#c9c9c9}
.catalogue-season{margin:24px 0 0;font-family:'Jost';font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:#797979}

.addons{padding:clamp(70px,9vw,125px) clamp(20px,5vw,56px);background:#e9ebf1}
.addons .wrap{max-width:1180px}
.addons-head{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(260px,.75fr);gap:40px;align-items:end;margin-bottom:clamp(40px,5vw,62px)}
.addons h2{margin:0;font-family:'Archivo';font-size:clamp(42px,7vw,90px);font-weight:900;line-height:.86;letter-spacing:-.05em;text-transform:uppercase;color:#111521}
.addons-head p{max-width:34ch;margin:0 0 6px;font-family:'Jost';font-size:15px;line-height:1.6;color:#676d80}
.addon-list{border-top:2px solid #111521}
.addon-list article{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:28px;align-items:center;padding:22px 0;border-bottom:1px solid rgba(17,21,33,.16)}
.addon-list span{font-family:'Archivo';font-size:clamp(16px,1.8vw,23px);font-weight:700;text-transform:uppercase;color:#111521}
.addon-list strong{font-family:'Archivo';font-size:clamp(18px,2vw,26px);font-weight:900;white-space:nowrap;color:#111521}
.addon-list strong small{font-family:'Jost';font-size:11px;font-weight:500;color:#74798b}

.review-bridge-proof{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.review-bridge-proof>div{display:flex;flex-direction:column;gap:5px}
.review-bridge-proof b{font-size:17px;line-height:1.05;text-transform:uppercase}
.review-bridge-proof span{max-width:none}

@media(max-width:760px){
  .catalogue-intro{grid-template-columns:1fr;gap:18px}
  .track-grid--kpop,.track-grid--originals{grid-template-columns:1fr 1fr}
  .track-card{min-height:180px;padding:20px}
  .track-card--original{min-height:240px}
  .addons-head{grid-template-columns:1fr;gap:24px}
  .addon-list article{grid-template-columns:1fr;gap:10px}
  .addon-list strong{white-space:normal}
  .review-bridge-proof{gap:18px}
}
@media(max-width:480px){
  .track-grid--kpop,.track-grid--originals{grid-template-columns:1fr}
  .track-card{min-height:160px}
  .track-card--original{min-height:220px}
  .proof-stat--text strong{font-size:15px}
}

/* ---------- Lower-page tonal rhythm and alignment ---------- */
.nowrap{white-space:nowrap}
.pricing-foot-copy .pricing-contact{margin-top:0}

.addons{
  position:relative;
  border-top:1px solid rgba(17,21,33,.08);
  background:linear-gradient(145deg,#e8ebf2 0%,#dfe3ec 100%);
}
.addons-head{grid-template-columns:minmax(0,1.45fr) minmax(240px,.55fr);align-items:end}
.addons h2{max-width:11ch;text-wrap:balance}
.addons-head p{text-wrap:pretty}

.faq{
  margin-bottom:0;
  border-top:1px solid rgba(17,21,33,.08);
  background:linear-gradient(180deg,#f8f9fb 0%,#f2f4f8 100%);
}
.faq .wrap{max-width:1180px}
.faq h2{margin-bottom:clamp(24px,3vw,36px)}
.faq-tabs{margin:0 0 36px}
.faq-group,.faq-list{max-width:1000px}

.location{
  margin-top:0;
  border-top:1px solid rgba(255,255,255,.08);
  background:radial-gradient(65% 80% at 85% 100%,rgba(125,136,190,.2),transparent 65%),linear-gradient(145deg,#111521 0%,#090c14 100%);
  color:#fff;
  text-align:left;
}
.location-glow{background:radial-gradient(50% 60% at 15% 0%,rgba(192,199,232,.1),transparent 72%)}
.location-inner{max-width:1180px;margin:0 auto}
.location .eyebrow{color:#b9c0e2}
.location h2{max-width:none;color:#fff;text-wrap:balance}
.location h2 span{display:block;white-space:nowrap}
.location-grid{grid-template-columns:minmax(0,1.15fr) minmax(280px,.85fr);max-width:none;margin-left:0;margin-right:0}
.location-map{border:1px solid rgba(255,255,255,.14);box-shadow:0 28px 70px rgba(0,0,0,.32)}
.location-detail p{color:rgba(232,235,246,.7)}
.location-detail .btn-solid{background:#f5f6fb;color:#111521}
.location-detail .btn-solid:hover{background:#fff}

@media(max-width:760px){
  .addons-head{grid-template-columns:1fr;gap:20px}
  .addons h2{max-width:9ch}
  .addons-head p{max-width:29ch}
  .faq-tabs{margin-bottom:30px}
  .location-grid{grid-template-columns:1fr;gap:30px}
  .location h2{max-width:none}
  .location-detail p{max-width:none}
}

/* ---------- catalogue route and compare entry ---------- */
.catalogue-link{max-width:760px;margin:-16px 0 clamp(34px,5vw,54px);padding:20px 0;display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:'label arrow' 'title arrow';column-gap:28px;align-items:center;border-top:1px solid rgba(12,12,13,.18);border-bottom:1px solid rgba(12,12,13,.18);transition:border-color .25s ease}
.catalogue-link:hover{border-color:#111521}
.catalogue-link span{grid-area:label;margin-bottom:5px;font-family:'Jost';font-size:9px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:#797f91}
.catalogue-link strong{grid-area:title;font-family:'Archivo';font-size:clamp(17px,2vw,25px);font-weight:800;line-height:1.1;text-transform:uppercase;color:#111521}
.catalogue-link i{grid-area:arrow;font-family:'Jost';font-size:28px;font-style:normal;transition:transform .25s ease}
.catalogue-link:hover i{transform:translateX(7px)}

.catalogue-page{background:#fafafa}
.catalogue-page .nav{background:rgba(250,250,250,.94)}
.catalogue-page-hero{padding:clamp(76px,10vw,140px) clamp(20px,5vw,56px);background:#08090c;color:#fafafa}
.catalogue-page-hero-inner{max-width:1180px;margin:0 auto;display:grid;grid-template-columns:minmax(0,1.45fr) minmax(250px,.55fr);column-gap:clamp(40px,8vw,120px);align-items:end}
.catalogue-page-hero-inner>p{grid-column:1/-1;margin-bottom:clamp(38px,5vw,66px);font-family:'Jost';font-size:10px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:#9ca1b3}
.catalogue-page-hero h1{margin:0;font-family:'Archivo';font-size:clamp(56px,9.5vw,136px);font-weight:900;line-height:.77;letter-spacing:-.07em;text-transform:uppercase;color:#fafafa}
.catalogue-page-hero-inner>div{padding-bottom:8px}
.catalogue-page-hero-inner>div p{margin:0 0 28px;font-family:'Jost';font-size:clamp(14px,1.3vw,17px);line-height:1.65;color:#aeb2bf}
.catalogue-page-hero-inner>div a,.catalogue-return a{display:inline-flex;align-items:center;gap:16px;padding-bottom:8px;border-bottom:1px solid currentColor;font-family:'Jost';font-size:10px;font-weight:600;letter-spacing:.13em;text-transform:uppercase;color:#fafafa}
.catalogue-page-hero-inner>div a span,.catalogue-return a span{font-size:17px;transition:transform .25s ease}
.catalogue-page-hero-inner>div a:hover span,.catalogue-return a:hover span{transform:translateX(6px)}
.catalogue--standalone{padding-top:clamp(80px,11vw,150px)}
.catalogue-return{padding:clamp(80px,11vw,150px) clamp(20px,5vw,56px);text-align:center;background:#e9ebf1;color:#111521}
.catalogue-return p{margin:0 0 13px;font-family:'Jost';font-size:10px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:#74798b}
.catalogue-return h2{margin:0 0 34px;font-family:'Archivo';font-size:clamp(44px,8vw,108px);font-weight:900;line-height:.86;letter-spacing:-.06em;text-transform:uppercase}
.catalogue-return a{color:#111521}

@media(max-width:760px){
  .catalogue-link{margin-top:-8px}
  .catalogue-page .nav{position:sticky;display:grid;background:rgba(250,250,250,.96)}
  .catalogue-page .nav-logo,.catalogue-page .nav-link{color:#111521}
  .catalogue-page .nav .btn-outline{border-color:#111521;color:#111521}
  .catalogue-page-hero-inner{grid-template-columns:1fr;gap:40px}
  .catalogue-page-hero h1{font-size:clamp(54px,18vw,92px)}
  .catalogue-page-hero-inner>div{max-width:36ch}
}

/* Mobile primary navigation */
.nav-menu-toggle{display:none}
@media(max-width:760px){
  .nav{
    position:absolute;
    display:grid;
    grid-template-columns:minmax(0,1fr) auto auto;
    align-items:center;
    gap:7px;
    width:auto;
    left:12px;
    right:12px;
    top:10px;
    margin:0;
    padding:10px 10px 10px 14px;
    border:1px solid rgba(255,255,255,.14);
    border-radius:16px;
    background:rgba(8,9,13,.7);
    box-shadow:0 12px 38px rgba(0,0,0,.18);
    -webkit-backdrop-filter:blur(18px);
    backdrop-filter:blur(18px)
  }
  .nav-logo{min-width:0;font-size:11px;white-space:nowrap}
  .nav-menu-toggle{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:34px;
    border:0;
    padding:7px 8px;
    background:transparent;
    color:#fff;
    font-family:'Jost';
    font-size:9px;
    font-weight:600;
    letter-spacing:.13em;
    text-transform:uppercase;
    cursor:pointer
  }
  .nav .btn-outline{min-height:34px;padding:7px 12px}
  .nav-links{
    grid-column:1/-1;
    display:grid;
    grid-template-columns:1fr 1fr;
    width:100%;
    max-height:0;
    gap:0;
    overflow:hidden;
    opacity:0;
    padding:0;
    transition:max-height .3s ease,opacity .2s ease,padding .3s ease
  }
  .nav.is-menu-open .nav-links{
    max-height:210px;
    opacity:1;
    padding:10px 0 2px;
    border-top:1px solid rgba(255,255,255,.14)
  }
  .nav-link{padding:10px 7px;color:rgba(255,255,255,.78)}
}

/* Definitive mobile header */
@media(max-width:760px){
  .nav{
    position:absolute;
    top:0;
    left:0;
    right:0;
    width:100%;
    margin:0;
    padding:calc(12px + env(safe-area-inset-top)) 16px 14px;
    display:grid;
    grid-template-columns:minmax(0,1fr) auto 38px;
    grid-template-rows:auto auto;
    column-gap:9px;
    row-gap:0;
    align-items:center;
    border:0;
    border-radius:0;
    background:linear-gradient(180deg,rgba(5,7,11,.78),rgba(5,7,11,.28) 72%,transparent);
    box-shadow:none;
    -webkit-backdrop-filter:none;
    backdrop-filter:none
  }
  .nav.is-menu-open{background:rgba(7,9,13,.94)}
  .nav-logo{grid-column:1;grid-row:1;min-width:0;font-size:12px;letter-spacing:.045em;white-space:nowrap}
  .nav .btn-outline{grid-column:2;grid-row:1;min-height:34px;padding:7px 13px;border-color:rgba(255,255,255,.7);border-radius:999px;font-size:10px}
  .nav-menu-toggle{
    grid-column:3;
    grid-row:1;
    position:relative;
    display:block;
    width:38px;
    height:38px;
    min-height:38px;
    padding:0;
    border:0;
    border-radius:50%;
    background:rgba(255,255,255,.1);
    color:#fff
  }
  .nav-menu-toggle i,.nav-menu-toggle::before,.nav-menu-toggle::after{content:'';position:absolute;left:11px;width:16px;height:1px;background:currentColor;transition:transform .2s ease,top .2s ease,opacity .2s ease}
  .nav-menu-toggle::before{top:13px}
  .nav-menu-toggle i{top:18px}
  .nav-menu-toggle::after{top:23px}
  .nav-menu-toggle[aria-expanded='true']::before{top:18px;transform:rotate(45deg)}
  .nav-menu-toggle[aria-expanded='true'] i{opacity:0}
  .nav-menu-toggle[aria-expanded='true']::after{top:18px;transform:rotate(-45deg)}
  .nav-links{
    grid-column:1/-1;
    grid-row:2;
    display:grid;
    grid-template-columns:1fr 1fr;
    width:100%;
    max-height:0;
    gap:0;
    overflow:hidden;
    opacity:0;
    padding:0;
    border:0;
    transition:max-height .3s ease,opacity .2s ease,padding .3s ease
  }
  .nav.is-menu-open .nav-links{max-height:220px;opacity:1;margin-top:12px;padding:10px 0 2px;border-top:1px solid rgba(255,255,255,.14)}
  .nav-link{padding:10px 7px;color:rgba(255,255,255,.78);font-size:10px;letter-spacing:.09em;text-transform:uppercase}
}
