/* A quiet, product-first catalogue. All general surfaces use shared brand tokens. */
.shop-page{color-scheme:light;background:var(--bryth-neutral-paper);color:var(--bryth-neutral-ink);--ink:var(--bryth-neutral-ink)}
.shop-page [hidden]{display:none!important}
.shop-page :is(a,button,select):focus-visible{outline:2px solid var(--bryth-neutral-accent);outline-offset:5px}
.shop-page .skip-link{background:var(--bryth-neutral-ink);color:var(--bryth-neutral-paper)}
.shop-header{position:relative;inset:auto;opacity:1;width:89%;max-width:1600px;margin:28px auto;gap:25px}
.shop-header .brand img{filter:brightness(.17)}
.shop-header nav{margin-left:auto;font-size:11px;gap:10px}
.shop-header .nav-pill{background:transparent;border-color:var(--bryth-neutral-stroke);color:var(--bryth-neutral-ink)}
.shop-header .nav-pill:hover,.shop-header .nav-pill[aria-current]{background:var(--bryth-neutral-hover);border-color:var(--bryth-neutral-stroke)}
.shop-header .moments-menu{z-index:20;background:var(--bryth-neutral-paper);border-color:var(--bryth-neutral-stroke);box-shadow:0 18px 50px #292b281a}
.shop-header .moment-option{color:var(--bryth-neutral-ink)}
.shop-header .moment-option:hover{background:var(--bryth-neutral-hover)}
.shop-header .coming-soon{color:var(--bryth-neutral-muted);border-color:var(--bryth-neutral-stroke)}
.shop-header .coming-dot{background:var(--bryth-neutral-accent)}
.shop-bag-toggle{display:flex;align-items:center;justify-content:center;gap:8px;min-height:46px;min-width:66px;padding:10px 15px;flex:none;background:var(--bryth-neutral-ink);color:var(--bryth-neutral-paper);border:0;border-radius:50px;font-size:12px}
.shop-bag-toggle svg{width:17px;height:21px}
.shop-delivery{display:flex;justify-content:center;gap:8px;align-items:center;flex-wrap:wrap;width:fit-content;max-width:89%;margin-inline:auto;padding:11px 22px;border-radius:30px;font-size:11px;line-height:1.6;color:var(--bryth-neutral-copy)}
.shop-delivery a{text-decoration:underline;text-underline-offset:3px}
.shop-main{width:89%;max-width:1600px;margin:auto;padding:45px 0 75px}
.shop-intro{display:flex;align-items:end;justify-content:space-between;gap:35px;margin-bottom:35px}
.shop-eyebrow{font-size:9px;letter-spacing:.2em;font-weight:500;color:var(--bryth-neutral-copy);margin:0 0 18px}
.shop-intro h1{font-size:clamp(40px,4vw,64px);font-weight:400;letter-spacing:-.06em;line-height:1.05;margin:0}
.shop-intro h1 br{display:none}
.shop-intro h1 span{color:var(--bryth-neutral-accent);margin-left:.15em}
.shop-page .shop-intro .shop-delivery{flex:0 1 390px;max-width:42%;margin:0 0 3px auto;padding:10px 17px;gap:3px 7px;font-size:10px;text-align:center}
.shop-intro>p{font-size:14px;line-height:1.8;color:var(--bryth-neutral-copy);max-width:285px;margin:0 0 5px}
.shop-toolbar{display:flex;align-items:center;justify-content:space-between;gap:20px;border-top:1px solid var(--bryth-neutral-stroke);padding:21px 0 24px}
.shop-filters{display:flex;gap:6px;flex-wrap:wrap}
.shop-filters button{background:transparent;border:1px solid transparent;border-radius:40px;font-size:12px;min-height:40px;padding:10px 16px;color:var(--bryth-neutral-copy)}
.shop-filters button[aria-pressed="true"]{background:var(--bryth-neutral-ink);color:var(--bryth-neutral-paper)}
.shop-filters button:hover:not([aria-pressed="true"]){background:var(--bryth-neutral-hover)}
.shop-sort{display:flex;gap:17px;align-items:center;white-space:nowrap;font-size:11px;color:var(--bryth-neutral-copy)}
.shop-sort>span{padding-right:15px;border-right:1px solid var(--bryth-neutral-stroke)}
.shop-sort select{font:inherit;color:var(--bryth-neutral-ink);background:transparent;border:0;min-height:40px;padding:8px 24px 8px 5px;max-width:155px}
.shop-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}
.shop-card{min-width:0;display:flex;flex-direction:column;background:#fffdf9;border:1px solid var(--bryth-neutral-stroke);border-radius:24px;overflow:hidden;transition:box-shadow .25s,border-color .25s}
.shop-card:hover{border-color:#bab6aa;box-shadow:0 15px 35px #292b2809}
.shop-card-visual{position:relative;display:flex;align-items:center;justify-content:center;background:var(--bryth-neutral-surface);height:310px;overflow:hidden;color:var(--bryth-neutral-ink);isolation:isolate}
.shop-card-visual::after{content:'';position:absolute;bottom:26px;width:100px;height:12px;border-radius:50%;background:#28201a20;filter:blur(7px);z-index:-1}
.shop-card-badge{position:absolute;left:18px;top:18px;font-size:8px;font-weight:500;letter-spacing:.09em;display:flex;gap:7px;align-items:center;background:#fffdf9b3;padding:7px 10px;border-radius:30px;z-index:2}
.shop-card-badge i{width:5px;height:5px;border-radius:50%;background:var(--product-accent);flex:none}
.shop-card-number{position:absolute;bottom:17px;right:19px;font-size:9px;letter-spacing:.15em;color:var(--bryth-neutral-muted)}
.shop-card .shop-bottle{position:relative;width:155px;aspect-ratio:921/1708;transform:translateY(-14px) rotate(6deg);transition:transform .5s}
.shop-bottle>img{display:block;width:100%;height:100%;object-fit:contain}
.shop-card-visual:hover .shop-bottle{transform:translateY(-19px) rotate(4deg)}
.shop-card-mark{position:absolute;left:0;right:0;top:46%;text-align:center;transform:translateY(-50%);font-size:clamp(30px,3.5vw,56px);font-weight:500;letter-spacing:-.05em;color:var(--product-accent);opacity:.12;z-index:-1}
.shop-teaser{width:94px;height:225px;position:relative;opacity:.5;filter:blur(4px);transform:rotate(6deg)}
.shop-teaser-pump{position:absolute;top:0;left:27px;width:39px;height:55px;background:linear-gradient(90deg,#292b28,#131512,#3b3e37);border-radius:9px 9px 0 0}
.shop-teaser-collar{position:absolute;top:50px;left:19px;width:56px;height:39px;background:repeating-linear-gradient(90deg,#1b1c19,#393a35 2px,#161714 3px);border-radius:3px}
.shop-teaser-body{position:absolute;inset:80px 0 0;background:linear-gradient(90deg,#30251c,#5a3c23 22%,#2d231b 75%,#251e17);border-radius:22px 22px 16px 16px}
.shop-teaser-label{position:absolute;inset:110px 0 16px;background:var(--product-accent);opacity:.7}
.shop-card-info{padding:24px 22px 21px;display:flex;flex-direction:column;flex:1}
.shop-card-kicker{font-size:8px;letter-spacing:.15em;text-transform:uppercase;color:var(--bryth-neutral-copy);margin:0 0 9px}
.shop-card h2{font-size:25px;line-height:1.2;letter-spacing:-.04em;font-weight:500;margin:0 0 9px}
.shop-card h2 a:hover{text-decoration:underline;text-underline-offset:4px}
.shop-card-description{font-size:12px;line-height:1.7;color:var(--bryth-neutral-copy);min-height:42px;margin:0 0 12px}
.shop-card-price{font-size:22px;line-height:1.3;letter-spacing:-.03em;font-weight:400;margin:0 0 8px}
.shop-card-detail{font-size:9px;line-height:1.75;color:var(--bryth-neutral-copy);margin:0 0 12px;min-height:32px}
.shop-card-detail a{text-decoration:underline;text-underline-offset:3px}
.shop-card-yield{font-size:10px;line-height:1.6;color:var(--bryth-neutral-copy);margin:0 0 18px}
.shop-card-yield strong{font-weight:500;color:var(--bryth-neutral-ink)}
.shop-card-actions{margin-top:auto}
.shop-card-buy,.shop-card-coming{display:flex;width:100%;justify-content:center;align-items:center;gap:14px;min-height:45px;padding:12px 15px;border-radius:40px;border:1px solid var(--bryth-neutral-ink);font:11px/1.5 "Avenir Next",Avenir,sans-serif;background:var(--bryth-neutral-ink);color:var(--bryth-neutral-paper)}
.shop-card-buy:hover{background:#44473f}
.shop-card-buy:disabled{opacity:.5}
.shop-card-buy svg{width:16px;height:18px;flex:none}
.shop-card-coming{background:transparent;border-color:var(--bryth-neutral-stroke);color:var(--bryth-neutral-copy)}
.shop-card-coming:hover{background:var(--bryth-neutral-hover)}
.shop-launch>summary{list-style:none;cursor:pointer}
.shop-launch>summary::-webkit-details-marker{display:none}
.shop-launch[open]>summary{background:var(--bryth-neutral-hover);border-color:var(--bryth-neutral-accent);color:var(--bryth-neutral-ink)}
.shop-launch-form{display:grid;gap:10px;padding-top:18px}
.shop-launch-form label{font-size:12px;line-height:1.5;color:var(--bryth-neutral-ink)}
.shop-launch-form input{min-width:0;width:100%;min-height:46px;padding:11px 13px;border:1px solid var(--bryth-neutral-stroke);border-radius:14px;background:var(--bryth-neutral-paper);color:var(--bryth-neutral-ink);font:16px/1.5 "Avenir Next",Avenir,sans-serif}
.shop-launch-form input::placeholder{color:var(--bryth-neutral-muted)}
.shop-launch-form button{min-height:44px;padding:11px 16px;border:0;border-radius:40px;background:var(--bryth-neutral-button);color:var(--bryth-neutral-on-button);font:12px/1.5 "Avenir Next",Avenir,sans-serif}
.shop-launch-form button:hover{background:var(--bryth-neutral-button-hover)}
.shop-launch-form button:disabled{opacity:.5;cursor:default}
.shop-launch-form p{margin:2px 0 4px;font-size:10px;line-height:1.8;color:var(--bryth-neutral-copy)}
.shop-launch-form a{text-decoration:underline;text-underline-offset:3px}
.shop-card-link{display:block;text-align:center;font-size:10px;min-height:36px;padding:12px 6px 0;color:var(--bryth-neutral-copy);text-decoration:underline;text-underline-offset:4px}
.shop-coming-copy{font-size:12px;color:var(--bryth-neutral-copy);line-height:1.8;margin:0 0 24px;max-width:210px}





.shop-page .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}
@media(max-width:700px){.shop-intro h1 br{display:initial}.shop-intro h1 span{margin-left:0}}
@media(min-width:1700px){.shop-main,.shop-header{width:86%}.shop-card-visual{height:370px}.shop-card .shop-bottle{width:185px}.shop-card-info{padding:28px}.shop-teaser{transform:scale(1.15) rotate(6deg)}}
@media(max-width:1100px){.shop-header{gap:14px}.shop-header nav{gap:6px;font-size:8px}.shop-header .nav-pill:not(#moments-toggle){padding-inline:13px}.shop-card-info{padding:20px 17px}.shop-grid{gap:14px}.shop-card h2{font-size:23px}.shop-card-visual{height:280px}.shop-card .shop-bottle{width:140px}.shop-teaser{transform:scale(.9) rotate(6deg)}}
@media(max-width:900px){.shop-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.shop-card-visual{height:340px}.shop-card .shop-bottle{width:175px}.shop-card-info{padding:25px}.shop-teaser{transform:scale(1.15) rotate(6deg)}.shop-card-mark{font-size:64px}}
@media(max-width:700px){.shop-header{width:86%;margin:23px auto;gap:12px;align-items:start;flex-wrap:wrap}.shop-header .brand img{width:62px}.shop-header nav{font-size:8px;margin-left:auto;max-width:242px;flex:1;min-width:185px}.shop-header .nav-pill:not(#moments-toggle){padding-inline:9px}.shop-bag-toggle{position:absolute;top:60px;left:0;min-height:34px;min-width:60px;font-size:10px;padding:7px 11px}.shop-bag-toggle svg{width:14px;height:17px}.shop-header{margin-bottom:28px}.shop-delivery{font-size:9px;gap:5px;padding:12px 7%}.shop-main{width:86%;padding-top:36px;padding-bottom:50px}.shop-intro{display:block;margin-bottom:30px}.shop-intro h1{font-size:48px;line-height:1.08}.shop-eyebrow{font-size:8px;margin-bottom:16px}.shop-intro>p{font-size:13px;max-width:280px;margin:20px 0 0}.shop-toolbar{flex-wrap:wrap;gap:10px;padding:17px 0 21px}.shop-filters{gap:1px}.shop-filters button{font-size:10px;padding-inline:12px;min-height:40px}.shop-sort{width:100%;justify-content:space-between;font-size:10px;gap:10px}.shop-sort>span{border:0}.shop-sort select{max-width:145px}.shop-grid{gap:16px}.shop-card{border-radius:19px}.shop-card-visual{height:245px}.shop-card .shop-bottle{width:124px}.shop-teaser{transform:scale(.8) rotate(6deg)}.shop-card-info{padding:19px 16px}.shop-card h2{font-size:22px}.shop-card-mark{font-size:37px}.shop-card-badge{left:12px;top:13px;font-size:7px;padding:6px 8px;gap:5px}.shop-card-description{font-size:11px;min-height:56px}.shop-card-buy,.shop-card-coming{font-size:10px;padding-inline:9px;gap:8px}.shop-card-price{font-size:21px}.shop-card-link{font-size:9px}.shop-card-detail{font-size:8px;min-height:58px}.shop-card-yield{font-size:9px}.shop-coming-copy{font-size:11px}}
@media(max-width:440px){.shop-grid{grid-template-columns:1fr;gap:22px}.shop-card-visual{height:325px}.shop-card .shop-bottle{width:165px}.shop-teaser{transform:scale(1.07) rotate(6deg)}.shop-card-info{padding:24px}.shop-card h2{font-size:28px}.shop-card-mark{font-size:66px}.shop-card-description{min-height:0;font-size:13px;margin-bottom:18px}.shop-card-detail{min-height:0;font-size:10px}.shop-card-yield{font-size:11px}.shop-card-buy,.shop-card-coming{font-size:12px;min-height:48px}.shop-card-link{font-size:11px;min-height:40px}.shop-coming-copy{font-size:12px}.shop-card-badge{left:19px;top:19px;font-size:8px}.shop-intro h1{font-size:43px}}
@media(prefers-reduced-motion:reduce){.shop-card,.shop-card .shop-bottle{transition:none}.shop-card-visual:hover .shop-bottle{transform:translateY(-14px) rotate(6deg)}}

/* General newsletter invitation: neutral brand colours, independent of products. */
.shop-newsletter{background:var(--bryth-neutral-surface);color:var(--bryth-neutral-ink);padding:78px 7% 80px;text-align:center;scroll-margin-top:25px}
.newsletter-inner{max-width:1000px;margin:auto}
.shop-newsletter .shop-eyebrow{margin-bottom:19px}
.shop-newsletter h2{font-size:clamp(33px,3.8vw,58px);line-height:1.14;letter-spacing:-.05em;font-weight:400;margin:0 0 23px}
.shop-newsletter h2 span{color:var(--bryth-neutral-accent);margin-left:.18em}
.newsletter-intro{font-size:16px;line-height:1.8;color:var(--bryth-neutral-copy);margin:0 0 30px}
.newsletter-form{max-width:570px;margin:auto}
.newsletter-field{display:flex;align-items:center;gap:12px;background:var(--bryth-neutral-paper);border:1px solid var(--bryth-neutral-stroke);border-radius:60px;padding:7px}
.newsletter-field:focus-within{border-color:var(--bryth-neutral-accent);box-shadow:0 0 0 3px #82786d14}
.newsletter-field input{flex:1;width:100%;min-width:0;min-height:44px;background:none;border:0;border-radius:50px;color:var(--bryth-neutral-ink);font:14px/1.5 "Avenir Next",Avenir,sans-serif;padding:10px 15px;outline:none}
.newsletter-field input::placeholder{color:var(--bryth-neutral-copy);opacity:1}
.newsletter-field input:focus-visible{outline:none}
.newsletter-field button{display:flex;align-items:center;justify-content:center;flex:0 0 44px;width:44px;height:44px;min-height:44px;background:var(--bryth-neutral-ink);color:var(--bryth-neutral-paper);border:0;border-radius:50%;transition:background .2s}
.newsletter-field button:hover{background:#4c5046}
.newsletter-field button:disabled{opacity:.45;cursor:default}
.newsletter-form>p{max-width:500px;margin:17px auto 0;font-size:10px;line-height:1.9;color:var(--bryth-neutral-copy)}
.newsletter-form a{text-decoration:underline;text-underline-offset:3px}
@media(max-width:700px){.shop-newsletter{padding:57px 7% 60px}.shop-newsletter h2{font-size:34px;line-height:1.15;margin-bottom:21px}.shop-newsletter h2 span{display:block;margin-left:0}.newsletter-intro{font-size:13px;line-height:1.8;margin-bottom:26px;max-width:300px;margin-inline:auto}.newsletter-field{gap:5px;padding:6px}.newsletter-field input{font-size:16px;padding-inline:12px}.newsletter-form>p{font-size:10px;line-height:1.85;max-width:320px}}
@media(prefers-reduced-motion:reduce){.newsletter-field button{transition:none}}
@media(max-width:700px){.shop-page .shop-intro .shop-delivery{max-width:100%;width:fit-content;margin:20px 0 0 auto;padding:10px 15px;font-size:9px}}
