.catalog-page { background:#eee5dc; }
.catalog-page .glass-nav { color:var(--earth); }

.catalog-hero { position:relative; min-height:100svh; overflow:hidden; display:flex; align-items:center; padding:135px max(7vw,32px) 80px; color:var(--paper); background:#3f3b35; }
.catalog-hero__picture, .catalog-hero__picture img, .catalog-hero__veil { position:absolute; inset:0; width:100%; height:100%; }
.catalog-hero__picture img { object-fit:cover; object-position:center; transform:scale(1.015); }
.catalog-hero__veil { background:linear-gradient(90deg,rgba(40,31,24,.82) 0%,rgba(40,31,24,.55) 34%,rgba(40,31,24,.1) 66%,rgba(40,31,24,.22) 100%),linear-gradient(180deg,rgba(35,28,23,.18),transparent 58%,rgba(35,28,23,.46)); }
.catalog-hero__content { position:relative; z-index:2; width:min(620px,52vw); }
.catalog-hero .eyebrow { color:rgba(247,242,235,.72); }
.catalog-hero h1 { margin:0; font-family:var(--font-display); font-size:clamp(4.6rem,8vw,8.8rem); font-weight:500; line-height:.78; letter-spacing:-.06em; }
.catalog-hero h1 em { color:#e6cbb9; }
.catalog-hero__content > p:not(.eyebrow) { max-width:430px; margin:30px 0 34px; color:rgba(247,242,235,.78); font-size:.9rem; line-height:1.7; }
.catalog-hero__script { position:absolute; right:5vw; bottom:7%; z-index:2; margin:0; font-family:var(--font-script); font-size:clamp(2rem,3.5vw,4rem); line-height:.86; text-align:center; transform:rotate(-7deg); }

.catalog-intro { position:relative; z-index:2; display:grid; grid-template-columns:minmax(300px,.78fr) minmax(560px,1.22fr); align-items:end; gap:60px; padding:120px max(7vw,32px) 85px; background:linear-gradient(145deg,#f8f2ea,#e9ded2); }
.catalog-intro h2 { margin:0; color:var(--ink); font-family:var(--font-display); font-size:clamp(3.4rem,5.5vw,6.4rem); font-weight:500; line-height:.84; letter-spacing:-.05em; }
.catalog-index { display:grid; grid-template-columns:repeat(3,1fr); gap:10px; }
.catalog-index a { display:flex; align-items:center; gap:12px; min-height:54px; padding:0 18px; color:var(--earth); border:1px solid rgba(79,74,64,.12); border-radius:999px; background:linear-gradient(115deg,rgba(255,255,255,.6),rgba(var(--chip-rgb),.12)); box-shadow:inset 0 1px 0 rgba(255,255,255,.8); font-family:var(--font-display); font-size:1.05rem; text-decoration:none; transition:transform .3s var(--ease-premium),background .3s ease; }
.catalog-index a:hover, .catalog-index a:focus-visible { background:linear-gradient(115deg,rgba(255,255,255,.78),rgba(var(--chip-rgb),.28)); transform:translateY(-2px); }
.catalog-index span { opacity:.55; font-family:var(--font-body); font-size:.52rem; letter-spacing:.12em; }

.catalog-stories { background:#e9ded2; }
.catalog-story { position:relative; isolation:isolate; min-height:100svh; overflow:hidden; scroll-margin-top:82px; display:grid; grid-template-columns:minmax(0,1.12fr) minmax(330px,.62fr); grid-template-rows:minmax(420px,1fr) auto; gap:26px clamp(38px,5vw,86px); align-items:center; padding:110px max(7vw,32px); background:linear-gradient(125deg,rgba(var(--story-rgb),.2),rgba(248,242,234,.95) 43%,rgba(var(--story-rgb),.12)); }
.catalog-story--reverse { grid-template-columns:minmax(330px,.62fr) minmax(0,1.12fr); }
.catalog-story__glow { position:absolute; z-index:-1; width:56vw; height:56vw; top:10%; left:-22vw; border-radius:50%; background:rgba(var(--story-rgb),.2); filter:blur(90px); }
.catalog-story--reverse .catalog-story__glow { right:-22vw; left:auto; }
.catalog-story__primary { position:relative; grid-row:1/3; align-self:stretch; min-height:660px; margin:0; overflow:hidden; border:1px solid rgba(255,255,255,.6); border-radius:44px 44px 18px 44px; box-shadow:inset 0 1px 0 rgba(255,255,255,.75),0 35px 85px rgba(79,74,64,.17); }
.catalog-story--reverse .catalog-story__primary { grid-column:2; border-radius:44px 44px 44px 18px; }
.catalog-story__primary picture, .catalog-story__primary img, .catalog-story__secondary picture, .catalog-story__secondary img { display:block; width:100%; height:100%; }
.catalog-story__primary img, .catalog-story__secondary img { object-fit:cover; transition:transform 1.1s var(--ease-premium); }
.catalog-story__primary:hover img, .catalog-story__secondary:hover img { transform:scale(1.025); }
.catalog-story figcaption { position:absolute; z-index:2; left:20px; bottom:18px; padding:10px 15px; color:var(--paper); border:1px solid rgba(255,255,255,.3); border-radius:999px; background:rgba(49,42,36,.35); backdrop-filter:blur(13px); font-size:.56rem; font-weight:600; letter-spacing:.11em; text-transform:uppercase; }
.catalog-story__content { align-self:end; padding-top:28px; }
.catalog-story--reverse .catalog-story__content { grid-column:1; grid-row:1; }
.catalog-story__number { display:flex; align-items:center; gap:14px; margin:0 0 22px; color:var(--story-color); font-family:var(--font-display); font-size:1.5rem; }
.catalog-story__number span { color:rgba(79,74,64,.58); font-family:var(--font-body); font-size:.58rem; font-weight:600; letter-spacing:.18em; text-transform:uppercase; }
.catalog-story h2 { margin:0; color:var(--ink); font-family:var(--font-display); font-size:clamp(4rem,6vw,7rem); font-weight:500; line-height:.75; letter-spacing:-.06em; }
.catalog-story__description { margin:30px 0 0; color:rgba(79,74,64,.75); font-size:.78rem; line-height:1.8; }
.catalog-story__rooms { margin-top:30px; padding-top:20px; border-top:1px solid rgba(79,74,64,.14); }
.catalog-story__rooms > span { display:block; margin-bottom:12px; color:rgba(79,74,64,.5); font-size:.55rem; font-weight:600; letter-spacing:.16em; text-transform:uppercase; }
.catalog-story__rooms ul { display:flex; flex-wrap:wrap; gap:8px; margin:0; padding:0; list-style:none; }
.catalog-story__rooms li { padding:8px 13px; border:1px solid rgba(var(--story-ink-rgb,var(--story-rgb)),.33); border-radius:999px; background:rgba(var(--story-ink-rgb,var(--story-rgb)),.09); font-size:.63rem; }
.catalog-story__product { display:flex; align-items:center; gap:17px; margin-top:25px; }
.catalog-story__product img { width:58px; height:76px; object-fit:contain; filter:drop-shadow(0 8px 7px rgba(79,74,64,.18)); }
.catalog-story__product div { display:grid; gap:4px; }
.catalog-story__product small { color:rgba(79,74,64,.55); font-size:.55rem; letter-spacing:.08em; text-transform:uppercase; }
.catalog-story__product strong { color:var(--earth); font-family:var(--font-display); font-size:1.25rem; font-weight:600; }
.catalog-story__secondary { position:relative; align-self:start; height:235px; margin:0; overflow:hidden; border:1px solid rgba(255,255,255,.62); border-radius:18px 42px 42px 42px; box-shadow:0 25px 55px rgba(79,74,64,.12); }
.catalog-story--reverse .catalog-story__secondary { grid-column:1; grid-row:2; border-radius:42px 18px 42px 42px; }

.catalog-close { position:relative; min-height:74svh; overflow:hidden; display:flex; align-items:center; justify-content:center; padding:100px 30px; color:var(--paper); text-align:center; background:linear-gradient(135deg,#596b49,#6d6a5e 58%,#4f4a40); }
.catalog-close::before { content:""; position:absolute; inset:0; opacity:.13; background-image:radial-gradient(rgba(255,255,255,.5) .5px,transparent .6px); background-size:5px 5px; }
.catalog-close__orb { position:absolute; width:min(62vw,760px); aspect-ratio:1; border:1px solid rgba(255,255,255,.13); border-radius:50%; box-shadow:inset 0 0 120px rgba(255,255,255,.05); }
.catalog-close__content { position:relative; z-index:2; }
.catalog-close .eyebrow { color:rgba(247,242,235,.65); }
.catalog-close h2 { margin:0 0 36px; font-family:var(--font-display); font-size:clamp(3.8rem,7vw,7.5rem); font-weight:500; line-height:.8; letter-spacing:-.055em; }
.catalog-noscript { margin:0; padding:30px; text-align:center; }

@media (max-width:980px) {
  .catalog-intro { grid-template-columns:1fr; align-items:start; }
  .catalog-index { max-width:720px; }
  .catalog-story, .catalog-story--reverse { grid-template-columns:minmax(0,1fr) minmax(290px,.72fr); gap:24px 34px; }
  .catalog-story__primary { min-height:580px; }
}

@media (max-width:720px) {
  .catalog-hero { min-height:780px; align-items:flex-start; padding:130px 22px 60px; text-align:center; }
  .catalog-hero__picture img { object-position:center bottom; }
  .catalog-hero__veil { background:linear-gradient(180deg,rgba(45,34,26,.82) 0%,rgba(45,34,26,.47) 42%,rgba(45,34,26,.13) 68%,rgba(45,34,26,.38)); }
  .catalog-hero__content { width:100%; }
  .catalog-hero h1 { font-size:clamp(4rem,19vw,6.2rem); }
  .catalog-hero__content > p:not(.eyebrow) { margin-right:auto; margin-left:auto; }
  .catalog-hero__script { right:22px; bottom:28px; font-size:2rem; }
  .catalog-intro { gap:38px; padding:86px 22px 68px; }
  .catalog-intro h2 { font-size:clamp(3.2rem,15vw,4.8rem); }
  .catalog-index { grid-template-columns:1fr 1fr; }
  .catalog-index a { min-height:50px; padding:0 13px; font-size:.93rem; }
  .catalog-story, .catalog-story--reverse { min-height:auto; display:flex; flex-direction:column; gap:0; padding:74px 18px 88px; }
  .catalog-story__primary, .catalog-story--reverse .catalog-story__primary { order:1; width:100%; min-height:0; height:68svh; max-height:680px; border-radius:30px 30px 14px 30px; }
  .catalog-story__content, .catalog-story--reverse .catalog-story__content { order:2; width:100%; padding:42px 7px 0; }
  .catalog-story h2 { font-size:clamp(4.1rem,19vw,6.3rem); }
  .catalog-story__description { font-size:.77rem; }
  .catalog-story__secondary, .catalog-story--reverse .catalog-story__secondary { order:3; width:calc(100% - 14px); height:48svh; min-height:350px; margin:36px 7px 0; border-radius:14px 30px 30px 30px; }
  .catalog-story__glow { width:120vw; height:120vw; left:-55vw; }
  .catalog-story--reverse .catalog-story__glow { right:-55vw; }
  .catalog-close { min-height:650px; }
  .catalog-close h2 { font-size:clamp(3.7rem,17vw,5.8rem); text-wrap:balance; }
  .catalog-close h2 br { display:none; }
}

@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))) {
  .catalog-story figcaption { background:rgba(49,42,36,.82); }
}
