/* =========================================================
   LPME — page-specific styles (about, studios, contact, news, videos, legal)
   ========================================================= */

/* ---------- Generic dark hero (Studios / Videos) ---------- */
.lp-hero{position:relative;min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;background:#0b0b0b;color:#fff;overflow:hidden;padding:0 6vw;}
.lp-hero canvas.lp-particles{position:absolute;inset:0;width:100%;height:100%;z-index:0;}
.lp-hero .lp-hero-inner{position:relative;z-index:2;max-width:min(1000px,92vw);}
.lp-hero .eyebrow{font-family:'Arimo',sans-serif;color:var(--gold2);letter-spacing:.2em;text-transform:uppercase;font-size:clamp(13px,1.4vw,16px);margin:0 0 1.4rem;}
.lp-hero h1{font-family:'Tinos',serif;font-weight:400;text-transform:uppercase;font-size:clamp(22px,4.6vw,60px);line-height:1.15;margin:0 0 1.6rem;letter-spacing:.02em;overflow-wrap:anywhere;}
.lp-hero p.lead{overflow-wrap:anywhere;}
#jpianoKB .kb-hero-text .kb-title,#jpiano .piano-hero-text h1,.home-tagline .tag{overflow-wrap:anywhere;}
.lp-hero h1 .amp{color:var(--gold);}
.lp-hero p.lead{font-family:'Arimo',sans-serif;color:#d7d7d7;font-size:clamp(14px,1.5vw,18px);line-height:1.7;letter-spacing:.05em;text-transform:uppercase;max-width:820px;margin:0 auto;}
.lp-hero .lpme-scroll-wrap{position:absolute;left:50%;bottom:30px;transform:translateX(-50%);z-index:3;}

/* ---------- Simple hero (News / Privacy / Terms) ---------- */
.lp-hero-simple{position:relative;min-height:70vh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:#fff;background:#0b0b0b center/cover no-repeat;padding:12vh 6vw 8vh;}
.lp-hero-simple::after{content:"";position:absolute;inset:0;background:rgba(0,0,0,.32);z-index:0;}
.lp-hero-simple > *{position:relative;z-index:1;}
.lp-hero-simple .date{font-family:'Arimo',sans-serif;color:var(--gold2);letter-spacing:.18em;font-size:14px;margin-bottom:1rem;}
.lp-hero-simple .eyebrow{font-family:'Arimo',sans-serif;color:var(--gold2);letter-spacing:.2em;text-transform:uppercase;font-size:14px;margin-bottom:1rem;}
.lp-hero-simple h1{font-family:'Tinos',serif;font-weight:400;font-size:clamp(34px,5vw,64px);margin:0;text-transform:uppercase;}

/* section base */
.lp-block{padding:11vh 6vw;position:relative;}
.lp-block .wrap{max-width:1100px;margin:0 auto;}
.section-dark{background:#0b0b0b;color:#fff;}
.section-cream{background:var(--cream);color:#141414;}
.eyebrow-red{font-family:'Arimo',sans-serif;color:var(--red);letter-spacing:.16em;text-transform:uppercase;font-size:14px;margin:0 0 1rem;}
.h-serif{font-family:'Tinos',serif;font-weight:400;line-height:1.2;}

/* ---------- ABOUT ---------- */
.about-quote{min-height:70vh;display:flex;align-items:center;justify-content:center;text-align:center;background:var(--cream);}
.about-quote blockquote{max-width:900px;margin:0;padding:0 6vw;font-family:'Tinos',serif;font-size:clamp(24px,3.4vw,44px);line-height:1.35;color:#1a1a1a;}
.about-quote cite{display:block;margin-top:1.4rem;font-style:normal;font-family:'Arimo',sans-serif;font-size:15px;letter-spacing:.12em;color:var(--red);}
.about-intro{background:var(--cream);text-align:center;}
.about-intro .big{font-family:'Tinos',serif;font-size:clamp(26px,3.4vw,42px);line-height:1.3;color:#1a1a1a;max-width:1000px;margin:0 auto 1.6rem;}
.about-intro .big em{font-style:italic;color:var(--red);text-decoration:underline;text-underline-offset:4px;}
.about-intro p{font-family:'Arimo',sans-serif;font-size:clamp(15px,1.5vw,18px);line-height:1.85;color:#3a3a3a;max-width:820px;margin:0 auto;}
/* floorplan zoom (uses .lpme-mz-wrap in custom.css); local overrides */
.lpme-mz-wrap{background:var(--cream);}
.lp-zoom{position:relative;display:inline-block;max-width:820px;margin:0 auto;cursor:crosshair;}
.lp-zoom img{width:100%;height:auto;display:block;}
.lp-zoom-caption{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:14px;font-family:'Arimo',sans-serif;color:#252525;font-size:15px;}
.lp-zoom-caption img{width:16px;height:auto;}
/* about photo gallery — auto-sliding marquee (no manual scroll) */
.about-gallery{background:var(--cream);overflow:hidden;padding:2vh 0;}
.about-gallery .marquee{display:flex;width:max-content;gap:16px;animation:aboutMarquee 60s linear infinite;}
.about-gallery:hover .marquee{animation-play-state:paused;}
.about-gallery .marquee img{height:300px;width:auto;flex:0 0 auto;object-fit:cover;border-radius:2px;}
@keyframes aboutMarquee{from{transform:translateX(0);}to{transform:translateX(-50%);}}
@media(max-width:768px){.about-gallery .marquee img{height:200px;}}
/* certification (dark, like oneof.png) */
.about-cert{background:#0b0b0b;color:#fff;}
.about-cert .big{font-family:'Tinos',serif;font-size:clamp(22px,2.6vw,34px);color:#fff;margin:0;line-height:1.25;}
.about-cert .big em{font-style:italic;color:var(--red);text-decoration:underline;text-underline-offset:4px;}
.about-cert p{font-family:'Arimo',sans-serif;font-size:clamp(15px,1.5vw,18px);line-height:1.85;color:#cfcfcf;margin:0;}
/* values — tall scroll-revealed rows (like values.pdf) */
.about-values{background:#0b0b0b;color:#fff;padding:6vh 0 4vh;}
.about-values .av-head{text-align:center;padding:10vh 6vw 2vh;}
.about-values .eyebrow-red{color:var(--gold2);}
.about-values .title{font-family:'Tinos',serif;font-size:clamp(30px,4vw,54px);margin:.3em 0 0;}
.av-item{display:grid;grid-template-columns:1fr 1fr;gap:5vw;align-items:center;max-width:1100px;margin:0 auto;padding:8vh 6vw;}
.av-item:nth-child(even) .av-media{order:2;}
.av-media{position:relative;height:min(46vh,440px);}
.av-media .shape{position:absolute;left:4%;bottom:-9%;top:auto;width:56%;height:auto;opacity:.95;z-index:1;will-change:transform;}
.av-media .photo{position:absolute;right:2%;bottom:4%;width:82%;height:auto;object-fit:cover;z-index:2;box-shadow:0 24px 60px rgba(0,0,0,.4);will-change:transform;}
.av-item .num{font-family:'Tinos',serif;font-size:clamp(48px,7vw,110px);line-height:.9;color:transparent;-webkit-text-stroke:1px var(--gold);margin-bottom:1rem;}
.av-item .av-body h3{font-family:'Tinos',serif;font-weight:400;font-size:clamp(24px,3vw,40px);margin:0 0 1rem;}
.av-item .av-body p{font-family:'Arimo',sans-serif;font-size:clamp(15px,1.5vw,18px);line-height:1.85;color:#cfcfcf;margin:0;max-width:520px;}
@media(max-width:700px){.av-item{grid-template-columns:1fr;gap:2rem;}.av-item:nth-child(even) .av-media{order:0;}.av-media{height:300px;}}
/* even out the spacing before value 03 (desktop + mobile) */
.about-values .av-item:last-child{margin-top:6vh;}

/* generic scroll reveal */
.reveal{opacity:0;transform:translateY(28px);transition:opacity 1s cubic-bezier(.22,.72,.17,1),transform 1s cubic-bezier(.22,.72,.17,1);}
.reveal.in{opacity:1;transform:translateY(0);}
@media(prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none;}}

/* ---------- STUDIOS ---------- */
.studio-block{background:#0b0b0b;color:#fff;text-align:center;}
.studio-block .eyebrow-red{color:var(--gold2);}
.studio-block h2{font-family:'Tinos',serif;font-weight:400;font-size:clamp(28px,3.6vw,46px);margin:0 0 1.4rem;}
.studio-block p{font-family:'Arimo',sans-serif;font-size:clamp(15px,1.5vw,18px);line-height:1.85;color:#cfcfcf;max-width:860px;margin:0 auto;}
/* distortion pair layout */
.distort-pair{display:flex;gap:0;width:100%;}
.distort-pair .lp-distort{flex:1 1 50%;aspect-ratio:928/600;position:relative;overflow:hidden;background:#111 center/cover no-repeat;}
@media(max-width:768px){.distort-pair{flex-direction:column;}}
/* mic / gear grid (hover swaps to gif + shows name) */
.gear-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:14px;max-width:1150px;margin:2.4rem auto 0;}
.gear-cell{position:relative;overflow:hidden;background:#000;aspect-ratio:4/5;cursor:pointer;}
.gear-cell img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .6s ease,opacity .3s ease;}
.gear-cell .gif{position:absolute;inset:0;opacity:0;}
/* only mic cells (has-gif) swap to the animated gif on hover */
.gear-cell.has-gif:hover .gif{opacity:1;}
.gear-cell.has-gif:hover .still{opacity:0;}
/* outboard (no gif): gentle zoom on hover, image stays visible */
.gear-cell:not(.has-gif):hover .still{transform:scale(1.05);}
.gear-cell .name{position:absolute;left:0;right:0;bottom:0;padding:10px;background:linear-gradient(to top,rgba(0,0,0,.85),transparent);font-family:'Arimo',sans-serif;font-size:13px;letter-spacing:.04em;color:#fff;opacity:0;transform:translateY(8px);transition:opacity .3s ease,transform .3s ease;text-align:center;}
.gear-cell:hover .name{opacity:1;transform:translateY(0);}
/* mic/outboard sections sit on pure black; padding gives space above/below the grid (kills grey seam) */
.studio-block.gear-section{background:#000;padding:5vh 6vw 9vh;margin:0;}
.studio-block.gear-section .gear-grid{margin-top:0;}
@media(max-width:900px){.gear-grid{grid-template-columns:repeat(3,1fr);}}
@media(max-width:560px){.gear-grid{grid-template-columns:repeat(2,1fr);}}
.brands-line{font-family:'Tinos',serif;font-size:clamp(22px,2.4vw,30px);color:#fff;text-align:center;}

/* ---------- CONTACT (form) ---------- */
.contact-section{background:#fff;color:#111;padding:12vh 6vw;text-align:center;}
.contact-section .eyebrow-red{color:var(--red);}
.contact-section h2{font-family:'Tinos',serif;font-weight:400;font-size:clamp(28px,3.4vw,44px);margin:.4rem 0 1rem;}
.contact-section h2 em{font-style:italic;color:var(--gold);}
.contact-section .intro{font-family:'Arimo',sans-serif;max-width:640px;margin:0 auto 3rem;color:#444;line-height:1.8;font-size:16px;}
.lpme-rsform{max-width:560px;margin:0 auto;text-align:left;}
.lpme-rsform .field{margin-bottom:34px;position:relative;}
.lpme-rsform label{display:block;font-family:'Arimo',sans-serif;font-size:13px;letter-spacing:.1em;text-transform:uppercase;color:#666;margin-bottom:8px;}
.lpme-rsform input,.lpme-rsform textarea{width:100%;background:transparent;border:1px solid #d8d8d8;border-radius:2px;padding:13px 14px;font-family:'Tinos',serif;font-size:17px;color:#111;outline:none;transition:border-color .3s ease;}
.lpme-rsform input:focus,.lpme-rsform textarea:focus{border-color:#111;}
.lpme-rsform .field{margin-bottom:20px;}
.lpme-rsform textarea{min-height:120px;resize:vertical;}
.lpme-rsform .form-footer{text-align:left;margin-top:10px;}
.lpme-rsform button[type=submit]{background:transparent;border:0;color:#9b7a35;letter-spacing:.14em;font-size:18px;text-transform:uppercase;cursor:pointer;padding:0;font-family:'Arimo',sans-serif;}
.lpme-rsform .btn-underline{width:115px;height:2px;background:#9b7a35;transform-origin:left center;transition:transform .3s ease;margin-top:6px;}
.lpme-rsform .form-footer:hover .btn-underline{transform:scaleX(.82);}
.lpme-thankyou{max-width:520px;margin:20px auto 0;font-family:'Tinos',serif;color:#111;display:none;}
.lpme-thankyou.show{display:block;}

/* ---------- NEWS ---------- */
.news-list-section{background:var(--cream);padding:10vh 6vw;}
.lp-news{max-width:1000px;margin:0 auto;list-style:none;padding:0;}
.lp-news-item{display:block;padding:34px 0;border-bottom:1px solid rgba(0,0,0,.12);cursor:pointer;}
.lp-news-item .date{font-family:'Arimo',sans-serif;color:var(--red);letter-spacing:.1em;font-size:13px;margin-bottom:10px;}
.lp-news-item .title{font-family:'Tinos',serif;font-size:clamp(20px,2.4vw,30px);color:#141414;line-height:1.3;transition:color .3s ease;max-width:820px;}
.lp-news-item:hover .title{color:var(--red);}
.lp-news-preview{position:fixed;top:0;left:0;width:280px;height:180px;pointer-events:none;opacity:0;transition:opacity .45s cubic-bezier(.22,.72,.17,1);z-index:60;box-shadow:0 20px 60px rgba(0,0,0,.3);overflow:hidden;border-radius:2px;}
.lp-news-preview.show{opacity:1;}
.lp-news-preview img{width:100%;height:100%;object-fit:cover;display:block;transform:scale(1.12);transition:transform .6s cubic-bezier(.22,.72,.17,1);}
.lp-news-preview.show img{transform:scale(1);}

/* ---------- LEGAL (privacy / terms) ---------- */
.legal{background:var(--cream);padding:9vh 6vw;}
.legal .wrap{max-width:820px;margin:0 auto;font-family:'Arimo',sans-serif;color:#333;line-height:1.85;font-size:16px;}
.legal h2{font-family:'Tinos',serif;font-weight:400;font-size:clamp(24px,2.6vw,32px);color:#111;margin:2.4rem 0 1rem;}
.legal h3{font-family:'Tinos',serif;font-weight:400;font-size:22px;color:#111;margin:1.8rem 0 .6rem;}
.legal p{margin:0 0 1.1rem;}
.legal a{color:var(--red);}

/* ============================================================
   BATCH 2 — live-site matching
   ============================================================ */

/* ---- Page loader ---- */
#lp-loader{position:fixed;inset:0;z-index:99999;background:#0b0b0b;display:flex;align-items:center;justify-content:center;transition:opacity .6s ease,visibility 0s linear .6s;}
#lp-loader.done{opacity:0;visibility:hidden;}
#lp-loader img{width:90px;height:auto;filter:brightness(0) invert(1);animation:lpPulse 1.4s ease-in-out infinite;}
@keyframes lpPulse{0%,100%{opacity:.4;transform:scale(.96);}50%{opacity:1;transform:scale(1);}}
body.cream-loader #lp-loader{background:var(--cream);}
body.cream-loader #lp-loader img{filter:none;}

/* ---- ABOUT: "beast" full-page fixed-bg quote ---- */
.about-beast{position:relative;min-height:100vh;display:flex;align-items:center;justify-content:center;text-align:center;background:#000;color:#fff;padding:0 6vw;overflow:hidden;}
.about-beast::before{content:"";position:absolute;inset:0;background-image:var(--beast);background-size:cover;background-position:center;background-attachment:fixed;z-index:0;}
.about-beast::after{content:"";position:absolute;inset:0;background:rgba(0,0,0,.58);z-index:1;}
.about-beast blockquote{position:relative;z-index:2;max-width:1000px;margin:0;font-family:'Tinos',serif;font-weight:400;font-size:clamp(24px,3.2vw,44px);line-height:1.45;letter-spacing:.06em;}
.about-beast cite{display:block;margin-top:1.6rem;font-style:italic;font-family:'Tinos',serif;font-size:16px;letter-spacing:.14em;color:#e8e8e8;}

/* ---- ABOUT: mission / vision (parallax split images) ---- */
.about-mv{background:var(--cream);position:relative;overflow:hidden;}
.about-mv .row{display:grid;grid-template-columns:1fr 1fr;gap:40px;max-width:1200px;margin:0 auto;align-items:center;min-height:80vh;}
.about-mv .row-mission{grid-template-columns:1fr;justify-items:center;text-align:center;min-height:60vh;}
.about-mv .mv-text{text-align:center;}
.about-mv .mv-text .lab{font-family:'Arimo',sans-serif;color:var(--red);letter-spacing:.18em;text-transform:uppercase;font-size:14px;margin:0 0 2rem;}
.about-mv .mv-text p.big{font-family:'Tinos',serif;font-size:clamp(22px,2.6vw,34px);line-height:1.4;color:#5a5a5a;margin:0;text-transform:uppercase;}
.about-mv .mv-text p.big strong{color:#2a2a2a;}
.about-mv .mv-images{position:relative;height:420px;}
.about-mv .mv-images img{position:absolute;width:62%;border-radius:2px;object-fit:cover;box-shadow:0 20px 50px rgba(0,0,0,.2);}
.about-mv .mv-images img.a{left:0;top:0;z-index:2;}
.about-mv .mv-images img.b{right:0;bottom:0;z-index:1;}
@media(max-width:820px){.about-mv .row{grid-template-columns:1fr;}.about-mv .mv-images{height:300px;}}

/* ---- STUDIOS: repeatable band (fixed bg image, title left / justified caps right) ---- */
.studio-band{position:relative;min-height:60vh;display:flex;align-items:center;
  background:#000 center/cover no-repeat;background-attachment:fixed;color:#fff;padding:8vh 7vw;overflow:hidden;}
.studio-band::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.58) 0%,rgba(0,0,0,.40) 50%,rgba(0,0,0,.58) 100%);}
.studio-band .band-inner{position:relative;z-index:1;display:grid;grid-template-columns:1fr 1fr;gap:6vw;max-width:1300px;margin:0 auto;width:100%;align-items:start;}
.studio-band h2{font-family:'Tinos',serif;font-weight:400;font-size:clamp(24px,2.8vw,38px);line-height:1.2;margin:0;letter-spacing:.03em;}
.studio-band p{font-family:'Tinos',serif;font-size:clamp(13px,1.15vw,16px);line-height:1.9;letter-spacing:.1em;text-transform:uppercase;text-align:justify;color:#dcdcdc;margin:0;}
@media(max-width:820px){.studio-band .band-inner{grid-template-columns:1fr;gap:1rem;}.studio-band p{text-align:left;letter-spacing:.06em;}}

/* ---- STUDIOS: distortion image pair — contained, centered (like pair.png) ---- */
.distort-pair{display:flex;gap:44px;justify-content:center;align-items:center;background:#000;padding:7vh 6vw;}
.distort-pair .lp-distort{flex:0 0 44%;max-width:44%;aspect-ratio:16/10;position:relative;overflow:hidden;background:#111 center/cover no-repeat;}
@media(max-width:820px){.distort-pair{flex-direction:column;gap:20px;}.distort-pair .lp-distort{flex:0 0 auto;max-width:100%;width:100%;}}

/* ---- STUDIOS: brands "we work with" + rotating logo grid ---- */
.brands-section{background:#000;color:#fff;text-align:center;padding:10vh 6vw;position:relative;overflow:hidden;}
.brands-section .eyebrow-red{color:var(--gold2);}
.brands-section h2{font-family:'Tinos',serif;font-weight:400;font-size:clamp(30px,4vw,56px);margin:.3em 0 3rem;letter-spacing:.04em;}
#logo-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:24px;width:100%;max-width:1100px;margin:0 auto;align-items:center;justify-items:center;}
.logo-cell{width:100%;min-height:70px;display:flex;align-items:center;justify-content:center;}
.logo-cell img{width:auto;max-width:120px;max-height:50px;object-fit:contain;display:block;transition:opacity .8s ease;filter:brightness(0) invert(1);opacity:.85;}
@media (max-width:991px){#logo-grid{grid-template-columns:repeat(3,1fr);gap:16px;}.logo-cell img{max-width:100px;max-height:40px;}}
@media (max-width:700px){#logo-grid{grid-template-columns:repeat(2,1fr);gap:10px;}.logo-cell{min-height:50px;}.logo-cell img{max-width:85px;max-height:32px;}}

/* ---- CONTACT: inquiry section (dark, EQ-bar motif) ---- */
.contact-inquiry{background:#0b0b0b;color:#fff;padding:12vh 7vw;position:relative;overflow:hidden;}
.contact-inquiry .ci-grid{display:grid;grid-template-columns:1fr 1fr;gap:5vw;max-width:1200px;margin:0 auto;align-items:center;}
.contact-inquiry .eyebrow-red{color:#c0493b;}
.contact-inquiry h2{font-family:'Tinos',serif;font-weight:400;font-size:clamp(26px,3vw,40px);line-height:1.25;margin:.4rem 0 2rem;text-transform:uppercase;}
.contact-inquiry p{font-family:'Tinos',serif;font-size:clamp(16px,1.5vw,19px);line-height:1.9;color:#cfcfcf;max-width:460px;}
.ci-eq{position:relative;height:360px;}
.ci-eq .eqbars{position:absolute;inset:0;display:grid;grid-template-columns:repeat(4,1fr);gap:26px;align-items:stretch;}
.ci-eq .eqcol{display:flex;flex-direction:column;justify-content:center;gap:12px;}
.ci-eq .eqcol span{display:block;height:16px;background:#1a1a1a;border-radius:2px;}
.ci-eq .circle{position:absolute;left:6%;top:50%;transform:translateY(-50%);width:200px;height:200px;border-radius:50%;background:repeating-linear-gradient(45deg,rgba(255,255,255,.05) 0 2px,transparent 2px 6px);}
@media(max-width:820px){.contact-inquiry .ci-grid{grid-template-columns:1fr;}.ci-eq{height:220px;}}

/* ---- STUDIOS: immersive / we-work-with / feel-the-difference ---- */
.studio-immersive{position:relative;background:#0b0b0b;color:#fff;min-height:70vh;display:flex;align-items:center;justify-content:center;text-align:center;overflow:hidden;padding:10vh 6vw;}
.studio-immersive h2{position:relative;z-index:1;font-family:'Tinos',serif;font-weight:400;text-transform:uppercase;font-size:clamp(18px,2.1vw,30px);line-height:1.5;margin:0;letter-spacing:.02em;}
.studio-immersive .si-circle{position:absolute;right:12%;top:50%;transform:translateY(-50%);width:min(420px,40vw);aspect-ratio:1;border-radius:50%;background:repeating-linear-gradient(48deg,rgba(255,255,255,.05) 0 2px,transparent 2px 7px);}
.studio-wework{background:#0b0b0b;color:#fff;text-align:center;padding:12vh 6vw;}
.studio-wework .eyebrow-red{color:var(--gold2);margin-bottom:3rem;}
.wework-cols{display:flex;justify-content:center;align-items:center;gap:0;max-width:1000px;margin:0 auto;}
.wework-cols>div{flex:1;font-family:'Arimo',sans-serif;font-size:clamp(16px,1.8vw,22px);line-height:1.6;color:#fff;padding:0 2vw;position:relative;}
.wework-cols>div+div::before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:1px;height:56px;background:var(--gold2);}
.studio-feel{background:#0b0b0b;color:#fff;padding:6vh 7vw;overflow:hidden;}
.feel-inner{display:grid;grid-template-columns:1fr 1fr;gap:4vw;max-width:1300px;margin:0 auto;align-items:center;min-height:70vh;}
.feel-text h2{font-family:'Tinos',serif;font-weight:400;font-size:clamp(28px,3.4vw,46px);line-height:1.2;margin:0 0 1.4rem;}
.feel-text p{font-family:'Arimo',sans-serif;color:#cfcfcf;font-size:clamp(15px,1.5vw,18px);}
.feel-visual{display:flex;align-items:center;justify-content:center;}
.feel-visual img{max-width:100%;height:auto;opacity:.85;filter:drop-shadow(0 0 40px rgba(215,191,122,.15));}
@media(max-width:820px){.feel-inner{grid-template-columns:1fr;gap:2rem;}.studio-immersive .si-circle{right:-10%;}}

/* ---- Videos hero background video ---- */
.lp-hero .lp-hero-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0;}
.lp-hero .lp-hero-video + .lp-hero-inner::before{content:"";position:fixed;}
.lp-hero:has(.lp-hero-video)::after{content:"";position:absolute;inset:0;background:rgba(0,0,0,.45);z-index:1;}
.lp-hero .lp-hero-inner{position:relative;z-index:2;}

/* ---- News hero a touch smaller + news article ---- */
.news-page .lp-hero-simple h1{font-size:clamp(28px,3.6vw,46px);}
.news-page .lp-hero-simple .amp{font-family:'Carattere',cursive;color:var(--gold);}
.news-article{background:var(--cream);padding:9vh 6vw;}
.news-article .wrap{max-width:820px;margin:0 auto;}
.news-article .date{font-family:'Arimo',sans-serif;color:var(--red);letter-spacing:.1em;font-size:13px;margin-bottom:10px;}
.news-article h1{font-family:'Tinos',serif;font-weight:400;font-size:clamp(26px,3vw,40px);color:#141414;line-height:1.25;margin:0 0 24px;}
.news-article img.hero{width:100%;height:auto;border-radius:2px;margin:0 0 30px;}
.news-article p{font-family:'Arimo',sans-serif;color:#333;line-height:1.85;font-size:16px;margin:0 0 1.1rem;}
.news-article .back{display:inline-block;margin-top:24px;font-family:'Arimo',sans-serif;letter-spacing:.12em;text-transform:uppercase;color:var(--red);font-size:13px;}

/* ============================================================
   MOBILE PASS
   ============================================================ */
@media (max-width:600px){
  h1,h2,h3,p,blockquote{overflow-wrap:break-word;}
  .lp-hero-inner{max-width:100%;}
  .lp-hero h1{font-size:26px;line-height:1.2;}
  .lp-hero p.lead{font-size:13px;letter-spacing:.03em;}
  .lp-hero-simple h1{font-size:26px;}
  .studio-band{min-height:auto;padding:7vh 6vw;}
  .studio-band h2{font-size:22px;}
  .studio-band p{font-size:12px;letter-spacing:.05em;}
  .studio-immersive h2{font-size:17px;}
  .about-beast blockquote{font-size:20px;}
  .about-intro .wrap,.about-cert .wrap{grid-template-columns:1fr !important;gap:1.4rem !important;}
  .about-intro .big,.about-cert .big{font-size:22px;}
  .about-cert .logos{grid-template-columns:repeat(2,1fr) !important;}
  .contact-inquiry .ci-grid{grid-template-columns:1fr;gap:2rem;}
  .contact-inquiry h2{font-size:20px;}
  .ci-eq{display:none;}
  .home-about .headline{font-size:26px;}
  .wework-cols{flex-direction:column;gap:1.6rem;}
  .wework-cols>div+div::before{display:none;}
  .av-item{padding:6vh 6vw;}
}
/* Keyboard + piano heroes: keep headline within the screen on phones */
@media (max-width:600px){
  #jpianoKB .kb-hero-text .kb-title{font-size:19px !important;line-height:1.4;padding:0 4vw;}
  body.com-content.view-article #jpiano .piano-hero-text h1{font-size:21px !important;line-height:1.4;}
  #jpiano .piano-hero-text p,#jpiano .piano-hero-text h5{font-size:12px !important;}
  .home-tagline .tag{font-size:19px;}
}

/* MOBILE — force hero headings to wrap within the screen (override width/specificity) */
@media (max-width:600px){
  .lp-hero .lp-hero-inner{max-width:100% !important;width:100% !important;}
  .lp-hero h1,.lp-hero p.lead,
  .lp-hero-simple h1,
  #jpianoKB .kb-hero-text .kb-title,
  #jpiano .piano-hero-text h1,
  .home-tagline .tag,
  .about-beast blockquote{
    overflow-wrap:anywhere;word-break:break-word;max-width:100%;
  }
  .lp-hero h1{font-size:23px !important;}
  #jpianoKB .kb-hero-text .kb-title{font-size:17px !important;}
  #jpiano .piano-hero-text h1{font-size:20px !important;}
}

/* mic hover video sizing */
.gear-cell video.gif{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;}

/* ============================================================
   MOBILE PASS 2 — fixed-bg fallback + gap tightening (phones)
   ============================================================ */
@media (max-width:768px){
  .about-beast{min-height:60vh;}
  .about-beast::before{
    background-attachment:scroll !important;
    background-size:cover !important;
    background-repeat:no-repeat !important;
    background-position:center !important;
  }
  .about-beast::after{background:rgba(0,0,0,.6);}
  .studio-band{
    background-attachment:scroll !important;
    background-size:cover !important;
    background-position:center !important;
    min-height:88vh !important;
    padding:10vh 7vw !important;
  }
  .studio-band .band-inner{grid-template-columns:1fr !important;gap:1.6rem !important;}
  .studio-band h2{font-size:clamp(30px,8.5vw,40px) !important;text-align:left !important;line-height:1.15 !important;}
  .studio-band p{text-align:justify !important;letter-spacing:.08em !important;font-size:13px !important;line-height:2 !important;}
  .distort-pair{align-items:center !important;}
  .distort-pair .lp-distort{width:85% !important;max-width:85% !important;margin:0 auto !important;}
  .lpme-mz-wrap{min-height:auto !important;padding:2vh 0 !important;
    left:auto !important;right:auto !important;margin-left:0 !important;margin-right:0 !important;width:100% !important;}
  .about-intro{padding:6vh 6vw 3vh !important;}
  .about-gallery{padding:0 !important;}
  .about-gallery .marquee{will-change:transform;}
  .about-gallery .marquee img{height:180px;width:260px;flex:0 0 260px;object-fit:cover;}
  .about-mv.lp-block{padding:4vh 6vw !important;}
  .about-mv .row-mission{min-height:auto !important;padding:0 !important;margin:0 !important;}
  .about-mv .row-mission{margin-bottom:5rem !important;}
  .about-mv .row{min-height:auto !important;padding:0 !important;margin:5rem 0 0 !important;gap:1.4rem !important;}
  .about-mv .mv-text .lab{margin:0 0 1rem !important;}
  .studio-wework{padding:6vh 6vw !important;}
  .studio-immersive{min-height:auto !important;padding:7vh 6vw !important;}
}

/* ---- Studios pair: base image + mobile tap effect (from distortion.js) ---- */
.lp-distort{background-size:cover;background-position:center;background-repeat:no-repeat;}
.lp-distort::after{content:"";position:absolute;inset:0;background:rgba(11,11,11,0);transition:background .4s ease;z-index:1;pointer-events:none;}
.lp-distort.dt-active::after{background:rgba(11,11,11,.62);}
.distortion-text.dt-touch{position:absolute;inset:0;display:grid;place-items:center;align-content:center;gap:6px;z-index:2;pointer-events:none;text-transform:uppercase;text-align:center;padding:0 8%;opacity:0;transition:opacity .4s ease;}
.distortion-text.dt-touch div{color:#fff;font-family:'Arimo',sans-serif;font-weight:700;letter-spacing:.06em;font-size:clamp(14px,4.5vw,20px);text-shadow:0 1px 3px rgba(0,0,0,.5);}
.lp-distort.dt-active .distortion-text.dt-touch{opacity:1;}

/* ---- Mobile tap-to-zoom overlay for the floorplan (from zoom.js) ---- */
.lp-zoom-overlay{position:fixed;inset:0;z-index:100001;background:rgba(11,11,11,.97);overflow:auto;-webkit-overflow-scrolling:touch;}
.lp-zoom-overlay img{width:230%;max-width:none;height:auto;display:block;}
.lp-zoom-hint{position:fixed;bottom:18px;left:50%;transform:translateX(-50%);color:var(--gold);font-family:'Arimo',sans-serif;font-size:12px;letter-spacing:.12em;text-transform:uppercase;background:rgba(0,0,0,.55);padding:8px 14px;border-radius:2px;pointer-events:none;}
