/* ==========================================================================
   UFD — design system
   ========================================================================== */
:root{
  --ivory:#F7F3EC; --ivory-2:#EFE8DC; --champagne:#D8C3A5; --espresso:#201B19; --espresso-2:#2B2420; --olive:#5F614A; --olive-l:#74765C; --white:#fff;
  --muted:#6B625B; --line:rgba(32,27,25,.14); --err:#9E3B31;
  --serif:"Cormorant Garamond",Georgia,"Times New Roman",serif; --sans:"Jost","Helvetica Neue",Arial,sans-serif;
  --g:clamp(20px,4vw,56px); --ease:cubic-bezier(.22,1,.36,1); --nav-h:76px;
  --safe-b:env(safe-area-inset-bottom,0px);
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
[hidden]{display:none!important}
html{-webkit-text-size-adjust:100%;scroll-padding-top:90px}
html.lenis,html.lenis body{height:auto}
.lenis.lenis-smooth{scroll-behavior:auto!important}
.lenis.lenis-stopped{overflow:hidden}
body{background:var(--ivory);color:var(--espresso);font:300 16px/1.6 var(--sans);overflow-x:hidden;-webkit-font-smoothing:antialiased}
img{display:block;max-width:100%;height:auto}
a{color:inherit}
button,input,select,textarea{font:inherit;color:inherit}
button{background:none;border:0;cursor:pointer}
em{font-style:italic;font-weight:300}
sup{font-size:.6em;color:var(--muted);margin-left:2px}
:focus-visible{outline:1.5px solid var(--olive-l);outline-offset:3px}
.sr-only{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:fixed;left:16px;top:-60px;z-index:300;background:var(--espresso);color:var(--ivory);padding:10px 16px}.skip:focus{top:16px}
.muted{color:var(--muted)}.small{font-size:14px}
.hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}

/* type */
.eyebrow{font:400 12px/1.2 var(--sans);letter-spacing:.3em;text-transform:uppercase;color:var(--olive);margin-bottom:22px}
.eyebrow a{text-decoration:none}.eyebrow--light{color:var(--champagne)}
.h2{font:300 clamp(40px,5.4vw,84px)/1.02 var(--serif);letter-spacing:-.01em;margin-bottom:24px}
.h2 em,.page-title em,.shop-hero__title em{color:var(--olive-l)}
.h3{font:300 32px/1.15 var(--serif);margin-bottom:8px}
.page-title{font:300 clamp(44px,6vw,92px)/1 var(--serif);letter-spacing:-.01em;margin-bottom:16px}
.lede{font:300 clamp(20px,2vw,26px)/1.45 var(--serif);max-width:640px;margin:16px 0 32px}

/* buttons & links */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:0 30px;background:var(--espresso);color:var(--ivory);font:400 12px/1 var(--sans);letter-spacing:.22em;text-transform:uppercase;text-decoration:none;position:relative;overflow:hidden;isolation:isolate;transition:color .5s var(--ease),opacity .3s}
.btn::before{content:"";position:absolute;inset:0;background:var(--olive);transform:translateY(101%);transition:transform .6s var(--ease);z-index:-1}
.btn:hover::before{transform:none}
.btn--light{background:var(--ivory);color:var(--espresso)}.btn--light::before{background:var(--champagne)}
.btn--ghost{background:transparent;color:var(--espresso);box-shadow:inset 0 0 0 1px var(--espresso)}.btn--ghost::before{background:var(--espresso)}.btn--ghost:hover{color:var(--ivory)}
.btn--small{min-height:44px;padding:0 20px}
.btn--block{width:100%}
.btn[disabled],.btn.is-disabled{opacity:.45;pointer-events:none}
.btn.is-loading .btn__label{opacity:.4}
.btn.is-loading::after{content:"";width:14px;height:14px;border:1px solid currentColor;border-right-color:transparent;border-radius:50%;animation:spin .7s linear infinite;position:absolute;right:20px}
.btn.is-done{background:var(--olive)}
@keyframes spin{to{transform:rotate(360deg)}}
.link{display:inline-block;font:400 12px/1 var(--sans);letter-spacing:.22em;text-transform:uppercase;text-decoration:none;padding:16px 0;background:linear-gradient(currentColor,currentColor) 0 calc(100% - 10px)/100% 1px no-repeat;transition:background-size .6s var(--ease)}
.link:hover{background-size:0 1px;background-position:100% calc(100% - 10px)}
.link--light{color:var(--ivory)}.link--center{display:block;text-align:center;background:none;text-decoration:underline;text-underline-offset:4px}
.link--inline{padding:6px 0;background-position:0 100%;font-size:11px}

/* tags */
.tag{position:absolute;top:12px;left:12px;z-index:2;font:400 10px/1 var(--sans);letter-spacing:.2em;text-transform:uppercase;padding:7px 10px;background:var(--ivory);color:var(--espresso)}
.tag--sold{left:auto;right:12px;background:var(--espresso);color:var(--ivory);top:auto;bottom:12px}
.tag--sample{background:rgba(247,243,236,.92);color:var(--olive)}
.tag--inline{position:static;display:inline-block;vertical-align:middle;margin:0 0 0 6px;box-shadow:inset 0 0 0 1px var(--line)}
.sample-note{display:flex;gap:12px;align-items:center;max-width:1440px;margin:0 auto 24px;padding:12px var(--g);font-size:13px;color:var(--muted)}
.sample-note span{font:400 10px/1 var(--sans);letter-spacing:.2em;text-transform:uppercase;padding:6px 9px;box-shadow:inset 0 0 0 1px var(--line);color:var(--olive);flex:none}

/* page transition */
.transition{position:fixed;inset:0;z-index:250;background:var(--espresso);color:var(--ivory);display:grid;place-items:center;pointer-events:none;transform:translateY(0)}
.transition span{font:300 clamp(48px,8vw,110px)/1 var(--serif);letter-spacing:.12em}
.js .transition{transform:translateY(0)}
.no-anim .transition,.transition.is-off{transform:translateY(-100%)}
html:not(.js) .transition{display:none}

/* nav */
.nav{position:fixed;inset:0 0 auto;z-index:100;display:flex;align-items:center;justify-content:space-between;gap:20px;height:var(--nav-h);padding:0 var(--g);color:var(--ivory);transition:background .5s var(--ease),color .5s var(--ease),height .5s var(--ease),box-shadow .5s,transform .5s var(--ease)}
[data-header=light] .nav,.nav.is-solid{background:rgba(247,243,236,.95);color:var(--espresso);box-shadow:0 1px 0 var(--line)}
@supports (backdrop-filter:blur(8px)){[data-header=light] .nav,.nav.is-solid{background:rgba(247,243,236,.84);backdrop-filter:blur(12px)}}
.nav.is-solid{height:64px}
.nav.is-hidden{transform:translateY(-100%)}
.nav__logo{display:flex;flex-direction:column;gap:3px;text-decoration:none}
.nav__logo span{font:500 24px/1 var(--serif);letter-spacing:.2em}
.nav__logo em{font:400 8.5px/1 var(--sans);letter-spacing:.38em;text-transform:uppercase;font-style:normal;opacity:.8}
.nav__links{display:flex;gap:clamp(18px,2.4vw,38px)}
.nav__links a{font:400 12px/1 var(--sans);letter-spacing:.2em;text-transform:uppercase;text-decoration:none;padding:14px 0;position:relative}
.nav__links a::after{content:"";position:absolute;left:0;right:0;bottom:8px;height:1px;background:currentColor;transform:scaleX(0);transform-origin:right;transition:transform .5s var(--ease)}
.nav__links a:hover::after,.nav__links a[aria-current]::after{transform:scaleX(1);transform-origin:left}
.nav__tools{display:flex;align-items:center;gap:2px}
.icon-btn{position:relative;width:44px;height:44px;display:grid;place-items:center;text-decoration:none}
.icon-btn svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.2}
.bag-count,.wish-count{position:absolute;top:5px;right:3px;min-width:17px;height:17px;padding:0 4px;border-radius:9px;background:var(--champagne);color:var(--espresso);font:500 10px/17px var(--sans);text-align:center}
.bag-count:empty,.bag-count[data-n="0"]{display:none}
.lang{position:relative}
.nav__burger{display:none;width:44px;height:44px;position:relative}
.nav__burger span{position:absolute;left:12px;right:12px;height:1px;background:currentColor;transition:transform .4s var(--ease)}
.nav__burger span:first-child{top:18px}.nav__burger span:last-child{top:26px}
.nav__burger[aria-expanded=true] span:first-child{transform:translateY(4px) rotate(45deg)}
.nav__burger[aria-expanded=true] span:last-child{transform:translateY(-4px) rotate(-45deg)}
.mobile-menu{position:fixed;inset:0;z-index:90;background:var(--espresso);color:var(--ivory);display:flex;flex-direction:column;justify-content:center;padding:var(--g);padding-bottom:calc(var(--g) + var(--safe-b))}
.mobile-menu nav{display:flex;flex-direction:column;gap:6px}
.mobile-menu a{font:300 46px/1.2 var(--serif);text-decoration:none}
.mobile-menu__foot{position:absolute;bottom:calc(32px + var(--safe-b));left:var(--g);font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--champagne)}
.nav.menu-open{color:var(--ivory)!important;background:transparent!important;box-shadow:none!important;backdrop-filter:none!important}

