@font-face {
  font-family: "Allura";
  src: url("../fonts/allura-regular.ttf") format("truetype");
  font-style: normal;
  font-weight: 400;
  font-display: swap;
}

@font-face {
  font-family: "Cormorant Garamond";
  src: url("../fonts/cormorant-garamond-variable.woff2") format("woff2"),
       url("../fonts/cormorant-garamond-variable.ttf") format("truetype");
  font-style: normal;
  font-weight: 300 700;
  font-display: swap;
}

*,
*::before,
*::after { box-sizing: border-box; }

html {
  scroll-behavior: smooth;
  background: var(--el-paper);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

body {
  width: 100%;
  max-width: none;
  min-height: 100vh;
  margin: 0 auto;
  overflow-x: hidden;
  color: var(--el-ink);
  background: var(--el-paper);
  font-family: var(--el-font-sans);
  box-shadow: none;
}

body,
button,
input,
textarea,
select { font-size: var(--el-small); }

a { color: inherit; text-decoration: none; }
img { display: block; max-width: 100%; }
button,
input,
textarea,
select { font-family: inherit; }

:focus-visible {
  outline: .125rem solid var(--el-focus);
  outline-offset: .1875rem;
}

.el-page,
.el-page > .elementor,
.el-page > .elementor > .elementor-element { width: 100%; max-width: none; margin: 0; padding: 0; }
.el-page .elementor-widget-elgrekko_hero,
.el-page .elementor-widget-elgrekko_kafle,
.el-page .elementor-widget-elgrekko_craft,
.el-page .elementor-widget-elgrekko_featured,
.el-page .elementor-widget-elgrekko_brand_cta,
.el-page .elementor-widget-elgrekko_hero > .elementor-widget-container,
.el-page .elementor-widget-elgrekko_kafle > .elementor-widget-container,
.el-page .elementor-widget-elgrekko_craft > .elementor-widget-container,
.el-page .elementor-widget-elgrekko_featured > .elementor-widget-container,
.el-page .elementor-widget-elgrekko_brand_cta > .elementor-widget-container { margin: 0 !important; padding: 0 !important; }
.el-page .elementor-widget-elgrekko_about_hero,
.el-page .elementor-widget-elgrekko_about_usps,
.el-page .elementor-widget-elgrekko_about_history,
.el-page .elementor-widget-elgrekko_about_process,
.el-page .elementor-widget-elgrekko_about_materials,
.el-page .elementor-widget-elgrekko_about_bottom,
.el-page .elementor-widget-elgrekko_contact_page,
.el-page .elementor-widget-elgrekko_about_hero > .elementor-widget-container,
.el-page .elementor-widget-elgrekko_about_usps > .elementor-widget-container,
.el-page .elementor-widget-elgrekko_about_history > .elementor-widget-container,
.el-page .elementor-widget-elgrekko_about_process > .elementor-widget-container,
.el-page .elementor-widget-elgrekko_about_materials > .elementor-widget-container,
.el-page .elementor-widget-elgrekko_about_bottom > .elementor-widget-container { margin: 0 !important; padding: 0 !important; }
.el-page .elementor-widget-elgrekko_contact_page > .elementor-widget-container { margin: 0 !important; padding: 0 !important; }

.el-skip-link {
  position: fixed;
  z-index: 1000;
  top: .75rem;
  left: 1rem;
  padding: .625rem .875rem;
  color: var(--el-on-dark);
  background: var(--el-brown-hover);
  transform: translateY(-150%);
}
.el-skip-link:focus { transform: translateY(0); }

.el-header {
  position: sticky;
  z-index: 50;
  top: 0;
  height: var(--el-header-height);
  border-bottom: .0625rem solid transparent;
  background: var(--el-paper);
  transition: box-shadow var(--el-motion-fast) ease, border-color var(--el-motion-fast) ease;
}
.el-header.is-scrolled { border-color: var(--el-hairline); box-shadow: var(--el-header-shadow); }
.admin-bar .el-header { top: 2rem; }
.el-header__inner {
  width: 100%;
  height: 100%;
  padding: 0 var(--el-gutter);
  display: grid;
  grid-template-columns: 20.625rem minmax(0, 1fr) 10rem;
  align-items: center;
}
.el-brand { height: 100%; display: flex; align-items: center; gap: .8125rem; position: relative; z-index: 2; isolation: isolate; }
.el-brand::before { content: ""; position: absolute; z-index: -1; top: 50%; left: var(--el-logo-cutout-left); width: var(--el-logo-cutout-size); height: var(--el-logo-cutout-size); border-radius: 50%; background: var(--el-paper); transform: translateY(var(--el-logo-cutout-shift)); box-shadow: var(--el-logo-cutout-shadow); }
.el-brand__seal,
.el-brand .custom-logo { width: var(--el-logo-size); height: var(--el-logo-size); object-fit: contain; transform: translateY(.625rem); }
.el-brand .custom-logo-link { display: contents; }
.el-brand__text { display: flex; flex-direction: column; line-height: 1; }
.el-brand__text strong { font: 500 1.6875rem/1 var(--el-font-serif); letter-spacing: var(--el-ls-wordmark); }
.el-brand__text small { margin-top: .375rem; color: var(--el-muted); font-size: .46875rem; letter-spacing: .3em; }
.el-nav,
.el-nav__list { height: 100%; display: flex; justify-content: center; align-items: center; gap: clamp(1.5625rem, 2.2vw, 2rem); margin: 0; padding: 0; list-style: none; white-space: nowrap; }
.el-nav a { position: relative; padding: 1.8125rem 0 1.25rem; font: clamp(.71875rem, 1.04vw, .9375rem)/1 var(--el-font-serif); }
.el-nav a::after { content: ""; position: absolute; right: 0; bottom: 1rem; left: 0; height: .0625rem; background: currentColor; transform: scaleX(0); transform-origin: right; transition: transform var(--el-motion-fast) ease; }
.el-nav a:hover::after,
.el-nav .current-menu-item > a::after,
.home .el-nav > a:first-child::after,
.home .el-nav__list > li:first-child > a::after { transform: scaleX(1); transform-origin: left; }
.el-header__actions { display: flex; justify-content: flex-end; align-items: center; gap: .875rem; }
.el-icon-button,
.el-menu-toggle { width: var(--el-icon-size); height: var(--el-icon-size); padding: .3125rem; display: grid; place-items: center; border: 0; color: var(--el-ink); background: none; cursor: pointer; }
.el-icon-button svg,
.el-menu-toggle svg { width: 100%; height: 100%; fill: none; stroke: currentColor; stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; }
.el-cart-link { width: auto; grid-template-columns: var(--el-icon-size) auto; padding: 0; gap: .25rem; }
.el-cart-link span { font-family: var(--el-font-serif); }
.el-menu-toggle { display: none; }
.el-nav__close { display: none; }

.el-eyebrow { margin: 0; font-size: var(--el-eyebrow); font-weight: 700; line-height: 1.4; letter-spacing: var(--el-ls-eyebrow); text-transform: uppercase; }
.el-button { min-height: var(--el-button-height); padding: 0 var(--el-button-padding); display: inline-flex; align-items: center; justify-content: center; border: .0625rem solid currentColor; font-family: var(--el-font-serif); transition: transform var(--el-motion-fast) ease, background var(--el-motion-fast) ease; }
.el-button:hover { transform: translateY(-.125rem); }
.el-button--primary { border-color: var(--el-brown); color: var(--el-on-dark); background: var(--el-brown); }
.el-button--primary:hover { border-color: var(--el-brown-hover); background: var(--el-brown-hover); }
.el-button--outline { color: var(--el-on-dark); background: transparent; }

.el-hero { position: relative; isolation: isolate; height: var(--el-hero-height); overflow: hidden; color: var(--el-on-dark); background: var(--el-brown-hover); }
.el-hero__slides,
.el-hero__slide { position: absolute; inset: 0; }
.el-hero__slide { z-index: 0; visibility: hidden; opacity: 0; pointer-events: none; transition: opacity var(--el-motion-slow) var(--el-ease), visibility 0s linear var(--el-motion-slow); }
.el-hero__slide.is-active { z-index: 1; visibility: visible; opacity: 1; pointer-events: auto; transition-delay: 0s; }
.el-hero__image,
.el-hero__scrim { position: absolute; inset: 0; width: 100%; height: 100%; }
.el-hero__image { object-fit: cover; object-position: center; }
.el-hero__slide.is-active .el-hero__image { animation: el-image-in 1.2s var(--el-ease) both; }
.el-hero__scrim { z-index: 1; background: var(--el-scrim-hero); }
.el-hero__copy { position: relative; z-index: 2; width: clamp(33rem, 48vw, 44rem); padding-top: clamp(3.75rem, 5vw, 4.75rem); margin-left: var(--el-gutter); text-shadow: var(--el-text-shadow-strong); }
.el-hero__slide.is-active .el-hero__copy { animation: el-copy-in .75s ease-out both; }
.el-hero__title { margin: .8125rem 0 .75rem; font: 400 var(--el-h1)/.99 var(--el-font-serif); letter-spacing: -.028em; }
.el-hero__description { width: clamp(26rem, 37vw, 34rem); margin: 0 0 1.25rem; color: var(--el-on-dark); font-size: clamp(1rem, 1.35vw, 1.25rem); line-height: 1.5; }
.el-hero__actions { display: flex; gap: 1rem; }
.el-hero__actions .el-button { min-height: 3rem; font-size: clamp(.9375rem, 1.05vw, 1.0625rem); font-weight: 600; text-shadow: none; }
.el-hero__actions .el-button--primary { border-color: var(--el-cta-beige); color: var(--el-ink); background: var(--el-cta-beige); box-shadow: 0 .5rem 1.5rem rgba(0, 0, 0, .24); }
.el-hero__actions .el-button--primary:hover { border-color: var(--el-cta-beige-hover); background: var(--el-cta-beige-hover); }
.el-hero__actions .el-button--outline { border-color: rgba(255, 253, 249, .82); background: rgba(17, 10, 7, .24); }
.el-hero__mark { position: absolute; z-index: 3; top: 2.125rem; right: var(--el-gutter); bottom: 1.375rem; width: clamp(11.5625rem, 11.5vw, 13.75rem); text-align: center; color: var(--el-on-dark-muted); text-shadow: var(--el-text-shadow); pointer-events: none; }
.el-hero__seal { width: clamp(5.125rem, 5.1vw, 6.125rem); height: clamp(5.125rem, 5.1vw, 6.125rem); margin: 0 auto; display: grid; place-content: center; border: .0625rem solid currentColor; border-radius: 50%; transform: rotate(-7deg); letter-spacing: .11em; }
.el-hero__seal svg { width: 1.9375rem; height: 1.9375rem; margin: .125rem auto; fill: none; stroke: currentColor; stroke-width: 1.15; }
.el-hero__seal strong,
.el-hero__seal b { font-size: .5625rem; font-weight: 400; }
.el-hero__mark > p { margin: .5625rem 0 .4375rem; font-size: clamp(.5625rem, .62vw, .75rem); line-height: 1.45; letter-spacing: .17em; }
.el-hero__mark > i { display: block; width: 2.125rem; height: .0625rem; margin: .625rem auto .6875rem; background: var(--el-gold); }
.el-hero__mark > span { display: block; font-size: clamp(.625rem, .68vw, .8125rem); letter-spacing: .3em; }
.el-hero__mark > span small { display: block; margin-top: .3125rem; font-size: clamp(.4375rem, .48vw, .5625rem); letter-spacing: .28em; }
.el-hero__mark > em { position: absolute; right: 0; bottom: 0; width: clamp(11.875rem, 13vw, 15.4375rem); color: var(--el-gold); font: 400 var(--el-hero-script-size)/1.02 var(--el-font-script); transform: rotate(-6deg); }
.el-hero__controls { position: absolute; z-index: 5; left: var(--el-gutter); bottom: 1rem; display: flex; align-items: center; gap: .25rem; }
.el-hero__control,
.el-hero__dots button { min-width: var(--el-touch-target); min-height: var(--el-touch-target); padding: 0; border: 0; color: var(--el-on-dark); background: transparent; cursor: pointer; }
.el-hero__control { display: grid; place-items: center; border: .0625rem solid rgba(255, 253, 249, .48); border-radius: 50%; background: rgba(17, 10, 7, .38); box-shadow: 0 .25rem .875rem rgba(0, 0, 0, .18); font: 1.5rem/1 var(--el-font-serif); backdrop-filter: blur(.25rem); }
.el-hero__control--pause { font: 700 .8125rem/1 var(--el-font-sans); }
.el-hero__dots { display: flex; align-items: center; gap: .0625rem; }
.el-hero__dots button { position: relative; display: grid; place-items: center; border-radius: 50%; }
.el-hero__dots button::before { content: ""; width: .5rem; height: .5rem; border: .0625rem solid rgba(255, 253, 249, .75); border-radius: 50%; transition: width var(--el-motion-fast) ease, border-color var(--el-motion-fast) ease, background var(--el-motion-fast) ease; }
.el-hero__dots button.is-active::before { width: 1rem; border-color: var(--el-cta-beige); border-radius: var(--el-radius-pill); background: var(--el-cta-beige); }
.el-hero__control:hover { color: var(--el-ink); background: var(--el-cta-beige); }
.el-hero__dots button:hover::before { border-color: var(--el-cta-beige); background: var(--el-cta-beige); }

.el-categories { height: var(--el-tiles-height); padding: .375rem .625rem; display: grid; grid-template-columns: repeat(4, 1fr); gap: .375rem; background: var(--el-paper); }
.el-category { position: relative; overflow: hidden; border-radius: var(--el-radius-card); color: var(--el-on-dark); box-shadow: 0 .0625rem 0 rgba(45, 28, 18, .08); transform: translateZ(0); }
.el-category > img,
.el-category__scrim { position: absolute; inset: 0; width: 100%; height: 100%; }
.el-category > img { object-fit: cover; transition: transform var(--el-motion-normal) var(--el-ease), filter var(--el-motion-normal) ease; }
.el-category__scrim { background: var(--el-scrim-tile); transition: opacity var(--el-motion-fast) ease; }
.el-category:hover > img { transform: scale(1.04); filter: saturate(1.08) contrast(1.04); }
.el-category:hover .el-category__scrim { opacity: .92; }
.el-category__copy { position: absolute; z-index: 2; left: clamp(1.25rem, 1.8vw, 1.625rem); bottom: clamp(.875rem, 1.3vw, 1.1875rem); color: var(--el-on-dark); text-shadow: var(--el-text-shadow-strong); transition: transform var(--el-motion-fast) ease; }
.el-category:hover .el-category__copy { transform: translateY(-.125rem); }
.el-category__copy strong { display: block; margin-bottom: .4375rem; font: 400 clamp(1.375rem, 2.05vw, 1.9375rem)/.98 var(--el-font-serif); }
.el-category__copy small { font-size: clamp(.625rem, .92vw, .875rem); letter-spacing: .05em; }

.el-craft { height: var(--el-craft-height); display: grid; grid-template-columns: var(--el-craft-copy-track) var(--el-craft-features-track) var(--el-craft-photo-track); background: var(--el-surface); }
.el-craft__copy { padding: clamp(1.625rem, 2.35vw, 2.125rem) 1.25rem 1.25rem var(--el-gutter); }
.el-craft__copy .el-eyebrow { color: var(--el-brown); }
.el-craft h2 { margin: .625rem 0 .75rem; font: 400 var(--el-h2)/1.02 var(--el-font-serif); }
.el-craft__copy > p:not(.el-eyebrow) { max-width: 30.875rem; margin: 0 0 .875rem; font-size: clamp(.75rem, 1.05vw, .9375rem); line-height: 1.45; }
.el-craft__features { padding: 1.125rem .25rem .75rem; display: grid; grid-template-columns: repeat(3, 1fr); grid-template-rows: repeat(2, 1fr); align-items: center; text-align: center; }
.el-craft__feature { font-size: clamp(.6875rem, .96vw, .9375rem); line-height: 1.34; }
.el-craft__feature svg { width: clamp(2.375rem, 3.25vw, 3.125rem); height: clamp(2.375rem, 3.25vw, 3.125rem); margin: 0 auto .375rem; fill: none; stroke: currentColor; stroke-width: 1.25; stroke-linecap: round; stroke-linejoin: round; }
.el-craft__feature span { display: block; }
.el-craft__photo { position: relative; overflow: hidden; }
.el-craft__photo::before { content: ""; position: absolute; z-index: 2; inset: 0 auto 0 0; width: var(--el-photo-fade-width); background: var(--el-photo-fade); pointer-events: none; }
.el-craft__photo::after { content: ""; position: absolute; z-index: 3; inset: 0; background: var(--el-photo-vignette); pointer-events: none; }
.el-craft__photo > img { width: 100%; height: 100%; object-fit: cover; object-position: var(--el-craft-photo-position); }
.el-photo-mark { position: absolute; z-index: 4; right: clamp(1.25rem, 1.6vw, 1.875rem); bottom: clamp(1.3125rem, 1.5vw, 1.75rem); width: clamp(9.375rem, 10vw, 11.875rem); color: var(--el-on-dark-muted); text-align: center; text-shadow: var(--el-text-shadow-strong); }
.el-photo-mark em { display: block; color: var(--el-gold); font: 400 var(--el-photo-script-size)/1.02 var(--el-font-script); transform: rotate(-5deg); }
.el-photo-mark::after { content: ""; display: block; width: 1.875rem; height: .0625rem; margin: .75rem auto .5625rem; background: currentColor; opacity: .75; }
.el-photo-mark span { font-size: clamp(.5rem, .55vw, .65625rem); line-height: 1.5; letter-spacing: .28em; }
.el-photo-mark span small { display: block; }

.el-featured { position: relative; height: var(--el-featured-height); padding: clamp(1.125rem, 1.6vw, 1.4375rem) var(--el-gutter) .625rem; overflow: hidden; background: var(--el-surface-alt); }
.el-section-heading { display: flex; justify-content: space-between; align-items: center; margin-bottom: .625rem; }
.el-section-heading h2 { margin: 0; font: 400 var(--el-h3)/1 var(--el-font-serif); }
.el-section-heading a { font: clamp(.6875rem, 1vw, .875rem)/1 var(--el-font-serif); }
.el-featured__track { display: grid; grid-auto-flow: column; grid-auto-columns: calc((100% - (3 * var(--el-card-gap))) / 4); gap: var(--el-card-gap); transition: transform var(--el-motion-normal) var(--el-ease); will-change: transform; }
.el-featured__empty { min-height: calc(var(--el-card-image-height) + 4rem); padding: 2rem; display: grid; place-content: center; border: .0625rem solid var(--el-hairline); color: var(--el-muted); text-align: center; }
.el-product-card { min-width: 0; position: relative; border-radius: var(--el-radius-card); transition: transform var(--el-motion-fast) ease, filter var(--el-motion-fast) ease; }
.el-product-card:hover { transform: translateY(-.1875rem); filter: drop-shadow(0 .75rem 1rem rgba(45, 28, 18, .08)); }
.el-product-card__image { height: var(--el-card-image-height); display: block; position: relative; overflow: hidden; border: .0625rem solid rgba(91, 52, 32, .07); border-radius: var(--el-radius-card); background: var(--el-page-surround); box-shadow: var(--el-shadow-soft); }
.el-product-card__image img { width: 100%; height: 100%; object-fit: cover; transition: transform var(--el-motion-normal) var(--el-ease); }
.el-product-card:hover .el-product-card__image img { transform: scale(1.04); }
.el-product-card__heart { position: absolute; top: .4375rem; right: .5rem; color: var(--el-on-dark); font-size: 1.5rem; text-shadow: 0 .0625rem .1875rem var(--el-ink); }
.el-product-card h3 { margin: clamp(.4375rem, .7vw, .625rem) 0 .125rem; font: 400 clamp(.8125rem, 1.08vw, 1.0625rem)/1.12 var(--el-font-serif); }
.el-product-card__variant { display: block; color: var(--el-muted); font: clamp(.6875rem, .98vw, .9375rem)/1.2 var(--el-font-serif); }
.el-product-card__price { display: block; margin-top: .25rem; font: 700 clamp(1rem, 1.35vw, 1.25rem)/1 var(--el-font-serif); }
.el-product-card__colors { display: flex; gap: .4375rem; margin-top: .375rem; }
.el-product-card__colors i { width: .6875rem; height: .6875rem; border-radius: 50%; background: var(--el-brown); }
.el-product-card__colors i:first-child { background: var(--el-swatch-blue); }
.el-product-card__colors i:last-child { background: var(--el-ink); }
.el-carousel-arrow { position: absolute; z-index: 6; top: 48%; width: var(--el-carousel-control); height: var(--el-carousel-control); padding: 0; display: grid; place-items: center; border: .0625rem solid var(--el-hairline); border-radius: 50%; color: var(--el-ink); background: var(--el-paper); font: 1.25rem/1 var(--el-font-serif); cursor: pointer; }
.el-carousel-arrow--previous { left: .9375rem; }
.el-carousel-arrow--next { right: .9375rem; }
.el-carousel-dots { position: absolute; z-index: 6; left: 50%; bottom: .5rem; display: flex; gap: .5625rem; transform: translateX(-50%); }
.el-carousel-dots i { width: .4375rem; height: .4375rem; border: .0625rem solid var(--el-hairline); border-radius: 50%; }
.el-carousel-dots i.is-active { border-color: var(--el-ink); background: var(--el-ink); }

.el-brand-cta { position: relative; isolation: isolate; height: var(--el-brand-cta-height); overflow: hidden; color: var(--el-on-dark); background: var(--el-ink); }
.el-brand-cta > img,
.el-brand-cta__scrim { position: absolute; inset: 0; width: 100%; height: 100%; }
.el-brand-cta > img { object-fit: cover; filter: saturate(.92) contrast(1.04); }
.el-brand-cta__scrim { z-index: 1; background: var(--el-scrim-brand); }
.el-brand-cta__copy { position: relative; z-index: 2; width: var(--el-brand-copy-width); padding-top: clamp(2.5625rem, 3.65vw, 3.3125rem); margin-left: var(--el-gutter); text-shadow: var(--el-text-shadow-strong); }
.el-brand-cta h2 { margin: .3125rem 0 .4375rem; font: 400 clamp(2.125rem, 3.05vw, 2.75rem)/1 var(--el-font-serif); white-space: nowrap; }
.el-brand-cta__copy > p:not(.el-eyebrow) { margin: 0 0 .9375rem; color: var(--el-on-dark-muted); font-size: clamp(.75rem, 1.05vw, .9375rem); line-height: 1.35; }
.el-brand-cta__mark { right: var(--el-gutter); bottom: 1.875rem; width: 11.125rem; }

@media (min-width: 90.0625rem) {
  .el-craft__features { padding-right: var(--el-craft-features-wide-padding-right); padding-left: 0; }
}

.el-footer { min-height: 4.5rem; padding: 1rem var(--el-gutter); display: flex; align-items: center; justify-content: space-between; gap: 1rem; color: var(--el-on-dark-muted); background: var(--el-ink); }
.el-footer__brand { font-family: var(--el-font-serif); letter-spacing: var(--el-ls-wordmark); }
.el-footer ul { display: flex; gap: 1rem; margin: 0; padding: 0; list-style: none; }

@keyframes el-copy-in { from { transform: translateY(.375rem); } to { transform: none; } }
@keyframes el-image-in { from { transform: scale(1.025); filter: saturate(.8); } to { transform: none; filter: none; } }

@media (max-width: 90rem) { body { box-shadow: none; } }

@media (max-width: 67.5rem) and (min-width: 56.3125rem) {
  .el-header__inner { grid-template-columns: 19.375rem minmax(0, 1fr) 9rem; padding-right: 2.125rem; padding-left: 2.125rem; }
  .el-nav,
  .el-nav__list { gap: 1.125rem; }
  .el-craft { height: auto; grid-template-columns: 38% 62%; }
  .el-craft__copy,
  .el-craft__features { min-height: var(--el-craft-height); }
  .el-craft__photo { grid-column: 1 / -1; height: 20rem; }
}

@media (max-width: 56.25rem) {
  .el-header,
  .admin-bar .el-header { position: relative; top: auto; }
  .el-header__inner { padding: 0 .875rem; grid-template-columns: 1fr auto; }
  .el-brand { gap: 1.25rem; }
  .el-brand__seal,
  .el-brand .custom-logo { width: 4rem; height: 4rem; margin-top: 0; transform: translate(.75rem, 1rem); }
  .el-brand__text strong { font-size: 1.25rem; letter-spacing: .08em; }
  .el-brand__text small { display: none; }
  .el-nav { position: fixed; z-index: 40; top: var(--el-header-height); right: 0; left: 0; height: auto; max-height: calc(100dvh - var(--el-header-height)); padding: 3.5rem 1.5rem 1.625rem; display: block; overflow-y: auto; background: var(--el-paper); box-shadow: var(--el-header-shadow); transform: translateY(-120%); opacity: 0; pointer-events: none; transition: transform var(--el-motion-normal) var(--el-ease), opacity var(--el-motion-fast) ease; }
  .admin-bar .el-nav { top: calc(var(--el-header-height) + 2.875rem); max-height: calc(100dvh - var(--el-header-height) - 2.875rem); }
  .el-nav__list { position: static; height: auto; padding: 0; display: flex; flex-direction: column; align-items: stretch; gap: 0; background: transparent; box-shadow: none; transform: none; opacity: 1; pointer-events: auto; }
  .el-nav.is-open { transform: none; opacity: 1; pointer-events: auto; }
  .el-nav__close { position: absolute; top: .5rem; right: .75rem; width: var(--el-touch-target); height: var(--el-touch-target); padding: .625rem; display: grid; place-items: center; border: 0; color: var(--el-ink); background: transparent; cursor: pointer; }
  .el-nav__close svg { width: 100%; height: 100%; fill: none; stroke: currentColor; stroke-width: 1.5; stroke-linecap: round; }
  .el-nav a { display: block; padding: .8125rem 0; border-bottom: .0625rem solid var(--el-hairline); font-size: 1rem; }
  .el-header__actions { gap: .125rem; }
  .el-header__actions > .el-account-link { display: none; }
  .el-menu-toggle { display: grid; }
  .el-cart-link span { display: none; }
  .el-hero__copy { width: auto; padding: 4.375rem var(--el-gutter) 1.875rem; margin: 0; }
  .el-hero__description { width: min(88vw, 26.875rem); }
  .el-hero__mark { display: none; }
  .el-hero__image { object-position: 64% center; }
  .el-categories { height: auto; padding: .3125rem; grid-template-columns: repeat(2, 1fr); }
  .el-category { min-height: 14.375rem; }
  .el-craft { height: auto; grid-template-columns: 1fr; }
  .el-craft__copy { padding: 2.5rem var(--el-gutter) 1.5625rem; }
  .el-craft__features { min-height: 15.625rem; }
  .el-craft__photo { min-height: 20rem; }
  .el-craft__photo::before { display: none; }
  .el-featured { height: auto; min-height: 27rem; padding: 1.75rem var(--el-gutter); }
  .el-featured__track { grid-auto-columns: calc((100% - var(--el-card-gap)) / 2); }
  .el-product-card__image { height: var(--el-card-image-height); }
  .el-brand-cta { height: 20.625rem; }
  .el-brand-cta__copy { width: min(80%, 26rem); padding-top: 3.4375rem; margin-left: var(--el-gutter); }
  .el-brand-cta h2 { white-space: normal; }
  .el-footer { align-items: flex-start; flex-direction: column; }
}

@media (max-width: 40rem) {
  .el-hero__copy { padding-top: 3.25rem; padding-bottom: 5.25rem; }
  .el-hero__scrim { background: linear-gradient(90deg, rgba(20, 12, 8, .93), rgba(20, 12, 8, .58)), linear-gradient(0deg, rgba(20, 12, 8, .46), transparent 48%); }
  .el-hero__actions { flex-direction: column; }
  .el-hero__actions .el-button { width: 100%; }
  .el-hero__actions .el-button--primary { border-color: var(--el-cta-beige); color: var(--el-ink); background: var(--el-cta-beige); box-shadow: 0 .5rem 1.5rem var(--el-overlay-soft); }
  .el-hero__actions .el-button--primary:hover { border-color: var(--el-cta-beige-hover); background: var(--el-cta-beige-hover); }
  .el-hero__controls { right: auto; left: 50%; bottom: .75rem; transform: translateX(-50%); }
  .el-categories { grid-template-columns: 1fr; }
  .el-category { min-height: 11.25rem; }
  .el-craft__features { padding: 1.25rem; grid-template-columns: 1fr; grid-template-rows: none; }
  .el-craft__feature { min-height: 6.5625rem; padding: 1.125rem; border-bottom: .0625rem solid var(--el-hairline); }
  .el-featured { min-height: 31rem; }
  .el-featured__track { grid-auto-columns: 100%; }
  .el-section-heading { align-items: flex-end; gap: .625rem; }
  .el-brand-cta { height: 20.625rem; }
  .el-brand-cta__mark { display: none; }
  .el-footer ul { flex-wrap: wrap; }
}

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

/* About page */
.el-about-hero {
  position: relative;
  isolation: isolate;
  height: var(--el-about-hero-height);
  min-height: 22.8125rem;
  overflow: hidden;
  color: var(--el-on-dark);
  background: var(--el-brown-hover);
}
.el-about-hero__image,
.el-about-hero__scrim { position: absolute; inset: 0; width: 100%; height: 100%; }
.el-about-hero__image { object-fit: cover; object-position: center 52%; filter: saturate(.86) contrast(1.06) brightness(.91); animation: el-image-in 1.2s var(--el-ease) both; }
.el-about-hero__scrim { z-index: 1; background: linear-gradient(90deg, rgba(17, 10, 7, .97) 0%, rgba(17, 10, 7, .91) 31%, rgba(17, 10, 7, .55) 47%, rgba(17, 10, 7, .08) 72%); }
.el-about-hero__copy { position: relative; z-index: 2; width: clamp(27.8125rem, 42vw, 40.625rem); padding: clamp(2.625rem, 3.8vw, 3.625rem) 0 1.25rem; margin-left: var(--el-gutter); animation: el-copy-in .75s ease-out both; }
.el-about-hero h1 { margin: clamp(.5625rem, .9vw, .8125rem) 0 clamp(.5rem, .8vw, .75rem); font: 400 clamp(2.875rem, 4.15vw, 3.9375rem)/.94 var(--el-font-serif); letter-spacing: -.025em; }
.el-about-hero__copy > p:not(.el-eyebrow) { width: clamp(24.375rem, 36vw, 34.25rem); margin: 0 0 clamp(.875rem, 1.35vw, 1.25rem); color: var(--el-on-dark-muted); font-size: clamp(.78125rem, 1.06vw, 1rem); line-height: 1.36; }
.el-about-hero__mark { position: absolute; z-index: 3; top: clamp(1.6875rem, 2.5vw, 2.375rem); right: clamp(2.375rem, 4vw, 4.5rem); bottom: clamp(1.25rem, 2vw, 1.875rem); width: clamp(11.25rem, 15vw, 14.375rem); display: flex; flex-direction: column; align-items: center; text-align: center; color: var(--el-on-dark-muted); text-shadow: var(--el-text-shadow); pointer-events: none; }
.el-about-hero__mark > img { width: clamp(6.25rem, 9vw, 8.625rem); height: clamp(6.25rem, 9vw, 8.625rem); object-fit: contain; opacity: .84; filter: brightness(0) invert(1) sepia(.28) saturate(.55); }
.el-about-hero__mark > em { width: 100%; margin-top: clamp(.0625rem, .4vw, .375rem); color: var(--el-gold); font: 400 clamp(1.5625rem, 2.35vw, 2.25rem)/.94 var(--el-font-script); transform: rotate(-5deg); }
.el-about-hero__mark > i { width: 2.125rem; height: .0625rem; margin: auto auto .625rem; background: var(--el-gold); }
.el-about-hero__mark > span { font-size: clamp(.625rem, .68vw, .8125rem); letter-spacing: .3em; }
.el-about-hero__mark small { display: block; margin-top: .3125rem; font-size: clamp(.4375rem, .48vw, .5625rem); letter-spacing: .28em; }

.el-about-usps { height: var(--el-about-usps-height); padding: 0 var(--el-gutter); display: grid; grid-template-columns: repeat(4, 1fr); background: var(--el-paper); }
.el-about-usps__item { min-width: 0; margin: 0; padding: 0 clamp(.9375rem, 1.65vw, 1.5625rem); display: flex; align-items: center; gap: clamp(.75rem, 1.2vw, 1.125rem); border-right: .0625rem solid var(--el-hairline); }
.el-about-usps__item:first-child { padding-left: 0; }
.el-about-usps__item:last-child { border-right: 0; }
.el-about-usps__icon { width: clamp(2.625rem, 4vw, 3.625rem); height: clamp(2.625rem, 4vw, 3.625rem); flex: 0 0 clamp(2.625rem, 4vw, 3.625rem); }
.el-about-usps svg,
.el-about-bottom__benefits svg { width: 100%; height: 100%; fill: none; stroke: currentColor; stroke-width: 1.35; stroke-linecap: round; stroke-linejoin: round; }
.el-about-usps h2 { margin: 0; font: 400 clamp(.9375rem, 1.34vw, 1.25rem)/1.02 var(--el-font-serif); }
.el-about-usps p { max-width: 11.875rem; margin: clamp(.3125rem, .55vw, .5rem) 0 0; color: var(--el-muted); font-size: clamp(.625rem, .88vw, .8125rem); line-height: 1.28; }

.el-about-history { height: var(--el-about-history-height); display: grid; grid-template-columns: 64% 36%; overflow: hidden; }
.el-about-history__photo { position: relative; overflow: hidden; color: var(--el-on-dark); }
.el-about-history__photo > img { width: 100%; height: 100%; object-fit: cover; object-position: 52% center; filter: saturate(.8) contrast(1.08) brightness(.8); transition: transform 1.1s var(--el-ease); }
.el-about-history__photo:hover > img { transform: scale(1.025); }
.el-about-history__photo::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(16, 9, 6, .96) 0%, rgba(16, 9, 6, .76) 40%, rgba(16, 9, 6, .1) 78%); }
.el-about-history__copy { position: absolute; z-index: 2; top: clamp(1.6875rem, 2.5vw, 2.375rem); left: var(--el-gutter); width: clamp(24.0625rem, 36vw, 34.25rem); }
.el-about-history h2 { margin: clamp(.375rem, .65vw, .625rem) 0 clamp(.4375rem, .75vw, .6875rem); font: 400 clamp(1.9375rem, 3.02vw, 2.875rem)/.98 var(--el-font-serif); letter-spacing: -.02em; }
.el-about-history__copy > p:not(.el-eyebrow),
.el-about-history__statement > p:not(.el-eyebrow) { margin: 0 0 clamp(.625rem, 1vw, .9375rem); font-size: clamp(.65625rem, .98vw, .90625rem); line-height: 1.37; }
.el-about-history__statement { padding: clamp(1.75rem, 2.75vw, 2.625rem) clamp(1.875rem, 3.1vw, 2.9375rem); background: linear-gradient(110deg, var(--el-paper), var(--el-surface)); }
.el-about-history__statement .el-eyebrow { color: var(--el-brown); }
.el-about-history .el-button { min-height: clamp(2.3125rem, 3.25vw, 3rem); padding: .5rem clamp(.9375rem, 1.4vw, 1.375rem); font-size: clamp(.625rem, .9vw, .8125rem); }

