/*!
 * Plush Crush — theme styles
 * ═══════════════════════════════════════════════════════════
 * "Soft Landing" — dark, grain-lit, pink.
 * Void · White · Blush · Hot
 *
 * The band's logo is white blackletter on blush pink with a plum drop shadow.
 * That single relationship drives the whole system: blackletter display type,
 * blush for the quiet moments, hot pink for anything that needs to be clicked,
 * and a near-black ground so live photography glows instead of sitting flat.
 * ═══════════════════════════════════════════════════════════
 */
:root{
  /* ground */
  --void:#08070b;
  --void-2:#0e0c12;
  --void-3:#16121c;
  --ash:#221c29;
  --ash-2:#2e2636;

  /* light */
  --white:#faf7f9;
  --bone:#eae3e9;

  /* pink — blush is the logo, hot is the interface */
  --blush:#f297b6;
  --blush-lt:#f9c2d5;
  --hot:#ff2f7e;
  --hot-lt:#ff6ea3;
  --plum:#5c2b43;
  --plum-lt:#8a3f63;

  /* text */
  --body:#a99eae;
  --mute:#6f6577;
  --line:rgba(250,247,249,.14);
  --line-2:rgba(250,247,249,.08);

  --black:'Grenze Gotisch',Georgia,serif;
  --sans:'Inter',-apple-system,BlinkMacSystemFont,sans-serif;
  --mono:'JetBrains Mono','SF Mono',monospace;

  --g:clamp(22px,5vw,86px);
  --maxw:1500px;
  --e:cubic-bezier(.16,1,.3,1);
  --e2:cubic-bezier(.65,0,.35,1);
}
*{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%}
html.lenis{scroll-behavior:auto}
body{background:var(--void);color:var(--white);font-family:var(--sans);font-size:16px;line-height:1.6;
  -webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-x:hidden}
body.is-loading{overflow:hidden;height:100vh}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
button{font-family:inherit;cursor:pointer;border:none;background:none;color:inherit}
::selection{background:var(--hot);color:var(--white)}
:focus-visible{outline:2px solid var(--blush);outline-offset:4px}

h1,h2,h3{font-family:var(--black);font-weight:500;letter-spacing:-.012em;line-height:.98}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 var(--g)}
.mono{font-family:var(--mono);font-size:10.5px;letter-spacing:.19em;text-transform:uppercase;font-weight:500}

