/*
Theme Name: Storitellah
Theme URI: https://prints.storitellah.com
Author: Brian Otieno
Author URI: https://storitellah.com
Description: An editorial documentary-photography theme for Storitellah, the print shop of Kenyan photojournalist Brian Otieno. Hand-crafted with WooCommerce support, a customizable homepage, archival-print aesthetics and a WhatsApp-first checkout. Ships with the full Kibera-rooted typographic system (Fraunces + Geist).
Version: 1.4.2
Requires at least: 6.0
Tested up to: 6.7
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: storitellah
Tags: photography, woocommerce, full-width-template, custom-header, custom-logo, custom-menu, custom-colors, editor-style, featured-images, threaded-comments, translation-ready
*/

:root{
  --bone:#f4efe6; --bone-deep:#ebe3d5; --paper:#faf6ef;
  --ink:#1a1612; --ink-soft:#2a231e;
  --ash:#6b645a; --mist:#c9c0b0;
  --clay:#b8533a; --clay-deep:#8a3d2a;
  --whatsapp:#25d366;
  --serif:'Fraunces',Georgia,serif;
  --sans:'Geist',-apple-system,BlinkMacSystemFont,sans-serif;
  --mono:'Geist Mono','Courier New',monospace;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:var(--sans);background:var(--bone);color:var(--ink);line-height:1.5;-webkit-font-smoothing:antialiased;overflow-x:hidden}
body::before{content:'';position:fixed;inset:0;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2'/%3E%3CfeColorMatrix values='0 0 0 0 0.1 0 0 0 0 0.09 0 0 0 0 0.07 0 0 0 0.4 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.5'/%3E%3C/svg%3E");opacity:.35;pointer-events:none;z-index:9999;mix-blend-mode:multiply}
img{display:block;max-width:100%;height:auto}
a{color:inherit}

/* WP CORE BLOCK COMPATIBILITY */
.alignleft{float:left;margin-right:1.5em}
.alignright{float:right;margin-left:1.5em}
.aligncenter{display:block;margin-left:auto;margin-right:auto}
.alignwide{max-width:1200px;margin-left:auto;margin-right:auto}
.alignfull{max-width:none;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw)}
.screen-reader-text{position:absolute;clip:rect(1px,1px,1px,1px);width:1px;height:1px;overflow:hidden}
.skip-link{position:absolute;left:-9999px;top:1em;background:var(--ink);color:var(--bone);padding:.6em 1em;z-index:100000;text-decoration:none;font-family:var(--mono);font-size:11px;letter-spacing:.18em;text-transform:uppercase}
.skip-link:focus{left:1em}

/* NOTICE BAR — fixed on homepage only, normal flow on subpages.
   Slides up out of view once the user begins scrolling. */
