/** Shopify CDN: Minification failed

Line 1225:0 Unexpected "}"

**/
/* WIBAUX — brand layer over Dawn. Tokens only; no Retina code. */

@font-face{font-family:"Marcellus";src:url(//wibaux.com/cdn/shop/t/20/assets/wibaux-marcellus-400.woff2?v=7932187527787438761787702528)format("woff2");
  font-weight:400;font-style:normal;font-display:swap;}
@font-face{font-family:"EB Garamond";src:url(//wibaux.com/cdn/shop/t/20/assets/wibaux-ebgaramond-400.woff2?v=153958583760341253471787702528)format("woff2");
  font-weight:400 500;font-style:normal;font-display:swap;}
@font-face{font-family:"Cormorant Garamond";src:url(//wibaux.com/cdn/shop/t/20/assets/wibaux-cormorant-300.woff2?v=49446305223846606951787702528)format("woff2");
  font-weight:300 400;font-style:normal;font-display:swap;}
@font-face{font-family:"Cormorant Garamond";src:url(//wibaux.com/cdn/shop/t/20/assets/wibaux-cormorant-300i.woff2?v=48685995717956074521787702528)format("woff2");
  font-weight:300 400;font-style:italic;font-display:swap;}

:root{
  --w-charcoal:#201E1B; --w-charcoal-soft:#2A2723;
  --w-bone:#EFE8DA;     --w-bone-warm:#F5F0E6;
  --w-saddle:#5C3D24;   --w-saddle-deep:#4A3220;
  --w-chestnut:#6E4A2C; --w-brass:#C4A968;
  --w-canvas:#B9A888;   --w-muted:#8A8069; --w-meta:#8A8069;
  --w-display:"Marcellus",Georgia,serif;
  --w-edit:"Cormorant Garamond",Georgia,serif;
  --w-body:"EB Garamond",Georgia,serif;
  --w-hair:rgba(32,30,27,.14);
  --w-hair-dark:rgba(239,232,218,.16);
}

/* ---- type ---- */
body,.product__description,.rte{font-family:var(--w-body);font-size:17px;line-height:1.62;}
h1,h2,.h1,.h2,.banner__heading,.rich-text__heading{
  font-family:var(--w-display);font-weight:400;letter-spacing:.01em;text-wrap:balance;}
.wibaux-editorial h2,.wibaux-editorial .h2{font-family:var(--w-edit);font-weight:300;}

/* wordmark */
.wibaux-wordmark{font-family:var(--w-display);text-transform:uppercase;
  letter-spacing:.42em;padding-left:.42em;line-height:1;display:inline-block;}

/* UI labels */
.wibaux-label,.product__title small,.facets__label{
  font-family:var(--w-body);font-size:11px;text-transform:uppercase;letter-spacing:.18em;}

/* ---- hard nos ---- */
.banner__heading,.banner__text,.hero__title{text-shadow:none !important;}
/* no sale badges, no compare-at, anywhere */
.badge.price__badge-sale,.price__badge-sale,.price--on-sale .price__sale,
.price__compare,s.price-item--regular,.card__badge,.badge--sale{display:none !important;}
.price{font-family:var(--w-edit);font-style:italic;font-weight:400;
  color:var(--w-chestnut);letter-spacing:.01em;}
.price .price-item{font-weight:400 !important;}

/* hairlines */
.wibaux-rule{height:1px;background:var(--w-hair);border:0;}

/* ---- two-state nav ---- */
.shopify-section-group-header-group{position:sticky;top:0;z-index:60;}
.section-header{transition:background-color .28s ease,border-color .28s ease;}
body.wibaux-hero-page .section-header{background:transparent;border-bottom:1px solid transparent;}
body.wibaux-hero-page .section-header .header__heading-link,
body.wibaux-hero-page .section-header .header__menu-item,
body.wibaux-hero-page .section-header .header__icon{color:var(--w-bone);}
body.wibaux-scrolled .section-header,
body:not(.wibaux-hero-page) .section-header{
  background:var(--w-charcoal);border-bottom:1px solid var(--w-hair-dark);}
body.wibaux-scrolled .section-header .header__heading-link,
body.wibaux-scrolled .section-header .header__menu-item,
body.wibaux-scrolled .section-header .header__icon,
body:not(.wibaux-hero-page) .section-header .header__menu-item,
body:not(.wibaux-hero-page) .section-header .header__heading-link,
body:not(.wibaux-hero-page) .section-header .header__icon{color:var(--w-bone);}
.header__menu-item{font-family:var(--w-body);font-size:12px;
  text-transform:uppercase;letter-spacing:.16em;}
/* Bar W: hidden over hero, fades in when solid */
.wibaux-mark{opacity:0;transition:opacity .28s ease;
  color:var(--w-brass);flex:0 0 auto;}
body.wibaux-scrolled .wibaux-mark{opacity:1;}

/* announcement bar */

/* ---- collection grid: 2-up ---- */
@media (min-width:990px){
  .collection .grid--4-col-desktop .grid__item,
  .collection .grid--3-col-desktop .grid__item{width:calc(50% - var(--grid-desktop-horizontal-spacing)/2);
    max-width:calc(50% - var(--grid-desktop-horizontal-spacing)/2);}
}
.card__heading{font-family:var(--w-display);font-weight:400;letter-spacing:.01em;}

/* ---- story template ---- */
.wibaux-story{max-width:544px;margin:0 auto;padding:0 24px;}
.wibaux-story p{font-family:var(--w-edit);font-weight:300;font-size:21px;
  line-height:1.62;margin:0 0 22px;}
.wibaux-story h1{font-family:var(--w-display);font-size:clamp(32px,5vw,48px);
  margin:0 0 35px;}
.wibaux-story strong{font-weight:400;font-family:var(--w-body);}

/* footer */
.footer{background:var(--w-charcoal);border-top:1px solid var(--w-hair-dark);}
.footer,.footer a,.footer__content-bottom{color:var(--w-bone);}

/* header overlays the hero on the homepage; solid everywhere else */
body.wibaux-hero-page .shopify-section-group-header-group{position:absolute;top:0;left:0;right:0;}
body.wibaux-hero-page.wibaux-scrolled .shopify-section-group-header-group{position:fixed;}
body.wibaux-hero-page #MainContent{margin-top:0;}
.header__heading-link{padding-inline:0;}
.wibaux-wordmark{font-size:22px;}
@media (max-width:749px){.wibaux-wordmark{font-size:17px;letter-spacing:.3em;padding-left:.3em;}}

/* Dawn's placeholder illustrations breach the brand rules (people, stock art).
   Suppress them; empty media falls back to a saddle colour field. */
.placeholder-svg,svg.placeholder-svg{display:none !important;}
.banner__media,.media--placeholder,.banner:not(:has(img)) .banner__media{
  background:var(--w-saddle) !important;}
.banner__media img{object-fit:cover;}
.banner__box{background:transparent !important;border:0 !important;}
.banner__heading{font-size:clamp(38px,6vw,74px);}

/* ============ Wibaux sections ============ */
.w-wrap{max-width:1400px;margin:0 auto;padding:0 clamp(20px,4vw,56px);}
.w-sec-head{font-family:var(--w-display);font-weight:400;
  font-size:clamp(26px,2.6vw,35px);color:var(--w-charcoal);
  margin:0 0 clamp(28px,4vw,48px);text-align:center;}
.w-slot{display:flex;align-items:center;justify-content:center;height:100%;
  font-family:ui-monospace,Menlo,monospace;font-size:11px;letter-spacing:.12em;
  color:var(--w-muted);background:var(--w-canvas);}

/* The Collection — six tiles */
.w-colgrid__list{list-style:none;margin:0;padding:0;display:grid;gap:clamp(16px,2.4vw,32px);
  grid-template-columns:repeat(3,1fr);}
.w-colgrid__link{display:block;text-decoration:none;color:inherit;}
.w-colgrid__media{aspect-ratio:4/5;overflow:hidden;background:var(--w-canvas);}
.w-colgrid__media img{width:100%;height:100%;object-fit:cover;display:block;}
.w-colgrid__name{display:block;margin-top:14px;font-family:var(--w-body);
  font-size:11px;text-transform:uppercase;letter-spacing:.2em;color:var(--w-charcoal);}
@media (max-width:989px){.w-colgrid__list{grid-template-columns:repeat(2,1fr);}}

/* The Artifact — two abutting flat fields, no rule at the seam */
@media (max-width:749px){
  }

/* Journey previews */
.w-journey__list{list-style:none;margin:0;padding:0;display:grid;
  grid-template-columns:repeat(3,1fr);gap:clamp(20px,3vw,40px);}
.w-journey__link{text-decoration:none;color:inherit;display:block;}
.w-journey__media{aspect-ratio:7/5;background:var(--w-canvas);overflow:hidden;}
.w-journey__media img{width:100%;height:100%;object-fit:cover;display:block;}
.w-journey__title{font-family:var(--w-display);font-weight:400;
  font-size:21px;margin:16px 0 6px;color:var(--w-charcoal);}
.w-journey__pull{font-family:var(--w-edit);font-weight:300;font-size:17px;
  line-height:1.5;color:var(--w-chestnut);margin:0;}
@media (max-width:749px){.w-journey__list{grid-template-columns:1fr;}}

/* Craft */
.w-craft__inner{display:grid;grid-template-columns:1fr 1fr;
  gap:clamp(28px,5vw,72px);align-items:center;}
.w-craft__media{aspect-ratio:4/3;background:var(--w-canvas);overflow:hidden;}
.w-craft__media img{width:100%;height:100%;object-fit:cover;display:block;}
.w-craft__eyebrow{font-family:var(--w-body);font-size:10px;text-transform:uppercase;
  letter-spacing:.24em;color:var(--w-muted);margin:0 0 12px;}
.w-craft__head{font-family:var(--w-display);font-weight:400;
  font-size:clamp(27px,3vw,38px);margin:0 0 18px;color:var(--w-charcoal);}
.w-craft__copy{font-family:var(--w-body);font-size:17px;line-height:1.62;
  color:var(--w-charcoal-soft);max-width:44ch;}
.w-craft--plain .w-craft__copy{font-size:16px;}
.w-craft__link{display:inline-block;margin-top:22px;font-family:var(--w-body);
  font-size:11px;text-transform:uppercase;letter-spacing:.22em;
  color:var(--w-chestnut);text-decoration:none;}
.w-craft__link:hover{text-decoration:underline;text-underline-offset:4px;}
@media (max-width:749px){.w-craft__inner{grid-template-columns:1fr;}}

/* Collection template: two columns at EVERY breakpoint (brand spec) */
.collection .grid--2-col-tablet-down .grid__item,
.collection .product-grid .grid__item{width:calc(50% - var(--grid-mobile-horizontal-spacing)/2);
  max-width:calc(50% - var(--grid-mobile-horizontal-spacing)/2);}

/* Story measure 640px */
.wibaux-story{max-width:640px;}

/* Footer — hairline, wordmark repeated, minimal links */
.footer .footer-block a{color:var(--w-canvas);text-decoration:none;}
.footer .footer-block a:hover{color:var(--w-brass);}
.footer__content-top{border-bottom:1px solid var(--w-hair-dark);}

/* ---- Hero: ~75vh, and one voice ---- */
.banner--large:not(.banner--mobile-bottom) .banner__media,
.banner--large .banner__media{height:75vh !important;min-height:520px;max-height:860px;}
.banner--large{min-height:75vh;}
.banner__content{align-items:center;}
.banner__box{padding:0 clamp(20px,4vw,56px);max-width:min(736px,90vw);}

/* headline — Marcellus, architectural, holds the image unaided */
.banner__heading{
  font-family:var(--w-display);font-weight:400;
  font-size:clamp(45px,6.4vw,86px);line-height:1.02;
  letter-spacing:-.005em;color:var(--w-bone);margin:0 0 clamp(14px,1.6vw,22px);}

/* subhead — Cormorant, sits close under the headline, not adrift */
.banner__text,.banner .rte{
  font-family:var(--w-edit);font-weight:300;font-style:normal;
  font-size:clamp(18px,1.85vw,24px);line-height:1.45;
  color:var(--w-bone);opacity:.94;margin:0 auto clamp(26px,3vw,40px);
  max-width:34ch;}

/* CTA — outline, letterspaced, square */
.banner__buttons .button{
  background:transparent;border:1px solid rgba(239,232,218,.62);
  color:var(--w-bone);font-family:var(--w-body);font-size:11px;
  text-transform:uppercase;letter-spacing:.24em;
  padding:18px 34px;min-height:52px;}
.banner__buttons .button:hover{border-color:var(--w-bone);background:rgba(239,232,218,.08);}

/* ---- Wordmark must outrank the nav links ---- */
.wibaux-wordmark{font-size:clamp(24px,2.1vw,31px);letter-spacing:.42em;padding-left:.42em;}
@media (max-width:749px){.wibaux-wordmark{font-size:18px;letter-spacing:.3em;padding-left:.3em;}}
.header__menu-item{font-size:12px;letter-spacing:.18em;padding:14px 0;min-height:48px;
  display:inline-flex;align-items:center;}
.header__heading,.header__heading-link{line-height:1;}

/* nav spacing — restore separation lost to inline-flex, keep 48px hit areas */
.header__inline-menu .list-menu--inline{display:flex;flex-wrap:wrap;
  column-gap:clamp(20px,2.4vw,40px);row-gap:0;align-items:center;}
.header__menu-item{padding:14px 0;min-height:48px;display:inline-flex;align-items:center;}
.header__inline-menu .list-menu__item--link,
.header__inline-menu > .list-menu > li{margin:0;}

/* ==========================================================================
   MEASUREMENTS SHEET — desktop @1200, mobile @390
   Type scale numbers are style #n from §2.
   ========================================================================== */

/* --- §3.1 palette additions --- */
:root{
  --w-body-txt:#332F28; --w-body-2:#4A4438; --w-ui-muted:#6B6350;
  --w-on-dark:#CFC6B4; --w-on-image:#FFFBF2; --w-on-image-2:#F2EADB;
  --w-rule-1:rgba(32,30,27,.10); --w-rule-2:rgba(32,30,27,.14);
  --w-rule-3:rgba(32,30,27,.18); --w-rule-dark:rgba(196,169,104,.16);
}

/* --- §1.2 hero: fixed 720 / 580, flat .38 tint, focal 46% 58% --- */
.banner--large .banner__media,.banner--large:not(.banner--mobile-bottom) .banner__media{
  height:720px !important;min-height:720px;max-height:720px;}
.banner--large{min-height:720px;}
.banner__media img{object-fit:cover;object-position:46% 58%;}
.banner__media::after{content:"";position:absolute;inset:0;
  background:rgba(32,30,27,.38);pointer-events:none;}
.banner__media > .banner__media-image-half,.banner__media svg{display:none;}

/* #1 hero headline */
.banner__heading{font-family:var(--w-display);font-weight:400;
  font-size:64px;line-height:1.10;letter-spacing:.05em;color:var(--w-on-image);
  margin:0 0 22px;}
/* #2 hero subhead */
.banner__text,.banner .rte{font-family:var(--w-edit);font-weight:300;font-style:normal;
  font-size:26px;line-height:1.5;letter-spacing:0;color:var(--w-on-image-2);
  opacity:1;margin:0 auto 34px;max-width:34ch;}
/* #3 hero CTA — §9.3 outline button */
.banner__buttons .button{font-family:var(--w-body);font-weight:400;font-size:13px;
  line-height:1;letter-spacing:.20em;text-transform:uppercase;color:var(--w-on-image);
  background:transparent;border:1px solid rgba(255,251,242,.75);
  padding:16px 38px;min-height:auto;}
.banner__buttons .button:hover{border-color:var(--w-on-image);background:rgba(255,251,242,.12);}
.banner__buttons .button:active{background:rgba(255,251,242,.18);}

/* #4 wordmark, nav */
.wibaux-wordmark{font-family:var(--w-display);font-weight:400;font-size:26px;
  line-height:1;letter-spacing:.30em;padding-left:.30em;
  text-transform:uppercase;color:var(--w-on-image);}
/* #6 nav link, rest */
.header__menu-item{font-family:var(--w-body);font-weight:400;font-size:15px;
  line-height:1;letter-spacing:.14em;text-transform:uppercase;
  padding:18px 16px;min-height:51px;}
/* #7 nav link, scrolled */
body.wibaux-scrolled .section-header .header__menu-item{font-size:14px;padding:16px 13px;
  min-height:46px;color:var(--w-on-dark);}
body.wibaux-scrolled .section-header .header__menu-item:hover{color:var(--w-brass);}

/* #12 statement */
.rich-text__heading{font-family:var(--w-edit) !important;font-weight:300;
  font-size:30px;line-height:1.3;letter-spacing:.06em;color:var(--w-charcoal);}
/* #13 section heading */
.w-sec-head{font-size:44px;line-height:1.15;letter-spacing:.06em;}
/* #16 collection tile name */
.w-colgrid__name{font-size:15px;line-height:1.3;letter-spacing:.10em;}
/* #26 journey card title, #27 pull line */
.w-journey__title{font-family:var(--w-edit);font-weight:300;font-size:24px;
  line-height:1.3;letter-spacing:0;color:var(--w-charcoal);}
.w-journey__pull{font-family:var(--w-body);font-weight:400;font-size:14px;
  line-height:1.6;color:var(--w-ui-muted);}
/* #28 craft title, #21 body, #31 slug link */
.w-craft__head{font-size:32px;line-height:1.24;letter-spacing:0;}
.w-craft__copy{font-family:var(--w-body);font-size:16px;line-height:1.70;color:var(--w-body-2);}
.w-craft__link{font-size:12px;letter-spacing:.24em;color:var(--w-chestnut);}
.w-craft__eyebrow{font-size:12px;letter-spacing:.24em;color:var(--w-muted);}

/* --- §1.2 vertical rhythm --- */
.w-colgrid{padding-top:0 !important;padding-bottom:96px !important;}
.w-journey{padding-top:96px !important;padding-bottom:96px !important;}

@media (max-width:767px){
  .banner--large .banner__media,.banner--large:not(.banner--mobile-bottom) .banner__media{
    height:580px !important;min-height:580px;max-height:580px;}
  .banner--large{min-height:580px;}
  .banner__heading{font-size:40px;line-height:1.12;}
  .banner__text,.banner .rte{font-size:20px;}
  .banner__buttons .button{font-size:12px;padding:15px 32px;}
  .wibaux-wordmark{font-size:20px;letter-spacing:.30em;padding-left:.30em;}
  .rich-text__heading{font-size:24px;}
  .w-sec-head{font-size:30px;}
  .w-colgrid__name{font-size:13px;}
  .w-journey__title{font-size:21px;}
  .w-journey__pull{font-size:13px;}
  .w-craft__head{font-size:26px;}
  .w-craft__copy{font-size:15px;line-height:1.65;}
            .w-colgrid{padding-bottom:56px !important;}
  .w-journey{padding-top:56px !important;padding-bottom:56px !important;}
}

/* ===== §1.1 container ===== */
.w-wrap{max-width:1180px;padding-left:48px;padding-right:48px;}
@media (min-width:1440px){.w-wrap{max-width:1280px;padding-left:64px;padding-right:64px;}}
@media (max-width:1023px){.w-wrap{max-width:none;padding-left:40px;padding-right:40px;}}
@media (max-width:767px){.w-wrap{padding-left:20px;padding-right:20px;}}

/* ===== section head: left heading, right count, hairline. 20px / 40px ===== */
.w-sechead{display:flex;align-items:baseline;justify-content:space-between;gap:24px;}
.w-sechead__title{font-family:var(--w-display);font-weight:400;font-size:44px;
  line-height:1.15;letter-spacing:.06em;color:var(--w-charcoal);margin:0;text-align:left;}
.w-sechead__count{font-family:var(--w-body);font-size:12px;line-height:1;
  letter-spacing:.24em;text-transform:uppercase;color:var(--w-meta);}
.w-sechead__rule{height:1px;background:var(--w-rule-1);border:0;margin:20px 0 40px;}
.w-sec-head{display:none;}

/* ===== §4 grid gaps ===== */
.w-colgrid__list{column-gap:32px;row-gap:40px;}
.w-journey__list{column-gap:32px;row-gap:32px;}
@media (max-width:1023px){
  .w-colgrid__list{column-gap:20px;row-gap:32px;}
  .w-journey__list{column-gap:24px;}
}
@media (max-width:767px){
  .w-colgrid__list{column-gap:16px;row-gap:28px;}
  .w-journey__list{row-gap:28px;}
}

/* ===== §1.2 statement 176 / 176 ===== */
.shopify-section [id*="__statement"],[id*="__statement"] .rich-text{padding-top:0;padding-bottom:0;}
/* §1.2 gives 176/176; reduced so a single 39px line is not stranded in
   ~90% air. Still generous — 120 top and bottom. */
[id*="__statement"]{padding:120px 0;}
@media (max-width:767px){[id*="__statement"]{padding:72px 0;}}

/* ===== The Leather: full-bleed image left, text right ===== */
.w-craft__inner{display:grid;grid-template-columns:1fr 1fr;gap:0;align-items:stretch;}
.w-craft__media{aspect-ratio:auto;min-height:520px;}
.w-craft__bodyinner{max-width:420px;padding:0 48px;}
.w-craft__body{display:flex;align-items:center;}
@media (max-width:767px){
  .w-craft__inner{grid-template-columns:1fr;}
  .w-craft__media{min-height:280px;aspect-ratio:3/2;}
  .w-craft__bodyinner{padding:36px 20px 40px;max-width:none;}
}

/* ===== The Rope: heading + slug + 4-col ===== */
.w-rope{padding:104px 0;}
.w-sechead--rope{align-items:baseline;}
.w-rope__title{font-family:var(--w-body);font-weight:500;font-size:18px;line-height:1.3;
  letter-spacing:.02em;color:var(--w-charcoal);margin:0;}
.w-rope__slug{font-family:var(--w-body);font-size:12px;line-height:1;letter-spacing:.24em;
  text-transform:uppercase;color:var(--w-chestnut);text-decoration:none;}
.w-rope__copy{font-family:var(--w-body);font-size:16px;line-height:1.70;
  color:var(--w-body-2);max-width:52ch;margin:14px 0 0;}
.w-rope__grid{list-style:none;margin:28px 0 0;padding:0;display:grid;
  grid-template-columns:repeat(4,1fr);gap:16px;}
.w-rope__link{text-decoration:none;color:inherit;display:block;}
.w-rope__media{aspect-ratio:1/1;background:var(--w-canvas);overflow:hidden;}
.w-rope__media img{width:100%;height:100%;object-fit:cover;display:block;}
.w-rope__name{display:block;margin-top:10px;font-family:var(--w-body);font-size:13px;
  line-height:1.3;color:var(--w-charcoal);}
.w-rope__price{display:block;font-family:var(--w-edit);font-style:italic;font-size:15px;
  color:var(--w-chestnut);}
@media (max-width:767px){
  .w-rope{padding:64px 0;}
  .w-rope__grid{grid-template-columns:repeat(2,1fr);}
  .w-rope__title{font-size:17px;}
}

/* ===== §3.3 footer: BONE ground, #332F28 text ===== */
.footer{background:var(--w-bone) !important;border-top:0;}
.footer,.footer a,.footer__content-bottom,.footer__content-top{color:var(--w-body-txt);}
.footer .footer-block__heading{font-family:var(--w-body);font-size:12px;line-height:1;
  letter-spacing:.24em;text-transform:uppercase;color:var(--w-meta);margin:0 0 14px;}
.footer .footer-block p,.footer .footer-block li{font-family:var(--w-body);font-size:15px;
  line-height:2.0;color:var(--w-body-txt);margin:0;}
.footer .footer-block a{color:var(--w-body-txt);text-decoration:none;}
.footer .footer-block a:hover{color:var(--w-chestnut);}
.footer__content-top{padding:64px 48px 44px;border-bottom:1px solid var(--w-rule-2);}
.footer__content-bottom{padding:32px 48px 36px;border-top:0;}
.footer .wibaux-wordmark{font-family:var(--w-display);font-size:21px;line-height:1;
  letter-spacing:.34em;padding-left:.34em;color:var(--w-charcoal);}

/* ===== §4 Featured: explicit 2-col grid, gaps 40 / 48 lg ===== */
[id*="__featured"] .grid,[id*="__featured"] ul.grid{
  display:grid !important;grid-template-columns:repeat(2,1fr) !important;
  column-gap:40px;row-gap:48px;margin:0;}
[id*="__featured"] .grid__item{width:auto !important;max-width:none !important;
  flex:none !important;margin:0 !important;}
[id*="__featured"] .card__media,[id*="__featured"] .media{aspect-ratio:4/5;}
[id*="__featured"] .card__media img,[id*="__featured"] .media img{
  width:100%;height:100%;object-fit:cover;}
/* #17 product card name, #18 price */
[id*="__featured"] .card__heading,[id*="__featured"] .card__heading a{
  font-family:var(--w-body);font-weight:400;font-size:17px;line-height:1.35;
  letter-spacing:0;color:var(--w-charcoal);text-decoration:none;}
[id*="__featured"] .price,[id*="__featured"] .price *{
  font-family:var(--w-edit);font-style:italic;font-weight:400;font-size:17px;
  line-height:1.3;color:var(--w-chestnut);}
@media (max-width:1023px){
  [id*="__featured"] .grid{column-gap:24px;row-gap:32px;}
}
@media (max-width:767px){
  [id*="__featured"] .grid{column-gap:16px;row-gap:22px;}
  [id*="__featured"] .card__heading,[id*="__featured"] .card__heading a{font-size:15px;}
  [id*="__featured"] .price,[id*="__featured"] .price *{font-size:15px;}
}

/* Shopify's follow-on-shop pill and Powered-by line are not in the design */
.shopify-follow-on-shop,[class*="follow-on-shop"]{display:none !important;}
.footer__content-bottom .footer__copyright,.footer__content-bottom small{
  font-family:var(--w-body);font-size:12px;line-height:1.5;color:var(--w-meta);}

/* ===== §8 image ratios from the manifest ===== */
.w-journey__media{aspect-ratio:3/2;}                 /* journey card 3:2 */
.w-craft__media{aspect-ratio:1/1;min-height:0;}      /* leather-detail 1:1 desktop */
@media (max-width:767px){
  .w-craft__media{aspect-ratio:3/2;}                 /* 3:2 mobile */
}

/* ===== Hero refinement ===== */

/* 4. grade the photograph; the flat tint comes off entirely (§5 prefers grading) */
.banner__media::after{content:none !important;}
.banner__media img{filter:url(#wx-grade);}
.wx-grade-def{position:absolute;width:0;height:0;overflow:hidden;}

/* 1. type sits in the open dust to the right of the rider, left-aligned */
.banner__content{align-items:center;justify-items:end;}
/* One block, one axis, clear of the frame edge by the §1.1 side padding.
   The box is deliberately wider than the headline so the shared centre is
   visible — at equal widths a centred headline reads as flush-left. */
.banner__box{margin-left:auto;margin-right:48px;text-align:center;
  max-width:none;width:min(640px,52vw);padding:0;transform:none;}
@media (min-width:1440px){.banner__box{margin-right:64px;width:min(680px,46vw);}}
@media (min-width:1024px) and (max-width:1439px){.banner__box{margin-right:48px;}}
@media (max-width:1023px){.banner__box{margin-right:40px;width:min(560px,60vw);}}
.banner__heading,.banner__text,.banner__buttons{text-align:center;}
.banner__text,.banner .rte{margin-left:auto;margin-right:auto;}
.banner__buttons{justify-content:center;}

/* 2. two clean lines, and a real step between the levels */
.banner__heading{font-size:64px;line-height:1.10;letter-spacing:.05em;margin:0 0 20px;
  text-wrap:balance;}
.banner__text,.banner .rte{font-size:22px;line-height:1.5;max-width:44ch;margin-bottom:36px;
  text-wrap:pretty;}

@media (max-width:1023px){
  
}
@media (max-width:767px){
  .banner__content{justify-items:center;}
  .banner__box{width:auto;max-width:90vw;margin:0 auto;text-align:center;}
  .banner__heading,.banner__text,.banner__buttons{text-align:center;}
  .banner__buttons{justify-content:center;}
  .banner__text,.banner .rte{margin-left:auto;margin-right:auto;max-width:34ch;font-size:19px;
    text-wrap:pretty;}
  .banner__heading{font-size:40px;line-height:1.12;}
}

/* ============ Collection template — §1.3 ============ */
.wxc{background:var(--w-bone);}

/* editorial header: split 1.1fr / 1fr, text pad 88 56 80 48, image 4:3 + left hairline */
.wxc-head{display:grid;grid-template-columns:1.1fr 1fr;align-items:stretch;}
.wxc-head__text{padding:88px 56px 80px 48px;display:flex;flex-direction:column;
  justify-content:center;}
.wxc-head__media{aspect-ratio:4/3;border-left:1px solid var(--w-rule-2);overflow:hidden;
  background:var(--w-canvas);}
.wxc-head__media img{width:100%;height:100%;object-fit:cover;display:block;}
/* #14 eyebrow · #13 title (Marcellus) · #38 editorial copy · #15 count */
.wxc-head__eyebrow{font-family:var(--w-body);font-size:12px;line-height:1;
  letter-spacing:.24em;text-transform:uppercase;color:var(--w-meta);margin:0 0 18px;}
.wxc-head__title{font-family:var(--w-display);font-weight:400;font-size:44px;
  line-height:1.15;letter-spacing:.06em;color:var(--w-charcoal);margin:0 0 28px;}
.wxc-head__copy{font-family:var(--w-edit);font-weight:400;font-size:21px;line-height:1.70;
  color:var(--w-body-txt);max-width:44ch;}
.wxc-head__copy p{margin:0 0 18px;}
.wxc-head__copy p:last-child{margin-bottom:0;}
.wxc-head__count{font-family:var(--w-body);font-size:14px;line-height:1.5;
  color:var(--w-meta);margin:28px 0 0;}

/* filter row — quiet, EB Garamond, #14 tracking */
.wxc-filter{display:flex;align-items:center;flex-wrap:wrap;gap:0 22px;
  padding:28px 48px 0;}
.wxc-filter__label{font-family:var(--w-body);font-size:12px;line-height:1;
  letter-spacing:.24em;text-transform:uppercase;color:var(--w-meta);margin-right:6px;}
.wxc-filter__btn{font-family:var(--w-body);font-size:12px;line-height:1;
  letter-spacing:.24em;text-transform:uppercase;color:var(--w-ui-muted);
  background:none;border:0;padding:10px 0;cursor:pointer;min-height:44px;
  transition:color 120ms ease,box-shadow 120ms ease;}
.wxc-filter__btn:hover{color:var(--w-chestnut);}
.wxc-filter__btn.is-on{color:var(--w-charcoal);
  box-shadow:inset 0 -1px 0 rgba(110,74,44,.40);}
.wxc-filter__btn:focus-visible{outline:2px solid var(--w-chestnut);outline-offset:3px;}

/* grid — 2 col at EVERY breakpoint. padding 56 48 96 D. tiles 4:5 */
.wxc-grid{list-style:none;margin:0;padding:56px 48px 96px;
  display:grid;grid-template-columns:repeat(2,1fr);column-gap:48px;row-gap:72px;}
.wxc-item[hidden]{display:none;}
.wxc-link{display:block;text-decoration:none;color:inherit;}
.wxc-media{aspect-ratio:4/5;overflow:hidden;background:var(--w-canvas);}
.wxc-media img{width:100%;height:100%;object-fit:cover;object-position:50% 50%;
  display:block;transition:opacity 200ms ease;}
.wxc-link:hover .wxc-media img{opacity:.90;}
.wxc-link:hover .wxc-name{color:var(--w-chestnut);}
.wxc-link:focus-visible{outline:2px solid var(--w-chestnut);outline-offset:4px;}
/* #17 name · #18 price · #19 sold out */
.wxc-name{display:block;margin-top:16px;font-family:var(--w-body);font-weight:400;
  font-size:17px;line-height:1.35;color:var(--w-charcoal);transition:color 120ms ease;}
.wxc-price{display:block;font-family:var(--w-edit);font-style:italic;font-weight:400;
  font-size:17px;line-height:1.3;color:var(--w-chestnut);}
.wxc-soldout{display:block;font-family:var(--w-body);font-size:17px;line-height:1.35;
  color:var(--w-meta);}

@media (max-width:1023px){
  .wxc-head__text{padding:64px 40px 56px 40px;}
  .wxc-grid{padding:40px 40px 64px;column-gap:24px;row-gap:48px;}
}
@media (max-width:767px){
  .wxc-head{grid-template-columns:1fr;}
  .wxc-head__media{order:-1;border-left:0;border-bottom:1px solid var(--w-rule-2);}
  .wxc-head__text{padding:36px 20px 32px;}
  .wxc-head__title{font-size:30px;}
  .wxc-head__copy{font-size:19px;}
  .wxc-head__count{font-size:13px;}
  .wxc-filter{padding:20px 20px 0;gap:0 16px;}
  .wxc-grid{padding:28px 20px 48px;column-gap:16px;row-gap:32px;}
  .wxc-name,.wxc-price,.wxc-soldout{font-size:15px;}
}

/* Dawn's visually-hidden price labels leak as text in cards */
.price__regular .visually-hidden,.price__sale .visually-hidden,
.price .visually-hidden{position:absolute !important;width:1px;height:1px;
  overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;}

/* ===== Featured pieces ===== */
.w-feat{padding:0 0 96px;}
/* an unapproved heading must not be the loudest thing on the page */
.w-sechead__placeholder{font-family:var(--w-body);font-weight:400;font-size:16px;
  line-height:1.7;letter-spacing:0;color:var(--w-meta);margin:0;text-align:left;}
.w-feat__grid{list-style:none;margin:0;padding:0;display:grid;
  grid-template-columns:repeat(2,1fr);column-gap:40px;row-gap:48px;}
.w-feat__link{display:block;text-decoration:none;color:inherit;}
.w-feat__media{aspect-ratio:4/5;max-height:560px;overflow:hidden;background:var(--w-canvas);}
.w-feat__media img{width:100%;height:100%;object-fit:cover;display:block;
  transition:opacity 200ms ease;}
.w-feat__link:hover .w-feat__media img{opacity:.90;}
.w-feat__link:hover .w-feat__name{color:var(--w-chestnut);}
.w-feat__link:focus-visible{outline:2px solid var(--w-chestnut);outline-offset:4px;}
.w-feat__name{display:block;margin-top:16px;font-family:var(--w-body);font-weight:400;
  font-size:17px;line-height:1.35;color:var(--w-charcoal);transition:color 120ms ease;}
.w-feat__price{display:block;font-family:var(--w-edit);font-style:italic;font-weight:400;
  font-size:17px;line-height:1.3;color:var(--w-chestnut);}
.w-feat__soldout{display:block;font-family:var(--w-body);font-size:17px;
  line-height:1.35;color:var(--w-meta);}
@media (max-width:1023px){.w-feat__grid{column-gap:24px;row-gap:32px;}
  .w-feat__media{max-height:440px;}}
@media (max-width:767px){
  .w-feat{padding-bottom:56px;}
  .w-feat__grid{column-gap:16px;row-gap:22px;}
  .w-feat__media{max-height:300px;}
  .w-feat__name,.w-feat__price,.w-feat__soldout{font-size:15px;}
  .w-sechead__placeholder{font-size:15px;}
}

/* ===== 3. Leather/craft: proper container + side padding, measure in ch ===== */
.w-craft__inner{grid-template-columns:1fr 1fr;align-items:stretch;}
.w-craft__media{aspect-ratio:auto;height:100%;min-height:560px;}
.w-craft__body{display:flex;align-items:center;
  padding-inline:clamp(40px,6vw,96px);}
.w-craft__bodyinner{max-width:44ch;padding:0;}
@media (max-width:767px){
  .w-craft__media{min-height:0;aspect-ratio:3/2;}
  .w-craft__body{padding:36px 20px 40px;}
  .w-craft__bodyinner{max-width:none;}
}

/* ===== 2. Mark in the scrolled nav ===== */
.wibaux-mark,.wx-mark-link .wibaux-mark{width:34px;height:34px;}
body.wx-solid .wx-mark-link{opacity:1;}

/* Hero block width — Dawn's .banner__box.content-container is (0,2,0) and
   shrink-to-fits inside a flex parent that is already .page-width, so a single
   class never applied and margin-right stacked on the container's own padding.
   Matched specificity; the container supplies the §1.1 side padding. */
.banner .banner__content .banner__box.content-container{
  width:min(640px,52vw);max-width:none;min-width:0;
  margin-left:auto;margin-right:0;flex:0 0 auto;text-align:center;}
@media (min-width:1440px){
  .banner .banner__content .banner__box.content-container{width:min(680px,46vw);}
}
@media (max-width:1023px){
  .banner .banner__content .banner__box.content-container{width:min(560px,62vw);}
}
@media (max-width:767px){
  .banner .banner__content .banner__box.content-container{
    width:auto;max-width:90vw;margin-left:auto;margin-right:auto;}
}


/* ===== Story — pacing strategy B (canvas 08) =====
   Body holds one size; emphasis is measure width, not a size jump.
   Body 520 · title, pulled lines, break and closing 720. */
.wxs{background:var(--w-bone);padding:128px 0 144px;}
.wxs__inner{width:720px;max-width:calc(100vw - 96px);margin:0 auto;}
.wxs__slug{font-family:var(--w-body);font-weight:400;font-size:12px;line-height:1;
  letter-spacing:.28em;text-transform:uppercase;color:var(--w-meta);margin:0 0 36px;}
.wxs__title{font-family:var(--w-display);font-weight:400;font-size:120px;line-height:1;
  letter-spacing:0;color:var(--w-charcoal);margin:0 0 72px;text-wrap:balance;}
.wxs__opening{font-family:var(--w-edit);font-weight:300;font-size:26px;line-height:1.55;
  color:var(--w-charcoal);max-width:520px;margin:0 0 40px;}
.wxs__body{font-family:var(--w-edit);font-weight:400;font-size:19px;line-height:1.80;
  color:var(--w-body-txt);max-width:520px;margin:0 0 26px;}
.wxs__pull{font-family:var(--w-display);font-weight:400;font-size:32px;line-height:1.32;
  color:var(--w-charcoal);max-width:720px;margin:120px 0;text-wrap:balance;}
.wxs__closing{font-family:var(--w-edit);font-weight:300;font-size:24px;line-height:1.50;
  color:var(--w-chestnut);max-width:720px;margin:128px 0 0;}
.wxs__break{margin:120px 0;width:720px;max-width:100%;}
.wxs__break img{width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;display:block;}
.wxs__break .w-slot{display:flex;aspect-ratio:3/2;}
.wxs__body a,.wxs__opening a{color:var(--w-chestnut);text-decoration:underline;
  text-underline-offset:3px;text-decoration-thickness:1px;}
.wxs__body strong,.wxs__opening strong{font-weight:400;font-family:var(--w-body);}

@media (max-width:767px){
  /* mobile values derived proportionally — canvas 08 gives desktop only */
  .wxs{padding:64px 24px 80px;}
  .wxs__inner{width:auto;max-width:none;}
  .wxs__slug{font-size:11px;margin-bottom:24px;}
  .wxs__title{font-size:64px;margin-bottom:40px;}
  .wxs__opening{font-size:21px;max-width:none;margin-bottom:28px;}
  .wxs__body{font-size:18px;max-width:none;margin-bottom:22px;}
  .wxs__pull{font-size:24px;max-width:none;margin:64px 0;}
  .wxs__closing{font-size:20px;max-width:none;margin-top:72px;}
  .wxs__break{margin:64px 0;width:auto;}
}

/* ===== Hero block — positioned against the FRAME, not the viewport =====
   Centre at 68% of the banner width, vertical centre at 50%. Dawn's
   .banner__content is .page-width, so it is stretched to the frame first —
   otherwise 68% would be 68% of the container, which drifts with breakpoint. */
.banner .banner__content{
  position:absolute;inset:0;width:100%;max-width:none;
  padding:0;margin:0;display:block;}
.banner .banner__content .banner__box.content-container{
  position:absolute;left:68%;top:50%;
  transform:translate(-50%,-50%);
  width:min(640px,52vw);max-width:none;min-width:0;
  margin:0;text-align:center;}
@media (min-width:1440px){
  .banner .banner__content .banner__box.content-container{width:min(680px,44vw);}
}
@media (max-width:1023px){
  .banner .banner__content .banner__box.content-container{left:66%;width:min(520px,58vw);}
}
@media (max-width:767px){
  .banner .banner__content{position:relative;inset:auto;display:flex;
    align-items:center;justify-content:center;height:100%;}
  .banner .banner__content .banner__box.content-container{
    position:static;transform:none;left:auto;top:auto;
    width:auto;max-width:90vw;margin:0 auto;}
}

/* ===== Cart — §1.8 geometry, type #42–#47, #24 ===== */
.wxcart{background:var(--w-bone);padding:0 0 96px;}
.wxcart__inner{max-width:760px;margin:0 auto;padding:0 48px;}
/* header 56px + 1px hairline beneath */
.wxcart__head{display:flex;align-items:center;justify-content:space-between;
  height:56px;border-bottom:1px solid var(--w-rule-2);}
.wxcart__title{font-family:var(--w-body);font-weight:400;font-size:12px;line-height:1;
  letter-spacing:.24em;text-transform:uppercase;color:var(--w-charcoal);margin:0;}
.wxcart__close{font-family:var(--w-body);font-size:18px;line-height:1;
  color:var(--w-ui-muted);text-decoration:none;padding:8px;}
.wxcart__close:hover{color:var(--w-chestnut);}

/* §9.9 empty cart */
.wxcart__empty{font-family:var(--w-body);font-size:14px;line-height:1.5;
  color:var(--w-meta);text-align:center;margin:64px 0 0;}

/* line items — 24px padding, 20px gap, hairline between */
.wxcart__items{list-style:none;margin:0;padding:0;}
.wxcart__item{display:grid;grid-template-columns:80px 1fr;gap:20px;
  padding:24px 0;border-bottom:1px solid var(--w-rule-1);}
.wxcart__media{display:block;width:80px;aspect-ratio:4/5;overflow:hidden;
  background:var(--w-canvas);}
.wxcart__media img{width:100%;height:100%;object-fit:cover;display:block;}
.wxcart__detail{display:flex;flex-direction:column;gap:6px;}
/* #44 name · #45 variant · price */
.wxcart__name{font-family:var(--w-body);font-weight:400;font-size:15px;line-height:1.35;
  color:var(--w-charcoal);text-decoration:none;}
.wxcart__name:hover{color:var(--w-chestnut);}
.wxcart__variant{font-family:var(--w-body);font-size:13px;line-height:1.3;
  color:var(--w-meta);margin:0;}
.wxcart__price{font-family:var(--w-edit);font-style:italic;font-weight:400;font-size:15px;
  line-height:1.3;color:var(--w-chestnut);margin:0;}
/* quantity + remove, kept quiet */
.wxcart__controls{display:flex;align-items:center;gap:16px;margin-top:6px;}
.wxcart__qtylabel{font-family:var(--w-body);font-size:11px;letter-spacing:.18em;
  text-transform:uppercase;color:var(--w-meta);}
.wxcart__qty{width:52px;height:36px;padding:0 8px;font-family:var(--w-body);font-size:14px;
  color:var(--w-charcoal);background:transparent;
  border:1px solid rgba(32,30,27,.28);border-radius:0;}
.wxcart__qty:focus-visible{outline:2px solid var(--w-chestnut);outline-offset:2px;}
.wxcart__remove{font-family:var(--w-body);font-size:11px;letter-spacing:.18em;
  text-transform:uppercase;color:var(--w-ui-muted);text-decoration:none;}
.wxcart__remove:hover{color:var(--w-chestnut);}

/* subtotal 24px padding; button 24px above */
.wxcart__foot{padding:24px 0 0;}
.wxcart__subtotal{display:flex;align-items:baseline;justify-content:space-between;
  padding:24px 0;}
.wxcart__sublabel{font-family:var(--w-body);font-size:15px;line-height:1.3;color:var(--w-charcoal);}
.wxcart__subvalue{font-family:var(--w-edit);font-style:italic;font-weight:400;font-size:15px;
  line-height:1.3;color:var(--w-chestnut);}
/* #24 brass button */
.wxcart__checkout{display:block;width:100%;margin-top:24px;border:0;border-radius:0;
  background:var(--w-brass);color:var(--w-charcoal);cursor:pointer;
  font-family:var(--w-body);font-weight:400;font-size:13px;line-height:1;
  letter-spacing:.20em;text-transform:uppercase;padding:22px 0;}
.wxcart__checkout:hover{background:#B99C57;}
.wxcart__checkout:active{background:#AE9150;}
.wxcart__checkout:focus-visible{outline:2px solid var(--w-charcoal);outline-offset:2px;}
.wxcart__update{background:none;border:0;cursor:pointer;padding:0;
  font-family:var(--w-body);font-size:11px;letter-spacing:.18em;text-transform:uppercase;
  color:var(--w-ui-muted);}
.wxcart__update:hover{color:var(--w-chestnut);}
@media (max-width:767px){
  .wxcart__inner{padding:0 24px;}
  .wxcart{padding-bottom:56px;}
}

/* Journey card carrying the Cross-S instead of a photograph */
.w-journey__media--mark{display:flex;align-items:center;justify-content:center;
  /* Bone-warm, per the supplied reference: the tile sits a shade lighter than the
     section ground so the hairline reads as a drawn card edge. (Supersedes the
     earlier note here, which matched the tile to the page ground.) */
  background:var(--w-bone-warm);box-shadow:inset 0 0 0 1px var(--w-rule-1);}
/* Mark tile restyled to the supplied reference: charcoal, not brass, and the
   glyph sized to ~10.4% of the tile width (was 18.7%). The SVG box carries
   internal whitespace, so 89px of box yields ~38px of drawn mark. */
.w-journey__media--mark .wibaux-cross-s{width:89px;height:89px;color:var(--w-charcoal);}
@media (max-width:767px){
  .w-journey__media--mark .wibaux-cross-s{width:67px;height:67px;}
}

/* Story break carrying the Cross-S rather than a photograph */
.wxs__break--mark{display:flex;align-items:center;justify-content:center;
  aspect-ratio:3/2;background:var(--w-bone-warm);
  box-shadow:inset 0 0 0 1px var(--w-rule-1);}
.wxs__break--mark .wibaux-cross-s{width:168px;height:168px;color:var(--w-charcoal);}
@media (max-width:767px){
  .wxs__break--mark .wibaux-cross-s{width:120px;height:120px;}
}

/* Archival portrait crops from near-square to 3:2 — hold the faces */
.w-journey__item:first-child .w-journey__media img,
.wxs__break img{object-position:50% 8%;}   /* IMG_6411 is 3:4 in a 3:2 frame — hold the head.
   The /pages/wibaux town shot is natively 3:2, so this value has no effect there. */

/* IMG_6411 is a 3:4 studio portrait in a 3:2 frame — cover keeps only half
   the height, so hold the crop high enough to keep the whole head. */
.w-journey__item:first-child .w-journey__media img{object-position:50% 8%;}

/* The town frame is natively 3:2 — no crop needed, so reset the portrait offset */
.w-journey__item:nth-child(2) .w-journey__media img{object-position:50% 50%;}

/* ==========================================================================
   ONE SECTION-HEADING TREATMENT — applied to every section on the homepage.
   Eyebrow #14 above · heading #13 · copy · link #31 below.
   Note: the sheet distinguishes #13 (44px Marcellus), #28 (32px craft title)
   and #29 (18px EB Garamond rope title). Unified here on #13 by instruction.
   ========================================================================== */
.w-head{display:block;text-align:left;}
.w-head__eyebrow{font-family:var(--w-body);font-weight:400;font-size:12px;line-height:1;
  letter-spacing:.24em;text-transform:uppercase;color:var(--w-meta);margin:0 0 18px;}
.w-head__title{font-family:var(--w-display);font-weight:400;font-size:44px;line-height:1.15;
  letter-spacing:.06em;color:var(--w-charcoal);margin:0;text-wrap:balance;}
.w-head__copy{font-family:var(--w-body);font-size:16px;line-height:1.70;
  color:var(--w-body-2);max-width:44ch;margin:24px 0 0;}
.w-head__copy p{margin:0 0 14px;}
.w-head__copy p:last-child{margin-bottom:0;}
.w-head__link{display:inline-block;margin-top:24px;font-family:var(--w-body);font-weight:400;
  font-size:12px;line-height:1;letter-spacing:.24em;text-transform:uppercase;
  color:var(--w-chestnut);text-decoration:none;}
.w-head__link:hover{text-decoration:underline;text-underline-offset:4px;}
.w-head__rule{height:1px;background:var(--w-rule-1);border:0;margin:20px 0 40px;}
/* retire the old per-section heading styles */
.w-sechead,.w-sechead__title,.w-sechead__count,.w-sechead__placeholder,
.w-sechead__rule,.w-craft__head,.w-craft__eyebrow,.w-craft__copy,.w-craft__link,
.w-rope__title,.w-rope__slug,.w-rope__copy{all:unset;}

/* --- §1.2 The Leather: 0 space above and below; media sets the height --- */
[id*="__leather"] .w-craft{padding:0 !important;}
.w-craft__media{min-height:480px;height:100%;}
.w-craft__body{padding-block:64px;}

/* --- The Rope: §1.2 104/104, heading block then the grid --- */
.w-rope{padding:104px 0;}
.w-rope .w-head{margin-bottom:40px;}

/* --- 5. Journey: tighter section, rebalanced type --- */
.w-journey{padding-top:96px !important;padding-bottom:64px !important;}
.w-journey__title{font-size:26px;}
.w-journey__pull{font-size:16px;line-height:1.55;}
@media (max-width:767px){
  .w-journey{padding-top:56px !important;padding-bottom:40px !important;}
  .w-journey__title{font-size:22px;}
  .w-journey__pull{font-size:15px;}
}

@media (max-width:767px){
  .w-head__title{font-size:30px;}
  .w-head__eyebrow{font-size:11px;margin-bottom:14px;}
  .w-head__copy{font-size:15px;margin-top:20px;}
  .w-head__link{font-size:11px;margin-top:20px;}
  .w-head__rule{margin:16px 0 24px;}
  .w-rope{padding:64px 0;}
  .w-craft__body{padding-block:40px;}
}

/* ==========================================================================
   HERO BLOCK — explicit container, replaces all percentage positioning above.
   The measurements sheet specifies NO hero block geometry (§1.2 gives only
   height 720/580; §2 gives type; §8 gives focal point). Built to instruction:
   clamp(520px,34vw,720px) container, centred on the frame centre so the
   block sits directly under the WIBAUX wordmark, which is optically centred
   at exactly 50% at every width (measured 600/720/960/1280).
   ========================================================================== */
@media (min-width:768px){
  .banner .banner__content{position:absolute;inset:0;width:100%;max-width:none;
    padding:0;margin:0;display:block;}
  .banner .banner__content .banner__box.content-container{
    position:absolute;left:50%;right:auto;top:50%;
    transform:translate(-50%,-50%);
    width:clamp(520px,34vw,720px);max-width:none;min-width:0;
    margin:0;padding:0;text-align:center;}
}

/* --- Mobile hero: centred block, real rhythm, two-line subhead --- */
@media (max-width:767px){
  .banner .banner__content{position:absolute;inset:0;display:block;
    height:100%;width:100%;max-width:none;padding:0;margin:0;}
  .banner .banner__content .banner__box.content-container{
    position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);
    width:calc(100% - 40px);max-width:none;min-width:0;
    margin:0;padding:0;text-align:center;}
  /* vertical rhythm — not in the sheet; set here */
  /* Dawn lays .banner__box out as a flex column with its own row gap; zero
     it so the two gaps below are the only vertical rhythm in the stack. */
  .banner .banner__box.content-container{display:block;gap:0;}
  .banner__box .banner__heading{margin:0 0 22px;}
  .banner .banner__box.content-container .banner__text{
    margin:0 0 34px;font-size:18px;max-width:none;text-wrap:balance;}
  /* .banner__buttons is inline-flex, so its top margin does not collapse with
     the subhead's bottom margin — they summed to 54px. Zero it explicitly. */
  .banner .banner__box.content-container .banner__buttons{margin:0;}
  /* §10 asks for a 4:5 mobile crop that was never supplied. Until it is,
     enlarge and top-align the 16:9 so the rider drops to low-left and the
     upper half is open dust. */
  .banner--large .banner__media img{height:130%;min-height:130%;
    top:0;bottom:auto;object-position:24% 0%;}
}

/* --- FIX: .w-craft__media carried aspect-ratio:3/2; the height:100% added
   last round made it compute width from height (480 x 1.5 = 720px), which
   overflowed the 390px viewport by 330px. Pin the width instead. --- */
.w-craft__media{width:100%;max-width:100%;}
@media (max-width:767px){
  .w-craft__media{height:auto;min-height:0;width:100%;max-width:100%;aspect-ratio:3/2;}
}

/* ==========================================================================
   BITTERROOT — Lewisia rediviva. Ornament and page furniture, not identity.
   Always behind the type, never interactive, never adjacent to the crossing
   mark or Cross-S. One visible per screen.
   ========================================================================== */
.wbr{position:absolute;display:block;pointer-events:none;z-index:0;}
.wbr svg{width:100%;height:100%;display:block;}
/* every host that carries one needs a positioning context and its own type
   lifted clear of the ornament */
.footer__content-top,.wxs__inner,.wxc-head__text,.wxcart__inner,
.template-404,.template-search,.blog-articles-wrapper{position:relative;}
.footer__content-top > *:not(.wbr),.wxs__inner > *:not(.wbr),
.wxc-head__text > *:not(.wbr),.template-404 > *:not(.wbr){position:relative;z-index:1;}
.footer__content-top{overflow:hidden;}

/* --- footer: full specimen bleeds off the bottom edge, clear of the
   wordmark row. Fragment replaces it below 768. --- */
.wbr--footer-m{display:none;}
@media (max-width:767px){
  .wbr--footer{display:none;}
  .wbr--footer-m{display:block;}
}

/* --- story: fragment at the margin, breaking the 720px column --- */
.wbr--story{top:52%;}
@media (max-width:1199px){.wbr--story{display:none;}}  /* no margin left to break */

/* --- collection: fragment hint beside the editorial header only.
   Never in or near the grid; lowest opacity on the page a customer sees
   most often. --- */
@media (max-width:767px){.wbr--coll{display:none;}}

/* --- 404 / empty cart / empty search / empty journal --- */
.wbr--404{z-index:0;}
@media (max-width:767px){.wbr--404{width:180px !important;height:135px !important;bottom:-24px !important;}}
.wxcart__empty{position:relative;z-index:1;}

/* --- §1.7 footer wordmark row: wordmark left, legal right, hairline above.
   #5 Wordmark, footer — Marcellus 400, 21/18, lh 1, .34em uc, #201E1B. --- */
.footer__content-bottom-wrapper{display:flex;align-items:center;
  justify-content:space-between;gap:24px;flex-wrap:wrap;}
.footer .wibaux-wordmark{display:inline-block;font-family:var(--w-display);
  font-weight:400;font-size:21px;line-height:1;letter-spacing:.34em;
  padding-left:.34em;color:var(--w-charcoal);text-decoration:none;
  text-transform:uppercase;white-space:nowrap;}
.footer .wibaux-wordmark:hover{color:var(--w-chestnut);}
.footer__content-bottom-wrapper .footer__copyright{margin:0;text-align:right;}
@media (max-width:767px){
  /* §1.7 mobile: wordmark block 28 20 32, centred */
  .footer__content-bottom-wrapper{flex-direction:column;justify-content:center;
    text-align:center;gap:14px;padding:28px 20px 32px;}
  .footer .wibaux-wordmark{font-size:18px;}
  .footer__content-bottom-wrapper .footer__copyright{text-align:center;}
}
/* Dawn adds .footer__content-bottom-wrapper--center when both selectors are
   off, which centres the row; the design puts the wordmark hard left and the
   legal line hard right. Matched specificity (0,2,0). */
.footer__content-bottom-wrapper.footer__content-bottom-wrapper--center{
  justify-content:space-between;}
.footer__content-bottom-wrapper .wibaux-wordmark{margin-right:auto;}
.footer__content-bottom-wrapper .footer__copyright{margin-left:auto;}
@media (max-width:767px){
  .footer__content-bottom-wrapper.footer__content-bottom-wrapper--center{
    justify-content:center;}
  .footer__content-bottom-wrapper .wibaux-wordmark,
  .footer__content-bottom-wrapper .footer__copyright{margin:0;}
}

/* ==========================================================================
   THE LEATHER — full-bleed band, text beneath.
   The contained journey grid and this full-bleed section were meeting with no
   boundary: the image started at the viewport edge while the cards above
   started at the container axis, so the offset (144px at 1440, 384px at 1920 —
   it grows with the viewport) made the photograph read as a fourth card
   hanging off the column. Resolved by making the bleed unmistakable: the image
   runs the whole width, the copy sits beneath it on the container axis, and
   the space above is doubled so the section announces itself.
   Deviates from 1.2, which gives The Leather 0 space above.
   ========================================================================== */
.w-craft__inner{display:block !important;grid-template-columns:none !important;}
.w-craft__media{width:100%;max-width:100%;aspect-ratio:auto !important;
  height:clamp(400px,34vw,560px);min-height:0 !important;}
.w-craft__media img{width:100%;height:100%;object-fit:cover;display:block;}
.w-craft__body{display:block !important;align-items:initial;
  /* the old split layout inset the body with padding-inline:clamp(40px,6vw,96px);
     left in place it nests a second inset inside the container and throws the
     copy off-axis by +62px at 1200. */
  padding-inline:0 !important;padding:0 !important;}
/* copy lands on the page container axis, same as every section heading */
.w-craft__bodyinner{max-width:1180px !important;margin:0 auto;
  padding:56px 48px 0 !important;}
@media (min-width:1440px){
  .w-craft__bodyinner{max-width:1280px !important;
    padding-left:64px !important;padding-right:64px !important;}
}
[id*="__leather"] .w-craft{padding:128px 0 0 !important;}

@media (max-width:767px){
  .w-craft__media{height:auto;aspect-ratio:3/2 !important;}
  .w-craft__bodyinner{max-width:none !important;padding:36px 20px 0 !important;}
  [id*="__leather"] .w-craft{padding:72px 0 0 !important;}
}

/* ==========================================================================
   THE CRAFT SPLIT — one system, two sections.
   The Leather: image left 60%, bone panel right 40%.
   The Rope:    bone panel left 40%, image right 60%.  Mirror, not a new layout.

   --w-pad  = the container's side padding at this breakpoint
   --w-axis = distance from the viewport edge to the container's content edge,
              so a panel's outer padding lands exactly on the page margin
   ========================================================================== */
.w-split{--w-pad:48px;--w-axis:calc(50vw - 542px);}
@media (min-width:1440px){.w-split{--w-pad:64px;--w-axis:calc(50vw - 576px);}}
@media (max-width:1023px){.w-split{--w-pad:40px;--w-axis:40px;}}

.w-split{display:grid;align-items:stretch;gap:0;
  grid-template-columns:60% 40%;}
/* hard vertical boundary: no gap, no radius, no feather, no shadow */
.w-split > *{border-radius:0;box-shadow:none;filter:none;}

.w-split__media{position:relative;overflow:hidden;background:var(--w-canvas);
  min-height:clamp(420px,38vw,600px);border-radius:0;}
.w-split__media img{width:100%;height:100%;object-fit:cover;display:block;border-radius:0;}

.w-split__panel{display:flex;flex-direction:column;justify-content:center;
  text-align:left;}
/* Leather panel sits right: inner edge off the boundary by the container pad,
   outer edge on the page's right margin. Rope panel is the mirror. */
.w-split--leather .w-split__panel{padding-left:var(--w-pad);padding-right:var(--w-axis);}
.w-split .w-head{max-width:none;}
.w-split .w-head__copy{max-width:38ch;}

/* --- separation from the contained grid above: full section rhythm (1.2) --- */
[id*="__leather"] .w-craft{padding:96px 0 0 !important;}
.w-rope{padding:104px 0 !important;}

@media (max-width:767px){
  /* no split below 768 — image full width, type beneath, inside the container */
  .w-split{display:block;}
  .w-split__media{min-height:0;aspect-ratio:3/2;}
  .w-split--leather .w-split__panel{padding:36px 20px 0;}
  [id*="__leather"] .w-craft{padding:56px 0 0 !important;}
  .w-rope{padding:64px 0 !important;}
}

/* --- DESKTOP ONLY from here: below 750 Dawn's native slider takes over --- */
@media (min-width:750px){
/* ==========================================================================
   PRODUCT MEDIA COLUMN — one grid, one ratio.
   Dawn was rendering each item at its own natural ratio inside a contained
   box, so a 2:3 photo and a 16:9 video produced different widths and different
   left edges with dead space beside each. Fixed ratio + cover + full column
   width gives every item the same box and a shared left edge.
   4:5 is the 8 product-primary ratio.
   ========================================================================== */
.product__media-list{display:grid !important;grid-template-columns:1fr !important;
  gap:24px !important;margin:0 !important;padding:0 !important;list-style:none;}
.product__media-item{width:100% !important;max-width:none !important;
  padding:0 !important;margin:0 !important;scroll-margin-top:123px;}
.product__media-item .product-media-container,
.product__media-item .product__media{width:100% !important;max-width:none !important;
  aspect-ratio:4/5 !important;height:auto !important;padding:0 !important;
  --ratio-percent:none !important;}
.product__media-item img,
.product__media-item video,
.product__media-item iframe,
.product__media-item .product__media img{
  width:100% !important;height:100% !important;object-fit:cover !important;
  position:absolute;inset:0;}
/* video and model items keep the same box as the photographs */
.product__media-item deferred-media,
.product__media-item .deferred-media__poster{width:100%;height:100%;}
.product__media-item .deferred-media__poster img{object-fit:cover !important;}

}  /* end desktop-only media column */

/* --- sticky info column must clear the fixed 99px header --- */
.product__column-sticky{top:123px !important;}
@media (max-width:989px){.product__column-sticky{position:static !important;}}

/* anchor jumps and sticky headings clear the bar too */
#MainContent [id]{scroll-margin-top:123px;}
@media (max-width:767px){
  .product__media-list{gap:16px !important;}
  .product__media-item{scroll-margin-top:72px;}
  #MainContent [id]{scroll-margin-top:72px;}
}

/* ==========================================================================
   PRODUCT MEDIA — MOBILE: one swipeable gallery, not a stack.
   The markup already carries Dawn's slider classes; the desktop grid override
   above was forcing them to stack, which pushed Add to cart to ~15,900px.
   Nothing added to the JS bundle: this is Dawn's own slider-component.
   ========================================================================== */
@media (max-width:749px){
  .product__media-list{
    display:flex !important;grid-template-columns:none !important;
    overflow-x:auto !important;scroll-snap-type:x mandatory;
    -webkit-overflow-scrolling:touch;scroll-behavior:smooth;
    gap:0 !important;margin:0 !important;padding:0 !important;}
  /* one slide fills the viewport — no peek of the next image */
  .product__media-list.grid--peek .grid__item,
  .product__media-item{
    flex:0 0 100% !important;width:100% !important;max-width:100% !important;
    margin:0 !important;padding:0 !important;scroll-snap-align:start;}
  .grid--peek.slider--mobile{margin:0 !important;padding:0 !important;}
  .slider-mobile-gutter{margin:0 !important;padding:0 !important;}
  /* every slide the same box: 4:5, capped so the buying block stays close */
  .product__media-item .product-media-container,
  .product__media-item .product__media,
  .product__media-item deferred-media{
    height:min(125vw,58vh) !important;aspect-ratio:auto !important;
    width:100% !important;max-width:none !important;}
  .product__media-item img,.product__media-item video,.product__media-item iframe{
    width:100% !important;height:100% !important;object-fit:cover !important;}
  /* zoom control stays */
  .product__media-icon,.product__media-toggle{display:block;z-index:2;}
  /* slider controls sit beneath the gallery */
  .slider-buttons{display:flex !important;justify-content:center;align-items:center;
    gap:12px;padding:14px 0 0;margin:0;}
  .slider-counter{font-family:var(--w-body);font-size:12px;letter-spacing:.16em;
    color:var(--w-meta);}
  /* no bone gap above the first image. The padding lives on <product-info>
     via Dawn's generated section-…-padding class, not on .product. */
  product-info[class*="-padding"]{padding-top:0 !important;}
  .product{padding-top:0 !important;}
  .product__media-wrapper{margin:0 !important;padding:0 !important;}
  .product__info-wrapper{padding-top:20px !important;}
}

/* --- sizing guide link, beside the variant selector --- */
.w-sizing-link{display:inline-block;margin:-4px 0 20px;font-family:var(--w-body);
  font-weight:400;font-size:12px;line-height:1;letter-spacing:.24em;
  text-transform:uppercase;color:var(--w-chestnut);text-decoration:none;
  border-bottom:1px solid rgba(110,74,44,.45);padding-bottom:5px;}
.w-sizing-link:hover{border-bottom-color:var(--w-chestnut);}
.w-typecol{margin:14px 0 0;}
.w-typecol a{font-family:var(--w-body);font-size:12px;line-height:1;letter-spacing:.24em;
  text-transform:uppercase;color:var(--w-meta);text-decoration:none;}
.w-typecol a:hover{color:var(--w-chestnut);text-decoration:underline;text-underline-offset:4px;}

/* ==========================================================================
   FOOTER — four columns, one row.
   Was five blocks wrapping to two rows with a large gap between them, and
   three links duplicated across CRAFT and the other columns.
   ========================================================================== */
.footer__content-top .footer-block-wrapper,
.footer__content-top > .grid,
.footer__blocks-wrapper{
  display:grid !important;grid-template-columns:repeat(4,1fr) !important;
  gap:0 40px !important;align-items:start;margin:0 !important;padding:0 !important;}
.footer-block{width:auto !important;max-width:none !important;margin:0 !important;
  padding:0 !important;flex:none !important;}
.footer-block--menu,.footer-block__details{margin:0 !important;}
/* eyebrow: further from the links in size, colour and tracking */
.footer-block__heading{font-family:var(--w-body) !important;font-weight:400 !important;
  font-size:11px !important;line-height:1 !important;letter-spacing:.30em !important;
  text-transform:uppercase !important;color:var(--w-meta) !important;
  margin:0 0 22px !important;}
.footer-block__details p{margin:0 0 12px !important;}
.footer-block__details a{font-family:var(--w-body) !important;font-size:15px !important;
  line-height:1.3 !important;letter-spacing:.01em !important;color:var(--w-body-txt) !important;
  text-decoration:none;}
.footer-block__details a:hover{color:var(--w-chestnut) !important;
  text-decoration:underline;text-underline-offset:4px;}
/* less bone above SHOP */
.footer__content-top{padding-top:56px !important;padding-bottom:44px !important;}
/* Shopify's powered-by line is not in the design */
.footer__content-bottom .copyright__content:last-child,
.footer__content-bottom small:has(a[href*="shopify.com"]),
.shopify-powered-by,[class*="powered-by"]{display:none !important;}
@media (max-width:767px){
  .footer__content-top .footer-block-wrapper,
  .footer__content-top > .grid,
  .footer__blocks-wrapper{grid-template-columns:1fr 1fr !important;gap:32px 24px !important;}
  .footer__content-top{padding-top:40px !important;}
}
/* less bone above SHOP: the footer carried 72px of its own on top of the
   column block's 56px. 1.2 gives the footer 64 above and 1.7 gives the link
   columns 64 — together that is the ~129px measured. Reduced by instruction. */
.footer{padding-top:0 !important;}
@media (max-width:767px){.footer{padding-top:0 !important;}}

/* ==========================================================================
   LOOX — styling only. No app config, no reviews, no data touched.

   Scope note: the review CARDS render inside a cross-origin iframe
   (#looxReviewsFrame, served from loox.io). Theme CSS cannot reach inside it,
   so card ground, corners, shadows, body type, verified badge and date labels
   are NOT addressable from here — they are Loox design settings.
   What follows styles only the in-page rating block, which is real DOM.
   ========================================================================== */
/* stars: left at Loox's own gold. The symbol is fill="currentcolor", so if the
   colour ever needs changing it is `color` on .loox-icon, not `fill`. */
/* review count — #52 review count: EB Garamond 400, 15/14, #6B6350 */
.loox-rating-label{font-family:var(--w-body) !important;font-size:15px !important;
  color:var(--w-muted) !important;letter-spacing:.01em;}
.loox-rating{font-family:var(--w-body) !important;gap:6px;align-items:center;}
/* the iframe itself sits on the page ground, not on white */
#looxReviewsFrame{background:var(--w-bone) !important;border:0 !important;
  border-radius:0 !important;box-shadow:none !important;display:block;}
[id*="loox_feed"]{background:var(--w-bone);}


/* Story sign-off — typeset name, signature beneath it. Sits on the body measure
   (520) so it lines up with the paragraphs above, not the wider pulled lines. */
.wxs__sign{width:520px;max-width:100%;margin:56px 0 0;}
.wxs__sign-name{margin:10px 0 0;font-family:var(--w-body);font-size:17px;
  line-height:1.5;color:var(--w-charcoal);}
.wxs__sign-img{display:block;width:220px;max-width:60%;height:auto;
  /* the PNG is black on transparent; ease it back so it reads as ink, not type */
  opacity:.86;
  /* The scan rises to the right at ~18deg (centroid regression of the ink).
     Rotate CLOCKWISE to bring it down — positive angle. 7deg leaves ~12deg of
     rise, which reads as a signature rather than a levelled graphic.
     Origin at left so the start of the stroke stays put horizontally.
     margin-left cancels the PNG's 1.5% transparent left gutter, measured after
     rotation, so the ink — not the file edge — lines up with the body copy. */
  transform:rotate(7deg);transform-origin:left center;margin-left:-2.5px;}
@media (max-width:767px){
  .wxs__sign{margin-top:40px;}
  .wxs__sign-img{width:190px;margin-left:-2.2px;}
}


/* Story portrait — a person, not a landscape. Shown at its native ratio so a
   full-length figure keeps both head and feet; the 3:2 break frame would crop
   one or the other. Narrower than the break so it reads as a portrait rather
   than a second hero. */
.wxs__portrait{margin:96px 0;width:420px;max-width:100%;}
.wxs__portrait img{display:block;width:100%;height:auto;}
@media (max-width:767px){
  .wxs__portrait{margin:56px 0;width:auto;}
}
}
