/* PDF structure: three full-width room stories, then a two-column space grid and carousel. */
/* One responsive rule controls every visible image separator: 14px in the
   1920px PDF layout, tightening to 8px on small screens. */
:root {
  --panel-gap:clamp(8px,.7291667vw,14px);
  --globalnav-width:990px;
  --globalnav-gutter:22px;
  --globalnav-content-width:min(calc(100vw - 44px),var(--globalnav-width));
}

.hero-room {
  width:100%;
  max-width:none;
  margin:0 0 var(--panel-gap);
  border-radius:0;
}
.hero-room img,
.hero-room::after { border-radius:50% 50% 0 0/19% 19% 0 0; }
.hero-bedroom { margin-bottom:0; }

/* Apple-proportioned desktop navigation: the mark, eight labels and two
   utilities form one continuous 11-item rhythm across the centered bar. */
@media (min-width:761px) {
  .site-header {
    height:44px;
    display:grid;
    grid-template-columns:repeat(11,auto);
    align-items:center;
    justify-content:space-between;
    padding:0 max(var(--globalnav-gutter),calc((100vw - var(--globalnav-width))/2));
  }
  .brand {
    width:18px;
    height:18px;
  }
  .desktop-nav {
    display:contents;
  }
  .desktop-nav button,
  .desktop-nav a {
    width:auto;
    height:44px;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:0;
    white-space:nowrap;
    font:400 12px/1 var(--sans);
    letter-spacing:0;
  }
  .header-actions {
    display:contents;
  }
  .icon-button {
    width:32px;
    height:44px;
    display:grid;
    place-items:center;
    padding:0;
  }
  .mega-menu { top:44px; }
  .search-overlay,
  .bag-panel { top:44px; }
}

.brand {
  overflow:hidden;
  padding:0;
  border-radius:50%;
  background:#060606;
}
.brand img { display:block; width:100%; height:100%; object-fit:cover; }
.brand-utility-icon {
  display:block;
  flex:none;
  width:20px;
  height:20px;
  border:0;
  margin:0;
  background-image:url("assets/brand/luminexe-icons-master-temporary.jpg");
  background-repeat:no-repeat;
  background-size:97.92px 43.98px;
  mix-blend-mode:multiply;
}
.utility-search { background-position:-.36px -.45px; }
.utility-bag { background-position:-26.15px -.45px; }
.utility-menu { background-position:-51.95px -.45px; }
.menu-button .brand-utility-icon { width:20px; margin:0; border:0; }

/* All desktop flyouts use the exact same content rail as the global nav.
   The first column carries the primary choices; supporting columns keep one
   stable width and baseline even when a panel has fewer items. */
