.vo-store, .vo-store * { box-sizing: border-box; }
.vo-store { --vo-ink:#171b19; --vo-lime:#d6f36b; --vo-paper:#f3f1e9; --vo-muted:#757972; display:block; background:var(--vo-paper); color:var(--vo-ink); font-family:Arial,Helvetica,sans-serif; line-height:1.45; }
.vo-store img { display:block; max-width:100%; }
.vo-store a { color:inherit; text-decoration:none; }
.vo-store button { color:inherit; font:inherit; cursor:pointer; }
.vo-store :is(a,button,summary):focus-visible { outline:3px solid #54906f; outline-offset:4px; }
.vo-store .vo-skip { position:absolute; z-index:20; left:1rem; top:-5rem; padding:.75rem 1rem; background:#fff; color:#111; }
.vo-store .vo-skip:focus { top:1rem; }
.vo-store .vo-announcement { display:flex; justify-content:space-between; gap:1rem; padding:.48rem clamp(1.25rem,4vw,4.5rem); background:var(--vo-lime); font-size:.65rem; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }
.vo-store .vo-header { min-height:91px; display:flex; align-items:center; justify-content:space-between; gap:2rem; padding:1rem clamp(1.25rem,4vw,4.5rem); background:var(--vo-paper); }
.vo-store .vo-mark { display:inline-flex; flex-direction:column; position:relative; width:max-content; line-height:.8; font-family:Impact,'Arial Narrow',Arial,sans-serif; font-size:1.43rem; letter-spacing:-.045em; }
.vo-store .vo-mark span { font-size:1.26rem; }
.vo-store .vo-mark i { position:absolute; right:-.85rem; top:-.2rem; font-size:.48rem; color:#89a538; font-style:normal; }
.vo-store .vo-header nav { display:flex; gap:clamp(1rem,3vw,3rem); align-items:center; margin-left:auto; }
.vo-store .vo-header nav a, .vo-store .vo-cart-trigger { font-size:.76rem; font-weight:700; text-transform:uppercase; letter-spacing:.08em; }
.vo-store .vo-header nav a:hover, .vo-store .vo-footer a:hover, .vo-store .vo-footer button:hover { text-decoration:underline; text-underline-offset:.35em; }
.vo-store .vo-cart-trigger { display:flex; align-items:center; gap:.65rem; padding:.45rem 0 .45rem 1.4rem; border:0; border-left:1px solid #ced0c8; background:none; }
.vo-store .vo-cart-trigger span { display:grid; place-items:center; width:1.45rem; height:1.45rem; border-radius:50%; background:var(--vo-ink); color:#fff; font-size:.68rem; }
.vo-store .vo-hero { display:grid; grid-template-columns:55% 45%; min-height:650px; background:#1b2825; color:#f4f3e9; }
.vo-store .vo-hero-copy { display:flex; flex-direction:column; padding:clamp(2rem,4.5vw,5rem) clamp(1.25rem,5vw,6rem) 2rem clamp(1.25rem,4vw,4.5rem); }
.vo-store .vo-eyebrow,.vo-store .vo-kicker { display:block; font-size:.66rem; letter-spacing:.2em; font-weight:800; text-transform:uppercase; }
.vo-store .vo-eyebrow { display:flex; justify-content:space-between; max-width:420px; color:var(--vo-lime); }
.vo-store .vo-eyebrow span { color:#96a39d; }
.vo-store .vo-hero h1 { margin:clamp(3rem,7vw,7rem) 0 1.3rem; font-family:Impact,'Arial Narrow',Arial,sans-serif; font-size:clamp(4rem,8.5vw,9rem); font-weight:400; line-height:.89; letter-spacing:-.035em; text-transform:uppercase; }
.vo-store .vo-hero h1 em { color:var(--vo-lime); font-style:normal; }
.vo-store .vo-hero p { max-width:380px; margin:0 0 2rem; color:#c5d0c8; font-size:1.05rem; line-height:1.65; }
.vo-store .vo-pill { display:inline-flex; align-items:center; justify-content:space-between; gap:3rem; align-self:flex-start; min-width:255px; padding:1rem 1.15rem; border-radius:999px; font-size:.74rem; font-weight:800; letter-spacing:.06em; text-transform:uppercase; }
.vo-store .vo-pill span { font-size:1.2rem; line-height:1; }
.vo-store .vo-pill-light { background:var(--vo-lime); color:#172016; }
.vo-store .vo-pill-dark { background:var(--vo-ink); color:#fff; }
.vo-store .vo-pill:hover { transform:translateY(-2px); }
.vo-store .vo-hero-bottom { display:flex; justify-content:space-between; gap:1rem; margin-top:auto; padding-top:2rem; font-size:.65rem; letter-spacing:.12em; text-transform:uppercase; color:#aebcb1; }
.vo-store .vo-hero-bottom span:last-child { font-size:1.5rem; line-height:.75; }
.vo-store .vo-hero-image { min-width:0; position:relative; background:#e8e4dc; }
.vo-store .vo-hero-image img { width:100%; height:100%; min-height:650px; object-fit:cover; object-position:center 62%; }
.vo-store .vo-hero-image span { position:absolute; bottom:1.6rem; right:1.7rem; padding:.6rem .75rem; background:#f4f1e9; color:#232824; font-size:.58rem; font-weight:800; letter-spacing:.14em; text-transform:uppercase; }
.vo-store .vo-shell { padding-left:clamp(1.25rem,4vw,4.5rem); padding-right:clamp(1.25rem,4vw,4.5rem); }
.vo-store .vo-collection { padding-top:clamp(5rem,9vw,9rem); padding-bottom:clamp(5rem,9vw,9rem); }
.vo-store .vo-section-head { display:flex; align-items:end; justify-content:space-between; gap:2rem; margin-bottom:3rem; }
.vo-store .vo-section-head h2,.vo-store .vo-feature h2,.vo-store .vo-journal h2,.vo-store .vo-detail-story h2 { max-width:800px; margin:.7rem 0 0; font-family:Impact,'Arial Narrow',Arial,sans-serif; font-weight:400; text-transform:uppercase; letter-spacing:-.025em; line-height:.96; font-size:clamp(2.8rem,5.4vw,6rem); }
.vo-store .vo-section-head p { max-width:275px; margin:0 0 .3rem; color:#59615a; font-size:.9rem; }
.vo-store .vo-product-grid { display:grid; grid-template-columns:1.15fr .85fr; gap:1.35rem; }
.vo-store .vo-product-image { position:relative; display:block; overflow:hidden; height:clamp(310px,36vw,550px); background:#e6e4dc; }
.vo-store .vo-product-image img { width:100%; height:100%; object-fit:cover; transition:transform .45s ease; }
.vo-store .vo-product-main .vo-product-image img { object-position:center 68%; }
.vo-store a.vo-product-image:hover img { transform:scale(1.035); }
.vo-store .vo-product-image span { position:absolute; left:1rem; bottom:1rem; display:flex; align-items:center; gap:2rem; padding:.75rem .9rem; background:#f5f3eb; font-size:.66rem; font-weight:800; letter-spacing:.1em; text-transform:uppercase; }
.vo-store .vo-product-image b { font-size:1rem; }
.vo-store .vo-product-meta { display:flex; justify-content:space-between; gap:1rem; padding:1.15rem 0; border-bottom:1px solid #bdc2b9; }
.vo-store .vo-product-meta span { display:block; margin-bottom:.45rem; color:#6d746c; font-size:.65rem; font-weight:700; letter-spacing:.13em; text-transform:uppercase; }
.vo-store .vo-product-meta h3 { margin:0; font-size:clamp(1.35rem,2vw,1.8rem); letter-spacing:-.04em; }
.vo-store .vo-product-meta > div:last-child { display:flex; align-items:center; gap:1.4rem; }
.vo-store .vo-product-meta strong { font-size:.95rem; }
.vo-store .vo-product-meta button { width:2.6rem; height:2.6rem; border:1px solid #404941; border-radius:50%; background:transparent; font-size:1.6rem; line-height:1; }
.vo-store .vo-product-meta button:hover { background:var(--vo-ink); color:#fff; }
.vo-store .vo-feature { display:grid; grid-template-columns:1.1fr .9fr; min-height:530px; background:#cbd5c5; }
.vo-store .vo-feature-photo img { width:100%; height:100%; max-height:600px; object-fit:cover; }
.vo-store .vo-feature-copy { display:flex; flex-direction:column; align-items:flex-start; justify-content:center; padding:3rem clamp(2rem,6vw,7rem); }
.vo-store .vo-feature-copy p,.vo-store .vo-detail-story p { max-width:460px; margin:1.8rem 0; font-size:1rem; line-height:1.7; }
.vo-store .vo-feature-copy a,.vo-store .vo-detail-story a { display:flex; justify-content:space-between; gap:2rem; width:min(100%,315px); padding:.8rem 0; border-bottom:1px solid #172016; font-size:.74rem; font-weight:800; letter-spacing:.1em; text-transform:uppercase; }
.vo-store .vo-journal { display:grid; grid-template-columns:1fr .7fr; align-items:center; gap:7vw; padding-top:7rem; padding-bottom:7rem; }
.vo-store .vo-journal p { max-width:400px; margin:1.4rem 0 2rem; line-height:1.7; }
.vo-store .vo-journal img { width:100%; max-height:530px; object-fit:cover; object-position:center 60%; }
.vo-store .vo-footer { display:grid; grid-template-columns:1fr 1fr; gap:3rem; padding:4rem clamp(1.25rem,4vw,4.5rem) 1.6rem; background:#1c2521; color:#f1f1e8; }
.vo-store .vo-footer .vo-mark { font-size:2rem; }
.vo-store .vo-footer .vo-mark span { font-size:1.76rem; }
.vo-store .vo-footer p { color:#aeb8af; }
.vo-store .vo-footer nav { display:flex; justify-content:flex-end; gap:1.4rem; flex-wrap:wrap; align-items:flex-start; }
.vo-store .vo-footer nav a,.vo-store .vo-footer nav button { padding:0; border:0; background:none; color:#f1f1e8; font-size:.78rem; }
.vo-store .vo-footer small { grid-column:1/-1; padding-top:2.4rem; border-top:1px solid #4d5b51; color:#aeb8af; font-size:.72rem; }
.vo-store .vo-breadcrumb { display:flex; gap:.65rem; padding-top:1.7rem; padding-bottom:1.8rem; color:#5d665f; font-size:.71rem; font-weight:700; text-transform:uppercase; letter-spacing:.09em; }
.vo-store .vo-breadcrumb a:hover { text-decoration:underline; }
.vo-store .vo-detail { display:grid; grid-template-columns:minmax(0,1.1fr) minmax(330px,.9fr); gap:clamp(2rem,7vw,8rem); padding-bottom:7rem; }
.vo-store .vo-main-frame { position:relative; height:clamp(520px,62vw,760px); overflow:hidden; background:#e9e6df; }
.vo-store .vo-main-frame img { width:100%; height:100%; object-fit:cover; object-position:center 64%; transition:transform .35s ease,object-position .35s ease; }
.vo-store .vo-main-frame[data-view=detail] img { transform:scale(1.6); object-position:center 75%; }
.vo-store .vo-main-frame[data-view=texture] img { transform:scale(2.15); object-position:40% 83%; }
.vo-store .vo-main-frame span { position:absolute; top:1rem; left:1rem; padding:.5rem .6rem; background:#f5f3ed; font-size:.65rem; font-weight:800; letter-spacing:.12em; }
.vo-store .vo-gallery-tabs { display:flex; gap:.6rem; padding-top:.85rem; }
.vo-store .vo-gallery-tabs button { flex:1; min-height:4.5rem; border:1px solid #bfc4b9; background:#e8e8df; font-size:.66rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.vo-store .vo-gallery-tabs button:hover,.vo-store .vo-gallery-tabs button.is-active { border-color:#24372d; background:#d6f36b; }
.vo-store .vo-detail-info { padding-top:clamp(1rem,3vw,3rem); }
.vo-store .vo-detail-info h1 { margin:1rem 0 1.2rem; font-family:Impact,'Arial Narrow',Arial,sans-serif; font-size:clamp(4rem,7vw,7.2rem); line-height:.9; font-weight:400; letter-spacing:-.025em; text-transform:uppercase; }
.vo-store .vo-detail-info h1 em { color:#729051; font-style:normal; }
.vo-store .vo-detail-lede { max-width:410px; margin:0 0 1.7rem; color:#5c655e; font-size:1rem; line-height:1.65; }
.vo-store .vo-detail-price { display:block; margin-bottom:2.5rem; font-size:1.5rem; font-weight:700; }
.vo-store .vo-select-group > span { display:block; margin-bottom:.8rem; font-size:.68rem; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }
.vo-store .vo-variants { display:grid; grid-template-columns:1fr 1fr; gap:.65rem; }
.vo-store .vo-variants button { display:flex; flex-direction:column; align-items:flex-start; gap:.35rem; min-height:5.2rem; padding:1rem; border:1px solid #aeb6aa; background:transparent; text-align:left; }
.vo-store .vo-variants button.is-active { border:2px solid #1b2b21; background:#e6ebdc; padding:calc(1rem - 1px); }
.vo-store .vo-variants button b { font-size:.86rem; }
.vo-store .vo-variants button small { color:#59645b; }
.vo-store .vo-purchase { margin:1.3rem 0 2.6rem; }
.vo-store .vo-purchase button { display:flex; justify-content:space-between; width:100%; padding:1.15rem; border:0; background:#1d2821; color:#fff; font-size:.78rem; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }
.vo-store .vo-purchase button:hover { background:#314b33; }
.vo-store .vo-purchase p { margin:.7rem 0 0; color:#747c72; font-size:.72rem; }
.vo-store .vo-detail-accordions { border-top:1px solid #bdc4b7; }
.vo-store .vo-detail-accordions details { border-bottom:1px solid #bdc4b7; }
.vo-store .vo-detail-accordions summary { display:flex; justify-content:space-between; padding:1rem 0; cursor:pointer; font-size:.77rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase; list-style:none; }
.vo-store .vo-detail-accordions summary::-webkit-details-marker { display:none; }
.vo-store .vo-detail-accordions details[open] summary span { transform:rotate(45deg); }
.vo-store .vo-detail-accordions p { margin:0 0 1.2rem; max-width:450px; color:#57635a; font-size:.87rem; line-height:1.65; }
.vo-store .vo-detail-story { display:grid; grid-template-columns:1fr 1fr; align-items:center; gap:5vw; padding:clamp(3rem,7vw,7rem) clamp(1.25rem,4vw,4.5rem); background:#d6dfce; }
.vo-store .vo-detail-story img { width:100%; height:420px; object-fit:cover; }
.vo-store .vo-cart { position:fixed; inset:0 0 0 auto; width:min(100%,470px); height:100dvh; max-height:none; margin:0; padding:0; border:0; background:#f4f2e9; color:#19211b; box-shadow:-1rem 0 3rem #10191030; }
.vo-store .vo-cart::backdrop { background:#0c191ac0; }
.vo-store .vo-cart-head { display:flex; justify-content:space-between; align-items:center; padding:1.4rem 1.5rem; border-bottom:1px solid #c0c7b9; }
.vo-store .vo-cart-head h2 { margin:0; font-family:Impact,'Arial Narrow',Arial,sans-serif; font-size:2.1rem; font-weight:400; text-transform:uppercase; }
.vo-store .vo-cart-head h2 span { font-family:Arial,sans-serif; font-size:.8rem; vertical-align:top; }
.vo-store .vo-cart-head button { width:2.5rem; height:2.5rem; border:0; background:transparent; font-size:2rem; }
.vo-store .vo-cart-lines { padding:1.5rem; min-height:calc(100dvh - 300px); overflow:auto; }
.vo-store .vo-cart-empty { color:#626d63; line-height:1.6; }
.vo-store .vo-cart-line { display:grid; grid-template-columns:78px 1fr auto; align-items:start; gap:1rem; padding:0 0 1.2rem; margin-bottom:1.2rem; border-bottom:1px solid #ced3c8; }
.vo-store .vo-cart-line img { width:78px; height:92px; object-fit:cover; }
.vo-store .vo-cart-line strong { display:block; font-size:.9rem; }
.vo-store .vo-cart-line span,.vo-store .vo-cart-line small { display:block; margin-top:.2rem; color:#5d675e; font-size:.7rem; }
.vo-store .vo-cart-line button { margin-top:.7rem; padding:0; border:0; background:none; text-decoration:underline; font-size:.67rem; }
.vo-store .vo-cart-line > b { font-size:.82rem; }
.vo-store .vo-cart-foot { padding:1.4rem 1.5rem 2rem; border-top:1px solid #c0c7b9; }
.vo-store .vo-cart-foot > div { display:flex; justify-content:space-between; font-size:.95rem; font-weight:700; }
.vo-store .vo-cart-foot p { margin:1rem 0; color:#677064; font-size:.72rem; }
.vo-store .vo-cart-checkout { display:flex; justify-content:space-between; width:100%; padding:1rem; border:0; background:#1d2821; color:#fff; font-size:.72rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
@media (max-width:850px) { .vo-store .vo-hero { min-height:auto; grid-template-columns:1fr 45%; } .vo-store .vo-hero-copy { padding-right:2rem; } .vo-store .vo-hero h1 { font-size:clamp(3.7rem,9vw,6rem); } .vo-store .vo-hero-image img { min-height:590px; } .vo-store .vo-detail { gap:2rem; } .vo-store .vo-main-frame { height:570px; } }
@media (max-width:680px) { .vo-store .vo-announcement span:last-child { display:none; } .vo-store .vo-header { min-height:78px; flex-wrap:wrap; row-gap:.8rem; } .vo-store .vo-header nav { order:3; width:100%; justify-content:space-between; margin:0; padding-top:.65rem; border-top:1px solid #d1d5ca; } .vo-store .vo-header nav a { font-size:.67rem; } .vo-store .vo-hero { display:flex; flex-direction:column-reverse; } .vo-store .vo-hero-image { height:390px; } .vo-store .vo-hero-image img { min-height:0; height:390px; object-position:center 67%; } .vo-store .vo-hero-copy { min-height:440px; padding:2rem 1.25rem 1.5rem; } .vo-store .vo-hero h1 { margin:2.5rem 0 1.2rem; font-size:clamp(4.1rem,15vw,6rem); } .vo-store .vo-hero p { font-size:.94rem; } .vo-store .vo-section-head { display:block; } .vo-store .vo-section-head p { margin-top:1rem; } .vo-store .vo-product-grid { grid-template-columns:1fr; gap:2rem; } .vo-store .vo-product-image { height:390px; } .vo-store .vo-feature { grid-template-columns:1fr; } .vo-store .vo-feature-photo img { height:300px; } .vo-store .vo-feature-copy { padding:3.5rem 1.25rem; } .vo-store .vo-journal { grid-template-columns:1fr; gap:2rem; padding-top:5rem; padding-bottom:5rem; } .vo-store .vo-journal img { height:360px; } .vo-store .vo-footer { grid-template-columns:1fr; gap:2rem; } .vo-store .vo-footer nav { justify-content:flex-start; } .vo-store .vo-breadcrumb { flex-wrap:wrap; } .vo-store .vo-detail { grid-template-columns:1fr; padding-bottom:4rem; } .vo-store .vo-main-frame { height:540px; } .vo-store .vo-detail-info { padding-top:1rem; } .vo-store .vo-detail-story { grid-template-columns:1fr; gap:2rem; } .vo-store .vo-detail-story img { order:-1; height:290px; } }
@media (max-width:410px) { .vo-store .vo-header nav { gap:.75rem; } .vo-store .vo-header nav a { letter-spacing:0; } .vo-store .vo-cart-trigger { padding-left:.6rem; } .vo-store .vo-product-meta h3 { font-size:1.2rem; } .vo-store .vo-main-frame { height:440px; } .vo-store .vo-gallery-tabs button { font-size:.56rem; } .vo-store .vo-variants { grid-template-columns:1fr; } }
@media (prefers-reduced-motion:reduce) { .vo-store * { scroll-behavior:auto!important; transition:none!important; animation:none!important; } }