/* ── grain — the whole point of a shoegaze site ── */
.grain{position:fixed;inset:0;z-index:8000;pointer-events:none;opacity:.5;mix-blend-mode:screen;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='220' height='220'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='4'/><feColorMatrix values='0 0 0 0 0.55 0 0 0 0 0.42 0 0 0 0 0.50 0 0 0 0.10 0'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>")}

/* ── bloom — soft pink light leak behind the fold ── */
.bloom{position:fixed;inset:0;z-index:0;pointer-events:none;opacity:.55;
  background:
    radial-gradient(58vw 46vw at 78% 6%,rgba(255,47,126,.22),transparent 68%),
    radial-gradient(48vw 40vw at 8% 78%,rgba(242,151,182,.14),transparent 70%)}

/* ── PRELOADER ── */
.pre{position:fixed;inset:0;z-index:9500;background:var(--void);display:flex;flex-direction:column;
  justify-content:flex-end;padding:var(--g);transition:transform 1.05s var(--e)}
.pre.is-out{transform:translateY(-100%)}
.pre__top{position:absolute;top:var(--g);left:var(--g);right:var(--g);display:flex;justify-content:space-between;
  gap:16px;color:var(--blush);opacity:0;animation:pfade .7s .15s forwards}
@keyframes pfade{to{opacity:1}}
.pre__num{font-family:var(--black);font-size:clamp(78px,17vw,220px);color:var(--white);line-height:.8;
  letter-spacing:-.02em;display:flex;align-items:flex-end;gap:10px}
.pre__num sub{font-family:var(--mono);font-size:13px;color:var(--hot);letter-spacing:.1em;
  vertical-align:baseline;position:relative;bottom:14px}
.pre__bar{height:1px;background:var(--line);margin-top:26px;position:relative;overflow:hidden}
.pre__bar i{position:absolute;inset:0;background:var(--hot);transform:scaleX(0);transform-origin:left}
.pre__word{font-family:var(--black);font-size:clamp(24px,4vw,48px);color:var(--white);margin-bottom:18px;
  opacity:0;animation:pfade .8s .4s forwards}
.pre__word em{font-style:normal;color:var(--blush)}

/* ── CURSOR ── */
.cur{position:fixed;top:0;left:0;width:9px;height:9px;border-radius:50%;background:var(--hot);
  pointer-events:none;z-index:8500;transform:translate(-50%,-50%);
  transition:width .3s var(--e),height .3s var(--e),background .3s;opacity:0}
.cur.is-on{opacity:1}
.cur.is-big{width:56px;height:56px;background:rgba(255,47,126,.16);border:1px solid var(--hot)}
@media(hover:none),(pointer:coarse){.cur{display:none}}

/* ── NAV ── */
.nav{position:fixed;top:0;left:0;right:0;z-index:800;padding:22px var(--g);
  display:flex;align-items:center;gap:38px;transition:padding .5s var(--e),background .5s,border-color .5s;
  border-bottom:1px solid transparent}
.nav.is-stuck{padding:14px var(--g);background:rgba(8,7,11,.82);
  backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-bottom-color:var(--line)}
.nav__logo{font-family:var(--black);font-size:30px;letter-spacing:.02em;color:var(--white);white-space:nowrap;
  line-height:1;text-shadow:2px 3px 0 var(--plum)}
.nav__logo span{color:var(--blush)}
.nav__links{display:flex;gap:28px;margin-left:14px}
.nav__link{position:relative;display:inline-block;font-size:13.5px;font-weight:500;
  padding-bottom:4px;transition:transform .38s var(--e),color .38s var(--e)}
.nav__link::after{content:'';position:absolute;left:0;right:0;bottom:0;height:1px;
  background:var(--hot);transform:scaleX(0);transform-origin:left;transition:transform .44s var(--e)}
.nav__link:hover,.nav__link:focus-visible{transform:translateY(-3px);color:var(--blush)}
.nav__link:hover::after,.nav__link:focus-visible::after{transform:scaleX(1)}
.nav__link.is-active{color:var(--blush)}
.nav__link.is-active::after{transform:scaleX(1)}
.nav__r{margin-left:auto;display:flex;align-items:center;gap:18px}
.nav__soc{display:flex;gap:13px;align-items:center}
.nav__soc a{width:18px;height:18px;color:var(--body);transition:color .35s var(--e),transform .35s var(--e)}
.nav__soc a:hover{color:var(--blush);transform:translateY(-2px)}
.nav__soc svg{width:100%;height:100%;display:block}
.nav__cta{position:relative;overflow:hidden;background:var(--hot);color:var(--white);
  padding:13px 24px;font-size:12.5px;font-weight:600;border-radius:100px;white-space:nowrap;
  display:inline-flex;align-items:center;gap:9px}
.nav__cta::before{content:'';position:absolute;inset:0;background:var(--white);
  transform:translateY(101%);transition:transform .5s var(--e);z-index:0}
.nav__cta:hover::before{transform:translateY(0)}
.nav__cta:hover{color:var(--void)}
.nav__cta span{position:relative;z-index:1;transition:color .4s var(--e)}
.nav__burger{display:none;flex-direction:column;gap:5px;width:40px;height:40px;align-items:center;justify-content:center}
.nav__burger span{width:22px;height:1.5px;background:var(--white);transition:.4s var(--e)}
.nav__burger.is-open span:nth-child(1){transform:translateY(6.5px) rotate(45deg)}
.nav__burger.is-open span:nth-child(2){opacity:0}
.nav__burger.is-open span:nth-child(3){transform:translateY(-6.5px) rotate(-45deg)}

/* ── MASK REVEAL PRIMITIVES ── */
.rw{display:inline-block;overflow:hidden;vertical-align:top}
.ri{display:inline-block;transform:translateY(105%);transition:transform 1s var(--e)}
.is-rv .ri{transform:translateY(0)}
.fu{opacity:0;transform:translateY(22px);transition:opacity .9s var(--e),transform .9s var(--e)}
.fu.is-rv{opacity:1;transform:none}

/* ── HERO ── */
.hero{min-height:100svh;display:flex;flex-direction:column;justify-content:flex-end;
  padding:150px var(--g) 60px;position:relative;overflow:hidden}
.hero__ph{position:absolute;inset:0;z-index:0;pointer-events:none}
.hero__ph img{width:100%;height:100%;object-fit:cover;object-position:center 32%;
  filter:saturate(1.05) contrast(1.04)}
.hero__ph::after{content:'';position:absolute;inset:0;
  background:
    linear-gradient(to top,var(--void) 4%,rgba(8,7,11,.78) 34%,rgba(8,7,11,.42) 68%,rgba(8,7,11,.66) 100%),
    radial-gradient(70vw 60vh at 76% 24%,rgba(255,47,126,.20),transparent 70%)}
.hero__in{position:relative;z-index:2;max-width:var(--maxw);margin:0 auto;width:100%}
.hero__eye{display:flex;align-items:center;gap:14px;color:var(--blush);margin-bottom:30px}
.hero__eye i{width:52px;height:1px;background:var(--blush);display:block;transform:scaleX(0);
  transform-origin:left;transition:transform 1s .2s var(--e)}
.hero.is-rv .hero__eye i{transform:scaleX(1)}
.hero h1{font-size:clamp(56px,13vw,196px);line-height:.86;letter-spacing:-.018em;max-width:14ch;
  margin-bottom:34px;text-shadow:3px 5px 0 rgba(92,43,67,.7)}
.hero h1 em{font-style:normal;color:var(--blush)}
.hero__row{display:flex;gap:64px;align-items:flex-end;flex-wrap:wrap}
.hero__lede{font-size:clamp(16px,1.35vw,19px);line-height:1.68;color:var(--bone);max-width:40ch}
.hero__lede strong{color:var(--white);font-weight:600}
.hero__acts{display:flex;gap:12px;flex-wrap:wrap;align-items:center}
.hero__next{position:absolute;bottom:34px;right:var(--g);z-index:2;text-align:right;
  border-right:2px solid var(--hot);padding-right:16px}
.hero__next .mono{color:var(--hot);display:block;margin-bottom:8px}
.hero__next b{font-family:var(--black);font-size:clamp(19px,2vw,28px);font-weight:500;display:block;
  line-height:1.1}
.hero__next small{display:block;font-family:var(--mono);font-size:10.5px;letter-spacing:.12em;
  color:var(--body);margin-top:6px}

/* ── BUTTONS ── */
.b{position:relative;overflow:hidden;display:inline-flex;align-items:center;gap:11px;
  font-size:14px;font-weight:600;padding:19px 34px;border-radius:100px;
  transition:color .4s var(--e);will-change:transform}
.b span{position:relative;z-index:2;display:inline-flex;align-items:center;gap:11px}
.b::before{content:'';position:absolute;inset:0;z-index:1;transform:translateY(101%);
  transition:transform .58s var(--e)}
.b:hover::before{transform:translateY(0)}
.b--hot{background:var(--hot);color:var(--white)}
.b--hot::before{background:var(--white)}
.b--hot:hover{color:var(--void)}
.b--line{border:1px solid var(--line);color:var(--white)}
.b--line::before{background:var(--white)}
.b--line:hover{color:var(--void);border-color:var(--white)}
.b--white{background:var(--white);color:var(--void)}
.b--white::before{background:var(--hot)}
.b--white:hover{color:var(--white)}
.b__ar{transition:transform .45s var(--e);font-style:normal}
.b:hover .b__ar{transform:translateX(6px)}

/* ── MARQUEE ── */
.mq{border-top:1px solid var(--line);border-bottom:1px solid var(--line);
  overflow:hidden;padding:15px 0;background:var(--void-2);position:relative;z-index:2}
.mq__t{display:flex;width:max-content;animation:mqs 44s linear infinite}
.mq:hover .mq__t{animation-play-state:paused}
@keyframes mqs{to{transform:translateX(-50%)}}
.mq__i{font-family:var(--mono);font-size:11px;letter-spacing:.17em;text-transform:uppercase;
  color:var(--body);padding:0 24px;display:flex;align-items:center;gap:24px;white-space:nowrap}
.mq__i::after{content:'';width:4px;height:4px;border-radius:50%;background:var(--hot);flex-shrink:0}

/* ── SECTION HEAD ── */
.sh{display:flex;justify-content:space-between;align-items:flex-end;gap:56px;flex-wrap:wrap;
  padding-bottom:36px;margin-bottom:64px;border-bottom:1px solid var(--line)}
.sh__n{color:var(--hot);white-space:nowrap;padding-bottom:10px}
.sh h2{font-size:clamp(38px,6.4vw,96px);letter-spacing:-.014em;max-width:16ch;flex:1 1 400px}
.sh h2 em{font-style:normal;color:var(--blush)}
.sh__p{font-size:14.5px;color:var(--body);line-height:1.72;max-width:34ch;flex:0 1 320px}

/* ═══ SHOWS — the most important thing on a band site ═══ */
.sw{padding:112px 0 120px;position:relative;z-index:2}
.sw__list{border-top:1px solid var(--line)}
.sh0w{border-bottom:1px solid var(--line);padding:30px 0;display:grid;
  grid-template-columns:132px 1fr auto auto;gap:30px;align-items:center;
  transition:background .5s var(--e),padding-left .5s var(--e)}
.sh0w:hover{background:rgba(255,47,126,.05);padding-left:16px}
.sh0w.is-past{opacity:.4}
.sh0w__d{font-family:var(--black);font-size:clamp(26px,2.6vw,38px);font-weight:500;line-height:.92;
  color:var(--white);white-space:nowrap}
.sh0w__d small{display:block;font-family:var(--mono);font-size:10px;letter-spacing:.16em;
  text-transform:uppercase;color:var(--hot);margin-top:7px;font-weight:500}
.sh0w__v{min-width:0}
.sh0w__v b{font-size:clamp(17px,1.6vw,23px);font-weight:600;display:block;line-height:1.24;
  transition:color .4s var(--e)}
.sh0w:hover .sh0w__v b{color:var(--blush)}
.sh0w__v span{font-size:13px;color:var(--body);display:block;margin-top:6px;line-height:1.55}
.sh0w__tags{display:flex;gap:6px;flex-wrap:wrap;margin-top:11px}
.sh0w__tags i{font-family:var(--mono);font-size:9.5px;letter-spacing:.07em;padding:5px 10px;
  border:1px solid var(--line);border-radius:100px;color:var(--body);font-style:normal;
  transition:.4s var(--e)}
.sh0w:hover .sh0w__tags i{border-color:var(--plum-lt);color:var(--blush)}
.sh0w__city{font-family:var(--mono);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;
  color:var(--mute);white-space:nowrap}
.sh0w__cta{white-space:nowrap}
.sh0w__cta .b{padding:14px 24px;font-size:12.5px}
.sw__more{margin-top:44px;display:flex;gap:14px;flex-wrap:wrap;align-items:center}
.sw__empty{padding:52px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);
  text-align:center;color:var(--body);font-size:15px}

