:root {
  --paper: #f7f5f0;
  --white: #fff;
  --ink: #262825;
  --muted: #6e716b;
  --mineral: #6f858b;
  --mineral-deep: #425c63;
  --clay: #9b604a;
  --earth-soft: #b27d68;
  --sillar: #e8e2d8;
  --benzol: #00978d;
  --cream-yellow: #fdbf68;
  --dark-citrine: #8b835b;
  --hays-russet: #793327;
  --pale-lemon: #ffefae;
  --sulphur-yellow: #f5ecc2;
  --ecru: #c2ae93;
  --isabella: #c5a56e;
  --line: rgba(38, 40, 37, .16);
  --sans: "Helvetica Neue", Helvetica, Arial, sans-serif;
  --serif: Baskerville, "Iowan Old Style", Garamond, "Times New Roman", serif;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; color: var(--ink); background: var(--paper); font-family: var(--sans); font-size: 16px; line-height: 1.5; }
img { display: block; width: 100%; }
a { color: inherit; text-decoration: none; }
button { color: inherit; font: inherit; }
.visually-hidden { position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; margin: -1px !important; overflow: hidden !important; clip: rect(0,0,0,0) !important; white-space: nowrap !important; border: 0 !important; }
.skip-link { position: fixed; top: .75rem; left: .75rem; z-index: 100; transform: translateY(-180%); padding: .7rem 1rem; color: var(--white); background: var(--ink); }
.skip-link:focus { transform: translateY(0); }
.eyebrow { margin: 0 0 .85rem; font-size: .72rem; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; }
.eyebrow.light { color: var(--white); }

.announcement { display: flex; align-items: center; justify-content: space-between; min-height: 2rem; padding: .38rem 3vw; color: var(--white); background: var(--benzol); font-size: .69rem; letter-spacing: .09em; text-transform: uppercase; }
.announcement p { margin: 0; }
.announcement a { border-bottom: 1px solid rgba(255,255,255,.8); }
.announcement span { margin-left: .35rem; }

.site-header { position: sticky; top: 0; z-index: 30; display: grid; grid-template-columns: 9rem 1fr auto; align-items: center; min-height: 5.2rem; margin: 0; padding: .4rem 3vw; background: rgba(255,255,255,.96); border-bottom: 1px solid var(--line); backdrop-filter: blur(14px); }
.brand-logo { width: 6.9rem; height: 4rem; overflow: hidden; }
.brand-logo img { height: 100%; object-fit: contain; }
.site-nav { display: flex; justify-content: center; gap: clamp(1rem,2.5vw,2.75rem); font-size: .78rem; font-weight: 700; letter-spacing: .05em; text-transform: uppercase; }
.site-nav a { position: relative; padding: .55rem 0; }
.site-nav a::after { position: absolute; right: 0; bottom: .28rem; left: 0; height: 1px; background: var(--hays-russet); content: ""; transform: scaleX(0); transition: transform 180ms ease; }
.site-nav a:hover::after, .site-nav a:focus-visible::after { transform: scaleX(1); }
.header-cta { padding: .72rem 1rem; color: var(--white); background: var(--ink); border-radius: 999px; font-size: .76rem; font-weight: 700; text-transform: uppercase; }
.header-cta span { margin-left: .55rem; }
.menu-toggle { display: none; background: transparent; border: 0; font-size: .78rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }

.hero-carousel { position: relative; height: clamp(31rem, 44vw, 40rem); overflow: hidden; background: #4c5a3d; }
.hero-track { display: flex; height: 100%; transition: transform 700ms cubic-bezier(.22,.61,.36,1); }
.hero { position: relative; display: block; flex: 0 0 100%; height: 100%; overflow: hidden; background: #4c5a3d; }
.hero-picture { display: block; width: 100%; height: 100%; }
.hero-image { width: 100%; height: 100%; object-fit: cover; object-position: center 48%; }
.hero::after { position: absolute; right: 0; bottom: 0; left: 0; height: 15rem; background: linear-gradient(180deg, transparent, rgba(22,27,18,.72)); content: ""; pointer-events: none; }
.hero-adults::after { display: none; }
.hero-adults .hero-image { object-position: center center; }
.hero-adults-copy { position: absolute; top: 58%; left: 51%; z-index: 3; display: grid; gap: .35rem; color: var(--white); text-align: center; pointer-events: none; transform: translate(-50%,-50%); text-shadow: 0 2px 18px rgba(16,20,18,.68); }
.hero-adults-copy small { font-size: .72rem; font-weight: 700; letter-spacing: .2em; text-transform: uppercase; }
.hero-adults-copy strong { font-family: var(--serif); font-size: clamp(2.8rem,4.5vw,5.4rem); font-weight: 400; letter-spacing: -.035em; line-height: .88; }
.hero-adults-new::after { display: block; top: 0; height: 100%; background: linear-gradient(90deg,rgba(19,25,25,.48),rgba(19,25,25,.08) 43%,transparent 62%); }
.hero-adults-copy-new { top: 52%; left: clamp(5.5rem,7vw,8rem); justify-items: start; width: min(28rem,38vw); text-align: left; transform: translateY(-50%); }
.hero-adults-copy-new em { margin-top: 1rem; padding: .72rem 1rem; color: var(--white); border: 2px solid rgba(255,255,255,.92); border-radius: 999px; font-size: .72rem; font-style: normal; font-weight: 700; letter-spacing: .09em; text-transform: uppercase; }
.hero-carousel-arrow { position: absolute; top: 50%; z-index: 4; width: 3rem; height: 4rem; padding: 0; color: var(--white); background: transparent; border: 0; font-family: var(--sans); font-size: 3rem; font-weight: 200; line-height: 1; text-shadow: 0 1px 8px rgba(0,0,0,.65); cursor: pointer; transform: translateY(-50%); transition: opacity 180ms ease, transform 180ms ease; }
.hero-carousel-arrow:hover, .hero-carousel-arrow:focus-visible { transform: translateY(-50%) scale(1.1); }
.hero-carousel-prev { left: .8rem; }
.hero-carousel-next { right: .8rem; }
.hero-carousel-dots { position: absolute; top: 1rem; right: 1rem; z-index: 4; display: flex; gap: .48rem; padding: .5rem .6rem; background: rgba(20,24,18,.24); border-radius: 999px; backdrop-filter: blur(6px); }
.hero-carousel-dots button { width: .55rem; height: .55rem; padding: 0; background: transparent; border: 1px solid rgba(255,255,255,.9); border-radius: 50%; cursor: pointer; }
.hero-carousel-dots button.is-active { background: var(--white); }
.alpaca-benefits { position: absolute; right: 3vw; bottom: 1.4rem; left: 3vw; z-index: 2; display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); align-items: center; justify-items: center; gap: clamp(.5rem, 1.5vw, 1.5rem); }
.benefit { width: clamp(6.2rem, 9vw, 8.2rem); aspect-ratio: 1; min-width: 0; }
.benefit img { width: 100%; height: 100%; object-fit: contain; filter: drop-shadow(0 2px 2px rgba(12,18,11,.92)) drop-shadow(0 0 8px rgba(12,18,11,.38)); }

.category-strip { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1rem; padding: 1rem 1rem 0; }
.category-card { position: relative; min-height: 29rem; overflow: hidden; border-radius: 1.7rem; }
.category-card img { height: 100%; object-fit: cover; transition: transform 500ms ease; }
.category-card:nth-child(1) img { object-position: center 28%; }
.category-card:nth-child(2) img { object-position: center 30%; }
.category-card:nth-child(3) img { object-position: center 24%; }
.category-card:hover img { transform: scale(1.025); }
.category-overlay { position: absolute; inset: 0; background: linear-gradient(180deg, transparent 42%, rgba(20,22,21,.62)); }
.category-copy { position: absolute; right: 1.5rem; bottom: 1.45rem; left: 1.5rem; display: grid; grid-template-columns: auto 1fr auto; align-items: end; gap: 1rem; color: var(--white); }
.category-copy small { align-self: center; font-size: .7rem; }
.category-copy strong { font-family: var(--serif); font-size: clamp(2.1rem,3vw,3.5rem); font-weight: 400; line-height: 1; }
.category-copy em { padding-bottom: .3rem; font-size: .7rem; font-style: normal; font-weight: 700; text-transform: uppercase; }

.product-section { padding: clamp(5rem,8vw,8rem) 3vw; background: var(--white); }
.product-section-adults { background: var(--paper); border-top: 1px solid var(--line); }
.collection-toolbar { display: flex; align-items: flex-end; justify-content: space-between; gap: 2rem; margin-bottom: 2.7rem; }
.collection-toolbar h2 { margin: 0; font-family: var(--serif); font-size: clamp(2.6rem,4.8vw,5.5rem); font-weight: 400; letter-spacing: -.045em; line-height: .96; }
.collection-tabs { display: flex; gap: 1.6rem; padding-bottom: .45rem; color: var(--muted); font-size: .74rem; font-weight: 700; letter-spacing: .05em; text-transform: uppercase; }
.collection-tabs span,.collection-tabs a { padding-bottom: .35rem; border-bottom: 1px solid transparent; }
.collection-tabs .active { color: var(--ink); border-color: var(--ink); }
.product-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1.05rem; }
.product-image { position: relative; display: block; width: 100%; aspect-ratio: 4/5.35; overflow: hidden; background: var(--sillar); border: 0; border-radius: 1.35rem; cursor: pointer; }
.product-image img { position: absolute; inset: 0; height: 100%; object-fit: contain; transition: opacity 220ms ease, transform 320ms ease; }
.product-image img[src*="daisy-cardigan-vertical"] { object-fit: cover; }
.product-back { opacity: 0; }
.product-card:hover .product-front { opacity: 0; }
.product-card:hover .product-back { opacity: 1; }
.product-card:hover .product-image img { transform: scale(1.018); }
.pill { position: absolute; top: .85rem; left: .85rem; z-index: 2; padding: .38rem .62rem; background: rgba(255,255,255,.88); border-radius: 999px; font-size: .65rem; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; }
.product-copy { display: flex; align-items: center; justify-content: space-between; gap: .8rem; padding: .95rem .15rem 0; }
.product-copy h3 { margin: 0; font-family: var(--serif); font-size: 1.2rem; font-weight: 400; }
.product-copy p { margin: .12rem 0 0; color: var(--muted); font-size: .76rem; }
.product-arrow { display: grid; flex: 0 0 auto; width: 2.45rem; height: 2.45rem; place-items: center; background: transparent; border: 1px solid var(--line); border-radius: 50%; cursor: pointer; transition: color 180ms ease, background 180ms ease; }
.product-arrow:hover { color: var(--white); background: var(--ink); }

