/* Latin variable fonts are served with the shop. Other scripts use the system fallback. */
@font-face {
  font-family: "Instrument Sans";
  src: url("atelier-fonts/instrument-sans-latin.woff2") format("woff2");
  font-style: normal;
  font-weight: 400 700;
  font-stretch: 75% 100%;
  font-display: swap;
}
@font-face {
  font-family: "Newsreader";
  src: url("atelier-fonts/newsreader-latin.woff2") format("woff2");
  font-style: normal;
  font-weight: 300 650;
  font-display: swap;
}
@font-face {
  font-family: "Newsreader";
  src: url("atelier-fonts/newsreader-italic-latin.woff2") format("woff2");
  font-style: italic;
  font-weight: 300 650;
  font-display: swap;
}

body.ec-signature.es-store {
  --atelier-body: "Instrument Sans", system-ui, sans-serif;
  --atelier-serif: "Newsreader", Georgia, serif;
  --atelier-display: var(--atelier-body);
  --atelier-meta: var(--atelier-body);
  --atelier-title-weight: 520;
  --atelier-tracking: -.036em;
  --sig-heading: var(--atelier-display);
  --atelier-bar: var(--sig-bg);
  --atelier-bar-ink: var(--sig-ink);
  --atelier-header: var(--sig-bg);
  --atelier-header-ink: var(--sig-ink);
  --atelier-footer: var(--atelier-header);
  --atelier-footer-ink: var(--atelier-header-ink);
  --atelier-card: var(--sig-surface);
  --atelier-card-ink: var(--sig-ink);
  --atelier-price: var(--sig-muted);
  --atelier-border: var(--sig-line);
  --atelier-card-action: var(--sig-ink);
  --atelier-card-action-ink: var(--sig-bg);
  --header: var(--atelier-header);
  --header-ink: var(--atelier-header-ink);
  --bar: var(--atelier-bar);
  --bar-ink: var(--atelier-bar-ink);
  --ink: var(--sig-ink);
  --text: var(--sig-ink);
  --paper: var(--sig-surface);
  --accent: var(--sig-accent);
  --accent-ink: var(--sig-on-accent);
  font-family: var(--atelier-body);
  font-kerning: normal;
  font-optical-sizing: auto;
}

