/* WEYRA V3 — light, tactile, quietly in motion. */
:root{--ease-lux:cubic-bezier(.22,.61,.36,1);--studio:#f7f6f2}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
html{scroll-behavior:auto}body{overflow-x:clip}
.header{transition:background .45s,border-color .45s,box-shadow .45s;backdrop-filter:blur(16px)}
.brand img{transition:transform .55s var(--ease-lux)}
.header-scrolled .header{background:rgba(255,255,253,.94);box-shadow:0 6px 24px #243c2b09;border-color:#e4e6df}
.header-scrolled .brand img{transform:scale(.87)}
.nav a{position:relative}.nav a:after{content:'';position:absolute;bottom:6px;left:0;width:100%;height:1px;background:var(--green);transform:scaleX(0);transform-origin:left;transition:transform .4s var(--ease-lux)}
.nav a:hover:after,.nav a.active:after{transform:scaleX(1)}
.premium-hero{position:relative;isolation:isolate;min-height:610px;height:calc(100svh - 145px);max-height:830px;background:var(--studio);overflow:hidden;color:var(--green)}
.premium-hero-copy{position:relative;z-index:2;width:49%;height:100%;padding:65px 0 78px var(--pad);display:flex;flex-direction:column;justify-content:center;align-items:flex-start;pointer-events:none}
.premium-hero-copy a{pointer-events:auto}.premium-hero-copy .eyebrow{font-size:9px;letter-spacing:.18em;line-height:1.8}
.premium-hero h1{font:400 clamp(65px,6.6vw,115px)/.99 Georgia,serif;letter-spacing:-.058em;margin:30px 0 26px}
.premium-hero h1 span,.premium-hero h1 em{display:block}.premium-hero h1 em{font-weight:400}
.hero-description{font-size:16px;line-height:1.85;color:#65705f;margin:0}
.hero-cta{margin-top:30px;background:transparent;color:var(--green);border:1px solid #52644e}
.hero-origin{position:absolute;left:var(--pad);bottom:28px;font-size:10px;letter-spacing:.12em;display:flex;gap:30px}.hero-origin>span{font-size:9px;color:#7b8275;letter-spacing:.045em}
.hero-stage{position:absolute;inset:0 0 0 41%;z-index:1}
.hero-slide{position:absolute;inset:0;opacity:0;visibility:hidden;transition:opacity 1.15s var(--ease-lux),visibility 1.15s;pointer-events:none}
.hero-slide.is-active{opacity:1;visibility:visible;pointer-events:auto}
.hero-image-link{display:block;position:absolute;inset:0;overflow:hidden}
.hero-image-link img{display:block;width:100%;height:100%;object-fit:contain;transform:scale(1.025);transition:transform 7.2s linear;mix-blend-mode:multiply}
.is-playing .is-active .hero-image-link img{transform:scale(1.065)}
.tote-slide .hero-image-link{inset:0 3% 30px 5%}
.lifestyle-slide .hero-image-link{inset:30px 30px 100px 12%}.lifestyle-slide .hero-image-link img{object-fit:cover;object-position:5% 57%;mix-blend-mode:normal}
.hero-piece-link{position:absolute;bottom:74px;right:6%;display:grid;grid-template-columns:1fr 32px;gap:7px 26px;font-size:11px;min-width:220px;padding:14px 20px;background:#f7f6f2f2;border-top:1px solid #87907b44}
.hero-piece-link span{text-transform:uppercase;letter-spacing:.14em;font-size:9px}.hero-piece-link strong{font:400 20px Georgia,serif;grid-column:1}.hero-piece-link svg{grid-column:2;grid-row:1/3;align-self:center;width:24px}
.lifestyle-slide .hero-piece-link{background:var(--studio);bottom:72px;right:30px;padding:18px 24px;border:0;min-width:260px}
.hero-controls{position:absolute;bottom:23px;right:4vw;display:flex;align-items:center;gap:18px;z-index:3}
.hero-controls>button{width:36px;height:36px;display:grid;place-items:center;font-size:15px;color:var(--green)}
.hero-controls svg{width:19px}.hero-prev svg{transform:rotate(180deg)}
.hero-dots{display:flex;gap:13px}.hero-dot{width:39px;height:38px;display:flex;align-items:center;gap:5px;flex-direction:column;justify-content:center;color:#737c6a;font-size:10px}
.hero-dot i{width:100%;height:1px;background:#c8ccbf;position:relative;overflow:hidden}.hero-dot i:after{content:'';display:block;background:var(--green);height:100%;width:100%;transform:scaleX(0);transform-origin:left}
.hero-dot[aria-current=true]{color:var(--green)}.hero-dot[aria-current=true] i:after{transform:scaleX(1)}
.is-playing .hero-dot[aria-current=true] i:after{animation:hero-progress 7.2s linear both}
@keyframes hero-progress{from{transform:scaleX(0)}to{transform:scaleX(1)}}
.premium-hero-copy h1{animation:hero-copy 1.1s var(--ease-lux) both}.premium-hero-copy .eyebrow,.hero-description,.hero-cta{animation:hero-copy 1.1s .12s var(--ease-lux) both}
@keyframes hero-copy{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}
.motion-reveal{opacity:0;transform:translateY(24px);transition:opacity .95s var(--ease-lux) var(--reveal-delay,0ms),transform 1.1s var(--ease-lux) var(--reveal-delay,0ms)}
.motion-reveal.motion-visible{opacity:1;transform:none}
.btn{transition:background .35s,color .35s,border-color .35s}.btn svg,.text-link svg,.category-v2 svg,.hero-piece-link svg{transition:transform .4s var(--ease-lux)}
.btn:hover svg,.text-link:hover svg,.category-v2:hover svg,.hero-piece-link:hover svg{transform:translateX(5px)}
.hero-cta:hover{background:var(--green);color:#fff}.text-link{padding-bottom:6px}
.product-media,.collection-grid .product-media{background:var(--studio);aspect-ratio:1}
.product-media .studio{background:var(--studio);padding:8px;mix-blend-mode:multiply;transition:transform .9s var(--ease-lux),opacity .65s var(--ease-lux)}
.product-media .hover-photo{transition:opacity .75s var(--ease-lux),transform 1.2s var(--ease-lux);transform:scale(1.03)}
.card-picture{position:relative;overflow:hidden}.card-add{transition:background .3s,color .3s,transform .3s,border-color .3s;border-radius:50%}
.card-add:hover{background:var(--green);color:white;transform:rotate(90deg);border-color:var(--green)}
.variant-swatch,.colour-dot{transition:border-color .3s,transform .3s}.variant-swatch:hover,.colour-dot:hover{transform:scale(1.08)}
.main-photo{background:var(--studio);overflow:hidden}.main-photo img{mix-blend-mode:multiply;animation:photo-in .6s var(--ease-lux);padding:0}
@keyframes photo-in{from{opacity:.5;transform:scale(.985)}to{opacity:1;transform:scale(1)}}
.gallery-caption{display:flex;justify-content:space-between;gap:20px;font-size:10px;letter-spacing:.045em;color:#71796a;padding:15px 0 10px}
.gallery-thumbs{padding-top:8px}.thumb{transition:opacity .35s,border-color .35s;opacity:.65;background:var(--studio)}.thumb:hover,.thumb.selected{opacity:1}
.gallery-note{font-size:10px;line-height:1.7;color:#737b6c}.product-detail h1{letter-spacing:-.045em;font-size:clamp(34px,3.1vw,53px)}
.product-detail .eyebrow{margin-bottom:20px}.product-description{line-height:1.85}.product-accordions details{padding-top:18px;padding-bottom:18px}
.product-accordions summary{cursor:pointer}.product-accordions details[open]>p{animation:photo-in .35s ease}
.v2-intro{padding-top:110px;padding-bottom:45px}.v2-intro h2{max-width:800px;margin:22px auto}.v2-intro p{max-width:750px;margin:auto}
.selection-section{padding-bottom:100px}.v2-focus{background:var(--studio)}.v2-focus img{mix-blend-mode:multiply}
.v2-campaign>div:first-child,.craft-photo,.story-hero-image,.story-life>div:first-child{overflow:hidden}
.v2-campaign img,.craft-photo img,.social-grid img,.heritage-tile>img,.story-life img{transition:transform 1.1s var(--ease-lux)}
.social-grid a:hover img,.heritage-tile:hover>img{transform:scale(1.035)}
.collection-intro{background:#faf9f6;min-height:310px}.collection-intro h1{font-size:clamp(44px,4.3vw,68px);line-height:1.05}.collection-image{height:340px}
.collection-grid{column-gap:30px;row-gap:48px}.card-title-row h3{font-size:14px}.collection-section{padding-bottom:100px}
.story-hero{margin:28px var(--pad) 0;background:#f6f4ef}.story-title{padding:65px 5vw}.story-manifesto{padding-top:110px;padding-bottom:85px}.story-manifesto h2{font-size:clamp(40px,4.4vw,68px)}
.heritage-duo{background:white;border-top:1px solid #e4e7df;border-bottom:1px solid #e4e7df}.heritage-duo .chapter{color:#8c795e}
.story-life{margin:0 var(--pad) 90px;background:#f8f7f3}.v2-reviews{background:white;border-color:#e8e9e2}.footer{border-top:1px solid #e8e9e2}
.page-enter{animation:none}
dialog[open]{animation:dialog-in .25s var(--ease-lux)}dialog::backdrop{background:#1b281f55;backdrop-filter:blur(3px)}
@keyframes dialog-in{from{opacity:0}to{opacity:1}}
@media(hover:hover){.product-media:hover .studio{transform:scale(1.035)}.product-media:hover .hover-photo{transform:scale(1)}}
@media(min-width:851px){#shell{transition:transform .5s var(--ease-lux);will-change:transform}.header-scrolled #shell{transform:translateY(-14px);margin-bottom:0}.header-scrolled .brand img{transform:scale(.84) translateY(4px)}}
@media(max-width:1100px){.premium-hero{min-height:560px;height:650px}.premium-hero h1{font-size:70px}.premium-hero-copy{width:54%;padding-top:30px}.hero-stage{left:40%}.hero-origin>span{display:none}.hero-piece-link{bottom:75px}.hero-description{font-size:14px}}
@media(max-width:850px){.premium-hero{height:570px;min-height:0}.premium-hero h1{font-size:61px}.premium-hero-copy{padding-left:4vw}.premium-hero-copy .eyebrow{font-size:8px;max-width:220px}.hero-stage{left:42%}.hero-piece-link{min-width:180px}.hero-piece-link strong{font-size:18px}.hero-controls{gap:7px}.lifestyle-slide .hero-image-link{left:0;right:15px}.hero-origin{left:4vw}.v2-intro{padding-top:80px}.story-hero{margin:18px var(--pad) 0}.story-title{padding:45px 4vw}.story-life{margin-bottom:65px}}
@media(max-width:600px){
 .premium-hero{height:auto;min-height:670px;max-height:none;display:grid;grid-template-rows:290px 330px 50px;padding-bottom:8px}
 .premium-hero-copy{grid-row:1;width:100%;height:auto;padding:30px 25px 0;justify-content:flex-start}.premium-hero-copy .eyebrow{max-width:none;font-size:7.5px;letter-spacing:.12em}
 .premium-hero h1{font-size:59px;margin:20px 0 15px;line-height:.94;letter-spacing:-.065em}.hero-description{font-size:12px;line-height:1.6}.hero-description br{display:none}.hero-description br:after{content:' '}
 .hero-cta{margin-top:17px;min-height:42px;padding:11px 16px;font-size:10px}.hero-origin{display:none}
 .hero-stage{position:relative;grid-row:2;inset:auto;width:100%;height:330px}.hero-image-link{inset:-8px 5px 13px}.hero-image-link img{object-fit:contain}.tote-slide .hero-image-link{inset:-4px 22px 32px}.lifestyle-slide .hero-image-link{inset:8px 22px 40px}.lifestyle-slide .hero-image-link img{object-position:5% 65%}
 .hero-piece-link{bottom:0;right:24px;left:24px;display:flex;justify-content:space-between;align-items:center;min-width:0;gap:12px;padding:12px 0;border-top:1px solid #bdc4b455;background:#f7f6f2dd}
 .hero-piece-link span{font-size:8px;letter-spacing:.1em}.hero-piece-link strong{font:11px Arial,sans-serif;margin-left:auto}.hero-piece-link svg{width:17px;flex-shrink:0}.lifestyle-slide .hero-piece-link{bottom:0;right:24px;padding:12px 0;min-width:0}
 .hero-controls{position:relative;inset:auto;grid-row:3;justify-content:center;gap:19px}.hero-controls>button{width:32px;height:35px}.hero-dots{gap:14px}.hero-dot{width:35px}
 .v2-intro{padding:65px 25px 10px}.v2-intro h2{font-size:33px}.selection-section{padding-bottom:65px}.product-media,.collection-grid .product-media{aspect-ratio:.96}.product-media .studio{padding:0}.card-title-row h3{font-size:12px}.card-sub{line-height:1.5}
 .collection-intro{min-height:0}.collection-intro h1{font-size:42px}.collection-image{height:190px}.collection-grid{gap:30px 15px}.collection-section{padding-bottom:65px}.gallery-caption{font-size:9px;padding-top:12px}.product-detail h1{font-size:37px}.gallery-thumbs{margin-bottom:15px}.main-photo{aspect-ratio:1}
 .story-hero{margin:0;display:flex;flex-direction:column}.story-title{padding:40px 25px}.story-title h1{font-size:48px}.story-manifesto{padding:60px 25px}.story-manifesto h2{font-size:38px}.story-life{margin:0 0 50px}.heritage-duo{padding:45px 25px}
}
@media(max-width:370px){.premium-hero h1{font-size:53px}.premium-hero-copy .eyebrow{font-size:7px}.hero-piece-link{left:20px;right:20px;gap:8px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.motion-reveal{opacity:1!important;transform:none!important}.hero-image-link img{transform:none!important}.header-scrolled #shell{transform:none}}
