:root { --ink:#1d1b19; --cream:#f5f1eb; --paper:#fffdfa; --espresso:#372922; --clay:#a86e57; --moss:#39453b; --sky:#b7c9dc; --line:rgba(29,27,25,.18); --muted:#706b65; --serif: Georgia, 'Times New Roman', serif; --sans: Arial, Helvetica, sans-serif; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; background:var(--cream); }
body { margin:0; background:var(--cream); color:var(--ink); font-family:var(--sans); font-size:16px; line-height:1.45; }
button, input { font:inherit; }
button, a { -webkit-tap-highlight-color:transparent; }
a { color:inherit; text-decoration:none; }
button { cursor:pointer; }
button:focus-visible, a:focus-visible, input:focus-visible { outline:2px solid var(--clay); outline-offset:3px; }
.page-shell { width:min(100% - 32px, 1360px); margin-inline:auto; }
.sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.announcement-bar { height:32px; display:flex; align-items:center; justify-content:center; background:#201e1c; color:#fbf5eb; font-size:10px; letter-spacing:.14em; text-transform:uppercase; }
.site-header { min-height:73px; display:grid; grid-template-columns:40px 1fr auto; align-items:center; gap:14px; padding:0 16px; background:var(--paper); border-bottom:1px solid var(--line); position:sticky; top:0; z-index:30; }
.brand-mark { width:max-content; display:inline-flex; flex-direction:column; align-items:center; justify-self:center; line-height:.75; }
.brand-mark span { font-family:var(--serif); font-size:31px; font-style:italic; letter-spacing:-.08em; }
.brand-mark small { margin-top:8px; font-size:7px; font-weight:700; letter-spacing:.22em; }
.utility-nav { display:flex; align-items:center; gap:3px; justify-self:end; }
.icon-button { min-width:38px; height:38px; border:0; padding:0; display:inline-flex; justify-content:center; align-items:center; background:transparent; color:var(--ink); position:relative; border-radius:50%; transition:background .18s ease, transform .18s ease; }
.icon-button:hover { background:#eee9e1; }
.icon-button:active { transform:scale(.95); }
.bag-count { position:absolute; right:1px; top:1px; width:15px; height:15px; display:grid; place-items:center; background:var(--espresso); color:white; font-size:9px; border-radius:50%; }
.desktop-nav { display:none; }
.desktop-utility { display:none; }
.mobile-menu { position:fixed; inset:0; z-index:80; display:flex; flex-direction:column; background:var(--paper); padding:24px 22px; animation:slide-in .22s cubic-bezier(.23,1,.32,1); }
.mobile-menu__top { display:flex; align-items:center; justify-content:space-between; padding-bottom:30px; border-bottom:1px solid var(--line); }
.mobile-menu .brand-mark { justify-self:start; align-items:flex-start; }
.mobile-menu nav { flex:1; padding:20px 0; }
.mobile-menu__link { display:block; padding:15px 0 16px; border-bottom:1px solid var(--line); }
.mobile-menu__link span { display:flex; gap:16px; align-items:baseline; font-family:var(--serif); font-size:28px; letter-spacing:-.04em; }
.mobile-menu__link b { font-family:var(--sans); font-size:10px; letter-spacing:.1em; color:var(--muted); }
.mobile-menu__link small { display:block; margin:7px 0 0 28px; color:var(--muted); font-size:11px; }
.mobile-menu__bottom { padding-top:18px; font-size:11px; text-transform:uppercase; letter-spacing:.11em; }
.hero { min-height:calc(100svh - 105px); position:relative; display:flex; align-items:flex-end; overflow:hidden; background:#8b9cae; color:white; }
.hero>img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:55% center; }
.hero__overlay { position:absolute; inset:0; background:linear-gradient(90deg,rgba(17,18,18,.82) 0%,rgba(17,18,18,.48) 58%,rgba(17,18,18,.24) 100%),linear-gradient(0deg,rgba(17,18,18,.72),rgba(17,18,18,.08) 68%); }
.hero__content { position:relative; z-index:1; padding-top:74px; padding-bottom:49px; }
.eyebrow { margin:0 0 13px; font-size:10px; letter-spacing:.16em; font-weight:700; text-transform:uppercase; }
.hero__eyebrow { color:#f6ecdd; }
.hero h1, h2, h3 { font-family:var(--serif); font-weight:400; letter-spacing:-.06em; }
.hero h1 { max-width:550px; margin:0; font-size:clamp(54px,12vw,144px); line-height:.78; font-style:italic; }
.hero__content>p:not(.eyebrow) { max-width:270px; margin:27px 0 23px; font-size:15px; line-height:1.4; }
.hero__actions { display:flex; flex-wrap:wrap; align-items:center; gap:22px; }
.button, .text-link { display:inline-flex; align-items:center; justify-content:center; gap:9px; width:max-content; min-height:47px; font-size:11px; font-weight:700; text-transform:uppercase; letter-spacing:.09em; transition:transform .18s ease, background .18s ease, color .18s ease; }
.button { padding:0 18px; border:1px solid transparent; }
.button:hover, .text-link:hover { transform:translateX(3px); }
.button:active { transform:scale(.97); }
.button--light { background:#f6f1e9; color:#1e1b1a; }
.button--dark { background:var(--espresso); color:white; }
.button--outline { background:transparent; border-color:var(--ink); color:var(--ink); }
.text-link { min-height:unset; padding:6px 0; border:0; border-bottom:1px solid currentColor; background:none; }
.text-link--light { color:white; }
.hero__side-note { display:none; }
.intro { padding-top:83px; padding-bottom:84px; }
.intro__grid { display:grid; gap:26px; }
.intro h2, .section-heading h2, .set-story h2, .vault-section h2, .material-story h2, .youth-teaser h2, .footer-newsletter h2 { margin:0; font-size:clamp(39px,9vw,82px); line-height:.92; }
.intro h2 i { font-style:italic; color:var(--clay); }
.intro__grid>p { margin:0; max-width:430px; color:#514c46; font-size:15px; line-height:1.65; }
.collection-section { padding-bottom:86px; }
.section-heading { display:flex; flex-direction:column; align-items:flex-start; gap:18px; margin-bottom:28px; }
.section-heading h2 { font-size:clamp(39px,8vw,72px); }
.category-grid { display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.category-card { min-height:260px; position:relative; overflow:hidden; background:#b3a797; color:white; }
.category-card--wide { grid-column:span 2; min-height:370px; }
.category-card img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; transition:transform .55s cubic-bezier(.23,1,.32,1); }
.category-card--wide img { object-position:center 40%; }
.category-card__shade { position:absolute; inset:0; background:linear-gradient(0deg,rgba(21,19,17,.92),rgba(21,19,17,.18) 72%); }
.category-card__copy { position:absolute; z-index:1; inset:auto 14px 15px; display:grid; grid-template-columns:1fr auto; gap:7px; align-items:end; }
.category-card__copy span { font-family:var(--serif); font-size:31px; line-height:.9; letter-spacing:-.06em; }
.category-card__copy small { grid-row:2; max-width:170px; font-size:10px; line-height:1.35; }
.circle-arrow { grid-column:2; grid-row:1 / span 2; width:35px; height:35px; border:1px solid rgba(255,255,255,.7); border-radius:50%; display:grid; place-items:center; }
.category-card:hover img { transform:scale(1.04); }
.set-story { display:grid; background:#d2d1c9; }
.set-story__image { min-height:460px; }
.set-story__image img { width:100%; height:100%; object-fit:cover; object-position:50% center; }
.set-story__copy { padding:55px 24px 58px; background:#dfe2da; }
.set-story__copy h2 { margin-bottom:22px; }
.set-story__copy p:not(.eyebrow) { max-width:375px; color:#4f534d; font-size:14px; line-height:1.6; margin:0 0 27px; }
.vault-section { padding:87px 0 0; background:#261f1d; color:#f7f0e6; }
.vault-section__header { display:grid; gap:20px; padding-bottom:34px; }
.vault-section__header p:last-child { max-width:330px; margin:0; color:#c8bdb0; font-size:14px; line-height:1.55; }
.vault-feature { display:grid; width:100%; }
.vault-feature__visual { min-height:500px; position:relative; }
.vault-feature__visual img { width:100%; height:100%; object-fit:cover; object-position:54% center; filter:saturate(.88); }
.drop-code { position:absolute; left:20px; top:20px; padding:8px 10px; background:#f3e8d9; color:#211d1a; font-size:9px; font-weight:700; letter-spacing:.13em; }
.vault-feature__info { padding:47px 24px 60px; }
.vault-kicker { color:#d7a181; font-size:10px; font-weight:700; letter-spacing:.15em; }
.vault-feature h3 { margin:0 0 19px; font-size:clamp(47px,10vw,81px); line-height:.87; font-style:italic; }
.vault-feature__info>p:not(.vault-kicker) { max-width:405px; color:#c8bdb0; font-size:14px; line-height:1.6; margin:0 0 25px; }
.status-row { display:flex; flex-wrap:wrap; gap:9px; margin-bottom:29px; }
.status { padding:8px 10px; display:inline-flex; align-items:center; gap:6px; border:1px solid rgba(247,240,230,.33); font-size:9px; font-weight:700; text-transform:uppercase; letter-spacing:.09em; }
.status i { display:inline-block; width:6px; height:6px; border-radius:50%; background:#b7b0a9; }
.status--active i { background:#9dc794; }.status--soon i { background:#d7a181; }.status--sold i { background:#aaa29b; }
.vault-feature .text-link { color:#f7f0e6; }
.accessories-story { display:grid; background:#e8e0d7; }.accessories-story__image { min-height:390px; }.accessories-story__image img { width:100%; height:100%; object-fit:cover; object-position:50% center; }.accessories-story__copy { padding:48px 24px 54px; }.accessories-story__copy h2 { margin:0 0 19px; font-size:clamp(43px,9vw,80px); line-height:.9; }.accessories-story__copy p:not(.eyebrow) { max-width:380px; margin:0 0 24px; color:#5a5048; font-size:14px; line-height:1.6; }
.material-story { padding-top:84px; padding-bottom:89px; display:grid; gap:42px; }
.material-story__copy>p:not(.eyebrow) { max-width:410px; margin:23px 0 22px; color:#514c46; font-size:14px; line-height:1.6; }
.material-story__stack { position:relative; min-height:480px; }
.material-story__colors { width:68%; height:420px; object-fit:cover; object-position:50% center; }
.material-story__label { position:absolute; right:0; bottom:0; width:48%; height:255px; object-fit:cover; object-position:center; border:8px solid var(--cream); }
.youth-teaser { margin-bottom:85px; display:grid; background:#ede8df; }
.youth-teaser__visual { min-height:365px; }.youth-teaser__visual img { width:100%; height:100%; object-fit:cover; object-position:60% center; }.youth-teaser__copy { padding:48px 24px 52px; }.youth-teaser__copy h2 { margin-bottom:20px; }.youth-teaser__copy p:not(.eyebrow) { max-width:390px; margin:0 0 24px; color:#5e554e; font-size:14px; line-height:1.6; }
.site-footer { background:#ba8b74; color:#1f1b18; padding:60px 16px 18px; }.footer-newsletter { padding-bottom:50px; border-bottom:1px solid rgba(31,27,24,.25); }.footer-newsletter h2 { max-width:650px; font-size:clamp(38px,9vw,74px); }.footer-newsletter>p:not(.eyebrow) { max-width:390px; margin:19px 0 20px; font-size:14px; }.footer-newsletter form { display:flex; flex-direction:column; max-width:474px; gap:10px; }.footer-newsletter input { width:100%; min-height:49px; padding:0 14px; background:transparent; border:1px solid rgba(31,27,24,.48); border-radius:0; outline:none; }.footer-newsletter input:focus { border-color:var(--ink); box-shadow:0 0 0 2px rgba(31,27,24,.15); }.footer-newsletter button { min-height:49px; padding:0 17px; border:1px solid var(--ink); background:var(--ink); color:#f7f0e6; font-size:11px; font-weight:700; letter-spacing:.09em; text-transform:uppercase; }.footer-newsletter small { display:block; max-width:430px; margin-top:13px; font-size:10px; line-height:1.45; opacity:.74; }.footer-links { display:grid; grid-template-columns:1.3fr 1fr 1fr; gap:16px; padding:39px 0; }.footer-links div { display:flex; flex-direction:column; gap:9px; }.footer-title { margin:0 0 5px; font-size:10px; font-weight:700; letter-spacing:.13em; text-transform:uppercase; }.footer-links a { font-size:12px; }.footer-links a:hover { text-decoration:underline; }.footer-base { display:flex; justify-content:space-between; gap:10px; padding-top:16px; border-top:1px solid rgba(31,27,24,.25); font-size:9px; letter-spacing:.08em; text-transform:uppercase; }.not-found { min-height:70vh; padding:120px 16px; text-align:center; }.not-found h1 { max-width:600px; margin:0 auto 25px; font-size:clamp(45px,8vw,90px); line-height:.9; }
.design-notes { position:fixed; inset:0; z-index:90; display:flex; justify-content:flex-end; }.design-notes__backdrop { position:absolute; inset:0; border:0; background:rgba(21,18,15,.44); }.design-notes__panel { position:relative; width:min(100%,720px); min-height:100%; overflow:auto; padding:82px 28px 34px; background:#f7f1e8; animation:slide-in .3s cubic-bezier(.23,1,.32,1); }.design-notes__close { position:absolute; right:22px; top:21px; padding:4px 0; border:0; background:none; display:inline-flex; gap:8px; align-items:center; font-size:10px; font-weight:700; letter-spacing:.09em; text-transform:uppercase; }.design-notes__close svg { transform:rotate(45deg); }.design-notes__panel>h2 { max-width:570px; margin:0; font-size:clamp(41px,8vw,72px); line-height:.92; }.design-notes__grid { display:grid; gap:23px; margin-top:43px; }.design-notes__grid>div { padding-top:14px; border-top:1px solid var(--line); }.design-notes__grid span { color:var(--clay); font-size:11px; font-weight:700; letter-spacing:.1em; }.design-notes__grid h3 { margin:6px 0 7px; font-size:25px; }.design-notes__grid p { max-width:290px; margin:0; color:#5d5750; font-size:13px; line-height:1.55; }.design-notes__approval { display:flex; align-items:center; gap:10px; margin-top:40px; padding:14px; background:#e5e6dd; font-size:11px; font-weight:700; }
.vault-page__hero { min-height:calc(100svh - 105px); position:relative; overflow:hidden; display:flex; align-items:flex-end; color:#f8f1e8; background:#29231f; }.vault-page__hero>img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:51% center; }.vault-page__hero-shade { position:absolute; inset:0; background:linear-gradient(90deg,rgba(18,16,14,.76),rgba(18,16,14,.08) 75%),linear-gradient(0deg,rgba(18,16,14,.45),transparent 65%); }.vault-page__hero-copy { position:relative; padding-top:90px; padding-bottom:56px; }.vault-page__hero-copy h1 { margin:0; font-size:clamp(65px,15vw,160px); line-height:.77; }.vault-page__hero-copy h1 i { color:#d4a187; }.vault-page__hero-copy>p:not(.eyebrow) { max-width:290px; margin:25px 0; font-size:15px; }.vault-page__intro { padding-top:85px; padding-bottom:90px; }.vault-page__intro>div { display:grid; gap:22px; }.vault-page__intro h2 { margin:0; font-size:clamp(42px,9vw,85px); line-height:.9; }.vault-page__intro p:last-child { max-width:405px; margin:0; color:#5c554e; font-size:14px; line-height:1.6; }.vault-page__status { padding-bottom:90px; }.vault-page__fine-print { max-width:280px; margin:0; color:#686059; font-size:12px; line-height:1.5; }.vault-status-grid { display:grid; gap:12px; }.vault-status-card { min-height:420px; position:relative; overflow:hidden; background:#352b26; color:#f8f1e8; }.vault-status-card>img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }.vault-status-card__shade { position:absolute; inset:0; background:linear-gradient(0deg,rgba(19,16,14,.81),transparent 70%); }.vault-status-card__copy { position:absolute; inset:auto 18px 19px; display:grid; grid-template-columns:1fr auto; gap:9px; align-items:end; }.vault-status-card__copy>p { margin:0; font-size:9px; font-weight:700; letter-spacing:.13em; }.vault-status-card__copy h3 { margin:0; font-size:39px; line-height:.9; }.vault-status-card__copy .status { grid-column:1 / -1; justify-self:start; }.vault-status-card__copy .circle-arrow { grid-column:2; grid-row:2 / span 2; }.vault-page__texture { padding:78px 0; background:#322824; color:#f6ede2; }.vault-page__texture>.page-shell { display:grid; gap:40px; }.vault-page__texture h2 { margin:0 0 19px; font-size:clamp(46px,10vw,85px); line-height:.9; }.vault-page__texture p:not(.eyebrow) { max-width:400px; margin:0; color:#cfc0b2; font-size:14px; line-height:1.6; }.vault-page__texture img { width:100%; max-height:490px; object-fit:cover; object-position:center; }
.collection-hero { min-height:430px; position:relative; display:flex; align-items:end; color:#fffaf2; overflow:hidden; background:#34302b; }.collection-hero>img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center 40%; }.collection-hero__shade { position:absolute; inset:0; background:linear-gradient(90deg,rgba(18,16,14,.92),rgba(18,16,14,.58) 83%),linear-gradient(0deg,rgba(18,16,14,.72),rgba(18,16,14,.14) 62%); }.collection-hero__copy { position:relative; padding-top:80px; padding-bottom:48px; }.collection-hero__copy h1 { margin:0; font-size:clamp(55px,12vw,130px); line-height:.8; }.collection-hero__copy>p:not(.eyebrow) { max-width:390px; margin:19px 0 0; font-size:14px; line-height:1.5; }.collection-content { padding-top:30px; padding-bottom:90px; }.collection-tabs { display:flex; gap:8px; overflow:auto; padding-bottom:18px; scrollbar-width:none; }.collection-tabs::-webkit-scrollbar { display:none; }.collection-tabs a { flex:none; padding:9px 12px; border:1px solid var(--line); font-size:10px; font-weight:700; letter-spacing:.07em; text-transform:uppercase; transition:background .18s ease; }.collection-tabs a:hover { background:#e8e1d8; }.collection-toolbar { display:flex; align-items:end; justify-content:space-between; gap:16px; padding:19px 0; border-top:1px solid var(--line); border-bottom:1px solid var(--line); }.collection-toolbar p { display:flex; flex-direction:column; gap:3px; margin:0; font-size:12px; }.collection-toolbar p span { color:var(--muted); font-size:11px; }.filter-trigger { display:inline-flex; align-items:center; gap:6px; min-height:35px; padding:0; border:0; background:transparent; font-size:10px; font-weight:700; letter-spacing:.07em; text-transform:uppercase; }.catalog-preview-note { display:flex; align-items:flex-start; gap:12px; margin:22px 0; padding:13px; background:#eee7de; font-size:11px; line-height:1.45; }.catalog-preview-note span { flex:none; padding:3px 5px; background:#382d28; color:#fff8ef; font-size:8px; font-weight:700; text-transform:uppercase; letter-spacing:.08em; }.catalog-preview-note p { margin:0; }.catalog-grid { display:grid; grid-template-columns:1fr 1fr; gap:16px 10px; }.live-product-card { min-width:0; }.live-product-card__image { height:220px; position:relative; overflow:hidden; background:#ded8d0; }.live-product-card__image img { width:100%; height:100%; object-fit:cover; }.live-product-card__image span { position:absolute; top:9px; left:9px; padding:5px 6px; background:#fffaf2; color:var(--ink); font-size:8px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; }.live-product-card__info { padding:10px 0 8px; display:flex; justify-content:space-between; gap:8px; align-items:flex-start; }.live-product-card__info p { margin:0 0 2px; font-size:10px; font-weight:700; text-transform:uppercase; letter-spacing:.06em; }.live-product-card__info small { display:block; color:#777069; font-size:10px; line-height:1.35; }.live-product-card__info svg { flex:none; margin-top:5px; }.live-product-card__swatches { display:flex; align-items:center; gap:5px; }.live-product-card__swatches i, .unconfigured-option i { display:block; width:13px; height:13px; border:1px solid rgba(29,27,25,.25); border-radius:50%; background:#221d1c; }.live-product-card__swatches i:nth-child(2), .unconfigured-option i:nth-child(2) { background:#b5c8db; }.live-product-card__swatches i:nth-child(3), .unconfigured-option i:nth-child(3) { background:#c9b296; }.live-product-card__swatches b { margin-left:3px; color:#777069; font-size:9px; font-weight:400; }.collection-endcap { display:grid; margin-top:72px; background:#3b302b; color:#f7eee3; }.collection-endcap>img { width:100%; min-height:320px; height:100%; object-fit:cover; object-position:center; }.collection-endcap>div { padding:45px 23px; }.collection-endcap h2 { margin:0 0 19px; font-size:clamp(44px,9vw,76px); line-height:.88; }.collection-endcap p:not(.eyebrow) { max-width:370px; margin:0 0 24px; color:#dacdc1; font-size:14px; line-height:1.55; }.product-breadcrumb { display:flex; gap:8px; align-items:center; padding-top:18px; padding-bottom:18px; color:#6c655e; font-size:10px; text-transform:uppercase; letter-spacing:.06em; }.product-breadcrumb b { color:var(--ink); }.product-layout { display:grid; }.product-gallery { display:grid; grid-template-columns:1fr 1fr; gap:6px; }.product-gallery figure { margin:0; min-height:230px; position:relative; overflow:hidden; background:#ded7cf; }.product-gallery figure:first-child { grid-column:span 2; min-height:420px; }.product-gallery img { width:100%; height:100%; object-fit:cover; object-position:center; }.product-gallery__primary img { object-position:center; }.product-gallery figcaption { position:absolute; left:9px; bottom:9px; padding:5px 6px; background:rgba(255,250,242,.92); color:var(--ink); font-size:8px; font-weight:700; text-transform:uppercase; letter-spacing:.07em; }.product-buybox { padding:37px 0 75px; }.product-buybox__top { display:flex; justify-content:space-between; align-items:flex-start; }.product-buybox__top .eyebrow { margin-top:12px; }.product-buybox h1 { margin:0; font-size:clamp(49px,10vw,83px); line-height:.85; }.product-live-price { margin:16px 0 19px; font-size:13px; font-weight:700; }.product-preview-disclaimer { display:grid; gap:5px; padding:13px; background:#ebe5dc; color:#625a53; font-size:11px; line-height:1.5; }.product-preview-disclaimer b { color:#2c2724; font-size:10px; letter-spacing:.06em; text-transform:uppercase; }.product-option { padding:23px 0; border-bottom:1px solid var(--line); }.product-option__label { display:flex; justify-content:space-between; align-items:baseline; margin-bottom:12px; }.product-option__label span, .product-quantity>span { font-size:11px; font-weight:700; text-transform:uppercase; letter-spacing:.08em; }.product-option__label small { color:#777069; font-size:10px; }.unconfigured-option { display:flex; gap:7px; align-items:center; }.unconfigured-option b { margin-left:3px; color:#777069; font-size:10px; font-weight:400; }.select-preview { display:flex; justify-content:space-between; align-items:center; width:100%; min-height:48px; padding:0 13px; border:1px solid var(--line); background:transparent; color:#625a53; text-align:left; font-size:11px; }.product-quantity { display:flex; align-items:center; justify-content:space-between; padding:18px 0; }.product-quantity>div { display:flex; align-items:center; gap:13px; }.product-quantity button { width:29px; height:29px; border:1px solid var(--line); background:transparent; display:grid; place-items:center; }.product-quantity b { min-width:12px; text-align:center; font-size:12px; }.product-add-button { width:100%; min-height:53px; display:flex; justify-content:center; align-items:center; gap:9px; border:0; background:#342923; color:#fffaf2; font-size:11px; font-weight:700; letter-spacing:.09em; text-transform:uppercase; }.product-preview-message { margin:10px 0 0; color:#756b62; font-size:11px; }.product-shipping-note { display:flex; align-items:flex-start; gap:8px; margin:18px 0 0; padding-bottom:18px; color:#625a53; font-size:11px; line-height:1.5; border-bottom:1px solid var(--line); }.product-shipping-note svg { flex:none; }.product-accordions>div { border-bottom:1px solid var(--line); }.product-accordions button { width:100%; min-height:50px; padding:0; display:flex; align-items:center; justify-content:space-between; border:0; background:transparent; text-align:left; font-size:11px; font-weight:700; text-transform:uppercase; letter-spacing:.08em; }.product-accordions button svg { transition:transform .18s ease; }.product-accordions button svg.is-open { transform:rotate(45deg); }.product-accordions p { margin:0; padding:0 0 16px; color:#665f58; font-size:12px; line-height:1.5; }.complete-set { margin-bottom:90px; padding:42px 22px; background:#e3e6df; }.complete-set__heading h2 { margin:0 0 17px; font-size:clamp(43px,9vw,76px); line-height:.88; }.complete-set__heading p:not(.eyebrow) { max-width:360px; margin:0 0 24px; color:#5b625b; font-size:13px; line-height:1.55; }.complete-set__card { position:relative; min-height:380px; overflow:hidden; color:#fffaf2; }.complete-set__card>img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center; }.complete-set__card:after { content:""; position:absolute; inset:0; background:linear-gradient(0deg,rgba(15,13,12,.72),transparent 68%); }.complete-set__card>div { position:absolute; z-index:1; left:18px; right:18px; bottom:18px; }.complete-set__card span { display:block; margin-bottom:7px; font-size:9px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; }.complete-set__card h3 { margin:0 0 18px; font-size:42px; line-height:.88; }
.product-availability { display:flex; justify-content:space-between; align-items:center; gap:15px; padding:18px 0; border-bottom:1px solid var(--line); }.product-availability>span { font-size:11px; font-weight:700; text-transform:uppercase; letter-spacing:.08em; }.product-availability>div { display:flex; align-items:center; gap:6px; color:#716860; font-size:10px; }.product-availability i { width:7px; height:7px; border-radius:50%; background:#a68a6d; }
@media (min-width: 760px) { .page-shell { width:min(100% - 80px, 1360px); }.site-header { grid-template-columns:auto 1fr auto; min-height:86px; padding:0 40px; }.mobile-only{display:none}.desktop-nav { display:flex; justify-content:center; align-items:center; gap:clamp(16px,2vw,35px); }.desktop-nav a { position:relative; font-size:10px; font-weight:700; letter-spacing:.07em; text-transform:uppercase; white-space:nowrap; }.desktop-nav a:after { content:""; position:absolute; left:0; bottom:-7px; width:0; height:1px; background:currentColor; transition:width .22s ease; }.desktop-nav a:hover:after{width:100%}.desktop-nav em { position:absolute; left:50%; top:-13px; transform:translateX(-50%); font-size:7px; font-style:normal; color:#704536; letter-spacing:.08em; }.desktop-utility{display:inline-flex}.hero { min-height:calc(100svh - 118px); }.hero__content { padding-bottom:82px; }.hero__content>p:not(.eyebrow) { font-size:17px; max-width:320px; }.hero__side-note { display:block; position:absolute; right:40px; bottom:31px; z-index:1; text-align:right; font-size:10px; font-weight:700; letter-spacing:.14em; line-height:1.6; text-transform:uppercase; }.intro { padding-top:120px; padding-bottom:122px; }.intro__grid { grid-template-columns:1.5fr .7fr; gap:80px; align-items:end; }.intro__grid>p { padding-bottom:6px; }.collection-section { padding-bottom:122px; }.section-heading { flex-direction:row; justify-content:space-between; align-items:end; margin-bottom:38px; }.category-grid { grid-template-columns:1.25fr .8fr .8fr; grid-template-rows:360px 360px; gap:14px; }.category-card { min-height:0; }.category-card--wide { grid-column:span 1; grid-row:span 2; }.category-card__copy { inset:auto 22px 20px; }.category-card__copy span { font-size:40px; }.set-story { grid-template-columns:1.1fr .9fr; min-height:620px; }.set-story__image { min-height:0; }.set-story__copy { padding:90px clamp(40px,6vw,110px); display:flex; flex-direction:column; justify-content:center; }.vault-section { padding-top:126px; }.vault-section__header { grid-template-columns:1.3fr .7fr; gap:70px; align-items:end; padding-bottom:58px; }.vault-feature { grid-template-columns:1.12fr .88fr; }.vault-feature__visual { min-height:700px; }.vault-feature__info { padding:90px clamp(45px,7vw,120px) 60px; display:flex; flex-direction:column; justify-content:center; }.material-story { grid-template-columns:.85fr 1.15fr; align-items:center; gap:60px; padding-top:125px; padding-bottom:128px; }.material-story__stack { min-height:610px; }.material-story__colors { height:550px; }.material-story__label { height:320px; width:42%; }.youth-teaser { grid-template-columns:1.1fr .9fr; min-height:520px; margin-bottom:120px; }.youth-teaser__visual { min-height:0; }.youth-teaser__copy { padding:84px clamp(35px,6vw,100px); display:flex; flex-direction:column; justify-content:center; }.site-footer { padding:82px 40px 20px; }.footer-newsletter { display:grid; grid-template-columns:1.05fr .95fr; gap:10px 80px; align-items:end; }.footer-newsletter>.eyebrow { grid-column:1 / -1; }.footer-newsletter h2 { grid-column:1; }.footer-newsletter>p:not(.eyebrow), .footer-newsletter form, .footer-newsletter small { grid-column:2; }.footer-newsletter form { flex-direction:row; max-width:none; }.footer-newsletter form input { min-width:0; }.footer-newsletter form button { flex:0 0 auto; }.footer-newsletter small { margin:3px 0 0; }.footer-links { grid-template-columns:repeat(3,1fr); gap:30px; padding:54px 0; }.design-notes__panel { padding:100px 62px 50px; }.design-notes__grid { grid-template-columns:1fr 1fr; gap:26px 36px; }.design-notes__close { right:40px; top:29px; }
 .accessories-story { grid-template-columns:1fr 1fr; min-height:570px; }.accessories-story__image { min-height:0; }.accessories-story__copy { padding:82px clamp(40px,7vw,115px); display:flex; flex-direction:column; justify-content:center; }.vault-page__hero { min-height:calc(100svh - 118px); }.vault-page__hero-copy { padding-bottom:90px; }.vault-page__intro { padding-top:125px; padding-bottom:125px; }.vault-page__intro>div { grid-template-columns:1.2fr .8fr; gap:80px; align-items:end; }.vault-page__status { padding-bottom:128px; }.vault-status-grid { grid-template-columns:repeat(3,1fr); gap:14px; }.vault-status-card { min-height:510px; }.vault-page__texture { padding:110px 0; }.vault-page__texture>.page-shell { grid-template-columns:.9fr 1.1fr; align-items:center; gap:90px; }.vault-page__texture img { max-height:560px; }
 .collection-hero { min-height:530px; }.collection-hero__copy { padding-bottom:72px; }.collection-content { padding-top:44px; padding-bottom:120px; }.catalog-grid { grid-template-columns:repeat(3,1fr); gap:35px 16px; }.live-product-card__image { height:330px; }.collection-endcap { grid-template-columns:1fr 1fr; min-height:480px; }.collection-endcap>img { min-height:0; }.collection-endcap>div { padding:78px clamp(40px,6vw,100px); display:flex; flex-direction:column; justify-content:center; }.product-layout { grid-template-columns:minmax(0,1.18fr) minmax(340px,.82fr); gap:60px; align-items:start; }.product-gallery { position:sticky; top:100px; }.product-gallery figure { min-height:305px; }.product-gallery figure:first-child { min-height:610px; }.product-buybox { padding:34px 0 90px; }.complete-set { display:grid; grid-template-columns:.8fr 1.2fr; gap:70px; align-items:end; margin-bottom:120px; padding:72px clamp(35px,6vw,95px); }.complete-set__card { min-height:430px; }
}
@media (min-width: 1120px) { .site-header { padding:0 56px; }.hero__content { padding-bottom:104px; }.category-grid { grid-template-rows:420px 420px; }.vault-feature__visual { min-height:780px; } }
@media (prefers-reduced-motion: reduce) { *,*:before,*:after { scroll-behavior:auto!important; animation-duration:.01ms!important; transition-duration:.01ms!important; } }
@keyframes slide-in { from { opacity:.3; transform:translateX(26px); } to { opacity:1; transform:translateX(0); } }


/* Butter 1.2.2 global brand identity. */
.brand-mark {
  width:clamp(112px,32vw,152px);
  max-width:100%;
  flex-direction:row;
  line-height:1;
}
.brand-mark .buttersoft-wordmark,
.brand-mark .custom-logo {
  display:block;
  width:100%;
  max-width:152px;
  height:auto;
  object-fit:contain;
}
.brand-mark .buttersoft-wordmark {
  mix-blend-mode:multiply;
}
.mobile-menu .brand-mark {
  width:min(172px,52vw);
}
.mobile-menu .brand-mark .buttersoft-wordmark,
.mobile-menu .brand-mark .custom-logo {
  max-width:172px;
}
.footer-brand-row {
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:14px;
  padding:42px 0 8px;
}
.footer-brand {
  display:inline-flex;
  width:min(360px,78vw);
  color:inherit;
}
.footer-brand .buttersoft-wordmark,
.footer-brand .custom-logo {
  display:block;
  width:100%;
  height:auto;
  object-fit:contain;
}
.footer-brand .buttersoft-wordmark {
  mix-blend-mode:multiply;
}
.footer-brand-row p {
  margin:0;
  font-size:10px;
  font-weight:700;
  letter-spacing:.14em;
  text-transform:uppercase;
}
.footer-base {
  flex-wrap:wrap;
  align-items:center;
}
.footer-credit {
  display:inline-flex;
  align-items:center;
  gap:4px;
}
.footer-credit:hover {
  text-decoration:underline;
}
@media (min-width:760px) {
  .brand-mark {
    width:152px;
    justify-self:start;
  }
  .footer-brand-row {
    flex-direction:row;
    justify-content:space-between;
    align-items:flex-end;
    padding-top:58px;
  }
}
