:root {
  --wine: #ad163f;
  --wine-deep: #4a081c;
  --wine-dark: #230108;
  --wine-soft: #d12d59;
  --gold: #c9a34a;
  --gold-light: #e6cf91;
  --gold-pale: #f1e4ba;
  --ivory: #fbf7ef;
  --cream: #f4ecdf;
  --ink: #26141a;
  --muted: #7a676c;
  --line: rgba(70, 25, 38, .14);
  --serif: Georgia, "Times New Roman", serif;
  --sans: Inter, Avenir, "Helvetica Neue", Arial, sans-serif;
  --shell: min(1180px, calc(100% - 48px));
}

* { box-sizing: border-box; }
html { overflow-x: hidden; scroll-behavior: smooth; }
body { margin: 0; overflow-x: hidden; color: var(--ink); background: var(--ivory); font-family: var(--sans); font-size: 16px; line-height: 1.65; }
body.menu-open { overflow: hidden; }
img { max-width: 100%; display: block; }
a { color: inherit; }
.shell { width: var(--shell); margin: 0 auto; }
.section { position: relative; padding: 120px 0; overflow: hidden; }
.sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.skip-link { position: fixed; z-index: 100; top: 8px; left: 8px; padding: 10px 14px; color: var(--wine-deep); background: white; transform: translateY(-140%); }
.skip-link:focus { transform: none; }