.campaign-grid { display: grid; grid-template-columns: 1.3fr .7fr; gap: 1rem; padding: 1rem; background: var(--paper); }
.campaign-card { position: relative; min-height: 41rem; overflow: hidden; border-radius: 1.7rem; }
.campaign-card img { height: 100%; object-fit: cover; }
.campaign-children img { object-position: center 24%; }
.campaign-detail img { object-position: center; }
.campaign-card::after { position: absolute; inset: 0; background: linear-gradient(180deg, transparent 35%, rgba(24,27,25,.67)); content: ""; }
.campaign-card > div { position: absolute; right: 2rem; bottom: 2rem; left: 2rem; z-index: 2; color: var(--white); }
.campaign-card h2 { margin: 0 0 1.5rem; font-family: var(--serif); font-size: clamp(2.7rem,4.8vw,5.5rem); font-weight: 400; letter-spacing: -.045em; line-height: .9; }
.campaign-card a, .campaign-card-link { display: inline-block; border-bottom: 1px solid rgba(255,255,255,.8); font-size: .76rem; font-weight: 700; letter-spacing: .05em; text-transform: uppercase; }

.impact-feature { padding: 1rem; background: var(--paper); }
.impact-feature-link { position: relative; display: block; min-height: clamp(31rem, 50vw, 47rem); overflow: hidden; color: var(--white); background: var(--mineral-deep); border-radius: 1.7rem; }
.impact-split { position: absolute; inset: 0; overflow: hidden; }
.impact-split::after { position: absolute; top: -8%; left: 50%; width: 3px; height: 116%; background: rgba(255,255,255,.9); content: ""; transform: rotate(10deg); transform-origin: center; }
.impact-split img { position: absolute; top: 0; height: 100%; object-fit: cover; transition: transform 650ms ease; }
.impact-split-left { left: 0; width: 55%; object-position: center 40%; clip-path: polygon(0 0, 100% 0, 83% 100%, 0 100%); }
.impact-split-right { right: 0; width: 55%; object-position: center 48%; clip-path: polygon(17% 0, 100% 0, 100% 100%, 0 100%); }
.impact-feature-link:hover .impact-split img { transform: scale(1.018); }
.impact-feature-overlay { position: absolute; inset: 0; display: flex; flex-direction: column; justify-content: space-between; padding: clamp(1.4rem, 3vw, 2.8rem); background: linear-gradient(180deg, rgba(16,20,18,.3), transparent 42%, rgba(16,20,18,.66)); }
.impact-marks { display: flex; justify-content: space-between; gap: 1rem; }
.impact-mark { display: flex; align-items: center; gap: .8rem; font-family: var(--sans); text-transform: uppercase; }
.impact-mark svg { width: 4.3rem; height: 4.3rem; fill: none; stroke: currentColor; stroke-width: 1.15; stroke-linecap: round; stroke-linejoin: round; }
.impact-icon { display: grid; width: 4.3rem; height: 4.3rem; place-items: center; border: 1px solid currentColor; border-radius: 50%; }
.impact-icon img { width: 2rem; height: 2.9rem; object-fit: contain; filter: brightness(0) invert(1); }
.impact-mark > span { display: grid; gap: .12rem; }
.impact-mark small { font-size: .68rem; letter-spacing: .19em; }
.impact-mark strong { font-size: .84rem; letter-spacing: .11em; }
.impact-feature-cta { align-self: center; padding: .9rem 1.2rem; font-family: var(--sans); font-size: .78rem; font-weight: 700; letter-spacing: .13em; text-transform: uppercase; border: 1px solid rgba(255,255,255,.76); border-radius: 999px; backdrop-filter: blur(8px); }
.impact-feature-cta b { margin-left: 1.2rem; }

.contact { position: relative; isolation: isolate; display: grid; grid-template-columns: 1.15fr .85fr; gap: 5rem; padding: clamp(5rem,9vw,9rem) 6vw; overflow: hidden; color: var(--ink); background: var(--sulphur-yellow); }
.contact::before,
.contact::after { position: absolute; right: 0; left: 0; z-index: -1; height: clamp(4rem, 6vw, 6rem); background: var(--hays-russet); content: ""; opacity: .11; pointer-events: none; -webkit-mask-image: url('/assets/brand/andean-linework-pattern.png'); mask-image: url('/assets/brand/andean-linework-pattern.png'); -webkit-mask-repeat: repeat-x; mask-repeat: repeat-x; -webkit-mask-size: clamp(28rem, 45vw, 42rem) auto; mask-size: clamp(28rem, 45vw, 42rem) auto; }
.contact::before { top: 0; -webkit-mask-position: center 12%; mask-position: center 12%; }
.contact::after { bottom: 0; opacity: .085; -webkit-mask-position: center 72%; mask-position: center 72%; transform: scaleY(-1); }
.contact .eyebrow.light { color: var(--ink); }
.contact h2 { max-width: 13ch; margin: 0; font-family: var(--serif); font-size: clamp(3rem,5vw,5.8rem); font-weight: 400; letter-spacing: -.05em; line-height: .92; }
.contact-copy { align-self: end; }
.contact-copy > p { max-width: 34rem; margin: 0 0 1.7rem; }
.contact-button { display: flex; align-items: center; justify-content: space-between; max-width: 22rem; padding: .95rem 1.1rem; color: var(--ink); background: var(--pale-lemon); border: 3px solid var(--ink); border-radius: 999px; font-size: .78rem; font-weight: 700; text-transform: uppercase; }
.contact-email { display: inline-block; margin-top: 1.4rem; border-bottom: 1px solid currentColor; font-size: .86rem; }

.site-footer { display: grid; grid-template-columns: 2fr 1fr 1fr 1fr; align-items: start; gap: 3rem; padding: 4rem 3vw 1.8rem; color: var(--ink); background: var(--isabella); }
.footer-brand { display: flex; flex-direction: column; align-items: flex-start; align-self: start; text-align: left; }
.footer-brand img { width: 8rem; height: 6rem; margin-bottom: -1.45rem; object-fit: contain; filter: none; transform: translateY(-1.45rem); }
.footer-brand p { margin: .15rem 0 0; color: var(--ink); font-size: .82rem; }
.footer-col, .footer-social { display: flex; flex-direction: column; align-items: flex-start; gap: .65rem; font-size: .8rem; }
.footer-col > p, .footer-social > p { margin: 0 0 .45rem; color: var(--ink); font-size: .86rem; font-weight: 800; letter-spacing: .09em; text-transform: uppercase; }
.social-links { display: flex; gap: .55rem; }
.social-links a { display: grid; width: 2.45rem; height: 2.45rem; place-items: center; border: 1px solid rgba(38,40,37,.42); border-radius: 50%; font-size: .67rem; text-transform: uppercase; }
.social-links svg { width: 1.1rem; height: 1.1rem; fill: currentColor; }
.footer-bottom { grid-column: 1 / -1; display: flex; justify-content: space-between; margin-top: 2rem; padding-top: 1.25rem; color: var(--ink); border-top: 1px solid rgba(38,40,37,.24); font-size: .72rem; }
.footer-bottom p { margin: 0; }

.product-dialog { width: min(62rem, calc(100% - 2rem)); max-height: calc(100dvh - 2rem); padding: 0; overflow: auto; color: var(--ink); background: var(--white); border: 0; border-radius: 1.5rem; box-shadow: 0 2rem 6rem rgba(24,27,25,.35); }
.product-dialog::backdrop { background: rgba(24,27,25,.7); backdrop-filter: blur(6px); }
.dialog-close { position: absolute; top: 1rem; right: 1rem; z-index: 3; display: grid; width: 2.7rem; height: 2.7rem; place-items: center; background: var(--white); border: 1px solid var(--line); border-radius: 50%; font-size: 1.4rem; cursor: pointer; }
.dialog-grid { display: grid; grid-template-columns: 1fr 1fr; }
.dialog-image { display: grid; min-height: 38rem; padding: 2rem; place-items: center; background: var(--sillar); }
.dialog-image img { max-height: 34rem; object-fit: contain; }
.dialog-copy { align-self: center; padding: clamp(2.5rem,6vw,5rem); }
.dialog-copy h2 { margin: 0 0 1rem; font-family: var(--serif); font-size: clamp(2.5rem,4vw,4.2rem); font-weight: 400; line-height: .95; }
.dialog-copy dl { margin: 2rem 0; border-top: 1px solid var(--line); }
.dialog-copy dl div { display: grid; grid-template-columns: 8rem 1fr; gap: 1rem; padding: .75rem 0; border-bottom: 1px solid var(--line); }
.dialog-copy dt { color: var(--muted); }
.dialog-copy dd { margin: 0; }
.dialog-button { display: flex; align-items: center; justify-content: space-between; padding: .9rem 1rem; color: var(--white); background: var(--ink); border-radius: 999px; font-size: .78rem; font-weight: 700; text-transform: uppercase; }

