:root {
  --wild-sand: #f5f5f1;
  --cararra: #ecede6;
  --snow-drift: #e3e5da;
  --gin: #dadcce;
  --olive-haze: #8e876f;
  --coffee: #6e6856;
  --camouflage: #504937;
  --cocoa-brown: #302a1b;
  --void: #110e0b;
  --apricot: #e98d72;
  --japonica: #d46c55;
  --mojo: #be4a37;
  --tabasco: #a82714;
  --green: #005a00;
  --fern: #004200;
  --fir: #002900;
  --moss: #010;
  --font-family: "Avenir Next", sans-serif;
  --font-family-condensed: "Avenir Next Condensed", sans-serif;
  --font-family-alt: "Spectral", serif;
  --font-family-display: var(--font-family);
  --font-family-text: var(--font-family);
  --font-family-system: -apple-system, BlinkMacSystemFont, "helvetica neue", helvetica, Ubuntu, roboto, noto, segoe ui, arial, sans-serif;
  --font-family-mono: Menlo, Consolas, Monaco, "Liberation Mono", "Lucida Console", monospace;
  --font-weight-thin: 100;
  --font-weight-extra-light: 200;
  --font-weight-light: 300;
  --font-weight: 400;
  --font-weight-medium: 500;
  --font-weight-semi-bold: 600;
  --font-weight-bold: 700;
  --font-weight-extra-bold: 800;
  --font-weight-black: 900;
  --line-height-text: 1.3;
  --line-height-display: 1.125;
  --line-height-alt: 1.25;
  --line-height: 1;
  --border-radius-x-small: .25rem;
  --border-radius-small: .5rem;
  --border-radius-medium: .75rem;
  --border-radius-large: 1rem;
  --border-radius-circle: 50%;
  --border-width-hairline: 1px;
  --border-width-thin: 2px;
  --border-width-thick: 4px;
  --border-style-thin: var(--border-width-hairline) solid var(--olive-haze);
  --border-style-thick: var(--border-width-thick) solid var(--olive-haze);
  --border-style-focus: var(--border-width-hairline) dotted var(--apricot);
  --max-width: 90rem;
  --min-width: 60rem;
  --bp-x-small: 18.75em;
  --bp-small: 30em;
  --bp-medium: 48em;
  --bp-large: 64em;
  --bp-x-large: 75em;
  --bp-xx-large: 87.5rem;
  --page-max: 90rem;
  --page-padding-inline: clamp(1rem, 2vw, 2.5rem);
  --grid-gutter: clamp(.75rem, 1.2vw, 1.5rem);
  --space-2xs: clamp(.375rem, .32rem + .2vw, .5rem);
  --space-xs: clamp(.5rem, .42rem + .3vw, .75rem);
  --space-sm: clamp(.75rem, .62rem + .45vw, 1rem);
  --space-md: clamp(1rem, .85rem + .6vw, 1.5rem);
  --space-lg: clamp(1.5rem, 1.2rem + .9vw, 2rem);
  --space-xl: clamp(2rem, 1.65rem + 1.3vw, 3rem);
  --space-2xl: clamp(3rem, 2.45rem + 2vw, 4.5rem);
  --space-3xl: clamp(4.5rem, 3.6rem + 3vw, 6.5rem);
  --text-meta: clamp(.75rem, .72rem + .08vw, .8125rem);
  --text-sm: clamp(.875rem, .84rem + .12vw, .95rem);
  --text-body: clamp(1rem, .94rem + .22vw, 1.125rem);
  --text-body-lg: clamp(1.125rem, 1.03rem + .35vw, 1.25rem);
  --text-h4: clamp(1.25rem, 1.13rem + .5vw, 1.5rem);
  --text-h3: clamp(1.5rem, 1.3rem + .8vw, 1.875rem);
  --text-h2: clamp(1.75rem, 1.5rem + 1vw, 2.25rem);
  --text-h1: clamp(2.5rem, 2rem + 2vw, 3.5rem);
  --text-display: clamp(3.5rem, 2.7rem + 3.5vw, 5.5rem);
  --leading-tight: 1.05;
  --leading-heading: 1.12;
  --leading-body: 1.58;
  --measure-title: 12ch;
  --measure-intro: 38ch;
  --measure-body: 62ch;
  --measure-caption: 32ch;
  --color-bg: var(--void);
  --color-surface: rgba(30, 26, 18, .9);
  --color-text: var(--wild-sand);
  --color-muted: var(--olive-haze);
  --color-line: rgba(245, 245, 241, .1);
  --color-accent: var(--japonica);
  --shadow-soft: 0 .25rem 1.5rem rgba(0, 0, 0, .5);
}

[data-theme="light"] {
  --color-bg: var(--cararra);
  --color-surface: rgba(252, 251, 248, .9);
  --color-text: var(--cocoa-brown);
  --color-muted: var(--coffee);
  --color-line: rgba(48, 42, 27, .12);
  --color-accent: var(--mojo);
  --shadow-soft: 0 .25rem 1.5rem rgba(0, 0, 0, .08);
  --border-style-thin: var(--border-width-hairline) solid var(--camouflage);
  --border-style-thick: var(--border-width-thick) solid var(--camouflage);
}

* {
  box-sizing: border-box;
}

:before {
  box-sizing: border-box;
}

:after {
  box-sizing: border-box;
}

body {
  background: var(--color-bg);
  color: var(--color-text);
  font-family: var(--font-family-text);
  font-size: var(--text-body);
  line-height: var(--line-height-text);
  scroll-behavior: smooth;
  text-rendering: optimizespeed;
  min-height: 100vh;
}

article > * + * {
  margin-top: 1em;
}

nav[role="navigation"] {
  font-family: var(--font-family-condensed);
  text-transform: uppercase;
}

nav[role="navigation"] ul {
  flex-direction: column;
  margin-top: 0;
  margin-left: 0;
  padding-left: 0;
  list-style: none;
  display: flex;
}

@media (min-width: 48em) {
  nav[role="navigation"] li {
    margin: var(--spacing);
  }
}

h1, h2, h3, h4, h5, h6 {
  font-family: var(--font-family-display);
  line-height: var(--line-height-display);
  margin-bottom: 0;
}

h1 {
  font-size: var(--text-h1);
  font-weight: var(--font-weight-bold);
  line-height: var(--leading-heading);
}

h1 span {
  display: block;
}

h2 {
  font-size: var(--text-h2);
  font-weight: var(--font-weight-bold);
  line-height: var(--leading-heading);
}

h3 {
  font-size: var(--text-h4);
  font-weight: var(--font-weight-medium);
  line-height: var(--leading-heading);
}

h4 {
  font-size: var(--text-body-lg);
  font-weight: var(--font-weight);
}

h5 {
  font-size: var(--text-body-lg);
}

h6 {
  font-size: var(--text-body);
}

hr {
  border: 0;
  border-top: var(--border-style-thin);
  height: 1px;
  margin: 1em 0;
  padding: 0;
  display: block;
}

figure, figcaption {
  margin: 0;
  padding: 0;
}

figure {
  max-width: 100%;
}

figure > img {
  max-width: inherit;
}

figcaption {
  font-size: var(--text-sm);
}

blockquote {
  font-family: var(--font-family-alt);
  font-size: var(--text-h2);
  border-left: var(--border-width-thick) solid var(--color-accent);
  font-style: italic;
}

