/* VAULN storefront refresh. Existing checkout, consent and media hooks are retained. */
:root { --color-bg:#fff; --color-surface:#fff; --color-muted:#74736f; --color-border:#e8e6e1; --color-accent:#ec601c; --radius-md:0.25rem; --radius-lg:0.25rem; --shell:min(100% - 5rem, 84rem); }
body { background:#fff; font-weight:400; }
.announcement { min-height:1.7rem; font-size:.7rem; font-weight:400; letter-spacing:0; padding:.3rem 1rem; }
.site-header { background:rgb(255 255 255 / .95); border-bottom:1px solid rgb(0 0 0 / .05); backdrop-filter:blur(18px); }
.header-inner { height:76px; min-height:76px; display:grid; grid-template-columns:1fr auto 1fr; }
.wordmark,.checkout-header .wordmark { grid-column:2; grid-row:1; justify-self:center; }
.site-header:not(.checkout-header) .header-inner > .wordmark { position:static; left:auto; transform:none; }
.wordmark-image { width:124px; height:auto; max-height:42px; object-fit:contain; }
.menu-button { display:flex; grid-column:1; grid-row:1; justify-self:start; position:relative; width:auto; height:44px; padding:0 0 0 29px; gap:8px; border:0; border-radius:0; }
.menu-button span { position:absolute; left:0; width:18px; height:1px; background:#111; top:17px; }
.menu-button span:nth-child(2) { top:24px; }
.menu-button b { font-weight:400; font-size:.85rem; }
.cart-button { grid-column:3; grid-row:1; justify-self:end; display:flex; align-items:center; gap:9px; font-size:.75rem; font-weight:400; background:none; border:0; padding:8px; min-height:44px; }
.cart-button [data-cart-count] { background:#111; color:#fff; min-width:19px; height:19px; padding:0 5px; font-size:.65rem; display:grid; place-items:center; border-radius:50%; }
.desktop-nav { display:none; }
.mobile-nav { position:absolute; inset:76px 0 auto; width:100%; background:white; padding:30px max(2rem,calc((100vw - 84rem)/2)); box-shadow:0 15px 20px rgb(0 0 0 / .05); display:grid; gap:18px; }
.mobile-nav a { font-weight:400; font-size:.95rem; }
.home-hero { height:min(690px,calc(100svh - 76px)); min-height:530px; position:relative; background:#efede8; }
.home-slides { height:100%; position:relative; overflow:hidden; }
.home-slide { position:absolute; inset:0; opacity:1; transition:opacity .7s ease; overflow:hidden; }
.home-slide[aria-hidden="true"] { opacity:0; pointer-events:none; visibility:hidden; transition:opacity .7s ease,visibility .7s; }
.home-slide--warm { background:#f1dfcf; }
.home-slide--blue { background:#e8eaeb; }
.home-slide--purple { background:#eee9ef; }
.home-slide__media { position:absolute; inset:0 0 0 38%; height:100%; }
.home-slide__media picture { display:block; height:100%; }
.home-slide__media img { width:100%; height:100%; object-fit:cover; mix-blend-mode:multiply; }
.home-slide--warm .home-slide__media:after { content:""; position:absolute; inset:0; background:linear-gradient(90deg,#f1dfcf 0%,transparent 25%); }
.home-slide--blue .home-slide__media,.home-slide--purple .home-slide__media { inset:0 7% 0 47%; }
.home-slide--blue .home-slide__media img,.home-slide--purple .home-slide__media img { object-fit:contain; }
.home-slide__copy { position:absolute; left:max(5.5vw,calc((100vw - 84rem)/2)); top:50%; transform:translateY(-50%); width:42%; max-width:600px; z-index:2; }
.hero-eyebrow,.section-eyebrow { font-size:.73rem; letter-spacing:.05em; color:#6f6c68; margin:0 0 21px; }
.home-slide__copy h1,.home-slide__copy h2 { font-size:clamp(2rem,3.55vw,3.4rem); letter-spacing:-.035em; line-height:1.22; font-weight:500; margin:0 0 22px; }
.home-slide__copy > p:not(.hero-eyebrow) { font-size:.93rem; margin:0 0 27px; color:#5d5851; }
.hero-shop { display:inline-flex; align-items:center; justify-content:center; gap:30px; border:1px solid #242321; border-radius:30px; padding:11px 22px; min-height:44px; font-size:.8rem; font-weight:400; transition:background .2s,color .2s; }
.hero-shop:hover { background:#111; color:white; }
.hero-controls { position:absolute; left:50%; bottom:22px; transform:translateX(-50%); display:flex; align-items:center; gap:20px; z-index:3; }
.hero-controls > button { width:35px; height:35px; font-size:19px; border:0; border-radius:50%; background:rgb(255 255 255 / .35); }
.hero-indicators { display:flex; gap:4px; }
.hero-indicators button { width:24px; height:32px; padding:0; border:0; background:transparent; position:relative; }
.hero-indicators button:after { content:""; position:absolute; top:14px; left:8px; width:5px; height:5px; border-radius:50%; background:#a5a19a; }
.hero-indicators button[aria-pressed="true"]:after { background:#e55e28; }
.collection-section { padding:100px 0 88px; scroll-margin-top:95px; }
.collection-heading { text-align:center; margin:0 0 44px; }
.collection-heading h2 { font-size:clamp(1.55rem,2.7vw,2.55rem); font-weight:500; letter-spacing:-.025em; margin:0; }
.collection-heading .section-eyebrow { margin-bottom:14px; }
.collection-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:40px 24px; }
.collection-card { min-width:0; }
.collection-card__photo { display:block; position:relative; overflow:hidden; background:#eeede9; aspect-ratio:4/4.7; }
.collection-card__photo img { width:100%; height:100%; object-fit:cover; mix-blend-mode:multiply; transition:opacity .4s ease,transform .6s ease; }
.collection-card__hover { position:absolute; inset:0; opacity:0; }
.collection-card__view { position:absolute; bottom:15px; right:17px; padding:8px 14px; background:rgb(255 255 255 / .85); border-radius:30px; font-size:.73rem; opacity:0; transition:opacity .2s; }
@media(hover:hover) { .collection-card__photo:hover .collection-card__main,.collection-card__photo:focus-visible .collection-card__main { opacity:0; } .collection-card__photo:hover .collection-card__hover,.collection-card__photo:focus-visible .collection-card__hover,.collection-card__photo:hover .collection-card__view { opacity:1; } }
.collection-card__info { display:flex; align-items:start; justify-content:space-between; gap:10px; padding-top:19px; }
.collection-card__info h3 { font-size:1rem; font-weight:500; margin:0 0 4px; }
.collection-card__info p { margin:0; font-size:.73rem; color:#85827c; }
.collection-card__info strong { font-size:.87rem; font-weight:400; white-space:nowrap; padding-top:2px; }
.collection-swatches { display:flex; gap:8px; padding:13px 0; }
.collection-swatches .product-color-dot { width:18px; height:18px; padding:0; border:2px solid #fff; outline:1px solid transparent; box-shadow:0 0 0 1px #ddd; flex:none; position:relative; }
.collection-swatches .product-color-dot:before { content:""; position:absolute; inset:-8px; }
.collection-swatches .product-color-dot[aria-pressed="true"] { outline:none; }
.pair-story { display:grid; grid-template-columns:1fr 1.15fr; align-items:center; gap:4rem; padding:45px 65px; background:#f0eeee; margin-block:0 90px; overflow:hidden; }
.pair-story h2 { font-weight:500; font-size:clamp(1.6rem,3vw,2.7rem); line-height:1.3; margin:0 0 18px; letter-spacing:-.03em; }
.pair-story p:not(.section-eyebrow) { font-size:.85rem; color:#696563; }
.pair-story__price { display:flex; flex-wrap:wrap; align-items:baseline; gap:10px; margin:22px 0 25px; }
.pair-story__price s { color:#93908b; font-size:.95rem; }
.pair-story__price strong { font-size:1.9rem; font-weight:500; }
.pair-story__price span { width:100%; font-size:.75rem; color:#6e6964; }
.pair-story__images { display:flex; align-items:center; height:460px; }
.pair-story__images img { width:55%; height:100%; object-fit:contain; mix-blend-mode:multiply; }
.pair-story__images img:first-child { transform:rotate(-13deg) translateX(10%); }
.pair-story__images img:last-child { transform:rotate(13deg) translateX(-7%); }
.home-features { padding-bottom:85px; }
.home-feature-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.home-feature-grid img { width:100%; aspect-ratio:4/3.7; object-fit:cover; background:#f0efec; }
.home-feature-grid h3 { margin:20px 0 7px; font-size:1rem; font-weight:500; }
.home-feature-grid p { color:#7b776f; font-size:.8rem; margin:0; }
.home-delivery { display:flex; flex-wrap:wrap; justify-content:center; gap:45px; padding:35px 0; border-top:1px solid var(--color-border); color:#6b6862; font-size:.8rem; }
.site-footer { background:#f6f5f2; color:#111; padding-top:55px; }
.footer-grid h2 { color:#111; font-weight:500; font-size:.82rem; margin-bottom:15px; }
.footer-grid a,.footer-grid button { color:#706c65; font-size:.75rem; font-weight:400; }
.footer-grid .wordmark { display:inline-block; font-size:1.5rem; color:#ef601b; }
.footer-grid .muted { color:#8a857c; font-size:.72rem; max-width:20rem; margin-top:13px; }
.footer-bottom { border-top:1px solid #ddd9d1; color:#8a857c; margin-top:40px; padding-bottom:15px; }
.breadcrumb { padding-top:22px; margin-bottom:23px; font-size:.7rem; color:#858078; }
.product-layout { display:grid; grid-template-columns:1.08fr 1fr; gap:6%; margin-bottom:70px; align-items:start; }
.gallery-wrap { position:sticky; top:96px; min-width:0; }
.product-gallery { display:flex; gap:0; height:min(660px,70vh); grid-auto-columns:100%; overflow-x:auto; scrollbar-width:none; scroll-snap-type:x mandatory; background:#f0efec; }
.product-gallery::-webkit-scrollbar { display:none; }
.gallery-slide { flex:0 0 100%; min-width:0; height:100%; }
.gallery-slide .asset-placeholder { display:block; width:100%; height:100%; aspect-ratio:auto; background:#f0efec; border:0; border-radius:0; }
.gallery-slide .asset-media { width:100%; height:100%; object-fit:contain; mix-blend-mode:multiply; }
.gallery-status { display:flex; align-items:center; justify-content:center; gap:13px; padding:13px 0; font-size:.72rem; }
.gallery-dots { display:flex; gap:7px; }
.gallery-dot { width:32px; height:32px; position:relative; border:0; background:none; padding:0; }
.gallery-dot:after { content:""; position:absolute; width:5px; height:5px; top:13px; left:13px; border-radius:50%; background:#bbb; }
.gallery-dot.is-active:after { background:#111; }
.gallery-dot.is-active { width:32px; background:none; }
.gallery-arrow { width:32px; height:32px; border:0; background:none; font-size:17px; }
.purchase-panel { padding:6px 0 0; }
.product-model-label { margin:0 0 7px; color:#858078; font-size:.79rem; }
.purchase-panel h1 { font-weight:500; font-size:clamp(1.35rem,2.5vw,2.1rem); line-height:1.4; letter-spacing:-.025em; margin:0 0 7px; }
.rating-summary { font-size:.72rem; min-height:27px; margin-bottom:9px; }
.product-price { font-size:1.45rem; font-weight:500; margin:4px 0 16px; }
.availability-banner { border:0; background:none; color:#837d73; padding:0; font-size:.74rem; margin-bottom:22px; }
.pair-offer { background:#faf5ed; padding:12px 14px; font-size:.74rem; line-height:1.65; margin:0 0 22px; color:#a95320; }
.product-specs { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; margin:16px 0 22px; }
.product-specs div { display:flex; flex-direction:column; gap:7px; }
.product-specs span { color:#827a70; font-size:.7rem; }
.product-specs strong { font-weight:400; font-size:.79rem; }
.product-specs i { display:block; height:2px; background:#dedbd5; width:100%; }
.product-form { gap:20px; }
.product-form fieldset { margin:0 0 18px; border:0; padding:0; min-width:0; }
.product-form legend { margin-bottom:11px; font-size:.77rem; font-weight:400; }
.model-select { width:100%; padding:12px 14px; border:1px solid #dfdcd5; border-radius:0; background:white; font-size:.82rem; min-height:46px; }
.bundle-options { gap:9px; }
.bundle-options .option-button > span { min-height:45px; border-radius:0; padding:9px; font-weight:400; font-size:.8rem; }
.bundle-options .option-button span small { display:none; }
.color-options { display:flex; flex-wrap:wrap; gap:12px; }
.color-choice { padding:7px; width:42px; height:42px; }
.color-choice__swatch { width:25px; height:25px; border:1px solid rgb(0 0 0 / .1); }
.color-choice:has(input:checked) { outline:none; }
.color-choice input:checked+.color-choice__swatch { box-shadow:none; }
.color-choice__swatch { position:relative; }
.color-choice input:checked+.color-choice__swatch::after,
.collection-swatches .product-color-dot[aria-pressed="true"]::after {
  content:""; position:absolute; width:7px; height:12px; left:50%; top:45%;
  border:solid #fff; border-width:0 2px 2px 0; transform:translate(-50%,-50%) rotate(45deg);
}
.color-choice input:checked+.color-choice__swatch[data-color="grey"]::after,
.collection-swatches .product-color-dot[data-color="grey"][aria-pressed="true"]::after { border-color:#171717; }
.collection-swatches .product-color-dot[aria-pressed="true"]::after { width:4px; height:8px; }
.color-choice:has(input:focus-visible) { outline:2px solid #666; outline-offset:3px; border-radius:50%; }
.slot-stock { font-size:.7rem; }
.bundle-slots fieldset { border-top:1px solid #edeae5; padding-top:14px; }
.bundle-slots .model-select { margin-bottom:15px; }
.stock-delivery { border:0; padding:0; margin:0; font-size:.75rem; }
.stock-delivery p { gap:6px; }
.stock-delivery strong { font-weight:400; }
.stock-delivery span { color:#7a746c; font-size:.71rem; }
.selected-summary { font-size:.7rem; color:#777168; padding:0; background:none; border:0; }
.button { border-radius:0; font-size:.83rem; font-weight:400; min-height:46px; }
.button--primary { background:#111; border-color:#111; }
.button--ghost { border-color:#dfdcd5; }
.cta-reassurance { display:none; }
.featured-review { padding:11px 13px; font-size:.72rem; border-left:1px solid #d8d0c4; color:#766e64; }
.product-benefits,.product-details-grid { padding-top:30px; border-top:1px solid #e8e3dc; }
.section { padding-block:55px; }
.section-heading h2,.customer-reviews h2,.lifestyle-section h2 { font-size:1.65rem; font-weight:500; }
.review-card { background:#faf9f6; border:0; border-radius:0; padding:24px; font-size:.8rem; }
.review-card h3 { font-weight:500; font-size:.8rem; }
.review-card footer { font-size:.68rem; }
.product-card { border:0; border-radius:0; background:#faf9f6; box-shadow:none; }
.product-card h3 { font-size:.9rem; font-weight:500; }
.product-card__image .asset-placeholder { border-radius:0; }
.seo-model-links { padding:30px 0 50px; border-top:1px solid #eee9e1; }
.seo-model-links h2 { font-size:.9rem; font-weight:400; }
.seo-model-links .option-grid { display:flex; flex-wrap:wrap; gap:9px 20px; }
.seo-model-links .option-button span { border:0; padding:0; font-size:.71rem; color:#81796d; min-height:30px; }
.sheet-dialog .dialog-panel { border-radius:0; box-shadow:none; display:flex; flex-direction:column; }
.dialog-head { border-bottom:1px solid #e8e3db; padding-bottom:20px; }
.dialog-head .kicker { display:none; }
.dialog-head h2 { font-weight:500; font-size:1.25rem; }
.cart-scroll { flex:1; padding:10px 0; }
.cart-line__image,.checkout-line__image { background:#f0efea; border-radius:0; }
.cart-line h3,.checkout-line h3 { font-size:.85rem; font-weight:500; }
.cart-line p,.checkout-line p { font-size:.7rem; color:#81776b; }
.cart-color { display:inline-flex; align-items:center; gap:5px; }
.cart-color .product-color-dot { width:11px; height:11px; border:0; }
.cart-line__actions { display:flex; flex-wrap:wrap; gap:15px; font-size:.7rem; }
.cart-line__actions label,.checkout-line__foot label { font-size:.7rem; }
.cart-line__actions select,.checkout-line__foot select { padding:3px; min-height:30px; border:1px solid #ddd5cb; border-radius:0; }
.cart-line__actions .text-button,.checkout-line__foot .text-button { font-size:.7rem; }
.cart-summary { border-top:1px solid #e4ddd2; padding-top:17px; margin-top:0; }
.cart-summary > div { font-size:.8rem; margin:10px 0; }
.cart-summary .cart-total { font-size:.95rem; margin:16px 0 23px; }
.cart-summary [data-cart-savings] { color:#b35322; font-size:.8rem; }
.cart-summary small { font-size:.66rem; }
.cart-upsell { display:none !important; }
.checkout-main { padding-top:35px; }
.checkout-main h1 { font-size:1.6rem; font-weight:500; }
.checkout-layout { gap:60px; }
.checkout-form-wrap input,.checkout-form-wrap textarea { border-radius:0; background:#fff; }
.order-summary { border-radius:0; background:#f9f8f5; border:0; padding:27px; }
.order-summary h2 { font-size:1rem; font-weight:500; }
.summary-totals { font-size:.83rem; }
.checkout-header p { grid-column:3; justify-self:end; font-size:.7rem; color:#8a8174; }
.policy-page .header-inner > a:not(.wordmark) { grid-column:3; justify-self:end; font-size:.8rem; }
.sticky-product { border-radius:0; padding:.7rem 1rem; background:rgb(255 255 255 / .97); }
@media(min-width:768px) { .sticky-product { display:none !important; } }
@media(max-width:1023px) { :root { --shell:calc(100% - 3rem); } .home-slide__copy { left:4vw; } .pair-story { padding:35px; gap:2rem; } .product-layout { gap:4%; } }
@media(max-width:767px) {
  :root { --shell:calc(100% - 2rem); }
  .header-inner { height:62px; min-height:62px; }.wordmark-image { width:102px; }.menu-button b { display:none; }.menu-button { width:35px; padding:0; }.mobile-nav { top:62px; padding:25px 20px; }
  .home-hero { height:620px; min-height:0; max-height:calc(100svh - 62px); }.home-slide__media { inset:0 0 auto; height:65%; }.home-slide--warm .home-slide__media:after { background:linear-gradient(0deg,#f1dfcf,transparent 28%); }.home-slide--warm .home-slide__media img { object-fit:cover; object-position:center; }
  .home-slide--blue .home-slide__media,.home-slide--purple .home-slide__media { inset:0 9% auto; height:65%; }.home-slide--blue .home-slide__media img,.home-slide--purple .home-slide__media img { object-fit:contain; }
  .home-slide__copy { top:auto; bottom:66px; left:20px; right:20px; width:auto; max-width:none; transform:none; text-align:center; }.home-slide__copy h1,.home-slide__copy h2 { font-size:1.8rem; margin-bottom:11px; line-height:1.24; }.home-slide__copy .hero-eyebrow { font-size:.62rem; margin-bottom:11px; }.home-slide__copy > p:not(.hero-eyebrow) { font-size:.74rem; margin-bottom:17px; }.hero-shop { font-size:.74rem; padding:9px 18px; }.hero-controls { bottom:14px; gap:10px; }.hero-controls > button { width:30px; height:30px; }
  .collection-section { padding:56px 0 44px; }.collection-heading { margin-bottom:26px; }.collection-heading h2 { font-size:1.5rem; }.section-eyebrow { font-size:.64rem; }.collection-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:27px 12px; }.collection-card__photo { aspect-ratio:4/5; }.collection-card__info { display:block; padding-top:12px; }.collection-card__info h3 { font-size:.8rem; }.collection-card__info p { font-size:.65rem; }.collection-card__info strong { display:block; font-size:.75rem; margin-top:7px; }.collection-swatches { gap:9px; padding-top:11px; }.collection-swatches .product-color-dot { width:13px; height:13px; }.collection-card__view { display:none; }
  .pair-story { padding:35px 23px 18px; grid-template-columns:1fr; gap:0; margin-bottom:55px; text-align:center; }.pair-story h2 { font-size:1.8rem; }.pair-story__price { justify-content:center; }.pair-story__images { height:330px; }.pair-story .section-eyebrow { margin-bottom:17px; }
  .home-features { padding-bottom:42px; }.home-feature-grid { gap:18px 12px; grid-template-columns:1fr 1fr; }.home-feature-grid article:last-child { display:none; }.home-feature-grid h3 { font-size:.85rem; margin-top:14px; }.home-feature-grid p { font-size:.7rem; }.home-delivery { gap:15px 22px; font-size:.68rem; padding:25px 0; }
  .site-footer { padding-top:35px; }.footer-grid { grid-template-columns:1fr 1fr; gap:25px; }.footer-grid > div:first-child { grid-column:1/-1; }.footer-grid > div:first-child .muted { display:none; }.footer-grid h2 { font-size:.76rem; }.footer-grid a,.footer-grid button { font-size:.68rem; }.footer-bottom { margin-top:25px; }
  .product-layout { display:block; margin-bottom:35px; }.gallery-wrap { position:static; }.product-gallery { height:min(520px,118vw); width:calc(100% + 2rem); margin-left:-1rem; }.gallery-status { padding:8px 0; }.purchase-panel { padding-top:14px; }.purchase-panel h1 { font-size:1.5rem; }.product-model-label { font-size:.73rem; }.product-specs { margin:15px 0 20px; }.product-price { font-size:1.4rem; }.rating-summary { font-size:.7rem; }.breadcrumb { font-size:.65rem; margin-bottom:14px; padding-top:14px; }.product-form fieldset { margin-bottom:18px; }.bundle-options .option-button > span { min-height:45px; }
  .section { padding-block:30px; }.section-heading h2,.customer-reviews h2,.lifestyle-section h2 { font-size:1.4rem; }.review-list { grid-template-columns:1fr; }.review-card { padding:20px; }
  .sheet-dialog .dialog-panel { inset:0 0 0 auto; width:min(100%,430px); max-height:none; padding:20px 17px calc(20px + env(safe-area-inset-bottom)); }.cart-line__actions { gap:10px; }.cart-summary > div { font-size:.76rem; }
  .checkout-layout { gap:25px; }.checkout-main h1 { font-size:1.4rem; }.checkout-header p { display:none; }.order-summary { padding:20px 17px; }
}
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } .home-slide,.collection-card__photo img { transition:none; } }

.cart-cost-row { display:flex; justify-content:space-between; gap:15px; margin:10px 0; font-size:.8rem; }.cart-cost-row strong { font-weight:500; }

.checkout-back { grid-column:1;grid-row:1;justify-self:start;font-size:.76rem; }.cart-button:after { display:none; } .seo-model-links summary { font-size:.72rem;color:#827b70;cursor:pointer;min-height:38px; }.seo-model-links .option-grid { padding-top:12px; }

@media(prefers-reduced-motion:reduce) { .home-slide,.home-slide[aria-hidden="true"] { transition:none; } }

/* Homepage header overlays the campaign image. */
.home-page .site-header { position:absolute; top:0; left:0; right:0; background:transparent; border:0; backdrop-filter:none; }
.home-page .home-hero { height:min(766px,100svh); }
[data-stock-state].low-stock-glow, .slot-stock.low-stock-glow { color:#ff182b; font-weight:600; text-shadow:0 0 8px rgb(255 24 43 / .45),0 0 16px rgb(255 24 43 / .2); }
@media(max-width:767px) { .home-page .home-hero { height:682px; max-height:100svh; } }

/* Supplied full-width desktop/mobile campaign artwork. Text stays accessible HTML. */
.home-page .home-hero { height:auto; min-height:0; max-height:none; aspect-ratio:2048 / 960; }
.home-slide .home-slide__media { inset:0; width:100%; height:100%; }
.home-slide .home-slide__media img { object-fit:cover; object-position:center; mix-blend-mode:normal; }
.home-slide .home-slide__media::after { display:none; }
.collection-card__photo { aspect-ratio:1600 / 1385; }
.collection-card__photo img { object-fit:contain; mix-blend-mode:normal; }
.home-feature-grid img { height:auto; aspect-ratio:1600 / 1385; object-fit:contain; }
.pair-story__images img, .gallery-slide .asset-media { mix-blend-mode:normal; }
.product-gallery { height:auto; aspect-ratio:1600 / 1385; }
@media(max-width:767px) {
  .home-page .home-hero { height:auto; min-height:0; max-height:none; aspect-ratio:1125 / 1860; }
  .home-slide .home-slide__media { inset:0; height:100%; }
  .home-slide__copy { top:68px; bottom:auto; left:16px; right:16px; transform:none; width:auto; max-width:none; }
  .home-slide__copy h1,.home-slide__copy h2 { font-size:clamp(1.3rem,5.7vw,1.65rem); line-height:1.18; margin-bottom:6px; }
  .home-slide__copy .hero-eyebrow { font-size:.6rem; line-height:1.2; margin-bottom:4px; }
  .home-slide__copy > p:not(.hero-eyebrow) { font-size:.7rem; line-height:1.35; margin-bottom:6px; }
  .home-slide__copy .hero-shop { min-height:34px; padding:6px 16px; font-size:.7rem; }
  .hero-controls { bottom:16px; }
  .collection-card__photo { aspect-ratio:1600 / 1385; }
  .product-gallery { height:auto; aspect-ratio:1600 / 1385; }
}
@media(max-width:359px) { .home-slide__copy > p:not(.hero-eyebrow) { display:none; } }
@media(max-width:767px) {
  .checkout-layout .order-summary { width:100%; max-width:100%; }
  .order-summary__toggle { flex-wrap:wrap; gap:.5rem; padding-inline:0; }
  .order-summary__content { padding-inline:0; }
}

/* The supplied offer artwork fills the panel; the offer remains accessible HTML. */
.pair-story--campaign { position:relative; display:block; aspect-ratio:1959 / 803; padding:0; background:#fff; }
.pair-story--campaign .pair-story__artwork { position:absolute; inset:0; }
.pair-story--campaign .pair-story__artwork img { display:block; width:100%; height:100%; object-fit:contain; }
.pair-story--campaign .pair-story__copy { position:relative; z-index:1; display:flex; flex-direction:column; align-items:flex-start; justify-content:center; width:48%; height:100%; padding:clamp(24px,3.4vw,65px); }
.pair-story--campaign h2 { font-size:clamp(1.35rem,2.6vw,2.7rem); }
.pair-story--campaign .hero-shop { flex-shrink:0; }
@media(min-width:768px) and (max-width:1199px) {
  .pair-story--campaign .section-eyebrow { margin-bottom:10px; }
  .pair-story--campaign h2 { margin-bottom:10px; }
  .pair-story--campaign .pair-story__copy > p:not(.section-eyebrow) { font-size:.73rem; margin-block:0; }
  .pair-story--campaign .pair-story__price { margin:12px 0; }
  .pair-story--campaign .pair-story__price strong { font-size:1.5rem; }
  .pair-story--campaign .hero-shop { font-size:.7rem; padding:8px 15px; min-height:36px; gap:16px; }
}
@media(max-width:767px) {
  .pair-story--campaign { aspect-ratio:auto; padding:0; }
  .pair-story--campaign .pair-story__copy { width:100%; height:auto; padding:28px 18px 8px; align-items:center; text-align:center; }
  .pair-story--campaign h2 { font-size:clamp(1.35rem,5.3vw,1.8rem); }
  .pair-story--campaign .pair-story__price { justify-content:center; }
  .pair-story--campaign .pair-story__artwork { position:relative; height:auto; aspect-ratio:1959 / 1606; overflow:hidden; }
  .pair-story--campaign .pair-story__artwork img { position:absolute; right:0; bottom:0; width:200%; max-width:none; height:auto; }
}

/* Readable labels without increasing the amount of product copy. */
.product-form legend, .field-grid label { font-size:.875rem; color:#343434; }
.product-specs dt, .product-model-label, .selected-summary, .slot-stock,
.stock-delivery span, .home-feature-grid p, .home-delivery, .collection-card__info p { color:#595650; }
.slot-stock, .selected-summary, .stock-delivery span, .product-specs dt { font-size:.8125rem; }
.rating-summary, .breadcrumb { font-size:.8125rem; color:#595650; }
.home-feature-grid p, .home-delivery { font-size:.875rem; }
.field-error { font-size:.8125rem; }
.checkout-form input[aria-invalid="true"], .checkout-form textarea[aria-invalid="true"] {
  border-color:#c92626; background:#fff5f5; box-shadow:0 0 0 1px #c92626;
}
.delivery-options[aria-invalid="true"] .delivery-option { border-color:#c92626; background:#fff5f5; }
.consent:has(input[aria-invalid="true"]) { color:#a51d1d; background:#fff5f5; outline:1px solid #c92626; outline-offset:5px; }
.checkout-form [aria-invalid="true"] { scroll-margin-block:110px; }
@media(max-width:767px) {
  .collection-card__info h3, .product-form legend, .field-grid label { font-size:.875rem; }
  .collection-card__info p { font-size:.8125rem; }
}

/* Mobile alignment, usable controls and iOS form readability. */
@media(max-width:767px) {
  .home-slide__copy h1, .home-slide__copy h2 { max-width:100%; width:100%; margin-inline:auto; text-align:center; }
  .home-slide__copy .hero-shop { min-height:44px; }
  .hero-controls > button, .hero-indicators button { min-width:44px; height:44px; }
  .hero-indicators button:after { left:19px; top:19px; }
  .hero-controls { gap:4px; }
  .gallery-arrow, .gallery-dot, .gallery-dot.is-active { width:44px; height:44px; }
  .gallery-dot:after { left:19px; top:19px; }
  .gallery-dots { gap:0; flex-wrap:wrap; justify-content:center; }
  .gallery-status { gap:4px; }
  .collection-swatches { gap:7px; flex-wrap:wrap; }
  .collection-swatches .product-color-dot { width:20px; height:20px; }
  .collection-swatches .product-color-dot:before { inset:-3px; }
  .model-select, .checkout-form input:not([type=checkbox]):not([type=radio]), .checkout-form textarea, .checkout-form select { font-size:16px; }
  .checkout-main h1 { max-width:100%; }
}