body.ec-signature.ec-design-midnight {
  --sig-bg: #131e32;
  --sig-surface: #1c2a41;
  --sig-ink: #faf5ea;
  --sig-muted: #bbc4d0;
  --sig-line: #475166;
  --sig-accent: #e1bc82;
  --sig-on-accent: #172236;
  --atelier-card: #f5f0e6;
  --atelier-card-ink: #192538;
  --atelier-price: #425164;
  --atelier-border: #d7cfbe;
  --atelier-card-action: #24344c;
  --atelier-card-action-ink: #f9f5ed;
  --atelier-bar: #d9bd91;
  --atelier-bar-ink: #172336;
  --atelier-footer: #101826;
  --atelier-title-weight: 580;
}
body.ec-signature.ec-design-conservatory {
  --sig-bg: #f2f2e8;
  --sig-surface: #faf9f1;
  --sig-ink: #183b32;
  --sig-muted: #50655a;
  --sig-line: #b9c5b7;
  --sig-accent: #92492f;
  --sig-on-accent: #fff8ed;
  --atelier-display: var(--atelier-serif);
  --atelier-title-weight: 475;
  --atelier-tracking: -.025em;
  --atelier-card: transparent;
  --atelier-bar: #102e26;
  --atelier-bar-ink: #e7eddf;
  --atelier-header: #183b32;
  --atelier-header-ink: #f3f3e5;
}
body.ec-signature.ec-design-porcelain {
  --sig-bg: #fcf8f5;
  --sig-surface: #fffdfa;
  --sig-ink: #3a2730;
  --sig-muted: #705f65;
  --sig-line: #d9c9ca;
  --sig-accent: #773447;
  --sig-on-accent: #fff7f3;
  --atelier-display: var(--atelier-serif);
  --atelier-title-weight: 380;
  --atelier-tracking: -.018em;
  --atelier-card: transparent;
  --atelier-card-action: transparent;
  --atelier-card-action-ink: var(--sig-accent);
  --atelier-bar: #693243;
  --atelier-bar-ink: #fffbf8;
  --atelier-footer: #693243;
  --atelier-footer-ink: #fff8f5;
}
body.ec-signature.ec-design-gallery {
  --sig-bg: #f0f3fb;
  --sig-surface: #fff;
  --sig-ink: #1d2d49;
  --sig-muted: #52637e;
  --sig-line: #c4cfdf;
  --sig-accent: #304e96;
  --sig-on-accent: #fff;
  --atelier-title-weight: 535;
  --atelier-card-action: #e4eafa;
  --atelier-card-action-ink: #243c73;
  --atelier-bar: #253f75;
  --atelier-bar-ink: #f1f5ff;
  --atelier-footer: #253d6c;
  --atelier-footer-ink: #f5f8ff;
}
body.ec-signature.ec-design-journal {
  --sig-bg: #f8f2e9;
  --sig-surface: #fcf8f1;
  --sig-ink: #352a23;
  --sig-muted: #6e5d52;
  --sig-line: #cabeae;
  --sig-accent: #8a412e;
  --sig-on-accent: #fffaf2;
  --atelier-display: var(--atelier-serif);
  --atelier-title-weight: 565;
  --atelier-tracking: -.034em;
  --atelier-card: transparent;
  --atelier-bar: #392b25;
  --atelier-bar-ink: #f6eee1;
  --atelier-card-action: transparent;
  --atelier-card-action-ink: var(--sig-accent);
}
body.ec-signature.ec-design-sage {
  --sig-bg: #f1f5ed;
  --sig-surface: #fcfdf8;
  --sig-ink: #233b35;
  --sig-muted: #51695f;
  --sig-line: #c6d1c4;
  --sig-accent: #375c50;
  --sig-on-accent: #fbfdf4;
  --atelier-display: var(--atelier-serif);
  --atelier-title-weight: 435;
  --atelier-card-action: #dce8de;
  --atelier-card-action-ink: #274a3e;
  --atelier-bar: #dae7db;
  --atelier-bar-ink: #284738;
}
body.ec-signature.ec-design-obsidian {
  --sig-bg: #1c1b20;
  --sig-surface: #26252b;
  --sig-ink: #f5eff0;
  --sig-muted: #c3bbc0;
  --sig-line: #514c54;
  --sig-accent: #e3cbbc;
  --sig-on-accent: #292127;
  --atelier-card-action: #ded0c6;
  --atelier-card-action-ink: #2b242b;
  --atelier-bar: #e0cfc0;
  --atelier-bar-ink: #30262c;
  --atelier-footer: #17161a;
  --atelier-title-weight: 620;
  --atelier-tracking: -.038em;
}

