/* opus-05 — Kinetic typography & motion */
@font-face { font-family: "Geologica"; src: url(fonts/geologica-full-cyrillic.woff2) format("woff2"); font-weight: 100 900; font-display: swap; unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; }
@font-face { font-family: "Geologica"; src: url(fonts/geologica-full-latin.woff2) format("woff2"); font-weight: 100 900; font-display: swap; unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
:root {
  --bg: #0D0F0E; --bg-2: #151917; --paper: #EFECE6; --ink: #0D0F0E; --fg: #EFECE6; --mute: #9BA39E; --mint: #9AF3CF; --mint-2: #5FE0AE; --line: rgba(239,236,230,.16);
  --gut: clamp(16px, 4vw, 48px); --f: "Geologica", system-ui, "Segoe UI", sans-serif;
}
*, *::before, *::after { box-sizing: border-box; }
html { scroll-padding-top: 80px; -webkit-text-size-adjust: 100%; }
body { margin: 0; background: var(--bg); color: var(--fg); font: 300 16.5px/1.6 var(--f); overflow-x: clip; }
img { max-width: 100%; height: auto; display: block; }
a { color: inherit; }
h1, h2, h3 { margin: 0; font-weight: 700; }
p { margin: 0 0 1em; }
button, input, select, textarea { font: inherit; color: inherit; }
[hidden] { display: none !important; }
.sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
:focus-visible { outline: 2px solid var(--mint); outline-offset: 4px; }
.skip { position: absolute; left: 10px; top: -60px; z-index: 100; padding: 10px 14px; background: var(--mint); color: var(--ink); }
.skip:focus { top: 10px; }
.wrap { width: min(1360px, 100%); margin: 0 auto; padding: 0 var(--gut); }
.k { font-size: 12.5px; font-weight: 500; letter-spacing: .2em; text-transform: uppercase; color: var(--mint); margin-bottom: 14px; }
.big { --w: 700; font-size: clamp(36px, 7vw, 108px); line-height: .98; letter-spacing: -.035em; font-weight: 700; font-variation-settings: "wght" var(--w), "SHRP" 0; margin-bottom: 22px; transition: font-variation-settings .25s linear; overflow-wrap: break-word; }
.sub { color: var(--mute); font-size: clamp(16px, 1.5vw, 19px); max-width: 720px; }
.fine { font-size: 13.5px; color: var(--mute); }
.progress { position: fixed; left: 0; right: 0; top: 0; height: 3px; z-index: 50; }
.progress i { display: block; height: 100%; background: var(--mint); transform-origin: 0 50%; transform: scaleX(0); }

/* buttons */
.btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 52px; padding: 12px 26px; border-radius: 99px; border: 1.5px solid transparent; font-weight: 500; text-decoration: none; cursor: pointer; font-variation-settings: "wght" 500; transition: font-variation-settings .25s, background .25s, color .25s, transform .25s; }
.btn:hover { font-variation-settings: "wght" 800; }
.btn-mint { background: var(--mint); color: var(--ink); }
.btn-mint:hover { background: #fff; transform: translateY(-2px); }
.btn-ghost { border-color: var(--fg); color: var(--fg); background: transparent; }
.btn-ghost:hover { background: var(--fg); color: var(--ink); }
.btn-sm { min-height: 42px; padding: 8px 18px; font-size: 15px; }
.btn-xl { width: 100%; min-height: 60px; font-size: 18px; }
.btn:disabled { opacity: .45; cursor: not-allowed; transform: none; }

/* header */
.hdr { position: sticky; top: 0; z-index: 40; mix-blend-mode: normal; background: rgba(13,15,14,.82); backdrop-filter: blur(10px); border-bottom: 1px solid var(--line); }
.hdr-in { display: flex; align-items: center; gap: 12px; height: 66px; width: min(1360px, 100%); margin: 0 auto; padding: 0 var(--gut); }
.logo { margin-right: auto; text-decoration: none; font-size: clamp(18px, 4.6vw, 22px); letter-spacing: .02em; display: flex; gap: 6px; flex: none; white-space: nowrap; }
.logo > span { white-space: nowrap; }
.logo .ch { display: inline-block; font-variation-settings: "wght" 800; transition: font-variation-settings .3s; transition-delay: calc(var(--i) * 30ms); }
.logo .logo-r .ch { font-variation-settings: "wght" 250; color: var(--mint); }
.logo:hover .ch { font-variation-settings: "wght" 250; } .logo:hover .logo-r .ch { font-variation-settings: "wght" 900; }
.nav { display: none; }
.cart-btn { display: inline-flex; align-items: center; gap: 10px; height: 44px; padding: 0 8px 0 16px; flex: none; border-radius: 99px; border: 1.5px solid var(--fg); background: transparent; cursor: pointer; font-weight: 500; }
.cart-btn:hover { background: var(--fg); color: var(--ink); }
.count { display: inline-grid; place-items: center; min-width: 28px; height: 28px; padding: 0 7px; border-radius: 99px; background: var(--mint); color: var(--ink); font-size: 13px; font-weight: 700; }
.count.bump { animation: bump .6s cubic-bezier(.3,1.8,.5,1); }
@keyframes bump { 40% { transform: scale(1.5); } }
.burger { flex: none; height: 44px; padding: 0 14px; border-radius: 99px; border: 1.5px solid var(--line); background: transparent; cursor: pointer; font-weight: 500; }
.menu-open .nav { display: grid; position: fixed; inset: var(--menu-top, 66px) 0 0; z-index: 39; align-content: start; padding: 18px var(--gut); background: var(--bg); overflow: auto; }
.menu-open .nav a { font-size: clamp(34px, 10vw, 60px); line-height: 1.12; letter-spacing: -.03em; text-decoration: none; font-variation-settings: "wght" 300; transition: font-variation-settings .3s; animation: nav-in .5s backwards; }
.menu-open .nav a:hover, .menu-open .nav a:focus-visible { font-variation-settings: "wght" 900; color: var(--mint); }
.menu-open .nav a:nth-child(2) { animation-delay: .04s; } .menu-open .nav a:nth-child(3) { animation-delay: .08s; } .menu-open .nav a:nth-child(4) { animation-delay: .12s; } .menu-open .nav a:nth-child(5) { animation-delay: .16s; } .menu-open .nav a:nth-child(6) { animation-delay: .2s; } .menu-open .nav a:nth-child(7) { animation-delay: .24s; } .menu-open .nav a:nth-child(8) { animation-delay: .28s; }
@keyframes nav-in { from { opacity: 0; transform: translateY(20px); font-variation-settings: "wght" 100; } }
@media (min-width: 1140px) {
  .burger { display: none; }
  .nav { display: flex; gap: 2px; }
  .nav a { padding: 8px 10px; text-decoration: none; font-size: 15px; font-variation-settings: "wght" 350; transition: font-variation-settings .25s, color .25s; }
  .nav a:hover { font-variation-settings: "wght" 800; color: var(--mint); }
}

/* hero */
.hero { padding: 28px var(--gut) 40px; width: min(1440px, 100%); margin: 0 auto; overflow: hidden; }
.hero-k { display: flex; flex-wrap: wrap; gap: 6px 26px; font-size: 13px; letter-spacing: .2em; text-transform: uppercase; color: var(--mute); margin-bottom: 8px; }
.hero-k span:first-child { color: var(--mint); }
.hero-h { font-weight: 400; margin: 0 0 26px; }
.kin { display: block; font-size: clamp(64px, 17.4vw, 262px); line-height: .9; letter-spacing: -.045em; white-space: nowrap; }
.kin .ch { display: inline-block; --w: 900; --s: 0; font-variation-settings: "wght" var(--w), "slnt" var(--s); animation: breathe 5.6s ease-in-out infinite; animation-delay: calc(var(--i) * 260ms); }
.kin.live .ch { animation: none; transition: font-variation-settings .35s cubic-bezier(.2,.8,.2,1); }
@keyframes breathe { 0%, 100% { font-variation-settings: "wght" 900, "slnt" 0; } 50% { font-variation-settings: "wght" 160, "slnt" -10; } }
.hero-l2 { display: block; font-size: clamp(26px, 4.6vw, 70px); line-height: 1.05; letter-spacing: -.03em; font-variation-settings: "wght" 250; margin-top: 4px; }
.hero-l2 em { font-style: normal; color: var(--mint); font-variation-settings: "wght" 800, "slnt" -12; }
.hero-row { display: grid; gap: 22px; align-items: end; }
.hero-p { color: var(--mute); max-width: 560px; font-size: clamp(16px, 1.5vw, 19px); margin: 0; }
.hero-cta { display: flex; flex-wrap: wrap; gap: 12px; }
@media (min-width: 900px) { .hero-row { grid-template-columns: 1fr auto; } }
.hero-boxes { display: grid; grid-template-columns: repeat(4, 1fr); gap: clamp(8px, 2vw, 28px); margin-top: 40px; align-items: end; }
.hero-boxes button { position: relative; border: 0; background: none; padding: 0; cursor: pointer; animation: rise .9s cubic-bezier(.2,.9,.2,1) backwards; animation-delay: calc(.2s + var(--i) * .12s); }
.hero-boxes img { width: 100%; max-width: 170px; margin: 0 auto; transition: transform .4s cubic-bezier(.3,1.5,.5,1); filter: drop-shadow(0 20px 26px rgba(0,0,0,.6)); }
.hero-boxes button:hover img { transform: translateY(-14px) rotate(-3deg); }
.hero-boxes span { display: block; margin-top: 10px; text-align: center; font-size: clamp(18px, 3vw, 40px); letter-spacing: -.03em; font-variation-settings: "wght" 200; transition: font-variation-settings .3s, color .3s; }
.hero-boxes button:hover span, .hero-boxes button:focus-visible span { font-variation-settings: "wght" 900; color: var(--mint); }
@keyframes rise { from { opacity: 0; transform: translateY(80px); } }

/* strip */
.strip { overflow: hidden; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); background: var(--mint); color: var(--ink); }
.strip-in { display: inline-flex; gap: 30px; white-space: nowrap; padding: 16px 0; font-size: clamp(22px, 3.4vw, 46px); letter-spacing: -.02em; will-change: transform; }
.strip-in span { font-variation-settings: "wght" 800; }
.strip-in span:nth-of-type(even) { font-variation-settings: "wght" 200, "slnt" -12; }
.strip-in b { font-weight: 400; }