@media (max-width: 980px) {
  .site-header { grid-template-columns: 1fr auto; }
  .menu-toggle { display: block; }
  .header-cta { display: none; }
  .site-nav { position: absolute; top: 100%; right: 0; left: 0; display: none; flex-direction: column; gap: 0; padding: 1rem 3vw; background: var(--white); border-bottom: 1px solid var(--line); }
  .site-nav.open { display: flex; }
  .site-nav a { padding: .85rem 0; }
  .category-card { min-height: 24rem; }
  .category-copy { grid-template-columns: auto 1fr; }
  .category-copy em { display: none; }
  .product-grid { grid-template-columns: repeat(2, 1fr); row-gap: 3rem; }
  .campaign-card { min-height: 35rem; }
  .impact-feature-link { min-height: 38rem; }
}

@media (max-width: 720px) {
  .announcement { justify-content: center; min-height: 2.2rem; padding-inline: 1rem; text-align: center; }
  .announcement p { overflow: hidden; max-width: 100%; white-space: nowrap; text-overflow: ellipsis; }
  .announcement a { display: none; }
  .site-header { min-height: 4.8rem; padding: .3rem 1rem; }
  .brand-logo { width: 6.2rem; height: 3.8rem; }
  .hero-carousel { height: min(112vw, 34rem); }
  .hero { overflow: hidden; background: var(--mineral-deep); }
  .hero-image { height: 100%; aspect-ratio: auto; object-position: center top; }
  .hero-adults .hero-image { object-position: center center; }
  .hero::after { display: block; height: 56%; background: linear-gradient(180deg, transparent, rgba(20,24,18,.72)); }
  .hero-adults::after { display: none; }
  .hero-carousel-arrow { width: 2.5rem; height: 3.5rem; font-size: 2.6rem; }
  .hero-carousel-prev { left: .2rem; }
  .hero-carousel-next { right: .2rem; }
  .hero-carousel-dots { top: .7rem; right: .7rem; }
  .alpaca-benefits { right: auto; bottom: .75rem; left: 50%; width: min(21rem, calc(100% - 1.5rem)); grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .35rem .6rem; transform: translateX(-50%); }
  .benefit { width: clamp(4.7rem, 23vw, 6.2rem); }
  .category-strip { grid-template-columns: 1fr; padding: .75rem; }
  .category-card { min-height: 31rem; }
  .category-copy { grid-template-columns: auto 1fr auto; }
  .category-copy em { display: block; }
  .product-section { padding: 4.5rem 1rem; }
  .collection-toolbar { align-items: flex-start; flex-direction: column; }
  .collection-tabs { width: 100%; gap: 1rem; overflow-x: auto; white-space: nowrap; }
  .product-grid { gap: 2.6rem .75rem; }
  .campaign-grid { grid-template-columns: 1fr; padding: .75rem; }
  .campaign-card { min-height: 34rem; }
  .impact-feature { padding: .75rem; }
  .impact-feature-link { min-height: 40rem; border-radius: 1.35rem; }
  .impact-split::after { left: 50%; transform: rotate(7deg); }
  .impact-split-left, .impact-split-right { width: 58%; }
  .impact-split-left { object-position: 54% center; clip-path: polygon(0 0,100% 0,78% 100%,0 100%); }
  .impact-split-right { object-position: 48% center; clip-path: polygon(22% 0,100% 0,100% 100%,0 100%); }
  .impact-feature-overlay { padding: 1.1rem; }
  .impact-marks { align-items: flex-start; }
  .impact-mark { gap: .45rem; }
  .impact-mark svg { width: 3.2rem; height: 3.2rem; }
  .impact-mark small { font-size: .56rem; }
  .impact-mark strong { max-width: 8rem; font-size: .66rem; }
  .impact-feature-cta { font-size: .67rem; }
  .contact { grid-template-columns: 1fr; gap: 2.5rem; padding: 4.5rem 1.2rem; }
  .contact::before, .contact::after { height: 3.5rem; opacity: .075; -webkit-mask-size: 28rem auto; mask-size: 28rem auto; }
  .site-footer { grid-template-columns: 1fr 1fr; padding: 3rem 1rem 1.5rem; }
  .footer-brand, .footer-bottom { grid-column: 1 / -1; }
  .dialog-grid { grid-template-columns: 1fr; }
  .dialog-image { min-height: 21rem; padding: 1rem; }
  .dialog-image img { max-height: 20rem; }
  .dialog-copy { padding: 2rem 1.4rem; }
}

