  :root{
    --obsidian:#0A0A0A;
    --obsidian-2:#0E0D0B;
    --panel:#141311;
    --panel-2:#1A1815;
    --gold:#A37E2C;
    --gold-dark:#A37E2C;
    --ivory:#F5F2EC;
    --ivory-dim:#C9C4BA;
    --muted:#8A857B;
    --line:rgba(245,242,236,.1);
    --line-soft:rgba(245,242,236,.06);
    --radius:20px;
    --font:'Switzer','Helvetica Neue',Verdana,Arial,sans-serif;
    --crest:'Cinzel',Georgia,serif;
    --edge:clamp(40px, 4.45vw, 64px); /* menu and hero copy distance from the screen edge */
  }
  *{margin:0;padding:0;box-sizing:border-box}
  html{scroll-behavior:smooth}
  html,body{overflow-x:clip}
  body{background:var(--obsidian);color:var(--ivory-dim);font-family:var(--font);font-weight:400;font-size:1rem;line-height:1.65;-webkit-font-smoothing:antialiased}
  img{max-width:100%;display:block}
  a{color:inherit;text-decoration:none}
  ::selection{background:var(--ivory);color:var(--obsidian)}

  /* ---------- shared ---------- */
  .wrap{max-width:1240px;margin:0 auto;padding:0 40px}
  .eyebrow{font-size:0.75rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);font-weight:600}
  h1,h2,h3{color:var(--ivory);font-weight:600;line-height:1.06;letter-spacing:-.025em}
  .dim{color:var(--muted)}
  .btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;font-family:var(--font);font-size:0.9375rem;font-weight:600;letter-spacing:0;
    padding:16px 32px;border:1px solid transparent;border-radius:15px;cursor:pointer;transition:background .35s ease,color .35s ease,border-color .35s ease,transform .35s ease}
  .btn:active{transform:scale(.98)}
  .btn-solid{background:var(--ivory);color:var(--obsidian)}
  .btn-solid:hover{background:var(--gold);color:var(--obsidian)}
  .btn-ghost{background:transparent;border-color:rgba(245,242,236,.25);color:var(--ivory)}
  .btn-ghost:hover{border-color:var(--gold);color:var(--gold)}
  .btn-dark{background:var(--obsidian);color:var(--ivory)}
  .btn-dark:hover{background:var(--gold);color:var(--obsidian)}
  section{position:relative}

  .reveal{opacity:0;transform:translateY(24px);transition:opacity .7s ease,transform .7s ease}
  .reveal.in{opacity:1;transform:none}

  /* ---------- nav ---------- */
  header{position:fixed;top:0;left:0;right:0;z-index:100;background:rgba(10,10,10,.9);backdrop-filter:blur(14px);border-bottom:1px solid var(--line-soft)}
  .nav{display:flex;align-items:center;justify-content:space-between;height:76px;padding:0 var(--edge)}
  .brand{display:flex;align-items:center;gap:13px}
  .brand svg{display:block}
  .brand-word{line-height:1.1;text-align:center}
  .brand-word .t1{font-family:Georgia,'Times New Roman',serif;font-weight:700;font-size:0.875rem;letter-spacing:.3em;margin-right:-.3em;color:var(--ivory);display:block}
  .brand-word .t2{font-size:0.5312rem;letter-spacing:.42em;margin-right:-.42em;color:var(--ivory);opacity:.9;font-weight:400;text-transform:none;margin-top:3px;display:block}
  .nav-links{display:flex;gap:34px;list-style:none}
  .nav-links a{font-size:0.875rem;font-weight:500;color:var(--ivory-dim);padding:6px 0;border-bottom:1.5px solid transparent;transition:color .25s,border-color .25s}
  .nav-links a:hover{color:var(--ivory)}
  .nav-links a.active{color:var(--ivory);border-color:var(--gold)}
  .nav .btn{padding:12px 26px;font-size:0.875rem;border-radius:8px}
  .brand-bar{width:1.5px;height:38px;background:#A37E2C;display:inline-block;flex:0 0 auto;margin:0 2px}
  .nav-links a.is-soon{color:var(--muted)}
  .nav-links a .soon{font-size:0.625rem;font-weight:400;letter-spacing:.05em;color:rgba(245,242,236,.4);margin-left:5px;text-transform:none;vertical-align:1px}
  .trio-icon svg,.pin svg{display:block}
  .nav-burger{display:none;background:none;border:1px solid var(--line);border-radius:10px;color:var(--ivory);font-size:clamp(1.0188rem, 0.5938rem + 1.2vw, 1.1875rem);padding:7px 14px;cursor:pointer}

  /* ---------- hero (homepage): a rounded video card, copy at the bottom left ---------- */
  .hero{padding:6px 12px 12px}
  .hero-card{position:relative;overflow:hidden;border-radius:8px;display:flex;align-items:flex-end;
    height:calc(100vh - 18px);height:calc(100svh - 18px);min-height:520px;
    background:
      radial-gradient(ellipse 950px 620px at 80% 36%, rgba(96,62,36,.4), transparent 64%),
      radial-gradient(ellipse 700px 520px at 90% 78%, rgba(126,82,46,.18), transparent 60%),
      var(--obsidian-2);
    background-size:cover;background-position:center}
  .hero-card > video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0}
  /* darkens the top for the menu bar and the bottom for the copy */
  .hero-shade{position:absolute;inset:0;z-index:1;pointer-events:none;
    background:
      linear-gradient(180deg, rgba(10,10,10,.55) 0%, rgba(10,10,10,0) 24%),
      linear-gradient(180deg, rgba(10,10,10,0) 40%, rgba(10,10,10,.69) 70%, rgba(10,10,10,.93) 100%)}
  /* full width like the reference: the copy and the logo sit the same distance from
     the left edge at every width (64px on desktop, never pushed inwards on wide screens) */
  .hero-content{position:relative;z-index:2;width:100%;padding:0 calc(var(--edge, 40px) - 12px) 52px}
  .hero-inner{max-width:760px}
  .hero-title{font-size:clamp(2.75rem, 1.2rem + 5.2vw, 5rem);font-weight:700;line-height:.92;letter-spacing:-.05em;color:var(--ivory);margin:0 0 24px}
  .hero-title .ht-sans,.hero-title .ht-serif{display:block}
  .hero-title .ht-serif{font-family:'DM Serif Display',Georgia,serif;font-style:italic;font-weight:400;letter-spacing:-.035em;padding-bottom:.06em}
  .hero-sub{max-width:560px;font-size:clamp(1.0625rem, .92rem + .55vw, 1.375rem);line-height:1.38;font-weight:500;letter-spacing:-.015em;color:rgba(245,242,236,.88);margin:0 0 24px}
  .hero-ctas{display:flex;gap:14px;flex-wrap:wrap}
  .hero .hero-ctas{gap:10px}
  .hero .btn,.no1 .btn,.post .btn{padding:11px 24px;font-size:1rem;font-weight:500;letter-spacing:-.01em;line-height:1.4;border-radius:8px}
  .hero .btn svg,.nav .btn svg,.no1 .btn svg,.post .btn svg{flex:0 0 auto}
  .hero .btn-ghost{background:rgba(245,242,236,.08);border-color:rgba(245,242,236,.3);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}

  /* homepage and studio pages: the menu bar is see-through over the hero, solid once scrolled or while the menu is open */
  :is(body.home, body.studio-page) header{transition:background .35s ease,border-color .35s ease}
  :is(body.home, body.studio-page) header:not(.scrolled):not(:has(.nav.open)){background:transparent;-webkit-backdrop-filter:none;backdrop-filter:none;border-bottom-color:transparent}
  :is(body.home, body.studio-page) header:not(.scrolled) .nav-links :is(a, .nav-dd-btn){color:var(--ivory)}
  /* small laptops: keep the menu on one line before it folds into the burger at 860px */
  @media(min-width:861px) and (max-width:1000px){
    .nav-links{gap:18px}
    .nav .btn svg{display:none}
  }

  @media(max-width:560px){
    .nav{padding:0 20px}
    .hero{padding:6px 6px 10px}
    .hero-card{height:86vh;height:86svh;min-height:480px}
    .hero-content{padding:0 14px 28px}
    .hero-title{letter-spacing:-.06em;line-height:.9;margin-bottom:18px}
    .hero-sub{margin-bottom:20px}
    .hero .btn,.no1 .btn,.post .btn{padding:9px 16px}
  }

  /* hero entrance, staggered rise as the preloader lifts (body.tfx-in set by 12-tribes-fx.js) */
  @keyframes heroUp{from{opacity:0;transform:translateY(38px)}to{opacity:1;transform:none}}
  body.tfx-in .hero-inner h1{animation:heroUp .9s cubic-bezier(.22,.61,.36,1) .1s both}
  body.tfx-in .hero-inner p{animation:heroUp .9s cubic-bezier(.22,.61,.36,1) .32s both}
  body.tfx-in .hero-inner .hero-ctas{animation:heroUp .9s cubic-bezier(.22,.61,.36,1) .54s both}

  /* ---------- section shells ---------- */
  .sect{padding:120px 0}
  .sect-head{text-align:center;max-width:760px;margin:0 auto 64px}
  .sect-head h2{font-size:clamp(2rem,4vw,3.125rem);margin:18px 0 18px}
  .sect-head p{color:var(--muted);font-size:1.0312rem;max-width:620px;margin:0 auto}

  /* ---------- studios: a full-width carousel like the reference (Swiper) ---------- */
  .studios{background:var(--obsidian-2);border-top:1px solid var(--line-soft);border-bottom:1px solid var(--line-soft);overflow:hidden;
    --card-w:min(1200px, calc(100vw - 2 * clamp(32px, 8.33vw, 120px)))}
  /* heading and sub text in the hero's type: bold tight sans, then the italic serif */
  .studios .sect-head{max-width:900px;margin-bottom:56px}
  .studios .studios-title{font-size:clamp(2.25rem, 1.2rem + 3.2vw, 4rem);font-weight:700;line-height:.95;letter-spacing:-.05em;color:var(--ivory);margin:0 0 20px}
  .studios-title .ht-sans,.studios-title .ht-serif,.pp-title .ht-sans,.pp-title .ht-serif{display:block}
  .studios-title .ht-serif,.pp-title .ht-serif{font-family:'DM Serif Display',Georgia,serif;font-style:italic;font-weight:400;letter-spacing:-.035em;padding-bottom:.06em}
  .studios .sect-head p{color:var(--ivory);font-size:clamp(1rem, .9rem + .35vw, 1.1875rem);line-height:1.5;letter-spacing:-.01em;max-width:640px}
  /* tabs above the cards, on a fine rule the width of the card */
  .studio-head{width:var(--card-w);margin:0 auto 32px;padding-top:20px;border-top:1px solid rgba(245,242,236,.16);display:flex;justify-content:center}
  .studio-tabs{display:flex;gap:8px;max-width:100%;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch}
  .studio-tabs::-webkit-scrollbar{display:none}
  .studio-tab{flex:0 0 auto;font-family:var(--font);font-size:.875rem;font-weight:500;line-height:1.15;color:var(--ivory);background:transparent;
    border:1px solid rgba(245,242,236,.16);border-radius:8px;padding:8px 16px;cursor:pointer;transition:background .3s,color .3s,border-color .3s}
  .studio-tab:hover{background:rgba(245,242,236,.08)}
  .studio-tab.active{background:var(--ivory);border-color:var(--ivory);color:var(--obsidian)}
  .studio-tab:focus-visible{outline:2px solid var(--gold);outline-offset:2px}
  /* one large card in the centre, the neighbours peeking in at 60% */
  .studio-swiper{width:100%}
  .studio-slide{width:var(--card-w);opacity:.6;transition:opacity .8s ease}
  .studio-slide.swiper-slide-active{opacity:1}
  .studio-card{position:relative;width:100%;aspect-ratio:1200/626;border-radius:24px;overflow:hidden;
    border:1px solid rgba(245,242,236,.16);background:var(--obsidian);isolation:isolate}
  /* the picture layer is a little wider than the card so the parallax slide never shows an edge */
  .studio-media{position:absolute;top:0;bottom:0;left:-10%;right:-10%;overflow:hidden}
  .studio-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .6s ease-out}
  .studio-media .art-mark{font-size:clamp(9rem, 22vw, 20rem)}
  @media(hover:hover) and (prefers-reduced-motion:no-preference){
    .studio-card:hover .studio-media img{transform:scale(1.1)}
  }
  .studio-shade{position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(180deg,rgba(10,10,10,0) 48%,var(--obsidian) 100%)}
  .studio-copy{position:absolute;left:0;right:0;bottom:0;z-index:2;padding:40px}
  .studio-name{font-size:clamp(2.5rem, 1rem + 6vw, 7.5rem);font-weight:700;line-height:1;letter-spacing:-.05em;color:var(--ivory);margin:0}
  /* under the name: seats on the left, Book now and Explore on the right */
  .studio-foot{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:16px 24px;margin-top:14px}
  .studio-seats{display:flex;align-items:center;gap:8px;font-size:1rem;line-height:1.2;color:var(--ivory)}
  .studio-seats svg{flex:0 0 auto}
  .studio-actions{display:flex;gap:10px}
  .studio-actions .btn{padding:11px 24px;font-size:1rem;font-weight:500;letter-spacing:-.01em;line-height:1.4;border-radius:8px}
  .studio-actions .btn svg{flex:0 0 auto}
  .studio-actions .btn-ghost{background:rgba(245,242,236,.08);border-color:rgba(245,242,236,.3);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
  /* only the centre card's buttons show; a side card is clicked to bring it to the centre */
  .studio-actions{opacity:0;visibility:hidden;transform:translateY(8px);transition:opacity .45s ease, transform .45s ease, visibility 0s linear .45s}
  .studio-slide.swiper-slide-active .studio-actions{opacity:1;visibility:visible;transform:none;transition:opacity .5s ease .25s, transform .5s ease .25s, visibility 0s}
  /* arrows sit just inside the centre card's edges */
  .studio-arrow{position:absolute;top:50%;z-index:5;width:40px;height:40px;margin-top:-20px;padding:0;border:0;border-radius:50%;
    background:var(--ivory);color:var(--obsidian);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:transform .3s ease}
  .studio-arrow:hover{transform:scale(1.08)}
  .studio-arrow:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
  .studio-arrow.prev{left:calc(50% - var(--card-w) / 2 + 24px)}
  .studio-arrow.next{right:calc(50% - var(--card-w) / 2 + 24px)}
  @media(max-width:767px){
    .studio-card{aspect-ratio:311/490}
    .studio-copy{padding:24px 24px 28px}
    .studio-arrow{display:none}
    .studio-actions{width:100%}
    .studio-actions .btn{flex:1;padding:10px 12px;gap:8px;white-space:nowrap}
  }
  .stage-meta{margin-top:16px;display:flex;gap:8px;flex-wrap:wrap}
  .chip{font-size:0.7812rem;font-weight:500;color:var(--ivory-dim);border:1px solid rgba(245,242,236,.22);border-radius:100px;padding:7px 15px;background:rgba(10,10,10,.45)}

  /* room art palettes, placeholder washes until photography */
  .art-hearth{background:radial-gradient(ellipse 60% 50% at 50% 62%,rgba(216,116,42,.5),transparent 70%),radial-gradient(ellipse 90% 80% at 50% 100%,rgba(120,52,18,.45),transparent 75%),linear-gradient(180deg,#151009,#0C0906)}
  .art-onyx{background:radial-gradient(ellipse 70% 55% at 50% 40%,rgba(190,150,80,.18),transparent 68%),repeating-linear-gradient(90deg,rgba(140,96,50,.15) 0 14px,rgba(10,10,10,0) 14px 34px),linear-gradient(180deg,#100D08,#0A0A0A)}
  .art-arc{background:radial-gradient(ellipse 46% 62% at 50% 46%,rgba(233,214,186,.32),transparent 66%),linear-gradient(180deg,#2A241C,#171310)}
  .art-duet{background:radial-gradient(ellipse 55% 50% at 34% 55%,rgba(190,120,70,.28),transparent 70%),radial-gradient(ellipse 55% 50% at 70% 45%,rgba(200,170,110,.14),transparent 70%),linear-gradient(180deg,#16110C,#0B0908)}
  .art-echo{background:radial-gradient(ellipse 40% 55% at 50% 50%,rgba(150,140,120,.2),transparent 70%),linear-gradient(180deg,#131311,#0A0A0A)}
  .art-cove{background:radial-gradient(ellipse 75% 60% at 50% 55%,rgba(70,170,110,.28),transparent 72%),linear-gradient(180deg,#0E1410,#090C0A)}
  .art-summit{background:radial-gradient(ellipse 65% 55% at 50% 42%,rgba(120,130,160,.2),transparent 70%),radial-gradient(ellipse 80% 40% at 50% 100%,rgba(160,140,90,.08),transparent 70%),linear-gradient(180deg,#10120F,#0A0B0A)}
  .art-mark{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:14.375rem;letter-spacing:-.04em;color:transparent;-webkit-text-stroke:1px rgba(245,242,236,.06)}

  /* ---------- London's No.1 (light): copy on the left, a framed video on the right ---------- */
  .no1{padding:120px 0;--no1-h:clamp(2.25rem, 1.2rem + 2.6vw, 3.5rem);--no1-gap:clamp(24px, 2.8vw, 48px)}
  /* the copy starts on the centred 1200px column like the reference and is only as wide as the heading needs
     for three lines (never wider than before); the frame takes the rest and runs on towards the right edge */
  .no1-grid{display:grid;grid-template-columns:min(calc(var(--no1-h) * 8.65), calc((100% - var(--no1-gap)) * .4565)) minmax(0,1fr);
    column-gap:var(--no1-gap);align-items:center;
    margin-left:max(var(--edge), calc((100vw - 1200px) / 2));margin-right:var(--edge)}
  .no1-copy{max-width:624px}
  .no1 .no1-copy h2{font-size:var(--no1-h);font-weight:600;line-height:1.05;letter-spacing:normal;color:var(--obsidian);margin:0}
  .no1 .no1-copy p{margin-top:20px;font-size:1rem;line-height:1.35;color:var(--obsidian);max-width:500px}
  .no1-ctas{display:flex;gap:10px;flex-wrap:wrap;margin-top:28px}
  /* the frame: a soft border and rounded corners like the reference */
  .no1-media{position:relative;aspect-ratio:743/495;border:5px solid rgba(10,10,10,.1);border-radius:12px;overflow:hidden;
    background:radial-gradient(ellipse 70% 60% at 50% 45%, rgba(96,62,36,.5), transparent 70%), var(--obsidian);background-size:cover;background-position:center}
  .no1-placeholder{position:absolute;inset:0;z-index:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px}
  .no1-media > video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0}
  .no1-media > video ~ .no1-placeholder,.no1-media[style*="background-image"] .no1-placeholder{display:none}
  .no1-play{width:72px;height:72px;border-radius:50%;background:var(--ivory);color:var(--obsidian);display:flex;align-items:center;justify-content:center;padding-left:3px}
  .no1-ph-label{font-size:.75rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:rgba(245,242,236,.6)}
  @media(max-width:900px){
    .no1{padding:88px 0}
    .no1-grid{grid-template-columns:1fr;gap:40px;margin-left:var(--edge);margin-right:var(--edge)}
  }
  @media(max-width:560px){
    .no1-grid{margin-left:20px;margin-right:20px}
  }
  .fa-1{background:radial-gradient(ellipse 60% 60% at 50% 45%,rgba(190,160,90,.26),transparent 70%),#12100B}
  .fa-2{background:radial-gradient(ellipse 60% 60% at 45% 55%,rgba(200,110,50,.3),transparent 72%),#130E09}
  .fa-3{background:radial-gradient(ellipse 65% 55% at 55% 45%,rgba(160,140,180,.18),transparent 70%),#100F12}
  .fa-4{background:radial-gradient(ellipse 60% 60% at 50% 50%,rgba(90,160,120,.22),transparent 72%),#0D110E}
  .fa-5{background:radial-gradient(ellipse 60% 60% at 50% 45%,rgba(233,214,186,.2),transparent 70%),#161310}
  .fa-6{background:radial-gradient(ellipse 60% 60% at 50% 55%,rgba(180,150,100,.18),transparent 70%),#0F0D09}

  /* ---------- post-production (dark): one recording, two formats ----------
     a 16:9 episode frame and a 9:16 reel frame play the same footage; a guide in the episode
     frame shows the part of the picture the reel is using, and an edit timeline sits under it
     (all driven by postStage() in index.html) */
  .post{padding:120px 0;color:var(--ivory-dim);border-top:1px solid var(--line-soft);
    background:radial-gradient(ellipse 55% 42% at 50% 50%, rgba(163,126,44,.07), transparent 70%), var(--obsidian-2)}
  .pp-wrap{width:min(1200px, 100% - 2 * var(--edge));margin:0 auto}
  .post .pp-title{text-align:center;font-size:clamp(2.25rem, 1.2rem + 3.2vw, 4rem);font-weight:700;line-height:.95;letter-spacing:-.05em;color:var(--ivory);margin:0 0 64px}
  .pp-title .nw{white-space:nowrap}

  /* the stage: the episode column (frame + timeline) and the reel share one grid cell; the reel
     sits lower right over the frame. --ov is how far the reel reaches into the episode column */
  .pp-stage{display:grid;--ep-w:79%;--reel-w:27%;--reel-top:8%;--ov:7.6%;--gap:20px}
  .pp-left{grid-area:1/1;width:var(--ep-w);min-width:0;display:flex;flex-direction:column;gap:var(--gap)}
  .pp-episode{position:relative;flex:none;aspect-ratio:16/9;border-radius:16px;overflow:hidden;
    background:radial-gradient(ellipse 70% 60% at 50% 45%, rgba(96,62,36,.55), transparent 70%), #0B0A09;
    box-shadow:0 0 0 1px rgba(245,242,236,.08), 0 40px 90px -30px rgba(0,0,0,.8)}
  /* the footage fades in once its first frame is ready, in both frames at once */
  .pp-episode > video,.pp-episode > img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0;opacity:0;transition:opacity .6s ease}
  .pp-stage.has-media .pp-episode > video,.pp-stage.has-media .pp-episode > img,.pp-stage.has-media .pp-reel canvas{opacity:1}
  .pp-guide{position:absolute;top:0;bottom:0;left:0;z-index:1;border:1px solid rgba(245,242,236,.75);
    box-shadow:0 0 0 200vmax rgba(8,8,7,.42);will-change:transform}
  .pp-guide i{position:absolute;width:14px;height:14px;border:0 solid var(--ivory)}
  .pp-guide i:nth-child(1){top:8px;left:8px;border-top-width:2px;border-left-width:2px}
  .pp-guide i:nth-child(2){top:8px;right:8px;border-top-width:2px;border-right-width:2px}
  .pp-guide i:nth-child(3){bottom:8px;left:8px;border-bottom-width:2px;border-left-width:2px}
  .pp-guide i:nth-child(4){bottom:8px;right:8px;border-bottom-width:2px;border-right-width:2px}
  .pp-chip,.pp-tc{position:absolute;z-index:2;display:inline-flex;align-items:center;gap:8px;padding:7px 11px;border-radius:999px;
    background:rgba(10,10,10,.55);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:var(--ivory);line-height:1;white-space:nowrap}
  .pp-chip{font-size:.6875rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase}
  .pp-chip b,.pp-tc,.pp-ruler,.pp-lbl,.pp-tag{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-variant-numeric:tabular-nums}
  .pp-chip b{font-weight:500;letter-spacing:0;color:rgba(245,242,236,.6)}
  .pp-chip-ep{top:16px;left:16px}
  .pp-tc{top:16px;right:16px;font-size:.75rem;font-weight:500;letter-spacing:.02em;border-radius:6px}
  .pp-tc::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--ivory);opacity:.85}

  /* edit timeline: ruler, a video track and an audio track; the highlighted stretches are the clips */
  .pp-timeline{flex:1 0 auto;margin-right:calc(var(--ov) + var(--gap));display:grid;grid-template-columns:18px minmax(0,1fr);
    grid-template-rows:auto minmax(18px,1fr) minmax(18px,1fr);gap:6px 10px;padding:12px 14px;border-radius:12px;
    background:rgba(245,242,236,.03);border:1px solid rgba(245,242,236,.07)}
  .pp-ruler{grid-column:2;grid-row:1;display:flex;justify-content:space-between;font-size:.625rem;line-height:1;color:rgba(245,242,236,.4)}
  .pp-lbl{grid-column:1;align-self:center;font-size:.625rem;font-weight:600;line-height:1;color:rgba(245,242,236,.4)}
  .pp-lbl-v{grid-row:2}
  .pp-lbl-a{grid-row:3}
  .pp-clips{grid-column:2;grid-row:2;display:flex;gap:2px}
  .pp-clips i{border-radius:3px;background:linear-gradient(180deg, rgba(245,242,236,.15), rgba(245,242,236,.07));box-shadow:inset 1px 0 0 rgba(245,242,236,.2)}
  .pp-wave{grid-column:2;grid-row:3;display:flex;align-items:center;gap:2px}
  .pp-wave i{flex:1;min-width:1px;border-radius:1px;background:rgba(245,242,236,.3)}
  .pp-hls{grid-column:2;grid-row:2/4;position:relative;pointer-events:none}
  .pp-hls i{position:absolute;top:-3px;bottom:-3px;width:20%;border:1px solid rgba(245,242,236,.45);border-radius:5px;
    background:rgba(245,242,236,.05);transition:background-color .3s ease, border-color .3s ease}
  .pp-hls i:nth-child(2){left:33.333%}
  .pp-hls i:nth-child(3){left:66.667%}
  .pp-hls i.on{background:rgba(245,242,236,.16);border-color:var(--ivory)}
  .pp-head{grid-column:2;grid-row:1/4;position:relative;pointer-events:none}
  .pp-head b{position:absolute;top:-4px;bottom:-4px;left:0;width:2px;margin-left:-1px;border-radius:1px;background:var(--ivory)}
  .pp-head b::before{content:"";position:absolute;top:-3px;left:50%;width:8px;height:8px;margin-left:-4px;border-radius:2px;background:var(--ivory);transform:rotate(45deg)}

  .pp-reel{grid-area:1/1;justify-self:end;align-self:end;margin-top:var(--reel-top);position:relative;z-index:3;width:var(--reel-w);aspect-ratio:9/16;
    border-radius:30px;overflow:hidden;border:5px solid #050505;container-type:inline-size;
    background:radial-gradient(ellipse 90% 60% at 50% 40%, rgba(96,62,36,.55), transparent 70%), #0B0A09;
    box-shadow:0 0 0 1px rgba(245,242,236,.16), 0 50px 100px -20px rgba(0,0,0,.85)}
  .pp-reel canvas{position:absolute;inset:0;width:100%;height:100%;display:block;z-index:0;opacity:0;transition:opacity .6s ease}
  .pp-reel::after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;
    background:linear-gradient(180deg, rgba(0,0,0,.4), transparent 20%, transparent 58%, rgba(0,0,0,.55))}
  .pp-bars{position:absolute;z-index:2;top:14px;left:12px;right:12px;display:flex;gap:4px}
  .pp-bars i{position:relative;flex:1;height:2px;border-radius:1px;background:rgba(245,242,236,.3);overflow:hidden}
  .pp-bars i::after{content:"";position:absolute;inset:0;background:var(--ivory);transform-origin:left;transform:scaleX(var(--p,0))}
  .pp-reel .pp-chip{top:26px;left:12px;font-size:clamp(8px, 3.4cqi, 11px);padding:.55em .85em;gap:.6em}
  /* captions: words come in one at a time, the newest one highlighted */
  .pp-cap{position:absolute;z-index:2;left:9%;right:9%;bottom:15%;margin:0;text-align:center;color:#fff;
    font-size:clamp(10px, 6.4cqi, 20px);font-weight:700;line-height:1.35;letter-spacing:-.01em;text-shadow:0 2px 14px rgba(0,0,0,.55)}
  .pp-cap span{display:inline-block;opacity:0;transform:translateY(.35em) scale(.9);border-radius:.18em;
    transition:opacity .2s ease, transform .3s cubic-bezier(.2,.8,.2,1), background-color .15s, color .15s, box-shadow .15s}
  .pp-cap span.on{opacity:1;transform:none}
  .pp-cap span.hot{background:var(--ivory);color:var(--obsidian);box-shadow:0 0 0 .14em var(--ivory);text-shadow:none}
  .pp-cap.out span{opacity:0;transition-duration:.3s}

  /* the two services, each tagged with its format */
  .pp-items{display:grid;grid-template-columns:1fr 1fr;gap:28px 64px;margin-top:80px}
  .pp-item{border-top:1px solid rgba(245,242,236,.12);padding-top:24px}
  .pp-tag{display:inline-flex;align-items:center;gap:10px;margin-bottom:16px;color:var(--muted);font-size:.75rem;font-weight:500;line-height:1;letter-spacing:.04em}
  .pp-ratio{display:inline-block;border:1.5px solid currentColor;border-radius:2px}
  .pp-ratio.is-wide{width:18px;height:11px}
  .pp-ratio.is-tall{width:11px;height:18px}
  .pp-item h3{color:var(--ivory);font-size:clamp(1.125rem, .95rem + .5vw, 1.375rem);font-weight:600;line-height:1.25;letter-spacing:-.015em;margin:0 0 10px}
  .pp-item p{color:var(--ivory-dim);font-size:1rem;line-height:1.55;max-width:520px;margin:0}
  .pp-cta{text-align:center;margin-top:64px}
  @media(max-width:900px){
    .post{padding:88px 0}
    .post .pp-title{margin-bottom:48px}
    .pp-stage{--gap:16px}
    .pp-timeline{padding:10px 12px;gap:5px 8px}
    .pp-items{margin-top:56px;gap:28px 40px}
    .pp-cta{margin-top:48px}
    .pp-reel{border-width:4px;border-radius:22px}
    .pp-chip-ep,.pp-tc{top:12px}
    .pp-chip-ep{left:12px}
    .pp-tc{right:12px}
  }
  /* phones: a bigger reel so its captions stay readable, and a compact timeline */
  @media(max-width:640px){
    .pp-stage{--ep-w:86%;--reel-w:34%;--reel-top:14%;--ov:23.3%;--gap:12px}
    .pp-episode{border-radius:10px}
    .pp-reel{border-width:3px;border-radius:16px}
    .pp-chip,.pp-tc{padding:5px 8px;font-size:.625rem;gap:6px}
    .pp-tc::before{width:5px;height:5px}
    .pp-chip-ep,.pp-tc{top:8px}
    .pp-chip-ep{left:8px}
    .pp-tc{right:8px}
    .pp-guide i{width:9px;height:9px}
    .pp-guide i:nth-child(1),.pp-guide i:nth-child(2){top:5px}
    .pp-guide i:nth-child(3),.pp-guide i:nth-child(4){bottom:5px}
    .pp-guide i:nth-child(odd){left:5px}
    .pp-guide i:nth-child(even){right:5px}
    .pp-timeline{padding:8px 9px;gap:4px 6px;grid-template-columns:14px minmax(0,1fr);grid-template-rows:auto minmax(14px,1fr) minmax(14px,1fr);border-radius:8px}
    .pp-ruler,.pp-lbl{font-size:.5rem}
    .pp-wave{gap:1px}
    .pp-bars{top:9px;left:8px;right:8px;gap:3px}
    .pp-reel .pp-chip{top:17px;left:8px}
    .pp-items{grid-template-columns:1fr}
  }
  @media(max-width:560px){
    .pp-wrap{width:calc(100% - 40px)}
  }
  /* the smallest phones: keep the button label on one line */
  @media(max-width:360px){
    .pp-cta .btn{font-size:.875rem;padding:9px 14px;gap:8px}
  }

  /* ---------- book a studio (white): the section is the boarding pass the booking page issues ----------
     same look as the real pass (black header strips, gold outline, tear line with die-cut notches);
     the stub is a link to /book and carries a QR code for phones */
  .ready{border-top:1px solid var(--line-soft)}
  .bk-wrap{width:min(1200px, 100% - 2 * var(--edge));margin:0 auto}
  .bk-tilt{perspective:1600px}
  .bk-pass{position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(250px,27%);border:3px solid var(--gold);border-radius:22px;
    background:#FFFFFF;color:var(--obsidian);box-shadow:0 50px 100px -50px rgba(10,10,10,.45), 0 12px 30px -18px rgba(10,10,10,.25);
    transition:transform .5s cubic-bezier(.2,.8,.2,1)}
  .bk-main{display:flex;flex-direction:column;min-width:0}
  .bk-head{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:72px;padding:20px 34px;background:#0A0A0A;color:#FFFFFF}
  .bk-main .bk-head{border-radius:19px 0 0 0}
  .bk-stub .bk-head{border-radius:0 19px 0 0;justify-content:flex-end}
  .bk-word{font-family:'Cinzel',Georgia,'Times New Roman',serif;font-weight:700;font-size:1rem;letter-spacing:.22em;white-space:nowrap}
  .bk-tag{font-size:.6875rem;letter-spacing:.06em;color:rgba(255,255,255,.6);text-align:right}
  .bk-admit{font-size:.625rem;letter-spacing:.2em;text-transform:uppercase;font-weight:600;color:rgba(255,255,255,.7)}
  .bk-body{flex:1;display:flex;flex-direction:column;padding:34px 34px 36px}
  .bk-route{display:flex;align-items:center;gap:12px;max-width:340px;margin-bottom:30px;font-size:.875rem;letter-spacing:.04em;color:var(--obsidian)}
  .bk-route b{font-weight:700}
  .bk-route .ln{flex:1;height:1px;background:rgba(10,10,10,.2)}
  .ready .bk-title{font-size:clamp(2.75rem, 1.4rem + 4.2vw, 5.25rem);font-weight:700;line-height:.95;letter-spacing:-.05em;color:var(--obsidian);margin:0}
  .bk-title .ht-serif{font-family:'DM Serif Display',Georgia,serif;font-style:italic;font-weight:400;letter-spacing:-.035em}
  .bk-pass .bk-sub{max-width:540px;margin:22px 0 0;font-size:clamp(1rem, .95rem + .25vw, 1.125rem);line-height:1.5;letter-spacing:-.01em;color:#3A3732}
  .bk-fields{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:2px;margin:34px 0 0;border-radius:12px;overflow:hidden}
  .bk-fields div{background:rgba(10,10,10,.045);padding:14px 16px}
  .bk-fields dt{font-size:.5938rem;letter-spacing:.16em;text-transform:uppercase;color:rgba(10,10,10,.5);font-weight:600}
  .bk-fields dd{margin:4px 0 0;font-size:.9688rem;font-weight:600;line-height:1.3;color:var(--obsidian)}
  /* the stub: a dashed tear line with die-cut notches top and bottom, as on the real pass */
  .bk-stub{position:relative;display:flex;flex-direction:column;border-left:2px dashed rgba(10,10,10,.28);color:var(--obsidian)}
  .bk-stub::before,.bk-stub::after{content:"";position:absolute;left:-18px;width:34px;height:34px;border-radius:50%;background:#FFFFFF;
    border:3px solid;border-color:var(--gold) var(--gold) transparent transparent;box-sizing:border-box;z-index:2}
  .bk-stub::before{top:-20px;transform:rotate(135deg)}
  .bk-stub::after{bottom:-20px;transform:rotate(-45deg)}
  .bk-stub-body{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:24px;padding:30px 24px 34px}
  .bk-qr{display:flex;flex-direction:column;align-items:center;gap:12px}
  .bk-qr-plate{position:relative;display:block;padding:14px;border:1px solid rgba(10,10,10,.2);border-radius:8px;background:#FFFFFF}
  .bk-qr-plate::before,.bk-qr-plate::after{content:"";position:absolute;width:12px;height:12px;border:0 solid #0A0A0A}
  .bk-qr-plate::before{top:-1px;left:-1px;border-top-width:1.5px;border-left-width:1.5px}
  .bk-qr-plate::after{bottom:-1px;right:-1px;border-bottom-width:1.5px;border-right-width:1.5px}
  .bk-qr-plate svg{display:block;width:124px;height:124px}
  .bk-qr-cap{font-size:.75rem;color:rgba(10,10,10,.55);letter-spacing:.01em}
  .ready .bk-stub .btn{padding:11px 24px;font-size:1rem;font-weight:500;letter-spacing:-.01em;line-height:1.4;border-radius:8px}
  .bk-stub .btn svg{flex:0 0 auto;transition:transform .3s ease}
  .bk-stub:hover .btn svg{transform:translateX(3px)}
  .bk-stub:focus-visible{outline:2px solid var(--obsidian);outline-offset:-6px;border-radius:0 19px 19px 0}
  @media(max-width:1100px){
    .bk-fields{grid-template-columns:repeat(2,minmax(0,1fr))}
  }
  /* tablets and phones: the stub moves under the main part, the tear line turns horizontal,
     and the QR code (only useful on a computer) is left out */
  @media(max-width:760px){
    .bk-pass{grid-template-columns:1fr}
    .bk-main .bk-head{border-radius:19px 19px 0 0}
    .bk-head{min-height:0;padding:18px 22px;flex-wrap:wrap;gap:4px 16px}
    .bk-tag{text-align:left}
    .bk-body{padding:26px 22px 28px}
    .bk-route{margin-bottom:22px}
    .bk-stub{border-left:0;border-top:2px dashed rgba(10,10,10,.28)}
    .bk-stub::before,.bk-stub::after{top:-18px;bottom:auto}
    .bk-stub::before{left:-20px;transform:rotate(45deg)}
    .bk-stub::after{left:auto;right:-20px;transform:rotate(225deg)}
    .bk-stub .bk-head,.bk-qr{display:none}
    .bk-stub-body{padding:24px 22px 26px}
    .bk-stub .btn{width:100%}
  }
  @media(max-width:560px){
    .bk-wrap{width:calc(100% - 40px)}
    .bk-word{font-size:.875rem;letter-spacing:.2em}
    .bk-fields div{padding:12px 13px}
    .bk-fields dd{font-size:.875rem}
  }

  /* ---------- FAQs (dark): a short list read like a transcript, the crest marking each answer ----------
     native <details> (keyboard friendly, works without scripts); name="home-faq" keeps one open at a time */
  .hfaq{background:radial-gradient(ellipse 50% 45% at 85% 15%, rgba(96,62,36,.2), transparent 70%), var(--obsidian-2);border-top:1px solid var(--line-soft)}
  .hfaq-grid{width:min(1200px, 100% - 2 * var(--edge));margin:0 auto;display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);
    grid-template-areas:"head list" "more list" ". list";grid-template-rows:auto auto 1fr;column-gap:80px;align-items:start}
  .hfaq-head{grid-area:head}
  .hfaq .hfaq-title{font-size:clamp(2.25rem, 1.2rem + 3.2vw, 4rem);font-weight:700;line-height:.95;letter-spacing:-.05em;color:var(--ivory);margin:0}
  .hfaq-title .ht-sans,.hfaq-title .ht-serif{display:block}
  .hfaq-title .ht-serif{font-family:'DM Serif Display',Georgia,serif;font-style:italic;font-weight:400;letter-spacing:-.035em;padding-bottom:.06em}
  .hfaq .hfaq-intro{max-width:360px;margin:22px 0 0;font-size:clamp(1rem, .95rem + .25vw, 1.125rem);line-height:1.5;letter-spacing:-.01em;color:var(--ivory-dim)}
  .hfaq-more{grid-area:more;display:flex;flex-direction:column;align-items:flex-start;gap:16px;margin-top:34px}
  .hfaq .btn{padding:11px 24px;font-size:1rem;font-weight:500;letter-spacing:-.01em;line-height:1.4;border-radius:8px}
  .hfaq .btn svg{flex:0 0 auto}
  .hfaq .hfaq-mail{margin:0;font-size:.9375rem;color:var(--muted)}
  .hfaq-mail a,.qa-body a{color:var(--ivory);text-decoration:underline;text-decoration-color:rgba(245,242,236,.35);text-underline-offset:3px;transition:text-decoration-color .2s}
  .hfaq-mail a:hover,.qa-body a:hover{text-decoration-color:var(--ivory)}
  .hfaq-list{grid-area:list;border-bottom:1px solid rgba(245,242,236,.12)}
  .qa{border-top:1px solid rgba(245,242,236,.12)}
  .qa summary{display:grid;grid-template-columns:40px minmax(0,1fr) 36px;align-items:center;gap:16px;padding:26px 0;cursor:pointer;list-style:none}
  .qa summary::-webkit-details-marker{display:none}
  .qa-n{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.75rem;font-weight:500;letter-spacing:.04em;color:var(--muted);transition:color .25s}
  .qa-q{font-size:clamp(1.125rem, .95rem + .55vw, 1.4375rem);font-weight:500;line-height:1.3;letter-spacing:-.015em;color:rgba(245,242,236,.78);transition:color .25s}
  /* the open question and the one under the pointer read brightest */
  .qa[open] .qa-q,.qa summary:hover .qa-q{color:var(--ivory)}
  .qa[open] .qa-n{color:var(--ivory)}
  /* plus that turns into a cross on an ivory disc when the answer is open */
  .qa-x{position:relative;width:36px;height:36px;border-radius:50%;border:1px solid rgba(245,242,236,.25);
    transition:transform .35s cubic-bezier(.2,.8,.2,1), background-color .25s, border-color .25s}
  .qa-x::before,.qa-x::after{content:"";position:absolute;left:50%;top:50%;width:12px;height:1.5px;margin:-.75px 0 0 -6px;border-radius:1px;background:var(--ivory);transition:background-color .25s}
  .qa-x::after{transform:rotate(90deg)}
  .qa summary:hover .qa-n{color:var(--ivory)}
  .qa summary:hover .qa-x{border-color:var(--ivory)}
  .qa[open] .qa-x{transform:rotate(45deg);background:var(--ivory);border-color:var(--ivory)}
  .qa[open] .qa-x::before,.qa[open] .qa-x::after{background:var(--obsidian)}
  .qa summary:focus-visible{outline:2px solid var(--ivory);outline-offset:4px;border-radius:6px}
  .qa-a{display:grid;grid-template-columns:40px minmax(0,1fr) 36px;gap:16px;padding:0 0 30px}
  .qa-from{width:24px;height:28px;margin-top:2px}
  .hfaq .qa-body{max-width:620px;font-size:1rem;line-height:1.65;color:var(--ivory-dim)}
  .hfaq .qa-body p{margin:0;color:var(--ivory-dim)}
  .qa-body p + p,.qa-body p + ul,.qa-body ul + p{margin-top:12px}
  .qa-body ul{list-style:none;margin:0;padding:0}
  .qa-body li{position:relative;padding-left:22px}
  .qa-body li + li{margin-top:8px}
  .qa-body li::before{content:"";position:absolute;left:2px;top:.8em;width:9px;height:1.5px;background:rgba(245,242,236,.45)}
  .qa-body strong{color:var(--ivory);font-weight:600}
  /* smooth open and close where the browser can animate details (others open instantly) */
  @supports (interpolate-size: allow-keywords){
    .hfaq{interpolate-size:allow-keywords}
    .qa::details-content{block-size:0;overflow:hidden;transition:block-size .45s cubic-bezier(.2,.8,.2,1), content-visibility .45s allow-discrete}
    .qa[open]::details-content{block-size:auto}
  }
  @media(prefers-reduced-motion:reduce){
    .qa::details-content{transition:none}
  }
  @media(max-width:900px){
    .hfaq-grid{grid-template-columns:1fr;grid-template-areas:"head" "list" "more";grid-template-rows:none;row-gap:40px}
    .hfaq-more{margin-top:0}
  }
  @media(max-width:560px){
    .hfaq-grid{width:calc(100% - 40px)}
    .qa summary{grid-template-columns:28px minmax(0,1fr) 32px;gap:12px;padding:22px 0}
    .qa-a{grid-template-columns:28px minmax(0,1fr);gap:12px;padding-bottom:26px}
    .qa-x{width:32px;height:32px}
    .qa-from{width:20px;height:23px}
  }

  /* ---------- footer ---------- */
  footer{border-top:1px solid var(--line-soft);padding:80px 0 40px;background:var(--obsidian)}
  .foot-grid{display:grid;grid-template-columns:1.7fr 1fr 1fr 1.4fr 1.05fr;gap:48px;margin-bottom:70px}
  /* Find us / Hours / Nearest station: dashboard text keeps its line breaks */
  .foot-text{white-space:pre-line;font-size:0.9062rem;line-height:1.75;color:var(--ivory-dim);margin:0}
  .foot h4.foot-sub{margin-top:28px}
  .foot a.foot-mail{display:inline-block;margin-top:10px}
  .foot-brand p.tagline{max-width:none;margin-top:18px;color:var(--ivory);font-size:0.9375rem;font-weight:600;letter-spacing:-.01em}
  .foot-brand p{font-size:0.875rem;color:var(--muted);max-width:300px;margin-top:20px}
  .foot h4{font-size:0.75rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);font-weight:600;margin-bottom:20px}
  .foot ul{list-style:none}
  .foot li{margin-bottom:11px}
  .foot a{font-size:0.9062rem;color:var(--ivory-dim);transition:color .25s}
  .foot a:hover{color:var(--ivory)}
  .tagline{color:var(--ivory);font-size:0.9375rem;font-weight:600;letter-spacing:-.01em;line-height:1.5}
  .tagline span{color:var(--muted)}
  .legal{border-top:1px solid var(--line-soft);padding-top:32px;display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;font-size:0.8125rem;color:var(--muted)}

  /* ---------- responsive ---------- */
  @media(max-width:1080px){
    .foot-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:40px 32px}
    .foot-brand{grid-column:1/-1}
  }
  @media(max-width:760px){
    .foot-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  }
  /* phones: the address and hours get the full width; the stations sit in two columns */
  @media(max-width:480px){
    .foot-find,.foot-near{grid-column:1/-1}
    .foot-near .foot-text{columns:2;column-gap:24px}
  }
  @media(max-width:860px){
    .nav-links,.nav .btn{display:none}
    .nav-burger{display:block}
    .nav.open .nav-links{display:flex;position:absolute;top:76px;left:0;right:0;background:var(--obsidian);flex-direction:column;padding:30px 40px;gap:20px;border-bottom:1px solid var(--line-soft)}
    .wrap{padding:0 24px}
    .sect{padding:88px 0}
    .hero-stats{gap:28px}
  }

/* ---------- Studios dropdown in the menu ----------
   "Studios" is a button now, not a link: it opens the list of studio pages (hover or click on
   desktop; on phones it folds the list open inside the menu) */
.nav-dd{position:relative;display:flex;align-items:center}
.nav-links .nav-dd-btn{display:inline-flex;align-items:center;gap:6px;padding:6px 0;border:0;border-bottom:1.5px solid transparent;background:none;cursor:pointer;
  font-family:var(--font);font-size:0.875rem;font-weight:500;line-height:inherit;color:var(--ivory-dim);transition:color .25s,border-color .25s}
.nav-dd-btn svg{display:block;flex:0 0 auto;opacity:.8;transition:transform .3s ease}
.nav-links .nav-dd-btn:hover,.nav-links .nav-dd.open .nav-dd-btn{color:var(--ivory)}
.nav-links .nav-dd-btn.active{color:var(--ivory);border-color:var(--gold)}
.nav-dd.open .nav-dd-btn svg{transform:rotate(180deg)}
.nav-dd-btn:focus-visible{outline:2px solid var(--gold);outline-offset:4px;border-radius:4px}
.nav-dd-panel{position:absolute;top:calc(100% + 18px);left:50%;z-index:120;width:248px;margin-left:-124px;padding:6px;border-radius:14px;
  background:rgba(14,13,11,.97);border:1px solid rgba(245,242,236,.1);box-shadow:0 30px 60px -22px rgba(0,0,0,.75);
  -webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);
  opacity:0;visibility:hidden;transform:translateY(-8px);transition:opacity .25s ease, transform .25s ease, visibility 0s linear .25s}
.nav-dd-panel::before{content:"";position:absolute;left:0;right:0;top:-20px;height:20px}
.nav-dd.open .nav-dd-panel{opacity:1;visibility:visible;transform:none;transition:opacity .25s ease, transform .25s ease, visibility 0s}
@media(hover:hover) and (min-width:861px){
  .nav-dd:hover .nav-dd-panel{opacity:1;visibility:visible;transform:none;transition:opacity .25s ease, transform .25s ease, visibility 0s}
  .nav-dd:hover .nav-dd-btn svg{transform:rotate(180deg)}
  .nav-links .nav-dd:hover .nav-dd-btn{color:var(--ivory)}
}
.nav-links .nav-dd-item{display:flex;align-items:center;gap:12px;padding:7px 8px;border:0;border-radius:9px;color:var(--ivory);transition:background-color .2s}
.nav-links .nav-dd-item:hover,.nav-links .nav-dd-item:focus-visible{background:rgba(245,242,236,.07);outline:none}
.nav-links .nav-dd-item[aria-current="page"]{background:rgba(245,242,236,.05);box-shadow:inset 2px 0 0 var(--gold)}
.nav-dd-art{position:relative;flex:0 0 auto;width:60px;height:42px;border-radius:7px;overflow:hidden;display:flex;align-items:center;justify-content:center;
  font-size:.875rem;font-weight:700;letter-spacing:-.04em;color:rgba(245,242,236,.45);box-shadow:inset 0 0 0 1px rgba(245,242,236,.08)}
/* each studio's photo (the same image as its homepage card); the colour tile shows behind it while it loads */
.nav-dd-art img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.nav-dd-txt b{font-size:.9375rem;font-weight:500;letter-spacing:-.01em;color:var(--ivory)}
@media(max-width:860px){
  .nav-dd{flex-wrap:wrap}
  .nav-dd-panel{position:static;flex:1 1 100%;width:auto;margin:10px 0 0;padding:4px;border-radius:12px;opacity:1;visibility:visible;transform:none;display:none;
    background:rgba(245,242,236,.03);box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}
  .nav-dd-panel::before{display:none}
  .nav-dd.open .nav-dd-panel{display:block}
}

/* ================= SUBPAGE COMPONENTS ================= */

/* ---------- page hero (subpages) ---------- */
.page-hero{padding:190px 0 90px;overflow:hidden;
  background:
    radial-gradient(ellipse 900px 560px at 82% 30%, rgba(96,62,36,.34), transparent 64%),
    var(--obsidian)}
.page-hero::before{content:"";position:absolute;inset:0;
  background-image:repeating-linear-gradient(90deg, rgba(245,242,236,.014) 0 1px, transparent 1px 120px),
                   repeating-linear-gradient(0deg, rgba(245,242,236,.014) 0 1px, transparent 1px 120px);
  pointer-events:none}
.page-hero .wrap{position:relative;z-index:2}
.page-hero h1{font-size:clamp(2.75rem,5.6vw,4.875rem);font-weight:700;letter-spacing:-.015em;line-height:1.08;max-width:900px}
.page-hero h1 .gold{color:var(--ivory)}
.page-hero p.lead{max-width:560px;font-size:clamp(0.9125rem, 0.5312rem + 1.2vw, 1.0625rem);color:var(--ivory-dim);margin:26px 0 0}
.page-hero .hero-ctas{margin-top:38px}
.page-hero.hero-tall{min-height:86vh;display:flex;align-items:center;padding:170px 0 90px}
.page-hero.hero-tall .wrap{width:100%}
.page-hero .hero-veil{position:absolute;inset:0;z-index:1;pointer-events:none;
  background:linear-gradient(180deg,rgba(10,10,10,.42) 0%,rgba(10,10,10,.6) 70%,rgba(10,10,10,.88) 100%)}
.page-hero.center{text-align:center}
.page-hero.center h1{margin:0 auto}
.page-hero.center p.lead{margin:26px auto 0}
.page-hero.center .hero-ctas{justify-content:center}

/* ---------- Our foundation: staggered glass cards ---------- */
.fnd-sect{padding-bottom:180px}
.sect-head h2.fnd-title{font-size:clamp(1.5625rem,2.7vw,2.375rem);font-weight:500;color:#5C564C;margin:18px auto 0;line-height:1.3;max-width:640px}
.fnd-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;margin-top:70px;align-items:start}
.fnd-card{position:relative;border:1px dashed rgba(245,242,236,.16);border-radius:22px;padding:34px 32px 38px;overflow:hidden;
  background:linear-gradient(165deg,rgba(245,242,236,.05),rgba(245,242,236,.012) 55%)}
.fnd-card::after{content:"";position:absolute;right:-40px;bottom:-60px;width:240px;height:220px;pointer-events:none;
  background:radial-gradient(ellipse at center,rgba(245,242,236,.07),transparent 70%)}
.fnd-card:nth-child(2){margin-top:120px}
.fnd-card:nth-child(3){margin-top:56px}
.fnd-num{font-size:3.375rem;font-weight:600;line-height:1;color:rgba(245,242,236,.85);letter-spacing:-.02em}
.fnd-num span{font-size:0.75rem;font-weight:500;letter-spacing:.08em;color:var(--muted);vertical-align:super;margin-left:7px;text-transform:lowercase}
.fnd-media{position:relative;height:170px;margin:30px 0 26px;border-radius:14px;display:flex;align-items:center;justify-content:center;
  background:rgba(245,242,236,.03);border:1px solid var(--line-soft)}
.fnd-media video,.fnd-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;border-radius:14px}
.fnd-card h3{font-size:clamp(1.0188rem, 0.5938rem + 1.2vw, 1.1875rem);color:var(--ivory)}
.fnd-card p{margin-top:12px;font-size:0.9062rem;color:var(--muted);line-height:1.65}
@media(max-width:900px){.fnd-grid{grid-template-columns:1fr;gap:22px}.fnd-card:nth-child(2),.fnd-card:nth-child(3){margin-top:0}.fnd-sect{padding-bottom:110px}}

/* ---------- About hero (headline + video, single full section) ---------- */
.about-hero{min-height:84vh;display:flex;align-items:center;padding:170px 0 90px;overflow:hidden;
  background:radial-gradient(ellipse 900px 560px at 82% 30%, rgba(96,62,36,.28), transparent 64%),var(--obsidian)}
.about-hero .wrap{width:100%}
.about-hero-grid{display:grid;grid-template-columns:1fr 1.2fr;gap:72px;align-items:center}
.about-hero h1{font-size:clamp(2.125rem,3.9vw,3.625rem);font-weight:700;letter-spacing:-.015em;line-height:1.1;color:var(--ivory)}
.about-hero p{margin-top:26px;color:var(--muted);font-size:1rem;max-width:470px;line-height:1.7}
.about-hero .about-addr{color:var(--ivory-dim);font-weight:500;margin-top:20px}
.about-hero .btn{margin-top:34px}
.about-hero-media{position:relative;height:clamp(320px,42vw,560px);border-radius:var(--radius);overflow:hidden;border:1px solid var(--line-soft)}
.about-hero-media .art-mark{font-size:10.625rem}
.about-hero-media video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
@media(max-width:900px){.about-hero{min-height:0;padding:150px 0 70px}.about-hero-grid{grid-template-columns:1fr;gap:44px}.about-hero-media{height:56vw;min-height:260px}}

/* ---------- How it works timeline (On Location) ---------- */
.hiw{display:grid;grid-template-columns:1fr 1.55fr;gap:64px;align-items:start}
.hiw-track{position:relative;min-height:100%}
.hiw-sticky{position:sticky;top:170px;min-height:360px}
.hiw-card{position:absolute;inset:0;opacity:0;transform:translateY(22px);transition:opacity .55s ease,transform .55s ease;pointer-events:none}
.hiw-card.current{opacity:1;transform:none;pointer-events:auto}
.hiw-tag{display:inline-block;font-size:0.6875rem;letter-spacing:.16em;text-transform:uppercase;color:var(--ivory);font-weight:600;
  border:1px solid var(--line);border-radius:100px;padding:7px 15px;margin-bottom:20px}
.hiw-card h3,.hiw-mtext h3{font-size:clamp(1.5rem,2.4vw,2rem);color:var(--ivory)}
.hiw-card p,.hiw-mtext p{margin-top:14px;color:var(--muted);font-size:0.9688rem;max-width:380px;line-height:1.65}
.hiw-card .btn{margin-top:28px}
.hiw-list{display:flex;flex-direction:column;gap:28px}
.hiw-media{position:relative;height:400px;border-radius:var(--radius);border:1px solid var(--line-soft);overflow:hidden}
.hiw-media::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 45%,rgba(10,10,10,.55));pointer-events:none}
.hiw-media video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hiw-num{position:absolute;right:28px;bottom:14px;z-index:2;font-size:5.75rem;font-weight:700;line-height:1;
  color:transparent;-webkit-text-stroke:1px rgba(245,242,236,.16)}
.hiw-mtext{display:none}
@media(max-width:991px){
  .hiw{grid-template-columns:1fr;gap:0}
  .hiw-track{display:none}
  .hiw-list{gap:54px}
  .hiw-mtext{display:block;margin-bottom:18px}
  .hiw-media{height:300px}
}

/* ---------- room sections (Studios page) ---------- */
.room{padding:110px 0;border-top:1px solid var(--line-soft)}
.room-media{position:relative;height:520px;border-radius:var(--radius);overflow:hidden;border:1px solid var(--line)}
.room-media::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,10,10,.02) 40%,rgba(10,10,10,.72) 96%)}
.room-media .art-mark{font-size:11.875rem}
/* media slider */
.room-media .slider{position:absolute;inset:0;display:flex;height:100%;transition:transform .55s cubic-bezier(.22,.61,.36,1);z-index:1}
.room-media .slide{min-width:100%;height:100%;position:relative;background-size:cover;background-position:center;cursor:pointer}
.room-media .slide.art-slide{cursor:default;display:flex;align-items:center;justify-content:center}
.room-media .slide video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.slide-play{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:3;width:74px;height:74px;border-radius:50%;
  border:1px solid rgba(245,242,236,.4);background:rgba(10,10,10,.55);backdrop-filter:blur(8px);color:var(--ivory);
  display:flex;align-items:center;justify-content:center;font-size:clamp(1.1875rem, 0.6875rem + 1.2vw, 1.375rem);pointer-events:none}
.slide-cap{position:absolute;bottom:20px;left:0;right:0;text-align:center;z-index:3;font-size:0.6875rem;letter-spacing:.14em;text-transform:uppercase;font-weight:600;color:var(--ivory-dim)}
.sl-nav{position:absolute;top:50%;transform:translateY(-50%);z-index:4;width:46px;height:46px;border-radius:50%;
  border:1px solid rgba(245,242,236,.35);background:rgba(10,10,10,.55);backdrop-filter:blur(8px);color:var(--ivory);
  display:flex;align-items:center;justify-content:center;font-size:clamp(0.9125rem, 0.5312rem + 1.2vw, 1.0625rem);cursor:pointer;transition:all .3s}
.sl-nav:hover{background:var(--ivory);color:var(--obsidian);border-color:var(--ivory)}
.sl-nav.prev{left:18px}
.sl-nav.next{right:18px}
.sl-dots{position:absolute;bottom:18px;left:50%;transform:translateX(-50%);z-index:4;display:flex;gap:9px}
.sl-dot{width:8px;height:8px;border-radius:50%;border:none;padding:0;background:rgba(245,242,236,.35);cursor:pointer;transition:background .3s,transform .3s}
.sl-dot.active{background:var(--ivory);transform:scale(1.25)}
#gal-ov{position:fixed;inset:0;z-index:400;background:rgba(6,6,6,.94);display:none;align-items:center;justify-content:center;padding:4vw;backdrop-filter:blur(8px)}
#gal-ov img{max-width:100%;max-height:100%;border-radius:14px}
#gal-x{position:absolute;top:22px;right:26px;background:none;border:1px solid rgba(245,242,236,.4);border-radius:12px;color:#F5F2EC;font-size:0.9375rem;font-family:inherit;font-weight:600;padding:10px 20px;cursor:pointer}
.room-kicker{font-size:0.75rem;letter-spacing:.15em;text-transform:uppercase;color:var(--ivory);font-weight:600;margin-bottom:14px}
.room-play{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:3;width:86px;height:86px;border-radius:50%;
  border:1px solid rgba(245,242,236,.4);background:rgba(10,10,10,.55);backdrop-filter:blur(8px);color:var(--ivory);
  display:flex;align-items:center;justify-content:center;font-size:clamp(1.4375rem, 0.8125rem + 1.2vw, 1.625rem);cursor:pointer;transition:all .3s}
.room-play:hover{background:var(--ivory);color:var(--obsidian);border-color:var(--ivory)}
.room-medianote{position:absolute;bottom:22px;right:26px;z-index:3;font-size:0.6562rem;letter-spacing:.12em;text-transform:uppercase;font-weight:500;color:rgba(245,242,236,.5)}
.room-label{position:absolute;top:22px;left:24px;z-index:3;display:flex;align-items:center;gap:9px;font-size:0.75rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--ivory-dim);
  background:rgba(10,10,10,.5);border:1px solid var(--line);border-radius:100px;padding:8px 16px;backdrop-filter:blur(6px)}
.room-label::before{content:"";width:6px;height:6px;background:var(--ivory);opacity:.8;border-radius:50%}
.room-body{display:grid;grid-template-columns:1.15fr 1fr;gap:70px;margin-top:46px;align-items:start}
.room-body h2{font-size:clamp(2.125rem,4vw,3.375rem)}
.room-body .room-sub{color:var(--muted);font-size:0.9375rem;font-weight:500;margin-top:10px}
.room-body .room-origin{margin-top:8px;max-width:520px;font-family:'DM Serif Display',Georgia,serif;font-style:italic;font-size:1rem;line-height:1.45;color:var(--ivory-dim)}
.room-body p.desc{margin-top:20px;font-size:0.9688rem;color:var(--ivory-dim);max-width:560px}
.room-body .stage-meta{margin-top:22px}
.room-body .btn{margin-top:30px}
.room-specs{background:var(--panel);border:1px solid var(--line-soft);border-radius:var(--radius);padding:34px 36px}
.room-specs h4{font-size:0.75rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);font-weight:600;margin-bottom:18px}
.room-specs li{list-style:none;padding:11px 0;border-top:1px solid var(--line-soft);font-size:0.9062rem;color:var(--ivory-dim);display:flex;gap:12px;align-items:baseline}
.room-specs li::before{content:"–";color:var(--muted);flex:0 0 auto}

/* ---------- pricing grid (Services page) ---------- */
.price-cat{font-size:0.875rem;letter-spacing:.16em;text-transform:uppercase;color:var(--ivory);font-weight:600;
  display:flex;align-items:center;gap:18px;margin:64px 0 26px}
.price-cat::after{content:"";flex:1;height:1px;background:var(--line-soft)}
.price-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.price-card{background:var(--panel);border:1px solid var(--line-soft);border-radius:var(--radius);overflow:hidden;
  display:flex;flex-direction:column;transition:border-color .3s,transform .3s}
.price-card:hover{border-color:var(--line);transform:translateY(-3px)}
.price-card.wide{grid-column:span 2}
.price-art{height:150px;position:relative}
.price-art-row{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.price-art-row .price-art{overflow:hidden;border-radius:0}
.price-art::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 50%,rgba(20,19,17,.9))}
.price-body{padding:24px 26px 22px;display:flex;flex-direction:column;flex:1}
.price-body h3{font-size:clamp(0.9938rem, 0.575rem + 1.2vw, 1.1562rem);font-weight:600;letter-spacing:-.01em;margin-bottom:9px}
.price-body p{font-size:0.875rem;color:var(--muted);flex:1}
.price-line{display:flex;align-items:center;justify-content:space-between;margin-top:22px;padding-top:18px;border-top:1px solid var(--line-soft);font-size:0.9375rem}
.price-line strong{color:var(--ivory);font-weight:600}
.price-book{margin-top:18px;padding:12px 24px;font-size:0.875rem}
.price-line span{color:var(--muted);font-size:0.8438rem}
.price-line .go{color:var(--ivory-dim);transition:color .25s,transform .25s}
.price-card:hover .go{color:var(--ivory);transform:translateX(3px)}

/* ---------- journey trio ---------- */
.trio{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.trio-card{background:var(--panel);border:1px solid var(--line-soft);border-radius:var(--radius);padding:38px 34px;display:flex;flex-direction:column}
.trio-icon{width:52px;height:52px;border-radius:14px;background:rgba(245,242,236,.05);border:1px solid var(--line-soft);
  display:flex;align-items:center;justify-content:center;font-size:clamp(1.1313rem, 0.6562rem + 1.2vw, 1.3125rem);margin-bottom:26px}
.trio-card h3{font-size:clamp(1.075rem, 0.625rem + 1.2vw, 1.25rem);font-weight:600;letter-spacing:-.01em;margin-bottom:12px}
.trio-card p{font-size:0.9062rem;color:var(--muted);flex:1}
.trio-card .btn{margin-top:28px;align-self:flex-start}

/* ---------- how it works steps ---------- */
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border:1px solid var(--line-soft);border-radius:var(--radius);overflow:hidden}
.step{padding:40px 34px;background:var(--panel)}
.step + .step{border-left:1px solid var(--line-soft)}
.step .num{font-family:var(--font);font-size:0.6875rem;font-weight:600;letter-spacing:.15em;color:var(--ivory-dim);text-transform:uppercase;opacity:1}
.step h3{font-size:clamp(0.9125rem, 0.5312rem + 1.2vw, 1.0625rem);font-weight:600;margin:18px 0 10px}
.step p{font-size:0.875rem;color:var(--muted)}

/* ---------- coverage (On Location) ---------- */
.cover-grid{display:grid;grid-template-columns:1fr 1.25fr;gap:70px;align-items:center}
.cover-list{list-style:none}
.cover-list li{display:flex;align-items:center;gap:13px;width:fit-content;min-width:300px;
  border:1px solid var(--line);border-radius:100px;padding:14px 26px 14px 20px;margin-bottom:14px;
  font-size:0.9688rem;font-weight:500;color:var(--ivory-dim);transition:border-color .3s,color .3s}
.cover-list li:hover{border-color:rgba(163,126,44,.55);color:var(--ivory)}
.cover-list li svg{flex:0 0 auto}
/* stylised UK map: borderless, fades into the section background */
.cover-map{position:relative}
.cover-map::before{content:"";position:absolute;inset:-8% -14%;pointer-events:none;
  background:radial-gradient(ellipse 55% 48% at 52% 46%, rgba(163,126,44,.09), transparent 70%)}
.cover-map svg{display:block;width:100%;height:auto;max-height:780px;position:relative;
  -webkit-mask-image:radial-gradient(ellipse 78% 72% at 50% 48%, #000 58%, transparent 99%);
  mask-image:radial-gradient(ellipse 78% 72% at 50% 48%, #000 58%, transparent 99%)}
.map-land{fill:rgba(245,242,236,.03);stroke:rgba(245,242,236,.09);stroke-width:1.4;stroke-linejoin:round;stroke-linecap:round}
.map-roads path,.map-roads circle{fill:none;stroke:rgba(245,242,236,.085);stroke-width:1;stroke-linecap:round}
.map-dot .ring{fill:none;stroke:rgba(245,242,236,.45);stroke-width:1}
/* gold routes drawing out from London once the map scrolls into view */
.map-links path{fill:none;stroke:rgba(245,242,236,.3);stroke-width:1.3;stroke-linecap:round;
  stroke-dasharray:1;stroke-dashoffset:1}
.cover-map.in .map-links path{animation:linkDraw 1.4s cubic-bezier(.4,0,.2,1) forwards}
.cover-map.in .map-links path:nth-child(1){animation-delay:.3s}
.cover-map.in .map-links path:nth-child(2){animation-delay:.5s}
.cover-map.in .map-links path:nth-child(3){animation-delay:.7s}
.cover-map.in .map-links path:nth-child(4){animation-delay:.9s}
.cover-map.in .map-links path:nth-child(5){animation-delay:1.1s}
@keyframes linkDraw{to{stroke-dashoffset:0}}
.map-travel circle{fill:var(--ivory);opacity:0}
.cover-map.in .map-travel circle{animation:travelIn .6s ease 1.8s forwards}
@keyframes travelIn{to{opacity:.9}}
.map-labels text{fill:rgba(245,242,236,.5);font-family:var(--font);font-size:0.625rem;font-weight:500;letter-spacing:.14em;text-transform:uppercase}
.map-dot .core{fill:var(--ivory)}
.map-dot .halo{fill:rgba(245,242,236,.28);transform-box:fill-box;transform-origin:center;animation:mapPulse 2.6s ease-out infinite;animation-delay:var(--d,0s)}
@keyframes mapPulse{0%{transform:scale(.5);opacity:.9}70%{transform:scale(1.6);opacity:0}100%{transform:scale(.5);opacity:0}}
.cover-card{background:var(--panel);border:1px solid var(--line-soft);border-radius:var(--radius);padding:60px 48px;text-align:center}
.cover-card .pin{width:56px;height:56px;border-radius:50%;border:1px solid var(--line);margin:0 auto 24px;display:flex;align-items:center;justify-content:center;font-size:clamp(1.1875rem, 0.6875rem + 1.2vw, 1.375rem)}
.cover-card h3{font-size:clamp(1.3125rem, 0.75rem + 1.2vw, 1.5rem);font-weight:600;margin-bottom:8px}
.cover-card .sub{font-size:0.7812rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);font-weight:600;margin-bottom:26px}
.cover-tags{display:flex;flex-wrap:wrap;gap:8px;justify-content:center}

/* ---------- about ---------- */
.story-grid{display:grid;grid-template-columns:1.05fr 1fr;gap:80px;align-items:center}
.story-copy p{font-size:1rem;color:var(--ivory-dim);margin-bottom:18px;max-width:520px}
.story-quotes{margin:28px 0 34px;border-left:2px solid var(--line);padding-left:24px}
.story-quotes .q{font-size:clamp(0.9125rem, 0.5312rem + 1.2vw, 1.0625rem);font-weight:600;color:var(--ivory);line-height:1.6}
.story-quotes .q span{color:var(--muted)}
.story-media{position:relative;min-height:560px;border-radius:var(--radius);overflow:hidden;border:1px solid var(--line)}
.story-media::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,10,10,.02) 40%,rgba(10,10,10,.7) 96%)}
.mosaic{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:180px;gap:16px}
.mosaic .tile{border-radius:14px;position:relative;overflow:hidden;border:1px solid var(--line-soft)}
.mosaic .tall{grid-row:span 2}
.mosaic .wide2{grid-column:span 2}

/* ---------- contact ---------- */
.contact-grid{display:grid;grid-template-columns:1fr 1.25fr;gap:80px;align-items:start}
.cform{background:var(--panel);border:1px solid var(--line-soft);border-radius:var(--radius);padding:44px}
.cform h3{font-size:clamp(1.1875rem, 0.6875rem + 1.2vw, 1.375rem);font-weight:600;margin-bottom:26px}
.f-row{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.f-field{margin-bottom:18px}
.f-field label{display:block;font-size:0.8125rem;font-weight:500;color:var(--ivory-dim);margin-bottom:8px}
.f-field label em{color:#C96A4C;font-style:normal}
.f-field input,.f-field select,.f-field textarea{width:100%;background:var(--obsidian-2);border:1px solid var(--line);border-radius:12px;
  color:var(--ivory);font-family:var(--font);font-size:0.9062rem;padding:14px 16px;outline:none;transition:border-color .25s}
.f-field input::placeholder,.f-field textarea::placeholder{color:var(--muted)}
.f-field input:focus,.f-field select:focus,.f-field textarea:focus{border-color:rgba(245,242,236,.4)}
.f-field textarea{min-height:150px;resize:vertical}
.f-field select{appearance:none;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='11' height='7' viewBox='0 0 11 7'><path d='M1 1l4.5 4.5L10 1' stroke='%238A857B' stroke-width='1.6' fill='none' stroke-linecap='round'/></svg>");
  background-repeat:no-repeat;background-position:right 16px center}
.f-note{font-size:0.7812rem;color:var(--muted);margin-top:14px}
.c-detail{padding:22px 0;border-bottom:1px solid var(--line-soft)}
.c-detail .k{font-size:0.75rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);font-weight:600;margin-bottom:6px}
.c-detail .v{font-size:1.0312rem;color:var(--ivory)}
.c-detail .s{font-size:0.8438rem;color:var(--muted);margin-top:3px}

/* ---------- misc ---------- */
.sect-tight{padding:100px 0}
.cta-band{padding:130px 0;text-align:center;border-top:1px solid var(--line-soft);
  background:radial-gradient(ellipse 700px 420px at 50% 120%, rgba(96,52,26,.24), transparent 68%),var(--obsidian)}
.cta-band h2{font-size:clamp(2.375rem,5vw,4rem)}
.cta-band p{color:var(--muted);font-size:1.0312rem;max-width:520px;margin:22px auto 38px}
.crumb{font-size:0.7812rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);font-weight:600;margin-bottom:22px;display:block}

@media(max-width:1080px){
  .room-body{grid-template-columns:1fr;gap:40px}
  .price-grid{grid-template-columns:1fr 1fr}
  .price-card.wide{grid-column:span 2}
  .trio{grid-template-columns:1fr}
  .steps{grid-template-columns:1fr 1fr}
  .step:nth-child(3){border-left:none}
  .step:nth-child(n+3){border-top:1px solid var(--line-soft)}
  .cover-grid,.story-grid,.contact-grid{grid-template-columns:1fr;gap:50px}
  .story-media{min-height:420px}
  .mosaic{grid-template-columns:1fr 1fr;grid-auto-rows:160px}
}
@media(max-width:860px){
  .page-hero{padding:150px 0 70px}
  .room{padding:80px 0}
  .room-media{height:340px}
  .price-grid{grid-template-columns:1fr}
  .price-card.wide{grid-column:span 1}
  .steps{grid-template-columns:1fr}
  .step + .step{border-left:none;border-top:1px solid var(--line-soft)}
  .f-row{grid-template-columns:1fr}
  .cform{padding:30px 24px}
}

/* ================= BOOKING FLOW ================= */
.book-hero{padding:170px 0 50px;text-align:center}
.book-hero h1{font-size:clamp(2.25rem,4.6vw,3.75rem);font-weight:700;letter-spacing:-.015em}
.book-hero p{color:var(--muted);font-size:1rem;margin-top:14px}

.stepper{display:flex;justify-content:center;gap:0;margin:44px auto 56px;max-width:760px}
.step-item{display:flex;align-items:center;gap:12px;flex:1;min-width:0}
.step-item::after{content:"";flex:1;height:1px;background:var(--line-soft);margin:0 14px}
.step-item:last-child{flex:0 0 auto}
.step-item:last-child::after{display:none}
.step-circle{width:38px;height:38px;border-radius:50%;border:1px solid var(--line);display:flex;align-items:center;justify-content:center;
  font-size:0.875rem;font-weight:600;color:var(--muted);flex:0 0 auto;transition:all .3s;background:var(--obsidian-2)}
.step-item .step-label{font-size:0.8125rem;font-weight:500;color:var(--muted);white-space:nowrap;transition:color .3s}
.step-item.active .step-circle{background:var(--ivory);border-color:var(--ivory);color:var(--obsidian)}
.step-item.active .step-label{color:var(--ivory)}
.step-item.done .step-circle{background:transparent;border-color:var(--gold);color:var(--gold)}
.step-item.done .step-label{color:var(--ivory-dim)}

.book-layout{display:grid;grid-template-columns:1.7fr 1fr;gap:34px;align-items:start;padding-bottom:120px}
.book-card{background:var(--panel);border:1px solid var(--line-soft);border-radius:var(--radius);padding:34px;margin-bottom:22px}
.book-card-title{font-size:clamp(1.0188rem, 0.5938rem + 1.2vw, 1.1875rem);font-weight:600;letter-spacing:-.01em;color:var(--ivory);margin-bottom:24px}

.room-picker{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}
.room-opt{position:relative;border:1px solid var(--line-soft);border-radius:14px;overflow:hidden;cursor:pointer;background:var(--obsidian-2);transition:border-color .25s,transform .25s}
.room-opt:hover{border-color:var(--line);transform:translateY(-2px)}
.room-opt.selected{border-color:var(--ivory)}
.room-opt-img{height:110px;position:relative}
.room-opt-img::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 40%,rgba(10,10,10,.55))}
.room-opt-check{position:absolute;top:10px;right:10px;width:26px;height:26px;border-radius:50%;background:var(--ivory);color:var(--obsidian);
  display:flex;align-items:center;justify-content:center;font-size:0.8125rem;font-weight:700;opacity:0;transform:scale(.6);transition:all .25s}
.room-opt.selected .room-opt-check{opacity:1;transform:scale(1)}
.room-opt-body{padding:14px 16px 16px}
.room-opt-name{font-size:1rem;font-weight:600;color:var(--ivory)}
.room-opt-cap{font-size:0.7812rem;color:var(--muted);margin-top:2px}
.room-opt-price{font-size:0.8125rem;font-weight:600;color:var(--ivory-dim);margin-top:8px}

.pill-row{display:flex;flex-wrap:wrap;gap:9px}
.pill-opt{font-family:var(--font);font-size:0.8438rem;font-weight:600;color:var(--ivory-dim);background:var(--obsidian-2);
  border:1px solid var(--line-soft);border-radius:11px;padding:11px 18px;cursor:pointer;transition:all .25s}
.pill-opt:hover{border-color:var(--line);color:var(--ivory)}
.pill-opt.on{background:var(--ivory);border-color:var(--ivory);color:var(--obsidian)}
.pill-opt:disabled{opacity:.3;cursor:not-allowed}

.addon-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:15px 0;border-top:1px solid var(--line-soft)}
.addon-row:first-child{border-top:none}
.addon-row label{display:flex;align-items:center;gap:13px;font-size:0.9062rem;color:var(--ivory-dim);cursor:pointer;flex:1}
.addon-row input{appearance:none;width:20px;height:20px;border:1px solid var(--line);border-radius:6px;background:var(--obsidian-2);cursor:pointer;position:relative;flex:0 0 auto;transition:all .2s}
.addon-row input:checked{background:var(--ivory);border-color:var(--ivory)}
.addon-row input:checked::after{content:"✓";position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:0.8125rem;font-weight:700;color:var(--obsidian)}
.addon-price{font-size:0.8438rem;font-weight:600;color:var(--muted);white-space:nowrap}
.addon-sub{font-size:0.7812rem;color:var(--muted);display:block;margin-top:2px}

.book-nav{display:flex;gap:12px;margin-top:6px}
.book-nav .btn{padding:18px 30px}
.book-nav .grow{flex:1}
.book-err{display:none;background:rgba(201,106,76,.1);border:1px solid rgba(201,106,76,.35);color:#E0937A;border-radius:12px;padding:13px 18px;font-size:0.8438rem;margin-bottom:18px}
.book-err.show{display:block}

.sum-card{background:var(--panel);border:1px solid var(--line-soft);border-radius:var(--radius);overflow:hidden;position:sticky;top:100px}
.sum-head{padding:20px 26px;border-bottom:1px solid var(--line-soft);font-size:0.75rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);font-weight:600}
.sum-preview{height:150px;position:relative}
.sum-preview::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 30%,rgba(10,10,10,.75))}
.sum-preview-name{position:absolute;bottom:14px;left:20px;z-index:2;font-size:clamp(1.0188rem, 0.5938rem + 1.2vw, 1.1875rem);font-weight:600;color:var(--ivory)}
.sum-rows{padding:10px 26px}
.sum-row{display:flex;justify-content:space-between;gap:14px;padding:10px 0;border-bottom:1px solid var(--line-soft);font-size:0.875rem}
.sum-row:last-child{border-bottom:none}
.sum-row .k{color:var(--muted)}
.sum-row .v{color:var(--ivory-dim);font-weight:500;text-align:right}
.sum-total{display:flex;justify-content:space-between;align-items:center;padding:20px 26px;border-top:1px solid var(--line);background:var(--obsidian-2)}
.sum-total .k{font-size:0.75rem;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);font-weight:600}
.sum-total .v{font-size:clamp(1.4375rem, 0.8125rem + 1.2vw, 1.625rem);font-weight:700;color:var(--ivory);letter-spacing:-.02em}
.sum-help{font-size:0.8125rem;color:var(--muted);padding:18px 6px;line-height:1.6}
.sum-help a{color:var(--ivory-dim)}