.el-about-process { height: var(--el-about-process-height); padding: clamp(1.0625rem, 1.75vw, 1.6875rem) var(--el-gutter); display: grid; grid-template-columns: clamp(12.8125rem, 19vw, 18.125rem) 1fr; gap: clamp(1.3125rem, 2.25vw, 2.125rem); background: var(--el-paper); }
.el-about-process__title .el-eyebrow { color: var(--el-brown); }
.el-about-process__title h2 { max-width: 12rem; margin: clamp(.5rem, .75vw, .6875rem) 0 0; font: 400 clamp(2.0625rem, 3.18vw, 3rem)/.95 var(--el-font-serif); }
.el-about-process__grid { display: grid; grid-template-columns: repeat(5, 1fr); gap: clamp(.6875rem, 1.25vw, 1.1875rem); }
.el-about-process__grid article { min-width: 0; position: relative; }
.el-about-process__grid article:not(:last-child)::after { content: "→"; position: absolute; top: clamp(2.5625rem, 3.8vw, 3.625rem); right: calc(clamp(.6875rem, 1.25vw, 1.1875rem) * -.72); color: var(--el-brown); font-family: var(--el-font-serif); }
.el-about-process__grid img { width: 100%; height: clamp(6rem, 8.6vw, 8.25rem); object-fit: cover; border-radius: .3125rem; filter: saturate(.86) contrast(1.04); box-shadow: var(--el-shadow-soft); }
.el-about-process__grid h3 { margin: clamp(.375rem, .6vw, .5625rem) 0 .125rem; font: 400 clamp(.6875rem, 1.05vw, 1rem)/1.1 var(--el-font-serif); }
.el-about-process__grid h3 span { display: block; margin-bottom: .125rem; font-size: .92em; letter-spacing: .08em; }
.el-about-process__grid p { margin: 0; color: var(--el-muted); font-size: clamp(.5625rem, .82vw, .75rem); line-height: 1.22; }