blockquote:not(:is(:lang(ae), :lang(ar), :lang(arc), :lang(bcc), :lang(bqi), :lang(ckb), :lang(dv), :lang(fa), :lang(glk), :lang(he), :lang(ku), :lang(mzn), :lang(nqo), :lang(pnb), :lang(ps), :lang(sd), :lang(ug), :lang(ur), :lang(yi))) {
  padding-left: var(--space-lg);
  margin-left: 0;
}

blockquote:is(:lang(ae), :lang(ar), :lang(arc), :lang(bcc), :lang(bqi), :lang(ckb), :lang(dv), :lang(fa), :lang(glk), :lang(he), :lang(ku), :lang(mzn), :lang(nqo), :lang(pnb), :lang(ps), :lang(sd), :lang(ug), :lang(ur), :lang(yi)) {
  padding-right: var(--space-lg);
  margin-right: 0;
}

blockquote > cite {
  font-size: 90%;
  display: block;
}

blockquote > cite:before {
  content: "— ";
}

main {
  max-width: var(--page-max);
  padding-inline: var(--page-padding-inline);
  margin-left: auto;
  margin-right: auto;
}

.l-home main {
  max-width: none;
  padding-left: 0;
  padding-right: 0;
}

main > * + * {
  margin-top: 1em;
}

main > p + p {
  text-indent: 1em;
}

main > article {
  max-width: 65ch;
}

main > article img {
  max-width: 100%;
  display: block;
}

a:link {
  color: var(--fern);
}

a:visited {
  color: var(--moss);
}

a:hover {
  color: var(--green);
}

a:focus {
  color: var(--green);
}

a:active {
  color: var(--green);
}

::selection {
  text-shadow: none;
  background: var(--gin);
}

a[href$=".pdf"]:after {
  width: 16px;
  height: 16px;
  margin-left: var(--space-2xs);
  content: url("/assets/icons/office-file-adobe.svg");
  display: inline-flex;
}

small {
  font-size: var(--text-meta);
}

code {
  font-family: var(--font-family-mono);
}

img {
  max-width: 100%;
  display: block;
}

table {
  width: 100%;
  margin: var(--spacing) 0;
  table-layout: fixed;
  border-collapse: collapse;
}

th {
  border-bottom: var(--border-style-thin);
  padding: var(--spacing) 0;
}

td {
  border-bottom: var(--border-style-thin);
  padding: var(--spacing);
}

td, th, tr {
  vertical-align: middle;
}

input, button, textarea, select {
  font: inherit;
}

body {
  margin: 0;
}

.page-grid {
  column-gap: var(--grid-gutter);
  max-width: var(--page-max);
  padding-inline: var(--page-padding-inline);
  grid-template-columns: repeat(14, minmax(0, 1fr));
  margin-left: auto;
  margin-right: auto;
  display: grid;
}

[data-layout] {
  column-gap: var(--grid-gutter);
  max-width: var(--page-max);
  padding-inline: var(--page-padding-inline);
  grid-template-columns: repeat(14, minmax(0, 1fr));
  margin-left: auto;
  margin-right: auto;
  display: grid;
}

[data-layout="site-header"] > .brand {
  grid-column: 1 / span 8;
}

[data-layout="site-header"] > .brand div {
  flex-direction: row;
  align-items: flex-end;
  justify-items: center;
  gap: 1em;
  display: flex;
}

[data-layout="site-header"] > nav:not(:has(.nav-trigger)) {
  grid-column: 8 / span 7;
}

[data-layout="site-header"] > .nav-trigger {
  grid-column: 13 / span 2;
  align-self: start;
  justify-self: end;
}

[data-layout="feature"] > .marker {
  grid-column: 1 / span 2;
}

[data-layout="feature"] > h2 {
  grid-column: 3 / span 5;
}

[data-layout="feature"] > .intro {
  grid-column: 9 / span 4;
}

[data-layout="feature"] > .product-grid {
  grid-column: 3 / span 11;
}

[data-layout="feature"] > .prose {
  grid-column: 2 / span 11;
}

[data-layout="prose"] > * {
  grid-column: 2 / span 11;
}

[data-layout="editorial"] > article {
  grid-column: 3 / span 5;
}

[data-layout="editorial"] > aside {
  grid-column: 9 / span 4;
}

[data-layout="site-footer"] > .brand {
  grid-column: 1 / span 4;
}

[data-layout="site-footer"] > nav {
  grid-column: 9 / span 5;
}

[data-layout="site-footer"] > small {
  grid-column: 1 / span 14;
}

@media (max-width: 64rem) {
  .page-grid {
    grid-template-columns: repeat(8, minmax(0, 1fr));
  }

  [data-layout] {
    grid-template-columns: repeat(8, minmax(0, 1fr));
  }

  [data-layout="site-header"] > .brand {
    grid-column: 1 / span 5;
  }

  [data-layout="site-header"] > nav:not(:has(.nav-trigger)) {
    grid-column: 5 / span 4;
  }

  [data-layout="site-header"] > .nav-trigger {
    grid-column: 7 / span 2;
  }

  [data-layout="feature"] > .marker {
    grid-column: 1 / span 8;
  }

  [data-layout="feature"] > h2 {
    grid-column: 1 / span 8;
  }

  [data-layout="feature"] > .intro {
    grid-column: 1 / span 8;
  }

  [data-layout="feature"] > .product-grid {
    grid-column: 1 / span 8;
  }

  [data-layout="feature"] > .prose {
    grid-column: 1 / span 8;
  }

  [data-layout="prose"] > * {
    grid-column: 1 / span 8;
  }

  [data-layout="editorial"] > article {
    grid-column: 1 / span 8;
  }

  [data-layout="editorial"] > aside {
    grid-column: 1 / span 8;
  }

  [data-layout="site-footer"] > .brand {
    grid-column: 1 / span 8;
  }

  [data-layout="site-footer"] > nav {
    grid-column: 1 / span 8;
  }

  [data-layout="site-footer"] > small {
    grid-column: 1 / span 8;
  }

  [data-layout="site-footer"] > nav {
    justify-content: flex-start;
  }
}

