/* ROMADOS Atelier — theme styles */
:root{
  --paper:#F5F2EC;--paper-2:#ECE6DC;--card:#FFFFFF;--ink:#16181A;--ink-2:#3B3E41;--muted:#7A766E;--line:#DED7CB;
  --forest:#173D35;--forest-2:#22564A;--forest-3:#0F2A24;--brass:#B8894A;--brass-2:#D6B079;--sage:#DDE4DC;--danger:#A6402E;
  --f-display:"Instrument Serif",Georgia,serif;--f-ui:"Manrope",system-ui,-apple-system,"Segoe UI",sans-serif;
  --ease:cubic-bezier(.22,1,.36,1);--spring:cubic-bezier(.34,1.4,.64,1);--io:cubic-bezier(.65,0,.35,1);
  --r:18px;--r-lg:28px;--gut:clamp(16px,3.4vw,44px);--max:1380px;--hd:76px;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:auto}
html.lenis,html.lenis body{height:auto}.lenis.lenis-smooth{scroll-behavior:auto!important}.lenis.lenis-stopped{overflow:hidden}
body{margin:0;background:var(--paper);color:var(--ink);font:400 16px/1.6 var(--f-ui);-webkit-font-smoothing:antialiased;overflow-x:clip}
img{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer}
input,select,textarea{font:inherit;color:inherit}
h1,h2,h3{margin:0;font-weight:400}
p{margin:0 0 1em}p:last-child{margin-bottom:0}
em{font-style:italic}
.vh{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:fixed;left:12px;top:-60px;z-index:200;background:var(--ink);color:#fff;padding:10px 16px;border-radius:999px;transition:top .3s}.skip:focus{top:12px}
:focus-visible{outline:2px solid var(--brass);outline-offset:3px;border-radius:6px}
::selection{background:var(--forest);color:var(--paper)}
.wrap{width:100%;max-width:var(--max);margin:0 auto;padding:0 var(--gut)}
.wrap--narrow{max-width:860px}
.icon{width:20px;height:20px;flex:none}
.eyebrow{display:inline-flex;align-items:center;gap:10px;margin:0 0 14px;font:600 12px/1 var(--f-ui);letter-spacing:.16em;text-transform:uppercase;color:var(--forest-2)}
.eyebrow::before{content:"";width:22px;height:1px;background:currentColor}
.dot{width:7px;height:7px;border-radius:50%;background:var(--brass);box-shadow:0 0 0 4px rgba(184,137,74,.18);animation:pulse 2.4s infinite}
@keyframes pulse{50%{box-shadow:0 0 0 8px rgba(184,137,74,0)}}
.sec{padding:clamp(64px,9vw,128px) 0}
.sh{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:clamp(28px,4vw,48px)}
.sh__h,.ch__h,.hero__h,.pp__title,.ft__h,.mega__h{font-family:var(--f-display);font-weight:400;letter-spacing:-.01em;line-height:1}
.sh__h{font-size:clamp(38px,5.4vw,76px)}
.sh__h em,.hero__h em,.ch__h em,.ft__h em{color:var(--forest-2)}
.link-arrow{display:inline-flex;align-items:center;gap:8px;font-weight:600;font-size:14px;border-bottom:1px solid currentColor;padding-bottom:3px}
.link-arrow .icon{width:16px;height:16px;transition:transform .5s var(--ease)}.link-arrow:hover .icon{transform:translateX(4px)}
.ul{border-bottom:1px solid currentColor}

/* buttons */
.btn{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:10px;height:54px;padding:0 28px;border-radius:999px;background:var(--forest);color:var(--paper);font-weight:600;font-size:15px;letter-spacing:.01em;overflow:hidden;isolation:isolate;white-space:nowrap;transition:transform .5s var(--ease),color .4s,background .4s,box-shadow .5s var(--ease)}
.btn::before{content:"";position:absolute;inset:0;z-index:-1;background:var(--ink);border-radius:inherit;transform:translateY(102%);transition:transform .6s var(--ease)}
.btn:hover::before{transform:none}
.btn:hover{box-shadow:0 18px 38px -18px rgba(23,61,53,.6)}
.btn .icon{width:18px;height:18px;transition:transform .5s var(--ease)}.btn:hover .icon{transform:translateX(3px)}
.btn--line{background:transparent;color:var(--ink);box-shadow:inset 0 0 0 1.5px var(--ink)}
.btn--line::before{background:var(--ink)}.btn--line:hover{color:var(--paper)}
.btn--light{background:var(--paper);color:var(--ink)}.btn--light::before{background:var(--brass-2)}
.btn--line-light{background:transparent;color:var(--paper);box-shadow:inset 0 0 0 1.5px rgba(245,242,236,.5)}.btn--line-light::before{background:var(--paper)}.btn--line-light:hover{color:var(--ink)}
.btn--block{width:100%}
.btn--sm{height:44px;padding:0 20px;font-size:14px}
.btn[disabled]{opacity:.45;pointer-events:none}

/* ticker */
.tick{background:var(--forest);color:var(--paper);overflow:hidden;font-size:12.5px;font-weight:500;letter-spacing:.02em}
.tick__track{display:flex;width:max-content;animation:tick 38s linear infinite}
.tick:hover .tick__track{animation-play-state:paused}
.tick__set{display:flex;align-items:center;gap:28px;padding:10px 14px}
.tick__set i{font-style:normal;color:var(--brass-2);font-size:10px}
@keyframes tick{to{transform:translateX(-50%)}}

/* header */
.hd{position:sticky;top:0;z-index:60;background:rgba(245,242,236,.82);backdrop-filter:saturate(1.6) blur(16px);-webkit-backdrop-filter:saturate(1.6) blur(16px);border-bottom:1px solid transparent;transition:border-color .4s,background .4s,transform .6s var(--ease)}
.hd.is-scrolled{border-color:var(--line);background:rgba(245,242,236,.92)}
.hd.is-hidden{transform:translateY(-100%)}
.hd.mega-open{transform:none}
.hd__in{display:flex;align-items:center;gap:28px;height:var(--hd)}
.hd__logo{flex:none;display:flex;align-items:center}
.brand{display:inline-flex;align-items:center;gap:10px;color:var(--forest)}
.brand__word{font:400 27px/1 var(--f-display);letter-spacing:.14em;color:var(--ink);padding-top:3px}
.mark{display:block;overflow:visible}.mark__knob{transition:transform .6s var(--spring)}
.brand:hover .mark__knob{transform:translateX(-2px)}
.hd__nav{display:flex;align-items:center;gap:10px;flex:1;min-width:0}
.hd__nav ul{display:flex;gap:2px;list-style:none;margin:0;padding:0}
.hd__dept{display:inline-flex;align-items:center;gap:10px;height:42px;padding:0 18px 0 14px;border-radius:999px;background:var(--ink);color:var(--paper);font-weight:600;font-size:14px;transition:background .3s}
.hd__dept:hover,.hd__dept[aria-expanded=true]{background:var(--forest)}
.hd__dept-i{display:grid;grid-template-columns:repeat(2,5px);gap:3px}.hd__dept-i i{width:5px;height:5px;border-radius:1.5px;background:currentColor;transition:transform .5s var(--spring)}
.hd__dept[aria-expanded=true] .hd__dept-i i:nth-child(1){transform:translate(4px,4px)}.hd__dept[aria-expanded=true] .hd__dept-i i:nth-child(2){transform:translate(-4px,4px)}.hd__dept[aria-expanded=true] .hd__dept-i i:nth-child(3){transform:translate(4px,-4px)}.hd__dept[aria-expanded=true] .hd__dept-i i:nth-child(4){transform:translate(-4px,-4px)}
.hd__link{display:block;padding:10px 12px;font-weight:500;font-size:14.5px;border-radius:999px;overflow:hidden;transition:background .3s}
.hd__link span{position:relative;display:inline-block;transition:transform .5s var(--ease)}
.hd__link span::after{content:attr(data-hover);position:absolute;left:0;top:100%;color:var(--forest-2)}
.hd__link:hover span{transform:translateY(-100%)}
.hd__link.is-on{background:var(--paper-2)}
.hd__tools{display:flex;align-items:center;gap:6px;margin-left:auto}
.hd__icon{position:relative;display:inline-flex;align-items:center;gap:10px;height:44px;min-width:44px;justify-content:center;border-radius:999px;transition:background .3s}
.hd__icon:hover{background:var(--paper-2)}
.hd__kbd{font-size:14px;font-weight:500;padding-right:6px}
button.hd__icon{padding:0 12px;box-shadow:inset 0 0 0 1px var(--line);min-width:0}
.hd__count{position:absolute;top:3px;right:2px;min-width:19px;height:19px;padding:0 5px;border-radius:999px;background:var(--brass);color:#fff;font:700 11px/19px var(--f-ui);text-align:center}
.hd__count.bump{animation:bump .6s var(--spring)}
@keyframes bump{40%{transform:scale(1.45)}}
.hd__burger{display:none;width:44px;height:44px;border-radius:50%;position:relative;flex:none}
.hd__burger span{position:absolute;left:12px;right:12px;height:1.6px;background:currentColor;transition:transform .5s var(--ease)}
.hd__burger span:first-child{top:17px}.hd__burger span:last-child{bottom:17px}
.hd__burger:hover span:first-child{transform:translateX(3px)}
/* mega */
.mega{position:absolute;left:0;right:0;top:100%;background:var(--paper);border-bottom:1px solid var(--line);box-shadow:0 40px 80px -40px rgba(22,24,26,.35);clip-path:inset(0 0 100% 0);visibility:hidden;transition:clip-path .7s var(--ease),visibility 0s .7s}
.mega.is-open{clip-path:inset(0 0 0 0);visibility:visible;transition:clip-path .7s var(--ease)}
.mega__in{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2.4fr);gap:48px;padding-top:40px;padding-bottom:44px}
.mega__h{font-size:clamp(30px,3vw,44px);margin-bottom:22px}
.mega__h em{color:var(--forest-2)}
.mega__grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px 16px}
.mega__item{display:flex;align-items:center;gap:14px;padding:8px;border-radius:14px;transition:background .3s}
.mega__item:hover{background:var(--card)}
.mega__img{width:56px;height:62px;flex:none;border-radius:28px 28px 8px 8px;background:var(--card);overflow:hidden;display:grid;place-items:center}
.mega__img img{width:100%;height:100%;object-fit:contain;padding:6px;transition:transform .6s var(--ease)}
.mega__item:hover .mega__img img{transform:scale(1.1)}
.mega__t{display:grid;font-weight:600;font-size:14.5px;line-height:1.3}.mega__t small{font-weight:500;color:var(--muted);font-size:12.5px}
.mega.is-open .mega__grid li{animation:megaIn .6s var(--ease) both}
.mega.is-open .mega__grid li:nth-child(n){animation-delay:calc(var(--n,0)*30ms)}
@keyframes megaIn{from{opacity:0;transform:translateY(10px)}}
.mega-veil{position:fixed;inset:0;z-index:55;background:rgba(22,24,26,.25);opacity:0;pointer-events:none;transition:opacity .5s}
body.mega-on .mega-veil{opacity:1;pointer-events:auto}

