/** Shopify CDN: Minification failed

Line 594:1 Expected "}" to go with "{"

**/
:root{
  --ink:#1C1A19; --paper:#FCFAF9; --line:#E4DCD6; --mute:#6E655F; --soft:#A29A94;
  --wash:#F1ECE8; --sale-bg:#F2E7E1; --sale-accent:#8C5546; --sale-accent-dk:#7A4739;
  --sans:'Jost',system-ui,sans-serif; --serif:'Cormorant Garamond',Georgia,serif;
}
*{box-sizing:border-box}
html{overflow-x:clip}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-weight:300;-webkit-font-smoothing:antialiased;text-wrap:pretty}
img{max-width:100%;display:block}
a{color:var(--ink);text-underline-offset:4px}
a:hover{color:var(--soft)}
:focus-visible{outline:1px solid var(--ink);outline-offset:3px}
::selection{background:var(--line)}
.wrap{max-width:1280px;margin:0 auto;padding-left:clamp(20px,5vw,64px);padding-right:clamp(20px,5vw,64px)}
.eyebrow{font-family:var(--serif);font-size:12px;letter-spacing:.28em;text-transform:uppercase;color:var(--mute)}
h1,h2,h3{font-weight:200;letter-spacing:.01em;margin:0}
.h1{font-size:clamp(30px,4.2vw,52px);line-height:1.08}
.h2{font-size:clamp(26px,3.2vw,40px);line-height:1.14}
.btn{display:inline-flex;align-items:center;justify-content:center;font-family:var(--sans);font-size:11.5px;font-weight:400;letter-spacing:.22em;text-transform:uppercase;padding:15px 30px;border:1px solid var(--ink);background:transparent;color:var(--ink);cursor:pointer;text-decoration:none;white-space:nowrap;transition:background .15s,color .15s}
.btn:hover{background:var(--wash);color:var(--ink)}
.btn--solid{background:var(--ink);color:var(--paper)}
.btn--solid:hover{background:var(--soft);border-color:var(--soft);color:var(--paper)}
.btn--sm{padding:12px 24px;font-size:11px;letter-spacing:.2em}

/* announcement */
.ann{background:var(--ink);color:var(--wash);font-size:11px;font-weight:400;letter-spacing:.22em;text-transform:uppercase}
.ann .wrap{display:flex;flex-wrap:wrap;gap:8px 28px;align-items:center;justify-content:space-between;padding-top:12px;padding-bottom:12px}
.ann a{color:var(--wash);text-decoration:none}
.ann a:hover{color:var(--soft)}

/* header */
.hd{padding-top:clamp(24px,3.5vw,40px)}
.hd__top{display:flex;flex-wrap:wrap;gap:20px 32px;align-items:center;justify-content:space-between}
.hd__logo{display:block;line-height:0;text-decoration:none}
.hd__logo img{height:clamp(48px,5vw,62px);width:auto}
.hd__logo span{font-family:var(--sans);font-weight:200;font-size:26px;letter-spacing:.02em}
.hd__actions{display:flex;align-items:stretch;gap:12px}
.hd__nav{display:flex;flex-wrap:wrap;gap:10px 34px;font-size:12px;font-weight:400;letter-spacing:.18em;text-transform:uppercase;padding:clamp(22px,3vw,34px) 0 clamp(20px,3vw,30px)}
.hd__nav a{text-decoration:none;padding-bottom:3px;border-bottom:1px solid transparent}
.hd__nav a:hover{border-bottom-color:var(--ink);color:var(--ink)}