.el-about-materials { height: var(--el-about-materials-height); display: grid; grid-template-columns: 30% 30% 40%; background: var(--el-paper); }
.el-about-materials__copy { position: relative; z-index: 3; padding: clamp(1.5rem, 2.45vw, 2.3125rem) clamp(1.25rem, 2vw, 1.875rem) .875rem var(--el-gutter); display: flex; flex-direction: column; align-items: flex-start; justify-content: center; background: radial-gradient(circle at 18% 22%, rgba(255, 255, 255, .86), transparent 49%), linear-gradient(90deg, var(--el-paper), var(--el-surface)); }
.el-about-materials__copy .el-eyebrow { color: var(--el-brown); }
.el-about-materials h2 { margin: clamp(.375rem, .6vw, .5625rem) 0 clamp(.4375rem, .7vw, .625rem); font: 400 clamp(1.875rem, 3vw, 3rem)/.98 var(--el-font-serif); }
.el-about-materials__copy > p:not(.el-eyebrow) { max-width: 30.625rem; margin: 0 0 clamp(.5625rem, .9vw, .875rem); font-size: clamp(.65625rem, 1vw, .9375rem); line-height: 1.4; }
.el-about-materials .el-button { min-height: clamp(2.125rem, 3vw, 2.75rem); padding: .4375rem clamp(.875rem, 1.3vw, 1.25rem); font-size: clamp(.59375rem, .82vw, .78125rem); }
.el-about-materials__photo,
.el-about-personalisation { position: relative; min-width: 0; overflow: hidden; }
.el-about-materials__photo img,
.el-about-personalisation > img { width: 100%; height: 100%; object-fit: cover; }
.el-about-materials__photo { --el-material-blend: clamp(2rem, 3.7vw, 4.375rem); width: calc(100% + var(--el-material-blend)); margin-left: calc(var(--el-material-blend) * -1); background: var(--el-surface); }
.el-about-materials__photo img { object-position: center 54%; -webkit-mask-image: linear-gradient(90deg, transparent 0%, rgba(0, 0, 0, .18) 5%, var(--el-mask-solid) 18%, var(--el-mask-solid) 100%); mask-image: linear-gradient(90deg, transparent 0%, rgba(0, 0, 0, .18) 5%, var(--el-mask-solid) 18%, var(--el-mask-solid) 100%); }
.el-about-personalisation { --el-personal-overlap: clamp(2.375rem, 4.2vw, 5rem); z-index: 2; width: calc(100% + var(--el-personal-overlap)); margin-left: calc(var(--el-personal-overlap) * -1); isolation: isolate; color: var(--el-on-dark); -webkit-mask-image: linear-gradient(90deg, transparent 0%, rgba(0, 0, 0, .3) 4%, var(--el-mask-solid) 13%, var(--el-mask-solid) 100%); mask-image: linear-gradient(90deg, transparent 0%, rgba(0, 0, 0, .3) 4%, var(--el-mask-solid) 13%, var(--el-mask-solid) 100%); }
.el-about-personalisation > img { object-position: center 51%; filter: saturate(.82) contrast(1.05) brightness(.78); transition: transform .9s var(--el-ease); }
.el-about-personalisation:hover > img { transform: scale(1.025); }
.el-about-personalisation__scrim { position: absolute; z-index: 1; inset: 0; background: linear-gradient(90deg, rgba(17, 10, 7, .96) 0%, rgba(17, 10, 7, .78) 48%, rgba(17, 10, 7, .2) 82%); }
.el-about-personalisation__copy { position: absolute; z-index: 2; top: 50%; left: clamp(4.125rem, 6vw, 7rem); width: min(58%, 24.375rem); transform: translateY(-50%); }
.el-about-personalisation__copy h2 { color: var(--el-on-dark); font-size: clamp(1.875rem, 2.85vw, 2.875rem); }
.el-about-personalisation__copy > p:not(.el-eyebrow) { margin: 0 0 clamp(.5625rem, .9vw, .875rem); color: var(--el-on-dark-muted); font-size: clamp(.65625rem, .92vw, .875rem); line-height: 1.36; }
.el-about-personalisation > em { position: absolute; z-index: 2; right: clamp(1.0625rem, 1.6vw, 1.5625rem); bottom: clamp(1.0625rem, 1.6vw, 1.5625rem); color: var(--el-gold); font: 400 clamp(1.25rem, 1.85vw, 1.75rem)/.94 var(--el-font-script); text-align: center; transform: rotate(-5deg); text-shadow: var(--el-text-shadow-strong); }