/* sections */
.sec { padding: clamp(70px, 10vw, 140px) 0; }
.head { margin-bottom: clamp(36px, 5vw, 64px); }

/* product rows */
.sec-products { background: var(--paper); color: var(--ink); }
.sec-products .sub, .sec-products .fine { color: #4A524E; }
.sec-products .k { color: #1F7A57; }
.rows { border-top: 1px solid rgba(13,15,14,.2); }
.row { display: grid; grid-template-columns: 1fr; gap: 10px 30px; padding: 30px var(--gut); border-bottom: 1px solid rgba(13,15,14,.2); position: relative; overflow: hidden; width: min(1360px, 100%); margin: 0 auto; }
.row::before { content: ""; position: absolute; inset: 0; background: var(--c); transform: scaleY(0); transform-origin: bottom; transition: transform .5s cubic-bezier(.7,0,.2,1); z-index: 0; opacity: .12; }
.row:hover::before { transform: scaleY(1); }
.row > * { position: relative; z-index: 1; }
.row-num .pct { --w: 900; display: block; font-size: clamp(72px, 15vw, 210px); line-height: .85; letter-spacing: -.06em; color: var(--c); font-variation-settings: "wght" var(--w), "slnt" 0; transition: font-variation-settings .5s; }
.row:hover .pct { font-variation-settings: "wght" 150, "slnt" -12; }
.row-img { justify-self: start; border: 0; background: none; padding: 0; cursor: zoom-in; }
.row-img img { height: 200px; width: auto; filter: drop-shadow(0 18px 18px rgba(13,15,14,.3)); transition: transform .5s cubic-bezier(.3,1.5,.5,1); }
.row:hover .row-img img { transform: rotate(-6deg) translateY(-8px) scale(1.04); }
.row-k { font-size: 13px; letter-spacing: .16em; text-transform: uppercase; color: #4A524E; margin: 0 0 6px; }
.row h3 { font-size: clamp(26px, 3vw, 40px); letter-spacing: -.03em; line-height: 1.05; font-variation-settings: "wght" 700; }
.row-for { color: #4A524E; margin: 6px 0 4px; }
.row-spec { font-size: 14.5px; margin-bottom: 16px; }
.row-buy { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 14px; }
.row-buy .btn-mint { background: var(--ink); color: var(--paper); }
.row-buy .btn-mint:hover { background: var(--c); color: #fff; }
.row-buy .btn-ghost { border-color: var(--ink); color: var(--ink); }
.row-buy .btn-ghost:hover { background: var(--ink); color: var(--paper); }
.price { margin: 0 6px 0 0; line-height: 1.1; } .price b { display: block; font-size: 28px; letter-spacing: -.02em; font-variation-settings: "wght" 800; } .price s { color: #6A716D; font-size: 14px; }
@media (min-width: 900px) { .row { grid-template-columns: minmax(0, 1.1fr) auto minmax(0, 1fr); align-items: center; } .row-img img { height: 230px; } }
.compare { margin-top: 50px; }
.table-wrap { overflow-x: auto; border-top: 2px solid var(--ink); }
table { width: 100%; min-width: 760px; border-collapse: collapse; font-size: 14.5px; }
th, td { text-align: left; padding: 14px 12px; border-bottom: 1px solid rgba(13,15,14,.15); white-space: nowrap; }
thead th { font-size: 12px; letter-spacing: .16em; text-transform: uppercase; font-weight: 500; color: #4A524E; }
tbody th { font-weight: 600; } tbody th i { display: inline-block; width: 10px; height: 10px; border-radius: 50%; margin-right: 10px; }

/* calc */
.calc { display: grid; gap: 30px; border-top: 1px solid var(--line); padding-top: 30px; --line-c: var(--mint); }
@media (min-width: 1000px) { .calc { grid-template-columns: 1.1fr .9fr; gap: 60px; } }
.calc-in { display: grid; gap: 30px; }
fieldset { border: 0; margin: 0; padding: 0; min-width: 0; }
legend, .lbl { font-size: 12.5px; letter-spacing: .2em; text-transform: uppercase; color: var(--mute); margin: 0 0 12px; padding: 0; font-weight: 400; display: block; }
.tg { display: flex; flex-wrap: wrap; gap: 8px; }
.tg label { position: relative; cursor: pointer; }
.tg input, .pay input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.tg span { display: inline-block; padding: 10px 20px; border-radius: 99px; border: 1.5px solid var(--line); font-variation-settings: "wght" 350; transition: all .25s; }
.tg input:checked + span { background: var(--fg); color: var(--ink); border-color: var(--fg); font-variation-settings: "wght" 800; }
.tg input:focus-visible + span, .pay input:focus-visible + span { outline: 2px solid var(--mint); outline-offset: 3px; }
.kg-num { --w: 400; display: block; font-size: clamp(80px, 16vw, 220px); line-height: .9; letter-spacing: -.05em; font-variation-settings: "wght" var(--w); transition: font-variation-settings .35s cubic-bezier(.2,.8,.2,1); color: var(--fg); margin-bottom: 10px; white-space: nowrap; }
.range { -webkit-appearance: none; appearance: none; width: 100%; height: 34px; background: transparent; cursor: pointer; }
.range::-webkit-slider-runnable-track { height: 4px; background: linear-gradient(90deg, var(--mint) var(--fill, 20%), var(--line) var(--fill, 20%)); }
.range::-moz-range-track { height: 4px; background: linear-gradient(90deg, var(--mint) var(--fill, 20%), var(--line) var(--fill, 20%)); }
.range::-webkit-slider-thumb { -webkit-appearance: none; width: 30px; height: 30px; margin-top: -13px; border-radius: 50%; background: var(--mint); border: 6px solid var(--bg); box-shadow: 0 0 0 1.5px var(--mint); }
.range::-moz-range-thumb { width: 22px; height: 22px; border-radius: 50%; background: var(--mint); border: 5px solid var(--bg); }
.calc-out { background: var(--bg-2); border: 1px solid var(--line); border-radius: 28px; padding: clamp(20px, 3vw, 36px); }
.dose { display: flex; align-items: baseline; flex-wrap: wrap; gap: 6px 14px; margin-bottom: 8px; }
.dose b { --w: 600; font-size: clamp(64px, 9vw, 120px); line-height: .9; letter-spacing: -.05em; color: var(--mint); font-variation-settings: "wght" var(--w); transition: font-variation-settings .4s; }
.dose b.pop { animation: pop .45s cubic-bezier(.3,1.7,.5,1); }
@keyframes pop { 30% { transform: scale(1.08) skewX(-6deg); } }
.dose span { color: var(--mute); font-size: 18px; }
.dose-sub { color: var(--mute); } .dose-sub b { color: var(--fg); font-weight: 600; }
.over { color: #FFB27A; font-size: 14.5px; }
.rec { display: grid; grid-template-columns: 74px 1fr; gap: 16px; align-items: center; padding: 18px 0; margin: 10px 0 14px; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.rec img { height: 120px; width: auto; }
.rec-n { font-size: clamp(30px, 4vw, 52px); line-height: 1; letter-spacing: -.04em; color: var(--line-c); font-variation-settings: "wght" 900, "slnt" -8; margin: 0 0 4px; }
[data-calc][data-line="mini"] .rec-n { color: #6BD47B; } [data-calc][data-line="small"] .rec-n { color: #FFC24A; } [data-calc][data-line="medium"] .rec-n { color: #7FA8FF; } [data-calc][data-line="large"] .rec-n { color: #FF8A4C; }
.rec-m { color: var(--mute); font-size: 13.5px; margin-bottom: 10px; }
.rec-b { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; } .rec-b b { font-size: 22px; margin-right: 6px; font-variation-settings: "wght" 800; }
.calc-out .fine { margin: 0; }

/* why */
.sec-why { padding-top: 0; }
.why { list-style: none; padding: 0; margin: 0; border-top: 1px solid var(--line); counter-reset: w; }
.why li { counter-increment: w; display: grid; gap: 6px 30px; padding: 24px 0; border-bottom: 1px solid var(--line); }
@media (min-width: 900px) { .why li { grid-template-columns: 90px 1fr 1fr; align-items: baseline; } }
.why li::before { content: "0" counter(w); color: var(--mint); font-size: 14px; letter-spacing: .1em; }
.why h3 { font-size: clamp(26px, 3.6vw, 52px); line-height: 1; letter-spacing: -.035em; font-variation-settings: "wght" 250; transition: font-variation-settings .4s, color .3s; }
.why li:hover h3 { font-variation-settings: "wght" 900; color: var(--mint); }
.why p { color: var(--mute); margin: 0; }

/* quality: sliding lines */
.sec-q { background: var(--mint); color: var(--ink); overflow: hidden; }
.sec-q .k { color: #0D5C43; } .sec-q .sub { color: #23463A; }
.slide-lines { list-style: none; padding: 0; margin: 0 0 50px; }
.slide-lines li { --t: 1; display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 24px; padding: 14px 0; border-bottom: 1.5px solid rgba(13,15,14,.25); transform: translateX(calc((1 - var(--t)) * -30%)); opacity: calc(.2 + var(--t) * .8); }
.slide-lines li[data-slide="r"] { transform: translateX(calc((1 - var(--t)) * 30%)); justify-content: flex-end; text-align: right; }
.slide-lines b { font-size: clamp(36px, 7.6vw, 116px); line-height: .95; letter-spacing: -.045em; font-variation-settings: "wght" calc(200 + var(--t) * 700), "SHRP" calc(var(--t) * 100); }
.slide-lines span { font-size: clamp(15px, 1.5vw, 19px); color: #23463A; }
.q-more { display: grid; gap: 30px; align-items: center; }
@media (min-width: 900px) { .q-more { grid-template-columns: .7fr 1.3fr; } }
.q-img { margin: 0; border-radius: 28px; overflow: hidden; max-width: 420px; }
.q-list { list-style: none; padding: 0; margin: 0; display: grid; gap: 0; border-top: 1.5px solid rgba(13,15,14,.3); }
.q-list li { padding: 14px 0; border-bottom: 1.5px solid rgba(13,15,14,.3); font-size: clamp(17px, 1.8vw, 22px); font-variation-settings: "wght" 450; }

/* cbd */
.flow { list-style: none; padding: 0; margin: 0 0 40px; display: grid; gap: 30px; }
@media (min-width: 900px) { .flow { grid-template-columns: repeat(3, 1fr); } }
.f-w { display: block; font-size: clamp(40px, 5.4vw, 78px); line-height: 1; letter-spacing: -.045em; margin-bottom: 14px; }
.f-1 { font-variation-settings: "wght" 200; } .f-2 { font-variation-settings: "wght" 500, "slnt" -6; } .f-3 { font-variation-settings: "wght" 900; color: var(--mint); }
.flow li:hover .f-w { animation: wob 1.2s ease-in-out; }
@keyframes wob { 25% { font-variation-settings: "wght" 900, "slnt" -12; } 60% { font-variation-settings: "wght" 150, "slnt" 0; } }
.flow p { color: var(--mute); margin: 0; }
.uses { border-top: 1px solid var(--line); padding-top: 26px; margin-bottom: 26px; }
.uses ul { list-style: none; padding: 0; margin: 0; display: grid; gap: 20px; }
@media (min-width: 760px) { .uses ul { grid-template-columns: repeat(4, 1fr); } }
.uses li { color: var(--mute); font-size: 15px; }
.uses b { display: block; font-size: 26px; letter-spacing: -.02em; color: var(--fg); font-variation-settings: "wght" 700; margin-bottom: 4px; }

/* vets */
.sec-vets { background: var(--bg-2); }
.vets { display: grid; gap: 40px; }
@media (min-width: 1000px) { .vets { grid-template-columns: 1fr 1fr; align-items: start; } }
.mats { list-style: none; padding: 0; margin: 0; border-top: 1px solid var(--line); }
.mats a { display: grid; gap: 4px; padding: 20px 0; border-bottom: 1px solid var(--line); text-decoration: none; transition: padding .3s; }
.mats a:hover { padding-left: 14px; }
.mats b { font-size: clamp(22px, 2.4vw, 32px); letter-spacing: -.02em; font-variation-settings: "wght" 400; transition: font-variation-settings .3s; }
.mats a:hover b { font-variation-settings: "wght" 900; color: var(--mint); }
.mats span { color: var(--mute); font-size: 15px; }
.mats i { font-style: normal; color: var(--mint); font-size: 14px; }

/* academy */
.arts { list-style: none; padding: 0; margin: 0; border-top: 1px solid var(--line); }
.art { display: grid; grid-template-columns: 44px 1fr 30px; gap: 16px; padding: 24px 0; border-bottom: 1px solid var(--line); text-decoration: none; align-items: start; }
.art-n { color: var(--mint); font-size: 14px; padding-top: 8px; }
.art-b { display: grid; gap: 6px; }
.art-k { font-size: 12.5px; letter-spacing: .14em; text-transform: uppercase; color: var(--mute); }
.art-t { font-size: clamp(22px, 3vw, 42px); line-height: 1.05; letter-spacing: -.03em; font-variation-settings: "wght" 300; transition: font-variation-settings .4s, color .3s; }
.art:hover .art-t, .art:focus-visible .art-t { font-variation-settings: "wght" 800; color: var(--mint); }
.art-p { color: var(--mute); max-width: 720px; font-size: 15px; }
.art-go { font-size: 26px; transition: transform .3s; }
.art:hover .art-go { transform: translate(4px, -4px) rotate(10deg); color: var(--mint); }

/* about */
.sec-about { background: var(--paper); color: var(--ink); }
.sec-about .sub { color: #4A524E; } .sec-about .k { color: #1F7A57; }
.nums { list-style: none; padding: 0; margin: 0 0 40px; display: grid; gap: 0; border-top: 2px solid var(--ink); }
@media (min-width: 760px) { .nums { grid-template-columns: repeat(3, 1fr); } }
.nums li { padding: 22px 0; border-bottom: 1px solid rgba(13,15,14,.2); }
@media (min-width: 760px) { .nums li + li { padding-left: 24px; border-left: 1px solid rgba(13,15,14,.2); } }
.nums b { --w: 900; display: block; font-size: clamp(56px, 8vw, 120px); line-height: .9; letter-spacing: -.05em; font-variation-settings: "wght" var(--w); }
.nums span { color: #4A524E; }
.vals { list-style: none; padding: 0; margin: 0; display: grid; gap: 20px; }
@media (min-width: 760px) { .vals { grid-template-columns: repeat(3, 1fr); } }
.vals li { color: #4A524E; }
.vals b { display: block; font-size: 24px; color: var(--ink); letter-spacing: -.02em; font-variation-settings: "wght" 800; }

/* faq */
.faq { border-top: 1px solid var(--line); }
.faq summary { list-style: none; cursor: pointer; padding: 22px 50px 22px 0; position: relative; font-size: clamp(22px, 2.8vw, 38px); line-height: 1.1; letter-spacing: -.03em; font-variation-settings: "wght" 300; transition: font-variation-settings .35s, color .3s; border-bottom: 1px solid var(--line); }
.faq summary::-webkit-details-marker { display: none; }
.faq summary::after { content: "+"; position: absolute; right: 4px; top: 50%; transform: translateY(-50%); font-size: 34px; color: var(--mint); transition: transform .3s; font-variation-settings: "wght" 200; }
.faq summary:hover { font-variation-settings: "wght" 700; }
.faq details[open] summary { font-variation-settings: "wght" 800; color: var(--mint); border-bottom-color: transparent; }
.faq details[open] summary::after { transform: translateY(-50%) rotate(45deg); }
.faq details p { color: var(--mute); margin: 0; padding: 0 0 24px; max-width: 760px; font-size: 17px; border-bottom: 1px solid var(--line); }

/* delivery */
.del { display: grid; gap: 0; border-top: 1px solid var(--line); }
@media (min-width: 640px) { .del { grid-template-columns: 1fr 1fr; } }
@media (min-width: 1100px) { .del { grid-template-columns: repeat(4, 1fr); } }
.del > div { padding: 26px 20px 26px 0; border-bottom: 1px solid var(--line); }
.del h3 { font-size: 30px; letter-spacing: -.03em; font-variation-settings: "wght" 800; margin-bottom: 12px; color: var(--mint); }
.del ul { list-style: none; padding: 0; margin: 0; display: grid; gap: 6px; color: var(--mute); }

/* footer */
.ftr { border-top: 1px solid var(--line); padding: 50px 0 26px; overflow: hidden; }
.ftr-big { font-size: clamp(48px, 13.4vw, 196px); line-height: .9; letter-spacing: -.05em; margin: 0 0 40px; white-space: nowrap; color: var(--mint); }
.ftr-big .ch { display: inline-block; font-variation-settings: "wght" 900; transition: font-variation-settings .5s; }
.ftr-big:hover .ch { font-variation-settings: "wght" 120; transition-delay: calc(var(--i) * 40ms); }
.ftr-grid { display: grid; gap: 26px; }
@media (min-width: 860px) { .ftr-grid { grid-template-columns: 1.3fr 1fr 1fr; } }
.ftr-grid > p { color: var(--mute); max-width: 420px; }
.ftr nav { display: grid; gap: 6px; align-content: start; }
.ftr a { text-decoration: none; } .ftr a:hover { color: var(--mint); }
.disc { margin: 34px 0 14px; padding: 16px 0; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); font-size: clamp(16px, 1.8vw, 22px); font-variation-settings: "wght" 600; }
.copy { font-size: 13px; color: var(--mute); margin: 0; }

/* drawer */
.drawer { position: fixed; inset: 0; z-index: 60; }
.scrim { position: absolute; inset: 0; background: rgba(0,0,0,.6); opacity: 0; transition: opacity .3s; }
.panel { position: absolute; top: 0; right: 0; bottom: 0; width: min(460px, 100%); background: var(--paper); color: var(--ink); display: flex; flex-direction: column; transform: translateX(100%); transition: transform .45s cubic-bezier(.7,0,.2,1); }
.drawer.is-open .scrim { opacity: 1; } .drawer.is-open .panel { transform: none; }
.d-head { display: flex; justify-content: space-between; align-items: center; padding: 18px 22px; border-bottom: 1.5px solid var(--ink); }
.d-head h2 { font-size: 40px; letter-spacing: -.04em; font-variation-settings: "wght" 800; display: flex; align-items: center; gap: 12px; margin: 0; }
.x { width: 44px; height: 44px; border-radius: 50%; border: 1.5px solid currentColor; background: transparent; cursor: pointer; font-size: 16px; }
.d-empty { padding: 26px 22px; display: grid; gap: 12px; justify-items: start; color: #4A524E; }
.d-empty .btn-mint { background: var(--ink); color: var(--paper); }
.lines { list-style: none; margin: 0; padding: 8px 22px; flex: 1; overflow: auto; }
.cl { display: grid; grid-template-columns: 56px 1fr auto; gap: 4px 14px; align-items: center; padding: 14px 0; border-bottom: 1px solid rgba(13,15,14,.15); }
.cl-img { grid-row: span 2; width: 56px; height: auto; }
.cl-info { display: grid; line-height: 1.3; } .cl-name { font-size: 16px; font-variation-settings: "wght" 700; } .cl-meta { color: #4A524E; font-size: 12.5px; } .cl-price { font-variation-settings: "wght" 700; }
.cl-qty { grid-column: 3; grid-row: 1; display: flex; align-items: center; gap: 2px; border: 1.5px solid var(--ink); border-radius: 99px; }
.cl-qty button { width: 32px; height: 32px; border: 0; background: none; cursor: pointer; font-size: 18px; }
.cl-qty output { min-width: 20px; text-align: center; font-variation-settings: "wght" 700; }
.cl-del { grid-column: 2 / 4; justify-self: start; background: none; border: 0; padding: 0; font-size: 13px; text-decoration: underline; cursor: pointer; color: #4A524E; }
.d-foot { padding: 18px 22px 22px; border-top: 1.5px solid var(--ink); display: grid; gap: 12px; }
.d-foot .btn-mint { background: var(--ink); color: var(--paper); }
.d-foot .btn-mint:hover { background: #1F7A57; }
.ship { font-size: 13.5px; color: #4A524E; display: grid; gap: 8px; }
.ship i { display: block; height: 4px; background: linear-gradient(90deg, #1F7A57 calc(var(--p, 0) * 100%), rgba(13,15,14,.12) 0); }
.tot { display: flex; justify-content: space-between; align-items: baseline; margin: 0; } .tot b { font-size: 36px; letter-spacing: -.03em; font-variation-settings: "wght" 800; }

/* pdp */
.pdp { width: min(980px, calc(100% - 24px)); max-height: calc(100% - 24px); padding: 0; border: 0; border-radius: 28px; background: var(--paper); color: var(--ink); overflow: auto; }
.pdp::backdrop { background: rgba(0,0,0,.7); }
.pdp > .x { position: sticky; top: 12px; float: right; margin: 12px 12px 0 0; z-index: 2; }
.pdp-in { display: grid; }
@media (min-width: 760px) { .pdp-in { grid-template-columns: .9fr 1.1fr; } }
.pdp-media { position: relative; display: grid; place-items: center; padding: 30px; background: var(--c); overflow: hidden; min-height: 320px; }
.pdp-pct { position: absolute; left: -10px; bottom: -30px; font-size: 190px; line-height: 1; letter-spacing: -.06em; color: rgba(255,255,255,.28); font-variation-settings: "wght" 900; }
.pdp-media img { position: relative; max-height: 360px; width: auto; filter: drop-shadow(0 20px 22px rgba(0,0,0,.4)); }
.pdp-body { padding: 28px; }
.pdp-body .k { color: #1F7A57; } .pdp-body .sub { color: #4A524E; }
.pdp-body .big { font-size: clamp(32px, 4vw, 52px); }
.pdp-specs { margin: 16px 0; border-top: 1.5px solid var(--ink); }
.pdp-specs div { display: flex; justify-content: space-between; gap: 10px; padding: 9px 0; border-bottom: 1px solid rgba(13,15,14,.15); }
.pdp-specs dt { color: #4A524E; } .pdp-specs dd { margin: 0; text-align: right; font-variation-settings: "wght" 650; }
.pdp-hl { list-style: none; padding: 0; margin: 0 0 18px; display: flex; flex-wrap: wrap; gap: 8px; }
.pdp-hl li { padding: 6px 14px; border: 1.5px solid var(--ink); border-radius: 99px; font-size: 14px; }
.pdp-buy { display: flex; justify-content: space-between; align-items: center; gap: 14px; flex-wrap: wrap; margin-bottom: 12px; }
.pdp-buy .btn-mint { background: var(--ink); color: var(--paper); }
.pdp .fine { color: #4A524E; }

/* checkout */
.view { min-height: 80vh; }
.back { display: inline-block; margin-bottom: 14px; color: var(--mute); }
.steps { list-style: none; padding: 0; margin: 0 0 30px; display: flex; flex-wrap: wrap; gap: 8px 26px; font-size: 14px; letter-spacing: .14em; text-transform: uppercase; color: var(--mute); }
.steps .on { color: var(--mint); font-variation-settings: "wght" 800; }
.co { display: grid; gap: 26px; align-items: start; }
@media (min-width: 960px) { .co { grid-template-columns: 1.4fr 1fr; } .sum { position: sticky; top: 90px; } }
.co-form { display: grid; gap: 18px; }
.blk { border: 1px solid var(--line); border-radius: 24px; padding: 22px; margin: 0; min-width: 0; display: grid; gap: 14px; background: var(--bg-2); }
.blk legend { float: left; width: 100%; font-size: 26px; letter-spacing: -.03em; text-transform: none; color: var(--fg); font-variation-settings: "wght" 800; margin-bottom: 4px; }
.g2 { display: grid; gap: 12px; }
@media (min-width: 640px) { .g2 { grid-template-columns: 1fr 1fr; } }
label { display: grid; gap: 6px; font-size: 14px; color: var(--mute); }
input:not([type=radio]):not([type=checkbox]):not([type=range]), textarea { width: 100%; min-height: 52px; padding: 12px 0; border: 0; border-bottom: 1.5px solid var(--line); background: transparent; color: var(--fg); font-size: 18px; border-radius: 0; }
input:not([type=radio]):not([type=checkbox]):not([type=range]):focus, textarea:focus { outline: none; border-bottom-color: var(--mint); }
input::placeholder, textarea::placeholder { color: #5D6561; }
.pays { display: grid; gap: 10px; }
@media (min-width: 640px) { .pays { grid-template-columns: 1fr 1fr; } }
.pay { position: relative; cursor: pointer; display: block; }
.pay span { display: grid; gap: 2px; padding: 14px 18px; border-radius: 18px; border: 1.5px solid var(--line); transition: all .25s; }
.pay b { font-size: 18px; color: var(--fg); font-variation-settings: "wght" 500; } .pay small { color: var(--mute); }
.pay input:checked + span { border-color: var(--mint); background: rgba(154,243,207,.08); }
.pay input:checked + span b { font-variation-settings: "wght" 850; color: var(--mint); }
.sum .k { margin: 0; }
.sum-list { list-style: none; padding: 0; margin: 0; display: grid; gap: 10px; }
.sum-list li { display: grid; grid-template-columns: 40px 1fr auto; gap: 10px; align-items: center; font-size: 15px; }
.sum-list small { color: var(--mute); }
.sum-list .sum-empty { display: block; color: var(--mute); }
.sum-list a { color: var(--mint); }
.sum-tot { margin: 0; display: grid; gap: 6px; padding-top: 12px; border-top: 1px solid var(--line); }
.sum-tot div { display: flex; justify-content: space-between; gap: 10px; } .sum-tot dt { color: var(--mute); } .sum-tot dd { margin: 0; }
.big-t dd { font-size: 34px; letter-spacing: -.03em; font-variation-settings: "wght" 800; color: var(--mint); }
.view-ok { display: grid; align-items: center; }
.okw { text-align: center; }
.kin-ok { font-size: clamp(48px, 14vw, 200px); margin-bottom: 20px; overflow: hidden; }
.ok-n { font-size: clamp(18px, 2vw, 24px); } .ok-n b { color: var(--mint); font-variation-settings: "wght" 800; }
.ok-items { list-style: none; padding: 0; color: var(--mute); }
.pay-ov { position: fixed; inset: 0; z-index: 80; display: grid; place-items: center; background: rgba(13,15,14,.85); padding: 16px; }
.pay-card { text-align: center; max-width: 380px; font-size: 18px; }
.pay-k { font-size: 70px; line-height: .6; color: var(--mint); animation: dots 1.2s ease-in-out infinite; letter-spacing: .1em; }
@keyframes dots { 50% { font-variation-settings: "wght" 900; letter-spacing: .4em; } }
.toast { position: fixed; left: 50%; bottom: 20px; z-index: 90; transform: translate(-50%, 170%); background: var(--mint); color: var(--ink); padding: 14px 22px; border-radius: 99px; font-variation-settings: "wght" 600; transition: transform .45s cubic-bezier(.3,1.5,.5,1); max-width: calc(100% - 32px); }
.toast.is-on { transform: translate(-50%, 0); }

.js [data-reveal] { opacity: 0; transform: translateY(40px); transition: opacity .8s, transform .8s cubic-bezier(.2,.8,.2,1); }
.js [data-reveal].is-in { opacity: 1; transform: none; }

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation: none !important; transition: none !important; }
  .js [data-reveal] { opacity: 1; transform: none; }
  .slide-lines li, .slide-lines li[data-slide="r"] { transform: none; opacity: 1; }
  .slide-lines b { font-variation-settings: "wght" 800; }
}

/* fixed mobile menu must not be trapped by a backdrop-filter containing block */
.menu-open .hdr, .menu-open .hdr-in { -webkit-backdrop-filter: none !important; backdrop-filter: none !important; }