.mega-menu { padding:0; }
.mega-panel,
.mega-panel.store-panel {
  width:var(--globalnav-content-width);
  min-height:344px;
  margin:0 auto;
  padding:36px 0 46px;
  grid-template-columns:minmax(250px,1.42fr) repeat(2,minmax(170px,1fr));
  gap:0 clamp(54px,5vw,92px);
  align-content:start;
  align-items:start;
}
.mega-panel.active { display:grid; }
.mega-panel > div { min-width:0; }
.mega-panel .eyebrow {
  margin:0 0 16px;
  color:#6e6e73;
  font-size:11px;
  font-weight:400;
  line-height:1.3;
  letter-spacing:0;
  text-transform:none;
}
.mega-panel a,
.mega-panel button { margin:0 0 11px; line-height:1.25; }
.mega-panel > div:first-child a,
.mega-panel > div:first-child button {
  font-size:23px;
  font-weight:600;
  letter-spacing:-.02em;
}
.mega-panel > div:not(:first-child) a,
.mega-panel > div:not(:first-child) button { font-size:13px; font-weight:600; }
.mega-panel span { max-width:290px; color:#6e6e73; font-size:13px; line-height:1.55; }

.mega-menu, .search-overlay, .bag-panel { background:linear-gradient(180deg,rgba(250,249,247,.99) 0%,rgba(250,249,247,.975) 58%,rgba(250,249,247,.88) 83%,rgba(250,249,247,.71) 100%); -webkit-backdrop-filter:blur(16px) saturate(118%); backdrop-filter:blur(16px) saturate(118%); }
.search-overlay { position:fixed; z-index:39; top:64px; right:0; bottom:auto; left:0; min-height:360px; padding:0 0 46px; background:linear-gradient(180deg,rgba(250,249,247,.99) 0%,rgba(250,249,247,.975) 58%,rgba(250,249,247,.88) 83%,rgba(250,249,247,.71) 100%); border-bottom:1px solid rgba(23,20,17,.13); box-shadow:none; }
.search-overlay .overlay-inner { width:var(--globalnav-content-width); max-width:none; margin:0 auto; padding-top:36px; }
.search-overlay .search-field { display:flex; align-items:center; gap:10px; border:0; padding:0; }
.search-overlay .search-field .brand-utility-icon { flex:none; }
.search-overlay .search-field { max-width:510px; }
.search-overlay .search-field input { min-width:0; font:600 24px/1.25 var(--sans); letter-spacing:-.015em; }
.search-overlay .search-field input::placeholder { opacity:1; color:#171411; }
.quick-links { max-width:510px; margin-top:34px; display:flex; flex-direction:column; align-items:flex-start; gap:12px; }
.quick-links .eyebrow { margin:0 0 3px; color:#6e6e73; font-size:11px; font-weight:400; letter-spacing:0; text-transform:none; }
.quick-links a { color:#171411; text-decoration:none; font-size:14px; font-weight:600; }
.quick-links a:hover { color:#8a5c3d; }
.search-overlay .search-results { display:block; max-width:510px; margin-top:22px; }
.search-overlay .search-result { padding:9px 0; }
.search-overlay .search-result h3 { font-size:13px; }
.search-overlay .search-result p { font-size:12px; }
.bag-panel { position:fixed; z-index:39; top:64px; right:0; bottom:auto; left:0; display:none; width:100%; min-height:360px; padding:0 0 46px; transform:none; transition:none; border-bottom:1px solid rgba(23,20,17,.13); box-shadow:none; }
.bag-panel.open { display:block; transform:none; }
.bag-panel .bag-content { display:block; width:var(--globalnav-content-width); max-width:none; margin:0 auto; overflow:visible; padding:36px 0 0; }
.bag-guest, .bag-empty-signed { max-width:510px; }
.bag-guest h2, .bag-empty-signed h2 { font-family:var(--sans); font-size:24px; font-weight:700; letter-spacing:-.015em; }
.bag-guest > p, .bag-empty-signed > p { margin:14px 0 29px; font-size:12px; }
.bag-guest > p button { margin:0; padding:0; border:0; background:none; color:#3976a9; font:700 12px/1 var(--sans); cursor:pointer; }
.bag-profile-links { display:flex; flex-direction:column; align-items:flex-start; gap:11px; }
.bag-profile-links .eyebrow { margin:0 0 3px; font-size:10px; }
.bag-profile-links a, .bag-profile-links button { display:flex; align-items:center; gap:10px; padding:0; border:0; background:none; color:#171411; font:500 13px/1.2 var(--sans); text-decoration:none; cursor:pointer; }
.profile-icon { display:inline-block; width:11px; height:11px; border:1.2px solid currentColor; border-radius:1px; }
.account-icon { border-radius:50%; }
.login-icon { border-radius:50% 50% 2px 2px; transform:scale(.82); }
.saved-icon { transform:rotate(45deg) scale(.8); border-radius:2px; }
.bag-empty-signed a, .bag-checkout-link { display:inline-block; color:#171411; text-decoration:none; border-bottom:1px solid currentColor; padding-bottom:3px; font-weight:700; }
.bag-panel .bag-item { max-width:500px; grid-template-columns:70px 1fr auto; padding:0 0 13px; border-bottom:1px solid rgba(23,20,17,.15); }
.bag-panel .bag-item + .bag-item { padding-top:13px; }
.bag-panel .bag-item img { width:70px; height:70px; }
.bag-panel .bag-item h3 { font-size:13px; }.bag-panel .bag-item p { font-size:12px; }.bag-panel .bag-item small { font-size:10px; }.bag-checkout-link { margin-top:20px; }
.catalog-anchor { position:absolute; }
.apple-promo-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:var(--panel-gap); padding:var(--panel-gap) var(--panel-gap) 0; background:#fff; }
.apple-promo-card { position:relative; min-height:clamp(420px,42vw,640px); overflow:hidden; background:#e9e6df; isolation:isolate; }
.apple-promo-card::after { content:""; position:absolute; inset:0; pointer-events:none; z-index:0; background:linear-gradient(180deg,rgba(8,9,8,.24),transparent 42%,rgba(8,9,8,.08) 100%); }
.apple-promo-card img { width:100%; height:100%; position:absolute; inset:0; object-fit:cover; object-position:center; transform:scale(1.002); transition:transform .8s cubic-bezier(.2,.75,.2,1); }
.apple-promo-card:hover img { transform:scale(1.04); }
.apple-card-copy { position:relative; z-index:1; margin:0 auto; padding:clamp(42px,5vw,72px) 28px 26px; max-width:530px; text-align:center; color:#171715; }
.apple-card-copy h2 { margin:7px 0 8px; font-family:Georgia,"Times New Roman",serif; font-size:clamp(44px,5.2vw,82px); font-weight:400; letter-spacing:-.065em; line-height:.94; }
.apple-card-copy p:not(.eyebrow) { margin:0 auto 18px; max-width:330px; font-size:15px; line-height:1.55; }
.apple-card-copy .eyebrow { margin:0; font-size:11px; font-weight:700; letter-spacing:.14em; text-transform:uppercase; }
.light-copy { color:#fff; text-shadow:0 1px 24px rgba(0,0,0,.25); }
.light-copy .pill-link { color:#fff; border-color:rgba(255,255,255,.88); }
.dark-pill { color:#171715 !important; border-color:#171715 !important; }
.card-lounge img { object-position:center 57%; }
.card-study img { object-position:center; }
.card-office img { object-position:center 58%; }
.card-meditative img { object-position:center; }
.card-children img { object-position:center 55%; }

.collection { padding-top:120px; background:#fff; }
.collection .section-heading { max-width:750px; }
.collection .product-grid { max-width:1320px; margin-inline:auto; }
.collection .text-link { display:block; width:max-content; margin:32px auto 0; }

.inspiration-carousel { overflow:hidden; padding:var(--panel-gap) 0 42px; background:#f5f5f7; }
.carousel-viewport { overflow:hidden; width:100%; }
.carousel-track { display:flex; width:max-content; gap:var(--panel-gap); will-change:transform; transition:transform .7s cubic-bezier(.22,.8,.24,1); }
.carousel-slide { display:block; position:relative; flex:0 0 min(74vw,1260px); aspect-ratio:2.38/1; min-height:360px; overflow:hidden; color:#fff; background:#2c2c2d; text-decoration:none; }
.carousel-slide::after { content:""; position:absolute; inset:0; background:linear-gradient(0deg,rgba(0,0,0,.62),transparent 60%); }
.carousel-slide img { width:100%; height:100%; object-fit:cover; transition:transform .75s cubic-bezier(.2,.75,.2,1); }
.carousel-slide:hover img { transform:scale(1.035); }
.carousel-slide span { position:absolute; z-index:1; left:clamp(24px,3vw,48px); right:24px; bottom:clamp(24px,3vw,40px); display:flex; align-items:flex-start; flex-direction:column; }
.carousel-slide small { margin-bottom:8px; font-size:11px; font-weight:700; letter-spacing:.13em; text-transform:uppercase; }
.carousel-slide strong { font-family:Georgia,"Times New Roman",serif; font-size:clamp(34px,4vw,65px); font-weight:400; line-height:.95; letter-spacing:-.06em; }
.carousel-slide em { margin-top:18px; padding:10px 15px; border:1px solid rgba(255,255,255,.8); border-radius:999px; font-size:11px; font-style:normal; font-weight:700; letter-spacing:.08em; }
.carousel-mini-viewport { width:100%; margin-top:var(--panel-gap); overflow:hidden; }
.carousel-mini-track { display:flex; width:max-content; gap:var(--panel-gap); will-change:transform; transition:transform .7s cubic-bezier(.22,.8,.24,1); }
.carousel-mini-slide { position:relative; flex:0 0 min(28vw,470px); aspect-ratio:1.36/1; overflow:hidden; background:#292626; color:#fff; }
.carousel-mini-slide::after { content:""; position:absolute; inset:0; background:linear-gradient(0deg,rgba(0,0,0,.5),transparent 58%); }
.carousel-mini-slide img { display:block; width:100%; height:100%; object-fit:cover; }
.carousel-mini-slide span { position:absolute; z-index:1; left:18px; bottom:15px; font:600 clamp(14px,1.5vw,21px)/1 var(--sans); }
.carousel-footer { display:flex; align-items:center; justify-content:center; gap:0; margin-top:25px; }
.carousel-arrow { display:none; width:39px; height:39px; border:1px solid #d2d2d5; border-radius:50%; background:transparent; color:#171715; cursor:pointer; font-size:18px; transition:background .2s,color .2s; }
.carousel-arrow:hover { background:#171715; color:#fff; }
.carousel-dots { display:flex; align-items:center; gap:9px; min-height:22px; }
.carousel-dot { width:8px; height:8px; padding:0; border:0; border-radius:99px; background:#a6a6ab; cursor:pointer; transition:width .28s,background .28s; }
.carousel-dot.is-active { width:24px; background:#171715; }

/* Compact PDF-style footer: brand note, divider, then four restrained link columns. */
.site-footer { padding:34px clamp(28px,13.5vw,215px) 66px; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); column-gap:clamp(34px,7vw,120px); row-gap:0; background:#f5f5f7; }
.site-footer .footer-intro { grid-column:1/-1; }
.site-footer .footer-intro p { max-width:none; margin:0 0 52px; color:#77777d; font-size:11px; line-height:1.55; }
.site-footer .footer-divider { grid-column:1/-1; margin-bottom:14px; border-top:1px solid rgba(23,20,17,.62); }
.site-footer h3 { margin:0 0 12px; font:700 11px/1.3 var(--sans); }
.site-footer a:not(.footer-brand) { margin:7px 0; color:#74747a; font-size:10px; line-height:1.35; }

@media (max-width:760px) { .search-overlay, .bag-panel { top:57px; min-height:300px; padding:24px 28px 32px; } .search-overlay .search-field input { font-size:16px; } .hero-room img,.hero-room::after { border-radius:50% 50% 0 0/10% 10% 0 0; } .apple-promo-grid { grid-template-columns:1fr; gap:var(--panel-gap); padding:var(--panel-gap) var(--panel-gap) 0; } .apple-promo-card { min-height:560px; } .apple-card-copy { padding-top:45px; } .collection { padding-top:84px; } .inspiration-carousel { padding:var(--panel-gap) 0 54px; } .carousel-title { margin-bottom:28px; padding:0 21px; } .carousel-slide { flex-basis:82vw; min-height:460px; aspect-ratio:.82/1; } .carousel-slide img { object-position:center; } .carousel-footer { margin-top:18px; } .site-footer { grid-template-columns:repeat(2,minmax(0,1fr)); padding:30px 22px 46px; column-gap:34px; row-gap:28px; } .site-footer .footer-intro,.site-footer .footer-divider { grid-column:1/-1; } .site-footer .footer-intro p { margin-bottom:24px; font-size:10px; } .site-footer .footer-divider { margin-bottom:0; } }

/* Mobile follows the same visual system with compact, touch-friendly spacing. */
@media (max-width:760px) {
  .site-header { height:48px; padding:0 16px; }
  .brand { width:28px; height:28px; }
  .header-actions { height:48px; gap:2px; }
  .icon-button { width:36px; height:48px; display:grid; place-items:center; padding:0; }
  .menu-button { width:36px; height:48px; display:flex; align-items:center; justify-content:center; padding:0; }
  .search-overlay,
  .bag-panel { top:48px; min-height:300px; padding:0 20px 32px; }
  .search-overlay .overlay-inner,
  .bag-panel .bag-content { width:100%; margin:0; padding-top:24px; }
  .search-overlay .search-field,
  .quick-links,
  .search-overlay .search-results,
  .bag-guest,
  .bag-empty-signed { max-width:none; }
  .search-overlay .search-field input { font-size:18px; }
  .bag-guest h2,
  .bag-empty-signed h2 { font-size:20px; }
}

@media (min-width:761px) {
  .mega-menu { top:44px; }
  .search-overlay,
  .bag-panel { top:44px; }
}
