/* v0.4 — brand-first retail website; real storefront imagery and clear content hierarchy. */
.corporate-hero { position:relative; max-width:var(--max); margin-inline:auto; padding:72px var(--gutter); display:grid; grid-template-columns:minmax(0,.95fr) minmax(0,1.1fr); gap:64px; align-items:center; background:var(--paper); color:var(--ink); }
.corporate-hero-content { min-width:0; }
.corporate-hero h1 { font-size:clamp(46px,4.8vw,68px); line-height:1.2; letter-spacing:-.04em; color:var(--ink); }
.hero-summary { margin-top:25px; max-width:560px; font-size:18px; font-weight:400; line-height:1.9; color:var(--muted); text-wrap:pretty; }
.hero-actions { display:flex; flex-wrap:wrap; align-items:center; gap:18px 27px; margin-top:30px; }
.hero-media { width:100%; max-width:640px; aspect-ratio:16/10; justify-self:end; overflow:hidden; border:1px solid var(--line); border-radius:8px; background:#eae4d7; }
.hero-media>img { width:100%; height:100%; object-fit:cover; object-position:50% 52%; }
.button-light { background:var(--paper-light); border-color:var(--paper-light); color:var(--ink); }
.button-light:hover { background:#e8ddc6; border-color:#e8ddc6; color:var(--ink); }
.text-link-light { color:var(--white); border-color:#fff9; }
.hero-media.scroll-scene>img { transform:translate3d(0,var(--scene-y,0px),0) scale(var(--scene-scale,1)); }
.header-booking { background:transparent; color:var(--ink); border:1px solid var(--line); font-weight:600; }
.header-booking:hover { background:#eae4d7; }

.brand-introduction { padding-block:106px; display:grid; grid-template-columns:.85fr 1.15fr; align-items:start; gap:90px; }
.brand-introduction h2 { font-size:clamp(34px,3.4vw,48px); line-height:1.35; }
.brand-introduction-copy p { font-size:17px; line-height:1.95; color:var(--muted); max-width:65ch; }
.brand-introduction-copy p+p { margin-top:20px; }
.brand-introduction-copy .text-link { margin-top:25px; }
.collection-section { border-top:1px solid var(--line); padding-top:90px; padding-bottom:105px; }
.section-heading { display:flex; align-items:flex-end; justify-content:space-between; gap:40px; margin-bottom:40px; }
.section-heading>div { margin:0; }
.section-heading h2 { font-size:clamp(34px,3.4vw,46px); }
.section-heading p { font-size:17px; line-height:1.9; margin-top:20px; margin-bottom:0; max-width:60ch; }
.section-heading>.text-link { flex-shrink:0; }
.product-overview { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:30px; }
.product-overview article { min-width:0; }
.product-photo { display:block; }
.product-photo>img { width:100%; height:auto; aspect-ratio:1.6; object-fit:cover; object-position:45% 50%; }
.product-photo h3 { display:flex; align-items:center; justify-content:space-between; gap:20px; font-size:23px; margin-top:24px; }
.product-photo h3 svg { width:20px; height:20px; transition:transform 280ms var(--ease); }
.product-photo:hover h3 svg { transform:translate(3px,-3px); }
.product-overview article>p { font-size:15px; line-height:1.9; color:var(--muted); margin-top:15px; }

.brand-space { background:#eae4d7; }
.brand-space-inner { display:grid; grid-template-columns:1.2fr 1fr; gap:70px; align-items:center; padding-block:90px; }
.brand-space figure { min-width:0; }
.brand-space figure>img { width:100%; aspect-ratio:1.4; object-fit:cover; object-position:51% 57%; }
.brand-space-copy h2 { font-size:clamp(33px,3vw,43px); line-height:1.4; }
.brand-space-copy p { font-size:16px; line-height:1.95; color:var(--muted); margin-top:23px; }
.brand-space-copy p+p { margin-top:15px; }
.brand-space-copy .button { margin-top:28px; }
.visit-teaser { padding-block:105px; gap:75px; }
.visit-teaser h2 { line-height:1.4; }
.visit-teaser p { font-size:16px; line-height:1.95; margin-block:22px; }
.visit-teaser p+p { margin-top:-7px; }
.footer-message strong { font-size:27px; line-height:1.5; }

.page-intro { display:block; min-height:0; padding-top:65px; padding-bottom:48px; }
.page-intro h1 { font-size:clamp(40px,4.5vw,64px); }
.page-intro p { margin-top:24px; max-width:780px; font-size:18px; line-height:1.9; color:var(--muted); }
.space-detail { grid-template-columns:.85fr 1.15fr; gap:70px; }
.space-detail p,.lounge-grid p { font-size:17px; line-height:1.95; margin-top:24px; }
.space-detail h2,.lounge-grid h2 { font-size:clamp(32px,3vw,43px); }
.closing-line>div { max-width:65ch; }
.closing-line>div>p { font-size:16px; color:var(--muted); margin-top:14px; line-height:1.8; }
.closing-line .button { flex-shrink:0; }
.collection-availability p { max-width:72ch; }
.faq-section>div>p { font-size:16px; line-height:1.9; max-width:36ch; }

@media(max-width:1050px) {
 .corporate-hero { gap:38px; padding-block:58px; }
 .brand-introduction { gap:45px; }
 .product-overview { gap:22px; }
 .brand-space-inner { gap:40px; }
 .space-detail { gap:45px; }
 .brand-space-copy h2 { font-size:34px; }
}
@media(max-width:900px) {
 .corporate-hero { grid-template-columns:1fr; gap:34px; padding-top:44px; padding-bottom:56px; }
 .corporate-hero-content { max-width:680px; }
 .hero-media { max-width:680px; justify-self:start; }
 .hero-media.scroll-scene>img { transform:none; }
}
@media(max-width:720px) {
 .corporate-hero { padding-top:38px; padding-bottom:45px; gap:29px; }
 .corporate-hero h1 { font-size:clamp(40px,11.5vw,50px); line-height:1.2; }
 .hero-summary { font-size:17px; line-height:1.9; margin-top:21px; }
 .hero-summary br { display:none; }
 .hero-actions { gap:15px 24px; margin-top:27px; }
 .hero-actions .button { font-size:14px; min-height:52px; gap:27px; padding-inline:22px; }
 .hero-actions .text-link { font-size:13px; gap:14px; }
 .header-booking { margin-left:8px; padding:8px 10px; font-size:11px; gap:5px; }
 .header-booking svg { width:15px; height:15px; }
 .brand-introduction { display:block; padding-block:64px; }
 .brand-introduction h2 { font-size:34px; }
 .brand-introduction-copy { margin-top:28px; }
 .brand-introduction-copy p { font-size:16px; line-height:1.95; }
 .brand-introduction-copy p+p { margin-top:16px; }
 .collection-section { padding-block:60px 65px; }
 .section-heading { display:block; margin-bottom:30px; }
 .section-heading h2 { font-size:33px; }
 .section-heading p { font-size:15px; margin-top:18px; line-height:1.9; }
 .section-heading>.text-link { margin-top:20px; }
 .product-overview { display:block; }
 .product-overview article+article { margin-top:38px; }
 .product-photo>img { aspect-ratio:1.55; }
 .product-photo h3 { font-size:23px; margin-top:21px; }
 .product-overview article>p { font-size:15px; margin-top:13px; line-height:1.9; }
 .brand-space-inner { display:flex; flex-direction:column; align-items:stretch; padding-block:52px; gap:31px; }
 .brand-space figure>img { aspect-ratio:1.4; }
 .brand-space-copy h2 { font-size:32px; }
 .brand-space-copy p { font-size:15px; margin-top:20px; }
 .visit-teaser { padding-block:62px; gap:31px; }
 .visit-teaser h2 { font-size:33px; }
 .visit-teaser p { font-size:15px; }
 .footer-message strong { font-size:22px; }
 .page-intro { padding-top:38px; padding-bottom:35px; }
 .page-intro h1 { font-size:38px; }
 .page-intro p { margin-top:20px; font-size:16px; line-height:1.85; }
 .space-detail { display:flex; gap:29px; }
 .space-detail p,.lounge-grid p { font-size:15px; line-height:1.9; margin-top:21px; }
 .space-detail h2,.lounge-grid h2 { font-size:31px; }
 .closing-line { display:block; }
 .closing-line>div>p { font-size:15px; margin-top:13px; }
 .closing-line .button { margin-top:22px; }
 .faq-section>div>p { font-size:15px; max-width:none; }
 .hero-media.scroll-scene>img { transform:none; }
}
@media(prefers-reduced-motion:reduce) {
 .hero-media.scroll-scene>img { transform:none!important; }
}
