/* =====================================================================
   Deepak Bali — WordPress layer
   site.css is the design system, kept as delivered. This file only adds
   what a live WordPress site needs: [hidden], the admin bar, form replies,
   the video embed, editor content and print.
   ===================================================================== */

body { background: var(--night, #0B0907); }
.site [hidden] { display: none !important; }
.site main { display: block; }

.skip-link:focus { position: fixed !important; top: 12px; left: 12px; z-index: 100; width: auto; height: auto; clip: auto; padding: 10px 16px; background: var(--brass); color: var(--night); }

/* Admin bar: keep sticky bars and the menu panel below it */
@media (min-width: 601px) {
	.admin-bar .fbar-wrap, .admin-bar .stepchips { top: 46px; }
	.admin-bar .menu-panel { top: 46px; }
}
@media (min-width: 783px) {
	.admin-bar .fbar-wrap, .admin-bar .stepchips { top: 32px; }
	.admin-bar .menu-panel { top: 32px; }
	.admin-bar .stepnav { top: 56px; }
	.admin-bar .rv-step { scroll-margin-top: 56px; }
}
.menu-open { overflow: hidden; }

/* Form replies */
.form-msg { margin: 12px 0 0; font-size: 15px; line-height: 1.5; }
.form-msg:empty { display: none; }
.form-msg.is-ok { color: var(--accent); }
.form-msg.is-err { color: var(--accent); font-weight: 500; }
.s-ox .form-msg.is-err { color: var(--parch); }
.ns-form.is-sending, .ct-form.is-sending, .price-alert.is-sending { opacity: .6; pointer-events: none; }
.price-alert .form-msg { flex-basis: 100%; }

/* Review: sample badge, competition line */
.trust .rv-sample { color: var(--accent); font-weight: 500; }
.buy--hv .buy-price .t-meta { white-space: normal; }

/* Tasting Room: the YouTube player, loaded on demand */
.player-embed { position: relative; aspect-ratio: 16 / 9; background: #000; }
.player-embed iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }

/* Copy link feedback */
.js-copy.is-done span:first-child::after { content: " ✓"; }
button.link-arrow { border: 0; background: transparent; padding: 0; color: inherit; font: inherit; cursor: pointer; }

/* Editor content (Disclosures, issues, other pages) */
.doc-prose > * + * { margin-top: 1.1em; }
.doc-prose h2 { margin-top: 2em; }
.doc-prose h2:first-child { margin-top: 0; }
.doc-prose figure.wp-block-table { margin: 1.6em 0; overflow-x: auto; }
.doc-prose .wp-block-table thead { border-bottom: 0; }
.doc-prose img { height: auto; }
.doc-prose ul, .doc-prose ol { padding-left: 1.2em; }
.doc-prose .signature { margin-top: 32px; }

/* Disclosures: sticky numbered contents beside numbered sections (same pattern as the review's step nav) */
.doc-layout { align-items: start; }
.doc-nav { position: sticky; top: 24px; }
.doc-nav ol { list-style: none; margin: 14px 0 0; padding: 0; border-top: 1px solid var(--line-strong); }
.doc-nav li { border-bottom: 1px solid var(--line); }
.doc-nav a { display: grid; grid-template-columns: 34px minmax(0, 1fr); gap: 6px; align-items: baseline; min-height: 48px; padding: 13px 0; text-decoration: none; font: 400 18px/1.2 var(--serif); }
.doc-nav a:hover { color: var(--accent); }
.doc-nav .sn { font: italic 400 17px/1 var(--serif); color: var(--accent); }
.doc-body { display: grid; gap: clamp(48px, 5vw, 72px); min-width: 0; }
.doc-intro { font-size: 1.05em; }
.doc-sec { scroll-margin-top: 24px; min-width: 0; }
.doc-sec .doc-h { margin: 0 0 22px; padding-bottom: 16px; border-bottom: 1px solid var(--line-strong); }
.doc-n { flex: none; font: italic 400 clamp(32px, 3vw, 44px)/.9 var(--serif); color: var(--accent); }
.doc-sec .doc-prose > :first-child { margin-top: 0; }
.doc-sec figure.wp-block-table { margin: 1.4em 0 0; }
.doc-sec .wp-block-table table.table { border: 0; }
.doc-sec .wp-block-table .table th, .doc-sec .wp-block-table .table td { border-width: 0 0 1px; border-style: solid; }
.doc-sec .wp-block-table .table th { border-color: var(--line-strong); }
.doc-sec .wp-block-table .table td { border-color: var(--line); }
.doc-ask { margin: 0; padding-top: 22px; border-top: 1px solid var(--line); color: var(--soft); }
.admin-bar .doc-nav { top: 56px; }
.admin-bar .doc-sec { scroll-margin-top: 56px; }
@media (max-width: 1080px) {
	.doc-nav { position: static; }
	.doc-layout { row-gap: 40px; }
}
@media (max-width: 640px) {
	.doc-sec .wp-block-table .table td:first-child { font-size: 17px; }
}
.nav-links { display: flex; gap: 16px; }
.nav-links .page-numbers[aria-current] { color: var(--accent); }

/* Printable tasting card (?card=1) */
.card-page { margin: 0; }
.card-page-main { min-height: 100vh; display: grid; place-items: center; padding: 32px 16px; }
.card-page-inner { width: min(560px, 100%); }
.card-page-hint { margin-top: 18px; text-align: center; color: var(--muted); }

@media print {
	@page { margin: 12mm; }
	.site, .card-page-main { background: var(--night) !important; -webkit-print-color-adjust: exact; print-color-adjust: exact; }
	.card-page-main { min-height: 0; padding: 0; }
	.card-page-hint { display: none; }
	.site-header, .menu-panel, .site-footer, .news-band, .mbar, .stepchips, .stepnav { display: none !important; }
}

/* ---------- Home: Recent tastings carousel ---------- */
.rt-head { display: flex; justify-content: space-between; align-items: flex-end; gap: 24px; padding-bottom: 28px; border-bottom: 1px solid var(--line); }
.rt-bar { display: flex; justify-content: space-between; align-items: center; gap: 16px 24px; flex-wrap: wrap; padding-block: 20px; border-bottom: 1px solid var(--line); }
.rt-pills { display: flex; flex-wrap: wrap; gap: 10px; }
.rt-pill { min-height: 44px; padding: 0 20px; border: 1px solid var(--parch-line); border-radius: 999px; background: transparent; color: var(--ink); font: 500 13px/1 var(--sans); letter-spacing: .04em; cursor: pointer; transition: background .2s var(--ease), color .2s var(--ease), border-color .2s var(--ease); }
.rt-pill i { font-style: normal; margin-left: 6px; color: var(--muted); }
.rt-pill:hover { border-color: var(--ink); }
.rt-pill[aria-pressed="true"] { background: var(--ink); border-color: var(--ink); color: var(--parch); }
.rt-pill[aria-pressed="true"] i { color: var(--cream-dim); }
.rt-nav { display: flex; align-items: center; gap: 10px; }
.rt-count { margin: 0 12px 0 0; font: 400 12px/1 var(--sans); letter-spacing: .14em; color: var(--peat); font-variant-numeric: tabular-nums; }
.rt-arrow { width: 44px; height: 44px; display: grid; place-items: center; border: 1px solid var(--parch-line); background: transparent; color: var(--ink); cursor: pointer; transition: border-color .2s var(--ease); }
.rt-arrow:hover:not(:disabled) { border-color: var(--ink); }
.rt-arrow:disabled { color: var(--smoke); cursor: default; opacity: .6; }

.rt-track { --gap: 24px; display: grid; grid-auto-flow: column; grid-auto-columns: calc((100% - 3 * var(--gap)) / 4); gap: var(--gap); margin: 32px 0 0; padding: 0; list-style: none; overflow-x: auto; scroll-snap-type: x mandatory; scroll-behavior: smooth; scrollbar-width: none; overscroll-behavior-x: contain; }
.rt-track::-webkit-scrollbar { display: none; }
.rt-card { position: relative; display: flex; flex-direction: column; scroll-snap-align: start; background: var(--parch-3); border: 1px solid #E3D6BF; transition: border-color .2s var(--ease); }
.rt-card:hover { border-color: var(--peat); }
.rt-img { position: relative; aspect-ratio: 1 / 1; display: grid; place-items: center; padding: 44px 20px 16px; background: #EADFCB; overflow: hidden; }
.rt-img img { width: 100%; height: 100%; object-fit: contain; mix-blend-mode: multiply; transition: transform .5s var(--ease); }
.rt-card:hover .rt-img img { transform: scale(1.03); }
.rt-no { position: absolute; top: 14px; left: 16px; font: italic 400 30px/1 var(--serif); color: #B8AA93; }
.rt-tag { position: absolute; top: 18px; right: 16px; padding: 6px 10px; border: 1px solid #9E9080; font: 500 10px/1 var(--sans); letter-spacing: .18em; text-transform: uppercase; color: var(--peat); }
.rt-body { display: flex; flex-direction: column; flex: 1; padding: 22px 20px 22px; }
.rt-meta { margin: 0; font: 400 11.5px/1.4 var(--sans); color: var(--peat); }
.rt-name { margin: 10px 0 0; font: 400 22px/1.15 var(--serif); color: var(--ink); }
.rt-name a { text-decoration: none; color: inherit; }
.rt-verdict { margin: 12px 0 0; font: italic 400 14.5px/1.45 var(--serif); color: var(--peat); }
.rt-foot { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; margin-top: auto; padding-top: 24px; }
.rt-score { font: 400 11px/1 var(--sans); color: var(--peat); }
.rt-score b { margin-right: 4px; font: 400 27px/1 var(--serif); color: var(--oxblood); }
.rt-band { font: 500 10.5px/1 var(--sans); letter-spacing: .16em; text-transform: uppercase; color: var(--ink); }
.rt-meter { display: block; height: 3px; margin-top: 12px; background: #E3D8C2; }
.rt-meter i { display: block; height: 100%; background: var(--oxblood); }

.rt-card--next { background: transparent; border: 1px dashed #A99A84; }
.rt-card--next:hover { border-color: var(--ink); }
.rt-next-in { flex: 1; display: flex; flex-direction: column; justify-content: center; align-items: center; gap: 10px; min-height: 100%; padding: 32px 24px; text-align: center; text-decoration: none; color: var(--peat); }
.rt-next-in .label { color: var(--peat); }
.rt-next-t { font: 400 22px/1.2 var(--serif); color: var(--peat-2); }
.rt-next-s { font: 400 12px/1.4 var(--sans); }

@media (max-width: 1080px) {
	.rt-track { grid-auto-columns: calc((100% - 2 * var(--gap)) / 2.6); }
}
@media (max-width: 640px) {
	.rt-head { align-items: flex-start; flex-direction: column; gap: 14px; }
	.rt-bar { flex-direction: column; align-items: stretch; }
	.rt-pills { flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none; margin-inline: calc(-1 * var(--gutter)); padding-inline: var(--gutter); }
	.rt-pills::-webkit-scrollbar { display: none; }
	.rt-pill { flex: none; }
	.rt-nav { justify-content: flex-end; }
	.rt-count { margin-right: auto; }
	.rt-track { --gap: 14px; grid-auto-columns: 78%; margin-inline: calc(-1 * var(--gutter)); padding-inline: var(--gutter); scroll-padding-inline: var(--gutter); }
}

/* ---------- Home: Tasting Room — player + more episodes ---------- */
.tr-head { border-bottom: 0; padding-bottom: 0; }
.tr-em { font-style: italic; color: var(--brass); }
.tr-grid { display: grid; grid-template-columns: minmax(0, 64fr) minmax(0, 32fr); gap: 48px; margin-top: 40px; align-items: start; }
.tr-player { position: relative; }
.tr-screen { position: relative; display: block; aspect-ratio: 16 / 9; overflow: hidden; background: #EDE3D2; color: var(--ink); text-decoration: none; }
.tr-no { position: absolute; top: 34px; left: 26px; z-index: 1; font: italic 400 clamp(44px, 5vw, 68px)/1 var(--serif); color: var(--ink); }
.tr-imgs { position: absolute; inset: 14% 18% 6%; display: flex; justify-content: center; align-items: flex-end; gap: 4%; }
.tr-imgs img { height: 100%; width: auto; max-width: 48%; object-fit: contain; mix-blend-mode: multiply; transition: transform .5s var(--ease); }
.tr-screen:hover .tr-imgs img { transform: scale(1.03); }
.tr-play { position: absolute; inset: 0; display: grid; place-items: center; }
.tr-play i { width: 80px; height: 80px; display: grid; place-items: center; border-radius: 50%; background: var(--brass); color: var(--night); transition: transform .25s var(--ease); }
.tr-play svg { width: 13px; height: 16px; margin-left: 3px; }
.tr-screen:hover .tr-play i { transform: scale(1.06); }
.tr-dur { position: absolute; right: 16px; bottom: 16px; padding: 8px 10px; background: var(--night); color: var(--parch); font: 500 12px/1 var(--sans); letter-spacing: .1em; }
.tr-player .player-embed { aspect-ratio: 16 / 9; }
.tr-title { margin: 10px 0 0; font: 400 clamp(30px, 3vw, 40px)/1.08 var(--serif); color: var(--parch); }
.tr-chapters { display: flex; flex-wrap: wrap; gap: 8px; margin: 24px 0 0; padding: 0; list-style: none; }
.tr-chapters a { display: inline-flex; align-items: baseline; gap: 10px; min-height: 38px; padding: 10px 14px; border: 1px solid var(--line-strong); color: var(--parch); font: 400 12.5px/1.2 var(--sans); text-decoration: none; transition: border-color .2s var(--ease); }
.tr-chapters a:hover { border-color: var(--brass); }
.tr-chapters a span { font: italic 400 13px/1 var(--serif); color: var(--brass); }

.tr-more { padding: 8px 0 20px; border-bottom: 1px solid var(--line); }
.tr-list { margin: 0; padding: 0; list-style: none; }
.tr-list li { border-bottom: 1px solid var(--line); }
.tr-item { width: 100%; display: grid; grid-template-columns: 112px minmax(0, 1fr); gap: 16px; align-items: center; padding: 16px 0; border: 0; background: transparent; color: inherit; text-align: left; cursor: pointer; }
.tr-thumb { height: 70px; display: grid; place-items: center; background: #1D1712; font: italic 400 28px/1 var(--serif); color: var(--brass); transition: background .2s var(--ease); }
.tr-item:hover .tr-thumb { background: #2A2119; }
.tr-item[aria-pressed="true"] .tr-thumb { background: var(--brass); color: var(--night); outline: 1px solid var(--brass); outline-offset: 3px; }
.tr-item-t { display: flex; flex-direction: column; gap: 4px; }
.tr-item-m { font: 400 11.5px/1.3 var(--sans); letter-spacing: .04em; color: var(--smoke); }
.tr-item-n { font: 400 17px/1.2 var(--serif); color: var(--parch); }
.tr-now { display: none; margin-top: 4px; font: 500 10.5px/1 var(--sans); letter-spacing: .18em; text-transform: uppercase; color: var(--brass); }
.tr-item[aria-pressed="true"] .tr-now { display: block; }
.tr-note { margin: 24px 0 0; font: 400 13px/1.6 var(--sans); color: var(--smoke); }

@media (max-width: 1080px) {
	.tr-grid { grid-template-columns: 1fr; gap: 40px; }
}
@media (max-width: 640px) {
	.tr-screen { margin-inline: calc(-1 * var(--gutter)); }
	.tr-player .player-embed { margin-inline: calc(-1 * var(--gutter)); }
	.tr-no { top: 18px; left: 18px; }
	.tr-play i { width: 64px; height: 64px; }
	.tr-item { grid-template-columns: 88px minmax(0, 1fr); }
	.tr-thumb { height: 56px; font-size: 24px; }
}
.tr-meta { margin-top: 34px; }
.tr-watch { display: flex; justify-content: center; width: 100%; margin-top: 30px; }
@media (max-width: 1080px) {
	.tr-side { display: flex; flex-direction: column; }
}

/* ---------- Tasting notes: one-line filter bar ---------- */
.archive .fbar-wrap { padding-top: 0; }
.archive .fbar.fbar--line { display: flex; align-items: center; gap: 16px 40px; padding: 48px 0 0; background: none; box-shadow: none; border: 0; }
.archive .fbar--line .fsearch { flex: 1 1 auto; max-width: 686px; min-height: 48px; padding: 0; gap: 14px; background: transparent; box-shadow: inset 0 -1px 0 var(--ink); color: var(--ink); }
.archive .fbar--line .fsearch:focus-within { box-shadow: inset 0 -2px 0 var(--oxblood); }
.archive .fbar--line .fsearch input { min-height: 46px; font: 400 15.5px/1 var(--sans); }
.archive .fbar--line .fbar-tools { display: flex; align-items: center; gap: 32px; flex: none; }
.archive .fbar--line .ftoggle { min-height: 44px; padding: 0; gap: 10px; background: none; color: var(--ink); font: 500 12px/1 var(--sans); letter-spacing: .18em; }
.archive .fbar--line .ftoggle[aria-expanded="true"] { background: none; color: var(--oxblood); }
.archive .fbar--line .ftoggle b { min-width: 20px; height: 20px; padding: 0 6px; border-radius: 10px; background: var(--oxblood); color: var(--parch); font: 600 11px/1 var(--sans); }
.archive .fbar--line .fsort { gap: 12px; }
.archive .fbar--line .fsort .label { font-size: 11px; color: var(--peat); }
.archive .fbar--line .fsort .select { position: relative; display: inline-flex; align-items: center; }
.archive .fbar--line .fsort select { appearance: none; -webkit-appearance: none; min-width: 136px; min-height: 44px; padding: 0 24px 0 0; border: 0; background: transparent; box-shadow: none; color: var(--ink); font: 600 12.5px/1 var(--sans); letter-spacing: .14em; text-transform: uppercase; cursor: pointer; }
.archive .fbar--line .fsort .select svg { position: absolute; right: 2px; pointer-events: none; color: var(--ink); }
.archive .fbar--line .vtoggle { gap: 4px; box-shadow: none; }
.archive .fbar--line .vtoggle button { width: 40px; height: 40px; background: transparent; box-shadow: none; color: #A99A84; }
.archive .fbar--line .vtoggle button:hover { color: var(--ink); }
.archive .fbar--line .vtoggle button[aria-pressed="true"] { background: transparent; color: var(--ink); }

/* The chip panel opens from "Filters" */
.archive .fpanel:not(.is-open) { display: none !important; }
.archive .fpanel.is-open { margin-top: 24px; }
.fpanel-foot { display: flex; justify-content: space-between; align-items: center; gap: 16px; }
@media (min-width: 1081px) {
	.archive .fpanel.is-open { display: grid; padding: 22px 20px; background: var(--parch-3); box-shadow: inset 0 0 0 1px var(--line); background-image: none; }
	.archive .fpanel-foot { grid-column: 1 / -1; margin-top: 8px; padding-top: 16px; border-top: 1px solid var(--line); }
}

/* Filtered by */
.archive .fresult.fresult--line { padding-top: 26px; }
.factive-row { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 16px; }
.factive-label { font: 400 13.5px/1 var(--sans); color: var(--peat); }
.archive .factive { align-items: center; gap: 8px; }
.archive .factive button { min-height: 32px; padding: 0 12px; gap: 12px; background: #E3D6BF; color: var(--ink); font: 400 13.5px/1 var(--sans); letter-spacing: 0; transition: background .2s var(--ease); }
.archive .factive button:hover { background: #D9C9AD; }
.archive .factive button span { font-size: 16px; line-height: 1; }
.archive .factive .fclear-all { margin-left: 4px; padding: 0; background: none; font: 600 11px/1 var(--sans); letter-spacing: .16em; text-transform: uppercase; text-decoration: underline; text-underline-offset: 4px; }
.archive .factive .fclear-all:hover { background: none; color: var(--oxblood); }

@media (max-width: 1080px) {
	.archive .fbar.fbar--line { flex-wrap: wrap; padding-top: 16px; padding-bottom: 6px; }
	.archive .fbar--line .fsearch { flex-basis: 100%; max-width: none; }
	.archive .fbar--line .fbar-tools { width: 100%; justify-content: space-between; gap: 16px; }
	.archive .fbar--line .fsort select { min-width: 0; }
}
@media (max-width: 640px) {
	.archive .fbar--line .fsort .label { display: none; }
}

/* ---------- Home: latest tasting card ---------- */
.lt-sec { padding-block: 96px var(--section); }
.lt { display: grid; grid-template-columns: 5fr 6fr; border: 1px solid var(--parch-line); background: var(--parch-3); }
.lt-media { position: relative; display: flex; align-items: center; justify-content: center; padding: 56px 40px 48px; background: var(--parch); border-right: 1px solid var(--parch-line); }
.lt-stand img { height: clamp(320px, 34vw, 470px); }
.lt-seal { position: absolute; z-index: 2; top: 22px; left: 22px; margin: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; width: 116px; height: 116px; border-radius: 50%; background: var(--oxblood); color: var(--parch); box-shadow: 0 0 0 5px var(--parch-3), 0 0 0 6px var(--oxblood); }
.lt-seal b { font: italic 400 46px/0.9 var(--serif); }
.lt-seal span { margin-top: 6px; font-size: 10px; letter-spacing: .14em; }
/* No bottle photo yet: the score seal takes the panel. */
.lt--noimg .lt-stand { display: none; }
.lt--noimg .lt-seal { position: static; width: 220px; height: 220px; box-shadow: 0 0 0 8px var(--parch), 0 0 0 9px var(--oxblood); }
.lt--noimg .lt-seal b { font-size: 92px; }
.lt--noimg .lt-seal span { margin-top: 12px; font-size: 13px; }
.lt-body { display: flex; flex-direction: column; padding: 48px 52px 56px; }
.lt-top { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 8px 20px; }
.lt-top .eyebrow { font-size: 11px; font-weight: 600; letter-spacing: .24em; color: var(--oxblood); }
.lt-no { margin: 0; font-size: 11px; letter-spacing: .2em; text-transform: uppercase; color: var(--muted); }
.lt-title { margin: 22px 0 0; font: 400 clamp(38px, 4vw, 54px)/1.02 var(--serif); letter-spacing: -.01em; color: var(--ink); }
.lt-title em { color: var(--oxblood); }
.lt-tags { display: flex; flex-wrap: wrap; gap: 8px; margin: 22px 0 0; padding: 0; list-style: none; }
.lt-tags li { display: inline-flex; align-items: center; padding: 7px 12px; border: 1px solid var(--parch-line); font-size: 12px; color: var(--peat); }
.lt-dot { width: 9px; height: 9px; margin-right: 8px; border-radius: 50%; background: var(--c, #9A4A16); }
.lt-quote { margin: 30px 0 0; font: italic 400 clamp(20px, 1.8vw, 25px)/1.45 var(--serif); color: var(--ink); }
.lt-scale { display: grid; grid-template-columns: repeat(5, 1fr); gap: 4px; margin: 34px 0 0; padding: 0 0 30px; list-style: none; border-bottom: 1px solid var(--parch-line); }
.lt-scale li { display: flex; flex-direction: column; gap: 3px; padding-top: 14px; border-top: 5px solid var(--parch-2); font-size: 10px; letter-spacing: .14em; text-transform: uppercase; color: var(--muted); }
.lt-scale li.is-on { border-top-color: var(--oxblood); color: var(--oxblood); font-weight: 600; }
.lt-cta { display: flex; flex-wrap: wrap; align-items: center; gap: 18px 24px; margin-top: 24px; }
.lt-cta .btn { min-height: 50px; padding: 0 24px; font-weight: 600; }
.lt-watch { padding-bottom: 3px; border-bottom: 1px solid var(--ink); font-size: 11px; letter-spacing: .2em; text-transform: uppercase; color: var(--ink); text-decoration: none; }
.lt-watch:hover { color: var(--oxblood); border-color: var(--oxblood); }
.lt-buy { grid-column: 1 / -1; display: flex; flex-wrap: wrap; align-items: center; gap: 14px 24px; padding: 16px 28px; background: #1A1714; color: var(--parch); }
.lt-buy + .lt-buy { border-top: 1px solid var(--night-line); }
.lt-shop { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 24px; margin: 0 auto 0 0; }
.lt-shop-n { font: 400 19px/1.2 var(--serif); }
.lt-stock { display: inline-flex; align-items: center; gap: 8px; font-size: 12px; color: rgba(242, 233, 218, .7); }
.lt-stock i { width: 6px; height: 6px; border-radius: 50%; background: #4FA25F; }
.lt-buy--hv .lt-stock i { background: var(--brass); }
.lt-price { margin: 0; font-size: 12px; color: rgba(242, 233, 218, .7); }
.lt-price b { font: italic 400 26px/1 var(--serif); color: var(--brass); }
.lt-buy .btn { min-height: 44px; padding: 0 20px; font-size: 11px; font-weight: 600; }
.lt-sec .buy-note { margin-top: 12px; }
@media (max-width: 900px) {
  .lt { grid-template-columns: 1fr; }
  .lt-media { border-right: 0; border-bottom: 1px solid var(--parch-line); padding: 40px 24px 32px; }
  .lt-stand img { height: 320px; }
  .lt-body { padding: 32px 24px 36px; }
}
@media (max-width: 640px) {
  .lt-sec { padding-block: 56px; }
  .lt-seal { width: 88px; height: 88px; top: 16px; left: 16px; }
  .lt-seal b { font-size: 34px; }
  .lt-scale { grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 3px; }
  .lt-scale li { font-size: 8.5px; letter-spacing: .06em; }
  .lt-scale li span + span { display: none; }
  .lt-scale li.is-on span + span { display: block; }
  .lt-cta .btn { width: 100%; }
  .lt-buy { padding: 16px 20px; }
  .lt-buy .btn { width: 100%; }
}

/* ---------- Home: the approach ---------- */
.pm { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: 72px; align-items: center; padding-block: 72px 88px; }
.pm-card { margin: 0; padding: 44px 38px 26px; background: var(--parch-3); border: 1px solid var(--parch-line); box-shadow: 0 24px 50px -18px rgba(26, 20, 16, .22), 0 4px 10px rgba(26, 20, 16, .04); transform: rotate(-2deg); }
.pm-label { margin: 0; font: 500 10px/1.4 var(--sans); letter-spacing: .3em; text-transform: uppercase; color: var(--oxblood); }
.pm-text { margin: 18px 0 0; padding: 0; border: 0; }
.pm-text p { margin: 0; font: italic 400 clamp(20px, 1.7vw, 23px)/1.45 var(--serif); color: var(--ink); }
.pm-text p + p { margin-top: 12px; font: 400 16px/1.6 var(--serif); color: var(--peat); }
.pm-sign { margin-top: 10px; font: 400 clamp(46px, 4.4vw, 60px)/1.1 var(--script); color: var(--oxblood); }
.pm-list { margin: 0; padding: 0; list-style: none; border-top: 1px solid var(--ink); }
.pm-list li { display: flex; align-items: center; gap: 22px; padding: 20px 0; border-bottom: 1px solid var(--parch-line); }
.pm-ico { flex: none; display: flex; align-items: center; justify-content: center; width: 54px; height: 54px; border: 1px solid var(--oxblood); border-radius: 50%; color: var(--oxblood); }
.pm-t { margin: 0; font: 400 clamp(21px, 1.7vw, 24px)/1.25 var(--serif); color: var(--ink); }
.pm-d { margin: 6px 0 0; font-size: 14px; line-height: 1.55; color: var(--peat); }
@media (max-width: 900px) {
  .pm { grid-template-columns: 1fr; gap: 48px; padding-block: 56px 64px; }
  .pm-card { max-width: 520px; margin-inline: 4px; }
}
@media (max-width: 640px) {
  .pm-card { padding: 32px 26px 20px; transform: rotate(-1.2deg); }
  .pm-list li { align-items: flex-start; gap: 16px; }
  .pm-ico { width: 44px; height: 44px; }
}

/* ---------- About ---------- */
.paper { background: var(--parch-3); border: 1px solid var(--parch-line); box-shadow: 0 30px 60px -24px rgba(26, 20, 16, .28), 0 4px 12px rgba(26, 20, 16, .05); }
.ab-h2 { margin: 18px 0 0; font: 400 clamp(32px, 3.3vw, 48px)/1.12 var(--serif); letter-spacing: -.01em; }
.ab-label { margin: 0; font: 500 11px/1.4 var(--sans); letter-spacing: .24em; text-transform: uppercase; color: var(--peat); }
.ab-card-kicker { margin: 0; font-size: 10px; letter-spacing: .24em; text-transform: uppercase; color: var(--peat); }
.ab-ulink { padding-bottom: 6px; border-bottom: 1px solid currentColor; font-size: 12px; font-weight: 500; letter-spacing: .22em; text-transform: uppercase; color: var(--ink); text-decoration: none; }
.ab-ulink:hover { color: var(--oxblood); }

/* hero */
.ab-hero { padding-block: clamp(48px, 7vw, 96px) clamp(64px, 7vw, 100px); border-bottom: 1px solid var(--parch-line); }
.ab-hero-grid { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr); gap: 56px 80px; align-items: center; }
.ab-hero .crumbs { margin-bottom: 18px; font-size: 11px; letter-spacing: .24em; text-transform: uppercase; color: var(--oxblood); }
.ab-hero .crumbs a { color: inherit; }
.ab-title { margin: 0; font: 400 clamp(48px, 6vw, 84px)/.98 var(--serif); letter-spacing: -.02em; color: var(--ink); }
.ab-title em { display: block; color: var(--oxblood); }
.ab-lede { margin: 30px 0 0; max-width: 30em; font-size: 18px; line-height: 1.6; color: var(--peat-2); }
.ab-ctas { display: flex; flex-wrap: wrap; align-items: center; gap: 20px 28px; margin-top: 36px; }
.ab-ctas .btn { min-height: 52px; padding: 0 26px; font-weight: 600; }
.ab-card { padding: 30px 30px 22px; transform: rotate(1.5deg); }
.ab-card-head { display: flex; align-items: center; gap: 20px; padding-bottom: 20px; border-bottom: 1.5px solid var(--ink); }
.ab-card-photo { flex: none; width: 84px; height: 84px; border-radius: 50%; object-fit: cover; object-position: 50% 20%; background: var(--parch-2); }
.ab-card-name { margin: 8px 0 0; font: 400 clamp(26px, 2.2vw, 32px)/1.1 var(--serif); color: var(--ink); }
.ab-card-rows { margin: 0; }
.ab-card-rows > div { display: grid; grid-template-columns: 150px minmax(0, 1fr); gap: 4px 16px; padding: 14px 0; border-bottom: 1px dashed var(--parch-line); }
.ab-card-rows dt { padding-top: 3px; font-size: 10px; letter-spacing: .22em; text-transform: uppercase; color: var(--peat); }
.ab-card-rows dd { margin: 0; font-size: 15px; line-height: 1.45; color: var(--ink); }
.ab-card-rows dd.is-it { font: italic 400 16px/1.4 var(--serif); }
.ab-card-rows dd a { font-size: 12px; color: inherit; }
.ab-card-rows > div:last-child { border-bottom: 0; }
.ab-card-sign { margin: -6px 0 0; text-align: right; font: 400 clamp(40px, 3.6vw, 52px)/1.1 var(--script); color: var(--oxblood); }

/* story */
.ab-story { padding-block: clamp(72px, 8vw, 112px); background: var(--parch-3); color: var(--ink); }
.ab-story-grid { display: grid; grid-template-columns: minmax(0, 1.45fr) minmax(0, 1fr); gap: 56px 72px; }
.ab-story .eyebrow { color: var(--oxblood); }
.ab-story-t span { color: #8C7B66; }
.ab-story-body { margin-top: 34px; columns: 2; column-gap: 40px; font-size: 16px; line-height: 1.75; color: var(--peat-2); }
.ab-story-body p { margin: 0 0 18px; }
.ab-story-body a { color: var(--ink); }
.ab-way { margin: 18px 0 0; padding: 0; list-style: none; border-top: 1px solid #CDB98F; }
.ab-way li { display: grid; grid-template-columns: 52px minmax(0, 1fr); padding: 22px 0 24px; border-bottom: 1px solid #CDB98F; }
.ab-way-n { font: italic 400 20px/1.2 var(--serif); color: var(--oxblood); }
.ab-way-t { margin: 0; font: 400 21px/1.2 var(--serif); color: var(--ink); }
.ab-way-d { margin: 8px 0 0; font-size: 13.5px; line-height: 1.55; color: var(--peat); }

/* method */
.ab-method { padding-block: clamp(72px, 8vw, 112px); }
.ab-center { text-align: center; }
.ab-center .eyebrow { justify-content: center; }
.ab-intro { max-width: 32em; margin: 18px auto 0; font-size: 15px; line-height: 1.65; color: var(--peat-2); }
.ab-method-grid { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr); gap: 56px 64px; align-items: start; margin-top: 56px; }
.ab-tcard { padding: 36px 40px; }
.ab-tcard-head { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 8px 16px; padding-bottom: 18px; border-bottom: 1.5px solid var(--ink); }
.ab-tcard-head h3 { margin: 0; font: 400 28px/1.15 var(--serif); }
.ab-tcard-head p { margin: 0; font-size: 10px; letter-spacing: .22em; text-transform: uppercase; color: var(--peat); }
.ab-steps { margin: 0; padding: 0; list-style: none; }
.ab-steps li { display: grid; grid-template-columns: 72px minmax(0, 1fr); align-items: start; padding: 22px 0 20px; border-bottom: 1px dashed #CDBC9F; }
.ab-step-n { display: flex; align-items: center; justify-content: center; width: 42px; height: 42px; margin-top: 2px; border: 1px solid var(--oxblood); border-radius: 50%; font: italic 400 15px/1 var(--serif); color: var(--oxblood); }
.ab-step-t { margin: 0; font-size: 11px; font-weight: 600; letter-spacing: .22em; text-transform: uppercase; color: var(--ink); }
.ab-step-d { margin: 6px 0 0; font: italic 400 18px/1.45 var(--serif); color: var(--peat-2); }
.ab-label--muted { padding-top: 4px; }
.ab-scale { margin: 18px 0 0; padding: 0; list-style: none; }
.ab-scale li { display: grid; grid-template-columns: 126px minmax(0, 1fr); align-items: start; padding: 16px 0 18px; border-bottom: 1px solid #CDBC9F; }
.ab-scale b { font: italic 400 26px/1 var(--serif); color: var(--oxblood); }
.ab-scale > li > span { display: flex; flex-direction: column; gap: 10px; padding-top: 2px; }
.ab-scale-w { font-size: 11px; letter-spacing: .2em; text-transform: uppercase; color: var(--ink); }
.ab-scale i { display: block; height: 4px; background: var(--ink); }

/* cabinet */
.ab-cab { padding-block: clamp(72px, 8vw, 112px); }
.ab-cab .eyebrow { color: var(--brass); }
.ab-cab-head { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-end; gap: 20px 48px; }
.ab-cab-intro { max-width: 26em; margin: 0; font-size: 14px; line-height: 1.65; color: rgba(242, 233, 218, .72); }
.ab-shelf { width: 100%; margin-top: 44px; border-collapse: collapse; }
.ab-shelf thead th { padding: 0 0 14px; border-bottom: 1px solid var(--parch); font-size: 10px; font-weight: 500; letter-spacing: .22em; text-transform: uppercase; text-align: left; color: rgba(242, 233, 218, .8); }
.ab-shelf thead th:first-child { width: 36%; }
.ab-shelf thead th:last-child { width: 30%; }
.ab-shelf tbody th, .ab-shelf td { padding: 18px 0; border-bottom: 1px solid var(--night-line); text-align: left; vertical-align: middle; font-weight: 400; }
.ab-shelf-b { display: flex; align-items: center; gap: 18px; font: 400 20px/1.25 var(--serif); color: var(--parch); }
.ab-shelf-b a { color: inherit; text-decoration: none; }
.ab-shelf-b a:hover { color: var(--brass); }
.ab-shelf-img { flex: none; display: flex; justify-content: center; align-items: flex-end; width: 40px; height: 56px; overflow: hidden; }
.ab-shelf-img img { width: 100%; height: 100%; object-fit: contain; object-position: 50% 100%; }
.ab-shelf-st { display: inline-flex; align-items: center; gap: 8px; font-size: 11px; letter-spacing: .2em; text-transform: uppercase; color: var(--brass); }
.ab-shelf-st::before { content: ''; width: 4px; height: 4px; border-radius: 50%; background: currentColor; }
.ab-shelf-st.is-sealed { color: rgba(242, 233, 218, .7); }
.ab-shelf-when { font-size: 14px; color: rgba(242, 233, 218, .8); }
.ab-shelf-lvl { display: flex; align-items: center; gap: 14px; }
.ab-shelf-bar { flex: 1 1 auto; height: 3px; background: #2A241E; }
.ab-shelf-bar i { display: block; height: 100%; background: var(--brass); }
.ab-shelf-lvl em { flex: none; width: 3em; font: italic 400 15px/1 var(--serif); color: var(--brass); }

/* questions */
.ab-faq { padding-block: clamp(72px, 8vw, 112px) 40px; }
.ab-faq-grid { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr); gap: 48px 64px; align-items: start; }
.ab-acc { margin: 30px 0 0; padding: 0; list-style: none; border-top: 1px solid var(--ink); }
.ab-acc li { border-bottom: 1px solid #CDBC9F; }
.ab-acc h3 { margin: 0; font: inherit; }
.ab-acc .acc-btn { min-height: 0; padding: 24px 18px 24px 0; gap: 0; font: 400 20px/1.3 var(--serif); }
.ab-q-n { flex: none; width: 60px; font: italic 400 15px/1 var(--serif); color: var(--oxblood); }
.ab-q-t { flex: 1 1 auto; }
.ab-acc .acc-sign { flex: none; margin-left: 20px; font-family: var(--sans); font-size: 20px; color: var(--oxblood); }
.ab-a { margin: -4px 0 0; padding: 0 0 22px 60px; font-size: 14.5px; line-height: 1.7; color: var(--peat-2); }
.ab-ask { margin-top: 12px; padding: 34px 32px; transform: rotate(-1.5deg); }
.ab-ask-t { margin: 14px 0 24px; font: 400 clamp(21px, 1.8vw, 25px)/1.3 var(--serif); color: var(--ink); }
.ab-ask .btn { min-height: 50px; padding: 0 24px; font-weight: 600; }

/* media + letter */
.ab-duo { padding-block: 64px clamp(72px, 8vw, 104px); }
.ab-duo-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 56px; }
.ab-box { padding: 48px; }
.ab-box--night .eyebrow { color: var(--brass); }
.ab-box--ox .eyebrow { color: #E8C9A8; }
.ab-box-t { margin: 18px 0 0; font: 400 clamp(28px, 2.6vw, 36px)/1.12 var(--serif); color: var(--parch); }
.ab-box-t em { color: var(--brass); }
.ab-box-d { margin: 14px 0 0; font-size: 15px; line-height: 1.65; color: rgba(242, 233, 218, .82); }
.ab-box > .btn { margin-top: 30px; min-height: 50px; padding: 0 26px; font-weight: 600; }
.ab-box .ns-form { margin: 28px 0 0; max-width: 452px; }
.ab-box .field-join { margin: 0; background: #fff; box-shadow: none; }
.ab-box .field-join > svg { display: none; }
.ab-box .join-input { min-height: 52px; padding: 0 16px; font-size: 15px; }
.ab-box .field-join .btn { min-height: 52px; margin: 0; padding: 0 20px; background: var(--night); color: var(--parch) !important; font-weight: 600; }
.ab-box .ns-small { text-align: left; font-size: 12px; color: rgba(242, 233, 218, .82); }
.ab-box .ns-age { justify-content: flex-start; }

@media (max-width: 1000px) {
  .ab-hero-grid, .ab-story-grid, .ab-method-grid, .ab-faq-grid, .ab-duo-grid { grid-template-columns: 1fr; }
  .ab-card { max-width: 520px; transform: rotate(1deg); }
  .ab-ask { max-width: 520px; }
  .ab-duo-grid { gap: 24px; }
}
@media (max-width: 720px) {
  .ab-story-body { columns: 1; }
  .ab-card { padding: 24px 20px 18px; }
  .ab-card-photo { width: 64px; height: 64px; }
  .ab-card-rows > div { grid-template-columns: 1fr; }
  .ab-tcard { padding: 26px 20px; }
  .ab-steps li { grid-template-columns: 56px minmax(0, 1fr); }
  .ab-scale li { grid-template-columns: 104px minmax(0, 1fr); }
  .ab-scale b { font-size: 22px; }
  .ab-box { padding: 36px 24px; }
  .ab-q-n { width: 44px; }
  .ab-a { padding-left: 44px; }
  .ab-shelf thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
  .ab-shelf, .ab-shelf tbody { display: block; }
  .ab-shelf tr { display: grid; grid-template-columns: auto 1fr; gap: 8px 16px; padding: 18px 0; border-bottom: 1px solid var(--night-line); }
  .ab-shelf tbody th, .ab-shelf td { display: block; padding: 0; border: 0; }
  .ab-shelf tbody th, .ab-shelf td:last-child { grid-column: 1 / -1; }
  .ab-shelf-when { font-size: 13px; }
}