/* ═══ RELEASES — horizontal pinned rail ═══ */
.rl{background:var(--void-2);position:relative;z-index:2;border-top:1px solid var(--line)}
.rl__intro{padding:112px var(--g) 0;max-width:var(--maxw);margin:0 auto}
.rl__rail{height:300vh;position:relative}
.rl__pin{position:sticky;top:0;height:100vh;display:flex;align-items:center;overflow:hidden}
.rl__track{display:flex;gap:26px;padding:0 var(--g);will-change:transform}
.rc{width:min(420px,80vw);flex-shrink:0;background:var(--void-3);border:1px solid var(--line);
  border-radius:5px;padding:0 0 30px;display:flex;flex-direction:column;overflow:hidden;
  transition:border-color .55s var(--e),transform .55s var(--e)}
.rc:hover{border-color:var(--plum-lt);transform:translateY(-6px)}
.rc--w{width:min(600px,88vw)}
.rc__art{aspect-ratio:1;background:var(--ash);position:relative;overflow:hidden}
.rc__art img{width:100%;height:100%;object-fit:cover;transition:transform 1s var(--e)}
.rc:hover .rc__art img{transform:scale(1.05)}
.rc__art--none{display:grid;place-items:center;
  background:radial-gradient(circle at 50% 40%,var(--plum),var(--void-3) 72%)}
.rc__art--none b{font-family:var(--black);font-size:clamp(34px,4vw,56px);color:var(--blush-lt);
  text-align:center;padding:0 24px;line-height:1;font-weight:500}
.rc__type{position:absolute;top:14px;left:14px;font-family:var(--mono);font-size:9px;
  letter-spacing:.15em;text-transform:uppercase;background:rgba(8,7,11,.78);color:var(--blush);
  padding:6px 11px;border-radius:100px;backdrop-filter:blur(8px)}
.rc__b{padding:26px 26px 0;flex:1;display:flex;flex-direction:column}
.rc h3{font-size:clamp(26px,2.8vw,36px);font-weight:500;line-height:1.02;margin-bottom:9px}
.rc__yr{font-family:var(--mono);font-size:10px;letter-spacing:.15em;text-transform:uppercase;
  color:var(--mute);margin-bottom:16px}