@media (max-width: 42rem) {
  .page-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  [data-layout] {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  [data-layout="site-header"] > .brand {
    grid-column: 1 / span 4;
  }

  [data-layout="site-header"] > .nav-trigger {
    grid-column: 1 / span 4;
  }

  [data-layout="site-header"] > nav {
    grid-column: 1 / span 4;
  }

  [data-layout="feature"] > .marker {
    grid-column: 1 / span 4;
  }

  [data-layout="feature"] > h2 {
    grid-column: 1 / span 4;
  }

  [data-layout="feature"] > .intro {
    grid-column: 1 / span 4;
  }

  [data-layout="feature"] > .product-grid {
    grid-column: 1 / span 4;
  }

  [data-layout="feature"] > .prose {
    grid-column: 1 / span 4;
  }

  [data-layout="prose"] > * {
    grid-column: 1 / span 4;
  }

  [data-layout="editorial"] > article {
    grid-column: 1 / span 4;
  }

  [data-layout="editorial"] > aside {
    grid-column: 1 / span 4;
  }

  [data-layout="site-footer"] > .brand {
    grid-column: 1 / span 4;
  }

  [data-layout="site-footer"] > nav {
    grid-column: 1 / span 4;
  }

  [data-layout="site-footer"] > small {
    grid-column: 1 / span 4;
  }

  [data-layout="site-footer"] > nav {
    flex-wrap: wrap;
  }
}

[data-layout="auto-grid"] {
  --grid-min: 16rem;
  gap: var(--grid-gutter);
  grid-template-columns: repeat(auto-fill, minmax(var(--grid-min), 1fr));
  max-width: var(--max-width);
  padding-left: 0;
  padding-right: 0;
}

[data-layout="auto-grid"][data-grid-min="xs"] {
  --grid-min: 10rem;
}

[data-layout="auto-grid"][data-grid-min="sm"] {
  --grid-min: 14rem;
}

[data-layout="auto-grid"][data-grid-min="md"] {
  --grid-min: 20rem;
}

[data-layout="auto-grid"][data-grid-min="lg"] {
  --grid-min: 26rem;
}

[data-layout="auto-grid"][data-grid-min="xl"] {
  --grid-min: 32rem;
}

.library .fancy-numbers {
  columns: 18em;
}

@media print {
  * {
    color: #000 !important;
    text-shadow: none !important;
    box-shadow: none !important;
    background: none !important;
  }

  :before {
    color: #000 !important;
    text-shadow: none !important;
    box-shadow: none !important;
    background: none !important;
  }

  :after {
    color: #000 !important;
    text-shadow: none !important;
    box-shadow: none !important;
    background: none !important;
  }

  a {
    text-decoration: underline;
  }

  a:visited {
    text-decoration: underline;
  }

  a[href]:after {
    content: " (" attr(href) ")";
  }

  abbr[title]:after {
    content: " (" attr(title) ")";
  }

  a[href^="#"]:after {
    content: "";
  }

  a[href^="javascript:"]:after {
    content: "";
  }

  pre {
    white-space: pre-wrap !important;
  }

  pre, blockquote {
    page-break-inside: avoid;
    border: 1px solid #999;
  }

  thead {
    display: table-header-group;
  }

  tr, img {
    page-break-inside: avoid;
  }

  p, h2, h3 {
    orphans: 3;
    widows: 3;
  }

  h2, h3 {
    page-break-after: avoid;
  }
}

.standfirst {
  font-size: var(--text-h2);
  line-height: var(--line-height-alt);
  margin-top: 0;
}

.lede {
  font-size: var(--text-body-lg);
  line-height: var(--line-height-text);
}

.secondary {
  font-size: var(--text-sm);
}

.fancy-numbers ol {
  counter-reset: list-counter;
  list-style: none;
}

.fancy-numbers ol li {
  font-family: var(--font-family);
  counter-increment: list-counter;
}

.fancy-numbers ol li:before {
  float: left;
  font-family: var(--font-family-display);
  color: var(--coffee);
  content: counter(list-counter) ". ";
  margin-left: -1.25em;
  display: block;
}

.fancy-numbers ol li li:before {
  content: counter(list-counter, lower-alpha) ". ";
}

.fancy-numbers ol li li li:before {
  content: counter(list-counter, lower-roman) ". ";
}

.fancy-numbers ol.fancier > li {
  margin-bottom: var(--space-lg);
}

.fancy-numbers ol.fancier > li:before {
  min-width: var(--space-lg);
  min-height: var(--space-lg);
  padding: var(--space-2xs);
  margin-left: -1.5em;
  margin-right: var(--space-2xs);
  color: var(--wild-sand);
  text-align: center;
  content: counter(list-counter);
  background-color: var(--cocoa-brown);
  -webkit-border-radius: var(--border-radius-circle);
  border-radius: var(--border-radius-circle);
  margin-top: -.3em;
}

.library h3 {
  margin: var(--space-xl) 0 var(--space-lg) 0;
}

.library ol {
  columns: 18em;
}

.eyebrow {
  color: var(--color-muted);
  font-size: var(--text-meta);
  letter-spacing: .08em;
  text-transform: uppercase;
}

.eyebrow[data-tone="hero"] {
  color: var(--wild-sand);
}

#logo-scholium-project {
  max-width: 100px;
}

#logo-scholium-project .cls-2 {
  fill: var(--logo-fill, var(--wild-sand));
}

#logo-scholium-project .cls-1 {
  stroke: var(--logo-stroke, var(--gin));
}

.l-home .site-header {
  --brand-color: var(--wild-sand);
  --logo-fill: var(--wild-sand);
  --logo-stroke: var(--gin);
}

.l-home .site-header > .brand h1 {
  -webkit-text-stroke-width: 2px;
  -webkit-text-stroke-color: var(--cocoa-brown);
}

.site-header {
  left: 0;
  right: 0;
  z-index: 10;
  padding-block: var(--space-md);
  position: absolute;
  top: 0;
}

.site-header[data-variant="static"] {
  background: none;
  position: relative;
}

.site-header > .brand {
  font-size: var(--text-sm);
  letter-spacing: .02em;
}

.site-header > .brand a {
  color: inherit;
  text-decoration: none;
}

.site-header > .brand h1 {
  color: var(--brand-color, var(--color-text));
  font-weight: var(--font-weight-extra-bold);
  letter-spacing: -.5px;
  margin-top: 0;
  margin-bottom: 0;
  line-height: 1;
}

.site-header > .brand p {
  color: var(--brand-color, var(--color-text));
  font-weight: var(--font-weight-bold);
  font-style: italic;
}

.site-header > nav {
  justify-content: flex-end;
  gap: var(--space-md);
  font-size: var(--text-sm);
  display: flex;
}

.site-header > nav a {
  color: var(--wild-sand);
  text-decoration: none;
}

.site-header > nav a:hover {
  text-decoration: underline;
}

.site-header > nav a:focus-visible {
  text-decoration: underline;
}

.section {
  padding-block: var(--space-2xl);
}

.product-grid {
  gap: var(--space-lg);
  margin-top: var(--space-lg);
  grid-template-columns: repeat(3, minmax(0, 1fr));
  display: grid;
}

.product-card {
  gap: var(--space-sm);
  display: grid;
}

.product-card figure {
  aspect-ratio: 4 / 5;
  background: var(--color-surface);
  margin: 0;
  overflow: hidden;
}

.product-card figure img {
  object-fit: cover;
  width: 100%;
  height: 100%;
}

.product-card h3 {
  font-size: var(--text-h4);
  margin: 0;
  line-height: 1.18;
}

.product-card h3 a {
  color: inherit;
  text-decoration: none;
}

.product-card h3 a:hover {
  text-decoration: underline;
}

.product-card h3 a:focus-visible {
  text-decoration: underline;
}

.product-card .meta {
  color: var(--color-muted);
  font-size: var(--text-sm);
}

.product-card .price {
  font-size: var(--text-body);
}

.product-hero {
  padding-block: var(--space-3xl) var(--space-2xl);
}

.product-hero__media {
  grid-column: 2 / span 6;
}

.product-hero__media-frame {
  aspect-ratio: 4 / 5;
  overflow: hidden;
}

.product-hero__media-frame img {
  object-fit: cover;
  width: 100%;
}

.product-hero__title-block {
  grid-column: 9 / span 5;
}

.product-hero__title {
  font-size: var(--text-h1);
  line-height: var(--leading-heading);
  letter-spacing: -.018em;
  max-width: var(--measure-title);
  margin: 0;
}