/* Colour and type travel from the home collection into the catalogue and product page. */
body.ec-signature.es-store :is(.sig-announcement, .announcement-pause) {
  background: var(--atelier-bar);
  color: var(--atelier-bar-ink);
}
body.ec-signature.es-store .sig-header {
  background: var(--atelier-header);
  color: var(--atelier-header-ink);
}
/* Re-light the original transparent artwork only on the three dark mastheads. */
body.ec-signature:is(.ec-design-midnight, .ec-design-conservatory, .ec-design-obsidian)
  .sig-header .brand-logo[src*="durrx-logo-clean" i] {
  filter: grayscale(1) invert(1) contrast(.78) sepia(.18) brightness(1.08);
  mix-blend-mode: normal;
}
body.ec-signature.es-store .sig-footer {
  background: var(--atelier-footer);
  color: var(--atelier-footer-ink);
}
body.ec-signature.es-store :is(.sig-hero-title, .sig-section-heading h2, .sig-featured-name,
  .page-heading h1, .woocommerce-products-header__title, div.product .product_title, .reviews-layout > h2,
  .sig-footer .contact-intro h2) {
  font-family: var(--atelier-display);
  font-weight: var(--atelier-title-weight);
  letter-spacing: var(--atelier-tracking);
}
body.ec-signature.es-store ul.products li.product {
  background-color: var(--atelier-card);
  color: var(--atelier-card-ink);
  border-color: var(--atelier-border);
}
/* Reserve every row at its final position, including while the old reveal observer starts. */
body.ec-signature.es-store.motion-ready ul.products > li.product:nth-child(n) {
  transform: none;
  opacity: 1;
  transition-property: border-color, background-color;
  transition-duration: 160ms;
  transition-delay: 0s;
}
body.ec-signature.es-store ul.products li.product .woocommerce-loop-product__title {
  color: var(--atelier-card-ink);
  font-family: var(--atelier-display);
  font-weight: var(--atelier-title-weight);
  letter-spacing: -.018em;
  text-transform: none;
}
body.ec-signature.es-store ul.products li.product .price {
  color: var(--atelier-price);
  font-family: var(--atelier-body);
  font-weight: 540;
  letter-spacing: .008em;
  font-variant-numeric: lining-nums tabular-nums;
}
body.ec-signature.es-store ul.products li.product > .button {
  color: var(--atelier-card-action-ink);
  background: var(--atelier-card-action);
  letter-spacing: .018em;
  text-transform: none;
  font-family: var(--atelier-body);
  font-weight: 600;
}
body.ec-signature.es-store ul.products li.product > .button:is(:hover, :focus-visible) {
  background: var(--sig-accent);
  border-color: var(--sig-accent);
  color: var(--sig-on-accent);
}
body.ec-signature.es-store .sig-footer .contact-links a {
  color: var(--atelier-footer-ink);
}
body.ec-signature.es-store .mobile-navigation a[aria-current="page"] {
  text-decoration: underline;
  text-underline-offset: .28em;
  text-decoration-thickness: 2px;
}
body.ec-signature.es-store .hero .hero-media.ec-video-stage .hero-cta .hero-button {
  background: rgb(26 29 34 / 71%);
  border: 1px solid rgb(255 255 255 / 62%);
  color: #fff;
  -webkit-backdrop-filter: blur(14px) saturate(115%);
  backdrop-filter: blur(14px) saturate(115%);
  box-shadow: inset 0 1px 0 rgb(255 255 255 / 12%);
  font-family: var(--atelier-body);
  font-size: clamp(.8125rem, .79rem + .12vw, .875rem);
  line-height: 1.25;
  font-weight: 580;
  letter-spacing: .035em;
}
body.ec-signature.es-store .hero .hero-media.ec-video-stage .hero-cta .hero-button:is(:hover, :focus-visible) {
  background: rgb(26 29 34 / 83%);
  color: #fff;
}
body.ec-signature.es-store .hero .hero-media.ec-video-stage .hero-cta .hero-button::after {
  display: none;
}

