:root {
  --blue: #27397F;
  --blue-deep: #1c2a62;
  --blue-soft: #8d9fcf;
  --ink: #1b2340;
  --muted: #5c6684;
  --line: rgba(39, 57, 127, .16);
  --canvas: #f3f1ec;
  --night: #121a45;
  --gold: #D9A93D;
  --gold-soft: #F2CF7A;
  --red: #B5303B;
  --cream: #FBEACB;
  --white: #ffffff;
  --serif: "Cormorant Garamond", Garamond, Georgia, serif;
  --sans: "Jost", "Helvetica Neue", Arial, sans-serif;
  --ease: cubic-bezier(.2, .7, .1, 1);
  --gutter: clamp(20px, 5vw, 72px);
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }
body {
  margin: 0; background: #e4e6eb; color: var(--ink);
  font-family: var(--sans); font-weight: 400; font-size: 17px; line-height: 1.6;
  -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility;
  overflow-x: hidden;
}
body.is-gated { overflow: hidden; }
img, svg { display: block; max-width: 100%; }
[hidden] { display: none !important; }
a { color: inherit; }
ul { list-style: none; margin: 0; padding: 0; }
h1, h2, h3, p { margin: 0; }
.skip { position: absolute; left: -9999px; top: 8px; z-index: 100; background: var(--blue); color: #fff; padding: 8px 14px; }
.skip:focus { left: 8px; }
:focus-visible { outline: 2px solid var(--blue); outline-offset: 3px; }

/* ── type ─────────────────────────────── */
.eyebrow {
  font-family: var(--sans); font-weight: 500; font-size: 12px; letter-spacing: .32em;
  text-transform: uppercase; color: var(--blue); margin-bottom: 18px;
}
.display {
  font-family: var(--serif); font-weight: 300; color: var(--blue);
  font-size: clamp(44px, 6.2vw, 98px); line-height: .98; letter-spacing: -.01em;
}
.lead { font-size: clamp(16px, 1.25vw, 19px); color: var(--muted); font-weight: 400; max-width: 30em; }
.lead + .lead { margin-top: 14px; }
.rule { width: 64px; height: 1px; background: var(--blue); opacity: .5; margin: 30px 0 26px; }
.rule--center { margin-left: auto; margin-right: auto; }
.rule--gold { background: linear-gradient(90deg, var(--gold), var(--gold-soft)); opacity: 1; height: 2px; width: 72px; }
.lead--red { color: var(--red); font-family: var(--serif); font-style: italic; font-size: clamp(22px, 1.8vw, 28px); line-height: 1.3; }

/* studio backdrop behind the bottle (colors driven by scroll) */
.backdrop {
  position: fixed; inset: 0; z-index: 0; pointer-events: none;
  --bd-c: #f6f5f2; --bd-e: #c9cfda;
  background: radial-gradient(120% 90% at 50% 46%, var(--bd-c) 0%, var(--bd-e) 78%);
}
.backdrop::after { /* fine print-grain for a photographic finish */
  content: ""; position: absolute; inset: 0; opacity: .07; mix-blend-mode: multiply;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .1 0 0 0 0 .12 0 0 0 0 .2 0 0 0 .9 0'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23n)'/%3E%3C/svg%3E");
}

/* ── lockup (matches the label) ───────── */
.lockup { display: inline-flex; flex-direction: column; align-items: center; text-decoration: none; color: var(--blue); line-height: 1; }
.lockup__top { font-family: var(--serif); font-weight: 500; font-size: 26px; letter-spacing: .14em; text-transform: uppercase; padding-left: .14em; }
.lockup__sub { font-family: var(--sans); font-weight: 500; font-size: 9.5px; letter-spacing: .42em; text-transform: uppercase; margin-top: 6px; padding-left: .42em; }

/* ── header ───────────────────────────── */
.nav {
  position: fixed; inset: 0 0 auto 0; z-index: 20; height: 84px;
  display: grid; grid-template-columns: 1fr auto 1fr; align-items: center;
  padding: 0 var(--gutter);
  background: rgba(243,241,236,0);
  transition: background .5s var(--ease), color .5s var(--ease), box-shadow .5s var(--ease);
}
.nav.is-solid { background: rgba(243,241,236,.82); backdrop-filter: blur(10px) saturate(1.2); -webkit-backdrop-filter: blur(10px) saturate(1.2); box-shadow: 0 1px 0 rgba(39,57,127,.08); }
.nav.is-dark { background: rgba(18,26,69,.55); backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); box-shadow: 0 1px 0 rgba(242,207,122,.18); }
.nav.is-dark .lockup, .nav.is-dark .nav__side { color: var(--gold-soft); }
.nav__side { font-size: 11px; font-weight: 500; letter-spacing: .26em; text-transform: uppercase; color: var(--blue); text-decoration: none; }
.nav__right { justify-self: end; display: flex; align-items: center; gap: 26px; }
.nav__side--right { position: relative; }
.nav__ig { display: inline-flex; align-items: center; gap: 9px; color: var(--blue); text-decoration: none; font-size: 11px; font-weight: 500; letter-spacing: .14em; padding-left: 26px; border-left: 1px solid rgba(39,57,127,.2); transition: color .3s; }
.nav__ig svg { width: 20px; height: 20px; }
.nav__ig:hover { color: var(--red); }
.nav.is-dark .nav__ig { color: var(--gold-soft); border-left-color: rgba(242,207,122,.3); }
.nav__side--right::after { content: ""; position: absolute; left: 0; right: .26em; bottom: -6px; height: 1px; background: currentColor; transform: scaleX(0); transform-origin: left; transition: transform .4s var(--ease); }
.nav__side--right:hover::after { transform: scaleX(1); }

