/*
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.1.0
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 */
.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}
.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 */
.site-header{position:sticky;top: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)}
.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:92vh;display:flex;align-items:flex-end;overflow:hidden;background:#100c08}
.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(54px,8.6vw,148px);line-height:.9;letter-spacing:-.04em;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{content:'';display:block;width:16px;height:1px;background:var(--clay);margin:0 0 8px auto}

/* 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{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}
.press-list span:hover{opacity:1;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:28px;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;transform:translateY(140%);transition:transform .45s cubic-bezier(.16,1,.3,1);z-index:1000;box-shadow:0 14px 40px rgba(37,211,102,.35);display:flex;align-items:center;gap:12px}
.st-toast.show{transform:translateY(0)}
.st-toast svg{width:18px;height:18px;fill:#fff}

/* 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){
  .main-nav{display:none}
  .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}
  .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}
  .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}
}