.rc p{font-size:13.5px;color:var(--body);line-height:1.72;margin-bottom:22px;flex:1}
.rc__links{display:flex;gap:8px;flex-wrap:wrap;padding-top:18px;border-top:1px solid var(--line)}
.rc__links a{font-family:var(--mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase;
  padding:9px 14px;border:1px solid var(--line);border-radius:100px;color:var(--bone);
  transition:.35s var(--e)}
.rc__links a:hover{background:var(--hot);border-color:var(--hot);color:var(--white)}
.rl__bar{position:absolute;bottom:52px;left:var(--g);right:var(--g);height:1px;
  background:var(--line);z-index:5}
.rl__bar i{position:absolute;left:0;top:-1px;height:3px;background:var(--hot);width:0}
.rl__hint{position:absolute;bottom:70px;left:var(--g);font-family:var(--mono);font-size:9.5px;
  letter-spacing:.16em;text-transform:uppercase;color:var(--mute);z-index:5}
.rl__note{padding:0 var(--g) 100px;max-width:var(--maxw);margin:0 auto}
.rl__note p{font-size:13.5px;color:var(--body);line-height:1.75;max-width:74ch;padding-left:20px;
  border-left:1px solid var(--hot)}
.rl__note strong{color:var(--white);font-weight:500}

/* ── EMBEDS (Spotify / Bandcamp / YouTube) ── */
.emb{border:1px solid var(--line);border-radius:5px;overflow:hidden;background:var(--void-3);
  margin:26px 0}
.emb iframe{display:block;width:100%;border:0}
.emb--tall iframe{height:420px}
.emb--wide iframe{aspect-ratio:16/9;height:auto}

/* ═══ BOOKING / SERVICES — sticky left, list right ═══ */
.svc{padding:112px 0 120px;position:relative;z-index:2}
.svc__l{display:grid;grid-template-columns:.72fr 1.28fr;gap:76px;align-items:start}
.svc__sticky{position:sticky;top:130px}
.svc__sticky .mono{color:var(--hot);display:block;margin-bottom:22px}
.svc__sticky h3{font-size:clamp(30px,3.8vw,56px);letter-spacing:-.014em;margin-bottom:22px}
.svc__sticky h3 em{font-style:normal;color:var(--blush)}
.svc__sticky p{font-size:14.5px;color:var(--body);line-height:1.75;max-width:33ch;margin-bottom:30px}
.svc__prog{height:1px;background:var(--line);position:relative;margin-bottom:12px}
.svc__prog i{position:absolute;left:0;top:0;bottom:0;background:var(--hot);width:0;
  transition:width .55s var(--e)}
.svc__count{font-family:var(--mono);font-size:10.5px;letter-spacing:.14em;color:var(--mute)}
.svc__count b{color:var(--white)}
.svc__list{border-top:1px solid var(--line)}
.si{border-bottom:1px solid var(--line);padding:34px 0;display:grid;
  grid-template-columns:56px 1fr auto;gap:26px;align-items:start;
  transition:opacity .55s var(--e)}
.si.is-dim{opacity:.34}
.si__n{font-family:var(--mono);font-size:11px;color:var(--hot);letter-spacing:.1em;padding-top:8px}
.si h4{font-family:var(--black);font-size:clamp(26px,3.2vw,44px);font-weight:500;letter-spacing:-.012em;
  line-height:1.02;margin-bottom:12px;transition:color .45s var(--e)}
.si:hover h4{color:var(--blush)}
.si p{font-size:14px;color:var(--body);line-height:1.7;max-width:46ch;margin-bottom:16px}
.si__f{display:flex;gap:6px;flex-wrap:wrap}
.si__f i{font-family:var(--mono);font-size:9.5px;letter-spacing:.06em;padding:5px 10px;
  border:1px solid var(--line);border-radius:100px;color:var(--body);font-style:normal;
  transition:.4s var(--e)}
.si:hover .si__f i{border-color:var(--hot);color:var(--blush)}
.si__go{width:46px;height:46px;border-radius:50%;border:1px solid var(--line);
  display:grid;place-items:center;font-size:15px;transition:.5s var(--e);flex-shrink:0;margin-top:4px}
.si:hover .si__go{background:var(--hot);color:var(--white);border-color:var(--hot);transform:rotate(-45deg)}

/* ═══ GALLERY — masonry-ish grid, lightbox ═══ */
.gl{padding:0 0 120px;position:relative;z-index:2}
/* dense so a short final row gets backfilled instead of leaving a hole when the
   photo count does not land on a cycle boundary */
.gl__g{display:grid;grid-template-columns:repeat(12,1fr);gap:14px;grid-auto-flow:dense}
/* The tiles are <button> elements so the lightbox is keyboard-reachable, which
   means the UA's default button padding, font and appearance all need clearing
   or the photo sits inset in a grey box. */
.gi{position:relative;overflow:hidden;border-radius:4px;background:var(--void-3);
  cursor:pointer;border:1px solid var(--line-2);padding:0;display:block;
  appearance:none;-webkit-appearance:none;font:inherit;color:inherit;text-align:left}
.gi img{width:100%;height:100%;object-fit:cover;transition:transform 1.1s var(--e),filter .6s var(--e)}
.gi::after{content:'';position:absolute;inset:0;background:rgba(255,47,126,0);
  transition:background .55s var(--e)}
.gi:hover img{transform:scale(1.06)}
.gi:hover::after{background:rgba(255,47,126,.12)}
.gi__cap{position:absolute;bottom:0;left:0;right:0;padding:26px 18px 14px;z-index:2;
  background:linear-gradient(to top,rgba(8,7,11,.9),transparent);
  font-family:var(--mono);font-size:9.5px;letter-spacing:.13em;text-transform:uppercase;
  color:var(--blush-lt);opacity:0;transform:translateY(8px);transition:.5s var(--e)}
.gi:hover .gi__cap{opacity:1;transform:none}
/* Deterministic mosaic on a 10-tile cycle. Every row inside a cycle sums to
   exactly 12 columns, so nothing is left stranded:
     6+6 · 4+4+4 · 8+4 · 6+6 · 12
   The portrait tile is 7 of 10, which is where the tall band photo lands. */
.gi{grid-column:span 4;aspect-ratio:4/3}
.gi:nth-child(10n+1){grid-column:span 6;aspect-ratio:3/2}
.gi:nth-child(10n+2){grid-column:span 6;aspect-ratio:3/2}
.gi:nth-child(10n+3){grid-column:span 4;aspect-ratio:4/3}
.gi:nth-child(10n+4){grid-column:span 4;aspect-ratio:4/3}
.gi:nth-child(10n+5){grid-column:span 4;aspect-ratio:4/3}
.gi:nth-child(10n+6){grid-column:span 8;aspect-ratio:2/1}
.gi:nth-child(10n+7){grid-column:span 4;aspect-ratio:3/4}
.gi:nth-child(10n+8){grid-column:span 6;aspect-ratio:3/2}
.gi:nth-child(10n+9){grid-column:span 6;aspect-ratio:3/2}
.gi:nth-child(10n){grid-column:span 12;aspect-ratio:3/1}

.lb{position:fixed;inset:0;z-index:9000;background:rgba(8,7,11,.96);display:none;
  place-items:center;padding:var(--g);backdrop-filter:blur(6px)}
.lb.is-open{display:grid}
.lb img{max-width:100%;max-height:82vh;width:auto;height:auto;border-radius:4px}
.lb__cap{position:absolute;bottom:calc(var(--g) / 1.6);left:0;right:0;text-align:center;
  font-family:var(--mono);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--blush)}
.lb__x{position:absolute;top:var(--g);right:var(--g);width:46px;height:46px;border-radius:50%;
  border:1px solid var(--line);display:grid;place-items:center;font-size:19px;color:var(--white);
  transition:.35s var(--e)}
.lb__x:hover{background:var(--hot);border-color:var(--hot)}
.lb__nav{position:absolute;top:50%;transform:translateY(-50%);width:52px;height:52px;border-radius:50%;
  border:1px solid var(--line);display:grid;place-items:center;font-size:20px;color:var(--white);
  transition:.35s var(--e)}
.lb__nav:hover{background:var(--hot);border-color:var(--hot)}
.lb__nav--p{left:var(--g)}
.lb__nav--n{right:var(--g)}