/* Midnight — cinema screen and a pair of compact catalogue portraits. */
body.ec-design-midnight .signature-hero {
  background-image: radial-gradient(ellipse at 22% 55%, rgb(96 122 158 / 14%), transparent 65%);
}
body.ec-signature.ec-design-midnight .sig-featured {
  background: #1b293d;
  border-color: #48566c;
  border-radius: 2px;
}
body.ec-signature.ec-design-midnight .sig-featured-name {
  color: var(--sig-ink);
}
body.ec-signature.ec-design-midnight .signature-products .sig-section-heading h2 {
  font-weight: 480;
}
/* Conservatory — a forest and limestone diptych, with an etched rule below the masthead. */
body.ec-signature.ec-design-conservatory .sig-header {
  border-bottom: 1px solid #9b9275;
}
body.ec-signature.ec-design-conservatory .sig-index-number {
  font-family: var(--atelier-body);
  font-variant-numeric: tabular-nums;
}
/* Porcelain — a centred editorial cover with a clearly separated shopping area. */
body.ec-signature.ec-design-porcelain .signature-hero .sig-hero-title {
  font-style: italic;
  color: #673a49;
  letter-spacing: -.02em;
}
body.ec-signature.ec-design-porcelain .sig-section-heading {
  border-block-start: 0;
}
body.ec-signature.ec-design-porcelain .sig-hero-note {
  border-bottom: 0;
}
body.ec-signature.ec-design-porcelain ul.products li.product > .button {
  border-bottom-color: #a97985;
}
/* Gallery — ice blue display cases and a broad, open grotesk. */
body.ec-signature.ec-design-gallery .signature-hero .sig-side {
  background: linear-gradient(135deg, #e1e7f6 0%, #eaf0fa 65%, #e4e8f5 100%);
  border-radius: 22px;
}
body.ec-signature.ec-design-gallery .sig-featured,
body.ec-signature.ec-design-gallery ul.products li.product {
  border-radius: 14px;
  border-color: #c6d0e2;
  box-shadow: none;
}
body.ec-signature.ec-design-gallery .sig-featured-name {
  letter-spacing: -.015em;
}
/* Journal — a paper-and-ink layout with an inked double rule and compact folio numbers. */
body.ec-signature.ec-design-journal .sig-side .sig-hero-title {
  text-transform: none;
}
body.ec-signature.ec-design-journal .sig-section-heading {
  border-top: 3px double var(--sig-ink);
  border-bottom: 1px solid var(--sig-line);
}
body.ec-signature.ec-design-journal .sig-product-index .sig-index-number {
  font-family: var(--atelier-body);
  font-weight: 550;
  font-size: .72rem;
  letter-spacing: .045em;
}
/* Sage — sea glass, a curved frame and softly rounded cards on a flat baseline. */
body.ec-signature.ec-design-sage .sig-hero-layout {
  border: 1px solid #c3d4c9;
  border-radius: 32px 8px 32px 8px;
  background: radial-gradient(ellipse at 14% 18%, #eef1de, transparent 65%), #dce8dd;
}
body.ec-signature.ec-design-sage ul.products li.product:nth-child(n) {
  border-radius: 22px 8px 22px 8px;
}
body.ec-signature.ec-design-sage .sig-footer .contact-links > a {
  border: 1px solid #b7cabb;
  background: #e8efe6;
}
/* Obsidian — warm graphite, pale champagne and compact typesetting. */
body.ec-signature.ec-design-obsidian .signature-hero {
  background: radial-gradient(ellipse at 20% 44%, rgb(181 151 145 / 11%), transparent 64%);
}
body.ec-signature.ec-design-obsidian .sig-side {
  border-top: 1px solid var(--sig-accent);
}
body.ec-signature.ec-design-obsidian :is(.signature-hero .sig-hero-title, .sig-section-heading h2, .product_title) {
  font-stretch: 80%;
}
body.ec-signature.ec-design-obsidian .sig-product-index .sig-index-number {
  color: var(--sig-accent);
  font-family: var(--atelier-body);
  font-weight: 500;
  font-size: .82rem;
  font-variant-numeric: tabular-nums;
}
body.ec-signature.ec-design-obsidian :is(.reviews-section, .mobile-navigation) {
  background: #222126;
}
body.ec-signature.ec-design-obsidian .sig-header .es-cart-count {
  color: var(--sig-on-accent);
  background: var(--sig-accent);
}

/* Desktop compositions move media and supporting information, never catalogue positions. */
@media (min-width: 900px) {
  body.ec-signature.ec-design-midnight .sig-hero-layout {
    grid-template-columns: minmax(0, 1.16fr) minmax(0, 1fr);
    align-items: center;
  }
  body.ec-signature.ec-design-midnight .sig-featured-list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: clamp(.6rem, 1.2vw, 1.2rem);
  }
  body.ec-signature.ec-design-midnight .sig-featured {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    align-content: start;
    gap: .75rem;
  }
  body.ec-signature.ec-design-midnight .sig-featured .sig-featured-image {
    width: 100%;
    max-height: clamp(6.5rem, 12vw, 10.5rem);
    object-fit: contain;
  }
  body.ec-signature.ec-design-conservatory .signature-hero {
    background: radial-gradient(ellipse at 78% 48%, #345448 0%, #1a3d32 65%, #15372e 100%);
  }
  body.ec-signature.ec-design-conservatory .sig-hero-layout {
    grid-template-columns: minmax(0, .85fr) minmax(0, 1.35fr);
    align-items: center;
  }
  body.ec-signature.ec-design-porcelain .sig-hero-layout {
    grid-template-columns: minmax(0, 1fr);
    justify-items: center;
    gap: clamp(.65rem, 1.2vw, 1rem);
    border-top: 0;
    background: radial-gradient(ellipse at 50% 55%, #f2e7e3 0%, transparent 66%);
  }
  body.ec-signature.ec-design-porcelain .signature-hero .sig-side {
    grid-area: 1 / 1;
    width: min(100%, 52rem);
    text-align: center;
    justify-self: center;
  }
  body.ec-signature.ec-design-porcelain .hero .sig-hero-layout .hero-media {
    grid-area: 2 / 1;
    justify-self: center;
  }
  body.ec-signature.ec-design-porcelain .sig-hero-layout::after {
    content: none;
  }
  body.ec-signature.ec-design-gallery .sig-hero-layout {
    grid-template-columns: minmax(0, 1.08fr) minmax(0, .92fr);
    gap: clamp(1.25rem, 3.5vw, 3.6rem);
  }
  body.ec-signature.ec-design-journal .sig-hero-layout {
    grid-template-columns: minmax(0, .93fr) minmax(0, 1.07fr);
    align-items: center;
  }
  body.ec-signature.ec-design-journal .sig-side {
    align-self: center;
  }
  body.ec-signature.ec-design-journal .sig-product-index {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0 clamp(.55rem, 1.4vw, 1.45rem);
  }
  body.ec-signature.ec-design-sage .sig-hero-layout {
    grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr);
    border-radius: 55px 14px 55px 14px;
  }
  body.ec-signature.ec-design-obsidian .sig-hero-layout {
    grid-template-columns: minmax(0, 1.12fr) minmax(0, .88fr);
    align-items: center;
  }
}

/* A brief highlight follows the interface into view; only deliberate hover moves an arrow. */
@keyframes ec-atelier-light {
  from { opacity: .18; transform: scaleX(.35); }
  to { opacity: 1; transform: scaleX(1); }
}
@media (prefers-reduced-motion: no-preference) {
  body.ec-signature.es-store:not(.es-reduced-motion) .sig-hero-note {
    position: relative;
  }
  body.ec-signature.es-store:not(.es-reduced-motion) .sig-hero-note::before {
    content: "";
    position: absolute;
    pointer-events: none;
    inset: -1px auto auto 0;
    width: min(6.5rem, 20%);
    height: 1px;
    background: linear-gradient(90deg, currentColor, transparent);
    transform-origin: left;
    animation: ec-atelier-light 950ms cubic-bezier(.2,.65,.25,1) both;
  }
}
@media (hover: hover) and (pointer: fine) and (prefers-reduced-motion: no-preference) {
  body.ec-signature.es-store:not(.es-reduced-motion) :is(.sig-index-item, .hero-button, .contact-links > a) .sig-icon:last-child {
    transition: transform 180ms ease;
  }
  body.ec-signature.es-store:not(.es-reduced-motion) :is(.sig-index-item, .hero-button, .contact-links > a):hover .sig-icon:last-child {
    transform: translateX(2px);
  }
}
