/** Shopify CDN: Minification failed

Line 119:36 Expected identifier but found whitespace
Line 349:0 Unexpected "/"

**/
:root{--fog:#f2edea;--white:#fdfcfb;--ink:#1a1f2e;--navy:#2c3345;--blush:#c4826a;--blush2:#dba997;--sage:#8fa696;--border:#ddd8d3;--grey:#6f6a64;--max:1240px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--white);color:var(--ink);font-family:'DM Sans',Arial,sans-serif;line-height:1.65}img{max-width:100%;display:block}a{color:inherit}.skip{position:absolute;left:-999px}.announcement{background:var(--ink);color:#fff;text-align:center;padding:8px 15px;font-size:15px;letter-spacing:.04em}.announcement span{opacity:.45;margin:0 7px}.header{background:var(--white);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:20}.header-inner{max-width:var(--max);margin:auto;padding:14px 24px;display:flex;align-items:center;gap:28px}.logo{font-family:'Cormorant Garamond',serif;font-size:32px;line-height:1;color:var(--ink);text-decoration:none}.logo span{color:var(--blush)}.desktop-nav{display:flex;gap:26px;margin:auto;font-size:15px}.desktop-nav a,.cart-link{text-decoration:none}.cart-link{font-size:15px;white-space:nowrap}.cart-link b{display:inline-flex;min-width:24px;height:24px;border-radius:50%;background:var(--blush);color:#fff;align-items:center;justify-content:center;font-size:15px;margin-left:4px}.menu-button{display:none;background:none;border:0;padding:12px 8px;min-height:44px}.mobile-nav{display:none}.wrap{max-width:var(--max);margin:auto;padding-left:24px;padding-right:24px}.narrow{max-width:850px}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:52px;align-items:center}.home-hero{padding:44px 0 52px;background:var(--white)}.hero-copy h1,.pdp-copy h1{font-family:'Cormorant Garamond',serif;font-weight:400;font-size:clamp(50px,6vw,84px);line-height:.98;margin:0 0 25px}.hero-copy h1 span{display:block;height:1px;background:linear-gradient(90deg,var(--blush),transparent);margin:18px 0}.hero-copy h1 em{color:var(--blush);font-weight:300}.eyebrow{font-size:15px;letter-spacing:.14em;font-weight:600;color:#8f5433;margin:0 0 14px}.light{color:var(--blush2)}.lead{font-size:18px;line-height:1.7;color:#444;max-width:620px}.rating{font-size:15px;margin:18px 0;color:#8f5433;letter-spacing:.06em}.rating strong{color:var(--ink);letter-spacing:0;margin-left:8px}.btn{display:inline-block;background:var(--ink);color:#fff;text-decoration:none;border:0;padding:16px 28px;text-transform:uppercase;letter-spacing:.08em;font-size:15px;font-weight:600;cursor:pointer}.light-btn{background:#fff;color:var(--ink)}.btn-full{width:100%;text-align:center}.trust{display:flex;flex-wrap:wrap;gap:8px 20px;margin-top:14px;color:var(--grey);font-size:15px}.trust span:before{content:'✓';color:var(--sage);margin-right:6px}.hero-media{position:relative}.hero-media img,.rounded-image,.main-image img{width:100%;object-fit:cover}.hero-media img{aspect-ratio:6/5;border-radius:2px;object-position:center 25%}.image-placeholder{aspect-ratio:4/5;background:var(--fog);display:grid;place-items:center;color:var(--grey)}.hero-badge{position:absolute;right:-20px;bottom:25px;background:var(--ink);color:#fff;width:120px;height:120px;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center}.hero-badge small{font-size:11px}.hero-badge strong{font-family:'Cormorant Garamond';font-size:36px;color:var(--blush2)}.dark-section{background:var(--ink);color:#fff;padding:46px 0}.dark-section h2,.guarantee h2,.final-cta h2{font-family:'Cormorant Garamond';font-weight:300;font-size:clamp(40px,5vw,68px);line-height:1.05;margin:0 0 25px}.dark-section> .wrap>p:not(.eyebrow){color:#d5d2cf;max-width:760px}.pain-grid{display:grid;grid-template-columns:repeat(2,1fr);margin-top:32px}.pain-grid>div{padding:20px 28px;border-top:1px solid rgba(255,255,255,.12)}.pain-grid b{font-family:'Cormorant Garamond';font-size:25px}.pain-grid p{color:#aaa;margin:6px 0 0}.section{padding:44px 0}.soft{background:var(--fog)}.product-intro h2,.section h2{font-family:'Cormorant Garamond';font-weight:400;font-size:clamp(42px,5vw,64px);line-height:1.05;margin:0 0 22px}.checks{padding:0;list-style:none}.checks li{padding:9px 0;border-bottom:1px solid var(--border)}.checks li:before{content:'✓';color:#8f5433;margin-right:10px}.text-link{display:inline-block;margin-top:25px;color:var(--ink);font-weight:600;text-decoration:none;border-bottom:1px solid var(--blush)}.center{text-align:center}.section-lead{max-width:650px;margin:0 auto 32px;color:var(--grey)}.feature-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--border);margin-top:32px}.feature-grid>div{background:var(--white);padding:24px}.soft .feature-grid>div{background:var(--fog)}.feature-grid span{color:#8f5433;font-size:15px;letter-spacing:.08em}.feature-grid h3{font-family:'Cormorant Garamond';font-size:28px;margin:18px 0 8px}.feature-grid p{font-size:15px;color:var(--grey)}.reviews{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:45px}.reviews blockquote{margin:0;padding:32px;background:var(--fog)}.reviews strong{font-family:'Cormorant Garamond';font-size:27px;font-weight:500}.reviews p{font-size:15px}.reviews cite{font-style:normal;font-size:15px;color:var(--grey)}.guarantee{background:var(--ink);color:#fff;padding:40px 0}.guarantee-badge{width:204px;height:204px;border:1px solid var(--blush);border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center}.guarantee-badge strong{font-family:'Cormorant Garamond';font-size:76px;color:var(--blush2);line-height:.8}.guarantee-badge span{letter-spacing:.2em}.guarantee-badge small{margin-top:8px;color:#aaa}.guarantee p:not(.eyebrow){color:#d1ced0;max-width:600px}.faq-preview details,.page-copy details{border-top:1px solid var(--border);padding:22px 0}.faq-preview summary,.page-copy summary{cursor:pointer;font-weight:500}.final-cta{background:var(--navy);color:#fff;padding:46px 0}.footer{background:#10131c;color:#aaa;padding:34px 0 18px}.footer-inner{max-width:var(--max);margin:auto;padding:0 24px;display:flex;justify-content:space-between;gap:40px}.footer .logo{color:#fff}.footer p{max-width:350px;font-size:15px}.footer-links{display:flex;flex-wrap:wrap;gap:20px;font-size:15px}.footer-links a{text-decoration:none}.footer-bottom{max-width:var(--max);margin:28px auto 0;padding:16px 24px 0;border-top:1px solid rgba(255,255,255,.1);font-size:15px}.pdp{padding-top:70px}.pdp-grid{align-items:start;grid-template-columns:1.6fr 1fr;gap:56px}.main-image{background:var(--fog)}.thumbs{display:flex;gap:8px;margin-top:10px}.thumbs button{border:1px solid var(--border);background:none;padding:0;width:80px}.pdp-copy{position:sticky;top:110px}.pdp-copy h1{font-size:clamp(48px,5vw,70px)}.price{font-size:24px;margin:15px 0}.price s{color:var(--grey);font-size:15px;margin-left:10px}.variants label,.quantity,.page-copy label{display:block;font-size:15px;font-weight:600;margin:16px 0}.variants select,.quantity input,.page-copy input,.page-copy textarea{display:block;width:100%;padding:13px;border:1px solid var(--border);background:#fff;margin-top:7px;font:inherit}.quantity input{max-width:100px}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;margin-top:45px}.stats div{border-top:1px solid rgba(255,255,255,.2);padding-top:20px}.stats strong{display:block;font-family:'Cormorant Garamond';font-size:65px;color:var(--blush2)}.stats span{color:#aaa}.page-copy{font-size:16px}.page-copy h1{font-family:'Cormorant Garamond';font-size:70px;line-height:1.05;font-weight:400}.page-copy h2{margin-top:55px}.page-copy .btn{margin-top:25px}.success{background:#e6f0e9;padding:15px;margin:20px 0}.cart-item{display:grid;grid-template-columns:120px 1fr;gap:25px;padding:20px 0;border-bottom:1px solid var(--border)}.cart-item img{width:120px}.cart-summary{display:flex;justify-content:space-between;align-items:center;padding:30px 0}.cart-summary>div{display:flex;gap:10px}.secondary{background:var(--fog);color:var(--ink)}.drawer-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.4);z-index:50;display:none}.drawer-backdrop.is-open{display:block}.cart-drawer{position:fixed;right:0;top:0;height:100vh;width:min(420px,90vw);background:#fff;z-index:51;padding:35px;transform:translateX(100%);transition:.25s}.cart-drawer.is-open{transform:none}.drawer-close{float:right;border:0;background:none;font-size:28px}.drawer-item{display:flex;justify-content:space-between;padding:18px 0;border-bottom:1px solid var(--border)}
@media(max-width:800px){.desktop-nav{display:none}.menu-button{display:block;margin-left:auto}.cart-link{order:2}.mobile-nav.is-open{display:flex;flex-direction:column;padding:15px 24px;gap:14px;border-top:1px solid var(--border)}.two-col,.reviews{grid-template-columns:1fr;gap:40px}.pdp-grid{grid-template-columns:1fr}.feature-grid{grid-template-columns:1fr 1fr}.pain-grid{grid-template-columns:1fr}.hero-badge{right:10px}.home-hero{padding-top:34px;padding-bottom:34px}.hero-media img{aspect-ratio:auto;height:56vh;max-height:460px;object-position:center 25%}.pdp-copy{position:static}.footer-inner{flex-direction:column}.stats{grid-template-columns:1fr 1fr}.cart-summary{flex-direction:column;align-items:flex-start;gap:20px}.section,.dark-section,.guarantee,.final-cta{padding-top:30px;padding-bottom:30px}}
@media(max-width:520px){.feature-grid{grid-template-columns:1fr}.stats{grid-template-columns:1fr}.hero-copy h1,.pdp-copy h1{font-size:50px}.hero-badge{width:100px;height:100px}.hero-badge strong{font-size:30px}}
 
/* ================================================
   ABOUT PAGE — editorial redesign
================================================ */
:root{--display:'Cormorant Garamond',Georgia,serif;--body-font:'DM Sans',system-ui,sans-serif}
 
.display-xl{font-family:var(--display);font-size:clamp(48px,7vw,96px);font-weight:300;line-height:1.0;letter-spacing:-0.02em}
.display-lg{font-family:var(--display);font-size:clamp(32px,4vw,56px);font-weight:300;line-height:1.1;letter-spacing:-0.01em}
.display-md{font-family:var(--display);font-size:clamp(22px,2.5vw,36px);font-weight:400;line-height:1.25}
 
/* Hero — dark, type-led statement */
.about-hero{background:var(--ink);padding:clamp(44px,7vw,84px) 0 clamp(34px,5vw,60px);position:relative;overflow:hidden}
.about-hero::before{content:'"';position:absolute;right:-2%;top:-10%;font-family:var(--display);font-size:clamp(300px,35vw,520px);font-weight:300;color:rgba(255,255,255,0.025);line-height:1;pointer-events:none;user-select:none}
.about-hero .eyebrow{color:var(--blush2);margin-bottom:28px}
.about-hero-headline{font-family:var(--display);font-size:clamp(44px,7vw,100px);font-weight:300;line-height:1.0;letter-spacing:-0.02em;color:var(--fog);max-width:18ch;margin-bottom:40px}
.about-hero-headline em{font-style:italic;color:var(--blush2)}
.about-hero-sub{font-size:clamp(17px,1.8vw,21px);color:rgba(242,237,234,0.65);font-weight:300;line-height:1.7;max-width:52ch}
 
/* Manifesto strip */
.manifesto{background:var(--blush);padding:clamp(28px,4vw,44px) 0}
.manifesto-inner{display:flex;align-items:center;gap:40px}
.manifesto-rule{flex-shrink:0;width:48px;height:1px;background:rgba(255,255,255,0.5)}
.manifesto-text{font-family:var(--display);font-size:clamp(20px,2.8vw,38px);font-weight:300;font-style:italic;color:#fff;line-height:1.4;max-width:72ch}
 
/* Origin timeline */
.origin{background:#fff;padding:clamp(40px,6vw,68px) 0}
.origin-header{text-align:center;margin-bottom:clamp(28px,4vw,44px)}
.origin-header .eyebrow{margin-bottom:18px}
.origin-header .display-lg{color:var(--ink)}
.timeline{position:relative;max-width:780px;margin:0 auto}
.timeline::before{content:'';position:absolute;left:50%;top:0;bottom:0;width:1px;background:linear-gradient(to bottom,transparent,var(--border) 8%,var(--border) 92%,transparent);transform:translateX(-50%)}
.tl-entry{display:grid;grid-template-columns:1fr 60px 1fr;gap:0;margin-bottom:0;position:relative}
.tl-entry:nth-child(even) .tl-content{grid-column:3;text-align:left;padding-left:44px;padding-right:0}
.tl-entry:nth-child(even) .tl-node-col{grid-column:2}
.tl-entry:nth-child(even) .tl-empty{grid-column:1}
.tl-entry:nth-child(odd) .tl-content{grid-column:1;text-align:right;padding-right:44px}
.tl-entry:nth-child(odd) .tl-node-col{grid-column:2}
.tl-entry:nth-child(odd) .tl-empty{grid-column:3}
.tl-content{padding-top:8px;padding-bottom:30px}
.tl-node-col{display:flex;flex-direction:column;align-items:center;position:relative}
.tl-node{width:14px;height:14px;border-radius:50%;background:#fff;border:2px solid var(--blush);flex-shrink:0;margin-top:16px;position:relative;z-index:2;transition:background .3s}
.tl-node.accent{background:var(--blush);width:18px;height:18px;margin-top:14px}
.tl-phase{font-size:15px;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:#8f5433;margin-bottom:8px}
.tl-headline{font-family:var(--display);font-size:clamp(20px,2vw,28px);font-weight:400;line-height:1.25;color:var(--ink);margin-bottom:12px}
.tl-body{font-size:15px;color:var(--navy);line-height:1.7;max-width:38ch}
.tl-entry:nth-child(odd) .tl-body{margin-left:auto}
.tl-pullquote{font-family:var(--display);font-size:clamp(16px,1.6vw,21px);font-style:italic;color:var(--ink);line-height:1.5;margin-top:14px;max-width:36ch}
.tl-entry:nth-child(odd) .tl-pullquote{margin-left:auto}
 
/* Stat band */
.stat-band{background:var(--navy);padding:clamp(30px,5vw,46px) 0}
.stat-band-inner{display:grid;grid-template-columns:repeat(3,1fr);gap:0}
.stat-band-item{padding:0 clamp(18px,3vw,40px);border-right:1px solid rgba(255,255,255,0.1)}
.stat-band-item:first-child{padding-left:0}
.stat-band-item:last-child{border-right:none}
.stat-number{font-family:var(--display);font-size:clamp(48px,6vw,76px);font-weight:300;color:var(--blush2);line-height:1;margin-bottom:12px}
.stat-label{font-size:15px;color:rgba(242,237,234,0.7);line-height:1.6;max-width:26ch}
.stat-label strong{display:block;color:var(--fog);font-weight:500;margin-bottom:4px;font-size:15px}
 
/* Beliefs */
.beliefs{background:var(--fog);padding:clamp(40px,6vw,64px) 0;overflow:hidden}
.beliefs-header{margin-bottom:30px}
.beliefs-header .display-lg{margin:16px 0 20px}
.beliefs-header p{color:var(--navy);max-width:60ch}
.beliefs-track{display:grid;grid-template-columns:repeat(3,1fr);gap:2px}
.belief-card{background:#fff;padding:32px 28px;display:flex;flex-direction:column;gap:12px;border-bottom:3px solid transparent;transition:border-color .25s}
.belief-card:hover{border-bottom-color:var(--blush)}
.belief-card:nth-child(2){background:var(--ink)}
.belief-card:nth-child(2) .belief-title{color:var(--fog)}
.belief-card:nth-child(2) .belief-body{color:rgba(242,237,234,0.7)}
.belief-card:nth-child(2):hover{border-bottom-color:var(--blush2)}
.belief-icon{font-family:var(--display);font-size:40px;font-weight:300;color:var(--blush);line-height:1}
.belief-title{font-family:var(--display);font-size:clamp(18px,1.8vw,24px);font-weight:400;color:var(--ink);line-height:1.3}
.belief-body{font-size:15px;color:var(--navy);line-height:1.65;max-width:100%;margin:0}
 
/* Mission */
.mission{background:#fff;padding:clamp(40px,6vw,68px) 0}
.mission-inner{max-width:820px;margin:0 auto}
.about-hero-image{width:100%;height:clamp(380px,min(52vw,68vh),780px);object-fit:cover;object-position:center 20%;display:block}
.mission .eyebrow{margin-bottom:28px}
.mission-statement{font-family:var(--display);font-size:clamp(28px,4vw,52px);font-weight:300;line-height:1.25;color:var(--ink);margin-bottom:30px}
.mission-statement em{font-style:italic;color:var(--blush)}
.mission-pillars{display:grid;grid-template-columns:repeat(3,1fr);gap:32px;border-top:1px solid var(--border);padding-top:28px}
.pillar-label{font-size:15px;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:#8f5433;margin-bottom:10px}
.pillar-text{font-size:16px;color:var(--navy);line-height:1.7;max-width:100%;margin:0}
 
/* Founder closer */
.founder-closer{background:var(--fog);padding:0 0 clamp(80px,10vw,130px)}
.founder-img-band{width:100%;max-height:520px;overflow:hidden;background:var(--ink);display:flex;align-items:center;justify-content:center;position:relative}
.founder-img-band img{width:100%;height:520px;object-fit:cover}
.founder-img-placeholder{width:100%;height:520px;background:linear-gradient(160deg,var(--navy) 0%,var(--ink) 60%,rgba(196,130,106,0.15) 100%);display:flex;align-items:center;justify-content:center}
.founder-img-caption-overlay{position:absolute;bottom:0;left:0;right:0;padding:40px clamp(20px,5vw,60px);background:linear-gradient(to top,rgba(26,31,46,0.85) 0%,transparent 100%);display:flex;align-items:flex-end;justify-content:space-between;gap:32px}
.founder-name{font-family:var(--display);font-size:clamp(24px,3vw,40px);font-weight:300;color:var(--fog);line-height:1.1}
.founder-title-tag{font-size:14px;letter-spacing:.1em;text-transform:uppercase;color:var(--blush2);margin-top:6px}
.founder-quote-overlay{font-family:var(--display);font-size:clamp(15px,1.5vw,20px);font-style:italic;color:rgba(242,237,234,0.8);max-width:42ch;text-align:right;line-height:1.5}
.founder-body{max-width:680px;margin:clamp(48px,6vw,72px) auto 0;padding:0 clamp(20px,5vw,60px)}
.founder-body p{font-size:17px;color:var(--navy);line-height:1.75;max-width:66ch}
.founder-body p + p{margin-top:20px}
.founder-sig{margin-top:36px;display:flex;align-items:center;gap:20px}
.sig-line{font-family:var(--display);font-size:28px;font-style:italic;font-weight:400;color:var(--ink)}
.sig-dash{width:32px;height:1px;background:var(--blush)}
.sig-role{font-size:14px;letter-spacing:.08em;text-transform:uppercase;color:var(--grey)}
 
/* Final CTA + ghost button */
.about-cta{background:var(--ink);padding:clamp(36px,5vw,52px) 0;text-align:center}
.about-cta .eyebrow{color:var(--blush2);margin-bottom:20px}
.about-cta .display-lg{color:var(--fog);margin-bottom:28px;max-width:600px;margin-left:auto;margin-right:auto}
.about-cta p{color:rgba(242,237,234,0.6);font-size:16px;margin:0 auto 36px;max-width:50ch}

   classes explicitly in the markup. */
.about-cta-btn{background:var(--blush);color:#fff;font-size:15px;font-weight:500;letter-spacing:.08em;text-transform:uppercase;padding:18px 40px;border:0;cursor:pointer;text-decoration:none;display:inline-block;transition:background .2s;border-radius:8px}
.about-cta-btn:hover{background:var(--blush2)}
.about-cta-ghost{background:transparent;color:rgba(242,237,234,0.6);font-size:15px;font-weight:400;letter-spacing:.06em;text-transform:uppercase;padding:18px 24px;border:0;cursor:pointer;text-decoration:underline;text-underline-offset:4px;display:inline-block;margin-left:12px;transition:color .2s}
.about-cta-ghost:hover{color:var(--fog)}
 
@media(max-width:860px){
  .timeline::before{left:28px}
  .tl-entry{grid-template-columns:56px 1fr}
  .tl-entry .tl-content{grid-column:2;text-align:left;padding-right:0;padding-left:28px}
  .tl-entry .tl-node-col{grid-column:1}
  .tl-entry .tl-empty{display:none}
  .tl-entry:nth-child(odd) .tl-body,.tl-entry:nth-child(odd) .tl-pullquote{margin-left:0}
  .stat-band-inner{grid-template-columns:1fr;gap:40px}
  .stat-band-item{border-right:none;padding-left:0;border-bottom:1px solid rgba(255,255,255,0.1);padding-bottom:32px}
  .stat-band-item:last-child{border-bottom:none}
  .beliefs-track{grid-template-columns:1fr}
  .mission-pillars{grid-template-columns:1fr;gap:24px}
  .founder-quote-overlay{display:none}
  .manifesto-text{font-size:clamp(18px,4vw,28px)}
}
 
/* Review + testimonial carousels */
.reviews-heading{display:flex;justify-content:space-between;align-items:end;gap:30px}
.review-read-first{border-left:2px solid var(--blush);padding-left:16px;min-width:190px}
.review-read-first span{display:block;font-family:'Cormorant Garamond';font-size:24px}
.review-read-first small{color:var(--grey);font-size:15px}
.carousel{position:relative;margin-top:45px;padding:0 48px 46px}
.carousel-viewport{overflow:hidden}
.carousel-track{display:flex;gap:20px;transition:transform .42s cubic-bezier(.22,.61,.36,1);will-change:transform}
.review-card,.testimonial-card{flex:0 0 calc((100% - 40px)/3);min-width:0;margin:0;background:var(--fog);padding:28px}
.review-card{display:flex;flex-direction:column}
.review-photo,.testimonial-photo{width:100%;aspect-ratio:1/1;overflow:hidden;margin:-28px -28px 24px;width:calc(100% + 56px)}
.review-photo img,.testimonial-photo img{width:100%;height:100%;object-fit:cover}
.review-stars{color:var(--blush);letter-spacing:.1em;font-size:15px}
.review-card h3{font-family:'Cormorant Garamond';font-size:27px;line-height:1.1;margin:14px 0 8px}
.review-card p{font-size:14px;color:#555;margin:0 0 20px}
.review-card cite{font-size:15px;color:var(--grey);font-style:normal;margin-top:auto}
.carousel-arrow{position:absolute;top:45%;transform:translateY(-50%);width:42px;height:42px;border:1px solid var(--border);background:var(--white);border-radius:50%;font-size:29px;line-height:1;cursor:pointer;z-index:2;display:grid;place-items:center}
.carousel-arrow:hover{background:var(--ink);color:#fff}
.carousel-prev{left:0}.carousel-next{right:0}
.carousel-arrow[disabled]{opacity:.3;cursor:default}
.carousel-dots{position:absolute;bottom:0;left:0;right:0;display:flex;justify-content:center;gap:7px}
.carousel-dot{width:24px;height:24px;border:0;border-radius:50%;background:transparent;padding:0;cursor:pointer;position:relative}.carousel-dot:after{content:'';position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:7px;height:7px;border-radius:50%;background:var(--border)}
.carousel-dot.is-active:after{background:var(--blush);transform:translate(-50%,-50%) scale(1.35)}
.testimonial-section{background:var(--white)}
.testimonial-card{background:var(--ink);color:#fff;min-height:320px;position:relative;display:flex;flex-direction:column}
.testimonial-card .testimonial-photo{margin:-28px -28px 20px;width:calc(100% + 56px);aspect-ratio:.85}
.testimonial-mark{font-family:'Cormorant Garamond';font-size:65px;line-height:.55;color:var(--blush2)}
.testimonial-text{font-family:'Cormorant Garamond';font-size:25px;line-height:1.25;margin:12px 0 22px}
.testimonial-author{font-size:15px;font-weight:600;margin-top:auto}.testimonial-detail{font-size:15px;color:#aaa;margin-top:3px}
.faq-contact{margin:20px 0 0;text-align:center;color:var(--grey);font-size:15px}.faq-contact a{color:var(--ink);font-weight:600;text-decoration:none;border-bottom:1px solid var(--blush)}
.guarantee-number{display:block;font-family:'Cormorant Garamond';font-size:58px;line-height:1;color:var(--blush2);font-weight:500;margin:0 0 4px;white-space:nowrap}
.guarantee-days{display:block;line-height:1.15;margin:0;letter-spacing:.14em;font-size:15px;white-space:nowrap}
.guarantee-badge small{display:block;line-height:1.15;margin-top:7px;letter-spacing:.08em;white-space:nowrap}
@media(max-width:900px){
 .review-card,.testimonial-card{flex-basis:calc((100% - 20px)/2)}
 .reviews-heading{align-items:flex-start;flex-direction:column}
}
@media(max-width:620px){
 .carousel{padding-left:38px;padding-right:38px}
 .review-card,.testimonial-card{flex-basis:100%}
 .carousel-arrow{width:36px;height:36px;font-size:25px}
 .review-read-first{min-width:0}
}
 
/* Mobile-only refinement for the About "Where It Began" timeline */
@media(max-width:620px){
  .origin{padding-left:0;padding-right:0}
  .origin-header{margin-bottom:48px}
  .timeline{max-width:100%;padding-left:0;padding-right:0}
  .timeline::before{left:10px;transform:none}
  .tl-entry,
  .tl-entry:nth-child(even),
  .tl-entry:nth-child(odd){
    display:grid;
    grid-template-columns:20px minmax(0,1fr);
    column-gap:20px;
    margin:0;
  }
  .tl-entry .tl-node-col,
  .tl-entry:nth-child(even) .tl-node-col,
  .tl-entry:nth-child(odd) .tl-node-col{
    grid-column:1;
    grid-row:1;
  }
  .tl-entry .tl-content,
  .tl-entry:nth-child(even) .tl-content,
  .tl-entry:nth-child(odd) .tl-content{
    grid-column:2;
    grid-row:1;
    text-align:left;
    padding:8px 0 48px;
    min-width:0;
  }
  .tl-entry .tl-empty{display:none}
  .tl-entry .tl-body,
  .tl-entry .tl-pullquote,
  .tl-entry:nth-child(odd) .tl-body,
  .tl-entry:nth-child(odd) .tl-pullquote{
    margin-left:0;
    margin-right:0;
    max-width:none;
  }
  .tl-phase{margin-bottom:10px}
  .tl-headline{font-size:25px;line-height:1.2}
  .tl-body{font-size:15px;line-height:1.65}
  .tl-pullquote{font-size:18px;line-height:1.45}
  .tl-node,
  .tl-node.accent{margin-top:10px}
}
.review-photo img{object-position:center top}.testimonial-photo img{object-position:center 22%}
 
/* ================================================
   PDP — buy box, gallery arrows, reviews, shop grid
================================================ */
.gallery{position:relative}
.main-image{background:var(--fog);position:relative;aspect-ratio:4/5;overflow:hidden;border-radius:2px}
.main-image img{width:100%;height:100%;object-fit:cover}
.main-image .carousel-arrow{width:38px;height:38px;font-size:24px;background:rgba(253,252,251,.92)}
.gallery-prev{left:14px}.gallery-next{right:14px}
.thumbs button{cursor:pointer;opacity:.65;transition:opacity .15s,border-color .15s}
.thumbs button.is-active,.thumbs button:hover{opacity:1;border-color:var(--ink)}
.rating-link{text-decoration:none;cursor:pointer}
.price-save{display:inline-block;margin-left:10px;font-size:14px;color:var(--sage);font-weight:600;letter-spacing:.03em;text-transform:uppercase;vertical-align:middle}
.pdp-highlights{list-style:none;padding:0;margin:20px 0 0;display:flex;flex-direction:column;gap:9px}
.pdp-highlights li{font-size:14px;color:var(--navy);padding-left:24px;position:relative}
.pdp-highlights li:before{content:'✓';position:absolute;left:0;color:var(--sage);font-weight:700}
.pdp-buy-row{display:flex;gap:12px;margin-top:24px}
.qty-stepper{display:flex;align-items:stretch;border:1px solid var(--border);flex-shrink:0}
.qty-stepper button{background:none;border:0;width:40px;font-size:18px;cursor:pointer;color:var(--ink)}
.qty-stepper input{width:40px;border:0;border-left:1px solid var(--border);border-right:1px solid var(--border);text-align:center;font:inherit;padding:0;-moz-appearance:textfield}
.qty-stepper input::-webkit-outer-spin-button,.qty-stepper input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.pdp-buy-row .btn-full{flex:1;margin:0}
.pdp-cta-subtext{font-size:14px;color:var(--grey);text-align:center;margin:10px 0 0}
.pdp-shipping-note{font-size:14px;color:var(--grey);margin-top:18px;line-height:1.6}
.pdp-shipping-note a{color:var(--ink);font-weight:600;text-decoration:none;border-bottom:1px solid var(--blush)}
.review-summary{display:flex;align-items:center;gap:14px}
.review-summary-score{font-family:'Cormorant Garamond';font-size:52px;line-height:1;color:var(--ink)}
.review-summary-detail .review-stars{font-size:15px}
.review-summary-detail small{display:block;color:var(--grey);font-size:14px;margin-top:4px}
.review-bars{max-width:420px;margin:34px 0 0;display:flex;flex-direction:column;gap:8px}
.review-bar-row{display:grid;grid-template-columns:30px 1fr 36px;align-items:center;gap:10px;font-size:14px;color:var(--grey)}
.review-bar{height:6px;background:var(--border);border-radius:3px;overflow:hidden}
.review-bar i{display:block;height:100%;background:var(--blush);border-radius:3px}
.shop-trust{display:flex;justify-content:center;flex-wrap:wrap;gap:10px 28px;margin-top:20px;color:var(--grey);font-size:15px}
.shop-trust span:before{content:'✓';color:var(--sage);margin-right:6px}
.shop-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(340px,1fr));gap:36px;margin-top:55px;max-width:1000px;margin-left:auto;margin-right:auto}
.shop-grid:has(.shop-card:only-child){max-width:440px}
.shop-card{display:flex;flex-direction:column;background:var(--fog);text-decoration:none;color:inherit;overflow:hidden;transition:transform .2s,box-shadow .2s}
.shop-card:hover{transform:translateY(-4px);box-shadow:0 18px 40px rgba(26,31,46,.1)}
.shop-card-media{position:relative;aspect-ratio:4/5;overflow:hidden;background:var(--white)}
.shop-card-media img{width:100%;height:100%;object-fit:cover}
.shop-card-badge{position:absolute;top:16px;left:16px;background:var(--ink);color:#fff;font-size:15px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;padding:6px 12px;border-radius:2px}
.shop-card-body{padding:30px 30px 32px;display:flex;flex-direction:column;flex:1}
.shop-card-body h2{font-family:'Cormorant Garamond';font-size:29px;font-weight:400;margin:10px 0 10px}
.shop-card-body p{font-size:15px;color:var(--grey);margin:0 0 18px;flex:1}
.shop-card-footer{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:auto}
.shop-card-price{font-size:18px;font-weight:600}
.shop-card-price s{color:var(--grey);font-weight:400;font-size:15px;margin-left:8px}
.shop-card-footer .btn{padding:13px 22px;font-size:15px}
@media(max-width:620px){.pdp-buy-row{flex-wrap:wrap}.review-summary{margin-top:18px}}
@media(max-width:400px){.shop-grid{grid-template-columns:1fr}}
 
/* ================================================
   Details & specs section
================================================ */
.spec-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--border);margin:45px 0 30px;border-radius:10px;overflow:hidden}
.spec-item{background:var(--white);padding:26px 18px;text-align:center}
.spec-item span{display:block;font-size:14px;letter-spacing:.06em;text-transform:uppercase;color:var(--grey);margin-bottom:8px}
.spec-item strong{font-family:'Cormorant Garamond';font-size:19px;font-weight:500;color:var(--ink)}
.details-accordion{border-top:1px solid var(--border);border-bottom:1px solid var(--border);max-width:850px;margin:0 auto}
.details-accordion summary{cursor:pointer;font-weight:600;padding:20px 4px;list-style:none;font-size:14px}
.details-accordion summary::-webkit-details-marker{display:none}
.details-accordion summary:after{content:'+';float:right;font-size:20px;color:var(--blush)}
.details-accordion[open] summary:after{content:'−'}
.details-body{padding:0 4px 26px;font-size:14px;color:var(--navy);line-height:1.8}
.details-body ul{padding-left:20px;margin:12px 0}
.details-body li{margin-bottom:6px}
.details-body p{margin:0 0 12px}
.details-disclaimer{font-size:14px;color:var(--grey);margin:22px auto 0;line-height:1.6;max-width:700px;text-align:center}
.lead p{margin:0 0 14px}
.lead p:last-child{margin-bottom:0}
 
/* ================================================
   Softer, rounder buttons / cards / inputs
================================================ */
.btn{border-radius:8px}
.btn-soft{border-radius:12px;box-shadow:0 10px 26px rgba(26,31,46,.16);transition:transform .15s,box-shadow .15s}
.btn-soft:hover{transform:translateY(-1px);box-shadow:0 14px 30px rgba(26,31,46,.2)}
.hero-media img{border-radius:8px}
.rounded-image{border-radius:12px}
.thumbs button{border-radius:6px;overflow:hidden}
.thumbs button img{border-radius:5px}
.main-image{border-radius:12px}
.qty-stepper{border-radius:10px;overflow:hidden}
.variants select,.quantity input,.page-copy input,.page-copy textarea{border-radius:8px}
.shop-card{border-radius:14px}
.review-card,.testimonial-card{border-radius:14px;overflow:hidden}
.shop-card-badge{border-radius:20px}
.price-save{border-radius:20px;padding:2px 10px;background:rgba(143,166,150,.15)}
.feature-grid,.stats{border-radius:10px;overflow:hidden}
 
/* ================================================
   Mobile legibility pass
================================================ */
@media(max-width:800px){
  .eyebrow{font-size:15px;letter-spacing:.12em}
  .trust{font-size:15px}
  .testimonial-detail{font-size:15px}
  .review-summary-detail small{font-size:14px}
  .stats span{font-size:15px}
  .guarantee-badge small{font-size:13px}
  .pdp-cta-subtext,.pdp-shipping-note,.details-disclaimer{font-size:14px;line-height:1.7}
  .feature-grid p,.checks li,.pdp-highlights li,.details-body{font-size:15px}
  .lead{font-size:17px}
  .review-card p,.reviews p{font-size:15px}
  .spec-item strong{font-size:18px}
  .spec-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:520px){.spec-grid{grid-template-columns:1fr 1fr}}
 

.pdp-grid{
  grid-template-columns:1.6fr 1fr;
  gap:56px;
}
@media(max-width:800px){
  .pdp-grid{grid-template-columns:1fr}
}
/
.lead p{margin:0 0 12px}
.lead p:last-child{margin-bottom:0}
 

.gallery{position:sticky;top:110px}
.main-image{
  background:var(--fog);
  position:relative;
  overflow:hidden;
  border-radius:12px;
  aspect-ratio:var(--img-ratio,4/5);
  max-height:min(64vh,600px);
  min-height:280px;
  display:flex;
  align-items:center;
  justify-content:center;
}
.main-image img{
  width:100%;
  height:100%;
  object-fit:contain;
  object-position:center;
}
.main-image .carousel-arrow{
  position:absolute;top:50%;transform:translateY(-50%);
  width:42px;height:42px;border-radius:50%;border:0;cursor:pointer;
  font-size:20px;line-height:1;background:rgba(253,252,251,.94);
  box-shadow:0 4px 14px rgba(26,31,46,.16);
  display:flex;align-items:center;justify-content:center;
  z-index:2;
}
.gallery-prev{left:14px}.gallery-next{right:14px}
.thumbs{
  display:flex;gap:10px;margin-top:12px;
  overflow-x:auto;padding:2px 2px 8px;
  scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch;
}
.thumbs::-webkit-scrollbar{height:5px}
.thumbs::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}
.thumbs button{
  flex:0 0 72px;width:72px;aspect-ratio:1/1;
  background:var(--fog);border:1px solid var(--border);border-radius:8px;
  padding:0;overflow:hidden;scroll-snap-align:start;cursor:pointer;
  display:flex;align-items:center;justify-content:center;
  opacity:.7;transition:opacity .15s,border-color .15s,box-shadow .15s;
}
.thumbs button img{width:100%;height:100%;object-fit:contain;border-radius:6px}
.thumbs button.is-active,.thumbs button:hover{
  opacity:1;border-color:var(--blush);box-shadow:0 0 0 1px var(--blush);
}
@media(max-width:800px){
  .main-image{max-height:min(52vh,440px);min-height:240px;border-radius:14px}
  .thumbs button{flex-basis:62px;width:62px}
  .gallery{position:static}
}
 

.buy-box{
  position:relative;
  background:var(--fog);
  border:1px solid rgba(200,81,3,.22);
  border-radius:16px;
  padding:24px 24px 22px;
  margin:26px 0 20px;
  box-shadow:0 20px 44px -24px rgba(200,81,3,.38),0 2px 10px rgba(20,20,20,.05);
}
.buy-box:before{
  content:'';
  position:absolute;
  inset:-20px -20px auto -20px;
  height:130px;
  background:radial-gradient(60% 100% at 50% 0%,rgba(200,81,3,.09),rgba(200,81,3,0) 72%);
  pointer-events:none;
  z-index:0;
}
.buy-box > *{position:relative;z-index:1}
.buy-box .price{
  font-size:30px;font-weight:600;margin:0;
  display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;
}
.buy-box .price s{font-size:16px}
.buy-box .pdp-highlights{margin-top:14px;padding-bottom:14px;border-bottom:1px solid var(--border)}
.buy-box .variants{margin-top:16px}
.buy-box .pdp-buy-row{margin-top:20px}
.buy-box .trust{margin-top:16px;padding-top:18px;border-top:1px solid var(--border)}
 
.qty-stepper{min-height:56px}
.qty-stepper button{width:46px;font-size:20px}
.qty-stepper input{width:44px;font-size:15px}
 

.btn-atc{
  position:relative;
  min-height:56px;
  font-size:15px;
  padding:19px 26px;
  display:flex;align-items:center;justify-content:center;gap:10px;
}
.btn-atc[disabled]{opacity:.55;cursor:not-allowed;transform:none!important;box-shadow:none!important}
.atc-spinner{
  width:16px;height:16px;flex:0 0 16px;
  border:2px solid rgba(255,255,255,.35);border-top-color:#fff;border-radius:50%;
  display:none;animation:haven-spin .7s linear infinite;
}
.btn-atc.is-loading .atc-spinner{display:inline-block}
.btn-atc.is-loading [data-atc-label]{opacity:.85}

.btn-atc.is-added{background:var(--sage)}
@keyframes haven-spin{to{transform:rotate(360deg)}}
.atc-error{
  display:none;color:#a8382f;font-size:14px;text-align:center;
  margin:12px 0 0;line-height:1.5;
}
.atc-error.is-visible{display:block}
 

.buy-box .btn-atc{
  min-height:60px;
  font-size:15px;
  letter-spacing:.03em;
  overflow:hidden;
  box-shadow:0 12px 26px -10px rgba(200,81,3,.48);
  transition:transform .15s ease,box-shadow .15s ease;
  animation:pdp-cta-pulse 2.8s ease-in-out infinite;
}
.buy-box .btn-atc [data-atc-label],
.buy-box .btn-atc .atc-spinner{
  position:relative;
  z-index:1;
}
.buy-box .btn-atc:hover,.buy-box .btn-atc:focus-visible{
  transform:translateY(-2px);
  box-shadow:0 16px 30px -10px rgba(200,81,3,.55);
}
.buy-box .btn-atc:before{
  content:'';
  position:absolute;
  top:0;left:-60%;
  width:35%;height:100%;
  background:linear-gradient(115deg,rgba(255,255,255,0) 0%,rgba(255,255,255,.32) 50%,rgba(255,255,255,0) 100%);
  transform:skewX(-18deg);
  animation:pdp-cta-shine 4.5s ease-in-out infinite;
  pointer-events:none;
  z-index:0;
}
@keyframes pdp-cta-shine{
  0%,20%{left:-60%}
  45%,100%{left:130%}
}
@keyframes pdp-cta-pulse{
  0%,100%{box-shadow:0 12px 26px -10px rgba(200,81,3,.48),0 0 0 0 rgba(200,81,3,.35)}
  50%{box-shadow:0 12px 26px -10px rgba(200,81,3,.48),0 0 0 11px rgba(200,81,3,0)}
}
@media(prefers-reduced-motion:reduce){
  .buy-box .btn-atc{animation:none}
  .buy-box .btn-atc:hover{transform:none}
  .buy-box .btn-atc:before{animation:none;display:none}
}
 

.price-tag{
  display:inline-block;font-size:14px;font-weight:700;letter-spacing:.1em;
  text-transform:uppercase;color:var(--cta);margin:0 0 6px;
}
.buy-box .price-save{
  background:rgba(200,81,3,.12);
  color:var(--cta-hover);
}
.pdp-stock-low{
  display:flex;align-items:center;gap:6px;
  font-size:14px;font-weight:600;color:var(--cta-hover);
  margin:10px 0 0;
}
.pdp-stock-low:before{content:'●';color:var(--cta);font-size:8px}
 

.gift-banner{
  display:flex;gap:10px;align-items:flex-start;
  background:rgba(200,81,3,.07);
  border:1px solid rgba(200,81,3,.22);
  border-radius:12px;
  padding:11px 14px;
  margin-top:18px;
  transition:background .3s,border-color .3s;
}
.gift-banner-icon{font-size:17px;line-height:1;flex-shrink:0;margin-top:1px}
.gift-banner strong{display:block;font-size:15px;font-weight:700;color:var(--ink);margin-bottom:2px}
.gift-banner p{margin:0;font-size:15px;line-height:1.4;color:var(--grey)}
.gift-banner.is-confirmed{background:rgba(143,166,150,.18);border-color:var(--sage)}
.cart-summary-panel .gift-banner,.drawer-foot .gift-banner{margin:0 0 16px}
 

.pdp{padding-bottom:36px}
.pdp ~ .dark-section{padding-top:70px}
 

.buy-box,.pdp-copy{max-width:100%}
.price,.pdp-highlights li,.gift-banner p,.gift-banner strong,
.trust span,.pdp-cta-subtext,.pdp-shipping-note{overflow-wrap:break-word}
html,body{overflow-x:clip}
@media(max-width:420px){
  .buy-box{padding:20px 18px 18px}
  .pdp-buy-row{flex-wrap:wrap}
  .pdp-buy-row .qty-stepper{width:100%;justify-content:center}
  .pdp-buy-row .btn-full{flex-basis:100%}
}
 
/* ---- 3. Mobile sticky Add to Cart bar ---- */
.sticky-atc{
  display:none;
  position:fixed;left:0;right:0;bottom:0;z-index:40;
  background:#fff;border-top:1px solid var(--border);
  box-shadow:0 -8px 24px rgba(26,31,46,.1);
  padding:12px 16px calc(12px + env(safe-area-inset-bottom));
  transform:translateY(100%);transition:transform .25s ease;
}
.sticky-atc.is-visible{transform:translateY(0)}
.sticky-atc-inner{
  display:flex;align-items:center;gap:14px;
  max-width:var(--max);margin:auto;
}
.sticky-atc-price{font-size:16px;font-weight:600;white-space:nowrap;flex-shrink:0}
.sticky-atc .btn-atc{flex:1;min-height:50px;padding:14px 18px;font-size:12.5px}
@media(max-width:800px){.sticky-atc{display:block}}
 
/* ---- 4. Shared cart line items (cart page + drawer) ---- */
.cart-line{display:flex;gap:16px;padding:18px 0;border-bottom:1px solid var(--border);transition:opacity .15s}
.cart-line:last-child{border-bottom:0}
.cart-line.is-updating{opacity:.45;pointer-events:none}
.cart-line-media{
  flex:0 0 92px;width:92px;aspect-ratio:1/1;
  background:var(--fog);border-radius:10px;overflow:hidden;
  display:flex;align-items:center;justify-content:center;
}
.cart-line-media img{width:100%;height:100%;object-fit:contain}
.cart-line-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:10px}
.cart-line-top{display:flex;justify-content:space-between;gap:10px}
.cart-line-title{font-size:15px;font-weight:600;margin:0;line-height:1.35}
.cart-line-variant{font-size:15px;color:var(--grey);margin:4px 0 0}

.cart-line-remove{
  background:none;border:0;color:var(--grey);font-size:19px;line-height:1;
  cursor:pointer;padding:8px;margin:-8px;flex-shrink:0;transition:color .15s;
}
.cart-line-remove:hover{color:#a8382f}
.cart-line-bottom{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:auto}
.cart-line-price{font-size:15px;font-weight:600;color:var(--ink)}
.qty-stepper-sm{min-height:38px}
.qty-stepper-sm button{width:32px;font-size:15px}
.qty-stepper-sm input{width:36px;font-size:15px}
 
/* ---- 5. Cart page layout ---- */
.cart-page-section{padding-top:44px}
.cart-empty{padding:36px 0 24px;text-align:center}
.cart-empty p{color:var(--grey);margin:0 0 22px}
.cart-layout{display:grid;grid-template-columns:1.5fr 1fr;gap:44px;align-items:start;margin-top:26px}
.cart-items{border-top:1px solid var(--border)}
.cart-items .cart-line{padding:18px 0}
.cart-items .cart-line-media{flex-basis:120px;width:120px}
.cart-summary-panel{
  background:var(--fog);border:1px solid var(--border);border-radius:16px;
  padding:22px;position:sticky;top:110px;
}
.cart-summary-row{
  display:flex;justify-content:space-between;align-items:baseline;
  font-size:17px;font-weight:600;padding:14px 0;
  border-top:1px solid var(--border);border-bottom:1px solid var(--border);margin:4px 0 14px;
}
.cart-summary-note{font-size:15px;color:var(--grey);margin:0 0 14px;line-height:1.6}
.cart-summary-panel .btn-atc{width:100%}
.cart-trust{display:flex;flex-direction:column;gap:8px;margin-top:14px;color:var(--grey);font-size:15px}
.cart-trust span:before{content:'✓';color:var(--sage);margin-right:6px}
@media(max-width:800px){
  .cart-layout{grid-template-columns:1fr;gap:34px}
  .cart-summary-panel{position:static}
  .cart-items .cart-line-media{flex-basis:96px;width:96px}
}
 
/* ---- 6. Free shipping progress bar (cart page + drawer) ---- */
.fs-bar{margin:0 0 20px}
.fs-bar-label{font-size:15px;font-weight:600;color:var(--navy);margin:0 0 8px;text-align:center}
.fs-bar-label strong{color:var(--ink)}
.fs-bar-track{height:6px;background:var(--border);border-radius:4px;overflow:hidden}
.fs-bar-fill{height:100%;background:var(--sage);border-radius:4px;transition:width .35s ease}
 
/* ---- 7. Cart drawer layout ---- */
.cart-drawer{display:flex;flex-direction:column;padding:0}
.cart-drawer-head{
  display:flex;align-items:center;justify-content:space-between;
  padding:18px 22px;border-bottom:1px solid var(--border);flex-shrink:0;
}
.cart-drawer-head h2{
  font-family:'Cormorant Garamond';font-weight:400;font-size:26px;margin:0;
  display:flex;align-items:baseline;gap:8px;
}
.cart-drawer-count{font-family:'DM Sans',sans-serif;font-size:15px;color:var(--grey);font-weight:400}
.drawer-close{font-size:22px;color:var(--grey);line-height:1;float:none;padding:10px;margin:-10px}
.drawer-close:hover{color:var(--ink)}
.cart-drawer .fs-bar{padding:18px 24px 0;flex-shrink:0}
.drawer-empty{padding:50px 20px;text-align:center}
.drawer-empty p{color:var(--grey);margin:0 0 20px}
.drawer-items{flex:1;overflow-y:auto;padding:4px 20px}
.drawer-items .cart-line-media{flex-basis:80px;width:80px}
.drawer-foot{padding:16px 20px 20px;border-top:1px solid var(--border);flex-shrink:0}
.drawer-subtotal{display:flex;justify-content:space-between;font-size:16px;font-weight:600;margin-bottom:14px}
.drawer-foot .btn-atc{width:100%}
.drawer-view-cart{display:block;text-align:center;font-size:15px;margin-top:12px;color:var(--grey);text-decoration:underline}
.drawer-trust{display:flex;justify-content:center;flex-wrap:wrap;gap:6px 16px;margin-top:12px;color:var(--grey);font-size:15px}
.drawer-trust span:before{content:'✓';color:var(--sage);margin-right:5px}
@media(max-width:480px){
  .cart-drawer-head,.drawer-items,.drawer-foot{padding-left:18px;padding-right:18px}
  .cart-drawer .fs-bar{padding-left:18px;padding-right:18px}
}
 
/* ---- 8. Focus states (keyboard accessibility) ---- */
.btn:focus-visible,.qty-stepper button:focus-visible,.cart-line-remove:focus-visible,
.thumbs button:focus-visible,.drawer-close:focus-visible{
  outline:2px solid var(--blush);outline-offset:2px;
}
 

:root{--cta:#C85301;--cta-hover:#A84401;--cta-active:#8f3a08}
.btn-primary{background:var(--cta);border-color:var(--cta);color:#fff}
.btn-primary:hover{background:var(--cta-hover)}
.btn-primary:active{background:var(--cta-active)}
 

.shop-card-media{
  aspect-ratio:var(--img-ratio,4/5);
  background:var(--fog);
  display:flex;align-items:center;justify-content:center;
}
.shop-card-media img{width:100%;height:100%;object-fit:contain}
 

/* Full-viewport cart drawer fix (2026-09-18): the previous rule here set
   height:auto with a max-height cap, which let the drawer's flex column
   shrink to fit its content instead of filling the viewport — that's why
   it stopped short of the bottom on desktop whenever the cart had only a
   few lines. Setting an explicit height (with the 100dvh override for
   browsers that support the dynamic viewport unit) makes the drawer
   always span the full viewport, top to bottom, regardless of content. */
.cart-drawer{height:100vh;height:100dvh}
.drawer-items{flex:1 1 auto;min-height:0}

/* ================================================================
   NON-PDP OPTIMIZATION PASS (2026-08-30)
   ----------------------------------------------------------------
   Everything below is scoped so it can never touch how the Product
   page renders. Several base rules above (.faq-preview, .review-card
   p, .btn, .eyebrow, .section, etc.) are shared with PDP markup —
   where a shared rule was already safe to adjust (protected by a
   more-specific pdp2.css !important override, or simply not used on
   the live product template) it was edited directly further up this
   file. Where it wasn't safe, the fix lives here instead: a rule
   scoped to a non-PDP selector (id, or a class added only to a
   non-PDP section file) that wins the cascade for that page only and
   leaves every PDP instance of the shared class untouched.
================================================================ */

/* FAQ page + Contact page use .page-copy — never rendered on the PDP
   (pdp-faq.liquid uses .faq-preview instead) — so this can be tuned
   freely without affecting the shared .faq-preview,.page-copy rule
   above. */
.page-copy details{border-top:1px solid var(--border);padding:18px 0}
.page-copy summary{cursor:pointer;font-weight:600;font-size:17px;line-height:1.4}
.page-copy details>p{font-size:15px;line-height:1.65;color:var(--navy);margin:10px 0 0}
.page-copy h1{margin-bottom:8px}
.page-copy > p{color:var(--grey);font-size:16px;max-width:65ch;margin:0 0 8px}

/* Home FAQ preview shares .faq-preview with the PDP's FAQ accordion,
   so the shared rule above is left alone. home-faq.liquid carries an
   extra "home-faq" class (non-PDP file) so this compacts + resizes
   only the homepage instance. */
.home-faq details{padding:16px 0}
.home-faq summary{font-size:17px;line-height:1.4}
.home-faq details>p{font-size:15px;line-height:1.65;color:var(--navy);margin:8px 0 0}

/* Home "Reviews" carousel (id="reviews") shares .review-card with the
   PDP reviews section (id="pdp-reviews"). .review-card p has no
   protective pdp2.css override, so instead of touching the shared
   base rule this targets the homepage instance only via its id. */
#reviews .review-card p{font-size:15px}
/* .carousel's 45px margin-top is also shared with PDP carousels (no
   override exists for it), so trim it here, scoped to the homepage
   reviews carousel only. */
#reviews .carousel{margin-top:28px}
#reviews .reviews-heading{margin-bottom:4px}

/* Collection / shop grid: tighter card rhythm, no dead space between
   cards and the page header. */
.shop-grid{margin-top:40px;gap:28px}
.shop-card-body{padding:22px 24px 24px}
.shop-card-body h2{margin:6px 0 8px}

/* Cart empty-state + drawer empty-state CTA a little tighter. */
.cart-empty .btn,.drawer-empty .btn{margin-top:4px}
.drawer-empty{padding:36px 20px}

/* 404 / simple page: remove excess top padding on short, single-purpose pages. */
.not-found-section,.simple-page-section{padding-top:44px;padding-bottom:44px}

/* ================================================================
   PERFORMANCE / ACCESSIBILITY PASS (2026-08-30)
================================================================ */

/* .eyebrow's color was just darkened sitewide to fix a text-contrast
   failure (3.04:1 on white — below the 4.5:1 AA minimum). The PDP
   already forces its own eyebrow font-size via pdp2.css !important
   overrides on these exact selectors, so restoring the original blush
   here — scoped to only those PDP-exclusive selectors, never the
   shared .faq-preview class the home FAQ preview also uses — keeps
   every PDP eyebrow pixel-identical to before. */
.pdp2-faq-section .eyebrow,
.guarantee-compact .eyebrow,
#pdp-reviews .eyebrow,
.pdp2-testimonials .eyebrow,
.pdp2-benefits .eyebrow,
.pdp2-conditions .eyebrow,
.pdp2-features .eyebrow{color:var(--blush)}

@media(max-width:800px){
  .header-inner{padding:12px 20px;gap:20px}
  .footer{padding:32px 0 16px}
  .footer-inner{gap:28px}
  .cart-drawer-head{padding:14px 18px}
  .drawer-foot{padding:14px 18px 18px}
  .drawer-items{padding:4px 18px}
  .page-copy details{padding:14px 0}
  .home-faq details{padding:13px 0}
  .about-hero-sub{max-width:none}
}




/* ================================================================
   CART DRAWER — FULL-SCREEN MOBILE FIX (2026-09-18)
   ----------------------------------------------------------------
   Deliberately placed last in the file so it wins the cascade over
   the .drawer-foot / .cart-drawer-head padding rules in the
   max-width:800px block above at the same mobile widths. Only the
   drawer's outer width and the footer's bottom safe-area padding
   are touched here — internal layout, colors, type and buttons are
   untouched. Below 480px the drawer already reaches full height via
   the .cart-drawer height:100dvh rule earlier in this file; this
   block makes it reach full WIDTH too (the base rule caps it at
   min(420px,90vw), which left a visible sliver of backdrop on the
   left edge on phones) and pads the footer for the iPhone home-
   indicator / Android gesture-bar safe area so the checkout button
   is never crowded against the bottom edge.
================================================================ */
@media(max-width:480px){
  .cart-drawer{width:100%}
  .drawer-foot{padding-bottom:calc(20px + env(safe-area-inset-bottom))}
}