/* images */
.img-missing{display:grid;place-items:center;background:linear-gradient(135deg,var(--ivory-2),#E6DCCB);width:100%;height:100%;min-height:120px;aspect-ratio:3/4}
.img-missing span{font:300 28px/1 var(--serif);letter-spacing:.2em;color:rgba(32,27,25,.3)}
.mask{overflow:hidden;position:relative}

/* ==========================================================================
   HOME
   ========================================================================== */
.hero{position:relative;height:100svh;min-height:640px;overflow:hidden;background:var(--espresso);color:var(--ivory)}
.hero__panels{position:absolute;inset:0;display:grid;grid-template-columns:.9fr 1.25fr .9fr;gap:4px}
.hero__panel{overflow:hidden;position:relative}
.hero__panel img{width:100%;height:100%;object-fit:cover;object-position:50% 20%;transform-origin:50% 30%}
.hero__veil{position:absolute;inset:0;background:linear-gradient(180deg,rgba(32,27,25,.5) 0%,rgba(32,27,25,0) 18%,rgba(32,27,25,0) 42%,rgba(32,27,25,.62) 68%,rgba(32,27,25,.9) 100%),linear-gradient(90deg,rgba(32,27,25,.35),rgba(32,27,25,0) 55%)}
.hero__content{position:absolute;left:0;right:0;bottom:clamp(40px,7vh,84px);padding:0 var(--g);max-width:1600px;margin:0 auto}
.hero__eyebrow{margin-bottom:18px}
.hero__foot{display:flex;justify-content:space-between;align-items:flex-end;gap:32px 64px;flex-wrap:wrap;border-top:1px solid rgba(247,243,236,.22);padding:24px 56px 0 0}
.hero__credit{position:absolute;top:calc(var(--nav-h) + 18px);right:var(--g);display:flex;gap:18px;font:400 10px/1 var(--sans);letter-spacing:.28em;text-transform:uppercase;color:rgba(247,243,236,.72)}
.hero__credit span+span::before{content:'';display:inline-block;width:18px;height:1px;background:var(--champagne);vertical-align:middle;margin-right:18px}
.hero__title{font:300 clamp(54px,8.6vw,148px)/.92 var(--serif);letter-spacing:-.02em;margin-bottom:28px;text-shadow:0 2px 40px rgba(32,27,25,.35)}
.hero__title .ln:nth-child(2){padding-left:clamp(0px,8vw,140px)}
.ln{display:block;overflow:hidden;padding-bottom:.06em}
.ln>span{display:inline-block}
.glow{background:linear-gradient(100deg,#F7F3EC 0%,#F7F3EC 38%,#E9D6B4 47%,#FFF9EE 52%,#F7F3EC 62%,#F7F3EC 100%);background-size:250% 100%;background-position:100% 0;-webkit-background-clip:text;background-clip:text;color:transparent}
.hero__lede{max-width:420px;font-size:clamp(15px,1.15vw,17px);color:rgba(247,243,236,.88)}
.hero__ctas{display:flex;gap:32px;align-items:center;flex-wrap:wrap}
.hero__scroll{position:absolute;right:var(--g);bottom:40px;display:flex;flex-direction:column;align-items:center;gap:12px;font-size:10px;letter-spacing:.3em;text-transform:uppercase;writing-mode:vertical-rl}
.hero__scroll i{width:1px;height:56px;background:linear-gradient(var(--champagne),transparent);animation:drip 2.4s var(--ease) infinite}
@keyframes drip{0%{transform:scaleY(0);transform-origin:top}50%{transform:scaleY(1);transform-origin:top}51%{transform-origin:bottom}100%{transform:scaleY(0);transform-origin:bottom}}

.statement{padding:clamp(96px,14vw,200px) 0;overflow:hidden}
.statement__row{font:300 clamp(60px,10vw,170px)/1 var(--serif);white-space:nowrap;color:transparent;-webkit-text-stroke:1px rgba(32,27,25,.2)}
.statement__row--b{font-style:italic}
.statement__text{max-width:900px;margin:clamp(48px,7vw,96px) auto;padding:0 var(--g);text-align:center;font:300 clamp(28px,3.4vw,50px)/1.25 var(--serif)}
.statement__text em{color:var(--olive-l)}
.js:not(.no-anim) [data-ink] .w{opacity:.14}

.featured{display:grid;grid-template-columns:repeat(12,1fr);gap:clamp(16px,2vw,32px);padding:0 var(--g) clamp(96px,12vw,180px);max-width:1520px;margin:0 auto;align-items:start}
.featured__main{grid-column:1/8;grid-row:1/3;aspect-ratio:4/5}
.featured__main img,.featured__detail img{width:100%;height:118%;object-fit:cover;object-position:50% 25%}
.featured__copy{grid-column:9/13;grid-row:1;align-self:end;padding-top:12vh}
.featured__copy p:not(.eyebrow){color:var(--muted);margin-bottom:32px;max-width:420px}
.featured__detail{grid-row:2;aspect-ratio:3/4;margin-top:64px}
.featured__detail img{height:112%}
.featured__detail--a{grid-column:8/11}
.featured__detail--b{grid-column:11/13;margin-top:180px;aspect-ratio:4/5}
.featured__detail figcaption{position:absolute;left:0;bottom:-30px;font:400 11px/1 var(--sans);letter-spacing:.18em;text-transform:uppercase;color:var(--muted)}
.featured__detail{overflow:visible}.featured__detail.mask>img{clip-path:inset(0)}
.featured__detail{position:relative}

.expand{height:100vh;position:relative;overflow:hidden;background:var(--ivory)}
.expand__frame{position:absolute;inset:0;clip-path:inset(14% 30% 14% 30%)}
.expand__frame img{width:100%;height:100%;object-fit:cover;object-position:50% 30%;transform:scale(1.3)}
.expand__frame::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(32,27,25,0) 45%,rgba(32,27,25,.6) 100%)}
.expand__quote{position:absolute;left:0;right:0;bottom:12%;z-index:1;text-align:center;color:var(--ivory);padding:0 var(--g);opacity:0}
.expand__quote p{font:300 italic clamp(32px,4.6vw,72px)/1.1 var(--serif)}
.expand__quote cite{display:block;margin-top:16px;font:400 11px/1 var(--sans);letter-spacing:.3em;text-transform:uppercase;font-style:normal}

.designers{padding:clamp(96px,12vw,180px) var(--g);max-width:1440px;margin:0 auto}
.designers__head{display:grid;grid-template-columns:1fr 1fr;align-items:end;margin-bottom:48px;gap:24px}
.designers__head .eyebrow{grid-column:1/-1;margin:0}
.designers__head p{justify-self:end;max-width:320px}
.designers__list{list-style:none;border-top:1px solid var(--line)}
.designer-row{display:grid;grid-template-columns:80px 1fr auto;align-items:center;gap:24px;padding:clamp(18px,2.4vw,32px) 0;border-bottom:1px solid var(--line);text-decoration:none;position:relative;overflow:hidden}
.designer-row::before{content:"";position:absolute;inset:0;background:var(--espresso);transform:scaleY(0);transform-origin:bottom;transition:transform .7s var(--ease);z-index:-1}
.designer-row{isolation:isolate;transition:color .5s var(--ease),padding .6s var(--ease)}
.designer-row:hover{color:var(--ivory);padding-left:24px;padding-right:24px}
.designer-row:hover::before{transform:scaleY(1)}
.designer-row__n{font:400 12px/1 var(--sans);letter-spacing:.2em;color:var(--olive-l)}
.designer-row__name{font:300 clamp(44px,7vw,112px)/1 var(--serif);letter-spacing:-.01em}
.designer-row__cta{font:400 12px/1 var(--sans);letter-spacing:.2em;text-transform:uppercase}
.designer-row--join .designer-row__name{color:var(--olive-l)}

.showcase{background:var(--espresso);color:var(--ivory);display:flex;align-items:center;gap:clamp(40px,6vw,96px);padding:clamp(96px,10vw,140px) var(--g);overflow:hidden;min-height:100vh}
.showcase__intro{flex:0 0 min(340px,80vw)}
.showcase__intro p:not(.eyebrow){color:rgba(247,243,236,.65);margin-bottom:12px}
.showcase .h2 em{color:var(--champagne)}
.showcase__track{display:flex;gap:clamp(20px,2.6vw,40px);align-items:flex-start}
.showcase .card{flex:0 0 clamp(250px,24vw,350px)}
.showcase .card:nth-child(even){margin-top:10vh}

.story{display:grid;grid-template-columns:1.1fr 1fr;gap:clamp(40px,7vw,120px);align-items:center;padding:clamp(100px,13vw,200px) var(--g);max-width:1440px;margin:0 auto}
.story__media{position:relative;padding:0 14% 14% 0}
.story__img{margin:0;overflow:hidden;background:var(--ivory-2)}
.story__img img{width:100%;height:100%;object-fit:cover}
.story__img--a{aspect-ratio:4/5}.story__img--a img{object-position:50% 40%}
.story__img--b{position:absolute;right:0;bottom:0;width:44%;aspect-ratio:3/4;box-shadow:0 0 0 10px var(--ivory)}.story__img--b img{object-position:30% 45%}
.story__copy>p:not(.eyebrow){color:var(--muted);max-width:520px;margin-bottom:16px}
.story__title{font:300 clamp(32px,3.6vw,56px)/1.12 var(--serif);margin:14px 0 28px}
.story__title em{color:var(--olive-l)}
.story__facts{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin:36px 0;padding:24px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);max-width:520px}
.story__facts dt{font:400 10px/1 var(--sans);letter-spacing:.3em;text-transform:uppercase;color:var(--olive);margin-bottom:12px}
.story__facts dd,.story__facts address{font:400 21px/1.3 var(--serif);font-style:normal}
.story__ctas{display:flex;gap:28px;align-items:center;flex-wrap:wrap}

.gallery{padding:0 var(--g) clamp(96px,12vw,180px);max-width:1440px;margin:0 auto}
.gallery__head{text-align:center;margin-bottom:clamp(48px,6vw,96px)}
.gallery__grid{display:grid;grid-template-columns:repeat(12,1fr);gap:clamp(12px,1.6vw,24px);grid-auto-rows:clamp(56px,6.6vw,104px)}
.g{position:relative;overflow:hidden;display:block;cursor:zoom-in}
.g img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--ease)}
.g:hover img{transform:scale(1.05)}
.g--a{grid-column:1/6;grid-row:1/8}.g--a img{object-position:50% 25%}
.g--b{grid-column:7/11;grid-row:2/6}
.g--c{grid-column:6/13;grid-row:7/12}.g--c img{object-position:50% 65%}
.g--d{grid-column:2/6;grid-row:9/14}.g--d img{object-position:50% 20%}
.g--e{grid-column:11/13;grid-row:3/6}
.g__cap{position:absolute;left:14px;bottom:14px;background:var(--ivory);color:var(--espresso);font:400 10px/1 var(--sans);letter-spacing:.2em;text-transform:uppercase;padding:9px 12px;transform:translateY(calc(100% + 20px));transition:transform .6s var(--ease)}
.g:hover .g__cap,.g:focus-visible .g__cap{transform:none}