/* ── bottle canvas ────────────────────── */
.bottle-canvas { position: fixed; inset: 0; width: 100vw; height: 100vh; z-index: 5; pointer-events: none; transition: opacity .4s linear; }
.bottle-fallback { position: fixed; left: 50%; top: 50%; height: 78vh; width: auto; transform: translate(-50%, -46%); z-index: 5; pointer-events: none; }

/* ── panels ───────────────────────────── */
main { position: relative; }
.hero__line, .scroll-cue, .pure__stage, .copy { position: relative; z-index: 6; }
.panel { position: relative; min-height: 100vh; min-height: 100svh; padding: 120px var(--gutter) 80px; }
.hero { height: 100vh; height: 100svh; display: flex; flex-direction: column; justify-content: flex-end; align-items: center; padding-bottom: 34px; }
.hero__line {
  font-family: var(--sans); font-weight: 500; font-size: 11px; letter-spacing: .38em; text-transform: uppercase;
  color: var(--blue); display: flex; gap: 14px; align-items: center; margin-bottom: 22px;
}
.hero__line .dot { font-size: 8px; opacity: .6; }
.sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.scroll-cue { position: absolute !important; right: var(--gutter); bottom: 34px; display: flex; flex-direction: column; align-items: center; gap: 10px; color: var(--muted); font-size: 10px; letter-spacing: .3em; text-transform: uppercase; opacity: 0; animation: cue-in 1s 2.2s var(--ease) forwards; }
.scroll-cue i { width: 1px; height: 46px; background: linear-gradient(var(--blue), transparent); transform-origin: top; animation: cue 2.2s 2.6s ease-in-out infinite; }
@keyframes cue { 0% { transform: scaleY(0); opacity: 1; } 55% { transform: scaleY(1); opacity: 1; } 100% { transform: scaleY(1); opacity: 0; } }
@keyframes cue-in { to { opacity: 1; } }