.product-hero__dek {
  margin-top: var(--space-md);
  max-width: var(--measure-intro);
  font-size: var(--text-body-lg);
}

.product-hero__label {
  margin-top: var(--space-lg);
}

.product-hero__label img {
  max-width: 12rem;
  height: auto;
  display: block;
}

.product-hero__label-fallback {
  object-fit: contain;
}

.product-hero__facts {
  margin-top: var(--space-lg);
  gap: var(--space-xs) var(--space-sm);
  border-top: 1px solid var(--color-line);
  padding-top: var(--space-md);
  grid-template-columns: auto 1fr;
  display: grid;
}

.product-hero__facts dt {
  font-size: var(--text-meta);
  color: var(--color-muted);
}

.product-hero__facts dd {
  font-size: var(--text-sm);
  margin: 0;
}

.product-body {
  padding-bottom: var(--space-3xl);
}

.product-body__notes {
  max-width: var(--measure-body);
  grid-column: 3 / span 5;
}

.product-body__specs {
  background: var(--color-surface);
  padding: var(--space-lg);
  box-shadow: var(--shadow-soft);
  grid-column: 9 / span 4;
  align-self: start;
}

.page-header {
  padding-block: var(--space-3xl) var(--space-2xl);
}

.page-body {
  padding-bottom: var(--space-3xl);
}

.page-image {
  padding-bottom: var(--space-xl);
}

.page-image img {
  width: 100%;
  height: auto;
  display: block;
}

.page-image figcaption {
  color: var(--color-muted);
  font-size: var(--text-meta);
  margin-top: var(--space-xs);
  font-style: italic;
}

.prose p + p {
  margin-top: var(--space-md);
}

.prose figure.image {
  margin-block: var(--space-xl);
  max-width: 100%;
}

.prose figure.image img {
  max-width: 100%;
  height: auto;
  display: block;
}

.prose figure.image figcaption {
  margin-top: var(--space-xs);
  font-size: var(--text-meta);
  color: var(--color-muted);
  font-style: italic;
  line-height: var(--leading-body);
}

.prose figure.image.image-style-full-width {
  width: 100%;
}

.prose figure.image:not([class*="image-style"]) {
  width: 100%;
}

.prose figure.image.image-style-align-center {
  text-align: center;
  margin-left: auto;
  margin-right: auto;
}

.prose figure.image.image-style-block-align-left:not(:is(:lang(ae), :lang(ar), :lang(arc), :lang(bcc), :lang(bqi), :lang(ckb), :lang(dv), :lang(fa), :lang(glk), :lang(he), :lang(ku), :lang(mzn), :lang(nqo), :lang(pnb), :lang(ps), :lang(sd), :lang(ug), :lang(ur), :lang(yi))) {
  margin-right: auto;
}

.prose figure.image.image-style-block-align-left:is(:lang(ae), :lang(ar), :lang(arc), :lang(bcc), :lang(bqi), :lang(ckb), :lang(dv), :lang(fa), :lang(glk), :lang(he), :lang(ku), :lang(mzn), :lang(nqo), :lang(pnb), :lang(ps), :lang(sd), :lang(ug), :lang(ur), :lang(yi)) {
  margin-left: auto;
}

.prose figure.image.image-style-block-align-right:not(:is(:lang(ae), :lang(ar), :lang(arc), :lang(bcc), :lang(bqi), :lang(ckb), :lang(dv), :lang(fa), :lang(glk), :lang(he), :lang(ku), :lang(mzn), :lang(nqo), :lang(pnb), :lang(ps), :lang(sd), :lang(ug), :lang(ur), :lang(yi))) {
  margin-left: auto;
}

.prose figure.image.image-style-block-align-right:is(:lang(ae), :lang(ar), :lang(arc), :lang(bcc), :lang(bqi), :lang(ckb), :lang(dv), :lang(fa), :lang(glk), :lang(he), :lang(ku), :lang(mzn), :lang(nqo), :lang(pnb), :lang(ps), :lang(sd), :lang(ug), :lang(ur), :lang(yi)) {
  margin-right: auto;
}

.prose .image-style-align-left {
  float: left;
  margin-block: var(--space-xs) var(--space-md);
  max-width: 45%;
}

.prose .image-style-align-left:not(:is(:lang(ae), :lang(ar), :lang(arc), :lang(bcc), :lang(bqi), :lang(ckb), :lang(dv), :lang(fa), :lang(glk), :lang(he), :lang(ku), :lang(mzn), :lang(nqo), :lang(pnb), :lang(ps), :lang(sd), :lang(ug), :lang(ur), :lang(yi))) {
  margin-left: 0;
  margin-right: var(--space-xl);
}

.prose .image-style-align-left:is(:lang(ae), :lang(ar), :lang(arc), :lang(bcc), :lang(bqi), :lang(ckb), :lang(dv), :lang(fa), :lang(glk), :lang(he), :lang(ku), :lang(mzn), :lang(nqo), :lang(pnb), :lang(ps), :lang(sd), :lang(ug), :lang(ur), :lang(yi)) {
  margin-right: 0;
  margin-left: var(--space-xl);
}

.prose .image-style-align-right {
  float: right;
  margin-block: var(--space-xs) var(--space-md);
  max-width: 45%;
}

.prose .image-style-align-right:not(:is(:lang(ae), :lang(ar), :lang(arc), :lang(bcc), :lang(bqi), :lang(ckb), :lang(dv), :lang(fa), :lang(glk), :lang(he), :lang(ku), :lang(mzn), :lang(nqo), :lang(pnb), :lang(ps), :lang(sd), :lang(ug), :lang(ur), :lang(yi))) {
  margin-left: var(--space-xl);
  margin-right: 0;
}

.prose .image-style-align-right:is(:lang(ae), :lang(ar), :lang(arc), :lang(bcc), :lang(bqi), :lang(ckb), :lang(dv), :lang(fa), :lang(glk), :lang(he), :lang(ku), :lang(mzn), :lang(nqo), :lang(pnb), :lang(ps), :lang(sd), :lang(ug), :lang(ur), :lang(yi)) {
  margin-right: var(--space-xl);
  margin-left: 0;
}

.prose:after {
  content: "";
  clear: both;
  display: table;
}

.page-hero {
  overflow: hidden;
}

.page-hero[data-variant="full"] {
  min-height: 100vh;
  min-height: 100svh;
  color: var(--wild-sand);
  background-color: var(--color-bg);
  background-position: center;
  background-size: cover;
  align-items: flex-end;
  display: flex;
  position: relative;
}

.page-hero[data-variant="full"] .hero-content {
  width: 100%;
  padding-block: var(--space-3xl) var(--space-2xl);
}

.page-hero[data-variant="full"] .hero-content > .eyebrow {
  grid-column: 1 / span 2;
}

.page-hero[data-variant="full"] .hero-content > h1 {
  font-size: var(--text-display);
  line-height: var(--leading-tight);
  letter-spacing: -.02em;
  max-width: var(--measure-title);
  grid-column: 3 / span 6;
  margin: 0;
}

.page-hero[data-variant="full"] .hero-content > .intro {
  margin-top: var(--space-md);
  font-size: var(--text-body-lg);
  max-width: var(--measure-intro);
  color: var(--wild-sand);
  grid-column: 4 / span 4;
}