.notice-bar{background:var(--ink);color:var(--bone);font-family:var(--mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;padding:11px 0;position:relative;z-index:60;overflow:hidden;white-space:nowrap;transition:transform .4s cubic-bezier(.16,1,.3,1)}
.home .notice-bar,.front-page .notice-bar{position:fixed;top:0;left:0;right:0}
.notice-bar.is-hidden{transform:translateY(-100%)}
/* On home: when notice slides up, slide the header up too so they move as a unit */
.home.notice-up .site-header,.front-page.notice-up .site-header{top:0}
.notice-track{display:inline-block;animation:marquee 42s linear infinite;padding-left:100%}
.notice-track span{margin:0 36px;display:inline-flex;align-items:center;gap:14px}
.notice-track span::after{content:'·';color:var(--clay)}
@keyframes marquee{from{transform:translateX(0)}to{transform:translateX(-100%)}}

/* HEADER */
/* Default: opaque, sticky. On homepage: transparent overlay on hero. */
.site-header{position:sticky;top:0;left:0;right:0;background:rgba(244,239,230,.88);backdrop-filter:blur(20px) saturate(160%);-webkit-backdrop-filter:blur(20px) saturate(160%);z-index:50;border-bottom:1px solid rgba(26,22,18,.07);transition:background .35s ease,border-color .35s ease,backdrop-filter .35s ease,top .4s cubic-bezier(.16,1,.3,1)}
.home .site-header,.front-page .site-header{position:fixed;top:38px;background:transparent;backdrop-filter:none;-webkit-backdrop-filter:none;border-bottom-color:transparent}
.home .site-header.is-scrolled,.front-page .site-header.is-scrolled{background:rgba(244,239,230,.88);backdrop-filter:blur(20px) saturate(160%);-webkit-backdrop-filter:blur(20px) saturate(160%);border-bottom-color:rgba(26,22,18,.07)}

/* When transparent over the hero, switch text/icon colors to bone */
/* Bone-coloured text/icons when transparent over hero (homepage only) */
.home .site-header:not(.is-scrolled) .site-logo,
.front-page .site-header:not(.is-scrolled) .site-logo{color:var(--bone)}
.home .site-header:not(.is-scrolled) .site-logo .dot,
.front-page .site-header:not(.is-scrolled) .site-logo .dot{color:var(--clay)}
.home .site-header:not(.is-scrolled) .main-nav a,
.front-page .site-header:not(.is-scrolled) .main-nav a{color:var(--bone)}
.home .site-header:not(.is-scrolled) .main-nav a:hover,
.front-page .site-header:not(.is-scrolled) .main-nav a:hover{color:var(--clay)}
.home .site-header:not(.is-scrolled) .icon-btn,
.front-page .site-header:not(.is-scrolled) .icon-btn{border-color:rgba(244,239,230,.4);color:var(--bone)}
.home .site-header:not(.is-scrolled) .icon-btn:hover,
.front-page .site-header:not(.is-scrolled) .icon-btn:hover{background:var(--bone);color:var(--ink);border-color:var(--bone)}
.home .site-header:not(.is-scrolled) .menu-toggle,
.front-page .site-header:not(.is-scrolled) .menu-toggle{border-color:rgba(244,239,230,.4);color:var(--bone)}

/* Pages other than the homepage need top padding so their content isn't hidden
   behind the fixed header. Homepage starts with the hero (which has its own
   negative margin to extend up under the header). */
body:not(.home):not(.front-page){padding-top:112px}
.header-inner{max-width:1600px;margin:0 auto;padding:18px 32px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:32px}
.site-logo{font-family:var(--serif);font-style:italic;font-weight:400;font-size:28px;letter-spacing:-.03em;text-decoration:none;color:var(--ink);font-variation-settings:"opsz" 144,"SOFT" 80;line-height:1;display:inline-block}
.site-logo .dot{color:var(--clay);font-style:normal}
.site-logo img{max-height:42px;width:auto;display:block}
.main-nav ul{list-style:none;display:flex;gap:36px;justify-content:center;margin:0;padding:0}
.main-nav a{font-family:var(--sans);font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-soft);text-decoration:none;font-weight:500;position:relative;padding:6px 0;transition:color .25s}
.main-nav a:hover{color:var(--clay)}
.main-nav a::after{content:'';position:absolute;left:0;bottom:0;width:0;height:1px;background:var(--clay);transition:width .35s ease}
.main-nav a:hover::after{width:100%}
.main-nav .menu-item-has-children > a::before{content:'';display:inline-block;width:6px;height:6px;border-right:1px solid currentColor;border-bottom:1px solid currentColor;transform:rotate(45deg);margin-right:4px;vertical-align:middle;opacity:.6}
.header-actions{display:flex;justify-content:flex-end;gap:14px;align-items:center}
.icon-btn{width:38px;height:38px;border:1px solid rgba(26,22,18,.18);border-radius:999px;background:transparent;color:var(--ink);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:background .2s,color .2s,border-color .2s;text-decoration:none}
.icon-btn:hover{background:var(--ink);color:var(--bone);border-color:var(--ink)}
.icon-btn svg{width:14px;height:14px}
.cart-btn{display:inline-flex;align-items:center;gap:10px;background:var(--ink);color:var(--bone);padding:11px 18px 11px 14px;border-radius:999px;font-family:var(--mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;text-decoration:none;border:none;cursor:pointer;transition:background .25s,transform .25s}
.cart-btn:hover{background:var(--clay);transform:translateY(-1px);color:var(--bone)}
.cart-btn .wa{width:18px;height:18px;background:var(--whatsapp);border-radius:999px;display:inline-flex;align-items:center;justify-content:center}
.cart-btn .wa svg{width:11px;height:11px;fill:#fff}
.cart-count{background:var(--clay);color:var(--bone);min-width:18px;height:18px;padding:0 5px;border-radius:999px;font-size:10px;display:inline-flex;align-items:center;justify-content:center}
.menu-toggle{display:none;background:transparent;border:1px solid rgba(26,22,18,.18);width:38px;height:38px;border-radius:999px;cursor:pointer;align-items:center;justify-content:center;color:var(--ink)}
.menu-toggle svg{width:16px;height:16px}

/* HERO */
.hero{position:relative;min-height:calc(100vh + 112px);display:flex;align-items:flex-end;overflow:hidden;background:#100c08;margin-top:-112px;padding-top:112px}
.hero-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.78;filter:contrast(1.05) saturate(1.05)}
.hero::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(16,12,8,.55) 0%,rgba(16,12,8,.18) 38%,rgba(16,12,8,.85) 100%)}
.hero-content{position:relative;z-index:2;max-width:1600px;margin:0 auto;width:100%;padding:80px 32px 70px;color:var(--bone);display:grid;grid-template-columns:1.4fr 1fr;gap:60px;align-items:end}
.eyebrow{font-family:var(--mono);font-size:11px;letter-spacing:.22em;text-transform:uppercase;display:inline-flex;align-items:center;gap:14px}
.eyebrow::before{content:'';width:36px;height:1px;background:var(--clay)}
.hero .eyebrow{color:var(--mist);margin-bottom:28px}
.hero h1{font-family:var(--serif);font-weight:300;font-size:clamp(28px,8.5vw,140px);line-height:1;letter-spacing:-.04em;white-space:nowrap;font-variation-settings:"opsz" 144,"SOFT" 30;color:var(--bone)}
.hero h1 em{font-style:italic;font-weight:300;color:var(--bone-deep);font-variation-settings:"opsz" 144,"SOFT" 100}
.hero-meta{display:flex;flex-direction:column;gap:18px;padding-bottom:14px}
.hero-caption{font-family:var(--serif);font-size:18px;line-height:1.5;color:var(--bone);font-weight:300;max-width:400px;font-variation-settings:"opsz" 36,"SOFT" 60}
.hero-byline{font-family:var(--mono);font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--mist);padding-top:18px;border-top:1px solid rgba(244,239,230,.18);display:grid;gap:6px}
.hero-byline strong{color:var(--bone);font-weight:500}
.hero-corner{position:absolute;top:32px;right:32px;z-index:3;font-family:var(--mono);font-size:10px;letter-spacing:.2em;color:var(--mist);text-transform:uppercase;text-align:right}
.hero-corner::before{display:none}

/* MANIFESTO */
.manifesto{padding:140px 32px;max-width:1100px;margin:0 auto;text-align:center}
.manifesto .eyebrow{color:var(--clay);margin-bottom:36px;justify-content:center}
.manifesto blockquote{font-family:var(--serif);font-weight:300;font-size:clamp(26px,3.2vw,42px);line-height:1.32;letter-spacing:-.018em;font-variation-settings:"opsz" 144,"SOFT" 70;border:none;padding:0;margin:0}
.manifesto blockquote em{font-style:italic;color:var(--clay);font-variation-settings:"opsz" 144,"SOFT" 100}
.manifesto cite{font-family:var(--mono);font-style:normal;font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--ash);margin-top:44px;display:block}

/* SECTION HEADS */
.section-head{max-width:1600px;margin:0 auto;padding:0 32px 56px;display:flex;justify-content:space-between;align-items:end;gap:32px}
.section-head h2{font-family:var(--serif);font-weight:300;font-size:clamp(40px,5.5vw,76px);line-height:.94;letter-spacing:-.025em;font-variation-settings:"opsz" 144,"SOFT" 50;max-width:760px}
.section-head h2 em{font-style:italic;color:var(--clay);font-variation-settings:"opsz" 144,"SOFT" 100}
.section-head .meta{font-family:var(--mono);font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--ash);max-width:300px;text-align:right;line-height:1.7}