.site-header { position: fixed; z-index: 50; top: 0; left: 0; width: 100%; color: white; border-bottom: 1px solid rgba(255,255,255,.12); transition: background .35s ease, box-shadow .35s ease; }
.site-header.scrolled { background: rgba(31,4,12,.94); box-shadow: 0 8px 30px rgba(15,0,5,.18); backdrop-filter: blur(14px); }
.header-inner { width: min(1320px, calc(100% - 48px)); height: 86px; margin: 0 auto; display: flex; align-items: center; justify-content: space-between; }
.brand { display: flex; align-items: center; gap: 11px; color: white; text-decoration: none; }
.brand img { width: 54px; height: 54px; object-fit: contain; filter: drop-shadow(0 4px 8px rgba(0,0,0,.24)); }
.brand span { font-family: var(--serif); font-size: 13px; line-height: 1.05; letter-spacing: .14em; }
.main-nav { display: flex; align-items: center; gap: 24px; }
.main-nav a { position: relative; color: rgba(255,255,255,.74); font-size: 11px; font-weight: 700; letter-spacing: .1em; text-decoration: none; text-transform: uppercase; transition: color .2s ease; }
.main-nav a:hover, .main-nav a:focus-visible { color: white; }
.main-nav .nav-buy { min-height: 40px; padding: 0 16px; display: inline-flex; align-items: center; gap: 9px; color: var(--gold-light); border: 1px solid rgba(230,207,145,.72); background: linear-gradient(135deg, rgba(230,207,145,.12), rgba(201,163,74,.035)); box-shadow: inset 0 0 18px rgba(230,207,145,.04), 0 8px 22px rgba(0,0,0,.1); transition: color .25s ease, background .25s ease, border-color .25s ease, transform .25s ease; }
.main-nav .nav-buy svg { width: 17px; height: 17px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.main-nav .nav-buy:hover, .main-nav .nav-buy:focus-visible { color: #271008; border-color: var(--gold-light); background: linear-gradient(135deg, var(--gold-light), var(--gold)); transform: translateY(-1px); }
.main-nav .nav-contact { padding: 11px 18px; color: var(--gold-light); border: 1px solid rgba(230,207,145,.58); }
.menu-button { display: none; width: 44px; height: 44px; padding: 0; border: 0; background: transparent; }
.menu-button span:not(.sr-only) { display: block; width: 24px; height: 1px; margin: 7px auto; background: white; transition: transform .25s ease; }

.hero { min-height: 900px; height: 100svh; padding: 150px max(24px, calc((100vw - 1180px)/2)) 70px; display: grid; grid-template-columns: 1.05fr .95fr; align-items: center; gap: 70px; color: white; background:
  radial-gradient(circle at 80% 45%, rgba(232,189,82,.21), transparent 31%),
  radial-gradient(circle at 18% 18%, rgba(233,46,95,.26), transparent 30%),
  linear-gradient(135deg, #2b020d 0%, #8d1036 54%, #350510 100%);
  isolation: isolate;
}
.hero::before { content: ""; position: absolute; inset: 0; z-index: -1; opacity: .08; background-image: repeating-linear-gradient(115deg, transparent 0 19px, rgba(255,255,255,.24) 20px); mask-image: linear-gradient(to right, #000, transparent 62%); }
.hero::after { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(to bottom, rgba(0,0,0,.06), transparent 30%, rgba(0,0,0,.18)); }
.hero-glow { position: absolute; right: -120px; top: 12%; width: 620px; height: 620px; border: 1px solid rgba(230,207,145,.15); border-radius: 50%; box-shadow: 0 0 0 80px rgba(201,163,74,.025), 0 0 0 160px rgba(201,163,74,.018); }
.hero-copy { position: relative; z-index: 2; max-width: 660px; }
.eyebrow, .overline { margin: 0 0 22px; color: var(--gold-light); font-size: 10px; font-weight: 800; letter-spacing: .26em; text-transform: uppercase; }
.hero h1, .section h2 { margin: 0; font-family: var(--serif); font-weight: 400; letter-spacing: -.04em; line-height: .98; }
.hero h1 { font-size: clamp(58px, 6.1vw, 92px); }
.hero h1.hero-motto { font-size: clamp(50px, 5.2vw, 80px); line-height: 1.02; }
.hero h1 em, .section h2 em { color: var(--gold-light); font-weight: 400; }
.hero-intro { max-width: 610px; margin: 32px 0 0; color: rgba(255,255,255,.7); font-family: var(--serif); font-size: 20px; line-height: 1.65; }
.hero-actions { display: flex; align-items: center; gap: 28px; margin-top: 40px; }
.button { display: inline-flex; align-items: center; justify-content: center; gap: 28px; min-height: 52px; padding: 0 24px; font-size: 10px; font-weight: 800; letter-spacing: .12em; text-decoration: none; text-transform: uppercase; transition: transform .25s ease, background .25s ease, color .25s ease; }
.button:hover { transform: translateY(-2px); }
.button-gold { color: #251008; background: linear-gradient(135deg, var(--gold-light), var(--gold)); box-shadow: 0 12px 35px rgba(201,163,74,.15); }
.button-gold:hover { background: linear-gradient(135deg, #f2e3b5, #d1a849); }
.text-link { color: rgba(255,255,255,.75); font-size: 11px; letter-spacing: .1em; text-underline-offset: 6px; text-transform: uppercase; }
.hero-emblem { position: relative; z-index: 2; justify-self: end; width: min(550px, 47vw); height: min(720px, 76vh); isolation: isolate; }
.hero-woman { position: absolute; z-index: 1; right: -7%; bottom: -10%; width: 100%; height: 108%; object-fit: contain; object-position: right bottom; opacity: .34; filter: saturate(.7) sepia(.12) drop-shadow(0 28px 34px rgba(0,0,0,.18)); mask-image: linear-gradient(to bottom, #000 3%, #000 72%, transparent 99%); animation: hero-portrait-breathe 8s ease-in-out infinite alternate; }
.hero-brand-seal { position: absolute; z-index: 3; left: -10%; top: 12%; width: 235px; aspect-ratio: 1; display: grid; place-items: center; }
.hero-brand-seal::before, .hero-brand-seal::after { content: ""; position: absolute; z-index: 0; border-radius: 50%; pointer-events: none; }
.hero-brand-seal::before { inset: -15%; border: 1px dashed rgba(230,207,145,.48); box-shadow: 0 0 28px rgba(230,207,145,.11), inset 0 0 22px rgba(230,207,145,.07); animation: hero-seal-orbit 16s linear infinite; }
.hero-brand-seal::after { inset: -5%; border: 1px solid transparent; border-top-color: rgba(241,228,186,.82); border-right-color: rgba(201,163,74,.38); filter: drop-shadow(0 0 7px rgba(230,207,145,.52)); animation: hero-seal-orbit 8s linear infinite reverse; }
.hero-brand-symbol { position: relative; z-index: 2; grid-area: 1 / 1; width: 100%; height: 100%; object-fit: contain; filter: drop-shadow(0 18px 28px rgba(0,0,0,.28)) saturate(.95); animation: hero-seal-pulse 4.8s ease-in-out infinite; }
.hero-brand-seal p { position: absolute; z-index: 3; left: 50%; top: 118%; bottom: auto; margin: 0; color: var(--gold-pale); font-family: var(--serif); font-size: 12px; font-style: italic; letter-spacing: .1em; white-space: nowrap; transform: translateX(-50%); }
.emblem-halo { position: absolute; width: 70%; aspect-ratio: 1; border-radius: 50%; background: radial-gradient(circle, rgba(241,228,186,.16), rgba(201,163,74,.03) 55%, transparent 70%); filter: blur(3px); }
@keyframes hero-portrait-breathe { from { transform: translateY(0) scale(1); } to { transform: translateY(-8px) scale(1.012); } }
@keyframes hero-seal-orbit { to { transform: rotate(360deg); } }
@keyframes hero-seal-pulse { 0%, 100% { filter: drop-shadow(0 18px 28px rgba(0,0,0,.28)) saturate(.95); } 50% { filter: drop-shadow(0 0 22px rgba(230,207,145,.34)) saturate(1.08); } }
.hero-ornament { position: absolute; color: rgba(230,207,145,.5); font-size: 17px; }
.ornament-left { left: 3.4%; top: 50%; }.ornament-right { right: 3.4%; top: 50%; }
.hero-index { position: absolute; left: max(24px, calc((100vw - 1180px)/2)); bottom: 32px; display: flex; align-items: center; gap: 13px; color: rgba(255,255,255,.36); font-size: 9px; letter-spacing: .16em; }
.hero-index i { width: 76px; height: 1px; background: rgba(255,255,255,.2); }
.section-label { display: flex; align-items: center; gap: 14px; color: var(--wine); font-size: 9px; font-weight: 800; letter-spacing: .17em; text-transform: uppercase; }
.section-label span { display: grid; place-items: center; width: 31px; height: 31px; border: 1px solid currentColor; border-radius: 50%; font-family: var(--serif); font-size: 10px; }
.section-label.light { color: var(--gold-light); }
.section h2 { font-size: clamp(46px, 5vw, 70px); }
.maison { background: var(--ivory); }
.maison::before { content: "GP"; position: absolute; right: -40px; top: -95px; color: rgba(148,27,59,.035); font-family: var(--serif); font-size: 430px; line-height: 1; letter-spacing: -.1em; }
.maison-grid { position: relative; display: grid; grid-template-columns: .48fr 1.12fr .4fr; gap: 55px; align-items: start; }
.maison-identity { min-width: 0; }
.founder-card { position: relative; width: min(100%, 260px); aspect-ratio: 4 / 5; margin: 34px 0 0; overflow: hidden; border: 1px solid rgba(201,163,74,.42); background: #310812; box-shadow: 0 22px 50px rgba(52,7,19,.15); }
.founder-card::before { content: ""; position: absolute; z-index: 2; inset: 0; background: linear-gradient(to top, rgba(31,2,10,.94), rgba(31,2,10,.08) 48%, transparent 68%); pointer-events: none; }
.founder-card::after { content: ""; position: absolute; z-index: 3; inset: 9px; border: 1px solid rgba(230,207,145,.3); pointer-events: none; }
.founder-card img { width: 100%; height: 100%; object-fit: cover; object-position: center 28%; filter: saturate(.9) contrast(1.02); transition: transform .65s ease, filter .65s ease; }
.founder-card:hover img { transform: scale(1.025); filter: saturate(1) contrast(1.03); }
.founder-card figcaption { position: absolute; z-index: 4; left: 25px; right: 25px; bottom: 25px; color: white; }
.founder-card strong { display: block; font-family: var(--serif); font-size: 22px; font-weight: 400; line-height: 1.05; }
.founder-card span { display: block; margin-top: 8px; color: var(--gold-light); font-size: 8px; font-weight: 800; letter-spacing: .2em; text-transform: uppercase; }
.maison-copy .lead { max-width: 750px; margin: 34px 0 18px; color: var(--wine); font-family: var(--serif); font-size: 24px; line-height: 1.5; }
.maison-copy > p:last-child { max-width: 720px; color: var(--muted); }
.maison-seal { align-self: center; justify-self: end; width: 160px; aspect-ratio: 1; display: grid; place-items: center; color: var(--gold); border: 1px solid rgba(201,163,74,.55); border-radius: 50%; outline: 1px solid rgba(201,163,74,.22); outline-offset: 7px; }
.maison-seal span { grid-area: 1/1; font-family: var(--serif); font-size: 78px; line-height: 1; opacity: .21; }
.maison-seal small { grid-area: 1/1; color: var(--wine); font-size: 8px; font-weight: 800; text-align: center; letter-spacing: .18em; }
.principles { position: relative; margin-top: 95px; display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid var(--line); }
.principles article { min-height: 190px; padding: 30px 34px 20px 0; border-right: 1px solid var(--line); }
.principles article + article { padding-left: 34px; }
.principles article:last-child { border-right: 0; }
.principles span { color: var(--gold); font-family: var(--serif); font-size: 11px; }
.principles h3 { margin: 22px 0 8px; color: var(--wine-deep); font-family: var(--serif); font-size: 27px; font-weight: 400; }
.principles p { margin: 0; color: var(--muted); font-size: 14px; }

.collections { color: white; background: linear-gradient(140deg, #470617 0%, #9f143b 52%, #3c0514 100%); }
.collections::before { content: ""; position: absolute; inset: 0; opacity: .05; background-image: linear-gradient(90deg, transparent 49.8%, white 50%, transparent 50.2%); background-size: 160px 100%; }
.section-top { position: relative; display: grid; grid-template-columns: .55fr 1.4fr .7fr; gap: 45px; align-items: end; margin-bottom: 65px; }
.section-top > p { margin: 0 0 4px; color: rgba(255,255,255,.54); font-size: 14px; }
.collection-grid { position: relative; display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 22px; }
.collection-card { position: relative; min-height: 455px; padding: 34px; display: grid; grid-template-rows: auto 1fr auto; overflow: hidden; border: 1px solid rgba(230,207,145,.18); background: linear-gradient(145deg, rgba(255,255,255,.055), rgba(255,255,255,.015)); }
.collection-card:nth-child(-n+2) { grid-column: span 3; min-height: 500px; }
.collection-card:nth-child(n+3) { grid-column: span 2; }
.collection-card::before { content: ""; position: absolute; inset: 0; opacity: .44; transition: opacity .35s ease, transform .5s ease; }
.collection-card:hover::before { opacity: .7; transform: scale(1.03); }
.card-figure { position: absolute; z-index: 1; top: 0; right: 0; width: 58%; height: 100%; overflow: hidden; opacity: .2; pointer-events: none; transition: opacity .45s ease, transform .7s cubic-bezier(.22,.61,.36,1); -webkit-mask-image: linear-gradient(to right, transparent 0%, rgba(0,0,0,.3) 18%, #000 53%), linear-gradient(to bottom, #000 0%, #000 67%, transparent 100%); -webkit-mask-composite: source-in; mask-image: linear-gradient(to right, transparent 0%, rgba(0,0,0,.3) 18%, #000 53%), linear-gradient(to bottom, #000 0%, #000 67%, transparent 100%); mask-composite: intersect; }
.card-figure img { width: 100%; height: 100%; display: block; object-fit: cover; object-position: center top; filter: saturate(.68) sepia(.18) contrast(.93) brightness(.92); mix-blend-mode: luminosity; }
.collection-card:hover .card-figure { opacity: .3; transform: scale(1.025) translate3d(-4px, 0, 0); }
.card-face .card-figure { width: 48%; }
.card-face .card-figure img { object-position: 52% 8%; }
.card-body .card-figure { width: 61%; }
.card-body .card-figure img { object-position: 52% 4%; }
.card-hair .card-figure { width: 59%; }
.card-hair .card-figure img { object-position: 38% 6%; }
.card-intimate .card-figure { right: -3%; width: 57%; opacity: .24; }
.card-intimate .card-figure img { object-position: 50% 42%; }
.card-pro .card-figure { width: 54%; }
.card-pro .card-figure img { object-position: 52% 3%; }
.card-face::before { background: radial-gradient(circle at 78% 30%, rgba(202,117,133,.55), transparent 25%), linear-gradient(135deg, transparent, rgba(148,27,59,.28)); }
.card-body::before { background: radial-gradient(ellipse at 76% 27%, rgba(201,163,74,.36), transparent 27%), linear-gradient(135deg, transparent, rgba(113,16,40,.34)); }
.card-hair::before { background: radial-gradient(ellipse at 76% 28%, rgba(168,83,104,.5), transparent 25%), linear-gradient(135deg, transparent, rgba(201,163,74,.12)); }
.card-intimate::before { background: radial-gradient(circle at 76% 30%, rgba(242,218,178,.28), transparent 25%), linear-gradient(135deg, transparent, rgba(116,17,42,.34)); }
.card-pro::before { background: radial-gradient(circle at 75% 28%, rgba(230,207,145,.25), transparent 23%), linear-gradient(135deg, transparent, rgba(148,27,59,.3)); }
.card-number { position: relative; z-index: 2; color: var(--gold-light); font-family: var(--serif); font-size: 12px; }
.card-art { position: absolute; z-index: 1; right: 38px; top: 40px; width: 210px; height: 300px; display: grid; place-items: center; color: rgba(230,207,145,.11); border: 1px solid rgba(230,207,145,.14); border-radius: 50% 50% 44% 44%; transform: rotate(8deg); }
.card-art::before, .card-art::after { content: ""; position: absolute; inset: 13px; border: 1px solid rgba(230,207,145,.12); border-radius: inherit; }
.card-art::after { inset: 29px; }
.card-art span { font-family: var(--serif); font-size: 145px; font-style: italic; line-height: 1; }
.card-copy { position: relative; z-index: 2; max-width: 390px; align-self: end; }
.card-copy > p:first-child { margin: 0; color: var(--gold-light); font-size: 9px; font-weight: 800; letter-spacing: .21em; text-transform: uppercase; }
.card-copy h3 { margin: 7px 0 13px; font-family: var(--serif); font-size: clamp(36px, 3.3vw, 47px); font-weight: 400; }
.card-copy > p { color: rgba(255,255,255,.62); font-size: 14px; }
.card-copy ul { margin: 21px 0 0; padding: 15px 0 0; display: flex; flex-wrap: wrap; gap: 8px 18px; list-style: none; border-top: 1px solid rgba(255,255,255,.13); }
.card-copy li { color: rgba(255,255,255,.72); font-size: 9px; font-weight: 800; letter-spacing: .1em; }

.products { background: var(--ivory); }
.products::before { content: ""; position: absolute; left: -220px; top: 130px; width: 520px; height: 520px; border: 1px solid rgba(201,163,74,.12); border-radius: 50%; box-shadow: 0 0 0 70px rgba(201,163,74,.025), 0 0 0 140px rgba(201,163,74,.018); }
.product-heading { position: relative; display: grid; grid-template-columns: .52fr 1.28fr .72fr; gap: 48px; align-items: end; margin-bottom: 65px; }
.product-heading > p { margin: 0 0 7px; color: var(--muted); font-size: 14px; }
.product-grid { position: relative; display: grid; grid-template-columns: repeat(6, 1fr); gap: 22px; }
.product-card { grid-column: span 2; min-width: 0; overflow: hidden; color: white; background: linear-gradient(155deg, #6d0c2a, #3a0616); box-shadow: 0 18px 44px rgba(45,7,17,.12); }
.product-media { position: relative; width: 100%; aspect-ratio: 2 / 3; padding: 0; display: block; overflow: hidden; color: white; border: 0; background: #1b0309; cursor: zoom-in; }
.product-media::after { content: ""; position: absolute; inset: 0; background: linear-gradient(to top, rgba(15,1,5,.45), transparent 34%); pointer-events: none; }
.product-media img { width: 100%; height: 100%; object-fit: cover; object-position: center; transition: transform .6s ease; }
.product-media-contain img { object-fit: contain; background: #f7f3ed; }
.product-media:hover img, .product-media:focus-visible img { transform: scale(1.025); }
.product-media > .product-media-action { position: absolute; z-index: 2; right: 18px; bottom: 16px; color: rgba(255,255,255,.82); font-family: var(--sans); font-size: 8px; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }
.product-media-packshot { isolation: isolate; background: #21050c; }
.product-media-packshot::after { z-index: 2; background: linear-gradient(to top, rgba(19,1,6,.58), transparent 26%); }
.product-media-packshot img { position: relative; z-index: 1; width: 100%; height: 100%; object-fit: cover; object-position: center; filter: saturate(1.02) contrast(1.015); }
.product-media-packshot:hover img, .product-media-packshot:focus-visible img { transform: scale(1.018); }
.product-media-packshot:focus-visible { outline: 2px solid var(--gold-light); outline-offset: -4px; }
.product-info { min-height: 220px; padding: 26px 28px 30px; display: grid; grid-template-rows: auto 1fr; }
.product-info small { color: var(--gold-light); font-size: 8px; font-weight: 800; letter-spacing: .16em; text-transform: uppercase; }
.product-info h3 { margin: 7px 0 0; font-family: var(--serif); font-size: 36px; font-weight: 400; line-height: 1; }
.product-info strong { color: var(--gold-light); font-size: 10px; letter-spacing: .13em; text-transform: uppercase; }
.product-info p { align-self: end; margin: 24px 0 0; color: rgba(255,255,255,.58); font-size: 13px; }
.product-card-light { color: var(--wine-deep); background: #e9dfd8; }
.product-card-light .product-info small, .product-card-light .product-info strong { color: #8a6647; }
.product-card-light .product-info p { color: #6f5b53; }
.product-card-vortex { background: linear-gradient(155deg, #183854, #071827); box-shadow: 0 18px 44px rgba(5,28,47,.18); }
.product-card-vortex .product-info small, .product-card-vortex .product-info strong { color: #c7dce9; }
.product-card-vortex .product-info sup { font-size: .6em; }
.product-card-vortex .product-info p { color: rgba(231,243,250,.68); }
.product-media-staminor { background: radial-gradient(circle at 50% 42%, #315d7c, #071827 74%); }
.product-media-staminor img { padding: 8px; object-fit: contain; }

.passive-glove { color: white; background:
  radial-gradient(circle at 12% 20%, rgba(230,207,145,.18), transparent 28%),
  radial-gradient(circle at 90% 82%, rgba(209,45,89,.24), transparent 32%),
  linear-gradient(138deg, #2b020d 0%, #78102f 55%, #390511 100%); }
.passive-glove::before { content: ""; position: absolute; inset: 0; opacity: .06; background-image: repeating-linear-gradient(118deg, transparent 0 27px, rgba(255,255,255,.3) 28px); mask-image: linear-gradient(to right, #000, transparent 74%); }
.passive-glove-orbit { position: absolute; right: -220px; top: -200px; width: 650px; height: 650px; border: 1px solid rgba(230,207,145,.15); border-radius: 50%; box-shadow: 0 0 0 82px rgba(201,163,74,.026), 0 0 0 164px rgba(201,163,74,.018); }
.passive-glove-heading { position: relative; margin-bottom: 55px; display: grid; grid-template-columns: 1.2fr .8fr; gap: 55px; align-items: end; }
.passive-glove-heading h2 { color: white; }
.passive-glove-heading > p { max-width: 520px; margin: 0 0 7px; color: rgba(255,255,255,.63); font-size: 14px; }
.passive-glove-grid { position: relative; display: grid; grid-template-columns: 1.12fr .88fr; gap: 24px; align-items: stretch; }
.passive-glove-media { position: relative; width: 100%; padding: 0; display: block; overflow: hidden; color: white; border: 1px solid rgba(230,207,145,.28); background: #1d050c; cursor: zoom-in; }
.passive-glove-media::after { content: ""; position: absolute; inset: 0; background: linear-gradient(to top, rgba(25,1,8,.44), transparent 31%); pointer-events: none; }
.passive-glove-media img { width: 100%; height: 100%; object-fit: contain; object-position: center; transition: transform .55s ease; }
.passive-glove-media:hover img, .passive-glove-media:focus-visible img { transform: scale(1.018); }
.passive-glove-media > span { position: absolute; z-index: 2; right: 17px; bottom: 14px; font-family: var(--sans); font-size: 8px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
.passive-glove-media-main { aspect-ratio: 1 / 1; box-shadow: 0 28px 70px rgba(25,0,8,.28); }
.passive-glove-detail { min-width: 0; display: grid; grid-template-rows: minmax(230px, .74fr) 1.26fr; overflow: hidden; border: 1px solid rgba(230,207,145,.28); background: linear-gradient(148deg, rgba(255,255,255,.075), rgba(255,255,255,.025)); box-shadow: 0 28px 70px rgba(25,0,8,.22); }
.passive-glove-media-close { height: 100%; border: 0; border-bottom: 1px solid rgba(230,207,145,.22); background: radial-gradient(circle at 50% 48%, #f7e9dc, #b68073 78%); }
.passive-glove-copy { padding: 30px 32px; display: flex; flex-direction: column; align-items: flex-start; }
.passive-glove-badge { display: inline-flex; min-height: 28px; padding: 0 12px; align-items: center; color: #2b130c; border: 1px solid rgba(241,228,186,.7); background: linear-gradient(135deg, var(--gold-light), var(--gold)); font-size: 8px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
.passive-glove-copy h3 { margin: 18px 0 12px; color: white; font-family: var(--serif); font-size: clamp(32px, 3vw, 46px); font-weight: 400; line-height: 1; }
.passive-glove-copy p { margin: 0 0 12px; color: rgba(255,255,255,.67); font-size: 13px; }
.passive-glove-copy ul { width: 100%; margin: auto 0 0; padding: 18px 0 0; display: flex; flex-wrap: wrap; gap: 8px 18px; list-style: none; border-top: 1px solid rgba(230,207,145,.2); }
.passive-glove-copy li { color: var(--gold-light); font-size: 8px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.passive-glove-note { position: relative; max-width: 900px; margin: 28px auto 0; color: rgba(255,255,255,.46); font-size: 11px; text-align: center; }

.application-models { background:
  radial-gradient(circle at 7% 18%, rgba(201,163,74,.15), transparent 25%),
  radial-gradient(circle at 94% 84%, rgba(173,22,63,.1), transparent 30%),
  linear-gradient(145deg, #fbf7ef 0%, #efe4d6 100%); }
.application-models::before { content: "TECH"; position: absolute; right: -35px; top: -88px; color: rgba(74,8,28,.035); font-family: var(--serif); font-size: 330px; line-height: 1; letter-spacing: -.08em; }
.application-glow { position: absolute; left: -160px; bottom: -230px; width: 520px; height: 520px; border: 1px solid rgba(201,163,74,.14); border-radius: 50%; box-shadow: 0 0 0 65px rgba(201,163,74,.025), 0 0 0 130px rgba(201,163,74,.018); }
.application-heading { position: relative; margin-bottom: 56px; display: grid; grid-template-columns: 1.28fr .72fr; gap: 52px; align-items: end; }
.application-heading .overline { grid-column: 1 / -1; margin-bottom: -20px; color: var(--wine); }
.application-heading h2 { color: var(--wine-deep); }
.application-heading h2 em { color: var(--wine); }
.application-heading > p:last-child { margin: 0 0 7px; color: var(--muted); font-size: 14px; }
.application-model-grid { position: relative; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; }
.application-model-card { min-width: 0; overflow: hidden; color: white; border: 1px solid rgba(201,163,74,.32); background: linear-gradient(148deg, #610a23, #2c030e); box-shadow: 0 25px 65px rgba(62,6,23,.16); }
.application-model-media { position: relative; width: 100%; aspect-ratio: 4 / 3; padding: 0; display: block; overflow: hidden; border: 0; background: #18040b; cursor: zoom-in; }
.application-model-media::after { content: ""; position: absolute; inset: 0; background: linear-gradient(to top, rgba(23,1,8,.5), transparent 35%); pointer-events: none; }
.application-model-media img { width: 100%; height: 100%; object-fit: contain; object-position: center; transition: transform .55s ease; }
.application-model-media-detail { isolation: isolate; background: #4b0719; }
.application-model-media-detail::before { content: ""; position: absolute; z-index: 2; inset: 0 auto 0 0; width: 48%; border-right: 1px solid rgba(230,207,145,.3); background: linear-gradient(104deg, #3e0413 0%, rgba(91,8,33,.99) 72%, rgba(91,8,33,.9) 88%, transparent 100%); pointer-events: none; }
.application-model-media-detail > img { object-fit: cover; object-position: center 34%; filter: saturate(.94) contrast(1.03); transform: scale(1.1); transform-origin: left center; }
.application-model-media-detail:hover > img, .application-model-media-detail:focus-visible > img { transform: scale(1.12); }
.application-home-visual-shade { position: absolute; z-index: 2; top: 0; right: 0; bottom: 0; width: 22%; background: linear-gradient(to left, rgba(55,4,21,.98), rgba(55,4,21,.7) 38%, transparent 100%); pointer-events: none; }
.application-home-visual-copy { position: absolute; z-index: 3; left: 34px; top: 50%; width: 39%; display: block; color: white; text-align: left; transform: translateY(-50%); pointer-events: none; }
.application-home-visual-copy small { display: block; color: var(--gold-light); font-family: var(--sans); font-size: 9px; font-weight: 800; letter-spacing: .16em; text-transform: uppercase; }
.application-home-visual-copy strong { display: block; margin: 13px 0 15px; font-family: var(--serif); font-size: clamp(27px, 2.7vw, 39px); font-weight: 400; line-height: 1.02; letter-spacing: -.025em; }
.application-home-visual-copy > span { display: block; color: rgba(255,255,255,.76); font-family: var(--sans); font-size: 12px; line-height: 1.52; }
.application-home-visual-copy em { display: block; margin-top: 18px; color: var(--gold-light); font-family: var(--sans); font-size: 8px; font-style: normal; font-weight: 800; letter-spacing: .12em; line-height: 1.5; text-transform: uppercase; }
.application-model-media:hover img, .application-model-media:focus-visible img { transform: scale(1.025); }
.application-model-media > span:last-child { position: absolute; z-index: 4; right: 18px; bottom: 15px; color: rgba(255,255,255,.84); font-family: var(--sans); font-size: 8px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
.application-model-copy { min-height: 290px; padding: 32px 34px 30px; display: flex; flex-direction: column; align-items: flex-start; }
.application-model-badge { display: inline-flex; min-height: 28px; padding: 0 12px; align-items: center; color: #2b130c; border: 1px solid rgba(241,228,186,.7); background: linear-gradient(135deg, var(--gold-light), var(--gold)); font-size: 8px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
.application-model-copy h3 { margin: 20px 0 12px; color: white; font-family: var(--serif); font-size: clamp(32px, 3.2vw, 47px); font-weight: 400; line-height: 1; }
.application-model-copy p { margin: 0; color: rgba(255,255,255,.69); font-size: 14px; }
.application-model-copy small { width: 100%; margin-top: auto; padding-top: 25px; color: var(--gold-light); border-top: 1px solid rgba(230,207,145,.2); font-size: 8px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
.application-model-note { position: relative; max-width: 880px; margin: 28px auto 0; color: #78636a; font-size: 11px; text-align: center; }

.professional-line { color: white; background:
  radial-gradient(circle at 88% 18%, rgba(230,207,145,.2), transparent 27%),
  radial-gradient(circle at 12% 92%, rgba(209,45,89,.24), transparent 31%),
  linear-gradient(138deg, #230108 0%, #630a25 52%, #35040f 100%); }
.professional-line::before { content: ""; position: absolute; inset: 0; opacity: .07; background-image: repeating-linear-gradient(118deg, transparent 0 25px, rgba(255,255,255,.3) 26px); mask-image: linear-gradient(to right, #000, transparent 70%); }
.professional-orbit { position: absolute; right: -180px; top: -170px; width: 610px; height: 610px; border: 1px solid rgba(230,207,145,.14); border-radius: 50%; box-shadow: 0 0 0 78px rgba(201,163,74,.025), 0 0 0 156px rgba(201,163,74,.018); animation: professional-orbit 16s linear infinite; }
.professional-line-heading { position: relative; display: grid; grid-template-columns: .52fr 1.28fr .72fr; gap: 48px; align-items: end; margin-bottom: 42px; }
.professional-line-heading > p { margin: 0 0 7px; color: rgba(255,255,255,.58); font-size: 14px; }
.professional-exclusive { position: relative; margin: 0 0 42px; padding: 19px 24px; display: flex; align-items: center; gap: 30px; border: 1px solid rgba(230,207,145,.3); background: linear-gradient(90deg, rgba(230,207,145,.12), rgba(255,255,255,.025)); }
.professional-exclusive span { flex: 0 0 auto; color: var(--gold-light); font-size: 9px; font-weight: 800; letter-spacing: .18em; text-transform: uppercase; }
.professional-exclusive p { margin: 0; color: rgba(255,255,255,.78); font-family: var(--serif); font-size: 18px; }
.professional-exclusive sup { color: var(--gold-light); font-family: var(--sans); font-size: .55em; }
.professional-product-grid { position: relative; display: grid; grid-template-columns: repeat(6, 1fr); gap: 20px; }
.professional-product-card { position: relative; grid-column: span 2; min-width: 0; padding: 10px; overflow: hidden; border: 1px solid rgba(230,207,145,.24); background: rgba(255,255,255,.055); box-shadow: 0 22px 55px rgba(20,0,7,.28); cursor: zoom-in; transition: transform .35s ease, border-color .35s ease, box-shadow .35s ease; }
.professional-product-card:hover, .professional-product-card:focus-visible { transform: translateY(-6px); border-color: rgba(230,207,145,.58); box-shadow: 0 30px 70px rgba(20,0,7,.38); }
.professional-product-card img { width: 100%; height: 685px; aspect-ratio: 1 / 1.05; object-fit: contain; background: #eef5f9; }
.professional-product-card-orange img { background: radial-gradient(circle at 50% 46%, #8d3909 0%, #2b0712 74%); }
.professional-product-card-red img { background: radial-gradient(circle at 50% 46%, #8a1430 0%, #2b0717 74%); }
.professional-product-card-green img { background: radial-gradient(circle at 50% 46%, #315320 0%, #130c12 74%); }
.professional-product-card-pro img { background: radial-gradient(circle at 50% 46%, #6e173c 0%, #2b0717 72%); }
.professional-product-card-brown img { background: radial-gradient(circle at 50% 46%, #6b321f 0%, #2b0912 74%); }
.professional-product-card-dual img { background: #180715; }
.professional-product-card > span { display: block; padding: 14px 8px 7px; color: var(--gold-light); font-family: var(--sans); font-size: 8px; font-weight: 800; letter-spacing: .15em; text-align: left; text-transform: uppercase; }
.professional-line-action { position: relative; margin-top: 38px; padding-top: 30px; display: flex; align-items: center; justify-content: space-between; gap: 30px; border-top: 1px solid rgba(230,207,145,.18); }
.professional-line-action p { max-width: 620px; margin: 0; color: rgba(255,255,255,.55); font-size: 13px; }
@keyframes professional-orbit { to { transform: rotate(360deg); } }

.device-showcase { min-height: 740px; padding: 0; display: grid; align-items: stretch; color: white; background: #230108; isolation: isolate; }
.device-showcase-media { position: absolute; z-index: -3; top: 0; right: 0; bottom: 0; left: 42%; width: 58%; overflow: hidden; }
.device-showcase-media img { width: 100%; height: 100%; object-fit: cover; object-position: 65% center; transform: scale(1.002); }
.device-showcase-shade { position: absolute; z-index: -2; inset: 0; background:
  linear-gradient(90deg, #190108 0%, #26020c 36%, rgba(38,2,12,.98) 42%, rgba(42,3,14,.64) 50%, rgba(31,2,10,.08) 66%, rgba(23,1,7,.03) 100%),
  linear-gradient(to bottom, rgba(20,0,6,.22), transparent 32%, rgba(20,0,6,.34)); }
.device-showcase::before { content: ""; position: absolute; z-index: -1; inset: 0; opacity: .075; background-image: repeating-linear-gradient(118deg, transparent 0 27px, rgba(255,255,255,.25) 28px); mask-image: linear-gradient(to right, #000, transparent 57%); }
.device-showcase-orbit { position: absolute; z-index: -1; right: 3.5vw; top: 50%; width: min(42vw, 610px); aspect-ratio: 1; border: 1px solid rgba(230,207,145,.2); border-radius: 50%; box-shadow: 0 0 0 58px rgba(201,163,74,.026), 0 0 0 116px rgba(201,163,74,.016); transform: translateY(-50%); animation: device-orbit-pulse 5.8s ease-in-out infinite; }
.device-showcase-layout { position: relative; min-height: 740px; display: flex; align-items: center; }
.device-showcase-copy { width: min(610px, 53%); padding: 82px 0; }
.device-showcase-copy .section-label { margin-bottom: 38px; }
.device-showcase-copy .overline { margin-bottom: 17px; }
.device-showcase-copy sup { color: var(--gold-light); font-family: var(--sans); font-size: .54em; }
.device-showcase-copy h2 { max-width: 690px; color: white; font-size: clamp(48px, 5.1vw, 72px); line-height: 1.02; }
.device-showcase-lead { margin: 31px 0 14px; color: rgba(255,255,255,.83); font-family: var(--serif); font-size: 20px; line-height: 1.6; }
.device-showcase-copy > p:not(.overline):not(.device-showcase-lead) { max-width: 590px; margin: 0; color: rgba(255,255,255,.61); font-size: 14px; }
.device-showcase-copy blockquote { margin: 27px 0; padding: 18px 0 18px 24px; color: var(--gold-pale); border-left: 1px solid var(--gold); font-family: var(--serif); font-size: 18px; font-style: italic; line-height: 1.55; }
.device-showcase-points { margin: 0; padding: 21px 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px 24px; list-style: none; border-top: 1px solid rgba(230,207,145,.17); border-bottom: 1px solid rgba(230,207,145,.17); }
.device-showcase-points li { position: relative; padding-left: 17px; color: rgba(255,255,255,.72); font-size: 9px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.device-showcase-points li::before { content: "◆"; position: absolute; left: 0; top: .15em; color: var(--gold); font-size: 6px; }
.device-showcase-actions { margin-top: 29px; display: flex; align-items: center; gap: 24px; }
.device-showcase-actions small { max-width: 260px; color: rgba(255,255,255,.43); font-size: 9px; line-height: 1.55; }
@keyframes device-orbit-pulse { 0%, 100% { opacity: .45; transform: translateY(-50%) scale(.985); } 50% { opacity: .9; transform: translateY(-50%) scale(1.015); } }

.device-range { padding: 0 0 125px; overflow: hidden; color: white; background:
  radial-gradient(circle at 12% 42%, rgba(151,18,55,.2), transparent 32%),
  radial-gradient(circle at 88% 78%, rgba(201,163,74,.13), transparent 30%),
  linear-gradient(145deg, #160107, #36030f 48%, #1d0209); }
.device-range::before { content: ""; position: absolute; inset: 0; pointer-events: none; opacity: .055; background-image:
  linear-gradient(rgba(230,207,145,.35) 1px, transparent 1px),
  linear-gradient(90deg, rgba(230,207,145,.35) 1px, transparent 1px); background-size: 72px 72px; mask-image: linear-gradient(to bottom, transparent 18%, #000 56%, transparent 100%); }
.device-range-intro { position: relative; min-height: 760px; display: grid; align-items: end; overflow: hidden; isolation: isolate; }
.device-range-intro > img { position: absolute; z-index: -3; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center; animation: device-range-breathe 11s ease-in-out infinite alternate; }
.device-range-intro-shade { position: absolute; z-index: -2; inset: 0; background:
  linear-gradient(90deg, rgba(18,1,6,.95) 0%, rgba(27,2,9,.75) 40%, rgba(20,1,7,.12) 72%),
  linear-gradient(to bottom, rgba(18,1,6,.12) 28%, rgba(18,1,6,.8) 100%); }
.device-range-intro::after { content: ""; position: absolute; z-index: -1; left: 8%; bottom: 11%; width: 420px; aspect-ratio: 1; border: 1px solid rgba(230,207,145,.22); border-radius: 50%; box-shadow: 0 0 0 52px rgba(201,163,74,.03), 0 0 0 104px rgba(201,163,74,.018); animation: device-range-orbit 6.6s ease-in-out infinite; }
.device-range-intro-copy { padding: 110px 0 86px; }
.device-range-intro-copy .section-label { margin-bottom: 45px; }
.device-range-intro-copy .overline { margin-bottom: 16px; }
.device-range-intro-copy sup { font-size: .55em; }
.device-range-intro-copy h2 { max-width: 790px; color: white; font-size: clamp(52px, 5.7vw, 84px); line-height: .98; }
.device-range-intro-copy > p:last-child { max-width: 690px; margin: 27px 0 0; color: rgba(255,255,255,.72); font-size: 16px; line-height: 1.8; }
.device-range-body { position: relative; padding-top: 105px; }
.device-range-heading { margin-bottom: 55px; display: grid; grid-template-columns: 1.2fr .8fr; gap: 70px; align-items: end; }
.device-range-heading h2 { color: white; font-size: clamp(44px, 4.8vw, 70px); line-height: 1.04; }
.device-range-heading > p { margin: 0 0 8px; color: rgba(255,255,255,.56); font-size: 14px; line-height: 1.75; }
.device-range-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px; }
.device-range-card { min-width: 0; overflow: hidden; border: 1px solid rgba(230,207,145,.28); background: linear-gradient(150deg, rgba(105,10,37,.58), rgba(24,2,9,.92) 58%); box-shadow: 0 32px 85px rgba(0,0,0,.28); transition: transform .45s ease, border-color .45s ease, box-shadow .45s ease; }
.device-range-card:hover { border-color: rgba(230,207,145,.55); box-shadow: 0 40px 95px rgba(0,0,0,.4), 0 0 50px rgba(201,163,74,.07); transform: translateY(-5px); }
.device-range-media { position: relative; width: 100%; height: 560px; padding: 0; display: grid; place-items: center; overflow: hidden; border: 0; background:
  radial-gradient(circle at 50% 42%, rgba(223,189,99,.22), transparent 38%),
  linear-gradient(145deg, #1b0907, #060404 72%); cursor: pointer; }
.device-range-media::before { content: ""; position: absolute; inset: 10% 18%; border: 1px solid rgba(230,207,145,.16); border-radius: 50%; box-shadow: 0 0 0 34px rgba(201,163,74,.022), 0 0 0 68px rgba(201,163,74,.012); animation: device-range-orbit 5.8s ease-in-out infinite; }
.device-range-media::after { content: ""; position: absolute; inset: 0; background: linear-gradient(to top, rgba(22,1,7,.72), transparent 38%); pointer-events: none; }
.device-range-media img { position: relative; z-index: 1; width: 100%; height: 100%; padding: 26px; object-fit: contain; object-position: center; filter: drop-shadow(0 28px 38px rgba(0,0,0,.45)); transition: transform .6s ease, filter .6s ease; }
.device-range-media-portable { background:
  radial-gradient(circle at 50% 48%, rgba(218,225,231,.18), transparent 42%),
  linear-gradient(145deg, #16060b, #050405 72%); }
.device-range-media:hover img, .device-range-media:focus-visible img { filter: drop-shadow(0 34px 48px rgba(0,0,0,.52)); transform: scale(1.025); }
.device-range-media > span { position: absolute; z-index: 3; right: 22px; bottom: 19px; padding: 9px 12px; color: #2c130b; background: linear-gradient(135deg, var(--gold-light), var(--gold)); font-size: 8px; font-weight: 800; letter-spacing: .15em; text-transform: uppercase; }
.device-range-copy { min-height: 500px; padding: 38px 40px 36px; display: flex; flex-direction: column; align-items: flex-start; }
.device-range-badge { padding: 7px 11px; color: var(--gold-light); border: 1px solid rgba(230,207,145,.34); font-size: 8px; font-weight: 800; letter-spacing: .15em; text-transform: uppercase; }
.device-range-index { margin: 26px 0 9px; color: rgba(255,255,255,.38); font-size: 9px; font-weight: 800; letter-spacing: .19em; text-transform: uppercase; }
.device-range-copy h3 { margin: 0 0 20px; color: white; font-family: var(--serif); font-size: clamp(42px, 4.3vw, 64px); font-weight: 400; line-height: .94; }
.device-range-copy > p:not(.device-range-index) { margin: 0 0 24px; color: rgba(255,255,255,.68); font-size: 14px; line-height: 1.7; }
.device-range-copy ul { width: 100%; margin: 0 0 30px; padding: 19px 0; display: grid; gap: 10px; list-style: none; border-top: 1px solid rgba(255,255,255,.11); border-bottom: 1px solid rgba(255,255,255,.11); }
.device-range-copy li { position: relative; padding-left: 18px; color: rgba(255,255,255,.73); font-size: 11px; line-height: 1.45; }
.device-range-copy li::before { content: "◆"; position: absolute; left: 0; top: .24em; color: var(--gold); font-size: 7px; }
.device-range-copy > strong { margin-top: auto; color: var(--gold-light); font-family: var(--serif); font-size: 18px; font-weight: 500; font-style: italic; }
.device-range-principle { max-width: 980px; margin: 68px auto 0; padding: 34px 44px; text-align: center; border: 1px solid rgba(230,207,145,.26); background: rgba(255,255,255,.028); }
.device-range-principle > span { color: var(--gold); font-size: 8px; font-weight: 800; letter-spacing: .19em; text-transform: uppercase; }
.device-range-principle blockquote { margin: 17px 0 0; color: rgba(255,255,255,.82); font-family: var(--serif); font-size: clamp(21px, 2.2vw, 30px); font-style: italic; line-height: 1.45; }
@keyframes device-range-breathe { from { transform: scale(1.01); } to { transform: scale(1.045); } }
@keyframes device-range-orbit { 0%, 100% { opacity: .42; transform: scale(.985); } 50% { opacity: .95; transform: scale(1.02); } }

.ecosystem { color: var(--wine-deep); background:
  radial-gradient(circle at 10% 12%, rgba(201,163,74,.12), transparent 27%),
  linear-gradient(145deg, #fbf7ef, #f2e7d8); }
.ecosystem-heading { display: grid; grid-template-columns: .52fr 1.28fr .72fr; gap: 48px; align-items: end; margin-bottom: 60px; }
.ecosystem-heading > p { margin: 0 0 6px; color: var(--muted); font-size: 14px; }
.ecosystem-track { position: relative; display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); border: 1px solid rgba(111,18,43,.14); background: rgba(255,255,255,.55); box-shadow: 0 28px 75px rgba(68,15,30,.08); }
.ecosystem-track::before { content: ""; position: absolute; left: 8%; right: 8%; top: 50px; height: 1px; background: linear-gradient(90deg, transparent, rgba(201,163,74,.56) 12%, rgba(111,18,43,.3) 50%, rgba(201,163,74,.56) 88%, transparent); }
.ecosystem-track article { position: relative; min-width: 0; padding: 30px 24px 32px; border-right: 1px solid rgba(111,18,43,.11); }
.ecosystem-track article:last-child { border-right: 0; }
.ecosystem-track article > span { position: relative; z-index: 1; width: 42px; height: 42px; display: grid; place-items: center; color: var(--gold-light); border: 1px solid rgba(230,207,145,.58); border-radius: 50%; background: var(--wine-deep); box-shadow: 0 0 0 7px #f8f0e4; font-family: var(--serif); font-size: 11px; }
.ecosystem-track h3 { min-height: 52px; margin: 27px 0 10px; color: var(--wine-deep); font-family: var(--serif); font-size: 20px; font-weight: 500; line-height: 1.22; }
.ecosystem-track h3 sup { font-family: var(--sans); font-size: .48em; }
.ecosystem-track p { margin: 0; color: var(--muted); font-size: 12px; line-height: 1.65; }

.brand-universe { color: white; background:
  radial-gradient(circle at 8% 12%, rgba(233,46,95,.24), transparent 27%),
  radial-gradient(circle at 92% 88%, rgba(201,163,74,.18), transparent 30%),
  linear-gradient(135deg, #35040f, #8f1035 53%, #4c071b); }
.brand-universe::before { content: ""; position: absolute; inset: 0; opacity: .055; background-image: repeating-linear-gradient(120deg, transparent 0 24px, rgba(255,255,255,.35) 25px); mask-image: linear-gradient(to bottom, #000, transparent 70%); }
.universe-heading { position: relative; display: grid; grid-template-columns: .52fr 1.28fr .72fr; gap: 48px; align-items: end; margin-bottom: 65px; }
.universe-heading > p { margin: 0 0 7px; color: rgba(255,255,255,.58); font-size: 14px; }
.universe-grid { position: relative; display: grid; gap: 26px; }
.universe-card { min-width: 0; display: grid; grid-template-columns: 1.38fr .62fr; overflow: hidden; border: 1px solid rgba(230,207,145,.28); background: rgba(30,1,9,.34); box-shadow: 0 24px 60px rgba(31,0,9,.18); }
.universe-card:nth-child(even) { grid-template-columns: .62fr 1.38fr; }
.universe-card:nth-child(even) .universe-media { order: 2; }
.universe-media { position: relative; min-width: 0; aspect-ratio: 16 / 8; padding: 0; overflow: hidden; border: 0; background: #f8eddf; cursor: pointer; text-decoration: none; }
.universe-media img { width: 100%; height: 100%; object-fit: contain; transition: transform .55s ease; }
.universe-media:hover img, .universe-media:focus-visible img { transform: scale(1.018); }
.universe-media > span { position: absolute; right: 18px; bottom: 14px; padding: 7px 10px; color: #4a1f18; background: rgba(255,250,241,.84); font-family: var(--sans); font-size: 8px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.universe-copy { padding: 34px; display: flex; flex-direction: column; justify-content: space-between; gap: 36px; }
.universe-copy small { color: var(--gold-light); font-size: 8px; font-weight: 800; letter-spacing: .16em; text-transform: uppercase; }
.universe-copy h3 { margin: 8px 0 0; color: white; font-family: var(--serif); font-size: clamp(30px, 3vw, 48px); font-weight: 400; line-height: 1; }
.universe-copy p { margin: 0; color: rgba(255,255,255,.62); font-size: 13px; }
.supplement-note { position: relative; max-width: 920px; margin: 30px auto 0; color: rgba(255,255,255,.42); font-size: 10px; text-align: center; }

.ritual { background: var(--cream); }
.ritual-grid { display: grid; grid-template-columns: .85fr 1.15fr; gap: 100px; }
.ritual-heading .section-label { margin-bottom: 70px; }
.ritual-heading > p:last-child { max-width: 500px; color: var(--muted); }
.ritual-steps { margin: 0; padding: 0; list-style: none; counter-reset: ritual; border-top: 1px solid var(--line); }
.ritual-steps li { min-height: 185px; padding: 28px 0; display: grid; grid-template-columns: 88px 1fr; gap: 26px; align-items: start; border-bottom: 1px solid var(--line); }
.ritual-steps > li > span { width: 58px; aspect-ratio: 1; display: grid; place-items: center; color: var(--gold); border: 1px solid rgba(201,163,74,.54); border-radius: 50%; font-family: var(--serif); }
.ritual-steps h3 { margin: 1px 0 9px; color: var(--wine); font-family: var(--serif); font-size: 32px; font-weight: 400; }
.ritual-steps p { max-width: 590px; margin: 0; color: var(--muted); font-size: 14px; }

.signature { min-height: 650px; padding: 0; display: grid; grid-template-columns: 1.06fr .94fr; align-items: stretch; color: white; background: linear-gradient(120deg, #30040f, #99143a 58%, #450718); }
.signature::after { content: ""; position: absolute; inset: 0 0 0 52%; pointer-events: none; background: radial-gradient(circle at 20% 50%, rgba(201,163,74,.13), transparent 56%); }
.signature-visual { position: relative; z-index: 2; min-height: 650px; overflow: hidden; background: #140908; }
.signature-visual img { width: 100%; height: 100%; object-fit: cover; object-position: center; }
.signature-copy { position: relative; z-index: 2; padding: 40px 7vw 40px 3vw; display: flex; flex-direction: column; justify-content: center; border-left: 1px solid rgba(230,207,145,.25); }
.signature-copy blockquote { margin: 0; font-family: var(--serif); font-size: clamp(40px, 4.5vw, 68px); font-weight: 400; line-height: 1.16; letter-spacing: -.03em; }
.signature-copy > span { display: block; margin-top: 34px; color: rgba(255,255,255,.48); font-size: 9px; font-weight: 800; letter-spacing: .24em; text-transform: uppercase; }

.professionals { background: var(--ivory); }
.professional-grid { display: grid; grid-template-columns: .42fr 1.58fr; gap: 75px; }
.professional-copy { max-width: 890px; }
.professional-copy h2 { font-size: clamp(42px, 4.5vw, 64px); line-height: 1.1; }
.professional-copy > p:not(.overline) { max-width: 730px; margin: 30px 0; color: var(--muted); }
.professional-points { margin: 38px 0; display: grid; grid-template-columns: repeat(2, 1fr); gap: 0; border-top: 1px solid var(--line); }
.professional-points span { position: relative; padding: 18px 16px 18px 27px; color: var(--wine-deep); font-size: 12px; font-weight: 700; border-bottom: 1px solid var(--line); }
.professional-points span::before { content: "◆"; position: absolute; left: 0; color: var(--gold); font-size: 7px; }
.button-wine { color: white; background: var(--wine); }
.button-wine:hover { background: var(--wine-deep); }

.contact { color: white; background: linear-gradient(135deg, #3c0514, #850f32 58%, #30030e); }
.contact::before { content: "G"; position: absolute; right: 4vw; bottom: -130px; color: rgba(201,163,74,.045); font-family: var(--serif); font-size: 520px; line-height: 1; }
.contact-glow { position: absolute; left: -170px; top: -180px; width: 510px; height: 510px; border-radius: 50%; background: radial-gradient(circle, rgba(148,27,59,.65), transparent 68%); }
.contact-inner { position: relative; display: grid; grid-template-columns: 1.15fr .85fr; gap: 90px; align-items: end; }
.contact-copy > p:last-child { max-width: 600px; color: rgba(255,255,255,.54); }
.contact-actions { display: grid; gap: 24px; justify-items: start; }
.contact-details { display: grid; gap: 9px; width: 100%; }
.contact-details a { display: grid; grid-template-columns: 85px 1fr; gap: 14px; color: rgba(255,255,255,.72); font-size: 12px; text-decoration: none; }
.contact-details a:hover strong, .contact-details a:hover span { color: white; text-decoration: underline; text-underline-offset: 4px; }
.contact-details small { color: rgba(255,255,255,.4); font-size: 9px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }

.site-footer { color: rgba(255,255,255,.62); background: #230108; }
.footer-main { width: var(--shell); min-height: 210px; margin: 0 auto; padding: 50px 0; display: grid; grid-template-columns: 1fr 1.15fr .85fr; gap: 70px; align-items: center; }
.footer-brand { display: flex; align-items: center; gap: 13px; color: white; font-family: var(--serif); font-size: 15px; line-height: 1.08; letter-spacing: .12em; text-decoration: none; }
.footer-brand img { width: 72px; height: 72px; object-fit: contain; }
.footer-main > p { max-width: 360px; font-family: var(--serif); font-size: 16px; }
.footer-main nav { display: grid; grid-template-columns: repeat(2, 1fr); gap: 8px 20px; }
.footer-main nav a { font-size: 10px; font-weight: 700; letter-spacing: .08em; text-decoration: none; text-transform: uppercase; }
.footer-main nav a:hover { color: var(--gold-light); }
.footer-bottom { width: var(--shell); margin: 0 auto; padding: 20px 0 28px; display: flex; justify-content: space-between; gap: 20px; border-top: 1px solid rgba(255,255,255,.08); color: rgba(255,255,255,.33); font-size: 9px; letter-spacing: .08em; text-transform: uppercase; }

.lightbox[hidden] { display: none; }
.lightbox { --lightbox-accent: #d9bd70; --lightbox-glow: rgba(201,163,74,.2); position: fixed; z-index: 100; inset: 0; padding: 40px; display: grid; place-items: center; overflow-x: hidden; overflow-y: auto; color: white; background: rgba(18,1,6,.94); backdrop-filter: blur(12px); }
.lightbox-panel { position: relative; width: min(760px, 90vw); max-width: min(1180px, 94vw); display: grid; place-items: center; }
.lightbox figure { position: relative; width: 100%; margin: 0; display: grid; grid-template-rows: minmax(0, 1fr) auto; overflow: hidden; border: 1px solid rgba(230,207,145,.22); background: rgba(28,3,11,.66); box-shadow: 0 28px 80px rgba(0,0,0,.45); }
.lightbox-media-frame { min-width: 0; min-height: 0; max-height: calc(90vh - 86px); display: grid; place-items: center; overflow: hidden; background: radial-gradient(circle at 50% 46%, rgba(201,163,74,.08), transparent 65%); }
.lightbox img { display: block; max-width: 100%; max-height: calc(90vh - 86px); width: auto; height: auto; object-fit: contain; box-shadow: none; }
.lightbox-meta { width: 100%; min-height: 72px; padding: 11px 12px 11px 18px; display: flex; align-items: center; justify-content: space-between; gap: 18px; border-top: 1px solid rgba(230,207,145,.2); background: linear-gradient(90deg, rgba(44,5,16,.97), rgba(20,2,8,.99)); }
.lightbox figcaption { min-width: 0; color: var(--gold-light); font-family: var(--serif); font-size: 15px; line-height: 1.3; letter-spacing: .04em; }
.lightbox.is-professional { background: radial-gradient(circle at 26% 45%, var(--lightbox-glow), transparent 31%), rgba(18,1,6,.96); }
.lightbox.is-professional.theme-orange { --lightbox-accent: #f2a24d; --lightbox-glow: rgba(210,92,18,.3); }
.lightbox.is-professional.theme-red { --lightbox-accent: #ef5d71; --lightbox-glow: rgba(177,17,50,.3); }
.lightbox.is-professional.theme-green { --lightbox-accent: #a6c56f; --lightbox-glow: rgba(62,103,37,.34); }
.lightbox.is-professional.theme-purple { --lightbox-accent: #d29ad0; --lightbox-glow: rgba(116,27,82,.36); }
.lightbox.is-professional.theme-brown { --lightbox-accent: #d29b70; --lightbox-glow: rgba(109,54,31,.34); }
.lightbox.is-professional.theme-platinum { --lightbox-accent: #d9e0e4; --lightbox-glow: rgba(164,192,206,.27); }
.lightbox.is-professional.theme-gold { --lightbox-accent: #e6cf91; --lightbox-glow: rgba(201,163,74,.28); }
.lightbox.is-professional.theme-pearl { --lightbox-accent: #f1e7d6; --lightbox-glow: rgba(221,200,169,.25); }
.lightbox.is-professional.theme-teal { --lightbox-accent: #9ed8d0; --lightbox-glow: rgba(45,123,120,.28); }
.lightbox.is-professional.theme-champagne { --lightbox-accent: #ead39d; --lightbox-glow: rgba(190,145,68,.27); }
.lightbox.is-professional .lightbox-panel { width: min(1180px, 94vw); max-height: calc(100vh - 80px); grid-template-columns: minmax(320px, .82fr) minmax(390px, 1fr); align-items: stretch; overflow-x: hidden; overflow-y: auto; border: 1px solid color-mix(in srgb, var(--lightbox-accent) 46%, transparent); background: linear-gradient(135deg, rgba(255,255,255,.06), rgba(255,255,255,.018)); box-shadow: 0 38px 110px rgba(0,0,0,.54), inset 0 0 80px rgba(255,255,255,.018); }
.lightbox.is-professional .lightbox-panel::before { content: ""; position: absolute; inset: 0; pointer-events: none; opacity: .12; background-image: repeating-linear-gradient(118deg, transparent 0 28px, var(--lightbox-accent) 29px); mask-image: linear-gradient(90deg, transparent 36%, #000 100%); }
.lightbox.is-professional figure { position: relative; z-index: 1; width: 100%; height: min(800px, calc(100vh - 82px)); padding: 26px; gap: 12px; border: 0; box-shadow: none; background: radial-gradient(circle at 50% 45%, var(--lightbox-glow), transparent 62%); }
.lightbox.is-professional .lightbox-media-frame { width: 100%; height: 100%; max-height: none; background: transparent; }
.lightbox.is-professional figure img { width: 100%; height: 100%; max-height: none; object-fit: contain; box-shadow: none; }
.lightbox.is-glove-domestic .lightbox-media-frame { position: relative; overflow: hidden; background: linear-gradient(145deg, #5d0a24, #23020b); }
.lightbox.is-glove-domestic { backdrop-filter: none; }
.lightbox.is-glove-domestic figure img { width: 100%; height: 100%; object-fit: contain; object-position: center; }
.lightbox.is-home .lightbox-media-frame { position: relative; width: 100%; height: 100%; margin: 0 auto; overflow: hidden; border: 1px solid color-mix(in srgb, var(--lightbox-accent) 28%, transparent); background: #18040b; box-shadow: 0 28px 75px rgba(0,0,0,.28); }
.lightbox.is-home .lightbox-media-frame img { width: 100%; height: 100%; max-height: none; object-fit: contain; object-position: center; }
.lightbox.is-professional .lightbox-meta { min-height: 58px; padding: 11px 0 0; border-top-color: rgba(255,255,255,.11); background: transparent; }
.lightbox.is-professional figcaption { flex: 1 1 180px; font-size: 12px; line-height: 1.35; text-align: left; }
.lightbox-professional { position: relative; z-index: 1; align-self: stretch; padding: clamp(34px, 5vw, 72px); display: flex; flex-direction: column; justify-content: center; border-left: 1px solid rgba(255,255,255,.1); }
.lightbox-professional[hidden] { display: none; }
.lightbox-kicker { margin: 0 0 22px; color: var(--lightbox-accent); font-size: 9px; font-weight: 800; letter-spacing: .19em; text-transform: uppercase; }
.lightbox-kicker sup, .lightbox-device-note sup, .lightbox-hydrofor sup { font-size: .55em; }
.lightbox-professional h2 { margin: 0; color: white; font-family: var(--serif); font-size: clamp(44px, 5vw, 78px); font-weight: 400; line-height: .95; letter-spacing: -.035em; }
.lightbox-formula { margin: 18px 0 0; color: var(--lightbox-accent); font-family: var(--serif); font-size: clamp(18px, 2vw, 26px); line-height: 1.25; }
.lightbox-description { max-width: 580px; margin: 26px 0; color: rgba(255,255,255,.74); font-size: 15px; line-height: 1.75; }
.lightbox-exclusive-mark { width: fit-content; margin: 2px 0 24px; padding: 12px 18px; display: grid; gap: 3px; border: 1px solid var(--lightbox-accent); background: color-mix(in srgb, var(--lightbox-accent) 12%, transparent); text-transform: uppercase; }
.lightbox-exclusive-mark span { color: rgba(255,255,255,.58); font-size: 8px; font-weight: 700; letter-spacing: .22em; }
.lightbox-exclusive-mark strong { color: var(--lightbox-accent); font-family: var(--serif); font-size: 20px; font-weight: 500; letter-spacing: .04em; }
.lightbox.is-guided .lightbox-exclusive-mark { max-width: 440px; }
.lightbox.is-guided .lightbox-exclusive-mark strong { font-size: 17px; line-height: 1.3; }
.lightbox-device-note { margin: 0; padding-top: 22px; border-top: 1px solid rgba(255,255,255,.12); color: rgba(255,255,255,.72); font-size: 13px; line-height: 1.65; }
.lightbox-device-note strong { color: white; font-weight: 700; }
.lightbox-hydrofor { margin: 26px 0 0; display: flex; align-items: baseline; gap: 10px; color: var(--lightbox-accent); text-transform: uppercase; }
.lightbox-hydrofor span { color: rgba(255,255,255,.42); font-size: 8px; font-weight: 700; letter-spacing: .16em; }
.lightbox-hydrofor strong { font-family: var(--sans); font-size: 17px; letter-spacing: .15em; }
.lightbox-glove .lightbox-exclusive-mark { max-width: 470px; }
.lightbox-glove .lightbox-exclusive-mark strong { font-size: 17px; line-height: 1.3; }
.lightbox-home .lightbox-exclusive-mark { max-width: 470px; }
.lightbox-home .lightbox-exclusive-mark strong { font-size: 17px; line-height: 1.3; }
.lightbox-package { width: 100%; max-width: 520px; margin: -4px 0 22px; padding: 15px 18px; border-left: 2px solid var(--lightbox-accent); background: color-mix(in srgb, var(--lightbox-accent) 9%, transparent); }
.lightbox-package[hidden] { display: none; }
.lightbox-package span { display: block; margin-bottom: 6px; color: var(--lightbox-accent); font-size: 8px; font-weight: 800; letter-spacing: .18em; text-transform: uppercase; }
.lightbox-package p { margin: 0; color: rgba(255,255,255,.78); font-size: 12px; line-height: 1.55; }
.lightbox-alliance { justify-content: flex-start; overflow-y: auto; }
.lightbox-alliance h2 { font-size: clamp(46px, 4.8vw, 76px); }
.lightbox-alliance .lightbox-description { margin: 22px 0 18px; }
.lightbox-alliance .lightbox-benefits { margin-bottom: 20px; padding: 16px 0; }
.lightbox-alliance .lightbox-exclusive-mark { max-width: 520px; margin-bottom: 18px; }
.lightbox-alliance .lightbox-exclusive-mark strong { font-size: 16px; line-height: 1.3; }
.lightbox-strategic-partnership { width: 100%; margin: 0 0 20px; padding: 16px 18px; border: 1px solid color-mix(in srgb, var(--lightbox-accent) 46%, transparent); background: color-mix(in srgb, var(--lightbox-accent) 8%, transparent); }
.lightbox-strategic-partnership > span { display: block; margin-bottom: 8px; color: rgba(255,255,255,.48); font-size: 8px; font-weight: 800; letter-spacing: .18em; text-transform: uppercase; }
.lightbox-strategic-partnership > div { display: flex; align-items: center; flex-wrap: wrap; gap: 10px; color: var(--lightbox-accent); }
.lightbox-strategic-partnership strong { font-size: 12px; letter-spacing: .09em; }
.lightbox-strategic-partnership i { color: rgba(255,255,255,.45); font-family: var(--serif); font-size: 18px; font-style: normal; }
.lightbox.is-passive { --lightbox-accent: #ead39d; --lightbox-glow: rgba(190,145,68,.27); }
.lightbox-passive { justify-content: flex-start; }
.lightbox-passive h2 { max-width: 540px; font-size: clamp(42px, 4.2vw, 68px); }
.lightbox-passive .lightbox-description { margin-bottom: 20px; }
.lightbox-benefits { width: 100%; margin: 0 0 24px; padding: 18px 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px 18px; list-style: none; border-top: 1px solid rgba(255,255,255,.12); border-bottom: 1px solid rgba(255,255,255,.12); }
.lightbox-benefits li { position: relative; padding-left: 17px; color: rgba(255,255,255,.76); font-size: 11px; line-height: 1.45; }
.lightbox-benefits li::before { content: "◆"; position: absolute; left: 0; top: .22em; color: var(--lightbox-accent); font-size: 7px; }
.lightbox-passive .lightbox-exclusive-mark { max-width: 500px; margin-bottom: 18px; }
.lightbox-passive .lightbox-exclusive-mark strong { font-size: 17px; line-height: 1.3; }
.lightbox-passive .lightbox-device-note { padding-top: 18px; }
.lightbox.is-device-guide { --lightbox-accent: #e6cf91; --lightbox-glow: rgba(201,163,74,.26); padding: 12px; background:
  radial-gradient(circle at 18% 45%, var(--lightbox-glow), transparent 31%),
  rgba(12,1,5,.97); }
.lightbox.is-device-guide.theme-platinum { --lightbox-accent: #d9e0e4; --lightbox-glow: rgba(164,192,206,.24); }
.lightbox.is-device-guide .lightbox-panel { width: min(1460px, calc(100vw - 24px)); max-width: 1460px; height: calc(100dvh - 24px); max-height: none; grid-template-columns: minmax(330px, .72fr) minmax(560px, 1.28fr); align-items: stretch; overflow: hidden; }
.lightbox.is-device-guide figure { height: 100%; min-height: 0; padding: 18px; grid-template-rows: minmax(0, 1fr) auto; }
.lightbox.is-device-guide .lightbox-media-frame { border: 1px solid color-mix(in srgb, var(--lightbox-accent) 24%, transparent); background: radial-gradient(circle at 50% 46%, var(--lightbox-glow), transparent 64%); }
.lightbox.is-device-guide figure img { padding: 15px; }
.lightbox.is-device-guide .lightbox-meta { position: relative; z-index: 8; min-height: 66px; padding: 10px 0 0; border-top-color: rgba(255,255,255,.16); background: linear-gradient(180deg, rgba(12,1,5,0), rgba(12,1,5,.96) 24%); }
.lightbox.is-device-guide .lightbox-buy { min-height: 50px; padding-inline: 22px; box-shadow: 0 12px 34px rgba(0,0,0,.46), 0 0 22px color-mix(in srgb, var(--lightbox-accent) 20%, transparent), inset 0 1px rgba(255,255,255,.5); }
.lightbox-device-guide { position: relative; z-index: 1; height: 100%; padding: clamp(38px, 4.2vw, 70px); overflow-y: auto; border-left: 1px solid rgba(255,255,255,.1); scrollbar-color: var(--lightbox-accent) rgba(255,255,255,.05); scrollbar-width: thin; }
.lightbox-device-guide[hidden] { display: none; }
.lightbox-device-guide::-webkit-scrollbar { width: 8px; }
.lightbox-device-guide::-webkit-scrollbar-track { background: rgba(255,255,255,.04); }
.lightbox-device-guide::-webkit-scrollbar-thumb { background: color-mix(in srgb, var(--lightbox-accent) 58%, transparent); }
.device-guide-header { padding-bottom: 34px; border-bottom: 1px solid rgba(255,255,255,.12); }
.device-guide-header h2 { max-width: 760px; margin: 0; color: white; font-family: var(--serif); font-size: clamp(54px, 5.5vw, 86px); font-weight: 400; line-height: .9; letter-spacing: -.04em; }
.device-guide-lead { max-width: 760px; margin: 25px 0 0; color: rgba(255,255,255,.72); font-size: 15px; line-height: 1.75; }
.device-guide-grid { margin: 35px 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.device-guide-grid section { min-width: 0; padding: 24px; border: 1px solid rgba(255,255,255,.11); background: rgba(255,255,255,.025); }
.device-guide-grid section > span, .device-guide-eyebrow { color: var(--lightbox-accent); font-size: 8px; font-weight: 800; letter-spacing: .17em; text-transform: uppercase; }
.device-guide-grid h3 { margin: 12px 0 11px; color: white; font-family: var(--serif); font-size: 24px; font-weight: 500; line-height: 1.08; }
.device-guide-grid p { margin: 0; color: rgba(255,255,255,.62); font-size: 12px; line-height: 1.7; }
.device-guide-method { margin: 36px 0; padding: 32px; border: 1px solid color-mix(in srgb, var(--lightbox-accent) 36%, transparent); background: color-mix(in srgb, var(--lightbox-accent) 7%, transparent); }
.device-guide-method h3 { margin: 10px 0 26px; color: white; font-family: var(--serif); font-size: 34px; font-weight: 400; }
.device-guide-method ol { margin: 0; padding: 0; display: grid; gap: 0; list-style: none; counter-reset: device-method; }
.device-guide-method li { position: relative; min-height: 68px; padding: 14px 0 14px 48px; display: grid; gap: 5px; border-top: 1px solid rgba(255,255,255,.09); counter-increment: device-method; }
.device-guide-method li::before { content: counter(device-method, decimal-leading-zero); position: absolute; left: 0; top: 13px; color: var(--lightbox-accent); font-family: var(--serif); font-size: 20px; }
.device-guide-method li strong { color: white; font-family: var(--serif); font-size: 18px; font-weight: 500; }
.device-guide-method li span { color: rgba(255,255,255,.6); font-size: 12px; line-height: 1.55; }
.device-guide-vision { margin: 34px 0; padding: 27px 30px; border-left: 2px solid var(--lightbox-accent); background: rgba(255,255,255,.025); }
.device-guide-vision span { color: var(--lightbox-accent); font-size: 8px; font-weight: 800; letter-spacing: .18em; text-transform: uppercase; }
.device-guide-vision p { margin: 12px 0 0; color: rgba(255,255,255,.74); font-family: var(--serif); font-size: 20px; font-style: italic; line-height: 1.55; }
.device-guide-boundary { margin-top: 32px; padding-top: 24px; border-top: 1px solid rgba(255,255,255,.12); }
.device-guide-boundary strong { color: white; font-size: 10px; letter-spacing: .13em; text-transform: uppercase; }
.device-guide-boundary p { margin: 9px 0 0; color: rgba(255,255,255,.48); font-size: 11px; line-height: 1.65; }
.lightbox-device-guide .lightbox-hydrofor { margin-top: 30px; padding-top: 24px; border-top: 1px solid rgba(255,255,255,.12); }
.lightbox-buy { position: relative; z-index: 4; flex: 0 0 auto; min-height: 48px; padding: 0 20px; display: inline-flex; align-items: center; justify-content: center; gap: 10px; color: #291208; border: 1px solid #f1e4ba; background: linear-gradient(135deg, #f1e4ba, #c9a34a 68%, #9a6b22); box-shadow: 0 12px 30px rgba(0,0,0,.3), inset 0 1px rgba(255,255,255,.45); font-family: var(--sans); font-size: 10px; font-weight: 800; letter-spacing: .16em; text-transform: uppercase; transition: transform .25s ease, box-shadow .25s ease, filter .25s ease; }
.lightbox-buy svg { width: 19px; height: 19px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.lightbox-buy:hover, .lightbox-buy:focus-visible { color: #1d0a03; filter: brightness(1.08); transform: translateY(-2px); box-shadow: 0 16px 36px rgba(0,0,0,.4), 0 0 22px rgba(230,207,145,.22); }
.lightbox-close { position: fixed; z-index: 110; top: 18px; right: 24px; min-width: 112px; height: 48px; padding: 0 16px 0 13px; display: inline-flex; align-items: center; justify-content: center; gap: 9px; color: white; border: 1px solid rgba(255,255,255,.42); border-radius: 999px; background: rgba(24,3,10,.86); box-shadow: 0 12px 32px rgba(0,0,0,.34); backdrop-filter: blur(10px); cursor: pointer; touch-action: manipulation; }
.lightbox-close span { font-family: var(--serif); font-size: 28px; font-weight: 400; line-height: 1; transform: translateY(-1px); }
.lightbox-close strong { font-family: var(--sans); font-size: 9px; font-weight: 800; letter-spacing: .16em; text-transform: uppercase; }
.lightbox-close:hover, .lightbox-close:focus-visible { color: #2b0d15; border-color: var(--gold-light); background: linear-gradient(135deg, var(--gold-pale), var(--gold)); outline: none; }

.reveal { opacity: 0; transform: translateY(24px); transition: opacity .75s ease, transform .75s ease; }
.reveal.visible { opacity: 1; transform: none; }

@media (max-width: 1040px) {
  .main-nav { gap: 14px; }
  .hero { min-height: 860px; grid-template-columns: 1fr .72fr; gap: 20px; }
  .hero-emblem { width: 410px; height: 610px; }
  .hero-brand-seal { left: -2%; top: 12%; width: 205px; }
  .maison-grid { grid-template-columns: .34fr 1fr; }.maison-seal { display: none; }
  .section-top { grid-template-columns: .4fr 1.4fr; }.section-top > p { grid-column: 2; }
  .collection-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .collection-card:nth-child(-n+2), .collection-card:nth-child(n+3) { grid-column: auto; min-height: 470px; }
  .collection-card:last-child { grid-column: 1 / -1; }
  .product-heading { grid-template-columns: .4fr 1.4fr; }.product-heading > p { grid-column: 2; }
  .passive-glove-heading { grid-template-columns: 1.1fr .9fr; }
  .application-heading { grid-template-columns: 1.15fr .85fr; }
  .professional-line-heading { grid-template-columns: .4fr 1.4fr; }.professional-line-heading > p { grid-column: 2; }
  .professional-product-grid { grid-template-columns: repeat(2, 1fr); }
  .professional-product-card, .professional-product-card:nth-child(4), .professional-product-card:nth-child(5) { grid-column: auto; }
  .device-showcase-copy { width: min(590px, 62%); }
  .device-showcase-media { left: 40%; width: 60%; }
  .device-showcase-shade { background: linear-gradient(90deg, #190108 0%, rgba(38,2,12,.98) 42%, rgba(31,2,10,.22) 68%, rgba(23,1,7,.04)); }
  .device-range-heading { gap: 42px; }
  .device-range-media { height: 500px; }
  .device-range-copy { min-height: 530px; padding: 34px; }
  .ecosystem-heading { grid-template-columns: .4fr 1.4fr; }
  .ecosystem-heading > p { grid-column: 2; }
  .ecosystem-track { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ecosystem-track::before { display: none; }
  .ecosystem-track article { border-bottom: 1px solid rgba(111,18,43,.11); }
  .ecosystem-track article:nth-child(even) { border-right: 0; }
  .ecosystem-track article:last-child { grid-column: 1 / -1; border-bottom: 0; }
  .universe-heading { grid-template-columns: .4fr 1.4fr; }.universe-heading > p { grid-column: 2; }
  .ritual-grid { gap: 60px; }
  .signature { grid-template-columns: 1fr 1fr; }
  .footer-main { gap: 40px; }
}

@media (max-width: 820px) {
  :root { --shell: min(calc(100% - 36px), 720px); }
  .section { padding: 90px 0; }
  .header-inner { width: calc(100% - 32px); height: 76px; }
  .menu-button { z-index: 3; display: block; }
  .main-nav { position: fixed; inset: 0; padding: 125px 32px 50px; display: flex; flex-direction: column; align-items: flex-start; gap: 28px; background: rgba(31,4,12,.98); transform: translateX(100%); transition: transform .3s ease; }
  .main-nav.open { transform: none; }
  .main-nav a { font-family: var(--serif); font-size: 28px; font-weight: 400; letter-spacing: 0; text-transform: none; }
  .main-nav .nav-buy, .main-nav .nav-contact { font-family: var(--sans); font-size: 11px; }
  .main-nav .nav-buy { min-width: 150px; justify-content: center; text-transform: uppercase; }
  .menu-button[aria-expanded="true"] span:first-child { transform: translateY(4px) rotate(45deg); }
  .menu-button[aria-expanded="true"] span:nth-child(2) { transform: translateY(-4px) rotate(-45deg); }
  .hero { height: auto; min-height: 970px; padding: 130px 26px 60px; grid-template-columns: 1fr; gap: 20px; align-content: center; text-align: center; }
  .hero-copy { margin: 0 auto; }
  .hero-intro { font-size: 18px; }
  .hero-actions { justify-content: center; }
  .hero-emblem { grid-row: 1; justify-self: center; width: min(430px, 88vw); height: 430px; margin-bottom: -55px; }
  .hero-woman { right: -2%; bottom: -14%; height: 116%; opacity: .31; }
  .hero-brand-seal { left: 1%; top: 6%; width: 175px; }
  .hero-brand-seal p { top: 118%; bottom: auto; font-size: 10px; }
  .hero-glow { right: 50%; top: 6%; width: 470px; height: 470px; transform: translateX(50%); }
  .hero-index { display: none; }
  .maison-grid, .ritual-grid, .professional-grid, .contact-inner { grid-template-columns: 1fr; }
  .maison-grid { gap: 38px; }.maison-copy { max-width: 680px; }.maison-identity { width: min(290px, 100%); }.founder-card { margin-top: 26px; }
  .principles { grid-template-columns: 1fr; margin-top: 65px; }
  .principles article, .principles article + article { min-height: auto; padding: 27px 0; border-right: 0; border-bottom: 1px solid var(--line); }
  .section-top { grid-template-columns: 1fr; gap: 30px; }.section-top > p { grid-column: auto; max-width: 550px; }
  .collection-grid { grid-template-columns: 1fr; }
  .collection-card, .collection-card:nth-child(-n+2), .collection-card:nth-child(n+3), .collection-card:last-child { grid-column: auto; min-height: 470px; }
  .product-heading { grid-template-columns: 1fr; gap: 30px; }.product-heading > p { grid-column: auto; max-width: 550px; }
  .passive-glove-heading { grid-template-columns: 1fr; gap: 28px; }.passive-glove-heading > p { max-width: 570px; }
  .passive-glove-grid { grid-template-columns: 1fr; }.passive-glove-detail { grid-template-rows: minmax(280px, .8fr) auto; }
  .application-heading { grid-template-columns: 1fr; gap: 30px; }.application-heading .overline { grid-column: auto; margin-bottom: -12px; }.application-heading > p:last-child { max-width: 570px; }
  .application-model-grid { grid-template-columns: 1fr; }
  .professional-line-heading { grid-template-columns: 1fr; gap: 30px; }.professional-line-heading > p { grid-column: auto; max-width: 550px; }
  .professional-exclusive { align-items: flex-start; flex-direction: column; gap: 9px; }
  .device-showcase { min-height: 0; display: block; }
  .device-showcase-media { position: relative; top: auto; right: auto; bottom: auto; left: auto; width: 100%; height: 470px; }
  .device-showcase-media img { object-position: 67% center; }
  .device-showcase-media::after { content: ""; position: absolute; inset: 0; background: linear-gradient(to bottom, transparent 55%, #230108 100%); }
  .device-showcase-shade { display: none; }
  .device-showcase-orbit { right: -95px; top: 210px; width: 420px; }
  .device-showcase-layout { min-height: 0; }
  .device-showcase-copy { width: 100%; margin-top: -38px; padding: 0 0 90px; }
  .device-showcase-copy .section-label { margin-bottom: 42px; }
  .device-showcase-actions { align-items: flex-start; }
  .device-range-intro { min-height: 690px; }
  .device-range-intro > img { object-position: 58% center; }
  .device-range-intro-shade { background: linear-gradient(90deg, rgba(18,1,6,.93), rgba(24,2,9,.54) 66%, rgba(18,1,6,.14)), linear-gradient(to bottom, rgba(18,1,6,.14), rgba(18,1,6,.83)); }
  .device-range-intro-copy { padding: 95px 0 72px; }
  .device-range-intro-copy > p:last-child { max-width: 620px; }
  .device-range-body { padding-top: 82px; }
  .device-range-heading { grid-template-columns: 1fr; gap: 28px; }
  .device-range-heading > p { max-width: 620px; }
  .device-range-grid { grid-template-columns: 1fr; }
  .device-range-media { height: 560px; }
  .device-range-copy { min-height: 0; }
  .ecosystem-heading { grid-template-columns: 1fr; gap: 30px; }
  .ecosystem-heading > p { grid-column: auto; max-width: 560px; }
  .ecosystem-track { grid-template-columns: 1fr; }
  .ecosystem-track article, .ecosystem-track article:nth-child(even) { border-right: 0; }
  .ecosystem-track article:last-child { grid-column: auto; }
  .lightbox.is-device-guide { padding: 54px 18px 22px; place-items: start center; }
  .lightbox.is-device-guide .lightbox-panel { width: 100%; height: auto; max-height: none; grid-template-columns: 1fr; overflow: visible; }
  .lightbox.is-device-guide figure { height: auto; min-height: 0; padding: 18px; }
  .lightbox.is-device-guide .lightbox-media-frame { height: min(58vh, 570px); }
  .lightbox-device-guide { height: auto; padding: 46px 38px 55px; overflow: visible; border-top: 1px solid rgba(255,255,255,.1); border-left: 0; }
  .product-grid { grid-template-columns: repeat(2, 1fr); }
  .product-card, .product-card:nth-last-child(2), .product-card:last-child { grid-column: auto; }
  .universe-heading { grid-template-columns: 1fr; gap: 30px; }.universe-heading > p { grid-column: auto; max-width: 550px; }
  .universe-card, .universe-card:nth-child(even) { grid-template-columns: 1fr; }
  .universe-card:nth-child(even) .universe-media { order: 0; }
  .universe-media { aspect-ratio: 16 / 8; }
  .ritual-heading .section-label { margin-bottom: 45px; }
  .signature { min-height: 750px; grid-template-columns: 1fr; text-align: center; }
  .signature-visual { min-height: 430px; }
  .signature-copy { padding: 55px 28px 30px; border-top: 1px solid rgba(230,207,145,.25); border-left: 0; }
  .professional-grid, .contact-inner { gap: 45px; }
  .footer-main { grid-template-columns: 1fr 1fr; }.footer-main nav { grid-column: 1 / -1; }
}

@media (max-width: 540px) {
  .brand img { width: 46px; height: 46px; }.brand span { font-size: 11px; }
  .hero { min-height: 900px; }
  .hero h1 { font-size: 50px; }
  .hero h1.hero-motto { font-size: 42px; }
  .hero-emblem { height: 365px; margin-bottom: -42px; }
  .hero-brand-seal { top: 5%; width: 145px; }
  .hero-actions { flex-direction: column; gap: 18px; }
  .section h2 { font-size: 42px; }
  .section-label { margin-bottom: 4px; }
  .collection-card { min-height: 500px; padding: 27px; }
  .card-art { right: 10px; top: 28px; width: 175px; height: 250px; }
  .card-copy h3 { font-size: 41px; }
  .product-grid { grid-template-columns: 1fr; }
  .product-info { min-height: 185px; }
  .passive-glove-detail { grid-template-rows: 250px auto; }.passive-glove-copy { padding: 27px; }.passive-glove-copy ul { margin-top: 14px; }
  .application-model-copy { min-height: 0; padding: 27px; }.application-model-copy small { margin-top: 25px; }
  .application-model-media-detail::before { width: 54%; }
  .application-model-media-detail > img { object-position: center 34%; transform: scale(1.13); }
  .application-model-media-detail:hover > img, .application-model-media-detail:focus-visible > img { transform: scale(1.15); }
  .application-home-visual-copy { left: 20px; width: 45%; }
  .application-home-visual-copy strong { margin: 9px 0 12px; font-size: 23px; }
  .application-home-visual-copy > span { display: none; }
  .application-home-visual-copy em { margin-top: 10px; font-size: 7px; }
  .professional-product-grid { grid-template-columns: 1fr; }
  .professional-line-action { align-items: flex-start; flex-direction: column; }
  .device-showcase-media { height: 350px; }
  .device-showcase-media img { object-position: 70% center; }
  .device-showcase-orbit { right: -120px; top: 160px; width: 330px; }
  .device-showcase-copy { margin-top: -18px; padding-bottom: 75px; }
  .device-showcase-copy h2 { font-size: 42px; }
  .device-showcase-lead { font-size: 18px; }
  .device-showcase-points { grid-template-columns: 1fr; }
  .device-showcase-actions { flex-direction: column; }
  .device-showcase-actions small { max-width: none; }
  .device-range { padding-bottom: 80px; }
  .device-range-intro { min-height: 620px; }
  .device-range-intro > img { object-position: 62% center; }
  .device-range-intro::after { left: -90px; bottom: 16%; width: 300px; }
  .device-range-intro-copy { padding: 85px 0 58px; }
  .device-range-intro-copy .section-label { margin-bottom: 35px; }
  .device-range-intro-copy h2 { font-size: 43px; }
  .device-range-intro-copy > p:last-child { font-size: 14px; line-height: 1.65; }
  .device-range-body { padding-top: 68px; }
  .device-range-heading { margin-bottom: 40px; }
  .device-range-media { height: 390px; }
  .device-range-media img { padding: 18px; }
  .device-range-copy { padding: 28px; }
  .device-range-copy h3 { font-size: 44px; }
  .device-range-principle { margin-top: 48px; padding: 28px 22px; }
  .lightbox-device-guide { padding: 34px 24px 45px; }
  .device-guide-header h2 { font-size: 52px; }
  .device-guide-grid { grid-template-columns: 1fr; }
  .device-guide-method { padding: 24px 20px; }
  .device-guide-method h3 { font-size: 29px; }
  .device-guide-vision { padding: 24px 22px; }
  .device-guide-vision p { font-size: 18px; }
  .universe-media { aspect-ratio: 16 / 10; }.universe-copy { padding: 26px; gap: 24px; }
  .ritual-steps li { grid-template-columns: 62px 1fr; gap: 17px; }
  .ritual-steps > li > span { width: 48px; }
  .professional-points { grid-template-columns: 1fr; }
  .button { width: 100%; gap: 14px; }
  .contact-details a { grid-template-columns: 1fr; gap: 1px; }
  .footer-main { grid-template-columns: 1fr; gap: 24px; }
  .footer-main nav { grid-column: auto; }
  .footer-bottom { flex-direction: column; }
  .lightbox { padding: 64px 18px 22px; place-items: start center; }.lightbox-close { top: 10px; right: 12px; min-width: 104px; height: 44px; }
  .lightbox-panel { width: 100%; max-width: 760px; }
  .lightbox-meta { padding: 10px 10px 10px 14px; gap: 12px; }
  .lightbox figcaption { font-size: 13px; }
  .lightbox.is-professional .lightbox-panel { width: 100%; max-height: none; grid-template-columns: 1fr; }
  .lightbox.is-professional figure { height: auto; min-height: 0; padding: 18px; }
  .lightbox.is-professional .lightbox-media-frame { height: min(54vh, 520px); }
  .lightbox-professional { padding: 32px 26px 40px; border-top: 1px solid rgba(255,255,255,.1); border-left: 0; }
  .lightbox-professional h2 { font-size: clamp(42px, 12vw, 64px); }
  .lightbox-buy { min-height: 44px; padding: 0 15px; }
}

@media (max-width: 560px) {
  .lightbox-meta { align-items: stretch; flex-direction: column; }
  .lightbox-buy { width: 100%; }
  .lightbox.is-professional .lightbox-meta { align-items: stretch; }
  .lightbox.is-professional figcaption { text-align: center; }
  .lightbox-benefits { grid-template-columns: 1fr; }
  .lightbox-passive h2 { font-size: 40px; }
}

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