/* Mobile refinement — compact, editorial and touch friendly */
@media (max-width: 720px) {
  html { scroll-padding-top: 5rem; }
  body { overflow-x: hidden; }

  .announcement {
    min-height: 1.8rem;
    padding: .32rem .8rem;
    font-size: .58rem;
    letter-spacing: .075em;
  }

  .site-header {
    grid-template-columns: 1fr auto auto;
    min-height: 4.15rem;
    padding: .15rem .85rem;
  }
  .brand-logo { width: 5.55rem; height: 3.45rem; }
  .bag-link { grid-column: 2; grid-row: 1; font-size: .76rem; }
  .menu-toggle {
    grid-column: 3;
    grid-row: 1;
    min-width: 3.2rem;
    min-height: 2.75rem;
    padding: .65rem .1rem .65rem .65rem;
    font-size: .7rem;
  }
  .site-nav {
    max-height: calc(100dvh - 5.9rem);
    padding: .65rem 1rem 1.1rem;
    overflow-y: auto;
    box-shadow: 0 1.2rem 2.4rem rgba(38,40,37,.12);
  }
  .site-nav a {
    display: flex;
    align-items: center;
    min-height: 3.25rem;
    padding: .75rem .2rem;
    border-bottom: 1px solid var(--line);
    font-size: .83rem;
  }
  .site-nav a:last-child { border-bottom: 0; }

  .hero-carousel { height: clamp(25rem, 112vw, 30rem); }
  .hero-image { object-position: 50% 28%; }
  .hero-adults .hero-image { object-position: 51% center; }
  .hero-adults-copy { top: 58%; left: 50%; width: min(18rem,72vw); gap: .3rem; }
  .hero-adults-copy small { font-size: .62rem; }
  .hero-adults-copy strong { font-size: clamp(2.35rem,11.5vw,3.35rem); }
  .hero-adults-new .hero-image { object-position: center center; }
  .hero-adults-new::after { display: block; height: 100%; background: linear-gradient(0deg,rgba(18,23,22,.72),rgba(18,23,22,.02) 62%); }
  .hero-adults-copy-new { top: auto; right: 1.1rem; bottom: 1.25rem; left: 1.1rem; width: auto; justify-items: start; text-align: left; transform: none; }
  .hero-adults-copy-new strong { font-size: clamp(2.45rem,12vw,3.45rem); }
  .hero-adults-copy-new em { margin-top: .55rem; padding: .62rem .85rem; font-size: .65rem; }
  .hero-carousel-arrow {
    top: 43%;
    width: 2.35rem;
    height: 3.25rem;
    font-size: 2.35rem;
  }
  .hero-carousel-dots {
    top: .62rem;
    right: .62rem;
    padding: .42rem .5rem;
  }
  .alpaca-benefits {
    bottom: .45rem;
    width: min(22rem, calc(100% - 1rem));
    gap: .05rem .35rem;
  }
  .benefit { width: clamp(4.55rem, 22.5vw, 5.7rem); }

  .category-strip {
    display: flex;
    gap: .65rem;
    padding: .65rem;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
  }
  .category-strip::-webkit-scrollbar { display: none; }
  .category-card {
    flex: 0 0 84vw;
    min-height: 23rem;
    border-radius: 1.2rem;
    scroll-snap-align: center;
  }
  .category-card:first-child { scroll-snap-align: start; }
  .category-card:last-child { scroll-snap-align: end; }
  .category-copy {
    right: 1.1rem;
    bottom: 1.1rem;
    left: 1.1rem;
    grid-template-columns: auto 1fr;
    gap: .65rem;
  }
  .category-copy strong { font-size: clamp(2.15rem, 10vw, 3rem); }
  .category-copy em { display: none; }

  .product-section { padding: 3.6rem .75rem 4.25rem; }
  .collection-toolbar { gap: 1rem; margin-bottom: 1.75rem; }
  .collection-toolbar h2 { font-size: clamp(2.55rem, 12vw, 3.8rem); }
  .collection-tabs { padding-bottom: 0; }
  .product-grid,
  .children-grid,
  .adult-product-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 2rem .65rem;
  }
  .product-image,
  .catalog-image,
  .adult-product-visual { border-radius: .9rem; }
  .catalog-image img,
  .adult-product-visual img { padding: .65rem; }
  .pill,
  .adult-product-visual small {
    top: .5rem;
    right: .5rem;
    left: .5rem;
    width: max-content;
    max-width: calc(100% - 1rem);
    padding: .28rem .42rem;
    font-size: .52rem;
  }
  .product-copy,
  .adult-product-meta { align-items: flex-start; padding-top: .7rem; }
  .product-copy h3,
  .children-grid .product-copy h3,
  .adult-product-meta b { font-size: 1rem; line-height: 1.08; }
  .product-copy p,
  .children-grid .product-copy p,
  .adult-product-meta em { font-size: .69rem; line-height: 1.35; }
  .product-arrow,
  .adult-product-meta i { display: none; }

  .campaign-grid { gap: .65rem; padding: .65rem; }
  .campaign-card { min-height: 27rem; border-radius: 1.2rem; }
  .campaign-card > div { right: 1.2rem; bottom: 1.25rem; left: 1.2rem; }
  .campaign-card h2 { margin-bottom: 1rem; font-size: clamp(2.55rem, 12vw, 3.7rem); }

  .impact-feature { padding: .65rem; }
  .impact-feature-link { min-height: 32rem; }
  .impact-mark { align-items: flex-start; }
  .impact-mark svg,
  .impact-icon { width: 2.8rem; height: 2.8rem; }
  .impact-icon img { width: 1.35rem; height: 2rem; }
  .impact-feature-cta { align-self: stretch; text-align: center; }

  .contact { gap: 2rem; padding: 4rem 1rem; }
  .contact h2 { font-size: clamp(2.9rem, 13vw, 4.1rem); }
  .contact-button { width: 100%; max-width: none; min-height: 3.25rem; }

  .site-footer {
    grid-template-columns: 1.15fr .85fr;
    gap: 2rem 1.25rem;
    padding: 2.6rem 1rem 1.35rem;
  }
  .footer-brand { grid-column: 1 / -1; }
  .footer-brand img {
    width: 6.6rem;
    height: 4.7rem;
    margin-bottom: -.85rem;
    transform: translateY(-.85rem);
  }
  .footer-col,
  .footer-social { font-size: .78rem; }
  .footer-bottom {
    grid-column: 1 / -1;
    flex-wrap: wrap;
    margin-top: .5rem;
  }

  .shop-main,
  .adult-main { padding: .65rem .65rem 3.5rem; }
  .collection-banner {
    height: 12.75rem;
    margin-bottom: 1.15rem;
    border-radius: 1rem;
  }
  .collection-banner-copy {
    right: 1rem;
    bottom: 1rem;
    left: 1rem;
  }
  .collection-banner-copy strong { font-size: clamp(2rem, 9.7vw, 3rem); }
  .breadcrumbs { margin: 0 .25rem 1.2rem; font-size: .76rem; }
  .shop-heading { margin: 0 .25rem 1.5rem; }
  .shop-heading h1 { font-size: 2.65rem; }
  .adult-heading { gap: .9rem; margin: 0 .25rem 2rem; }
  .adult-heading h1 { font-size: clamp(2.75rem, 13vw, 4rem); }
  .adult-heading > p:last-child { font-size: .94rem; line-height: 1.55; }

  .piece-layout { gap: 1.6rem; }
  .piece-photo { aspect-ratio: 4 / 4.4; padding: 1rem; border-radius: 1rem; }
  .gallery-thumbs {
    gap: .5rem;
    padding-bottom: .25rem;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
  }
  .gallery-thumb {
    flex: 0 0 4.8rem;
    width: 4.8rem;
    height: 5.4rem;
    scroll-snap-align: start;
  }
  .piece-info { padding: 0 .25rem; }
  .piece-info h1 { font-size: clamp(2.6rem, 13vw, 3.8rem); }
  .shop-button,
  .adult-piece-cta { min-height: 3.25rem; }
  .product-specs div { grid-template-columns: 5.7rem 1fr; gap: .75rem; }
  .care-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.2rem .35rem; }
  .care-symbol { width: 3.55rem; height: 3.55rem; }
  .care-item { font-size: .66rem; }

  .adult-product-dialog,
  .product-dialog {
    width: calc(100% - .75rem);
    max-height: calc(100dvh - .75rem);
    border-radius: 1rem;
  }
  .adult-dialog-gallery { padding: .5rem; }
  .adult-dialog-stage { min-height: 20rem; height: min(62vh, 24rem); }
  .adult-dialog-copy { padding: 2rem 1rem; }
  .adult-dialog-copy h2 { font-size: 2.7rem; }
  .dialog-image { min-height: 19rem; }

  .contact-intro,
  .contact-form-wrap { padding: 3.5rem 1rem; }
  .contact-intro h1 { font-size: clamp(3.2rem, 15vw, 4.8rem); }
  .contact-form-wrap button { min-height: 3.25rem; border: 2px solid var(--ink); }

  .essentials-hero { min-height: 34rem; }
  .essentials-hero-overlay { right: 1rem; bottom: 1.5rem; left: 1rem; }
  .essentials-hero-overlay h1 { font-size: clamp(3.25rem, 16vw, 4.8rem); }
  .essentials-intro,
  .essentials-principles,
  .essentials-craft,
  .alpaca-life { padding: 3.75rem .65rem; }
  .essentials-intro-copy h2,
  .essentials-principles > header h2,
  .essentials-craft-copy h2,
  .puno-copy h2,
  .alpaca-life > header h2 { font-size: clamp(2.6rem, 12vw, 3.7rem); }
  .essentials-intro-images {
    display: flex;
    gap: .6rem;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
  }
  .essentials-intro-images img {
    flex: 0 0 84vw;
    height: 27rem;
    scroll-snap-align: center;
  }
  .essentials-craft-images img { height: 22rem; }
  .altiplano-landscape { min-height: 30rem; }
  .alpaca-life-grid {
    display: flex;
    gap: .6rem;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
  }
  .alpaca-life-grid img {
    flex: 0 0 84vw;
    height: 27rem;
    scroll-snap-align: center;
  }
}

@media (max-width: 380px) {
  .brand-logo { width: 5rem; }
  .bag-link { font-size: .7rem; }
  .menu-toggle { min-width: 2.9rem; font-size: .66rem; }
  .product-grid,
  .children-grid,
  .adult-product-grid { gap-inline: .5rem; }
  .product-copy h3,
  .children-grid .product-copy h3,
  .adult-product-meta b { font-size: .94rem; }
  .impact-mark strong { max-width: 6.3rem; font-size: .59rem; }
}

@media (prefers-reduced-motion: reduce) {
  .hero-track { transition: none; }
}