/* COLLECTIONS */
.collections{padding:60px 0 100px}
.collections-grid{max-width:1600px;margin:0 auto;padding:0 32px;display:grid;grid-template-columns:repeat(12,1fr);gap:28px}
.collection{position:relative;text-decoration:none;color:inherit;display:block}
.collection-img-wrap{overflow:hidden;background:var(--ink);position:relative;aspect-ratio:var(--ratio,3/2)}
.collection-img-wrap::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,transparent 60%,rgba(16,12,8,.55) 100%);opacity:0;transition:opacity .4s}
.collection:hover .collection-img-wrap::after{opacity:1}
.collection img{width:100%;height:100%;object-fit:cover;transition:transform .9s cubic-bezier(.16,1,.3,1)}
.collection:hover img{transform:scale(1.05)}
.collection-info{padding:18px 4px 0;display:flex;justify-content:space-between;align-items:baseline;gap:12px}
.collection-info h3{font-family:var(--serif);font-weight:400;font-size:24px;letter-spacing:-.012em;font-variation-settings:"opsz" 36,"SOFT" 60;line-height:1.1}
.collection-info h3 em{font-style:italic;font-variation-settings:"opsz" 36,"SOFT" 100}
.collection-info .count{font-family:var(--mono);font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--ash);white-space:nowrap}
.col-1{grid-column:span 7}
.col-2{grid-column:span 5;margin-top:80px}
.col-3{grid-column:span 4}
.col-4{grid-column:span 4;margin-top:60px}
.col-5{grid-column:span 4}