/* ═══ ABOUT ═══ */
.ab{padding:120px 0;position:relative;z-index:2;background:var(--void-2);
  border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.ab__l{display:grid;grid-template-columns:1fr .86fr;gap:80px;align-items:center}
.ab .mono{color:var(--hot);display:block}
.ab h2{font-size:clamp(36px,5.2vw,80px);letter-spacing:-.016em;margin:22px 0 30px;max-width:17ch}
.ab h2 em{font-style:normal;color:var(--blush)}
.ab p{font-size:15.5px;color:var(--body);line-height:1.8;margin-bottom:20px;max-width:54ch}
.ab p strong{color:var(--white);font-weight:600}
.ab__cr{margin-top:38px;border-top:1px solid var(--line)}
.acr{padding:20px 0;border-bottom:1px solid var(--line);display:flex;gap:22px;align-items:baseline}
.acr b{font-family:var(--mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;
  color:var(--hot);width:112px;flex-shrink:0}
.acr span{font-size:14.5px;color:var(--white)}
.ab__ph{position:relative}
.ab__ph img{width:100%;border-radius:5px;border:1px solid var(--line)}
.ab__ph--none{aspect-ratio:4/5;border-radius:5px;display:grid;place-items:center;
  background:radial-gradient(circle at 50% 34%,var(--plum),var(--void-3) 74%);
  border:1px solid var(--line)}
.ab__ph--none b{font-family:var(--black);font-size:clamp(40px,5vw,74px);color:var(--blush-lt);
  font-weight:500;text-align:center;line-height:.95;padding:0 20px}
.ab__badge{position:absolute;bottom:-14px;left:-14px;background:var(--hot);color:var(--white);
  border-radius:100px;padding:15px 24px;font-family:var(--mono);font-size:10px;letter-spacing:.15em;
  text-transform:uppercase}

/* ═══ BLOG STRIP ═══ */
.bl{padding:112px 0 120px;position:relative;z-index:2}

/* ═══ CONTACT ═══ */
.ct{padding:112px 0 0;background:var(--void-2);position:relative;z-index:2;border-top:1px solid var(--line)}
.ct__l{display:grid;grid-template-columns:.86fr 1.14fr;gap:76px;align-items:start;padding-bottom:110px}
.ci__blk{padding:24px 0;border-top:1px solid var(--line);display:grid;
  grid-template-columns:96px 1fr;gap:20px;align-items:start}
.ci__blk:last-of-type{border-bottom:1px solid var(--line)}
.ci__k{font-family:var(--mono);font-size:9.5px;letter-spacing:.16em;text-transform:uppercase;
  color:var(--hot);padding-top:4px}
.ci__v{font-size:15.5px;line-height:1.65;color:var(--white);word-break:break-word}
.ci__v a:hover{color:var(--blush)}
.ci__v small{display:block;font-size:13px;color:var(--body);margin-top:5px}
.ci__soc{display:flex;gap:10px;flex-wrap:wrap;margin-top:4px}
.ci__soc a{display:inline-flex;align-items:center;gap:8px;font-family:var(--mono);font-size:10px;
  letter-spacing:.11em;text-transform:uppercase;padding:9px 14px;border:1px solid var(--line);
  border-radius:100px;color:var(--bone);transition:.35s var(--e)}
.ci__soc a:hover{background:var(--hot);border-color:var(--hot);color:var(--white)}
.ci__soc svg{width:13px;height:13px}

/* agent teaser */
.agent{margin-top:34px;border:1px solid var(--line);border-radius:5px;overflow:hidden}
.agent__h{padding:17px 20px;display:flex;align-items:center;gap:12px;
  border-bottom:1px solid var(--line);background:var(--void-3)}
.agent__av{width:34px;height:34px;border-radius:50%;background:var(--plum);color:var(--blush-lt);
  display:grid;place-items:center;font-family:var(--black);font-size:18px;flex-shrink:0;font-weight:500}
.agent__h b{font-size:13.5px;display:block;font-weight:600}
.agent__h small{font-size:11px;color:var(--mute)}
.agent__live{margin-left:auto;font-family:var(--mono);font-size:9px;letter-spacing:.12em;
  text-transform:uppercase;color:var(--blush);display:flex;align-items:center;gap:6px}
.agent__live i{width:5px;height:5px;border-radius:50%;background:var(--blush);animation:pls 2s infinite}
@keyframes pls{0%,100%{opacity:1}50%{opacity:.3}}
.agent__b{padding:18px 20px;min-height:132px}

.am{font-size:13px;line-height:1.6;padding:11px 14px;margin-bottom:8px;max-width:88%;
  opacity:0;transform:translateY(7px);animation:amin .45s var(--e) forwards}
@keyframes amin{to{opacity:1;transform:none}}
.am.bot{background:var(--ash);border-radius:2px 12px 12px 12px;color:var(--bone)}
.am.usr{background:var(--hot);color:var(--white);margin-left:auto;border-radius:12px 2px 12px 12px}
.atyp{display:inline-flex;gap:4px;padding:13px 15px;background:var(--ash);
  border-radius:2px 12px 12px 12px;margin-bottom:8px}
.atyp i{width:5px;height:5px;border-radius:50%;background:var(--mute);animation:atd 1.3s infinite}
.atyp i:nth-child(2){animation-delay:.18s}.atyp i:nth-child(3){animation-delay:.36s}
@keyframes atd{0%,60%,100%{opacity:.3}30%{opacity:1}}

/* ── FORM — floating labels ── */
.fm{background:var(--white);color:var(--void);border-radius:5px;padding:48px 44px 44px;position:relative}
.fm__h{margin-bottom:36px}
.fm__h .mono{color:var(--plum);display:block;margin-bottom:16px}
.fm__h h3{font-size:clamp(30px,3.6vw,50px);letter-spacing:-.014em;margin-bottom:14px;color:var(--void)}
.fm__h p{font-size:14px;color:#6b6270;line-height:1.7;max-width:44ch}
.fg{display:grid;grid-template-columns:1fr 1fr;gap:0 26px}
.f{position:relative;margin-bottom:34px}
.f--full{grid-column:1/-1}
.f input,.f select,.f textarea{width:100%;border:0;border-bottom:1px solid #d8d0d8;
  background:transparent;padding:14px 0 11px;font-family:var(--sans);font-size:16px;color:var(--void);
  transition:border-color .45s var(--e)}
.f textarea{resize:vertical;min-height:74px;line-height:1.6}
.f select{cursor:pointer;appearance:none;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='11' height='7'><path d='M1 1l4.5 4.5L10 1' stroke='%236f6577' stroke-width='1.4' fill='none' stroke-linecap='round'/></svg>");
  background-repeat:no-repeat;background-position:right 2px center}
.f label{position:absolute;left:0;top:14px;z-index:1;font-size:16px;color:#8a8290;pointer-events:none;
  transition:.45s var(--e);transform-origin:left}
.f:focus-within label,.f.has-val label,.f.has-select label{
  transform:translateY(-24px) scale(.68);color:var(--hot);letter-spacing:.12em;
  text-transform:uppercase;font-family:var(--mono)}
.f input:focus,.f select:focus,.f textarea:focus{outline:none;border-bottom-color:var(--hot)}
.f__ln{position:absolute;left:0;right:0;bottom:0;height:1px;background:var(--hot);
  transform:scaleX(0);transform-origin:left;transition:transform .55s var(--e)}
.f:focus-within .f__ln{transform:scaleX(1)}
.f.err input,.f.err select{border-bottom-color:#c8392b}
.f__e{font-size:11.5px;color:#c8392b;margin-top:7px;display:none}
.f.err .f__e{display:block}
.fnote{grid-column:1/-1;font-size:11.5px;color:#6b6270;line-height:1.65;padding-left:16px;
  border-left:1px solid var(--hot);margin-bottom:30px}
.fsub{width:100%;justify-content:center;padding:21px}
.fsub:disabled{opacity:.65;cursor:wait}
.fmi{text-align:center;font-size:11.5px;color:#8a8290;margin-top:16px}
.fdone{display:none;text-align:center;padding:52px 20px}
.fdone.on{display:block;animation:amin .6s var(--e) forwards}
.fdone__i{width:64px;height:64px;border-radius:50%;background:var(--hot);color:var(--white);
  display:grid;place-items:center;font-size:26px;margin:0 auto 26px}
.fdone h3{font-size:38px;margin-bottom:14px;color:var(--void)}
.fdone p{font-size:15px;color:#6b6270;line-height:1.75;max-width:38ch;margin:0 auto}
.fm.sent .fm__h,.fm.sent form{display:none}

/* ── FOOTER ── */
.ft{background:var(--void);color:var(--body);padding:0 0 26px;border-top:1px solid var(--line);
  position:relative;z-index:2}
.ft__big{padding:76px 0 62px;text-align:center;border-bottom:1px solid var(--line)}
.ft__big .mono{color:var(--hot);display:block;margin-bottom:26px}
.ft__big a{font-family:var(--black);font-size:clamp(34px,7.4vw,124px);letter-spacing:-.018em;
  color:var(--white);line-height:.9;display:inline-block;transition:color .5s var(--e);
  text-shadow:3px 4px 0 var(--plum);word-break:break-word}
.ft__big a:hover{color:var(--blush)}
.ft__g{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:44px;padding:58px 0 46px}
.ft__k{font-family:var(--mono);font-size:9.5px;letter-spacing:.16em;text-transform:uppercase;
  color:var(--hot);margin-bottom:20px}
.ft__lg{font-family:var(--black);font-size:34px;letter-spacing:.01em;color:var(--white);
  margin-bottom:18px;line-height:1;text-shadow:2px 3px 0 var(--plum)}
.ft__lg span{color:var(--blush)}
.ft p{font-size:13px;line-height:1.75;max-width:32ch}
.ft ul{list-style:none;display:flex;flex-direction:column;gap:11px}
.ft ul a{font-size:13.5px;transition:.35s var(--e);display:inline-block}
.ft ul a:hover{color:var(--blush);transform:translateX(5px)}
.ft__soc{display:flex;gap:10px;margin-top:22px;flex-wrap:wrap}
.ft__soc a{width:38px;height:38px;border-radius:50%;border:1px solid var(--line);
  display:grid;place-items:center;color:var(--body);transition:.35s var(--e)}
.ft__soc a:hover{background:var(--hot);border-color:var(--hot);color:var(--white);transform:translateY(-3px)}
.ft__soc svg{width:16px;height:16px}
.ft__bar{border-top:1px solid var(--line);padding-top:24px;display:flex;
  justify-content:space-between;gap:20px;font-size:11.5px;flex-wrap:wrap}

/* ═══ PERSISTENT BOOKING ASSISTANT ═══ */
.lch{position:fixed;bottom:26px;right:26px;z-index:7000;display:flex;align-items:center;gap:13px;
  opacity:0;transform:translateY(16px) scale(.9);pointer-events:none;
  transition:opacity .6s var(--e),transform .6s var(--e)}
.lch.is-ready{opacity:1;transform:none;pointer-events:auto}
.lch.is-hidden{opacity:0;transform:translateY(10px) scale(.94);pointer-events:none}
.lch__nudge{background:var(--white);color:var(--void);border:1px solid var(--white);border-radius:100px;
  padding:12px 17px;font-size:13px;font-weight:500;box-shadow:0 12px 34px rgba(0,0,0,.5);
  display:flex;align-items:center;gap:12px;white-space:nowrap;
  opacity:0;transform:translateX(14px);transition:.55s var(--e);pointer-events:none}
.lch__nudge.on{opacity:1;transform:none;pointer-events:auto}
.lch__nudge b{font-weight:700}
.lch__x{width:19px;height:19px;border-radius:50%;background:#ded6de;color:var(--void);
  display:grid;place-items:center;font-size:11px;flex-shrink:0;transition:.3s}
.lch__x:hover{background:var(--void);color:var(--white)}
.lch__btn{width:60px;height:60px;border-radius:50%;background:var(--hot);color:var(--white);
  display:grid;place-items:center;box-shadow:0 14px 38px rgba(255,47,126,.42);flex-shrink:0;
  position:relative;transition:transform .45s var(--e),background .45s var(--e)}
.lch__btn:hover{transform:scale(1.07);background:var(--hot-lt)}
.lch__btn svg{width:25px;height:25px;transition:opacity .3s,transform .35s var(--e)}
.lch__btn .ic-x{position:absolute;opacity:0;transform:rotate(-90deg) scale(.7)}
.lch.is-open .lch__btn .ic-chat{opacity:0;transform:rotate(90deg) scale(.7)}
.lch.is-open .lch__btn .ic-x{opacity:1;transform:none}
.lch__ping{position:absolute;top:3px;right:3px;width:11px;height:11px;border-radius:50%;
  background:var(--blush);border:2px solid var(--hot)}
.lch.is-open .lch__ping,.lch.has-seen .lch__ping{display:none}
.lch__ping::after{content:'';position:absolute;inset:-4px;border-radius:50%;
  border:1px solid var(--blush);animation:lping 2.3s var(--e) infinite}
@keyframes lping{0%{transform:scale(.7);opacity:.9}100%{transform:scale(1.7);opacity:0}}

.pan{position:fixed;bottom:100px;right:26px;width:384px;max-width:calc(100vw - 52px);
  height:min(566px,calc(100vh - 140px));z-index:7000;background:var(--void);
  border:1px solid var(--line);border-radius:7px;overflow:hidden;
  display:flex;flex-direction:column;box-shadow:0 34px 80px rgba(0,0,0,.65);
  opacity:0;transform:translateY(20px) scale(.97);transform-origin:bottom right;
  pointer-events:none;transition:opacity .48s var(--e),transform .48s var(--e)}
.pan.is-open{opacity:1;transform:none;pointer-events:auto}
.pan__h{padding:17px 19px;display:flex;align-items:center;gap:12px;
  border-bottom:1px solid var(--line);background:var(--void-3);flex-shrink:0}
.pan__h .agent__av{width:36px;height:36px}
.pan__h b{font-size:14px;color:var(--white);display:block;font-weight:600}
.pan__h small{font-size:11px;color:var(--mute)}
.pan__min{margin-left:auto;width:30px;height:30px;border-radius:50%;color:var(--body);
  display:grid;place-items:center;font-size:17px;transition:.3s}
.pan__min:hover{background:rgba(250,247,249,.1);color:var(--white)}
.pan__b{flex:1;overflow-y:auto;padding:19px;scrollbar-width:thin}
.pan__b::-webkit-scrollbar{width:4px}
.pan__b::-webkit-scrollbar-thumb{background:var(--ash);border-radius:2px}
.pan__chips{display:flex;flex-wrap:wrap;gap:7px;margin:12px 0 4px}
.chip{font-size:12.5px;font-weight:500;padding:9px 14px;border-radius:100px;
  border:1px solid var(--line);color:var(--bone);transition:.32s var(--e);
  opacity:0;transform:translateY(7px);animation:amin .4s var(--e) forwards}
.chip:hover{background:var(--hot);color:var(--white);border-color:var(--hot)}
.pan__warn{background:rgba(200,57,43,.13);border:1px solid rgba(200,57,43,.45);border-radius:4px;
  padding:13px 15px;margin-bottom:9px;font-size:12.5px;line-height:1.6;color:#eab3ac;
  opacity:0;animation:amin .4s var(--e) forwards}
.pan__warn b{color:#f6ccc6;display:block;margin-bottom:5px;font-weight:600}
.pan__conf{background:rgba(255,47,126,.14);border:1px solid var(--plum-lt);border-radius:4px;
  padding:15px;margin-top:11px;opacity:0;animation:amin .45s var(--e) forwards}
.pan__conf b{font-size:13px;color:var(--blush-lt);display:block;margin-bottom:10px}
.pan__row{display:flex;justify-content:space-between;gap:14px;font-size:12.5px;
  color:var(--bone);padding:3px 0}
.pan__row span:last-child{font-weight:600;text-align:right}
.pan__f{flex-shrink:0;border-top:1px solid var(--line);background:var(--void-3)}
.pan__form{display:flex;align-items:center;gap:10px;padding:13px 16px}
.pan__form input{flex:1;background:transparent;border:0;color:var(--white);font-family:var(--sans);
  font-size:13.5px;padding:8px 0}
.pan__form input::placeholder{color:var(--mute)}
.pan__form input:focus{outline:none}
.pan__send{width:34px;height:34px;border-radius:50%;background:var(--hot);color:var(--white);
  display:grid;place-items:center;font-size:15px;flex-shrink:0;transition:.3s var(--e)}
.pan__send:hover{background:var(--hot-lt);transform:scale(1.08)}
.pan__g{padding:0 16px 12px;font-size:10px;color:var(--mute);line-height:1.55}
@media(max-width:620px){
  .lch{bottom:18px;right:18px}
  .lch__nudge{display:none}
  .pan{right:0;left:0;bottom:0;width:100%;max-width:100%;height:88vh;border-radius:14px 14px 0 0;
    transform-origin:bottom center}
  body.pan-open{overflow:hidden}
}

/* ── RESPONSIVE ── */
@media(max-width:1180px){
  .nav__links,.nav__soc{display:none}
  .nav__burger{display:flex}
  .svc__l,.ab__l,.ct__l{grid-template-columns:1fr;gap:52px}
  .svc__sticky{position:static}
  .ft__g{grid-template-columns:1fr 1fr}
  .nav__links.is-open{display:flex;position:absolute;top:100%;left:0;right:0;flex-direction:column;
    background:rgba(8,7,11,.97);backdrop-filter:blur(20px);padding:28px var(--g);gap:20px;margin:0;
    border-bottom:1px solid var(--line)}
  .nav__links.is-open .nav__link{font-size:20px;padding-bottom:6px}
  /* releases rail → vertical stack */
  .rl__rail{height:auto}
  .rl__pin{position:static;height:auto;padding:60px 0 90px}
  .rl__track{flex-direction:column;transform:none!important;gap:20px}
  .rc,.rc--w{width:100%}
  .rl__bar,.rl__hint{display:none}
  .sh0w{grid-template-columns:112px 1fr;gap:20px 24px}
  .sh0w__city{grid-column:1/-1}
  .sh0w__cta{grid-column:1/-1}
  .gl__g > .gi{grid-column:span 6 !important;aspect-ratio:4/3 !important}
}
@media(max-width:760px){
  .fg,.ft__g{grid-template-columns:1fr}
  .si{grid-template-columns:1fr;gap:14px}
  .si__go{display:none}
  .sh{margin-bottom:44px}
  .fm{padding:34px 26px 30px}
  .ci__blk{grid-template-columns:1fr;gap:8px}
  .hero{padding-top:126px}
  .hero__next{position:static;text-align:left;border-right:0;border-left:2px solid var(--hot);
    padding-right:0;padding-left:14px;margin-top:38px}
  .sh0w{grid-template-columns:1fr;gap:12px}
  .sh0w__d{display:flex;align-items:baseline;gap:14px}
  .sh0w__d small{margin-top:0}
  .gl__g > .gi{grid-column:span 12 !important;aspect-ratio:3/2 !important}
  .ab__badge{position:static;display:inline-block;margin-top:16px}
  .lb__nav{width:42px;height:42px}
}

/* ── REDUCED MOTION ── */
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;
    transition-duration:.001ms!important}
  .ri{transform:none!important}
  .fu{opacity:1!important;transform:none!important}
  .hero__eye i{transform:none!important}
  .pre{display:none}
  .cur{display:none}
  .mq__t{animation:none!important}
  .rl__rail{height:auto!important}
  .rl__pin{position:static!important;height:auto!important;padding:60px 0 90px}
  .rl__track{flex-direction:column;transform:none!important}
  .rc,.rc--w{width:100%}
  .lch__ping::after{animation:none!important}
  .agent__live i{animation:none!important}
}

/* ═══════════════════════════════════════════════════════════
   WORDPRESS ADDITIONS
   Accessibility utilities, interior page layouts, list cards,
   pagination, WP core classes.
   ═══════════════════════════════════════════════════════════ */

/* ---- accessibility ---- */
.screen-reader-text{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;
  overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.screen-reader-text:focus{position:static!important;width:auto;height:auto;margin:0;
  clip:auto;white-space:normal}
.skip-link{position:absolute;left:-9999px;top:0;z-index:9999;background:var(--hot);color:var(--white);
  padding:14px 22px;font-size:14px;font-weight:600}
.skip-link:focus{left:var(--g)}

/* ---- interior pages ---- */
.interior{padding-top:96px;position:relative;z-index:2}
.interior__head{padding:70px 0 54px;border-bottom:1px solid var(--line);margin-bottom:64px}
.interior__head .mono{color:var(--hot);display:block;margin-bottom:24px}
.interior__head h1{font-size:clamp(40px,7.4vw,112px);letter-spacing:-.016em;max-width:20ch;
  text-shadow:2px 4px 0 rgba(92,43,67,.6)}
.interior__head h1 em{font-style:normal;color:var(--blush)}
.interior__lede{font-size:clamp(16px,1.5vw,20px);line-height:1.65;color:var(--body);
  max-width:52ch;margin-top:26px}
.interior__hero{margin-bottom:44px;border-radius:5px;overflow:hidden;border:1px solid var(--line)}
.interior__hero img{width:100%;height:auto}
.interior__body{display:grid;grid-template-columns:1fr 340px;gap:70px;
  align-items:start;padding-bottom:110px}
.interior__body--full{grid-template-columns:1fr;padding-bottom:110px}
.interior__aside{position:sticky;top:120px}

/* ---- long-form copy ---- */
.prose{max-width:70ch;font-size:16.5px;line-height:1.8;color:var(--body)}
.prose > * + *{margin-top:22px}
.prose h2{font-family:var(--black);font-weight:500;font-size:clamp(28px,3.4vw,46px);
  letter-spacing:-.014em;color:var(--white);margin-top:52px;line-height:1.06}
.prose h3{font-family:var(--black);font-weight:500;font-size:clamp(22px,2.4vw,32px);
  color:var(--white);margin-top:40px;line-height:1.1}
.prose p strong{color:var(--white);font-weight:600}
.prose em{font-style:italic}
.prose a{color:var(--blush);text-decoration:underline;text-decoration-thickness:1px;
  text-underline-offset:3px;transition:color .3s var(--e)}
.prose a:hover{color:var(--hot-lt)}
.prose ul,.prose ol{padding-left:22px}
.prose li{margin:11px 0}
.prose li::marker{color:var(--hot)}
.prose blockquote{border-left:2px solid var(--hot);padding-left:24px;font-family:var(--black);
  font-size:24px;font-weight:500;color:var(--white);line-height:1.3}
.prose img{border-radius:4px;margin:34px 0;border:1px solid var(--line)}
.prose hr{border:0;border-top:1px solid var(--line);margin:44px 0}
.prose table{width:100%;border-collapse:collapse;font-size:14.5px}
.prose th,.prose td{text-align:left;padding:12px 14px;border-bottom:1px solid var(--line)}
.prose th{font-family:var(--mono);font-size:10.5px;letter-spacing:.13em;text-transform:uppercase;
  color:var(--mute)}
.prose code{font-family:var(--mono);font-size:13px;background:var(--void-3);padding:2px 6px;border-radius:2px}
.prose pre{background:var(--void-3);color:var(--bone);padding:22px;border-radius:4px;overflow:auto}
.prose pre code{background:none;color:inherit}
.prose figcaption{font-family:var(--mono);font-size:11px;letter-spacing:.09em;color:var(--mute);
  margin-top:-22px;margin-bottom:34px}

/* ---- aside CTA card ---- */
.ecard{background:var(--void-3);border:1px solid var(--line);border-radius:5px;padding:30px 28px}
.ecard .mono{color:var(--hot);display:block;margin-bottom:16px}
.ecard h3{font-family:var(--black);font-weight:500;font-size:29px;letter-spacing:-.012em;
  margin-bottom:13px;line-height:1.06}
.ecard p{font-size:14px;color:var(--body);line-height:1.7;margin-bottom:24px}
.ecard .b{width:100%;justify-content:center}
.ecard__tel{display:block;text-align:center;margin-top:15px;font-family:var(--mono);
  font-size:12.5px;letter-spacing:.08em;color:var(--body)}
.ecard__tel:hover{color:var(--blush)}
.ecard + .ecard{margin-top:20px}

/* ---- list cards (blog + archives) ---- */
.cardgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px}
.lcard{background:var(--void-2);border:1px solid var(--line);border-radius:5px;
  transition:.4s var(--e);display:flex;flex-direction:column;overflow:hidden}
.lcard:hover{border-color:var(--plum-lt);transform:translateY(-4px)}
.lcard__ph{aspect-ratio:16/10;overflow:hidden;background:var(--ash)}
.lcard__ph img{width:100%;height:100%;object-fit:cover;transition:transform 1s var(--e)}
.lcard:hover .lcard__ph img{transform:scale(1.05)}
.lcard__in{padding:26px 24px;display:flex;flex-direction:column;flex:1}
.lcard__k{font-family:var(--mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;
  color:var(--hot);display:block;margin-bottom:14px}
.lcard h2{font-family:var(--black);font-weight:500;font-size:25px;letter-spacing:-.01em;
  line-height:1.1;margin-bottom:11px}
.lcard h2 a:hover{color:var(--blush)}
.lcard p{font-size:13.5px;color:var(--body);line-height:1.68;margin-bottom:20px;flex:1}
.lcard__go{font-family:var(--mono);font-size:10.5px;letter-spacing:.13em;text-transform:uppercase;
  color:var(--blush);font-weight:600}
.lcard__go:hover{color:var(--hot-lt)}

/* ---- headings inherit their link colour ---- */
.si h4 a,.rc h3 a,.sh0w__v b a{color:inherit}

/* ---- pagination ---- */
.pagination{margin-top:50px;display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.pagination .page-numbers{font-family:var(--mono);font-size:12px;letter-spacing:.08em;
  padding:11px 16px;border:1px solid var(--line);border-radius:100px;color:var(--body);
  transition:.3s var(--e)}
.pagination .page-numbers:hover{border-color:var(--hot);color:var(--blush)}
.pagination .page-numbers.current{background:var(--hot);color:var(--white);border-color:var(--hot)}

/* ---- search form ---- */
.searchform{display:flex;gap:10px;margin-top:26px;max-width:460px}
.searchform input[type="search"]{flex:1;border:0;border-bottom:1px solid var(--line);
  background:transparent;padding:13px 0;font-family:var(--sans);font-size:15px;color:var(--white)}
.searchform input[type="search"]:focus{outline:none;border-bottom-color:var(--hot)}

/* ---- logo image in the nav ----
   Sized for the horizontal lockup. A stacked two-line logo will read small at
   this height — assets/img/plush-crush-logo-horizontal.png is the one to upload
   as the Site Identity logo. */
.nav__logo--img{line-height:0}
.nav__logo--img img{max-height:38px;width:auto;height:auto;transition:max-height .4s var(--e)}
.nav.is-stuck .nav__logo--img img{max-height:30px}
@media(max-width:760px){
  .nav__logo--img img{max-height:30px}
}

/* ---- WP core alignment classes ---- */
.alignleft{float:left;margin:6px 28px 22px 0}
.alignright{float:right;margin:6px 0 22px 28px}
.aligncenter{margin-left:auto;margin-right:auto}
.alignwide{max-width:1100px;margin-left:auto;margin-right:auto}
.alignfull{max-width:none}
.wp-caption-text,.wp-element-caption{font-family:var(--mono);font-size:11px;
  letter-spacing:.09em;color:var(--mute);margin-top:10px}
.gallery{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px}
.wp-block-embed{margin:30px 0}
.wp-block-embed iframe{max-width:100%;border-radius:4px}

/* ---- fallback nav menu output from wp_nav_menu ---- */
.nav__links li{list-style:none}
.nav__links > a,.nav__links li > a{position:relative;display:inline-block;font-size:13.5px;
  font-weight:500;padding-bottom:4px;transition:transform .38s var(--e),color .38s var(--e)}
.nav__links > a::after,.nav__links li > a::after{content:'';position:absolute;left:0;right:0;bottom:0;
  height:1px;background:var(--hot);transform:scaleX(0);transform-origin:left;
  transition:transform .44s var(--e)}
.nav__links > a:hover,.nav__links li > a:hover{transform:translateY(-3px);color:var(--blush)}
.nav__links > a:hover::after,.nav__links li > a:hover::after{transform:scaleX(1)}
.nav__links ul{display:flex;gap:28px;list-style:none;margin:0;padding:0}
.ft ul li{list-style:none}

@media(max-width:1180px){
  .interior__body{grid-template-columns:1fr;gap:48px}
  .interior__aside{position:static}
  .nav__links ul{flex-direction:column;gap:18px}
}
@media(max-width:760px){
  .interior{padding-top:76px}
  .interior__head{padding:44px 0 36px;margin-bottom:44px}
  .prose{font-size:16px}
}