.insta{padding:0 var(--g) clamp(80px,10vw,140px)}
.insta__head{display:flex;justify-content:space-between;align-items:baseline;flex-wrap:wrap;gap:12px;max-width:1440px;margin:0 auto 24px}
.insta__head h2{font:300 clamp(28px,3vw,44px)/1 var(--serif)}
.insta__grid{list-style:none;display:grid;grid-template-columns:repeat(6,1fr);gap:6px;max-width:1440px;margin:0 auto}
.insta__grid a{display:block;aspect-ratio:1;overflow:hidden}
.insta__grid img{width:100%;height:100%;object-fit:cover;transition:transform 1s var(--ease),filter 1s}
.insta__grid a:hover img{transform:scale(1.06);filter:brightness(.9)}

.final{position:relative;min-height:110vh;display:grid;place-items:center;padding:clamp(80px,10vw,140px) var(--g);overflow:hidden}
.final__bg{position:absolute;inset:0}
.final__bg img{width:100%;height:125%;object-fit:cover;object-position:50% 35%}
.final__bg::after{content:"";position:absolute;inset:0;background:rgba(32,27,25,.3)}
.final__card{position:relative;background:var(--ivory);padding:clamp(28px,5vw,60px);width:min(540px,100%)}

/* forms */
.form{display:grid;gap:16px;margin-top:20px}
.form label,.co label{display:grid;gap:6px;font:400 11px/1.2 var(--sans);letter-spacing:.18em;text-transform:uppercase;color:var(--olive)}
.form label .muted,.co label .muted{text-transform:none;letter-spacing:0}
input:not([type=checkbox]):not([type=radio]),select,textarea{font:300 16px/1.4 var(--sans);color:var(--espresso);background:transparent;border:0;border-bottom:1px solid rgba(32,27,25,.3);padding:10px 0;border-radius:0;-webkit-appearance:none;appearance:none;width:100%}
select{background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M1 1l4 4 4-4' fill='none' stroke='%23201B19'/%3E%3C/svg%3E") right 4px center no-repeat;padding-right:22px}
textarea{resize:vertical}
input:focus,select:focus,textarea:focus{outline:none;border-bottom-color:var(--espresso)}
[aria-invalid=true]{border-bottom-color:var(--err)!important}
.check{display:flex!important;gap:10px;align-items:flex-start;text-transform:none!important;letter-spacing:0!important;font-size:14px!important;line-height:1.45!important;color:var(--muted)!important}
.check input{margin-top:3px;accent-color:var(--olive);width:16px;height:16px;flex:none}
.form__msg{font-size:14px;min-height:1.4em}
.form__msg.err{color:var(--err)}.form__msg.ok{color:var(--olive)}
.field-err{display:block;color:var(--err);font:400 13px/1.3 var(--sans);letter-spacing:0;text-transform:none;margin-top:2px}

/* ==========================================================================
   PRODUCT CARDS
   ========================================================================== */
.card{position:relative}
.card__media{display:block;position:relative;overflow:hidden;aspect-ratio:3/4;background:var(--ivory-2)}
.card__img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:opacity .9s var(--ease),transform 1.4s var(--ease)}
.card__img--b{opacity:0;transform:scale(1.06)}
@media (hover:hover){.card:hover .card__img--b{opacity:1;transform:scale(1)}.card:hover .card__img--a{transform:scale(1.04)}}
.card__meta{padding:16px 0 0}
.card__name{font:400 22px/1.15 var(--serif);margin-bottom:4px}
.card__name a{text-decoration:none}
.card__price{font-size:14px}
.card__price .muted{font-size:12px}
.card__colours{display:flex;gap:6px;margin-top:8px}
.swatch{width:12px;height:12px;border-radius:50%;box-shadow:inset 0 0 0 1px rgba(32,27,25,.25);display:inline-block;background:#ccc}
.swatch--ivory{background:#F4EEE2}.swatch--black{background:#1b1b1b}.swatch--champagne{background:var(--champagne)}.swatch--caramel{background:#C49A72}.swatch--chocolate{background:#5A3426}.swatch--blush{background:#EDC6B8}.swatch--bronze{background:linear-gradient(135deg,#8a5a2b,#d9a066,#6b3f1d)}.swatch--natural{background:#D8C29A}.swatch--white{background:#fff}.swatch--espresso{background:#3B2A20}.swatch--teal{background:#1F5A63}.swatch--rust{background:repeating-linear-gradient(90deg,#8E4A2E 0 5px,#EBD9C6 5px 6px,#8E4A2E 6px 9px,#232A45 9px 10px)}.swatch--diamond{background:conic-gradient(from 45deg,#9CC3E6 0 25%,#4A2A20 0 50%,#9CC3E6 0 75%,#4A2A20 0) 0 0/10px 10px,#1d1f2e}.swatch--floral{background:conic-gradient(#C8553D 0 25%,#E9D9B8 0 50%,#5B7FA6 0 75%,#E9D9B8 0)}
.swatch--lg{width:30px;height:30px}
.card__wish{position:absolute;top:8px;right:8px;z-index:3;width:44px;height:44px;display:grid;place-items:center}
.card__wish svg{width:18px;height:18px;fill:transparent;stroke:var(--espresso);stroke-width:1.2;transition:fill .3s,transform .4s var(--ease)}
.card__wish[aria-pressed=true] svg{fill:var(--espresso)}
.card__wish:active svg{transform:scale(.85)}
.card__frame{position:relative}
.card__quick{position:absolute;left:12px;right:12px;bottom:12px;z-index:3;display:flex;align-items:center;justify-content:center;min-height:44px;background:var(--ivory);color:var(--espresso);font:400 11px/1 var(--sans);letter-spacing:.2em;text-transform:uppercase;text-decoration:none;opacity:0;transform:translateY(10px);transition:opacity .4s,transform .5s var(--ease)}
@media (hover:hover){.card:hover .card__quick,.card__quick:focus-visible{opacity:1;transform:none}}
@media (hover:none){button.card__quick{opacity:1;transform:none;left:auto;right:8px;bottom:8px;min-height:40px;padding:0 14px;font-size:10px}a.card__quick{display:none}}
.card--dark .card__name,.card--dark .card__price{color:var(--ivory)}
.card--dark .card__price .muted{color:rgba(247,243,236,.55)}
.card--dark .card__wish svg{stroke:var(--espresso)}

/* ==========================================================================
   SHOP
   ========================================================================== */
.shop-hero{display:grid;grid-template-columns:1.2fr .8fr;gap:clamp(24px,5vw,80px);align-items:end;padding:calc(var(--nav-h) + clamp(32px,6vw,80px)) var(--g) clamp(32px,4vw,56px);max-width:1440px;margin:0 auto}
.shop-hero__title{font:300 clamp(64px,11vw,180px)/.9 var(--serif);letter-spacing:-.02em;margin:24px 0}
.shop-hero__img{aspect-ratio:5/4}
.shop-hero__img img{width:100%;height:100%;object-fit:cover;object-position:50% 20%}
.crumbs{display:flex;flex-wrap:wrap;gap:10px;font:400 11px/1.4 var(--sans);letter-spacing:.18em;text-transform:uppercase;color:var(--muted)}
.crumbs a{text-decoration:none}.crumbs a:hover{color:var(--espresso)}
.cats{display:flex;gap:clamp(16px,3vw,40px);overflow-x:auto;padding:0 var(--g);max-width:1440px;margin:0 auto;border-bottom:1px solid var(--line);scrollbar-width:none}
.cats::-webkit-scrollbar{display:none}
.cats a{flex:none;font:300 clamp(20px,2vw,28px)/1 var(--serif);text-decoration:none;padding:16px 0;border-bottom:1px solid transparent;margin-bottom:-1px;color:var(--muted);transition:color .3s}
.cats a:hover{color:var(--espresso)}
.cats a[aria-current]{color:var(--espresso);border-bottom-color:var(--espresso)}
.shop-bar{display:flex;justify-content:space-between;align-items:center;max-width:1440px;margin:0 auto;padding:16px var(--g)}
.shop-bar__count{font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.filters-wrap{max-width:1440px;margin:0 auto;padding:0 var(--g)}
.filters{display:flex;flex-wrap:wrap;gap:12px 24px;align-items:flex-end;padding:0 0 28px}
.filter{display:grid;gap:4px;font:400 10px/1 var(--sans);letter-spacing:.2em;text-transform:uppercase;color:var(--olive);min-width:130px}
.filter select{font-size:15px;text-transform:none;letter-spacing:0}
.filter--search{flex:1 1 220px}
.filter--check{display:flex;align-items:center;gap:8px;min-width:0;padding-bottom:12px;font-size:12px;letter-spacing:.06em;text-transform:none;color:var(--espresso)}
.filter--check input{accent-color:var(--olive);width:16px;height:16px}
.js .filters__apply{display:none}
.filters__clear{padding:10px 0}
[data-open-filters]{display:none}
.filters__head{display:none}
.grid{display:grid;grid-template-columns:repeat(12,1fr);gap:clamp(40px,4vw,64px) clamp(14px,2vw,28px);padding:8px var(--g) 64px;max-width:1440px;margin:0 auto;grid-auto-flow:dense}
.grid .card{grid-column:span 4}
.grid .card--feature{grid-column:span 8;grid-row:span 2}
.grid .card--feature{display:flex;flex-direction:column}.grid .card--feature .card__frame{flex:1 1 auto;min-height:420px}.grid .card--feature .card__media{aspect-ratio:auto;position:absolute;inset:0;height:auto}.grid .card--feature .card__media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.grid .card--tall{grid-column:span 4;margin-top:48px}
.empty{text-align:center;padding:96px var(--g);max-width:560px;margin:0 auto}
.empty .btn{margin-top:24px}
.pager{display:flex;flex-direction:column;align-items:center;gap:20px;padding:0 var(--g) 120px}
.pager__pages{display:flex;gap:6px}
.pager__pages a,.pager__pages span{display:grid;place-items:center;min-width:44px;height:44px;text-decoration:none;font-size:14px}
.pager__pages span{box-shadow:inset 0 -1px 0 var(--espresso)}

/* ==========================================================================
   PRODUCT DETAIL
   ========================================================================== */
.pdp{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(320px,.65fr);gap:0 clamp(32px,5vw,88px);padding:calc(var(--nav-h) + 24px) var(--g) clamp(80px,10vw,140px);max-width:1520px;margin:0 auto}
.pdp__crumbs{grid-column:1/-1;margin-bottom:24px}
.pdp__gallery{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.pdp__img{display:block;overflow:hidden;cursor:zoom-in;aspect-ratio:3/4;background:var(--ivory-2)}
.pdp__img--first{grid-column:1/-1;aspect-ratio:4/5}
.pdp__img img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--ease)}
.pdp__img:hover img{transform:scale(1.03)}
.pdp__dots{display:none}
.pdp__sticky{position:sticky;top:96px}
.pdp__title{font:300 clamp(40px,4vw,64px)/1.02 var(--serif);margin-bottom:12px}
.pdp__price{font-size:18px;margin-bottom:32px}
.opt{border:0;margin-bottom:24px}
.opt legend{display:flex;justify-content:space-between;width:100%;font:400 11px/1 var(--sans);letter-spacing:.2em;text-transform:uppercase;color:var(--olive);margin-bottom:12px}
.opt legend span{color:var(--espresso);letter-spacing:.06em;text-transform:none;font-size:13px}
.opt__row{display:flex;flex-wrap:wrap;gap:8px}
.opt__size,.opt__swatch{position:relative;cursor:pointer}
.opt__size input,.opt__swatch input{position:absolute;opacity:0;inset:0;cursor:pointer}
.opt__size span{display:grid;place-items:center;min-width:56px;height:48px;padding:0 14px;box-shadow:inset 0 0 0 1px var(--line);font-size:14px;transition:box-shadow .3s,background .3s,color .3s}
.opt__size input:checked+span{box-shadow:inset 0 0 0 1px var(--espresso);background:var(--espresso);color:var(--ivory)}
.opt__size input:focus-visible+span,.opt__swatch input:focus-visible+span{outline:1.5px solid var(--olive-l);outline-offset:3px}
.opt__size.is-sold span{color:var(--muted);background:linear-gradient(to top right,transparent calc(50% - .5px),var(--line) 50%,transparent calc(50% + .5px))}
.opt__size.is-sold input:checked+span{background:var(--ivory-2);color:var(--muted);box-shadow:inset 0 0 0 1px var(--muted)}
.opt__size em{position:absolute;left:0;right:0;bottom:-16px;font:400 9px/1 var(--sans);letter-spacing:.1em;text-transform:uppercase;font-style:normal;text-align:center;color:var(--muted)}
.opt__swatch .swatch{box-shadow:inset 0 0 0 1px rgba(32,27,25,.25),0 0 0 3px var(--ivory),0 0 0 4px transparent;transition:box-shadow .3s}
.opt__swatch input:checked+.swatch{box-shadow:inset 0 0 0 1px rgba(32,27,25,.25),0 0 0 3px var(--ivory),0 0 0 4px var(--espresso)}
.qty{display:flex;align-items:center;justify-content:space-between;margin:28px 0 16px}
.qty__label{font:400 11px/1 var(--sans);letter-spacing:.2em;text-transform:uppercase;color:var(--olive)}
.qty__ctrl{display:flex;align-items:center;box-shadow:inset 0 0 0 1px var(--line)}
.qty__ctrl button{width:44px;height:44px;font-size:18px}
.qty__ctrl button[disabled]{opacity:.3;cursor:default}
.qty__ctrl input{width:44px;text-align:center;border:0;padding:0;-moz-appearance:textfield}
.qty__ctrl input::-webkit-outer-spin-button,.qty__ctrl input::-webkit-inner-spin-button{-webkit-appearance:none}
.qty__ctrl output{min-width:32px;text-align:center;font-size:14px}
.qty__ctrl--sm button{width:36px;height:36px;font-size:15px}
.pdp__stock{font-size:13px;color:var(--muted);min-height:1.4em;margin-bottom:12px}
.pdp__stock.low{color:var(--olive)}.pdp__stock.out{color:var(--err)}
.acc{margin-top:32px;border-top:1px solid var(--line)}
.acc details{border-bottom:1px solid var(--line)}
.acc summary{list-style:none;display:flex;justify-content:space-between;cursor:pointer;padding:18px 0;font:400 12px/1 var(--sans);letter-spacing:.2em;text-transform:uppercase}
.acc summary::-webkit-details-marker{display:none}
.acc summary::after{content:"+";font-size:16px;transition:transform .4s var(--ease)}
.acc details[open] summary::after{transform:rotate(45deg)}
.acc details p{padding:0 0 16px;color:var(--muted);font-size:15px}
.related{padding:0 var(--g) clamp(96px,10vw,160px);max-width:1440px;margin:0 auto}
.related__track{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}

/* dialogs */
.lightbox{border:0;padding:0;background:transparent;max-width:none;max-height:none;width:100vw;height:100dvh;margin:0;overflow:hidden}
.lightbox::backdrop{background:rgba(32,27,25,.95)}
.lightbox[open]{display:grid;place-items:center}
.lightbox__stage{width:100%;height:100%;display:grid;place-items:center;overflow:hidden;cursor:zoom-in}
.lightbox__stage.is-zoomed{cursor:zoom-out}
.lightbox img{max-height:92dvh;max-width:92vw;object-fit:contain;transition:transform .5s var(--ease)}
.lightbox__close{position:fixed;top:12px;right:16px;width:52px;height:52px;font:300 42px/1 var(--serif);color:var(--ivory);z-index:2}
.lightbox__hint{position:fixed;bottom:calc(16px + var(--safe-b));left:0;right:0;text-align:center;color:rgba(247,243,236,.6);font-size:11px;letter-spacing:.2em;text-transform:uppercase}
.modal{border:0;margin:auto;padding:clamp(24px,4vw,48px);background:var(--ivory);width:min(560px,92vw);max-height:90dvh}
.modal::backdrop{background:rgba(32,27,25,.6)}
.modal h2{font:300 36px/1 var(--serif);margin-bottom:8px}
.modal .btn{margin-top:24px}
.table{width:100%;border-collapse:collapse;margin-top:16px;font-size:14px}
.table th,.table td{text-align:left;padding:10px 8px;border-bottom:1px solid var(--line)}
.table th{font:400 10px/1 var(--sans);letter-spacing:.18em;text-transform:uppercase;color:var(--olive)}

/* ==========================================================================
   CART DRAWER / CART / CHECKOUT
   ========================================================================== */
.drawer{position:fixed;inset:0;z-index:200}
.drawer__scrim{position:absolute;inset:0;background:rgba(32,27,25,.45)}
.drawer__panel{position:absolute;top:0;right:0;bottom:0;width:min(460px,100%);background:var(--ivory);display:flex;flex-direction:column}
.drawer__head{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid var(--line)}
.drawer__head h2{font:300 30px/1 var(--serif)}
.drawer__count{font:400 13px/1 var(--sans);color:var(--muted)}
.drawer__close{width:44px;height:44px;font:300 34px/1 var(--serif)}
.drawer__body{flex:1;overflow-y:auto;padding:8px 24px;overscroll-behavior:contain}
.drawer__foot{padding:20px 24px calc(20px + var(--safe-b));border-top:1px solid var(--line);display:grid;gap:10px}
.drawer__row{display:flex;justify-content:space-between;gap:16px;padding:6px 0;font-size:15px}
.drawer__row--total{border-top:1px solid var(--line);margin-top:8px;padding-top:14px;font-size:18px}
.drawer__empty{text-align:center;padding:64px 0}
.drawer__empty p{font:300 26px/1.2 var(--serif);margin-bottom:20px}
.lines{list-style:none}
.line{display:grid;grid-template-columns:88px 1fr auto;gap:16px;padding:18px 0;border-bottom:1px solid var(--line);align-items:start}
.line__img{display:block;aspect-ratio:3/4;overflow:hidden;background:var(--ivory-2)}
.line__img img{width:100%;height:100%;object-fit:cover}
.line__name{font:400 20px/1.15 var(--serif);text-decoration:none;display:block}
.line__variant{font-size:13px;color:var(--muted);margin:4px 0 10px}
.line__issue{font-size:13px;color:var(--err);margin-bottom:8px}
.line__ctrl{display:flex;align-items:center;gap:16px;flex-wrap:wrap}
.line__ctrl form{display:flex;align-items:center}
.line__price{font-size:15px;text-align:right;display:grid;gap:2px}
.line.is-busy{opacity:.5;pointer-events:none}
.line--issue .line__img{opacity:.6}
.lines--compact .line{grid-template-columns:60px 1fr auto;padding:12px 0}
.lines--compact .line__name{font-size:17px}
.lines--compact .line__ctrl{display:none}
.page-head{padding:calc(var(--nav-h) + clamp(32px,5vw,64px)) var(--g) 24px;max-width:1440px;margin:0 auto}
.page-head .crumbs{margin-bottom:20px}
.page-head--center{text-align:center;min-height:70vh;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:8px}
.page-head--designer{min-height:70vh}
.designer-title{font:300 clamp(80px,14vw,220px)/.9 var(--serif);letter-spacing:-.02em;margin:24px 0}
.cart-page{display:grid;grid-template-columns:1fr 380px;gap:clamp(24px,5vw,80px);padding:0 var(--g) 120px;max-width:1440px;margin:0 auto;align-items:start}
.cart-page .empty{grid-column:1/-1}
.summary{background:var(--white);padding:28px;display:grid;gap:8px;box-shadow:0 0 0 1px var(--line)}
.summary h2{font:300 28px/1 var(--serif);margin-bottom:8px}
.cart-page .summary{position:sticky;top:96px}
.demo-banner,.alert{margin-top:16px;padding:14px 18px;font-size:14px;max-width:880px}
.demo-banner{background:#ECE6D6;box-shadow:inset 3px 0 0 var(--olive)}
.alert{background:#F6E3DF;box-shadow:inset 3px 0 0 var(--err)}
.checkout{display:grid;grid-template-columns:1fr 400px;gap:clamp(24px,5vw,80px);padding:16px var(--g) 120px;max-width:1440px;margin:0 auto;align-items:start}
.co__steps{display:flex;list-style:none;gap:0;margin-bottom:32px;counter-reset:s;border-bottom:1px solid var(--line)}
.co__steps li{flex:1;padding:14px 0;font:400 11px/1 var(--sans);letter-spacing:.2em;text-transform:uppercase;color:var(--muted);border-bottom:1px solid transparent;margin-bottom:-1px;counter-increment:s}
.co__steps li::before{content:counter(s) " · "}
.co__steps li[aria-current]{color:var(--espresso);border-bottom-color:var(--espresso)}
.co__steps li.done{color:var(--olive)}
.co__step{border:0;display:grid;gap:18px;margin-bottom:40px}
.co__step legend{font:300 34px/1 var(--serif);margin-bottom:12px}
.js .co__step:not(.is-active){display:none}
.co__row{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.co__nav{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-top:8px}
.ship-options{display:grid;gap:8px}
.ship-opt{display:flex!important;align-items:center;gap:14px!important;padding:16px;box-shadow:inset 0 0 0 1px var(--line);cursor:pointer;text-transform:none!important;letter-spacing:0!important;font-size:15px!important;color:var(--espresso)!important;transition:box-shadow .3s}
.ship-opt:has(input:checked){box-shadow:inset 0 0 0 1px var(--espresso)}
.ship-opt input{accent-color:var(--espresso);width:18px;height:18px}
.ship-opt span{flex:1}.ship-opt small{display:block;color:var(--muted);font-size:13px}
.pay-demo{padding:20px;background:var(--white);box-shadow:0 0 0 1px var(--line);display:grid;gap:8px}
.summary--co{position:sticky;top:96px}
.review-block{display:grid;gap:4px;padding:16px 0;border-bottom:1px solid var(--line);font-size:15px}
.review-block h3{font:400 11px/1 var(--sans);letter-spacing:.2em;text-transform:uppercase;color:var(--olive);margin-bottom:6px;display:flex;justify-content:space-between}
.order{max-width:760px;margin:0 auto;padding:calc(var(--nav-h) + clamp(40px,6vw,80px)) var(--g) 120px;display:grid;gap:20px}
.order__msg{font:300 22px/1.45 var(--serif);color:var(--muted)}

/* toast + fly */
.toast{position:fixed;left:50%;bottom:calc(24px + var(--safe-b));transform:translateX(-50%);z-index:220;background:var(--espresso);color:var(--ivory);padding:14px 18px;display:flex;gap:16px;align-items:center;font-size:14px;box-shadow:0 12px 40px rgba(0,0,0,.2);max-width:calc(100vw - 32px)}
.toast a,.toast button{color:var(--champagne);font:400 11px/1 var(--sans);letter-spacing:.2em;text-transform:uppercase;text-decoration:underline;text-underline-offset:4px;padding:8px 0}
.toast.is-err{background:var(--err)}
.fly{position:fixed;z-index:240;pointer-events:none;object-fit:cover;box-shadow:0 10px 30px rgba(0,0,0,.25)}
.bag-btn.is-bump svg{animation:bump .6s var(--ease)}
@keyframes bump{30%{transform:scale(1.25) rotate(-6deg)}60%{transform:scale(.95)}100%{transform:none}}

/* cursor */
.cursor{position:fixed;left:0;top:0;width:80px;height:80px;margin:-40px 0 0 -40px;border-radius:50%;background:rgba(247,243,236,.94);color:var(--espresso);display:grid;place-items:center;font:400 10px/1 var(--sans);letter-spacing:.24em;text-transform:uppercase;pointer-events:none;z-index:120;transform:scale(0);opacity:0}
@media (hover:none),(pointer:coarse){.cursor{display:none}}

/* footer */
.foot{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:32px;padding:72px var(--g) calc(32px + var(--safe-b));background:var(--espresso);color:rgba(247,243,236,.75);font-size:14px}
.foot h2{font:400 11px/1 var(--sans);letter-spacing:.24em;text-transform:uppercase;color:var(--champagne);margin-bottom:16px}
.foot a{text-decoration:none}.foot a:hover{color:var(--ivory)}
.foot__mark{font:300 64px/1 var(--serif);letter-spacing:.14em;color:var(--ivory);margin-bottom:12px}
.foot__brand p:last-child{max-width:340px}
.foot__legal{grid-column:1/-1;border-top:1px solid rgba(247,243,236,.14);padding-top:24px;font-size:12px;letter-spacing:.06em;color:rgba(247,243,236,.5)}
.is-checkout .foot{grid-template-columns:1fr}.is-checkout .foot>div{display:none}

/* ==========================================================================
   RESPONSIVE
   ========================================================================== */
@media (max-width:1100px){
  .grid .card{grid-column:span 6}.grid .card--feature{grid-column:span 12;grid-row:auto}.grid .card--feature .card__frame{min-height:0}.grid .card--feature .card__media{position:relative;height:auto;aspect-ratio:4/5}
  .related__track{grid-template-columns:repeat(2,1fr)}
  .checkout,.cart-page{grid-template-columns:1fr}.summary--co,.cart-page .summary{position:static}
  .summary--co{order:-1}
}
@media (max-width:900px){
  :root{--nav-h:64px}
  .nav__links,.lang{display:none}.nav__burger{display:block}
  .hero__panels{grid-template-columns:1fr}.hero__panel:not(.hero__panel--main){display:none}
  .hero__panel img{object-position:50% 30%}
  .hero__credit{display:none}.hero__title .ln:nth-child(2){padding-left:0}
  .hero__foot{flex-direction:column;align-items:flex-start;gap:22px;padding:18px 0 0}
  .story{grid-template-columns:1fr;gap:48px}.story__facts{grid-template-columns:1fr;gap:18px}
  .hero__veil{background:linear-gradient(180deg,rgba(32,27,25,.5) 0%,rgba(32,27,25,0) 18%,rgba(32,27,25,.2) 35%,rgba(32,27,25,.78) 58%,rgba(32,27,25,.92) 100%)}
  .hero__scroll{display:none}
  .featured{grid-template-columns:repeat(6,1fr)}
  .featured__main{grid-column:1/-1;grid-row:auto}.featured__copy{grid-column:1/-1;grid-row:auto;padding-top:24px}
  .featured__detail--a{grid-column:1/4;grid-row:auto;margin-top:24px}.featured__detail--b{grid-column:4/7;grid-row:auto;margin-top:96px}
  .expand__frame{clip-path:inset(8% 10% 8% 10%)}
  .designers__head{grid-template-columns:1fr}.designers__head p{justify-self:start}
  .designer-row{grid-template-columns:40px 1fr}.designer-row__cta{grid-column:2}
  .showcase{flex-direction:column;align-items:flex-start;min-height:0}
  .showcase__track{width:calc(100% + 2 * var(--g));margin:0 calc(-1 * var(--g));padding:0 var(--g) 8px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-x:contain}
  .showcase__track::-webkit-scrollbar{display:none}
  .showcase .card{flex:0 0 72vw;scroll-snap-align:start}.showcase .card:nth-child(even){margin-top:0}
  .story__cols{grid-template-columns:1fr;gap:20px}
  .gallery__grid{grid-template-columns:1fr 1fr;grid-auto-rows:auto}
  .g{grid-column:auto!important;grid-row:auto!important;aspect-ratio:3/4}
  .g--a,.g--c{grid-column:1/3!important;aspect-ratio:4/5}
  .g--e{display:none}.g__cap{transform:none}
  .insta__grid{grid-template-columns:repeat(3,1fr)}
  .shop-hero{grid-template-columns:1fr}.shop-hero__img{aspect-ratio:16/10;order:-1;margin:0 calc(-1 * var(--g))}
  .shop-hero{padding-top:calc(var(--nav-h) + 0px)}
  .shop-hero__img{margin-top:0}
  [data-open-filters]{display:inline-flex}
  .filters-wrap{position:fixed;left:0;right:0;bottom:0;z-index:210;background:var(--ivory);padding:24px var(--g) calc(24px + var(--safe-b));box-shadow:0 -20px 60px rgba(0,0,0,.18);max-height:85dvh;overflow-y:auto;transform:translateY(105%);transition:transform .6s var(--ease)}
  html:not(.js) .filters-wrap{position:static;transform:none;box-shadow:none}
  .filters-wrap.is-open{transform:none}
  .filters{flex-direction:column;align-items:stretch}.filters .filter--search{flex:0 0 auto}
  .js .filters__head{display:flex;justify-content:space-between;align-items:center;margin:-8px 0 12px}.filters__title{font:400 24px/1 var(--serif)}
  .js .filters__apply{display:inline-flex}
  .filters-scrim{position:fixed;inset:0;z-index:205;background:rgba(32,27,25,.4)}
  .grid{gap:32px 12px}.grid .card,.grid .card--tall{grid-column:span 6;margin-top:0}
  .card__name{font-size:18px}
  .pdp{grid-template-columns:1fr;padding-top:var(--nav-h)}
  .pdp__crumbs{order:3;margin:24px 0 8px}
  .pdp__gallery{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:0;margin:0 calc(-1 * var(--g));scrollbar-width:none}
  .pdp__gallery::-webkit-scrollbar{display:none}
  .pdp__img,.pdp__img--first{flex:0 0 100%;scroll-snap-align:start;aspect-ratio:4/5}
  .pdp__dots{display:flex;justify-content:center;gap:6px;padding:12px 0}
  .pdp__dots span{width:6px;height:6px;border-radius:50%;background:var(--line)}.pdp__dots span.on{background:var(--espresso)}
  .pdp__info{order:4}.pdp__sticky{position:static}
  .drawer__panel{top:auto;left:0;width:100%;max-height:88dvh;border-radius:14px 14px 0 0}
  .drawer__head::before{content:"";position:absolute;left:50%;top:8px;width:36px;height:4px;border-radius:2px;background:var(--line);transform:translateX(-50%)}
  .drawer__head{position:relative;padding-top:24px}
  .foot{grid-template-columns:1fr 1fr}.foot__brand{grid-column:1/-1}
  .co__row{grid-template-columns:1fr}
  .co__steps li{font-size:9.5px;letter-spacing:.12em}
}
@media (max-width:560px){
  .related__track{grid-template-columns:1fr 1fr;gap:12px}
  .line{grid-template-columns:72px 1fr}.line__price{grid-column:2;text-align:left}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
  .expand__frame{clip-path:none}.expand__frame img{transform:none}.expand__quote{opacity:1}
  .transition{display:none}
}
/* safety: never leave the transition veil covering the page */
.js .transition:not(.is-off){animation:veilSafety .01s 3s forwards}
@keyframes veilSafety{to{transform:translateY(-100%)}}
.pdp__sticky .tag--inline{display:inline-block;margin:0 0 16px}

/* ===================== Lookbook scenes (Instagram stories) ===================== */
/* Ribbon — two full-bleed rows drifting in opposite directions; scroll velocity adds speed + skew */
.ribbon{padding:clamp(72px,9vw,140px) 0;overflow:hidden;background:var(--ivory)}
.ribbon__head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:16px 40px;padding:0 var(--g);max-width:1440px;margin:0 auto clamp(32px,4vw,56px)}
.ribbon__head .h2{margin:0}.ribbon__head .eyebrow{width:100%;margin-bottom:0}
.ribbon__row{overflow:hidden;margin-bottom:clamp(10px,1.2vw,18px)}
.ribbon__track{display:flex;gap:clamp(10px,1.2vw,18px);width:max-content;will-change:transform}
html:not(.js) .ribbon__row{overflow-x:auto;scrollbar-width:none}
html:not(.js) .zoom__sat{display:none}
.ribbon__tile{position:relative;display:block;flex:0 0 auto;height:clamp(260px,38vh,460px);aspect-ratio:3/4;overflow:hidden;background:var(--ivory-2);text-decoration:none;color:var(--ivory)}
.ribbon__tile img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--ease),filter 1.2s var(--ease)}
.ribbon__tile:hover img,.ribbon__tile:focus-visible img{transform:scale(1.08);filter:brightness(.78)}
.ribbon__cap{position:absolute;left:16px;right:16px;bottom:14px;display:grid;gap:2px;font-size:12px;letter-spacing:.08em;opacity:0;transform:translateY(10px);transition:opacity .6s var(--ease),transform .6s var(--ease)}
.ribbon__cap em{font:italic 300 24px/1 var(--serif);letter-spacing:0}
.ribbon__tile:hover .ribbon__cap,.ribbon__tile:focus-visible .ribbon__cap{opacity:1;transform:none}

/* Zoom — satellites fly out, centre frame opens into a full-bleed triptych */
.zoom{position:relative;height:100vh;height:100svh;overflow:hidden;background:var(--espresso);color:var(--ivory)}
.zoom__stage{position:absolute;inset:0}
.zoom__panel{position:absolute;top:0;bottom:0;width:calc(100% / 3);overflow:hidden;margin:0}
.zoom__panel img{width:100%;height:100%;object-fit:cover}
.zoom__panel--l{left:0}.zoom__panel--c{left:calc(100% / 3)}.zoom__panel--r{right:0}
.zoom__sat{position:absolute;width:clamp(110px,13vw,210px);aspect-ratio:3/4;overflow:hidden;margin:0;z-index:2;box-shadow:0 30px 60px rgba(0,0,0,.35)}
.zoom__sat img{width:100%;height:100%;object-fit:cover}
.zoom__sat--s1{left:6%;top:9%}.zoom__sat--s2{left:13%;bottom:8%}.zoom__sat--s3{right:7%;top:7%}.zoom__sat--s4{right:14%;bottom:10%}.zoom__sat--s5{left:24%;top:-2%;width:clamp(90px,9vw,150px)}.zoom__sat--s6{right:26%;bottom:-3%;width:clamp(90px,9vw,150px)}
.zoom__veil{position:absolute;inset:0;z-index:3;background:linear-gradient(180deg,rgba(32,27,25,0) 30%,rgba(32,27,25,.78) 100%);pointer-events:none}
.zoom__copy{position:absolute;z-index:4;left:var(--g);right:var(--g);bottom:clamp(40px,8vh,90px);max-width:620px}
.zoom__title{font:300 clamp(48px,7.4vw,124px)/.95 var(--serif);margin-bottom:18px}
.zoom__title em{color:var(--champagne)}
.zoom__copy p:not(.eyebrow){color:rgba(247,243,236,.86);max-width:460px;margin-bottom:28px}

/* Story stack — each post is a full-width spread that sticks while the next slides over */
.stories{background:var(--ivory-2);padding-top:clamp(80px,10vw,150px)}
.stories__head{padding:0 var(--g);max-width:1440px;margin:0 auto clamp(40px,5vw,72px)}
.st{position:sticky;top:0;height:100vh;height:100svh;min-height:620px;background:var(--ivory);overflow:hidden;border-top:1px solid var(--line)}
.st:nth-child(odd){background:#F3EDE3}
.st__inner{height:100%;display:grid;grid-template-columns:1.55fr 1fr;gap:clamp(24px,4vw,72px);align-items:center;padding:calc(var(--nav-h) + 16px) var(--g) 40px;max-width:1600px;margin:0 auto;transform-origin:50% 0}
.st--r .st__inner{grid-template-columns:1fr 1.55fr}.st--r .st__media{order:2}
.st__media{display:grid;grid-template-columns:1.25fr 1fr 1fr;gap:clamp(8px,1vw,16px);height:100%;max-height:78vh;align-self:center}
.st__media--1{grid-template-columns:1fr}.st__media--2{grid-template-columns:1.3fr 1fr}
.st__img{margin:0;overflow:hidden;height:100%;background:var(--ivory-2)}
.st__img img{width:100%;height:115%;object-fit:cover;will-change:transform}
.st__img--1{margin-top:12%;height:88%}.st__img--2{margin-bottom:12%;height:88%}
.st__n{font:300 14px/1 var(--sans);letter-spacing:.2em;margin-bottom:28px}.st__n span{color:var(--muted)}
.st__title{font:300 clamp(44px,5.6vw,96px)/.95 var(--serif);margin-bottom:22px}
.st__caption{color:var(--muted);max-width:440px;margin-bottom:22px}
.st__pieces{list-style:none;display:grid;gap:8px;margin-bottom:30px;font-size:14px;letter-spacing:.04em}
.st__pieces a{text-decoration:none;border-bottom:1px solid transparent;transition:border-color .4s}.st__pieces a:hover{border-color:currentColor}
.st__pieces li::before{content:'— ';color:var(--champagne)}
.st__ctas{display:flex;flex-wrap:wrap;gap:24px;align-items:center}

/* Looks accordion — six full-height panels across the width; hover/focus widens one */
.looks{padding:clamp(80px,10vw,150px) 0 clamp(60px,8vw,110px)}
.looks__head{padding:0 var(--g);max-width:1440px;margin:0 auto 36px}
.looks__row{list-style:none;display:flex;gap:6px;height:clamp(460px,80vh,820px);padding:0 6px}
.look{position:relative;flex:1 1 0;min-width:0;overflow:hidden;transition:flex-grow 1s var(--ease)}
.look.is-open{flex-grow:4.2}
.look__link{position:absolute;inset:0;display:block;color:var(--ivory);text-decoration:none}
.look__link img{width:100%;height:100%;object-fit:cover;transform:scale(1.08);transition:transform 1.4s var(--ease),filter 1s}
.look.is-open img{transform:scale(1)}
.look:not(.is-open) img{filter:brightness(.72) saturate(.85)}
.look__link::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(32,27,25,0) 45%,rgba(32,27,25,.75))}
.look__label{position:absolute;z-index:1;left:0;right:0;bottom:28px;display:flex;flex-direction:column-reverse;align-items:center;gap:16px;white-space:nowrap;transition:opacity .5s}.look__name{writing-mode:vertical-rl;transform:rotate(180deg)}
.look__n{font:300 12px/1 var(--sans);letter-spacing:.2em}.look__name{font:300 clamp(22px,2vw,32px)/1 var(--serif)}
.look.is-open .look__label{opacity:0}
.look__detail{position:absolute;z-index:1;left:clamp(20px,3vw,44px);right:clamp(20px,3vw,44px);bottom:clamp(24px,4vw,48px);display:grid;gap:10px;max-width:440px;opacity:0;transform:translateY(24px);transition:opacity .6s var(--ease),transform .8s var(--ease)}
.look.is-open .look__detail{opacity:1;transform:none;transition-delay:.35s}
.look__detail em{font:italic 300 clamp(30px,3vw,46px)/1 var(--serif)}
.look__detail span{font-size:14px;color:rgba(247,243,236,.86)}
.look__cta{font-size:12px!important;letter-spacing:.25em;text-transform:uppercase;color:var(--ivory)!important;margin-top:8px}

/* Posts grid */
.insta__grid--posts a{position:relative;aspect-ratio:4/5}
.post__multi{position:absolute;top:10px;right:10px;min-width:22px;height:22px;padding:0 6px;border-radius:11px;background:rgba(32,27,25,.55);color:var(--ivory);font-size:11px;display:grid;place-items:center}
.post__over{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:flex-end;gap:4px;padding:16px;color:var(--ivory);background:linear-gradient(180deg,transparent 40%,rgba(32,27,25,.7));opacity:0;transition:opacity .6s var(--ease);font-size:11px;letter-spacing:.18em;text-transform:uppercase}
.post__over em{font:italic 300 22px/1 var(--serif);letter-spacing:0;text-transform:none}
.post:hover .post__over,.post:focus-visible .post__over{opacity:1}

@media (max-width:900px){
  .zoom__panel{width:50%}.zoom__panel--c{left:25%;z-index:1}.zoom__panel--l{left:-25%}.zoom__panel--r{right:-25%}
  .zoom__sat--s5,.zoom__sat--s6{display:none}
  .st{position:relative;height:auto;min-height:0}
  .st__inner,.st--r .st__inner{grid-template-columns:1fr;padding:56px var(--g)}
  .st--r .st__media{order:0}
  .st__media,.st__media--2{grid-template-columns:1.3fr 1fr;height:auto;max-height:none}
  .st__img{aspect-ratio:3/4;height:auto}.st__img img{height:115%}
  .st__img--1{margin-top:22%;height:auto}.st__img--2{display:none}
  .looks__row{overflow-x:auto;scroll-snap-type:x mandatory;height:auto;padding:0 var(--g);gap:10px;scrollbar-width:none}
  .look,.look.is-open{flex:0 0 78vw;aspect-ratio:3/4;scroll-snap-align:center}
  .look img,.look:not(.is-open) img{transform:none;filter:none}
  .look__label{display:none}.look__detail{opacity:1;transform:none}
  .insta__grid--posts{grid-template-columns:repeat(2,1fr)}
}
@media (prefers-reduced-motion:reduce){
  .look,.look__link img,.look__detail,.ribbon__tile img{transition:none}
  .ribbon__row{overflow-x:auto;scrollbar-width:none}
  .zoom__sat{display:none}
}

/* ===================== Languages & polish ===================== */
/* Language switcher */
.lang__btn{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 10px;font:400 12px/1 var(--sans);letter-spacing:.2em;position:relative}
.lang__globe svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.1;display:block;transition:transform 1.2s var(--ease)}
.lang__btn:hover .lang__globe svg,.lang.is-open .lang__globe svg{transform:rotate(180deg)}
.lang__code{display:inline-block;min-width:2.2ch}
.lang__list{position:absolute;right:-8px;top:calc(100% + 10px);min-width:240px;padding:18px 10px 12px;background:rgba(247,243,236,.96);color:var(--espresso);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);box-shadow:0 24px 60px rgba(32,27,25,.22);border:1px solid rgba(32,27,25,.08)}
.lang__list::before{content:"";position:absolute;right:26px;top:-6px;width:11px;height:11px;background:inherit;border-left:1px solid rgba(32,27,25,.08);border-top:1px solid rgba(32,27,25,.08);transform:rotate(45deg)}
.lang__title{font:400 10px/1 var(--sans);letter-spacing:.3em;text-transform:uppercase;color:var(--olive);padding:0 14px 12px;margin:0;border-bottom:1px solid rgba(32,27,25,.1)}
.lang__list ul{list-style:none;margin:6px 0 0;padding:0}
.lang__list a{display:flex;align-items:baseline;gap:16px;padding:11px 14px;text-decoration:none;position:relative;overflow:hidden;outline:none}
.lang__list a::before{content:"";position:absolute;inset:0;background:var(--espresso);transform:scaleY(0);transform-origin:bottom;transition:transform .5s var(--ease);z-index:0}
.lang__list a:hover::before,.lang__list a:focus-visible::before{transform:scaleY(1)}
.lang__list a:hover,.lang__list a:focus-visible{color:var(--ivory)}
.lang__list a>*{position:relative;z-index:1;transition:color .3s,transform .5s var(--ease)}
.lang__list a:hover .lang__name,.lang__list a:focus-visible .lang__name{transform:translateX(6px)}
.lang__short{font:400 10px/1 var(--sans);letter-spacing:.2em;min-width:2.6ch;color:var(--olive)}
.lang__list a:hover .lang__short,.lang__list a:focus-visible .lang__short{color:var(--champagne)}
.lang__name{font:400 21px/1.1 var(--serif)}
.lang__list a[aria-current]::after{content:"";position:absolute;right:16px;top:50%;width:6px;height:6px;border-radius:50%;background:var(--olive);transform:translateY(-50%);z-index:1}
.mobile-menu__langs{list-style:none;display:flex;flex-wrap:wrap;gap:8px;margin:36px 0 0;padding:0}
.mobile-menu__langs a{display:grid;place-items:center;min-width:52px;min-height:44px;padding:0 12px;font:400 12px/1 var(--sans)!important;letter-spacing:.2em;border:1px solid rgba(247,243,236,.25);transition:background .4s,color .4s,border-color .4s}
.mobile-menu__langs a[aria-current]{background:var(--ivory);color:var(--espresso);border-color:var(--ivory)}
/* Language transition: circle reveal + greeting in the new language */
.transition{overflow:hidden}
.transition__hello{position:absolute;left:0;right:0;top:50%;margin-top:-.6em;font:300 italic clamp(40px,7vw,104px)/1.1 var(--serif);letter-spacing:.01em;color:var(--champagne);opacity:0;padding:0 6vw;text-align:center}
.transition.is-lang .transition__mark{opacity:0}
/* Scroll progress hairline */
.progress{position:fixed;left:0;right:0;top:0;height:2px;z-index:120;background:linear-gradient(90deg,var(--champagne),var(--olive));transform-origin:left;transform:scaleX(0);pointer-events:none}
/* Nav links: text roll on hover (current label rises, italic serif twin follows) */
.nav__txt{display:inline-block;position:relative;overflow:hidden;vertical-align:top;line-height:1.25}
.nav__txt>span{display:inline-block;transition:transform .6s var(--ease)}
.nav__txt::after{content:attr(data-text);position:absolute;left:0;top:0;transform:translateY(105%);font:italic 400 1.3em/1 var(--serif);letter-spacing:.04em;text-transform:none;white-space:nowrap;transition:transform .6s var(--ease)}
.nav__links a:hover .nav__txt>span,.nav__links a:focus-visible .nav__txt>span{transform:translateY(-105%)}
.nav__links a:hover .nav__txt::after,.nav__links a:focus-visible .nav__txt::after{transform:translateY(0)}
/* Buttons: shimmer sweep on hover */
.btn::after{content:"";position:absolute;top:0;bottom:0;left:-60%;width:40%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.28),transparent);transform:skewX(-20deg);transition:left .9s var(--ease);pointer-events:none}
.btn:hover::after{left:130%}
/* Footer wordmark */
.foot__word{grid-column:1/-1;margin:24px 0 8px;font:300 clamp(40px,9.6vw,168px)/.95 var(--serif);letter-spacing:-.01em;color:var(--ivory);white-space:nowrap;overflow:hidden;display:flex;justify-content:space-between;opacity:.92}
.foot__word span{display:inline-block;will-change:transform}
.foot__word span:nth-child(n+8):nth-child(-n+14){font-style:italic;color:var(--champagne)}
/* Inner-page headings split into words */
.is-split .w{display:inline-block;will-change:transform}
.is-split{overflow:hidden;padding-bottom:.08em}
/* Film grain (very subtle, decorative) */
body::after{content:"";position:fixed;inset:-50%;z-index:300;pointer-events:none;opacity:.045;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='160'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>");animation:grain 1.2s steps(6) infinite}
@keyframes grain{0%{transform:translate(0,0)}20%{transform:translate(-3%,2%)}40%{transform:translate(2%,-3%)}60%{transform:translate(-2%,-1%)}80%{transform:translate(3%,3%)}100%{transform:translate(0,0)}}
/* Cyrillic typesetting: Cormorant's Cyrillic is a touch wider — tighten display sizes slightly */
html[lang=uk] .hero__title{font-size:clamp(46px,8.4vw,132px)}
html[lang=uk] .h2,html[lang=uk] .zoom__title,html[lang=uk] .st__title{letter-spacing:-.005em}
html[lang=de] .hero__title,html[lang=fr] .hero__title{font-size:clamp(46px,8.6vw,136px)}
@media (max-width:900px){.lang__list{right:-60px}.lang__list::before{right:78px}.foot__word{font-size:11vw}}
@media (prefers-reduced-motion:reduce){body::after{animation:none}.lang__globe svg,.btn::after,.nav__txt::after,.nav__txt>span{transition:none}}

/* ===================== Release 1.1: lookbook, showroom, ambient film ===================== */
.st__img--video video,.lb__img--video video{width:100%;height:100%;object-fit:cover;display:block;background:var(--espresso)}
.st__img--video{margin-top:12%;height:88%}
.stories__more{display:flex;justify-content:center;padding:clamp(56px,7vw,96px) var(--g);background:var(--ivory-2);position:relative;z-index:1}
.insta__follow a{display:flex!important;flex-direction:column;justify-content:center;align-items:center;gap:10px;aspect-ratio:4/5;background:var(--espresso);color:var(--ivory);text-decoration:none;text-align:center;padding:16px;transition:background .6s var(--ease)}
.insta__follow a:hover,.insta__follow a:focus-visible{background:var(--olive)}
.insta__follow em{font:italic 300 clamp(15px,1.15vw,19px)/1.2 var(--serif);overflow-wrap:anywhere}
.insta__follow span{font-size:10px;letter-spacing:.24em;text-transform:uppercase;color:var(--champagne)}
/* Lookbook page */
.lb-head{padding-bottom:clamp(40px,5vw,72px)}
.lb-head .lede{max-width:620px}
.lb-index ol{list-style:none;display:flex;flex-wrap:wrap;gap:10px 28px;margin-top:40px;padding-top:24px;border-top:1px solid var(--line)}
.lb-index a{text-decoration:none;font:300 21px/1.2 var(--serif);display:inline-flex;gap:10px;align-items:baseline;border-bottom:1px solid transparent;transition:border-color .4s,color .4s}
.lb-index a span{font:400 10px/1 var(--sans);letter-spacing:.2em;color:var(--olive)}
.lb-index a:hover,.lb-index a:focus-visible{border-color:currentColor;color:var(--olive)}
.lb{display:grid;grid-template-columns:minmax(260px,.75fr) 1.6fr;gap:clamp(28px,5vw,88px);padding:clamp(56px,8vw,120px) var(--g);max-width:1600px;margin:0 auto;border-top:1px solid var(--line);scroll-margin-top:var(--nav-h)}
.lb--r{grid-template-columns:1.6fr minmax(260px,.75fr)}.lb--r .lb__copy{order:2}
.lb__copy{align-self:start;position:sticky;top:calc(var(--nav-h) + 32px)}
.lb__title{font:300 clamp(40px,4.6vw,78px)/.95 var(--serif);margin:12px 0 20px}
.lb__gallery{display:grid;grid-template-columns:repeat(6,1fr);gap:clamp(6px,.8vw,12px);align-items:start}
.lb__img{margin:0;overflow:hidden;background:var(--ivory-2);aspect-ratio:3/4;grid-column:span 2}
.lb__img:first-child{grid-column:span 4;grid-row:span 2;aspect-ratio:auto;height:100%}
.lb__img img{width:100%;height:100%;object-fit:cover;transition:transform 1.4s var(--ease)}
.lb__img:hover img{transform:scale(1.04)}
.lb__gallery--1 .lb__img:first-child{grid-column:1/-1;aspect-ratio:4/5;grid-row:auto;max-height:86vh}
.lb__gallery--2 .lb__img{grid-column:span 3;grid-row:auto;aspect-ratio:3/4;height:auto}
.lb__gallery--3 .lb__img:first-child{grid-row:span 2}
.lb-end{text-align:center;padding:clamp(80px,10vw,150px) var(--g);background:var(--ivory-2);display:grid;justify-items:center;gap:20px}
@media (max-width:900px){
  .lb,.lb--r{grid-template-columns:1fr}.lb--r .lb__copy{order:0}.lb__copy{position:static}
  .lb__gallery{grid-template-columns:repeat(2,1fr)}
  .lb__img,.lb__gallery--2 .lb__img{grid-column:span 1;grid-row:auto;aspect-ratio:3/4;height:auto}
  .lb__img:first-child,.lb__gallery--1 .lb__img:first-child{grid-column:1/-1;grid-row:auto;aspect-ratio:4/5;height:auto}
  .st__img--video{margin-top:22%;height:auto;aspect-ratio:3/4}
  .stories__more{padding:40px var(--g) 64px}
}
@media (prefers-reduced-motion:reduce){.lb__img img{transition:none}}
.lb-head .page-title,.st__n,.lb-index{font-variant-numeric:lining-nums}