/* mobile nav */
.nav{position:fixed;inset:0;z-index:90;visibility:hidden;transition:visibility 0s .7s}
.nav.is-open{visibility:visible;transition:none}
.nav__bg{position:absolute;inset:0;background:rgba(15,42,36,.45);opacity:0;transition:opacity .6s}
.nav.is-open .nav__bg{opacity:1}
.nav__panel{position:absolute;left:0;top:0;bottom:0;width:min(420px,92vw);background:var(--paper);padding:20px 24px 28px;display:flex;flex-direction:column;overflow-y:auto;transform:translateX(-102%);transition:transform .7s var(--ease)}
.nav.is-open .nav__panel{transform:none}
.nav__top{display:flex;align-items:center;justify-content:space-between;margin-bottom:28px}
.nav__x,.cd__x,.side__x,.lb__x,.srch__x{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;box-shadow:inset 0 0 0 1px var(--line);transition:transform .6s var(--ease),background .3s}
.nav__x:hover,.cd__x:hover,.side__x:hover,.srch__x:hover{transform:rotate(90deg);background:var(--paper-2)}
.nav__list{list-style:none;margin:0 0 24px;padding:0}
.nav__list a{display:flex;align-items:baseline;justify-content:space-between;padding:12px 0;border-bottom:1px solid var(--line);font:400 28px/1.1 var(--f-display)}
.nav__list small{font:500 12px var(--f-ui);color:var(--muted)}
.nav.is-open .nav__list li{animation:navIn .7s var(--ease) both;animation-delay:calc(var(--i)*40ms + .15s)}
@keyframes navIn{from{opacity:0;transform:translateX(-24px)}}
.nav__foot{margin-top:auto;display:grid;gap:12px}
.nav__contact{display:flex;align-items:center;gap:10px;font-size:14px;color:var(--ink-2)}