.review-grid{display:grid;grid-template-columns:1fr 1fr;gap:2px;border-radius:12px;overflow:hidden}
.review-field{background:var(--obsidian-2);padding:16px 20px;min-width:0}
.review-field .k{font-size:0.6875rem;letter-spacing:.13em;text-transform:uppercase;color:var(--muted);font-weight:600}
.review-field .v{font-size:0.9375rem;color:var(--ivory);margin-top:5px;font-weight:500;overflow-wrap:anywhere;word-break:break-word}
.pay-secure{display:flex;align-items:center;gap:10px;font-size:0.7812rem;color:var(--muted);margin-top:6px}
/* reCAPTCHA (bot protection): Google permits hiding its corner badge when the
   credit line (.rc-credit) is shown where visitors submit forms */
.grecaptcha-badge{visibility:hidden !important}
.rc-credit{font-size:0.6875rem;color:var(--muted);line-height:1.6;margin-top:10px}
.rc-credit a{color:var(--ivory-dim);text-decoration:underline;text-underline-offset:2px}

/* ---------- boarding pass ---------- */
.bp-overlay{position:fixed;inset:0;z-index:300;background:rgba(6,6,6,.88);backdrop-filter:blur(10px);
  display:flex;align-items:center;justify-content:center;padding:30px 20px;opacity:0;pointer-events:none;transition:opacity .4s;overflow-y:auto}
