/* Carnaby 2026-10-07 — visual polish pass
   Keeps structure, content and interactions intact. The goal is cleaner joins, richer hierarchy and a more intentional premium-playful finish. */
body.compact-rhythm{
  --soft-shadow:0 12px 34px rgba(73,48,38,.095);
  --soft-shadow-hover:0 18px 42px rgba(73,48,38,.13);
  --soft-border:rgba(44,38,34,.14);
}
body.compact-rhythm main{isolation:isolate}
body.compact-rhythm h1,body.compact-rhythm h2,body.compact-rhythm h3{text-wrap:balance}
body.compact-rhythm p{text-wrap:pretty}
body.compact-rhythm .site-nav{box-shadow:0 7px 24px rgba(73,48,38,.055);border-bottom-color:rgba(44,38,34,.12)}
body.compact-rhythm .nav-link{transition:color .2s ease,transform .2s ease}
body.compact-rhythm .nav-link:hover{color:var(--wine);transform:translateY(-1px)}
body.compact-rhythm .pill-link{box-shadow:0 2px 0 rgba(44,38,34,.06)}
body.compact-rhythm .section,body.compact-rhythm .pull{scroll-margin-top:86px}

/* A consistent tactile edge across the site's existing cards without changing their layout. */
body.compact-rhythm :is(.mood-card,.why-carnaby-card,.story-block,.club-card,.membership-card,.whatson-new-card,.event-card,.play-world-card,.play-game-card,.class-world,.enquiry-form,.join-strip,.latest-event-wrap){
  box-shadow:var(--soft-shadow);
}
body.compact-rhythm :is(.mood-card,.why-carnaby-card,.story-block,.club-card,.membership-card,.whatson-new-card,.event-card,.play-world-card,.play-game-card,.class-world,.join-strip){
  transition:transform .32s cubic-bezier(.2,.75,.2,1),box-shadow .32s ease,border-color .32s ease;
}
@media(hover:hover) and (pointer:fine){
  body.compact-rhythm :is(.why-carnaby-card,.story-block,.club-card,.membership-card,.whatson-new-card,.event-card,.play-world-card,.play-game-card):hover{
    transform:translateY(-3px);box-shadow:var(--soft-shadow-hover);border-color:rgba(122,32,62,.2);
  }
}
body.compact-rhythm :is(.club-card-media,.join-image,.story-block.media,.play-world-visual,.latest-event-banner){overflow:hidden}
body.compact-rhythm :is(.club-card-media,.join-image,.story-block.media,.play-world-visual,.latest-event-banner) img{transition:transform .7s cubic-bezier(.2,.75,.2,1)}
@media(hover:hover) and (pointer:fine){body.compact-rhythm :is(.club-card,.join-strip,.story-block.media,.play-world-card,.latest-event-wrap):hover img{transform:scale(1.025)}}

/* Cleaner connected section rhythm. */
body.compact-rhythm .section + .section{border-top-color:rgba(44,38,34,.12)}
body.compact-rhythm .section-head .eyebrow,body.compact-rhythm .whatson-section-head>.eyebrow,body.compact-rhythm .whatson-split-head>.eyebrow,body.compact-rhythm .class-faq-head>.eyebrow{padding-top:4px}
body.compact-rhythm .section-title .hand,body.compact-rhythm h2 .hand{display:inline-block;transform:rotate(-2deg)}
body.compact-rhythm .hero-actions a,body.compact-rhythm .form-submit button,body.compact-rhythm .birthday-shell a{transition:transform .2s ease,box-shadow .2s ease,background .2s ease}
@media(hover:hover) and (pointer:fine){body.compact-rhythm .hero-actions a:hover,body.compact-rhythm .form-submit button:hover,body.compact-rhythm .birthday-shell a:hover{transform:translateY(-2px);box-shadow:0 7px 16px rgba(44,38,34,.12)}}