/* hero */
.hero{position:relative;padding:clamp(36px,5vw,72px) 0 clamp(48px,6vw,90px);overflow:hidden}
.hero::before{content:"";position:absolute;right:-12vw;top:-18vw;width:58vw;height:58vw;border-radius:50%;background:radial-gradient(circle,rgba(184,137,74,.16),transparent 62%);pointer-events:none}
.hero__in{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:clamp(32px,5vw,80px);align-items:center}
.hero__eb{color:var(--ink-2)}.hero__eb::before{display:none}
.hero__h{font-size:clamp(52px,7.6vw,120px);line-height:.95;margin-bottom:26px}
.hero__p{max-width:520px;font-size:clamp(16px,1.3vw,18px);color:var(--ink-2);margin-bottom:30px}
.hero__btns{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:44px}
.hero__stats{display:grid;grid-template-columns:repeat(3,auto);justify-content:start;gap:clamp(20px,3vw,48px);margin:0;padding-top:26px;border-top:1px solid var(--line)}
.hero__stats dt{font:400 clamp(34px,3.4vw,48px)/1 var(--f-display)}
.hero__stats dd{margin:6px 0 0;font-size:13px;color:var(--muted);max-width:140px;line-height:1.35}
.hero__stage{position:relative}
.hero__arch{position:relative;aspect-ratio:4/5;border-radius:999px 999px var(--r-lg) var(--r-lg);background:linear-gradient(180deg,#fff,var(--paper-2));overflow:hidden;box-shadow:0 60px 120px -60px rgba(23,61,53,.45)}
.hero__slide{position:absolute;inset:0;display:grid;place-items:center;opacity:0;visibility:hidden;transition:opacity 1s var(--ease),visibility 0s 1s}
.hero__slide.is-on{opacity:1;visibility:visible;transition:opacity 1s var(--ease)}
.hero__slide img{width:100%;height:100%;object-fit:contain;padding:16% 12% 14%;transform:scale(1.08) translateY(12px);transition:transform 1.6s var(--ease)}
.hero__slide.is-on img{transform:none}
.hero__ring{position:absolute;inset:14px;border-radius:999px 999px 18px 18px;border:1px solid rgba(23,61,53,.14);pointer-events:none}
.hero__chip{position:absolute;left:-28px;bottom:56px;display:grid;gap:3px;width:min(300px,78%);padding:16px 18px;border-radius:18px;background:rgba(255,255,255,.86);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);box-shadow:0 24px 50px -24px rgba(22,24,26,.4);transition:transform .6s var(--ease)}
.hero__chip:hover{transform:translateY(-4px)}
.hero__chip-b{font-size:11.5px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--forest-2)}
.hero__chip-t{font-weight:600;font-size:14.5px;line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.hero__chip-p{display:flex;align-items:center;justify-content:space-between;margin-top:6px}
.hero__chip-p b{font:400 24px/1 var(--f-display)}
.hero__chip-p .icon{width:34px;height:34px;padding:8px;border-radius:50%;background:var(--forest);color:#fff}
.hero__chip.swap{animation:chip .7s var(--ease)}
@keyframes chip{0%{opacity:1}35%{opacity:0;transform:translateY(8px)}36%{transform:translateY(-8px)}100%{opacity:1;transform:none}}
.hero__dots{position:absolute;right:18px;top:50%;transform:translateY(-50%);display:grid;gap:8px}
.hero__dots button{width:10px;height:28px;display:grid;place-items:center}
.hero__dots i{width:4px;height:100%;border-radius:4px;background:rgba(22,24,26,.15);overflow:hidden;position:relative}
.hero__dots i::after{content:"";position:absolute;inset:0;background:var(--forest);transform:scaleY(0);transform-origin:top}
.hero__dots .is-on i::after{animation:fillY var(--hero-t,5s) linear forwards}
@keyframes fillY{to{transform:none}}
.hero__scroll{position:absolute;left:50%;bottom:16px;transform:translateX(-50%);display:flex;align-items:center;gap:10px;font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--muted)}
.hero__scroll span{width:1px;height:28px;background:linear-gradient(var(--ink),transparent);animation:drip 2s var(--io) 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}}

/* department cards + rail */
.rail{overflow-x:auto;overflow-y:hidden;scrollbar-width:none;cursor:grab;padding:0 var(--gut);scroll-snap-type:x proximity;overscroll-behavior-x:contain}
.rail::-webkit-scrollbar{display:none}
.rail.is-drag{cursor:grabbing;scroll-snap-type:none}.rail.is-drag a{pointer-events:none}
.rail__track{display:flex;gap:clamp(14px,1.6vw,24px);width:max-content;padding-bottom:8px;margin:0 auto}
@media (min-width:1380px){.rail{padding-left:calc((100vw - var(--max))/2 + var(--gut))}}
.rail-nav{display:flex;gap:8px}
.rail-btn{width:52px;height:52px;border-radius:50%;display:grid;place-items:center;box-shadow:inset 0 0 0 1.5px var(--ink);transition:background .3s,color .3s,transform .5s var(--ease)}
.rail-btn:hover{background:var(--ink);color:var(--paper)}
.rail-btn[data-rail-prev] .icon{transform:rotate(180deg)}
.rail-btn:disabled{opacity:.3;pointer-events:none}
.dc{position:relative;display:grid;gap:6px;width:clamp(220px,22vw,300px);scroll-snap-align:start}
.dc__arch{display:grid;place-items:center;aspect-ratio:3/4;border-radius:999px 999px var(--r) var(--r);background:var(--card);overflow:hidden;position:relative;transition:border-radius .8s var(--ease),background .5s}
.dc__arch::after{content:"";position:absolute;inset:10px;border-radius:999px 999px 10px 10px;border:1px solid rgba(23,61,53,.12);transition:inset .8s var(--ease),opacity .5s}
.dc__arch img{width:100%;height:100%;object-fit:contain;padding:18% 14% 12%;transition:transform 1.1s var(--ease)}
.dc:hover .dc__arch{border-radius:var(--r);background:var(--sage)}
.dc:hover .dc__arch::after{inset:0;opacity:0}
.dc:hover .dc__arch img{transform:scale(1.08) translateY(-6px)}
.dc__n{position:absolute;top:16px;left:50%;transform:translateX(-50%);font:600 11px var(--f-ui);letter-spacing:.14em;color:var(--muted)}
.dc__t{margin-top:10px;font:400 clamp(24px,2vw,30px)/1.05 var(--f-display)}
.dc__c{display:inline-flex;align-items:center;gap:6px;font-size:13.5px;color:var(--muted);font-weight:500}
.dc__c .icon{width:15px;height:15px;transition:transform .5s var(--ease)}
.dc:hover .dc__c{color:var(--forest-2)}.dc:hover .dc__c .icon{transform:translateX(5px)}

/* product grid + card */
.grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(14px,1.6vw,24px)}
.grid--cl{grid-template-columns:repeat(3,minmax(0,1fr))}
.pc{position:relative;display:flex;flex-direction:column;height:100%}
.pc__media{position:relative;display:block;aspect-ratio:1/1.08;border-radius:var(--r);background:var(--card);overflow:hidden}
.pc__img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;padding:12%;transition:opacity .7s var(--ease),transform 1.1s var(--ease)}
.pc__img--alt{opacity:0;transform:scale(1.04)}
.pc:hover .pc__img:not(.pc__img--alt){transform:scale(1.05)}
.pc:hover .pc__img--alt{opacity:1;transform:none}
.pc:hover .pc__media:has(.pc__img--alt) .pc__img:not(.pc__img--alt){opacity:0}
.pc__flag{position:absolute;left:12px;top:12px;padding:6px 10px;border-radius:999px;background:var(--paper-2);font-size:12px;font-weight:600}
.pc__mw{position:relative}
.pc__add{position:absolute;left:12px;right:12px;bottom:12px;display:flex;align-items:center;justify-content:center;gap:8px;height:46px;border-radius:999px;background:var(--ink);color:var(--paper);font-weight:600;font-size:14px;opacity:0;transform:translateY(10px);transition:opacity .45s var(--ease),transform .55s var(--ease),background .3s}
.pc__add .icon{width:17px;height:17px}
.pc:hover .pc__add,.pc__add:focus-visible{opacity:1;transform:none}
.pc__add:hover{background:var(--forest)}
.pc__add.is-busy{pointer-events:none;opacity:.7}
.pc__add.is-done{background:var(--forest)}
.pc__body{padding:14px 4px 4px;display:grid;gap:4px}
.pc__brand{margin:0;font-size:11.5px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--forest-2)}
.pc__title{font:600 15px/1.35 var(--f-ui);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.pc__title a{background:linear-gradient(currentColor,currentColor) 0 100%/0 1px no-repeat;transition:background-size .5s var(--ease)}
.pc:hover .pc__title a{background-size:100% 1px}
.price{display:inline-flex;align-items:baseline;flex-wrap:wrap;gap:8px}
.price__now{font:400 22px/1.1 var(--f-display)}
.price__now small{font:500 12px var(--f-ui);color:var(--muted);margin-right:3px}
.price__now--sale{color:var(--danger)}
.price__was{color:var(--muted);font-size:14px}

/* product tabs */
.pt .sh{align-items:center}
.pt__tabs{position:relative;display:flex;gap:4px;padding:5px;border-radius:999px;background:var(--paper-2);overflow-x:auto;scrollbar-width:none;max-width:100%}
.pt__tabs button{position:relative;z-index:1;flex:none;height:42px;padding:0 18px;border-radius:999px;font-weight:600;font-size:14px;color:var(--ink-2);transition:color .4s}
.pt__tabs button[aria-selected=true]{color:var(--paper)}
.pt__pill{position:absolute;z-index:0;top:5px;bottom:5px;left:0;width:0;border-radius:999px;background:var(--ink);transition:transform .6s var(--ease),width .6s var(--ease)}
.pt__panel.is-on .grid__i{animation:rise .8s var(--ease) both;animation-delay:calc(var(--i)*55ms)}
@keyframes rise{from{opacity:0;transform:translateY(26px)}}
.pt__more{margin-top:34px;text-align:center}

/* promise */
.pr--dark{background:var(--forest-3);color:var(--paper)}
.pr--dark .eyebrow{color:var(--brass-2)}
.pr--dark .sh__h em{color:var(--brass-2)}
.pr__grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:0;border-top:1px solid rgba(128,128,128,.25)}
.pr__i{position:relative;padding:30px 28px 10px 0;border-right:1px solid rgba(128,128,128,.25);margin-right:28px}
.pr__i:last-child{border-right:0;margin-right:0}
.pr__n{display:block;font-size:12px;letter-spacing:.14em;opacity:.55;margin-bottom:26px}
.pr__ic{display:grid;place-items:center;width:52px;height:52px;border-radius:999px 999px 14px 14px;background:rgba(214,176,121,.14);color:var(--brass-2);margin-bottom:20px}
.pr:not(.pr--dark) .pr__ic{background:var(--sage);color:var(--forest)}
.pr__i h3{font:400 28px/1.1 var(--f-display);margin-bottom:10px}
.pr__i p{font-size:14.5px;opacity:.75;max-width:300px}
.pr:not(.pr--dark){padding-top:0}