.page-hero[data-variant="full"] .hero-content > nav {
  align-self: end;
  justify-self: end;
  gap: var(--space-xs);
  font-size: var(--text-sm);
  grid-column: 11 / span 4;
  display: grid;
}

.page-hero[data-variant="full"] .hero-content > nav a {
  color: inherit;
  text-decoration: none;
}

.page-hero[data-variant="full"] .hero-content > nav a:hover {
  text-decoration: underline;
}

.page-hero[data-variant="full"] .hero-content > nav a:focus-visible {
  text-decoration: underline;
}

.page-hero[data-variant="split"] {
  min-height: 100vh;
  grid-template-columns: 1fr 1fr;
  min-height: 100svh;
  display: grid;
}

.page-hero[data-variant="split"] .media {
  overflow: hidden;
}

.page-hero[data-variant="split"] .media img {
  object-fit: cover;
  width: 100%;
  height: 100%;
}

.page-hero[data-variant="split"] .panel {
  background: var(--color-bg);
  align-items: center;
  display: flex;
}

.page-hero[data-variant="split"] .hero-content {
  padding-inline: var(--space-xl) var(--space-2xl);
  padding-block: var(--space-2xl);
  max-width: 38ch;
}

.page-hero[data-variant="split"] .hero-content h1 {
  font-size: var(--text-h1);
  line-height: var(--leading-heading);
  letter-spacing: -.018em;
  margin: 0;
}

.page-hero[data-variant="split"] .hero-content .intro {
  margin-top: var(--space-md);
  font-size: var(--text-body-lg);
}

.page-hero[data-variant="split"] .hero-content .lede {
  margin-top: var(--space-sm);
  font-size: var(--text-body);
  color: var(--color-muted);
}

.page-hero[data-variant="split"][data-align-h="right"] .media {
  order: 1;
}

@media (max-width: 64rem) {
  .page-hero[data-variant="split"] {
    grid-template-columns: 1fr;
  }

  .page-hero[data-variant="split"] .media {
    order: -1;
    min-height: 48svh;
  }

  .page-hero[data-variant="split"][data-align-h="right"] .media {
    order: -1;
  }

  .page-hero[data-variant="full"] .hero-content > .eyebrow {
    grid-column: 1 / span 8;
    justify-self: start;
  }

  .page-hero[data-variant="full"] .hero-content > h1 {
    grid-column: 1 / span 8;
    justify-self: start;
  }

  .page-hero[data-variant="full"] .hero-content > .intro {
    grid-column: 1 / span 8;
    justify-self: start;
  }

  .page-hero[data-variant="full"] .hero-content > nav {
    grid-column: 1 / span 8;
    justify-self: start;
  }
}

@media (max-width: 42rem) {
  .page-hero[data-variant="full"] .hero-content > .eyebrow {
    grid-column: 1 / span 4;
  }

  .page-hero[data-variant="full"] .hero-content > h1 {
    grid-column: 1 / span 4;
  }

  .page-hero[data-variant="full"] .hero-content > .intro {
    grid-column: 1 / span 4;
  }

  .page-hero[data-variant="full"] .hero-content > nav {
    grid-column: 1 / span 4;
  }
}

.site-footer {
  padding-block: var(--space-xl);
  border-top: 1px solid var(--color-line);
  color: var(--color-muted);
  font-size: var(--text-sm);
}

.site-footer > .brand a {
  color: inherit;
  text-decoration: none;
}

.site-footer > nav {
  justify-content: flex-end;
  gap: var(--space-md);
  display: flex;
}

.site-footer > nav a {
  color: inherit;
  text-decoration: none;
}

.site-footer > nav a:hover {
  text-decoration: underline;
}

.site-footer > nav a:focus-visible {
  text-decoration: underline;
}

.theme-toggle {
  appearance: none;
  border: var(--border-style-thin);
  -webkit-border-radius: var(--border-radius-x-small);
  border-radius: var(--border-radius-x-small);
  color: var(--color-muted);
  cursor: pointer;
  font-size: var(--text-meta);
  padding-block: var(--space-2xs);
  padding-inline: var(--space-xs);
  background: none;
  transition: border-color .15s, color .15s;
}

.theme-toggle:hover {
  border-color: var(--color-accent);
  color: var(--color-text);
}

.theme-toggle:focus-visible {
  outline: 1px solid var(--color-accent);
  outline-offset: 2px;
}

@media (max-width: 64rem) {
  .product-hero__media, .product-hero__title-block, .product-body__notes, .product-body__specs {
    grid-column: 1 / span 8;
  }

  .product-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 42rem) {
  .product-hero__media, .product-hero__title-block, .product-body__notes, .product-body__specs {
    grid-column: 1 / span 4;
  }

  .product-grid {
    grid-template-columns: 1fr;
  }
}

.block--featured {
  padding-block: var(--space-2xl, 3rem);
  max-width: 80%;
  margin: 0 auto;
  container: featured / inline-size;
}

.block--featured h3 {
  margin: 0 0 var(--space-xs, .5rem);
}

.block--featured .intro {
  margin: 0 0 var(--space-lg, 2rem);
  max-width: 60ch;
}

.featured-entries {
  gap: var(--space-lg, 2rem);
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
}

.featured-entry a {
  color: inherit;
  text-decoration: none;
  display: block;
}

.featured-entry a:is(:hover, :focus-visible) h4 {
  text-decoration: underline;
}

.featured-entry figure {
  aspect-ratio: 4 / 5;
  margin: 0 0 var(--space-sm, 1rem);
  overflow: hidden;
}

.featured-entry figure img {
  object-fit: cover;
  width: 100%;
}

.featured-entry [data-eyebrow] {
  font-size: var(--text-sm);
  text-transform: uppercase;
  letter-spacing: .08em;
  margin-bottom: var(--space-2xs, .375rem);
  display: block;
}

.featured-entry h4 {
  margin: 0 0 var(--space-2xs, .375rem);
  font-size: var(--text-h4);
}

.featured-entry div > p {
  margin: 0 0 var(--space-xs, .5rem);
  font-size: var(--text-sm);
}

.featured-entry [data-meta] {
  font-size: var(--text-sm);
  display: block;
}

