/* A compact picker with stable, individually moving record covers. */
.album-dialog{box-sizing:border-box;width:calc(100% - 28px);max-width:380px;border-radius:24px;padding:24px 22px 22px;background:#faf6ee;border:1px solid #fff9;max-height:calc(100dvh - 28px);overflow-x:hidden;overflow-y:auto;text-align:left}
.album-dialog>.eyebrow{font-size:10px;line-height:15px;letter-spacing:1.5px;color:#857263;display:block;padding-right:40px}
.album-close{right:12px;top:12px;width:36px;height:36px;border-radius:50%;background:#eee7dd;color:#493629;font-size:23px;display:grid;place-items:center}
.album-invitation{font-family:Lexend,Arial,sans-serif;font-size:24px;line-height:1.2;letter-spacing:-.8px;max-width:260px;margin:12px 0 8px;font-weight:400}
.album-discs{--disc-size:clamp(156px,51vw,194px);--disc-offset:clamp(122px,42vw,160px);height:calc(var(--disc-size) + 28px);min-height:0;margin:0 -22px 16px;padding:0;display:block;position:relative;overflow:hidden;touch-action:pan-y;user-select:none;cursor:grab}
.album-disc-track{position:relative;width:100%;height:100%;transition:transform 440ms ease-in-out}
.album-discs.is-dragging .album-disc-track,.album-discs.no-motion .album-record{transition:none}
.album-disc-track .album-record{position:absolute;inset:50% auto auto 50%;display:block;width:var(--disc-size);height:var(--disc-size);padding:0;background:none;aspect-ratio:1;border-radius:50%;opacity:1;transform:translate(-50%,-50%);z-index:2;transition:transform 520ms ease-in-out,opacity 520ms ease-in-out;gap:0;outline-offset:-4px}
.album-disc-track .album-record[data-position="-1"]{transform:translate(-50%,-50%) translateX(calc(var(--disc-offset) * -1)) scale(.72);opacity:.48;z-index:1}
.album-disc-track .album-record[data-position="1"]{transform:translate(-50%,-50%) translateX(var(--disc-offset)) scale(.72);opacity:.48;z-index:1}
.album-disc-track .album-record:focus-visible{outline:2px solid var(--album-accent)}
.album-record .disc-surface{width:100%;height:100%;box-shadow:0 9px 16px #30201725;animation:record-spin 16s linear infinite;animation-play-state:running}
.album-record[data-position="0"] .disc-surface{animation-play-state:running}
.album-record .disc-centre{width:59%;aspect-ratio:1;background-image:var(--disc-art);background-position:center;background-size:cover}
.album-record .disc-name{display:none}.album-swipe-hint{display:none}
.album-description{padding-top:0;min-height:0;margin:0 0 14px}
.album-description h2{font-size:32px;line-height:1.1;letter-spacing:-1px;font-weight:500;color:#2c211b}
.album-description h2:after{content:'.';color:var(--album-accent)}
#album-track{font-size:10px;text-transform:uppercase;letter-spacing:1px;line-height:15px;margin:7px 0 9px;color:var(--album-accent)}
.album-description p{font-size:13px;line-height:1.6;max-width:280px;margin:0;color:#7c6c60;min-height:42px}
.album-paging{justify-content:space-between;align-items:center;padding:0 0 13px;gap:12px}
.album-paging button{width:40px;height:40px;min-width:40px;min-height:40px;border-color:#e0d6c9;padding:9px}
.album-paging>span{font-size:10px;letter-spacing:2px;color:#8c7767}
.album-apply{background:var(--album-accent);border-radius:12px;padding:14px 16px;font-size:14px;min-height:48px}
.album-discs #album-sound{position:absolute;right:calc(50% - var(--disc-size) / 2 - 6px);bottom:7px;z-index:5;display:grid;place-items:center;margin:0;padding:10px;width:42px;height:42px;min-height:42px;border:1px solid #ded2c1;border-radius:50%;background:#faf6ee;color:#35251d;box-shadow:0 3px 10px #30201716}
#album-sound svg{display:block;width:19px;height:19px}
@media(max-height:640px){.album-dialog{padding-top:19px;padding-bottom:18px}.album-discs{--disc-size:145px;height:163px;margin-bottom:8px}.album-invitation{font-size:22px;margin-bottom:4px}.album-description h2{font-size:28px}.album-description{margin-bottom:9px}.album-description p{font-size:12px;line-height:1.5;min-height:36px}.album-paging{padding-bottom:9px}}
/* Tighten display/body contrast without shrinking controls or catalogue details. */
.opening h1{font-size:clamp(49px,15.5vw,66px);font-weight:700;letter-spacing:-2.8px}
.palette-heading{font-size:24px;font-weight:500;letter-spacing:-.6px}
.mood-copy p{font-size:20px;line-height:1.45}.mood-name{font-size:12px;font-weight:500}
.wardrobe-heading h2,.discovery-header h2,.collection-title h2{font-size:26px;font-weight:500;letter-spacing:-.7px;line-height:1.2}
.wardrobe-heading p,.discovery-header p{font-size:13px;line-height:1.65}
.statement-header h2{font-size:40px;font-weight:500;line-height:1.02;letter-spacing:-1.5px}
.handwritten{font-size:12px}.card-label,.find>span:nth-child(2){font-size:13px;line-height:1.45}
.card-meta,.find>small{font-size:10px;line-height:1.5}.collection-title p{font-size:12px}
/* A portrait editorial image with vertical room navigation. */
.room-editorial{padding:42px 20px 8px}
.room-editorial-heading{padding-bottom:23px}.room-editorial-heading .eyebrow{font-size:10px;letter-spacing:1.6px;color:var(--muted)}
.room-editorial-heading h2{font-size:30px;font-weight:400;line-height:1.12;letter-spacing:-1px;margin-top:11px}
.room-editorial-layout{display:grid;grid-template-columns:33px minmax(0,1fr);gap:12px}
.room-editorial-tabs{display:flex;flex-direction:column;justify-content:space-around;align-items:center;padding-bottom:50px}
.room-editorial-tabs button{writing-mode:vertical-rl;transform:rotate(180deg);font-size:12px;line-height:1.4;font-weight:400;letter-spacing:.1px;color:var(--muted);padding:12px 10px;background:none;border-left:2px solid transparent;min-width:44px;min-height:75px;transition:color .3s ease-in-out,border-color .3s ease-in-out}
.room-editorial-tabs button[aria-pressed=true]{color:var(--ink);font-weight:600;border-color:var(--accent)}
.room-editorial-scene{position:relative;display:block;isolation:isolate;width:100%;aspect-ratio:3/4.2;border-radius:90px 90px 18px 18px;overflow:hidden;text-align:left;padding:0;background:var(--soft)}
.room-editorial-scene .room-picture{position:absolute;inset:0;width:100%;height:100%;display:block}
.room-editorial-scene .room-picture img{position:absolute;inset:0;max-width:none;width:100%;height:100%;object-fit:cover;transform:none;filter:none}
.room-editorial-shade{position:absolute;inset:30% 0 0;background:linear-gradient(transparent,#23150bc4);pointer-events:none}
.room-editorial-caption{position:absolute;left:20px;right:17px;bottom:20px;color:#fff9f0;display:flex;flex-direction:column;gap:11px}
.room-editorial-caption small{font-size:9px;letter-spacing:1.6px;line-height:1.5}
.room-editorial-caption strong{font-family:Georgia,serif;font-size:27px;line-height:1.08;letter-spacing:-.5px;font-weight:400}
.room-editorial-caption>span{display:flex;justify-content:space-between;align-items:center;font-size:12px;padding-top:4px}
.room-editorial-notes{display:flex;gap:16px;align-items:flex-start;justify-content:space-between;padding-top:14px;font-size:11px;line-height:1.6;color:var(--muted)}
#room-editorial-number{font-size:10px;white-space:nowrap;padding-top:1px}
@media(prefers-reduced-motion:reduce){.album-disc-track{transform:none!important}}

/* Section rhythm. Keep page-level spacing and boundaries together here. */
.issue{--page-gutter:20px;--section-space:32px;--heading-space:24px;--copy-space:8px}
.hero-caption{padding:18px var(--page-gutter) var(--section-space)}
.palette-section,.pantry,.statement,.room-editorial,.discovery{position:relative;margin-top:var(--section-space);padding-top:var(--section-space);padding-bottom:0;scroll-margin-top:20px}
.palette-section:before,.pantry:before,.statement:before,.room-editorial:before,.discovery:before{content:'';position:absolute;top:0;left:var(--page-gutter);right:var(--page-gutter);height:1px;background:linear-gradient(to right,var(--accent) 0 32px,var(--line) 32px 100%);pointer-events:none}
.palette-section{margin-top:0;padding-left:var(--page-gutter);padding-right:var(--page-gutter)}
.palette-heading{margin:0 auto;font-size:26px;line-height:1.25;max-width:310px}
.palette-controls:not(.bottom-palette){padding-top:70px;gap:12px}
.mood-copy{min-height:0;padding:20px 0 0;gap:8px}
.mood-copy p{font-size:20px;line-height:1.45;margin:0}
.pantry{padding-left:var(--page-gutter);padding-right:var(--page-gutter)}
.wardrobe-heading{padding:0 0 var(--heading-space)}
.wardrobe-heading h2{max-width:none;margin:0 0 var(--copy-space)}
.wardrobe-heading p{max-width:300px;margin:0}
.wardrobe-heading h2,.statement-header h2,.room-editorial-heading h2,.discovery-header h2,.collection-title h2{font-size:28px;line-height:1.16;letter-spacing:-.8px;font-weight:500}
.wardrobe-heading p,.handwritten,.discovery-header p{font-family:Lexend,Arial,sans-serif;font-size:13px;line-height:1.65;letter-spacing:0;color:var(--muted);font-weight:400}
.statement-header{padding:0 var(--page-gutter) var(--heading-space);align-items:flex-start;flex-direction:column;gap:var(--copy-space)}
.statement-track{padding:0 var(--page-gutter) 0;gap:14px;scroll-padding-left:var(--page-gutter)}
.statement-card .card-label{display:block;margin-top:12px;margin-bottom:5px}
.rail-navigation{padding:20px var(--page-gutter) 0}
.room-editorial{padding-left:var(--page-gutter);padding-right:var(--page-gutter)}
.room-editorial-heading{padding:0 0 var(--heading-space)}
.room-editorial-heading h2{margin:8px 0 0}
.room-editorial-tabs{padding-bottom:0;align-self:stretch}
.room-editorial-notes{padding-top:14px;font-size:12px;line-height:1.55}
.discovery{padding-left:var(--page-gutter);padding-right:var(--page-gutter)}
.discovery-header{margin:0 0 var(--heading-space);display:flex;flex-direction:column;align-items:flex-start;gap:var(--copy-space)}
.discovery-header p{padding:0}
.finds-track{padding:20px 0 0;gap:12px}
.find>span:nth-child(2){display:block;margin-top:10px;margin-bottom:5px}
/* The shopping stage has its own white surface, reached through a short fade. */
.collection-continuation{margin-top:48px;padding-top:0;padding-bottom:130px}
.collection-continuation:before{height:48px}
.collection-title{position:relative;padding:32px var(--page-gutter) 20px}
.collection-title:before{content:'';position:absolute;top:0;left:var(--page-gutter);right:var(--page-gutter);height:1px;background:linear-gradient(to right,var(--accent) 0 32px,#e6e1da 32px 100%)}
.collection-title p{margin-top:8px;font-size:12px;line-height:1.5}
.collection-subcategories{gap:14px;padding:0 var(--page-gutter) 24px}
.collection-filterbar{padding:12px var(--page-gutter);border-top:1px solid #efefef}
.collection-products{padding:20px var(--page-gutter);gap:28px 12px}
@media(max-width:350px){.issue{--page-gutter:16px;--section-space:28px;--heading-space:20px}.wardrobe-heading h2,.statement-header h2,.room-editorial-heading h2,.discovery-header h2,.collection-title h2{font-size:26px}}
