/* ALBA — contemporary showroom direction. */
:root { --ivory:#f5f3ed; --paper:#fffef9; --ink:#231c29; --muted:#777079; --purple:#694687; --purple-deep:#34233f; --shadow:0 16px 40px #231c290b; }
body { background:var(--ivory); }
.noise,.ambient { display:none; }
.site-header,.site-header.scrolled { top:18px; left:24px; right:24px; height:76px; gap:28px; padding:0 24px; border:1px solid #ffffff26; border-radius:20px; background:#241a2ae6; box-shadow:0 12px 36px #00000014; backdrop-filter:blur(14px); }
.brand-mark,.site-header.scrolled .brand-mark { width:46px; height:46px; box-shadow:none; }
.brand-type { font-size:1rem; letter-spacing:.035em; }
.main-nav > a:not(.nav-cta) { font-weight:500; font-size:.78rem; color:#ffffffc4; }
.language-button { background:transparent; border-color:#ffffff26; }
.hero { min-height:760px; height:100svh; max-height:1100px; place-items:end start; padding:156px max(6vw,24px) 110px; }
.hero::before,.hero::after { display:none; }
.hero-overlay { background:linear-gradient(90deg,#201429df 0%,#24163080 56%,#23162926 100%),linear-gradient(0deg,#1f162ce6,transparent 70%); }
.hero-copy,.hero-copy.reveal,.hero-copy.reveal.is-visible { position:relative; top:auto; left:auto; width:min(850px,80%); transform:none; }
.hero .eyebrow { display:inline-flex; align-items:center; gap:12px; font-size:.64rem; letter-spacing:.24em; margin-bottom:28px; }
.hero .eyebrow::before { content:""; width:28px; height:1px; background:var(--mint); }
.hero h1 { font-size:clamp(4.4rem,8.8vw,8.8rem); line-height:.88; font-weight:600; letter-spacing:-.07em; }
.hero h1 span:nth-child(2) { margin:8px 0 10px 0; font-family:Georgia,'Times New Roman',serif; font-style:italic; font-weight:400; font-size:.7em; letter-spacing:-.055em; }
.hero h1 span:nth-child(3) { margin-left:0; }
.hero-lead { max-width:500px; margin-top:28px; color:#ffffffbc; font-size:.96rem; line-height:1.7; }
.hero-actions { gap:24px; margin-top:30px; }
.primary-button { border-radius:8px; min-height:54px; box-shadow:none; }
.scroll-cue { left:6vw; bottom:34px; font-size:.6rem; }
.section { padding-top:76px; padding-bottom:76px; }
.section-heading { gap:40px; margin-bottom:38px; align-items:end; }
.section-heading h2,.about-copy h2,footer h2 { font-size:clamp(2.6rem,5.3vw,5.5rem); font-weight:500; letter-spacing:-.065em; line-height:.98; }
.section-heading > p,.section-heading > div + p { max-width:460px; font-size:.94rem; line-height:1.75; }
.eyebrow { font-size:.62rem; letter-spacing:.2em; font-weight:700; }
.store-tour { display:grid; grid-template-columns:1.1fr .9fr; gap:8%; align-items:center; }
.store-tour-intro { display:block; margin:0; }
.store-tour .store-tour-intro > p { margin-top:28px; max-width:380px; }
.store-tour-stage { width:min(100%,360px); margin:0 auto; }
.store-tour-shadow { inset:20px -20px -20px 20px; background:#dceae2; border:none; border-radius:100px 10px 10px 10px; box-shadow:none; }
.store-tour-card { max-height:600px; border:none; border-radius:100px 10px 10px 10px; box-shadow:var(--shadow); }
.store-tour-play { width:74px; height:74px; background:#34233f80; }
.catalog-section { background:#eae6ef; border-block:1px solid #34233f0c; }
.catalog-grid { gap:20px; }
.catalog-card { min-height:290px; padding:32px; border:1px solid #34233f12; border-radius:16px; background:#fffef9; color:var(--ink); box-shadow:none; }
.catalog-card:nth-child(2) { background:#34233f; color:#f7f4fb; border-color:transparent; }
.catalog-card::after { opacity:.35; }
.catalog-copy strong { font-size:clamp(2rem,4.6vw,4.8rem); line-height:.96; font-weight:600; letter-spacing:-.065em; }
.catalog-copy small { margin-bottom:16px; font-size:.61rem; }
.catalog-card:nth-child(2) .catalog-copy small,.catalog-card:nth-child(2) .catalog-index,.catalog-card:nth-child(2) .round-arrow { color:var(--mint); }
.catalog-icon { width:42px; height:42px; margin-bottom:28px; background:#ebe5f2; }
.catalog-index { font-weight:400; opacity:.65; font-size:.65rem; }
.round-arrow { width:46px; height:46px; border-color:#69468740; background:transparent; }
.cafe-hero { border-radius:18px; box-shadow:none; }
.cafe-hero-copy h2 { font-weight:500; letter-spacing:-.065em; }
.cafe-location { background:#231c2980; font-weight:500; border-color:#ffffff36; }
.cafe-story { gap:6%; margin-top:40px; }
.cafe-story-copy h3 { font-size:clamp(2rem,3.5vw,3.6rem); font-weight:500; line-height:1.04; }
.cafe-features > div { box-shadow:none; border-radius:12px; background:#eeebe5; }
.cafe-gallery { margin-top:30px; gap:16px; }
.cafe-photo { border-radius:12px; box-shadow:none; }
.collection { width:100%; max-width:none; margin:0; padding:72px max(5vw,20px); background:radial-gradient(ellipse at 80% 0%,#4d3556 0,transparent 60%),#201927; border-radius:0; }
.collection .section-heading { max-width:1320px; margin:0 auto 32px; }
.collection .section-heading > p { color:#cec5d0; }
.product-carousel { padding:32px 0; }
.product-carousel .product-card { border-radius:12px; }
.product-carousel .product-card.is-center { box-shadow:0 16px 35px #00000026; }
.wholesale-intro { margin-top:0; }
.wholesale-collage { gap:16px; }
.wholesale-collage .showroom-photo { border-radius:12px; box-shadow:none; border:0; }
.wholesale-collage .showroom-photo--panorama { min-height:clamp(260px,31vw,470px); }
.about { border-top:1px solid #34233f1a; gap:6%; }
.about-photo { border-radius:14px; box-shadow:none; }
.about-copy > p { font-size:.94rem; }
.testimonials { background:#ebe8e1; border-radius:0; }
.review-grid { gap:16px; }
.review-card,.review-card-featured { background:#fffef9; border:1px solid #34233f0a; border-radius:14px; box-shadow:none; }
.review-card blockquote { font-size:.9rem; line-height:1.7; }
footer { padding-top:70px; background:#281d31; }
.footer-orbit { opacity:.3; }
.contact-link { background:transparent; border:0; border-bottom:1px solid #ffffff26; border-radius:0; }
.contact-link:hover { background:#ffffff08; }
.footer-bottom { border-color:#ffffff24; }
a:focus-visible,button:focus-visible { outline:2px solid #91dcc8; outline-offset:5px; }
@media(min-width:1500px) { .site-header { left:calc((100vw - 1440px)/2); right:calc((100vw - 1440px)/2); } }
@media(max-width:1100px) and (min-width:901px) { .site-header { gap:16px; padding-inline:18px; } .main-nav { gap:16px; } .brand-type { font-size:.84rem; } }
@media(max-width:900px) {
 .site-header,.site-header.scrolled { top:10px; left:12px; right:12px; height:68px; gap:12px; padding:0 14px; border-radius:14px; }
 .brand-mark,.site-header.scrolled .brand-mark { width:40px; height:40px; }
 .brand-type { font-size:.85rem; }
 .main-nav { position:absolute; top:calc(100% + 8px); left:0; right:0; bottom:auto; width:100%; height:auto; min-height:0; padding:24px; border-radius:14px; background:#281d31; transform:translateY(-8px); opacity:0; visibility:hidden; pointer-events:none; transition:opacity .2s,transform .2s,visibility .2s; }
 .main-nav.is-open,html[dir="rtl"] .main-nav.is-open { transform:none; opacity:1; visibility:visible; pointer-events:auto; }
 html[dir="rtl"] .main-nav { left:0; right:0; }
 .hero { min-height:700px; height:100svh; padding:135px 6vw 90px; }
 .hero-copy,.hero-copy.reveal,.hero-copy.reveal.is-visible { width:100%; }
 .hero h1 { font-size:clamp(4.5rem,12vw,7rem); }
 .hero-lead { max-width:440px; }
 .section { padding-top:52px; padding-bottom:52px; }
 .section-heading { gap:22px; margin-bottom:30px; }
 .store-tour { grid-template-columns:1fr 1fr; gap:32px; }
 .store-tour-stage { width:100%; }
 .store-tour-card { border-radius:64px 10px 10px 10px; }
 .store-tour-shadow { inset:12px -10px -12px 10px; border-radius:64px 10px 10px 10px; }
 .catalog-card { padding:24px; min-height:255px; }
 .catalog-copy strong { font-size:clamp(1.8rem,4.8vw,3.6rem); }
 .collection { padding-inline:24px; }
 .about { gap:22px; }
}
@media(max-width:560px) {
 .site-header,.site-header.scrolled { gap:8px; padding-inline:10px; height:62px; }
 .brand { gap:7px; }
 .brand-mark,.site-header.scrolled .brand-mark { width:34px; height:34px; }
 .brand-type { font-size:clamp(.6rem,3vw,.78rem); letter-spacing:.015em; }
 .language-button { min-width:58px; padding:0 9px; gap:5px; height:38px; }
 .menu-toggle { width:36px; height:38px; flex-shrink:0; }
 .hero { min-height:680px; padding:140px 24px 92px; }
 .hero h1 { font-size:clamp(4rem,17vw,5.8rem); }
 .hero .eyebrow { margin-bottom:24px; }
 .hero-lead { width:100%; font-size:.88rem; line-height:1.65; margin-top:24px; }
 .hero-actions { gap:20px; margin-top:26px; }
 .primary-button { min-height:50px; padding-inline:20px; font-size:.75rem; }
 .ghost-button { font-size:.7rem; gap:8px; }
 .scroll-cue { left:24px; bottom:28px; }
 .section-heading h2,.about-copy h2,footer h2 { font-size:clamp(2.5rem,10vw,3.5rem); }
 .section-heading > p,.section-heading > div + p { font-size:.88rem; }
 .store-tour { display:block; }
 .store-tour .store-tour-intro > p { margin-top:22px; }
 .store-tour-stage { width:min(78%,310px); margin:30px auto 10px; }
 .catalog-grid { grid-template-columns:1fr; gap:14px; }
 .catalog-card { min-height:260px; height:auto; padding:24px; }
 .catalog-copy { grid-column:1 / -1; padding-right:8px; }
 .catalog-copy strong { font-size:clamp(2rem,9.2vw,2.5rem); }
 .catalog-card .round-arrow { position:absolute; right:20px; top:24px; width:36px; height:36px; min-height:36px; }
 .catalog-index { position:absolute; right:70px; top:36px; }
 .catalog-icon { width:34px; height:34px; margin-bottom:20px; }
 .catalog-copy small { margin-bottom:12px; }
 .cafe-hero { border-radius:12px; }
 .cafe-story { margin-top:30px; }
 .cafe-gallery { gap:10px; margin-top:24px; }
 .collection { padding:48px 20px; }
 .collection .section-heading { margin-bottom:20px; }
 .product-carousel { padding-block:30px; }
 .review-card { padding:24px; }
 footer { padding-top:50px; }
 .footer-main { gap:36px; }
}
@media(max-height:650px) and (orientation:landscape) { .hero { height:auto; min-height:640px; } }

/* Keep the portrait footage at its intended size on wide displays. */
@media(min-width:901px) {
 .hero { background:#241a2a; }
 .hero::before { display:none; }
 .hero-video { inset:0; width:100%; height:100%; object-fit:cover; object-position:65% center; transform-origin:68% 55%; animation:wideHeroDrift 16s linear infinite; will-change:transform; backface-visibility:hidden; }
 .hero-overlay { background:linear-gradient(90deg,#241a2af0 0%,#241a2aca 36%,#241a2a18 70%,#241a2a30 100%),linear-gradient(0deg,#241a2a99,transparent 35%); }
 .hero-copy,.hero-copy.reveal,.hero-copy.reveal.is-visible { width:56%; }
 .hero h1 { font-size:clamp(4.4rem,7.8vw,8rem); }
}
@keyframes wideHeroDrift {
 0%,100% { transform:translate3d(-1%,1%,0) scale(1.08); animation-timing-function:cubic-bezier(.42,0,.58,1); }
 50% { transform:translate3d(1.5%,-1%,0) scale(1.20); animation-timing-function:cubic-bezier(.42,0,.58,1); }
}