/* hero */
.hero{position:relative;margin-bottom:clamp(56px,8vw,104px)}
.hero figure{margin:0;position:relative;overflow:hidden}
.hero img{width:100%;height:clamp(400px,62vh,660px);object-fit:cover;object-position:center 30%;filter:saturate(.72)}
.hero__scrim{position:absolute;inset:0;background:linear-gradient(180deg,rgba(28,26,25,.30) 0%,rgba(28,26,25,.34) 38%,rgba(28,26,25,.72) 78%,rgba(28,26,25,.82) 100%)}
.hero__cap{position:absolute;inset:0;display:flex;align-items:flex-end}
.hero__cap .wrap{width:100%;padding-top:clamp(28px,5vw,64px);padding-bottom:clamp(28px,5vw,64px)}
.hero__panel{border:1px solid rgba(252,250,249,.65);background:rgba(24,22,21,.88);padding:clamp(24px,3.4vw,44px) clamp(22px,3.4vw,48px);max-width:640px}
.hero__panel .eyebrow{color:var(--paper);letter-spacing:.32em;font-size:13px;display:block;margin-bottom:18px}
.hero__panel h1{color:var(--paper);font-size:clamp(34px,4.6vw,60px);line-height:1.1;margin-bottom:20px}
.hero__panel p{font-size:16px;line-height:1.7;margin:0;color:rgba(252,250,249,.9);max-width:46ch}

