/* Self-hosted fonts: Cormorant Garamond (headings) + Manrope (body), latin + latin-ext */
/* latin-ext */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: italic;
  font-weight: 500;
  font-display: swap;
  src: url(../fonts/cormorant-garamond-italic-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: italic;
  font-weight: 500;
  font-display: swap;
  src: url(../fonts/cormorant-garamond-italic-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin-ext */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(../fonts/cormorant-garamond-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(../fonts/cormorant-garamond-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin-ext */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(../fonts/cormorant-garamond-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(../fonts/cormorant-garamond-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin-ext */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(../fonts/manrope-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(../fonts/manrope-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin-ext */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(../fonts/manrope-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(../fonts/manrope-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin-ext */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(../fonts/manrope-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(../fonts/manrope-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin-ext */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(../fonts/manrope-latin-ext.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(../fonts/manrope-latin.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* Garwood store: cream, charcoal, rust. Mobile first. */
:root{
  --cream:#0E0E0E; --cream-2:#151515; --photo:#1A1A1A; --paper:#141414;
  --ink:#EDE6DA; --ink-2:#CFC7BA; --ink-3:#9D958A; --line:rgba(237,230,218,.12); --line-2:rgba(237,230,218,.24);
  --rust:#D2470F; --rust-d:#C33A05; --rust-soft:rgba(210,71,15,.14);
  --serif:"Cormorant Garamond", "Times New Roman", Georgia, serif;
  --sans:"Manrope", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
  --pad:20px; --max:1320px; --hdr:64px; --ease:cubic-bezier(.2,.7,.2,1);
  --shadow:0 24px 60px -24px rgba(0,0,0,.8);
  /* chrome / sterling-silver accents and film grain (dark luxury theme) */
  --chrome:linear-gradient(115deg,#6f6f6f 0%,#e9e9e9 18%,#8c8c8c 34%,#fafafa 50%,#7b7b7b 66%,#d6d6d6 82%,#5e5e5e 100%);
  --chrome-soft:linear-gradient(115deg,rgba(255,255,255,.18),rgba(255,255,255,.55) 30%,rgba(255,255,255,.12) 55%,rgba(255,255,255,.45) 80%,rgba(255,255,255,.15));
  --grain:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 .6 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}
@media (min-width:768px){:root{--pad:40px; --hdr:76px}}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;background:var(--cream);color:var(--ink);font-family:var(--sans);font-size:15px;line-height:1.65;-webkit-font-smoothing:antialiased;overflow-x:hidden}
@media (min-width:768px){body{font-size:16px}}
img{max-width:100%;display:block;height:auto}
picture{display:block}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit;color:inherit}
button{cursor:pointer;background:none;border:0;padding:0}
h1,h2,h3,h4{font-family:var(--serif);font-weight:500;line-height:1.08;margin:0;letter-spacing:-.01em}
p{margin:0 0 1em}
.sr-only{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:absolute;left:-999px;top:8px;background:var(--ink);color:#fff;padding:10px 14px;z-index:999}
.skip:focus{left:8px}
:focus-visible{outline:2px solid var(--rust);outline-offset:3px}
.wrap{width:100%;max-width:var(--max);margin:0 auto;padding:0 var(--pad)}
.eyebrow{display:inline-flex;align-items:center;gap:10px;font-size:11px;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:var(--rust)}
.eyebrow::before{content:"";width:22px;height:1px;background:currentColor}
.eyebrow.plain::before{display:none}
.section{padding:72px 0}
@media (min-width:1024px){.section{padding:120px 0}}
.section-head{display:flex;flex-direction:column;gap:14px;margin-bottom:36px}
@media (min-width:768px){.section-head{flex-direction:row;align-items:flex-end;justify-content:space-between;margin-bottom:52px}}
.section-head h2{font-size:clamp(34px,6.2vw,58px)}
.section-head p{color:var(--ink-2);max-width:460px;margin:0}
.lead{font-size:16px;color:var(--ink-2)}
@media (min-width:768px){.lead{font-size:18px}}
.link-arrow{display:inline-flex;align-items:center;gap:10px;font-size:12px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;border-bottom:1px solid var(--ink);padding-bottom:4px;transition:gap .3s var(--ease),color .3s}
.link-arrow:hover{gap:16px;color:var(--rust);border-color:var(--rust)}
.link-arrow svg{width:16px;height:16px;flex:none}
svg{flex:none;max-width:100%}
svg:not([width]){width:24px;height:24px} /* fallback: never let an unsized SVG render at the 300x150 default */

/* Buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:0 28px;font-size:12.5px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;border:1px solid var(--ink);background:var(--ink);color:var(--cream);transition:background .3s var(--ease),color .3s var(--ease),border-color .3s,transform .2s;position:relative;overflow:hidden;white-space:nowrap}
.btn:hover{background:#000}
.btn:active{transform:scale(.98)}
.btn svg{width:18px;height:18px;flex:none}
.btn-rust{background:var(--rust);border-color:var(--rust);color:#fff}
.btn-rust:hover{background:var(--rust-d);border-color:var(--rust-d)}
.btn-ghost{background:transparent;color:var(--ink)}
.btn-ghost:hover{background:var(--ink);color:var(--cream)}
.btn-light{background:var(--cream);color:var(--ink);border-color:var(--cream)}
.btn-light:hover{background:#fff}
.btn-block{width:100%}
.btn[disabled]{opacity:.45;pointer-events:none}

/* Announcement + header */
.announce{background:var(--ink);color:#E9E4DC;font-size:11px;letter-spacing:.16em;text-transform:uppercase;text-align:center;padding:9px var(--pad);overflow:hidden;white-space:nowrap}
.announce a{color:#fff;border-bottom:1px solid rgba(255,255,255,.35)}
.announce .sep{opacity:.45;margin:0 10px}
.announce .hide-sm{display:none}
@media (min-width:768px){.announce .hide-sm{display:inline}}
.site-header{position:sticky;top:0;z-index:60;background:rgba(14,14,14,.82);backdrop-filter:saturate(1.4) blur(14px);-webkit-backdrop-filter:saturate(1.4) blur(14px);border-bottom:1px solid var(--line);transition:border-color .3s,box-shadow .3s,background .3s}
.site-header.scrolled{border-color:var(--line);background:rgba(14,14,14,.94)}
.hdr{height:var(--hdr);display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:8px}
.hdr-left,.hdr-right{display:flex;align-items:center;gap:4px}
.hdr-right{justify-content:flex-end}
.logo{display:flex;align-items:center;justify-content:center}
.logo img{height:48px;width:auto;transition:transform .4s var(--ease)}
.logo:hover img{transform:rotate(-8deg)}
@media (min-width:768px){.logo img{height:58px}}
.icon-btn{width:44px;height:44px;display:inline-flex;align-items:center;justify-content:center;position:relative;border-radius:50%;transition:background .2s,color .2s}
.icon-btn:hover{background:rgba(237,230,218,.08);color:var(--rust)}
.icon-btn svg{width:22px;height:22px}
.badge{position:absolute;top:4px;right:2px;min-width:18px;height:18px;padding:0 5px;border-radius:9px;background:var(--rust);color:#fff;font-size:10.5px;font-weight:700;line-height:18px;text-align:center;transform:scale(0);transition:transform .3s var(--ease)}
.badge.show{transform:scale(1)}
.badge.bump{animation:bump .5s var(--ease)}
@keyframes bump{0%{transform:scale(1)}40%{transform:scale(1.45)}100%{transform:scale(1)}}
.nav-desktop{display:none}
.hdr-wa{display:none}
@media (min-width:1024px){
  .nav-desktop{display:flex;gap:28px}
  .nav-desktop a{font-size:12px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;position:relative;padding:6px 0}
  .nav-desktop a::after{content:"";position:absolute;left:0;bottom:0;height:1px;width:100%;background:var(--rust);transform:scaleX(0);transform-origin:right;transition:transform .35s var(--ease)}
  .nav-desktop a:hover::after,.nav-desktop a[aria-current=page]::after{transform:scaleX(1);transform-origin:left}
  .menu-toggle{display:none!important}
}
@media (min-width:1200px){.hdr-wa{display:inline-flex;min-height:40px;padding:0 16px;font-size:11px;margin-left:8px}
}
.hdr-right .nav-desktop{margin-right:12px}

/* Mobile menu + drawers */
.overlay{position:fixed;inset:0;background:rgba(20,19,18,.45);opacity:0;visibility:hidden;transition:opacity .35s,visibility .35s;z-index:80}
.overlay.open{opacity:1;visibility:visible}
.panel{position:fixed;top:0;bottom:0;z-index:90;background:var(--cream);width:min(420px,100%);display:flex;flex-direction:column;transition:transform .45s var(--ease),visibility .45s;visibility:hidden}
.panel.open{visibility:visible;transform:none}
.panel-left{left:0;transform:translateX(-100%)}
.panel-right{right:0;transform:translateX(100%)}
.panel-head{display:flex;align-items:center;justify-content:space-between;padding:14px var(--pad);border-bottom:1px solid var(--line);min-height:var(--hdr)}
.panel-head h2{font-size:26px}
.panel-body{flex:1;overflow-y:auto;padding:8px var(--pad) 24px;overscroll-behavior:contain}
.panel-foot{padding:18px var(--pad) 22px;border-top:1px solid var(--line);background:var(--paper)}
.mnav a{display:flex;justify-content:space-between;align-items:center;padding:16px 0;border-bottom:1px solid var(--line);font-family:var(--serif);font-size:28px}
.mnav a small{font-family:var(--sans);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-3)}
.mnav-contact{margin-top:26px;display:grid;gap:10px;font-size:14px}
.mnav-contact a{display:flex;align-items:center;gap:10px}
.mnav-contact svg{width:18px;height:18px;color:var(--rust)}
body.locked{overflow:hidden}

/* Search overlay */
.search-panel{position:fixed;left:0;right:0;top:0;z-index:90;background:var(--cream);transform:translateY(-100%);visibility:hidden;transition:transform .45s var(--ease),visibility .45s;box-shadow:var(--shadow);max-height:100vh;overflow-y:auto}
.search-panel.open{transform:none;visibility:visible}
.search-row{display:flex;align-items:center;gap:10px;height:var(--hdr);border-bottom:1px solid var(--line)}
.search-row input{flex:1;min-width:0;border:0;background:transparent;font-family:var(--serif);font-size:26px;outline:none;padding:0}
.search-results{padding:20px 0 30px;display:grid;gap:4px}
.search-hit{display:flex;align-items:center;gap:14px;padding:8px;border-radius:2px;transition:background .2s}
.search-hit:hover{background:var(--cream-2)}
.search-hit img{width:56px;height:56px;object-fit:cover;background:var(--photo)}
.search-hit strong{font-family:var(--serif);font-size:20px;font-weight:500;display:block;line-height:1.2}
.search-hit span{font-size:12px;color:var(--ink-3);letter-spacing:.08em;text-transform:uppercase}
.search-empty{color:var(--ink-2);font-size:14px}

/* Hero */
.hero{position:relative;padding:28px 0 56px;overflow:hidden}
.hero-grid{display:grid;gap:30px;align-items:center}
.hero h1{font-size:clamp(46px,12.5vw,104px);line-height:.96;letter-spacing:-.02em;margin:18px 0 18px}
.hero h1 em{font-style:italic;color:var(--rust)}
.hero .lead{max-width:470px;margin-bottom:28px}
.hero-ctas{display:flex;flex-direction:column;gap:12px}
.hero-ctas .btn{width:100%}
.hero-meta{display:flex;flex-wrap:wrap;gap:8px 18px;margin-top:22px;font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-2)}
.hero-meta span{display:inline-flex;align-items:center;gap:8px}
.hero-meta span::before{content:"";width:5px;height:5px;border-radius:50%;background:var(--rust)}
.hero-media{position:relative;background:var(--photo);aspect-ratio:4/5;overflow:hidden}
.hero-media img{width:100%;height:100%;object-fit:cover;animation:heroZoom 2.4s var(--ease) both}
@keyframes heroZoom{from{transform:scale(1.08);opacity:.2}to{transform:none;opacity:1}}
.hero-tag{position:absolute;left:16px;bottom:16px;background:rgba(12,12,12,.78);backdrop-filter:blur(6px);padding:12px 16px;display:flex;flex-direction:column;gap:2px;max-width:calc(100% - 32px)}
.hero-tag small{font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--rust);font-weight:700}
.hero-tag strong{font-family:var(--serif);font-weight:500;font-size:22px;line-height:1.1}
.hero-seal{position:absolute;right:-30px;top:-30px;width:150px;opacity:.07;pointer-events:none;animation:spin 40s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
@media (min-width:600px){.hero-ctas{flex-direction:row}.hero-ctas .btn{width:auto}}
@media (min-width:1024px){
  .hero{padding:48px 0 96px}
  .hero-grid{grid-template-columns:1.05fr .95fr;gap:72px}
  .hero-media{aspect-ratio:4/5;max-height:calc(100vh - 150px);justify-self:end;width:100%}
  .hero-seal{width:260px;right:auto;left:38%;top:auto;bottom:40px}
}
.fade-up{animation:fadeUp 1s var(--ease) both}
.d1{animation-delay:.1s}.d2{animation-delay:.22s}.d3{animation-delay:.34s}.d4{animation-delay:.46s}
@keyframes fadeUp{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:none}}

/* Marquee */
.marquee{border-top:1px solid var(--line);border-bottom:1px solid var(--line);overflow:hidden;padding:16px 0;background:var(--paper)}
.marquee-track{display:flex;width:max-content;animation:marq 38s linear infinite}
.marquee span{font-family:var(--serif);font-size:24px;font-style:italic;padding:0 22px;white-space:nowrap;display:inline-flex;align-items:center;gap:44px}
.marquee span::after{content:"✦";font-style:normal;font-size:12px;color:var(--rust)}
@keyframes marq{to{transform:translateX(-50%)}}

/* Trust strip */
.trust{display:grid;grid-template-columns:1fr 1fr;border-bottom:1px solid var(--line)}
.trust-item{display:flex;flex-direction:column;align-items:flex-start;gap:10px;padding:26px 18px;border-right:1px solid var(--line);border-top:1px solid var(--line)}
.trust-item:nth-child(2n){border-right:0}
.trust-item svg{width:26px;height:26px;color:var(--rust)}
.trust-item strong{font-family:var(--serif);font-size:22px;font-weight:500;line-height:1.1}
.trust-item span{font-size:12.5px;color:var(--ink-2);line-height:1.5}
@media (min-width:900px){.trust{grid-template-columns:repeat(4,1fr)}.trust-item{padding:34px 30px;border-top:0}.trust-item:nth-child(2n){border-right:1px solid var(--line)}.trust-item:last-child{border-right:0}.trust-item strong{font-size:26px}}

/* Fit tiles */
.fits{display:grid;gap:14px}
@media (min-width:700px){.fits{grid-template-columns:repeat(3,1fr);gap:20px}}
.fit-tile{position:relative;display:block;overflow:hidden;background:var(--photo);aspect-ratio:4/5}
@media (max-width:699px){.fit-tile{aspect-ratio:1/1}}
.fit-tile img{width:100%;height:100%;object-fit:cover;transition:transform 1.1s var(--ease)}
.fit-tile:hover img{transform:scale(1.06)}
.fit-tile::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(20,19,18,0) 45%,rgba(20,19,18,.62));transition:opacity .4s}
.fit-info{position:absolute;left:20px;right:20px;bottom:18px;z-index:2;color:#fff;display:flex;justify-content:space-between;align-items:flex-end;gap:10px}
.fit-info h3{font-size:38px;color:#fff}
.fit-info p{margin:2px 0 0;font-size:12.5px;opacity:.9}
.fit-info .arrow{width:44px;height:44px;border:1px solid rgba(255,255,255,.6);border-radius:50%;display:flex;align-items:center;justify-content:center;transition:background .3s,transform .4s var(--ease);flex:none}
.fit-info .arrow svg{width:18px;height:18px}
.fit-tile:hover .arrow{background:var(--rust);border-color:var(--rust);transform:rotate(-45deg)}

/* Product cards */
.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:26px 12px}
@media (min-width:768px){.grid{gap:44px 20px}}
@media (min-width:1024px){.grid{grid-template-columns:repeat(3,minmax(0,1fr))}.grid.four{grid-template-columns:repeat(4,minmax(0,1fr))}}
.card{position:relative;display:flex;flex-direction:column}
.card-media{position:relative;display:block;aspect-ratio:4/5;overflow:hidden;background:var(--photo)}
.card-media picture,.card-media img{position:absolute;inset:0;width:100%;height:100%}
.card-media img{object-fit:cover;transition:transform 1s var(--ease),opacity .6s var(--ease)}
.card-media .alt-img{opacity:0}
.card:hover .card-media img{transform:scale(1.05)}
.card:hover .card-media .alt-img{opacity:1}
.card-tags{position:absolute;top:10px;left:10px;display:flex;flex-wrap:wrap;gap:6px;z-index:2}
.tag{background:var(--paper);color:var(--ink);font-size:9.5px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;padding:5px 8px;line-height:1}
.tag.hot{background:var(--rust);color:#fff}
.tag.soon{background:var(--ink);color:#fff}
.quick-add{position:absolute;left:10px;right:10px;bottom:10px;z-index:2;min-height:42px;background:rgba(12,12,12,.78);backdrop-filter:blur(6px);font-size:11px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;display:flex;align-items:center;justify-content:center;gap:8px;transform:translateY(0);transition:transform .45s var(--ease),opacity .45s,background .3s,color .3s}
.quick-add svg{width:16px;height:16px}
.quick-add:hover{background:var(--ink);color:#fff}
@media (hover:hover) and (min-width:1024px){.quick-add{opacity:0;transform:translateY(14px)}.card:hover .quick-add,.quick-add:focus-visible{opacity:1;transform:none}}
@media (max-width:420px){.quick-add .qa-long{display:none}}
.card-body{padding-top:14px;display:flex;flex-direction:column;gap:4px}
.card-fit{font-size:10.5px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--ink-3)}
.card-name{font-family:var(--serif);font-size:21px;line-height:1.15;font-weight:500}
@media (min-width:768px){.card-name{font-size:25px}}
.card-name a{background:linear-gradient(var(--rust),var(--rust)) no-repeat 0 100%/0 1px;transition:background-size .4s var(--ease)}
.card:hover .card-name a{background-size:100% 1px}
.card-meta{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:4px;font-size:12px;color:var(--ink-2)}
.dots{display:inline-flex;gap:5px;align-items:center}
.dot{width:13px;height:13px;border-radius:50%;border:1px solid rgba(255,255,255,.7);box-shadow:0 0 0 1px var(--line-2);display:inline-block}
.card-rate{font-size:11px;font-weight:600;letter-spacing:.08em;color:var(--rust);text-transform:uppercase}

/* Coming soon */
#coming-soon[hidden]{display:none}

/* Steps */
.steps{display:grid;gap:0;counter-reset:s;border-top:1px solid var(--line)}
@media (min-width:900px){.steps{grid-template-columns:repeat(4,1fr);border-top:0}}
.step{padding:26px 0;border-bottom:1px solid var(--line);display:grid;grid-template-columns:56px 1fr;gap:4px 14px;align-items:start}
@media (min-width:900px){.step{display:block;padding:0 28px 0 0;border-bottom:0;border-right:1px solid var(--line);margin-right:28px}.step:last-child{border-right:0;margin-right:0}}
.step-num{font-family:var(--serif);font-size:44px;line-height:1;color:var(--rust);font-style:italic;grid-row:span 2}
@media (min-width:900px){.step-num{font-size:64px;margin-bottom:22px;display:block}}
.step h3{font-size:26px;margin-bottom:6px}
.step p{margin:0;color:var(--ink-2);font-size:14px}

/* Starter banner */
.starter{background:var(--ink);color:var(--cream);position:relative;overflow:hidden}
.starter-grid{display:grid;gap:28px;padding-top:68px;padding-bottom:68px;position:relative;z-index:1}
@media (min-width:900px){.starter-grid{grid-template-columns:1.4fr 1fr;align-items:end;padding-top:110px;padding-bottom:110px}}
.starter h2{font-size:clamp(38px,7vw,76px);line-height:1.02;color:#fff}
.starter h2 em{color:#F06A33;font-style:italic}
.starter p{color:#CFC8BE;max-width:420px}
.starter .eyebrow{color:#F06A33}
.starter-seal{position:absolute;right:-90px;bottom:-90px;width:380px;opacity:.09;filter:brightness(2.2) saturate(0);animation:spin 60s linear infinite}
.starter-actions{display:flex;flex-direction:column;gap:12px;align-items:flex-start}

/* Instagram */
.insta{display:grid;gap:30px;align-items:center}
@media (min-width:900px){.insta{grid-template-columns:1fr 1.3fr;gap:70px}}
.insta-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}
.insta-grid a{position:relative;aspect-ratio:1;overflow:hidden;background:var(--photo);display:block}
.insta-grid img{width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease)}
.insta-grid a:hover img{transform:scale(1.08)}
.insta-grid a::after{content:"";position:absolute;inset:0;background:rgba(195,58,5,.0);transition:background .4s}
.insta-grid a:hover::after{background:rgba(195,58,5,.18)}
.insta h2{font-size:clamp(36px,6vw,60px);margin:14px 0}
.insta-handle{font-family:var(--serif);font-style:italic;color:var(--rust)}

/* FAQ */
.faq{border-top:1px solid var(--line)}
.faq details{border-bottom:1px solid var(--line)}
.faq summary{list-style:none;cursor:pointer;padding:22px 44px 22px 0;position:relative;font-family:var(--serif);font-size:22px;line-height:1.25;font-weight:500}
@media (min-width:768px){.faq summary{font-size:26px}}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after,.faq summary::before{content:"";position:absolute;right:6px;top:50%;width:16px;height:1.5px;background:var(--ink);transition:transform .35s var(--ease)}
.faq summary::before{transform:rotate(90deg)}
.faq details[open] summary::before{transform:rotate(0)}
.faq details[open] summary{color:var(--rust)}
.faq .ans{padding:0 0 24px;color:var(--ink-2);max-width:760px}
.faq .ans a{color:var(--rust);border-bottom:1px solid currentColor}
.faq-layout{display:grid;gap:30px}
@media (min-width:900px){.faq-layout{grid-template-columns:.8fr 1.4fr;gap:80px}}

/* Footer */
.footer{background:#161514;color:#CFC8BE;padding:64px 0 28px;font-size:14px}
.footer-grid{display:grid;gap:36px 20px;grid-template-columns:1fr 1fr}
.footer-brand,.footer-grid>div:last-child{grid-column:1/-1}
@media (min-width:900px){.footer-grid{grid-template-columns:1.4fr 1fr 1fr 1.2fr;gap:50px}.footer-brand,.footer-grid>div:last-child{grid-column:auto}}
.footer h3{font-family:var(--sans);font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:#fff;font-weight:700;margin-bottom:16px}
.footer ul{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.footer a{transition:color .2s}
.footer a:hover{color:#F06A33}
.footer-brand img{height:84px;width:auto;margin-bottom:16px;filter:brightness(1.25)}
.footer-brand p{max-width:320px}
.footer-big{font-family:var(--serif);font-size:clamp(56px,16vw,200px);line-height:.85;color:#2A2826;letter-spacing:-.02em;margin:50px 0 26px;white-space:nowrap;overflow:hidden;user-select:none}
.footer-bottom{display:flex;flex-direction:column;gap:8px;border-top:1px solid #2C2A28;padding-top:22px;font-size:12px;color:#8E877D}
@media (min-width:768px){.footer-bottom{flex-direction:row;justify-content:space-between}}

/* Floating WhatsApp */
.wa-float{position:fixed;right:16px;bottom:18px;z-index:70;width:58px;height:58px;border-radius:50%;background:var(--rust);color:#fff;display:flex;align-items:center;justify-content:center;box-shadow:0 12px 30px -8px rgba(195,58,5,.6);transition:transform .3s var(--ease),bottom .35s var(--ease),background .3s}
.wa-float:hover{transform:scale(1.07);background:var(--rust-d)}
.wa-float svg{width:28px;height:28px}
.wa-float::before{content:"";position:absolute;inset:0;border-radius:50%;border:2px solid var(--rust);animation:ring 2.6s ease-out infinite}
@keyframes ring{0%{transform:scale(1);opacity:.7}80%,100%{transform:scale(1.55);opacity:0}}
.wa-float .wa-label{position:absolute;right:68px;background:var(--ink);color:#fff;font-size:12px;padding:8px 12px;white-space:nowrap;opacity:0;transform:translateX(8px);transition:.3s var(--ease);pointer-events:none}
.wa-float:hover .wa-label{opacity:1;transform:none}
body.has-buybar .wa-float{bottom:92px}
@media (min-width:1024px){.wa-float{right:28px;bottom:28px}body.has-buybar .wa-float{bottom:28px}}

/* Toast */
.toast{position:fixed;left:50%;top:calc(var(--hdr) + 46px);z-index:120;transform:translate(-50%,-16px);opacity:0;visibility:hidden;transition:.4s var(--ease);background:var(--ink);color:#fff;padding:12px 12px 12px 16px;display:flex;align-items:center;gap:14px;width:min(440px,calc(100% - 24px));box-shadow:var(--shadow)}
.toast.show{opacity:1;visibility:visible;transform:translate(-50%,0)}
.toast img{width:44px;height:44px;object-fit:cover;background:var(--photo);flex:none}
.toast-txt{flex:1;min-width:0;font-size:13px;line-height:1.4}
.toast-txt strong{display:block;font-weight:600}
.toast-txt span{color:#C9C2B8;font-size:12px}
.toast button{font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#fff;border-bottom:1px solid #F06A33;padding:4px 0;flex:none}
.toast .ok{width:22px;height:22px;border-radius:50%;background:var(--rust);display:flex;align-items:center;justify-content:center;flex:none}
.toast .ok svg{width:13px;height:13px}

/* Reveal on scroll */
.js .reveal{opacity:0;transform:translateY(28px);transition:opacity .9s var(--ease),transform .9s var(--ease)}
.js .reveal.in{opacity:1;transform:none}
.js .reveal.d1{transition-delay:.08s}.js .reveal.d2{transition-delay:.16s}.js .reveal.d3{transition-delay:.24s}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.js .reveal{opacity:1;transform:none}}

/* Page header */
.page-head{padding:40px 0 28px;border-bottom:1px solid var(--line)}
@media (min-width:1024px){.page-head{padding:70px 0 44px}}
.page-head h1{font-size:clamp(44px,9vw,92px);line-height:.98;margin-top:14px}
.page-head p{margin:14px 0 0;color:var(--ink-2);max-width:560px}
.crumbs{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-3);display:flex;flex-wrap:wrap;gap:8px}
.crumbs a:hover{color:var(--rust)}

/* Shop toolbar */
.toolbar{position:relative;z-index:30;background:rgba(14,14,14,.92);backdrop-filter:blur(10px);border-bottom:1px solid var(--line);padding:14px 0}
.toolbar-inner{display:grid;gap:12px}
@media (min-width:1024px){.toolbar{position:sticky;top:var(--hdr)}.toolbar-inner{grid-template-columns:auto 1fr auto;align-items:center;gap:24px}}
.search-field{position:relative;display:flex;align-items:center}
.search-field svg{position:absolute;left:14px;width:18px;height:18px;color:var(--ink-3);pointer-events:none}
.search-field input{width:100%;min-height:46px;border:1px solid var(--line-2);background:var(--paper);padding:0 14px 0 42px;font-size:15px;border-radius:0;outline:none;transition:border-color .2s}
.search-field input:focus{border-color:var(--ink)}
@media (min-width:1024px){.search-field{width:280px}}
.chip-rows{display:grid;gap:10px;min-width:0}
@media (min-width:1024px){.chip-rows{display:flex;gap:26px;align-items:center}}
.chip-row{display:flex;align-items:center;gap:8px;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch;min-width:0;padding:2px 0}
.chip-row::-webkit-scrollbar{display:none}
.chip-label{font-size:10.5px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-3);flex:none;margin-right:2px}
.chip{flex:none;display:inline-flex;align-items:center;gap:8px;min-height:36px;padding:0 14px;border:1px solid var(--line-2);font-size:12.5px;font-weight:500;background:transparent;transition:.25s var(--ease);white-space:nowrap}
.chip:hover{border-color:var(--ink)}
.chip[aria-pressed=true]{background:var(--ink);color:#fff;border-color:var(--ink)}
.chip .dot{width:12px;height:12px}
.result-bar{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:22px 0 18px;font-size:13px;color:var(--ink-2)}
.result-bar select{border:1px solid var(--line-2);background:var(--paper);min-height:38px;padding:0 10px;font-size:13px;border-radius:0}
.clear-link{font-size:12px;color:var(--rust);border-bottom:1px solid currentColor}
.empty{padding:60px 0 90px;text-align:center}
.empty h3{font-size:34px;margin-bottom:10px}
.empty p{color:var(--ink-2)}

/* Product page */
.pdp{display:grid;gap:28px;padding:18px 0 40px}
@media (min-width:1024px){.pdp{grid-template-columns:1.15fr .85fr;gap:64px;padding:40px 0 80px;align-items:start}}
.gallery{display:grid;gap:10px}
@media (min-width:1024px){.gallery{grid-template-columns:84px 1fr;gap:14px;position:sticky;top:calc(var(--hdr) + 20px)}}
.g-main{position:relative;aspect-ratio:4/5;overflow:hidden;background:var(--photo);cursor:zoom-in;order:1}
@media (min-width:1024px){.g-main{order:2}}
.g-main img{width:100%;height:100%;object-fit:cover;transition:transform .25s ease-out,opacity .35s}
.g-main.zooming img{transform:scale(2.1)}
.g-hint{position:absolute;right:12px;bottom:12px;background:rgba(12,12,12,.78);padding:8px 12px;font-size:10.5px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;display:flex;align-items:center;gap:6px;pointer-events:none}
.g-hint svg{width:14px;height:14px}
.g-thumbs{display:flex;gap:8px;order:2;overflow-x:auto}
@media (min-width:1024px){.g-thumbs{order:1;flex-direction:column}}
.g-thumbs button{width:72px;flex:none;aspect-ratio:4/5;background:var(--photo);border:1px solid transparent;opacity:.6;transition:.25s;overflow:hidden}
@media (min-width:1024px){.g-thumbs button{width:84px}}
.g-thumbs button[aria-current=true]{opacity:1;border-color:var(--ink)}
.g-thumbs img{width:100%;height:100%;object-fit:cover}
.pdp-info h1{font-size:clamp(40px,8vw,64px);line-height:1;margin:12px 0 14px}
.pdp-info .lead{margin-bottom:22px}
.pdp-meta{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:6px}
.rate-note{display:flex;align-items:center;gap:12px;padding:14px 16px;background:var(--rust-soft);border-left:2px solid var(--rust);font-size:13.5px;margin:0 0 26px}
.rate-note svg{width:20px;height:20px;color:var(--rust);flex:none}
.opt{margin-bottom:24px}
.opt-label{display:flex;justify-content:space-between;font-size:11px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;margin-bottom:12px}
.opt-label span{color:var(--ink-2);font-weight:500;letter-spacing:.06em;text-transform:none;font-size:13px}
.shade-opts{display:flex;flex-wrap:wrap;gap:10px}
.shade-opt{display:inline-flex;align-items:center;gap:10px;min-height:48px;padding:0 18px 0 12px;border:1px solid var(--line-2);background:var(--paper);font-size:14px;transition:.2s}
.shade-opt .dot{width:20px;height:20px}
.shade-opt:hover{border-color:var(--ink)}
.shade-opt[aria-checked=true]{border-color:var(--ink);box-shadow:inset 0 0 0 1px var(--ink)}
.qty{display:inline-flex;align-items:stretch;border:1px solid var(--line-2);background:var(--paper);height:52px}
.qty button{width:50px;display:flex;align-items:center;justify-content:center;font-size:20px;transition:background .2s}
.qty button:hover{background:var(--cream-2)}
.qty input{width:70px;border:0;border-left:1px solid var(--line);border-right:1px solid var(--line);text-align:center;font-size:16px;font-weight:600;background:transparent;-moz-appearance:textfield;appearance:textfield;outline:none}
.qty input::-webkit-outer-spin-button,.qty input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.qty-wrap{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.qty-unit{font-size:13px;color:var(--ink-2)}
.qty-quick{display:flex;gap:6px}
.qty-quick button{min-height:34px;padding:0 10px;border:1px solid var(--line);font-size:12px;background:transparent;transition:.2s}
.qty-quick button:hover{border-color:var(--ink)}
.pdp-actions{display:grid;gap:10px;margin:8px 0 28px}
.pdp-details{border-top:1px solid var(--line)}
.pdp-details details{border-bottom:1px solid var(--line)}
.pdp-details summary{list-style:none;cursor:pointer;padding:18px 0;font-size:11.5px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;display:flex;justify-content:space-between}
.pdp-details summary::-webkit-details-marker{display:none}
.pdp-details summary::after{content:"+";font-size:18px;font-weight:400;line-height:1}
.pdp-details details[open] summary::after{content:"–"}
.pdp-details ul{margin:0 0 18px;padding-left:18px;color:var(--ink-2)}
.pdp-details p{color:var(--ink-2);margin:0 0 18px}
.pdp-details p a{color:var(--rust)}
.buybar{position:fixed;left:0;right:0;bottom:0;z-index:65;background:rgba(12,12,12,.95);backdrop-filter:blur(10px);border-top:1px solid var(--line);padding:10px var(--pad) calc(10px + env(safe-area-inset-bottom));display:flex;gap:10px;align-items:center;transform:translateY(110%);transition:transform .4s var(--ease)}
.buybar.show{transform:none}
.buybar .bb-txt{flex:1;min-width:0;line-height:1.25}
.buybar .bb-txt strong{display:block;font-family:var(--serif);font-size:18px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.buybar .bb-txt span{font-size:11.5px;color:var(--ink-2)}
.buybar .btn{min-height:46px;padding:0 18px;font-size:11px}
@media (min-width:1024px){.buybar{display:none}}
.not-found{padding:80px 0;text-align:center}

/* Lightbox */
.lightbox{position:fixed;inset:0;z-index:150;background:#EDEAE4;display:flex;flex-direction:column;opacity:0;visibility:hidden;transition:.35s}
.lightbox.open{opacity:1;visibility:visible}
.lb-top{display:flex;justify-content:space-between;align-items:center;padding:10px var(--pad);font-size:12px;letter-spacing:.14em;text-transform:uppercase}
.lb-stage{flex:1;overflow:auto;display:flex;align-items:center;justify-content:center;touch-action:pan-x pan-y pinch-zoom;-webkit-overflow-scrolling:touch}
.lb-stage img{max-height:100%;max-width:100%;object-fit:contain;cursor:zoom-in;transition:none}
.lb-stage.zoomed{display:block}
.lb-stage.zoomed img{max-width:none;max-height:none;width:220%;cursor:zoom-out}
@media (min-width:1024px){.lb-stage.zoomed img{width:auto;height:240%}}
.lb-nav{display:flex;justify-content:center;gap:10px;padding:12px}
.lb-nav button{width:46px;height:46px;border:1px solid var(--line-2);border-radius:50%;display:flex;align-items:center;justify-content:center}
.lb-nav svg{width:18px;height:18px}

/* Order list (drawer + page) */
.line{display:grid;grid-template-columns:76px 1fr;gap:14px;padding:18px 0;border-bottom:1px solid var(--line);position:relative}
.line-img{aspect-ratio:4/5;background:var(--photo);overflow:hidden;display:block;align-self:start}
.line-img img{width:100%;height:100%;object-fit:cover}
.line-main{min-width:0}
.line-name{font-family:var(--serif);font-size:21px;line-height:1.15;font-weight:500}
.line-fit{font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-3);margin-top:2px}
.line-shade{display:inline-flex;align-items:center;gap:8px;min-height:44px;font-size:13px}
.line-ctrls{display:flex;flex-wrap:wrap;gap:10px 12px;margin-top:12px;align-items:flex-end}
.line-ctrls select{min-height:44px;border:1px solid var(--line-2);background:var(--paper);padding:0 30px 0 10px;font-size:14px;border-radius:0;appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%231F1E1C' fill='none'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center}
.line-ctrls .qty{height:46px}
.line-ctrls .qty button{width:44px;font-size:18px}
.line-ctrls .qty input{width:52px;font-size:15px}
.line-ctrls label{font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-3);display:block;margin-bottom:4px}
.qty .qty-trash{color:var(--rust)}
.qty .qty-trash svg{width:18px;height:18px}
.qty .qty-trash:hover{background:var(--rust-soft)}
.line-actions{margin-top:12px}
.line-remove,.btn-clear{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;min-width:44px;padding:0 16px;border:1px solid var(--line-2);background:var(--paper);color:var(--ink);font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;transition:color .2s,border-color .2s,background .2s;-webkit-tap-highlight-color:rgba(195,58,5,.15);touch-action:manipulation}
.line-remove svg,.btn-clear svg{width:17px;height:17px;color:var(--rust)}
.line-remove:hover,.btn-clear:hover,.line-remove:active,.btn-clear:active{border-color:var(--rust);color:var(--rust);background:#fff}
.clear-wrap{padding:22px 0 6px;text-align:center}
.clear-wrap .btn-clear{width:100%}
.clear-wrap.confirming{border:1px solid var(--rust);background:var(--rust-soft);padding:16px;margin-top:18px;text-align:left}
.clear-wrap.confirming p{margin:0 0 12px;font-size:14px;font-weight:600}
.clear-confirm{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.clear-confirm .btn{min-height:46px;padding:0 12px;font-size:11px}
.undo-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:14px 0 4px;padding:6px 6px 6px 14px;background:var(--ink);color:#fff;font-size:13px;line-height:1.35;animation:fadeUp .35s var(--ease) both}
.undo-bar button{min-height:44px;padding:0 14px;color:#fff;font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;border-bottom:2px solid #F06A33;flex:none}
@media (min-width:768px){.cart-page .line{grid-template-columns:110px 1fr;gap:22px;padding:24px 0}.cart-page .line-name{font-size:26px}.cart-page .clear-wrap:not(.confirming){text-align:right}.cart-page .clear-wrap .btn-clear{width:auto}}
.cart-empty{text-align:center;padding:50px 10px}
.cart-empty h3{font-size:30px;margin:14px 0 8px}
.cart-empty p{color:var(--ink-2)}
.cart-empty svg{width:42px;height:42px;color:var(--rust)}
.sum-row{display:flex;justify-content:space-between;font-size:13px;color:var(--ink-2);margin-bottom:14px}
.sum-row strong{color:var(--ink)}
.drawer-note{font-size:12px;color:var(--ink-3);text-align:center;margin:10px 0 0}
.cart-layout{display:grid;gap:40px;padding:30px 0 80px}
@media (min-width:1024px){.cart-layout{grid-template-columns:1.25fr .9fr;gap:70px;padding:50px 0 110px;align-items:start}}
.checkout{background:var(--paper);padding:26px 20px;border:1px solid var(--line)}
@media (min-width:768px){.checkout{padding:36px}}
@media (min-width:1024px){.checkout{position:sticky;top:calc(var(--hdr) + 20px)}}
.checkout h2{font-size:34px;margin-bottom:6px}
.checkout > p{color:var(--ink-2);font-size:14px}
.field{margin-bottom:16px}
.field label{display:block;font-size:10.5px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;margin-bottom:7px}
.field label .opt-tag{color:var(--ink-3);font-weight:500;letter-spacing:.06em;text-transform:none}
.field input,.field textarea{width:100%;min-height:50px;border:1px solid var(--line-2);background:var(--cream);padding:12px 14px;font-size:16px;border-radius:0;outline:none;transition:border-color .2s,background .2s}
.field textarea{min-height:92px;resize:vertical}
.field input:focus,.field textarea:focus{border-color:var(--ink);background:#1A1A1A;color:var(--ink)}
.field.invalid input{border-color:var(--rust);background:#1F1410}
.field .err{display:none;color:var(--rust);font-size:12px;margin-top:6px}
.field.invalid .err{display:block}
.field-row{display:grid;gap:0 14px}
@media (min-width:600px){.field-row{grid-template-columns:1fr 1fr}}
.form-note{font-size:12px;color:var(--ink-3);margin:12px 0 0;display:flex;gap:8px;align-items:flex-start}
.form-note svg{width:16px;height:16px;flex:none;margin-top:2px}
.sent-box{margin-top:18px;padding:16px;background:var(--rust-soft);border-left:2px solid var(--rust);font-size:13.5px}
.sent-box[hidden]{display:none}
.sent-box button{color:var(--rust);border-bottom:1px solid currentColor;font-size:13px;margin-top:6px}

/* Quick add modal */
.modal{position:fixed;z-index:110;left:0;right:0;bottom:0;background:var(--cream);padding:22px var(--pad) calc(22px + env(safe-area-inset-bottom));transform:translateY(105%);visibility:hidden;transition:transform .45s var(--ease),visibility .45s;max-height:90vh;overflow:auto}
.modal.open{transform:none;visibility:visible}
@media (min-width:768px){.modal{left:50%;top:50%;bottom:auto;width:560px;transform:translate(-50%,-46%);opacity:0;transition:.35s var(--ease)}.modal.open{transform:translate(-50%,-50%);opacity:1}}
.qa-head{display:grid;grid-template-columns:84px 1fr auto;gap:14px;align-items:start;margin-bottom:20px}
.qa-head img{width:84px;aspect-ratio:4/5;object-fit:cover;background:var(--photo)}
.qa-head h3{font-size:26px}
.qa-head p{font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-3);margin:4px 0 0}

/* About / contact */
.split{display:grid;gap:34px;align-items:center}
@media (min-width:900px){.split{grid-template-columns:1fr 1fr;gap:80px}}
.split-media{aspect-ratio:4/5;background:var(--photo);overflow:hidden}
.split-media img{width:100%;height:100%;object-fit:cover}
.prose h2{font-size:clamp(34px,5vw,52px);margin:12px 0 18px}
.prose p{color:var(--ink-2)}
.facts{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line);border-left:1px solid var(--line)}
@media (min-width:900px){.facts{grid-template-columns:repeat(4,1fr)}}
.fact{padding:26px 18px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}
.fact small{font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--rust);font-weight:700}
.fact strong{display:block;font-family:var(--serif);font-size:30px;font-weight:500;margin-top:6px;line-height:1.1}
.contact-cards{display:grid;gap:14px}
@media (min-width:700px){.contact-cards{grid-template-columns:repeat(3,1fr);gap:20px}}
.c-card{display:flex;flex-direction:column;gap:10px;padding:28px 24px;background:var(--paper);border:1px solid var(--line);transition:transform .4s var(--ease),box-shadow .4s,border-color .3s}
.c-card:hover{transform:translateY(-4px);box-shadow:var(--shadow);border-color:transparent}
.c-card svg{width:28px;height:28px;color:var(--rust)}
.c-card small{font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--ink-3);font-weight:700}
.c-card strong{font-family:var(--serif);font-size:28px;font-weight:500;line-height:1.1}
.c-card span{font-size:13px;color:var(--ink-2)}
.bg-paper{background:var(--paper)}
.bg-cream2{background:var(--cream-2)}
.center{text-align:center}
.mt-0{margin-top:0}

/* Sizes in set (product page + quick add) */
.sizes-line{display:inline-flex;flex-wrap:wrap;gap:6px;align-items:baseline;margin:-6px 0 22px;padding:10px 14px;border:1px solid var(--line-2);background:var(--paper);font-size:14px;font-weight:600;letter-spacing:.04em}
.sizes-line span{font-size:10.5px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--rust)}
.sizes-line.small{margin:10px 0 0;padding:6px 10px;font-size:13px}

/* ---------- Mobile bottom navigation (app style) ---------- */
.bottom-nav{position:fixed;left:0;right:0;bottom:0;z-index:66;display:grid;grid-template-columns:repeat(5,1fr);background:rgba(12,12,12,.95);backdrop-filter:saturate(1.4) blur(12px);-webkit-backdrop-filter:saturate(1.4) blur(12px);border-top:1px solid var(--line);padding-bottom:env(safe-area-inset-bottom);box-shadow:0 -10px 30px -18px rgba(31,30,28,.35)}
.bottom-nav a,.bottom-nav button{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;min-height:60px;color:var(--ink-2);font-size:10.5px;font-weight:600;letter-spacing:.06em;-webkit-tap-highlight-color:transparent;touch-action:manipulation;transition:color .2s}
.bottom-nav svg{width:23px;height:23px;transition:transform .25s var(--ease)}
.bottom-nav a:active svg,.bottom-nav button:active svg{transform:scale(.86)}
.bottom-nav [aria-current=page]{color:var(--rust)}
.bottom-nav [aria-current=page]::before{content:"";position:absolute;top:0;left:30%;right:30%;height:2px;background:var(--rust);border-radius:0 0 2px 2px}
.bottom-nav .badge{top:6px;right:calc(50% - 22px)}
@media (max-width:1023px){
  body{padding-bottom:calc(60px + env(safe-area-inset-bottom))}
  .wa-float{display:none}
  .buybar{bottom:calc(60px + env(safe-area-inset-bottom));padding-bottom:10px}
  .toast{top:auto;bottom:calc(72px + env(safe-area-inset-bottom));transform:translate(-50%,16px)}
  .toast.show{transform:translate(-50%,0)}
}
@media (min-width:1024px){.bottom-nav{display:none}}

/* ---------- Fly-to-cart ---------- */
.fly-img{position:fixed;z-index:200;pointer-events:none;object-fit:cover;border-radius:4px;box-shadow:0 14px 34px -10px rgba(0,0,0,.6);background:var(--photo);will-change:transform,opacity}
.cart-hit{animation:cartHit .45s var(--ease)}
@keyframes cartHit{0%{transform:scale(1)}40%{transform:scale(1.25) rotate(-8deg)}100%{transform:scale(1)}}

/* ---------- Why retailers choose Garwood ---------- */
.why-grid{display:grid;grid-template-columns:1fr;border-top:1px solid var(--line)}
@media (min-width:600px){.why-grid{grid-template-columns:1fr 1fr}}
@media (min-width:1000px){.why-grid{grid-template-columns:repeat(3,1fr)}}
.why-item{display:grid;grid-template-columns:44px 1fr;gap:2px 16px;align-items:start;padding:24px 4px;border-bottom:1px solid var(--line)}
@media (min-width:600px){.why-item{padding:30px 26px 30px 0}}
.why-item svg{width:30px;height:30px;color:var(--rust);grid-row:span 2;margin-top:2px}
.why-item h3{font-size:24px;line-height:1.1;margin:0 0 6px}
.why-item p{margin:0;color:var(--ink-2);font-size:14px;line-height:1.55}
.why-contact{display:grid;gap:10px;margin-top:34px}
@media (min-width:800px){.why-contact{grid-template-columns:repeat(3,1fr);gap:14px}}
.why-contact a{display:flex;align-items:center;gap:14px;padding:16px 18px;min-height:64px;border:1px solid var(--line);background:var(--paper,#FBFAF7);transition:border-color .25s,transform .25s var(--ease)}
.why-contact a:hover{border-color:var(--rust);transform:translateY(-2px)}
.why-contact svg{width:24px;height:24px;color:var(--rust);flex:none}
.why-contact span{display:flex;flex-direction:column;font-weight:600;font-size:15px}
.why-contact small{font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-3);font-weight:700}

/* ---------- Ordering timeline ---------- */
.steps.timeline{list-style:none;margin:0;padding:0;border-top:0;position:relative}
.timeline .step{position:relative;border-bottom:0;padding:0 0 30px;grid-template-columns:56px 1fr}
.timeline .step:last-child{padding-bottom:0}
.timeline .step::before{content:"";position:absolute;left:27px;top:56px;bottom:0;border-left:1px dashed var(--rust);opacity:.55}
.timeline .step:last-child::before{display:none}
.timeline .step-num{width:56px;height:56px;border-radius:50%;border:1px solid var(--rust);background:var(--cream);display:flex;align-items:center;justify-content:center;font-size:28px;font-style:normal;position:relative;z-index:1}
.timeline .step h3{margin-top:12px}
@media (min-width:900px){
  .timeline .step{display:block;padding:0 26px 0 0;margin:0;border-right:0}
  .timeline .step::before{left:66px;right:0;top:28px;bottom:auto;border-left:0;border-top:1px dashed var(--rust)}
  .timeline .step-num{margin-bottom:24px;font-size:30px}
  .timeline .step h3{margin-top:0}
}

/* ---------- Instagram strip ---------- */
.insta-row{display:flex;gap:8px;overflow-x:auto;scroll-snap-type:x mandatory;padding:0 var(--pad) 4px;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.insta-row::-webkit-scrollbar{display:none}
.insta-row a{position:relative;flex:0 0 42%;aspect-ratio:1;overflow:hidden;background:var(--photo);scroll-snap-align:start}
@media (min-width:700px){.insta-row a{flex-basis:24%}}
@media (min-width:1100px){.insta-row{max-width:var(--max);margin:0 auto;overflow:visible}.insta-row a{flex:1 1 0}}
.insta-row img{width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease)}
.insta-row a:hover img{transform:scale(1.07)}
.insta-ov{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:rgba(195,58,5,0);color:#fff;transition:background .35s}
.insta-ov svg{width:30px;height:30px;opacity:0;transform:scale(.8);transition:all .35s var(--ease)}
.insta-row a:hover .insta-ov{background:rgba(195,58,5,.28)}
.insta-row a:hover .insta-ov svg{opacity:1;transform:none}
.insta-end{display:flex!important;flex-direction:column;align-items:center;justify-content:center;gap:10px;background:var(--rust)!important;color:#fff;font-family:var(--serif);font-style:italic;font-size:clamp(18px,2.2vw,24px);text-align:center}
.insta-end svg{width:30px;height:30px}

/* ---------- Landing pages (wholesale guides) ---------- */
.lp-head h1{font-size:clamp(40px,8vw,84px);max-width:16ch}
.lp-head h1 em{color:var(--rust);font-style:italic}
.lp-head .eyebrow{display:block}
.lp-head .hero-ctas{margin-top:26px}
.lp-layout{display:grid;gap:40px;align-items:start}
@media (min-width:1000px){.lp-layout{grid-template-columns:minmax(0,1fr) 340px;gap:80px}.lp-aside{position:sticky;top:100px}}
.prose{max-width:68ch}
.prose h2{font-size:clamp(26px,4.2vw,36px);line-height:1.12;margin:38px 0 12px}
.prose h2:first-child{margin-top:0}
.prose p{color:var(--ink-2);font-size:16px;line-height:1.75;margin:0 0 14px}
.prose a{color:var(--ink);text-decoration:underline;text-decoration-color:var(--rust);text-underline-offset:3px}
.prose a:hover{color:var(--rust)}
.lp-card{border:1px solid var(--line);background:var(--paper,#FBFAF7);padding:26px 22px}
.lp-facts{list-style:none;margin:16px 0 22px;padding:0}
.lp-facts li{display:flex;gap:12px;align-items:flex-start;padding:10px 0;border-bottom:1px solid var(--line);font-size:14px}
.lp-facts svg{width:20px;height:20px;color:var(--rust);flex:none;margin-top:1px}
.btn-block{width:100%;justify-content:center}
.lp-call{display:flex;align-items:center;justify-content:center;gap:8px;min-height:44px;margin-top:8px;font-size:14px;font-weight:600}
.lp-call svg{width:18px;height:18px;color:var(--rust)}
.guide-links{display:grid;gap:12px}
@media (min-width:800px){.guide-links{grid-template-columns:repeat(3,1fr);gap:18px}}
.guide-link{position:relative;display:flex;flex-direction:column;gap:8px;padding:24px 56px 24px 22px;border:1px solid var(--line);transition:border-color .25s,transform .25s var(--ease)}
.guide-link:hover{border-color:var(--rust);transform:translateY(-3px)}
.guide-link strong{font-family:var(--serif);font-weight:500;font-size:24px;line-height:1.1}
.guide-link span{font-size:14px;color:var(--ink-2)}
.guide-link i{position:absolute;right:20px;top:26px;width:22px;color:var(--rust)}
.footer-guides{grid-column:1/-1}
@media (min-width:900px){.footer-grid{grid-template-columns:1.3fr .9fr .9fr 1.2fr 1.2fr;gap:40px}.footer-guides{grid-column:auto}}

/* search panel: size the magnifier explicitly (root cause of the giant icon on mobile) */
.search-row>svg{width:22px;height:22px;flex:0 0 22px;color:var(--ink-3)}
.search-row .icon-btn{flex:none}
.search-row input{font-size:24px;height:44px}
.guide-link i svg{width:22px;height:22px}
/* hide browser-native search decorations (Chrome/Samsung add their own magnifier/clear icons) */
input[type=search]{-webkit-appearance:none;appearance:none}
input[type=search]::-webkit-search-decoration,input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-results-button,input[type=search]::-webkit-search-results-decoration{-webkit-appearance:none;display:none}

/* ==========================================================================
   v3 (10 Oct 2026): home hero carousel + shop filters / bottom sheet
   ========================================================================== */

/* ---------- Hero carousel (index.html) ---------- */
.hc{position:relative;padding:20px 0 28px;overflow:hidden}
.hc-viewport{overflow:hidden}
.hc-track{display:flex;transition:transform .7s var(--ease);will-change:transform;touch-action:pan-y}
.hc-track.dragging{transition:none}
.hc-slide{flex:0 0 100%;min-width:0}
.hc-grid{display:grid;gap:22px;align-items:center}
.hc-copy{order:2}
.hc-media{order:1;position:relative;background:var(--photo);aspect-ratio:5/4;overflow:hidden}
.hc-media img{width:100%;height:100%;object-fit:cover;object-position:center 35%;transform:scale(1.06);transition:transform 6s linear}
.hc-slide.is-active .hc-media img{transform:none}
.hc-title{font-size:clamp(36px,9.6vw,84px);line-height:1;letter-spacing:-.02em;margin:14px 0 14px;font-weight:500}
.hc-title em{font-style:italic;color:var(--rust)}
.hc .lead{max-width:480px;margin:0 0 22px}
/* text slides up gently when its slide becomes active */
.js .hc-copy>*{opacity:0;transform:translateY(14px);transition:opacity .6s var(--ease),transform .6s var(--ease)}
.js .hc-slide.is-active .hc-copy>*{opacity:1;transform:none}
.hc-slide.is-active .hc-copy>:nth-child(2){transition-delay:.08s}
.hc-slide.is-active .hc-copy>:nth-child(3){transition-delay:.16s}
.hc-slide.is-active .hc-copy>:nth-child(4){transition-delay:.24s}
.hc-steps{list-style:none;margin:0 0 22px;padding:0;display:grid;gap:10px}
.hc-steps li{display:flex;align-items:center;gap:14px;font-size:15px;color:var(--ink-2)}
.hc-steps span{flex:none;width:34px;height:34px;border-radius:50%;border:1px solid var(--rust);color:var(--rust);display:flex;align-items:center;justify-content:center;font-family:var(--serif);font-size:19px}
/* controls row: pause | dots | prev next */
.hc-controls{display:flex;align-items:center;gap:14px;margin-top:18px}
.hc-dots{display:flex;gap:8px;order:2}
.hc-dot{width:28px;height:28px;padding:0;background:none;border:0;position:relative;cursor:pointer}
.hc-dot::before{content:"";position:absolute;left:2px;right:2px;top:50%;height:3px;margin-top:-1.5px;background:var(--line-2);transition:background .3s}
.hc-dot[aria-current=true]::before{background:var(--rust)}
.hc-arrows{display:flex;gap:8px}
.hc-btn{width:44px;height:44px;border:1px solid var(--line-2);border-radius:50%;background:var(--paper);display:flex;align-items:center;justify-content:center;color:var(--ink);transition:background .25s,color .25s,border-color .25s;cursor:pointer}
.hc-btn:hover{background:var(--ink);color:var(--cream);border-color:var(--ink)}
.hc-btn svg{width:20px;height:20px}
.hc-pause .i-play,.hc.is-paused .hc-pause .i-pause{display:none}
.hc.is-paused .hc-pause .i-play{display:block}
@media (min-width:600px){.hc .hero-ctas{flex-direction:row}.hc .hero-ctas .btn{width:auto}}
@media (min-width:768px){.hc-media{aspect-ratio:16/10}}
@media (min-width:1024px){
  .hc{padding:28px 0 40px}
  .hc-grid{grid-template-columns:1.05fr .95fr;gap:64px}
  .hc-copy{order:1}.hc-media{order:2;aspect-ratio:4/5;max-height:calc(100vh - 260px);min-height:380px;width:100%}
  .hc-title{font-size:clamp(52px,5.6vw,88px)}
}
@media (prefers-reduced-motion:reduce){.hc-media img,.hc-slide.is-active .hc-media img{transform:none}.js .hc-copy>*{opacity:1;transform:none}}

/* ---------- Shop: filters sidebar (tablet/desktop) + bottom sheet (mobile) ---------- */
.toolbar-inner{grid-template-columns:1fr auto;align-items:center}
.filter-open{min-height:46px;padding:0 16px;gap:8px;font-size:11.5px}
.filter-count{min-width:20px;height:20px;padding:0 6px;border-radius:10px;background:var(--rust);color:#fff;font-size:11px;line-height:20px;letter-spacing:0}
.shop-layout{display:block}
.filters h2{font-size:28px}
.f-group{border:0;margin:0;padding:18px 0;border-bottom:1px solid var(--line)}
.f-group legend{float:left;width:100%;padding:0;margin-bottom:10px;font-size:10.5px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-3)}
.f-group legend+div{clear:both}
.f-opt{display:flex;align-items:center;gap:10px;min-height:40px;font-size:14px;cursor:pointer}
.f-opt input{width:18px;height:18px;margin:0;accent-color:var(--rust);flex:none}
.f-opt span{flex:1}
.f-opt small{color:var(--ink-3);font-size:12px}
.sheet-foot{display:flex;gap:10px;padding-top:18px}
.sheet-foot .btn{flex:1;min-height:46px;padding:0 14px}
.sort-label{font-size:11px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;margin-right:8px;color:var(--ink-3)}
.sheet-backdrop{position:fixed;inset:0;z-index:95;background:rgba(20,19,18,.45);opacity:0;transition:opacity .35s}
.sheet-backdrop.show{opacity:1}

/* Mobile: the filters panel becomes a bottom sheet */
@media (max-width:767.98px){
  .sort-desktop{display:none}
  .filters{position:fixed;left:0;right:0;bottom:0;z-index:100;background:var(--cream);max-height:86vh;display:flex;flex-direction:column;
    border-radius:16px 16px 0 0;box-shadow:0 -20px 50px -20px rgba(0,0,0,.6);transform:translateY(105%);visibility:hidden;
    transition:transform .4s var(--ease),visibility .4s}
  .filters.open{transform:none;visibility:visible}
  .sheet-head{display:flex;align-items:center;justify-content:space-between;padding:12px var(--pad) 10px;border-bottom:1px solid var(--line)}
  .sheet-head::before{content:"";position:absolute;top:7px;left:50%;width:40px;height:4px;margin-left:-20px;border-radius:2px;background:var(--line-2)}
  .filter-form{overflow-y:auto;padding:0 var(--pad);overscroll-behavior:contain;display:flex;flex-direction:column;flex:1}
  .f-group .f-opt{min-height:44px}
  .sheet-foot{position:sticky;bottom:0;background:var(--cream);margin-top:auto;padding:14px 0 calc(14px + env(safe-area-inset-bottom));border-top:1px solid var(--line)}
}
/* Tablet/desktop: sidebar next to the grid */
@media (min-width:768px){
  .filter-open,.sheet-only,.sheet-head,.sheet-backdrop{display:none!important}
  .toolbar-inner{grid-template-columns:1fr}
  .shop-layout{display:grid;grid-template-columns:220px minmax(0,1fr);gap:40px;align-items:start}
  .filters{position:sticky;top:calc(var(--hdr) + 16px);padding-top:10px}
  .f-group:first-of-type{padding-top:8px}
  .sheet-foot .btn{flex:none}
}
@media (min-width:1024px){
  .filters{top:calc(var(--hdr) + 96px)}
  .shop-layout{grid-template-columns:240px minmax(0,1fr);gap:48px}
}

/* ---------- PWA: Add to home screen prompt ---------- */
.a2hs{position:fixed;left:12px;right:12px;bottom:calc(72px + env(safe-area-inset-bottom));z-index:85;display:flex;align-items:center;gap:12px;padding:12px 10px 12px 12px;background:var(--paper);border:1px solid var(--line);box-shadow:0 18px 40px -18px rgba(31,30,28,.45);opacity:0;transform:translateY(14px);transition:opacity .45s var(--ease),transform .45s var(--ease);pointer-events:none}
.a2hs.show{opacity:1;transform:none;pointer-events:auto}
.a2hs img{width:48px;height:48px;flex:none;border:1px solid var(--line)}
.a2hs-txt{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}
.a2hs-txt strong{font-family:var(--serif);font-weight:500;font-size:18px;line-height:1.15}
.a2hs-txt span{font-size:12.5px;color:var(--ink-2);line-height:1.45}
.a2hs-txt b{font-weight:600;color:var(--ink);white-space:nowrap}
.a2hs-share svg{width:15px;height:15px;vertical-align:-2px;margin-right:3px;color:#0A7AFF}
.a2hs-add{flex:none;min-height:44px;padding:0 16px;background:var(--rust);color:#fff;border:0;font-size:11.5px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;cursor:pointer}
.a2hs-x{flex:none;width:44px;height:44px;display:flex;align-items:center;justify-content:center;background:none;border:0;color:var(--ink-2);cursor:pointer}
.a2hs-x svg{width:18px;height:18px}
@media (min-width:1024px){.a2hs{left:auto;right:28px;bottom:100px;width:380px}}

/* =================== V4 =================== */
/* ---------- Shortlist hearts ---------- */
.card-media .heart{position:absolute;top:8px;right:8px;z-index:3;width:44px;height:44px;border-radius:50%;border:0;background:rgba(12,12,12,.78);display:flex;align-items:center;justify-content:center;color:var(--ink);cursor:pointer;-webkit-tap-highlight-color:transparent;touch-action:manipulation;transition:color .25s,background .25s}
.card-media .heart svg{width:20px;height:20px}
.heart.on,.heart-btn.on{color:var(--rust)}
.heart.on svg path,.heart-btn.on svg path{fill:currentColor}
.heart.pop svg,.heart-btn.pop svg,[data-short-count].pop{animation:bump .5s var(--ease)}
.heart-btn{margin-top:10px}
.heart-btn.on{border-color:var(--rust)}
.hdr-short{position:relative}
@media (max-width:1023px){.hdr-short{display:none}}
/* shortlist page */
.short-bar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:14px;margin-bottom:10px}
.short-bar #short-count{font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-2);font-weight:600}
.short-actions{display:flex;gap:10px;flex-wrap:wrap}
.short-note{font-size:13px;color:var(--ink-3);margin:0 0 26px}
.short-empty{padding:40px 0}
@media (max-width:600px){.short-actions,.short-actions .btn{width:100%}}
/* recently viewed: swipe row on phones, grid on larger screens */
@media (max-width:767px){
  .grid.recent-grid{display:grid;grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:64%;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:6px;scrollbar-width:none;-webkit-overflow-scrolling:touch}
  .grid.recent-grid::-webkit-scrollbar{display:none}
  .grid.recent-grid>*{scroll-snap-align:start}
}
#recent-wrap[hidden]{display:none}

/* ---------- Marquee 1: thin charcoal strip above the footer ---------- */
.mq-strip{background:var(--ink);color:#E9E3DA;overflow:hidden;height:42px;display:flex;align-items:center;border-bottom:1px solid rgba(255,255,255,.08)}
.mq-track{display:flex;width:max-content;animation:marq 80s linear infinite}
.mq-strip:hover .mq-track{animation-play-state:paused}
.mq-set{display:flex;flex:none}
.mq-set>span{display:inline-flex;align-items:center;gap:48px;padding-right:48px;font-size:11px;letter-spacing:.3em;text-transform:uppercase;font-weight:600;white-space:nowrap}
.mq-set>span::after{content:"";width:4px;height:4px;border-radius:50%;background:var(--rust)}
/* ---------- Marquee 2: large outlined design names (home) ---------- */
.name-mq{overflow:hidden;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:clamp(18px,3.5vw,40px) 0;background:var(--cream)}
.name-mq-track{display:flex;width:max-content;height:calc(clamp(46px,8.5vw,120px) * 1.15);align-items:center;animation:marq 90s linear infinite}
.name-mq:hover .name-mq-track,.name-mq:focus-within .name-mq-track{animation-play-state:paused}
.name-mq-set{display:flex;align-items:center;flex:none}
.name-mq a{font-family:var(--serif);font-weight:500;font-size:clamp(46px,8.5vw,120px);line-height:1.15;letter-spacing:-.01em;white-space:nowrap;padding:0 .3em;color:var(--ink);transition:color .5s var(--ease),-webkit-text-stroke-color .5s var(--ease)}
@supports (-webkit-text-stroke:1px #000){.name-mq a{color:transparent;-webkit-text-stroke:1px var(--ink)}.name-mq a:hover,.name-mq a:focus-visible{color:var(--rust);-webkit-text-stroke-color:var(--rust)}}
.nm-dot{font-family:var(--serif);font-size:clamp(26px,4vw,52px);color:var(--rust);padding:0 .15em}
@media (prefers-reduced-motion:reduce){.mq-track,.name-mq-track{animation:none!important}.name-mq{overflow-x:auto}}
/* WhatsApp item moved out of the bottom bar for Shortlist: bring the round button back on phones, above the bar */
@media (max-width:1023px){
  .wa-float{display:flex;width:52px;height:52px;right:14px;bottom:calc(74px + env(safe-area-inset-bottom))}
  .wa-float svg{width:26px;height:26px}
  .wa-float .wa-label{display:none}
  body.has-buybar .wa-float,body.page-cart .wa-float,body[data-page=cart] .wa-float,body[data-page=product] .wa-float{display:none}
}

/* ---------- Luxury motion (slow, subtle; all off with reduced motion) ---------- */
html{scroll-padding-top:calc(var(--hdr) + 12px)}
@media (prefers-reduced-motion:no-preference){
  /* page load: seal fades in, then hero lines rise one by one with a soft letter-spacing ease */
  .logo img{transition:opacity 1.1s var(--ease),transform 1.1s var(--ease)}
  .lux-load .logo img{opacity:0;transform:scale(.94)}
  .js .hc-copy>*{transform:translateY(20px);transition:opacity 1s var(--ease),transform 1s var(--ease),letter-spacing 1.6s var(--ease)}
  .js .hc-copy .hc-title{letter-spacing:.015em}
  .js .hc-slide.is-active .hc-copy .hc-title{letter-spacing:-.02em}
  .hc-slide.is-active .hc-copy>:nth-child(1){transition-delay:.05s}
  .hc-slide.is-active .hc-copy>:nth-child(2){transition-delay:.18s}
  .hc-slide.is-active .hc-copy>:nth-child(3){transition-delay:.32s}
  .hc-slide.is-active .hc-copy>:nth-child(4){transition-delay:.46s}
  .lux-load .hc-slide.is-active .hc-copy>*{opacity:0;transform:translateY(20px)}
  .lux-load .hc-slide.is-active .hc-copy .hc-title{letter-spacing:.015em}
  .lux-load .hc-media{clip-path:inset(0 0 100% 0)}
  .hc-media{clip-path:inset(0);transition:clip-path 1.4s var(--ease) .2s}
  /* slow Ken Burns on the active hero photo */
  .hc-media img{transform:none;transition:none}
  .hc-slide.is-active .hc-media img{animation:kenburns 16s ease-out both}
  @keyframes kenburns{from{transform:scale(1) translate(0,0)}to{transform:scale(1.08) translate(-1.2%,-1%)}}
  /* image reveal masks: product photos wipe open as they scroll in */
  .js .card.reveal .card-media,.js .fit-tile.reveal picture{clip-path:inset(0 0 100% 0);transition:clip-path 1.25s var(--ease) .1s}
  .js .card.reveal.in .card-media,.js .fit-tile.reveal.in picture{clip-path:inset(0)}
  /* card hover: gentle 1.03 zoom + thin rust underline drawing in */
  .card-media img{transition:transform 1.4s var(--ease),opacity .6s var(--ease)}
  .card-name a{transition:background-size .7s var(--ease)}
  /* section headings: serif fade-up + hairline drawing in */
  .js .section-head.reveal h2{opacity:0;transform:translateY(16px);transition:opacity 1.1s var(--ease) .12s,transform 1.1s var(--ease) .12s}
  .js .section-head.reveal.in h2{opacity:1;transform:none}
  /* primary buttons: smooth follow for the desktop magnetic hover */
  .btn{transition:background .3s var(--ease),color .3s var(--ease),border-color .3s,transform .45s var(--ease)}
  /* page transitions: cream fade between pages (browsers with cross-document view transitions) */
  @view-transition{navigation:auto}
  ::view-transition-old(root){animation:vtOut .28s ease both}
  ::view-transition-new(root){animation:vtIn .42s ease .12s both}
  @keyframes vtOut{to{opacity:0}}
  @keyframes vtIn{from{opacity:0}}
}
@media (hover:hover){.card:hover .card-media img{transform:scale(1.03)}}
.section-head{position:relative;padding-bottom:22px}
.section-head::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:var(--line);transform-origin:left;transition:transform 1.6s var(--ease) .25s}
.js .section-head.reveal::after{transform:scaleX(0)}
.js .section-head.reveal.in::after{transform:none}
@media (prefers-reduced-motion:reduce){.js .section-head.reveal::after{transform:none}.lux-load .logo img,.lux-load .hc-media{opacity:1;clip-path:none}}

/* ---------- Usability fixes from the budget-Android / slow-3G test ---------- */
/* lite mode (slow network, data saver or low-memory phone): keep motion light and never hide content */
.lite .hc-slide.is-active .hc-media img{animation:none}
.lite .card.reveal .card-media,.lite .fit-tile.reveal picture,.lite .hc-media{clip-path:none!important;transition:none}
.lite .reveal{transition-duration:.45s}
/* bigger, easier-to-read labels */
.tag{font-size:11px;padding:6px 9px}
.card-fit{font-size:11.5px}
.card-rate{font-size:12px}
.eyebrow{font-size:12px}
.bottom-nav a,.bottom-nav button{font-size:11.5px}
/* bigger tap areas without changing the look */
.hc-dot{width:44px;height:44px}
.hc-dot::before{left:8px;right:8px}
.link-arrow,.card-name a,main a[href^="tel:"],main a[href*="instagram.com"],main a[href*="wa.me"]:not(.btn){position:relative}
.link-arrow::before,.card-name a::before,main a[href^="tel:"]::before,main a[href*="instagram.com"]:not(.btn)::before{content:"";position:absolute;inset:-11px -4px}
.insta-row a::before,.insta-end::before{content:none}
.hero-tag small,.why-contact small,.f-group legend,.g-hint,.opt-label,.sizes-line span,.crumbs{font-size:12px}
/* pre-rendered main photo on product pages (replaced by the full gallery once js/app.js runs) */
.pdp-early .g-main{cursor:default}
.pdp-early picture{display:block;width:100%;height:100%}
/* FIX (gallery): one-photo products have no thumbnail strip, so on desktop the photo was the grid's only
   item and fell into the 84px thumbnail column. Give the photo the full width when it is alone, and pin
   it to the photo column when thumbnails exist. */
@media (min-width:1024px){
  .gallery>.g-main:only-child{grid-column:1/-1}
  .gallery>.g-thumbs~.g-main,.gallery>.g-thumbs+.g-main{grid-column:2}
}
.g-main>picture{display:block;width:100%;height:100%}

/* =====================================================================
   V5: announcement rotation, install button + sheet, snowfall, parallax,
   light editorial layer (serif wordmark, counters).
   ===================================================================== */
.bl{font-family:var(--serif);font-weight:600;font-style:normal}

/* announcement bar */
.announce{display:flex;align-items:center;justify-content:center;gap:18px;background:#0E0D0C;min-height:34px;padding:0 var(--pad)}
.ann-rot{position:relative;height:16px;line-height:16px;min-width:0;flex:0 1 auto;overflow:hidden;width:min(100%,420px)}
.ann-item{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;opacity:0;transform:translateY(100%);transition:opacity .6s var(--ease),transform .6s var(--ease)}
.ann-item.on{opacity:1;transform:none}
.ann-item .bl{font-size:14px;letter-spacing:.2em;margin-left:6px;color:#fff;text-transform:uppercase}
.ann-call{white-space:nowrap}
@media (min-width:768px){.ann-rot{width:420px}.announce .ann-call{display:inline;padding-left:18px;border-left:1px solid rgba(255,255,255,.18)}}
@media (prefers-reduced-motion:reduce){.ann-item{transition:none}}

/* install button */
.hdr-install-txt{display:none}
@media (min-width:1536px){.hdr-install{width:auto;padding:0 12px;border-radius:22px;gap:6px}.hdr-install-txt{display:inline;white-space:nowrap;font-size:11px;font-weight:600;letter-spacing:.14em;text-transform:uppercase}}
@media (display-mode:standalone){.hdr-install{display:none!important}}
.is-installed .hdr-install{display:none!important}
.ins-sheet{position:fixed;inset:0;z-index:130;visibility:hidden}
.ins-sheet.show{visibility:visible}
.ins-back{position:absolute;inset:0;background:rgba(14,13,12,.5);opacity:0;transition:opacity .35s}
.ins-sheet.show .ins-back{opacity:1}
.ins-card{position:absolute;left:0;right:0;bottom:0;background:var(--cream);padding:26px var(--pad) calc(26px + env(safe-area-inset-bottom));transform:translateY(100%);transition:transform .45s var(--ease);max-width:520px;margin:0 auto}
.ins-sheet.show .ins-card{transform:none}
@media (min-width:700px){.ins-card{bottom:auto;top:50%;transform:translateY(-40%);opacity:0;transition:transform .45s var(--ease),opacity .35s}.ins-sheet.show .ins-card{transform:translateY(-50%);opacity:1}}
.ins-card>img{border-radius:12px;display:block}
.ins-card h3{font-size:28px;margin:14px 0 12px}
.ins-card ol{margin:0 0 14px;padding-left:22px;display:grid;gap:10px;font-size:16px;line-height:1.5}
.ins-card ol b{display:inline-flex;align-items:center;gap:4px;font-weight:700}
.ins-card ol svg{width:16px;height:16px}
.ins-note{font-size:14px;color:var(--ink-2);margin:0}
.ins-card .a2hs-x{position:absolute;top:12px;right:12px}

/* snowfall (hero only, never blocks taps) */
.snow{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:2;transition:opacity .6s}
.snow-toggle{position:absolute;z-index:3;right:var(--pad);top:12px;display:inline-flex;align-items:center;gap:6px;min-height:32px;padding:0 12px;border-radius:16px;border:1px solid rgba(244,241,236,.28);background:rgba(14,13,12,.35);color:var(--cream);font-size:10.5px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;cursor:pointer;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
.snow-toggle::before{content:"";position:absolute;inset:-6px}
.snow-toggle[aria-pressed=false]{opacity:.7}

/* parallax: pictures sit slightly oversized so the shift never reveals an edge */
.has-px .hc-media picture,.has-px .fit-tile picture{display:block;width:100%;height:100%;transform:scale(1.08);will-change:transform}

/* ---------- Gen-Z layer ---------- */
.hc::before{content:attr(data-mark);position:absolute;z-index:0;font-family:var(--serif);font-weight:500;line-height:1;letter-spacing:.06em;color:transparent;pointer-events:none;white-space:nowrap}
.hc-viewport,.hc-controls{position:relative;z-index:2}
.hc .hero-tag{z-index:3}

/* section headings: serif italic numeral */
main{counter-reset:sec}
.section-head{counter-increment:sec}
.section-head .eyebrow::before{content:counter(sec,decimal-leading-zero);font-family:var(--serif);font-style:italic;font-weight:500;font-size:20px;letter-spacing:0;text-transform:none;color:var(--ink);margin-right:2px;line-height:1}


/* name marquee: display caps outline */

/* product cards: subtle hover distortion */
@media (hover:hover){.card-media img{transition:transform 1s var(--ease),filter .6s var(--ease)}.card:hover .card-media img{filter:contrast(1.06) saturate(1.04)}}

/* FAIL-SAFE: added by the head script at 1.2s if the hero is still hidden (e.g. a frozen or throttled animation clock).
   Final state, with no transition or animation, so it needs no rendered frames to apply. */
.hero-safe .hc-slide.is-active .hc-copy>*,.hero-safe .hc-slide.is-active .hc-media,.hero-safe .hc-slide.is-active .hc-media img,.hero-safe .hc-slide.is-active .hc-media picture{opacity:1!important;clip-path:none!important;transition:none!important;animation:none!important}
.hero-safe .hc-slide.is-active .hc-copy>*{transform:none!important}
.hero-safe .hc-slide.is-active .hc-media img{transform:none!important}
.hero-safe .hc-slide .hc-copy>*{transition:none!important}
.hero-safe .logo img{opacity:1!important;transform:none!important}
/* ---- v5-2 polish ---- */
:root{--ease-lux:cubic-bezier(.16,1,.3,1)}
/* outlined serif GARWOOD mark: always fits the viewport width (5.58em wide), centred and anchored to the hero's base */
.hc::before{left:50%;bottom:-.1em;transform:translateX(-50%);font-size:calc((100vw - 2 * var(--pad)) / 5.7);-webkit-text-stroke:1px rgba(31,30,28,.09)}
@media (min-width:1024px){.hc::before{font-size:min(calc((100vw - 2 * var(--pad)) / 5.7),300px);bottom:-.12em}}
/* smooth: transform + opacity only (no letter-spacing/layout transitions), one premium ease */
@media (prefers-reduced-motion:no-preference){
  .js .hc-copy>*{transition:opacity .9s var(--ease-lux),transform .9s var(--ease-lux)!important}
  .hc-track{transition:transform .8s var(--ease-lux)}
  .ann-item{transition:opacity .7s var(--ease-lux),transform .7s var(--ease-lux)}
  .ins-card{transition:transform .5s var(--ease-lux),opacity .35s}
}
.has-px .hc-media picture,.has-px .fit-tile picture{transform:scale(1.12);backface-visibility:hidden}
.hc-count{min-width:84px;text-align:right}

@media (max-width:599px){.hc-count{display:none}}
@media (max-width:1023px){.hc{padding-bottom:calc((100vw - 2 * var(--pad)) / 5.7 + 14px)}.hc::before{bottom:2px}}

/* =====================================================================
   THEME: dark luxury streetwear (Chrome Hearts-inspired), approved by the owner on 10 Oct 2026.
   Palette lives in :root at the top; this section styles components for the dark theme.
   Near-black + warm off-white, rust as the single accent, sterling-silver
   gradients on hairlines/icons/badges, cross dingbats, corner brackets,
   spotlight vignettes and subtle grain. Wordmark: brand Cormorant serif.
   ===================================================================== */
html{color-scheme:dark;background:#0E0E0E}
body{font-size:16px;color:var(--ink)}
body::after{content:"";position:fixed;inset:0;background-image:var(--grain);opacity:.045;pointer-events:none;z-index:200;mix-blend-mode:overlay}
::selection{background:var(--rust);color:#fff}
p,.lead{color:var(--ink-2)}
.lead{font-size:17px}

/* header / bars */
.announce{background:#070707;color:#D9D2C6;border-bottom:1px solid transparent;border-image:var(--chrome) 1;border-image-slice:0 0 1 0}
.ann-item .bl{background:var(--chrome);-webkit-background-clip:text;background-clip:text;color:transparent}
.logo img{filter:drop-shadow(0 0 14px rgba(210,71,15,.18))}
.panel,.search-panel,.modal,.ins-card{background:#111}
.overlay{background:rgba(0,0,0,.6)}
.icon-btn svg{color:#DAD3C7}
.badge{background:var(--rust);color:#fff}

/* chrome hairlines */
.chrome-line,.section-head{position:relative}
.section-head::after{content:"";position:absolute;left:0;right:0;bottom:-18px;height:1px;background:var(--chrome);opacity:.55}

/* buttons: off-white, chrome sheen sweep on hover */
.btn{background:#EDE6DA;color:#0E0E0E;border-color:#EDE6DA;isolation:isolate}
.btn::after{content:"";position:absolute;top:0;bottom:0;left:-60%;width:45%;background:linear-gradient(105deg,transparent,rgba(255,255,255,.75),transparent);transform:skewX(-18deg);transition:left .9s var(--ease-lux,ease);pointer-events:none;z-index:1}
.btn:hover::after,.btn:focus-visible::after{left:120%}
.btn:hover{background:#fff;color:#0E0E0E;border-color:#fff}
.btn-ghost{background:transparent;color:var(--ink);border:1px solid transparent;background-image:linear-gradient(#0E0E0E,#0E0E0E),var(--chrome);background-origin:border-box;background-clip:padding-box,border-box}
.btn-ghost:hover{background-image:linear-gradient(#1b1b1b,#1b1b1b),var(--chrome);color:#fff}
.btn-rust,.hdr-wa{background:var(--rust-d);border-color:var(--rust-d);color:#fff}
.btn-rust:hover{background:var(--rust);border-color:var(--rust);color:#fff}

/* HERO: huge tight uppercase Cormorant, asymmetric */
.hc{background:radial-gradient(120% 80% at 80% 30%,#1c1b1a 0%,#0E0E0E 60%)}
.hc-title{font-family:var(--serif);text-transform:uppercase;font-weight:500;letter-spacing:-.035em;line-height:.88;color:#F3EDE2;font-size:clamp(44px,12.4vw,120px)}
.hc-title em{text-transform:none;font-style:italic;letter-spacing:-.02em;color:var(--rust)}
@media (min-width:1024px){.hc-title{font-size:clamp(66px,6.8vw,118px)}.hc-grid{grid-template-columns:1.15fr .85fr}}
.hc .eyebrow{color:#D9D2C6}
.hc .eyebrow::before{background:var(--chrome)!important}
.hc::before{-webkit-text-stroke:1px rgba(237,230,218,.08)}
.hc-media{background:#161616;overflow:visible}
.hc-media picture{overflow:hidden}
.hc-media::after{content:"Mumbai denim  ✦  EST 2021";position:absolute;z-index:4;top:-12px;right:16px;padding:7px 14px;background:var(--chrome);color:#111;font-family:var(--sans);font-weight:800;font-size:10px;letter-spacing:.24em;text-transform:uppercase;box-shadow:0 10px 24px -10px rgba(0,0,0,.9);pointer-events:none}
.hc-dot::before{background:rgba(237,230,218,.22)}
.hc-dot[aria-current=true]::before{background:var(--chrome)}
.hc-btn{background:transparent;color:var(--ink);border-color:var(--line-2)}
.hc-btn:hover{background:#EDE6DA;color:#0E0E0E}
.hc-count b{color:#F3EDE2}
.snow-toggle{background:rgba(14,14,14,.55);border-color:var(--line-2);color:var(--ink-2)}

/* ornate corner brackets on framed photos */
.hc-media>.hc-frame,.g-main::before,.hc-media::before{pointer-events:none}
.hc-media::before,.g-main::before{content:"";position:absolute;z-index:3;inset:10px;pointer-events:none;
  background:
   linear-gradient(#cfcfcf,#cfcfcf) top left/22px 1px no-repeat,linear-gradient(#cfcfcf,#cfcfcf) top left/1px 22px no-repeat,
   linear-gradient(#cfcfcf,#cfcfcf) top right/22px 1px no-repeat,linear-gradient(#cfcfcf,#cfcfcf) top right/1px 22px no-repeat,
   linear-gradient(#cfcfcf,#cfcfcf) bottom left/22px 1px no-repeat,linear-gradient(#cfcfcf,#cfcfcf) bottom left/1px 22px no-repeat,
   linear-gradient(#cfcfcf,#cfcfcf) bottom right/22px 1px no-repeat,linear-gradient(#cfcfcf,#cfcfcf) bottom right/1px 22px no-repeat;opacity:.85}

/* product cards: dark plinth, spotlight vignette (edges only, centre untouched), chrome sheen on hover */
.card-media{background:#181818;isolation:isolate}
.card-media::after{content:"";position:absolute;inset:0;z-index:2;pointer-events:none;background:radial-gradient(ellipse 75% 70% at 50% 45%,transparent 62%,rgba(0,0,0,.34) 100%);transition:opacity .5s}
.card-media::before{content:"";position:absolute;z-index:3;top:0;bottom:0;left:-70%;width:50%;background:linear-gradient(105deg,transparent,rgba(255,255,255,.22),transparent);transform:skewX(-18deg);transition:left 1.1s var(--ease-lux,ease);pointer-events:none}
.card:hover .card-media::before{left:130%}
.card{padding:0 0 6px}
.card::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:var(--chrome);opacity:.25;transition:opacity .4s}
.card:hover::after{opacity:.7}
.card-name a{color:var(--ink)}
.tag{background:var(--chrome);color:#111;font-weight:800}
.g-main{background:#161616}
.g-main::after{content:"";position:absolute;inset:0;z-index:2;pointer-events:none;background:radial-gradient(ellipse 78% 72% at 50% 45%,transparent 64%,rgba(0,0,0,.3) 100%)}
.fit-tile{background:#161616}

/* section index numbers: big serif italic, chrome */
.section-head .eyebrow::before{font-size:34px;background:var(--chrome);-webkit-background-clip:text;background-clip:text;color:transparent;margin-right:6px}
.eyebrow{color:#D9D2C6}
h1,h2,h3{color:#F3EDE2}
.section-head h2{text-transform:uppercase;letter-spacing:-.025em;line-height:.92}

/* cross dingbat dividers */
.mq-strip{background:#070707;color:#D9D2C6;height:46px;border-top:1px solid transparent;border-bottom:1px solid transparent;border-image:var(--chrome) 1}
.mq-set>span{letter-spacing:.24em}
.mq-set>span::after{content:"✠";display:inline-block;margin:0 22px;color:var(--rust);font-size:13px;letter-spacing:0}
.mq-set>span::before{content:none!important}
.name-mq{background:#0B0B0B;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.name-mq a{text-transform:uppercase;letter-spacing:-.02em}
@supports (-webkit-text-stroke:1px #000){.name-mq a{-webkit-text-stroke:1px rgba(237,230,218,.7)}.name-mq a:hover{-webkit-text-stroke-color:var(--rust);color:var(--rust)}}
.name-mq-set>span,.name-mq .sep{color:var(--rust)}
.section-head h2::after{content:" ✦";font-size:.32em;vertical-align:.9em;color:var(--rust);letter-spacing:0}

/* dark editorial blocks */
.bg-cream2,.bg-paper{background:#121212}
.starter{background:linear-gradient(180deg,#151515,#0B0B0B);color:var(--ink);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.starter h2{text-transform:uppercase;letter-spacing:-.03em;line-height:.9;color:#F3EDE2}
.why-item svg,.why-contact svg,.timeline .step-num{color:#D9D2C6}
.timeline .step-num{background:#0E0E0E;border-color:#bdbdbd;color:#F3EDE2}
.why-contact a{background:#131313;border-color:var(--line)}
.site-footer{background:#080808;border-top:1px solid transparent;border-image:var(--chrome) 1;border-image-slice:1 0 0 0}

/* forms / qty / cart on dark */
.field input,.field textarea,select{background:#141414;color:var(--ink);border-color:var(--line-2)}
.qty,.qty button,.qty input{background:#141414;color:var(--ink)}
.sizes-line{background:#141414;border-color:var(--line-2)}
.rate-note,.note{background:#1a1310}
.shade-btn,.chip{background:#141414;color:var(--ink)}
.a2hs{background:#151515;color:var(--ink);border:1px solid var(--line-2)}
.toast{background:#EDE6DA;color:#0E0E0E}
/* dark glass for overlays that were light-on-light */
.hero-tag,.quick-add,.g-hint,.card-media .heart{background:rgba(12,12,12,.78);color:#F3EDE2;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid rgba(237,230,218,.18)}
.hero-tag strong{color:#F3EDE2}
.quick-add:hover{background:#EDE6DA;color:#0E0E0E}
.card-media .heart svg{color:#F3EDE2}
.card-media .heart[aria-pressed=true] svg{color:var(--rust);fill:var(--rust)}
.toolbar{background:rgba(14,14,14,.92);border-bottom:1px solid var(--line)}
.buybar{background:rgba(12,12,12,.95);border-top:1px solid var(--line)}
/* sticker: top-left inside the frame, clear of the snow toggle */
.hc-media::after{top:18px;left:18px;right:auto;content:"Mumbai denim ✦ EST 2021"}
/* section index numbers: solid silver (gradient text clipping is unreliable on this pseudo) */
.section-head .eyebrow::before{background:none!important;-webkit-background-clip:border-box;background-clip:border-box;color:#CFCFCF!important;width:auto!important;height:auto!important;text-shadow:0 1px 0 #000,0 0 12px rgba(255,255,255,.12)}

/* Netlify's free-plan "Powered by Netlify" badge (injected by the host, not by us) sat on top of the
   mobile bottom nav, the filter sheet's Apply button and the product page buttons. Keep it visible,
   but small, bottom-left, above the bottom nav and underneath our own sheets, drawer and modals. */
#nl-badge-frame{z-index:60!important;left:0!important;right:auto!important;bottom:0!important}
@media (max-width:1023px){#nl-badge-frame{bottom:calc(62px + env(safe-area-inset-bottom))!important;transform:scale(.8);transform-origin:left bottom}}

/* ===== Brand switch + Creative Fashions (light beige) theme ===== */
.brand-switch{display:flex;align-items:center;justify-content:center;gap:10px;height:34px;border-bottom:1px solid var(--line);font-size:10.5px;letter-spacing:.2em;text-transform:uppercase}
.brand-switch span{color:var(--ink-3)}
.brand-switch button{background:none;border:0;padding:8px 6px;min-height:34px;font:inherit;letter-spacing:inherit;color:var(--ink-3);cursor:pointer;transition:color .25s;position:relative}
.brand-switch button[aria-pressed="true"]{color:var(--ink);font-weight:700}
.brand-switch button[aria-pressed="true"]::after{content:"";position:absolute;left:6px;right:6px;bottom:4px;height:1px;background:currentColor}
.brand-switch button:hover{color:var(--ink)}
html.brand-switching body{opacity:.4;transition:opacity .15s}
html[data-brand="cf"]{
  --cream:#FBF8EC; --cream-2:#F4F0DE; --photo:#F1EDDC; --paper:#FFFDF4;
  --ink:#1E1F3A; --ink-2:#3A3B58; --ink-3:#6B6C85; --line:rgba(30,31,58,.13); --line-2:rgba(30,31,58,.26);
  --rust:#1E1F3A; --rust-d:#12101E; --rust-soft:rgba(30,31,58,.08);
  --shadow:0 24px 60px -28px rgba(30,31,58,.30);
  color-scheme:light;
}
html[data-brand="cf"] body{background:var(--cream);color:var(--ink)}
html[data-brand="cf"] .site-header{background:rgba(243,235,221,.9)}
html[data-brand="cf"] .site-header.scrolled{background:rgba(243,235,221,.97)}
html[data-brand="cf"] .cf-hide{display:none!important}
html[data-brand="cf"] .hdr-install{display:none}
.cf-mark{display:flex;flex-direction:column;align-items:center;font-family:var(--serif);font-size:21px;line-height:1;color:var(--ink);white-space:nowrap;letter-spacing:.02em}
.cf-mark small{font-family:var(--sans);font-size:8.5px;letter-spacing:.32em;text-transform:uppercase;color:var(--ink-3);margin-top:5px}
@media (min-width:768px){.cf-mark{font-size:28px}.cf-mark small{font-size:9.5px}}
@media (max-width:420px){html[data-brand="cf"] .hdr-wa{display:none}.cf-mark{font-size:18px}}
.cf-soon{min-height:calc(100svh - var(--hdr) - 34px);display:flex;align-items:center;text-align:center;padding:64px 0;background:radial-gradient(120% 80% at 50% 0%,#FAF5EC 0%,var(--cream) 60%,var(--cream-2) 100%)}
.cf-soon-in{max-width:640px;margin:0 auto}
.cf-eyebrow{font-size:11px;letter-spacing:.32em;text-transform:uppercase;color:var(--ink-3);margin:0 0 22px}
.cf-soon h1{font-family:var(--serif);font-weight:500;font-size:clamp(42px,11vw,84px);line-height:1.02;margin:0;color:var(--ink)}
.cf-soon h1 em{font-style:italic;color:var(--rust)}
.cf-rule{display:block;width:56px;height:1px;background:var(--ink-3);margin:28px auto}
.cf-lead{color:var(--ink-2);font-size:16px;margin:0 auto 32px;max-width:440px}
.cf-actions{display:flex;flex-direction:column;gap:12px;align-items:stretch;max-width:340px;margin:0 auto}
@media (min-width:600px){.cf-actions{flex-direction:row;max-width:none;justify-content:center}}
.cf-note{margin:28px 0 0;font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--ink-3)}
html[data-brand="cf"] .btn.cf-wa{background:var(--ink);color:var(--paper);border-color:var(--ink)}
html[data-brand="cf"] .announce{background:#3B2A1E;color:#F3EBDD;border-image:none;border-bottom:0}
html[data-brand="cf"] .btn-ghost{background:transparent;background-image:none;border:1px solid var(--ink);color:var(--ink)}
html[data-brand="cf"] .btn-ghost:hover{background:var(--ink);color:var(--paper)}
html[data-brand="cf"] .bottom-nav{background:rgba(250,245,236,.96);border-top:1px solid var(--line);color:var(--ink-2)}
html[data-brand="cf"] .bottom-nav a{color:var(--ink-3)}
html[data-brand="cf"] .bottom-nav a[aria-current]{color:var(--ink)}
.shade-opt.shade-all{font-style:italic}.dot.dot-all{border:1px solid var(--line-2)}

/* ==========================================================================
   v5-8: trust strip, catalogue CTA, 3-step ordering, sticky PDP WhatsApp bar, footer marquee fix
   ========================================================================== */
.v58-trust{border-bottom:1px solid var(--line);background:var(--cream-2);padding:18px 0 22px}
.trust-strip{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,1fr);gap:10px}
.trust-strip li{display:flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:8px 10px;border:1px solid var(--line-2);border-radius:999px;font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink);text-align:center}
.trust-strip li::before{content:"";width:5px;height:5px;transform:rotate(45deg);background:var(--rust);flex:none}
.trust-strip b{font-weight:600}
.trust-cta{display:flex;flex-direction:column;align-items:stretch;gap:12px;margin-top:16px}
.trust-cta .btn,.shop-cta .btn,.how-cta .btn{gap:10px}
.trust-cta .btn svg,.shop-cta .btn svg,.how-cta .btn svg{width:18px;height:18px}
.start-link{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;color:var(--rust);font-weight:600;font-size:14px;text-decoration:underline;text-underline-offset:4px;text-align:center}
.start-link svg{width:18px;height:18px;flex:none}
@media (min-width:768px){.trust-strip{grid-template-columns:repeat(4,1fr)}.trust-cta{flex-direction:row;justify-content:center;align-items:center;gap:28px}}
.shop-cta{margin-top:18px}
.how-cta{display:flex;flex-wrap:wrap;gap:12px}
@media (min-width:900px){.steps.steps-3{grid-template-columns:repeat(3,1fr)}}
/* PDP sticky bar: always visible on phones */
.buybar .bb-wa{flex:none;gap:8px;padding:0 16px}
.buybar .bb-wa svg{width:18px;height:18px}
.buybar .bb-add{flex:none;width:46px;padding:0}
.buybar .bb-add svg{width:20px;height:20px}
@media (max-width:1023px){body.has-buybar{padding-bottom:calc(132px + env(safe-area-inset-bottom))}}
@media (max-width:359px){.buybar .bb-txt{display:none}.buybar .bb-wa{flex:1}}
/* footer marquee: one separator element, flex-centred, even spacing, seamless -50% loop over two identical sets */
.mq-strip{height:46px;display:flex;align-items:center;padding:0}
.mq-track{display:flex;align-items:center;width:max-content;height:100%;will-change:transform}
.mq-set{display:flex;align-items:center;flex:none;height:100%}
.mq-set>span.mq-item{display:inline-flex;align-items:center;gap:0;padding:0;margin:0;height:auto;font-size:11px;line-height:1;letter-spacing:.24em;text-transform:uppercase;font-weight:600;white-space:nowrap;padding-left:.24em}
.mq-set>span.mq-item::after,.mq-set>span.mq-item::before{content:none!important;display:none!important}
.mq-sep{display:inline-block;flex:none;width:5px;height:5px;margin:0 28px;background:#C33A05;transform:rotate(45deg);vertical-align:middle;font-style:normal}
/* v5-8 Mark & order component */
.mo-wrap{margin-top:clamp(36px,6vw,64px);padding-top:clamp(28px,4vw,40px);border-top:1px solid var(--line)}
.mo-wrap h2{font-size:clamp(28px,6vw,40px)}
.mo-wrap .mo-intro{color:var(--ink-2);margin:8px 0 18px;max-width:52ch}
.mo-stage{background:#fff;border-radius:6px;overflow:hidden;border:1px solid var(--line);touch-action:manipulation;-webkit-tap-highlight-color:transparent}
.mo-canvas{display:block;width:100%;cursor:pointer}
.mo-hint{font-size:13px;color:var(--ink-3);margin:10px 0 6px}
.mo-list{list-style:none;margin:0 0 16px;padding:0;border-top:1px solid var(--line)}
.mo-row{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:56px;border-bottom:1px solid var(--line)}
.mo-name{display:flex;align-items:center;gap:10px;font-weight:600;font-size:15px}
.mo-num{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:50%;border:1px solid var(--line-2);font-size:12px}
.mo-row.on .mo-num{background:var(--rust);border-color:var(--rust);color:#fff}
.mo-qty{display:flex;align-items:center;gap:6px}
.mo-qty button{width:44px;height:44px;border-radius:50%;border:1px solid var(--line-2);background:transparent;color:var(--ink);font-size:20px;line-height:1;cursor:pointer}
.mo-qty button:disabled{opacity:.35;cursor:default}
.mo-val{min-width:64px;text-align:center;font-variant-numeric:tabular-nums;font-size:14px}
.mo-send{gap:10px}.mo-send:disabled{opacity:.5}
.mo-status{font-size:13px;color:var(--ink-2);margin-top:10px;min-height:1em}
@media (min-width:1024px){.mo-wrap .mo-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:40px;align-items:start}}

/* v5-8 CF rebrand: navy on ivory, owner's logo, thin serif, no Garwood decor */
html[data-brand="cf"] .site-header{background:rgba(251,248,236,.92)}
html[data-brand="cf"] .site-header.scrolled{background:rgba(251,248,236,.97)}
html[data-brand="cf"] .site-header .logo img.cf-mark{display:block;height:48px;width:auto}
@media (min-width:1024px){html[data-brand="cf"] .site-header .logo img.cf-mark{height:56px}}
html[data-brand="cf"] .cf-logo-img{height:44px!important;width:auto!important}
html[data-brand="cf"] .footer-brand .cf-logo-img{height:72px!important}
html[data-brand="cf"] .footer-big,html[data-brand="cf"] .hc::before{display:none!important}
html[data-brand="cf"] h1,html[data-brand="cf"] h2,html[data-brand="cf"] h3{font-weight:500;letter-spacing:.005em}
html[data-brand="cf"] .cf-hero-mark{display:block;width:min(240px,62vw);height:auto;margin:0 auto 22px}
html[data-brand="cf"] .announce,html[data-brand="cf"] .mq-strip{background:#1E1F3A;color:#FBF8EC}
html[data-brand="cf"] .mq-sep{background:#FBF8EC}
html[data-brand="cf"] .btn-rust,html[data-brand="cf"] .cf-wa{background:#1E1F3A;border-color:#1E1F3A;color:#FBF8EC}
html[data-brand="cf"] .footer{background:#F4F0DE;color:#1E1F3A}

html[data-brand="cf"] .cf-hero{padding:clamp(28px,6vw,72px) 0;background:var(--cream)}
html[data-brand="cf"] .cf-hero-in{display:grid;gap:24px;align-items:center}
@media (min-width:1024px){html[data-brand="cf"] .cf-hero-in{grid-template-columns:1fr 1.3fr;gap:56px}}
html[data-brand="cf"] .cf-hero h1{font-size:clamp(38px,9vw,68px);line-height:1.05;margin:10px 0 12px}
html[data-brand="cf"] .cf-hero .cf-lead{color:var(--ink-2);max-width:42ch}
html[data-brand="cf"] .cf-hero .cf-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:22px}
html[data-brand="cf"] .cf-hero-mark-sm{width:120px;margin:0 0 14px}
html[data-brand="cf"] .cf-hero-photo{display:block;background:#fff;border:1px solid var(--line);border-radius:6px;overflow:hidden}
html[data-brand="cf"] .cf-hero-photo img{display:block;width:100%;height:auto}
html[data-brand="cf"] .cf-card .card-media img{display:block;width:100%;height:auto;background:#fff}
html[data-brand="cf"] .cf-hero h1{color:#1E1F3A!important;opacity:1!important;-webkit-text-fill-color:#1E1F3A}
html[data-brand="cf"] .cf-hero .btn:not(.btn-ghost){background:#1E1F3A!important;color:#FBF8EC!important;border-color:#1E1F3A!important}
html[data-brand="cf"] .cf-hero .btn-ghost{color:#1E1F3A;border-color:#1E1F3A}

/* v5-9 CF header wordmark: legible on phones */
html[data-brand="cf"] .cf-wordmark{display:flex;align-items:center;gap:8px;color:#1E1F3A;line-height:1}
html[data-brand="cf"] .cf-wordmark img{width:44px;height:auto;display:block}
html[data-brand="cf"] .cf-wm-txt{display:flex;flex-direction:column;align-items:flex-start;gap:4px;font-family:var(--serif)}
html[data-brand="cf"] .cf-wm-txt b{font-weight:500;font-size:21px;letter-spacing:.14em}
html[data-brand="cf"] .cf-wm-txt small{font-family:Manrope,system-ui,sans-serif;font-weight:600;font-size:10.5px;letter-spacing:.42em}
@media (min-width:1024px){html[data-brand="cf"] .cf-wm-txt b{font-size:26px}html[data-brand="cf"] .cf-wordmark img{width:56px}}

/* ==========================================================================
   v5-9 CF palette pass: ivory + navy only (no dark-theme panels, no rust/orange), WCAG AA text
   ========================================================================== */
html[data-brand="cf"]{--line:#E2DACA;--line-2:#CFC5B0;--ink-3:#5A5B75;--cf-navy:#1E1F3A;--cf-ivory:#FBF8EC;--cf-paper:#FFFDF4;--cf-grey:#4F5069}
html[data-brand="cf"] body{background:var(--cf-ivory);color:var(--cf-navy)}
html[data-brand="cf"] h1,html[data-brand="cf"] h2,html[data-brand="cf"] h3,html[data-brand="cf"] h4,
html[data-brand="cf"] .page-head h1,html[data-brand="cf"] .section-head h2,html[data-brand="cf"] #mo-title,html[data-brand="cf"] .pdp-info h1,
html[data-brand="cf"] .footer-grid h3,html[data-brand="cf"] .checkout h2,html[data-brand="cf"] .cart-empty h2{color:var(--cf-navy)!important;-webkit-text-fill-color:currentColor;background:none}
html[data-brand="cf"] .eyebrow,html[data-brand="cf"] .cf-eyebrow{color:var(--cf-grey)!important}
html[data-brand="cf"] .eyebrow::before,html[data-brand="cf"] .eyebrow::after{background:var(--cf-grey)!important}
html[data-brand="cf"] p,html[data-brand="cf"] .lead,html[data-brand="cf"] .starter p,html[data-brand="cf"] .section-head p{color:#33344F}
html[data-brand="cf"] small,html[data-brand="cf"] .mnav small,html[data-brand="cf"] .search-hit span,html[data-brand="cf"] .footer-bottom,html[data-brand="cf"] .footer-bottom span,html[data-brand="cf"] .card-meta,html[data-brand="cf"] .mo-hint{color:var(--cf-grey)!important}
/* chrome bands */
html[data-brand="cf"] .announce,html[data-brand="cf"] .mq-strip{background:var(--cf-navy)!important;color:var(--cf-ivory)!important;border-color:var(--cf-navy)!important;border-image:none!important}
html[data-brand="cf"] .announce *,html[data-brand="cf"] .announce a{color:var(--cf-ivory)!important}
html[data-brand="cf"] .ann-item .bl{background:none!important;-webkit-text-fill-color:var(--cf-ivory)!important;color:var(--cf-ivory)!important}
html[data-brand="cf"] .mq-sep{background:var(--cf-ivory)!important}
html[data-brand="cf"] .site-header,html[data-brand="cf"] .site-header.scrolled{background:rgba(251,248,236,.96)!important;border-bottom:1px solid var(--line)}
html[data-brand="cf"] .footer{background:#F4F0DE!important;color:var(--cf-navy);border-top:1px solid var(--line)}
html[data-brand="cf"] .footer a{color:var(--cf-navy)}
html[data-brand="cf"] .bottom-nav{background:rgba(251,248,236,.97)!important;border-top:1px solid var(--line)}
html[data-brand="cf"] .bottom-nav a,html[data-brand="cf"] .bottom-nav button{color:var(--cf-grey)}
html[data-brand="cf"] .bottom-nav [aria-current=page]{color:var(--cf-navy)}
/* panels, search, drawer, filter sheet, overlay */
html[data-brand="cf"] .panel,html[data-brand="cf"] .search-panel,html[data-brand="cf"] #menu,html[data-brand="cf"] #drawer,html[data-brand="cf"] #search,html[data-brand="cf"] .sheet,html[data-brand="cf"] #filters,html[data-brand="cf"] .filter-sheet,html[data-brand="cf"] .modal{background:var(--cf-ivory)!important;color:var(--cf-navy)!important;border-color:var(--line)!important}
html[data-brand="cf"] .panel *,html[data-brand="cf"] .search-panel *{border-color:var(--line)}
html[data-brand="cf"] .panel a,html[data-brand="cf"] .panel button,html[data-brand="cf"] .search-panel a,html[data-brand="cf"] .search-hit strong{color:var(--cf-navy)}
html[data-brand="cf"] .overlay{background:rgba(30,31,58,.32)!important}
html[data-brand="cf"] .search-panel input,html[data-brand="cf"] input,html[data-brand="cf"] select,html[data-brand="cf"] textarea{background:var(--cf-paper)!important;color:var(--cf-navy)!important;border:1px solid var(--line-2)!important}
html[data-brand="cf"] input::placeholder,html[data-brand="cf"] textarea::placeholder{color:#6A6B82}
html[data-brand="cf"] .toolbar{background:rgba(251,248,236,.95)!important;border-color:var(--line)!important}
/* buttons: navy with ivory text; ghost = navy outline */
html[data-brand="cf"] .btn,html[data-brand="cf"] .btn-rust,html[data-brand="cf"] .cf-wa,html[data-brand="cf"] .hdr-wa,html[data-brand="cf"] #send-order{background:var(--cf-navy)!important;color:var(--cf-ivory)!important;border:1px solid var(--cf-navy)!important}
html[data-brand="cf"] .btn *{color:inherit}
html[data-brand="cf"] .btn-ghost,html[data-brand="cf"] #filter-open,html[data-brand="cf"] .heart-btn{background:transparent!important;color:var(--cf-navy)!important;border:1px solid var(--cf-navy)!important}
html[data-brand="cf"] .btn:disabled{opacity:.55}
html[data-brand="cf"] .wa-float{background:var(--cf-navy)!important;color:var(--cf-ivory)!important;box-shadow:0 10px 30px -10px rgba(30,31,58,.5)}
html[data-brand="cf"] .wa-float::before,html[data-brand="cf"] .wa-float::after{border-color:rgba(30,31,58,.35)!important;background:none!important}
html[data-brand="cf"] .badge{background:var(--cf-navy)!important;color:var(--cf-ivory)!important}
/* product media and cards */
html[data-brand="cf"] .card-media,html[data-brand="cf"] .g-main,html[data-brand="cf"] .g-thumbs button,html[data-brand="cf"] .gallery,html[data-brand="cf"] .lightbox{background:#FFFFFF!important}
html[data-brand="cf"] .card{background:transparent;border-color:var(--line)}
html[data-brand="cf"] .card-name a{color:var(--cf-navy)}
html[data-brand="cf"] .heart,html[data-brand="cf"] .quick-add,html[data-brand="cf"] .g-hint{background:rgba(251,248,236,.94)!important;color:var(--cf-navy)!important;border:1px solid var(--line)!important}
html[data-brand="cf"] .tag,html[data-brand="cf"] .tag.hot{background:var(--cf-paper)!important;color:var(--cf-navy)!important;border:1px solid var(--line-2)!important}
html[data-brand="cf"] .rate-note,html[data-brand="cf"] .sizes-line,html[data-brand="cf"] .qty,html[data-brand="cf"] .qty input,html[data-brand="cf"] .qty button,html[data-brand="cf"] .qty-trash,html[data-brand="cf"] .field input,html[data-brand="cf"] .checkout{background:var(--cf-paper)!important;color:var(--cf-navy)!important;border-color:var(--line-2)!important}
html[data-brand="cf"] .rate-note *,html[data-brand="cf"] .sizes-line *{color:var(--cf-navy)!important}
html[data-brand="cf"] .shade-opt{background:var(--cf-paper);color:var(--cf-navy);border-color:var(--line-2)}
html[data-brand="cf"] .shade-opt[aria-checked=true]{border-color:var(--cf-navy);box-shadow:inset 0 0 0 1px var(--cf-navy)}
/* sticky bars, toasts */
html[data-brand="cf"] .buybar{background:rgba(251,248,236,.97)!important;border-top:1px solid var(--line-2)!important;color:var(--cf-navy)}
html[data-brand="cf"] .buybar .bb-txt strong,html[data-brand="cf"] .buybar .bb-txt span{color:var(--cf-navy)!important}
html[data-brand="cf"] .toast{background:var(--cf-navy)!important;color:var(--cf-ivory)!important;border:1px solid var(--cf-navy)!important}
html[data-brand="cf"] .toast *{color:var(--cf-ivory)!important}
html[data-brand="cf"] .toast button{background:transparent!important;border:1px solid rgba(251,248,236,.7)!important;color:var(--cf-ivory)!important}
html[data-brand="cf"] .toast .ok{background:var(--cf-ivory)!important;color:var(--cf-navy)!important}
html[data-brand="cf"] .toast .ok *{color:var(--cf-navy)!important}
html[data-brand="cf"] .skip{background:var(--cf-navy);color:var(--cf-ivory)}
html[data-brand="cf"] a:focus-visible,html[data-brand="cf"] button:focus-visible{outline-color:var(--cf-navy)}
/* CF brand hero */
html[data-brand="cf"] .cf-hero{padding:clamp(20px,5vw,64px) 0 clamp(28px,5vw,56px);background:linear-gradient(180deg,#FBF8EC,#F6F1E1)}
html[data-brand="cf"] .cf-hero-photo{border:0;background:transparent}
html[data-brand="cf"] .cf-hero-photo img{border-radius:6px}
html[data-brand="cf"] .card-media::before,html[data-brand="cf"] .card-media::after,html[data-brand="cf"] .g-main::before,html[data-brand="cf"] .g-main::after,html[data-brand="cf"] .g-main picture::after,html[data-brand="cf"] .card-media picture::after{background:none!important;box-shadow:none!important;opacity:0!important}
html[data-brand="cf"] .card-media img,html[data-brand="cf"] .g-main img{filter:none!important}

/* ---------- v6-0 CF hero slideshow (same engine as Garwood, ivory/navy) ---------- */
html[data-brand="cf"] .cf-hc{background:#FBF8EE;color:#1E1F3A;overflow:hidden}
html[data-brand="cf"] .cf-hc::before{color:transparent;-webkit-text-stroke:1px rgba(30,31,58,.07)}
.cf-hc .cf-slide-bg{position:relative}
.cf-hc .cf-hc-bg{position:absolute;inset:0;overflow:hidden;z-index:0}
.cf-hc .cf-hc-bg picture{display:block;width:100%;height:100%}
.cf-hc .cf-hc-bg img{width:100%;height:100%;object-fit:cover;object-position:right center}
.cf-hc .cf-slide-bg.is-active .cf-hc-bg img{animation:kenburns 16s ease-out both}
.cf-hc .cf-hc-bg::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(251,248,238,.94) 0%,rgba(251,248,238,.80) 34%,rgba(251,248,238,0) 62%);pointer-events:none}
.cf-hc .cf-slide-bg .hc-grid{position:relative;z-index:1;min-height:clamp(440px,52vw,640px);display:flex;align-items:center}
.cf-hc .cf-slide-bg .hc-copy{max-width:520px}
html[data-brand="cf"] .cf-hc .hc-title{color:#1E1F3A!important;opacity:1}
html[data-brand="cf"] .cf-hc .hc-title em{color:#2E3570;font-style:italic}
html[data-brand="cf"] .cf-hc .eyebrow{color:#4A4C6E!important}
html[data-brand="cf"] .cf-hc .lead{color:#33354F!important}
html[data-brand="cf"] .cf-hc .hc-btn{color:#1E1F3A;border-color:rgba(30,31,58,.35);background:rgba(251,248,238,.85)}
html[data-brand="cf"] .cf-hc .hc-dot{background:rgba(30,31,58,.25)}
html[data-brand="cf"] .cf-hc .hc-dot[aria-current="true"]{background:#1E1F3A}
html[data-brand="cf"] .cf-hc .cf-slide-product .hc-media{background:#fff;border-radius:4px}
@media (max-width:699px){
  .cf-hc .cf-slide-bg .hc-grid{min-height:0;display:block;padding-top:0}
  .cf-hc .cf-hc-bg{position:relative;inset:auto;height:62vw;max-height:330px}
  .cf-hc .cf-hc-bg img{object-position:center}
  .cf-hc .cf-hc-bg::after{background:linear-gradient(180deg,rgba(251,248,238,0) 60%,#FBF8EE 100%)}
  .cf-hc .cf-slide-bg .hc-copy{padding-top:6px}
}
.lite .cf-hc .cf-slide-bg.is-active .cf-hc-bg img{animation:none}
@media (prefers-reduced-motion:reduce){.cf-hc .cf-slide-bg.is-active .cf-hc-bg img{animation:none}}
html[data-brand="cf"] .cf-name-mq{background:#1E1F3A;color:#FBF8EE}
html[data-brand="cf"] .cf-name-mq a{color:#FBF8EE}
html[data-brand="cf"] .trust-strip li::before{background:#1E1F3A}
html[data-brand="cf"] .trust-strip li{color:#1E1F3A;border-color:#CFC4AE}
.cf-how .how3{list-style:none;padding:0;margin:24px 0 0;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}
.cf-how .how3 li{border:1px solid #D9CFBC;padding:22px;border-radius:4px;background:#FFFDF6;transition:transform .35s var(--ease),box-shadow .35s var(--ease)}
.cf-how .how3 li:hover{transform:translateY(-3px);box-shadow:0 10px 24px rgba(30,31,58,.08)}
.cf-how .how3 b{display:inline-grid;place-items:center;width:32px;height:32px;border-radius:50%;background:#1E1F3A;color:#FBF8EE;font-weight:600}
.cf-how .how3 h3{margin:12px 0 6px;color:#1E1F3A}.cf-how .how3 p{margin:0;color:#4A4C6E}
html[data-brand="cf"] .card:active,html[data-brand="cf"] .btn:active{transform:scale(.98)}
html[data-brand="cf"] .a2hs{display:none!important} /* CF has no app manifest: no install prompt */

/* ===== v6-0 shopkeeper QA: bigger tap targets on phones (44px rows), no layout change on desktop ===== */
@media (max-width:1023px){
  .footer li a{display:inline-flex;align-items:center;min-height:40px}
  .footer li{margin:0}
  .mnav-contact a{display:inline-flex;align-items:center;min-height:44px}
  .line-name a,.card-name a{display:inline-flex;align-items:center;min-height:40px}
  a.link-arrow{display:inline-flex;align-items:center;min-height:44px}
}
/* v6-0: sticky bar on phones: full design name (2 lines) and a labelled Add button instead of a bare bag icon */
.buybar .bb-txt strong{white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:16px;line-height:1.15}
.buybar .btn.bb-add{width:auto;padding:0 12px;gap:6px}
.bb-add-t{font-size:11px;letter-spacing:.08em;text-transform:uppercase}
@media (max-width:370px){.bb-add-t{display:none}.buybar .btn.bb-add{width:46px;padding:0}}
/* v6-0: CF snow toggle was white-on-white over the ivory hero photo */
html[data-brand=cf] .snow-toggle{background:rgba(20,33,61,.62);color:#fff;border-color:rgba(255,255,255,.55)}

/* ===== v6-0 CF: modern / Gen-Z layer (same ivory + navy, Cormorant headings). Motion respects reduced-motion. ===== */
html[data-brand=cf]{--cf-soft:#EEEAF6;--cf-ease:cubic-bezier(.22,1,.36,1)}
html[data-brand=cf] .btn{border-radius:999px;transition:transform .35s var(--cf-ease),box-shadow .35s var(--cf-ease),background .25s,color .25s}
html[data-brand=cf] .btn:hover{transform:translateY(-2px);box-shadow:0 10px 24px -10px rgba(30,31,58,.45)}
html[data-brand=cf] .btn:active{transform:scale(.97)}
html[data-brand=cf] .card{border-radius:22px;overflow:hidden;background:var(--cf-paper);box-shadow:0 1px 0 rgba(30,31,58,.06),0 12px 30px -18px rgba(30,31,58,.35);transition:transform .45s var(--cf-ease),box-shadow .45s var(--cf-ease)}
html[data-brand=cf] .card:hover{transform:translateY(-4px);box-shadow:0 22px 40px -20px rgba(30,31,58,.45)}
html[data-brand=cf] .card-media,html[data-brand=cf] .card-media img{border-radius:22px 22px 0 0}
html[data-brand=cf] .eyebrow{display:inline-flex;align-items:center;gap:8px;padding:6px 12px;border-radius:999px;background:rgba(30,31,58,.07);color:var(--cf-navy);letter-spacing:.16em}
html[data-brand=cf] .eyebrow::before{display:none}
html[data-brand=cf] .hc-title em,html[data-brand=cf] h1 em,html[data-brand=cf] h2 em{background:linear-gradient(transparent 62%,rgba(30,31,58,.14) 62%);padding:0 .08em}
html[data-brand=cf] .shade-opt,html[data-brand=cf] .chip,html[data-brand=cf] input,html[data-brand=cf] select,html[data-brand=cf] textarea{border-radius:14px}
html[data-brand=cf] .shade-opt{transition:transform .25s var(--cf-ease),box-shadow .25s}
html[data-brand=cf] .shade-opt[aria-checked=true]{box-shadow:0 0 0 2px var(--cf-navy);transform:translateY(-1px)}
html[data-brand=cf] .bottom-nav{border-radius:22px 22px 0 0;box-shadow:0 -10px 30px -18px rgba(30,31,58,.4)}
html[data-brand=cf] .js .reveal,html[data-brand=cf].js .reveal{filter:blur(6px);transition:opacity .9s var(--cf-ease),transform .9s var(--cf-ease),filter .9s var(--cf-ease)}
html[data-brand=cf].js .reveal.in{filter:none}
html[data-brand=cf] .cf-hc .hc-copy>*{animation:cfUp .9s var(--cf-ease) both}
html[data-brand=cf] .cf-hc .hc-copy>*:nth-child(2){animation-delay:.08s}html[data-brand=cf] .cf-hc .hc-copy>*:nth-child(3){animation-delay:.16s}html[data-brand=cf] .cf-hc .hc-copy>*:nth-child(4){animation-delay:.24s}
@keyframes cfUp{from{opacity:0;transform:translateY(18px);filter:blur(4px)}to{opacity:1;transform:none;filter:none}}
.cf-hc .cf-slide-bg.kb-rev.is-active .cf-hc-bg img{animation:kenburnsRev 16s ease-out both}
@keyframes kenburnsRev{from{transform:scale(1.08) translate(-1.2%,-1%)}to{transform:scale(1) translate(0,0)}}
html.lite[data-brand=cf] .cf-hc .hc-copy>*,html.lite[data-brand=cf] .reveal{filter:none!important}
@media (prefers-reduced-motion:reduce){html[data-brand=cf] *{animation:none!important;transition:none!important}}
/* v6-0: footer/announcement marquee: items + diamond optically centred in the strip */
.mq-set>span.mq-item{padding-left:.24em;margin-right:-.24em;line-height:1;transform:translateY(.5px)}
.mq-sep{align-self:center}

/* ===== v6-1: CF contrast fixes ===== */
/* rounded CF cards: text no longer touches/clips at the card edge */
html[data-brand=cf] .card-body{padding:14px 14px 16px}
html[data-brand=cf] .card-rate{color:var(--cf-navy);display:inline-block;padding-left:.08em}
/* 'Ask us on WhatsApp' block on the shop page: Garwood's near-black section leaked into CF. Navy section, ivory text */
html[data-brand=cf] .starter{background:var(--cf-navy)!important;color:var(--cf-ivory)!important;border-color:var(--cf-navy)!important}
html[data-brand=cf] .starter h2,html[data-brand=cf] .starter h2 em{color:var(--cf-ivory)!important}
html[data-brand=cf] .starter p{color:#E4E1F0!important}
html[data-brand=cf] .starter .eyebrow{background:rgba(251,248,236,.12);color:var(--cf-ivory)!important}
html[data-brand=cf] .starter .btn{background:var(--cf-ivory)!important;color:var(--cf-navy)!important;border-color:var(--cf-ivory)!important}
html[data-brand=cf] .starter-seal{display:none}
html[data-brand=cf] .hc-title em,html[data-brand=cf] h1 em,html[data-brand=cf] h2 em{background:linear-gradient(transparent 64%,rgba(30,31,58,.09) 64%)}
html[data-brand=cf] .starter h2 em{background:none}
/* never let a browser 'auto dark' theme invert the ivory brand (Samsung Internet / Chrome force-dark) */
html[data-brand=cf],html[data-brand=cf] body{color-scheme:only light;background:var(--cf-ivory)}
/* ===== v6-1: design + colour label on every product photo (HTML, stays crisp) ===== */
.g-main,.lb-stage{position:relative}
.ph-label{position:absolute;left:12px;bottom:12px;z-index:3;max-width:calc(100% - 24px);padding:7px 12px;border-radius:4px;background:#C33A05;color:#fff;font-size:12px;font-weight:600;letter-spacing:.04em;line-height:1.25;pointer-events:none;box-shadow:0 4px 14px -6px rgba(0,0,0,.5);transition:opacity .25s}
html[data-brand=cf] .ph-label{background:var(--cf-ivory);color:var(--cf-navy);border:1px solid rgba(30,31,58,.18);border-radius:999px;padding:7px 14px}
.lb-stage .ph-label{position:fixed;left:16px;bottom:calc(84px + env(safe-area-inset-bottom));font-size:13px}
.lb-stage.zoomed .ph-label{opacity:.0}
/* zoom hint sits bottom-right, label bottom-left: keep them apart on narrow phones */
@media (max-width:420px){.ph-label{font-size:11.5px;max-width:58%}}
.line-colour{display:flex;align-items:center;gap:6px;margin:2px 0 4px;font-size:13px}
.line-colour b{font-weight:700}
html[data-brand=cf] .starter h2{font-size:clamp(28px,8vw,54px)!important;overflow-wrap:anywhere}

/* ===== v6-5: order assistant (chat + voice). Panel CSS here is small; the script loads on first tap ===== */
.gwa-launch{position:fixed;left:14px;bottom:calc(74px + env(safe-area-inset-bottom));z-index:71;display:inline-flex;align-items:center;gap:8px;height:48px;padding:0 16px 0 14px;border-radius:999px;border:0;background:#C33A05;color:#fff;font:600 12px/1 inherit;letter-spacing:.08em;text-transform:uppercase;box-shadow:0 12px 28px -10px rgba(0,0,0,.55);cursor:pointer;transition:transform .25s}
.gwa-launch:active{transform:scale(.96)}.gwa-launch.loading{opacity:.7}
body.has-buybar .gwa-launch{bottom:calc(150px + env(safe-area-inset-bottom))}
body.gwa-open .gwa-launch{display:none}
@media (min-width:1024px){.gwa-launch{left:28px;bottom:28px}body.has-buybar .gwa-launch{bottom:28px}}
html[data-brand=cf] .gwa-launch{background:var(--cf-navy);color:var(--cf-ivory)}
.gwa{position:fixed;z-index:90;left:0;right:0;bottom:0;height:min(78vh,620px);display:flex;flex-direction:column;background:#141414;color:#F3EDE2;border-radius:18px 18px 0 0;box-shadow:0 -20px 50px -20px rgba(0,0,0,.7);animation:gwaUp .3s cubic-bezier(.22,1,.36,1)}
.gwa[hidden]{display:none}
@keyframes gwaUp{from{transform:translateY(30px);opacity:0}to{transform:none;opacity:1}}
@media (min-width:700px){.gwa{left:24px;right:auto;bottom:24px;width:380px;border-radius:18px}}
.gwa-head{display:flex;align-items:center;gap:8px;padding:14px 12px 12px 18px;border-bottom:1px solid rgba(255,255,255,.1)}
.gwa-head div{flex:1;display:flex;flex-direction:column}.gwa-head strong{font-family:var(--serif);font-size:22px;font-weight:500}.gwa-head span{font-size:11.5px;opacity:.7}
.gwa-ic{width:44px;height:44px;border:0;border-radius:50%;background:transparent;color:inherit;font-size:18px;cursor:pointer}
.gwa-log{flex:1;overflow-y:auto;padding:14px;display:flex;flex-direction:column;gap:8px;-webkit-overflow-scrolling:touch}
.gwa-msg{max-width:86%;padding:10px 13px;border-radius:14px;font-size:14px;line-height:1.45}
.gwa-msg ol{margin:6px 0 6px 18px;padding:0}
.gwa-msg.bot{background:#232323;border-bottom-left-radius:4px;align-self:flex-start}
.gwa-msg.me{background:#C33A05;color:#fff;border-bottom-right-radius:4px;align-self:flex-end}
.gwa-chips{display:flex;flex-wrap:wrap;gap:8px;padding:0 14px 10px;max-height:34%;overflow-y:auto}
.gwa-chip{min-height:40px;padding:0 14px;border-radius:999px;border:1px solid rgba(243,237,226,.35);background:transparent;color:inherit;font-size:13px;cursor:pointer}
.gwa-chip:active{transform:scale(.97)}
.gwa-in{display:flex;gap:8px;padding:10px 12px;border-top:1px solid rgba(255,255,255,.1)}
.gwa-in input{flex:1;min-width:0;height:46px;padding:0 14px;border-radius:999px;border:1px solid rgba(255,255,255,.2);background:#0E0E0E;color:inherit;font-size:16px}
.gwa-mic,.gwa-send{width:46px;height:46px;flex:none;border-radius:50%;border:0;background:#2A2A2A;color:inherit;font-size:18px;cursor:pointer}
.gwa-send{background:#C33A05;color:#fff}
.gwa-mic.on{background:#C33A05;color:#fff;animation:gwaPulse 1s infinite}
@keyframes gwaPulse{50%{box-shadow:0 0 0 8px rgba(195,58,5,.25)}}
.gwa-rec{margin:0 12px calc(12px + env(safe-area-inset-bottom));min-height:44px;border-radius:999px;border:1px dashed rgba(243,237,226,.4);background:transparent;color:inherit;font-size:13px;cursor:pointer}
.gwa-rec.on{background:#7A1B00;border-style:solid}
html[data-brand=cf] .gwa{background:var(--cf-ivory);color:var(--cf-navy);box-shadow:0 -20px 50px -24px rgba(30,31,58,.45)}
html[data-brand=cf] .gwa-head,html[data-brand=cf] .gwa-in{border-color:rgba(30,31,58,.12)}
html[data-brand=cf] .gwa-msg.bot{background:#fff;border:1px solid rgba(30,31,58,.1)}
html[data-brand=cf] .gwa-msg.me,html[data-brand=cf] .gwa-send,html[data-brand=cf] .gwa-mic.on{background:var(--cf-navy);color:var(--cf-ivory)}
html[data-brand=cf] .gwa-chip{border-color:rgba(30,31,58,.35)}
html[data-brand=cf] .gwa-in input{background:#fff;border-color:rgba(30,31,58,.2)}
html[data-brand=cf] .gwa-mic{background:rgba(30,31,58,.08)}
html[data-brand=cf] .gwa-rec{border-color:rgba(30,31,58,.4)}html[data-brand=cf] .gwa-rec.on{background:var(--cf-navy);color:var(--cf-ivory)}
.share-design{margin-top:10px}
.reorder-box{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;padding:12px 14px;margin-bottom:14px;border:1px dashed var(--line);border-radius:8px;font-size:14px}
@media (prefers-reduced-motion:reduce){.gwa,.gwa-mic.on{animation:none}}
