:root{
  --mauve:#AC8E9E;
  --mauve-deep:#6E485E;
  --mauve-soft:#D8C4CF;
  --sage:#8FAC8E;
  --aqua:#8EACAB;
  --alabaster:#F6F3F4;
  --ink:#2B2027;
  --line:rgba(43,32,39,.18);
  --white:#fff;
  --display:'Fraunces',Georgia,serif;
  --body:'Manrope',Arial,sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--alabaster);color:var(--ink);font-family:var(--body);line-height:1.5;-webkit-font-smoothing:antialiased}
body.is-locked{overflow:hidden}
button,input,textarea{font:inherit}
button,a{color:inherit}
a{text-decoration:none}
img{display:block;max-width:100%}
.announcement{height:34px;display:grid;place-items:center;background:var(--sage);font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.12em}
.site-header{height:90px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:0 32px;background:var(--mauve-deep);color:var(--white);border-bottom:1px solid rgba(255,255,255,.25);position:sticky;top:0;z-index:40}
.desktop-nav{display:flex;align-items:center;gap:28px;font-size:13px;font-weight:800;text-transform:uppercase}
.nav-right{justify-content:flex-end}
.brand{display:block;width:240px;justify-self:center}
.brand img{width:100%;height:62px;object-fit:contain}
.bag-button,.desktop-nav a,.back-link{background:none;border:0;padding:8px 0;cursor:pointer;font-weight:800;text-transform:uppercase;font-size:13px}
.bag-button span{display:inline-grid;place-items:center;min-width:24px;height:24px;margin-left:4px;border:1px solid currentColor;border-radius:50%}
.icon-btn{width:44px;height:44px;border:0;background:transparent;display:grid;place-items:center;font-size:28px;cursor:pointer}
.menu-toggle,.mobile-bag{display:none;color:white}
.mobile-menu{position:fixed;top:124px;left:0;right:0;z-index:39;padding:22px 24px;background:var(--alabaster);border-bottom:1px solid var(--line)}
.mobile-menu a{display:block;padding:14px 0;border-bottom:1px solid var(--line);font-weight:800}
.eyebrow{margin:0 0 18px;font-size:11px;font-weight:800;letter-spacing:.2em;text-transform:uppercase}
h1,h2,h3,p{margin-top:0}
h1,h2{font-family:var(--display);font-weight:900;letter-spacing:0}
.editorial-copy h2 em{font-style:italic;color:var(--mauve-soft)}
.button{min-height:50px;padding:14px 24px;border:1px solid transparent;border-radius:2px;display:inline-flex;align-items:center;justify-content:center;font-size:13px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;cursor:pointer;transition:transform .2s,background .2s,color .2s}
.button:hover{transform:translateY(-2px)}
.button-light{background:var(--alabaster);color:var(--ink)}
.button-dark{background:var(--ink);color:var(--white)}
.button-full{width:100%}
.collection-tabs{display:flex;justify-content:center;gap:42px;padding:22px 24px;border-bottom:1px solid var(--line);background:var(--alabaster);position:sticky;top:90px;z-index:20;overflow:auto;white-space:nowrap}
.collection-tabs a{font-size:12px;font-weight:800;text-transform:uppercase}
.products-section{padding:64px 24px 110px;max-width:1500px;margin:0 auto}
.section-heading{display:block;margin-bottom:28px}
.section-heading h2,.editorial-copy h2,.opportunity h2,.newsletter h2,.product-quote h2{font-size:clamp(42px,5vw,72px);line-height:.98;margin-bottom:0}
.section-heading h2{font-style:italic;font-size:clamp(44px,4.5vw,68px)}
.section-heading>p{max-width:430px;color:var(--ink);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:14px;margin:8px 0 0}
.product-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:42px 18px}
.product-card{min-width:0;display:flex;flex-direction:column;overflow:hidden;contain:layout paint}
.product-media{display:block;width:100%;max-width:100%;aspect-ratio:1/1;position:relative;overflow:hidden;isolation:isolate;background:#efe8eb;border-radius:7px;padding:8px}
.product-media img{display:block;width:100%;max-width:100%;height:100%;object-fit:contain;object-position:center;transition:transform .55s ease}
.product-card:hover .product-media img{transform:scale(1.018)}
.product-badge{position:absolute;top:10px;left:10px;padding:6px 12px;background:#a8d325;border-radius:999px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:10px;font-weight:700;letter-spacing:0}
.product-info{padding:14px 2px 0;display:flex;flex-direction:column;flex:1}
.product-info h3{font-family:var(--display);font-style:italic;font-size:29px;line-height:1.02;margin-bottom:5px}
.product-info p{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;color:var(--ink);min-height:38px;margin-bottom:12px}
.product-buy-row{display:flex;justify-content:space-between;align-items:center;background:var(--ink);color:var(--white);padding:12px 14px;gap:10px;margin-top:auto}
.price{font-weight:800;font-size:12px}
.add-button{border:0;background:transparent;color:inherit;padding:0;font-size:11px;font-weight:800;text-transform:uppercase;cursor:pointer}
.collection-banner{display:grid;grid-template-columns:minmax(320px,.78fr) minmax(0,1.22fr);min-height:680px;background:var(--mauve-deep);color:var(--white);overflow:hidden}
.collection-banner-copy{padding:clamp(56px,7vw,108px);display:flex;flex-direction:column;justify-content:center;align-items:flex-start}
.collection-banner-copy h2{font-size:clamp(48px,5vw,78px);font-style:italic;line-height:.94;margin-bottom:28px}
.collection-banner-copy h2 em{color:var(--mauve-soft)}
.collection-banner-copy>p:not(.eyebrow){font-size:17px;max-width:510px;margin-bottom:34px}
.collection-banner-media{min-width:0;overflow:hidden;background:var(--aqua)}
.collection-banner-media img{width:100%;height:100%;object-fit:cover;object-position:center}
.editorial-band{display:grid;grid-template-columns:1.12fr .88fr;min-height:620px;background:var(--mauve-deep);color:white}
.editorial-copy{padding:clamp(60px,8vw,120px);display:flex;flex-direction:column;justify-content:center}
.editorial-copy>p:not(.eyebrow){font-size:18px;max-width:590px;margin:28px 0}
.text-link{font-weight:800;text-transform:uppercase;font-size:13px;text-decoration:underline;text-underline-offset:5px}
.quote-panel{background:var(--sage);color:var(--ink);padding:60px;display:flex;flex-direction:column;justify-content:center}
.quote-panel p{font-family:var(--display);font-size:clamp(54px,6vw,96px);font-weight:900;line-height:.94;margin-bottom:30px}
.quote-panel span{font-weight:700;max-width:340px}
.routine-strip{display:flex;justify-content:center;align-items:center;gap:22px;min-height:92px;padding:18px;background:var(--aqua);overflow:hidden;white-space:nowrap}
.routine-strip p{margin:0;font-family:var(--display);font-size:26px;font-weight:900}
.opportunity{display:grid;grid-template-columns:.9fr 1.1fr;gap:80px;padding:120px max(24px,calc((100vw - 1380px)/2));background:var(--alabaster)}
.opportunity-intro>p:not(.eyebrow){font-size:18px;max-width:520px;margin:28px 0 34px}
.reason-list article{display:grid;grid-template-columns:46px 1fr;column-gap:20px;padding:26px 0;border-top:1px solid var(--line)}
.reason-list article:last-child{border-bottom:1px solid var(--line)}
.reason-list span{grid-row:1/3;font-family:var(--display);font-size:26px;color:var(--mauve-deep)}
.reason-list h3{font-size:20px;margin-bottom:8px}
.reason-list p{color:rgba(43,32,39,.7);margin-bottom:0}
.newsletter{text-align:center;padding:110px 24px;background:var(--mauve-soft)}
.newsletter>p:not(.eyebrow){max-width:650px;margin:24px auto 38px}
.newsletter form{max-width:850px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr auto;gap:10px;align-items:end}
.newsletter label{text-align:left;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.08em}
.newsletter label span{display:block;margin-bottom:6px}
input,textarea{width:100%;border:1px solid var(--ink);background:var(--alabaster);padding:14px;border-radius:0;color:var(--ink)}
.form-status{font-weight:800;min-height:24px;margin:18px auto 0!important}
footer{background:var(--ink);color:white;padding:64px 32px 36px;display:grid;grid-template-columns:1fr auto;gap:30px;align-items:center}
footer img{width:260px;height:90px;object-fit:contain}
footer div{display:flex;gap:24px}
footer button{background:none;border:0;color:white;padding:0;cursor:pointer}
footer p{grid-column:1/-1;margin:0;color:rgba(255,255,255,.62);font-size:12px;border-top:1px solid rgba(255,255,255,.2);padding-top:24px}
.floating-whatsapp{position:fixed;right:16px;bottom:calc(16px + env(safe-area-inset-bottom,0px));z-index:70;display:grid;place-items:center;width:48px;height:48px;padding:0;background:rgba(37,211,102,.94);color:#fff;border:1px solid rgba(255,255,255,.65);border-radius:50%;box-shadow:0 8px 22px rgba(22,126,66,.24);transition:transform .2s ease,box-shadow .2s ease,background-color .2s ease}
.floating-whatsapp:hover{transform:translateY(-2px);background:#25D366;box-shadow:0 11px 26px rgba(22,126,66,.3)}
.floating-whatsapp:focus-visible{outline:3px solid rgba(37,211,102,.3);outline-offset:3px}
.floating-whatsapp svg{width:21px;height:21px;fill:currentColor}
.floating-whatsapp span{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.drawer-backdrop{position:fixed;inset:0;background:rgba(31,22,28,.45);z-index:79}
.cart-drawer{position:fixed;z-index:80;top:0;right:0;width:min(460px,100%);height:100%;background:var(--alabaster);transform:translateX(105%);transition:transform .28s ease;padding:24px;display:flex;flex-direction:column;box-shadow:-15px 0 40px rgba(0,0,0,.12)}
.cart-drawer.is-open{transform:translateX(0)}
.drawer-header{display:flex;align-items:center;justify-content:space-between;padding-bottom:18px;border-bottom:1px solid var(--line)}
.drawer-header h2{font-size:42px;margin:0}
.cart-lines{overflow:auto;flex:1}
.cart-line{display:grid;grid-template-columns:86px 1fr auto;gap:14px;padding:18px 0;border-bottom:1px solid var(--line)}
.cart-line img{width:86px;height:104px;object-fit:contain;background:var(--alabaster)}
.cart-line h3{font-size:16px;margin-bottom:4px}
.cart-line p{font-size:13px;margin-bottom:10px}
.qty-control{display:inline-flex;border:1px solid var(--line)}
.qty-control button{width:32px;height:30px;border:0;background:transparent;cursor:pointer}
.qty-control span{min-width:28px;display:grid;place-items:center;font-size:12px}
.remove-line{border:0;background:transparent;cursor:pointer;font-size:12px;text-decoration:underline}
.cart-empty{text-align:center;margin:auto}
.cart-empty a{text-decoration:underline}
.cart-summary{padding-top:20px;border-top:1px solid var(--line)}
.cart-summary>div{display:flex;justify-content:space-between;font-size:18px}
.cart-summary p{font-size:11px;color:rgba(43,32,39,.65)}
.checkout-dialog{border:0;padding:0;width:min(640px,calc(100% - 24px));background:var(--alabaster);color:var(--ink)}
.checkout-dialog::backdrop{background:rgba(31,22,28,.62)}
.checkout-dialog form{padding:42px;position:relative}
.checkout-dialog h2{font-size:50px;margin-bottom:24px}
.dialog-close{position:absolute;top:12px;right:12px;border:0;background:none;font-size:30px;cursor:pointer}
.checkout-fields{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:22px}
.checkout-fields label{font-size:12px;font-weight:800;text-transform:uppercase}
.checkout-fields label:last-child{grid-column:1/-1}
.checkout-fields input,.checkout-fields textarea{margin-top:6px}
.checkout-note{font-size:11px;text-align:center;margin:12px 0 0;color:rgba(43,32,39,.65)}
.back-link{justify-self:start}
.product-detail{display:grid;grid-template-columns:1fr 1fr;min-height:calc(100vh - 124px)}
.product-gallery{background:var(--alabaster);display:grid;place-items:center;padding:40px}
.product-gallery img{width:min(590px,90%);max-height:78vh;object-fit:contain}
.product-copy{padding:clamp(48px,7vw,110px);display:flex;flex-direction:column;justify-content:center;background:var(--alabaster)}
.product-copy h1{font-size:clamp(52px,6vw,88px);line-height:.94;margin-bottom:12px}
.product-subtitle{font-size:18px;color:rgba(43,32,39,.7)}
.product-copy .price{font-size:24px;margin:22px 0}
.product-description{max-width:570px;font-size:16px}
.product-points{list-style:none;padding:0;margin:24px 0 30px;border-top:1px solid var(--line)}
.product-points li{padding:12px 0;border-bottom:1px solid var(--line);font-size:13px;font-weight:700}
.product-quote{padding:110px 24px;text-align:center;background:var(--sage)}
.product-quote p:not(.eyebrow){max-width:620px;margin:24px auto}

@media(max-width:980px){
  .product-grid{grid-template-columns:repeat(2,1fr)}
  .editorial-band,.opportunity,.product-detail{grid-template-columns:1fr}
  .quote-panel{min-height:520px}
  .opportunity{gap:48px}
  .newsletter form{grid-template-columns:1fr 1fr}.newsletter form button{grid-column:1/-1}
  .product-gallery{min-height:58vh}.product-copy{padding:60px 24px}
}
@media(max-width:700px){
  .site-header{height:76px;padding:0 14px}.desktop-nav{display:none}.brand{width:190px}.brand img{height:54px}.menu-toggle,.mobile-bag{display:grid}.mobile-bag{justify-self:end;font-size:10px;text-transform:uppercase;font-weight:800;width:auto}.mobile-menu{top:110px}
  .collection-tabs{top:76px;justify-content:flex-start;gap:28px;padding:16px 20px}
  .products-section{padding:48px 10px 78px}.section-heading{padding:0 8px}.section-heading h2{font-size:42px;max-width:330px}.section-heading>p{margin-top:8px}.product-grid{gap:32px 9px}.product-media{padding:4px}.product-badge{top:7px;left:7px;padding:5px 8px;font-size:8px}.product-info{padding-top:11px}.product-info h3{font-size:21px}.product-info p{font-size:10px;line-height:1.35;min-height:42px;margin-bottom:9px}.product-buy-row{padding:10px 8px;gap:5px}.price{font-size:10px}.add-button{font-size:9px;white-space:nowrap}
  .collection-banner{grid-template-columns:1fr;min-height:0}.collection-banner-media{order:-1;aspect-ratio:3/4}.collection-banner-media img{object-fit:cover}.collection-banner-copy{padding:64px 22px 72px}.collection-banner-copy h2{font-size:48px}.collection-banner-copy>p:not(.eyebrow){font-size:15px}
  .editorial-copy,.quote-panel{padding:70px 22px}.quote-panel{min-height:420px}.routine-strip{justify-content:flex-start}.opportunity{padding:80px 22px}.newsletter{padding:80px 20px}.newsletter form{grid-template-columns:1fr}.newsletter form button{grid-column:auto}
  footer{grid-template-columns:1fr;padding:48px 22px}footer div{flex-wrap:wrap}footer p{grid-column:auto}
  .checkout-dialog form{padding:34px 20px}.checkout-fields{grid-template-columns:1fr}.checkout-fields label:last-child{grid-column:auto}
  .product-detail{min-height:auto}.product-gallery{min-height:55vh;padding:24px}.product-gallery img{width:100%;max-height:none}.product-copy h1{font-size:50px}
  .floating-whatsapp{right:12px;bottom:calc(12px + env(safe-area-inset-bottom,0px));width:44px;height:44px}
  .floating-whatsapp svg{width:20px;height:20px}
}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
