/* =========================================================
   Palm 9 Studios — page styles (built on the shared shell)
   ========================================================= */
:root{--p9-gold:#d7bf7a;--p9-gold2:#e6c549;}

/* ---- Shell: top-center logo (ported from custom.css, kept minimal) ---- */
#lpmeTopLogo{position:fixed;top:18px;left:50%;transform:translateX(-50%);z-index:9999;pointer-events:none;transition:opacity .25s ease,transform .25s ease;}
#lpmeTopLogo img{max-width:74px;height:auto;display:block;}
#lpmeTopLogo.is-hidden{opacity:0;transform:translateX(-50%) translateY(-6px);}
body.home #lpmeTopLogo{display:none !important;}

/* ---- Loader: keep the Palm 9 gold logo (no white filter) ---- */
#lp-loader{background:#0b0b0b;}
#lp-loader img{filter:none !important;width:96px;}

/* ---- Gold CTA button used across pages (BOOK NOW / REQUEST AVAILABILITY) ---- */
.p9-cta{display:inline-flex;flex-direction:column;align-items:center;gap:9px;margin-top:26px;}
.p9-cta a{color:var(--p9-gold);text-transform:uppercase;letter-spacing:.14em;font-family:'Arimo',sans-serif;font-size:14px;transition:letter-spacing .26s ease;}
.p9-cta .ln{height:2px;background:var(--p9-gold);width:calc(100% + 18px);transition:transform .26s ease;}
.p9-cta:hover a{letter-spacing:4px;}
.p9-cta:hover .ln{transform:scaleX(.6);}

/* ---- HOME: message ---- */
.p9-message{background:#0b0b0b;color:#fff;flex-direction:column;text-align:center;padding:14vh 6vw;}
.p9-message .tag{font-family:'Tinos',serif;font-weight:400;text-transform:uppercase;font-size:clamp(30px,5vw,62px);line-height:1.12;letter-spacing:.03em;margin:0;}
.p9-message .brandline{font-family:'Arimo',sans-serif;color:var(--p9-gold2);letter-spacing:.2em;text-transform:uppercase;font-size:14px;margin:2.6rem 0 1.2rem;}
.p9-message p.lead{font-family:'Arimo',sans-serif;color:#cfcfcf;font-size:clamp(15px,1.6vw,18px);line-height:1.9;max-width:760px;margin:0 auto;letter-spacing:.02em;}

/* ---- HOME: Stuart ---- */
.p9-stuart{background:#0b0b0b;color:#fff;padding:9vh 6vw;}
.p9-stuart .wrap{max-width:1150px;margin:0 auto;display:grid;grid-template-columns:.85fr 1.15fr;gap:5vw;align-items:center;}
.p9-stuart .photo img{width:100%;height:auto;object-fit:cover;}
.p9-stuart .eyebrow{font-family:'Arimo',sans-serif;color:var(--p9-gold2);letter-spacing:.16em;text-transform:uppercase;font-size:13px;margin:0 0 .6rem;}
.p9-stuart h2{font-family:'Tinos',serif;font-weight:400;font-size:clamp(26px,3vw,40px);margin:0 0 .4rem;}
.p9-stuart .role{font-family:'Arimo',sans-serif;color:var(--p9-gold);letter-spacing:.14em;text-transform:uppercase;font-size:13px;margin:0 0 1.6rem;}
.p9-stuart p{font-family:'Arimo',sans-serif;color:#cfcfcf;font-size:clamp(14px,1.4vw,16px);line-height:1.85;margin:0 0 1rem;}
@media(max-width:820px){.p9-stuart .wrap{grid-template-columns:1fr;gap:2.4rem;}}

/* ---- HOME/SERVICES: triple image cards (AUDIO / VISUAL / IMMERSIVE) ---- */
.p9-triple{background:#0b0b0b;flex-direction:column;padding:5vh 4vw;}
.p9-tgrid{width:100%;max-width:1280px;margin:0 auto;display:grid;grid-template-columns:repeat(3,1fr);gap:14px;}
.p9-tcard{position:relative;aspect-ratio:4/5;overflow:hidden;display:flex;align-items:flex-end;justify-content:center;text-align:center;}
.p9-tcard img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:brightness(.5);transition:transform .6s ease,filter .5s ease;}
.p9-tcard:hover img{transform:scale(1.06);filter:brightness(.4);}
.p9-tcard h3{position:relative;z-index:2;color:#fff;font-family:'Tinos',serif;font-weight:400;letter-spacing:.14em;font-size:clamp(20px,2.2vw,28px);margin:0 0 34px;}
@media(max-width:820px){.p9-tgrid{grid-template-columns:1fr;}}

/* ---- HOME: walkthrough video ---- */
.p9-walk{background:#0b0b0b;padding:3vh 6vw 11vh;}
.p9-walk .wrap{max-width:1150px;margin:0 auto;}
.p9-walk .cap{text-align:center;color:var(--p9-gold2);letter-spacing:.2em;text-transform:uppercase;font-size:13px;font-family:'Arimo',sans-serif;margin:0 0 22px;}
.p9-frame{position:relative;aspect-ratio:16/9;background:#000;overflow:hidden;cursor:pointer;}
.p9-frame video,.p9-frame .poster{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
.p9-frame .playbtn{position:absolute;inset:0;display:grid;place-items:center;z-index:3;transition:opacity .4s ease;}
.p9-frame .playbtn::before{content:"";width:88px;height:88px;border-radius:50%;background:rgba(0,0,0,.45);border:2px solid var(--p9-gold);backdrop-filter:blur(2px);}
.p9-frame .playbtn::after{content:"";position:absolute;border-style:solid;border-width:15px 0 15px 26px;border-color:transparent transparent transparent var(--p9-gold);margin-left:6px;}
.p9-frame.playing .playbtn{opacity:0;pointer-events:none;}

/* ---- HOME: about teaser reuses .home-about ---- */

/* ---- SERVICES list ---- */
.p9-services{background:#0b0b0b;color:#fff;padding:11vh 6vw;}
.p9-services .wrap{max-width:1050px;margin:0 auto;}
.p9-services .head{text-align:center;margin-bottom:3.5rem;}
.p9-services .head .eyebrow{font-family:'Arimo',sans-serif;color:var(--p9-gold2);letter-spacing:.2em;text-transform:uppercase;font-size:14px;margin:0 0 .6rem;}
.p9-services .head h2{font-family:'Tinos',serif;font-weight:400;font-size:clamp(30px,4vw,52px);margin:0;}
.p9-svc{display:grid;grid-template-columns:.9fr 1.6fr;gap:3vw;padding:4vh 0;border-top:1px solid rgba(255,255,255,.12);align-items:start;}
.p9-svc:last-child{border-bottom:1px solid rgba(255,255,255,.12);}
.p9-svc h3{font-family:'Tinos',serif;font-weight:400;font-size:clamp(20px,2.1vw,27px);margin:0;text-transform:uppercase;letter-spacing:.03em;}
.p9-svc h3 span{display:block;font-family:'Carattere',cursive;text-transform:none;color:var(--p9-gold);font-size:1.4em;letter-spacing:0;margin-top:4px;}
.p9-svc p{font-family:'Arimo',sans-serif;color:#cfcfcf;font-size:clamp(14px,1.4vw,17px);line-height:1.85;margin:0;}
@media(max-width:760px){.p9-svc{grid-template-columns:1fr;gap:1rem;}}

/* ---- EQUIPMENT: intro + name chips ---- */
.p9-eq-intro{background:#000;color:#fff;text-align:center;padding:11vh 6vw 7vh;}
.p9-eq-intro p{font-family:'Arimo',sans-serif;color:#cfcfcf;font-size:clamp(15px,1.5vw,18px);line-height:1.9;max-width:900px;margin:0 auto 1.4rem;}
.p9-eq-lead{font-family:'Arimo',sans-serif;color:#bdbdbd;max-width:820px;margin:0 auto;line-height:1.85;font-size:15px;}
.p9-chips{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;max-width:1000px;margin:2.4rem auto 0;}
.p9-chip{border:1px solid rgba(215,191,122,.45);color:#eaeaea;padding:11px 17px;font-family:'Arimo',sans-serif;font-size:14px;letter-spacing:.03em;transition:background .3s ease,color .3s ease;}
.p9-chip:hover{background:var(--p9-gold);color:#0b0b0b;}

/* ---- GALLERY ---- */
.p9-gallery{background:#0b0b0b;padding:7vh 4vw 10vh;}
.p9-gallery .cat{text-align:center;color:var(--p9-gold2);letter-spacing:.2em;text-transform:uppercase;font-family:'Arimo',sans-serif;font-size:14px;margin:5vh 0 3vh;}
.p9-masonry{columns:4;column-gap:12px;max-width:1320px;margin:0 auto;}
.p9-masonry img{width:100%;margin:0 0 12px;display:block;break-inside:avoid;border-radius:2px;transition:opacity .3s ease;opacity:.94;}
.p9-masonry img:hover{opacity:1;}
@media(max-width:1100px){.p9-masonry{columns:3;}}
@media(max-width:760px){.p9-masonry{columns:2;column-gap:8px;}.p9-masonry img{margin-bottom:8px;}}

/* ---- ACCOMMODATION ---- */
.p9-acc{background:#0b0b0b;color:#fff;}
.p9-acc .row{display:grid;grid-template-columns:1fr 1fr;gap:4vw;max-width:1200px;margin:0 auto;align-items:center;padding:8vh 6vw;}
.p9-acc .row:nth-child(even) .txt{order:2;}
.p9-acc .txt h3{font-family:'Tinos',serif;font-weight:400;font-size:clamp(22px,2.6vw,34px);margin:0 0 1.2rem;line-height:1.25;}
.p9-acc .txt p{font-family:'Arimo',sans-serif;color:#cfcfcf;font-size:clamp(14px,1.4vw,16px);line-height:1.85;margin:0;}
.p9-acc .imgs{display:grid;grid-template-columns:1fr 1fr;gap:10px;}
.p9-acc .imgs img{width:100%;height:100%;object-fit:cover;aspect-ratio:1/1;}
.p9-acc .imgs img:first-child{grid-column:1 / -1;aspect-ratio:16/10;}
@media(max-width:820px){.p9-acc .row{grid-template-columns:1fr;gap:2rem;}.p9-acc .row:nth-child(even) .txt{order:0;}}
.p9-hotels-sec{background:#0b0b0b;color:#fff;text-align:center;padding:6vh 6vw 11vh;}
.p9-hotels-sec p.intro{font-family:'Arimo',sans-serif;color:#cfcfcf;max-width:900px;margin:0 auto 3rem;line-height:1.85;font-size:16px;}
.p9-hotels{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;max-width:1100px;margin:0 auto;}
.p9-hotels figure{margin:0;position:relative;overflow:hidden;}
.p9-hotels img{width:100%;height:280px;object-fit:cover;transition:transform .6s ease;}
.p9-hotels figure:hover img{transform:scale(1.06);}
.p9-hotels figcaption{position:absolute;left:0;right:0;bottom:0;padding:14px;background:linear-gradient(to top,rgba(0,0,0,.8),transparent);font-family:'Tinos',serif;letter-spacing:.04em;}
@media(max-width:760px){.p9-hotels{grid-template-columns:1fr;}}

/* ---- VIDEOS gallery ---- */
.p9-videos{background:#0b0b0b;padding:8vh 6vw 11vh;}
.p9-vgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;max-width:1200px;margin:0 auto;}
.p9-vcard{position:relative;aspect-ratio:16/9;overflow:hidden;cursor:pointer;background:#000;}
.p9-vcard img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease;}
.p9-vcard:hover img{transform:scale(1.05);}
.p9-vcard .playbtn{position:absolute;inset:0;display:grid;place-items:center;z-index:2;}
.p9-vcard .playbtn::after{content:"";border-style:solid;border-width:11px 0 11px 19px;border-color:transparent transparent transparent #fff;filter:drop-shadow(0 1px 3px rgba(0,0,0,.6));}
@media(max-width:820px){.p9-vgrid{grid-template-columns:1fr 1fr;}}
@media(max-width:520px){.p9-vgrid{grid-template-columns:1fr;}}

/* ---- CONTACT: info cards + select ---- */
.p9-contactinfo{background:#0b0b0b;color:#fff;padding:11vh 6vw;text-align:center;}
.p9-contactinfo .eyebrow{font-family:'Arimo',sans-serif;color:var(--p9-gold2);letter-spacing:.2em;text-transform:uppercase;font-size:14px;margin:0 0 2.6rem;}
.p9-contactinfo .cols{display:grid;grid-template-columns:repeat(3,1fr);gap:3vw;max-width:1000px;margin:0 auto;}
.p9-contactinfo .role{font-family:'Arimo',sans-serif;color:var(--p9-gold);letter-spacing:.14em;text-transform:uppercase;font-size:12px;margin:0 0 10px;}
.p9-contactinfo .nm{font-family:'Tinos',serif;font-size:22px;margin:0 0 8px;}
.p9-contactinfo a{color:#cfcfcf;display:block;font-family:'Arimo',sans-serif;font-size:14px;line-height:1.9;}
.p9-contactinfo a:hover{color:#fff;}
@media(max-width:820px){.p9-contactinfo .cols{grid-template-columns:1fr;gap:2.4rem;}}
.lpme-rsform select{width:100%;background:#fff;border:1px solid #d8d8d8;border-radius:2px;padding:13px 14px;font-family:'Tinos',serif;font-size:17px;color:#111;outline:none;}
.lpme-rsform select:focus{border-color:#111;}

/* ============================================================
   Desktop revisions batch
   ============================================================ */
/* 1 — main menu items a bit smaller */
nav.off-menu_110 .link a{font-size:clamp(15px,1.55vw,20px);line-height:1.6;}

/* 2 — homepage about teaser a bit smaller */
.home-about .eyebrow{font-size:clamp(12px,1.15vw,15px);}
.home-about .headline{font-size:clamp(22px,3vw,40px);}

/* 3 — SERVICES piano-roll hero (cream, like the duplicated About hero) */
body.services-page{background:#faf9f3;}
.services-page #jpiano{height:90vh;margin-bottom:0;}
.services-page .piano-hero-text,.services-page .piano-hero-text *{pointer-events:none;}
.services-page .piano-hero-text .clickable{pointer-events:auto;}
.services-page .piano-hero-text h5{font-family:'Arimo',sans-serif;letter-spacing:.2em;text-transform:uppercase;font-size:13px;color:#a34c3c;margin-bottom:1.4rem;}
.services-page .piano-hero-text h1{font-family:'Tinos',serif;font-weight:400;font-size:clamp(21px,2.7vw,36px);line-height:1.28;color:#1a1a1a;text-transform:uppercase;margin-bottom:1.4rem;}
.services-page .piano-hero-text h1 .amp{font-family:'Carattere',cursive;color:#c0493b;text-transform:none;padding:0 .1em;font-size:1.3em;}
.services-page .piano-hero-text p{font-family:'Arimo',sans-serif;font-size:14px;line-height:1.7;letter-spacing:.06em;color:#a34c3c;text-transform:uppercase;}
.services-page #jpiano .scroll-line{position:absolute;left:50%;bottom:48px;transform:translateX(-50%);width:2px;height:64px;background:#c0493b;border-radius:2px;overflow:hidden;z-index:3;pointer-events:none;}
.services-page #jpiano .scroll-line::after{content:"";position:absolute;left:0;right:0;top:-40%;height:32%;background:rgba(255,255,255,.92);border-radius:2px;animation:pianoSlug 2.2s ease-in-out infinite;}
@keyframes pianoSlug{0%{top:-40%}50%{top:35%}100%{top:110%}}
.services-page #jpiano .scroll-indicator{position:absolute;left:50%;bottom:10px;transform:translateX(-50%);z-index:3;font-family:'Arimo',sans-serif;font-size:12px;letter-spacing:3px;color:#a34c3c;pointer-events:none;}

/* 6 — Videos lightbox (click-to-play) */
.p9-lightbox{position:fixed;inset:0;z-index:100000;background:rgba(0,0,0,.92);display:none;align-items:center;justify-content:center;padding:4vh 4vw;}
.p9-lightbox.open{display:flex;}
.p9-lightbox video{max-width:92vw;max-height:86vh;width:auto;height:auto;background:#000;box-shadow:0 20px 80px rgba(0,0,0,.6);}
.p9-lightbox .lb-close{position:absolute;top:18px;right:30px;color:#fff;font-size:36px;line-height:1;cursor:pointer;font-family:'Arimo',sans-serif;opacity:.85;}
.p9-lightbox .lb-close:hover{opacity:1;}
.p9-vcard{cursor:pointer;}

/* ============================================================
   Revisions round 2
   ============================================================ */
/* Services: more gap below the piano-roll hero */
.services-page #jpiano{margin-bottom:8vh;}
/* Services: smaller "Fast, professional production…" line */
.services-page .contact-inquiry h2{font-size:clamp(17px,1.9vw,25px);line-height:1.4;}
/* Studios & Videos (and other video heroes): dim the hero video so it reads darker */
.studios-page .lp-hero-video,.video-page .lp-hero-video{opacity:.5;}

/* ============================================================
   Revisions round 3
   ============================================================ */
/* 1 — active menu item (current page) */
.off-menu_110 .link a.is-current{color:#c0493b !important;text-decoration:underline;text-underline-offset:6px;text-decoration-thickness:2px;}

/* 3 — Videos: light background behind the grid */
.p9-videos{background:#f6f2e6;}
.p9-videos .p9-vcard{box-shadow:0 8px 24px rgba(0,0,0,.12);}

/* 5 — OUR SERVICES: correct Palm9 6-card design (colored header + hover text) */
.p9-svc-section{background:#0b0b0b;padding:3vh 4vw 8vh;}
.p9-svc-head{text-align:center;color:var(--p9-gold2);font-family:'Arimo',sans-serif;letter-spacing:.2em;text-transform:uppercase;font-size:clamp(18px,2vw,26px);margin:0 0 3.4rem;}
.p9-cardgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;max-width:1280px;margin:0 auto;}
.p9-scard{background:#000;overflow:hidden;display:flex;flex-direction:column;}
.p9-scard-head{padding:20px 18px;text-align:center;color:#fff;font-family:'Tinos',serif;font-size:clamp(15px,1.35vw,20px);line-height:1.3;letter-spacing:.02em;background:var(--hd);min-height:78px;display:flex;flex-direction:column;align-items:center;justify-content:center;}
.p9-scard-head span{display:block;font-size:.82em;margin-top:3px;opacity:.92;}
.p9-scard-img{position:relative;aspect-ratio:3/4;overflow:hidden;}
.p9-scard-img img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .6s ease,filter .4s ease;}
.p9-scard:hover .p9-scard-img img{transform:scale(1.05);filter:brightness(.3);}
.p9-scard-hover{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;padding:9% 11%;opacity:0;transition:opacity .4s ease;z-index:2;}
.p9-scard-hover p{color:#fff;font-family:'Arimo',sans-serif;font-size:clamp(13px,1vw,15px);line-height:1.65;text-align:center;margin:0;}
.p9-scard:hover .p9-scard-hover{opacity:1;}
.p9-req{text-align:center;margin-top:5vh;}
@media(max-width:820px){
  .p9-cardgrid{grid-template-columns:1fr;max-width:460px;}
}
/* tap-to-reveal (mobile) + keeps hover on desktop */
.p9-scard.is-open .p9-scard-img img{transform:scale(1.05);filter:brightness(.3);}
.p9-scard.is-open .p9-scard-hover{opacity:1;}

/* ============================================================
   Revisions round 4
   ============================================================ */
/* 1 — Gallery image lightbox */
.p9-lightbox img.lb-img{max-width:92vw;max-height:88vh;width:auto;height:auto;object-fit:contain;background:transparent;box-shadow:0 20px 80px rgba(0,0,0,.6);}
.p9-masonry img{cursor:zoom-in;}

/* ============================================================
   Revisions round 5 (mobile-focused)
   ============================================================ */
/* Piano keys: more solid / opaque to match the live site */
body.services-page{--band-top-alpha:.58;--band-mid-alpha:.82;--band-bot-alpha:1;}
#jpiano .piano .key::before{border-bottom-left-radius:60px;border-bottom-right-radius:60px;}

/* Studios mobile: darker band overlay so room text stays legible */
@media(max-width:768px){
  .studio-band::after{background:rgba(0,0,0,.74) !important;}
  .studio-band h2{text-shadow:0 2px 8px rgba(0,0,0,.7);}
  .studio-band p{text-shadow:0 1px 6px rgba(0,0,0,.7);}
}

/* Mobile: piano keys as a short band at the top, text below (match live site) */
@media(max-width:768px){
  .services-page #jpiano{height:auto !important;min-height:0;margin-bottom:6vh;padding-bottom:6vh;}
  .services-page #jpiano .piano{position:relative;height:30vh;inset:auto;padding-left:7vw;padding-right:7vw;gap:3.2vw;}
  .services-page #jpiano .piano-hero-text{position:relative;top:auto;left:auto;transform:none;width:100%;margin:4vh auto 0;padding:0 6vw;}
  .services-page #jpiano .scroll-line{position:relative;left:auto;right:auto;bottom:auto;transform:none;margin:5vh auto 0;}
  .services-page #jpiano .scroll-indicator{position:relative;left:auto;right:auto;bottom:auto;transform:none;margin:8px auto 0;text-align:center;width:100%;}
}

/* Mobile: menu items near the top + panel ~20% narrower (block flow = cannot vertically center) */
@media (max-width:768px){
  nav.off-menu_110{display:block !important;width:min(70vw,300px) !important;padding:7vh 0 6vh !important;overflow-y:auto;text-align:center !important;}
  nav.off-menu_110 .sm-levels{display:block !important;min-height:0 !important;height:auto !important;width:100% !important;}
  nav.off-menu_110 .sm-levels .sm-level{display:block !important;min-height:0 !important;height:auto !important;flex:none !important;padding:0 !important;}
  nav.off-menu_110 .sm-levels dl.level1{display:block !important;min-height:0 !important;height:auto !important;flex:none !important;padding:0 18px !important;}
  nav.off-menu_110 .sm-levels dt.level1{margin:0 0 10px !important;}
}
