:root{--navy:#101f37;--ink:#111e31;--grey:#506076;--line:#dbe3ee;--wine:#761f36;--wine-light:#f3b9c8;--wash:#f3f7fc;--accent:#234e83;--paper:#fff}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font:400 16px/1.55 "DM Sans",Arial,sans-serif}
a{color:inherit;text-underline-offset:4px}
button,select{font:inherit;color:inherit}
button,summary,select{cursor:pointer}
button:focus-visible,a:focus-visible,summary:focus-visible,select:focus-visible{outline:3px solid #487cc4;outline-offset:4px}
.wrap{width:min(1230px,calc(100% - 80px));margin-inline:auto}
.skip{position:absolute;top:-60px;background:white;padding:10px;z-index:3}
.skip:focus{top:0}
.timer{background:var(--navy);color:#fff;display:flex;justify-content:center;align-items:center;gap:14px;padding:9px 12px;font-size:13px;font-weight:700;letter-spacing:.07em;text-transform:uppercase}
.timer time{padding:2px 10px;border-radius:4px;background:var(--wine);color:var(--paper);font-size:17px;font-variant-numeric:tabular-nums;letter-spacing:.08em}
.nav{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;min-height:103px;gap:12px;font-size:14px;font-weight:700}
header{border-bottom:1px solid var(--line)}
.links,.foot div{display:flex;gap:24px}
.nav a,.foot a{text-decoration:none}
.nav a:hover,.foot a:hover{text-decoration:underline}
.brand img,.foot img{display:block;object-fit:contain}
.bag{justify-self:end;border:0;background:transparent;padding:8px 0 8px 8px}
.bag .bag-count{display:inline-grid;place-items:center;background:var(--wash);border-radius:50%;width:25px;height:25px;margin-left:3px}
.product{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);grid-template-areas:"gallery heading" "gallery options";grid-template-rows:auto 1fr;column-gap:clamp(28px,5vw,64px);row-gap:14px;padding-block:32px 56px;align-items:start}
.product-heading{grid-area:heading}
.gallery{grid-area:gallery;min-width:0}
.info{grid-area:options;min-width:0}
.stage{position:relative;aspect-ratio:1/1;margin:0;overflow:hidden;border:1px solid var(--line);border-radius:14px;background:#f4f6f9}
.stage img{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:contain}
.stage figcaption{position:absolute;right:10px;bottom:10px;left:auto;background:#fffffff2;color:var(--grey);font-size:12px;padding:3px 8px;border-radius:4px}
.thumbs{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.thumbs button{border:1px solid var(--line);background:#fff;border-radius:6px;padding:6px 11px;font-size:13px}
.thumbs [aria-pressed=true]{border-color:var(--accent);background:var(--wash);font-weight:700}
.tag{color:var(--accent);font-size:12px;letter-spacing:.13em;font-weight:700;margin:0}
h1,h2{font-family:"Barlow Condensed","Arial Narrow",sans-serif;text-transform:uppercase;line-height:1;margin:0}
h1{font-size:clamp(48px,6.2vw,84px);font-weight:800;letter-spacing:-.015em;margin:3px 0 12px}
h2{font-size:clamp(33px,4vw,50px);font-weight:800}
.intro{color:var(--grey);margin:0;max-width:48ch}
.features{padding:0;margin:0 0 19px;list-style:none;font-size:14px}
.features li{margin:3px 0}
.features li::before{content:"✓";color:var(--accent);font-weight:700;margin-right:9px}
fieldset{padding:0;border:0;margin:0;min-width:0}
legend{font-size:13px;letter-spacing:.09em;text-transform:uppercase;font-weight:700;padding:0;margin-bottom:9px}
#offers{display:grid;gap:8px}
.offer{border:1px solid var(--line);border-radius:9px;background:var(--wash);overflow:hidden}
.offer.selected{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent);background:white}
.offer>label{display:flex;gap:11px;align-items:center;padding:11px 13px;cursor:pointer}
.offer input{accent-color:var(--accent);width:18px;height:18px;margin:0;flex:none}
.offer strong:last-child{margin-left:auto;white-space:nowrap}
.offer small{display:block;color:var(--grey);font-size:12px}
.sizes{display:grid;grid-template-columns:repeat(auto-fit,minmax(95px,1fr));gap:8px;padding:0 13px 12px}
.sizes[hidden]{display:none}
.sizes label{display:grid;min-width:0;font-size:12px;gap:3px;color:var(--grey)}
.sizes select{border:1px solid var(--line);background:var(--wash);border-radius:5px;padding:6px;min-height:38px;min-width:0;font-size:14px;color:var(--ink);width:100%}
.primary{width:100%;border:0;border-radius:8px;background:var(--navy);color:white;font-weight:700;padding:13px 16px;text-align:center;margin-top:13px}
.primary span{color:var(--wine-light);margin-left:8px}
.primary:hover{background:var(--accent)}
.how{background:var(--navy);color:white;padding-block:60px}
.how-grid{display:grid;grid-template-columns:1fr 1fr;gap:48px}
.how p,.how li span{color:#cdd9ea}
.how ol{padding-left:26px;margin:0}
.how li{padding-left:5px;margin-bottom:14px}
.how li:last-child{margin-bottom:0}
.how li::marker,.text-link{color:var(--wine-light)}
.how li span{display:block}
.reviews,.faq{padding-block:50px}
.reviews{border-bottom:1px solid var(--line)}
.reviews p,.faq p{color:var(--grey);margin-bottom:0}
.faq h2{margin-bottom:18px}
details{border-top:1px solid var(--line);padding:13px 0}
details:last-child{border-bottom:1px solid var(--line)}
summary{font-weight:700}
footer{background:var(--wash)}
.foot{display:flex;justify-content:space-between;align-items:center;gap:14px;padding-block:15px;font-size:14px;font-weight:700}
.foot>a{display:flex;align-items:center;gap:10px}
dialog{width:min(430px,100%);height:100dvh;max-height:100dvh;margin:0 0 0 auto;border:0;padding:24px;color:var(--ink)}
dialog::backdrop{background:#091628a8}
.cart-head,.cart-row{display:flex;justify-content:space-between;align-items:center;gap:10px;border-bottom:1px solid var(--line);padding-bottom:12px}
.cart-head button{font-size:25px;border:0;background:var(--wash);border-radius:5px;width:36px}
.cart-row{padding-top:12px}
.cart-row button{border:0;background:none;text-decoration:underline;font-size:13px}
.cart-row small{display:block;color:var(--grey)}
@media(max-width:780px){.wrap{width:calc(100% - 36px)}.product{grid-template-columns:minmax(0,1fr);grid-template-areas:"heading" "gallery" "options";grid-template-rows:auto;gap:18px;padding-block:20px 36px}.product h1{margin-bottom:7px}.nav{min-height:82px}.brand img{width:56px;height:56px}.links{gap:12px}.links a:nth-child(2){display:none}.how-grid{grid-template-columns:1fr;gap:24px}.how,.reviews,.faq{padding-block:40px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

.bag{display:inline-flex;align-items:center;gap:4px}
.bag-icon{position:relative;display:inline-block;width:22px;height:20px;border:2px solid currentColor;border-radius:3px;margin-top:4px}
.bag-icon::before{position:absolute;content:"";width:8px;height:7px;border:2px solid currentColor;border-bottom:0;border-radius:7px 7px 0 0;left:50%;top:-7px;transform:translateX(-50%)}
.ticker{overflow:hidden;background:var(--wine);color:var(--paper)}
.ticker-track,.ticker-group{display:flex;width:max-content}
.ticker-track{animation:marquee 34s linear infinite}
.ticker:hover .ticker-track{animation-play-state:paused}
.ticker-group span{display:flex;gap:27px;align-items:center;padding:8px 25px 8px 0;white-space:nowrap;font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.ticker-group span::before{content:"◆";font-size:8px}
@keyframes marquee{to{transform:translateX(-50%)}}
.review-card{border:1px solid var(--line);border-radius:10px;background:var(--wash);padding:20px;margin-top:18px}
.reviews .review-label{margin:0 0 9px;font-weight:700;color:var(--ink)}
.review-banner{display:block;width:min(100%,597px);height:auto;margin-inline:auto;border-radius:6px}
.reviews .review-rating{text-align:center;margin:10px 0 0}
.review-rating strong{color:var(--ink)}
.review-regions{display:flex;justify-content:center;flex-wrap:wrap;gap:6px 14px;list-style:none;margin:8px 0 0;padding:0;font-size:14px;color:var(--grey)}
@media(prefers-reduced-motion:reduce){.ticker-track{animation:none}}
.sizes{grid-template-columns:1fr}
.offer .bundle-badge{display:table;background:var(--wine);color:var(--paper);font-size:13px;font-weight:800;line-height:1.2;text-transform:uppercase;padding:4px 8px;border-radius:4px;margin-top:4px}
.bundle-ribbon{display:table;background:var(--navy);color:white;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;padding:4px 10px;border-radius:0 0 7px 0}
.variant{display:flex;gap:9px;align-items:end;padding-top:6px;border-top:1px solid var(--line)}
.variant-fields{flex:1;min-width:0;display:grid;grid-template-columns:minmax(0,1fr) 80px;gap:8px}
.product-note,.footer-note{color:var(--grey);font-size:13px}
.footer-note{margin-block:0;padding-bottom:14px}
.team-section{background:var(--wash);padding-block:48px}
.team-grid{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1fr);align-items:center;gap:clamp(22px,5vw,76px)}
.team-grid img{display:block;width:100%;height:auto;aspect-ratio:1/1;object-fit:cover;object-position:center 75%;border-radius:12px}
.team-grid p,.product-details p{color:var(--grey)}
.team-grid .text-link{color:var(--accent);font-weight:700}
.product-details{padding-block:50px 16px}
.product-details dl{display:grid;grid-template-columns:max-content 1fr;gap:8px 18px;padding:16px;background:var(--wash);border-radius:8px}
.product-details dt{font-weight:700}
.product-details dd{margin:0}
@media(max-width:650px){.team-grid{grid-template-columns:1fr}.variant-fields{grid-template-columns:minmax(0,1fr) 73px}}

.stage figcaption{max-width:calc(100% - 24px)}
.thumbs button{padding:3px;line-height:0;min-width:44px}.thumbs button[aria-pressed=true]{box-shadow:inset 0 0 0 1px var(--accent)}
.thumbs img,.variant-photo img{display:block;object-fit:cover;border-radius:4px}
.variant-photo{background:white;border:1px solid var(--line);border-radius:6px;padding:2px;flex:none}

@media(max-width:400px){
  .wrap{width:calc(100% - 28px)}
  .timer{font-size:11px;gap:8px}
  .offer>label{padding-inline:10px;gap:8px}
  .sizes{padding-inline:10px}
  .variant-fields{grid-template-columns:minmax(0,1fr) 65px;gap:5px}
  .variant-photo img{width:36px;height:36px}
  .foot div{gap:12px}
}

.team-banner{background:var(--paper);border-top:1px solid var(--line);padding-block:20px}
.team-banner-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}
.team-banner-head h2{font-size:clamp(24px,3.6vw,33px)}
.team-banner-head button{border:1px solid var(--line);border-radius:5px;background:var(--paper);padding:3px 10px;font-size:13px}
.team-banner-window{overflow-x:auto}
.team-banner-track,.team-banner-list{display:flex;width:max-content}
.team-banner-list{list-style:none;margin:0;padding:0;gap:8px;padding-right:8px}
.team-banner-list img{display:block;width:clamp(88px,12vw,122px);height:auto;aspect-ratio:4/3;object-fit:cover;border-radius:5px}
.team-banner.is-scrolling .team-banner-window{overflow:hidden}
.team-banner.is-scrolling .team-banner-track{animation:marquee 65s linear infinite}
.team-banner.is-paused .team-banner-track,.team-banner-window:hover .team-banner-track{animation-play-state:paused}

.review-examples{margin-top:20px}
.review-examples h3{margin:0 0 10px;font-size:15px}
.review-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.review-example{border:1px solid var(--line);border-radius:8px;background:var(--paper);padding:14px}
.review-example h4{margin:4px 0 0;font-size:15px}
.reviews .review-example p{margin:5px 0 0;font-size:14px}
.review-stars{color:#007c58;font-size:14px;letter-spacing:.06em}
@media(max-width:700px){.review-grid{grid-template-columns:1fr}}

.review-author{display:block;margin-top:4px;font-size:14px}

#cart{width:min(540px,100%);padding:0}
#cart[open]{display:flex;flex-direction:column}
#cart .cart-head{padding:16px 20px;border-bottom:1px solid var(--line)}
#cart .cart-head h2{font-size:35px}
.cart-promo{background:var(--navy);color:white;text-align:center;padding:12px;font-size:14px}
.cart-promo strong{color:var(--wine-light);margin-left:5px;font-variant-numeric:tabular-nums}
.cart-body{min-height:0;overflow:auto;padding:14px 20px;flex:1}
#cart .cart-row{display:grid;grid-template-columns:66px minmax(0,1fr) auto;gap:10px;align-items:start}
.cart-product-photo{object-fit:contain;border-radius:6px;background:var(--wash)}
.cart-row-bottom,.cart-summary-line{display:flex;align-items:center;justify-content:space-between;gap:6px}
.cart-row-bottom{margin-top:7px}
.cart-stepper{display:flex;align-items:center;border:1px solid var(--line);border-radius:6px}
.cart-stepper button{font-size:17px;min-width:29px;min-height:28px;text-decoration:none}
.cart-stepper span{min-width:23px;text-align:center}
#cart .cart-remove{font-size:21px;text-decoration:none;padding:0 4px}
#cart-addons h3{text-transform:uppercase;font-size:15px;margin:18px 0 8px}
.cart-addon{display:grid;grid-template-columns:34px minmax(0,1fr) auto 68px;gap:8px;align-items:center;padding:6px 0;font-size:14px}
.addon-icon{display:block;width:34px;height:34px;object-fit:contain}
.cart-addon button{padding:6px 3px;border:1px solid var(--navy);border-radius:6px;background:var(--navy);color:white;font-weight:700}
.cart-addon button[aria-pressed=true]{background:white;color:var(--navy)}
#cart-total:not(:empty){padding:12px 20px 14px;border-top:1px solid var(--line);background:var(--paper)}
.cart-summary-line{font-size:20px}
.cart-savings{font-size:14px;color:var(--accent)}
#cart-total .primary:disabled{opacity:.55;cursor:default}
.cart-checkout-note{margin:5px 0 0;color:var(--grey);text-align:center;font-size:12px}
@media(max-width:385px){#cart .cart-head,.cart-body,#cart-total:not(:empty){padding-inline:13px}}
#cart-progress{margin-bottom:16px;color:var(--navy);font-size:14px}
.cart-progress-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;margin-top:7px;text-align:center;font-size:12px}
.cart-progress-steps span{border-top:5px solid var(--line);padding-top:4px}
#cart-progress[data-size="1"] span:first-child,#cart-progress[data-size="2"] span:nth-child(-n+2),#cart-progress[data-size="3"] span{border-color:var(--wine)}

.bundle-addon-badges{display:flex;flex-wrap:wrap;gap:3px 12px;padding:0 12px 8px;color:var(--grey);font-size:11px}
.bundle-addon-badges label{display:inline-flex;gap:4px;align-items:center;cursor:pointer;border:1px solid var(--line);padding:3px 6px;border-radius:5px;background:var(--paper)}
.offer .bundle-addon{width:13px;height:13px}
.bundle-addon-badges strong{color:var(--navy)}
.bundle-addon-badges img{display:block;object-fit:contain}

body{padding-bottom:calc(86px + env(safe-area-inset-bottom));scroll-padding-bottom:calc(86px + env(safe-area-inset-bottom))}
html{scroll-padding-bottom:calc(86px + env(safe-area-inset-bottom))}
.fixed-cart{position:fixed;z-index:5;left:50%;bottom:calc(10px + env(safe-area-inset-bottom));transform:translateX(-50%);width:min(580px,calc(100% - 24px));display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:64px;padding:9px 16px;border:2px solid var(--wine);border-radius:13px;background:var(--navy);color:var(--paper);box-shadow:0 5px 22px #101f3740;text-align:left}
.fixed-cart[hidden]{display:none}
.fixed-cart:hover{background:var(--accent)}
.fixed-cart-summary{display:grid;line-height:1.15;font-size:13px}
.fixed-cart-summary strong{font-family:"Barlow Condensed","Arial Narrow",sans-serif;font-size:26px;line-height:1.05}
.fixed-cart-action{font-weight:800;text-transform:uppercase;white-space:nowrap}
.checkout-lock{display:inline-block;position:relative;width:13px;height:10px;border:1.5px solid currentColor;border-radius:2px;margin:0 8px 0 0;vertical-align:0}
.checkout-lock::before{content:"";position:absolute;width:7px;height:6px;left:50%;bottom:100%;transform:translateX(-50%);border:1.5px solid currentColor;border-bottom:0;border-radius:5px 5px 0 0}
.order-confirmed{margin:8px 0;padding:14px;border-radius:8px;background:#eef6ee;color:#1d4d2b;line-height:1.45}