.bp-overlay.visible{opacity:1;pointer-events:auto}
.bp-wrap{width:100%;max-width:720px;margin:auto;transform:translateY(24px) scale(.97);transition:transform .45s cubic-bezier(.2,.9,.3,1.2)}
.bp-overlay.visible .bp-wrap{transform:none}
/* boarding pass: white card, gold on the outline only, black header with a white wordmark */
.bpass{position:relative;background:#FFFFFF;border:3px solid var(--gold);border-radius:22px;color:var(--obsidian);box-shadow:0 40px 120px rgba(0,0,0,.6)}
.bp-stripe{display:none}
.bp-head{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;padding:28px 34px 24px;color:#FFFFFF;border-radius:19px 19px 0 0;
  background-color:#0A0A0A;background-repeat:no-repeat;background-position:right -120px top -190px;background-size:560px 560px;
  background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20700%20700%22%3E%3Cpolygon%20points%3D%22479.9%2C425.0%20350.0%2C500.0%20220.1%2C425.0%20220.1%2C275.0%20350.0%2C200.0%20479.9%2C275.0%22%20fill%3D%22none%22%20stroke%3D%22rgba%28255%2C255%2C255%2C0.07%29%22%20stroke-width%3D%221.2%22%2F%3E%3Cpolygon%20points%3D%22531.9%2C455.0%20350.0%2C560.0%20168.1%2C455.0%20168.1%2C245.0%20350.0%2C140.0%20531.9%2C245.0%22%20fill%3D%22none%22%20stroke%3D%22rgba%28255%2C255%2C255%2C0.07%29%22%20stroke-width%3D%221.2%22%2F%3E%3Cpolygon%20points%3D%22583.8%2C485.0%20350.0%2C620.0%20116.2%2C485.0%20116.2%2C215.0%20350.0%2C80.0%20583.8%2C215.0%22%20fill%3D%22none%22%20stroke%3D%22rgba%28255%2C255%2C255%2C0.07%29%22%20stroke-width%3D%221.2%22%2F%3E%3Cpolygon%20points%3D%22635.8%2C515.0%20350.0%2C680.0%2064.2%2C515.0%2064.2%2C185.0%20350.0%2C20.0%20635.8%2C185.0%22%20fill%3D%22none%22%20stroke%3D%22rgba%28255%2C255%2C255%2C0.07%29%22%20stroke-width%3D%221.2%22%2F%3E%3C%2Fsvg%3E")}
.bp-brand{display:flex;align-items:center;gap:12px}
.bp-wordmark{font-family:'Cinzel',Georgia,'Times New Roman',serif;font-weight:700;font-size:1rem;letter-spacing:.22em;color:#FFFFFF;display:block}
.bp-tagline{font-size:0.6875rem;color:rgba(255,255,255,.6);margin-top:8px;letter-spacing:.06em}
.bp-ref-label{font-size:0.625rem;letter-spacing:.2em;text-transform:uppercase;color:rgba(255,255,255,.55);font-weight:600;text-align:right}
.bp-ref{font-family:var(--font);font-size:clamp(0.9125rem, 0.5312rem + 1.2vw, 1.0625rem);font-weight:700;letter-spacing:.06em;margin-top:4px;text-align:right;color:#FFFFFF}
.bp-body{padding:26px 34px}
.bp-route{display:flex;align-items:center;gap:20px;margin-bottom:26px}
.bp-code{font-size:2.125rem;font-weight:700;letter-spacing:-.01em}
.bp-code-name{font-size:0.75rem;color:rgba(10,10,10,.5);margin-top:2px;font-weight:500}
.bp-track{flex:1;display:flex;align-items:center;gap:10px}
.bp-track .ln{flex:1;height:1px;background:rgba(10,10,10,.2)}
.bp-track .plane{font-size:1rem;color:var(--obsidian)}
.bp-fields{display:grid;grid-template-columns:repeat(4,1fr);gap:2px;border-radius:12px;overflow:hidden;margin-bottom:22px}
.bp-field{background:rgba(10,10,10,.045);padding:14px 16px}
.bp-field .k{font-size:0.5938rem;letter-spacing:.16em;text-transform:uppercase;color:rgba(10,10,10,.45);font-weight:600}
.bp-field .v{font-size:0.9688rem;font-weight:600;margin-top:4px}
.bp-studio-row{display:flex;justify-content:space-between;align-items:flex-end;gap:20px}
.bp-studio-row .name{font-family:var(--crest);font-size:clamp(1.0188rem, 0.5938rem + 1.2vw, 1.1875rem);font-weight:700}
.bp-studio-row .total{font-size:clamp(1.4375rem, 0.8125rem + 1.2vw, 1.625rem);font-weight:700;letter-spacing:-.02em}
/* tear line with die-cut notches: dark holes on the border, gold arc on the inner half only */
.bp-tear{position:relative;height:0;border-top:2px dashed rgba(10,10,10,.3);margin:0}
.bp-tear::before,.bp-tear::after{content:"";position:absolute;top:-19px;width:34px;height:34px;border-radius:50%;background:#141312;
  border:3px solid;border-color:var(--gold) var(--gold) transparent transparent;box-sizing:border-box;z-index:2}
.bp-tear::before{left:-20px;transform:rotate(45deg)}
.bp-tear::after{right:-20px;transform:rotate(225deg)}
.bp-stub{position:relative;overflow:hidden;display:flex;align-items:center;gap:26px;padding:24px 34px 28px;border-radius:0 0 19px 19px;
  background:#FFFFFF}
.bp-stub::before{content:"";position:absolute;right:-110px;bottom:-150px;width:400px;height:400px;pointer-events:none;
  background-repeat:no-repeat;background-size:400px 400px;
  background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20440%20440%22%3E%3Cpolygon%20points%3D%22315.3%2C275.0%20220.0%2C330.0%20124.7%2C275.0%20124.7%2C165.0%20220.0%2C110.0%20315.3%2C165.0%22%20fill%3D%22none%22%20stroke%3D%22rgba%2810%2C10%2C10%2C0.055%29%22%20stroke-width%3D%221.2%22%2F%3E%3Cpolygon%20points%3D%22358.6%2C300.0%20220.0%2C380.0%2081.4%2C300.0%2081.4%2C140.0%20220.0%2C60.0%20358.6%2C140.0%22%20fill%3D%22none%22%20stroke%3D%22rgba%2810%2C10%2C10%2C0.055%29%22%20stroke-width%3D%221.2%22%2F%3E%3Cpolygon%20points%3D%22401.9%2C325.0%20220.0%2C430.0%2038.1%2C325.0%2038.1%2C115.0%20220.0%2C10.0%20401.9%2C115.0%22%20fill%3D%22none%22%20stroke%3D%22rgba%2810%2C10%2C10%2C0.055%29%22%20stroke-width%3D%221.2%22%2F%3E%3C%2Fsvg%3E")}
.bp-stub::after{content:"12";position:absolute;right:26px;bottom:-22px;font-family:'Cinzel',Georgia,serif;font-weight:700;font-size:7rem;line-height:1;color:rgba(10,10,10,.035);pointer-events:none}
.bp-stub > *{position:relative;z-index:1}
/* QR plate: thin frame with corner ticks (two ticks on the plate, two on the grid) */
.bp-qr-plate{position:relative;padding:12px;border:1px solid rgba(10,10,10,.2);border-radius:8px;background:#FFFFFF}
.bp-qr-plate::before,.bp-qr-plate::after,.bp-qr::before,.bp-qr::after{content:"";position:absolute;width:12px;height:12px;border:0 solid #0A0A0A;pointer-events:none}
.bp-qr-plate::before{top:-1px;left:-1px;border-top-width:1.5px;border-left-width:1.5px}
.bp-qr-plate::after{top:-1px;right:-1px;border-top-width:1.5px;border-right-width:1.5px}
.bp-qr::before{bottom:-13px;left:-13px;border-bottom-width:1.5px;border-left-width:1.5px}
.bp-qr::after{bottom:-13px;right:-13px;border-bottom-width:1.5px;border-right-width:1.5px}
.bp-qr{position:relative;display:grid;grid-template-columns:repeat(13,5px);grid-auto-rows:5px;gap:1px;padding:0;background:#fff}
.bp-qr i{background:#0A0A0A}
.bp-qr i.o{background:transparent}
.bp-stub-info{flex:1;border:1px solid rgba(10,10,10,.2);border-radius:10px;padding:12px 16px;background:rgba(255,255,255,.7)}
.bp-stub-info .k{font-size:0.5938rem;letter-spacing:.18em;text-transform:uppercase;color:rgba(10,10,10,.45);font-weight:600}
.bp-stub-info .ref{font-size:1rem;font-weight:700;letter-spacing:.05em;margin-top:3px}
.bp-stub-info .st{font-size:0.7812rem;color:rgba(10,10,10,.55);margin-top:6px}
.bp-status{text-align:right}
.bp-status .ok{display:inline-flex;align-items:center;gap:7px;font-size:0.75rem;font-weight:700;letter-spacing:.1em;color:#0A0A0A;
  border:1.5px solid #0A0A0A;background:#FFFFFF;border-radius:100px;padding:7px 15px}
.bp-status .sub{font-size:0.6562rem;color:rgba(10,10,10,.45);margin-top:8px;letter-spacing:.04em}
.bp-actions{display:flex;justify-content:center;gap:12px;margin-top:26px;flex-wrap:wrap}

@media(max-width:1080px){
  .book-layout{grid-template-columns:1fr}
  .sum-card{position:static}
}
@media(max-width:860px){
  .stepper{flex-wrap:wrap;gap:14px}
  .step-item::after{display:none}
  .step-item{flex:0 0 44%}
  .room-picker{grid-template-columns:1fr}
  .book-card{padding:24px 20px}
  .bp-fields{grid-template-columns:1fr 1fr}
  .bp-head,.bp-body,.bp-stub{padding-left:22px;padding-right:22px}
  .bp-route{flex-direction:row}
  .bp-stub{flex-wrap:wrap}
}
@media print{
  body.bp-printing > *:not(.bp-overlay){display:none !important}
  body.bp-printing .bp-overlay{position:static;opacity:1;pointer-events:auto;background:#fff;backdrop-filter:none;padding:0}
  body.bp-printing .bp-wrap{transform:none;max-width:100%}
  body.bp-printing .bp-actions{display:none}
  body.bp-printing .bpass{box-shadow:none;border:3px solid var(--gold)}
  body.bp-printing .bp-tear::before,body.bp-printing .bp-tear::after{background:#fff}
}

/* ---------- calendar popup ---------- */
.date-field{display:flex;justify-content:space-between;align-items:center;gap:12px;width:100%;
  background:var(--obsidian-2);border:1px solid var(--line);border-radius:12px;color:var(--ivory);
  font-family:var(--font);font-size:0.9062rem;font-weight:500;padding:14px 16px;cursor:pointer;transition:border-color .25s;text-align:left}
.date-field:hover,.date-field.open{border-color:rgba(245,242,236,.4)}
.date-field .ico{color:var(--muted);display:flex;flex:0 0 auto}
.cal-pop{position:absolute;top:calc(100% + 10px);left:0;z-index:60;width:330px;max-width:86vw;
  background:var(--panel-2);border:1px solid var(--line);border-radius:16px;padding:20px;
  box-shadow:0 30px 80px rgba(0,0,0,.6);display:none}
.cal-pop.open{display:block}
.cal-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}
.cal-title{font-size:0.9375rem;font-weight:600;color:var(--ivory)}
.cal-nav{width:34px;height:34px;border-radius:10px;border:1px solid var(--line-soft);background:transparent;
  color:var(--ivory);font-size:0.9375rem;cursor:pointer;transition:all .25s;display:flex;align-items:center;justify-content:center}
.cal-nav:hover:not(:disabled){background:var(--ivory);color:var(--obsidian);border-color:var(--ivory)}
.cal-nav:disabled{opacity:.25;cursor:default}
.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}
.cal-dow{font-size:0.625rem;letter-spacing:.1em;color:var(--muted);text-transform:uppercase;text-align:center;padding:6px 0;font-weight:600}
.cal-day{aspect-ratio:1;border-radius:9px;background:transparent;border:1px solid transparent;color:var(--ivory-dim);
  font-family:var(--font);font-size:0.8438rem;font-weight:500;cursor:pointer;transition:all .2s}
.cal-day:hover:not(:disabled):not(.sel){background:rgba(245,242,236,.08);color:var(--ivory)}
.cal-day:disabled{opacity:.2;cursor:default}
.cal-day.today{border-color:var(--line)}
.cal-day.sel{background:var(--ivory);color:var(--obsidian);font-weight:700}
.cal-day.blank{visibility:hidden}


/* ---------- rate card, tiers, flagship (July 2026 rate rollout) ---------- */
.vat-tag{font-size:0.6562rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);white-space:nowrap}
.flag-badge{display:inline-block;background:var(--gold);color:var(--obsidian);font-size:0.625rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;border-radius:100px;padding:4px 11px;margin-right:10px;vertical-align:1px}
.room-flagship .room-media{height:600px}
.room-flagship .room-body h2{font-size:clamp(2.5rem,4.6vw,4rem)}
.room-price{margin-top:24px;font-size:clamp(1.1875rem, 0.6875rem + 1.2vw, 1.375rem);font-weight:700;color:var(--ivory)}
.room-price .room-price-model{font-size:0.875rem;font-weight:500;color:var(--muted)}
.rate-block{margin-top:52px;background:var(--panel);border:1px solid var(--line-soft);border-radius:var(--radius);padding:30px 34px}
.rate-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:18px}
.rate-head h4{font-size:0.9375rem;color:var(--ivory);letter-spacing:.02em}
.rate-scroll{overflow-x:auto}
.rate-table{width:100%;border-collapse:collapse;font-size:0.9062rem;color:var(--ivory-dim)}
.rate-table th{text-align:left;font-size:0.75rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);font-weight:600;padding:10px 14px;border-bottom:1px solid var(--line)}
.rate-table td{padding:12px 14px;border-bottom:1px solid var(--line-soft)}
.rate-table td:first-child{color:var(--muted)}
.rate-table tr:last-child td{border-bottom:none}
.ratecard td:first-child{color:var(--ivory);font-weight:500}
.ratecard tr.flag-row td{background:rgba(163,126,44,.07)}
.rate-terms{list-style:none;margin-top:18px;padding-top:16px;border-top:1px solid var(--line-soft)}
.rate-terms li{position:relative;padding:5px 0 5px 22px;font-size:0.8438rem;color:var(--muted)}
.rate-terms li::before{content:"";position:absolute;left:2px;top:13px;width:6px;height:6px;border-radius:50%;background:var(--gold);opacity:.7}
.model-trio{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.model-card{background:var(--panel);border:1px solid var(--line-soft);border-radius:var(--radius);padding:26px 28px}
.model-card h3{font-size:1rem;color:var(--ivory)}
.model-card p{margin-top:10px;font-size:0.8438rem;color:var(--muted);line-height:1.6}
@media(max-width:900px){.model-trio{grid-template-columns:1fr}.room-flagship .room-media{height:440px}}
/* booking flow: tier picker + crew add-ons */
.room-opt-flag{position:absolute;top:12px;left:12px;z-index:3;background:var(--gold);color:var(--obsidian);font-size:0.5938rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;border-radius:100px;padding:4px 10px}
.room-opt-sub{font-size:0.75rem;color:var(--muted);margin-top:3px}
.tier-opt{display:flex;align-items:center;justify-content:space-between;gap:14px;border:1px solid var(--line);border-radius:14px;padding:15px 18px;margin-bottom:10px;cursor:pointer;transition:border-color .25s}
.tier-opt:hover{border-color:rgba(245,242,236,.3)}
.tier-opt.on{border-color:var(--gold)}
.tier-opt input{accent-color:#A37E2C}
.tier-opt .tier-name{flex:1;font-weight:600;color:var(--ivory);font-size:0.9062rem;margin-left:6px}
.tier-opt .tier-price{font-weight:600;color:var(--ivory-dim);font-size:0.875rem}
.tier-note{font-size:0.7812rem;color:var(--muted);margin-top:10px;line-height:1.55}
.addon-cat{font-size:0.7188rem;letter-spacing:.12em;text-transform:uppercase;color:var(--ivory);font-weight:600;margin-bottom:10px}

/* booking terms acknowledgment modal */
.terms-ov{position:fixed;inset:0;z-index:500;background:rgba(6,6,6,.9);display:none;align-items:center;justify-content:center;padding:5vw;backdrop-filter:blur(8px)}
.terms-ov.visible{display:flex}
.terms-box{width:min(640px,100%);max-height:86vh;display:flex;flex-direction:column;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:34px 36px}
.terms-box h3{font-size:clamp(1.1875rem, 0.6875rem + 1.2vw, 1.375rem);color:var(--ivory);margin-bottom:18px}
.terms-scroll{overflow-y:auto;flex:1;min-height:0;padding-right:14px}
.terms-scroll h4{font-size:0.75rem;letter-spacing:.14em;text-transform:uppercase;color:var(--ivory);font-weight:600;margin:18px 0 10px}
.terms-scroll h4:first-child{margin-top:0}
.terms-scroll ul{list-style:none}
.terms-scroll li{position:relative;padding:5px 0 5px 20px;font-size:0.875rem;color:var(--ivory-dim);line-height:1.6}
.terms-scroll li::before{content:"";position:absolute;left:2px;top:14px;width:5px;height:5px;border-radius:50%;background:var(--muted)}
.terms-check{display:flex;align-items:center;gap:11px;margin:20px 0 18px;padding-top:18px;border-top:1px solid var(--line-soft);cursor:pointer;font-size:0.9062rem;color:var(--ivory)}
.terms-check input{width:18px;height:18px;accent-color:#A37E2C;flex:0 0 auto}
.terms-actions{display:flex;gap:12px}
.terms-actions .grow{flex:1}
.terms-actions .btn[disabled]{opacity:.4;cursor:not-allowed}
@media(max-width:600px){.terms-box{padding:26px 22px}}

/* ---------- light sections: break up the dark rhythm ---------- */
.sect-light{background:var(--ivory);color:#3A3630;border-top:1px solid rgba(10,10,10,.08)}
.sect-light h1,.sect-light h2,.sect-light h3,.sect-light h4{color:var(--obsidian)}
.sect-light .dim{color:rgba(10,10,10,.35)}
.sect-light p{color:#5C564C}
.sect-light .sect-head p{color:#6B6559}
.sect-light .eyebrow{color:#8A8072}
.sect-light .btn-solid{background:var(--obsidian);color:var(--ivory)}
.sect-light .btn-solid:hover{background:var(--gold);color:var(--obsidian)}
.sect-light .btn-ghost{border-color:rgba(10,10,10,.3);color:var(--obsidian)}
.sect-light .btn-ghost:hover{border-color:var(--gold);color:var(--gold)}
.sect-light .trio-card{background:#FFFFFF;border:1px solid rgba(10,10,10,.08)}
.sect-light .trio-card p{color:#5C564C}
.sect-light .hiw-tag{color:var(--obsidian);border-color:rgba(10,10,10,.25)}
.sect-light .hiw-card h3,.sect-light .hiw-mtext h3{color:var(--obsidian)}
.sect-light .hiw-card p,.sect-light .hiw-mtext p{color:#5C564C}
.sect-light .hiw-media{border-color:rgba(10,10,10,.12)}
.sect-light .hiw-num{-webkit-text-stroke:1px rgba(10,10,10,.2)}
.sect-light .fnd-card{border-color:rgba(10,10,10,.25);background:linear-gradient(165deg,rgba(10,10,10,.05),rgba(10,10,10,.015) 55%)}
.sect-light .fnd-card::after{background:radial-gradient(ellipse at center,rgba(10,10,10,.05),transparent 70%)}
.sect-light .fnd-num{color:rgba(10,10,10,.85)}
.sect-light .fnd-num span{color:#8A8072}
.sect-light .fnd-media{background:rgba(10,10,10,.04);border-color:rgba(10,10,10,.12)}
.sect-light .fnd-media svg{stroke:rgba(10,10,10,.32)}
.cta-band.sect-light{background:var(--ivory)}
.cta-band.sect-light p{color:#6B6559}

/* homepage: the No.1 and Book a studio sections sit on pure white */
.no1.sect-light,.ready.sect-light{background:#FFFFFF}

/* ---------- legal pages ---------- */
.legal-prose{max-width:760px}
.legal-prose h2{font-size:clamp(1.1875rem, 0.6875rem + 1.2vw, 1.375rem);color:var(--ivory);margin:44px 0 14px}
.legal-prose p{color:var(--ivory-dim);font-size:0.9688rem;line-height:1.75;margin-bottom:14px}
.legal-prose ul{list-style:none;margin:0 0 14px}
.legal-prose li{position:relative;padding:6px 0 6px 24px;color:var(--ivory-dim);font-size:0.9688rem;line-height:1.7}
.legal-prose li::before{content:"";position:absolute;left:4px;top:16px;width:6px;height:6px;border-radius:50%;background:var(--muted)}
.legal-prose a{text-decoration:underline;text-underline-offset:3px}
.legal-prose a:hover{color:var(--ivory)}
.legal-prose strong{color:var(--ivory);font-weight:600}
.legal-prose code{font-size:0.85em;background:rgba(245,242,236,.08);border-radius:6px;padding:2px 7px}
.legal a:hover{color:var(--ivory)}

/* contact page on light */
.page-hero.sect-light{background:var(--ivory)}
.page-hero.sect-light p.lead{color:#5C564C}
.sect-light .c-detail{border-bottom-color:rgba(10,10,10,.1)}
.sect-light .c-detail .k{color:#8A8072}
.sect-light .c-detail .v{color:var(--obsidian)}
.sect-light .c-detail .v a:hover{color:#5C564C}
.sect-light .c-detail .s{color:#6B6559}
.sect-light .cform{background:#FFFFFF;border-color:rgba(10,10,10,.08);box-shadow:0 24px 60px rgba(10,10,10,.08)}
.sect-light .f-field label{color:#4A463E}
.sect-light .f-field input,.sect-light .f-field select,.sect-light .f-field textarea{
  background:#F7F5F0;border-color:rgba(10,10,10,.14);color:var(--obsidian)}
.sect-light .f-field input::placeholder,.sect-light .f-field textarea::placeholder{color:#9A948A}
.sect-light .f-field input:focus,.sect-light .f-field select:focus,.sect-light .f-field textarea:focus{border-color:rgba(10,10,10,.4)}
.sect-light .f-note{color:#8A8072}

/* ================= STUDIO PAGES (one page per studio: /the-lounge …) ================= */
/* hero: the studio's own film edge to edge, the name, its capacity and Book now bottom-left */
.sp-hero{position:relative;height:100vh;height:100svh;min-height:560px;overflow:hidden;background:var(--obsidian);isolation:isolate}
.sp-hero-media{position:absolute;inset:0;z-index:0;background-size:cover;background-position:center}
.sp-hero-media > video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .9s ease}
.sp-hero-media.ready > video{opacity:1}
.sp-hero-shade{position:absolute;inset:0;z-index:1;pointer-events:none;
  background:linear-gradient(180deg, rgba(10,10,10,.55) 0%, rgba(10,10,10,0) 20%, rgba(10,10,10,0) 42%, rgba(10,10,10,.82) 100%)}
.sp-hero-content{position:absolute;left:0;right:0;bottom:0;z-index:2;padding:0 var(--edge) clamp(40px, 7vh, 72px)}
.sp-hero .sp-title{font-size:clamp(3.25rem, 1.2rem + 8vw, 10rem);font-weight:700;line-height:.9;letter-spacing:-.055em;color:var(--ivory);margin:0}
.sp-hero-foot{display:flex;align-items:center;flex-wrap:wrap;gap:16px 26px;margin-top:24px}
.sp-hero .studio-seats{font-size:1.0625rem}
.sp-hero .btn,.sp-explore .btn{padding:11px 24px;font-size:1rem;font-weight:500;letter-spacing:-.01em;line-height:1.4;border-radius:8px}
.sp-hero .btn svg,.sp-explore .btn svg{flex:0 0 auto}
/* explore: the room's details stay fixed on the left, lined up with the hero text, while the
   large photos scroll past on the right */
.sp-explore.sect-light{background:#FFFFFF;padding:120px 0}
.sp-grid{margin:0 var(--edge);display:grid;grid-template-columns:clamp(330px, 27vw, 460px) minmax(0,1240px);gap:clamp(40px, 4.5vw, 88px);align-items:start}
.sp-info{position:sticky;top:92px;max-height:calc(100vh - 108px);max-height:calc(100svh - 108px);overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin}
.sp-explore .sp-h2{font-size:clamp(2.125rem, 1.2rem + 2.1vw, 3.125rem);font-weight:700;line-height:.98;letter-spacing:-.045em;color:var(--obsidian);margin:0}
.sp-h2 .ht-sans,.sp-h2 .ht-serif{display:block}
.sp-h2 .ht-serif{font-family:'DM Serif Display',Georgia,serif;font-style:italic;font-weight:400;letter-spacing:-.035em;padding-bottom:.06em}
.sp-explore .sp-desc{margin:16px 0 0;font-size:.9375rem;line-height:1.5;color:#3A3732}
.sp-explore .sp-desc p{margin:0;color:#3A3732}
.sp-explore .sp-desc p + p{margin-top:8px}
/* the key facts, set like the fields on the boarding pass */
.sp-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2px;margin:20px 0 0;border-radius:12px;overflow:hidden}
.sp-facts div{background:rgba(10,10,10,.045);padding:9px 12px}
.sp-facts dt{font-size:.5938rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:rgba(10,10,10,.5)}
.sp-facts dd{margin:4px 0 0;font-size:.9375rem;font-weight:600;line-height:1.3;color:var(--obsidian)}
/* technical details, layouts and rates share one panel */
.sp-tabs{display:flex;gap:4px;margin:20px 0 0;border-bottom:1px solid rgba(10,10,10,.12);overflow-x:auto;scrollbar-width:none}
.sp-tabs::-webkit-scrollbar{display:none}
.sp-tabs button{flex:0 0 auto;margin-bottom:-1px;padding:10px 12px;border:0;border-bottom:2px solid transparent;background:none;cursor:pointer;
  font-family:var(--font);font-size:.875rem;font-weight:500;color:#6B6559;transition:color .2s,border-color .2s}
.sp-tabs button:hover{color:var(--obsidian)}
.sp-tabs button[aria-selected="true"]{color:var(--obsidian);border-bottom-color:var(--obsidian)}
.sp-tabs button:focus-visible{outline:2px solid var(--obsidian);outline-offset:2px;border-radius:4px}
.sp-panel{padding-top:6px}
.sp-list{list-style:none;margin:0;padding:0}
.sp-explore .sp-list li{position:relative;padding:6px 0 6px 22px;border-bottom:1px solid rgba(10,10,10,.07);font-size:.9063rem;line-height:1.42;color:#3A3732}
.sp-list li::before{content:"";position:absolute;left:2px;top:1.1em;width:9px;height:1.5px;background:rgba(10,10,10,.45)}
.sp-rates{width:100%;border-collapse:collapse;font-size:.9375rem}
.sp-rates td{padding:8px 0;border-bottom:1px solid rgba(10,10,10,.08);color:#3A3732}
.sp-rates td:last-child{text-align:right;font-weight:600;color:var(--obsidian);white-space:nowrap}
.sp-explore .sp-note{margin:12px 0 0;font-size:.8125rem;line-height:1.5;color:#6B6559}
.sp-ctas{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px}
.sp-explore .sp-address{margin:18px 0 0;font-size:.875rem;line-height:1.5;color:#3A3732}
.sp-address b{display:block;margin-bottom:4px;font-size:.6875rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:#6B6559}
/* the photos: each opens out from a rounded window as it arrives and settles from a slight zoom */
.sp-gallery{display:flex;flex-direction:column;gap:16px}
.sp-shot{position:relative;margin:0;aspect-ratio:4/3;border-radius:14px;overflow:hidden;background:var(--obsidian)}
.sp-zoom{position:absolute;inset:0;overflow:hidden}
.sp-shot img,.sp-shot video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.sp-shot .art-mark{font-size:clamp(8rem, 18vw, 16rem)}
.sp-anim .sp-shot{clip-path:inset(7% 5% 7% 5% round 32px);opacity:.001;transition:clip-path 1.2s cubic-bezier(.2,.8,.2,1), opacity .8s ease}
.sp-anim .sp-shot.in{clip-path:inset(0 0 0 0 round 14px);opacity:1}
@supports (animation-timeline: view()){
  .sp-zoom{animation:spSettle linear both;animation-timeline:view();animation-range:entry 0% cover 55%}
  @keyframes spSettle{from{transform:scale(1.14)}to{transform:scale(1)}}
}
@media(prefers-reduced-motion:reduce){
  .sp-anim .sp-shot{clip-path:none;opacity:1;transition:none}
  .sp-zoom{animation:none}
}
/* shorter laptop screens: a tighter column so the details still fit without scrolling */
@media(min-width:961px) and (max-height:880px){
  .sp-explore .sp-h2{font-size:clamp(2rem, 1.1rem + 1.8vw, 2.75rem)}
  .sp-explore .sp-desc{margin-top:12px;font-size:.875rem}
  .sp-facts,.sp-tabs{margin-top:14px}
  .sp-facts div{padding:7px 12px}
  .sp-facts{grid-template-columns:repeat(4,minmax(0,1fr))}
  .sp-facts dd{font-size:.8125rem}
  .sp-explore .sp-list li{padding:5px 0 5px 22px;font-size:.875rem}
  .sp-ctas{margin-top:16px}
  .sp-rates td{padding:6px 0}
}
/* 13-inch laptops (about 800px of window): tighter still */
@media(min-width:961px) and (max-height:820px){
  .sp-explore .sp-h2{font-size:clamp(1.875rem, 1rem + 1.6vw, 2.375rem)}
  .sp-explore .sp-desc{font-size:.8438rem;line-height:1.45}
  .sp-explore .sp-desc p + p{margin-top:6px}
  .sp-facts,.sp-tabs,.sp-ctas{margin-top:12px}
  .sp-explore .sp-list li{padding:4px 0 4px 22px}
  .sp-rates td{padding:5px 0}
  .sp-explore .sp-rates th{padding-bottom:6px}
  .sp-explore .sp-note{margin-top:8px}
}
/* tablets and phones: the details come first, then the photos */
@media(max-width:960px){
  .sp-grid{grid-template-columns:1fr;gap:48px}
  .sp-info{position:static;max-height:none;overflow:visible}
  .sp-explore.sect-light{padding:88px 0}
}
@media(max-width:560px){
  .sp-grid{margin:0 20px}
  .sp-hero-content{padding:0 20px 34px}
  .sp-shot{aspect-ratio:4/5;border-radius:12px}
  .sp-hero-foot{gap:14px 20px}
}

/* ---------- studio pages: the sections after "from every angle" ---------- */
.sp-wrap{margin:0 var(--edge)}
.sp-inc,.sp-others{padding:120px 0;background:var(--obsidian-2);border-top:1px solid var(--line-soft);color:var(--ivory-dim)}
.sp-setup.sect-light{padding:120px 0;background:#FFFFFF}
.sp-sec-head{max-width:720px;margin-bottom:56px}
.sp-title2{font-size:clamp(2.25rem, 1.2rem + 3.2vw, 4rem);font-weight:700;line-height:.95;letter-spacing:-.05em;color:var(--ivory);margin:0}
.sp-setup .sp-title2{color:var(--obsidian)}
.sp-title2 .ht-sans,.sp-title2 .ht-serif{display:block}
.sp-title2 .ht-serif{font-family:'DM Serif Display',Georgia,serif;font-style:italic;font-weight:400;letter-spacing:-.035em;padding-bottom:.06em}
.sp-sec-head .sp-lead{margin:20px 0 0;max-width:560px;font-size:clamp(1rem, .95rem + .25vw, 1.125rem);line-height:1.5;color:var(--ivory-dim)}
.sp-setup .sp-sec-head .sp-lead{color:#3A3732}

/* what's included: five items in a row, each with a line icon */
.sp-inc-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:0 32px}
.sp-inc-list li{padding-top:24px;border-top:1px solid rgba(245,242,236,.14)}
.sp-ico{display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:50%;border:1px solid rgba(245,242,236,.22);color:var(--ivory);margin-bottom:22px}
.sp-inc-list h3{margin:0 0 8px;font-size:1.125rem;font-weight:600;line-height:1.3;letter-spacing:-.015em;color:var(--ivory)}
.sp-inc .sp-inc-list p{margin:0;font-size:.9375rem;line-height:1.55;color:var(--ivory-dim)}

/* choose your setup: 01 seating (two layout cards), 02 backdrop (the room photo with three lit walls) */
.sp-setup .sp-step{display:flex;align-items:baseline;gap:12px;margin:0 0 20px;font-size:.75rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:#6B6559}
.sp-step b{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-weight:500;letter-spacing:.04em;color:var(--obsidian)}
.sp-layouts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin-bottom:72px}
.sp-layout{margin:0}
.sp-layout-img{position:relative;aspect-ratio:16/10;border-radius:14px;overflow:hidden;background:#EDEAE4}
.sp-layout-img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .7s ease-out}
@media(hover:hover) and (prefers-reduced-motion:no-preference){ .sp-layout:hover .sp-layout-img img{transform:scale(1.05)} }
.sp-layout-copy{padding-top:18px}
.sp-pill{display:inline-block;margin-bottom:10px;padding:5px 11px;border-radius:999px;border:1px solid rgba(10,10,10,.18);font-size:.75rem;font-weight:600;color:var(--obsidian)}
.sp-setup .sp-layout-copy h3{margin:0 0 6px;font-size:clamp(1.25rem, 1.05rem + .6vw, 1.625rem);font-weight:600;letter-spacing:-.02em;color:var(--obsidian)}
.sp-setup .sp-layout-copy p{margin:0;max-width:460px;font-size:1rem;line-height:1.5;color:#3A3732}
.sp-backdrops{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,360px);gap:32px;align-items:center}
.sp-room{position:relative;aspect-ratio:1672/941;border-radius:14px;overflow:hidden;background:#EDEAE4}
.sp-room img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.sp-spot{position:absolute;inset:0;pointer-events:none;opacity:0;transition:opacity .4s ease;
  background:radial-gradient(ellipse 24% 52% at var(--sx,50%) var(--sy,45%), rgba(10,10,10,0) 55%, rgba(10,10,10,.62) 100%)}
.sp-room.lit .sp-spot{opacity:1}
.sp-pin{position:absolute;left:var(--x);top:var(--y);z-index:2;width:36px;height:36px;margin:-18px 0 0 -18px;border-radius:50%;border:0;cursor:pointer;
  background:var(--ivory);color:var(--obsidian);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.8125rem;font-weight:600;
  box-shadow:0 0 0 6px rgba(245,242,236,.28);transition:transform .25s ease, box-shadow .25s ease}
.sp-pin:hover,.sp-pin.on{transform:scale(1.12);box-shadow:0 0 0 10px rgba(245,242,236,.32)}
.sp-pin:focus-visible{outline:2px solid var(--obsidian);outline-offset:4px}
.sp-bd-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}
.sp-bd{display:flex;align-items:flex-start;gap:16px;width:100%;padding:18px 4px;border:0;border-top:1px solid rgba(10,10,10,.12);background:none;text-align:left;cursor:pointer;font-family:var(--font);color:#3A3732;transition:background-color .2s}
.sp-bd-list li:last-child .sp-bd{border-bottom:1px solid rgba(10,10,10,.12)}
.sp-bd b{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;border:1px solid rgba(10,10,10,.25);
  font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.75rem;font-weight:600;color:var(--obsidian);transition:background-color .2s,color .2s,border-color .2s}
.sp-bd.on b{background:var(--obsidian);border-color:var(--obsidian);color:var(--ivory)}
.sp-bd-name{display:block;font-size:1.0625rem;font-weight:600;letter-spacing:-.01em;color:var(--obsidian)}
.sp-bd-text{display:block;margin-top:4px;font-size:.9375rem;line-height:1.5}
.sp-bd:focus-visible{outline:2px solid var(--obsidian);outline-offset:2px;border-radius:6px}
.sp-setup-cta{margin-top:56px}
.sp-setup .btn{padding:11px 24px;font-size:1rem;font-weight:500;letter-spacing:-.01em;line-height:1.4;border-radius:8px}
.sp-setup .btn svg{flex:0 0 auto}

/* explore the other studios: three cards like the homepage carousel, the whole card is the link */
.sp-others-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.sp-oc{position:relative;display:block;aspect-ratio:4/5;border-radius:20px;overflow:hidden;border:1px solid rgba(245,242,236,.14);background:var(--obsidian);isolation:isolate;color:var(--ivory)}
.sp-oc-media{position:absolute;inset:0;transition:transform .6s ease-out}
.sp-oc-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.sp-oc-media .art-mark{font-size:clamp(8rem, 14vw, 14rem)}
@media(hover:hover) and (prefers-reduced-motion:no-preference){ .sp-oc:hover .sp-oc-media{transform:scale(1.06)} }
.sp-oc-shade{position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(180deg, rgba(10,10,10,0) 40%, rgba(10,10,10,.9) 100%)}
.sp-oc-copy{position:absolute;left:0;right:0;bottom:0;z-index:2;padding:28px}
.sp-others .sp-oc-name{margin:0;font-size:clamp(1.75rem, 1.2rem + 1.4vw, 2.5rem);font-weight:700;line-height:1;letter-spacing:-.045em;color:var(--ivory)}
.sp-others .sp-oc-sub{margin:10px 0 0;font-size:.9375rem;line-height:1.4;color:var(--ivory-dim)}
.sp-others .sp-oc-meta{display:flex;flex-wrap:wrap;gap:6px 14px;margin:14px 0 0;font-size:.8125rem;color:var(--ivory)}
.sp-oc-price{color:var(--ivory-dim)}
.sp-oc-go{position:absolute;top:22px;right:22px;z-index:2;display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;
  background:var(--ivory);color:var(--obsidian);transition:transform .3s ease}
.sp-oc:hover .sp-oc-go{transform:rotate(-45deg)}
.sp-oc:focus-visible{outline:2px solid var(--ivory);outline-offset:4px}

@media(max-width:1200px){
  .sp-inc-list{grid-template-columns:repeat(3,minmax(0,1fr));gap:40px 32px}
}
@media(max-width:960px){
  .sp-inc,.sp-others,.sp-setup.sect-light{padding:88px 0}
  .sp-sec-head{margin-bottom:40px}
  .sp-backdrops{grid-template-columns:1fr;gap:20px}
}
@media(max-width:760px){
  .sp-inc-list{grid-template-columns:1fr;gap:0}
  .sp-inc-list li{display:grid;grid-template-columns:48px minmax(0,1fr);column-gap:16px;padding:20px 0}
  .sp-inc-list li .sp-ico{grid-row:1/3;margin:0}
  .sp-layouts{grid-template-columns:1fr;gap:32px;margin-bottom:56px}
  /* the other studios slide sideways on phones */
  .sp-others-grid{display:flex;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;margin:0 calc(-1 * var(--edge));padding:0 var(--edge);scrollbar-width:none}
  .sp-others-grid::-webkit-scrollbar{display:none}
  .sp-oc{flex:0 0 78%;scroll-snap-align:start}
}
@media(max-width:560px){
  .sp-wrap{margin:0 20px}
  .sp-others-grid{margin:0 -20px;padding:0 20px;scroll-padding:0 20px}
  .sp-pin{width:30px;height:30px;margin:-15px 0 0 -15px;font-size:.75rem}
}

/* room descriptions keep the paragraph breaks written in the rate card */
.room-body .desc{white-space:pre-line}

/* ---------- The Wooden O: "Choose how you record" (with producer or self-managed) ---------- */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.sp-rates th{padding:0 0 8px;font-size:.625rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;text-align:right;color:rgba(10,10,10,.5);border-bottom:1px solid rgba(10,10,10,.12)}
.sp-rates-2 td:nth-child(2){text-align:right;font-weight:600;color:var(--obsidian);white-space:nowrap;padding-right:18px}
.sp-tiers{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin-bottom:72px}
.sp-tier{display:flex;flex-direction:column;padding:clamp(28px, 2.2vw + 12px, 44px);border-radius:20px;border:1px solid rgba(10,10,10,.12);background:#FFFFFF}
.sp-tier-dark{background:var(--obsidian);border-color:var(--obsidian)}
.sp-tier-top{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:32px}
.sp-tier .sp-ico{margin:0;border-color:rgba(10,10,10,.2);color:var(--obsidian)}
.sp-tier-dark .sp-ico{border-color:rgba(245,242,236,.22);color:var(--ivory)}
.sp-tier .sp-pill{margin:0}
.sp-tier-dark .sp-pill{border-color:rgba(245,242,236,.25);color:var(--ivory)}
.sp-setup .sp-tier h3{margin:0;font-size:clamp(1.5rem, 1.2rem + .9vw, 2rem);font-weight:700;line-height:1.1;letter-spacing:-.035em;color:var(--obsidian)}
.sp-setup .sp-tier-dark h3{color:var(--ivory)}
.sp-setup .sp-tier-price{margin:12px 0 0;font-size:clamp(2.5rem, 1.8rem + 2vw, 3.5rem);font-weight:700;line-height:1;letter-spacing:-.055em;color:var(--obsidian)}
.sp-setup .sp-tier-dark .sp-tier-price{color:var(--gold)}
.sp-tier-price small{margin-left:8px;font-size:.875rem;font-weight:500;letter-spacing:0;color:#6B6559}
.sp-tier-dark .sp-tier-price small{color:var(--ivory-dim)}
.sp-setup .sp-tier-text{margin:20px 0 0;max-width:460px;font-size:1rem;line-height:1.55;color:#3A3732}
.sp-setup .sp-tier-dark .sp-tier-text{color:var(--ivory-dim)}
.sp-tier-list{list-style:none;margin:28px 0 36px;padding:0}
.sp-tier-list li{display:flex;justify-content:space-between;gap:16px;padding:12px 0;border-top:1px solid rgba(10,10,10,.1);font-size:.9375rem;color:#3A3732}
.sp-tier-list li:last-child{border-bottom:1px solid rgba(10,10,10,.1)}
.sp-tier-dark .sp-tier-list li{border-color:rgba(245,242,236,.14);color:var(--ivory-dim)}
.sp-tier-list b{font-weight:600;color:var(--obsidian);white-space:nowrap}
.sp-tier-dark .sp-tier-list b{color:var(--ivory)}
.sp-tier .btn{margin-top:auto;align-self:flex-start}
.sect-light .sp-tier-dark .btn-solid{background:var(--ivory);color:var(--obsidian)}
.sect-light .sp-tier-dark .btn-solid:hover{background:var(--gold);color:var(--obsidian)}
@media(max-width:760px){
  .sp-tiers{grid-template-columns:1fr;gap:16px;margin-bottom:56px}
}

/* where each studio's name comes from: one line under the name in the studio page heroes */
.sp-hero .sp-origin{margin:18px 0 0;max-width:560px;font-family:'DM Serif Display',Georgia,serif;font-style:italic;font-size:clamp(1.0625rem, .95rem + .45vw, 1.375rem);line-height:1.4;color:rgba(245,242,236,.86)}
.sp-hero .sp-origin + .sp-hero-foot{margin-top:28px}

/* The Chamberlain: one layout, so "The set" is a single large picture, centred, with its copy underneath */
.sp-set{max-width:1080px;margin:0 auto}
.sp-setup .sp-set-img{aspect-ratio:1492/1054}
.sp-set + .sp-setup-cta{max-width:1080px;margin-left:auto;margin-right:auto}

/* The Yard: a small tag on the gallery's "on set" and "on screen" pictures */
.sp-shot-tag{position:absolute;left:18px;top:18px;z-index:2;padding:7px 14px;border-radius:999px;background:rgba(10,10,10,.62);
  -webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:var(--ivory);font-size:.8125rem;font-weight:600;letter-spacing:.02em;pointer-events:none}

/* ================= SERVICES PAGE (redesign): one episode, start to finish ================= */
/* hero: the services film full screen, the headline and two buttons bottom-left */
.sv-hero .sv-title{font-size:min(6.25rem, calc((100vw - 2 * var(--edge)) / 14.2));font-weight:700;line-height:.92;letter-spacing:-.05em;color:var(--ivory);margin:0}
.sv-title .ht-sans{white-space:nowrap}
.sv-title .ht-sans,.sv-title .ht-serif{display:block}
.sv-title .ht-serif{font-family:'DM Serif Display',Georgia,serif;font-style:italic;font-weight:400;letter-spacing:-.035em;padding-bottom:.06em}
.sv-hero .sv-lead{margin:22px 0 0;max-width:560px;font-size:clamp(1rem, .95rem + .3vw, 1.1875rem);line-height:1.5;color:rgba(245,242,236,.86)}
.sv-hero .sp-hero-foot{margin-top:30px}

/* the journey: stages fixed on the left, each stage's picture scrolling past on the right */
.sv-journey.sect-light{background:#FFFFFF;padding:120px 0}
.sv-jinfo{position:sticky;top:110px;align-self:start}
.sv-jinfo .sp-h2{font-size:clamp(2.25rem, 1.2rem + 2.6vw, 3.75rem);font-weight:700;line-height:.95;letter-spacing:-.05em;color:var(--obsidian);margin:0}
.sv-jinfo .sp-h2 .ht-sans,.sv-jinfo .sp-h2 .ht-serif{display:block}
.sv-jinfo .sp-h2 .ht-serif{font-family:'DM Serif Display',Georgia,serif;font-style:italic;font-weight:400;letter-spacing:-.035em;padding-bottom:.06em}
.sv-journey .sv-jlead{margin:20px 0 0;font-size:1rem;line-height:1.55;color:#3A3732}
.sv-stages{list-style:none;margin:30px 0 32px;padding:0;border-top:1px solid rgba(10,10,10,.12)}
.sv-stages li{border-bottom:1px solid rgba(10,10,10,.12)}
.sv-stages a{display:block;padding:16px 0 16px 18px;position:relative;color:#6B6559;transition:color .3s}
.sv-stages a::before{content:"";position:absolute;left:0;top:16px;bottom:16px;width:2px;border-radius:2px;background:rgba(10,10,10,.12);transition:background-color .3s}
.sv-stages b{display:block;font-size:1.25rem;font-weight:600;letter-spacing:-.02em;color:rgba(10,10,10,.45);transition:color .3s}
.sv-stages span{display:block;margin-top:4px;font-size:.875rem;line-height:1.45}
.sv-stages li.on b,.sv-stages a:hover b{color:var(--obsidian)}
.sv-stages li.on a{color:#3A3732}
.sv-stages li.on a::before{background:var(--gold)}
.sv-journey .btn,.sv-build .btn,.sv-cta .btn{padding:11px 24px;font-size:1rem;font-weight:500;letter-spacing:-.01em;line-height:1.4;border-radius:8px}
.sv-panels{display:flex;flex-direction:column;gap:96px}
.sv-panel{margin:0;scroll-margin-top:100px}
.sv-frame{position:relative;aspect-ratio:4/3;border-radius:16px;overflow:hidden;background:var(--obsidian);isolation:isolate}
.sv-frame > img,.sv-frame > video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.sv-frame::after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(180deg, rgba(10,10,10,.35) 0%, rgba(10,10,10,0) 30%, rgba(10,10,10,0) 60%, rgba(10,10,10,.55) 100%)}
.sv-anim .sv-frame{clip-path:inset(6% 4% 6% 4% round 28px);transition:clip-path 1.1s cubic-bezier(.2,.8,.2,1)}
.sv-anim.in .sv-frame{clip-path:inset(0 0 0 0 round 16px)}
.sv-pcopy{padding-top:26px;max-width:640px}
.sv-journey .sv-pcopy h3{margin:0;font-size:clamp(1.75rem, 1.3rem + 1.2vw, 2.5rem);font-weight:700;letter-spacing:-.04em;color:var(--obsidian)}
.sv-journey .sv-pcopy p{margin:10px 0 0;font-size:1.0625rem;line-height:1.55;color:#3A3732}
.sv-chips{list-style:none;display:flex;flex-wrap:wrap;gap:8px;margin:18px 0 0;padding:0}
.sv-chips a{display:inline-block;padding:7px 13px;border-radius:999px;border:1px solid rgba(10,10,10,.16);font-size:.8125rem;font-weight:500;color:var(--obsidian);transition:border-color .2s,background-color .2s}
.sv-chips a:hover{border-color:var(--obsidian);background:rgba(10,10,10,.04)}
/* the interface drawn over each picture */
.sv-ui{position:absolute;inset:0;z-index:2;pointer-events:none;font-family:var(--font)}
.sv-chip{position:absolute;display:inline-flex;align-items:center;gap:8px;padding:7px 12px;border-radius:999px;background:rgba(10,10,10,.6);
  -webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:var(--ivory);font-size:.75rem;font-weight:600;letter-spacing:.02em}
.sv-live{top:18px;left:18px;background:#C8302B;text-transform:uppercase;letter-spacing:.12em}
.sv-live::before{content:"";width:7px;height:7px;border-radius:50%;background:#fff;animation:svPulse 1.6s ease-in-out infinite}
@keyframes svPulse{50%{opacity:.25}}
.sv-platforms{top:18px;right:18px}
.sv-third{position:absolute;left:18px;bottom:18px;display:flex;flex-direction:column;padding:12px 16px;border-left:3px solid var(--gold);background:rgba(10,10,10,.68);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:var(--ivory)}
.sv-third b{font-size:1rem;font-weight:600;letter-spacing:-.01em}
.sv-third span{margin-top:2px;font-size:.75rem;color:var(--ivory-dim)}
.sv-pubs{position:absolute;right:18px;bottom:18px;display:flex;flex-direction:column;gap:8px;width:min(260px, 60%)}
.sv-pub{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 14px;border-radius:12px;background:rgba(245,242,236,.94);color:var(--obsidian);font-size:.8125rem;font-weight:600;box-shadow:0 10px 30px rgba(0,0,0,.25)}
.sv-pub em{font-style:normal;font-size:.6875rem;font-weight:600;color:#2F7A45}
.sv-pub em::before{content:"✓ "}
.sv-anim .sv-pub{opacity:0;transform:translateY(12px);transition:opacity .5s ease, transform .5s ease}
.sv-anim.in .sv-pub{opacity:1;transform:none}
.sv-anim.in .sv-pub:nth-child(2){transition-delay:.15s}
.sv-anim.in .sv-pub:nth-child(3){transition-delay:.3s}
.sv-anim.in .sv-pub:nth-child(4){transition-delay:.45s}

/* raw in, finished out: one picture, a handle to drag between the raw and the finished look */
.sv-compare{padding:120px 0;background:radial-gradient(ellipse 50% 45% at 15% 10%, rgba(96,62,36,.22), transparent 70%), var(--obsidian-2);border-top:1px solid var(--line-soft);color:var(--ivory-dim)}
.sv-center{margin-left:auto;margin-right:auto;text-align:center}
.sv-center .sp-lead{margin-left:auto;margin-right:auto}
.sv-cmp{--pos:50%;position:relative;max-width:1200px;margin:0 auto;aspect-ratio:16/9;border-radius:18px;overflow:hidden;background:#000;isolation:isolate;touch-action:pan-y;user-select:none}
.sv-cmp-media,.sv-cmp-rawvid{position:absolute;inset:0}
.sv-cmp-media video,.sv-cmp-rawvid video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.sv-cmp-rawvid{z-index:1;clip-path:inset(0 calc(100% - var(--pos)) 0 0);display:none}
.sv-cmp.has-raw .sv-cmp-rawvid{display:block}
/* without a separate raw clip, the raw side is the same picture shown flat and ungraded */
.sv-cmp-flat{position:absolute;top:0;bottom:0;left:0;width:var(--pos);z-index:1;-webkit-backdrop-filter:saturate(.22) contrast(.7) brightness(1.14);backdrop-filter:saturate(.22) contrast(.7) brightness(1.14)}
.sv-cmp.has-raw .sv-cmp-flat{display:none}
.sv-cmp-cap{position:absolute;inset:0;z-index:2;display:flex;align-items:flex-end;justify-content:center;padding-bottom:6%;clip-path:inset(0 0 0 var(--pos));pointer-events:none}
.sv-cmp-cap span{max-width:80%;padding:8px 16px;border-radius:8px;background:rgba(10,10,10,.72);color:#fff;font-size:clamp(.875rem, .7rem + .6vw, 1.375rem);font-weight:600;text-align:center;line-height:1.3}
.sv-cmp-tag{position:absolute;top:18px;z-index:3;padding:7px 14px;border-radius:999px;background:rgba(10,10,10,.6);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:var(--ivory);font-size:.8125rem;font-weight:600;pointer-events:none}
.sv-tag-raw{left:18px}.sv-tag-fin{right:18px}
.sv-cmp-line{position:absolute;top:0;bottom:0;left:var(--pos);z-index:3;width:2px;margin-left:-1px;background:var(--ivory);pointer-events:none}
.sv-cmp-knob{position:absolute;top:50%;left:50%;width:48px;height:48px;margin:-24px 0 0 -24px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--ivory);color:var(--obsidian);box-shadow:0 6px 24px rgba(0,0,0,.35);transition:transform .2s ease}
.sv-cmp-range{position:absolute;inset:0;z-index:4;width:100%;height:100%;margin:0;opacity:0;cursor:ew-resize;-webkit-appearance:none;appearance:none}
.sv-cmp-range:focus-visible + *,.sv-cmp:has(.sv-cmp-range:focus-visible) .sv-cmp-knob{outline:3px solid var(--gold);outline-offset:3px}
.sv-cmp:hover .sv-cmp-knob{transform:scale(1.08)}
.sv-cmp-notes{list-style:none;max-width:1200px;margin:40px auto 0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px}
.sv-cmp-notes li{padding-top:20px;border-top:1px solid rgba(245,242,236,.14)}
.sv-cmp-notes b{display:block;font-size:1.0625rem;font-weight:600;color:var(--ivory)}
.sv-cmp-notes span{display:block;margin-top:6px;font-size:.9375rem;line-height:1.5;color:var(--ivory-dim)}

/* build your package: the services as a menu, with a production pass that fills up as you add them */
.sv-build.sect-light{background:#FFFFFF;padding:120px 0 140px}
.sv-build .sp-title2{color:var(--obsidian)}
.sv-build .sp-sec-head .sp-lead{color:#3A3732}
.sv-build-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,380px);gap:clamp(32px, 4vw, 72px);align-items:start}
.sv-feature{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:20px 32px;align-items:end;padding:clamp(26px, 2vw + 14px, 40px);border-radius:20px;background:var(--obsidian);color:var(--ivory-dim);margin-bottom:48px;transition:box-shadow .3s}
.sv-build .sv-feature h3{margin:0;font-size:clamp(1.5rem, 1.2rem + .9vw, 2rem);font-weight:700;letter-spacing:-.035em;color:var(--ivory)}
.sv-build .sv-feature p{margin:10px 0 0;max-width:520px;font-size:1rem;line-height:1.55;color:var(--ivory-dim)}
.sv-feature-side{display:flex;flex-direction:column;align-items:flex-end;gap:14px;text-align:right}
.sv-feature .sv-price{color:var(--ivory-dim)}
.sv-feature .sv-price b{color:var(--gold);font-size:1.375rem}
.sv-feature.picked{box-shadow:0 0 0 2px var(--gold)}
.sv-group + .sv-group{margin-top:44px}
.sv-build .sv-group-h{margin:0 0 6px;font-size:.75rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:#6B6559}
.sv-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px 32px;align-items:center;padding:22px 0;border-bottom:1px solid rgba(10,10,10,.1);scroll-margin-top:110px}
.sv-group .sv-row:first-of-type{border-top:1px solid rgba(10,10,10,.1)}
.sv-build .sv-row h4{margin:0;font-size:1.1875rem;font-weight:600;letter-spacing:-.02em;color:var(--obsidian)}
.sv-build .sv-row p{margin:6px 0 0;max-width:560px;font-size:.9375rem;line-height:1.5;color:#5C564C}
.sv-row-side{display:flex;flex-direction:column;align-items:flex-end;gap:10px;text-align:right}
.sv-price{font-size:.875rem;color:#6B6559;white-space:nowrap}
.sv-price b{font-size:1.0625rem;font-weight:700;color:var(--obsidian)}
.sv-add{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;border-radius:999px;border:1px solid rgba(10,10,10,.22);background:none;cursor:pointer;font:inherit;font-size:.875rem;font-weight:600;color:var(--obsidian);transition:background-color .2s,border-color .2s,color .2s}
.sv-add span{display:inline-flex;align-items:center;gap:6px}
.sv-add .sv-add-on{display:none}
.sv-add[aria-pressed="true"]{background:var(--obsidian);border-color:var(--obsidian);color:var(--ivory)}
.sv-add[aria-pressed="true"] .sv-add-on{display:inline-flex}
.sv-add[aria-pressed="true"] .sv-add-off{display:none}
.sv-add:hover{border-color:var(--obsidian)}
.sv-add:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
.sv-feature .sv-add{border-color:rgba(245,242,236,.35);color:var(--ivory)}
.sv-feature .sv-add[aria-pressed="true"]{background:var(--gold);border-color:var(--gold);color:var(--obsidian)}
.sv-row.picked h4::after{content:"";display:inline-block;width:7px;height:7px;margin-left:10px;border-radius:50%;background:var(--gold);vertical-align:middle}
/* the pass, styled like the boarding pass the booking page issues */
.sv-pass{position:sticky;top:110px;border-radius:18px;overflow:hidden;background:#FFFFFF;box-shadow:0 0 0 3px var(--gold), 0 24px 60px rgba(10,10,10,.12)}
.sv-pass-top{display:flex;justify-content:space-between;gap:12px;padding:14px 20px;background:var(--obsidian);color:var(--ivory);font-family:'Cinzel',Georgia,serif;font-size:.75rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase}
.sv-pass-top span:last-child{color:var(--gold)}
.sv-pass-body{padding:20px}
.sv-pass-list{list-style:none;margin:0;padding:0}
.sv-pass-list li{display:grid;grid-template-columns:minmax(0,1fr) auto 24px;gap:10px;align-items:center;padding:10px 0;border-bottom:1px dashed rgba(10,10,10,.18);font-size:.875rem;color:#3A3732}
.sv-pass-list li b{font-weight:600;color:var(--obsidian);white-space:nowrap}
.sv-pass-list .sv-pass-empty{display:block;padding:14px 0;color:#8A8072;border-bottom:1px dashed rgba(10,10,10,.18)}
.sv-pass-x{width:24px;height:24px;border-radius:50%;border:0;background:rgba(10,10,10,.06);cursor:pointer;font-size:1rem;line-height:1;color:#3A3732}
.sv-pass-x:hover{background:rgba(10,10,10,.14)}
.sv-pass-total{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding:16px 0 18px;font-size:.875rem;color:#6B6559}
.sv-pass-total b{font-size:1.5rem;font-weight:700;letter-spacing:-.03em;color:var(--obsidian)}
.sv-build .sv-pass-go{width:100%;justify-content:center}
.sv-pass-go[aria-disabled="true"]{opacity:.45}
.sv-build .sv-pass-note{margin:12px 0 0;font-size:.75rem;line-height:1.5;color:#8A8072}
.sv-bar{position:fixed;left:16px;right:16px;bottom:16px;z-index:90;display:none;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;border-radius:14px;background:var(--obsidian);color:var(--ivory);font-size:.875rem;box-shadow:0 12px 32px rgba(0,0,0,.3)}
.sv-bar b{display:inline-flex;align-items:center;gap:6px;color:var(--gold);font-weight:600}
.sv-cta-btns{display:flex;flex-wrap:wrap;justify-content:center;gap:12px}

@media(max-width:1100px){
  .sv-build-grid{grid-template-columns:minmax(0,1fr)}
  .sv-pass{position:static;max-width:520px}
  .sv-bar:not([hidden]):not(.away){display:flex}
}
@media(max-width:960px){
  .sv-journey.sect-light,.sv-compare,.sv-build.sect-light{padding:88px 0}
  .sv-jinfo{position:static}
  .sv-stages{display:none}
  .sv-panels{gap:64px}
  .sv-cmp-notes{grid-template-columns:1fr;gap:0}
  .sv-cmp-notes li{padding:16px 0}
}
@media(max-width:640px){
  .sv-feature{grid-template-columns:minmax(0,1fr)}
  .sv-feature-side{align-items:flex-start;text-align:left}
  .sv-row{grid-template-columns:minmax(0,1fr);gap:14px}
  .sv-row-side{flex-direction:row;align-items:center;justify-content:space-between;gap:12px;text-align:left}
  .sv-row .sv-price{white-space:normal}
  .sv-add{flex:0 0 auto}
  .sv-cmp{aspect-ratio:4/5;border-radius:14px}
  .sv-cmp-knob{width:42px;height:42px;margin:-21px 0 0 -21px}
  .sv-frame{aspect-ratio:4/5;border-radius:12px}
  .sv-platforms{display:none}
  .sv-pubs{width:auto;left:14px;right:14px;bottom:14px}
}
@media(prefers-reduced-motion:reduce){
  .sv-anim .sv-frame{clip-path:none;transition:none}
  .sv-anim .sv-pub{opacity:1;transform:none;transition:none}
  .sv-live::before{animation:none}
}
/* shorter laptop screens: the journey's fixed column tightens so its button stays in view */
@media(min-width:961px) and (max-height:820px){
  .sv-jinfo{top:96px}
  .sv-stages{margin:22px 0 24px}
  .sv-stages a{padding:12px 0 12px 18px}
  .sv-stages a::before{top:12px;bottom:12px}
}
.sv-cta.cta-band.sect-light{background:#FFFFFF}

/* Edit's picture: a real editing timeline, cropped in to the clips */
.sv-frame-crop > video{transform:scale(1.18);transform-origin:46% 66%}

/* the Services page in black and white only: no gold, text pure white on dark and pure black on light */
.services-page .sv-hero .sv-title,.services-page .sv-hero .sv-lead{color:#FFFFFF}
:is(.services-page, .onloc-page, .about-page, .contact-page, .faq-page, .blog-page, .article-page, .booking-landing, .bf-modal, .account-page, .request-page, .policy-page) .btn-solid{background:#FFFFFF;color:#000000}
:is(.services-page, .onloc-page, .about-page, .contact-page, .faq-page, .blog-page, .article-page, .booking-landing, .bf-modal, .account-page, .request-page, .policy-page) .btn-solid:hover{background:#E6E6E6;color:#000000}
:is(.services-page, .onloc-page, .about-page, .contact-page, .faq-page, .blog-page, .article-page, .booking-landing, .bf-modal, .account-page, .request-page, .policy-page) .btn-ghost{border-color:rgba(255,255,255,.45);color:#FFFFFF}
:is(.services-page, .onloc-page, .about-page, .contact-page, .faq-page, .blog-page, .article-page, .booking-landing, .bf-modal, .account-page, .request-page, .policy-page) .btn-ghost:hover{border-color:#FFFFFF;color:#FFFFFF}
:is(.services-page, .onloc-page, .about-page, .contact-page, .faq-page, .blog-page, .article-page, .booking-landing, .bf-modal, .account-page, .request-page, .policy-page) .sect-light .btn-solid{background:#000000;color:#FFFFFF}
:is(.services-page, .onloc-page, .about-page, .contact-page, .faq-page, .blog-page, .article-page, .booking-landing, .bf-modal, .account-page, .request-page, .policy-page) .sect-light .btn-solid:hover{background:#2A2A2A;color:#FFFFFF}
:is(.services-page, .onloc-page, .about-page, .contact-page, .faq-page, .blog-page, .article-page, .booking-landing, .bf-modal, .account-page, .request-page, .policy-page) .sect-light .btn-ghost{border-color:rgba(0,0,0,.35);color:#000000}
:is(.services-page, .onloc-page, .about-page, .contact-page, .faq-page, .blog-page, .article-page, .booking-landing, .bf-modal, .account-page, .request-page, .policy-page) .sect-light .btn-ghost:hover{border-color:#000000;color:#000000}
.services-page .sv-jinfo .sp-h2,.services-page .sv-journey .sv-jlead,.services-page .sv-stages a,.services-page .sv-stages b,
.services-page .sv-journey .sv-pcopy h3,.services-page .sv-journey .sv-pcopy p,.services-page .sv-chips a{color:#000000}
.services-page .sv-stages li.on b{font-weight:700}
.services-page .sv-stages li.on a::before{background:#000000}
:is(.services-page, .onloc-page) .sv-third{border-left-color:#FFFFFF;color:#FFFFFF}
:is(.services-page, .onloc-page) .sv-third span{color:#FFFFFF}
:is(.services-page, .onloc-page) .sv-pub{background:#FFFFFF;color:#000000}
:is(.services-page, .onloc-page) .sv-pub em{color:#000000}
:is(.services-page, .onloc-page) .sv-chip{color:#FFFFFF}
.services-page .sv-compare,.services-page .hfaq{background:#000000}
.services-page .sv-compare .sp-title2,.services-page .sv-compare .sp-lead,.services-page .sv-cmp-notes b,.services-page .sv-cmp-notes span{color:#FFFFFF}
.services-page .sv-cmp-range:focus-visible ~ .sv-cmp-line .sv-cmp-knob,.services-page .sv-cmp:has(.sv-cmp-range:focus-visible) .sv-cmp-knob{outline-color:#FFFFFF}
.services-page .sv-cmp-knob{background:#FFFFFF;color:#000000}
.services-page .sv-build .sp-title2,.services-page .sv-build .sp-sec-head .sp-lead,.services-page .sv-build .sv-group-h,
.services-page .sv-build .sv-row h4,.services-page .sv-build .sv-row p,.services-page .sv-price,.services-page .sv-price b{color:#000000}
.services-page .sv-build .sv-feature h3,.services-page .sv-build .sv-feature p,.services-page .sv-feature .sv-price,.services-page .sv-feature .sv-price b{color:#FFFFFF}
.services-page .sv-feature{background:#000000}
.services-page .sv-feature.picked{box-shadow:0 0 0 3px #FFFFFF, 0 0 0 5px #000000}
.services-page .sv-feature .sv-add{border-color:rgba(255,255,255,.5);color:#FFFFFF}
.services-page .sv-feature .sv-add[aria-pressed="true"]{background:#FFFFFF;border-color:#FFFFFF;color:#000000}
.services-page .sv-add{color:#000000}
.services-page .sv-add[aria-pressed="true"]{background:#000000;border-color:#000000;color:#FFFFFF}
.services-page .sv-add:focus-visible{outline-color:#000000}
.services-page .sv-row.picked h4::after{background:#000000}
.services-page .sv-pass{box-shadow:0 0 0 2px #000000, 0 24px 60px rgba(0,0,0,.12)}
.services-page .sv-pass-top{background:#000000;color:#FFFFFF}
.services-page .sv-pass-top span:last-child{color:#FFFFFF}
.services-page .sv-pass-list li,.services-page .sv-pass-list li b,.services-page .sv-pass-list .sv-pass-empty,.services-page .sv-pass-total,.services-page .sv-pass-total b,
.services-page .sv-build .sv-pass-note,.services-page .sv-pass-x{color:#000000}
.services-page .sv-bar{background:#000000;color:#FFFFFF}
.services-page .sv-bar b{color:#FFFFFF}
.services-page .hfaq .hfaq-title,.services-page .hfaq .hfaq-intro,.services-page .qa-q,.services-page .qa-n,.services-page .hfaq .qa-body,.services-page .hfaq .qa-body p,
.services-page .qa-body strong,.services-page .hfaq .hfaq-mail,.services-page .hfaq-mail a,.services-page .qa-body a{color:#FFFFFF}
.services-page .qa-body a,.services-page .hfaq-mail a{text-decoration-color:#FFFFFF}
.services-page .qa-x{border-color:#FFFFFF}
.services-page .qa-x::before,.services-page .qa-x::after{background:#FFFFFF}
.services-page .qa[open] .qa-x{background:#FFFFFF;border-color:#FFFFFF}
.services-page .qa[open] .qa-x::before,.services-page .qa[open] .qa-x::after{background:#000000}
.services-page .qa summary:focus-visible{outline-color:#FFFFFF}
.services-page .sv-cta h2,.services-page .sv-cta h2 .dim,.services-page .sv-cta.cta-band.sect-light p{color:#000000}
@media(max-width:560px){ .sv-hero .sv-title{font-size:calc((100vw - 40px) / 14.2)} }

/* ================= ON LOCATION PAGE (redesign): black and white, the map as the centrepiece ================= */
.ol-hero .ol-title{font-size:clamp(2.5rem, 1rem + 5.4vw, 6rem);font-weight:700;line-height:.92;letter-spacing:-.05em;color:#FFFFFF;margin:0}
.ol-title .ht-sans,.ol-title .ht-serif{display:block}
.ol-title .ht-serif,.ol-h2 .ht-serif{font-family:'DM Serif Display',Georgia,serif;font-style:italic;font-weight:400;letter-spacing:-.035em;padding-bottom:.06em}
.ol-hero .ol-lead{margin:22px 0 0;max-width:560px;font-size:clamp(1rem, .95rem + .3vw, 1.1875rem);line-height:1.5;color:#FFFFFF}
.ol-hero .sp-hero-foot{margin-top:30px}
.ol-h2{font-size:clamp(2.25rem, 1.2rem + 2.6vw, 3.75rem);font-weight:700;line-height:.95;letter-spacing:-.05em;margin:0}
.ol-h2 .ht-sans,.ol-h2 .ht-serif{display:block}
.ol-how .btn,.ol-cover .btn,.ol-cta .btn{padding:11px 24px;font-size:1rem;font-weight:500;letter-spacing:-.01em;line-height:1.4;border-radius:8px}

/* how it works: steps fixed on the left, each step's card scrolling past on the right */
.ol-how.sect-light{background:#FFFFFF;padding:120px 0}
.ol-hinfo{position:sticky;top:110px;align-self:start}
.ol-how .ol-h2{color:#000000}
.ol-how .ol-hlead{margin:20px 0 0;font-size:1rem;line-height:1.55;color:#000000}
.ol-steps{list-style:none;margin:30px 0 32px;padding:0;border-top:1px solid rgba(0,0,0,.14)}
.ol-steps li{border-bottom:1px solid rgba(0,0,0,.14)}
.ol-steps a{display:block;position:relative;padding:16px 0 16px 18px;color:#000000}
.ol-steps a::before{content:"";position:absolute;left:0;top:16px;bottom:16px;width:2px;border-radius:2px;background:rgba(0,0,0,.14);transition:background-color .3s}
.ol-steps b{font-size:1.1875rem;font-weight:500;letter-spacing:-.02em;color:#000000}
.ol-steps li.on b{font-weight:700}
.ol-steps li.on a::before{background:#000000}
.ol-panels{display:flex;flex-direction:column;gap:96px}
.ol-panel{scroll-margin-top:100px}
.ol-pcopy{padding-top:26px;max-width:640px}
.ol-how .ol-pcopy h3{margin:0;font-size:clamp(1.75rem, 1.3rem + 1.2vw, 2.5rem);font-weight:700;letter-spacing:-.04em;color:#000000}
.ol-how .ol-pcopy p{margin:10px 0 0;font-size:1.0625rem;line-height:1.55;color:#000000}

/* coverage: the map is the centrepiece; pick a city and it draws the journey from Shoreditch */
.ol-cover{padding:120px 0;background:#000000;color:#FFFFFF;overflow:hidden}
.ol-cover-grid{margin:0 var(--edge);display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:clamp(32px, 5vw, 96px);align-items:center}
.ol-cover .ol-h2{color:#FFFFFF}
.ol-cover .ol-clead{margin:22px 0 0;max-width:520px;font-size:clamp(1rem, .95rem + .25vw, 1.125rem);line-height:1.55;color:#FFFFFF}
.ol-cities{display:flex;flex-wrap:wrap;gap:8px;margin:28px 0 0}
.ol-city{padding:9px 16px;border-radius:999px;border:1px solid rgba(255,255,255,.35);background:none;color:#FFFFFF;font:inherit;font-size:.9375rem;font-weight:500;cursor:pointer;transition:background-color .2s,border-color .2s,color .2s}
.ol-city:hover{border-color:#FFFFFF}
.ol-city[aria-pressed="true"]{background:#FFFFFF;border-color:#FFFFFF;color:#000000}
.ol-city:focus-visible{outline:2px solid #FFFFFF;outline-offset:3px}
.ol-city-out{border-style:dashed}
.ol-route{margin:28px 0 0;padding:22px 0 0;border-top:1px solid rgba(255,255,255,.2)}
.ol-cover .ol-route-k{margin:0;font-size:.75rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:#FFFFFF}
.ol-cover .ol-route-name{margin:8px 0 0;font-size:clamp(2rem, 1.4rem + 1.6vw, 3rem);font-weight:700;line-height:1;letter-spacing:-.045em;color:#FFFFFF}
.ol-cover .ol-route-note{margin:10px 0 22px;font-size:1rem;color:#FFFFFF}
.ol-cover .ol-venues-k{margin:44px 0 12px;font-size:.75rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:#FFFFFF}
.ol-venues{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:6px 18px}
.ol-venues li{position:relative;padding-left:14px;font-size:.9375rem;color:#FFFFFF}
.ol-venues li::before{content:"";position:absolute;left:0;top:.6em;width:5px;height:5px;border-radius:50%;background:#FFFFFF}
.ol-map{position:relative}
.ol-svg{display:block;width:100%;height:auto;max-height:86vh;margin:0 auto;font-family:var(--font);overflow:visible}
.ol-ie{opacity:.22}
.ol-gb{opacity:.62}
.ol-glow{opacity:.9}
.ol-r{fill:none;stroke:#FFFFFF;stroke-width:1.6;stroke-dasharray:.012 .012;opacity:.28;transition:opacity .4s ease}
.ol-map.picked .ol-r{opacity:.12}
.ol-map.picked .ol-r.on{opacity:1;stroke-width:2.6;stroke-dasharray:1 1}
.ol-r.on.draw{animation:olDraw 1.4s cubic-bezier(.45,0,.2,1) both}
@keyframes olDraw{from{stroke-dashoffset:1}to{stroke-dashoffset:0}}
.ol-r-out{opacity:.18}
.ol-traveller{fill:#FFFFFF;opacity:0}
.ol-traveller.go{opacity:1}
.ol-pt{cursor:pointer}
.ol-pt-hit{fill:transparent}
.ol-pt-ring{fill:none;stroke:#FFFFFF;stroke-width:1.5;opacity:.5;transition:opacity .3s, r .3s}
.ol-pt-core{fill:#FFFFFF}
.ol-pt text{fill:#FFFFFF;font-size:19px;font-weight:500;letter-spacing:-.01em;opacity:.75;transition:opacity .3s}
.ol-pt.on .ol-pt-ring{opacity:1;r:14px}
.ol-pt.on text{opacity:1;font-weight:700}
.ol-pt-out text{font-size:17px;opacity:.6}
.ol-home-core{fill:#FFFFFF}
.ol-home-ring{fill:none;stroke:#FFFFFF;stroke-width:2}
.ol-home-pulse{fill:none;stroke:#FFFFFF;stroke-width:2;transform-box:fill-box;transform-origin:center;animation:olPulse 2.4s ease-out infinite}
@keyframes olPulse{from{transform:scale(1);opacity:.8}to{transform:scale(3.4);opacity:0}}
.ol-home-name{fill:#FFFFFF;font-size:22px;font-weight:700;letter-spacing:-.02em}
.ol-home-sub{fill:#FFFFFF;font-size:15px;font-weight:500}
.ol-cta.cta-band.sect-light{background:#FFFFFF}
.ol-cta h2,.ol-cta h2 .dim,.ol-cta.cta-band.sect-light p{color:#000000}

@media(max-width:960px){
  .ol-how.sect-light,.ol-cover{padding:88px 0}
  .ol-hinfo{position:static}
  .ol-steps{display:none}
  .ol-panels{gap:64px}
  .ol-cover-grid{grid-template-columns:1fr;gap:48px}
  .ol-svg{max-height:none;max-width:560px}
}
@media(max-width:560px){
  .ol-cover-grid{margin:0 20px}
  .ol-pt text{font-size:28px}
  .ol-home-name{font-size:25px}
  .ol-home-sub{display:none}
  .ol-pt-out text{font-size:24px}
}
@media(prefers-reduced-motion:reduce){
  .ol-home-pulse{animation:none;opacity:0}
  .ol-r.on.draw{animation:none}
}
.ol-tl{top:18px;left:18px}
@media(max-width:640px){ .onloc-page .sv-frame{aspect-ratio:4/5;border-radius:12px} .onloc-page .sv-pubs{width:auto;left:14px;right:14px;bottom:14px} }

/* On Location, post-production: one recording reframed for 16:9, 9:16 and 1:1 (drag the frame) */
.ol-rf.sv-frame{aspect-ratio:16/9}
.ol-rf.sv-frame::after{display:none}
.ol-rf-ui{--w:31.64;--p:.24;position:absolute;inset:0;z-index:2;touch-action:pan-y;cursor:grab;user-select:none}
.ol-rf-ui.dragging{cursor:grabbing}
.ol-rf-ui.full{cursor:default}
.ol-rf-win{position:absolute;top:0;bottom:0;width:calc(var(--w) * 1%);left:calc((100% - var(--w) * 1%) * var(--p));
  border:2px solid #FFFFFF;border-radius:4px;box-shadow:0 0 0 200vmax rgba(0,0,0,.58);outline:none;
  background-image:linear-gradient(90deg, transparent calc(33.333% - .5px), rgba(255,255,255,.55) calc(33.333% - .5px), rgba(255,255,255,.55) calc(33.333% + .5px), transparent calc(33.333% + .5px), transparent calc(66.666% - .5px), rgba(255,255,255,.55) calc(66.666% - .5px), rgba(255,255,255,.55) calc(66.666% + .5px), transparent calc(66.666% + .5px)),
    linear-gradient(180deg, transparent calc(33.333% - .5px), rgba(255,255,255,.55) calc(33.333% - .5px), rgba(255,255,255,.55) calc(33.333% + .5px), transparent calc(33.333% + .5px), transparent calc(66.666% - .5px), rgba(255,255,255,.55) calc(66.666% - .5px), rgba(255,255,255,.55) calc(66.666% + .5px), transparent calc(66.666% + .5px));
  transition:width .55s cubic-bezier(.2,.8,.2,1), left .55s cubic-bezier(.2,.8,.2,1), box-shadow .3s}
.ol-rf-ui.dragging .ol-rf-win{transition:width .55s cubic-bezier(.2,.8,.2,1)}
.ol-rf-ui.full .ol-rf-win{box-shadow:0 0 0 200vmax rgba(0,0,0,0)}
.ol-rf-win:focus-visible{border-width:3px}
.ol-rf-label{position:absolute;left:10px;bottom:10px;padding:5px 10px;border-radius:999px;background:#FFFFFF;color:#000000;font-size:.75rem;font-weight:700;white-space:nowrap}
.ol-rf-wrap{position:relative}
.ol-rf-fmts{position:absolute;top:16px;right:16px;z-index:3;display:flex;gap:6px;padding:4px;border-radius:999px;background:rgba(0,0,0,.6);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
.ol-rf-fmts button{padding:6px 12px;border:0;border-radius:999px;background:none;color:#FFFFFF;font:inherit;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.8125rem;font-weight:600;cursor:pointer;transition:background-color .2s,color .2s}
.ol-rf-fmts button[aria-pressed="true"]{background:#FFFFFF;color:#000000}
.ol-rf-fmts button:focus-visible{outline:2px solid #FFFFFF;outline-offset:2px}
.ol-rf-hint{position:absolute;left:50%;bottom:14px;transform:translateX(-50%);margin:0;padding:6px 12px;border-radius:999px;background:rgba(0,0,0,.6);color:#FFFFFF;font-size:.75rem;font-weight:600;pointer-events:none}
.ol-rf-ui.dragging .ol-rf-hint{opacity:0}
@media(max-width:640px){ .onloc-page .ol-rf.sv-frame{aspect-ratio:16/9} .ol-rf-fmts{position:static;width:max-content;margin-top:12px;background:#000000} .ol-rf-hint{display:none} }
@media(prefers-reduced-motion:reduce){ .ol-rf-win{transition:none} }

/* ================= ABOUT PAGE (redesign): black and white, photography first ================= */
.ab-hero .ab-title{font-size:clamp(2.5rem, 1rem + 5.4vw, 6rem);font-weight:700;line-height:.92;letter-spacing:-.05em;color:#FFFFFF;margin:0}
.ab-title .ht-sans,.ab-title .ht-serif,.ab-h2 .ht-sans,.ab-h2 .ht-serif{display:block}
.ab-title .ht-serif,.ab-h2 .ht-serif{font-family:'DM Serif Display',Georgia,serif;font-style:italic;font-weight:400;letter-spacing:-.035em;padding-bottom:.06em}
.ab-hero .ab-lead{margin:22px 0 0;max-width:560px;font-size:clamp(1rem, .95rem + .3vw, 1.1875rem);line-height:1.5;color:#FFFFFF}
.ab-hero .sp-hero-foot{margin-top:30px}
.ab-story .btn,.ab-names .btn,.ab-found .btn,.ab-cta .btn{padding:11px 24px;font-size:1rem;font-weight:500;letter-spacing:-.01em;line-height:1.4;border-radius:8px}
.ab-head{max-width:760px;margin-bottom:56px}
.ab-h2{font-size:clamp(2.25rem, 1.2rem + 2.6vw, 3.75rem);font-weight:700;line-height:.95;letter-spacing:-.05em;margin:0}
.ab-hlead{margin:20px 0 0;max-width:620px;font-size:clamp(1rem, .95rem + .25vw, 1.125rem);line-height:1.55}

/* our story: one big statement, then the room photo beside the facts */
.ab-story.sect-light{background:#FFFFFF;padding:130px 0 120px}
.ab-story .ab-statement{margin:0;max-width:1100px;font-size:clamp(1.75rem, 1rem + 2.2vw, 3.25rem);font-weight:600;line-height:1.18;letter-spacing:-.035em;color:#000000}
.ab-story-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(280px,1fr);gap:clamp(32px, 4vw, 72px);align-items:end;margin-top:72px}
.ab-story-img{position:relative;aspect-ratio:4/3;border-radius:16px;overflow:hidden;background:#000000}
.ab-story-img > img,.ab-story-img > video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.ab-story .ab-story-line{margin:0;font-size:clamp(1.25rem, 1rem + .6vw, 1.625rem);font-weight:600;line-height:1.3;letter-spacing:-.02em;color:#000000}
.ab-facts{margin:28px 0 0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 28px}
.ab-facts div{padding:18px 0;border-top:1px solid rgba(0,0,0,.14)}
.ab-facts dt{font-size:clamp(2rem, 1.5rem + 1.2vw, 2.75rem);font-weight:700;line-height:1;letter-spacing:-.05em;color:#000000}
.ab-facts dd{margin:8px 0 0;font-size:.9375rem;line-height:1.45;color:#000000}
.ab-film{margin-top:24px}
.ab-film[hidden]{display:none}
.ab-film svg{margin-left:4px}

/* why the names: each studio's photo, name and the story behind it */
.ab-names{padding:120px 0;background:#000000;color:#FFFFFF}
.ab-names .ab-h2,.ab-names .ab-hlead{color:#FFFFFF}
.ab-rooms{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}
.ab-room{display:block;color:#FFFFFF}
.ab-room-pic{position:relative;aspect-ratio:4/5;border-radius:16px;overflow:hidden;background:#111111}
.ab-room-pic img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .7s ease-out}
@media(hover:hover) and (prefers-reduced-motion:no-preference){ .ab-room:hover .ab-room-pic img{transform:scale(1.06)} }
.ab-room-go{position:absolute;top:16px;right:16px;display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;background:#FFFFFF;color:#000000;transition:transform .3s ease}
.ab-room:hover .ab-room-go{transform:rotate(-45deg)}
.ab-room:focus-visible{outline:2px solid #FFFFFF;outline-offset:6px;border-radius:16px}
.ab-names .ab-room-name{margin:20px 0 0;font-size:clamp(1.5rem, 1.2rem + .8vw, 2rem);font-weight:700;letter-spacing:-.04em;color:#FFFFFF}
.ab-names .ab-room p{margin:8px 0 0;font-family:'DM Serif Display',Georgia,serif;font-style:italic;font-size:1.0625rem;line-height:1.45;color:#FFFFFF}

/* what we stand for: three commitments, each with a large picture */
.ab-found.sect-light{background:#FFFFFF;padding:120px 0}
.ab-found .ab-h2,.ab-found .ab-hlead{color:#000000}
.ab-pillars{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(24px, 3vw, 40px)}
.ab-pic{position:relative;aspect-ratio:4/5;border-radius:16px;overflow:hidden;background:#000000}
.ab-pic > img,.ab-pic > video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.ab-found .ab-pillar h3{margin:24px 0 0;font-size:clamp(1.5rem, 1.2rem + .8vw, 2rem);font-weight:700;letter-spacing:-.04em;color:#000000}
.ab-found .ab-pillar p{margin:10px 0 0;font-size:1rem;line-height:1.55;color:#000000}

/* inside the building: a photo grid of the rooms */
.ab-inside{padding:120px 0;background:#000000;color:#FFFFFF}
.ab-inside .ab-h2,.ab-inside .ab-hlead{color:#FFFFFF}
.ab-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:clamp(160px, 17vw, 280px);gap:16px;
  grid-template-areas:"a a b c" "a a d e" "f g g h"}
.ab-t1{grid-area:a}.ab-t2{grid-area:b}.ab-t3{grid-area:c}.ab-t4{grid-area:d}.ab-t5{grid-area:e}.ab-t6{grid-area:f}.ab-t7{grid-area:g}.ab-t8{grid-area:h}
.ab-tile{position:relative;margin:0;border-radius:14px;overflow:hidden;background:#111111}
.ab-tile > img,.ab-tile > video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .7s ease-out}
@media(hover:hover) and (prefers-reduced-motion:no-preference){ .ab-tile:hover > img{transform:scale(1.05)} }
.ab-tile figcaption{position:absolute;left:14px;bottom:14px;padding:6px 12px;border-radius:999px;background:rgba(0,0,0,.6);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#FFFFFF;font-size:.8125rem;font-weight:600}
.ab-tile.own figcaption{display:none}

.ab-cta.cta-band.sect-light{background:#FFFFFF}
.ab-cta h2,.ab-cta h2 .dim,.ab-cta.cta-band.sect-light p{color:#000000}

@media(max-width:1100px){
  .ab-rooms{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:960px){
  .ab-story.sect-light,.ab-names,.ab-found.sect-light,.ab-inside{padding:88px 0}
  .ab-story-grid{grid-template-columns:1fr;margin-top:48px}
  .ab-pillars{grid-template-columns:1fr;gap:48px}
  .ab-pic{aspect-ratio:4/3}
  .ab-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:clamp(150px, 32vw, 260px);grid-template-areas:"a a" "a a" "b c" "d e" "g g" "f h"}
}
@media(max-width:640px){
  .ab-head{margin-bottom:40px}
  .ab-rooms{display:flex;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;margin:0 -20px;padding:0 20px;scrollbar-width:none}
  .ab-rooms::-webkit-scrollbar{display:none}
  .ab-room{flex:0 0 78%;scroll-snap-align:start}
  .ab-facts{grid-template-columns:1fr 1fr}
  .ab-grid{gap:10px}
}

/* ================= CONTACT PAGE (redesign): black and white, the form first, then a walking map ================= */
.ct-hero .ct-title{font-size:clamp(2.5rem, 1rem + 5.4vw, 6rem);font-weight:700;line-height:.92;letter-spacing:-.05em;color:#FFFFFF;margin:0}
.ct-title .ht-sans,.ct-title .ht-serif,.ct-h2 .ht-sans,.ct-h2 .ht-serif{display:block}
.ct-title .ht-serif,.ct-h2 .ht-serif{font-family:'DM Serif Display',Georgia,serif;font-style:italic;font-weight:400;letter-spacing:-.035em;padding-bottom:.06em}
.ct-hero .ct-lead{margin:22px 0 0;max-width:560px;font-size:clamp(1rem, .95rem + .3vw, 1.1875rem);line-height:1.5;color:#FFFFFF}
.ct-hero .sp-hero-foot{margin-top:30px}
.ct-help .btn,.ct-visit .btn,.ct-cta .btn,.ct-hero .btn{padding:11px 24px;font-size:1rem;font-weight:500;letter-spacing:-.01em;line-height:1.4;border-radius:8px}
.ct-h2{font-size:clamp(2.25rem, 1.2rem + 2.6vw, 3.75rem);font-weight:700;line-height:.95;letter-spacing:-.05em;margin:0}

/* how can we help: heading and details on the left, the form on the right */
.ct-help.sect-light{background:#FFFFFF;padding:130px 0 120px}
.ct-help-grid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);grid-template-rows:auto 1fr;grid-template-areas:"head form" "info form";gap:0 clamp(40px, 6vw, 120px)}
.ct-help-head{grid-area:head}
.ct-help .ct-h2,.ct-help .ct-hlead,.ct-help.sect-light p{color:#000000}
.ct-hlead{margin:20px 0 0;max-width:440px;font-size:clamp(1rem, .95rem + .25vw, 1.125rem);line-height:1.55}
.ct-details{grid-area:info;align-self:start;margin:48px 0 0}
.ct-details > div{display:grid;grid-template-columns:88px minmax(0,1fr);gap:16px;padding:20px 0;border-top:1px solid rgba(0,0,0,.14)}
.ct-details > div[hidden]{display:none}
.ct-details dt{padding-top:3px;font-size:.75rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:#000000}
.ct-details dd{margin:0;display:flex;flex-direction:column;align-items:flex-start;gap:6px;font-size:1rem;line-height:1.45;color:#000000}
.ct-details dd b{font-weight:600;white-space:pre-line}
.ct-details dd > span{font-size:.9375rem}
.ct-help a.ct-mail{font-size:clamp(1.125rem, 1rem + .45vw, 1.375rem);font-weight:600;letter-spacing:-.02em;color:#000000;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:5px;overflow-wrap:anywhere}
.ct-help a.ct-inline{display:inline-flex;align-items:center;gap:6px;font-weight:600;color:#000000;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:4px}
.ct-help .ct-social{flex-direction:row;flex-wrap:wrap;gap:6px 20px}
.ct-help .ct-social a{font-weight:600;color:#000000;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:4px}
.ct-formbox{grid-area:form;min-width:0}
.ct-form{display:flex;flex-direction:column;gap:30px}
.ct-form[hidden],.ct-sent[hidden],.ct-error[hidden]{display:none}
.ct-reasons{margin:0;padding:0;border:0;min-width:0}
.ct-reasons legend,.ct-field > span{padding:0;font-size:.75rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:#000000}
.ct-reasons legend{margin-bottom:16px}
.ct-reasons legend em,.ct-field > span em{font-style:normal}
.ct-chips{display:flex;flex-wrap:wrap;gap:10px}
.ct-chip{position:relative;display:inline-flex}
.ct-chip input{position:absolute;inset:0;margin:0;opacity:0;cursor:pointer}
.ct-chip span{display:inline-flex;align-items:center;padding:11px 18px;border:1px solid rgba(0,0,0,.25);border-radius:999px;font-size:.9375rem;font-weight:500;line-height:1.3;color:#000000;transition:background-color .2s,border-color .2s,color .2s;pointer-events:none}
.ct-chip:hover span{border-color:#000000}
.ct-chip input:checked + span{background:#000000;border-color:#000000;color:#FFFFFF}
.ct-chip input:focus-visible + span{outline:2px solid #000000;outline-offset:3px}
.ct-reasons[aria-invalid="true"] .ct-chip span{border-color:#000000;border-width:2px;padding:10px 17px}
.ct-hint{margin:16px 0 0;font-size:.9375rem;line-height:1.5;color:#000000}
.ct-hint:empty{display:none}
.ct-hint a{font-weight:600;color:#000000;text-decoration:underline;text-underline-offset:3px}
.ct-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:30px}
.ct-field{display:flex;flex-direction:column;gap:4px;min-width:0}
.ct-field input,.ct-field textarea,.ct-field select{width:100%;padding:10px 0 12px;border:0;border-bottom:1px solid rgba(0,0,0,.3);border-radius:0;background:transparent;font:inherit;font-size:1.125rem;line-height:1.4;color:#000000;outline:none;box-shadow:none;transition:border-color .2s,box-shadow .2s;-webkit-appearance:none;appearance:none}
.ct-field textarea{min-height:132px;resize:vertical;line-height:1.5}
.ct-field select{padding-right:30px;cursor:pointer;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 12 12' fill='none'%3E%3Cpath d='M3 4.5 6 7.5 9 4.5' stroke='%23000' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat right 4px center}
.ct-field input::placeholder,.ct-field textarea::placeholder{color:rgba(0,0,0,.42)}
.ct-field input:focus,.ct-field textarea:focus,.ct-field select:focus{border-bottom-color:#000000;box-shadow:0 1px 0 0 #000000}
.ct-field input[aria-invalid="true"]{border-bottom-color:#000000;box-shadow:0 2px 0 0 #000000}
.ct-heard{max-width:calc(50% - 15px)}
.ct-error{margin:0;padding:14px 18px;border:2px solid #000000;border-radius:10px;font-size:.9375rem;font-weight:600;line-height:1.45;color:#000000}
.ct-send{display:flex;align-items:center;flex-wrap:wrap;gap:16px 26px}
.ct-note{margin:0;max-width:300px;font-size:.875rem;line-height:1.45;color:#000000}
.ct-sent{padding:clamp(28px, 4vw, 48px);border:1px solid rgba(0,0,0,.14);border-radius:16px;outline:none}
.ct-sent h3{margin:0 0 14px;font-size:clamp(1.75rem, 1.3rem + 1vw, 2.5rem);font-weight:700;letter-spacing:-.045em;color:#000000}
.ct-sent p{margin:0 0 10px;max-width:520px;font-size:1.0625rem;line-height:1.55;color:#000000}
.ct-sent a{font-weight:600;color:#000000;text-decoration:underline;text-underline-offset:3px}
.ct-sent .btn{margin-top:16px}

/* find the studio: the stations on the left, the walking map on the right */
.ct-visit{padding:120px 0;background:#000000;color:#FFFFFF;overflow:hidden}
.ct-visit-grid{margin:0 var(--edge);display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);grid-template-rows:auto auto 1fr;grid-template-areas:"head map" "st map" "addr map";gap:0 clamp(32px, 5vw, 96px);align-items:start}
.ct-visit-head{grid-area:head}
.ct-visit .ct-h2,.ct-visit .ct-vlead{color:#FFFFFF}
.ct-vlead{margin:20px 0 0;max-width:460px;font-size:clamp(1rem, .95rem + .25vw, 1.125rem);line-height:1.55}
.ct-stations{grid-area:st;margin:36px 0 0;display:flex;flex-direction:column}
.ct-st-btn{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;width:100%;margin:0;padding:15px 16px;border:0;border-top:1px solid rgba(255,255,255,.22);border-radius:0;background:none;color:#FFFFFF;font:inherit;text-align:left;cursor:pointer;transition:background-color .25s,color .25s,border-radius .25s}
.ct-st-btn:last-child{border-bottom:1px solid rgba(255,255,255,.22)}
.ct-st-btn:hover{background:rgba(255,255,255,.08)}
.ct-st-btn[aria-pressed="true"]{background:#FFFFFF;color:#000000;border-radius:10px;border-color:transparent}
.ct-st-btn[aria-pressed="true"] + .ct-st-btn{border-top-color:transparent}
.ct-st-btn:focus-visible{outline:2px solid #FFFFFF;outline-offset:3px}
.ct-st-name{display:flex;flex-direction:column;min-width:0}
.ct-st-name b{font-size:1.125rem;font-weight:600;letter-spacing:-.02em;line-height:1.3}
.ct-st-name small{display:grid;grid-template-rows:0fr;transition:grid-template-rows .35s ease}
.ct-st-name small > span{overflow:hidden;font-size:.875rem;line-height:1.45}
.ct-st-btn[aria-pressed="true"] small{grid-template-rows:1fr}
.ct-st-btn[aria-pressed="true"] small > span{padding-top:4px}
.ct-st-time{flex:0 0 auto;font-size:1.125rem;font-weight:700;letter-spacing:-.02em;line-height:1.3;white-space:nowrap}
.ct-addr{grid-area:addr;margin:36px 0 0}
.ct-visit .ct-addr-v{margin:0 0 18px;max-width:420px;font-size:clamp(1.125rem, 1rem + .4vw, 1.375rem);font-weight:600;line-height:1.4;letter-spacing:-.02em;color:#FFFFFF}
.ct-addr-btns{display:flex;flex-wrap:wrap;gap:12px}
.ct-map{grid-area:map;position:relative;justify-self:center;width:min(100%, calc((100svh - 110px) * .8));margin:0}
.ct-map::after{content:"";position:absolute;inset:0 0 28px;pointer-events:none;box-shadow:inset 0 0 40px 34px #000000}
.ct-svg{display:block;width:100%;height:auto;overflow:hidden}
.ct-map figcaption{margin-top:8px;text-align:right;font-size:.75rem;color:#FFFFFF}
.ct-map figcaption a{color:#FFFFFF;text-decoration:underline;text-underline-offset:2px}

/* the map drawing */
.ct-park{fill:rgba(255,255,255,.07)}
.ct-rail{fill:none;stroke:rgba(255,255,255,.16);stroke-width:1.2}
.ct-min,.ct-mid,.ct-maj{fill:none;stroke-linecap:round;stroke-linejoin:round}
.ct-min{stroke:rgba(255,255,255,.14);stroke-width:1.6}
.ct-mid{stroke:rgba(255,255,255,.24);stroke-width:2.4}
.ct-maj{stroke:rgba(255,255,255,.4);stroke-width:5}
.ct-names text{fill:#FFFFFF;opacity:.6;font-size:16px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;text-anchor:middle;dominant-baseline:central;paint-order:stroke;stroke:#000000;stroke-width:5px;stroke-linejoin:round}
.ct-names text.ct-home-st{opacity:1}
.ct-r{fill:none;stroke:#FFFFFF;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1 9;opacity:.45;transition:opacity .4s ease}
.ct-map.picked .ct-r{opacity:.3}
.ct-map.picked .ct-r.on{opacity:1;stroke-width:6;stroke-dasharray:none}
.ct-map.picked .ct-r.on.draw{stroke-dasharray:var(--len) var(--len);animation:ctDraw 1.4s cubic-bezier(.45,0,.2,1) both}
@keyframes ctDraw{from{stroke-dashoffset:var(--len)}to{stroke-dashoffset:0}}
.ct-walker{fill:#FFFFFF;stroke:#000000;stroke-width:3;opacity:0;transition:opacity .3s}
.ct-walker.go{opacity:1}
.ct-st-pt{cursor:pointer}
.ct-st-hit{fill:transparent}
.ct-st-ring{fill:#000000;stroke:#FFFFFF;stroke-width:3}
.ct-st-core{fill:#FFFFFF;transform-box:fill-box;transform-origin:center;transform:scale(0);transition:transform .3s ease}
.ct-st-pt.on .ct-st-core{transform:scale(1)}
.ct-st-pt text{fill:#FFFFFF;font-size:26px;font-weight:600;letter-spacing:-.01em;paint-order:stroke;stroke:#000000;stroke-width:6px;stroke-linejoin:round}
.ct-st-pt.on text{font-weight:700}
.ct-home-core{fill:#FFFFFF}
.ct-home-mark{fill:#000000}
.ct-home-pulse{fill:none;stroke:#FFFFFF;stroke-width:2;transform-box:fill-box;transform-origin:center;animation:ctPulse 2.4s ease-out infinite}
@keyframes ctPulse{from{transform:scale(1);opacity:.9}to{transform:scale(3);opacity:0}}
.ct-home-tag{transform:translate(22px,-62px)}
.ct-home-tag rect{fill:#FFFFFF}
.ct-home-tag text{fill:#000000;font-size:23px;font-weight:700;letter-spacing:-.01em}

.ct-cta.cta-band.sect-light{background:#FFFFFF}
.ct-cta h2,.ct-cta h2 .dim,.ct-cta.cta-band.sect-light p{color:#000000}

@media(max-width:960px){
  .ct-help.sect-light,.ct-visit{padding:88px 0}
  .ct-help-grid{grid-template-columns:minmax(0,1fr);grid-template-rows:none;grid-template-areas:"head" "form" "info"}
  .ct-formbox{margin-top:40px}
  .ct-details{margin-top:56px}
  .ct-visit-grid{grid-template-columns:minmax(0,1fr);grid-template-rows:none;grid-template-areas:"head" "map" "st" "addr"}
  .ct-map{justify-self:center;width:min(100%, 560px);margin-top:32px}
  .ct-stations{margin-top:28px}
}
@media(max-width:640px){
  .ct-visit-grid{margin:0 20px}
  .ct-row{grid-template-columns:minmax(0,1fr);gap:30px}
  .ct-heard{max-width:none}
  .ct-chip span{padding:10px 15px;font-size:.875rem}
  .ct-reasons[aria-invalid="true"] .ct-chip span{padding:9px 14px}
  .ct-details > div{grid-template-columns:72px minmax(0,1fr);gap:12px}
  .ct-map{justify-self:stretch;width:auto;margin:28px -20px 0}
  .ct-map::after{box-shadow:inset 0 0 18px 12px #000000}
  .ct-map figcaption{margin-right:20px}
  .ct-sz{transform:scale(1.55)}
  .ct-home .ct-sz{transform:scale(1.3)}
  .ct-home-tag{transform:translate(16px,-58px)}
  .ct-names text{font-size:22px;stroke-width:7px}
  .ct-st-btn{padding:14px 12px}
}
@media(prefers-reduced-motion:reduce){
  .ct-map.picked .ct-r.on.draw{animation:none;stroke-dasharray:none}
  .ct-home-pulse{animation:none;opacity:0}
}

/* ================= FAQ PAGE (redesign): black and white, search and topics on the left, answers on the right ================= */
.fq-hero.sp-hero{height:82vh;height:82svh;min-height:520px}
.fq-hero .fq-title{font-size:clamp(2.5rem, 1rem + 5.4vw, 6rem);font-weight:700;line-height:.92;letter-spacing:-.05em;color:#FFFFFF;margin:0}
.fq-title .ht-sans,.fq-title .ht-serif,.fq-h2 .ht-sans,.fq-h2 .ht-serif{display:block}
.fq-title .ht-serif,.fq-h2 .ht-serif{font-family:'DM Serif Display',Georgia,serif;font-style:italic;font-weight:400;letter-spacing:-.035em;padding-bottom:.06em}
.fq-hero .fq-lead{margin:22px 0 0;max-width:580px;font-size:clamp(1rem, .95rem + .3vw, 1.1875rem);line-height:1.5;color:#FFFFFF}
.fq-hero .sp-hero-foot{margin-top:30px}
.fq-hero .btn,.fq-main .btn,.fq-cta .btn{padding:11px 24px;font-size:1rem;font-weight:500;letter-spacing:-.01em;line-height:1.4;border-radius:8px}
.fq-h2{font-size:clamp(2.25rem, 1.2rem + 2.6vw, 3.75rem);font-weight:700;line-height:.95;letter-spacing:-.05em;margin:0}

/* the answers */
.fq-main.sect-light{background:#FFFFFF;padding:110px 0 120px}
.fq-main.sect-light p,.fq-main.sect-light li{color:#000000}
.fq-grid{margin:0 var(--edge);display:grid;grid-template-columns:clamp(260px, 24vw, 360px) minmax(0,880px);gap:clamp(40px, 6vw, 120px);align-items:start}
.fq-side{position:sticky;top:110px}
.fq-search-l{display:block;margin:0 0 12px;font-size:.75rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:#000000}
.fq-search-box{position:relative;display:flex;align-items:center;border:1px solid rgba(0,0,0,.25);border-radius:12px;transition:border-color .2s,box-shadow .2s}
.fq-search-box:focus-within{border-color:#000000;box-shadow:0 0 0 1px #000000}
.fq-search-box > svg{position:absolute;left:16px;color:#000000;pointer-events:none}
.fq-search-box input{width:100%;min-width:0;padding:15px 44px 15px 46px;border:0;background:transparent;font:inherit;font-size:1rem;color:#000000;outline:none;-webkit-appearance:none;appearance:none}
.fq-search-box input::placeholder{color:rgba(0,0,0,.42)}
.fq-search-box input::-webkit-search-cancel-button{display:none}
.fq-clear{position:absolute;right:8px;display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:0;border-radius:50%;background:none;color:#000000;cursor:pointer}
.fq-clear:hover{background:rgba(0,0,0,.06)}
.fq-clear[hidden]{display:none}
.fq-main .fq-count{margin:10px 0 0;min-height:1.4em;font-size:.875rem;font-weight:600}
.fq-topics{display:flex;flex-direction:column;margin-top:22px;border-top:1px solid rgba(0,0,0,.14)}
.fq-topics a{position:relative;display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding:13px 0 13px 18px;border-bottom:1px solid rgba(0,0,0,.14);font-size:1rem;font-weight:500;color:#000000;transition:padding-left .25s}
.fq-topics a::before{content:"";position:absolute;left:0;top:14px;bottom:14px;width:2px;background:rgba(0,0,0,.14);transition:background-color .25s}
.fq-topics a.on{font-weight:700}
.fq-topics a.on::before{background:#000000}
.fq-topics a:hover::before{background:#000000}
.fq-topics a.none{text-decoration:line-through;text-decoration-thickness:1px}
.fq-n{font-size:.875rem;font-weight:600}
.fq-group{scroll-margin-top:100px;padding-bottom:64px}
.fq-group[hidden]{display:none}
.fq-group + .fq-group{padding-top:8px}
.fq-main .fq-gh{margin:0;font-size:clamp(1.75rem, 1.3rem + 1.2vw, 2.5rem);font-weight:700;line-height:1.05;letter-spacing:-.045em;color:#000000}
.fq-main .fq-gsub{margin:12px 0 0;max-width:600px;font-size:1.0625rem;line-height:1.5}
.fq-qs{margin-top:26px;border-top:1px solid rgba(0,0,0,.14)}
.fq-q{border-bottom:1px solid rgba(0,0,0,.14);scroll-margin-top:110px}
.fq-q[hidden]{display:none}
.fq-q summary{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:22px 0;cursor:pointer;list-style:none}
.fq-q summary::-webkit-details-marker{display:none}
.fq-q summary:focus-visible{outline:2px solid #000000;outline-offset:4px;border-radius:4px}
.fq-qt{font-size:clamp(1.0625rem, 1rem + .3vw, 1.25rem);font-weight:600;line-height:1.35;letter-spacing:-.02em;color:#000000}
.fq-x{position:relative;flex:0 0 auto;width:34px;height:34px;border:1px solid rgba(0,0,0,.25);border-radius:50%;transition:background-color .25s,border-color .25s,transform .3s ease}
.fq-x::before,.fq-x::after{content:"";position:absolute;left:50%;top:50%;width:12px;height:1.6px;margin:-.8px 0 0 -6px;background:#000000;transition:transform .3s ease,background-color .25s}
.fq-x::after{transform:rotate(90deg)}
.fq-q summary:hover .fq-x{border-color:#000000}
.fq-q[open] .fq-x{background:#000000;border-color:#000000;transform:rotate(45deg)}
.fq-q[open] .fq-x::before,.fq-q[open] .fq-x::after{background:#FFFFFF}
.fq-a{max-width:700px;padding:0 58px 26px 0;font-size:1.0625rem;line-height:1.65;color:#000000}
.fq-a p{margin:0 0 12px}
.fq-a p:last-child{margin-bottom:0}
.fq-a ul{margin:0 0 12px;padding-left:20px}
.fq-a ul:last-child{margin-bottom:0}
.fq-a li{margin:6px 0}
.fq-a a{color:#000000;font-weight:600;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}
.fq-q[open] .fq-a{animation:fqOpen .35s ease both}
@keyframes fqOpen{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}
.fq-empty{padding:8px 0 40px}
.fq-empty[hidden]{display:none}
.fq-main .fq-empty h2{margin:0;font-size:clamp(1.5rem, 1.2rem + .8vw, 2rem);font-weight:700;letter-spacing:-.04em;color:#000000;overflow-wrap:anywhere}
.fq-empty p{margin:12px 0 20px;max-width:520px;font-size:1.0625rem;line-height:1.55}
.fq-empty a{color:#000000;font-weight:600;text-decoration:underline;text-underline-offset:3px}

/* the cancellation pass: boarding-pass card with the two booking lengths */
.fq-pass{margin-top:28px;border:1.5px solid #000000;border-radius:18px;overflow:hidden}
.fq-pass[hidden]{display:none}
.fq-pass-top{position:relative;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:14px 24px;padding:20px 24px;border-bottom:1.5px dashed #000000}
.fq-pass-top::before,.fq-pass-top::after{content:"";position:absolute;bottom:-11px;width:20px;height:20px;border-radius:50%;background:#FFFFFF;border:1.5px solid #000000}
.fq-pass-top::before{left:-11px}
.fq-pass-top::after{right:-11px}
.fq-main .fq-pass-t{margin:0;font-size:.75rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase}
.fq-pass-tabs{display:inline-flex;padding:4px;border:1px solid rgba(0,0,0,.2);border-radius:999px}
.fq-pass-tabs button{padding:8px 16px;border:0;border-radius:999px;background:none;color:#000000;font:inherit;font-size:.875rem;font-weight:600;cursor:pointer;transition:background-color .25s,color .25s}
.fq-pass-tabs button[aria-pressed="true"]{background:#000000;color:#FFFFFF}
.fq-pass-tabs button:focus-visible{outline:2px solid #000000;outline-offset:2px}
.fq-zones{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 4px;margin:0;padding:26px 24px 8px;list-style:none}
.fq-z{display:flex;flex-direction:column;min-width:0}
.fq-main .fq-z-when{margin:0;min-height:2.8em;font-size:.875rem;font-weight:600;line-height:1.35}
.fq-z-bar{display:block;height:16px;margin:12px 0 14px;border:1.5px solid #000000}
.fq-z1 .fq-z-bar{border-radius:999px 0 0 999px;background:#FFFFFF}
.fq-z2 .fq-z-bar{background:repeating-linear-gradient(-45deg, #000000 0 2px, #FFFFFF 2px 7px)}
.fq-z3 .fq-z-bar{border-radius:0 999px 999px 0;background:#000000;position:relative}
.fq-main .fq-z-what{margin:0;font-size:1.0625rem;font-weight:700;line-height:1.3;letter-spacing:-.02em}
.fq-main .fq-pass-foot{margin:0;padding:16px 24px 22px;font-size:.9375rem;line-height:1.5}
.fq-pass[data-mode="hour"] [data-day],.fq-pass[data-mode="day"] [data-hour]{display:none}
.fq-pass .fq-z-when span,.fq-pass .fq-pass-foot span{animation:fqSwap .35s ease}
@keyframes fqSwap{from{opacity:0}to{opacity:1}}

/* before you record: the two guides */
.fq-guides{padding:120px 0;background:#000000;color:#FFFFFF}
.fq-head{max-width:760px;margin-bottom:56px}
.fq-guides .fq-h2,.fq-guides .fq-hlead{color:#FFFFFF}
.fq-hlead{margin:20px 0 0;max-width:560px;font-size:clamp(1rem, .95rem + .25vw, 1.125rem);line-height:1.55}
.fq-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(24px, 3vw, 40px)}
.fq-card{display:block;color:#FFFFFF}
.fq-card-pic{position:relative;aspect-ratio:16/10;border-radius:16px;overflow:hidden;background:#111111}
.fq-card-pic > img,.fq-card-pic > video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .7s ease-out}
@media(hover:hover) and (prefers-reduced-motion:no-preference){ .fq-card:hover .fq-card-pic > img,.fq-card:hover .fq-card-pic > video{transform:scale(1.05)} }
.fq-card-go{position:absolute;top:16px;right:16px;z-index:1;display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;background:#FFFFFF;color:#000000;transition:transform .3s ease}
.fq-card:hover .fq-card-go{transform:rotate(-45deg)}
.fq-card:focus-visible{outline:2px solid #FFFFFF;outline-offset:6px;border-radius:16px}
.fq-guides .fq-card h3{margin:22px 0 0;font-size:clamp(1.375rem, 1.1rem + .8vw, 1.875rem);font-weight:700;line-height:1.15;letter-spacing:-.04em;color:#FFFFFF}
.fq-guides .fq-card p{margin:10px 0 0;max-width:520px;font-size:1rem;line-height:1.55;color:#FFFFFF}

.fq-cta.cta-band.sect-light{background:#FFFFFF}
.fq-cta h2,.fq-cta h2 .dim,.fq-cta.cta-band.sect-light p{color:#000000}
.fq-cta p a{color:#000000;font-weight:600;text-decoration:underline;text-underline-offset:3px}

@media(max-width:960px){
  .fq-main.sect-light,.fq-guides{padding:88px 0}
  .fq-grid{grid-template-columns:minmax(0,1fr);gap:40px}
  .fq-side{position:static}
  .fq-topics{flex-direction:row;flex-wrap:nowrap;gap:8px;overflow-x:auto;margin:20px -20px 0;padding:0 20px 4px;border-top:0;scrollbar-width:none}
  .fq-topics::-webkit-scrollbar{display:none}
  .fq-topics a{flex:0 0 auto;gap:8px;padding:9px 16px;border:1px solid rgba(0,0,0,.25);border-radius:999px;font-size:.9375rem}
  .fq-topics a::before{display:none}
  .fq-topics a.on{font-weight:500}
  .fq-group{padding-bottom:48px}
}
@media(max-width:640px){
  .fq-grid{margin:0 20px}
  .fq-head{margin-bottom:40px}
  .fq-cards{grid-template-columns:minmax(0,1fr);gap:40px}
  .fq-a{padding-right:0}
  .fq-q summary{padding:18px 0;gap:16px}
  .fq-x{width:30px;height:30px}
  .fq-pass-top{padding:18px 18px}
  .fq-zones{grid-template-columns:minmax(0,1fr);gap:0;padding:20px 18px 6px}
  .fq-z{display:grid;grid-template-columns:22px minmax(0,1fr);grid-template-rows:auto auto;column-gap:14px;padding:10px 0}
  .fq-z-bar{grid-row:1 / span 2;grid-column:1;width:16px;height:auto;margin:0;border-radius:999px!important}
  .fq-main .fq-z-when{min-height:0;grid-column:2}
  .fq-main .fq-z-what{grid-column:2;margin-top:4px}
  .fq-main .fq-pass-foot{padding:12px 18px 20px}
}
@media(prefers-reduced-motion:reduce){ .fq-q[open] .fq-a,.fq-pass .fq-z-when span,.fq-pass .fq-pass-foot span{animation:none} }

/* ================= BLOG PAGE (redesign): black and white, the latest story large, then an index of the rest ================= */
.bl-hero.sp-hero{height:82vh;height:82svh;min-height:520px}
.bl-hero .bl-title{font-size:clamp(2.5rem, 1rem + 5.4vw, 6rem);font-weight:700;line-height:.92;letter-spacing:-.05em;color:#FFFFFF;margin:0}
.bl-title .ht-sans,.bl-title .ht-serif,.bl-h2 .ht-sans,.bl-h2 .ht-serif{display:block}
.bl-title .ht-serif,.bl-h2 .ht-serif{font-family:'DM Serif Display',Georgia,serif;font-style:italic;font-weight:400;letter-spacing:-.035em;padding-bottom:.06em}
.bl-hero .bl-lead{margin:22px 0 0;max-width:580px;font-size:clamp(1rem, .95rem + .3vw, 1.1875rem);line-height:1.5;color:#FFFFFF}
.bl-hero .sp-hero-foot{margin-top:30px}
.bl-hero .btn,.bl-latest .btn,.bl-cta .btn{padding:11px 24px;font-size:1rem;font-weight:500;letter-spacing:-.01em;line-height:1.4;border-radius:8px}
.bl-h2{font-size:clamp(2.25rem, 1.2rem + 2.6vw, 3.75rem);font-weight:700;line-height:.95;letter-spacing:-.05em;margin:0}
.bl-meta{display:block;margin:0;font-size:.8125rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase}

/* the latest story */
.bl-latest.sect-light{background:#FFFFFF;padding:110px 0 120px}
.bl-latest.sect-light p{color:#000000}
.bl-latest .bl-k{margin:0 0 28px;font-size:.75rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase}
.bl-feat{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(32px, 5vw, 80px);align-items:center;color:#000000}
.bl-feat-pic{position:relative;aspect-ratio:16/11;border-radius:18px;overflow:hidden;background:#000000}
.bl-feat-pic > img,.bl-row-pic > img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .8s ease-out}
@media(hover:hover) and (prefers-reduced-motion:no-preference){ .bl-feat:hover .bl-feat-pic > img,.bl-row:hover .bl-row-pic > img{transform:scale(1.05)} }
.bl-latest .bl-feat-t{margin:16px 0 0;font-size:clamp(2rem, 1.3rem + 2vw, 3.5rem);font-weight:700;line-height:1;letter-spacing:-.05em;color:#000000}
.bl-latest .bl-feat-x{margin:18px 0 28px;max-width:480px;font-size:clamp(1rem, .95rem + .25vw, 1.125rem);line-height:1.55}
.bl-feat:focus-visible{outline:2px solid #000000;outline-offset:8px;border-radius:18px}

/* more stories: an index, newest first */
.bl-more{padding:120px 0;background:#000000;color:#FFFFFF}
.bl-more[hidden]{display:none}
.bl-head{margin-bottom:48px}
.bl-more .bl-h2{color:#FFFFFF}
.bl-list{margin:0;padding:0;list-style:none;border-top:1px solid rgba(255,255,255,.22)}
.bl-list li{border-bottom:1px solid rgba(255,255,255,.22)}
.bl-row{display:grid;grid-template-columns:clamp(180px, 20vw, 300px) minmax(0,1fr) auto;gap:clamp(24px, 3.5vw, 56px);align-items:center;padding:28px 0;color:#FFFFFF}
.bl-row-pic{position:relative;aspect-ratio:4/3;border-radius:12px;overflow:hidden;background:#111111}
.bl-row-txt{display:flex;flex-direction:column;min-width:0}
.bl-row-t{margin-top:10px;font-size:clamp(1.5rem, 1.1rem + 1.2vw, 2.5rem);font-weight:700;line-height:1.05;letter-spacing:-.045em}
.bl-row-x{margin-top:12px;max-width:620px;font-size:1rem;line-height:1.55}
.bl-row-go{display:flex;align-items:center;justify-content:center;width:52px;height:52px;border:1px solid rgba(255,255,255,.4);border-radius:50%;transition:background-color .25s,color .25s,transform .3s ease,border-color .25s}
.bl-row:hover .bl-row-go{background:#FFFFFF;color:#000000;border-color:#FFFFFF;transform:rotate(-45deg)}
.bl-row:focus-visible{outline:2px solid #FFFFFF;outline-offset:4px;border-radius:12px}

.bl-cta.cta-band.sect-light{background:#FFFFFF}
.bl-cta h2,.bl-cta h2 .dim,.bl-cta.cta-band.sect-light p{color:#000000}

@media(max-width:960px){
  .bl-latest.sect-light,.bl-more{padding:88px 0}
  .bl-feat{grid-template-columns:minmax(0,1fr);gap:28px}
}
@media(max-width:640px){
  .bl-head{margin-bottom:32px}
  .bl-row{grid-template-columns:96px minmax(0,1fr);gap:16px;align-items:start;padding:22px 0}
  .bl-row-pic{border-radius:10px}
  .bl-row-go{display:none}
  .bl-row-t{margin-top:6px;font-size:1.375rem}
  .bl-row-x{display:none}
  .bl-meta{font-size:.75rem}
}

/* ================= ARTICLE PAGES (redesign): cover photo, contents fixed on the left, black and white reading ================= */
.ar-progress{position:fixed;top:0;left:0;right:0;z-index:1001;height:3px;background:#FFFFFF;transform:scaleX(0);transform-origin:0 50%;pointer-events:none}
.ar-hero{position:relative;height:88vh;height:88svh;min-height:560px;overflow:hidden;background:#000000;isolation:isolate}
.ar-cover{position:absolute;inset:0;z-index:0}
.ar-cover > img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .9s ease}
.ar-cover.ready > img{opacity:1}
.ar-hero .sp-hero-shade{background:linear-gradient(180deg, rgba(0,0,0,.55) 0%, rgba(0,0,0,.08) 24%, rgba(0,0,0,.25) 50%, rgba(0,0,0,.88) 100%)}
.ar-hero-content{position:absolute;left:0;right:0;bottom:0;z-index:2;padding:0 var(--edge) clamp(40px, 7vh, 72px);max-width:calc(1100px + 2 * var(--edge))}
.ar-back{display:inline-flex;align-items:center;gap:8px;margin-bottom:26px;font-size:.9375rem;font-weight:600;color:#FFFFFF}
.ar-back:hover{text-decoration:underline;text-underline-offset:4px}
.ar-hero .ar-meta{margin:0;font-size:.8125rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:#FFFFFF}
.ar-hero .ar-title{margin:14px 0 0;font-size:clamp(2.5rem, 1.2rem + 4.2vw, 5.25rem);font-weight:700;line-height:.95;letter-spacing:-.05em;color:#FFFFFF}
.ar-hero .ar-lead{margin:20px 0 0;max-width:640px;font-family:'DM Serif Display',Georgia,serif;font-style:italic;font-size:clamp(1.25rem, 1rem + .7vw, 1.625rem);line-height:1.35;color:#FFFFFF}
.ar-hero .ar-lead:empty{display:none}
.ar-hero .ar-by{margin:22px 0 0;font-size:.9375rem;color:#FFFFFF}

/* the article */
.ar-main.sect-light{background:#FFFFFF;padding:96px 0 110px}
.ar-grid{margin:0 var(--edge);display:grid;grid-template-columns:clamp(220px, 20vw, 300px) minmax(0,740px);gap:clamp(40px, 7vw, 140px);align-items:start}
.ar-side{position:sticky;top:110px}
.ar-toc[hidden]{display:none}
.ar-toc summary{padding-bottom:14px;font-size:.75rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:#000000;list-style:none;cursor:default}
.ar-toc summary::-webkit-details-marker{display:none}
.ar-toc ol{margin:0;padding:0;list-style:none;border-top:1px solid rgba(0,0,0,.14)}
.ar-toc li{border-bottom:1px solid rgba(0,0,0,.14)}
.ar-toc a{position:relative;display:block;padding:11px 0 11px 16px;font-size:.9375rem;line-height:1.4;color:#000000}
.ar-toc a::before{content:"";position:absolute;left:0;top:12px;bottom:12px;width:2px;background:rgba(0,0,0,.14);transition:background-color .25s}
.ar-toc a.on{font-weight:700}
.ar-toc a.on::before,.ar-toc a:hover::before{background:#000000}
.ar-copy{display:inline-flex;align-items:center;gap:8px;margin-top:22px;padding:10px 16px;border:1px solid rgba(0,0,0,.25);border-radius:999px;background:none;color:#000000;font:inherit;font-size:.875rem;font-weight:600;cursor:pointer;transition:border-color .2s}
.ar-copy:hover{border-color:#000000}
.ar-body{color:#000000;font-size:1.125rem;line-height:1.75}
.ar-main.sect-light .ar-body p,.ar-main.sect-light .ar-body li{color:#000000}
.ar-body > .ar-intro p,.ar-body > p:first-child{margin:0;font-size:clamp(1.25rem, 1.1rem + .45vw, 1.5rem);line-height:1.55;letter-spacing:-.01em}
.ar-body strong{font-weight:700;color:#000000}
.ar-body a{color:#000000;font-weight:600;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}
.ar-body .tip{padding:56px 0 0}
.ar-body h2{margin:0 0 18px;scroll-margin-top:100px;font-size:clamp(1.75rem, 1.35rem + 1.1vw, 2.375rem);font-weight:700;line-height:1.1;letter-spacing:-.045em;color:#000000}
.ar-body > h2{margin-top:52px}
.ar-body p{margin:0 0 18px}
.ar-body ul{margin:0 0 18px;padding-left:22px}
.ar-body li{margin:6px 0}
.ar-body .ar-loading{color:#000000}
/* named items: outlined chips; colours get a swatch */
.ar-body .a-pills{display:flex;flex-wrap:wrap;gap:8px;margin:6px 0 22px}
.ar-body .a-pill{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border:1px solid rgba(0,0,0,.22);border-radius:999px;font-size:.875rem;font-weight:600;line-height:1.2;color:#000000}
.ar-body .a-swatch i{width:16px;height:16px;border-radius:50%;box-shadow:inset 0 0 0 1px rgba(0,0,0,.18)}
/* pull quote */
.ar-body .a-callout{margin:30px 0;padding:30px 34px;border-radius:16px;background:#000000}
.ar-main.sect-light .ar-body .a-callout p{margin:0;font-family:'DM Serif Display',Georgia,serif;font-style:italic;font-size:clamp(1.25rem, 1.1rem + .5vw, 1.5rem);line-height:1.45;color:#FFFFFF}
/* works well / avoid */
.ar-body .do-dont,.ar-body .plan-cols{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:28px 0}
.ar-body .dd-col,.ar-body .plan-card{padding:22px 24px;border:1px solid rgba(0,0,0,.16);border-radius:14px;background:#FFFFFF}
.ar-body .dd-avoid{border-color:#000000;border-width:1.5px}
.ar-body .dd-col h3,.ar-body .plan-card h3{margin:0 0 14px;font-size:.75rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:#000000}
.ar-body .dd-col ul,.ar-body .plan-card ul{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:9px}
.ar-body .dd-col li,.ar-body .plan-card li{position:relative;margin:0;padding-left:26px;font-size:1rem;line-height:1.5}
.ar-body .dd-col li::before{position:absolute;left:0;top:0;width:18px;font-weight:700;text-align:center}
.ar-body .dd-do li::before{content:"\2713"}
.ar-body .dd-avoid li::before{content:"\2715"}
.ar-body .plan-card li::before{content:"";position:absolute;left:4px;top:.6em;width:7px;height:7px;border-radius:50%;background:#000000}
/* outfit ideas */
.ar-body .outfit-grid{margin:24px 0;border-top:1px solid rgba(0,0,0,.14)}
.ar-body .outfit-row{display:grid;grid-template-columns:190px minmax(0,1fr);gap:20px;padding:18px 0;border-bottom:1px solid rgba(0,0,0,.14)}
.ar-body .outfit-type{padding-top:3px;font-size:.75rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase}
.ar-body .outfit-detail{font-size:1rem;line-height:1.6}
/* checklists you can tick off */
.ar-body .a-check{display:flex;flex-direction:column;gap:2px;margin:18px 0 22px}
.ar-body .a-check-item{display:flex;align-items:flex-start;gap:14px;padding:9px 0;font-size:1.0625rem;line-height:1.5;cursor:pointer}
.ar-body .a-check-item input{flex:0 0 auto;width:20px;height:20px;margin:2px 0 0;border:1.5px solid #000000;border-radius:5px;background:#FFFFFF;-webkit-appearance:none;appearance:none;cursor:pointer;display:grid;place-content:center;transition:background-color .2s}
.ar-body .a-check-item input::after{content:"";width:10px;height:6px;border:solid #FFFFFF;border-width:0 0 2px 2px;transform:rotate(-45deg) translate(1px,-1px);opacity:0}
.ar-body .a-check-item input:checked{background:#000000}
.ar-body .a-check-item input:checked::after{opacity:1}
.ar-body .a-check-item input:checked + span{text-decoration:line-through;text-decoration-thickness:1px}
.ar-body .a-check-item input:focus-visible{outline:2px solid #000000;outline-offset:3px}
/* photos added in the dashboard */
.ar-body .a-fig{margin:30px 0}
.ar-body .a-fig[hidden]{display:none}
.ar-body .a-fig img{display:block;width:100%;height:auto;max-height:560px;object-fit:cover;border-radius:16px}
.ar-body .a-fig figcaption{margin-top:10px;font-size:.875rem;line-height:1.5;color:#000000}

/* keep reading */
.ar-keep{padding:110px 0;background:#000000;color:#FFFFFF}
.ar-keep[hidden]{display:none}
.ar-keep-head{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:48px}
.ar-h2{margin:0;font-size:clamp(2.25rem, 1.2rem + 2.6vw, 3.75rem);font-weight:700;line-height:.95;letter-spacing:-.05em;color:#FFFFFF}
.ar-h2 .ht-sans,.ar-h2 .ht-serif{display:block}
.ar-h2 .ht-serif{font-family:'DM Serif Display',Georgia,serif;font-style:italic;font-weight:400;letter-spacing:-.035em;padding-bottom:.06em}
.ar-all{display:inline-flex;align-items:center;gap:8px;font-size:1rem;font-weight:600;color:#FFFFFF}
.ar-all:hover{text-decoration:underline;text-underline-offset:4px}
.ar-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(24px, 3vw, 40px)}
.ar-cards.one{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.ar-card{display:block;color:#FFFFFF}
.ar-card-pic{position:relative;aspect-ratio:16/10;border-radius:16px;overflow:hidden;background:#111111}
.ar-card-pic > img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .7s ease-out}
@media(hover:hover) and (prefers-reduced-motion:no-preference){ .ar-card:hover .ar-card-pic > img{transform:scale(1.05)} }
.ar-card-go{position:absolute;top:16px;right:16px;z-index:1;display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;background:#FFFFFF;color:#000000;transition:transform .3s ease}
.ar-card:hover .ar-card-go{transform:rotate(-45deg)}
.ar-card:focus-visible{outline:2px solid #FFFFFF;outline-offset:6px;border-radius:16px}
.ar-keep .ar-card-meta{margin:20px 0 0;font-size:.75rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:#FFFFFF}
.ar-keep .ar-card h3{margin:10px 0 0;font-size:clamp(1.375rem, 1.1rem + .7vw, 1.75rem);font-weight:700;line-height:1.15;letter-spacing:-.04em;color:#FFFFFF}
.ar-keep .ar-card p:last-child{margin:10px 0 0;font-size:1rem;line-height:1.55;color:#FFFFFF}

.ar-cta.cta-band.sect-light{background:#FFFFFF}
.ar-cta h2,.ar-cta h2 .dim,.ar-cta.cta-band.sect-light p{color:#000000}

@media(max-width:960px){
  .ar-main.sect-light,.ar-keep{padding:72px 0 88px}
  .ar-grid{grid-template-columns:minmax(0,1fr);gap:36px}
  .ar-side{position:static;display:flex;flex-direction:column;align-items:flex-start}
  .ar-toc{width:100%;border:1px solid rgba(0,0,0,.16);border-radius:14px;padding:0 18px}
  .ar-toc summary{display:flex;justify-content:space-between;align-items:center;padding:16px 0;cursor:pointer}
  .ar-toc summary::after{content:"";width:9px;height:9px;border:solid #000000;border-width:0 1.6px 1.6px 0;transform:rotate(45deg) translateY(-3px);transition:transform .25s}
  .ar-toc[open] summary::after{transform:rotate(-135deg) translateY(-2px)}
  .ar-toc ol{margin-bottom:12px}
  .ar-copy{margin-top:16px}
  .ar-cards,.ar-cards.one{grid-template-columns:minmax(0,1fr)}
}
@media(max-width:640px){
  .ar-hero-content{padding:0 20px 34px}
  .ar-grid{margin:0 20px}
  .ar-body{font-size:1.0625rem}
  .ar-body .do-dont,.ar-body .plan-cols{grid-template-columns:minmax(0,1fr)}
  .ar-body .outfit-row{grid-template-columns:minmax(0,1fr);gap:6px}
  .ar-body .a-callout{padding:24px 22px}
  .ar-keep-head{flex-direction:column;align-items:flex-start;margin-bottom:36px}
}
@media(min-width:961px){ .ar-toc summary{pointer-events:none} }

/* ================= BOOKING POP-UP (redesign): opens over any page from a "Book" link, the live pass beside the steps ================= */
html.bf-lock,html.bf-lock body{overflow:hidden}
.bf-modal{position:fixed;inset:0;z-index:250;display:flex;align-items:center;justify-content:center;padding:24px;opacity:0;transition:opacity .25s ease}
.bf-modal[hidden]{display:none}
.bf-modal.open{opacity:1}
.bf-scrim{position:absolute;inset:0;background:rgba(0,0,0,.6);-webkit-backdrop-filter:blur(8px) saturate(110%);backdrop-filter:blur(8px) saturate(110%)}
.bf-card{position:relative;display:flex;flex-direction:column;width:min(1280px, 100%);height:min(900px, calc(100vh - 48px));height:min(900px, calc(100dvh - 48px));border-radius:24px;overflow:hidden;background:#FFFFFF;box-shadow:0 40px 100px -30px rgba(0,0,0,.6)}
.bf-modal.open .bf-card{animation:bfIn .45s cubic-bezier(.2,.7,.2,1) both}
@keyframes bfIn{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
.bf-loading{position:absolute;inset:0;z-index:5;display:none;align-items:center;justify-content:center;padding:40px;background:#FFFFFF;text-align:center}
.bf-loading p{max-width:360px;font-size:1rem;line-height:1.5;color:#000000}
.bf-loading a{color:#000000;font-weight:600;text-decoration:underline}
.bf-loading span{width:34px;height:34px;border:3px solid rgba(0,0,0,.15);border-top-color:#000000;border-radius:50%;animation:bfSpin .8s linear infinite}
@keyframes bfSpin{to{transform:rotate(360deg)}}
.bf-modal.is-loading .bf-loading{display:flex}
.bf{display:flex;flex-direction:column;height:100%;min-height:0;background:#FFFFFF;color:#000000}

/* top band: title, close and the steps */
.bf-top{position:relative;flex:none;overflow:hidden;background:#000000;color:#FFFFFF}
.bf-top-media{position:absolute;inset:0;background-size:cover;background-position:center;opacity:0}
.bf-top-media.has-media{opacity:.32}
.bf-top-media > video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.bf-close{position:absolute;top:18px;right:18px;z-index:2;display:flex;align-items:center;justify-content:center;width:42px;height:42px;border:1px solid rgba(255,255,255,.3);border-radius:50%;background:rgba(255,255,255,.08);color:#FFFFFF;cursor:pointer;transition:background-color .2s}
.bf-close:hover{background:rgba(255,255,255,.2)}
.bf-close:focus-visible{outline:2px solid #FFFFFF;outline-offset:2px}
.bf-top-in{position:relative;margin:0 28px;padding:22px 0 0}
.bf-top-copy{display:flex;justify-content:space-between;align-items:flex-end;flex-wrap:wrap;gap:10px 32px;padding-right:56px}
.bf-title{margin:0;font-size:clamp(1.75rem, 1.2rem + 1.4vw, 2.5rem);font-weight:700;line-height:1;letter-spacing:-.05em;color:#FFFFFF}
.bf-title .ht-serif,.bf-h em{font-family:'DM Serif Display',Georgia,serif;font-style:italic;font-weight:400;letter-spacing:-.035em}
.bf-top .bf-sub{margin:0;max-width:420px;font-size:.9375rem;line-height:1.45;color:#FFFFFF}
.bf-steps{margin-top:18px}
.bf-steps ol{display:flex;margin:0;padding:0;list-style:none;border-top:1px solid rgba(255,255,255,.2)}
.bf-steps li{flex:1;min-width:0}
.bf-step{position:relative;display:flex;align-items:center;gap:10px;width:100%;padding:13px 0 15px;border:0;background:none;color:#FFFFFF;font:inherit;font-size:.9375rem;font-weight:500;text-align:left;cursor:pointer}
.bf-step::before{content:"";position:absolute;left:0;right:0;top:-1px;height:2px;background:transparent;transition:background-color .3s}
.bf-step.is-on::before,.bf-step.is-done::before{background:#FFFFFF}
.bf-step i{display:flex;align-items:center;justify-content:center;flex:0 0 auto;width:22px;height:22px;border:1.5px solid rgba(255,255,255,.5);border-radius:50%;font-style:normal;font-size:.75rem;font-weight:700}
.bf-step.is-on{font-weight:700}
.bf-step.is-on i{border-color:#FFFFFF;background:#FFFFFF;box-shadow:inset 0 0 0 5px #000000}
.bf-step.is-done i{border-color:#FFFFFF;background:#FFFFFF;color:#000000}
.bf-step.is-locked{cursor:default;opacity:.45}
.bf-step:not(:disabled):hover span{text-decoration:underline;text-underline-offset:4px}
.bf-step:focus-visible{outline:2px solid #FFFFFF;outline-offset:2px}
.bf-steps-m,.bf-steps-bar{display:none}

/* the steps scroll inside the pop-up, the pass stays beside them */
.bf-scroll{flex:1 1 auto;min-height:0;overflow:auto;overscroll-behavior:contain}
.bf-main{padding:28px 0 40px}
.bf-grid{margin:0 28px;display:grid;grid-template-columns:minmax(0,1fr) clamp(290px, 27vw, 370px);gap:clamp(28px, 3.5vw, 56px);align-items:start}
.bf-panel{min-width:0}
.bf-err{display:none;margin:0 0 22px;padding:14px 18px;border:2px solid #000000;border-radius:12px;font-size:.9375rem;font-weight:600;color:#000000}
.bf-err.show{display:block}
.bf-pane[hidden]{display:none}
.bf-h{margin:0;font-size:clamp(1.75rem, 1.3rem + 1.2vw, 2.5rem);font-weight:700;line-height:1;letter-spacing:-.045em;color:#000000}
.bf-p{margin:10px 0 0;max-width:620px;font-size:1.0625rem;line-height:1.5;color:#000000}
.bf-p a,.bf-note a,.bf-check a{color:#000000;font-weight:600;text-decoration:underline;text-underline-offset:3px}
.bf-h3{margin:32px 0 14px;font-size:1.25rem;font-weight:700;letter-spacing:-.025em;color:#000000}
.bf-opt{margin-left:6px;font-size:.875rem;font-weight:500}
.bf-note{margin:24px 0 0;padding:16px 18px;border-radius:12px;background:#F2F2F2;font-size:.9375rem;line-height:1.55;color:#000000}
.bf-note[hidden]{display:none}

/* studio */
.bf-type{display:inline-flex;gap:6px;margin:22px 0 0;padding:5px;border:1px solid rgba(0,0,0,.16);border-radius:16px}
.bf-type button{display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding:10px 18px;border:0;border-radius:12px;background:none;color:#000000;font:inherit;text-align:left;cursor:pointer;transition:background-color .25s,color .25s}
.bf-type button b{font-size:.9375rem;font-weight:700}
.bf-type button span{font-size:.8125rem}
.bf-type button[aria-pressed="true"]{background:#000000;color:#FFFFFF}
.bf-rooms{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:22px}
.bf-room{position:relative;display:flex;flex-direction:column;padding:0;border:1.5px solid rgba(0,0,0,.14);border-radius:18px;overflow:hidden;background:#FFFFFF;color:#000000;font:inherit;text-align:left;cursor:pointer;transition:border-color .25s,box-shadow .25s}
.bf-room:hover{border-color:#000000}
.bf-room[aria-pressed="true"]{border-color:#000000;box-shadow:0 0 0 1.5px #000000}
.bf-room:focus-visible{outline:2px solid #000000;outline-offset:3px}
.bf-room-pic{position:relative;display:block;aspect-ratio:16/9;background:#111111}
.bf-room-pic img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.bf-room-tick{position:absolute;top:14px;right:14px;display:flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:50%;background:#000000;color:#FFFFFF;font-weight:700;box-shadow:0 0 0 2px #FFFFFF;opacity:0;transform:scale(.6);transition:opacity .25s,transform .25s}
.bf-room[aria-pressed="true"] .bf-room-tick{opacity:1;transform:none}
.bf-room-body{display:flex;flex-direction:column;gap:4px;padding:14px 18px 16px}
.bf-room-body b{font-size:1.25rem;font-weight:700;letter-spacing:-.03em}
.bf-room-meta{font-size:.875rem}
.bf-room-price{margin-top:4px;font-size:.9375rem;font-weight:700}

/* session */
.bf-chosen{display:flex;align-items:center;gap:16px;padding:14px;border:1px solid rgba(0,0,0,.14);border-radius:16px}
.bf-chosen-pic{position:relative;flex:0 0 auto;width:92px;aspect-ratio:4/3;border-radius:10px;overflow:hidden;background:#111111}
.bf-chosen-pic img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.bf-chosen-txt{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}
.bf-chosen-txt b{font-size:1.25rem;letter-spacing:-.03em}
.bf-chosen-txt span{font-size:.9375rem}
.bf-link{flex:0 0 auto;padding:8px 14px;border:1px solid rgba(0,0,0,.25);border-radius:999px;background:none;color:#000000;font:inherit;font-size:.875rem;font-weight:600;cursor:pointer}
.bf-link:hover{border-color:#000000}
#bkTierBox[hidden],#bkLengthBox[hidden],#bkLayoutBox[hidden],#bkBackdropBox[hidden]{display:none}
.bf-tiers{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.bf-tier,.bf-len,.bf-layout,.bf-backdrop{border:1.5px solid rgba(0,0,0,.14);background:#FFFFFF;color:#000000;font:inherit;text-align:left;cursor:pointer;transition:border-color .2s,box-shadow .2s,background-color .2s,color .2s}
.bf-tier:hover,.bf-len:hover,.bf-layout:hover,.bf-backdrop:hover{border-color:#000000}
.bf-tier[aria-pressed="true"],.bf-len[aria-pressed="true"],.bf-layout[aria-pressed="true"],.bf-backdrop[aria-pressed="true"]{border-color:#000000;box-shadow:0 0 0 1.5px #000000}
.bf-tier{display:flex;flex-direction:column;gap:8px;padding:16px 18px;border-radius:14px}
.bf-tier-top{display:flex;justify-content:space-between;gap:12px}
.bf-tier-top b{font-size:1.0625rem}
.bf-tier-top span{font-weight:700;white-space:nowrap}
.bf-tier-note{font-size:.875rem;line-height:1.45}
.bf-lengths{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.bf-len{display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding:16px 18px;border-radius:14px}
.bf-len b{font-size:1.0625rem}
.bf-len-sub{font-size:.8125rem}
.bf-len-price{margin-top:8px;font-size:1.125rem;font-weight:700;letter-spacing:-.02em}
.bf-len-save{margin-top:8px;padding:3px 9px;border-radius:999px;background:#000000;color:#FFFFFF;font-size:.75rem;font-weight:700}
.bf-len[aria-pressed="true"]{background:#000000;color:#FFFFFF}
.bf-len[aria-pressed="true"] .bf-len-save{background:#FFFFFF;color:#000000}
.bf-fine{display:flex;align-items:center;flex-wrap:wrap;gap:12px 18px;margin-top:16px}
.bf-fine-k{font-size:.75rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase}
.bf-stepper{display:inline-flex;align-items:center;border:1.5px solid rgba(0,0,0,.2);border-radius:999px}
.bf-stepper button{width:42px;height:42px;border:0;border-radius:50%;background:none;color:#000000;font:inherit;font-size:1.25rem;cursor:pointer}
.bf-stepper button:hover:not(:disabled){background:#F2F2F2}
.bf-stepper button:disabled{opacity:.3;cursor:default}
.bf-stepper output{min-width:96px;text-align:center;font-weight:700}
.bf-fine-note{font-size:.875rem}

/* date and time */
.bf-when{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:18px;margin-top:22px}
.bf-cal,.bf-times{padding:18px;border:1px solid rgba(0,0,0,.14);border-radius:18px}
.bf-cal-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}
.bf-cal-title{margin:0;font-size:1.0625rem;font-weight:700}
.bf-cal-nav{width:38px;height:38px;border:1px solid rgba(0,0,0,.2);border-radius:50%;background:none;color:#000000;font-size:1.25rem;line-height:1;cursor:pointer}
.bf-cal-nav:disabled{opacity:.3;cursor:default}
.bf-cal-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}
.bf-dow{padding:6px 0;text-align:center;font-size:.75rem;font-weight:700;letter-spacing:.08em}
.bf-day{position:relative;aspect-ratio:1;border:0;border-radius:10px;background:none;color:#000000;font:inherit;font-size:.9375rem;font-weight:600;cursor:pointer;transition:background-color .2s,color .2s}
.bf-day::after{content:"";position:absolute;left:50%;bottom:6px;width:5px;height:5px;margin-left:-2.5px;border-radius:50%}
.bf-day.is-open::after{background:#000000}
.bf-day.is-few::after{border:1.5px solid #000000;width:6px;height:6px;margin-left:-3px}
.bf-day.is-open:hover,.bf-day.is-few:hover{background:#F2F2F2}
.bf-day.is-full{text-decoration:line-through;cursor:default;opacity:.4}
.bf-day.is-past{cursor:default;opacity:.25}
.bf-day.is-today{box-shadow:inset 0 0 0 1px rgba(0,0,0,.3)}
.bf-day.is-sel{background:#000000;color:#FFFFFF}
.bf-day.is-sel::after{background:#FFFFFF;border-color:#FFFFFF}
.bf-day.is-blank{visibility:hidden}
.bf-day:focus-visible{outline:2px solid #000000;outline-offset:1px}
.bf-legend{display:flex;flex-wrap:wrap;gap:6px 18px;margin:12px 0 0;padding:0;list-style:none;font-size:.8125rem}
.bf-legend li{display:flex;align-items:center;gap:7px}
.bf-legend i{width:8px;height:8px;border-radius:50%}
.bf-legend .l-open{background:#000000}
.bf-legend .l-few{border:1.5px solid #000000}
.bf-legend .l-full{width:14px;height:1.5px;border-radius:0;background:#000000}
.bf-times-empty{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:6px;min-height:240px;text-align:center}
.bf-times-empty b{font-size:1.0625rem}
.bf-times-empty span{max-width:240px;font-size:.9375rem}
.bf-times-k{margin:0;font-size:1.0625rem;font-weight:700}
.bf-times-sub{margin:4px 0 14px;font-size:.875rem;line-height:1.45}
.bf-slots{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.bf-slot{display:flex;flex-direction:column;align-items:flex-start;gap:1px;padding:10px 14px;border:1.5px solid rgba(0,0,0,.16);border-radius:12px;background:#FFFFFF;color:#000000;font:inherit;cursor:pointer;transition:border-color .2s,background-color .2s,color .2s}
.bf-slot b{font-size:1rem}
.bf-slot span{font-size:.8125rem}
.bf-slot:hover:not(:disabled){border-color:#000000}
.bf-slot.on{background:#000000;border-color:#000000;color:#FFFFFF}
.bf-slot:disabled{cursor:default;opacity:.35}
.bf-slot:disabled b{text-decoration:line-through}

/* setup: backdrop, layout and extras */
.bf-layouts,.bf-backdrops{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:14px}
.bf-layout,.bf-backdrop{display:flex;flex-direction:column;padding:0;border-radius:16px;overflow:hidden}
.bf-layout-pic{position:relative;display:block;aspect-ratio:16/10;background:#111111}
.bf-backdrop .bf-layout-pic{aspect-ratio:4/3}
.bf-layout-pic img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}

.bf-layout-txt{display:flex;flex-direction:column;gap:4px;padding:14px 16px 16px}
.bf-layout-txt b{font-size:1.0625rem}
.bf-layout-txt span{font-size:.875rem;line-height:1.45}
.bf-layout-txt em{font-style:normal;font-size:.8125rem;font-weight:700}
.bf-addons{display:flex;flex-direction:column;gap:10px}
.bf-addon{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:18px;padding:16px 18px;border:1.5px solid rgba(0,0,0,.14);border-radius:14px;transition:border-color .2s}
.bf-addon.on{border-color:#000000}
.bf-addon-txt{display:flex;flex-direction:column;gap:2px;min-width:0}
.bf-addon-txt b{font-size:1rem}
.bf-addon-txt span{font-size:.875rem;line-height:1.4}
.bf-addon-price{font-weight:700;white-space:nowrap}
.bf-addon-btn{min-width:96px;padding:9px 16px;border:1.5px solid #000000;border-radius:999px;background:#FFFFFF;color:#000000;font:inherit;font-size:.875rem;font-weight:700;cursor:pointer;transition:background-color .2s,color .2s}
.bf-addon-btn[aria-pressed="true"]{background:#000000;color:#FFFFFF}

/* details */
.bf-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 26px;margin-top:26px}
.bf-f{display:flex;flex-direction:column;gap:4px;min-width:0}
.bf-f-wide{grid-column:1 / -1}
.bf-f > span{font-size:.75rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#000000}
.bf-f em{font-style:normal}
.bf-f input,.bf-f select,.bf-f textarea{width:100%;padding:10px 0 12px;border:0;border-bottom:1px solid rgba(0,0,0,.3);border-radius:0;background:transparent;font:inherit;font-size:1.0625rem;color:#000000;outline:none;-webkit-appearance:none;appearance:none;transition:border-color .2s,box-shadow .2s}
.bf-f select{padding-right:28px;cursor:pointer;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 12 12' fill='none'%3E%3Cpath d='M3 4.5 6 7.5 9 4.5' stroke='%23000' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat right 4px center}
.bf-f textarea{resize:vertical;line-height:1.5}
.bf-f input::placeholder,.bf-f textarea::placeholder{color:rgba(0,0,0,.42)}
.bf-f input:focus,.bf-f select:focus,.bf-f textarea:focus{border-bottom-color:#000000;box-shadow:0 1px 0 0 #000000}
.bf-terms[hidden]{display:none}
.bf-deadline{margin:0 0 12px;padding:12px 16px;border:1.5px solid #000000;border-radius:12px;font-weight:700}
.bf-deadline[hidden]{display:none}
.bf-terms-box{max-height:220px;overflow:auto;padding:16px 18px;border:1px solid rgba(0,0,0,.14);border-radius:12px;font-size:.875rem;line-height:1.55;color:#000000}
.bf-terms-box h4{margin:12px 0 6px;font-size:.75rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase}
.bf-terms-box h4:first-child{margin-top:0}
.bf-terms-box ul{margin:0;padding-left:18px}
.bf-check{display:flex;align-items:flex-start;gap:12px;margin-top:16px;font-size:.9375rem;line-height:1.45;cursor:pointer}
.bf-check input{flex:0 0 auto;width:20px;height:20px;margin:0;border:1.5px solid #000000;border-radius:5px;background:#FFFFFF;-webkit-appearance:none;appearance:none;display:grid;place-content:center;cursor:pointer}
.bf-check input::after{content:"";width:10px;height:6px;border:solid #FFFFFF;border-width:0 0 2px 2px;transform:rotate(-45deg) translate(1px,-1px);opacity:0}
.bf-check input:checked{background:#000000}
.bf-check input:checked::after{opacity:1}
.bf-check input:focus-visible{outline:2px solid #000000;outline-offset:3px}
.bf-rc{margin:18px 0 0;font-size:.75rem;line-height:1.5;color:#000000}
.bf-rc a{color:#000000;text-decoration:underline}

/* the live pass, beside the steps */
.bf-side{position:sticky;top:0}
.bf-pass{border-radius:22px;overflow:hidden;background:#000000;color:#FFFFFF;box-shadow:0 30px 70px -36px rgba(0,0,0,.55)}
.bf-pass-pic{position:relative;aspect-ratio:16/7;background:linear-gradient(135deg,#1A1A1A,#000000)}
.bf-pass-pic img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.bf-pass-badge{position:absolute;left:14px;top:14px;padding:5px 11px;border-radius:999px;background:rgba(0,0,0,.65);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#FFFFFF;font-size:.75rem;font-weight:700;letter-spacing:.06em}
.bf-pass.is-ready .bf-pass-badge{background:#FFFFFF;color:#000000}
.bf-pass-head{padding:18px 22px 4px}
.bf-pass-k{margin:0;font-size:.6875rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:#FFFFFF}
.bf-pass-name{margin:8px 0 0;font-size:1.5rem;font-weight:700;line-height:1.05;letter-spacing:-.04em;color:#FFFFFF}
.bf-pass-tier{margin:4px 0 0;font-size:.9375rem;color:#FFFFFF}
.bf-pass-rows{margin:12px 22px 0;padding:0}
.bf-pass-rows div{display:flex;justify-content:space-between;gap:16px;padding:9px 0;border-top:1px solid rgba(255,255,255,.16)}
.bf-pass-rows dt{font-size:.75rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;padding-top:2px}
.bf-pass-rows dd{margin:0;text-align:right;font-size:.9375rem;font-weight:600}
.bf-pass-empty dd{text-align:left;font-weight:400}
.bf-pass-tear{position:relative;height:28px;margin-top:8px}
.bf-pass-tear::before{content:"";position:absolute;left:22px;right:22px;top:50%;border-top:1.5px dashed rgba(255,255,255,.35)}
.bf-pass-tear::after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 0 50%, #FFFFFF 13px, transparent 14px),radial-gradient(circle at 100% 50%, #FFFFFF 13px, transparent 14px)}
.bf-pass-total{display:flex;justify-content:space-between;align-items:flex-end;gap:12px;padding:6px 22px 20px}
.bf-pass-vat{margin:4px 0 0;font-size:.8125rem;color:#FFFFFF}
.bf-pass-sum{margin:0;font-size:2rem;font-weight:700;letter-spacing:-.04em;line-height:1;color:#FFFFFF}
.bf-pass-cxl{margin:0;padding:12px 22px 18px;border-top:1px solid rgba(255,255,255,.16);font-size:.8125rem;line-height:1.45;color:#FFFFFF}
.bf-pass-cxl[hidden]{display:none}
.bf-help{margin:14px 4px 0;font-size:.875rem;color:#000000}
.bf-help a{color:#000000;font-weight:600;text-decoration:underline;text-underline-offset:3px}

/* the action bar along the bottom of the pop-up */
.bf-bar{flex:none;background:#FFFFFF;border-top:1px solid rgba(0,0,0,.12)}
.bf-bar-in{display:flex;align-items:center;gap:18px;margin:0 28px;padding:14px 0 calc(14px + env(safe-area-inset-bottom))}
.bf-back{display:inline-flex;align-items:center;gap:8px;padding:10px 4px;border:0;background:none;color:#000000;font:inherit;font-size:.9375rem;font-weight:600;cursor:pointer}
.bf-back:hover span{text-decoration:underline;text-underline-offset:4px}
.bf-bar-total{display:flex;flex-direction:column;align-items:flex-end;margin-left:auto;padding:0;border:0;background:none;color:#000000;font:inherit;cursor:default}
.bf-bar-k{font-size:.6875rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;white-space:nowrap}
.bf-bar-v{font-size:1.375rem;font-weight:700;letter-spacing:-.03em}
.bf .bf-next{padding:13px 26px;font-size:1rem;font-weight:600;border-radius:10px;background:#000000;color:#FFFFFF}
.bf .bf-next:hover{background:#2A2A2A;color:#FFFFFF}
.bf .bf-next:disabled{opacity:.35;cursor:not-allowed}
.bf .bf-next[hidden]{display:none}

/* the pass prints on its own from inside the pop-up */
@media print{
  body.bp-printing > .bf-modal{display:block !important;position:static;opacity:1;padding:0}
  body.bp-printing .bf-modal > :not(.bp-overlay){display:none !important}
}

@media(max-width:1100px){ .bf-lengths{grid-template-columns:repeat(2,minmax(0,1fr))} .bf-when{grid-template-columns:minmax(0,1fr)} }
@media(max-width:860px){
  .bf-modal{padding:0}
  .bf-card{width:100%;height:100%;border-radius:0}
  .bf-grid{grid-template-columns:minmax(0,1fr)}
  /* the pass becomes a sheet that the total in the bar opens */
  .bf-side{position:fixed;inset:0;z-index:20;display:flex;flex-direction:column;justify-content:flex-end;padding:80px 14px 96px;background:rgba(0,0,0,.45);opacity:0;pointer-events:none;transition:opacity .3s}
  .bf-side .bf-pass{max-height:100%;overflow:auto;transform:translateY(24px);transition:transform .3s}
  .bf-side .bf-help{display:none}
  .bf-side .bf-pass-tear::after{display:none}
  .bf-modal.sheet-open .bf-side{opacity:1;pointer-events:auto}
  .bf-modal.sheet-open .bf-side .bf-pass{transform:none}
  .bf-bar{position:relative;z-index:21}
  .bf-bar-total{cursor:pointer}
  .bf-bar-total .bf-bar-k::after{content:" \25B4"}
  .bf-steps ol{display:none}
  .bf-steps-m{display:block;margin:0;padding:14px 0 10px;font-size:.9375rem;font-weight:700;color:#FFFFFF}
  .bf-steps-bar{display:block;height:3px;background:rgba(255,255,255,.2)}
  .bf-steps-bar i{display:block;height:100%;background:#FFFFFF;transform-origin:0 50%;transition:transform .4s ease}
}
@media(max-width:640px){
  .bf-top-in{margin:0 20px;padding-top:18px}
  .bf-top .bf-sub{display:none}
  .bf-close{top:12px;right:12px}
  .bf-grid,.bf-bar-in{margin:0 20px}
  .bf-main{padding:24px 0 32px}
  .bf-rooms,.bf-tiers{grid-template-columns:minmax(0,1fr)}
  .bf-type{display:flex}
  .bf-type button{flex:1}
  .bf-form{grid-template-columns:minmax(0,1fr)}
  .bf-addon{grid-template-columns:minmax(0,1fr) auto;gap:10px 14px}
  .bf-addon-price{grid-row:2;grid-column:1}
  .bf-addon-btn{grid-row:1 / span 2;grid-column:2;min-width:84px}
  .bf-cal,.bf-times{padding:14px}
  .bf-back span{display:none}
  .bf-bar-in{gap:12px}
  .bf .bf-next{padding:12px 18px}
  .bf-chosen{display:grid;grid-template-columns:76px minmax(0,1fr);gap:12px 14px}
  .bf-chosen-pic{width:76px}
  .bf-link{grid-column:1 / -1;justify-self:start}
}

/* /book: the page behind the pop-up */
.bfl{position:relative;height:100vh;height:100svh;min-height:560px;overflow:hidden;background:#000000;isolation:isolate}
.bfl-media{position:absolute;inset:0;z-index:0;background:url("/img/lounge/lounge-room.webp") center/cover no-repeat}
.bfl .sp-hero-shade{z-index:1}
.bfl-in{position:absolute;left:0;right:0;bottom:0;z-index:2;padding:0 var(--edge) clamp(40px, 7vh, 72px)}
.bfl-title{margin:0;font-size:clamp(2.5rem, 1rem + 5.4vw, 6rem);font-weight:700;line-height:.92;letter-spacing:-.05em;color:#FFFFFF}
.bfl-title .ht-sans,.bfl-title .ht-serif{display:block}
.bfl-title .ht-serif{font-family:'DM Serif Display',Georgia,serif;font-style:italic;font-weight:400;letter-spacing:-.035em;padding-bottom:.06em}
.bfl .bfl-lead{margin:22px 0 0;max-width:560px;font-size:clamp(1rem, .95rem + .3vw, 1.1875rem);line-height:1.5;color:#FFFFFF}
.bfl-btns{display:flex;flex-wrap:wrap;gap:16px 22px;margin-top:30px}
.bfl .btn{padding:11px 24px;font-size:1rem;font-weight:500;border-radius:8px}
@media(max-width:640px){ .bfl-in{padding:0 20px 34px} }

/* ================= ACCOUNT PAGE (redesign): black and white, the next session first ================= */
.ac-hero{position:relative;overflow:hidden;background:#000000;color:#FFFFFF;isolation:isolate}
.ac-hero-media{position:absolute;inset:0;z-index:0;background-size:cover;background-position:center;opacity:.38}
.ac-hero-media > video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.ac-hero-shade{position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(0,0,0,.55),rgba(0,0,0,.2) 40%,rgba(0,0,0,.75))}
.ac-hero-in{position:relative;z-index:2;margin:0 var(--edge);padding:clamp(150px, 22vh, 220px) 0 clamp(44px, 7vh, 72px)}
.ac-title{margin:0;font-size:clamp(2.5rem, 1.2rem + 4vw, 5rem);font-weight:700;line-height:.92;letter-spacing:-.05em;color:#FFFFFF}
.ac-title .ht-sans,.ac-title .ht-serif{display:block}
.ac-title .ht-serif,.ac-h2 em{font-family:'DM Serif Display',Georgia,serif;font-style:italic;font-weight:400;letter-spacing:-.035em;padding-bottom:.06em}
.ac-hero .ac-lead{margin:20px 0 0;max-width:600px;font-size:clamp(1rem, .95rem + .3vw, 1.1875rem);line-height:1.5;color:#FFFFFF}
.account-page .btn{padding:11px 22px;font-size:.9375rem;font-weight:500;letter-spacing:-.01em;line-height:1.4;border-radius:8px}

.ac-main.sect-light{background:#FFFFFF;padding:64px 0 110px;color:#000000}
.ac-main.sect-light p{color:#000000}
.ac-wrap{max-width:1200px;margin:0 var(--edge)}
.account-page .msg{display:none;margin:0 0 20px;padding:14px 18px;border-radius:12px;font-size:.9375rem;font-weight:600;line-height:1.5}
.account-page .msg.show{display:block}
.account-page .msg.err{border:2px solid #000000;color:#000000}
.account-page .msg.ok{background:#000000;color:#FFFFFF}
.ac-loading{display:flex;align-items:center;gap:14px;padding:28px 0;font-size:1.0625rem;font-weight:600;color:#000000}
.ac-spin{width:24px;height:24px;border:3px solid rgba(0,0,0,.15);border-top-color:#000000;border-radius:50%;animation:bfSpin .8s linear infinite}

/* signed out */
.ac-signin{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(32px, 5vw, 80px);align-items:start}
.ac-signin-card{padding:clamp(28px, 4vw, 44px);border:1.5px solid #000000;border-radius:22px}
.ac-h2{margin:0;font-size:clamp(2rem, 1.4rem + 1.6vw, 3rem);font-weight:700;line-height:1;letter-spacing:-.05em;color:#000000}
.ac-main .ac-p{margin:14px 0 0;max-width:560px;font-size:1.0625rem;line-height:1.55}
.ac-link-form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;align-items:end;margin-top:26px}
.ac-sent{margin-top:20px;padding:16px 18px;border-radius:12px;background:#000000;color:#FFFFFF;font-size:.9375rem;line-height:1.55}
.ac-sent b{color:#FFFFFF}
.account-page .ac-rc{margin-top:18px;font-size:.75rem;line-height:1.5}
.account-page .ac-rc a{color:#000000;text-decoration:underline}
.ac-perks{margin:0;padding:0;list-style:none;border-top:1px solid rgba(0,0,0,.14)}
.ac-perks li{display:flex;flex-direction:column;gap:4px;padding:18px 0;border-bottom:1px solid rgba(0,0,0,.14)}
.ac-perks b{font-size:1.0625rem;font-weight:700;letter-spacing:-.02em}
.ac-perks span{font-size:.9375rem;line-height:1.5}

/* fields */
.ac-f{display:flex;flex-direction:column;gap:4px;min-width:0}
.ac-f > span{font-size:.75rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#000000}
.ac-f em{font-style:normal}
.ac-f input,.ac-f select,.ac-f textarea{width:100%;padding:10px 0 12px;border:0;border-bottom:1px solid rgba(0,0,0,.3);border-radius:0;background:transparent;font:inherit;font-size:1.0625rem;color:#000000;outline:none;color-scheme:light;-webkit-appearance:none;appearance:none;transition:border-color .2s,box-shadow .2s}
.ac-f select{padding-right:28px;cursor:pointer;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 12 12' fill='none'%3E%3Cpath d='M3 4.5 6 7.5 9 4.5' stroke='%23000' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat right 4px center}
.ac-f input[type="date"]{min-height:46px}
.ac-f textarea{resize:vertical;line-height:1.5}
.ac-f input::placeholder,.ac-f textarea::placeholder{color:rgba(0,0,0,.42)}
.ac-f input:focus,.ac-f select:focus,.ac-f textarea:focus{border-bottom-color:#000000;box-shadow:0 1px 0 0 #000000}
.ac-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 26px;margin-top:18px}
.ac-f-wide{grid-column:1 / -1}

/* signed in */
.ac-bar{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:14px 24px;padding:16px 20px;border:1px solid rgba(0,0,0,.14);border-radius:16px}
.ac-main .ac-bar p{margin:0;font-size:.9375rem}
.ac-bar a:not(.btn){color:#000000;font-weight:600;text-decoration:underline;text-underline-offset:3px}
.ac-h{display:flex;align-items:baseline;gap:14px;margin:52px 0 16px;font-size:clamp(1.5rem, 1.2rem + .8vw, 2rem);font-weight:700;letter-spacing:-.04em;color:#000000}
.ac-n{font-size:.75rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase}
.ac-list{display:flex;flex-direction:column;gap:14px}
.ac-card{padding:22px 24px;border:1.5px solid rgba(0,0,0,.14);border-radius:18px;background:#FFFFFF;color:#000000}
.ac-card-top{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}
.ac-card-main{min-width:0}
.ac-main .ac-kicker{margin:0;font-size:.75rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase}
.ac-kicker b{font-weight:800}
.ac-card-title{margin:6px 0 0;font-size:1.25rem;font-weight:700;letter-spacing:-.03em;color:#000000}
.ac-main .ac-when{margin:4px 0 0;font-size:.9375rem;line-height:1.5}
.ac-pill{flex:0 0 auto;display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:999px;font-size:.75rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;white-space:nowrap}
.ac-pill.is-ok{background:#000000;color:#FFFFFF}
.ac-pill.is-wait{border:1.5px solid #000000;color:#000000}
.ac-pill.is-off{border:1.5px dashed rgba(0,0,0,.5);color:#000000}
.ac-meta{display:flex;flex-wrap:wrap;gap:10px 28px;margin:16px 0 0;padding:14px 0 0;border-top:1px solid rgba(0,0,0,.12)}
.ac-meta div{min-width:0}
.ac-meta dt{font-size:.6875rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase}
.ac-meta dd{margin:2px 0 0;font-size:.9375rem;font-weight:600;overflow-wrap:anywhere}
.ac-main .ac-note{margin:14px 0 0;padding:12px 16px;border-radius:12px;background:#F2F2F2;font-size:.875rem;line-height:1.55}
.ac-note a{color:#000000;font-weight:600;text-decoration:underline;text-underline-offset:3px}
.ac-actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px;margin-top:16px}
.ac-main .ac-small{margin:0;font-size:.875rem;line-height:1.5}
.ac-card.is-cancelled .ac-card-title,.ac-card.is-cancelled .ac-when{text-decoration:line-through;text-decoration-thickness:1px}
/* the next session, as a dark pass */
.ac-card.is-next{border-color:#000000;background:#000000;color:#FFFFFF}
.ac-main .ac-card.is-next p,.ac-card.is-next .ac-card-title,.ac-card.is-next .ac-kicker{color:#FFFFFF}
.ac-card.is-next .ac-card-title{font-size:clamp(1.5rem, 1.2rem + .9vw, 2.125rem)}
.ac-card.is-next .ac-when{font-size:1.0625rem}
.ac-card.is-next .ac-meta{border-top-color:rgba(255,255,255,.2)}
.ac-card.is-next .ac-pill.is-ok{background:#FFFFFF;color:#000000}
.ac-card.is-next .ac-pill.is-wait{border-color:#FFFFFF;color:#FFFFFF}
.ac-main .ac-card.is-next .ac-note{background:rgba(255,255,255,.12)}
.ac-card.is-next .ac-note a{color:#FFFFFF}
.ac-card.is-next .btn-solid{background:#FFFFFF;color:#000000}
.ac-card.is-next .btn-solid:hover{background:#E6E6E6;color:#000000}
.ac-card.is-next .btn-ghost{border-color:rgba(255,255,255,.45);color:#FFFFFF}
.ac-card.is-next .btn-ghost:hover{border-color:#FFFFFF;color:#FFFFFF}
.ac-card.is-next .ac-f > span,.ac-card.is-next .ac-f input,.ac-card.is-next .ac-f select{color:#FFFFFF;color-scheme:dark}
.ac-card.is-next .ac-f input{border-bottom-color:rgba(255,255,255,.4)}
.ac-card.is-next .ac-f input:focus{border-bottom-color:#FFFFFF;box-shadow:0 1px 0 0 #FFFFFF}
.ac-card.is-next .ac-f input::placeholder{color:rgba(255,255,255,.5)}
.ac-card.is-next .rs-panel{border-top-color:rgba(255,255,255,.2)}
.ac-card.is-next .ac-hint{color:#FFFFFF}
.ac-card.is-next .ac-slot{background:transparent;border-color:rgba(255,255,255,.3);color:#FFFFFF}
.ac-card.is-next .ac-slot.on{background:#FFFFFF;border-color:#FFFFFF;color:#000000}
/* new-time and series panels */
.account-page .rs-panel{display:none;margin-top:18px;padding-top:18px;border-top:1px solid rgba(0,0,0,.12)}
.account-page .rs-panel.open{display:block}
.ac-slots{display:grid;grid-template-columns:repeat(auto-fill,minmax(112px,1fr));gap:8px;margin-top:6px}
.account-page .ac-slot{display:flex;flex-direction:column;align-items:flex-start;gap:1px;padding:9px 12px;border:1.5px solid rgba(0,0,0,.16);border-radius:12px;background:#FFFFFF;color:#000000;font-family:inherit;font-size:inherit;font-weight:400;cursor:pointer;transition:border-color .2s,background-color .2s,color .2s}
.account-page .ac-slot b{font-size:.9375rem;font-weight:700}
.account-page .ac-slot span{font-size:.75rem}
.account-page .ac-slot:hover:not(:disabled){border-color:#000000;color:#000000}
.account-page .ac-slot.on{background:#000000;border-color:#000000;color:#FFFFFF}
.account-page .ac-slot:disabled{opacity:.35;cursor:default}
.account-page .ac-slot:disabled b{text-decoration:line-through}
.ac-hint{font-size:.875rem;color:#000000}
.ac-hint.is-bad{font-weight:700}
.ac-main.sect-light :is(.ac-h2,.ac-h2 em,.ac-h,.ac-n,.ac-card-title){color:#000000}
.ac-main.sect-light .ac-card.is-next .ac-card-title{color:#FFFFFF}
.ac-group{padding:20px 22px;border:1px solid rgba(0,0,0,.14);border-radius:20px}
.ac-group > .ac-list{margin-top:16px}
.ac-series{margin-top:14px}
.ac-row{display:grid;grid-template-columns:64px minmax(0,1fr) auto;gap:14px;align-items:center;padding:12px 16px;border:1px solid rgba(0,0,0,.12);border-radius:12px}
.ac-row-n{font-size:.75rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.ac-row-when{font-size:.9375rem;min-width:0}
.ac-row-when em{display:block;margin-top:2px;font-style:normal;font-size:.8125rem;font-weight:600}
.ac-plan{margin:18px 0 0;padding:6px 18px;border:1px solid rgba(0,0,0,.14);border-radius:14px}
.ac-occ{display:grid;grid-template-columns:28px minmax(0,1fr) auto;gap:12px;align-items:center;padding:10px 0;border-top:1px solid rgba(0,0,0,.1);font-size:.9375rem}
.ac-occ:first-child{border-top:0}
.ac-occ-n{font-size:.75rem;font-weight:700}
.ac-occ-s{font-size:.8125rem}
.ac-occ-s.is-good{font-weight:700}
.ac-occ-s.is-bad{font-weight:700;text-decoration:underline}
.ac-empty{display:flex;flex-direction:column;align-items:flex-start;gap:6px;padding:26px 24px;border:1.5px dashed rgba(0,0,0,.25);border-radius:18px;color:#000000}
.ac-empty b{font-size:1.0625rem}
.ac-empty span{font-size:.9375rem}
.ac-empty .btn{margin-top:10px}
.ac-past{margin-top:4px}
.ac-past summary{display:inline-flex;align-items:center;gap:10px;padding:10px 18px;border:1px solid rgba(0,0,0,.25);border-radius:999px;font-size:.9375rem;font-weight:600;color:#000000;cursor:pointer;list-style:none}
.ac-past summary::-webkit-details-marker{display:none}
.ac-past summary::after{content:"";width:8px;height:8px;border:solid #000000;border-width:0 1.6px 1.6px 0;transform:rotate(45deg) translateY(-2px);transition:transform .25s}
.ac-past[open] summary::after{transform:rotate(-135deg)}
.ac-past[open] > .ac-list{margin-top:16px}

@media(max-width:860px){
  .ac-signin{grid-template-columns:minmax(0,1fr)}
}
@media(max-width:640px){
  .ac-hero-in{margin:0 20px;padding:130px 0 40px}
  .ac-wrap{margin:0 20px}
  .ac-main.sect-light{padding:44px 0 88px}
  .ac-link-form,.ac-grid{grid-template-columns:minmax(0,1fr)}
  .ac-card-top{flex-direction:column-reverse;gap:10px}
  .ac-card{padding:18px}
  .ac-occ{grid-template-columns:22px minmax(0,1fr)}
  .ac-occ-s{grid-column:2}
  .ac-row{grid-template-columns:minmax(0,1fr);gap:6px}
  .ac-meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 16px}
}


/* ================= POST-PRODUCTION REQUEST PAGE (redesign): black and white, the production pass beside the form ================= */
.rq-hero{position:relative;overflow:hidden;background:#000000;color:#FFFFFF;isolation:isolate}
.rq-hero-media{position:absolute;inset:0;z-index:0;opacity:.4}
.rq-hero-media > img,.rq-hero-media > video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.rq-hero-shade{position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(0,0,0,.55),rgba(0,0,0,.2) 40%,rgba(0,0,0,.75))}
.rq-hero-in{position:relative;z-index:2;margin:0 var(--edge);padding:clamp(150px, 22vh, 220px) 0 clamp(44px, 7vh, 72px)}
.rq-title{margin:0;font-size:clamp(2.5rem, 1.2rem + 4vw, 5rem);font-weight:700;line-height:.92;letter-spacing:-.05em;color:#FFFFFF}
.rq-title .ht-sans,.rq-title .ht-serif{display:block}
.rq-title .ht-serif,.rq-h2 .ht-serif{font-family:'DM Serif Display',Georgia,serif;font-style:italic;font-weight:400;letter-spacing:-.035em;padding-bottom:.06em}
.rq-hero .rq-lead{margin:20px 0 0;max-width:600px;font-size:clamp(1rem, .95rem + .3vw, 1.1875rem);line-height:1.5;color:#FFFFFF}
.request-page .btn{padding:11px 22px;font-size:1rem;font-weight:500;letter-spacing:-.01em;line-height:1.4;border-radius:8px}

.rq-main.sect-light{position:relative;background:#FFFFFF;padding:72px 0 120px;color:#000000}
.rq-main.sect-light p{color:#000000}
.rq-wrap{margin:0 var(--edge)}
.rq-form{display:grid;grid-template-columns:minmax(0,780px) minmax(320px,400px);justify-content:space-between;gap:clamp(36px, 5vw, 96px);align-items:start}
.rq-form[hidden]{display:none}
.rq-h2{margin:0;font-size:clamp(2rem, 1.4rem + 1.6vw, 3rem);font-weight:700;line-height:1;letter-spacing:-.05em;color:#000000}

/* each part of the form */
.rq-block{margin:0;padding:0;border:0;min-width:0}
.rq-block + .rq-block{margin-top:56px;padding-top:48px;border-top:1px solid rgba(0,0,0,.14)}
.rq-block > legend{float:left;width:100%;padding:0;margin:0 0 26px}
.rq-block > legend + *{clear:both}
.rq-main .rq-sub{margin:0 0 8px;max-width:560px;font-size:1.0625rem;line-height:1.55}
.rq-label,.rq-field > span{font-size:.75rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:#000000}
.rq-field > span em{font-style:normal}

/* what you need */
.rq-group{margin-top:30px}
.rq-group-h{margin:0 0 6px;font-size:.75rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:#000000}
.rq-svc{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px 28px;align-items:center;padding:18px 0;border-bottom:1px solid rgba(0,0,0,.12);cursor:pointer;color:#000000}
.rq-group-h + .rq-svc{border-top:1px solid rgba(0,0,0,.12)}
.rq-svc > input{position:absolute;top:50%;left:0;width:1px;height:1px;margin:0;opacity:0;pointer-events:none}
.rq-svc:has(input:focus-visible){outline:2px solid #000000;outline-offset:4px;border-radius:6px}
.rq-svc-main{display:flex;flex-direction:column;gap:4px;min-width:0}
.rq-svc-main b{font-size:1.125rem;font-weight:600;letter-spacing:-.02em;line-height:1.3}
.rq-svc-main > span{font-size:.9375rem;line-height:1.45}
.rq-svc-side{display:flex;align-items:center;gap:18px}
.rq-price{font-size:.875rem;white-space:nowrap;text-align:right}
.rq-price b{display:block;font-size:1.0625rem;font-weight:700}
.rq-add{display:inline-flex;align-items:center;padding:8px 16px;border:1px solid rgba(0,0,0,.25);border-radius:999px;font-size:.875rem;font-weight:600;line-height:1.2;transition:background-color .2s,border-color .2s,color .2s}
.rq-add span{display:inline-flex;align-items:center;gap:6px}
.rq-add .rq-add-on{display:none}
.rq-svc:hover .rq-add{border-color:#000000}
.rq-svc.picked .rq-add{background:#000000;border-color:#000000;color:#FFFFFF}
.rq-svc.picked .rq-add-on{display:inline-flex}
.rq-svc.picked .rq-add-off{display:none}
.rq-svc-feature{margin-top:10px;padding:24px 26px;border:0;border-radius:18px;background:#000000;color:#FFFFFF;transition:box-shadow .25s}
.rq-group-h + .rq-svc-feature{border-top:0}
.rq-svc-feature .rq-svc-main b{font-size:1.375rem}
.rq-svc-feature .rq-add{border-color:rgba(255,255,255,.5)}
.rq-svc-feature:hover .rq-add{border-color:#FFFFFF}
.rq-svc-feature.picked{box-shadow:0 0 0 3px #FFFFFF, 0 0 0 5px #000000}
.rq-svc-feature.picked .rq-add{background:#FFFFFF;border-color:#FFFFFF;color:#000000}
.rq-svc-feature:has(input:focus-visible){outline-offset:6px}
.rq-block[aria-invalid="true"] .rq-sub{font-weight:700}
.rq-main.sect-light :is(.rq-h2,.rq-h2 .ht-sans,.rq-h2 .ht-serif,.rq-group-h){color:#000000}

/* your project */
.rq-qty{display:flex;justify-content:space-between;align-items:center;gap:20px 32px;padding:0 0 30px}
.rq-qty-txt{display:flex;flex-direction:column;gap:6px;min-width:0}
.rq-main .rq-qty-txt p{margin:0;max-width:420px;font-size:.9375rem;line-height:1.5}
.rq-step{display:inline-flex;align-items:center;flex:0 0 auto;border:1.5px solid #000000;border-radius:999px}
.rq-step-btn{width:46px;height:46px;border:0;border-radius:50%;background:none;color:#000000;font:inherit;font-size:1.375rem;line-height:1;cursor:pointer;transition:background-color .2s}
.rq-step-btn:hover{background:rgba(0,0,0,.07)}
.rq-step-btn:focus-visible{outline:2px solid #000000;outline-offset:2px}
.rq-step input{width:52px;padding:0;border:0;background:none;font:inherit;font-size:1.25rem;font-weight:700;text-align:center;color:#000000;-moz-appearance:textfield;appearance:textfield}
.rq-step input::-webkit-outer-spin-button,.rq-step input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.rq-step input:focus{outline:none;text-decoration:underline;text-underline-offset:4px}
.rq-q{margin:0 0 32px}
.rq-q > .rq-label{display:block;margin-bottom:14px}
.rq-chips{display:flex;flex-wrap:wrap;gap:10px}
.rq-chip{position:relative;display:inline-flex}
.rq-chip input{position:absolute;inset:0;margin:0;opacity:0;cursor:pointer}
.rq-chip span{display:inline-flex;align-items:center;padding:11px 18px;border:1px solid rgba(0,0,0,.25);border-radius:999px;font-size:.9375rem;font-weight:500;line-height:1.3;color:#000000;transition:background-color .2s,border-color .2s,color .2s;pointer-events:none}
.rq-chip:hover span{border-color:#000000}
.rq-chip input:checked + span{background:#000000;border-color:#000000;color:#FFFFFF}
.rq-chip input:focus-visible + span{outline:2px solid #000000;outline-offset:3px}
.rq-reveal{display:grid;gap:10px;max-width:440px;margin-top:20px}
.rq-reveal[hidden]{display:none}
.rq-main .rq-hint{margin:0;font-size:.9375rem;line-height:1.5}
.rq-hint a{font-weight:600;color:#000000;text-decoration:underline;text-underline-offset:3px}
.rq-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:30px;margin-bottom:30px}
.rq-field{display:flex;flex-direction:column;gap:4px;min-width:0}
.rq-field input,.rq-field textarea{width:100%;padding:10px 0 12px;border:0;border-bottom:1px solid rgba(0,0,0,.3);border-radius:0;background:transparent;font:inherit;font-size:1.125rem;line-height:1.4;color:#000000;outline:none;box-shadow:none;color-scheme:light;transition:border-color .2s,box-shadow .2s;-webkit-appearance:none;appearance:none}
.rq-field input[type="date"]{min-height:48px}
.rq-field textarea{min-height:120px;resize:vertical;line-height:1.5}
.rq-field input::placeholder,.rq-field textarea::placeholder{color:rgba(0,0,0,.42)}
.rq-field input:focus,.rq-field textarea:focus{border-bottom-color:#000000;box-shadow:0 1px 0 0 #000000}
.rq-field input[aria-invalid="true"]{border-bottom-color:#000000;box-shadow:0 2px 0 0 #000000}
.rq-block .rq-row:last-child{margin-bottom:0}

/* the production pass */
.rq-side{position:sticky;top:110px;min-width:0}
.rq-pass{border-radius:18px;overflow:hidden;background:#FFFFFF;box-shadow:0 0 0 2px #000000, 0 24px 60px rgba(0,0,0,.12);scroll-margin-top:110px}
.rq-pass-top{display:flex;justify-content:space-between;gap:12px;padding:14px 20px;background:#000000;color:#FFFFFF;font-family:'Cinzel',Georgia,serif;font-size:.75rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase}
.rq-pass-body{padding:20px}
.rq-pass-list{list-style:none;margin:0;padding:0;max-height:min(42vh, 380px);overflow:auto;overscroll-behavior:contain}
.rq-pass-list li{display:grid;grid-template-columns:minmax(0,1fr) auto 24px;gap:10px;align-items:center;padding:10px 0;border-bottom:1px dashed rgba(0,0,0,.2);font-size:.875rem;color:#000000}
.rq-pl-name{display:flex;flex-direction:column;gap:2px;min-width:0}
.rq-pl-name small{font-size:.75rem}
.rq-pass-list li b{font-weight:600;white-space:nowrap}
.rq-pass-list .rq-pass-empty{display:block;padding:14px 0}
.rq-pass-x{width:24px;height:24px;padding:0;border-radius:50%;border:0;background:rgba(0,0,0,.06);cursor:pointer;font-size:1rem;line-height:1;color:#000000}
.rq-pass-x:hover{background:rgba(0,0,0,.14)}
.rq-pass-meta{margin:12px 0 0;padding:0}
.rq-pass-meta[hidden]{display:none}
.rq-pass-meta div{display:flex;justify-content:space-between;gap:12px;padding:4px 0;font-size:.8125rem;color:#000000}
.rq-pass-meta dt{font-weight:600;letter-spacing:.1em;text-transform:uppercase;font-size:.6875rem;padding-top:2px}
.rq-pass-meta dd{margin:0;text-align:right}
.rq-pass-total{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding:16px 0 18px;font-size:.875rem;color:#000000}
.rq-pass-total b{font-size:1.5rem;font-weight:700;letter-spacing:-.03em;color:#000000;text-align:right}
.rq-error{margin:0 0 14px;padding:12px 14px;border:2px solid #000000;border-radius:10px;font-size:.875rem;font-weight:600;line-height:1.45}
.rq-error[hidden]{display:none}
.request-page .rq-go{width:100%;justify-content:center}
.rq-main .rq-pass-note{margin:12px 0 0;font-size:.8125rem;line-height:1.5}
.rq-main .rq-talk{margin:18px 0 0;font-size:.9375rem;line-height:1.5}
.rq-talk a{font-weight:600;color:#000000;text-decoration:underline;text-underline-offset:3px;overflow-wrap:anywhere}
.rq-bar{position:fixed;left:16px;right:16px;bottom:16px;z-index:90;display:none;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;border-radius:14px;background:#000000;color:#FFFFFF;font-size:.875rem;box-shadow:0 12px 32px rgba(0,0,0,.3)}
.rq-bar b{display:inline-flex;align-items:center;gap:6px;font-weight:600;color:#FFFFFF;white-space:nowrap}

/* after sending */
.rq-sent{max-width:760px;padding:clamp(28px, 4vw, 48px);border:1.5px solid #000000;border-radius:22px;outline:none}
.rq-sent[hidden]{display:none}
.rq-sent .rq-h2{margin-bottom:18px}
.rq-main .rq-sent p{margin:0 0 10px;max-width:560px;font-size:1.0625rem;line-height:1.55}
.rq-sent p a{font-weight:600;color:#000000;text-decoration:underline;text-underline-offset:3px;overflow-wrap:anywhere}
.rq-sent-btns{display:flex;flex-wrap:wrap;gap:12px;margin-top:22px}

/* what happens next */
.rq-next{padding:110px 0 120px;background:#000000;color:#FFFFFF}
.rq-next .rq-h2{color:#FFFFFF}
.rq-next-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px clamp(24px, 3vw, 48px);margin:44px 0 0;padding:0;list-style:none}
.rq-next-list li{display:flex;flex-direction:column;gap:10px;padding-top:22px;border-top:1px solid rgba(255,255,255,.3)}
.rq-next-list b{font-size:clamp(1.25rem, 1.1rem + .4vw, 1.5rem);font-weight:700;letter-spacing:-.03em;color:#FFFFFF}
.rq-next-list span{max-width:380px;font-size:1rem;line-height:1.55;color:#FFFFFF}
.rq-next .rq-next-more{margin:48px 0 0;font-size:1rem;color:#FFFFFF}
.rq-next-more a{font-weight:600;color:#FFFFFF;text-decoration:underline;text-underline-offset:4px}

@media(max-width:1100px){
  .rq-form{grid-template-columns:minmax(0,1fr)}
  .rq-steps{max-width:780px}
  .rq-side{position:static;max-width:560px}
  .rq-pass-list{max-height:none}
  .rq-bar:not([hidden]):not(.away){display:flex}
}
@media(max-width:860px){
  .rq-next-list{grid-template-columns:minmax(0,1fr)}
  .rq-next{padding:88px 0}
}
@media(max-width:640px){
  .rq-hero-in{margin:0 20px;padding:130px 0 40px}
  .rq-wrap{margin:0 20px}
  .rq-main.sect-light{padding:48px 0 96px}
  .rq-row{grid-template-columns:minmax(0,1fr);gap:26px}
  .rq-svc{grid-template-columns:minmax(0,1fr);gap:12px}
  .rq-svc-side{justify-content:space-between}
  .rq-price{text-align:left;white-space:normal}
  .rq-price b{display:inline}
  .rq-svc-feature{padding:20px}
  .rq-qty{flex-direction:column;align-items:flex-start}
  .rq-block + .rq-block{margin-top:44px;padding-top:40px}
  .rq-pass-top{padding:14px 18px;font-size:.625rem;letter-spacing:.1em;white-space:nowrap}
}

/* ================= POLICY PAGES (redesign): Privacy for now, built to suit Terms and Cookies too. A centred title on black, the policy in numbered sections beside "On this page", a closing photo ================= */
.pol-hero{background:#000000;color:#FFFFFF;text-align:center}
.pol-hero-in{margin:0 var(--edge);padding:clamp(150px, 21vh, 210px) 0 clamp(56px, 8vh, 84px);display:flex;flex-direction:column;align-items:center}
.pol-title{margin:0;font-size:clamp(2.75rem, 1.2rem + 4.6vw, 5.5rem);font-weight:700;line-height:.95;letter-spacing:-.05em;color:#FFFFFF}
.pol-title .ht-serif,.pol-talk-title .ht-serif{font-family:'DM Serif Display',Georgia,serif;font-style:italic;font-weight:400;letter-spacing:-.035em;padding-bottom:.06em}
.pol-hero .pol-lead{margin:22px 0 0;max-width:600px;font-size:clamp(1rem, .95rem + .3vw, 1.1875rem);line-height:1.5;color:#FFFFFF}
.pol-hero .pol-date{margin:18px 0 0;font-size:.75rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:#FFFFFF}
.policy-page .btn{padding:11px 24px;font-size:1rem;font-weight:500;letter-spacing:-.01em;line-height:1.4;border-radius:8px}

/* the policy */
.pol-main.sect-light{background:#FFFFFF;padding:96px 0 120px;color:#000000}
.pol-grid{margin:0 var(--edge);display:grid;grid-template-columns:clamp(220px, 20vw, 280px) minmax(0,760px);justify-content:center;gap:clamp(40px, 7vw, 120px);align-items:start}
.pol-side{position:sticky;top:110px;display:flex;flex-direction:column;align-items:flex-start;gap:22px}
.pol-toc{width:100%}
.pol-toc summary{padding-bottom:14px;font-size:.75rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:#000000;list-style:none;cursor:default}
.pol-toc summary::-webkit-details-marker{display:none}
.pol-toc ol{margin:0;padding:0;list-style:none;border-top:1px solid rgba(0,0,0,.14)}
.pol-toc li{border-bottom:1px solid rgba(0,0,0,.14)}
.pol-toc a{position:relative;display:flex;gap:8px;padding:10px 0 10px 16px;font-size:.9375rem;line-height:1.4;color:#000000}
.pol-toc a span{flex:0 0 1.4em}
.pol-toc a::before{content:"";position:absolute;left:0;top:11px;bottom:11px;width:2px;background:rgba(0,0,0,.14);transition:background-color .25s}
.pol-toc a.on{font-weight:700}
.pol-toc a.on::before,.pol-toc a:hover::before{background:#000000}
.pol-print{display:inline-flex;align-items:center;gap:8px;padding:10px 16px;border:1px solid rgba(0,0,0,.25);border-radius:999px;background:none;color:#000000;font:inherit;font-size:.875rem;font-weight:600;cursor:pointer;transition:border-color .2s}
.pol-print:hover{border-color:#000000}
.pol-print:focus-visible{outline:2px solid #000000;outline-offset:3px}
.pol-main .pol-other{display:flex;flex-direction:column;align-items:flex-start;gap:6px;margin:0;font-size:.9375rem;color:#000000}
.pol-other span{margin-bottom:4px;font-size:.75rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase}
.pol-other a{color:#000000;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:4px}
.pol-body{min-width:0;color:#000000;font-size:1.0625rem;line-height:1.7}
.pol-main.sect-light .pol-body :is(p,li,dt,dd,h2,span){color:#000000}
.pol-body a{color:#000000;font-weight:600;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px;overflow-wrap:anywhere}
.pol-short{padding:clamp(22px, 3vw, 32px);border:1.5px solid #000000;border-radius:20px}
.pol-main .pol-short-h{margin:0 0 14px;font-size:.75rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase}
.pol-short ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 28px;margin:0;padding:0;list-style:none}
.pol-short li{position:relative;padding-left:28px;font-size:1rem;font-weight:500;line-height:1.5}
.pol-short li::before{content:"";position:absolute;left:2px;top:.3em;width:14px;height:8px;border:solid #000000;border-width:0 0 2px 2px;transform:rotate(-45deg)}
.pol-sec{margin-top:56px;padding-top:40px;border-top:1px solid rgba(0,0,0,.14)}
.pol-sec h2{margin:0 0 18px;font-size:clamp(1.5rem, 1.2rem + .9vw, 2.125rem);font-weight:700;line-height:1.1;letter-spacing:-.04em;scroll-margin-top:110px}
.pol-sec p{margin:0 0 14px}
.pol-sec p:last-child{margin-bottom:0}
.pol-sec ul{margin:0 0 14px;padding-left:1.25em}
.pol-sec li{margin:6px 0;padding-left:4px}
.pol-sec li::marker{color:#000000}
.pol-list{margin:0;border-top:1px solid rgba(0,0,0,.12)}
.pol-list > div{display:grid;grid-template-columns:170px minmax(0,1fr);gap:8px 28px;padding:18px 0;border-bottom:1px solid rgba(0,0,0,.12)}
.pol-list dt{font-weight:700;line-height:1.5}
.pol-list dd{margin:0}

/* closing photo */
.pol-talk{position:relative;display:flex;align-items:center;justify-content:center;min-height:min(78vh, 760px);overflow:hidden;background:#000000;color:#FFFFFF;text-align:center;isolation:isolate}
.pol-talk-media{position:absolute;inset:0;z-index:0}
.pol-talk-media > img,.pol-talk-media > video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 62%}
.pol-talk-shade{position:absolute;inset:0;z-index:1;background:rgba(0,0,0,.55)}
.pol-talk-in{position:relative;z-index:2;margin:0 var(--edge);padding:110px 0;display:flex;flex-direction:column;align-items:center}
.pol-talk-title{margin:0;font-size:clamp(2.5rem, 1.2rem + 4vw, 5rem);font-weight:700;line-height:.95;letter-spacing:-.05em;color:#FFFFFF}
.pol-talk-title .ht-sans,.pol-talk-title .ht-serif{display:block}
.pol-talk p{margin:22px 0 0;max-width:540px;font-size:clamp(1rem, .95rem + .3vw, 1.1875rem);line-height:1.5;color:#FFFFFF}
.pol-talk-btns{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;margin-top:30px}
/* Page not found (404.html): the black band fills the screen above the footer, message centred */
.nf-hero .pol-hero-in{min-height:min(100svh, 860px);justify-content:center}
.nf-hero .pol-talk-btns{margin-top:34px}
.nf-hero .pol-lead{text-wrap:balance}

@media(max-width:960px){
  .pol-main.sect-light{padding:64px 0 88px}
  .pol-grid{grid-template-columns:minmax(0,1fr);gap:36px}
  .pol-side{position:static}
  .pol-toc{border:1px solid rgba(0,0,0,.16);border-radius:14px;padding:0 18px}
  .pol-toc summary{display:flex;justify-content:space-between;align-items:center;padding:16px 0;cursor:pointer}
  .pol-toc summary::after{content:"";width:9px;height:9px;border:solid #000000;border-width:0 1.6px 1.6px 0;transform:rotate(45deg) translateY(-3px);transition:transform .25s}
  .pol-toc[open] summary::after{transform:rotate(-135deg) translateY(-2px)}
  .pol-toc ol{margin-bottom:12px}
  .pol-other{display:none !important}
}
@media(max-width:640px){
  .pol-hero-in{margin:0 20px;padding:130px 0 48px}
  .pol-grid{margin:0 20px}
  .pol-body{font-size:1rem}
  .pol-short ul{grid-template-columns:minmax(0,1fr)}
  .pol-list > div{grid-template-columns:minmax(0,1fr);gap:4px}
  .pol-sec{margin-top:44px;padding-top:32px}
  .pol-talk-in{margin:0 20px;padding:88px 0}
}
@media(min-width:961px){ .pol-toc summary{pointer-events:none} }
@media print{
  .policy-page header,.policy-page footer,.policy-page .pol-side,.policy-page .pol-talk,.policy-page .bf-modal,#__testBanner{display:none !important}
  .policy-page .pol-hero{background:none;color:#000000;text-align:left}
  .policy-page .pol-hero-in{margin:0;padding:0 0 24px;align-items:flex-start}
  .policy-page .pol-hero :is(.pol-title,.pol-lead,.pol-date,.ht-sans,.ht-serif){color:#000000}
  .policy-page .pol-title{font-size:32pt}
  .policy-page .pol-main.sect-light{padding:0}
  .policy-page .pol-grid{display:block;margin:0}
  .policy-page .pol-body{font-size:11pt}
  .policy-page .pol-sec{break-inside:avoid-page;margin-top:24px;padding-top:16px}
  .policy-page .twr{opacity:1 !important}
}

/* the reCAPTCHA line under the contact and post-production forms (they now send straight to the studio inbox) */
.ct-help.sect-light p.ct-rc,.rq-main.sect-light p.rq-rc{margin:0;font-size:.75rem;line-height:1.5;color:#000000}
.rq-main.sect-light p.rq-rc{margin-top:10px}
.ct-rc a,.rq-rc a{color:#000000;text-decoration:underline;text-underline-offset:2px}
.ct-form .ct-rc{margin-top:-14px}

/* booking calendar: Sundays are by request (through the contact form) */
.bf-day.is-closed{opacity:.45}
.bf-day.is-closed::after{width:8px;height:1.5px;margin-left:-4px;bottom:8px;border-radius:0;background:#000000}
.bf-day.is-closed:hover{background:#F2F2F2;opacity:.7}
.bf-day.is-closed.is-sel{opacity:1}
.bf-legend .l-closed{width:8px;height:1.5px;border-radius:0;background:#000000;opacity:.45}
.bf-sunday span{max-width:280px}
.bf-sunday .btn{margin-top:12px}

/* The Yard: the "on your own" option (no technician, bring your own crew), under the two crewed cards */
.sp-tier-own{grid-column:1 / -1}
.sp-tier-own .sp-rates{margin:6px 0 24px}
.sp-own-btns{display:flex;flex-wrap:wrap;gap:12px;margin-top:auto}
.sp-rates tr.sp-rates-k td{padding:14px 0 6px;text-align:left;font-size:.6875rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--obsidian);white-space:normal}