/* SHOP */
.shop{background:var(--paper);padding:130px 0;border-top:1px solid rgba(26,22,18,.07);border-bottom:1px solid rgba(26,22,18,.07)}
.filter-bar{max-width:1600px;margin:0 auto 56px;padding:0 32px;display:flex;justify-content:space-between;align-items:center;gap:24px;flex-wrap:wrap}
.filter-tabs{display:flex;gap:6px;flex-wrap:wrap}
.filter-tab{font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;padding:11px 18px;background:transparent;border:1px solid rgba(26,22,18,.18);border-radius:999px;cursor:pointer;color:var(--ink-soft);transition:all .2s;text-decoration:none;display:inline-flex;align-items:center}
.filter-tab.active,.filter-tab:hover{background:var(--ink);color:var(--bone);border-color:var(--ink)}
.sort{font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--ash);display:flex;align-items:center;gap:10px}
.sort select{font-family:var(--mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;background:transparent;border:none;border-bottom:1px solid var(--ink);padding:4px 22px 4px 4px;cursor:pointer;color:var(--ink);appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath fill='%231a1612' d='M6 8 0 0h12z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 4px center;background-size:9px}

.products{max-width:1600px;margin:0 auto;padding:0 32px;display:grid;grid-template-columns:repeat(3,1fr);gap:60px 40px;list-style:none}
.product{display:flex;flex-direction:column;list-style:none}
.product-img-wrap{aspect-ratio:var(--ratio,3/2);overflow:hidden;background:var(--bone-deep);position:relative;margin-bottom:20px}
.product img{width:100%;height:100%;object-fit:cover;transition:transform .8s cubic-bezier(.16,1,.3,1)}
.product:hover img{transform:scale(1.04)}
.product-badge{position:absolute;top:14px;left:14px;background:var(--bone);color:var(--ink);padding:6px 10px;font-family:var(--mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;z-index:2}
.product-badge.limited{background:var(--clay);color:var(--bone)}
.product-quick{position:absolute;left:0;right:0;bottom:0;padding:20px 16px;background:linear-gradient(0deg,rgba(16,12,8,.92),transparent);transform:translateY(105%);transition:transform .45s cubic-bezier(.16,1,.3,1);display:flex;gap:8px;justify-content:center}
.product:hover .product-quick{transform:translateY(0)}
.quick-link{font-family:var(--mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--bone);text-decoration:none;padding:9px 14px;border:1px solid var(--bone);border-radius:999px;transition:background .2s,color .2s;cursor:pointer;background:transparent}
.quick-link:hover{background:var(--bone);color:var(--ink)}
.product-meta{display:flex;justify-content:space-between;font-family:var(--mono);font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--ash);margin-bottom:8px}
.product h3,.product .woocommerce-loop-product__title{font-family:var(--serif);font-weight:400;font-size:28px;letter-spacing:-.018em;line-height:1.05;font-variation-settings:"opsz" 36,"SOFT" 70;margin-bottom:6px;padding:0}
.product h3 em{font-style:italic;font-variation-settings:"opsz" 36,"SOFT" 100}
.product-loc{font-family:var(--serif);font-style:italic;font-size:14px;color:var(--ash);margin-bottom:16px;font-variation-settings:"opsz" 14,"SOFT" 100}
.product-bottom{display:flex;justify-content:space-between;align-items:center;gap:16px;padding-top:16px;border-top:1px solid rgba(26,22,18,.14);margin-top:auto}
.price,.product .price{font-family:var(--serif);font-weight:400;font-size:18px;letter-spacing:-.005em;color:var(--ink)}
.price .from,.price ins,.price del{font-weight:400}
.price del{color:var(--ash);opacity:.6;margin-right:8px}
.price ins{text-decoration:none}
.price .from{font-family:var(--mono);font-size:9px;letter-spacing:.2em;text-transform:uppercase;color:var(--ash);margin-right:6px;font-weight:500}
.add-cart,.products a.button,.products .add_to_cart_button{font-family:var(--mono)!important;font-size:10px!important;letter-spacing:.14em!important;text-transform:uppercase!important;background:transparent!important;border:1px solid var(--ink)!important;color:var(--ink)!important;padding:11px 16px!important;border-radius:999px!important;cursor:pointer;display:inline-flex;align-items:center;gap:8px;transition:all .2s;text-decoration:none!important;line-height:1!important;font-weight:500!important;box-shadow:none!important}
.add-cart:hover,.products a.button:hover,.products .add_to_cart_button:hover{background:var(--whatsapp)!important;border-color:var(--whatsapp)!important;color:#fff!important}
.add-cart svg{width:13px;height:13px}

.shop-footer{max-width:1600px;margin:90px auto 0;padding:0 32px;display:flex;justify-content:center;align-items:center;gap:40px;flex-wrap:wrap}
.shop-footer-text{font-family:var(--mono);font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--ash)}
.view-all{display:inline-flex;align-items:center;gap:14px;font-family:var(--serif);font-size:22px;color:var(--ink);text-decoration:none;padding:18px 36px;border:1px solid var(--ink);border-radius:999px;transition:background .25s,color .25s;font-variation-settings:"opsz" 36,"SOFT" 100}
.view-all em{font-style:italic}
.view-all:hover{background:var(--ink);color:var(--bone)}
.view-all svg{width:16px;height:16px;transition:transform .3s}
.view-all:hover svg{transform:translateX(4px)}

/* ABOUT */
.about{background:var(--ink);color:var(--bone);padding:140px 32px;position:relative;overflow:hidden}
.about::before{content:'';position:absolute;top:-100px;right:-100px;width:500px;height:500px;border:1px solid rgba(184,83,58,.18);border-radius:50%;pointer-events:none}
.about::after{content:'';position:absolute;bottom:-150px;left:-100px;width:400px;height:400px;border:1px solid rgba(184,83,58,.12);border-radius:50%;pointer-events:none}
.about-grid{max-width:1400px;margin:0 auto;display:grid;grid-template-columns:1fr 1.4fr;gap:80px;align-items:center;position:relative}
.about-portrait{position:relative;aspect-ratio:var(--ratio,3/2);overflow:hidden}
.about-portrait img{width:100%;height:100%;object-fit:cover;filter:saturate(.9)}
.about-portrait .tag{position:absolute;bottom:16px;left:16px;font-family:var(--mono);font-size:10px;letter-spacing:.18em;text-transform:uppercase;background:var(--bone);color:var(--ink);padding:7px 11px}
.about-text .eyebrow{color:var(--clay);margin-bottom:28px}
.about-text h2{font-family:var(--serif);font-weight:300;font-size:clamp(38px,4.4vw,62px);line-height:1.02;letter-spacing:-.022em;margin-bottom:34px;font-variation-settings:"opsz" 144,"SOFT" 50;color:var(--bone)}
.about-text h2 em{font-style:italic;color:var(--bone-deep);font-variation-settings:"opsz" 144,"SOFT" 100}
.about-text p{font-family:var(--serif);font-weight:300;font-size:18px;line-height:1.55;color:var(--bone-deep);margin-bottom:20px;max-width:580px;font-variation-settings:"opsz" 36,"SOFT" 70}
.press-strip{margin-top:50px;padding-top:36px;border-top:1px solid rgba(244,239,230,.15)}
.press-strip-label{font-family:var(--mono);font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:var(--mist);margin-bottom:22px}
.press-list{display:flex;gap:36px;flex-wrap:wrap;align-items:center}
.press-list span,.press-list a{font-family:var(--serif);font-style:italic;font-size:22px;color:var(--bone);font-variation-settings:"opsz" 36,"SOFT" 100;opacity:.85;transition:opacity .3s,color .3s;text-decoration:none}
.press-list span:hover,.press-list a:hover{opacity:1;color:var(--clay)}
.press-list a{cursor:pointer;border-bottom:1px solid transparent;transition:opacity .3s,color .3s,border-color .3s}
.press-list a:hover{border-bottom-color:var(--clay)}

/* PRINT INFO */
.print-info{padding:140px 32px;max-width:1600px;margin:0 auto}
.info-head{text-align:center;margin-bottom:80px}
.info-head .eyebrow{color:var(--clay);margin-bottom:24px;justify-content:center}
.info-head h2{font-family:var(--serif);font-weight:300;font-size:clamp(40px,5.5vw,76px);line-height:.95;letter-spacing:-.025em;max-width:900px;margin:0 auto;font-variation-settings:"opsz" 144,"SOFT" 50}
.info-head h2 em{font-style:italic;color:var(--clay);font-variation-settings:"opsz" 144,"SOFT" 100}
.info-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:rgba(26,22,18,.14);border:1px solid rgba(26,22,18,.14)}
.info-card{background:var(--bone);padding:44px 32px;display:flex;flex-direction:column;gap:18px;transition:background .3s}
.info-card:hover{background:var(--paper)}
.info-num{font-family:var(--mono);font-size:11px;letter-spacing:.2em;color:var(--clay);font-weight:500}
.info-card h3{font-family:var(--serif);font-weight:400;font-size:26px;letter-spacing:-.018em;line-height:1.1;font-variation-settings:"opsz" 36,"SOFT" 70}
.info-card h3 em{font-style:italic;font-variation-settings:"opsz" 36,"SOFT" 100}
.info-card p{font-family:var(--sans);font-size:14px;line-height:1.6;color:var(--ink-soft)}

/* NEWSLETTER */
.newsletter{background:var(--ink-soft);color:var(--bone);padding:120px 32px;position:relative;overflow:hidden}
.newsletter::before{content:'';position:absolute;top:50%;left:-200px;width:500px;height:500px;background:radial-gradient(circle,rgba(184,83,58,.18) 0%,transparent 70%);transform:translateY(-50%);pointer-events:none}
.newsletter-inner{max-width:920px;margin:0 auto;text-align:center;position:relative}
.newsletter .eyebrow{justify-content:center;color:var(--mist);margin-bottom:28px}
.newsletter h2{font-family:var(--serif);font-weight:300;font-size:clamp(36px,5vw,64px);line-height:1;letter-spacing:-.025em;margin-bottom:22px;font-variation-settings:"opsz" 144,"SOFT" 60;color:var(--bone)}
.newsletter h2 em{font-style:italic;color:var(--clay);font-variation-settings:"opsz" 144,"SOFT" 100}
.newsletter p{font-family:var(--serif);font-size:18px;color:var(--bone-deep);margin-bottom:42px;font-weight:300;max-width:560px;margin-left:auto;margin-right:auto;line-height:1.5;font-variation-settings:"opsz" 36,"SOFT" 70}
.newsletter-form{display:flex;max-width:520px;margin:0 auto;gap:8px;background:rgba(244,239,230,.06);border:1px solid rgba(244,239,230,.18);border-radius:999px;padding:7px}
.newsletter-form input[type=email]{flex:1;background:transparent;border:none;padding:14px 22px;color:var(--bone);font-family:var(--sans);font-size:14px;outline:none;letter-spacing:.01em}
.newsletter-form input[type=email]::placeholder{color:var(--mist)}
.newsletter-form button{background:var(--clay);color:var(--bone);border:none;padding:13px 28px;border-radius:999px;font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;cursor:pointer;transition:background .2s;font-weight:500}
.newsletter-form button:hover{background:var(--clay-deep)}

/* FOOTER */
.site-footer{background:var(--ink);color:var(--bone);padding:90px 32px 32px}
.footer-inner{max-width:1600px;margin:0 auto}
.footer-grid{display:grid;grid-template-columns:1.6fr repeat(3,1fr);gap:60px;padding-bottom:60px;border-bottom:1px solid rgba(244,239,230,.12)}
.footer-brand .site-logo{color:var(--bone);font-size:34px;display:inline-block;margin-bottom:22px}
.footer-brand p{font-family:var(--serif);font-size:16px;line-height:1.55;color:var(--bone-deep);max-width:380px;font-weight:300;font-variation-settings:"opsz" 36,"SOFT" 70}
.footer-brand .credit{margin-top:24px;font-family:var(--mono);font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--mist)}
.footer-col h4{font-family:var(--mono);font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--mist);margin-bottom:24px;font-weight:500}
.footer-col ul{list-style:none;display:flex;flex-direction:column;gap:13px;margin:0;padding:0}
.footer-col a{font-family:var(--serif);font-size:17px;color:var(--bone);text-decoration:none;transition:color .2s,letter-spacing .2s;font-variation-settings:"opsz" 14,"SOFT" 80;display:inline-block}
.footer-col a:hover{color:var(--clay)}
.footer-bottom{padding-top:32px;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:16px}
.footer-bottom p{font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--mist)}
.socials{display:flex;gap:12px}
.socials a{width:38px;height:38px;border:1px solid rgba(244,239,230,.25);border-radius:999px;display:flex;align-items:center;justify-content:center;color:var(--bone);transition:all .2s}
.socials a:hover{background:var(--clay);border-color:var(--clay)}
.socials svg{width:15px;height:15px;fill:currentColor}