/* editorial */
.ed__in{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:clamp(32px,6vw,100px);align-items:center}
.ed--flip .ed__media{order:2}
.ed__media{position:relative}
.ed__frame{aspect-ratio:4/4.4;border-radius:999px 999px var(--r-lg) var(--r-lg);background:var(--card);overflow:hidden;display:grid;place-items:center}
.ed__frame img{width:100%;height:115%;object-fit:contain;padding:10%;will-change:transform}
.ed__mini{position:absolute;right:-18px;bottom:28px;display:grid;gap:10px}
.ed__mini a{width:84px;height:84px;border-radius:50%;background:#fff;box-shadow:0 18px 30px -16px rgba(22,24,26,.35);overflow:hidden;transition:transform .6s var(--spring)}
.ed__mini a:hover{transform:scale(1.1)}
.ed__mini img{width:100%;height:100%;object-fit:contain;padding:10px}
.ed--flip .ed__mini{right:auto;left:-18px}
.ed__p{font-size:17px;color:var(--ink-2);max-width:500px;margin:22px 0 26px}
.ed__list{list-style:none;counter-reset:e;margin:0 0 32px;padding:0;display:grid}
.ed__list li{counter-increment:e;display:grid;grid-template-columns:44px 1fr;gap:2px 10px;padding:16px 0;border-top:1px solid var(--line)}
.ed__list li::before{content:"0" counter(e);grid-row:span 2;font:400 22px/1.2 var(--f-display);color:var(--brass)}
.ed__list b{font-weight:600}
.ed__list span{color:var(--muted);font-size:14.5px}

/* brand wall */
.bw__head{max-width:640px;margin-bottom:40px}
.bw__grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));border-top:1px solid var(--line);border-left:1px solid var(--line)}
.bw__grid li{border-right:1px solid var(--line);border-bottom:1px solid var(--line)}
.bw__grid a{position:relative;display:flex;align-items:center;justify-content:center;height:clamp(84px,9vw,120px);font:400 clamp(20px,2vw,28px)/1 var(--f-display);overflow:hidden;isolation:isolate;transition:color .5s}
.bw__grid a::before{content:"";position:absolute;inset:0;z-index:-1;background:var(--forest);transform:scaleY(0);transform-origin:bottom;transition:transform .6s var(--ease)}
.bw__grid a:hover{color:var(--paper)}.bw__grid a:hover::before{transform:none}
.bw__grid a .icon{position:absolute;right:12px;top:12px;width:15px;height:15px;transform:rotate(-45deg) scale(.4);opacity:0;transition:all .5s var(--ease)}
.bw__grid a:hover .icon{opacity:1;transform:rotate(-45deg)}

/* faq + generic */
.section{padding:clamp(56px,7vw,100px) 0}
.head h2,.story h2{font:400 clamp(36px,4.6vw,64px)/1 var(--f-display);margin-bottom:28px}
.faq details{border-bottom:1px solid var(--line)}
.faq summary{list-style:none;display:flex;justify-content:space-between;align-items:center;gap:20px;padding:22px 0;font-weight:600;font-size:17px;cursor:pointer}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"";flex:none;width:30px;height:30px;border-radius:50%;box-shadow:inset 0 0 0 1px var(--line);background:linear-gradient(currentColor,currentColor) center/11px 1.5px no-repeat,linear-gradient(currentColor,currentColor) center/1.5px 11px no-repeat;transition:transform .5s var(--ease),background-color .3s}
.faq details[open] summary::after{transform:rotate(135deg);background-color:var(--sage)}
.faq .rte{padding:0 0 22px;color:var(--ink-2);max-width:680px}
.story{text-align:center}.story .btn{margin-top:18px}
.coll-head{margin-bottom:28px}.coll-head h1{font:400 clamp(40px,5.4vw,76px)/1 var(--f-display)}
.rte{line-height:1.7}.rte h2,.rte h3{font-family:var(--f-display);font-weight:400;margin:1.4em 0 .5em;line-height:1.1}.rte h2{font-size:32px}.rte h3{font-size:26px}
.rte ul{padding-left:1.2em}.rte li{margin:.3em 0}.rte a{border-bottom:1px solid}
.rte table{width:100%;border-collapse:collapse;font-size:14.5px}.rte td,.rte th{padding:10px;border-bottom:1px solid var(--line);text-align:left}
.empty{color:var(--muted)}
.post{padding:24px 0;border-bottom:1px solid var(--line)}.post h2{font:400 30px/1.1 var(--f-display);margin-bottom:8px}