.el-about-bottom { position: relative; isolation: isolate; height: var(--el-about-bottom-height); min-height: 9rem; overflow: hidden; color: var(--el-on-dark); background: var(--el-ink); }
.el-about-bottom > img,
.el-about-bottom__scrim { position: absolute; inset: 0; width: 100%; height: 100%; }
.el-about-bottom > img { object-fit: cover; object-position: 57% 58%; filter: saturate(.7) contrast(1.12) brightness(.39); }
.el-about-bottom__scrim { z-index: 1; background: linear-gradient(90deg, rgba(14, 8, 5, .98) 0%, rgba(14, 8, 5, .84) 29%, rgba(14, 8, 5, .5) 54%, rgba(14, 8, 5, .82) 100%), linear-gradient(0deg, rgba(8, 4, 2, .32), transparent 45%); }
.el-about-bottom__layout { position: relative; z-index: 2; height: 100%; padding: 0 var(--el-gutter); display: grid; grid-template-columns: 31% 51% 18%; align-items: center; }
.el-about-bottom__copy h2 { margin: .25rem 0; font: 400 clamp(1.8125rem, 3vw, 3rem)/1 var(--el-font-serif); }
.el-about-bottom__copy > p:not(.el-eyebrow) { max-width: 22.5rem; margin: 0; color: var(--el-on-dark-muted); font-size: clamp(.625rem, .9vw, .84375rem); line-height: 1.38; }
.el-about-bottom__benefits { height: 68%; display: grid; grid-template-columns: repeat(4, 1fr); align-items: center; }
.el-about-bottom__benefits > div { min-width: 0; height: 72%; padding: 0 .4375rem; display: flex; flex-direction: column; justify-content: center; align-items: center; gap: .4375rem; border-left: .0625rem solid rgba(235, 221, 209, .24); text-align: center; }
.el-about-bottom__benefits span { width: clamp(1.75rem, 2.55vw, 2.5625rem); height: clamp(1.75rem, 2.55vw, 2.5625rem); }
.el-about-bottom__benefits b { color: var(--el-on-dark-muted); font: 400 clamp(.5625rem, .8vw, .78125rem)/1.2 var(--el-font-sans); }
.el-about-bottom__signature { text-align: center; }
.el-about-bottom__signature em { display: block; color: var(--el-gold); font: 400 clamp(1.375rem, 2.15vw, 2.0625rem)/.95 var(--el-font-script); transform: rotate(-5deg); }
.el-about-bottom__signature span { display: block; margin-top: .5625rem; font-size: clamp(.4375rem, .58vw, .5625rem); line-height: 1.45; letter-spacing: .28em; }
.el-about-bottom__signature small { display: block; font-size: .85em; }

@media (min-width: 56.3125rem) and (max-width: 75rem) {
  .el-about-materials__copy { padding-top: 1.125rem; padding-bottom: .625rem; }
  .el-about-materials h2 { margin: .3125rem 0 .375rem; font-size: 1.9375rem; }
  .el-about-materials__copy > p:not(.el-eyebrow) { margin-bottom: .5rem; font-size: .625rem; line-height: 1.3; }
  .el-about-materials .el-button { min-height: 2rem; padding: .3125rem .875rem; font-size: .59375rem; }
  .el-about-bottom__layout { grid-template-columns: 35% 48% 17%; }
  .el-about-bottom__copy h2 { font-size: 1.9375rem; white-space: nowrap; }
}

@media (max-width: 56.25rem) {
  .el-about-hero { height: 35rem; min-height: 35rem; }
  .el-about-hero__image { object-position: 62% center; }
  .el-about-hero__scrim { background: linear-gradient(90deg, rgba(17, 10, 7, .97), rgba(17, 10, 7, .83) 45%, rgba(17, 10, 7, .25)); }
  .el-about-hero__copy { width: min(88%, 35rem); padding: 3.875rem var(--el-gutter) 1.875rem; margin: 0; }
  .el-about-hero__copy > p:not(.el-eyebrow) { width: min(100%, 32.5rem); font-size: .875rem; line-height: 1.42; }
  .el-about-hero__mark { display: none; }
  .el-about-usps { height: auto; padding: 1rem var(--el-gutter); grid-template-columns: repeat(2, 1fr); }
  .el-about-usps__item,
  .el-about-usps__item:first-child { min-height: 7rem; padding: 1rem 1.125rem; }
  .el-about-usps__item:nth-child(2) { border-right: 0; }
  .el-about-usps__item:nth-child(-n+2) { border-bottom: .0625rem solid var(--el-hairline); }
  .el-about-history { height: auto; grid-template-columns: 1fr; overflow: visible; }
  .el-about-history__photo { height: 29.375rem; }
  .el-about-history__copy { top: 3.375rem; left: var(--el-gutter); width: min(78%, 30rem); }
  .el-about-history h2 { font-size: clamp(2.125rem, 7vw, 2.875rem); }
  .el-about-history__copy > p:not(.el-eyebrow),
  .el-about-history__statement > p:not(.el-eyebrow) { font-size: .8125rem; }
  .el-about-history__statement { min-height: 20rem; padding: 2.625rem var(--el-gutter); }
  .el-about-process { height: auto; padding: 2.625rem var(--el-gutter); display: block; }
  .el-about-process__title { margin-bottom: 1.75rem; }
  .el-about-process__grid { grid-template-columns: repeat(2, 1fr); gap: 1.75rem 1.125rem; }
  .el-about-process__grid article:last-child { width: calc(50% - .5625rem); grid-column: 1 / -1; }
  .el-about-process__grid article::after { display: none; }
  .el-about-process__grid img { height: 11.875rem; }
  .el-about-process__grid h3 { font-size: .9375rem; }
  .el-about-process__grid p { font-size: .6875rem; }
  .el-about-materials { height: auto; grid-template-columns: 1fr; }
  .el-about-materials__copy { min-height: 20rem; padding: 2.75rem var(--el-gutter); }
  .el-about-materials__copy > p:not(.el-eyebrow) { max-width: 35.625rem; font-size: .8125rem; }
  .el-about-materials__photo,
  .el-about-personalisation { min-height: 25.625rem; }
  .el-about-materials__photo,
  .el-about-personalisation { width: 100%; margin-left: 0; -webkit-mask-image: none; mask-image: none; }
  .el-about-materials__photo img { -webkit-mask-image: none; mask-image: none; }
  .el-about-personalisation__copy { top: 50%; left: 2.125rem; width: min(55%, 26.25rem); transform: translateY(-50%); }
  .el-about-personalisation__copy h2 { font-size: 2.5625rem; }
  .el-about-personalisation__copy > p:not(.el-eyebrow) { font-size: .8125rem; }
  .el-about-bottom { height: auto; min-height: 24.375rem; }
  .el-about-bottom__layout { padding: 2.625rem var(--el-gutter); grid-template-columns: 1fr; align-content: center; gap: 1.625rem; }
  .el-about-bottom__copy > p:not(.el-eyebrow) { max-width: 32.5rem; font-size: .75rem; }
  .el-about-bottom__benefits { height: auto; max-width: 42.5rem; }
  .el-about-bottom__benefits > div { height: 6.25rem; }
  .el-about-bottom__signature { display: none; }
}