/* TOAST */
.st-toast{position:fixed;bottom:-100px;right:28px;background:var(--whatsapp);color:#fff;padding:16px 22px;border-radius:14px;font-family:var(--mono);font-size:12px;letter-spacing:.1em;text-transform:uppercase;opacity:0;pointer-events:none;transition:bottom .45s cubic-bezier(.16,1,.3,1),opacity .3s,box-shadow .3s;z-index:1000;display:flex;align-items:center;gap:12px}
.st-toast.show{bottom:28px;opacity:1;pointer-events:auto;box-shadow:0 14px 40px rgba(37,211,102,.35)}
.st-toast svg{width:18px;height:18px;fill:#fff}

/* Newsletter honeypot — off-screen but submittable */
.newsletter-hp{position:absolute;left:-5000px;width:1px;height:1px;overflow:hidden}

/* REVEAL */
.reveal{opacity:0;transform:translateY(28px);transition:opacity 1s cubic-bezier(.16,1,.3,1),transform 1s cubic-bezier(.16,1,.3,1)}
.reveal.in{opacity:1;transform:translateY(0)}

/* GENERIC PAGE / SINGLE / ARCHIVE */
.page-shell{max-width:920px;margin:0 auto;padding:120px 32px}
.page-shell h1{font-family:var(--serif);font-weight:300;font-size:clamp(40px,5vw,72px);line-height:1;letter-spacing:-.025em;margin-bottom:40px;font-variation-settings:"opsz" 144,"SOFT" 50}
.page-shell h1 em{font-style:italic;color:var(--clay);font-variation-settings:"opsz" 144,"SOFT" 100}
.page-shell h2{font-family:var(--serif);font-weight:400;font-size:32px;letter-spacing:-.015em;margin:48px 0 18px;font-variation-settings:"opsz" 36,"SOFT" 60}
.page-shell h3{font-family:var(--serif);font-weight:400;font-size:22px;margin:32px 0 14px;font-variation-settings:"opsz" 36,"SOFT" 60}
.page-shell p{font-family:var(--serif);font-size:18px;line-height:1.65;margin-bottom:18px;font-weight:300;font-variation-settings:"opsz" 36,"SOFT" 70}
.page-shell a{color:var(--clay);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}
.page-shell ul,.page-shell ol{font-family:var(--serif);font-size:18px;line-height:1.65;margin:0 0 18px 24px;font-weight:300;font-variation-settings:"opsz" 36,"SOFT" 70}
.page-shell img{margin:24px 0;border-radius:2px}
.entry-meta{font-family:var(--mono);font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--ash);margin-bottom:24px}
.archive-list{list-style:none;padding:0;margin:0;display:grid;gap:60px}
.archive-list article{padding-bottom:48px;border-bottom:1px solid rgba(26,22,18,.12)}
.archive-list article:last-child{border-bottom:none}
.archive-list h2{margin-top:0}

/* WOOCOMMERCE TWEAKS */
.woocommerce-notices-wrapper{max-width:1600px;margin:0 auto;padding:24px 32px 0}
.woocommerce-message,.woocommerce-info,.woocommerce-error{background:var(--paper);border:1px solid rgba(26,22,18,.14);border-left:3px solid var(--clay);padding:18px 22px;font-family:var(--sans);font-size:14px;color:var(--ink-soft);border-radius:2px;list-style:none}
.woocommerce-message a,.woocommerce-info a,.woocommerce-error a{color:var(--clay);text-decoration:underline}
.woocommerce-breadcrumb{font-family:var(--mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--ash);max-width:1600px;margin:24px auto 0;padding:0 32px}
.woocommerce-breadcrumb a{color:var(--ink-soft);text-decoration:none}
.woocommerce-breadcrumb a:hover{color:var(--clay)}

/* SINGLE PRODUCT */
.single-product div.product{max-width:1600px;margin:0 auto;padding:80px 32px;display:grid;grid-template-columns:1.2fr 1fr;gap:80px;align-items:start}
.single-product div.product .woocommerce-product-gallery{width:100%!important}
.single-product div.product .woocommerce-product-gallery img{width:100%;height:auto}
.single-product div.product .product_title{font-family:var(--serif);font-weight:300;font-size:clamp(36px,4vw,56px);line-height:1;letter-spacing:-.022em;font-variation-settings:"opsz" 144,"SOFT" 60;margin-bottom:14px}
.single-product div.product .price{font-family:var(--serif);font-size:28px;margin-bottom:30px;display:block}
.single-product div.product .woocommerce-product-details__short-description{font-family:var(--serif);font-size:17px;line-height:1.6;color:var(--ink-soft);margin-bottom:36px;font-variation-settings:"opsz" 36,"SOFT" 70}
.single-product div.product form.cart{display:flex;gap:12px;align-items:center;margin-bottom:40px;flex-wrap:wrap}
.single-product div.product .quantity input{font-family:var(--mono);font-size:14px;padding:14px 12px;border:1px solid rgba(26,22,18,.18);border-radius:999px;width:80px;text-align:center;background:transparent;color:var(--ink)}
.single-product div.product button.single_add_to_cart_button,.single-product div.product .single_add_to_cart_button{font-family:var(--mono)!important;font-size:11px!important;letter-spacing:.14em!important;text-transform:uppercase!important;background:var(--ink)!important;color:var(--bone)!important;border:1px solid var(--ink)!important;padding:15px 28px!important;border-radius:999px!important;cursor:pointer;transition:background .2s,border-color .2s;font-weight:500!important;line-height:1!important}
.single-product div.product button.single_add_to_cart_button:hover{background:var(--whatsapp)!important;border-color:var(--whatsapp)!important;color:#fff!important}
.single-product div.product .variations{margin-bottom:20px}
.single-product div.product .variations select{font-family:var(--mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;padding:12px 36px 12px 16px;border:1px solid rgba(26,22,18,.18);border-radius:999px;background:transparent;color:var(--ink);appearance:none;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath fill='%231a1612' d='M6 8 0 0h12z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;background-size:9px}
.single-product div.product .product_meta{font-family:var(--mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--ash);padding-top:24px;border-top:1px solid rgba(26,22,18,.14);display:flex;flex-direction:column;gap:8px}
.single-product div.product .product_meta a{color:var(--ink-soft);text-decoration:none}
.single-product div.product .product_meta a:hover{color:var(--clay)}
.woocommerce-tabs{max-width:1600px;margin:80px auto 120px;padding:0 32px;border-top:1px solid rgba(26,22,18,.12)}
.woocommerce-tabs ul.tabs{list-style:none;padding:32px 0;margin:0;display:flex;gap:32px;border-bottom:1px solid rgba(26,22,18,.12)}
.woocommerce-tabs ul.tabs li{padding:0!important;background:transparent!important;border:none!important}
.woocommerce-tabs ul.tabs li::before,.woocommerce-tabs ul.tabs li::after{display:none!important}
.woocommerce-tabs ul.tabs li a{font-family:var(--mono);font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--ash);text-decoration:none;padding:12px 0;display:inline-block;border-bottom:1px solid transparent}
.woocommerce-tabs ul.tabs li.active a{color:var(--ink);border-bottom-color:var(--clay)}
.woocommerce-tabs .panel{padding:48px 0;font-family:var(--serif);font-size:17px;line-height:1.65;font-variation-settings:"opsz" 36,"SOFT" 70}

/* CART / CHECKOUT */
.woocommerce-cart .woocommerce,.woocommerce-checkout .woocommerce{max-width:1300px;margin:0 auto;padding:80px 32px}
.woocommerce-cart h1,.woocommerce-checkout h1{font-family:var(--serif);font-weight:300;font-size:clamp(40px,5vw,64px);line-height:1;letter-spacing:-.025em;margin-bottom:40px;font-variation-settings:"opsz" 144,"SOFT" 50}
.woocommerce table.shop_table{font-family:var(--sans);font-size:14px;border:1px solid rgba(26,22,18,.12);border-radius:2px;border-collapse:separate;border-spacing:0}
.woocommerce table.shop_table th{font-family:var(--mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--ash);background:var(--paper);padding:18px}
.woocommerce table.shop_table td{padding:20px 18px;border-top:1px solid rgba(26,22,18,.08)}
.woocommerce-cart-form button.button,.checkout-button{font-family:var(--mono)!important;font-size:11px!important;letter-spacing:.14em!important;text-transform:uppercase!important;background:var(--ink)!important;color:var(--bone)!important;border:1px solid var(--ink)!important;padding:14px 26px!important;border-radius:999px!important}

/* CTA · SHIPPING & CARE (homepage) */
.cta-care{background:var(--bone-deep);padding:130px 0;border-top:1px solid rgba(26,22,18,.07);position:relative;overflow:hidden}
.cta-care::before{content:'';position:absolute;top:-200px;right:-200px;width:600px;height:600px;border:1px solid rgba(184,83,58,.1);border-radius:50%;pointer-events:none}
.cta-care-inner{max-width:1600px;margin:0 auto;padding:0 32px;display:grid;grid-template-columns:1fr 1.2fr;gap:80px;align-items:start;position:relative}
.cta-intro .eyebrow{color:var(--clay);margin-bottom:28px}
.cta-intro h2{font-family:var(--serif);font-weight:300;font-size:clamp(40px,5.2vw,68px);line-height:.96;letter-spacing:-.025em;margin-bottom:28px;font-variation-settings:"opsz" 144,"SOFT" 50}
.cta-intro h2 em{font-style:italic;color:var(--clay);font-variation-settings:"opsz" 144,"SOFT" 100}
.cta-intro p{font-family:var(--serif);font-weight:300;font-size:18px;line-height:1.55;color:var(--ink-soft);margin-bottom:32px;max-width:460px;font-variation-settings:"opsz" 36,"SOFT" 70}
.cta-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:8px}
.cta-link{display:inline-flex;align-items:center;gap:12px;font-family:var(--mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink);text-decoration:none;padding:14px 22px;border:1px solid var(--ink);border-radius:999px;transition:background .25s,color .25s}
.cta-link:hover{background:var(--ink);color:var(--bone)}
.cta-link.primary{background:var(--ink);color:var(--bone)}
.cta-link.primary:hover{background:var(--clay);border-color:var(--clay)}
.cta-link svg{width:13px;height:13px;transition:transform .3s}
.cta-link:hover svg{transform:translateX(3px)}
.cta-grid{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:rgba(26,22,18,.14);border:1px solid rgba(26,22,18,.14)}
.cta-card{background:var(--bone);padding:36px 30px;display:flex;flex-direction:column;gap:14px;transition:background .3s}
.cta-card:hover{background:var(--paper)}
.cta-card-num{font-family:var(--mono);font-size:11px;letter-spacing:.2em;color:var(--clay);font-weight:500;display:flex;align-items:center;gap:10px}
.cta-card-num::before{content:'';width:18px;height:1px;background:var(--clay)}
.cta-card h3{font-family:var(--serif);font-weight:400;font-size:22px;letter-spacing:-.015em;line-height:1.15;font-variation-settings:"opsz" 36,"SOFT" 70}
.cta-card h3 em{font-style:italic;font-variation-settings:"opsz" 36,"SOFT" 100}
.cta-card p{font-family:var(--sans);font-size:13.5px;line-height:1.6;color:var(--ink-soft)}

/* PAGE HERO (long-form pages) */
.page-hero{padding:90px 32px 72px;max-width:1600px;margin:0 auto;border-bottom:1px solid rgba(26,22,18,.1)}
.page-hero-inner{display:grid;grid-template-columns:1fr 1.5fr;gap:80px;align-items:end;max-width:1400px;margin:0 auto}
.page-eyebrow{font-family:var(--mono);font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--clay);display:inline-flex;align-items:center;gap:14px;margin-bottom:24px}
.page-eyebrow::before{content:'';width:36px;height:1px;background:var(--clay)}
.page-hero h1{font-family:var(--serif);font-weight:300;font-size:clamp(48px,7vw,108px);line-height:.92;letter-spacing:-.035em;font-variation-settings:"opsz" 144,"SOFT" 40}
.page-hero h1 em{font-style:italic;color:var(--clay);font-variation-settings:"opsz" 144,"SOFT" 100}
.page-hero-meta{font-family:var(--serif);font-weight:300;font-size:20px;line-height:1.55;color:var(--ink-soft);max-width:520px;font-variation-settings:"opsz" 36,"SOFT" 70;padding-bottom:8px}
.page-hero-meta a{color:var(--clay);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}

/* LONG-FORM PROSE w/ TOC */
.prose-shell{max-width:1600px;margin:0 auto;padding:90px 32px 110px;display:grid;grid-template-columns:1fr 2.6fr;gap:80px;align-items:start}
.prose-toc{position:sticky;top:120px;font-family:var(--mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--ash)}
.prose-toc strong{display:block;color:var(--ink);margin-bottom:18px;font-weight:500}
.prose-toc ul{list-style:none;display:flex;flex-direction:column;gap:10px;padding:0;margin:0}
.prose-toc a{color:var(--ash);text-decoration:none;transition:color .25s,padding .25s}
.prose-toc a:hover,.prose-toc a.current{color:var(--clay);padding-left:6px}
.prose{max-width:780px}
.prose section{margin-bottom:80px;scroll-margin-top:120px}
.prose section:last-child{margin-bottom:0}
.prose h2{font-family:var(--serif);font-weight:300;font-size:clamp(32px,4vw,52px);line-height:1;letter-spacing:-.025em;margin-bottom:32px;font-variation-settings:"opsz" 144,"SOFT" 50}
.prose h2 em{font-style:italic;color:var(--clay);font-variation-settings:"opsz" 144,"SOFT" 100}
.prose h2 .num{display:block;font-family:var(--mono);font-size:11px;letter-spacing:.22em;color:var(--clay);text-transform:uppercase;margin-bottom:14px;font-weight:500}
.prose p{font-family:var(--serif);font-weight:300;font-size:19px;line-height:1.62;color:var(--ink-soft);margin-bottom:22px;font-variation-settings:"opsz" 36,"SOFT" 70}
.prose p:last-child{margin-bottom:0}
.prose p strong{font-weight:500;color:var(--ink)}
.prose p em{font-style:italic;color:var(--clay);font-variation-settings:"opsz" 36,"SOFT" 100}
.prose a{color:var(--clay);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px;transition:color .2s}
.prose a:hover{color:var(--clay-deep)}
.prose ul{margin:24px 0;padding-left:0;list-style:none}
.prose ul li{font-family:var(--serif);font-weight:300;font-size:19px;line-height:1.55;color:var(--ink-soft);padding:14px 0 14px 28px;border-bottom:1px solid rgba(26,22,18,.1);position:relative;font-variation-settings:"opsz" 36,"SOFT" 70}
.prose ul li::before{content:'';position:absolute;left:0;top:24px;width:14px;height:1px;background:var(--clay)}
.prose ul li:first-child{border-top:1px solid rgba(26,22,18,.1)}
.callout{background:var(--paper);padding:36px 40px;border-left:3px solid var(--clay);margin:40px 0;font-family:var(--serif);font-style:italic;font-weight:300;font-size:21px;line-height:1.5;color:var(--ink);font-variation-settings:"opsz" 36,"SOFT" 100}

/* CONTACT GRID */
.contact-grid{max-width:1600px;margin:0 auto;padding:90px 32px 110px;display:grid;grid-template-columns:1fr 1.4fr;gap:80px;align-items:start}
.contact-info{position:sticky;top:120px}
.contact-info h2{font-family:var(--serif);font-weight:300;font-size:clamp(28px,3.2vw,40px);line-height:1.05;letter-spacing:-.022em;margin-bottom:30px;font-variation-settings:"opsz" 144,"SOFT" 60}
.contact-info h2 em{font-style:italic;color:var(--clay);font-variation-settings:"opsz" 144,"SOFT" 100}
.contact-info p{font-family:var(--serif);font-weight:300;font-size:18px;line-height:1.55;color:var(--ink-soft);margin-bottom:22px;font-variation-settings:"opsz" 36,"SOFT" 70}
.contact-list{list-style:none;border-top:1px solid rgba(26,22,18,.1);margin-top:36px;padding:0}
.contact-list li{padding:18px 0;border-bottom:1px solid rgba(26,22,18,.1);display:flex;align-items:flex-start;gap:18px;font-family:var(--sans);font-size:15px;color:var(--ink)}
.contact-list .label{font-family:var(--mono);font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--ash);min-width:96px;padding-top:2px;font-weight:500}
.contact-list .value{flex:1;font-family:var(--serif);font-size:18px;color:var(--ink);font-variation-settings:"opsz" 36,"SOFT" 80}
.contact-list .value a{color:var(--ink);text-decoration:none;border-bottom:1px solid var(--clay);transition:color .2s}
.contact-list .value a:hover{color:var(--clay)}
.contact-form{background:var(--paper);padding:48px 44px;border:1px solid rgba(26,22,18,.08)}
.form-eyebrow{font-family:var(--mono);font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--clay);margin-bottom:18px;display:inline-flex;align-items:center;gap:14px}
.form-eyebrow::before{content:'';width:30px;height:1px;background:var(--clay)}
.contact-form h3{font-family:var(--serif);font-weight:300;font-size:32px;line-height:1.05;letter-spacing:-.018em;margin-bottom:34px;font-variation-settings:"opsz" 144,"SOFT" 60}
.contact-form h3 em{font-style:italic;color:var(--clay);font-variation-settings:"opsz" 144,"SOFT" 100}
.field{display:flex;flex-direction:column;gap:8px;margin-bottom:22px}
.field label{font-family:var(--mono);font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--ash);font-weight:500}
.field input,.field textarea,.field select{font-family:var(--sans);font-size:15px;color:var(--ink);background:var(--bone);border:1px solid rgba(26,22,18,.14);padding:14px 16px;outline:none;transition:border-color .2s,background .2s;font-weight:400;border-radius:0}
.field input:focus,.field textarea:focus,.field select:focus{border-color:var(--clay);background:white}
.field textarea{resize:vertical;min-height:130px;line-height:1.55}
.field-row{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.form-submit{font-family:var(--mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;background:var(--ink);color:var(--bone);border:none;padding:18px 32px;border-radius:999px;cursor:pointer;transition:background .25s,transform .25s;font-weight:500;display:inline-flex;align-items:center;gap:12px;margin-top:10px}
.form-submit:hover{background:var(--clay);transform:translateY(-1px)}
.form-submit svg{width:14px;height:14px;transition:transform .3s}
.form-submit:hover svg{transform:translateX(3px)}
.form-note{font-family:var(--mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--ash);margin-top:18px;line-height:1.6}
.form-note a{color:var(--clay)}

/* MOBILE */
@media (max-width:980px){
  /* Mobile menu — hidden by default, slides in via .is-open class */
  .main-nav{display:none;position:absolute;top:100%;left:0;right:0;background:var(--bone);border-bottom:1px solid rgba(26,22,18,.07);box-shadow:0 12px 32px rgba(26,22,18,.08);padding:32px 24px;z-index:49}
  .main-nav.is-open{display:block}
  .main-nav ul{flex-direction:column;align-items:center;justify-content:center;gap:0;display:flex;width:100%}
  .main-nav li{width:100%;text-align:center}
  .main-nav a{display:inline-block;padding:16px 0;font-size:13px;letter-spacing:.22em}
  .main-nav a::after{display:none}
  /* Force dark text inside mobile menu panel even on homepage where header
     is transparent and would otherwise make nav links bone-cream-on-bone. */
  .main-nav.is-open a,
  .home .site-header .main-nav.is-open a,
  .front-page .site-header .main-nav.is-open a,
  .home .site-header:not(.is-scrolled) .main-nav.is-open a,
  .front-page .site-header:not(.is-scrolled) .main-nav.is-open a{color:var(--ink-soft)}
  .main-nav.is-open a:hover,
  .home .site-header:not(.is-scrolled) .main-nav.is-open a:hover,
  .front-page .site-header:not(.is-scrolled) .main-nav.is-open a:hover{color:var(--clay)}
  body.nav-open{overflow:hidden}
  .menu-toggle{display:inline-flex}
  .header-inner{grid-template-columns:1fr auto}
  .hero-content{grid-template-columns:1fr;gap:36px;padding:60px 24px 60px}
  .hero-corner{display:none}
  .collections-grid{grid-template-columns:1fr;gap:36px}
  .col-1,.col-2,.col-3,.col-4,.col-5{grid-column:span 1;margin-top:0}
  .products{grid-template-columns:1fr;gap:48px}
  .about-grid{grid-template-columns:1fr;gap:48px}
  .about::before{width:300px;height:300px;top:-150px;right:-150px}
  .about::after{display:none}
  .info-grid{grid-template-columns:1fr 1fr}
  .cta-care-inner{grid-template-columns:1fr;gap:48px}
  .cta-grid{grid-template-columns:1fr 1fr}
  .page-hero{padding:60px 24px 50px}
  .page-hero-inner{grid-template-columns:1fr;gap:32px;align-items:start}
  .prose-shell{grid-template-columns:1fr;padding:60px 24px 80px;gap:48px}
  .prose-toc{position:static}
  .contact-grid{grid-template-columns:1fr;padding:60px 24px 80px;gap:48px}
  .contact-info{position:static}
  .footer-grid{grid-template-columns:1fr 1fr;gap:40px}
  .section-head{flex-direction:column;align-items:flex-start;padding-bottom:40px}
  .section-head .meta{text-align:left;max-width:none}
  .manifesto,.shop,.about,.print-info,.cta-care,.newsletter{padding-top:90px;padding-bottom:90px}
  .single-product div.product{grid-template-columns:1fr;gap:48px;padding:48px 24px}
}
@media (max-width:600px){
  .header-inner{padding:14px 20px;gap:14px}
  .site-logo{font-size:24px}
  .cart-btn span.lbl{display:none}
  .cart-btn{padding:9px 14px}
  .hero{min-height:80vh}
  .hero h1{white-space:normal;line-height:.95}
  .info-grid{grid-template-columns:1fr}
  .cta-grid{grid-template-columns:1fr}
  .field-row{grid-template-columns:1fr}
  .contact-form{padding:36px 24px}
  .footer-grid{grid-template-columns:1fr;gap:36px}
  .manifesto,.shop,.about,.print-info,.cta-care,.newsletter,.site-footer{padding-left:20px;padding-right:20px}
  .filter-bar,.products,.shop-footer,.collections-grid,.section-head,.cta-care-inner{padding-left:20px;padding-right:20px}
  .newsletter-form{flex-direction:column;border-radius:18px;gap:6px}
  .newsletter-form button{padding:14px}
  .page-shell{padding:80px 20px}
}
