/* CBR immersive main page. Existing detail-page styles remain separate. */
.immersive{--ink:#080d0b;--acid:#79ff21;--violet:#aa65dc;--header-h:calc(84px + env(safe-area-inset-top));background:var(--ink);color:#f5f7f3;font-family:Arial,Helvetica,sans-serif;overflow-x:clip}
.immersive *{box-sizing:border-box}
.immersive .shell{width:min(1200px,90%);margin-inline:auto}
.immersive .skip-content{position:fixed;left:15px;top:-100px;z-index:120;background:var(--acid);color:#000;padding:12px 20px;border-radius:4px}.immersive .skip-content:focus{top:12px}
.scene-backdrop{position:fixed;inset:0;z-index:0;pointer-events:none;background:#0b100d;contain:strict}
.scene-backdrop picture,.scene-backdrop picture img,.scene-backdrop canvas,.scene-vignette{position:absolute;inset:0;width:100%;height:100%}
.scene-backdrop picture img{object-fit:cover;object-position:center}
.scene-backdrop canvas{opacity:0}.scene-backdrop canvas.ready{opacity:1}
.scene-vignette{background:linear-gradient(90deg,#040a08d9 0%,#040a0840 42%,transparent 70%),linear-gradient(0deg,#060c0a 0%,transparent 30%,#060c0a35 80%)}
.immersive header.immersive-header{position:fixed;inset:0 0 auto;z-index:70;background:#070c0af5;border-bottom:1px solid #ffffff12}
.header-inner{height:var(--header-h);padding-top:env(safe-area-inset-top);display:flex;align-items:center;justify-content:space-between;gap:25px}
.immersive .brand img{display:block;width:56px;height:60px;object-fit:contain}
.immersive nav{display:flex;align-items:center;gap:30px}
.immersive nav a{font-size:12px;color:#c1c8c1;padding:13px 0;min-height:44px;display:flex;align-items:center;position:relative}
.immersive nav a[aria-current],.immersive nav a:hover{color:var(--acid)}
.immersive nav a[aria-current]:after{content:'';position:absolute;left:0;right:0;bottom:5px;height:2px;background:var(--acid)}
.header-book{border:1px solid #698653;border-radius:4px;padding:11px 17px;font-size:11px;color:#e4f2dc;white-space:nowrap;min-height:44px}
.journey-progress{position:absolute;bottom:0;left:0;width:100%;height:2px}.journey-progress i{display:block;transform:scaleX(var(--journey-progress,0));transform-origin:left;background:var(--acid);height:100%;width:100%}
.immersive .menu{display:none}
.immersive main,.immersive footer{position:relative;z-index:2}
.immersive .chapter{scroll-margin-top:calc(var(--header-h) + 24px)}
.immersive h1,.immersive h2{font-weight:800;letter-spacing:-.055em;line-height:1.04}
.immersive h2{font-size:clamp(40px,5vw,66px);margin-bottom:28px}
.immersive h3{letter-spacing:-.025em}
.immersive em{color:var(--acid)}
.immersive p{color:#b7c3ba;font-size:15px;line-height:1.8}
.immersive .eyebrow{font-size:10px;letter-spacing:.16em;color:var(--acid);font-weight:700;line-height:1.7;margin-bottom:24px}
.eyebrow>span{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--acid);margin-right:7px;box-shadow:0 0 12px #79ff2160}
.immersive .button{background:var(--acid);border-color:var(--acid);border-radius:3px;padding:15px 23px;min-height:48px;font-size:12px;box-shadow:none}
.immersive .button:hover{background:#a1ff65;transform:none}
.opening{min-height:100svh;display:flex;flex-direction:column;justify-content:space-between;padding-top:calc(var(--header-h) + 9svh);padding-bottom:36px}
.opening h1{font-size:clamp(62px,7.8vw,112px);margin-bottom:24px;max-width:680px}
.opening-description{max-width:350px}
.hero-actions{display:flex;gap:25px;align-items:center;margin-top:28px}
.quiet-link{font-size:12px;min-height:44px;display:inline-flex;align-items:center;border-bottom:1px solid #9fae9560}
.opening-bottom{display:flex;justify-content:space-between;margin-top:60px!important;color:#a8b6ac;font-size:9px;letter-spacing:.18em}
.about-chapter,.services-chapter,.gallery-chapter,.contact-chapter{padding:92px 0 45px}
.chapter-label{display:flex;align-items:center;gap:18px;font-size:9px;letter-spacing:.17em;color:#c0cac3;margin-bottom:35px}
.chapter-label>span:first-child{color:var(--acid);font-size:13px;letter-spacing:0}.chapter-label i{height:1px;flex:1;background:linear-gradient(90deg,#9bb69750,transparent)}
.editorial-panel{background:#0a110fe3;border:1px solid #9bb69729;border-radius:5px;box-shadow:0 20px 70px #0002;padding:52px}
.about-panel{display:grid;grid-template-columns:1.1fr .9fr;gap:55px;align-items:center}
.about-panel figure{margin:0}.about-panel figure img{width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;display:block;border-radius:3px}
.about-panel figcaption{font-size:8px;letter-spacing:.2em;color:#a1b0a6;margin-top:17px}
.principle-row{display:flex;flex-wrap:wrap;gap:10px 20px;padding-top:22px;margin-top:26px;border-top:1px solid #ffffff14}
.principle-row span{font-size:11px;color:#dce6db;display:flex;align-items:center;gap:7px}.principle-row span:before{content:'';display:block;width:4px;height:4px;background:var(--acid)}
.section-intro{display:flex;align-items:flex-end;justify-content:space-between;gap:45px;margin-bottom:35px}
.section-intro h2{margin-bottom:0}.section-intro p{max-width:310px;margin-bottom:4px}
.services-chapter .section-intro{padding:35px;background:linear-gradient(90deg,#08100fe8,#08100f80);border-radius:4px}
.service-editorial-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.service-editorial{background:#0a110fe8;border:1px solid #a9b79f2c;border-radius:5px;overflow:hidden;min-width:0}
.service-photo{display:block;overflow:hidden}.service-photo img{width:100%;height:auto;aspect-ratio:1.85;object-fit:cover;display:block;transition:transform .45s}.service-editorial:hover .service-photo img{transform:scale(1.025)}
.service-body{padding:28px 30px}.service-body .index{color:#9eb48f;font-size:9px;letter-spacing:.04em;display:block;margin-bottom:16px}.service-body h3{font-size:25px}.service-body p{font-size:14px}.service-link{display:inline-flex;min-height:44px;align-items:center;border-bottom:1px solid #79ff2155;color:var(--acid);font-size:12px}
.gallery-panel{padding:42px;background:#09100de6;border:1px solid #9bb69729;border-radius:5px}
.immersive .filters{gap:9px;margin-bottom:25px}.immersive .filter{min-height:44px;background:#131e17;border-color:#ffffff20;font-size:11px;border-radius:3px;padding:10px 15px}.immersive .filter.active{background:var(--acid);color:#091107}
.immersive .gallery-grid{gap:17px;grid-template-columns:repeat(3,minmax(0,1fr))}
.immersive .gallery-card{border-radius:4px;background:#101913;border-color:#ffffff16}
.immersive .gallery-card>div{padding:19px}.immersive .gallery-card h3{font-size:18px}.immersive .gallery-card p{font-size:12px;margin-bottom:0}.immersive .gallery-card .pill{font-size:8px;border-color:#79ff2170;color:#b5dc8e}.immersive .image-button span{background:#08100fd9;font-size:9px}

.enquiry-panel{display:grid;grid-template-columns:1fr 1fr;gap:65px}
.enquiry-panel h3{font-size:22px}.enquiry-panel form{margin-top:23px}
.immersive label{font-size:11px;margin-bottom:18px}.immersive input,.immersive select,.immersive textarea{font-size:16px;background:#101b15;border-color:#ffffff23;border-radius:3px;padding:13px 14px;min-height:48px;color:#edf2ed}.immersive textarea{min-height:130px}
.immersive .form-row{gap:15px}.immersive form .note{font-size:11px;line-height:1.65}
.contact-intro .phone{font-size:29px;color:var(--acid);margin:32px 0 20px}.contact-note{font-size:12px!important;max-width:270px}
.locations-heading{margin-top:45px;background:#0a110fed;padding:26px 30px 0}.locations-heading .eyebrow{margin-bottom:10px}.locations-heading h3{font-size:22px;margin:0}
.immersive .addresses{background:#0a110fed;gap:20px;margin:0;padding:25px 30px 30px;border-radius:0 0 5px 5px}.immersive .addresses article{background:#101a14;border-color:#ffffff20;padding:24px}.immersive .addresses h3{font-size:18px}.immersive .addresses p{font-size:13px}.immersive .addresses small{color:var(--acid);font-size:9px}
.immersive footer{margin-top:65px;background:#060b09f7;border-color:#ffffff1a}.immersive footer p,.immersive footer a{font-size:12px}.immersive footer .addresses{display:none}.immersive footer .copyright{margin-top:35px}
.immersive .social-icon-link{width:46px;height:46px;background:#132016;border-color:#ffffff24;color:#d9e9d8}.immersive .socials{margin:22px 0}
.immersive .whatsapp{bottom:calc(18px + env(safe-area-inset-bottom));right:18px;width:54px;height:54px;z-index:65;transition:opacity .2s,transform .2s}.immersive .whatsapp.contact-visible{opacity:0;pointer-events:none;transform:translateY(12px)}
.immersive dialog{z-index:100;max-width:min(92vw,1000px)}.immersive dialog .close{z-index:2}
.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
@media(min-width:641px) and (max-width:1000px){.immersive nav{gap:18px}.header-book{display:none}.editorial-panel{padding:35px}.about-panel{gap:30px}.enquiry-panel{gap:35px}.gallery-panel{padding:30px}.section-intro{gap:25px}.section-intro p{max-width:260px}.immersive .gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){
 .immersive{--header-h:calc(72px + env(safe-area-inset-top))}.immersive .shell{width:90%}
 .header-inner{gap:12px}.immersive .brand img{width:49px;height:55px}.header-book{margin-left:auto;padding:9px 12px;font-size:10px;min-height:42px}
 .immersive .menu{display:flex;align-items:center;justify-content:center;gap:8px;background:#101a14;border:1px solid #ffffff25;border-radius:4px;min-width:48px;min-height:44px;padding:8px 10px;color:#edf3e9}.immersive .menu span{font-size:10px}.immersive .menu svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.5}
 .immersive nav{display:none;position:absolute;top:var(--header-h);left:0;right:0;background:#080f0dfc;border-bottom:1px solid #ffffff20;padding:18px 5%;max-height:calc(100svh - var(--header-h));overflow:auto}.immersive nav.open{display:flex;flex-direction:column;align-items:stretch;gap:2px}.immersive nav a{font-size:17px;padding:14px 6px;min-height:50px}.immersive nav a[aria-current]:after{display:none}
 .scene-backdrop{top:var(--header-h)}.scene-backdrop picture img{object-fit:cover;object-position:center}
 .scene-vignette{background:linear-gradient(180deg,#040b0955 0%,transparent 35%,#040b0970 70%,#040b09b3 100%)}
 .opening{padding-top:calc(var(--header-h) + 28px);min-height:100svh;padding-bottom:25px}.opening .eyebrow{font-size:8px;letter-spacing:.1em;margin-bottom:15px}
 .opening h1{font-size:clamp(48px,13.5vw,66px);line-height:.99;margin-bottom:18px;text-shadow:0 2px 24px #0008}.opening-description{font-size:13px!important;line-height:1.6!important;margin-bottom:0!important}
 .hero-actions{margin-top:22px;gap:16px;flex-wrap:wrap}.immersive .button{min-height:48px;padding:13px 18px;font-size:11px}.quiet-link{font-size:11px}
 .opening-bottom{margin-top:38svh!important;font-size:8px;letter-spacing:.13em;gap:25px}.opening-bottom span:last-child{display:none}
 .about-chapter,.services-chapter,.gallery-chapter,.contact-chapter{padding:45px 0 15px}
 .chapter-label{margin-bottom:22px;gap:13px;font-size:8px}
 .immersive h2{font-size:clamp(35px,10vw,46px);margin-bottom:22px}.immersive p{font-size:14px;line-height:1.8}.immersive .eyebrow{font-size:9px;letter-spacing:.11em;margin-bottom:17px}
 .editorial-panel{padding:26px 22px;background:#09120fe3}.about-panel{grid-template-columns:1fr;gap:28px}.about-panel figure img{aspect-ratio:1.45}.about-panel figcaption{font-size:8px}.principle-row{gap:12px;margin-top:18px;padding-top:18px}.principle-row span{font-size:10px}
 .section-intro{display:block;margin-bottom:24px}.section-intro h2{margin-bottom:20px}.section-intro p{max-width:100%;font-size:13px}.services-chapter .section-intro{padding:26px 22px;margin-bottom:16px;background:#09120ff0}
 .service-editorial-grid{grid-template-columns:1fr;gap:16px}.service-photo img{aspect-ratio:1.9}.service-body{padding:23px}.service-body h3{font-size:24px}.service-body p{font-size:13px}.service-body .index{font-size:9px;line-height:1.6;margin-bottom:12px}.service-link{font-size:11px}
 .gallery-panel{padding:24px 15px;background:#09120fe3}.gallery-panel .section-intro{padding:0 7px}.immersive .filters{display:flex;flex-wrap:nowrap;overflow-x:auto;padding:0 1px 10px;gap:7px;scrollbar-width:thin}.immersive .filter{flex:none;white-space:nowrap;min-height:44px;padding:9px 12px;font-size:10px}
 .immersive .gallery-grid{gap:11px;grid-template-columns:repeat(2,minmax(0,1fr))}.immersive .gallery-card>div{padding:13px 11px}.immersive .gallery-card h3{font-size:15px;line-height:1.25;margin-bottom:8px}.immersive .gallery-card p{display:none}.immersive .gallery-card .pill{font-size:7px;line-height:1.5;padding:2px 5px;margin-bottom:10px}.immersive .image-button span{display:none}
 .enquiry-panel{grid-template-columns:1fr;gap:35px}.contact-intro .phone{font-size:28px;margin:24px 0 15px}.contact-note{font-size:12px!important}.enquiry-panel>div+div{padding-top:27px;border-top:1px solid #ffffff20}.enquiry-panel form{margin-top:20px}.immersive .form-row{grid-template-columns:1fr;gap:0}.immersive input,.immersive select,.immersive textarea{font-size:16px}.immersive form .button{font-size:12px;width:100%;padding:15px 8px}.immersive form .note{font-size:11px}
 .locations-heading{margin-top:22px;padding:25px 22px 0}.locations-heading h3{font-size:21px;line-height:1.3}.immersive .addresses{padding:20px 15px 25px;gap:10px}.immersive .addresses article{padding:16px 12px}.immersive .addresses h3{font-size:16px;line-height:1.3}.immersive .addresses p{font-size:11px;line-height:1.7}.immersive .addresses small{font-size:8px}
 .immersive footer{margin-top:35px;padding-bottom:60px}.immersive footer .footer-grid{gap:30px 18px}.immersive footer .brand img{width:56px;height:60px}.immersive footer a,.immersive footer p{font-size:11px}.immersive .social-icon-link{width:44px;height:44px}.immersive .whatsapp{width:52px;height:52px;right:12px;bottom:calc(12px + env(safe-area-inset-bottom))}
}
@media(max-width:360px){.header-book{display:none}.immersive .menu{margin-left:auto}.immersive .addresses{grid-template-columns:1fr}.opening h1{font-size:47px}.hero-actions{gap:12px}.immersive .button{padding:12px 14px}}
@media(max-height:550px) and (orientation:landscape){.opening{padding-top:105px}.opening h1{font-size:54px}.opening-bottom{margin-top:30px!important}}
@media(prefers-reduced-motion:reduce){.scene-backdrop canvas{display:none}.service-photo img{transition:none}.immersive *{scroll-behavior:auto!important}}

@media (max-width:640px){.scene-vignette{background:linear-gradient(90deg,#040b0990,transparent 95%),linear-gradient(180deg,#040b0955,transparent 45%,#040b0980)}.scene-backdrop picture img{object-fit:contain}.immersive .header-inner{width:calc(100% - max(5%, env(safe-area-inset-left)) - max(5%, env(safe-area-inset-right)))}}
@media (max-aspect-ratio:4/5){.scene-backdrop picture img{object-fit:contain}}
