/* v5 — quieter navigation, compact footer and readable editorial pages. */
.desktop-nav .mega-panel{gap:24px 40px;padding:30px 36px 18px;grid-template-columns:1fr 1fr 1fr;max-width:1040px}
.desktop-nav .mega-panel h3{font-size:21px;color:var(--muted);margin-bottom:10px}
.desktop-nav .mega-panel a{font-size:23px;padding:9px 0}
.desktop-nav .mega-legal{grid-column:1/-1;display:flex;gap:12px 28px;flex-wrap:wrap;border-top:1px solid var(--line);padding-top:12px}
.desktop-nav .mega-legal a{font-size:19px;color:var(--muted)}
.mobile-legal{padding-top:20px;margin-top:16px;border-top:1px solid var(--line)}
.mobile-nav .mobile-legal a{font-size:21px;line-height:1.35;min-height:44px}
.footer-v5{padding:36px 0 0;border-radius:0}
.footer-identity{display:grid;grid-template-columns:230px 1fr auto;align-items:center;gap:35px;padding-bottom:20px}
.footer-v5 .footer-brand{display:block;grid-column:auto;margin:0;min-width:0}
.footer-v5 .footer-brand img{width:205px;height:auto}
.footer-motto{font-family:var(--ui);font-size:30px;color:white;margin:0;line-height:1.2}
.footer-reach{display:flex;flex-direction:column;gap:4px;text-align:right;font-size:22px;line-height:1.3}
.footer-reach a{min-height:32px;display:flex;align-items:center;justify-content:flex-end}
.footer-links-row{display:flex;justify-content:space-between;gap:20px;padding:0 0 14px;border-bottom:1px solid #ffffff24}
.footer-links-row nav,.footer-final nav{display:flex;align-items:center;flex-wrap:wrap;gap:4px 24px}
.footer-links-row a{font-size:21px;min-height:40px;display:flex;align-items:center}
.footer-details{display:grid;grid-template-columns:1fr 1.15fr 1.25fr;gap:32px;padding:24px 0 22px}
.footer-details h2{font-family:var(--ui);font-size:21px;line-height:1.25;letter-spacing:0;text-transform:none;margin:0 0 10px;color:white;font-weight:400}
.footer-details p{font-size:19px;line-height:1.4;margin:5px 0;color:var(--inverse-muted,#c2d0df);overflow-wrap:anywhere}
.footer-payment>img{width:100%;max-width:370px;height:auto;margin:14px 0 8px}
.footer-payment>a{display:inline-flex;align-items:center;gap:10px;min-height:36px;font-size:19px;line-height:1.3;color:var(--inverse-muted,#c2d0df)}
.footer-payment .arrow{width:17px;height:17px;flex-shrink:0}
.footer-final{border-top:1px solid #ffffff24;display:flex;justify-content:space-between;align-items:center;gap:16px;padding:12px 0 16px;color:var(--inverse-muted,#c2d0df);font-size:18px;line-height:1.3}
.footer-final a{display:flex;align-items:center;min-height:36px}
.footer-v5 a:focus-visible{outline-color:var(--accent-soft)}
.contact-meta{grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;gap:30px;text-align:center;padding-inline:0}
.contact-meta>div{min-width:0}
.contact-meta .text-link{justify-content:center;overflow-wrap:anywhere}
.contact-meta>div>p:not(.meta-text){min-height:2.6em}
.page-cover.person-cover{height:clamp(360px,48vw,680px);object-fit:contain;object-position:center;background:var(--soft);padding:16px}
.portfolio-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));align-items:start}
.portfolio-player.portfolio-video{grid-column:1/-1}
.portfolio-video .embed-shell{width:100%;min-height:200px}
.portfolio-video .embed-shell iframe{aspect-ratio:16/9;min-height:0;height:auto}
.portfolio-grid:has(.portfolio-player:only-child){grid-template-columns:minmax(0,1fr)}
.portfolio-player:only-child{max-width:100%;width:100%}
.embed-shell>button[data-embed-src]{color:var(--ink)}
/* A full-width video must not keep vacant music columns after a player is disabled. */
@media(min-width:701px){
 .portfolio-grid:has(>.portfolio-video):not(:has(>:where(.portfolio-player:not(.portfolio-video))~:where(.portfolio-player:not(.portfolio-video))~:where(.portfolio-player:not(.portfolio-video)))){grid-template-columns:repeat(2,minmax(0,1fr))}
 .portfolio-grid:has(>.portfolio-video):not(:has(>:where(.portfolio-player:not(.portfolio-video))~:where(.portfolio-player:not(.portfolio-video)))){grid-template-columns:minmax(0,1fr)}
}
.film-extras-grid{align-items:start}
.film-extras-grid>p{margin:0;padding:0}
.room-introduction{padding-bottom:12px}
.room-introduction h2{font-size:clamp(28px,3vw,42px);margin-bottom:24px}
.room-introduction p{font-size:27px;line-height:1.5;margin:18px 0}
.room-booking{margin-top:28px}
.room-equipment .equipment-grid{align-items:start;gap:14px 24px}
.equipment-open{padding:23px 28px;background:var(--soft);border-radius:var(--radius);min-width:0}
.equipment-open h3{font-size:28px;line-height:1.25;margin:0 0 12px}
.equipment-open ul{margin:0;padding:0 0 0 20px}
.equipment-open li{font-size:23px;line-height:1.4;padding:3px 0}
.room-equipment details.equipment-group{padding-inline:28px}
.room-equipment details.equipment-group summary{min-height:80px}
.master-packages-full{display:flex;flex-direction:column;gap:16px}
.master-packages-full .master-package-full{display:grid;grid-template-columns:.8fr 1.35fr 1fr;align-items:start;gap:32px;padding:32px}
.master-package-full h3{font-size:32px;line-height:1.15;margin:0 0 24px}
.master-package-full strong{display:block;font-size:45px;line-height:1.15;font-weight:400}
.master-package-full strong small{font-size:21px;display:block;margin-top:8px}
.master-package-full .master-package-copy p{font-size:24px;line-height:1.45;margin:0}
.master-package-included h4{font:400 25px/1.3 var(--ui);margin:0 0 16px}
.master-package-included ul{margin:0;padding-left:20px}
.master-package-included li{font-size:22px;line-height:1.4;margin:9px 0}
.service-information-grid>article p{margin-top:16px}
.label-advantages .advantages-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px 40px}
.advantages-grid article{border-top:1px solid var(--line);padding-top:22px}
.advantages-grid h3{font-size:30px;margin:0 0 12px;line-height:1.2}
.advantages-grid p{font-size:25px;line-height:1.4;margin:0;color:var(--muted)}
.label-playlist{display:grid;grid-template-columns:1fr 1.4fr;align-items:start;gap:45px}
.label-playlist h2{font-size:clamp(28px,3.2vw,46px);margin-bottom:22px}
.label-playlist p{font-size:26px;line-height:1.4;margin-bottom:18px}
.label-playlist .embed-shell{padding:0}
.legal-page .page-hero{padding-bottom:12px}
.legal-page .page-hero h1{font-size:clamp(26px,min(5vw,calc((100vw - 40px) / var(--word-width,8))),66px)}
.legal-layout{display:grid;grid-template-columns:250px minmax(0,1fr);gap:72px;align-items:start;padding-top:35px}
.legal-toc{position:sticky;top:120px;max-height:calc(100dvh - 145px);overflow:auto;padding:22px;background:var(--soft);border-radius:var(--radius)}
.legal-toc summary{font-size:24px;display:flex;justify-content:space-between;gap:12px;align-items:center;min-height:44px;cursor:pointer;list-style:none}
.legal-toc summary::-webkit-details-marker{display:none}
.legal-toc nav{display:flex;flex-direction:column;gap:2px;margin-top:12px}
.legal-toc a{font-size:20px;line-height:1.3;min-height:44px;display:flex;align-items:center;padding:7px 0;color:var(--muted)}
.legal-document{max-width:790px;font-size:24px;line-height:1.55;overflow-wrap:anywhere}
.legal-document p{margin:0 0 16px}
.legal-intro{padding-bottom:24px;border-bottom:1px solid var(--line);margin-bottom:38px}
.legal-section{margin-bottom:46px;scroll-margin-top:120px}
.legal-section h2{font-family:var(--ui);font-size:34px;line-height:1.25;letter-spacing:0;text-transform:none;margin:0 0 24px;font-weight:400}
.legal-document a{text-decoration:underline;text-underline-offset:4px}
.legal-document ul,.legal-document ol{padding-left:26px;margin:0 0 20px}
.legal-document li{margin-bottom:10px}
@media(hover:hover) and (pointer:fine){.footer-v5 a:hover,.legal-toc a:hover{text-decoration:underline;text-underline-offset:4px}}
@media(max-width:1100px){.footer-identity{grid-template-columns:190px 1fr auto;gap:25px}.footer-v5 .footer-brand img{width:185px}.footer-details{gap:22px}.master-packages-full .master-package-full{grid-template-columns:.7fr 1.2fr 1fr;gap:24px;padding:28px}.master-package-full h3{font-size:29px}.legal-layout{gap:38px;grid-template-columns:220px minmax(0,1fr)}}
@media(max-width:960px){.footer-identity{grid-template-columns:180px 1fr;gap:20px}.footer-motto{justify-self:end}.footer-reach{grid-column:1/-1;flex-direction:row;justify-content:space-between;text-align:left}.footer-links-row{flex-direction:column;gap:4px}.footer-details{grid-template-columns:1fr 1fr}.footer-payment{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:0 25px}.footer-payment>img{grid-column:2;grid-row:1/3;max-width:420px;justify-self:end}.footer-final{align-items:start}.footer-final nav{justify-content:flex-end;gap:0 18px}.master-packages-full .master-package-full{grid-template-columns:1fr 2fr}.master-package-included{grid-column:2}.label-advantages .advantages-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.contact-meta p{font-size:25px}.contact-meta .text-link{font-size:21px}.legal-layout{grid-template-columns:1fr;gap:32px}.legal-toc{position:static;max-height:none}.legal-toc nav{display:grid;grid-template-columns:1fr 1fr;gap:4px 20px}.legal-document{max-width:790px}.label-playlist{grid-template-columns:1fr 1fr}}
@media(max-width:700px){.footer-v5{padding-top:28px}.footer-identity{grid-template-columns:1fr;gap:18px;padding-bottom:15px}.footer-v5 .footer-brand img{width:190px}.footer-motto{justify-self:start;font-size:28px}.footer-reach{flex-direction:column;gap:0}.footer-reach a{justify-content:flex-start;min-height:44px;font-size:22px}.footer-links-row{gap:4px;padding-bottom:16px}.footer-links-row nav{gap:0 22px}.footer-links-row a{min-height:44px;font-size:21px}.footer-details{grid-template-columns:1fr;gap:23px;padding:23px 0}.footer-details h2{font-size:23px}.footer-details p{font-size:20px;line-height:1.4}.footer-payment{display:block;grid-column:auto}.footer-payment>img{max-width:400px;margin:15px 0 9px}.footer-payment>a{min-height:44px;font-size:20px}.footer-final{flex-direction:column;gap:8px;padding-top:18px}.footer-final nav{justify-content:flex-start;gap:0 20px}.footer-final a{min-height:44px;font-size:19px}.contact-meta{grid-template-columns:1fr;gap:30px}.contact-meta>div>p:not(.meta-text){min-height:0}.contact-meta .text-link{font-size:23px}.page-cover.person-cover{height:420px;max-height:65dvh;padding:10px}.portfolio-player.portfolio-video{grid-column:auto}.room-introduction p{font-size:25px}.room-introduction h2{font-size:clamp(26px,6.5vw,36px)}.equipment-open{padding:23px}.equipment-open h3{font-size:27px}.equipment-open li{font-size:22px}.room-equipment details.equipment-group{padding-inline:23px}.master-packages-full .master-package-full{display:block;padding:26px}.master-package-full h3{font-size:31px;margin-bottom:18px}.master-package-full strong{font-size:42px}.master-package-full .master-package-copy{margin-top:26px}.master-package-included{margin-top:26px}.master-package-full .master-package-copy p{font-size:24px}.master-package-included li{font-size:23px}.label-advantages .advantages-grid{grid-template-columns:1fr;gap:24px}.advantages-grid h3{font-size:29px}.advantages-grid p{font-size:24px}.label-playlist{grid-template-columns:1fr;gap:26px}.legal-layout{padding-top:22px;gap:30px}.legal-toc{padding:20px}.legal-toc nav{display:flex}.legal-toc a{font-size:22px;min-height:44px}.legal-document{font-size:23px;line-height:1.5}.legal-section h2{font-size:29px;line-height:1.3}.legal-section{margin-bottom:34px;scroll-margin-top:110px}.legal-page .page-hero h1{font-size:clamp(22px,min(8vw,calc((100vw - 40px) / var(--word-width,8))),46px)}}
@media(prefers-reduced-motion:reduce){.legal-section{scroll-behavior:auto}}