@media (max-width: 480px) {
  .product-grid { grid-template-columns: 1fr; }
  .category-card { min-height: 27rem; }
  .category-copy { grid-template-columns: auto 1fr; }
  .category-copy em { display: none; }
  .site-footer { grid-template-columns: 1fr; }
  .footer-brand, .footer-bottom { grid-column: auto; }
  .footer-bottom { gap: 1rem; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { transition-duration: .01ms !important; }
}

/* Social impact page */
.social-impact-page, .social-impact-page h1, .social-impact-page h2, .social-impact-page p, .social-impact-page a { font-family: var(--sans); }
.social-hero { position: relative; min-height: min(50rem, calc(100vh - 7.2rem)); overflow: hidden; color: var(--white); background: var(--mineral-deep); }
.social-hero::after { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(16,20,18,.08), rgba(16,20,18,.68)); content: ""; }
.social-hero-split { position: absolute; inset: 0; }
.social-hero-split::after { position: absolute; top: -8%; left: 50%; width: 4px; height: 116%; background: rgba(255,255,255,.9); content: ""; transform: rotate(10deg); }
.social-hero-split img { position: absolute; top: 0; height: 100%; object-fit: cover; }
.social-hero-left { left: 0; width: 55%; object-position: center 40%; clip-path: polygon(0 0,100% 0,83% 100%,0 100%); }
.social-hero-right { right: 0; width: 55%; object-position: center 48%; clip-path: polygon(17% 0,100% 0,100% 100%,0 100%); }
.social-hero-copy { position: absolute; right: 5vw; bottom: 4rem; left: 5vw; z-index: 2; }
.social-hero-copy p { margin: 0 0 1rem; font-size: .76rem; font-weight: 700; letter-spacing: .18em; text-transform: uppercase; }
.social-hero-copy h1 { max-width: 11ch; margin: 0; font-size: clamp(3.5rem, 7vw, 7.8rem); font-weight: 500; letter-spacing: -.055em; line-height: .88; }
.social-intro { display: grid; grid-template-columns: .5fr 1.25fr 1fr; gap: 3rem; align-items: start; padding: clamp(5rem, 9vw, 9rem) 6vw; background: var(--paper); }
.social-kicker { margin: .45rem 0 0; font-size: .72rem; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; }
.social-intro h2 { margin: 0; font-size: clamp(2.8rem, 5vw, 5.3rem); font-weight: 500; letter-spacing: -.05em; line-height: .92; }
.social-intro > p:last-child { max-width: 34rem; margin: .4rem 0 0; color: #4c504b; font-size: 1.05rem; line-height: 1.7; }
.social-pillars { display: grid; grid-template-columns: repeat(3,1fr); background: var(--white); border-top: 1px solid var(--line); }
.social-pillars article { min-height: 23rem; padding: 3rem; border-right: 1px solid var(--line); }
.social-pillars article:last-child { border-right: 0; }
.social-pillars span { color: var(--hays-russet); font-size: .72rem; font-weight: 700; letter-spacing: .14em; }
.social-pillars h2 { max-width: 12ch; margin: 6rem 0 1.2rem; font-size: clamp(1.7rem,2.6vw,2.8rem); font-weight: 500; letter-spacing: -.035em; line-height: 1; }
.social-pillars p { max-width: 24rem; margin: 0; color: var(--muted); }
.social-closing { display: grid; justify-items: center; gap: 2.5rem; padding: clamp(5rem,9vw,9rem) 1.5rem; text-align: center; background: var(--sillar); }
.impact-mark-dark { color: var(--ink); }
.social-closing > p { margin: 0; font-size: clamp(2rem,4vw,4.5rem); font-weight: 500; letter-spacing: -.045em; }
.social-closing > a { padding-bottom: .35rem; font-size: .76rem; font-weight: 700; letter-spacing: .11em; text-transform: uppercase; border-bottom: 1px solid currentColor; }
.social-closing > a span { margin-left: 1.2rem; }
@media (max-width: 980px) {
  .social-intro { grid-template-columns: 1fr 1.5fr; }
  .social-intro > p:last-child { grid-column: 2; }
}
@media (max-width: 720px) {
  .social-hero { min-height: 42rem; }
  .social-hero-split::after { left: 50%; transform: rotate(7deg); }
  .social-hero-left, .social-hero-right { width: 58%; }
  .social-hero-left { object-position: 54% center; clip-path: polygon(0 0,100% 0,78% 100%,0 100%); }
  .social-hero-right { object-position: 48% center; clip-path: polygon(22% 0,100% 0,100% 100%,0 100%); }
  .social-hero-copy { right: 1.2rem; bottom: 2rem; left: 1.2rem; }
  .social-hero-copy h1 { font-size: clamp(3rem,14vw,5rem); }
  .social-intro { grid-template-columns: 1fr; gap: 1.5rem; padding: 4.5rem 1.2rem; }
  .social-intro > p:last-child { grid-column: auto; }
  .social-pillars { grid-template-columns: 1fr; }
  .social-pillars article { min-height: 0; padding: 2.5rem 1.2rem; border-right: 0; border-bottom: 1px solid var(--line); }
  .social-pillars h2 { margin: 3rem 0 1rem; }
}
/* Children collection and individual product pages */
.site-header{grid-template-columns:9rem 1fr auto;gap:1.2rem}.bag-link{font-size:.875rem;white-space:nowrap}.shop-main{max-width:1600px;margin:auto;padding:2rem 4vw 5rem}.breadcrumbs{font-size:.875rem;color:var(--muted);margin:0 0 2.5rem}.breadcrumbs a:hover,.text-link:hover{text-decoration:underline}.shop-heading{display:flex;align-items:end;justify-content:space-between;margin-bottom:2rem}.shop-heading h1,.piece-info h1{font-family:var(--serif);font-weight:400;font-size:clamp(2.5rem,5vw,4.5rem);line-height:1.08;margin:.5rem 0 1rem}.shop-heading .eyebrow{font-size:.875rem}.children-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:2.5rem 1.3rem}.catalog-image{border-radius:0;background:#eeeae4;aspect-ratio:4/5}.catalog-image img{padding:2rem;object-fit:contain}.children-grid .product-copy h3{font-size:1.4rem}.children-grid .product-copy p{font-size:.875rem}.piece-layout{display:grid;grid-template-columns:1.2fr 1fr;gap:6vw}.piece-photo{background:#eeeae4;aspect-ratio:1/1.06;display:grid;place-items:center;padding:3rem}.piece-photo img{height:100%;max-height:650px;object-fit:contain;min-height:0}.gallery-thumbs{display:flex;gap:.75rem;margin-top:1rem}.gallery-thumb{width:90px;height:100px;background:#eeeae4;border:1px solid transparent;padding:.5rem;cursor:pointer}.gallery-thumb img{height:100%;object-fit:contain}.gallery-thumb[aria-pressed=true]{border-color:var(--ink)}.piece-info{padding:1rem 0;max-width:540px}.piece-info .eyebrow{font-size:.875rem}.price-note{margin:2rem 0;font-weight:600}.piece-info form{display:grid;gap:.75rem}.piece-info select,.piece-info input,.bag-item input{font:inherit;padding:.8rem;border:1px solid #a4a49e;background:white;border-radius:0;max-width:100%}.piece-info input{width:100px}.shop-button{display:block;text-align:center;background:var(--benzol);color:white;border:0;padding:1rem 1.3rem;cursor:pointer;font:inherit;margin-top:.5rem}.text-link{text-decoration:underline;text-underline-offset:4px;display:inline-block;font-size:.875rem}.muted{color:var(--muted);font-size:.875rem}.piece-info details{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:1rem 0;margin:2rem 0}.piece-info summary{cursor:pointer}.piece-info #add-status:empty{display:none}.piece-info #add-status{margin:0;color:var(--mineral-deep)}.bag-item{display:grid;grid-template-columns:160px 1fr;gap:2rem;padding:1.5rem 0;border-top:1px solid var(--line)}.bag-item img{height:180px;object-fit:contain;background:#eeeae4;padding:1rem}.bag-item h2{font-family:var(--serif);font-weight:400;margin:0}.bag-item input{width:85px;margin-left:.75rem}.remove-item{background:none;border:0;text-decoration:underline;cursor:pointer;margin-left:1rem}.bag-item p{font-size:.875rem}.empty-bag{padding:2rem 0}#cart-summary{max-width:520px;margin:2rem 0}#cart-summary p{font-size:.875rem}button:focus-visible,a:focus-visible,select:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid var(--mineral-deep);outline-offset:4px}
.collection-banner{position:relative;height:clamp(18rem,27vw,24rem);margin:0 0 2rem;overflow:hidden;color:var(--white);background:var(--mineral-deep);border-radius:1.5rem}.collection-banner>img,.collection-banner-split{position:absolute;inset:0;width:100%;height:100%}.collection-banner>img{object-fit:cover;object-position:center 44%}.collection-banner::after{position:absolute;inset:0;background:linear-gradient(90deg,rgba(18,22,20,.65),rgba(18,22,20,.04) 65%),linear-gradient(0deg,rgba(18,22,20,.38),transparent 55%);content:""}.collection-banner-copy{position:absolute;right:clamp(1.5rem,4vw,4rem);bottom:clamp(1.5rem,3.2vw,3rem);left:clamp(1.5rem,4vw,4rem);z-index:2;display:grid;gap:.55rem}.collection-banner-copy p{margin:0;font-size:.72rem;font-weight:700;letter-spacing:.17em;text-transform:uppercase}.collection-banner-copy strong{max-width:14ch;font-family:var(--serif);font-size:clamp(2.7rem,5vw,5.5rem);font-weight:400;letter-spacing:-.045em;line-height:.9}.collection-banner-split{display:grid;grid-template-columns:1fr 1fr}.collection-banner-split img{width:100%;height:100%;object-fit:cover}.collection-banner-split img:first-child{object-position:center 24%}.collection-banner-split img:last-child{object-position:center 25%}.collection-banner-adults::after{background:linear-gradient(90deg,rgba(18,22,20,.66),rgba(18,22,20,.12) 60%,rgba(18,22,20,.28))}.collection-banner-adults{margin-bottom:clamp(3rem,5vw,5rem)}
@media(max-width:980px){.site-header{grid-template-columns:1fr auto auto}.menu-toggle{grid-column:3;grid-row:1}.bag-link{grid-column:2;grid-row:1}.children-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.piece-layout{gap:3vw}.piece-photo{padding:1.5rem}}
@media(max-width:720px){.piece-layout{grid-template-columns:1fr}.shop-main{padding:1rem .75rem 3rem}.collection-banner{height:15rem;margin-bottom:1.35rem;border-radius:1.15rem}.collection-banner-copy{right:1.2rem;bottom:1.3rem;left:1.2rem}.collection-banner-copy strong{font-size:clamp(2.35rem,11vw,3.4rem)}.collection-banner-split img:first-child{object-position:58% 22%}.collection-banner-split img:last-child{object-position:48% 20%}.piece-info{max-width:none}.catalog-image img{padding:1rem}.children-grid{gap:2rem .75rem}.children-grid .product-copy h3{font-size:1.15rem}.breadcrumbs{margin-bottom:1.5rem}.bag-item{grid-template-columns:100px 1fr;gap:1rem}.bag-item img{height:130px}.bag-item h2{font-size:1.25rem}.remove-item{margin:.75rem 0;display:block}.piece-photo{aspect-ratio:1/1}.shop-heading h1{font-size:3rem}}

.catalog-primary-image,.catalog-hover-image,.adult-product-primary,.adult-product-alt{transition:opacity 260ms ease,transform 420ms ease}.catalog-hover-image,.adult-product-alt{opacity:0}
@media (hover:hover) and (pointer:fine){.children-grid .product-card:hover .catalog-primary-image,.children-grid .catalog-image:focus-visible .catalog-primary-image,.adult-product-open:hover .adult-product-primary,.adult-product-open:focus-visible .adult-product-primary{opacity:0}.children-grid .product-card:hover .catalog-hover-image,.children-grid .catalog-image:focus-visible .catalog-hover-image,.adult-product-open:hover .adult-product-alt,.adult-product-open:focus-visible .adult-product-alt{opacity:1}.children-grid .product-card:hover .catalog-hover-image,.adult-product-open:hover .adult-product-alt{transform:scale(1.018)}}
@media (prefers-reduced-motion:reduce){.catalog-primary-image,.catalog-hover-image,.adult-product-primary,.adult-product-alt{transition:none}}

/* Product specifications and care */
.product-specs{margin:1rem 0 0}.product-specs div{display:grid;grid-template-columns:7.25rem 1fr;gap:1rem;padding:.65rem 0;border-top:1px solid var(--line)}.product-specs dt{color:var(--muted);font-size:.78rem}.product-specs dd{margin:0;font-size:.84rem}.care-guide{margin:2.4rem 0 2rem}.care-kicker{margin:0 0 1.2rem;font-size:.72rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase}.care-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.35rem .8rem}.care-item{display:grid;justify-items:center;align-content:start;gap:.65rem;text-align:center;font-size:.72rem;line-height:1.3}.care-symbol{display:grid;width:4.2rem;height:4.2rem;place-items:center;color:var(--dark-citrine);border:1px solid var(--dark-citrine);border-radius:50%}.care-symbol svg{width:2.15rem;height:2.15rem;fill:none;stroke:currentColor;stroke-width:1.35;stroke-linecap:round;stroke-linejoin:round}.back-to-children{margin-top:.8rem}
.piece-photo{position:relative;overflow:hidden;cursor:zoom-in}.piece-photo #main-photo{transition:transform 520ms cubic-bezier(.2,.7,.2,1);will-change:transform}.piece-photo:hover #main-photo{transform:scale(1.32)!important}.product-photo-nav{position:absolute;top:50%;z-index:3;display:grid;width:2.75rem;height:3.5rem;padding:0;place-items:center;color:var(--ink);background:transparent;border:0;border-radius:0;box-shadow:none;cursor:pointer;font-size:1.9rem;line-height:1;transform:translateY(-50%);transition:color 180ms ease,transform 180ms ease}.product-photo-prev{left:.75rem}.product-photo-next{right:.75rem}.product-photo-nav:hover,.product-photo-nav:focus-visible{color:var(--benzol);background:transparent;transform:translateY(-50%) scale(1.08)}.adult-piece-cta{display:flex;align-items:center;justify-content:space-between;margin:1.5rem 0;padding:1rem 1.2rem;color:var(--white);background:var(--benzol);font-size:.82rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.adult-piece-cta:hover{background:var(--mineral-deep)}
@media (prefers-reduced-motion:reduce){.piece-photo #main-photo,.product-photo-nav{transition:none}}
@media (hover:none){.piece-photo:hover #main-photo{transform:none!important}}
@media(max-width:720px){.product-specs div{grid-template-columns:6.2rem 1fr}.care-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.4rem .7rem}.care-symbol{width:4rem;height:4rem}}
@media(max-width:720px){.product-photo-nav{width:2.5rem;height:3rem;font-size:1.65rem}.product-photo-prev{left:.5rem}.product-photo-next{right:.5rem}}

/* Adult collection */
.adult-main { padding: 2rem 3vw clamp(5rem,8vw,8rem); background: var(--paper); }
.adult-heading { display: grid; grid-template-columns: .55fr 1.3fr 1fr; gap: 3rem; align-items: end; margin: 0 1vw 4rem; }
.adult-heading h1 { margin: 0; font-family: var(--serif); font-size: clamp(3.2rem,6.5vw,7rem); font-weight: 400; letter-spacing: -.055em; line-height: .88; }
.adult-heading > p:last-child { max-width: 34rem; margin: 0; color: var(--muted); font-size: 1.05rem; line-height: 1.7; }
.adult-product-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 3rem 1.15rem; }
.adult-product-card { min-width: 0; }
.adult-product-open { display: block; width: 100%; padding: 0; text-align: left; background: transparent; border: 0; cursor: pointer; }
.adult-product-visual { position: relative; display: grid; aspect-ratio: 4/5; overflow: hidden; place-items: center; background: #eeeae4; border-radius: 1.4rem; }
.adult-product-visual img { position: absolute; inset: 0; width: 100%; height: 100%; padding: clamp(1.2rem,2.5vw,2.6rem); object-fit: contain; transition: opacity 260ms ease, transform 420ms ease; }
.adult-product-open:hover .adult-product-visual img { transform: scale(1.025); }
.adult-product-visual small { position: absolute; top: 1rem; right: 1rem; padding: .45rem .68rem; background: rgba(255,255,255,.82); border-radius: 999px; font-size: .68rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; backdrop-filter: blur(8px); }
.adult-product-meta { display: flex; align-items: end; justify-content: space-between; gap: 1rem; padding: 1rem .15rem 0; }
.adult-product-meta > span { display: grid; gap: .18rem; }
.adult-product-meta b { font-family: var(--serif); font-size: clamp(1.35rem,2vw,2rem); font-weight: 400; line-height: 1.05; }
.adult-product-meta em { color: var(--muted); font-size: .76rem; font-style: normal; }
.adult-product-meta i { flex: 0 0 auto; padding-bottom: .15rem; font-size: .7rem; font-style: normal; font-weight: 700; letter-spacing: .05em; text-transform: uppercase; }
.adult-product-dialog { width: min(72rem,calc(100% - 2rem)); max-height: calc(100dvh - 2rem); padding: 0; overflow: auto; color: var(--ink); background: var(--paper); border: 0; border-radius: 1.5rem; box-shadow: 0 2rem 6rem rgba(24,27,25,.35); }
.adult-product-dialog::backdrop { background: rgba(24,27,25,.7); backdrop-filter: blur(6px); }
.adult-dialog-close { position: absolute; top: 1rem; right: 1rem; z-index: 4; display: grid; width: 2.8rem; height: 2.8rem; place-items: center; background: rgba(255,255,255,.9); border: 1px solid var(--line); border-radius: 50%; font-size: 1.4rem; cursor: pointer; }
.adult-dialog-grid { display: grid; grid-template-columns: 1.15fr .85fr; min-height: 42rem; }
.adult-dialog-gallery { padding: 1.2rem; background: #e9e4dc; }
.adult-dialog-stage { display: grid; min-height: 34rem; height: calc(100% - 7.2rem); padding: 2rem; place-items: center; background: #eeeae4; border-radius: 1rem; }
.adult-dialog-stage img { width: 100%; height: 100%; max-height: 38rem; object-fit: contain; }
.adult-dialog-thumbs { display: flex; gap: .65rem; margin-top: .8rem; overflow-x: auto; }
.adult-dialog-thumbs button { flex: 0 0 5.5rem; width: 5.5rem; height: 6rem; padding: .35rem; background: #eeeae4; border: 1px solid transparent; border-radius: .6rem; cursor: pointer; }
.adult-dialog-thumbs button[aria-pressed="true"] { border-color: var(--ink); }
.adult-dialog-thumbs img { width: 100%; height: 100%; object-fit: contain; }
.adult-dialog-copy { align-self: center; padding: clamp(2.5rem,5vw,5rem); }
.adult-dialog-copy h2 { margin: 0 0 1.2rem; font-family: var(--serif); font-size: clamp(2.8rem,5vw,5rem); font-weight: 400; letter-spacing: -.045em; line-height: .9; }
.adult-dialog-copy > p:not(.eyebrow) { margin: 0; color: var(--muted); line-height: 1.7; }
.adult-dialog-copy dl { margin: 2rem 0; border-top: 1px solid var(--line); }
.adult-dialog-copy dl div { display: grid; grid-template-columns: 6.5rem 1fr; gap: 1rem; padding: .8rem 0; border-bottom: 1px solid var(--line); }
.adult-dialog-copy dt { color: var(--muted); font-size: .82rem; }
.adult-dialog-copy dd { margin: 0; font-size: .86rem; }
.adult-dialog-enquiry { display: flex; align-items: center; justify-content: space-between; padding: 1rem 1.15rem; color: var(--white); background: var(--benzol); border-radius: 999px; font-size: .78rem; font-weight: 700; letter-spacing: .05em; text-transform: uppercase; }

/* Contact form */
.contact-page { display: grid; grid-template-columns: .9fr 1.1fr; min-height: calc(100vh - 7.2rem); background: var(--paper); }
.contact-intro { display: flex; flex-direction: column; justify-content: center; padding: clamp(4rem,8vw,8rem) 7vw; color: var(--ink); background: var(--sulphur-yellow); }
.contact-intro h1 { max-width: 9ch; margin: 0 0 2rem; font-family: var(--serif); font-size: clamp(3.5rem,7vw,7.5rem); font-weight: 400; letter-spacing: -.055em; line-height: .88; }
.contact-intro > p:not(.eyebrow) { max-width: 34rem; margin: 0 0 2rem; font-size: 1.05rem; line-height: 1.7; }
.contact-intro > a { align-self: flex-start; border-bottom: 1px solid currentColor; }
.contact-form-wrap { align-self: center; width: min(42rem,100%); padding: clamp(4rem,8vw,8rem) 7vw; }
.contact-form-wrap h2 { margin: 0 0 2rem; font-family: var(--serif); font-size: clamp(2.5rem,4vw,4.5rem); font-weight: 400; }
.contact-form-wrap form { display: grid; gap: 1.2rem; }
.contact-form-wrap label { display: grid; gap: .5rem; font-size: .75rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.contact-form-wrap input, .contact-form-wrap textarea { width: 100%; padding: .9rem 0; color: var(--ink); background: transparent; border: 0; border-bottom: 1px solid rgba(38,40,37,.34); border-radius: 0; font: 1rem var(--sans); resize: vertical; }
.contact-form-wrap button { display: flex; justify-content: space-between; margin-top: .8rem; padding: 1rem 1.2rem; color: var(--ink); background: var(--pale-lemon); border: 0; border-radius: 999px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; cursor: pointer; }
@media(max-width:980px){.adult-heading{grid-template-columns:1fr 1.7fr}.adult-heading>p:last-child{grid-column:2}.adult-product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.adult-dialog-grid{grid-template-columns:1fr}.adult-dialog-stage{height:34rem}.contact-page{grid-template-columns:1fr}.contact-form-wrap{width:100%}}
@media(max-width:720px){.adult-main{padding:1rem .75rem 4rem}.adult-heading{grid-template-columns:1fr;gap:1.5rem;margin-inline:.45rem}.adult-heading>p:last-child{grid-column:auto}.adult-product-grid{grid-template-columns:1fr;gap:2.5rem}.adult-product-visual{border-radius:1.2rem}.adult-dialog-gallery{padding:.7rem}.adult-dialog-stage{min-height:24rem;height:24rem;padding:1rem}.adult-dialog-copy{padding:2.25rem 1.35rem}.adult-dialog-copy h2{font-size:3rem}.contact-intro,.contact-form-wrap{padding:4.5rem 1.2rem}}

/* Our Essentials */
.essentials-page, .essentials-page h1, .essentials-page h2, .essentials-page h3, .essentials-page p, .essentials-page a { font-family: var(--sans); }
.essentials-hero { position: relative; min-height: min(52rem, calc(100vh - 7.2rem)); overflow: hidden; color: var(--white); background: var(--mineral-deep); }
.essentials-hero > img { position: absolute; inset: 0; height: 100%; object-fit: cover; object-position: center 52%; }
.essentials-hero::after { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(18,22,20,.62), rgba(18,22,20,.08) 64%), linear-gradient(0deg, rgba(18,22,20,.5), transparent 46%); content: ""; }
.essentials-hero-overlay { position: absolute; right: 6vw; bottom: 4.5rem; left: 6vw; z-index: 2; }
.essentials-hero-overlay > p, .essentials-kicker { margin: 0 0 1rem; font-size: .72rem; font-weight: 700; letter-spacing: .18em; text-transform: uppercase; }
.essentials-hero-overlay h1 { margin: 0; font-size: clamp(4rem, 9vw, 9.5rem); font-weight: 500; letter-spacing: -.065em; line-height: .82; }
.essentials-hero-overlay strong { display: block; max-width: 46rem; margin-top: 2.5rem; font-size: clamp(1rem,1.5vw,1.35rem); font-weight: 400; line-height: 1.6; }
.essentials-intro { padding: clamp(5rem,9vw,9rem) 4vw; background: var(--paper); }
.essentials-intro-copy { display: grid; grid-template-columns: .65fr 1.2fr 1fr; gap: 3rem; align-items: start; margin: 0 2vw clamp(4rem,7vw,7rem); }
.essentials-intro-copy h2, .essentials-principles > header h2, .essentials-craft-copy h2, .puno-copy h2, .alpaca-life > header h2 { margin: 0; font-size: clamp(2.8rem,5vw,5.8rem); font-weight: 500; letter-spacing: -.055em; line-height: .9; }
.essentials-intro-copy > p:last-child, .essentials-craft-copy > p, .puno-copy > p, .alpaca-life > header > p:last-child { margin: .25rem 0 0; color: #4c504b; font-size: 1.05rem; line-height: 1.75; }
.essentials-intro-images { display: grid; grid-template-columns: 1.2fr .8fr; gap: 1rem; }
.essentials-intro-images img { height: clamp(31rem,48vw,47rem); object-fit: cover; border-radius: 1.5rem; }
.essentials-intro-images img:first-child { object-position: center; }
.essentials-intro-images img:last-child { object-position: 58% center; }
.essentials-principles { padding: clamp(5rem,8vw,8rem) 4vw; background: var(--white); }
.essentials-principles > header { display: grid; grid-template-columns: .65fr 2.2fr; gap: 3rem; margin: 0 2vw 4rem; }
.essentials-principles > header h2 { max-width: 13ch; }
.essentials-seal-grid { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.essentials-seal-grid article { min-width: 0; padding: 2.2rem 1.5rem 2.5rem; border-right: 1px solid var(--line); }
.essentials-seal-grid article:last-child { border-right: 0; }
.essentials-seal-grid img { width: 100%; height: 12rem; object-fit: contain; }
.essentials-seal-grid h3 { margin: 1.8rem 0 .8rem; font-size: 1.15rem; font-weight: 600; letter-spacing: -.02em; }
.essentials-seal-grid p { margin: 0; color: var(--muted); font-size: .9rem; line-height: 1.65; }
.essentials-craft { display: grid; grid-template-columns: 1.25fr .75fr; gap: clamp(3rem,7vw,8rem); align-items: center; padding: clamp(5rem,9vw,9rem) 5vw; background: var(--sillar); }
.essentials-craft-images { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
.essentials-craft-images img { height: clamp(31rem,48vw,48rem); object-fit: cover; border-radius: 1.5rem; }
.essentials-craft-images img:first-child { margin-top: 5rem; object-position: center; }
.essentials-craft-copy h2 { margin-bottom: 2rem; }
.essentials-craft-copy > p { margin-bottom: 1.2rem; }
.puno-origin { display: grid; grid-template-columns: 1.15fr .85fr; gap: 8vw; align-items: center; padding: clamp(5rem,9vw,9rem) 9vw; background: var(--paper); }
.puno-copy h2 { max-width: 10ch; margin-bottom: 2rem; }
.puno-copy > p { max-width: 39rem; margin-bottom: 1.2rem; }
.puno-map { justify-self: center; margin: 0; padding: 2.5rem; background: var(--white); border-radius: 1.5rem; box-shadow: 0 1rem 4rem rgba(38,40,37,.1); }
.puno-map img { width: min(24rem,65vw); max-height: 31rem; object-fit: contain; }
.puno-map figcaption { margin-top: 1rem; color: var(--muted); font-size: .75rem; text-align: center; }
.altiplano-landscape { position: relative; min-height: clamp(34rem,62vw,54rem); overflow: hidden; color: var(--white); }
.altiplano-landscape::after { position: absolute; inset: 0; background: linear-gradient(180deg, transparent 38%, rgba(17,25,18,.7)); content: ""; }
.altiplano-landscape > img { position: absolute; inset: 0; height: 100%; object-fit: cover; }
.altiplano-landscape > div { position: absolute; right: 5vw; bottom: 4rem; left: 5vw; z-index: 2; }
.altiplano-landscape p { margin: 0 0 1rem; font-size: .72rem; font-weight: 700; letter-spacing: .19em; }
.altiplano-landscape h2 { margin: 0; font-size: clamp(3.2rem,7vw,7.5rem); font-weight: 500; letter-spacing: -.055em; line-height: .88; }
.alpaca-life { padding: clamp(5rem,9vw,9rem) 4vw; background: var(--paper); }
.alpaca-life > header { display: grid; grid-template-columns: .55fr 1.15fr 1fr; gap: 3rem; margin: 0 2vw 4rem; }
.alpaca-life-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
.alpaca-life-grid img { height: clamp(27rem,43vw,43rem); object-fit: cover; border-radius: 1.5rem; }
.essentials-closing { position: relative; isolation: isolate; display: grid; justify-items: center; gap: 2.5rem; padding: clamp(5rem,9vw,9rem) 1.5rem; overflow: hidden; color: var(--white); text-align: center; background: var(--benzol); }
.essentials-closing::before,.essentials-closing::after { position: absolute; right: 0; left: 0; z-index: -1; height: clamp(4rem,7vw,7rem); background: var(--pale-lemon); content: ""; opacity: .18; pointer-events: none; -webkit-mask-image: url('/assets/brand/andean-linework-pattern.png'); mask-image: url('/assets/brand/andean-linework-pattern.png'); -webkit-mask-repeat: repeat-x; mask-repeat: repeat-x; -webkit-mask-size: clamp(30rem,50vw,48rem) auto; mask-size: clamp(30rem,50vw,48rem) auto; }
.essentials-closing::before { top: .75rem; -webkit-mask-position: center 15%; mask-position: center 15%; }
.essentials-closing::after { bottom: .75rem; opacity: .12; -webkit-mask-position: center 72%; mask-position: center 72%; transform: scaleY(-1); }
.essentials-closing p { margin: 0; font-size: clamp(2.7rem,6vw,6.8rem); font-weight: 500; letter-spacing: -.055em; line-height: .9; }
.essentials-closing a { padding-bottom: .35rem; font-size: .76rem; font-weight: 700; letter-spacing: .11em; text-transform: uppercase; border-bottom: 1px solid currentColor; }
.essentials-closing a span { margin-left: 1.2rem; }
@media (max-width: 980px) {
  .essentials-intro-copy, .alpaca-life > header { grid-template-columns: 1fr 1.5fr; }
  .essentials-intro-copy > p:last-child, .alpaca-life > header > p:last-child { grid-column: 2; }
  .essentials-seal-grid { grid-template-columns: repeat(2,1fr); }
  .essentials-seal-grid article { border-bottom: 1px solid var(--line); }
  .essentials-seal-grid article:nth-child(even) { border-right: 0; }
  .essentials-seal-grid article:last-child { grid-column: 1 / -1; }
  .essentials-craft { grid-template-columns: 1fr; }
  .essentials-craft-copy { max-width: 44rem; }
}
@media (max-width: 720px) {
  .essentials-hero { min-height: 42rem; }
  .essentials-hero > img { object-position: 44% center; }
  .essentials-hero::after { background: linear-gradient(0deg, rgba(18,22,20,.72), rgba(18,22,20,.06) 70%); }
  .essentials-hero-overlay { right: 1.2rem; bottom: 2rem; left: 1.2rem; }
  .essentials-hero-overlay h1 { font-size: clamp(3.7rem,18vw,5.5rem); }
  .essentials-hero-overlay strong { margin-top: 1.6rem; font-size: .96rem; line-height: 1.55; }
  .essentials-intro { padding: 4.5rem .75rem; }
  .essentials-intro-copy, .essentials-principles > header, .alpaca-life > header { grid-template-columns: 1fr; gap: 1.5rem; margin-inline: .45rem; }
  .essentials-intro-copy > p:last-child, .alpaca-life > header > p:last-child { grid-column: auto; }
  .essentials-intro-images { grid-template-columns: 1fr; }
  .essentials-intro-images img { height: 30rem; border-radius: 1.2rem; }
  .essentials-principles { padding: 4.5rem .75rem; }
  .essentials-seal-grid { grid-template-columns: 1fr; }
  .essentials-seal-grid article, .essentials-seal-grid article:nth-child(even) { display: grid; grid-template-columns: 8rem 1fr; column-gap: 1.2rem; align-items: center; padding: 1.4rem .75rem; border-right: 0; }
  .essentials-seal-grid article:last-child { grid-column: auto; }
  .essentials-seal-grid img { grid-row: 1 / span 2; height: 8rem; }
  .essentials-seal-grid h3 { margin: 0 0 .5rem; }
  .essentials-craft { padding: 4.5rem .75rem; }
  .essentials-craft-images { gap: .6rem; }
  .essentials-craft-images img { height: 28rem; border-radius: 1.1rem; }
  .essentials-craft-images img:first-child { margin-top: 3rem; }
  .puno-origin { grid-template-columns: 1fr; gap: 3rem; padding: 4.5rem 1.2rem; }
  .puno-map { padding: 1.5rem; }
  .altiplano-landscape { min-height: 38rem; }
  .altiplano-landscape > img { object-position: 52% center; }
  .altiplano-landscape > div { right: 1.2rem; bottom: 2rem; left: 1.2rem; }
  .alpaca-life { padding: 4.5rem .75rem; }
  .alpaca-life-grid { grid-template-columns: 1fr; }
  .alpaca-life-grid img { height: 30rem; border-radius: 1.2rem; }
}

/* Keep the mobile refinement authoritative across every route. */
@media (max-width: 720px) {
  .shop-main,
  .adult-main { padding: .65rem .65rem 3.5rem; }
  .product-grid,
  .children-grid,
  .adult-product-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 2rem .65rem; }
  .adult-heading { grid-template-columns: 1fr; gap: .9rem; margin: 0 .25rem 2rem; }
  .adult-heading > p:last-child { grid-column: auto; font-size: .94rem; line-height: 1.55; }
  .adult-product-visual { border-radius: .9rem; }
  .adult-dialog-gallery { padding: .5rem; }
  .adult-dialog-stage { min-height: 20rem; height: min(62vh, 24rem); padding: 1rem; }
  .adult-dialog-copy { padding: 2rem 1rem; }
  .adult-dialog-copy h2 { font-size: 2.7rem; }
  .contact-intro,
  .contact-form-wrap { padding: 3.5rem 1rem; }
  .essentials-hero { min-height: 34rem; }
  .essentials-hero-overlay { right: 1rem; bottom: 1.5rem; left: 1rem; }
  .essentials-hero-overlay h1 { font-size: clamp(3.25rem, 16vw, 4.8rem); }
  .essentials-intro,
  .essentials-principles,
  .essentials-craft,
  .alpaca-life { padding: 3.75rem .65rem; }
  .essentials-intro-copy h2,
  .essentials-principles > header h2,
  .essentials-craft-copy h2,
  .puno-copy h2,
  .alpaca-life > header h2 { font-size: clamp(2.6rem, 12vw, 3.7rem); }
  .essentials-intro-images { display: flex; gap: .6rem; overflow-x: auto; scroll-snap-type: x mandatory; }
  .essentials-intro-images img { flex: 0 0 84vw; height: 27rem; scroll-snap-align: center; }
  .essentials-craft-images img { height: 22rem; }
  .altiplano-landscape { min-height: 30rem; }
  .alpaca-life-grid { display: flex; gap: .6rem; overflow-x: auto; scroll-snap-type: x mandatory; }
  .alpaca-life-grid img { flex: 0 0 84vw; height: 27rem; scroll-snap-align: center; }
}

@media (max-width: 480px) {
  .product-grid,
  .children-grid,
  .adult-product-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .category-card { min-height: 23rem; }
  .site-footer { grid-template-columns: 1.15fr .85fr; }
  .footer-brand,
  .footer-bottom { grid-column: 1 / -1; }
}

/* October product photography */
.october-product-card .catalog-image{background:#f7f5f0}.october-product-card .catalog-image img{padding:0}.october-product-gallery .piece-photo{background:#f7f5f0;padding:0;aspect-ratio:1}.october-product-gallery .piece-photo img{width:100%;height:100%;max-height:none}.october-product-gallery .gallery-thumbs{flex-wrap:wrap}.october-product-gallery .gallery-thumb{background:#f7f5f0;padding:0}

/* Consistent Children catalogue photography and grouping. */
.children-category { margin-block: 0 3.5rem; }
.children-category > h2 { font-family: var(--serif); font-size: clamp(1.8rem, 3vw, 2.4rem); font-weight: 400; margin: 0 0 1.3rem; padding-bottom: .7rem; border-bottom: 1px solid var(--line); }
.children-grid .catalog-image { background: #eeeae4; aspect-ratio: 4 / 5; box-shadow: none; border-radius: 0; }
.children-grid .catalog-image img { padding: 1.4rem; object-fit: contain; width: 100%; height: 100%; }
@media (max-width: 720px) {
  .children-category { margin-bottom: 2.5rem; }
  .children-category > h2 { font-size: 1.8rem; margin-bottom: 1rem; }
  .children-grid { gap: 1.5rem .65rem; }
  .children-grid .product-card { min-width: 0; }
  .children-grid .catalog-image img { padding: .65rem; }
  .children-grid .product-copy { padding: .7rem .15rem 0; }
  .children-grid .product-copy h3 { font-size: 1rem; line-height: 1.35; margin: 0 0 .3rem; overflow-wrap: anywhere; }
  .children-grid .product-copy p { font-size: .875rem; margin: 0; line-height: 1.45; }
  .children-grid .product-copy a { display: block; min-height: 3rem; }
  .children-category .children-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .shop-heading { align-items: center; gap: .5rem; margin-bottom: 1.5rem; }
  .shop-heading h1 { font-size: 2.6rem; }
  .gallery-thumbs { overflow-x: auto; max-width: 100%; }
  .gallery-thumb { flex-shrink: 0; }
}

/* One neutral photo backdrop on every product surface. */
:root { --product-backdrop: #eeeae4; }
.product-image,
.children-grid .catalog-image,
.october-product-card .catalog-image,
.adult-product-visual,
.piece-photo,
.october-product-gallery .piece-photo,
.gallery-thumb,
.october-product-gallery .gallery-thumb,
.adult-dialog-stage,
.adult-dialog-thumbs button,
.bag-item img {
  background-color: var(--product-backdrop);
  box-shadow: none;
  isolation: isolate;
}
.product-image img,
.catalog-image img,
.adult-product-visual img,
.piece-photo img,
.gallery-thumb img,
.adult-dialog-stage img,
.adult-dialog-thumbs img,
.bag-item img {
  mix-blend-mode: normal;
  background: transparent;
  box-shadow: none;
}
.bag-item > a:first-child { background-color: var(--product-backdrop); isolation: isolate; }

/* Product cutouts share the same stage and spacing on every angle. */
.october-product-gallery .piece-photo { background: var(--product-backdrop); padding: clamp(1rem, 3vw, 2rem); aspect-ratio: 1 / 1.06; }
.october-product-gallery .gallery-thumb { background: var(--product-backdrop); padding: .45rem; }
.october-product-gallery .gallery-thumb img { width: 100%; height: 100%; object-fit: contain; }
.october-product-gallery .gallery-thumbs { gap: .65rem; }
@media (max-width: 720px) {
  .october-product-gallery .piece-photo { padding: .9rem; }
  .october-product-gallery .gallery-thumb { width: 76px; height: 86px; }
}