@media (max-width: 40rem) {
  .el-about-hero { height: 38.125rem; min-height: 38.125rem; }
  .el-about-hero__image { object-position: 65% center; }
  .el-about-hero__scrim { background: linear-gradient(90deg, rgba(17, 10, 7, .97), rgba(17, 10, 7, .72)); }
  .el-about-hero__copy { width: 100%; padding-top: 4.25rem; }
  .el-about-hero h1 { font-size: clamp(2.75rem, 13vw, 3.375rem); }
  .el-about-usps { grid-template-columns: 1fr; padding: .625rem var(--el-gutter); }
  .el-about-usps__item,
  .el-about-usps__item:first-child { min-height: 6.75rem; padding: .9375rem .25rem; border-right: 0; border-bottom: .0625rem solid var(--el-hairline); }
  .el-about-usps__item:last-child { border-bottom: 0; }
  .el-about-usps h2 { font-size: 1.125rem; }
  .el-about-usps p { font-size: .6875rem; }
  .el-about-history__photo { height: 33.75rem; }
  .el-about-history__copy { top: 2.75rem; width: calc(100% - (2 * var(--el-gutter))); }
  .el-about-history__copy > p:not(.el-eyebrow) { font-size: .75rem; }
  .el-about-history__statement { min-height: 24.375rem; }
  .el-about-process__grid { grid-template-columns: 1fr; }
  .el-about-process__grid article:last-child { width: 100%; grid-column: auto; }
  .el-about-process__grid img { height: 15.625rem; }
  .el-about-materials__copy { min-height: 24.375rem; }
  .el-about-materials__photo { min-height: 21.25rem; }
  .el-about-personalisation { min-height: 32.5rem; }
  .el-about-personalisation__scrim { background: linear-gradient(90deg, rgba(17, 10, 7, .96), rgba(17, 10, 7, .58)); }
  .el-about-personalisation__copy { top: 50%; left: var(--el-gutter); width: calc(100% - (2 * var(--el-gutter))); transform: translateY(-50%); }
  .el-about-personalisation__copy h2 { font-size: 2.375rem; }
  .el-about-personalisation > em { right: var(--el-gutter); bottom: 2rem; font-size: 1.75rem; }
  .el-about-bottom { min-height: 40.625rem; }
  .el-about-bottom__layout { padding: 3.375rem var(--el-gutter); }
  .el-about-bottom__copy h2 { font-size: 2.375rem; }
  .el-about-bottom__benefits { grid-template-columns: repeat(2, 1fr); }
  .el-about-bottom__benefits > div { height: 7.375rem; border-bottom: .0625rem solid rgba(235, 221, 209, .24); }
}

/* Editorial motion: progressive enhancement for the About page. */
.el-motion-ready .el-about-hero__copy > * {
  opacity: 0;
  transform: translateY(var(--el-motion-distance));
}

.el-motion-ready.el-motion-live .el-about-hero__copy > * {
  animation: el-about-copy-in var(--el-motion-slow) var(--el-ease) both;
}

.el-motion-ready.el-motion-live .el-about-hero__copy > :nth-child(1) { animation-delay: var(--el-motion-stagger); }
.el-motion-ready.el-motion-live .el-about-hero__copy > :nth-child(2) { animation-delay: calc(var(--el-motion-stagger) * 2); }
.el-motion-ready.el-motion-live .el-about-hero__copy > :nth-child(3) { animation-delay: calc(var(--el-motion-stagger) * 3); }
.el-motion-ready.el-motion-live .el-about-hero__copy > :nth-child(4) { animation-delay: calc(var(--el-motion-stagger) * 4); }

@keyframes el-about-copy-in {
  from { opacity: 0; transform: translateY(var(--el-motion-distance)); }
  to { opacity: 1; transform: translateY(0); }
}

.el-motion-reveal {
  opacity: 0;
  transform: translateY(var(--el-motion-distance));
  transition:
    opacity var(--el-motion-normal) ease calc(var(--el-motion-stagger) * var(--el-motion-order, 0)),
    transform var(--el-motion-slow) var(--el-ease) calc(var(--el-motion-stagger) * var(--el-motion-order, 0));
}

.el-motion-reveal.is-inview {
  opacity: 1;
  transform: translateY(0);
}

.el-motion-media {
  clip-path: inset(0 8% 0 0);
  transition: clip-path var(--el-motion-slow) var(--el-ease);
}

.el-motion-media.is-inview {
  clip-path: inset(0);
}

.el-motion-media > img,
.el-motion-media > picture > img {
  transform: translateY(calc(var(--el-motion-distance) * var(--el-media-depth, 0))) scale(1.045);
  transition: transform var(--el-motion-slow) var(--el-ease), filter var(--el-motion-normal) ease;
  will-change: transform;
}

@media (hover: hover) and (pointer: fine) {
  .el-motion-media:hover > img,
  .el-motion-media:hover > picture > img {
    transform: translateY(calc(var(--el-motion-distance) * var(--el-media-depth, 0))) scale(1.075);
  }

  .el-about-process__grid article,
  .el-about-usps__item {
    transition: transform var(--el-motion-normal) var(--el-ease), background-color var(--el-motion-normal) ease;
  }

  .el-about-process__grid article:hover,
  .el-about-usps__item:hover {
    transform: translateY(calc(var(--el-motion-distance) * -.35));
  }
}