/* forms */
.form{display:grid;gap:16px;margin-top:28px}
.form label{display:grid;gap:6px;font-size:13px;font-weight:600}
.form input,.form textarea,.searchbar input{width:100%;padding:15px 18px;border:1px solid var(--line);border-radius:14px;background:var(--card);font-size:16px;transition:border-color .3s,box-shadow .3s}
.form input:focus,.form textarea:focus,.searchbar input:focus{outline:0;border-color:var(--forest);box-shadow:0 0 0 4px rgba(23,61,53,.1)}
.form .btn{justify-self:start}
.note{padding:14px 18px;border-radius:14px}.note--ok{background:var(--sage)}.note--err{background:#F6E1DC;color:var(--danger)}
.contact-card{display:flex;gap:18px;padding:26px;border-radius:var(--r-lg);background:var(--card)}
.contact-card>p .icon{width:42px;height:42px;padding:10px;border-radius:50%;background:var(--sage);color:var(--forest)}
.contact-card a{font-weight:600}
.searchbar{display:flex;gap:10px;margin-top:18px}.searchbar .btn{flex:none}
.pages{margin-top:40px;text-align:center}.pages span,.pages a{display:inline-block;padding:8px 13px;border-radius:999px}.pages .current{background:var(--ink);color:var(--paper)}

/* collection header */
.crumbs{display:flex;align-items:center;flex-wrap:wrap;gap:6px;font-size:13px;color:var(--muted);margin-bottom:22px}
.crumbs .icon{width:14px;height:14px;opacity:.6}
.crumbs a:hover{color:var(--ink)}
.crumbs span[aria-current]{color:var(--ink);max-width:40ch;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ch{padding:clamp(28px,4vw,56px) 0 clamp(24px,3vw,40px)}
.ch__row{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;flex-wrap:wrap}
.ch__h{font-size:clamp(48px,7vw,104px)}
.ch__n{font-size:14px;color:var(--muted);margin:0 0 10px}.ch__n b{font:400 30px var(--f-display);color:var(--ink);margin-right:4px}
.ch__d{max-width:640px;color:var(--ink-2);margin-top:14px}
.ch__strip{display:flex;margin-top:26px}
.ch__strip span{width:58px;height:58px;border-radius:50%;background:var(--card);border:3px solid var(--paper);margin-right:-12px;overflow:hidden;transition:transform .5s var(--spring)}
.ch__strip span:hover{transform:translateY(-6px)}
.ch__strip img{width:100%;height:100%;object-fit:contain;padding:6px}
.cl{padding-bottom:clamp(64px,8vw,120px)}
.cl__in{display:grid;grid-template-columns:260px minmax(0,1fr);gap:clamp(24px,3vw,48px);align-items:start}
.side{position:sticky;top:calc(var(--hd) + 20px)}
.side__bg,.side__head,.side__foot{display:none}
.side__group{border-top:1px solid var(--line);padding:16px 0}
.side__label{display:flex;align-items:center;justify-content:space-between;margin:0 0 10px;font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);list-style:none;cursor:pointer}
.side__label::-webkit-details-marker{display:none}
.side__label b{margin-left:auto;margin-right:8px;min-width:20px;height:20px;border-radius:999px;background:var(--forest);color:#fff;font-size:11px;text-align:center;line-height:20px;letter-spacing:0}
.side__label .icon{width:16px;height:16px;transition:transform .4s var(--ease)}
details.side__group:not([open]) .side__label{margin:0}
details.side__group:not([open]) .side__label .icon{transform:rotate(-90deg)}
.side__depts{list-style:none;margin:0;padding:0;display:grid;gap:1px;max-height:340px;overflow-y:auto}
.side__depts a{display:flex;justify-content:space-between;padding:7px 10px;border-radius:10px;font-size:14.5px;transition:background .3s}
.side__depts a:hover{background:var(--paper-2)}
.side__depts a.is-on{background:var(--ink);color:var(--paper)}
.side__depts small{color:var(--muted);font-size:12px}.side__depts a.is-on small{color:inherit;opacity:.7}
.side__opts{display:grid;gap:2px;max-height:280px;overflow-y:auto}
.ck{display:flex;align-items:center;gap:10px;padding:6px 4px;font-size:14.5px;cursor:pointer}
.ck input{position:absolute;opacity:0}
.ck i{display:grid;place-items:center;width:20px;height:20px;border-radius:6px;box-shadow:inset 0 0 0 1.5px var(--line);transition:background .25s,box-shadow .25s}
.ck i .icon{width:13px;height:13px;color:#fff;stroke-width:2.4;transform:scale(0);transition:transform .35s var(--spring)}
.ck input:checked + i{background:var(--forest);box-shadow:none}.ck input:checked + i .icon{transform:none}
.ck input:focus-visible + i{outline:2px solid var(--brass);outline-offset:2px}
.ck input:disabled ~ span{opacity:.4}
.ck em{margin-left:auto;font-style:normal;font-size:12px;color:var(--muted)}
.side__price{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.side__price label{display:grid;gap:4px;font-size:12px;color:var(--muted)}
.side__price input{width:100%;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:var(--card)}
.side__body .btn{margin-top:8px}
.cl__bar{display:flex;align-items:center;gap:14px;margin-bottom:22px;padding-bottom:16px;border-bottom:1px solid var(--line)}
.cl__fbtn{display:none;align-items:center;gap:8px;height:44px;padding:0 16px;border-radius:999px;box-shadow:inset 0 0 0 1.5px var(--ink);font-weight:600;font-size:14px}
.cl__fbtn b{min-width:20px;height:20px;border-radius:999px;background:var(--forest);color:#fff;font-size:11px;line-height:20px;text-align:center}
.cl__count{margin:0;font-size:14px;color:var(--muted)}.cl__count b{color:var(--ink)}
.cl__sort{position:relative;margin-left:auto;display:flex;align-items:center;gap:8px;font-size:13px;color:var(--muted)}
.cl__sort select{appearance:none;-webkit-appearance:none;height:44px;padding:0 40px 0 16px;border-radius:999px;border:1px solid var(--line);background:var(--card);font-weight:600;font-size:14px;color:var(--ink);cursor:pointer}
.cl__sort .icon{position:absolute;right:14px;width:16px;height:16px;pointer-events:none;color:var(--ink)}
.pills{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:20px}
.pill{display:inline-flex;align-items:center;gap:6px;height:34px;padding:0 12px;border-radius:999px;background:var(--card);font-size:13px;font-weight:600}
.pill .icon{width:14px;height:14px}.pill--clear{background:none;text-decoration:underline}
.more{display:grid;justify-items:center;gap:16px;margin-top:48px}
.more__bar{width:200px;height:3px;border-radius:3px;background:var(--line);overflow:hidden}
.more__bar span{display:block;height:100%;background:var(--forest);transition:width .8s var(--ease)}
.more .btn.is-busy{opacity:.6;pointer-events:none}
.empty-st{display:grid;justify-items:center;gap:14px;padding:80px 0;text-align:center}
.empty-st>span .icon{width:54px;height:54px;padding:14px;border-radius:50%;background:var(--card)}
/* list collections */
.ch--list .ch__row{align-items:center}
.lc{padding-top:clamp(20px,3vw,40px)}
.lc__grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(18px,2vw,30px) clamp(14px,1.6vw,24px)}
.dc--grid{width:auto}

/* product page */
.pp{padding:clamp(18px,2.4vw,32px) 0 clamp(48px,6vw,90px)}
.pp__grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:clamp(24px,4vw,64px);align-items:start}
.gal{position:relative}
.gal__track{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.gal__item{margin:0;border-radius:var(--r);background:var(--card);overflow:hidden;aspect-ratio:1/1}
.gal__item--lead{grid-column:span 2;aspect-ratio:1/.86;border-radius:var(--r-lg)}
.gal__zoom{display:block;width:100%;height:100%;cursor:zoom-in}
.gal__zoom img{width:100%;height:100%;object-fit:contain;padding:8%;transition:transform 1.2s var(--ease)}
.gal__zoom:hover img{transform:scale(1.05)}
.gal__ph{display:grid;place-items:center;height:100%;color:var(--line)}
.gal__dots,.gal__count{display:none}
.pp__info{position:sticky;top:calc(var(--hd) + 18px)}
.pp__card{padding:clamp(22px,2.6vw,36px);border-radius:var(--r-lg);background:var(--card);box-shadow:0 30px 70px -50px rgba(22,24,26,.35)}
.pp__top{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}
.pp__brand{display:inline-flex;align-items:center;height:30px;padding:0 12px;border-radius:999px;background:var(--sage);color:var(--forest);font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;transition:background .3s}
.pp__brand:hover{background:var(--forest);color:var(--paper)}
.pp__stock{display:inline-flex;align-items:center;gap:8px;font-size:13px;font-weight:600;color:var(--ink-2)}
.pp__stock i{width:8px;height:8px;border-radius:50%;background:var(--muted)}.pp__stock i.ok{background:#3E8E5B;box-shadow:0 0 0 4px rgba(62,142,91,.16)}
.pp__title{font-size:clamp(32px,3.2vw,48px);line-height:1.04;margin-bottom:18px}
.pp__price .price__now{font-size:clamp(34px,3vw,44px)}
.pp__vat{font-size:13px;color:var(--muted);margin:6px 0 22px}
.opt{border:0;margin:0 0 18px;padding:0}
.opt legend{padding:0;margin-bottom:10px;font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.opt legend b{color:var(--ink);letter-spacing:0;text-transform:none;font-size:14px;margin-left:6px}
.opt__vals{display:flex;flex-wrap:wrap;gap:8px}
.seg{position:relative;cursor:pointer}
.seg input{position:absolute;opacity:0}
.seg span{display:inline-flex;align-items:center;min-height:42px;padding:8px 16px;border-radius:12px;box-shadow:inset 0 0 0 1.5px var(--line);font-size:14px;font-weight:600;transition:box-shadow .3s,background .3s,color .3s}
.seg:hover span{box-shadow:inset 0 0 0 1.5px var(--ink)}
.seg input:checked + span{background:var(--ink);color:var(--paper);box-shadow:none}
.seg input:focus-visible + span{outline:2px solid var(--brass);outline-offset:2px}
.pp__buy{display:flex;gap:10px;margin-top:6px}
.qty{display:flex;align-items:center;height:56px;border-radius:999px;box-shadow:inset 0 0 0 1.5px var(--line);flex:none}
.qty button{width:44px;height:100%;display:grid;place-items:center;border-radius:50%}
.qty button .icon{width:16px;height:16px}
.qty input{width:34px;border:0;background:none;text-align:center;font-weight:700;-moz-appearance:textfield}
.qty input::-webkit-outer-spin-button,.qty input::-webkit-inner-spin-button{-webkit-appearance:none}
.qty--sm{height:38px}.qty--sm button{width:34px}.qty--sm span{min-width:22px;text-align:center;font-weight:700;font-size:14px}
.btn--add{flex:1;height:56px;font-size:16px}
.btn--add .btn__ok{position:absolute;inset:0;display:grid;place-items:center;transform:translateY(100%);transition:transform .5s var(--ease)}
.btn--add.is-done .btn__l{transform:translateY(-160%)}
.btn--add .btn__l{transition:transform .5s var(--ease)}
.btn--add.is-done .btn__ok{transform:none}
.btn--add.is-busy{pointer-events:none}
.btn--add.is-busy .btn__l{opacity:.6}
.shopify-payment-terms{display:block;margin-top:12px;font-size:13px;color:var(--muted)}
.pp__form .shopify-payment-button{margin-top:10px}
.eta{display:flex;gap:14px;align-items:flex-start;margin-top:20px;padding:16px;border-radius:16px;background:var(--paper)}
.eta__i{display:grid;place-items:center;width:42px;height:42px;flex:none;border-radius:12px;background:var(--forest);color:var(--paper)}
.eta b{display:block;font-size:14.5px}.eta small{color:var(--muted);font-size:13px}
.perks{list-style:none;margin:16px 0 0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:10px}
.perks li{display:flex;gap:10px;align-items:flex-start;padding:12px;border-radius:14px;box-shadow:inset 0 0 0 1px var(--line)}
.perks li>span{display:grid;place-items:center;width:34px;height:34px;flex:none;border-radius:50%;background:var(--sage);color:var(--forest)}
.perks li>span .icon{width:17px;height:17px}
.perks p{margin:0;display:grid;line-height:1.3}.perks b{font-size:13.5px}.perks small{font-size:12px;color:var(--muted)}
.pinfo{margin-top:clamp(48px,6vw,80px);max-width:960px}
.pinfo__tabs{position:relative;display:flex;gap:28px;border-bottom:1px solid var(--line);overflow-x:auto;scrollbar-width:none}
.pinfo__tabs button{flex:none;padding:14px 0;font:400 clamp(22px,2vw,28px)/1 var(--f-display);color:var(--muted);transition:color .3s}
.pinfo__tabs button[aria-selected=true]{color:var(--ink)}
.pinfo__bar{position:absolute;bottom:-1px;left:0;height:2px;width:0;background:var(--forest);transition:transform .6s var(--ease),width .6s var(--ease)}
.pinfo__panel{padding-top:28px;color:var(--ink-2);animation:rise .6s var(--ease)}
.specs{margin:0;display:grid}
.specs div{display:grid;grid-template-columns:200px 1fr;gap:16px;padding:14px 0;border-bottom:1px solid var(--line)}
.specs dt{color:var(--muted);font-size:14px}.specs dd{margin:0;font-weight:600}
.rel{padding-top:clamp(40px,5vw,80px)}
.rail__card{width:clamp(220px,22vw,290px);scroll-snap-align:start}
/* lightbox */
.lb{position:fixed;inset:0;z-index:120;background:rgba(245,242,236,.97);visibility:hidden;opacity:0;transition:opacity .5s,visibility 0s .5s}
.lb.is-open{visibility:visible;opacity:1;transition:opacity .5s}
.lb__track{display:flex;height:100%;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none}
.lb__track figure{flex:0 0 100%;margin:0;scroll-snap-align:center;display:grid;place-items:center;padding:60px 20px}
.lb__track img{max-height:100%;width:auto;object-fit:contain}
.lb__x{position:absolute;top:18px;right:18px;z-index:2;background:var(--card)}
/* sticky buy */
.sbar{position:fixed;left:50%;bottom:16px;z-index:50;width:min(640px,calc(100% - 24px));transform:translate(-50%,140%);transition:transform .7s var(--ease)}
.sbar.is-on{transform:translate(-50%,0)}
.sbar__in{display:flex;align-items:center;gap:12px;padding:8px 8px 8px 10px;border-radius:999px;background:rgba(22,24,26,.92);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);color:var(--paper);box-shadow:0 20px 40px -20px rgba(0,0,0,.5)}
.sbar img{width:44px;height:44px;border-radius:50%;object-fit:contain;background:#fff;padding:3px}
.sbar__t{display:grid;min-width:0;flex:1;line-height:1.25}
.sbar__t b{font-size:13.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sbar__t span{font-size:13px;color:var(--brass-2)}
.sbar .btn{background:var(--paper);color:var(--ink)}.sbar .btn::before{background:var(--brass-2)}

/* cart drawer */
.cd{position:fixed;inset:0;z-index:100;visibility:hidden;transition:visibility 0s .8s}
.cd.is-open{visibility:visible;transition:none}
.cd__bg{position:absolute;inset:0;background:rgba(15,42,36,.38);backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);opacity:0;transition:opacity .7s var(--ease)}
.cd.is-open .cd__bg{opacity:1}
.cd__panel{position:absolute;top:10px;right:10px;bottom:10px;width:min(460px,calc(100% - 20px));display:flex;flex-direction:column;border-radius:26px;background:var(--paper);box-shadow:-30px 0 80px -30px rgba(0,0,0,.4);transform:translateX(calc(100% + 24px));transition:transform .8s cubic-bezier(.16,1,.3,1);outline:0;overflow:hidden}
.cd.is-open .cd__panel{transform:none}
.cd__panel>.shopify-section{height:100%;display:flex;flex-direction:column;min-height:0}
.cd__inner{display:flex;flex-direction:column;flex:1;min-height:0}
.cd__head{display:flex;align-items:center;justify-content:space-between;padding:20px 22px;border-bottom:1px solid var(--line)}
.cd__title{margin:0;font:400 34px/1 var(--f-display)}
.cd__title sup{font:700 12px var(--f-ui);margin-left:6px;padding:3px 8px;border-radius:999px;background:var(--forest);color:#fff;vertical-align:super}
.cd__lines{list-style:none;margin:0;padding:8px 22px;flex:1;overflow-y:auto;overscroll-behavior:contain}
.cd__line{position:relative;display:grid;grid-template-columns:88px minmax(0,1fr);gap:16px;padding:16px 28px 16px 0;border-bottom:1px solid var(--line)}
.cd.is-open .cd__line{animation:cdIn .8s var(--ease) both;animation-delay:calc(var(--i)*70ms + .2s)}
@keyframes cdIn{from{opacity:0;transform:translateX(40px)}}
.cd__line.is-leaving{animation:cdOut .45s var(--ease) forwards!important}
@keyframes cdOut{to{opacity:0;transform:translateX(30px);height:0;padding:0;margin:0}}
.cd__img{width:88px;height:96px;border-radius:44px 44px 12px 12px;background:var(--card);overflow:hidden}
.cd__img img{width:100%;height:100%;object-fit:contain;padding:10px}
.cd__brand{margin:0;font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--forest-2)}
.cd__name{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-weight:600;font-size:14.5px;line-height:1.35}
.cd__var{margin:2px 0 0;font-size:13px;color:var(--muted)}
.cd__row{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:10px}
.cd__price{margin:0;display:grid;justify-items:end;line-height:1.1}.cd__price b{font:400 22px var(--f-display)}.cd__price s{font-size:12px;color:var(--muted)}
.cd__rm{position:absolute;top:14px;right:0;width:26px;height:26px;border-radius:50%;display:grid;place-items:center;color:var(--muted);transition:background .3s,color .3s}
.cd__rm:hover{background:var(--paper-2);color:var(--ink)}.cd__rm .icon{width:14px;height:14px}
.cd__foot{margin-top:auto;padding:18px 22px 22px;border-top:1px solid var(--line);background:var(--card)}
.cd__sum{display:flex;justify-content:space-between;margin:0 0 6px;font-size:14px}
.cd__sum--save{color:var(--forest-2);font-weight:600}
.cd__sum--total{font-size:15px;font-weight:600;align-items:baseline}.cd__sum--total strong{font:400 32px var(--f-display)}
.cd__note{font-size:12.5px;color:var(--muted);margin:2px 0 14px}
.btn--checkout{height:58px;font-size:16px}
.cd__pay{display:flex;flex-wrap:wrap;gap:6px;justify-content:center;margin-top:12px}.cd__card{height:22px;width:auto}
.cd__empty{display:grid;justify-items:center;align-content:center;gap:10px;flex:1;padding:40px 28px;text-align:center;color:var(--ink-2)}
.cd__empty-art{display:grid;place-items:center;width:110px;height:130px;border-radius:999px 999px 20px 20px;background:var(--card);color:var(--forest);margin-bottom:10px;animation:float 4s var(--io) infinite}
@keyframes float{50%{transform:translateY(-8px)}}
.cd__empty-h{font:400 30px/1.1 var(--f-display);color:var(--ink);margin:0}
.cd__empty .btn{margin-top:10px}
.cd__inner.is-loading{opacity:.55;pointer-events:none;transition:opacity .3s}

/* search overlay */
.srch{position:fixed;inset:0;z-index:110;visibility:hidden;transition:visibility 0s .6s}
.srch.is-open{visibility:visible;transition:none}
.srch__bg{position:absolute;inset:0;background:rgba(15,42,36,.4);opacity:0;transition:opacity .5s}
.srch.is-open .srch__bg{opacity:1}
.srch__panel{position:absolute;left:0;right:0;top:0;max-height:88vh;overflow-y:auto;background:var(--paper);padding:22px 0 30px;transform:translateY(-100%);transition:transform .7s var(--ease);border-radius:0 0 28px 28px}
.srch.is-open .srch__panel{transform:none}
.srch__form{display:flex;align-items:center;gap:14px}
.srch__form>.icon{width:26px;height:26px;color:var(--muted)}
.srch__form input{flex:1;min-width:0;border:0;background:none;font:400 clamp(28px,4vw,48px)/1.2 var(--f-display);outline:0;padding:8px 0;border-bottom:1px solid var(--line)}
.srch__results{margin-top:22px}
.srch__results:empty{display:none}
.srch__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:10px}
.srch__item{display:flex;gap:14px;align-items:center;padding:10px;border-radius:16px;background:var(--card);transition:transform .5s var(--ease)}
.srch__item:hover{transform:translateY(-3px)}
.srch__item img{width:64px;height:64px;object-fit:contain;flex:none}
.srch__item b{display:block;font-size:14px;line-height:1.3}.srch__item span{font:400 18px var(--f-display);color:var(--forest-2)}
.srch__all{display:inline-flex;margin-top:18px}
.srch__none{color:var(--muted)}

/* footer */
.ft{background:var(--forest-3);color:var(--paper);padding-top:clamp(56px,7vw,100px);overflow:hidden}
.ft a{transition:color .3s}.ft a:hover{color:var(--brass-2)}
.ft__cta{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:32px;align-items:end;padding-bottom:clamp(40px,5vw,72px);border-bottom:1px solid rgba(245,242,236,.14)}
.ft__h{font-size:clamp(44px,6vw,92px)}
.ft__cta-r p{opacity:.75;max-width:440px}
.ft__btns{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}
.ft__grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.2fr;gap:32px;padding:clamp(40px,5vw,64px) 0}
.ft .brand,.ft .brand__word{color:var(--paper)}
.ft__about p{opacity:.7;font-size:14.5px;max-width:320px;margin-top:18px}
.ft__col h2{font:600 12px var(--f-ui);letter-spacing:.16em;text-transform:uppercase;color:var(--brass-2);margin-bottom:16px}
.ft__col ul{list-style:none;margin:0;padding:0;display:grid;gap:9px;font-size:14.5px}
.ft address{font-style:normal;font-size:14.5px;opacity:.85;line-height:1.6;margin-bottom:12px}
.ft__col p{font-size:14.5px;margin:0 0 6px}
.ft__word{font:400 clamp(80px,19vw,300px)/.78 var(--f-display);letter-spacing:.06em;text-align:center;color:transparent;-webkit-text-stroke:1px rgba(245,242,236,.22);white-space:nowrap;user-select:none;margin:0 calc(var(--gut)*-1)}
.ft__legal{display:flex;justify-content:space-between;gap:24px;padding:22px 0 28px;border-top:1px solid rgba(245,242,236,.14);font-size:12.5px;opacity:.65}
.ft__legal p{margin:0;max-width:820px}

/* toast */
.toast{position:fixed;left:50%;top:18px;z-index:130;transform:translate(-50%,-160%);padding:12px 20px;border-radius:999px;background:var(--ink);color:var(--paper);font-size:14px;font-weight:600;box-shadow:0 20px 40px -20px rgba(0,0,0,.5);transition:transform .6s var(--spring)}
.toast.is-on{transform:translate(-50%,0)}

/* motion: reveals */
.js .reveal{opacity:0;transform:translateY(34px);transition:opacity 1s var(--ease),transform 1.1s var(--ease);transition-delay:calc(var(--i,0)*80ms)}
.js .reveal.in{opacity:1;transform:none}
.js .reveal-img{clip-path:inset(12% 6% 0 6% round 28px);transition:clip-path 1.4s var(--ease)}
.js .reveal-img.in{clip-path:inset(0 0 0 0 round 0)}
.js .lift{opacity:0;transform:translateY(22px);animation:lift 1s var(--ease) forwards;animation-delay:var(--d,0s)}
@keyframes lift{to{opacity:1;transform:none}}
.js [data-lines] .ln{display:inline-block;overflow:hidden;vertical-align:top;padding-bottom:.1em;margin-bottom:-.1em}
.js [data-lines] .ln>span{display:inline-block;transform:translateY(105%);transition:transform 1.1s var(--ease);transition-delay:calc(var(--l)*55ms + var(--base,0s))}
.js [data-lines].in .ln>span{transform:none}
.curtain{position:fixed;inset:0;z-index:300;background:var(--forest-3);pointer-events:none;transform:scaleY(0);transform-origin:bottom}
.curtain.is-leave{animation:cur .55s var(--io) forwards}
@keyframes cur{to{transform:scaleY(1)}}
@view-transition{navigation:auto}
::view-transition-old(root){animation:.4s var(--io) both vtOut}
::view-transition-new(root){animation:.6s var(--ease) both vtIn}
@keyframes vtOut{to{opacity:0;transform:translateY(-12px)}}
@keyframes vtIn{from{opacity:0;transform:translateY(16px)}}

/* responsive */
@media (max-width:1180px){
  .hd__nav ul{display:none}
  .grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .grid--cl{grid-template-columns:repeat(2,minmax(0,1fr))}
  .bw__grid{grid-template-columns:repeat(4,minmax(0,1fr))}
  .lc__grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .mega__grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:980px){
  :root{--hd:64px}
  .hd__nav{display:none}
  .hd__burger{display:block}
  .hd__logo{position:absolute;left:50%;transform:translateX(-50%)}
  .hd__in{gap:8px}
  .hd__kbd{display:none}
  button.hd__icon{box-shadow:none;padding:0}
  .brand__word{font-size:23px}
  .mega{display:none}
  .hero__in{grid-template-columns:1fr}
  .hero__stage{max-width:520px;width:100%;margin:0 auto;order:-1}
  .hero__chip{left:12px;bottom:18px}
  .hero__scroll{display:none}
  .ed__in{grid-template-columns:1fr}
  .ed--flip .ed__media{order:0}
  .ed__mini{right:8px}.ed--flip .ed__mini{left:8px}
  .cl__in{grid-template-columns:1fr}
  .cl__fbtn{display:inline-flex}
  .side{position:fixed;inset:0;z-index:105;top:0;visibility:hidden;transition:visibility 0s .7s}
  .side.is-open{visibility:visible;transition:none}
  .side__bg{display:block;position:absolute;inset:0;background:rgba(15,42,36,.4);opacity:0;transition:opacity .6s}
  .side.is-open .side__bg{opacity:1}
  .side__form{position:absolute;left:0;right:0;bottom:0;max-height:86vh;display:flex;flex-direction:column;background:var(--paper);border-radius:26px 26px 0 0;transform:translateY(100%);transition:transform .7s var(--ease)}
  .side.is-open .side__form{transform:none}
  .side__head{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--line)}
  .side__head p{margin:0;font:400 28px var(--f-display)}
  .side__body{flex:1;overflow-y:auto;padding:0 20px}
  .side__foot{display:grid;grid-template-columns:1fr 1.4fr;gap:10px;padding:14px 20px 20px;border-top:1px solid var(--line)}
  .side__foot .btn{height:50px}
  .pp__grid{grid-template-columns:1fr}
  .pp__info{position:static}
  .gal{margin:0 calc(var(--gut)*-1)}
  .gal__track{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;gap:10px;padding:0 var(--gut)}
  .gal__track::-webkit-scrollbar{display:none}
  .gal__item,.gal__item--lead{flex:0 0 88%;aspect-ratio:1/1;scroll-snap-align:center;border-radius:var(--r-lg)}
  .gal__dots{display:flex;justify-content:center;gap:6px;margin-top:14px}
  .gal__dots i{width:6px;height:6px;border-radius:6px;background:var(--line);transition:width .5s var(--ease),background .3s}
  .gal__dots i.is-on{width:22px;background:var(--forest)}
  .gal__count{display:block;position:absolute;top:14px;right:calc(var(--gut) + 14px);padding:5px 10px;border-radius:999px;background:rgba(255,255,255,.85);font-size:12px}
  .ft__cta{grid-template-columns:1fr}
  .ft__grid{grid-template-columns:1fr 1fr}
  .ft__about{grid-column:span 2}
  .ft__legal{flex-direction:column}
}
@media (max-width:699px){
  body{font-size:15.5px}
  .tick{font-size:12px}
  .sec{padding:56px 0}
  .sh{flex-direction:column;align-items:flex-start;gap:16px}
  .sh .rail-nav{display:none}
  .grid,.grid--cl{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 10px}
  .pc__media{border-radius:14px}
  .pc__img{padding:9%}
  .pc__add{left:auto;right:8px;bottom:8px;width:40px;height:40px;padding:0;opacity:1;transform:none;background:var(--card);color:var(--ink);box-shadow:0 6px 16px -8px rgba(0,0,0,.35)}
  .pc__add span{display:none}
  .pc__body{padding:10px 2px 0}
  .pc__title{font-size:13.5px}
  .price__now{font-size:19px}
  .hero{padding-top:18px}
  .hero__h{font-size:clamp(46px,13vw,64px)}
  .hero__arch{aspect-ratio:1/1.02}
  .hero__stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
  .hero__stats dd{font-size:12px}
  .hero__btns .btn{flex:1 1 auto}
  .hero__chip{width:auto;right:12px;padding:12px 14px}
  .hero__chip-p b{font-size:20px}
  .hero__dots{right:10px}
  .dc{width:62vw}
  .pt__tabs{width:100%}
  .pr__grid{grid-template-columns:1fr}
  .pr__i{border-right:0;margin-right:0;border-bottom:1px solid rgba(128,128,128,.25);padding:24px 0}
  .pr__n{margin-bottom:14px}
  .ed__mini a{width:64px;height:64px}
  .bw__grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .lc__grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .dc--grid .dc__t{font-size:21px}
  .ch__h{font-size:clamp(44px,12vw,64px)}
  .cl__bar{flex-wrap:wrap;gap:10px}
  .cl__count{order:3;width:100%}
  .cl__sort>span{display:none}
  .perks{grid-template-columns:1fr}
  .pp__card{padding:20px 18px;border-radius:22px;margin:0 calc(var(--gut)*-0.5)}
  .pp__buy{flex-wrap:wrap}
  .specs div{grid-template-columns:120px 1fr}
  .pinfo__tabs{gap:20px}
  .sbar{bottom:10px}
  .ft__grid{grid-template-columns:1fr;gap:26px}
  .ft__about{grid-column:auto}
  .ft__btns .btn{flex:1 1 auto}
  .cd__panel{top:auto;left:0;right:0;bottom:0;width:100%;height:92%;border-radius:24px 24px 0 0;transform:translateY(102%)}
  .cd__line{grid-template-columns:76px minmax(0,1fr)}
  .cd__img{width:76px;height:84px}
  .crumbs span[aria-current]{max-width:22ch}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
  .js .reveal,.js .lift{opacity:1;transform:none}
  .js [data-lines] .ln>span{transform:none}
}
