@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600&family=Playfair+Display:ital,wght@0,500;1,500&display=swap');

:root{--green:#234a3a;--green-dark:#17372b;--terracotta:#b4573d;--cream:#f4f0e8;--paper:#fbf9f4;--ink:#202720;--muted:#72776f;--line:#d9d5ca;--serif:"Playfair Display",Georgia,serif;--sans:"DM Sans",Arial,sans-serif}
*{box-sizing:border-box}
[hidden]{display:none!important}
html{scroll-behavior:smooth}
body{margin:0;color:var(--ink);background:var(--paper);font:15px/1.55 var(--sans);-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
img{display:block;width:100%}
button,input,select,textarea{font:inherit}
.announcement{background:var(--green);color:#fff;text-align:center;padding:8px 20px;font-size:11px;letter-spacing:.14em;text-transform:uppercase}
.announcement a{text-decoration:underline;text-underline-offset:3px}
.site-header{height:88px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:0 clamp(20px,4vw,64px);background:rgba(251,249,244,.96);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:20}
.wordmark{display:flex;align-items:center;height:76px}
.wordmark img{width:auto;height:68px;object-fit:contain;mix-blend-mode:multiply}
.main-nav{display:flex;gap:38px;font-size:12px;text-transform:uppercase;letter-spacing:.13em}
.main-nav a:hover{color:var(--terracotta)}
.header-actions{justify-self:end;display:flex;align-items:center;gap:22px}
.icon-button,.menu-toggle{border:0;background:none;cursor:pointer;color:inherit}
.icon-button{display:grid;place-items:center;padding:6px}
.icon-button svg,.bag-link svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.menu-toggle{display:none;text-transform:uppercase;font-size:12px;letter-spacing:.1em}
.bag-link{display:flex;align-items:center;font-size:12px;text-transform:uppercase;letter-spacing:.1em}
.bag-link svg{display:none}
.bag-count{display:inline-grid;place-items:center;margin-left:5px;width:24px;height:24px;border-radius:50%;background:var(--terracotta);color:white}
.header-search{position:absolute;inset:100% 0 auto;background:var(--paper);padding:18px clamp(20px,8vw,150px);display:none;gap:10px;border-bottom:1px solid var(--line)}
.header-search.is-open{display:flex}
.header-search input{flex:1}
input,select,textarea{width:100%;border:1px solid var(--line);background:#fff;padding:13px 14px;color:var(--ink);border-radius:0}
input:focus,select:focus,textarea:focus{outline:2px solid color-mix(in srgb,var(--terracotta) 45%,transparent);outline-offset:1px}
.header-search button,.button{border:0;background:var(--green);color:#fff;padding:14px 25px;text-transform:uppercase;letter-spacing:.12em;font-size:11px;cursor:pointer;display:inline-block;text-align:center}
.button:hover{background:var(--terracotta)}
.button-light{background:#fff;color:var(--green)}
.button-wide{width:100%}
.hero{height:min(710px,78vh);min-height:540px;position:relative;background:var(--green);overflow:hidden}
.hero img{height:100%;object-fit:cover;filter:saturate(.75) brightness(.62)}
.hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(20,43,34,.65),transparent 70%)}
.hero-copy{position:absolute;z-index:1;left:clamp(28px,9vw,140px);top:50%;transform:translateY(-48%);color:#fff;max-width:760px}
.eyebrow{font-size:10px!important;letter-spacing:.22em;text-transform:uppercase;color:var(--terracotta);font-weight:600;margin:0 0 15px}
.hero .eyebrow{color:#efd5c7}
h1,h2,h3,p{margin-top:0}
h1,h2{font-family:var(--serif);font-weight:500;line-height:1.08}
.hero h1{font-size:clamp(42px,6vw,82px);margin:0 0 36px}
h1 em,h2 em{font-weight:400}
.intro{text-align:center;padding:clamp(75px,10vw,145px) 20px;max-width:850px;margin:auto}
.intro h2,.section-heading h2{font-size:clamp(36px,4.4vw,60px);margin-bottom:24px}
.intro>p:last-child{max-width:590px;margin:auto;color:var(--muted);font-size:17px}
.category-strip{display:grid;grid-template-columns:repeat(4,1fr);background:var(--cream);border-block:1px solid var(--line)}
.category-strip a{padding:40px clamp(20px,3vw,50px);border-right:1px solid var(--line);display:flex;flex-direction:column;transition:.2s}
.category-strip a:hover{background:var(--green);color:white}
.category-strip span{font:25px var(--serif)}
.category-strip small{margin-top:7px;text-transform:uppercase;letter-spacing:.12em;color:var(--muted)}
.store-worlds{grid-template-columns:1fr 1fr}.store-worlds a{min-height:150px;justify-content:center}.store-worlds span{font-size:34px}.store-worlds a:first-child{background:#e7eee7}.store-worlds a:first-child:hover{background:var(--green)}
.objects-section{background:var(--cream);border-top:1px solid var(--line)}
.home-brand-grid{margin-bottom:clamp(65px,8vw,110px)}.home-brand-grid .brand-card{background:#fff}.home-brand-grid .brand-card:hover{background:var(--green)}
.featured-heading{margin-top:0}
.object-brands-section{padding-bottom:20px}.object-brands-section+.catalog-section{padding-top:clamp(45px,6vw,80px)}
.catalog-section{padding:clamp(60px,8vw,120px) clamp(18px,5vw,75px)}
.section-heading{display:flex;align-items:end;justify-content:space-between;margin-bottom:38px;border-bottom:1px solid var(--line);padding-bottom:22px}
.section-heading h2{margin:0}
.section-heading>p{color:var(--muted)}
.catalog-seo-copy{max-width:720px;margin:-18px 0 40px;color:var(--muted);font-size:16px}
.product-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:42px 22px}
.product-grid.featured-product-grid{grid-template-columns:repeat(auto-fit,minmax(min(240px,100%),1fr))}
.product-card{min-width:0;display:flex;flex-direction:column}
.product-image{position:relative;aspect-ratio:4/5;background:var(--cream);overflow:hidden}
.product-image img{height:100%;object-fit:contain;transition:transform .6s ease}
.product-image.is-placeholder{display:flex;align-items:center;justify-content:center;background:#f1eee7}
.product-image.is-placeholder img{width:52%;height:auto;max-height:52%;object-fit:contain}
.product-card:hover .product-image img{transform:scale(1.035)}
.product-info{padding:16px 2px;background:var(--paper);position:relative;z-index:1;min-height:112px;display:flex;flex-direction:column;align-items:flex-start}
.product-info p{color:var(--terracotta);font-size:9px;text-transform:uppercase;letter-spacing:.17em;margin-bottom:7px}
.product-info h3{font:20px/1.25 var(--serif);margin-bottom:9px}
.product-info small{display:block;color:var(--muted);font-size:11px;margin:-3px 0 9px}
.product-info strong{font-size:14px;font-weight:500;margin-top:auto}
.brands-page{padding:clamp(60px,8vw,120px) clamp(18px,5vw,75px);min-height:650px}
.brands-page .section-heading h1{font-size:clamp(45px,6vw,76px);margin:0}
.brand-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.brand-card{min-height:180px;border:1px solid var(--line);background:var(--cream);padding:28px;display:flex;align-items:center;gap:24px;transition:background .2s,color .2s,transform .2s}
.brand-card:hover{background:var(--green);color:#fff;transform:translateY(-2px)}
.brand-card>span,.brand-card>img{width:82px;height:82px;border-radius:50%;background:#fff;object-fit:contain;display:grid;place-items:center;flex:0 0 auto}
.brand-card>span{font:38px var(--serif);color:var(--green)}
.brand-card h2{font-size:25px;margin:0 0 7px}
.brand-card small{text-transform:uppercase;letter-spacing:.12em;color:var(--muted)}
.brand-card:hover small{color:#cbd8d0}
.product-detail{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(380px,.9fr);min-height:720px}
.detail-image{background:var(--cream);padding:clamp(25px,5vw,80px);display:grid;place-items:center}
.detail-image img{max-height:700px;object-fit:contain}
.detail-copy{padding:clamp(45px,8vw,120px);max-width:670px}
.breadcrumb{color:var(--muted);font-size:11px;margin-bottom:55px}
.detail-copy h1{font-size:clamp(40px,4.7vw,66px);margin-bottom:22px}
.detail-price{font-size:20px;margin-bottom:30px}
.description{color:var(--muted);margin-bottom:35px}
.add-form{display:grid;grid-template-columns:minmax(0,1fr) 105px;gap:14px;align-items:end}.add-form label,.checkout-form label{display:block;font-size:11px;letter-spacing:.08em;text-transform:uppercase;margin-bottom:16px}
.add-form input,.add-form select,.checkout-form input,.checkout-form textarea{margin-top:7px}
.add-form .variant-field{grid-column:1}.add-form .quantity-field{grid-column:2}.add-form.single-option .quantity-field{grid-column:1;width:105px}.add-form .button{grid-column:1/-1}
.detail-notes{margin-top:25px;padding-top:20px;border-top:1px solid var(--line);color:var(--muted);font-size:12px}
.detail-notes p{margin:7px 0}
.narrow{max-width:1100px;margin:auto;padding:clamp(60px,8vw,120px) 24px;min-height:600px}
.narrow>h1,.checkout h1{font-size:clamp(42px,5vw,64px);margin-bottom:55px}
.cart-line{display:grid;grid-template-columns:110px 1fr 90px 130px 42px;align-items:center;gap:25px;padding:20px 0;border-bottom:1px solid var(--line)}
.cart-line img{width:110px;height:130px;object-fit:cover;background:var(--cream)}
.cart-line h2{font-size:24px;margin:0 0 4px}
.cart-line label{font-size:10px;text-transform:uppercase;letter-spacing:.1em}
.cart-line input{margin-top:5px;padding:8px}
.cart-line>strong{text-align:right}
.cart-remove{width:42px;height:42px;display:grid;place-items:center;border:1px solid var(--line);background:transparent;color:var(--terracotta);cursor:pointer;transition:.2s ease}
.cart-remove:hover,.cart-remove:focus-visible{color:#fff;background:var(--terracotta);border-color:var(--terracotta)}
.cart-remove svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.cart-summary{margin:35px 0 0 auto;max-width:380px;text-align:right}
.cart-summary p{display:flex;justify-content:space-between;font-size:18px;border-top:1px solid var(--line);padding-top:20px}
.cart-summary small{display:block;color:var(--muted);margin:4px 0 20px}
.text-button{border:0;background:0;color:var(--terracotta);text-decoration:underline;cursor:pointer;margin-bottom:20px}
.checkout{display:grid;grid-template-columns:minmax(0,1fr) 420px;gap:clamp(40px,8vw,130px);padding:clamp(55px,8vw,110px) clamp(22px,8vw,130px);max-width:1500px;margin:auto}
.checkout-form fieldset{border:0;padding:0;margin:0 0 45px}
.checkout-form legend{font:27px var(--serif);border-bottom:1px solid var(--line);width:100%;padding-bottom:13px;margin-bottom:22px}
.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 15px}
.field-grid .wide{grid-column:1/-1}
.radio-row{display:flex;gap:25px;flex-wrap:wrap}
.radio-row label{padding:14px;border:1px solid var(--line);flex:1;min-width:190px}
.radio-row input{width:auto;margin:0 7px 0 0}
.shipping-fields{margin-top:20px}
.pickup-fields{margin-top:20px}.field-caption{font:20px var(--serif);margin-bottom:12px}
.order-summary{background:var(--cream);padding:35px;height:max-content;position:sticky;top:125px}
.order-summary h2{font-size:30px}
.order-summary p{display:flex;justify-content:space-between;gap:20px;font-size:13px}
.order-summary p strong{white-space:nowrap}
.order-summary .total{font-size:17px}
.order-summary small{color:var(--muted)}
.empty,.success{text-align:center;min-height:520px;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:70px 20px}
.empty h1,.empty h2,.success h1{font-size:clamp(38px,5vw,62px);margin-bottom:14px}
.empty .button,.success .button{margin-top:20px}
.success>span{font-size:60px;color:var(--terracotta)}
.success>p:not(.eyebrow){max-width:590px}
.alert,.toast{position:fixed;z-index:50;right:20px;top:125px;max-width:430px;padding:15px 20px;color:#fff;box-shadow:0 9px 35px #0003}
.toast{background:var(--green)}
.alert{background:#9f392d}
.whatsapp-float{position:fixed;right:24px;bottom:24px;z-index:40;display:flex;align-items:center;gap:10px;background:#25d366;color:#fff;border-radius:999px;padding:11px 17px 11px 12px;box-shadow:0 8px 28px #17251d40;font-size:12px;font-weight:600;letter-spacing:.03em;transition:transform .2s,background .2s}
.whatsapp-float:hover{transform:translateY(-2px);background:#1db85a}
.whatsapp-float svg{width:27px;height:27px;fill:currentColor}
.store-locations{padding:clamp(70px,9vw,130px) clamp(24px,7vw,105px);background:#ebe4d8}
.store-locations-heading{display:grid;grid-template-columns:1fr minmax(280px,480px);align-items:end;gap:50px;max-width:1320px;margin:0 auto 42px}
.store-locations-heading h2{font-size:clamp(38px,5vw,65px);margin:0}.store-locations-heading>p{color:var(--muted);font-size:16px;margin:0 0 8px}
.store-location-grid{display:grid;grid-template-columns:repeat(2,1fr);max-width:1320px;margin:auto}
.store-location-card{position:relative;min-height:330px;padding:52px;background:var(--green);color:#fff;overflow:hidden}
.store-location-card-alt{background:#567266}
.store-location-card h3{font-family:var(--serif);font-size:clamp(30px,3vw,44px);font-weight:500;margin:0 0 20px}
.store-location-card>p:not(.store-location-zone){color:#ffffffbf;line-height:1.8;margin-bottom:36px}
.store-location-zone{color:#efd5c7;font-size:10px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;margin:0 0 12px}
.store-location-card>a{display:inline-flex;align-items:center;gap:12px;border-bottom:1px solid #ffffff88;padding-bottom:6px;font-size:10px;font-weight:600;letter-spacing:.16em;text-transform:uppercase}
.store-location-card>a span{font-size:18px;transition:transform .2s}.store-location-card>a:hover span{transform:translateX(5px)}
.store-locations-more{display:block;width:max-content;max-width:100%;margin:30px auto 0;border-bottom:1px solid currentColor;padding-bottom:5px;text-align:center;font-size:11px;letter-spacing:.13em;text-transform:uppercase}
.policy-page{min-height:650px}
.policy-hero{padding:clamp(65px,9vw,125px) clamp(24px,10vw,165px);background:var(--cream);border-bottom:1px solid var(--line)}
.policy-hero h1{font-size:clamp(44px,6vw,76px);margin:0 0 22px}
.policy-hero>p:last-child{max-width:640px;color:var(--muted);font-size:17px}
.policy-content{max-width:1050px;margin:auto;padding:clamp(55px,8vw,105px) 24px}
.policy-content article{display:grid;grid-template-columns:minmax(210px,.55fr) 1fr;gap:clamp(30px,7vw,90px);padding:34px 0;border-bottom:1px solid var(--line)}
.policy-content article h2{font-size:27px;margin:0}
.policy-content article p{grid-column:2;color:var(--muted);margin:-10px 0 0;line-height:1.75}
.policy-content article h2+p{margin:0}
.text-link{color:var(--terracotta);text-decoration:underline;text-underline-offset:3px}
.policy-contact{margin-top:50px;padding:clamp(28px,5vw,50px);background:var(--green);color:#fff}
.policy-contact h2{font-size:30px;margin-bottom:12px}.policy-contact p{color:#d3ddd6;max-width:650px}
.policy-contact .button{margin-top:12px;background:#fff;color:var(--green)}
.policy-contact .text-link{display:block;width:max-content;max-width:100%;margin-top:20px;color:#fff}
.policy-action{text-align:center}.policy-action p{margin-inline:auto}
.policy-note{margin:30px 0 0;padding:20px;border-left:3px solid var(--terracotta);background:var(--cream);color:var(--muted)}
.welcome-open{overflow:hidden}
.welcome-modal{position:fixed;inset:0;z-index:100;display:grid;place-items:center;padding:20px}
.welcome-modal-backdrop{position:absolute;inset:0;background:#10251dcc;backdrop-filter:blur(3px)}
.welcome-dialog{position:relative;z-index:1;width:min(520px,100%);max-height:calc(100vh - 40px);overflow:auto;background:var(--paper);padding:clamp(34px,6vw,58px);box-shadow:0 24px 80px #07130e66}
.welcome-dialog h2{font-size:clamp(34px,5vw,50px);margin:0 0 18px}.welcome-dialog>p:not(.eyebrow){color:var(--muted);margin-bottom:30px}
.welcome-dialog label{display:block;margin:0 0 15px;font-size:10px;letter-spacing:.12em;text-transform:uppercase}.welcome-dialog input{margin-top:7px}
.welcome-close{position:absolute;right:16px;top:12px;border:0;background:transparent;color:var(--muted);font:32px/1 var(--sans);cursor:pointer}
.welcome-privacy{color:var(--muted);font-size:10px;line-height:1.5;margin:14px 0 0;text-align:center}.welcome-feedback{min-height:22px;margin:12px 0 0;text-align:center;color:var(--terracotta);font-size:12px}
.welcome-honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}
.welcome-dialog button:disabled{opacity:.65;cursor:wait}
footer{background:var(--green-dark);color:#e9e7de;padding:70px clamp(25px,7vw,100px) 25px;display:grid;grid-template-columns:2fr repeat(3,1fr);gap:50px}
footer h3{text-transform:uppercase;font-size:10px;letter-spacing:.16em;color:#dba995}
footer a,footer div>span{display:block;color:#bfc8c0;margin:9px 0;font-size:13px}
.footer-brand img{width:175px;height:auto;object-fit:contain;margin:-18px 0 16px -15px;filter:invert(1) grayscale(1);mix-blend-mode:screen;opacity:.9}
.footer-brand p{color:#bfc8c0;max-width:260px}
footer>small{grid-column:1/-1;border-top:1px solid #ffffff22;padding-top:20px;color:#8fa096}

@media(max-width:980px){
  .site-header{grid-template-columns:auto 1fr auto;height:72px}
  .wordmark{justify-self:center;height:64px}.wordmark img{height:58px}
  .menu-toggle{display:block;grid-column:1;grid-row:1}
  .main-nav{display:none;position:absolute;inset:100% 0 auto;background:var(--paper);padding:30px;flex-direction:column;border-bottom:1px solid var(--line)}
  .main-nav.is-open{display:flex}.header-actions{grid-column:3;grid-row:1}
  .product-grid{grid-template-columns:repeat(2,1fr)}
  .brand-grid{grid-template-columns:repeat(2,1fr)}
  .product-detail{grid-template-columns:1fr}.detail-image{min-height:460px}
  .checkout{grid-template-columns:1fr}.order-summary{position:static;grid-row:1}
  footer{grid-template-columns:2fr 1fr 1fr}.footer-brand{grid-column:1/-1}
}
@media(max-width:650px){
  .announcement{font-size:9px}.site-header{padding:0 14px}.wordmark img{height:50px}.header-actions{gap:8px}.bag-link svg{display:block}.bag-label{display:none}.bag-count{font-size:11px;margin-left:3px}
  .hero{min-height:560px;height:72vh}.hero-copy{left:24px;right:20px}.hero h1{font-size:43px}
  .category-strip{grid-template-columns:1fr 1fr}.category-strip a{border-bottom:1px solid var(--line)}
  .catalog-section{padding-inline:14px}.section-heading{align-items:start}.section-heading>p{font-size:11px}.catalog-seo-copy{margin:-10px 0 28px;font-size:14px}
  .product-grid{gap:28px 10px}.product-grid.featured-product-grid{grid-template-columns:repeat(2,1fr)}.product-info h3{font-size:17px}
  .brand-grid{grid-template-columns:1fr}.brand-card{min-height:140px}
  .product-detail{display:block}.detail-image{padding:20px;min-height:380px}.detail-copy{padding:42px 22px}.breadcrumb{margin-bottom:35px}.add-form{grid-template-columns:1fr}.add-form .variant-field,.add-form .quantity-field,.add-form .button{grid-column:1}
  .cart-line{grid-template-columns:75px 1fr 70px 42px;gap:14px}.cart-line img{width:75px;height:90px}.cart-line h2{font-size:18px}.cart-line>strong{grid-column:2/4;text-align:left}.cart-remove{grid-column:4;grid-row:1/3}.cart-summary{max-width:none}
  .checkout{padding-inline:18px}.field-grid{grid-template-columns:1fr}.field-grid .wide{grid-column:auto}
  .whatsapp-float{right:14px;bottom:14px;padding:11px}.whatsapp-float span{display:none}
  .store-locations{padding:65px 14px}.store-locations-heading{display:block;margin-bottom:28px}.store-locations-heading h2{font-size:42px}.store-locations-heading>p{font-size:14px;margin-top:18px}.store-location-grid{grid-template-columns:1fr}.store-location-card{min-height:290px;padding:38px 28px}.store-locations-more{font-size:9px}
  .policy-content article{display:block}.policy-content article h2{margin-bottom:16px}.policy-content article p{margin:10px 0 0}
  footer{grid-template-columns:1fr 1fr}.footer-brand{grid-column:1/-1}.footer-brand img{width:155px;margin-left:-13px}
}