/* sale */
.sale{background:var(--sale-bg);padding:clamp(28px,3.6vw,48px) clamp(24px,3.6vw,52px)}
.sale__top{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:clamp(20px,3.5vw,48px);align-items:end;padding-bottom:clamp(24px,3vw,34px);border-bottom:1px solid rgba(140,85,70,.28)}
.sale h2{color:#2A1F1B;font-size:clamp(28px,3.8vw,46px);line-height:1.1;margin-bottom:14px}
.sale p{font-size:16px;line-height:1.7;margin:0;color:#5A4841;max-width:46ch}
.sale__badges{display:flex;flex-wrap:wrap;gap:10px}
.badge{font-size:12px;font-weight:400;letter-spacing:.14em;text-transform:uppercase;padding:12px 20px}
.badge--solid{background:var(--sale-accent);color:#F7EFEB}
.badge--out{border:1px solid rgba(140,85,70,.5);color:var(--sale-accent-dk);padding:11px 19px}
.sale__foot{display:flex;flex-wrap:wrap;gap:18px 28px;align-items:center;justify-content:space-between;margin-top:clamp(22px,3vw,32px)}
.sale__ends{font-family:var(--serif);font-size:12px;letter-spacing:.26em;text-transform:uppercase;color:var(--sale-accent-dk)}
.sale .btn{background:#2A1F1B;border-color:#2A1F1B;color:#F7EFEB}
.sale .btn:hover{background:var(--sale-accent);border-color:var(--sale-accent);color:#F7EFEB}

/* section head */
.sechead{display:flex;flex-wrap:wrap;gap:14px 32px;align-items:baseline;justify-content:space-between;padding-bottom:clamp(26px,3.4vw,40px);border-bottom:1px solid var(--ink);margin-bottom:clamp(30px,4vw,46px)}

/* collection grid */
.grid{display:grid;gap:1px;background:var(--line);border:1px solid var(--line);grid-template-columns:repeat(2,minmax(0,1fr))}
.grid>*{background:var(--paper)}
@media(min-width:1040px){.grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
.grid>*:last-child:nth-child(odd){grid-column:1/-1;display:grid;grid-template-columns:minmax(0,260px) minmax(0,1fr);align-items:center;gap:clamp(20px,3vw,44px)}
.grid>*:last-child:nth-child(odd) .card__img{aspect-ratio:1}
@media(min-width:1040px){.grid>*:last-child:nth-child(odd){grid-column:auto;display:block}.grid>*:last-child:nth-child(odd) .card__img{aspect-ratio:4/3}}
.card{display:block;text-decoration:none;color:var(--ink)}
.card:hover{background:var(--wash);color:var(--ink)}
.card__img{width:100%;aspect-ratio:4/3;object-fit:cover;filter:saturate(.75)}
.card__ph{width:100%;aspect-ratio:4/3;background:var(--wash)}
.card__body{padding:24px 22px 30px}
.card__body h3{font-weight:300;font-size:19px;line-height:1.3;margin-bottom:10px}
.card__body p{font-size:14px;line-height:1.65;margin:0 0 14px;color:var(--mute)}
.card__more{font-family:var(--serif);font-size:12px;letter-spacing:.26em;text-transform:uppercase}

/* payment plans */
.plans{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(30px,5vw,72px);align-items:start}
.plans p.lede{font-size:16px;line-height:1.75;margin:0;color:#4F4842;max-width:46ch}
.plans h2{margin:18px 0}
.steps{border-top:1px solid var(--ink)}
.step{display:grid;grid-template-columns:42px minmax(0,1fr);gap:20px;align-items:baseline;padding:24px 0;border-bottom:1px solid var(--line)}
.step__n{font-family:var(--serif);font-size:15px;letter-spacing:.16em;color:var(--soft)}
.step h3{font-weight:400;font-size:17px;line-height:1.35;margin-bottom:8px}
.step p{font-size:14.5px;line-height:1.7;margin:0;color:var(--mute)}

/* product rows */
.rows{border-top:1px solid var(--line)}
.row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:18px 32px;align-items:center;padding:22px 4px;border-bottom:1px solid var(--line)}
.row h3{font-weight:300;font-size:clamp(17px,1.6vw,20px);line-height:1.35}
.row h3 a{text-decoration:none;border-bottom:1px solid transparent}
.row h3 a:hover{border-bottom-color:var(--ink);color:var(--ink)}
.row__price{font-family:var(--serif);font-size:21px;white-space:nowrap}
.row form{margin:0}
@media(max-width:640px){.row{grid-template-columns:minmax(0,1fr) auto}.row form,.row .btn{grid-column:1/-1;justify-self:start}}

/* filters */
.chips{display:flex;flex-wrap:wrap;gap:10px;padding-bottom:clamp(26px,3.4vw,38px);border-bottom:1px solid var(--ink);margin-bottom:clamp(30px,4vw,44px)}
.chip{font-size:11px;font-weight:400;letter-spacing:.18em;text-transform:uppercase;padding:11px 18px;border:1px solid var(--ink);text-decoration:none;color:var(--ink);background:transparent}
.chip:hover{background:var(--wash);color:var(--ink)}
.chip[aria-current="page"]{background:var(--ink);color:var(--paper)}

/* product page */
.pdp{max-width:720px;margin:0 auto}
.pdp h1{font-size:clamp(28px,3.4vw,42px);line-height:1.14;margin:18px 0 14px}
.pdp__price{font-family:var(--serif);font-size:30px;margin:0 0 32px}
.pdp__rte{font-size:16px;line-height:1.75;color:#4F4842;margin:0 0 32px}
.pdp__buy{display:flex;flex-wrap:wrap;gap:12px;align-items:stretch;margin-bottom:36px}
.qty{display:flex;align-items:center;border:1px solid var(--ink)}
.qty input{width:56px;height:100%;min-height:50px;border:0;background:transparent;text-align:center;font-family:var(--serif);font-size:19px;color:var(--ink)}
.how{border-top:1px solid var(--line);padding-top:28px}
.how ol{margin:0;padding:0;list-style:none;display:grid;gap:14px;font-size:15px;line-height:1.65}
.how li{display:flex;gap:16px}
.how li span{font-family:var(--serif);font-size:15px;color:var(--soft);min-width:18px}
.back{font-family:var(--serif);font-size:12px;letter-spacing:.26em;text-transform:uppercase;color:var(--mute);text-decoration:none}
.back:hover{color:var(--ink)}
.select{border:1px solid var(--ink);background:transparent;font-family:var(--sans);font-size:14px;font-weight:300;padding:14px 16px;color:var(--ink);width:100%;max-width:340px}

/* cart */
.cart{max-width:1040px;margin:0 auto}
.cart h1{padding-bottom:clamp(24px,3vw,34px);border-bottom:1px solid var(--ink);margin-bottom:clamp(28px,4vw,44px)}
.cartline{padding:22px 0;border-bottom:1px solid var(--line);display:flex;flex-wrap:wrap;gap:16px 24px;align-items:center;justify-content:space-between}
.cartline h2{font-weight:300;font-size:18px;line-height:1.3}
.cartline__r{display:flex;align-items:center;gap:20px}
.cartline__total{font-family:var(--serif);font-size:20px;min-width:80px;text-align:right}
.cartfoot{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,360px);gap:clamp(28px,4.5vw,64px);align-items:start;margin-top:clamp(34px,4.5vw,52px)}
.cartfoot textarea{width:100%;border:1px solid var(--line);background:var(--paper);padding:14px 16px;font-family:var(--sans);font-size:15px;font-weight:300;color:var(--ink);resize:vertical}
.summary{border:1px solid var(--ink);padding:26px}
.summary__row{display:flex;justify-content:space-between;align-items:baseline;gap:16px;margin-bottom:10px}
.summary__row span:last-child{font-family:var(--serif);font-size:28px}
.summary p{font-size:13px;line-height:1.6;margin:0 0 24px;color:var(--mute)}
.summary .btn{width:100%}

/* footer */
.ft{background:var(--ink);color:var(--wash);margin-top:clamp(56px,8vw,104px)}
.ft .wrap{padding-top:clamp(44px,6vw,72px);padding-bottom:clamp(44px,6vw,72px)}
.ft__top{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(28px,4vw,56px);align-items:start;padding-bottom:clamp(32px,4vw,48px);border-bottom:1px solid rgba(241,236,232,.22)}
.ft__top p{font-weight:200;font-size:clamp(22px,2.6vw,30px);line-height:1.3;margin:0 0 16px;color:var(--paper)}
.ft__cta{font-family:var(--serif);font-size:13px;letter-spacing:.26em;text-transform:uppercase;color:var(--wash);text-decoration:none;border-bottom:1px solid rgba(241,236,232,.5);padding-bottom:3px}
.ft__cta:hover{color:var(--paper);border-bottom-color:var(--paper)}
.ft__links{display:flex;flex-wrap:wrap;gap:12px 44px;font-size:12px;letter-spacing:.18em;text-transform:uppercase}
.ft__links div{display:grid;gap:12px}
.ft__links a{color:var(--wash);text-decoration:none}
.ft__links a:hover{color:var(--soft)}
.ft__copy{font-family:var(--serif);font-size:12px;letter-spacing:.22em;text-transform:uppercase;margin:26px 0 0;color:rgba(241,236,232,.6)}

.section{padding-bottom:clamp(64px,9vw,120px)}
@media(max-width:900px){.plans,.cartfoot,.ft__top,.sale__top{grid-template-columns:minmax(0,1fr)}}
/* ============================================================
   HEBE BEAUTY BAR - store-wide Custom CSS
   Theme settings -> Custom CSS -> clear the box -> paste all of this
   ============================================================ */

/* --- HERO ---------------------------------------------------
   44vh  = how tall the photo runs
   55%   = vertical crop (lower shows more sky, higher more door)
   400px = width of the dark text panel
   ------------------------------------------------------------ */
.hero__img,
.hero img { height: clamp(340px, 44vh, 500px); object-position: center 55%; }

.hero figure { position: relative; }
.hero__cap { position: absolute; inset: 0; display: flex; align-items: flex-end; justify-content: flex-start; }
.hero__cap .wrap { width: 100%; margin: 0 auto; }

.hero__panel { max-width: 400px; padding: 24px 26px; }
.hero__panel h1 { font-size: clamp(24px, 2.2vw, 32px); margin-bottom: 12px; }
.hero__panel p { font-size: 14px; line-height: 1.6; }
.hero__panel .eyebrow { font-size: 11px; margin-bottom: 14px; }

/* --- SHOP BY SERVICE GRID -----------------------------------
   Four across, the fifth on its own row with the photo at left.
   ------------------------------------------------------------ */
.grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }

.grid > *:last-child:nth-child(odd) {
  grid-column: 1 / -1 !important;
  display: grid !important;
  grid-template-columns: minmax(0, 300px) minmax(0, 1fr);
  align-items: center;
  gap: clamp(20px, 3vw, 44px);
}

.grid > *:last-child:nth-child(odd) .card__img { aspect-ratio: 4 / 3; }


/* ============================================================
   MOBILE  -  760px and below
   ============================================================ */
@media (max-width: 760px) {

  /* header: logo and cart on one row, nav wrapping below */
  .hd { padding-top: 18px; }
  .hd__top { gap: 12px 16px; }
  .hd__logo img { height: 40px; }
  .hd__actions { gap: 8px; }
  .hd__actions .btn { padding: 11px 14px; font-size: 10px; letter-spacing: .14em; }
  .hd__nav { gap: 10px 18px; font-size: 11px; letter-spacing: .14em; padding: 16px 0 14px; }

  /* announcement: stack the two halves */
  .ann .wrap { flex-direction: column; align-items: flex-start; gap: 6px; font-size: 10px; letter-spacing: .16em; }

  /* hero: shorter, panel full width at the bottom */
  .hero__img, .hero img { height: 62vh; min-height: 380px; }
  .hero { margin-bottom: 40px; }
  .hero__cap .wrap { padding: 18px 16px; }
  .hero__panel { max-width: 100%; padding: 20px; }
  .hero__panel h1 { font-size: 24px; line-height: 1.15; }
  .hero__panel p { font-size: 14px; }

  /* service cards: one per row, shallow photos */
  .grid { grid-template-columns: minmax(0, 1fr) !important; }
  .grid > *:last-child:nth-child(odd) {
    display: block !important;
    grid-template-columns: none !important;
  }
  .card__img, .card__ph { aspect-ratio: 16 / 9; }
  .card__body { padding: 18px 16px 22px; }

  /* sale banner */
  .sale { padding: 24px 18px; }
  .sale__top { grid-template-columns: minmax(0, 1fr); gap: 20px; }
  .sale h2 { font-size: 26px; }
  .sale__badges { gap: 8px; }
  .badge { font-size: 11px; padding: 10px 14px; }
  .sale__foot { flex-direction: column; align-items: stretch; gap: 16px; }
  .sale__foot .btn { width: 100%; }

  /* payment plans */
  .plans, .hbb-plans { grid-template-columns: minmax(0, 1fr) !important; gap: 26px; }
  .step, .hbb-step { grid-template-columns: 30px minmax(0, 1fr); gap: 14px; padding: 18px 0; }

  /* collection price list: name on top, price and button below */
  .row {
    grid-template-columns: minmax(0, 1fr);
    gap: 12px;
    padding: 20px 0;
  }
  .row h3 { font-size: 17px; }
  .row__price { font-size: 20px; }
  .row form, .row .btn { justify-self: stretch; }
  .row .btn { width: 100%; padding: 14px 18px; }

  /* collection filter chips: scroll sideways instead of stacking */
  .chips {
    flex-wrap: nowrap;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    padding-bottom: 20px;
    margin-bottom: 24px;
  }
  .chips::-webkit-scrollbar { display: none; }
  .chip { flex: 0 0 auto; }

  /* product page */
  .pdp h1 { font-size: 26px; }
  .pdp__price, .pdp__now { font-size: 26px; }
  .opt__list label { padding: 12px 16px; font-size: 13.5px; }
  .pdp__buy { flex-direction: column; }
  .pdp__buy .btn, .pdp__buy button { width: 100%; }
  .qty { width: 100%; }
  .qty input { width: 100%; }

  /* cart */
  .cartline { flex-direction: column; align-items: stretch; gap: 14px; }
  .cartline__r { justify-content: space-between; gap: 12px; }
  .cartline__total { min-width: 0; }
  .cartfoot { grid-template-columns: minmax(0, 1fr); gap: 24px; }
  .summary { padding: 22px 20px; }

  /* footer */
  .ft__top { grid-template-columns: minmax(0, 1fr); gap: 26px; }
  .ft__top p { font-size: 20px; }
  .ft__links { gap: 12px 28px; font-size: 11px; }

  /* section rhythm */
  .section { padding-bottom: 48px; }
  .sechead { padding-bottom: 20px; margin-bottom: 22px; }
  .sechead h2, .h2 { font-size: 26px; }
  .h1 { font-size: 28px; }
}


/* ============================================================
   SMALL PHONES  -  400px and below
   ============================================================ */
@media (max-width: 400px) {
  .hd__logo img { height: 34px; }
  .hd__actions .btn { padding: 10px 12px; font-size: 9.5px; }
  .hero__panel h1 { font-size: 21px; }
  .sale h2 { font-size: 23px; }
  .badge { display: block; width: 100%; text-align: center; }
}


/* ============================================================
   Stops any wide element pushing the page sideways on phones
   ============================================================ */
img, table, pre { max-width: 100%; }
.wrap { overflow-x: hidden; }
@media (max-width:760px){
  .ann .wrap{padding-top:9px;padding-bottom:9px;font-size:9.5px;letter-spacing:.14em}
  .hd{padding-top:14px;padding-bottom:16px}
  .hd__top{gap:10px 8px;flex-wrap:nowrap;align-items:center}
  .hd__logo img{height:32px}
  .hd__actions{gap:6px;flex-shrink:0}
  .hd__actions .btn{padding:9px 11px;font-size:9px;letter-spacing:.1em}
  .hd__menu{margin-top:12px}
  .hd__menu>summary{padding:11px 16px;font-size:10.5px;letter-spacing:.16em}
  .hd__burger i{width:13px}
}
/* ============================================================
   HEBE BEAUTY BAR - store-wide CSS
   Paste at the bottom of: Edit code > Assets > theme.css
   ============================================================ */


/* ------------------------------------------------------------
   HERO (desktop)
   44vh  = how tall the photo runs
   55%   = vertical crop (lower shows more sky, higher more door)
   400px = width of the dark text panel
   ------------------------------------------------------------ */
.hero__img,
.hero img { height: clamp(340px, 44vh, 500px); object-position: center 55%; }

.hero figure { position: relative; }
.hero__cap { position: absolute; inset: 0; display: flex; align-items: flex-end; justify-content: flex-start; }
.hero__cap .wrap { width: 100%; margin: 0 auto; }

.hero__panel { max-width: 400px; padding: 24px 26px; }
.hero__panel h1 { font-size: clamp(24px, 2.2vw, 32px); margin-bottom: 12px; }
.hero__panel p { font-size: 14px; line-height: 1.6; }
.hero__panel .eyebrow { font-size: 11px; margin-bottom: 14px; }


/* ------------------------------------------------------------
   SHOP BY SERVICE GRID (desktop)
   Four across, the fifth on its own row with the photo at left.
   ------------------------------------------------------------ */
.grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }

.grid > *:last-child:nth-child(odd) {
  grid-column: 1 / -1 !important;
  display: grid !important;
  grid-template-columns: minmax(0, 300px) minmax(0, 1fr);
  align-items: center;
  gap: clamp(20px, 3vw, 44px);
}

.grid > *:last-child:nth-child(odd) .card__img { aspect-ratio: 4 / 3; }


/* ============================================================
   MOBILE - 760px and below
   ============================================================ */
@media (max-width: 760px) {

  /* announcement bar */
  .ann .wrap { padding-top: 9px; padding-bottom: 9px; font-size: 9.5px; letter-spacing: .14em; }

  /* header: logo on its own line, buttons split beneath, then Menu */
  .hd { padding-top: 16px; padding-bottom: 18px; }
  .hd__top { flex-direction: column; align-items: stretch; gap: 14px; }
  .hd__logo { align-self: flex-start; }
  .hd__logo img { height: 52px; }
  .hd__actions { display: flex; gap: 8px; }
  .hd__actions .btn { flex: 1; justify-content: center; padding: 13px 10px; font-size: 10px; letter-spacing: .14em; }
  .hd__nav { display: none; }
  .hd__menu { display: block; width: 100%; margin-top: 0; }
  .hd__menu > summary { width: 100%; justify-content: space-between; padding: 13px 18px; font-size: 11px; }

  /* hero: whole photo, panel lifted over its lower edge */
  .hero { margin-bottom: 40px; }
  .hero img {
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    object-fit: contain;
    width: 100%;
  }
  .hero__scrim { display: none; }
  .hero__cap { position: static; background: transparent; }
  .hero__cap .wrap { padding: 0; }
  .hero__panel {
    position: relative;
    z-index: 2;
    margin: -90px 16px 0;
    background: rgba(24, 22, 21, 0.86);
    border: 1px solid rgba(252, 250, 249, 0.5);
    max-width: 100%;
    padding: 22px 20px;
  }
  .hero__panel h1 { font-size: 23px; line-height: 1.15; }
  .hero__panel p { font-size: 14px; }

  /* service cards: one per row, shallow photos */
  .grid { grid-template-columns: minmax(0, 1fr) !important; }
  .grid > *:last-child:nth-child(odd) {
    display: block !important;
    grid-template-columns: none !important;
  }
  .card__img, .card__ph { aspect-ratio: 16 / 9; }
  .card__body { padding: 18px 16px 22px; }

  /* sale banner */
  .sale { padding: 24px 18px; }
  .sale__top { grid-template-columns: minmax(0, 1fr); gap: 20px; }
  .sale h2 { font-size: 26px; }
  .sale__badges { gap: 8px; }
  .badge { font-size: 11px; padding: 10px 14px; }
  .sale__foot { flex-direction: column; align-items: stretch; gap: 16px; }
  .sale__foot .btn { width: 100%; }

  /* payment plans */
  .plans, .hbb-plans { grid-template-columns: minmax(0, 1fr) !important; gap: 26px; }
  .step, .hbb-step { grid-template-columns: 30px minmax(0, 1fr); gap: 14px; padding: 18px 0; }

  /* collection price list */
  .row { grid-template-columns: minmax(0, 1fr); gap: 12px; padding: 20px 0; }
  .row h3 { font-size: 17px; }
  .row__price { font-size: 20px; }
  .row form, .row .btn { justify-self: stretch; }
  .row .btn { width: 100%; padding: 14px 18px; }

  /* filter chips scroll sideways */
  .chips {
    flex-wrap: nowrap;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    padding-bottom: 20px;
    margin-bottom: 24px;
  }
  .chips::-webkit-scrollbar { display: none; }
  .chip { flex: 0 0 auto; }

  /* product page */
  .pdp h1 { font-size: 26px; }
  .pdp__price, .pdp__now { font-size: 26px; }
  .opt__list label { padding: 12px 16px; font-size: 13.5px; }
  .pdp__buy { flex-direction: column; }
  .pdp__buy .btn, .pdp__buy button { width: 100%; }
  .qty { width: 100%; }
  .qty input { width: 100%; }

  /* cart */
  .cartline { flex-direction: column; align-items: stretch; gap: 14px; }
  .cartline__r { justify-content: space-between; gap: 12px; }
  .cartline__total { min-width: 0; }
  .cartfoot { grid-template-columns: minmax(0, 1fr); gap: 24px; }
  .summary { padding: 22px 20px; }

  /* footer */
  .ft__top { grid-template-columns: minmax(0, 1fr); gap: 26px; }
  .ft__top p { font-size: 20px; }
  .ft__links { gap: 12px 28px; font-size: 11px; }

  /* section rhythm */
  .section { padding-bottom: 48px; }
  .sechead { padding-bottom: 20px; margin-bottom: 22px; }
  .sechead h2, .h2 { font-size: 26px; }
  .h1 { font-size: 28px; }
}


/* ============================================================
   SMALL PHONES - 400px and below
   ============================================================ */
@media (max-width: 400px) {
  .hd__logo img { height: 44px; }
  .hd__actions .btn { padding: 12px 8px; font-size: 9.5px; }
  .hero__panel { margin: -70px 12px 0; }
  .hero__panel h1 { font-size: 21px; }
  .sale h2 { font-size: 23px; }
  .badge { display: block; width: 100%; text-align: center; }
}
@media (max-width:760px){
  .hero,
  .hero figure,
  .hero__cap{overflow:visible !important}
  .hero__panel{
    margin:0px 16px 0 !important;
    position:relative !important;
    z-index:10 !important;
  }
@media (max-width:760px){
  .hero img{
    height:66vh !important;
    min-height:420px !important;
    max-height:640px !important;
    object-fit:cover !important;
    object-position:center 42% !important;
  }
  .hero__scrim{
    display:block !important;
    background:linear-gradient(180deg,rgba(28,26,25,.15) 0%,rgba(28,26,25,.25) 45%,rgba(28,26,25,.55) 100%);
  }
  .hero__cap{
    position:absolute !important;
    inset:0 !important;
    display:flex !important;
    align-items:flex-end !important;
    background:transparent !important;
  }
  .hero__cap .wrap{padding:16px !important}
  .hero__panel{
    margin:0 !important;
    background:rgba(24,22,21,0.62) !important;
    border:1px solid rgba(252,250,249,0.5) !important;
    padding:22px 20px !important;
    max-width:100% !important;
  }
}
@media (max-width:760px){
  .hero figure{background:#1C1A19}
  .hero img{
    height:400px !important;
    min-height:0 !important;
    max-height:none !important;
    object-fit:contain !important;
    object-position:center top !important;
  }
  .hero__scrim{display:none !important}
  .hero__cap{
    position:absolute !important;
    inset:0 !important;
    display:flex !important;
    align-items:flex-end !important;
    background:transparent !important;
  }
  .hero__cap .wrap{padding:16px !important}
  .hero__panel{
    margin:0 !important;
    background:rgba(24,22,21,0.62) !important;
    border:1px solid rgba(252,250,249,0.5) !important;
    padding:20px !important;
    max-width:100% !important;
  }
}
@media (max-width:760px){
  .hero img{height:290px !important}
}
@media (max-width:760px){
  .hero__panel{background:rgba(20,18,17,0.82) !important}
}
@media (max-width:760px){
  .hero figure{background:transparent}
  .hero img{
    height:300px !important;
    object-fit:cover !important;
    object-position:center 45% !important;
  }
  .hero__panel{padding:18px !important}
  .hero__panel h1{font-size:21px !important;margin-bottom:10px !important}
  .hero__panel p{font-size:13.5px !important;line-height:1.55 !important}
  .hero__panel .eyebrow{font-size:10px !important;margin-bottom:10px !important}
}
@media (max-width:760px){
  .hero__cap .wrap{padding:16px 16px 0 !important}
  .hero__panel{transform:translateY(16px) !important}
}
@media (max-width:760px){
  .hero__panel{transform:translateY(-6px) !important}
}
@media (max-width:760px){
  .hd__top{
    flex-direction:row !important;
    align-items:center !important;
    justify-content:space-between !important;
    gap:12px !important;
  }
  .hd__logo{align-self:auto !important}
  .hd__actions{width:auto !important;flex:0 0 auto !important}
  .hd__actions .btn--solid{display:none !important}
  .hd__actions .btn{flex:0 0 auto !important;padding:11px 16px !important;font-size:10px !important}
  .hd__menu{margin-top:14px !important}
}