/* front label */
.pure { min-height: 170vh; padding: 0 var(--gutter); }
.pure__stage { position: sticky; top: 0; height: 100vh; height: 100svh; display: grid; grid-template-columns: 1fr minmax(240px, 26vw) 1fr; grid-template-rows: auto 1fr; padding: 104px 0 6vh; }
.pure__head { grid-column: 1 / -1; text-align: center; }
.pure__head .eyebrow { margin-bottom: 10px; }
.pure__head .display { font-size: clamp(46px, 6.4vw, 104px); }
.pure__col { display: flex; flex-direction: column; justify-content: center; gap: 9vh; padding-top: 4vh; }
.pure__col--left { grid-column: 1; align-items: flex-end; text-align: right; }
.pure__col--right { grid-column: 3; align-items: flex-start; text-align: left; }
.feature { max-width: 300px; }
.feature__icon { width: 30px; height: 30px; fill: none; stroke: var(--blue); stroke-width: 2.2; stroke-linejoin: round; stroke-linecap: round; margin-bottom: 14px; }
.pure__col--left .feature__icon { margin-left: auto; }
.feature h3 { font-family: var(--serif); font-weight: 400; font-size: clamp(28px, 2.6vw, 40px); color: var(--blue); line-height: 1.05; }
.feature p { margin-top: 8px; font-size: 15px; color: var(--muted); letter-spacing: .02em; }

/* back label / origin copy columns */
.batch, .origin { min-height: 150vh; display: flex; align-items: flex-start; }
.copy { position: sticky; z-index: 6; top: 0; min-height: 100vh; display: flex; flex-direction: column; justify-content: center; padding: 120px 0 80px; max-width: 560px; }
.copy--right { margin-left: auto; margin-right: 4vw; }
.copy--left { margin-left: 4vw; }
.copy--center { margin: 0 auto; text-align: center; align-items: center; max-width: 720px; }