/* Storefront, contact page and global finishing layer. */
.screen-reader-text {
  position: absolute !important;
  width: .0625rem;
  height: .0625rem;
  padding: 0;
  margin: -.0625rem;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

a,
button,
input,
select,
textarea { touch-action: manipulation; }

body.el-overlay-open { overflow: hidden; }

.el-content {
  width: calc(100% - (2 * var(--el-gutter)));
  max-width: var(--el-content-measure);
  min-height: 28rem;
  margin: 0 auto;
  padding: 3rem 0;
}
.el-content > h1 { margin: 0 0 1.5rem; font: 400 clamp(2.75rem, 10vw, 4.5rem)/.96 var(--el-font-serif); }

button:disabled,
.button:disabled,
.button.disabled {
  cursor: not-allowed;
  opacity: .55;
}

.el-icon-button,
.el-menu-toggle { min-width: var(--el-touch-target); min-height: var(--el-touch-target); }

.el-footer {
  position: relative;
  isolation: isolate;
  min-height: 20rem;
  padding: 0;
  display: block;
  overflow: hidden;
  color: var(--el-on-dark-muted);
  background: var(--el-ink);
}

.el-footer__image,
.el-footer__scrim { position: absolute; inset: 0; width: 100%; height: 100%; }
.el-footer__image { object-fit: cover; object-position: center; filter: saturate(.68) contrast(1.12) brightness(.62); }
.el-footer__scrim { z-index: 1; background: var(--el-scrim-footer); }
.el-footer__inner {
  position: relative;
  z-index: 2;
  min-height: 20rem;
  padding: 3rem var(--el-gutter) 1.5rem;
  display: grid;
  grid-template-columns: 1fr;
  gap: 2rem;
}
.el-footer__story h2 { margin: .5rem 0 .75rem; color: var(--el-on-dark); font: 400 clamp(2rem, 9vw, 3rem)/1 var(--el-font-serif); }
.el-footer__story > p:last-child { max-width: 28rem; margin: 0; line-height: 1.55; }
.el-footer__navigation ul { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .75rem 1.5rem; margin: 1rem 0 0; padding: 0; list-style: none; }
.el-footer__navigation a,
.el-footer__contact > a:first-of-type { display: inline-flex; min-height: var(--el-touch-target); align-items: center; }
.el-footer__contact { display: flex; flex-direction: column; align-items: flex-start; gap: .75rem; }
.el-footer__contact .el-button { margin-top: .25rem; }
.el-footer__legal { margin: 0; align-self: end; font-size: .75rem; }
.el-footer__signature { display: none; margin: 0; color: var(--el-gold); font: 400 2.125rem/1 var(--el-font-script); transform: rotate(-4deg); }

.el-search-dialog {
  width: min(calc(100% - (2 * var(--el-gutter))), 46rem);
  max-width: none;
  padding: 0;
  border: .0625rem solid var(--el-hairline);
  border-radius: var(--el-radius-card);
  color: var(--el-ink);
  background: var(--el-paper);
  box-shadow: var(--el-shadow-dialog);
}
.el-search-dialog::backdrop { background: var(--el-overlay); backdrop-filter: blur(.375rem); }
.el-search-dialog__panel { position: relative; padding: 3.25rem var(--el-gutter); }
.el-search-dialog__panel h2 { margin: .5rem 0 1.5rem; font: 400 clamp(2rem, 8vw, 3rem)/1 var(--el-font-serif); }
.el-search-dialog__close { position: absolute; top: .75rem; right: .75rem; width: var(--el-touch-target); height: var(--el-touch-target); border: .0625rem solid var(--el-hairline); border-radius: 50%; color: var(--el-ink); background: transparent; font-size: 1.75rem; cursor: pointer; }
.el-search-dialog__form label { display: block; margin-bottom: .5rem; font-weight: 700; }
.el-search-dialog__form > div { display: grid; grid-template-columns: 1fr; gap: .75rem; }
.el-search-dialog__form input { width: 100%; min-height: var(--el-control-height); padding: 0 1rem; border: .0625rem solid var(--el-hairline); color: var(--el-ink); background: var(--el-surface-alt); }

.el-commerce { background: var(--el-paper); }
.el-commerce::after { content: ""; display: table; clear: both; }
.el-commerce__breadcrumb { max-width: var(--el-artboard); margin: 0 auto; padding: 1rem var(--el-gutter); display: flex; flex-wrap: wrap; align-items: center; gap: .5rem; color: var(--el-muted); font: .8125rem/1.35 var(--el-font-serif); }
.el-commerce__breadcrumb a { min-height: var(--el-touch-target); display: inline-flex; align-items: center; color: var(--el-ink); }

.el-shop-hero {
  position: relative;
  isolation: isolate;
  min-height: 31rem;
  overflow: hidden;
  color: var(--el-on-dark);
  background: var(--el-brown-hover);
}
.el-shop-hero__image,
.el-shop-hero__scrim { position: absolute; inset: 0; width: 100%; height: 100%; }
.el-shop-hero__image { object-fit: cover; object-position: 62% center; }
.el-shop-hero__scrim { z-index: 1; background: var(--el-scrim-shop); }
.el-shop-hero__copy { position: relative; z-index: 2; width: min(100%, 36rem); padding: 4.25rem var(--el-gutter) 3rem; }
.el-shop-hero h1 { margin: .75rem 0 1rem; font: 400 clamp(2.75rem, 12vw, 4.5rem)/.96 var(--el-font-serif); letter-spacing: -.03em; }
.el-shop-hero__copy > p:not(.el-eyebrow) { max-width: 34rem; margin: 0 0 1.5rem; color: var(--el-on-dark-muted); font-size: 1rem; line-height: 1.55; }
.el-shop-hero__signature { position: absolute; z-index: 2; right: var(--el-gutter); bottom: 2rem; display: none; color: var(--el-gold); font: 400 var(--el-photo-script-size)/.96 var(--el-font-script); text-align: center; transform: rotate(-5deg); text-shadow: var(--el-text-shadow-strong); }

.el-shop-categories {
  max-width: var(--el-artboard);
  margin: 0 auto;
  padding: .375rem var(--el-gutter) 1.25rem;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .375rem;
}
.el-shop-category { position: relative; isolation: isolate; min-height: 10rem; overflow: hidden; border-radius: var(--el-radius-card); color: var(--el-on-dark); box-shadow: var(--el-shadow-soft); }
.el-shop-category > img,
.el-shop-category__scrim { position: absolute; inset: 0; width: 100%; height: 100%; }
.el-shop-category > img { object-fit: cover; transition: transform var(--el-motion-slow) var(--el-ease), filter var(--el-motion-normal) ease; }
.el-shop-category__scrim { z-index: 1; background: var(--el-scrim-tile); }
.el-shop-category > span:last-child { position: absolute; z-index: 2; right: 1rem; bottom: 1rem; left: 1rem; text-shadow: var(--el-text-shadow-strong); }
.el-shop-category strong { display: block; font: 400 clamp(1.125rem, 4.5vw, 1.75rem)/1 var(--el-font-serif); }
.el-shop-category small { display: block; margin-top: .5rem; font-size: .6875rem; letter-spacing: .06em; text-transform: uppercase; }
.el-shop-category.is-current { outline: .125rem solid var(--el-gold); outline-offset: -.25rem; }

.el-commerce--archive > .woocommerce-notices-wrapper,
.el-commerce--archive > .woocommerce-info,
.el-commerce--archive > p,
.el-commerce--archive > form,
.el-commerce--archive > ul.products,
.el-commerce--archive > nav.woocommerce-pagination,
.el-commerce--archive > .el-shop-toolbar {
  width: calc(100% - (2 * var(--el-gutter)));
  max-width: var(--el-artboard);
  margin-right: auto;
  margin-left: auto;
}
.el-shop-toolbar { padding: .75rem 0 1rem; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .75rem; border-top: .0625rem solid var(--el-hairline); }
.el-shop-toolbar::before { content: attr(data-label); }
.woocommerce .woocommerce-result-count,
.woocommerce .woocommerce-ordering { margin: 0; float: none; color: var(--el-muted); }
.woocommerce .woocommerce-ordering select { min-height: var(--el-control-height); padding: 0 2.75rem 0 1rem; border: .0625rem solid var(--el-hairline); border-radius: 0; color: var(--el-ink); background: var(--el-surface-alt); }

.woocommerce ul.products {
  padding: 0 0 3rem;
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1.75rem .75rem;
}
.woocommerce ul.products::before,
.woocommerce ul.products::after { display: none !important; }
.woocommerce ul.products li.product {
  width: auto !important;
  min-width: 0;
  margin: 0 !important;
  float: none !important;
  position: relative;
  display: flex;
  flex-direction: column;
}
.woocommerce ul.products li.product > a.woocommerce-LoopProduct-link { display: block; flex: 1; }
.woocommerce ul.products li.product a img { width: 100%; aspect-ratio: 4 / 3; margin: 0 0 .75rem; object-fit: cover; border-radius: var(--el-radius-card); background: var(--el-surface); box-shadow: var(--el-shadow-soft); transition: transform var(--el-motion-normal) var(--el-ease), filter var(--el-motion-normal) ease; }
.woocommerce ul.products li.product .woocommerce-loop-product__title { padding: 0; margin: 0; color: var(--el-ink); font: 400 clamp(.9375rem, 3.8vw, 1.1875rem)/1.15 var(--el-font-serif); }
.woocommerce ul.products li.product .el-loop-variant { display: block; margin-top: .25rem; color: var(--el-muted); font: .8125rem/1.3 var(--el-font-serif); }
.woocommerce ul.products li.product .price { margin: .5rem 0 0; display: block; color: var(--el-ink); font: 700 clamp(1rem, 4vw, 1.25rem)/1 var(--el-font-serif); }
.woocommerce ul.products li.product .price del { color: var(--el-muted); font-size: .82em; opacity: 1; }
.woocommerce ul.products li.product .price ins { text-decoration: none; }
.woocommerce ul.products li.product .button { min-height: var(--el-touch-target); margin-top: .75rem; padding: .75rem 1rem; display: inline-flex; align-items: center; justify-content: center; border: .0625rem solid var(--el-brown); border-radius: 0; color: var(--el-on-dark); background: var(--el-brown); font: .8125rem/1 var(--el-font-serif); transition: background-color var(--el-motion-fast) ease, transform var(--el-motion-fast) ease; }
.woocommerce ul.products li.product .added_to_cart { min-height: var(--el-touch-target); display: inline-flex; align-items: center; font-weight: 700; }
.woocommerce span.onsale { position: absolute; z-index: 3; min-width: auto; min-height: auto; top: .75rem; right: auto; left: .75rem; margin: 0; padding: .5rem .75rem; border-radius: 0; color: var(--el-on-dark); background: var(--el-brown); font: .6875rem/1 var(--el-font-sans); letter-spacing: .08em; text-transform: uppercase; }
.woocommerce nav.woocommerce-pagination { padding: 0 0 3rem; }
.woocommerce nav.woocommerce-pagination ul { display: inline-flex; gap: .5rem; border: 0; }
.woocommerce nav.woocommerce-pagination ul li { border: 0; }
.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span { min-width: var(--el-touch-target); min-height: var(--el-touch-target); padding: 0; display: grid; place-items: center; border: .0625rem solid var(--el-hairline); color: var(--el-ink); background: var(--el-paper); }
.woocommerce nav.woocommerce-pagination ul li span.current { border-color: var(--el-brown); color: var(--el-on-dark); background: var(--el-brown); }

.woocommerce-error,
.woocommerce-info,
.woocommerce-message { margin: 1rem auto; padding: 1rem 1rem 1rem 3rem; border-top: .1875rem solid var(--el-brown); color: var(--el-ink); background: var(--el-surface); }
.woocommerce-message { border-color: var(--el-success); }
.woocommerce-error { border-color: var(--el-error); }
.woocommerce-message::before { color: var(--el-success); }
.woocommerce-error::before { color: var(--el-error); }

.el-commerce--single > .product,
.el-commerce--single > .woocommerce-notices-wrapper,
.el-commerce--single > .el-single-story,
.el-commerce--single > .woocommerce-tabs,
.el-commerce--single > .related,
.el-commerce--single > .upsells {
  width: calc(100% - (2 * var(--el-gutter)));
  max-width: var(--el-artboard);
  margin-right: auto;
  margin-left: auto;
}
.woocommerce div.product { padding: .75rem 0 3rem; }
.woocommerce div.product div.images,
.woocommerce div.product div.summary { width: 100%; float: none; }
.woocommerce div.product div.images { margin-bottom: 2rem; }
.woocommerce div.product div.images .woocommerce-product-gallery__wrapper { border-radius: var(--el-radius-card); overflow: hidden; background: var(--el-surface); box-shadow: var(--el-shadow-card); }
.woocommerce div.product div.images img { width: 100%; }
.woocommerce div.product div.images .flex-control-thumbs { margin: 0; padding: .75rem 0 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: .75rem; list-style: none; }
.woocommerce div.product div.images .flex-control-thumbs li { width: auto; float: none; }
.woocommerce div.product div.images .flex-control-thumbs img { aspect-ratio: 1; object-fit: cover; border: .0625rem solid transparent; border-radius: var(--el-radius-card); opacity: .65; }
.woocommerce div.product div.images .flex-control-thumbs img.flex-active { border-color: var(--el-brown); opacity: 1; }
.woocommerce div.product div.summary { padding: 0; }
.el-product-eyebrow { margin: 0 0 .625rem; color: var(--el-brown); font-size: var(--el-eyebrow); letter-spacing: var(--el-ls-eyebrow); }
.woocommerce div.product .product_title { margin: 0 0 .75rem; font: 400 clamp(2.625rem, 12vw, 4.75rem)/.94 var(--el-font-serif); letter-spacing: -.035em; }
.woocommerce div.product .woocommerce-product-rating { margin: 0 0 .875rem; }
.woocommerce div.product p.price,
.woocommerce div.product span.price { margin: 0 0 1.25rem; color: var(--el-ink); font: 700 clamp(2rem, 9vw, 3rem)/1 var(--el-font-serif); }
.woocommerce-product-details__short-description { max-width: 38rem; font-size: 1rem; line-height: 1.6; }
.woocommerce div.product form.cart { margin: 1.5rem 0; display: flex; flex-wrap: wrap; gap: .75rem; }
.woocommerce .quantity .qty { width: 4.25rem; min-height: var(--el-control-height); padding: 0 .5rem; border: .0625rem solid var(--el-hairline); color: var(--el-ink); background: var(--el-paper); }
.woocommerce div.product form.cart .button { min-height: var(--el-control-height); padding: .75rem 1.75rem; flex: 1 1 14rem; border: .0625rem solid var(--el-brown); border-radius: 0; color: var(--el-on-dark); background: var(--el-brown); font: 1rem/1 var(--el-font-serif); }
.woocommerce div.product form.cart .button:hover,
.woocommerce ul.products li.product .button:hover { background: var(--el-brown-hover); transform: translateY(-.125rem); }
.woocommerce ul.products li.product .woocommerce-loop-category__title {
  margin: .875rem 0 0;
  padding: 0;
  color: var(--el-ink);
  font: 400 clamp(1.375rem, 3vw, 1.75rem)/1.08 var(--el-font-serif);
}
.woocommerce ul.products li.product .woocommerce-loop-category__title .count {
  padding: 0;
  color: var(--el-muted);
  background: transparent;
  font: 400 .75rem/1.4 var(--el-font-sans);
}
.woocommerce div.product form.cart .variations { margin: 0; flex: 1 0 100%; border: 0; }
.woocommerce div.product form.cart .variations tr { display: grid; gap: .5rem; margin-bottom: 1rem; }
.woocommerce div.product form.cart .variations th,
.woocommerce div.product form.cart .variations td { padding: 0; display: block; line-height: 1.4; }
.woocommerce div.product form.cart .variations label { color: var(--el-ink); font-size: .875rem; }
.woocommerce div.product form.cart .variations select { width: 100%; min-height: var(--el-control-height); padding: 0 2.75rem 0 1rem; border: .0625rem solid var(--el-hairline); color: var(--el-ink); background: var(--el-surface-alt); }
.woocommerce div.product .product_meta { padding-top: 1rem; border-top: .0625rem solid var(--el-hairline); color: var(--el-muted); line-height: 1.7; }
.woocommerce div.product .product_meta > span { display: block; }
.el-single-trust { margin: 1.5rem 0 0; padding: 1rem 0; display: grid; grid-template-columns: 1fr; gap: .75rem; border-top: .0625rem solid var(--el-hairline); border-bottom: .0625rem solid var(--el-hairline); }
.el-single-trust > div { min-width: 0; display: grid; grid-template-columns: 2.5rem 1fr; align-items: center; gap: .75rem; }
.el-single-trust svg { width: 2.25rem; height: 2.25rem; fill: none; stroke: currentColor; stroke-width: 1.35; }
.el-single-trust p { margin: 0; color: var(--el-muted); font-size: .75rem; line-height: 1.35; }
.el-single-trust strong { display: block; margin-bottom: .125rem; color: var(--el-ink); font: 400 1rem/1.2 var(--el-font-serif); }

.el-single-story { position: relative; isolation: isolate; min-height: 27rem; margin-bottom: 3rem !important; overflow: hidden; border-radius: var(--el-radius-card); color: var(--el-on-dark); background: var(--el-ink); }
.el-single-story > img,
.el-single-story__scrim { position: absolute; inset: 0; width: 100%; height: 100%; }
.el-single-story > img { object-fit: cover; object-position: 67% center; }
.el-single-story__scrim { z-index: 1; background: var(--el-scrim-brand); }
.el-single-story__copy { position: relative; z-index: 2; width: min(100%, 36rem); padding: 3.5rem 1.5rem; }
.el-single-story h2 { margin: .5rem 0 .875rem; font: 400 clamp(2.25rem, 10vw, 3.625rem)/.97 var(--el-font-serif); }
.el-single-story__copy > p:not(.el-eyebrow) { margin: 0 0 1.25rem; color: var(--el-on-dark-muted); font-size: .9375rem; line-height: 1.55; }
.el-single-story__signature { position: absolute; z-index: 2; right: 1.5rem; bottom: 1.5rem; display: none; color: var(--el-gold); font: 400 2rem/.98 var(--el-font-script); text-align: center; transform: rotate(-5deg); }

.woocommerce div.product .woocommerce-tabs { margin-bottom: 3rem; }
.woocommerce div.product .woocommerce-tabs ul.tabs { padding: 0; display: flex; gap: .5rem; overflow-x: auto; border-bottom: .0625rem solid var(--el-hairline); }
.woocommerce div.product .woocommerce-tabs ul.tabs::before { display: none; }
.woocommerce div.product .woocommerce-tabs ul.tabs li { margin: 0; padding: 0; border: 0; border-radius: 0; background: transparent; }
.woocommerce div.product .woocommerce-tabs ul.tabs li::before,
.woocommerce div.product .woocommerce-tabs ul.tabs li::after { display: none; }
.woocommerce div.product .woocommerce-tabs ul.tabs li a { min-height: var(--el-touch-target); padding: .75rem 1rem; display: flex; align-items: center; white-space: nowrap; }
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a { color: var(--el-brown); box-shadow: inset 0 -.125rem 0 var(--el-brown); }
.woocommerce div.product .woocommerce-tabs .panel { max-width: 52rem; margin: 0; padding: 1.5rem 0; line-height: 1.65; }
.woocommerce div.product .woocommerce-tabs .panel h2,
.woocommerce .related > h2,
.woocommerce .upsells > h2 { margin: 0 0 1.5rem; font: 400 clamp(2rem, 8vw, 3rem)/1 var(--el-font-serif); }

.woocommerce-cart .el-content,
.woocommerce-checkout .el-content,
.woocommerce-account .el-content,
.el-commerce .cart-empty,
.el-commerce .return-to-shop {
  width: calc(100% - (2 * var(--el-gutter)));
  max-width: var(--el-content-measure);
  margin-right: auto;
  margin-left: auto;
}
.woocommerce table.shop_table { border: .0625rem solid var(--el-hairline); border-radius: 0; background: var(--el-surface-alt); }
.woocommerce table.shop_table th,
.woocommerce table.shop_table td { padding: 1rem; border-color: var(--el-hairline); }
.woocommerce .cart-collaterals .cart_totals,
.woocommerce-page .cart-collaterals .cart_totals { width: 100%; padding: 1.25rem; background: var(--el-surface); }
.woocommerce form .form-row label { margin-bottom: .375rem; display: block; font-weight: 700; }
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select,
.woocommerce .select2-container .select2-selection--single { min-height: var(--el-control-height); padding: .75rem; border: .0625rem solid var(--el-hairline); border-radius: 0; color: var(--el-ink); background: var(--el-paper); }
.woocommerce .button,
.wc-block-components-button { min-height: var(--el-touch-target); border-radius: 0 !important; }
.woocommerce a.button.alt,
.woocommerce button.button.alt,
.woocommerce input.button.alt,
.woocommerce #respond input#submit.alt,
.wc-block-components-button:not(.is-link) {
  border: .0625rem solid var(--el-brown);
  color: var(--el-on-dark);
  background: var(--el-brown);
  transition: background-color var(--el-motion-fast) var(--el-ease), transform var(--el-motion-fast) var(--el-ease);
}
.woocommerce a.button.alt:hover,
.woocommerce button.button.alt:hover,
.woocommerce input.button.alt:hover,
.woocommerce #respond input#submit.alt:hover,
.wc-block-components-button:not(.is-link):hover { color: var(--el-on-dark); background: var(--el-brown-hover); transform: translateY(-.125rem); }
.woocommerce .woocommerce-error,
.woocommerce .woocommerce-info,
.woocommerce .woocommerce-message { border-top-color: var(--el-brown); background: var(--el-surface); }
.woocommerce .woocommerce-error::before,
.woocommerce .woocommerce-info::before,
.woocommerce .woocommerce-message::before { color: var(--el-brown); }

.el-contact-hero { position: relative; isolation: isolate; min-height: 32rem; overflow: hidden; color: var(--el-on-dark); background: var(--el-ink); }
.el-contact-hero > img,
.el-contact-hero__scrim { position: absolute; inset: 0; width: 100%; height: 100%; }
.el-contact-hero > img { object-fit: cover; object-position: 62% center; }
.el-contact-hero__scrim { z-index: 1; background: var(--el-scrim-contact); }
.el-contact-hero__copy { position: relative; z-index: 2; width: min(100%, 38rem); padding: 4.5rem var(--el-gutter) 3rem; }
.el-contact-hero h1 { margin: .75rem 0 1rem; font: 400 clamp(3rem, 14vw, 5.25rem)/.92 var(--el-font-serif); letter-spacing: -.035em; }
.el-contact-hero__copy > p:not(.el-eyebrow) { max-width: 34rem; margin: 0 0 1.5rem; color: var(--el-on-dark-muted); font-size: 1rem; line-height: 1.55; }
.el-contact-hero__signature { position: absolute; z-index: 2; right: var(--el-gutter); bottom: 2.25rem; display: none; color: var(--el-gold); font: 400 var(--el-photo-script-size)/.96 var(--el-font-script); text-align: center; transform: rotate(-5deg); }

.el-contact-main { padding: 3rem var(--el-gutter); display: grid; grid-template-columns: 1fr; gap: 2rem; background: var(--el-paper); }
.el-contact-form { max-width: 42rem; }
.el-contact-form > h2,
.el-contact-card h2,
.el-contact-faq h2 { margin: .5rem 0 .75rem; font: 400 clamp(2.5rem, 10vw, 3.75rem)/.96 var(--el-font-serif); letter-spacing: -.025em; }
.el-contact-form > p:not(.el-eyebrow) { max-width: 36rem; margin: 0 0 1.25rem; line-height: 1.55; }
.el-form-status,
.el-form-summary { margin-bottom: 1rem; padding: .875rem 1rem; border-left: .25rem solid var(--el-error); background: var(--el-surface); line-height: 1.45; }
.el-form-summary ul { margin: .5rem 0 0; padding-left: 1.25rem; }
.el-form-summary a { text-decoration: underline; text-underline-offset: .1875rem; }
.el-form-status.is-success { border-color: var(--el-success); }
.el-field { margin-bottom: 1rem; }
.el-field label { display: block; margin-bottom: .375rem; font-weight: 700; }
.el-field input:not([type="checkbox"]),
.el-field select,
.el-field textarea { width: 100%; min-height: var(--el-control-height); padding: .75rem 1rem; border: .0625rem solid var(--el-hairline); border-radius: 0; color: var(--el-ink); background: var(--el-surface-alt); }
.el-field textarea { min-height: 9rem; resize: vertical; }
.el-field [aria-invalid="true"] { border-color: var(--el-error); }
.el-field__error { min-height: 1rem; margin-top: .25rem; display: block; color: var(--el-error); font-size: .75rem; }
.el-field--check { display: grid; grid-template-columns: var(--el-touch-target) 1fr; align-items: start; gap: .25rem .5rem; }
.el-field--check input { width: 1.5rem; height: 1.5rem; margin: 0; }
.el-field--check label { padding-top: .125rem; font-weight: 400; line-height: 1.4; }
.el-field--check .el-field__error { grid-column: 2; }
.el-form-honeypot { position: absolute; left: -10000%; }
.el-contact-form > .el-button { width: 100%; }

.el-contact-card { position: relative; isolation: isolate; min-height: 30rem; overflow: hidden; border-radius: var(--el-radius-card); color: var(--el-on-dark); background: var(--el-ink); box-shadow: var(--el-shadow-card); }
.el-contact-card > img,
.el-contact-card__scrim { position: absolute; inset: 0; width: 100%; height: 100%; }
.el-contact-card > img { object-fit: cover; object-position: 66% center; }
.el-contact-card__scrim { z-index: 1; background: var(--el-scrim-brand); }
.el-contact-card__content { position: relative; z-index: 2; padding: 2.75rem 1.5rem; }
.el-contact-card h2 { font-size: clamp(2.25rem, 9vw, 3.25rem); }
.el-contact-detail { margin-top: 1.5rem; display: grid; grid-template-columns: 2.75rem 1fr; gap: .75rem; }
.el-contact-detail svg { width: 2.25rem; height: 2.25rem; fill: none; stroke: currentColor; stroke-width: 1.35; }
.el-contact-detail p { margin: 0; }
.el-contact-detail strong,
.el-contact-detail a,
.el-contact-detail small { display: block; }
.el-contact-detail strong { margin-bottom: .25rem; font: 400 1.125rem/1.2 var(--el-font-serif); }
.el-contact-detail a { min-height: var(--el-touch-target); display: inline-flex; align-items: center; overflow-wrap: anywhere; }
.el-contact-detail small { color: var(--el-on-dark-muted); line-height: 1.4; }
.el-contact-socials { margin: .375rem 0 .5rem; display: flex; flex-wrap: wrap; gap: .5rem; }
.el-contact-detail .el-contact-socials a { min-height: var(--el-touch-target); padding: .5rem .75rem; gap: .5rem; border: .0625rem solid rgba(255, 253, 249, .32); border-radius: var(--el-radius-pill); font: 600 .9375rem/1 var(--el-font-serif); transition: border-color var(--el-motion-fast) ease, color var(--el-motion-fast) ease, background var(--el-motion-fast) ease; }
.el-contact-socials a > span { display: inline-flex; align-items: center; }
.el-contact-socials a svg { width: 1.25rem; height: 1.25rem; fill: none; stroke: currentColor; stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; }
.el-contact-socials a:hover { border-color: var(--el-cta-beige); color: var(--el-ink); background: var(--el-cta-beige); }
.el-contact-card__script { margin: 2rem 0 0; color: var(--el-gold); font: 400 2.25rem/.95 var(--el-font-script); text-align: right; transform: rotate(-4deg); }

.el-contact-faq { padding: 3rem var(--el-gutter); display: grid; grid-template-columns: 1fr; gap: 2rem; background: var(--el-surface); }
.el-contact-faq__intro > p:last-child { max-width: 32rem; margin: 0; line-height: 1.55; }
.el-contact-faq__list details { border-top: .0625rem solid var(--el-hairline); }
.el-contact-faq__list details:last-child { border-bottom: .0625rem solid var(--el-hairline); }
.el-contact-faq__list summary { min-height: var(--el-touch-target); padding: .875rem 2.5rem .875rem 0; position: relative; display: flex; align-items: center; list-style: none; cursor: pointer; font: 400 1.0625rem/1.3 var(--el-font-serif); }
.el-contact-faq__list summary::-webkit-details-marker { display: none; }
.el-contact-faq__list summary::after { content: "+"; position: absolute; right: .5rem; font-size: 1.5rem; transition: transform var(--el-motion-fast) var(--el-ease); }
.el-contact-faq__list details[open] summary::after { transform: rotate(45deg); }
.el-contact-faq__list details p { margin: 0; padding: 0 2.5rem 1rem 0; color: var(--el-muted); line-height: 1.55; }

.el-motion-ready .el-shop-hero__copy > *,
.el-motion-ready .el-contact-hero__copy > * { opacity: 0; transform: translateY(var(--el-motion-distance)); }
.el-motion-ready.el-motion-live .el-shop-hero__copy > *,
.el-motion-ready.el-motion-live .el-contact-hero__copy > * { animation: el-about-copy-in var(--el-motion-slow) var(--el-ease) both; }
.el-motion-ready.el-motion-live .el-shop-hero__copy > :nth-child(1),
.el-motion-ready.el-motion-live .el-contact-hero__copy > :nth-child(1) { animation-delay: var(--el-motion-stagger); }
.el-motion-ready.el-motion-live .el-shop-hero__copy > :nth-child(2),
.el-motion-ready.el-motion-live .el-contact-hero__copy > :nth-child(2) { animation-delay: calc(var(--el-motion-stagger) * 2); }
.el-motion-ready.el-motion-live .el-shop-hero__copy > :nth-child(3),
.el-motion-ready.el-motion-live .el-contact-hero__copy > :nth-child(3) { animation-delay: calc(var(--el-motion-stagger) * 3); }
.el-motion-ready.el-motion-live .el-shop-hero__copy > :nth-child(4),
.el-motion-ready.el-motion-live .el-contact-hero__copy > :nth-child(4) { animation-delay: calc(var(--el-motion-stagger) * 4); }

@media (hover: hover) and (pointer: fine) {
  .el-shop-category:hover > img,
  .woocommerce ul.products li.product:hover a img { transform: scale(1.04); filter: saturate(1.06) contrast(1.04); }
  .el-shop-category:hover strong { text-decoration: underline; text-underline-offset: .25rem; }
}

@media (min-width: 40.0625rem) {
  .el-search-dialog__form > div { grid-template-columns: 1fr auto; }
  .woocommerce ul.products { gap: 2rem 1.25rem; }
  .el-single-trust { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .el-single-trust > div { grid-template-columns: 2.5rem 1fr; }
}

@media (min-width: 56.3125rem) {
  .el-footer { min-height: 18rem; }
  .el-footer__inner { min-height: 18rem; grid-template-columns: 1.25fr .8fr 1fr; gap: 3rem; }
  .el-footer__legal { grid-column: 1 / 3; }
  .el-footer__signature { display: block; justify-self: end; align-self: end; }
  .el-shop-hero { min-height: var(--el-shop-hero-height); }
  .el-shop-hero__image { object-position: center; }
  .el-shop-hero__copy { width: clamp(33rem, 46vw, 42rem); padding-top: clamp(3.5rem, 5vw, 4.75rem); }
  .el-shop-hero h1 { font-size: clamp(3.625rem, 5.8vw, 5.25rem); }
  .el-shop-hero__signature { display: block; }
  .el-shop-categories { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .el-shop-category { min-height: clamp(10rem, 14vw, 13rem); }
  .woocommerce ul.products { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 2.25rem var(--el-card-gap); }
  .woocommerce div.product { display: grid; grid-template-columns: minmax(0, 1.08fr) minmax(22rem, .92fr); gap: clamp(2rem, 5vw, 5rem); align-items: start; }
  .woocommerce div.product div.images { grid-column: 1; margin: 0; }
  .woocommerce div.product div.summary { grid-column: 2; margin: 0; padding: 1.25rem 0; position: sticky; top: calc(var(--el-header-height) + 1.5rem); }
  .woocommerce div.product > .el-single-story,
  .woocommerce div.product > .woocommerce-tabs,
  .woocommerce div.product > .related,
  .woocommerce div.product > .upsells { width: 100%; grid-column: 1 / -1; }
  .el-single-story { min-height: 24rem; }
  .el-single-story__copy { padding: 4rem var(--el-gutter); }
  .el-single-story__signature { display: block; }
  .el-contact-hero { min-height: var(--el-shop-hero-height); }
  .el-contact-hero > img { object-position: center; }
  .el-contact-hero__copy { width: clamp(33rem, 46vw, 42rem); padding-top: clamp(3.75rem, 5vw, 5rem); }
  .el-contact-hero__signature { display: block; }
  .el-contact-main { grid-template-columns: minmax(0, 1.05fr) minmax(22rem, .95fr); gap: clamp(2.5rem, 6vw, 6rem); }
  .el-contact-card { min-height: 42rem; }
  .el-contact-card__content { padding: 3.5rem; }
  .el-contact-faq { grid-template-columns: .8fr 1.2fr; gap: clamp(3rem, 8vw, 8rem); }
}

@media (min-width: 75.0625rem) {
  .woocommerce ul.products { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .el-contact-main,
  .el-contact-faq { padding-top: 4.5rem; padding-bottom: 4.5rem; }
}

@media (max-width: 40rem) {
  .el-footer__navigation ul { grid-template-columns: 1fr; }
  .el-shop-categories { padding-right: .375rem; padding-left: .375rem; }
  .woocommerce ul.products li.product .button { width: 100%; }
  .woocommerce table.shop_table_responsive tr td { padding: .75rem; }
}

/* Final layout polish: organic image transitions, editable legal footer and contact card. */
.el-product-card__image img,
.woocommerce ul.products li.product a img,
.woocommerce div.product div.images img { object-position: center center; }

.el-legal-footer {
  position: relative;
  z-index: 5;
  min-width: 0;
  display: flex;
  align-items: center;
  gap: .5rem 1.5rem;
  color: var(--el-on-dark-muted);
  font-size: clamp(.625rem, .76vw, .75rem);
  line-height: 1.35;
}
.el-legal-footer p { margin: 0; }
.el-legal-footer nav { min-width: 0; }
.el-legal-footer ul {
  margin: 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0 1.25rem;
  list-style: none;
}
.el-legal-footer a {
  min-height: var(--el-touch-target);
  display: inline-flex;
  align-items: center;
  text-decoration: underline;
  text-decoration-color: rgba(234, 223, 213, .34);
  text-underline-offset: .2rem;
}
.el-legal-footer a:hover { text-decoration-color: currentColor; }
.el-legal-footer--integrated {
  position: absolute;
  right: var(--el-gutter);
  bottom: .125rem;
  left: var(--el-gutter);
  min-height: 3rem;
  justify-content: space-between;
  border-top: .0625rem solid rgba(234, 223, 213, .18);
}
.el-footer__inner > .el-legal-footer--expanded {
  position: static;
  grid-column: 1 / -1;
  align-self: end;
  justify-content: space-between;
  border-top: .0625rem solid rgba(234, 223, 213, .18);
}
.el-brand-cta { min-height: 15.75rem; }
.el-brand-cta__copy { padding-bottom: 3.75rem; }
.el-brand-cta__mark { bottom: 3.75rem; }

.el-about-materials {
  position: relative;
  height: clamp(20rem, 21vw, 23rem);
  padding: clamp(.625rem, .85vw, 1rem);
  display: grid;
  grid-template-columns: minmax(0, 42fr) minmax(0, 58fr);
  gap: clamp(.625rem, .85vw, 1rem);
  overflow: hidden;
  background: linear-gradient(112deg, var(--el-paper) 0%, var(--el-surface) 48%, #e8ded2 100%);
}
.el-about-materials__copy {
  position: relative;
  z-index: 5;
  inset: auto;
  width: auto;
  padding: clamp(2rem, 3.2vw, 3.5rem) clamp(1.75rem, 2.7vw, 3rem) 2rem max(calc(var(--el-gutter) - 1rem), 2rem);
  isolation: isolate;
  overflow: hidden;
  border: .0625rem solid rgba(91, 52, 32, .1);
  border-radius: 1rem;
  background: radial-gradient(circle at 18% 20%, rgba(255, 255, 255, .94), transparent 52%), linear-gradient(125deg, var(--el-paper), #eee6db);
  box-shadow: 0 .75rem 2.25rem rgba(45, 28, 18, .07);
}
.el-about-materials__copy::after {
  display: none;
}
.el-about-materials h2 {
  max-width: 32rem;
  margin: .625rem 0 .75rem;
  font-size: clamp(2.25rem, 3.15vw, 3.5rem);
  line-height: .96;
  text-wrap: balance;
}
.el-about-materials__copy > p:not(.el-eyebrow) {
  max-width: 31rem;
  margin-bottom: 1rem;
  font-size: clamp(.75rem, .95vw, .9375rem);
  line-height: 1.48;
}
.el-about-personalisation {
  position: relative;
  z-index: 4;
  inset: auto;
  width: auto;
  height: 100%;
  min-height: 0;
  margin: 0;
  border: .0625rem solid rgba(255, 253, 249, .14);
  border-radius: 1rem;
  box-shadow: -.75rem 1rem 2.5rem rgba(12, 7, 4, .2);
  -webkit-mask-image: none;
  mask-image: none;
}
.el-about-personalisation__scrim {
  background: linear-gradient(90deg, rgba(17, 10, 7, .97) 0%, rgba(17, 10, 7, .86) 48%, rgba(17, 10, 7, .32) 78%, rgba(17, 10, 7, .12) 100%);
}
.el-about-personalisation__copy {
  left: clamp(2rem, 3.2vw, 3.75rem);
  width: min(68%, 34rem);
}
.el-about-personalisation__copy h2 {
  max-width: 33rem;
  font-size: clamp(2.25rem, 2.75vw, 3.25rem);
  text-wrap: balance;
}
.el-about-personalisation__copy > p:not(.el-eyebrow) {
  max-width: 30rem;
  font-size: clamp(.75rem, .9vw, .9rem);
  line-height: 1.45;
}
.el-about-personalisation > em {
  right: clamp(1.5rem, 2.4vw, 2.75rem);
  bottom: clamp(1.25rem, 2vw, 2.25rem);
  font-size: clamp(1.5rem, 1.85vw, 2rem);
}
.el-about-bottom {
  height: calc(var(--el-about-bottom-height) + 3.25rem);
  min-height: 13.5rem;
}
.el-about-bottom__layout { height: calc(100% - 3.25rem); }

.el-contact-card > img { object-position: 64% center; }
.el-contact-card__scrim {
  background: linear-gradient(90deg, rgba(12, 7, 4, .98) 0%, rgba(12, 7, 4, .92) 37%, rgba(12, 7, 4, .66) 58%, rgba(12, 7, 4, .14) 84%, rgba(12, 7, 4, .06) 100%);
}
.el-contact-card__content {
  width: min(68%, 38rem);
  min-height: 30rem;
  padding: clamp(2.75rem, 4.5vw, 4.75rem);
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.el-contact-card h2 {
  max-width: 34rem;
  margin: .75rem 0 1rem;
  font-size: clamp(2.5rem, 4.1vw, 4rem);
  line-height: .96;
}
.el-contact-detail {
  max-width: 29rem;
  margin-top: 1.125rem;
  padding-top: 1.125rem;
  grid-template-columns: 3rem 1fr;
  border-top: .0625rem solid rgba(234, 223, 213, .25);
}
.el-contact-detail svg { width: 2.125rem; height: 2.125rem; }
.el-contact-card__script {
  position: absolute;
  z-index: 3;
  right: clamp(2rem, 4vw, 4.75rem);
  bottom: clamp(2rem, 4vw, 4rem);
  max-width: 14rem;
  margin: 0;
  font-size: clamp(2.25rem, 3vw, 3.25rem);
  text-shadow: var(--el-text-shadow-strong);
}

@media (min-width: 56.3125rem) {
  .el-contact-card__content { min-height: 42rem; }
}

@media (max-width: 75rem) and (min-width: 56.3125rem) {
  .el-about-materials { height: 22rem; }
  .el-about-materials { grid-template-columns: minmax(0, 44fr) minmax(0, 56fr); }
  .el-about-materials h2 { font-size: 2.25rem; }
  .el-about-materials__copy > p:not(.el-eyebrow) { font-size: .75rem; line-height: 1.42; }
  .el-about-personalisation__copy h2 { font-size: 2.25rem; }
  .el-about-materials .el-button { min-height: 2.375rem; font-size: .6875rem; }
  .el-about-bottom { min-height: 15.25rem; }
  .el-brand-cta { height: 15.75rem; }
}

@media (max-width: 56.25rem) {
  .el-about-materials { height: auto; padding: 0; display: grid; grid-template-columns: 1fr; gap: 0; overflow: visible; }
  .el-about-materials__copy,
  .el-about-personalisation { position: relative; inset: auto; }
  .el-about-materials__copy { width: 100%; border: 0; border-radius: 0; box-shadow: none; }
  .el-about-materials__copy::after { display: none; }
  .el-about-personalisation { width: 100%; min-height: 25.625rem; margin-left: 0; -webkit-mask-image: none; mask-image: none; }
  .el-about-personalisation { border: 0; border-radius: 0; box-shadow: none; }
  .el-about-personalisation__copy { left: var(--el-gutter); width: min(72%, 28rem); }
  .el-about-personalisation__copy h2 { font-size: 2.5625rem; }
  .el-about-bottom { height: auto; min-height: 31rem; }
  .el-about-bottom__layout { height: auto; padding-bottom: 6.5rem; }
  .el-contact-card__content { width: min(78%, 35rem); min-height: 38rem; padding: 3rem var(--el-gutter); }
  .el-contact-card__script { right: var(--el-gutter); bottom: 2rem; font-size: 2.25rem; }
}

@media (max-width: 40rem) {
  .el-legal-footer--integrated {
    min-height: 5.25rem;
    padding: .45rem 0;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    gap: 0;
  }
  .el-legal-footer--integrated a { min-height: 2rem; }
  .el-brand-cta { height: auto; min-height: 25rem; }
  .el-brand-cta__copy { width: calc(100% - (2 * var(--el-gutter))); padding-top: 3.5rem; padding-bottom: 7rem; }
  .el-about-bottom { min-height: 46rem; }
  .el-about-bottom__layout { padding-bottom: 8rem; }
  .el-contact-card { min-height: 36rem; }
  .el-contact-card__content { width: 100%; min-height: 36rem; padding: 2.5rem var(--el-gutter) 8rem; justify-content: flex-start; }
  .el-contact-card h2 { max-width: 18rem; font-size: 2.625rem; }
  .el-contact-card__script { right: var(--el-gutter); bottom: 2rem; max-width: 11rem; font-size: 2.125rem; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *,
  *::before,
  *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; scroll-behavior: auto !important; transition-duration: .01ms !important; }
  .el-motion-ready .el-shop-hero__copy > *,
  .el-motion-ready .el-contact-hero__copy > * { opacity: 1; transform: none; }
}

@media (prefers-reduced-motion: reduce) {
  .el-motion-ready .el-about-hero__copy > *,
  .el-motion-reveal,
  .el-motion-media,
  .el-motion-media > img,
  .el-motion-media > picture > img {
    opacity: 1;
    clip-path: none;
    transform: none;
    animation: none;
    transition: none;
  }
}