/* Classes now opens with the class worlds. Give the intro enough breathing room without becoming tall. */
body.compact-rhythm .class-worlds:first-child{border-top:0}
body.compact-rhythm .class-worlds:first-child .class-worlds-sticky{padding-top:24px!important}
body.compact-rhythm .class-host-hero{border-top:1px solid var(--soft-border);background:linear-gradient(180deg,#fffaf1 0%,#f8eee1 100%)}
body.compact-rhythm .class-world{border-color:rgba(44,38,34,.12)!important}
body.compact-rhythm .class-worlds-cue{background:rgba(255,250,241,.76);backdrop-filter:blur(8px);border:1px solid rgba(44,38,34,.12);border-radius:999px;padding:7px 10px}

/* What's On after moving birthdays out: keep the closing membership panel intentional. */
body.compact-rhythm .parlor-hours-section + .section.yellow{border-top:1px solid rgba(44,38,34,.14)}

/* Birthday standalone page */
body.birthday-page .birthday-landing-hero{
  min-height:clamp(500px,67svh,650px);padding:clamp(30px,4vw,54px) var(--pad);display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(24px,5vw,74px);align-items:center;background:linear-gradient(135deg,#f7e7e2 0 45%,#fff2bf 45% 100%);border-bottom:1px solid var(--soft-border);overflow:hidden;position:relative;
}
body.birthday-page .birthday-landing-copy{position:relative;z-index:2}
body.birthday-page .birthday-landing-copy h1{font-family:'Instrument Serif',serif;font-weight:400;font-size:clamp(72px,9vw,138px);line-height:.72;letter-spacing:-.06em;color:var(--wine);margin:12px 0 20px}
body.birthday-page .birthday-landing-copy h1 .hand{display:block;font-family:'Gochi Hand',cursive;color:var(--teal);font-size:.45em;letter-spacing:0;margin-left:22%}
body.birthday-page .birthday-landing-copy p{max-width:590px;font-size:clamp(14px,1.3vw,19px);line-height:1.38}
body.birthday-page .birthday-landing-art{position:relative;min-height:370px;border:1px solid rgba(44,38,34,.14);border-radius:28px;background:rgba(255,250,241,.7);box-shadow:var(--soft-shadow);overflow:hidden}
body.birthday-page .birthday-orbit{position:absolute;border-radius:50%;filter:saturate(.92)}
body.birthday-page .orbit-a{width:170px;height:170px;background:var(--yellow);left:-28px;top:24px}
body.birthday-page .orbit-b{width:130px;height:130px;background:var(--sky);right:8%;top:-22px}
body.birthday-page .orbit-c{width:110px;height:110px;background:var(--pink);right:13%;bottom:5%}
body.birthday-page .birthday-note{position:absolute;left:8%;bottom:11%;font-family:'Gochi Hand',cursive;font-size:clamp(32px,4vw,58px);line-height:.9;color:var(--wine);transform:rotate(-6deg);z-index:2}
body.birthday-page .birthday-card{position:absolute;right:11%;top:30%;width:min(55%,300px);aspect-ratio:1.18/1;background:#fff;border:7px solid #fff;border-radius:22px;box-shadow:0 15px 34px rgba(73,48,38,.16);transform:rotate(5deg);display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:20px;z-index:3}
body.birthday-page .birthday-card strong{font-family:'Instrument Serif',serif;font-size:clamp(34px,3.8vw,55px);font-weight:400;line-height:.88;color:var(--wine)}
body.birthday-page .birthday-card span{font-family:'Gochi Hand',cursive;color:var(--teal);font-size:24px;margin-top:8px}
body.birthday-page #birthday-play{scroll-margin-top:76px}
body.birthday-page #birthday-play>.birthday-section{border-top:0}
body.birthday-page .birthday-details-head{display:grid;grid-template-columns:.28fr .72fr;gap:20px;margin-bottom:18px}
body.birthday-page .birthday-details-head h2{font-family:'Instrument Serif',serif;font-weight:400;font-size:clamp(44px,5.5vw,82px);line-height:.8;letter-spacing:-.05em;margin:0}
body.birthday-page .birthday-details-head .hand{font-family:'Gochi Hand',cursive;color:var(--wine);font-size:.54em;letter-spacing:0}
body.birthday-page .birthday-detail-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
body.birthday-page .birthday-detail-grid article{min-height:190px;border:1px solid var(--soft-border);border-radius:20px;padding:18px;background:#fff;box-shadow:var(--soft-shadow)}
body.birthday-page .birthday-detail-grid article:nth-child(2){background:#dfeaf2}body.birthday-page .birthday-detail-grid article:nth-child(3){background:#f4dfda}
body.birthday-page .birthday-detail-grid article>span{font-size:9px;letter-spacing:.12em;text-transform:uppercase}
body.birthday-page .birthday-detail-grid h3{font-family:'Instrument Serif',serif;font-size:clamp(30px,3vw,44px);font-weight:400;line-height:.9;margin:28px 0 10px}
body.birthday-page .birthday-detail-grid p{font-size:12px;line-height:1.4;margin:0;max-width:340px}
body.birthday-page .birthday-final-inner{display:flex;align-items:flex-end;justify-content:space-between;gap:24px}
body.birthday-page .birthday-final-inner h2{font-family:'Instrument Serif',serif;font-weight:400;font-size:clamp(46px,5.7vw,84px);line-height:.8;letter-spacing:-.05em;margin:0 auto 0 0}
body.birthday-page .birthday-final-inner .hand{font-family:'Gochi Hand',cursive;color:var(--wine);font-size:.52em;letter-spacing:0}
body.birthday-page .birthday-final-inner a{border:1px solid var(--ink);border-radius:999px;padding:11px 16px;font-size:10px;text-transform:uppercase;letter-spacing:.08em;background:var(--paper);white-space:nowrap}

@media(max-width:1180px){
  body.compact-rhythm .nav-left{gap:12px}
  body.compact-rhythm .nav-link{font-size:10px}
}
@media(max-width:900px){
  body.compact-rhythm .nav-left .nav-link[href="/birthday"]{display:none}
  body.birthday-page .birthday-landing-hero{grid-template-columns:1fr;min-height:0}
  body.birthday-page .birthday-landing-art{min-height:320px}
}
@media(max-width:760px){
  body.birthday-page .birthday-landing-hero{padding:26px 16px 22px;gap:18px}
  body.birthday-page .birthday-landing-copy h1{font-size:clamp(66px,20vw,98px)}
  body.birthday-page .birthday-landing-copy h1 .hand{margin-left:10%}
  body.birthday-page .birthday-landing-art{min-height:270px;border-radius:22px}
  body.birthday-page .birthday-card{right:8%;top:25%;width:58%;border-width:5px}
  body.birthday-page .birthday-note{font-size:34px}
  body.birthday-page .birthday-details-head{grid-template-columns:1fr;gap:8px}
  body.birthday-page .birthday-detail-grid{grid-template-columns:1fr}
  body.birthday-page .birthday-detail-grid article{min-height:145px}
  body.birthday-page .birthday-final-inner{align-items:flex-start;flex-direction:column}
}
@media(prefers-reduced-motion:reduce){body.compact-rhythm *{scroll-behavior:auto!important}}


/* Supplied Carnaby photography curation — Oct 08 */
body.membership-page .page-hero{isolation:isolate}
body.membership-page .page-hero>h1,body.membership-page .page-hero>p,body.membership-page .page-hero>.hero-scribble{position:relative;z-index:2}
body.membership-page .membership-hero-photo{position:absolute;z-index:1;right:5.5%;top:14%;width:min(29vw,390px);height:58%;margin:0;overflow:hidden;border:7px solid #fff;border-radius:26px;box-shadow:0 18px 42px rgba(73,48,38,.18);transform:rotate(4deg)}
body.membership-page .membership-hero-photo:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(122,32,62,.02),rgba(122,32,62,.11));pointer-events:none}
body.membership-page .membership-hero-photo img{width:100%;height:100%;object-fit:cover;display:block}
body.birthday-page .birthday-hero-photo{position:absolute;z-index:0;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 46%;display:block;filter:saturate(.9) contrast(.98);opacity:.88}
body.birthday-page .birthday-landing-art:after{content:"";position:absolute;z-index:1;inset:0;background:linear-gradient(130deg,rgba(255,250,241,.18),rgba(122,32,62,.08));pointer-events:none}
body.birthday-page .birthday-orbit{z-index:2;mix-blend-mode:multiply;opacity:.78}
body.birthday-page .birthday-note,body.birthday-page .birthday-card{z-index:3}
@media(max-width:900px){body.membership-page .membership-hero-photo{width:35vw;right:4%;height:48%;top:12%;opacity:.9}}
@media(max-width:760px){body.membership-page .membership-hero-photo{display:none}body.birthday-page .birthday-hero-photo{object-position:center 42%}}