.origin { min-height: 175vh; overflow: hidden; overflow: clip; color: #fff; display: block; }
.origin { background: #101845; }
.origin__scene { position: sticky; top: 0; height: 100vh; height: 100svh; margin: -120px calc(var(--gutter) * -1) -100vh; z-index: 0; pointer-events: none; }
.origin__sky { position: absolute; inset: 0; z-index: 0; pointer-events: none;
  background:
    radial-gradient(circle at 74% 70%, rgba(255,220,140,.9) 0, rgba(248,170,80,.55) 9%, rgba(226,112,74,.22) 24%, rgba(226,112,74,0) 46%),
    linear-gradient(to bottom, #101845 0%, #1d2a6b 22%, #3b3f86 42%, #8a4f7c 60%, #e0704a 76%, #f6a54d 88%, #f9c86c 100%); }
.origin .eyebrow { color: var(--gold-soft); }
.origin .display { color: var(--cream); text-shadow: 0 2px 30px rgba(10,14,40,.35); }
.origin .lead { color: rgba(255,248,235,.9); text-shadow: 0 1px 12px rgba(10,14,40,.45); }
.origin .badges li { color: var(--gold-soft); border-color: rgba(242,207,122,.45); background: rgba(16,24,69,.45); backdrop-filter: blur(4px); -webkit-backdrop-filter: blur(4px); display: inline-flex; align-items: center; gap: 10px; }
.flag-icon { width: 22px; height: 12px; box-shadow: 0 0 0 1px rgba(255,255,255,.25); }
.flag__cloth { transform-box: fill-box; transform-origin: left center; animation: wave 3.6s ease-in-out infinite; }
@keyframes wave { 0%, 100% { transform: skewY(0deg) scaleX(1); } 50% { transform: skewY(-4deg) scaleX(.94); } }
.valley { position: absolute; left: 0; right: 0; bottom: 0; height: 62vh; pointer-events: none; z-index: 4; }
.valley svg { position: sticky; bottom: 0; width: 100%; height: 100%; }
.valley g { will-change: transform; }
.badges { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 34px; }
.badges li { font-size: 11px; font-weight: 500; letter-spacing: .22em; text-transform: uppercase; color: var(--blue); border: 1px solid var(--line); padding: 10px 16px; border-radius: 40px; background: rgba(251,250,248,.85); }

.women { position: relative; z-index: 6; min-height: 0; padding-top: 120px; padding-bottom: 120px; display: flex; align-items: center; color: #fff;
  background: radial-gradient(90% 70% at 50% 40%, #22306f 0%, #121a45 70%, #0c1236 100%); }
.women::before { content: ""; position: absolute; left: 0; right: 0; top: 0; height: 2px; background: linear-gradient(90deg, transparent, var(--gold), transparent); opacity: .6; }
.women .eyebrow { color: var(--gold-soft); }
.women .lead { color: #c9cfdb; }
.display--silver {
  background: linear-gradient(100deg, #8e97ab 0%, #f5f7fb 18%, #a3abbd 34%, #ffffff 48%, #9aa3b6 62%, #eef1f6 80%, #8e97ab 100%);
  background-size: 220% 100%; -webkit-background-clip: text; background-clip: text; color: transparent;
  animation: sheen 7s linear infinite; filter: drop-shadow(0 2px 18px rgba(200,210,235,.18));
}
@keyframes sheen { from { background-position: 0% 0; } to { background-position: -220% 0; } }

/* back-label specs */
.specs { display: grid; grid-template-columns: repeat(3, 1fr); gap: 0; margin: 40px 0 0; max-width: 460px; border-top: 1px solid rgba(181,48,59,.25); }
.specs div { padding: 20px 0 0; }
.specs div + div { padding-left: 22px; border-left: 1px solid rgba(39,57,127,.14); }
.specs dt { font-family: var(--serif); font-weight: 500; font-size: 52px; line-height: 1; background: linear-gradient(180deg, #e6b94f, #b88424); -webkit-background-clip: text; background-clip: text; color: transparent; }
.specs dd { margin: 8px 0 0; font-size: 10.5px; font-weight: 600; letter-spacing: .24em; text-transform: uppercase; color: var(--red); }
.women .copy { min-height: auto; position: relative; }

/* ── buttons ──────────────────────────── */
.btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 10px;
  font: 500 12px/1 var(--sans); letter-spacing: .24em; text-transform: uppercase; text-decoration: none;
  padding: 18px 28px; border-radius: 0; cursor: pointer; transition: background .35s var(--ease), color .35s var(--ease), border-color .35s var(--ease);
  border: 1px solid var(--blue);
}
.btn--solid { background: var(--blue); color: #fff; }
.btn--solid:hover { background: var(--blue-deep); border-color: var(--blue-deep); }
.btn--ghost { background: transparent; color: var(--blue); }
.btn--ghost:hover { background: var(--blue); color: #fff; }
.btn--small { padding: 12px 16px; font-size: 10.5px; letter-spacing: .2em; }
.btn--silver { margin-top: 40px; color: #e9edf4; border-color: rgba(215,222,235,.55); background: linear-gradient(180deg, rgba(255,255,255,.07), rgba(255,255,255,0)); }
.btn--soon { cursor: default; }
.btn--soon em { font-style: normal; opacity: .6; padding-left: 10px; border-left: 1px solid currentColor; }
.women .btn--soon:hover { background: transparent; }

/* ── store locator ────────────────────── */
.find { position: relative; z-index: 6; background: var(--canvas); padding: 130px var(--gutter) 110px; }
.find::before { content: ""; position: absolute; left: 0; right: 0; top: 0; height: 6px; background: linear-gradient(90deg, var(--blue) 0 33.3%, #fff 33.3% 66.6%, var(--red) 66.6%); opacity: .9; }
.find__head { text-align: center; display: flex; flex-direction: column; align-items: center; margin-bottom: 64px; }
.find__head .lead { margin: 22px 0 34px; }
.find__body { display: grid; grid-template-columns: minmax(0, 1.55fr) minmax(320px, 1fr); background: #fff; max-width: 1360px; margin: 0 auto; height: min(700px, 80vh); box-shadow: 0 40px 90px -30px rgba(18,26,69,.35), 0 0 0 1px rgba(39,57,127,.08); }
.find__map { height: 100%; min-height: 360px; background: #2b3d84; position: relative; }
.find__list { border-left: 1px solid var(--line); overflow-y: auto; overscroll-behavior: contain; }
.find__count { font-size: 11px; font-weight: 500; letter-spacing: .26em; text-transform: uppercase; color: var(--muted); padding: 22px 26px; border-bottom: 1px solid var(--line); position: sticky; top: 0; background: #fff; z-index: 1; }
.store { padding: 22px 26px; border-bottom: 1px solid var(--line); cursor: pointer; transition: background .3s var(--ease); position: relative; }
.store::before { content: ""; position: absolute; left: 0; top: 0; bottom: 0; width: 3px; background: linear-gradient(var(--gold), var(--red)); transform: scaleY(0); transition: transform .35s var(--ease); }
.store:hover, .store.is-active { background: #f5f6fa; }
.store.is-active::before { transform: scaleY(1); }
.store__tag { font-size: 10px; font-weight: 600; letter-spacing: .26em; color: var(--red); text-transform: uppercase; }
.store__name { font-family: var(--serif); font-weight: 500; font-size: 24px; color: var(--blue); line-height: 1.15; margin: 4px 0 4px; }
.store__addr { font-size: 14px; color: var(--muted); font-style: normal; }
.store__actions { display: flex; gap: 8px; margin-top: 14px; }

/* map pins + popups */
.pin { position: relative; width: 24px; height: 24px; border-radius: 50% 50% 50% 0; transform: rotate(-45deg); background: linear-gradient(135deg, #f2cf7a, #c8902c); border: 2px solid var(--night); box-shadow: 0 6px 14px rgba(10,14,40,.45); transition: transform .3s var(--ease), background .3s; }
.pin::after { content: ""; position: absolute; inset: 6px; border-radius: 50%; background: var(--night); }
.pin.is-active { transform: rotate(-45deg) scale(1.3); background: linear-gradient(135deg, #e0555f, var(--red)); }
.map-label { font-family: var(--sans); font-size: 10px; font-weight: 600; letter-spacing: .24em; text-transform: uppercase; color: #6b5b3e; white-space: nowrap; text-shadow: 0 0 6px #f3ead6, 0 0 2px #f3ead6; pointer-events: none; }
.map-label--water { font-family: var(--serif); font-style: italic; font-weight: 400; font-size: 17px; letter-spacing: .06em; text-transform: none; color: rgba(242,207,122,.75); text-shadow: none; }
.leaflet-container { font-family: var(--sans); background: #2b3d84; }
.leaflet-container .leaflet-control-attribution { background: rgba(243,241,236,.75); }
.leaflet-popup-content-wrapper { border-radius: 0; box-shadow: 0 12px 40px rgba(28,42,98,.18); }
.leaflet-popup-content { margin: 18px 20px; min-width: 220px; }
.leaflet-popup-content .store__name { font-size: 22px; }
.leaflet-popup-content .store__actions { margin-top: 12px; }
.leaflet-popup-tip { box-shadow: none; }
.leaflet-control-attribution { font-size: 10px; }
.leaflet-bar a { color: var(--blue); }

/* ── instagram ────────────────────────── */
.insta { position: relative; z-index: 6; background: var(--canvas); padding: 20px var(--gutter) 130px; }
.insta__head { text-align: center; display: flex; flex-direction: column; align-items: center; gap: 4px; margin-bottom: 48px; }
.insta__head .display { font-size: clamp(40px, 4.6vw, 72px); }
.insta__head .display a { text-decoration: none; background: linear-gradient(90deg, var(--blue), var(--blue)) no-repeat 0 100% / 0 2px; transition: background-size .5s var(--ease); }
.insta__head .display a:hover { background-size: 100% 2px; }
.insta__follow { margin-top: 26px; }
.insta__follow svg { width: 16px; height: 16px; }
.insta__grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; max-width: 1360px; margin: 0 auto; }
.insta__grid li { aspect-ratio: 1; overflow: hidden; background: #dde1e8; position: relative; }
.insta__grid a { display: block; height: 100%; }
.insta__grid img { width: 100%; height: 100%; object-fit: cover; transition: transform .9s var(--ease), filter .5s; }
.insta__grid a::after { content: ""; position: absolute; inset: 0; background: linear-gradient(to top, rgba(18,26,69,.45), transparent 50%); opacity: 0; transition: opacity .4s; }
.insta__grid a:hover img { transform: scale(1.05); }
.insta__grid a:hover::after { opacity: 1; }
.insta__grid .is-video::before { content: ""; position: absolute; top: 12px; right: 12px; z-index: 1; border-style: solid; border-width: 7px 0 7px 12px; border-color: transparent transparent transparent #fff; filter: drop-shadow(0 1px 3px rgba(0,0,0,.5)); }

/* ── footer ───────────────────────────── */
.footer { position: relative; z-index: 6; background: var(--blue-deep); color: rgba(255,255,255,.8); text-align: center; padding: 84px var(--gutter) 48px; }
.lockup--footer { color: #fff; }
.lockup--footer .lockup__top { font-size: 40px; }
.lockup--footer .lockup__sub { font-size: 12px; margin-top: 10px; }
.footer__meta { display: flex; justify-content: center; flex-wrap: wrap; gap: 10px 34px; margin: 34px 0 22px; font-size: 11px; letter-spacing: .26em; text-transform: uppercase; }
.footer__links { display: flex; justify-content: center; gap: 30px; margin-bottom: 40px; }
.footer__links a { font-size: 13px; letter-spacing: .08em; color: #fff; text-decoration: none; border-bottom: 1px solid rgba(255,255,255,.35); padding-bottom: 3px; }
.footer__legal { font-size: 12px; line-height: 1.7; color: rgba(255,255,255,.55); max-width: 720px; margin: 0 auto; }

/* ── age gate ─────────────────────────── */
.gate { position: fixed; inset: 0; z-index: 100; display: grid; place-items: center; padding: 24px; background: rgba(251,250,248,.97); transition: opacity .7s var(--ease), visibility .7s; }
.gate.is-done { opacity: 0; visibility: hidden; }
.gate__card { text-align: center; max-width: 440px; }
.lockup--gate { margin-bottom: 54px; }
.lockup--gate .lockup__top { font-size: 34px; }
.gate__eyebrow { font-size: 11px; letter-spacing: .32em; text-transform: uppercase; color: var(--muted); margin-bottom: 12px; }
.gate__title { font-family: var(--serif); font-weight: 300; font-size: clamp(38px, 6vw, 54px); color: var(--blue); line-height: 1.05; }
.gate__actions { display: flex; gap: 12px; justify-content: center; margin-top: 36px; }
.gate__actions .btn { min-width: 150px; }
.gate__note { margin-top: 22px; color: var(--blue); }
.gate__fine { margin-top: 40px; font-size: 11px; letter-spacing: .2em; text-transform: uppercase; color: var(--muted); }

/* ── reveal animations ────────────────── */
[data-reveal] { opacity: 0; transition: opacity 1.1s var(--ease), transform 1.3s var(--ease); transition-delay: var(--d, 0s); will-change: transform, opacity; }
[data-reveal="left"] { transform: translate3d(-90px, 0, 0); }
[data-reveal="right"] { transform: translate3d(90px, 0, 0); }
[data-reveal="up"] { transform: translate3d(0, 40px, 0); }
[data-reveal].is-in { opacity: 1; transform: none; }

/* ── responsive ───────────────────────── */
@media (max-width: 1100px) {
  .pure { grid-template-columns: 1fr minmax(200px, 32vw) 1fr; }
  .feature h3 { font-size: 28px; }
}
@media (max-width: 860px) {
  .nav { height: 72px; grid-template-columns: 1fr; justify-items: center; }
  .nav__side { display: none; }
  .nav__right { position: absolute; right: 18px; top: 50%; transform: translateY(-50%); }
  .nav__ig { padding-left: 0; border-left: 0; }
  .nav__ig span { display: none; }
  .nav__ig svg { width: 22px; height: 22px; }
  .insta { padding-bottom: 90px; }
  .insta__grid { grid-template-columns: repeat(2, 1fr); gap: 8px; }
  .lockup__top { font-size: 22px; }
  .panel { padding-left: 22px; padding-right: 22px; }
  .hero__line { font-size: 10px; letter-spacing: .3em; gap: 10px; }

  /* bottle lives in the upper half; copy sits below */
  .pure { min-height: auto; padding: 96px 22px 60px; }
  .pure__stage { position: relative; height: auto; display: flex; flex-direction: column; padding: 0; }
  .pure__head { position: relative; top: 0; }
  .pure__head .display { font-size: 52px; }
  .pure__col { position: relative; height: auto; padding-top: 0; gap: 0; }
  .pure__col--left { margin-top: 56vh; }
  .pure__col--left, .pure__col--right { align-items: stretch; text-align: left; }
  .feature { max-width: none; display: grid; grid-template-columns: 40px 1fr; column-gap: 14px; padding: 22px 2px; background: none; border-top: 1px solid var(--line); }
  /* one frosted sheet behind the feature list, fading in from the top (no boxed cards) */
  .pure__stage::before { content: ""; position: absolute; left: -22px; right: -22px; top: calc(56vh - 70px); bottom: -60px; z-index: -1;
    background: rgba(244,243,239,.88); backdrop-filter: blur(16px); -webkit-backdrop-filter: blur(16px);
    -webkit-mask-image: linear-gradient(to bottom, transparent, #000 70px, #000 calc(100% - 70px), transparent); mask-image: linear-gradient(to bottom, transparent, #000 70px, #000 calc(100% - 70px), transparent); }
  .feature__icon, .pure__col--left .feature__icon { grid-row: span 2; margin: 2px 0 0; }
  .feature h3 { font-size: 26px; }
  .feature p { margin-top: 2px; }
  .pure__col--right .feature:last-child { border-bottom: 1px solid var(--line); }
  .copy::before { background: none !important; }
  .copy > * { position: relative; }
  .batch .copy::after, .origin .copy::after { content: ""; position: absolute; left: -22px; right: -22px; top: calc(58vh - 70px); bottom: 0; z-index: -1;
    backdrop-filter: blur(16px); -webkit-backdrop-filter: blur(16px);
    -webkit-mask-image: linear-gradient(to bottom, transparent, #000 70px); mask-image: linear-gradient(to bottom, transparent, #000 70px); }
  .batch .copy::after { background: rgba(250,240,214,.86); }
  .origin .copy::after { background: rgba(16,24,69,.55); }

  .batch, .origin { min-height: auto; display: block; padding-bottom: 40px; }
  .copy { position: relative; min-height: auto; padding: 58vh 0 40px; margin: 0; max-width: none; }
  .copy .lead, .copy .display, .copy .eyebrow, .copy .rule, .copy .badges { position: relative; }
  .copy::before { content: ""; position: absolute; left: -22px; right: -22px; top: 54vh; bottom: 0; background: linear-gradient(to bottom, rgba(247,236,210,0), #f7ecd2 48px); z-index: -1; }
  .origin .copy::before { background: linear-gradient(to bottom, rgba(16,24,69,0), rgba(16,24,69,.62) 80px, rgba(16,24,69,.35)); }
  .specs dt { font-size: 40px; }
  .display { font-size: 46px; }
  .origin { padding-bottom: 46vh; }
  .valley { height: 44vh; }
  .women { min-height: auto; padding-top: 84px; padding-bottom: 84px; }
  .women .copy { padding: 0; }
  .women .copy::before { display: none; }

  .find { padding: 96px 16px 80px; }
  .btn { letter-spacing: .18em; padding: 16px 20px; }
  .btn--soon { flex-direction: column; gap: 8px; }
  .btn--soon em { border-left: 0; padding-left: 0; }
  .find__body { grid-template-columns: 1fr; height: auto; }
  .find__map { height: 360px; }
  .find__list { border-left: 0; border-top: 1px solid var(--line); overflow: visible; }
  .find__count { position: static; }
  [data-reveal="left"] { transform: translate3d(-40px, 0, 0); }
  [data-reveal="right"] { transform: translate3d(40px, 0, 0); }
}

@media (min-width: 560px) and (max-width: 860px) {
  .pure__stage { display: grid; grid-template-columns: 1fr 1fr; column-gap: 36px; }
  .pure__head { grid-column: 1 / -1; }
  .pure__col--left, .pure__col--right { margin-top: 56vh; }
  .pure__col--left { grid-column: 1; }
  .pure__col--right { grid-column: 2; }
  .pure__col--left .feature:last-child { border-bottom: 1px solid var(--line); }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  [data-reveal] { transition: opacity .6s linear; transform: none !important; }
  .scroll-cue i { animation: none; }
}