@container featured (width <= 60rem) {
  .featured-entries {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@container featured (width <= 36rem) {
  .featured-entries {
    grid-template-columns: 1fr;
  }
}

@media (prefers-reduced-motion: reduce) {
  * {
    scroll-behavior: auto !important;
    transition-duration: .01ms !important;
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
  }
}

.skip-link:focus-visible {
  background: var(--color-text);
  -webkit-border-radius: var(--border-radius-small);
  border-radius: var(--border-radius-small);
  color: var(--color-bg);
  font-weight: var(--font-weight-bold);
  left: var(--space-sm);
  outline: var(--border-style-focus);
  outline-offset: 2px;
  padding: var(--space-sm) var(--space-md);
  top: var(--space-sm);
  z-index: 9999;
  text-decoration: none;
  position: fixed;
}

.visually-hidden {
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  position: absolute;
  overflow: hidden;
}

.visually-hidden.focusable:active {
  clip: auto;
  width: auto;
  height: auto;
  white-space: inherit;
  margin: 0;
  position: static;
  overflow: visible;
}

.visually-hidden.focusable:focus-visible {
  clip: auto;
  width: auto;
  height: auto;
  white-space: inherit;
  margin: 0;
  position: static;
  overflow: visible;
}

:focus-visible {
  outline: 2px solid var(--apricot);
  outline-offset: 2px;
}

:focus:not(:focus-visible) {
  outline: none;
}

[data-layout="wines-library"] > .wines-library {
  grid-column: 2 / span 12;
}

@media (max-width: 64rem) {
  [data-layout="wines-library"] > .wines-library {
    grid-column: 1 / span 8;
  }
}

@media (max-width: 42rem) {
  [data-layout="wines-library"] > .wines-library {
    grid-column: 1 / span 4;
  }
}

.wines-library {
  padding-block: var(--space-xl) var(--space-3xl);
}

.wines-library__header {
  margin-bottom: var(--space-xl);
}

.wines-library__header h2 {
  margin: 0 0 var(--space-xs);
  letter-spacing: -.02em;
}

.wines-library__header .standfirst {
  color: var(--color-muted);
  margin: 0;
}

.wines-filters {
  margin-bottom: var(--space-xl);
  padding: var(--space-md) var(--space-lg);
  border-top: 2px solid var(--color-text);
  border-bottom: 1px solid var(--color-line);
  background: var(--color-surface);
}

.wines-filters form {
  gap: var(--space-sm) var(--space-md);
  flex-wrap: wrap;
  align-items: flex-end;
  display: flex;
}

.wines-filters fieldset {
  border: none;
  flex: 9rem;
  min-width: 9rem;
  margin: 0;
  padding: 0;
}

.wines-filters legend {
  float: none;
  margin-bottom: var(--space-2xs);
  font-size: var(--text-meta);
  text-transform: uppercase;
  letter-spacing: .08em;
  color: var(--color-muted);
  display: block;
}

.wines-filters select {
  appearance: none;
  width: 100%;
  padding: var(--space-xs) 2rem var(--space-xs) var(--space-sm);
  font-family: inherit;
  font-size: var(--text-sm);
  color: var(--color-text);
  background-color: var(--color-bg);
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='11' height='7' viewBox='0 0 11 7'%3E%3Cpath d='M1 1l4.5 4.5L10 1' stroke='%238e876f' stroke-width='1.5' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right var(--space-sm) center;
  border: var(--border-style-thin);
  cursor: pointer;
  -webkit-border-radius: 0;
  border-radius: 0;
  transition: border-color .12s;
  display: block;
}

[data-theme="light"] .wines-filters select {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='11' height='7' viewBox='0 0 11 7'%3E%3Cpath d='M1 1l4.5 4.5L10 1' stroke='%23504937' stroke-width='1.5' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}

.wines-filters select:hover {
  border-color: var(--color-muted);
}

.wines-filters select:focus-visible {
  outline: 2px solid var(--color-accent);
  outline-offset: 2px;
  border-color: var(--color-accent);
}

.wines-filters__actions {
  gap: var(--space-sm);
  align-items: flex-end;
  padding-top: 1.25rem;
  display: flex;
}

.wines-filters__submit {
  padding: var(--space-xs) var(--space-md);
  background: var(--color-text);
  color: var(--color-bg);
  font-family: inherit;
  font-size: var(--text-sm);
  cursor: pointer;
  letter-spacing: .02em;
  border: none;
  transition: background .12s;
}

.wines-filters__submit:hover {
  background: var(--camouflage);
}

.wines-filters__submit:focus-visible {
  outline: 2px solid var(--color-accent);
  outline-offset: 2px;
}

.wines-filters__clear {
  padding: var(--space-xs) 0;
  font-family: inherit;
  font-size: var(--text-sm);
  color: var(--color-muted);
  cursor: pointer;
  text-underline-offset: .2em;
  background: none;
  border: none;
  text-decoration: underline;
}

.wines-filters__clear:hover {
  color: var(--color-text);
}

.wines-filters__clear:focus-visible {
  outline: 2px solid var(--color-accent);
  outline-offset: 2px;
}

.wines-results__controls {
  margin-bottom: var(--space-md);
  padding-bottom: var(--space-sm);
  border-bottom: 1px solid var(--color-line);
  justify-content: space-between;
  align-items: center;
  display: flex;
}

.wines-results__count {
  font-size: var(--text-sm);
  color: var(--color-muted);
  margin: 0;
}

.wines-view-switcher {
  align-items: center;
  gap: var(--space-2xs);
  display: flex;
}

.wines-view-switcher__label {
  font-size: var(--text-meta);
  text-transform: uppercase;
  letter-spacing: .08em;
  color: var(--color-muted);
  margin-right: var(--space-xs);
}

.wines-view-btn {
  padding: var(--space-2xs) var(--space-xs);
  font-family: inherit;
  font-size: var(--text-sm);
  color: var(--color-muted);
  cursor: pointer;
  letter-spacing: .02em;
  background: none;
  border: none;
  border-bottom: 2px solid rgba(0, 0, 0, 0);
  transition: color .1s, border-color .1s;
}

.wines-view-btn:hover {
  color: var(--color-text);
}

.wines-view-btn.is-active {
  color: var(--color-text);
  border-bottom-color: var(--color-accent);
}

.wines-view-btn[aria-pressed="true"] {
  color: var(--color-text);
  border-bottom-color: var(--color-accent);
}

.wines-view-btn:focus-visible {
  outline: 2px solid var(--color-accent);
  outline-offset: 2px;
}

.wines-results {
  min-height: 4rem;
}

.wines-empty {
  padding: var(--space-xl) 0;
  color: var(--color-muted);
  font-size: var(--text-body);
}

.wines-clear-inline {
  font-family: inherit;
  font-size: inherit;
  color: inherit;
  cursor: pointer;
  background: none;
  border: none;
  padding: 0;
  text-decoration: underline;
}

.wines-clear-inline:hover {
  color: var(--color-text);
}

.wines-vintage-group {
  margin-bottom: var(--space-lg);
}

.wines-vintage-heading {
  margin: var(--space-lg) 0 var(--space-sm);
  font-size: var(--text-meta);
  font-weight: var(--font-weight-semi-bold);
  text-transform: uppercase;
  letter-spacing: .1em;
  color: var(--color-muted);
}

.wines-list {
  margin: 0;
  padding: 0;
  list-style: none;
}

.wines-list__item {
  border-bottom: 1px solid var(--color-line);
}

.wines-list__item:first-child {
  border-top: 1px solid var(--color-line);
}

.wines-list__link {
  align-items: center;
  gap: var(--space-sm);
  padding: var(--space-sm) 0;
  color: inherit;
  text-decoration: none;
  display: flex;
}

.wines-list__link:hover .wines-list__title {
  text-underline-offset: .15em;
  text-decoration: underline;
}

.wines-list__link:focus-visible .wines-list__title {
  text-underline-offset: .15em;
  text-decoration: underline;
}

.wines-list__link:focus-visible {
  outline: 2px solid var(--color-accent);
  outline-offset: 2px;
}

.wines-list__thumb {
  object-fit: cover;
  background: var(--color-surface);
  flex-shrink: 0;
  width: 3.5rem;
  height: 3.5rem;
}

.wines-list__info {
  gap: var(--space-2xs);
  flex-direction: column;
  display: flex;
}

.wines-list__title {
  font-size: var(--text-body);
  font-weight: var(--font-weight-medium);
  color: var(--color-text);
  line-height: var(--line-height-alt);
}

.wines-list__brand {
  font-size: var(--text-sm);
  color: var(--color-muted);
}

.wines-list__varietal {
  font-size: var(--text-meta);
  color: var(--color-muted);
}

.wines-grid {
  gap: var(--space-lg);
  grid-template-columns: repeat(3, minmax(0, 1fr));
  display: grid;
}

.wines-card a {
  color: inherit;
  text-decoration: none;
  display: block;
}

.wines-card a:hover figure img {
  scale: 1.03;
}

.wines-card a:focus-visible figure img {
  scale: 1.03;
}

.wines-card a:focus-visible {
  outline: 2px solid var(--color-accent);
  outline-offset: 4px;
}

.wines-card figure {
  aspect-ratio: 4 / 5;
  background: var(--color-surface);
  margin: 0 0 var(--space-sm);
  overflow: hidden;
}

.wines-card figure img {
  object-fit: cover;
  width: 100%;
  height: 100%;
  transition: scale .3s;
}

.wines-card__body {
  gap: var(--space-2xs);
  flex-direction: column;
  display: flex;
}

.wines-card__vintage {
  font-size: var(--text-meta);
  text-transform: uppercase;
  letter-spacing: .08em;
  color: var(--color-muted);
  display: block;
}

.wines-card__title {
  font-size: var(--text-h4);
  line-height: var(--leading-heading);
  letter-spacing: -.01em;
  margin: 0;
}

.wines-card__meta {
  font-size: var(--text-sm);
  color: var(--color-muted);
  margin: 0;
}

.wines-gallery {
  gap: var(--space-xs);
  grid-template-columns: repeat(4, minmax(0, 1fr));
  display: grid;
}

.wines-gallery__tile {
  aspect-ratio: 1;
  background: var(--color-surface);
  color: var(--wild-sand);
  text-decoration: none;
  display: block;
  position: relative;
  overflow: hidden;
}

.wines-gallery__tile:hover img {
  scale: 1.05;
}

.wines-gallery__tile:focus-visible img {
  scale: 1.05;
}

.wines-gallery__tile:hover .wines-gallery__caption {
  translate: 0;
}

.wines-gallery__tile:focus-visible .wines-gallery__caption {
  translate: 0;
}

.wines-gallery__tile:focus-visible {
  outline: 2px solid var(--color-accent);
  outline-offset: 0;
}

.wines-gallery__tile img {
  object-fit: cover;
  width: 100%;
  height: 100%;
  transition: scale .3s;
}

.wines-gallery__caption {
  padding: var(--space-sm);
  font-size: var(--text-sm);
  line-height: var(--line-height-alt);
  background: linear-gradient(to top, rgba(48, 42, 27, .88) 0%, rgba(0, 0, 0, 0) 100%);
  transition: translate .22s;
  position: absolute;
  top: auto;
  bottom: 0;
  left: 0;
  right: 0;
  translate: 0 100%;
}

.wines-gallery__placeholder {
  width: 100%;
  height: 100%;
  font-size: var(--text-h1);
  font-weight: var(--font-weight-light);
  color: var(--color-muted);
  background: var(--color-surface);
  text-transform: uppercase;
  justify-content: center;
  align-items: center;
  display: flex;
}

@media (max-width: 64rem) {
  .wines-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .wines-gallery {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 42rem) {
  .wines-filters form {
    gap: var(--space-sm);
    flex-direction: column;
  }

  .wines-filters fieldset {
    flex: none;
    width: 100%;
    min-width: 0;
  }

  .wines-filters__actions {
    width: 100%;
    padding-top: 0;
  }

  .wines-filters__submit {
    text-align: center;
    flex: 1;
  }

  .wines-grid {
    grid-template-columns: 1fr;
  }

  .wines-gallery {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .wines-gallery__caption {
    background: linear-gradient(to top, rgba(48, 42, 27, .75) 0%, rgba(0, 0, 0, 0) 100%);
    transform: translateY(0);
  }
}

body.nav-open {
  overflow: hidden;
}

.nav-trigger {
  align-items: center;
  gap: var(--space-xs);
  padding: var(--space-2xs) var(--space-sm);
  font-family: inherit;
  font-size: var(--text-meta);
  letter-spacing: .24em;
  text-transform: uppercase;
  cursor: pointer;
  color: var(--wild-sand);
  background: none;
  border: 1px solid rgba(245, 245, 241, .2);
  font-weight: 500;
  transition: color .25s, border-color .25s, background .25s;
  display: flex;
}

.nav-trigger:hover {
  background: rgba(36, 32, 28, .5);
  border-color: rgba(245, 245, 241, .5);
}

.nav-trigger:focus-visible {
  outline: 1px solid var(--green);
  outline-offset: 3px;
}

.site-header[data-variant="static"] .nav-trigger {
  color: var(--color-text);
  border-color: var(--color-line);
}

.site-header[data-variant="static"] .nav-trigger:hover {
  border-color: var(--camouflage);
  background: rgba(0, 0, 0, .04);
}

.trigger-glyph {
  flex-direction: column;
  flex-shrink: 0;
  justify-content: space-between;
  width: 24px;
  height: 14px;
  display: flex;
}

.trigger-glyph span {
  background: currentColor;
  height: 1px;
  transition: transform .45s cubic-bezier(.76, 0, .24, 1), opacity .3s, width .4s cubic-bezier(.16, 1, .3, 1);
  display: block;
}

.trigger-glyph span:first-child {
  width: 100%;
}

.trigger-glyph span:nth-child(2) {
  width: 55%;
  margin-left: auto;
}

.trigger-glyph span:nth-child(3) {
  width: 75%;
}

.nav-trigger.is-open .trigger-glyph span:first-child {
  width: 100%;
  translate: 0 6.5px;
  rotate: 40deg;
}

.nav-trigger.is-open .trigger-glyph span:nth-child(2) {
  opacity: 0;
  scale: 0 1;
}

.nav-trigger.is-open .trigger-glyph span:nth-child(3) {
  width: 100%;
  translate: 0 -6.5px;
  rotate: -40deg;
}

.backdrop {
  z-index: 200;
  -webkit-backdrop-filter: blur(4px) saturate(.8);
  opacity: 0;
  pointer-events: none;
  background: rgba(18, 14, 11, .7);
  transition: opacity .5s cubic-bezier(.76, 0, .24, 1);
  position: fixed;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
}

.backdrop.is-visible {
  opacity: 1;
  pointer-events: auto;
}

.nav-drawer {
  z-index: 300;
  background: var(--color-bg);
  border-left: 1px solid rgba(255, 255, 255, .08);
  flex-direction: column;
  width: max(280px, min(40vw, 440px));
  transition: translate .65s cubic-bezier(.76, 0, .24, 1);
  display: flex;
  position: fixed;
  top: 0;
  bottom: 0;
  right: 0;
  overflow: hidden;
  translate: 100%;
}

.nav-drawer.is-open {
  translate: 0;
}

.nav-drawer:before {
  content: "";
  background: linear-gradient(to bottom,
    transparent,
    var(--fern)  35%,
    var(--green) 50%,
    var(--fern)  65%,
    transparent);
  opacity: .7;
  pointer-events: none;
  width: 2px;
  position: absolute;
  top: 12%;
  bottom: 12%;
  left: -1px;
}

.drawer-header {
  padding: var(--space-md) var(--space-lg);
  border-bottom: 1px solid rgba(255, 255, 255, .08);
  flex-shrink: 0;
  justify-content: space-between;
  align-items: flex-start;
  display: flex;
}

.header-meta {
  gap: var(--space-3xs);
  flex-direction: column;
  display: flex;
}

.drawer-kicker {
  color: var(--green);
  font-size: var(--text-meta);
  letter-spacing: .36em;
  opacity: .9;
  text-transform: uppercase;
  font-weight: 500;
}

.drawer-heading {
  font-size: var(--text-h4);
  letter-spacing: .06em;
  color: var(--wild-sand);
  font-weight: 300;
  line-height: 1.15;
}

.drawer-heading strong {
  font-weight: 600;
}

.drawer-logo {
  width: 3rem;
  margin-bottom: var(--space-sm);
}

.drawer-logo svg {
  fill: var(--color-text);
  width: 100%;
  height: auto;
  display: block;
}

.drawer-close {
  cursor: pointer;
  width: 2.125rem;
  height: 2.125rem;
  color: var(--olive-haze);
  background: none;
  border: 1px solid rgba(255, 255, 255, .12);
  -webkit-border-radius: 50%;
  border-radius: 50%;
  flex-shrink: 0;
  justify-content: center;
  align-items: center;
  margin-top: 2px;
  transition: border-color .25s, color .25s, background .25s;
  display: flex;
}

.drawer-close:hover {
  border-color: var(--wild-sand);
  color: var(--wild-sand);
  background: rgba(40, 36, 32, .4);
}

.drawer-close:focus-visible {
  outline: 1px solid var(--green);
  outline-offset: 3px;
}

.drawer-close svg {
  stroke-width: 1.3px;
  width: 10px;
  height: 10px;
}

.drawer-body {
  padding: var(--space-md) var(--space-lg) var(--space-lg);
  scrollbar-width: thin;
  scrollbar-color: var(--camouflage) transparent;
  flex: 1;
  overflow-y: auto;
}

.drawer-body::-webkit-scrollbar {
  width: 2px;
}

.drawer-body::-webkit-scrollbar-thumb {
  background: var(--camouflage);
  -webkit-border-radius: 1px;
  border-radius: 1px;
}

.nav-group {
  margin-bottom: var(--space-md);
}

.nav-group:last-child {
  margin-bottom: 0;
}

.group-label {
  color: var(--olive-haze);
  font-size: var(--text-meta);
  align-items: center;
  gap: var(--space-sm);
  letter-spacing: .38em;
  margin-bottom: var(--space-xs);
  padding-bottom: var(--space-xs);
  text-transform: uppercase;
  border-bottom: 1px solid rgba(255, 255, 255, .07);
  font-weight: 600;
  display: flex;
}

.group-label:before {
  content: "";
  opacity: .5;
  background: currentColor;
  -webkit-border-radius: 50%;
  border-radius: 50%;
  flex-shrink: 0;
  width: 4px;
  height: 4px;
}

.nav-list {
  flex-direction: column;
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
}

.nav-item a {
  color: var(--gin);
  font-size: var(--text-body-lg);
  letter-spacing: .01em;
  padding: var(--space-2xs) 0;
  border-bottom: 1px solid rgba(255, 255, 255, .06);
  justify-content: space-between;
  align-items: center;
  font-weight: 400;
  text-decoration: none;
  transition: color .22s, padding-left .35s cubic-bezier(.16, 1, .3, 1);
  display: flex;
  position: relative;
  overflow: hidden;
}

.nav-item a:before {
  background: var(--green);
  content: "";
  transform-origin: center;
  -webkit-border-radius: 1px;
  border-radius: 1px;
  width: 1.5px;
  height: 50%;
  transition: scale .3s cubic-bezier(.16, 1, .3, 1);
  position: absolute;
  top: 50%;
  left: 0;
  translate: 0 -50%;
  scale: 1 0;
}

.nav-item a:hover {
  color: var(--wild-sand);
  padding-left: var(--space-sm);
  outline: none;
}

.nav-item a:hover:before {
  scale: 1;
}

.nav-item a:focus-visible {
  color: var(--wild-sand);
  padding-left: var(--space-sm);
  outline: none;
}

.nav-item a:focus-visible:before {
  scale: 1;
}

.nav-item a[aria-current="page"] {
  color: var(--wild-sand);
  font-weight: 500;
}

.nav-item:last-child a {
  border-bottom: none;
}

.nav-arrow {
  color: var(--olive-haze);
  font-size: var(--text-sm);
  margin-left: var(--space-xs);
  flex-shrink: 0;
  transition: translate .3s cubic-bezier(.16, 1, .3, 1), color .22s;
}

.nav-item a:hover .nav-arrow {
  color: var(--green);
  translate: 3px;
}

.nav-sublabel {
  color: var(--olive-haze);
  font-size: var(--text-meta);
  letter-spacing: .18em;
  text-transform: uppercase;
  flex-shrink: 0;
  margin-left: auto;
  font-weight: 500;
  transition: color .22s;
}

.nav-item a:hover .nav-sublabel {
  color: var(--camouflage);
}

.drawer-footer {
  padding: var(--space-sm) var(--space-lg) var(--space-md);
  justify-content: space-between;
  align-items: center;
  gap: var(--space-sm);
  border-top: 1px solid rgba(255, 255, 255, .07);
  flex-shrink: 0;
  display: flex;
}

.footer-estate {
  color: var(--olive-haze);
  font-size: var(--text-meta);
  letter-spacing: .14em;
  font-weight: 400;
}

.footer-actions {
  gap: var(--space-sm);
  display: flex;
}

.footer-actions a {
  color: var(--olive-haze);
  font-size: var(--text-meta);
  letter-spacing: .2em;
  text-transform: uppercase;
  font-weight: 500;
  text-decoration: none;
  transition: color .2s;
}

.footer-actions a:hover {
  color: var(--gin);
}

.drawer-header .header-meta, .nav-group {
  opacity: 0;
  transition: opacity .45s, translate .45s cubic-bezier(.16, 1, .3, 1);
  translate: 12px;
}

.nav-drawer.is-open .header-meta {
  opacity: 1;
  transition-delay: .12s;
  translate: 0;
}

.nav-drawer.is-open .nav-group:first-child {
  opacity: 1;
  transition-delay: .22s;
  translate: 0;
}

.nav-drawer.is-open .nav-group:nth-child(2) {
  opacity: 1;
  transition-delay: .3s;
  translate: 0;
}

.nav-drawer.is-open .nav-group:nth-child(3) {
  opacity: 1;
  transition-delay: .38s;
  translate: 0;
}

.nav-drawer.is-open .nav-group:nth-child(4) {
  opacity: 1;
  transition-delay: .46s;
  translate: 0;
}

.nav-drawer.is-open .nav-group:nth-child(5) {
  opacity: 1;
  transition-delay: .54s;
  translate: 0;
}

@media (prefers-reduced-motion: reduce) {
  .drawer-header .header-meta, .nav-group {
    opacity: 1;
    translate: 0;
  }
}

[data-theme="light"] .nav-drawer {
  background: var(--void);
}

[data-theme="light"] .drawer-logo svg {
  fill: var(--wild-sand);
}

/*# sourceMappingURL=style.css.map */