/* FromFlores — main.css */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;font-size:16px;-webkit-text-size-adjust:100%}
body{font-family:'DM Sans',Arial,sans-serif;background:var(--bg);color:var(--cream);overflow-x:hidden;-webkit-font-smoothing:antialiased}
img{display:block;max-width:100%;height:auto}
a{text-decoration:none;color:inherit}
button{font-family:inherit;cursor:pointer;border:none;background:none}
ul,ol{list-style:none}
input,textarea,select{font-family:inherit}
table{border-collapse:collapse;width:100%}
:root{
  --bg:#070905;--bg1:#0c0f08;--bg2:#111509;--bg3:#181e0e;
  --gold:#c9a84c;--gold2:#e2c97e;--gold3:#f5e9b0;--golda:rgba(201,168,76,.12);
  --cream:#f0e9d8;--cream2:#e2d8c0;--muted:rgba(240,233,216,.5);--muted2:rgba(240,233,216,.28);--stone:#8a8070;
  --cof-bg:#f7f2e8;--cof-bg2:#ede5d4;--cof-bg3:#e0d4be;
  --cof-brown:#3d2314;--cof-brown2:#5c3520;--cof-brown3:#7a4a2e;
  --cof-green:#2d4a2a;--cof-green2:#3d6438;--cof-tan:#b8956a;--cof-tan2:#d4b08a;
  --cof-cream:#fdf8f0;--cof-text:#1e120a;--cof-muted:rgba(61,35,20,.55);
  --sp1:.5rem;--sp2:1rem;--sp3:1.5rem;--sp4:2rem;--sp5:3rem;--sp6:4rem;--sp7:6rem;--sp8:8rem;
  --r1:2px;--r2:4px;--r3:8px;--r4:16px;
  --ease:cubic-bezier(.25,.46,.45,.94);--ease2:cubic-bezier(.77,0,.18,1);
  --t1:.2s;--t2:.35s;--t3:.5s;--t4:.8s;
  --sh1:0 2px 8px rgba(0,0,0,.3);--sh2:0 8px 32px rgba(0,0,0,.4);--sh3:0 16px 64px rgba(0,0,0,.5);
  --sh-gold:0 8px 32px rgba(201,168,76,.25);
}
.font-display{font-family:'Playfair Display',Georgia,serif}
h1,h2,h3,h4,h5,h6{font-family:'Playfair Display',Georgia,serif;line-height:1.1;letter-spacing:-.02em}

/* PRELOADER */
#ff-loader{position:fixed;inset:0;z-index:9000;background:var(--bg);display:flex;flex-direction:column;align-items:center;justify-content:center;transition:opacity .9s var(--ease),visibility .9s}
#ff-loader.gone{opacity:0;visibility:hidden;pointer-events:none}
.ld-inner{text-align:center}
.ld-logo{font-family:'Playfair Display',serif;font-size:2.2rem;font-weight:900;color:var(--cream);opacity:0;animation:fup .8s .2s forwards}
.ld-line{width:0;height:1px;margin:.45rem auto;background:linear-gradient(90deg,transparent,var(--gold),transparent);animation:lexp 1s .5s forwards}
.ld-sub{font-size:.58rem;letter-spacing:.3em;text-transform:uppercase;color:var(--gold);opacity:0;animation:fup .8s .7s forwards}
.ld-bar{position:absolute;bottom:0;left:0;height:2px;background:linear-gradient(90deg,var(--gold),var(--gold2));animation:lbar 2.2s var(--ease) forwards}
@keyframes fup{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}
@keyframes lexp{from{width:0}to{width:200px}}
@keyframes lbar{from{width:0}to{width:100%}}
/* NAV */
#ff-nav{position:fixed;top:0;left:0;right:0;z-index:500;padding:1.75rem 5vw;display:flex;justify-content:space-between;align-items:center;transition:padding .5s var(--ease),background .5s,border .5s,transform .4s var(--ease)}
#ff-nav.scrolled{padding:1rem 5vw;background:rgba(7,9,5,.96);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border-bottom:1px solid rgba(201,168,76,.07)}
#ff-nav.nav-hidden{transform:translateY(-100%)}
.nav-logo{display:flex;flex-direction:column;line-height:1}
.nl-main{font-family:'Playfair Display',serif;font-size:1.4rem;font-weight:900;color:var(--cream);letter-spacing:-.02em}
.nl-rule{display:block;height:1px;margin:3px 0 2px;background:linear-gradient(90deg,var(--gold),var(--gold2),transparent)}
.nl-sub{font-size:.55rem;font-weight:300;letter-spacing:.25em;text-transform:uppercase;color:var(--gold)}
.nav-links{display:none;gap:2.5rem}
@media(min-width:1024px){.nav-links{display:flex}}
.nav-links a{font-size:.7rem;font-weight:300;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);position:relative;transition:color var(--t2)}
.nav-links a::after{content:'';position:absolute;bottom:-3px;left:0;width:0;height:1px;background:var(--gold);transition:width var(--t3)}
.nav-links a:hover,.nav-links a.active{color:var(--cream)}
.nav-links a:hover::after,.nav-links a.active::after{width:100%}
.nav-dropdown{position:relative}
.dropdown-menu{position:absolute;top:calc(100% + .25rem);left:50%;transform:translateX(-50%) translateY(-8px);background:rgba(12,15,8,.97);border:1px solid rgba(201,168,76,.1);backdrop-filter:blur(16px);min-width:200px;padding:.5rem 0;opacity:0;visibility:hidden;transition:all var(--t2) var(--ease);pointer-events:none}
.nav-dropdown.open .dropdown-menu{opacity:1;visibility:visible;transform:translateX(-50%) translateY(0);pointer-events:auto}
.dropdown-menu li a{display:block;padding:.65rem 1.25rem;font-size:.75rem;color:var(--muted);transition:color var(--t1),background var(--t1);white-space:nowrap}
.dropdown-menu li a:hover{color:var(--gold2);background:rgba(201,168,76,.05)}
.nav-right{display:flex;align-items:center;gap:1rem}
.nav-search-btn{color:var(--muted);transition:color var(--t2);padding:.5rem}
.nav-search-btn:hover{color:var(--cream)}
.nav-cta{font-size:.68rem;font-weight:400;letter-spacing:.14em;text-transform:uppercase;color:var(--gold);padding:.55rem 1.5rem;border:1px solid rgba(201,168,76,.4);position:relative;overflow:hidden;transition:color var(--t3);display:none}
@media(min-width:768px){.nav-cta{display:inline-block}}
.nav-cta::before{content:'';position:absolute;inset:0;background:var(--gold);transform:translateX(-101%);transition:transform .4s var(--ease2)}
.nav-cta:hover{color:var(--bg)}
.nav-cta:hover::before{transform:translateX(0)}
.nav-cta span{position:relative;z-index:1}
.nav-burger{display:flex;flex-direction:column;gap:5px;padding:.5rem;z-index:10}
@media(min-width:1024px){.nav-burger{display:none}}
.nav-burger span{display:block;width:22px;height:1.5px;background:var(--cream);transition:all var(--t2) var(--ease);transform-origin:center}
.nav-burger.active span:nth-child(1){transform:rotate(45deg) translateY(6.5px)}
.nav-burger.active span:nth-child(2){opacity:0;transform:scaleX(0)}
.nav-burger.active span:nth-child(3){transform:rotate(-45deg) translateY(-6.5px)}
/* MOBILE MENU */
.mobile-menu{position:fixed;inset:0;z-index:490;background:var(--bg1);transform:translateX(100%);transition:transform .5s var(--ease2);overflow-y:auto}
.mobile-menu.open{transform:translateX(0)}
.mm-inner{padding:7rem 2rem 3rem;min-height:100%}
.mm-nav{display:flex;flex-direction:column;gap:.25rem;margin-bottom:3rem}
.mm-link{font-family:'Playfair Display',serif;font-size:1.8rem;font-weight:300;color:var(--cream);padding:.6rem 0;border-bottom:1px solid rgba(201,168,76,.06);transition:color var(--t2),padding-left var(--t2);opacity:0;transform:translateX(20px)}
.mobile-menu.open .mm-link{opacity:1;transform:translateX(0)}
.mobile-menu.open .mm-link:nth-child(1){transition-delay:.1s}.mobile-menu.open .mm-link:nth-child(2){transition-delay:.15s}.mobile-menu.open .mm-link:nth-child(3){transition-delay:.2s}.mobile-menu.open .mm-link:nth-child(4){transition-delay:.25s}.mobile-menu.open .mm-link:nth-child(5){transition-delay:.3s}.mobile-menu.open .mm-link:nth-child(6){transition-delay:.35s}.mobile-menu.open .mm-link:nth-child(7){transition-delay:.4s}.mobile-menu.open .mm-link:nth-child(8){transition-delay:.45s}.mobile-menu.open .mm-link:nth-child(9){transition-delay:.5s}
.mm-link:hover{color:var(--gold2);padding-left:.5rem}
.mm-cta{color:var(--gold)!important;font-style:italic}
.mm-footer{border-top:1px solid rgba(201,168,76,.08);padding-top:2rem}
.mm-footer p{font-size:.8rem;font-weight:300;color:var(--muted2);margin-bottom:.35rem}
/* SEARCH OVERLAY */
.search-overlay{position:fixed;inset:0;z-index:600;background:rgba(7,9,5,.97);backdrop-filter:blur(24px);display:flex;align-items:center;justify-content:center;opacity:0;visibility:hidden;transition:all var(--t3)}
.search-overlay.open{opacity:1;visibility:visible}
.search-close{position:absolute;top:2rem;right:5vw;font-size:1.5rem;color:var(--muted2);transition:color var(--t2)}
.search-close:hover{color:var(--cream)}
.search-inner{width:min(700px,90vw)}
.search-form{display:flex;gap:0;border-bottom:1px solid rgba(201,168,76,.3);margin-bottom:2rem}
.search-form input{flex:1;background:none;border:none;outline:none;font-family:'Playfair Display',serif;font-size:clamp(1.5rem,3vw,2.5rem);font-weight:300;color:var(--cream);padding:1rem 0}
.search-form input::placeholder{color:var(--muted2)}
.search-form button{color:var(--gold2);font-size:1.5rem;padding:1rem;transition:color var(--t2)}
.ss-label{font-size:.65rem;letter-spacing:.18em;text-transform:uppercase;color:var(--muted2);margin-bottom:1rem}
.ss-tags{display:flex;flex-wrap:wrap;gap:.5rem}
.ss-tags a{font-size:.78rem;color:var(--muted);padding:.4rem .9rem;border:1px solid rgba(201,168,76,.15);transition:all var(--t2)}
.ss-tags a:hover{color:var(--gold2);border-color:rgba(201,168,76,.4)}
/* COOKIE */
.cookie-bar{position:fixed;bottom:1.5rem;left:1.5rem;right:1.5rem;z-index:800;background:var(--bg2);border:1px solid rgba(201,168,76,.15);padding:1.25rem 1.5rem;display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;backdrop-filter:blur(12px);transform:translateY(120%);transition:transform .5s var(--ease)}
.cookie-bar.show{transform:translateY(0)}
.cookie-bar.hide{transform:translateY(120%)}
.cookie-bar p{font-size:.8rem;font-weight:300;color:var(--muted);flex:1}
.cookie-bar p a{color:var(--gold2);border-bottom:1px solid rgba(201,168,76,.3)}
.cookie-actions{display:flex;gap:.75rem}
.btn-cookie-accept{background:var(--gold);color:var(--bg);font-size:.72rem;font-weight:500;letter-spacing:.1em;text-transform:uppercase;padding:.5rem 1.25rem;transition:background var(--t2);border:none;cursor:pointer}
.btn-cookie-accept:hover{background:var(--gold2)}
.btn-cookie-decline{font-size:.72rem;color:var(--muted2);padding:.5rem;transition:color var(--t2);background:none;border:none;cursor:pointer}
.btn-cookie-decline:hover{color:var(--cream)}
@media(min-width:768px){.cookie-bar{left:2rem;right:auto;max-width:480px}}
/* BUTTONS */
.btn-gold{display:inline-block;background:var(--gold);color:var(--bg);padding:.9rem 2.25rem;font-size:.72rem;font-weight:500;letter-spacing:.16em;text-transform:uppercase;position:relative;overflow:hidden;transition:color var(--t3);text-align:center}
.btn-gold::before{content:'';position:absolute;inset:0;background:var(--gold2);transform:translateX(-101%);transition:transform .45s var(--ease2)}
.btn-gold:hover::before{transform:translateX(0)}
.btn-gold span{position:relative;z-index:1;color:var(--bg)}
.btn-outline{display:inline-block;border:1px solid rgba(240,233,216,.15);color:var(--muted);padding:.9rem 2.25rem;font-size:.72rem;font-weight:300;letter-spacing:.16em;text-transform:uppercase;transition:border-color var(--t2),color var(--t2);text-align:center}
.btn-outline:hover{border-color:rgba(240,233,216,.35);color:var(--cream)}
.btn-ghost-gold{display:inline-block;color:var(--gold);font-size:.72rem;font-weight:300;letter-spacing:.14em;text-transform:uppercase;border:1px solid rgba(201,168,76,.35);padding:.9rem 2.25rem;position:relative;overflow:hidden;transition:color var(--t3)}
.btn-ghost-gold::before{content:'';position:absolute;inset:0;background:var(--gold);transform:translateY(101%);transition:transform .45s var(--ease2)}
.btn-ghost-gold:hover{color:var(--bg)}
.btn-ghost-gold:hover::before{transform:translateY(0)}
.btn-ghost-gold span{position:relative;z-index:1}
.btn-cof{display:inline-block;background:var(--cof-brown);color:var(--cof-cream);padding:.9rem 2.25rem;font-size:.72rem;font-weight:500;letter-spacing:.16em;text-transform:uppercase;position:relative;overflow:hidden;transition:color var(--t3)}
.btn-cof::before{content:'';position:absolute;inset:0;background:var(--cof-brown2);transform:translateX(-101%);transition:transform .45s var(--ease2)}
.btn-cof:hover::before{transform:translateX(0)}
.btn-cof span{position:relative;z-index:1;color:var(--cof-cream)}
/* SECTION HELPERS */
.section{padding:var(--sp8) 5vw}
.section-sm{padding:var(--sp7) 5vw}
.lbl{font-size:.6rem;font-weight:300;letter-spacing:.25em;text-transform:uppercase;color:var(--gold);margin-bottom:1.5rem;display:flex;align-items:center;gap:.85rem}
.lbl::before{content:'';width:24px;height:1px;background:var(--gold);opacity:.6}
.sec-h{font-family:'Playfair Display',serif;font-size:clamp(2.5rem,4vw,4.5rem);font-weight:300;color:var(--cream);line-height:.95;letter-spacing:-.025em}
.sec-h strong{font-weight:900;display:block}
.sec-h em{font-style:italic;color:var(--gold2)}
.sec-p{font-size:.9rem;font-weight:300;color:var(--muted);line-height:1.9}
/* SCROLL REVEAL */
.sr{opacity:0;transform:translateY(28px);transition:opacity var(--t4) var(--ease),transform var(--t4) var(--ease)}
.sr.in{opacity:1;transform:translateY(0)}
.sr-d1{transition-delay:.1s}.sr-d2{transition-delay:.2s}.sr-d3{transition-delay:.3s}.sr-d4{transition-delay:.4s}.sr-d5{transition-delay:.5s}.sr-d6{transition-delay:.6s}
@media(prefers-reduced-motion:reduce){.sr{opacity:1;transform:none;transition:none}}
/* TICKER */
.ticker{border-top:1px solid rgba(201,168,76,.08);border-bottom:1px solid rgba(201,168,76,.08);overflow:hidden;padding:.55rem 0;background:var(--bg1)}
.ticker-track{display:flex;width:max-content;animation:ticker 28s linear infinite}
.ticker:hover .ticker-track{animation-play-state:paused}
@keyframes ticker{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}
.tick-item{padding:0 3rem;font-family:'Cormorant Garamond',serif;font-size:1rem;font-style:italic;font-weight:300;color:rgba(201,168,76,.3);white-space:nowrap;display:flex;align-items:center;gap:2rem}
.tick-item::after{content:'✦';font-style:normal;font-size:.5rem;opacity:.4}
/* HERO */
.hero{min-height:100svh;position:relative;overflow:hidden;display:flex;align-items:center}
.hero-split{display:grid;grid-template-columns:1fr}
@media(min-width:1024px){.hero-split{grid-template-columns:55% 45%}}
.hero-l{position:relative;z-index:2;display:flex;flex-direction:column;justify-content:center;padding:10rem 5vw 6rem;background:var(--bg)}
@media(min-width:1024px){.hero-l{padding:8rem 5vw 4rem}}
.hero-r{position:relative;min-height:50vh;overflow:hidden;background:var(--bg1)}
@media(min-width:1024px){.hero-r{min-height:100svh}}
.hero-r-img{position:absolute;inset:-15%;background-size:cover;background-position:center;filter:brightness(.45) saturate(.65) sepia(.1);will-change:transform}
.hero-r-grad{position:absolute;inset:0;background:linear-gradient(270deg,transparent 40%,var(--bg) 100%),linear-gradient(0deg,var(--bg) 0%,transparent 35%),linear-gradient(180deg,var(--bg) 0%,transparent 25%)}
.hero-ghost{position:absolute;bottom:3rem;right:2vw;z-index:2;font-family:'Cormorant Garamond',serif;font-size:clamp(4rem,9vw,10rem);font-weight:300;font-style:italic;color:rgba(240,233,216,.05);line-height:1;letter-spacing:-.04em;pointer-events:none;text-align:right}
.hero-badge{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:3;background:rgba(7,9,5,.88);border:1px solid rgba(201,168,76,.25);backdrop-filter:blur(12px);padding:1.5rem 2rem;text-align:center;min-width:160px}
.hb-pre{font-size:.55rem;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);margin-bottom:.4rem}
.hb-n{font-family:'Playfair Display',serif;font-size:2.4rem;font-weight:900;color:var(--cream);line-height:1;display:block}
.hb-l{font-size:.6rem;font-weight:300;letter-spacing:.12em;text-transform:uppercase;color:var(--muted2);margin-top:.2rem}
.hero-scroll{position:absolute;right:5vw;bottom:3rem;z-index:4;display:flex;flex-direction:column;align-items:center;gap:.6rem;writing-mode:vertical-rl;font-size:.55rem;font-weight:300;letter-spacing:.2em;text-transform:uppercase;color:var(--muted2)}
.hero-scroll::before{content:'';width:1px;height:48px;background:rgba(201,168,76,.25);animation:spulse 2s infinite}
@keyframes spulse{0%,100%{opacity:.25;transform:scaleY(1)}50%{opacity:.7;transform:scaleY(.5)}}
.hero-eyebrow{display:flex;align-items:center;gap:1rem;font-size:.62rem;font-weight:300;letter-spacing:.25em;text-transform:uppercase;color:var(--gold);margin-bottom:2.5rem}
.hero-eyebrow::before{content:'';width:32px;height:1px;background:var(--gold);flex-shrink:0}
.hero-h1{font-family:'Playfair Display',serif;font-size:clamp(3.5rem,5.5vw,6.2rem);font-weight:300;line-height:.92;letter-spacing:-.025em;color:var(--cream)}
.hero-h1 .hb{font-weight:900;display:block}
.hero-h1 .hi{display:block;font-style:italic;font-weight:300;font-size:.6em;color:var(--gold2);margin-top:.4em}
.hero-divider{display:flex;align-items:center;gap:1.25rem;margin:2.25rem 0}
.hd-l{flex:1;height:1px;background:linear-gradient(90deg,rgba(201,168,76,.3),transparent)}
.hd-d{width:6px;height:6px;background:var(--gold);transform:rotate(45deg);flex-shrink:0}
.hero-p{font-size:.9rem;font-weight:300;color:var(--muted);line-height:1.9;max-width:380px;margin-bottom:2.75rem;border-left:1px solid rgba(201,168,76,.18);padding-left:1.25rem}
.hero-actions{display:flex;gap:1rem;flex-wrap:wrap}
.hero-stats{display:flex;gap:2rem;flex-wrap:wrap;padding-top:2.5rem;margin-top:2.5rem;border-top:1px solid rgba(201,168,76,.08)}
.hs-n{font-family:'Playfair Display',serif;font-size:1.75rem;font-weight:700;line-height:1;background:linear-gradient(135deg,var(--gold),var(--gold3));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.hs-l{font-size:.58rem;font-weight:300;letter-spacing:.12em;text-transform:uppercase;color:var(--muted2);margin-top:.2rem}
/* MANIFESTO */
.manifesto{padding:var(--sp8) 5vw;display:grid;grid-template-columns:1fr;gap:4rem;border-bottom:1px solid rgba(201,168,76,.06)}
@media(min-width:1024px){.manifesto{grid-template-columns:1fr 1.4fr;gap:6vw;align-items:center}}
.mf-h{font-family:'Playfair Display',serif;font-size:clamp(3rem,4.5vw,5rem);font-weight:300;line-height:.95;letter-spacing:-.025em;color:var(--cream)}
.mf-h strong{font-weight:900;display:block}
.mf-h em{font-style:italic;color:var(--gold2)}
.mf-q{font-family:'Cormorant Garamond',serif;font-size:1.6rem;font-style:italic;font-weight:300;color:rgba(240,233,216,.75);line-height:1.5;margin-bottom:2.5rem;padding-bottom:2.5rem;border-bottom:1px solid rgba(201,168,76,.1)}
.mf-p{font-size:.88rem;font-weight:300;color:var(--muted);line-height:1.95;margin-bottom:1rem}
.mf-a{display:inline-flex;align-items:center;gap:.75rem;color:var(--gold2);font-size:.7rem;font-weight:300;letter-spacing:.14em;text-transform:uppercase;margin-top:2rem;transition:gap var(--t2)}
.mf-a:hover{gap:1.25rem}
.mf-a::after{content:'→';font-size:.9rem}
/* BENTO PRODUCTS */
.bento{display:grid;gap:3px;background:rgba(201,168,76,.04);border:1px solid rgba(201,168,76,.06);padding:3px;grid-template-columns:1fr}
@media(min-width:640px){.bento{grid-template-columns:1fr 1fr}}
@media(min-width:1024px){.bento{grid-template-columns:1.5fr 1fr 1fr;grid-template-rows:380px 260px}}
.bn1{grid-column:1}
@media(min-width:640px){.bn1{grid-column:1/3}}
@media(min-width:1024px){.bn1{grid-column:1;grid-row:1/3}}
@media(min-width:1024px){.bn4{grid-column:2/4}}
.bcard{position:relative;overflow:hidden;cursor:pointer;background:var(--bg2);min-height:260px}
@media(min-width:1024px){.bcard{min-height:unset}}
.bcard img{width:100%;height:100%;object-fit:cover;filter:brightness(.5) saturate(.6);transition:transform .8s var(--ease),filter .6s;will-change:transform;position:absolute;inset:0}
.bcard:hover img{transform:scale(1.07);filter:brightness(.65) saturate(.8)}
.bc-veil{position:absolute;inset:0;background:linear-gradient(0deg,rgba(7,9,5,.96) 0%,rgba(7,9,5,.3) 50%,transparent 100%);transition:background var(--t3)}
.bcard:hover .bc-veil{background:linear-gradient(0deg,rgba(7,9,5,1) 0%,rgba(7,9,5,.55) 60%,rgba(7,9,5,.1) 100%)}
.bc-body{position:absolute;bottom:0;left:0;right:0;padding:2rem}
.bc-cat{font-size:.58rem;font-weight:300;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);margin-bottom:.5rem}
.bc-name{font-family:'Playfair Display',serif;font-weight:700;color:var(--cream);line-height:1.2;font-size:1.25rem;margin-bottom:.35rem}
.bn1 .bc-name{font-size:1.65rem}
.bc-desc{font-size:.78rem;font-weight:300;color:var(--muted);line-height:1.65;max-height:0;overflow:hidden;transition:max-height var(--t3),margin var(--t2)}
.bcard:hover .bc-desc{max-height:80px;margin-top:.5rem}
.bc-ft{display:flex;justify-content:space-between;align-items:center;margin-top:.85rem;padding-top:.75rem;border-top:1px solid rgba(201,168,76,.1);opacity:0;transform:translateY(6px);transition:opacity var(--t2),transform var(--t2)}
.bcard:hover .bc-ft{opacity:1;transform:translateY(0)}
.bc-price{font-size:.82rem;font-weight:400;color:var(--gold2)}
.bc-moq{font-size:.62rem;font-weight:300;color:var(--muted2);letter-spacing:.08em}
/* COFFEE SECTION */
.coffee-section{background:var(--cof-bg);position:relative;overflow:hidden}
.coffee-section::before{content:'';position:absolute;inset:0;pointer-events:none;opacity:.03;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='4' height='4'%3E%3Ccircle cx='1' cy='1' r='.8' fill='%233d2314'/%3E%3C/svg%3E");background-size:4px}
.cof-label{font-size:.6rem;font-weight:400;letter-spacing:.25em;text-transform:uppercase;color:var(--cof-brown3);margin-bottom:1.5rem;display:flex;align-items:center;gap:.85rem}
.cof-label::before{content:'';width:24px;height:1px;background:var(--cof-tan);opacity:.8}
.cof-h{font-family:'Playfair Display',serif;font-size:clamp(2.5rem,4vw,4rem);font-weight:400;color:var(--cof-brown);line-height:1;letter-spacing:-.02em}
.cof-h em{font-style:italic;font-weight:300;color:var(--cof-green)}
.cof-card{background:var(--cof-cream);border:1px solid rgba(61,35,20,.08);overflow:hidden;transition:transform var(--t3),box-shadow var(--t3)}
.cof-card:hover{transform:translateY(-4px);box-shadow:0 12px 40px rgba(61,35,20,.12)}
.cof-card-img{height:240px;overflow:hidden}
.cof-card-img img{width:100%;height:100%;object-fit:cover;filter:saturate(.85) brightness(.9);transition:transform .7s var(--ease)}
.cof-card:hover .cof-card-img img{transform:scale(1.05)}
.cof-card-body{padding:1.5rem}
.cof-card-tag{font-size:.6rem;font-weight:400;letter-spacing:.18em;text-transform:uppercase;color:var(--cof-green);margin-bottom:.5rem}
.cof-card-name{font-family:'Playfair Display',serif;font-size:1.2rem;font-weight:600;color:var(--cof-brown);margin-bottom:.5rem;line-height:1.25}
.cof-card-desc{font-size:.82rem;color:var(--cof-muted);line-height:1.7;margin-bottom:1.1rem}
.cof-card-ft{display:flex;justify-content:space-between;align-items:center;padding-top:.85rem;border-top:1px solid rgba(61,35,20,.08)}
.cof-card-price{font-size:.85rem;font-weight:500;color:var(--cof-brown)}
.cof-card-moq{font-size:.68rem;color:var(--cof-muted)}
.cof-info-grid{display:grid;grid-template-columns:1fr;gap:1rem;margin-top:2rem}
@media(min-width:768px){.cof-info-grid{grid-template-columns:repeat(3,1fr)}}
.cof-info-item{background:var(--cof-bg2);padding:1.25rem;border-left:2px solid var(--cof-tan)}
.cof-info-label{font-size:.6rem;letter-spacing:.16em;text-transform:uppercase;color:var(--cof-brown3);margin-bottom:.3rem}
.cof-info-value{font-family:'Playfair Display',serif;font-size:1rem;font-weight:600;color:var(--cof-brown)}
.tasting-notes{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1rem}
.tn-tag{font-size:.7rem;padding:.3rem .75rem;background:rgba(61,35,20,.08);color:var(--cof-brown2);border:1px solid rgba(61,35,20,.12);font-style:italic}
.cof-story{display:grid;grid-template-columns:1fr;gap:4rem;align-items:center}
@media(min-width:1024px){.cof-story{grid-template-columns:1fr 1fr}}
.cof-story-img{position:relative}
.cof-story-img img{width:100%;aspect-ratio:4/5;object-fit:cover;filter:sepia(.1) saturate(.9)}
.cof-story-badge{position:absolute;bottom:-1.5rem;right:-1.5rem;background:var(--cof-green);color:var(--cof-cream);padding:1.5rem;text-align:center;min-width:130px}
.csb-n{font-family:'Playfair Display',serif;font-size:2rem;font-weight:700;display:block;line-height:1}
.csb-l{font-size:.62rem;letter-spacing:.12em;text-transform:uppercase;opacity:.8;margin-top:.35rem;display:block}
.cof-q{font-family:'Cormorant Garamond',serif;font-size:1.45rem;font-style:italic;font-weight:300;color:var(--cof-brown);line-height:1.6;border-left:2px solid var(--cof-tan);padding-left:1.5rem;margin:2rem 0}
.cof-rule{width:48px;height:1px;background:var(--cof-tan);margin:2rem 0}
/* PROCESS */
.process{padding:var(--sp8) 5vw;background:var(--bg1);border-top:1px solid rgba(201,168,76,.06);border-bottom:1px solid rgba(201,168,76,.06)}
.proc-grid{display:grid;grid-template-columns:1fr;gap:2.5rem;margin-top:4rem;position:relative}
@media(min-width:640px){.proc-grid{grid-template-columns:repeat(3,1fr)}}
@media(min-width:1024px){.proc-grid{grid-template-columns:repeat(5,1fr)}}
.pstep{text-align:center}
.pstep-num{width:40px;height:40px;border-radius:50%;border:1px solid rgba(201,168,76,.3);display:flex;align-items:center;justify-content:center;margin:0 auto 1.5rem;font-family:'Cormorant Garamond',serif;font-size:1rem;font-style:italic;color:var(--gold);background:var(--bg1);position:relative;z-index:1;transition:background var(--t2),border-color var(--t2)}
.pstep:hover .pstep-num{background:rgba(201,168,76,.1);border-color:var(--gold)}
.pstep-icon{margin-bottom:1rem}
.pstep-icon svg{width:22px;height:22px;stroke:var(--gold2);fill:none;stroke-width:1.2;opacity:.6;margin:0 auto}
.pstep-title{font-family:'Playfair Display',serif;font-size:1rem;font-weight:700;color:var(--cream);margin-bottom:.6rem}
.pstep-body{font-size:.75rem;font-weight:300;color:var(--muted2);line-height:1.75}
/* PARALLAX BANNER */
.pbanner{height:80vh;min-height:500px;position:relative;overflow:hidden}
.pb-bg{position:absolute;inset:-15%;background-size:cover;background-position:center;filter:brightness(.35) saturate(.5) sepia(.15);will-change:transform}
.pb-vl{position:absolute;inset:0;background:linear-gradient(0deg,var(--bg) 0%,rgba(7,9,5,.5) 40%,rgba(7,9,5,.5) 60%,var(--bg) 100%)}
.pb-ct{position:absolute;inset:0;z-index:2;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:4rem 5vw}
.pb-pre{font-size:.6rem;font-weight:300;letter-spacing:.28em;text-transform:uppercase;color:var(--gold);margin-bottom:1.75rem}
.pb-h{font-family:'Playfair Display',serif;font-size:clamp(3rem,7vw,7rem);font-weight:300;line-height:.9;letter-spacing:-.03em;color:var(--cream);margin-bottom:3rem}
.pb-h em{font-style:italic;color:var(--gold2)}
.pb-h strong{font-weight:900;display:block}
.pb-stats{display:flex;gap:3rem;flex-wrap:wrap;justify-content:center}
.pbs-n{font-family:'Playfair Display',serif;font-size:2.5rem;font-weight:700;background:linear-gradient(135deg,var(--gold),var(--gold3));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;line-height:1;display:block}
.pbs-l{font-size:.62rem;font-weight:300;letter-spacing:.14em;text-transform:uppercase;color:var(--muted2);margin-top:.3rem}
/* ORIGINS */
.og-grid{display:grid;grid-template-columns:1fr;gap:2px;margin-top:4rem}
@media(min-width:768px){.og-grid{grid-template-columns:repeat(3,1fr)}}
.og{position:relative;min-height:400px;overflow:hidden;cursor:pointer;background:var(--bg2)}
@media(min-width:768px){.og{min-height:540px}}
.og img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0;filter:brightness(.4) saturate(.55);transition:transform .8s var(--ease),filter .6s;will-change:transform}
.og:hover img{transform:scale(1.06);filter:brightness(.55) saturate(.75)}
.og-vl{position:absolute;inset:0;background:linear-gradient(180deg,transparent 15%,rgba(7,9,5,.97) 100%)}
.og-body{position:absolute;inset:0;padding:2.5rem;display:flex;flex-direction:column;justify-content:flex-end}
.og-n{font-family:'Cormorant Garamond',serif;font-size:6rem;font-weight:300;font-style:italic;color:rgba(201,168,76,.07);line-height:1;align-self:flex-start;transition:color var(--t2)}
.og:hover .og-n{color:rgba(201,168,76,.16)}
.og-reg{font-size:.58rem;font-weight:300;letter-spacing:.22em;text-transform:uppercase;color:var(--gold);margin-bottom:.4rem;margin-top:auto}
.og-name{font-family:'Playfair Display',serif;font-size:1.55rem;font-weight:700;color:var(--cream);line-height:1.15;margin-bottom:.85rem}
.og-desc{font-size:.78rem;font-weight:300;color:var(--muted);line-height:1.7;max-height:0;overflow:hidden;transition:max-height var(--t3)}
.og:hover .og-desc{max-height:80px}
.og-lnk{display:inline-flex;align-items:center;gap:.5rem;font-size:.62rem;font-weight:300;letter-spacing:.14em;text-transform:uppercase;color:var(--gold2);margin-top:1rem;opacity:0;transform:translateX(-8px);transition:opacity var(--t2),transform var(--t2)}
.og:hover .og-lnk{opacity:1;transform:translateX(0)}
.og-lnk::after{content:'→';font-size:.85rem}
/* TESTIMONIALS */
.testi-grid{display:grid;grid-template-columns:1fr;gap:1.5rem;margin-top:4rem}
@media(min-width:768px){.testi-grid{grid-template-columns:repeat(3,1fr)}}
.tcard{background:var(--bg);border:1px solid rgba(201,168,76,.08);padding:2.5rem;position:relative;overflow:hidden;transition:border-color var(--t3),transform var(--t3)}
.tcard::before{content:'';position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,var(--gold),transparent);transform:scaleX(0);transition:transform .45s var(--ease)}
.tcard:hover{border-color:rgba(201,168,76,.2);transform:translateY(-4px)}
.tcard:hover::before{transform:scaleX(1)}
.tcard-q{font-family:'Cormorant Garamond',serif;font-size:1.05rem;font-style:italic;font-weight:300;color:rgba(240,233,216,.7);line-height:1.65;margin-bottom:2rem;padding-bottom:1.5rem;border-bottom:1px solid rgba(201,168,76,.08)}
.tcard-q::before{content:'"';font-size:3rem;color:rgba(201,168,76,.15);line-height:1;display:block;margin-bottom:.5rem;font-family:'Cormorant Garamond',serif}
.tc-name{font-family:'Playfair Display',serif;font-size:.95rem;font-weight:700;color:var(--cream)}
.tc-role{font-size:.7rem;font-weight:300;color:var(--gold);margin-top:.2rem;letter-spacing:.06em}
.tc-country{font-size:.65rem;font-weight:300;color:var(--muted2);margin-top:.15rem}
/* WHY */
.why-grid{display:grid;grid-template-columns:1fr;gap:1px;background:rgba(201,168,76,.06);margin-top:4rem}
@media(min-width:640px){.why-grid{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1024px){.why-grid{grid-template-columns:repeat(4,1fr)}}
.wc{background:var(--bg1);padding:2.75rem 2rem;position:relative;overflow:hidden;transition:background var(--t3)}
.wc::after{content:'';position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,var(--gold),transparent);transform:scaleX(0);transition:transform .45s var(--ease)}
.wc:hover{background:var(--bg2)}
.wc:hover::after{transform:scaleX(1)}
.wc-n{font-family:'Cormorant Garamond',serif;font-size:4.5rem;font-weight:300;font-style:italic;color:rgba(201,168,76,.05);line-height:1;margin-bottom:1.5rem;display:block;transition:color var(--t2)}
.wc:hover .wc-n{color:rgba(201,168,76,.12)}
.wc-icon{width:42px;height:42px;border:1px solid rgba(201,168,76,.2);display:flex;align-items:center;justify-content:center;margin-bottom:1.25rem;transition:border-color var(--t2)}
.wc:hover .wc-icon{border-color:rgba(201,168,76,.5)}
.wc-icon svg{width:18px;height:18px;stroke:var(--gold);fill:none;stroke-width:1.5;margin:0 auto}
.wc-rule{width:20px;height:1px;background:var(--gold);margin-bottom:1.1rem;opacity:.5}
.wc-title{font-family:'Playfair Display',serif;font-size:1.1rem;font-weight:700;color:var(--cream);margin-bottom:.75rem}
.wc-body{font-size:.8rem;font-weight:300;color:var(--muted);line-height:1.82}
/* FAQ */
.faq-wrap{max-width:800px;margin:4rem auto 0}
.faq-item{border-bottom:1px solid rgba(201,168,76,.1)}
.faq-question{width:100%;background:none;border:none;color:var(--cream);font-family:'Playfair Display',serif;font-size:1.05rem;font-weight:400;text-align:left;padding:1.75rem 0;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:1rem;transition:color var(--t2)}
.faq-question:hover{color:var(--gold2)}
.faq-icon{width:20px;height:20px;border:1px solid rgba(201,168,76,.3);flex-shrink:0;display:flex;align-items:center;justify-content:center;transition:transform var(--t3),background var(--t2);font-size:.85rem;color:var(--gold)}
.faq-item.open .faq-icon{transform:rotate(45deg);background:rgba(201,168,76,.1)}
.faq-answer{max-height:0;overflow:hidden;transition:max-height var(--t3) var(--ease)}
.faq-item.open .faq-answer{max-height:300px}
.faq-answer-inner{font-size:.88rem;font-weight:300;color:var(--muted);line-height:1.9;padding-bottom:1.75rem;padding-right:2rem}
/* FORMS */
.form-wrap{background:var(--bg2);border:1px solid rgba(201,168,76,.12);padding:2.5rem}
.form-section-title{font-size:.6rem;font-weight:300;letter-spacing:.22em;text-transform:uppercase;color:var(--gold2);margin-bottom:1.75rem;display:flex;align-items:center;gap:.75rem}
.form-section-title::before{content:'';width:20px;height:1px;background:var(--gold);opacity:.6}
.fg{margin-bottom:1.1rem}
.fl{display:block;font-size:.62rem;font-weight:400;letter-spacing:.16em;text-transform:uppercase;color:var(--gold2);margin-bottom:.5rem}
.fi,.fsel,.fta{width:100%;padding:.9rem 1rem;background:rgba(240,233,216,.03);border:1px solid rgba(201,168,76,.2);color:var(--cream);font-family:'DM Sans',sans-serif;font-size:1rem;font-weight:300;transition:border-color var(--t2),background var(--t2);outline:none;appearance:none;border-radius:0}
.fi::placeholder,.fta::placeholder{color:rgba(240,233,216,.2)}
.fi:focus,.fsel:focus,.fta:focus{border-color:var(--gold);background:rgba(201,168,76,.04)}
.fi.error,.fsel.error,.fta.error{border-color:#c0392b}
.fsel option{background:var(--bg);color:var(--cream)}
.fta{resize:vertical;min-height:110px;line-height:1.6}
.f2{display:grid;grid-template-columns:1fr;gap:1rem}
@media(min-width:640px){.f2{grid-template-columns:1fr 1fr}}
.fbtn{width:100%;padding:1.1rem;margin-top:.75rem;background:var(--gold);color:var(--bg);font-family:'DM Sans',sans-serif;font-size:.8rem;font-weight:600;letter-spacing:.2em;text-transform:uppercase;cursor:pointer;position:relative;overflow:hidden;transition:color var(--t3);border:none}
.fbtn::before{content:'';position:absolute;inset:0;background:var(--gold2);transform:translateY(101%);transition:transform .45s var(--ease2)}
.fbtn:hover::before{transform:translateY(0)}
.fbtn span{position:relative;z-index:1;color:var(--bg)}
.fbtn:disabled{opacity:.7;cursor:not-allowed}
.form-msg{margin-top:.75rem;padding:.75rem 1rem;font-size:.82rem;font-weight:300;display:none}
.form-msg.show{display:block}
.form-msg.success{background:rgba(45,90,45,.2);color:#a8d8a8;border:1px solid rgba(45,90,45,.3)}
.form-msg.error{background:rgba(192,57,43,.15);color:#e8a8a0;border:1px solid rgba(192,57,43,.25)}
/* PRODUCTS GRID */
.products-grid{display:grid;grid-template-columns:1fr;gap:1.5rem;margin-top:3rem}
@media(min-width:640px){.products-grid{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1024px){.products-grid{grid-template-columns:repeat(3,1fr)}}
@media(min-width:1280px){.products-grid{grid-template-columns:repeat(4,1fr)}}
.product-card{background:var(--bg2);border:1px solid rgba(201,168,76,.06);overflow:hidden;cursor:pointer;transition:transform var(--t3),box-shadow var(--t3),border-color var(--t3)}
.product-card:hover{transform:translateY(-5px);box-shadow:var(--sh3);border-color:rgba(201,168,76,.2)}
.pc-img{height:260px;overflow:hidden;position:relative}
.pc-img img{width:100%;height:100%;object-fit:cover;filter:brightness(.7) saturate(.8);transition:transform .7s var(--ease),filter .5s}
.product-card:hover .pc-img img{transform:scale(1.06);filter:brightness(.85) saturate(.95)}
.pc-tag-overlay{position:absolute;top:1rem;left:1rem;font-size:.6rem;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--bg);background:var(--gold);padding:.3rem .7rem}
.pc-body{padding:1.4rem 1.5rem 1.25rem}
.pc-cat{font-size:.6rem;font-weight:300;letter-spacing:.18em;text-transform:uppercase;color:var(--gold);margin-bottom:.5rem}
.pc-name{font-family:'Playfair Display',serif;font-size:1.1rem;font-weight:700;color:var(--cream);margin-bottom:.5rem;line-height:1.25}
.pc-desc{font-size:.8rem;font-weight:300;color:var(--muted);line-height:1.65;margin-bottom:1rem}
.pc-foot{display:flex;justify-content:space-between;align-items:center;padding-top:.85rem;border-top:1px solid rgba(201,168,76,.08)}
.pc-price{font-size:.85rem;font-weight:500;color:var(--gold2)}
.pc-moq{font-size:.68rem;color:var(--muted2)}
.product-card.cof{background:var(--cof-cream);border-color:rgba(61,35,20,.08)}
.product-card.cof:hover{border-color:rgba(61,35,20,.2)}
.product-card.cof .pc-img img{filter:saturate(.85) brightness(.9)}
.product-card.cof .pc-cat{color:var(--cof-green)}
.product-card.cof .pc-name{color:var(--cof-brown)}
.product-card.cof .pc-desc{color:var(--cof-muted)}
.product-card.cof .pc-foot{border-color:rgba(61,35,20,.08)}
.product-card.cof .pc-price{color:var(--cof-brown)}
.product-card.cof .pc-moq{color:var(--cof-muted)}
.product-card.cof .pc-tag-overlay{background:var(--cof-green);color:var(--cof-cream)}
/* FILTER BAR */
.filter-bar{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;margin-bottom:2.5rem}
.filter-btn{font-size:.68rem;font-weight:300;letter-spacing:.12em;text-transform:uppercase;padding:.5rem 1.25rem;border:1px solid rgba(201,168,76,.15);color:var(--muted);background:none;cursor:pointer;transition:all var(--t2);text-decoration:none;display:inline-block}
.filter-btn:hover,.filter-btn.active{border-color:var(--gold);color:var(--gold);background:rgba(201,168,76,.06)}
.sort-select{background:var(--bg2);border:1px solid rgba(201,168,76,.15);color:var(--muted);padding:.5rem 1rem;font-size:.72rem;cursor:pointer;outline:none;appearance:none}
/* MODAL */
.modal-backdrop{position:fixed;inset:0;z-index:700;background:rgba(7,9,5,.85);backdrop-filter:blur(8px);opacity:0;visibility:hidden;transition:all var(--t3)}
.modal-backdrop.open{opacity:1;visibility:visible}
.modal{position:fixed;inset:0;z-index:701;display:flex;align-items:center;justify-content:center;padding:2rem;pointer-events:none}
.modal-inner{background:var(--bg2);border:1px solid rgba(201,168,76,.12);max-width:900px;width:100%;max-height:90vh;overflow-y:auto;position:relative;pointer-events:auto;transform:translateY(20px) scale(.97);transition:transform var(--t3) var(--ease);opacity:0}
.modal-backdrop.open .modal-inner{transform:translateY(0) scale(1);opacity:1}
.modal-close{position:absolute;top:1rem;right:1rem;color:var(--muted2);font-size:1.25rem;z-index:1;transition:color var(--t2);background:none;border:none;cursor:pointer}
.modal-close:hover{color:var(--cream)}
.modal-grid{display:grid;grid-template-columns:1fr}
@media(min-width:768px){.modal-grid{grid-template-columns:1fr 1fr}}
.modal-imgs{height:300px;overflow:hidden}
@media(min-width:768px){.modal-imgs{height:auto;min-height:400px}}
.modal-imgs img{width:100%;height:100%;object-fit:cover}
.modal-body{padding:2.5rem}
/* BLOG */
.blog-grid{display:grid;grid-template-columns:1fr;gap:2rem;margin-top:3rem}
@media(min-width:768px){.blog-grid{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1024px){.blog-grid{grid-template-columns:repeat(3,1fr)}}
.blog-card{background:var(--bg2);border:1px solid rgba(201,168,76,.06);overflow:hidden;transition:transform var(--t3),border-color var(--t3)}
.blog-card:hover{transform:translateY(-4px);border-color:rgba(201,168,76,.18)}
.blog-card-img{height:220px;overflow:hidden;display:block}
.blog-card-img img{width:100%;height:100%;object-fit:cover;filter:brightness(.7);transition:transform .7s var(--ease),filter .5s}
.blog-card:hover .blog-card-img img{transform:scale(1.06);filter:brightness(.85)}
.blog-card-body{padding:1.5rem}
.blog-cat{font-size:.6rem;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:var(--gold);margin-bottom:.6rem}
.blog-title{font-family:'Playfair Display',serif;font-size:1.15rem;font-weight:700;color:var(--cream);line-height:1.3;margin-bottom:.6rem}
.blog-title a{color:inherit;transition:color var(--t2)}
.blog-title a:hover{color:var(--gold2)}
.blog-excerpt{font-size:.8rem;font-weight:300;color:var(--muted);line-height:1.65;margin-bottom:1rem}
.blog-meta{display:flex;align-items:center;gap:.75rem;font-size:.68rem;color:var(--muted2);flex-wrap:wrap}
.blog-featured{grid-column:1}
@media(min-width:768px){.blog-featured{grid-column:1/3}}
@media(min-width:1024px){.blog-featured{grid-column:1/4}}
.blog-featured .blog-card-img{height:400px}
.blog-featured .blog-title{font-size:1.6rem}
/* POST */
.post-hero{height:60vh;min-height:400px;position:relative;overflow:hidden}
.post-hero img{width:100%;height:100%;object-fit:cover;filter:brightness(.5)}
.post-hero-overlay{position:absolute;inset:0;background:linear-gradient(0deg,var(--bg) 0%,transparent 50%)}
.post-hero-content{position:absolute;bottom:3rem;left:0;right:0;padding:0 5vw}
.post-body{max-width:720px;margin:0 auto;padding:4rem 5vw}
.post-body h2{font-family:'Playfair Display',serif;font-size:1.6rem;font-weight:400;color:var(--cream);margin:2.5rem 0 1rem}
.post-body h3{font-family:'Playfair Display',serif;font-size:1.2rem;font-weight:600;color:var(--cream);margin:2rem 0 .75rem}
.post-body p{font-size:.95rem;font-weight:300;color:var(--muted);line-height:1.9;margin-bottom:1.25rem}
.post-body blockquote{font-family:'Cormorant Garamond',serif;font-size:1.3rem;font-style:italic;color:rgba(240,233,216,.7);border-left:2px solid var(--gold);padding-left:1.5rem;margin:2rem 0}
.post-body img{width:100%;margin:2rem 0;filter:brightness(.85) saturate(.9)}
.read-progress{position:fixed;top:0;left:0;z-index:999;height:2px;background:linear-gradient(90deg,var(--gold),var(--gold2));width:0;transition:width .1s linear}
.share-btns{display:flex;gap:.75rem;flex-wrap:wrap;margin-top:3rem;padding-top:2rem;border-top:1px solid rgba(201,168,76,.1)}
.share-btn{display:inline-flex;align-items:center;gap:.5rem;font-size:.68rem;font-weight:300;letter-spacing:.1em;text-transform:uppercase;color:var(--muted2);padding:.5rem 1rem;border:1px solid rgba(201,168,76,.12);transition:all var(--t2);background:none;cursor:pointer;font-family:inherit}
.share-btn:hover{color:var(--gold2);border-color:rgba(201,168,76,.35)}
/* TIMELINE */
.timeline{position:relative;padding-left:2rem;margin-top:4rem}
@media(min-width:768px){.timeline{padding-left:0}}
.timeline::before{content:'';position:absolute;left:0;top:0;bottom:0;width:1px;background:linear-gradient(180deg,var(--gold),transparent)}
@media(min-width:768px){.timeline::before{left:50%;transform:translateX(-50%)}}
.tl-item{position:relative;margin-bottom:3rem;padding-left:2rem}
@media(min-width:768px){.tl-item{width:45%;padding-left:0;padding-right:2rem}
.tl-item:nth-child(even){margin-left:55%;padding-left:2rem;padding-right:0}}
.tl-dot{position:absolute;left:-5px;top:.35rem;width:9px;height:9px;border-radius:50%;background:var(--gold);border:2px solid var(--bg)}
@media(min-width:768px){.tl-dot{left:auto;right:-5px}
.tl-item:nth-child(even) .tl-dot{right:auto;left:-5px}}
.tl-year{font-size:.65rem;font-weight:500;letter-spacing:.18em;text-transform:uppercase;color:var(--gold);margin-bottom:.4rem}
.tl-title{font-family:'Playfair Display',serif;font-size:1.1rem;font-weight:700;color:var(--cream);margin-bottom:.4rem}
.tl-body{font-size:.82rem;font-weight:300;color:var(--muted);line-height:1.7}
/* ARTISAN */
.artisan-card{display:grid;grid-template-columns:1fr;gap:0;background:var(--bg2);border:1px solid rgba(201,168,76,.08);overflow:hidden;margin-bottom:2px}
@media(min-width:768px){.artisan-card{grid-template-columns:300px 1fr}}
.artisan-img{height:280px;overflow:hidden}
@media(min-width:768px){.artisan-img{height:auto}}
.artisan-img img{width:100%;height:100%;object-fit:cover;filter:sepia(.15) saturate(.85)}
.artisan-body{padding:2.5rem}
.artisan-craft{font-size:.6rem;letter-spacing:.18em;text-transform:uppercase;color:var(--gold);margin-bottom:.6rem}
.artisan-name{font-family:'Playfair Display',serif;font-size:1.5rem;font-weight:700;color:var(--cream);margin-bottom:.3rem}
.artisan-village{font-size:.8rem;color:var(--muted2);margin-bottom:1.25rem}
.artisan-bio{font-size:.88rem;font-weight:300;color:var(--muted);line-height:1.85}
.artisan-years{display:inline-flex;align-items:center;gap:.5rem;margin-top:1.5rem;font-size:.72rem;color:var(--gold2)}
.artisan-years::before{content:'';width:20px;height:1px;background:var(--gold2)}
/* NEWSLETTER */
.footer-newsletter{background:var(--bg3);padding:4rem 5vw;border-top:1px solid rgba(201,168,76,.08)}
.fn-inner{display:grid;grid-template-columns:1fr;gap:3rem;max-width:1200px;margin:0 auto}
@media(min-width:1024px){.fn-inner{grid-template-columns:1fr 1.5fr;align-items:center}}
.fn-label{font-size:.6rem;letter-spacing:.22em;text-transform:uppercase;color:var(--gold);margin-bottom:.75rem}
.fn-h{font-family:'Playfair Display',serif;font-size:1.6rem;font-weight:300;color:var(--cream);margin-bottom:.6rem}
.fn-p{font-size:.82rem;font-weight:300;color:var(--muted2)}
.fn-inputs{display:flex;flex-direction:column;gap:.75rem}
@media(min-width:640px){.fn-inputs{flex-direction:row}}
.fn-input{flex:1;padding:.85rem 1rem;background:rgba(240,233,216,.04);border:1px solid rgba(201,168,76,.15);color:var(--cream);font-family:'DM Sans',sans-serif;font-size:1rem;outline:none;transition:border-color var(--t2)}
.fn-input::placeholder{color:rgba(240,233,216,.25)}
.fn-input:focus{border-color:rgba(201,168,76,.45)}
.fn-btn{background:var(--gold);color:var(--bg);padding:.85rem 1.75rem;font-family:'DM Sans',sans-serif;font-size:.72rem;font-weight:500;letter-spacing:.14em;text-transform:uppercase;border:none;cursor:pointer;white-space:nowrap;position:relative;overflow:hidden;transition:color var(--t3)}
.fn-btn::before{content:'';position:absolute;inset:0;background:var(--gold2);transform:translateX(-101%);transition:transform .4s var(--ease2)}
.fn-btn:hover::before{transform:translateX(0)}
.fn-btn span{position:relative;z-index:1;color:var(--bg)}
.fn-msg{font-size:.78rem;margin-top:.6rem;padding:.5rem .75rem}
.fn-msg.success{color:#a8d8a8;background:rgba(45,90,45,.15)}
.fn-msg.error{color:#e8a8a0;background:rgba(192,57,43,.12)}
/* FOOTER */
.footer-main{background:var(--bg);padding:5rem 5vw 2rem}
.fm-grid{display:grid;grid-template-columns:1fr;gap:3rem;padding-bottom:4rem;border-bottom:1px solid rgba(201,168,76,.05)}
@media(min-width:640px){.fm-grid{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1280px){.fm-grid{grid-template-columns:1.8fr 1fr 1fr 1fr 1fr}}
.fm-logo{display:flex;flex-direction:column;line-height:1;text-decoration:none}
.fm-logo-main{font-family:'Playfair Display',serif;font-size:1.4rem;font-weight:900;color:var(--cream);letter-spacing:-.02em}
.fm-logo-rule{display:block;height:1px;margin:3px 0 2px;background:linear-gradient(90deg,var(--gold),var(--gold2),transparent)}
.fm-logo-sub{font-size:.55rem;font-weight:300;letter-spacing:.25em;text-transform:uppercase;color:var(--gold)}
.fm-desc{font-size:.78rem;font-weight:300;color:var(--muted2);line-height:1.82;margin-top:1.25rem;max-width:230px}
.fm-socials{display:flex;gap:.75rem;margin-top:1.5rem}
.fm-social{width:34px;height:34px;border:1px solid rgba(201,168,76,.18);display:flex;align-items:center;justify-content:center;color:var(--muted2);transition:all var(--t2)}
.fm-social:hover{border-color:var(--gold);color:var(--gold2)}
.fm-col-h{font-size:.58rem;font-weight:300;letter-spacing:.22em;text-transform:uppercase;color:var(--gold);margin-bottom:1.25rem}
.fm-links{display:flex;flex-direction:column;gap:.65rem}
.fm-links a{font-size:.8rem;font-weight:300;color:var(--muted2);transition:color var(--t2)}
.fm-links a:hover{color:var(--gold2)}
.fm-contact-items{display:flex;flex-direction:column;gap:.75rem}
.fm-ci{font-size:.78rem;font-weight:300;color:var(--muted2);display:flex;align-items:center;gap:.6rem;transition:color var(--t2)}
.fm-ci:hover{color:var(--gold2)}
.fm-ci svg{width:13px;height:13px;stroke:var(--gold);fill:none;stroke-width:1.5;flex-shrink:0}
.fm-badge{margin-top:1.5rem}
.fmb-label{font-size:.55rem;letter-spacing:.18em;text-transform:uppercase;color:rgba(240,233,216,.2);margin-bottom:.35rem}
.fmb-countries{font-size:.7rem;color:rgba(240,233,216,.18);line-height:1.6}
.footer-bottom{background:var(--bg);padding:0 5vw 2.5rem}
.fb-inner{display:flex;justify-content:space-between;flex-wrap:wrap;gap:.75rem;padding-top:2rem;border-top:1px solid rgba(201,168,76,.05)}
.fb-copy,.fb-made{font-size:.62rem;font-weight:300;color:rgba(240,233,216,.15)}
.fb-made span{color:rgba(201,168,76,.5)}
/* WHATSAPP FLOAT */
.wa-float{position:fixed;bottom:5rem;right:1.5rem;z-index:400;width:50px;height:50px;border-radius:50%;background:#25D366;color:#fff;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 20px rgba(37,211,102,.4);transform:scale(0);transition:transform .4s var(--ease),box-shadow var(--t2)}
.wa-float.visible{transform:scale(1)}
.wa-float:hover{box-shadow:0 6px 28px rgba(37,211,102,.55);transform:scale(1.08)}
.wa-tooltip{position:absolute;right:calc(100% + .75rem);top:50%;transform:translateY(-50%);background:var(--bg2);color:var(--cream);font-size:.72rem;white-space:nowrap;padding:.4rem .85rem;border:1px solid rgba(201,168,76,.15);opacity:0;pointer-events:none;transition:opacity var(--t2)}
.wa-float:hover .wa-tooltip{opacity:1}
/* BACK TO TOP */
.back-top{position:fixed;bottom:1.5rem;right:1.5rem;z-index:400;width:40px;height:40px;background:var(--bg2);border:1px solid rgba(201,168,76,.2);color:var(--gold);display:none;align-items:center;justify-content:center;transition:all var(--t2)}
.back-top:hover{background:rgba(201,168,76,.1);border-color:rgba(201,168,76,.45)}
/* TOAST */
#ff-toasts{position:fixed;bottom:5rem;left:1.5rem;z-index:900;display:flex;flex-direction:column;gap:.5rem}
.ff-toast{background:var(--bg2);border:1px solid rgba(201,168,76,.15);color:var(--cream);font-size:.8rem;padding:.85rem 1.25rem;transform:translateX(-120%);transition:transform .35s var(--ease);min-width:240px;max-width:340px}
.ff-toast.show{transform:translateX(0)}
.ff-toast-success{border-color:rgba(45,90,45,.4);color:#a8d8a8}
.ff-toast-error{border-color:rgba(192,57,43,.35);color:#e8a8a0}
/* LIGHTBOX */
#ff-lightbox{position:fixed;inset:0;z-index:800;opacity:0;visibility:hidden;transition:all var(--t3)}
#ff-lightbox.open{opacity:1;visibility:visible}
.lb-backdrop{position:absolute;inset:0;background:rgba(7,9,5,.96);backdrop-filter:blur(8px)}
.lb-inner{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;padding:2rem}
.lb-img{max-width:90vw;max-height:80vh;object-fit:contain;position:relative;z-index:1}
.lb-close,.lb-prev,.lb-next{position:absolute;color:var(--muted2);font-size:1.5rem;z-index:2;padding:1rem;transition:color var(--t2);background:none;border:none;cursor:pointer}
.lb-close{top:1.5rem;right:1.5rem}
.lb-prev{left:1.5rem;top:50%;transform:translateY(-50%)}
.lb-next{right:1.5rem;top:50%;transform:translateY(-50%)}
.lb-close:hover,.lb-prev:hover,.lb-next:hover{color:var(--cream)}
/* PAGINATION */
.pagination{display:flex;gap:.5rem;justify-content:center;margin-top:4rem;flex-wrap:wrap}
.pg-btn{font-size:.72rem;font-weight:300;letter-spacing:.1em;color:var(--muted);padding:.55rem 1rem;border:1px solid rgba(201,168,76,.12);transition:all var(--t2);text-decoration:none;display:inline-block}
.pg-btn:hover,.pg-btn.active{color:var(--gold);border-color:rgba(201,168,76,.4);background:rgba(201,168,76,.06)}
/* BREADCRUMB */
.breadcrumb{display:flex;gap:.5rem;align-items:center;font-size:.68rem;color:var(--muted2);margin-bottom:2rem;flex-wrap:wrap}
.breadcrumb a{color:var(--muted2);transition:color var(--t2)}
.breadcrumb a:hover{color:var(--gold2)}
.breadcrumb .bc-current{color:var(--cream)}
/* PAGE HERO */
.page-hero{padding:10rem 5vw 5rem;background:var(--bg1);border-bottom:1px solid rgba(201,168,76,.06);position:relative;overflow:hidden}
.page-hero-tag{font-size:.6rem;letter-spacing:.25em;text-transform:uppercase;color:var(--gold);margin-bottom:1.5rem;display:flex;align-items:center;gap:.85rem}
.page-hero-tag::before{content:'';width:24px;height:1px;background:var(--gold);opacity:.6}
.page-hero-h{font-family:'Playfair Display',serif;font-size:clamp(2.5rem,5vw,5rem);font-weight:300;color:var(--cream);line-height:.95;letter-spacing:-.025em}
.page-hero-h em{font-style:italic;color:var(--gold2)}
.page-hero-p{font-size:.92rem;font-weight:300;color:var(--muted);line-height:1.85;max-width:520px;margin-top:1.5rem}
/* IMPACT */
.impact-grid{display:grid;grid-template-columns:1fr;gap:1.5rem;margin-top:4rem}
@media(min-width:640px){.impact-grid{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1024px){.impact-grid{grid-template-columns:repeat(4,1fr)}}
.impact-card{background:var(--bg2);border:1px solid rgba(201,168,76,.08);padding:2rem;text-align:center}
.impact-n{font-family:'Playfair Display',serif;font-size:3rem;font-weight:700;background:linear-gradient(135deg,var(--gold),var(--gold3));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;display:block;margin-bottom:.5rem}
.impact-l{font-size:.72rem;font-weight:300;letter-spacing:.12em;text-transform:uppercase;color:var(--muted2)}
/* SHIPPING TABLE */
.shipping-table{margin-top:2rem;overflow-x:auto}
.shipping-table table{min-width:600px}
.shipping-table th{font-size:.65rem;font-weight:400;letter-spacing:.16em;text-transform:uppercase;color:var(--gold);padding:1rem 1.25rem;text-align:left;border-bottom:1px solid rgba(201,168,76,.15);background:rgba(201,168,76,.04)}
.shipping-table td{font-size:.82rem;font-weight:300;color:var(--muted);padding:.85rem 1.25rem;border-bottom:1px solid rgba(201,168,76,.06)}
.shipping-table tr:hover td{background:rgba(201,168,76,.02)}
.incoterm-badge{font-size:.6rem;font-weight:500;letter-spacing:.1em;text-transform:uppercase;padding:.25rem .6rem;background:rgba(201,168,76,.1);color:var(--gold2);display:inline-block}
/* CERTIFICATIONS */
.cert-grid{display:grid;grid-template-columns:1fr;gap:1.5rem;margin-top:3rem}
@media(min-width:640px){.cert-grid{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1024px){.cert-grid{grid-template-columns:repeat(3,1fr)}}
.cert-card{background:var(--bg2);border:1px solid rgba(201,168,76,.08);padding:2rem;display:flex;gap:1.25rem;align-items:flex-start}
.cert-icon{width:48px;height:48px;flex-shrink:0;border:1px solid rgba(201,168,76,.2);display:flex;align-items:center;justify-content:center}
.cert-icon svg{width:22px;height:22px;stroke:var(--gold);fill:none;stroke-width:1.5}
.cert-name{font-family:'Playfair Display',serif;font-size:1rem;font-weight:700;color:var(--cream);margin-bottom:.3rem}
.cert-desc{font-size:.78rem;font-weight:300;color:var(--muted);line-height:1.65}
.cert-status{display:inline-flex;align-items:center;gap:.35rem;font-size:.62rem;letter-spacing:.1em;text-transform:uppercase;margin-top:.5rem}
.cert-status.active{color:#a8d8a8}
.cert-status.pending{color:var(--gold2)}
.cert-status::before{content:'';width:6px;height:6px;border-radius:50%;background:currentColor}
/* SEARCH */
.search-results{margin-top:3rem}
.search-result-item{padding:1.75rem 0;border-bottom:1px solid rgba(201,168,76,.08);display:flex;gap:1.5rem}
.search-result-img{width:80px;height:80px;flex-shrink:0;overflow:hidden}
.search-result-img img{width:100%;height:100%;object-fit:cover;filter:brightness(.7)}
.search-result-type{font-size:.58rem;letter-spacing:.18em;text-transform:uppercase;color:var(--gold);margin-bottom:.35rem}
.search-result-title{font-family:'Playfair Display',serif;font-size:1.05rem;font-weight:700;color:var(--cream);margin-bottom:.4rem;display:block}
.search-result-excerpt{font-size:.8rem;color:var(--muted);line-height:1.6}
/* CONTACT */
.contact-grid{display:grid;grid-template-columns:1fr;gap:4rem}
@media(min-width:1024px){.contact-grid{grid-template-columns:1fr 1.1fr;align-items:start}}
.ct-quote{font-family:'Cormorant Garamond',serif;font-size:1.1rem;font-style:italic;font-weight:300;color:rgba(240,233,216,.5);line-height:1.65;padding:1.25rem 1.5rem;border-left:1px solid rgba(201,168,76,.25);margin-bottom:3rem;background:rgba(201,168,76,.02)}
.ct-items{display:flex;flex-direction:column;gap:1.25rem}
.ct-item{display:flex;gap:1rem;align-items:flex-start}
.ct-ic{width:38px;height:38px;flex-shrink:0;border:1px solid rgba(201,168,76,.2);display:flex;align-items:center;justify-content:center;margin-top:2px;transition:border-color var(--t2),background var(--t2)}
.ct-ic:hover{border-color:rgba(201,168,76,.5);background:rgba(201,168,76,.05)}
.ct-ic svg{width:14px;height:14px;stroke:var(--gold);fill:none;stroke-width:1.5}
.ct-lbl{font-size:.57rem;font-weight:300;letter-spacing:.14em;text-transform:uppercase;color:var(--muted2);margin-bottom:.2rem}
.ct-val{font-size:.85rem;font-weight:300;color:var(--cream)}
/* LEGAL */
.legal-body{max-width:760px;margin:0 auto;padding:4rem 5vw}
.legal-body h2{font-family:'Playfair Display',serif;font-size:1.3rem;font-weight:700;color:var(--cream);margin:2.5rem 0 1rem}
.legal-body p{font-size:.88rem;font-weight:300;color:var(--muted);line-height:1.9;margin-bottom:1rem}
.legal-body ul{padding-left:1.5rem;margin-bottom:1rem}
.legal-body ul li{font-size:.88rem;font-weight:300;color:var(--muted);line-height:1.8;margin-bottom:.4rem}
.legal-updated{font-size:.72rem;color:var(--muted2);margin-bottom:2.5rem}
/* 404 */
.page-404{min-height:100svh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:4rem 5vw}
.err-num{font-family:'Cormorant Garamond',serif;font-size:clamp(6rem,15vw,12rem);font-weight:300;font-style:italic;background:linear-gradient(135deg,rgba(201,168,76,.3),rgba(201,168,76,.05));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;line-height:1}
.err-h{font-family:'Playfair Display',serif;font-size:clamp(1.5rem,3vw,2.5rem);font-weight:300;color:var(--cream);margin-bottom:1rem}
.err-p{font-size:.9rem;font-weight:300;color:var(--muted);margin-bottom:2.5rem;max-width:400px}
/* UTILITY */
.container{max-width:1400px;margin:0 auto;padding:0 5vw}
.text-center{text-align:center}
.text-gold{color:var(--gold)}
.text-muted{color:var(--muted)}
.mt-1{margin-top:var(--sp2)}.mt-2{margin-top:var(--sp3)}.mt-3{margin-top:var(--sp4)}.mt-4{margin-top:var(--sp5)}
.mb-1{margin-bottom:var(--sp2)}.mb-2{margin-bottom:var(--sp3)}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}
.divider{width:100%;height:1px;background:linear-gradient(90deg,transparent,rgba(201,168,76,.15),transparent);margin:var(--sp7) 0}
.botanical{position:absolute;pointer-events:none;opacity:.06}
@media print{#ff-loader,#ff-dot,#ff-ring,#ff-nav,.mobile-menu,.wa-float,.back-top,#ff-toasts,.cookie-bar,.ticker,.footer-newsletter,.footer-main,.footer-bottom{display:none!important}body{background:#fff;color:#000;cursor:auto}}

/* PAGE TRANSITIONS */
body.page-exit{opacity:0;transform:translateY(-6px);transition:opacity .28s ease,transform .28s ease}
@keyframes pageIn{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}
body.page-enter{animation:pageIn .4s ease forwards}

/* ── LIGHT MODE OVERRIDES ────────────────────────────────── */

/* ── LIGHT MODE CSS VARIABLES ───────────────────────────── */
body.ff-light {
  --bg: #f5f0e8;
  --bg1: #ede8dc;
  --bg2: #e6e0d2;
  --bg3: #ddd7c8;
  --gold: #9a6f28;
  --gold2: #7d5a1e;
  --gold3: #5c4118;
  --golda: rgba(154,111,40,.1);
  --cream: #1a1209;
  --cream2: #2e2010;
  --muted: rgba(26,18,9,.55);
  --muted2: rgba(26,18,9,.32);
  --stone: #7a6a50;
  --sh1: 0 2px 8px rgba(0,0,0,.1);
  --sh2: 0 8px 32px rgba(0,0,0,.15);
  --sh3: 0 16px 64px rgba(0,0,0,.2);
  --sh-gold: 0 8px 32px rgba(154,111,40,.2);
  color-scheme: light;
  background: #f5f0e8;
  color: #1a1209;
}


/* Nav */
body.ff-light #ff-nav.scrolled {
  background: rgba(245,240,232,.96);
  border-bottom-color: rgba(154,111,40,.1);
}
body.ff-light .nav-logo .nl-main { color: var(--cream) }
body.ff-light .nav-links a { color: var(--muted) }
body.ff-light .nav-links a:hover { color: var(--cream) }
body.ff-light .nav-cta { color: var(--gold); border-color: rgba(154,111,40,.4) }
body.ff-light .dropdown-menu { background: rgba(245,240,232,.98); border-color: rgba(154,111,40,.15) }
body.ff-light .dropdown-menu li a { color: var(--muted) }
body.ff-light .dropdown-menu li a:hover { color: var(--gold2); background: rgba(154,111,40,.06) }

/* Mobile menu */
body.ff-light .mobile-menu { background: var(--bg1) }
body.ff-light .mm-link { color: var(--cream); border-bottom-color: rgba(154,111,40,.1) }

/* Search overlay */
body.ff-light .search-overlay { background: rgba(245,240,232,.97) }
body.ff-light .search-form input { color: var(--cream) }
body.ff-light .search-form input::placeholder { color: var(--muted2) }
body.ff-light .ss-tags a { color: var(--muted); border-color: rgba(154,111,40,.2) }

/* Cookie */
body.ff-light .cookie-bar { background: var(--bg2); border-color: rgba(154,111,40,.2) }
body.ff-light .cookie-bar p { color: var(--muted) }

/* Ticker */
body.ff-light .ticker { background: var(--bg1); border-color: rgba(154,111,40,.12) }
body.ff-light .tick-item { color: rgba(154,111,40,.4) }

/* Hero */
body.ff-light .hero-l { background: var(--bg) }
body.ff-light .hero-eyebrow { color: var(--gold) }
body.ff-light .hero-p { color: var(--muted); border-left-color: rgba(154,111,40,.25) }
body.ff-light .hero-h1 { color: var(--cream) }
body.ff-light .hero-h1 .hi { color: var(--gold2) }
body.ff-light .hd-l { background: linear-gradient(90deg,rgba(154,111,40,.35),transparent) }
body.ff-light .hd-d { background: var(--gold) }
body.ff-light .hs-l { color: var(--muted2) }

/* Sections */
body.ff-light .lbl { color: var(--gold) }
body.ff-light .lbl::before { background: var(--gold) }
body.ff-light .sec-h { color: var(--cream) }
body.ff-light .sec-h em { color: var(--gold2) }
body.ff-light .sec-p { color: var(--muted) }

/* Manifesto */
body.ff-light .mf-h { color: var(--cream) }
body.ff-light .mf-h em { color: var(--gold2) }
body.ff-light .mf-q { color: rgba(26,18,9,.7) }
body.ff-light .mf-p { color: var(--muted) }
body.ff-light .manifesto { border-bottom-color: rgba(154,111,40,.1) }

/* Bento cards */
body.ff-light .bento { background: rgba(154,111,40,.06); border-color: rgba(154,111,40,.1) }
body.ff-light .bcard { background: var(--bg2) }

/* Process */
body.ff-light .process { background: var(--bg1); border-color: rgba(154,111,40,.08) }
body.ff-light .pstep-title { color: var(--cream) }
body.ff-light .pstep-body { color: var(--muted2) }
body.ff-light .pstep-num { border-color: rgba(154,111,40,.35); color: var(--gold); background: var(--bg1) }

/* Origins */
body.ff-light .og-reg { color: var(--gold) }
body.ff-light .og-name { color: var(--cream) }
body.ff-light .og-lnk { color: var(--gold2) }

/* Testimonials */
body.ff-light .tcard { background: var(--bg); border-color: rgba(154,111,40,.1) }
body.ff-light .tcard-q { color: rgba(26,18,9,.65) }
body.ff-light .tc-name { color: var(--cream) }
body.ff-light .tc-role { color: var(--gold) }

/* Why */
body.ff-light .wc { background: var(--bg1) }
body.ff-light .wc:hover { background: var(--bg2) }
body.ff-light .wc-title { color: var(--cream) }
body.ff-light .wc-body { color: var(--muted) }
body.ff-light .wc-n { color: rgba(154,111,40,.08) }

/* FAQ */
body.ff-light .faq-question { color: var(--cream) }
body.ff-light .faq-question:hover { color: var(--gold2) }
body.ff-light .faq-item { border-bottom-color: rgba(154,111,40,.12) }
body.ff-light .faq-answer-inner { color: var(--muted) }
body.ff-light .faq-icon { border-color: rgba(154,111,40,.3); color: var(--gold) }

/* Blog */
body.ff-light .blog-cat { color: var(--gold) }
body.ff-light .blog-title a { color: var(--cream) }
body.ff-light .blog-title a:hover { color: var(--gold2) }
body.ff-light .blog-excerpt { color: var(--muted) }
body.ff-light .blog-meta { color: var(--muted2) }
body.ff-light .blog-card { background: var(--bg2); border-color: rgba(154,111,40,.08) }

/* Products */
body.ff-light .product-card { background: var(--bg2); border-color: rgba(154,111,40,.08) }
body.ff-light .pc-cat { color: var(--gold) }
body.ff-light .pc-name { color: var(--cream) }
body.ff-light .pc-desc { color: var(--muted) }
body.ff-light .pc-price { color: var(--gold2) }
body.ff-light .pc-moq { color: var(--muted2) }
body.ff-light .pc-foot { border-top-color: rgba(154,111,40,.1) }

/* Forms */
body.ff-light .form-wrap { background: var(--bg2); border-color: rgba(154,111,40,.15) }
body.ff-light .fi, body.ff-light .fsel, body.ff-light .fta {
  background: rgba(26,18,9,.04); border-color: rgba(154,111,40,.25); color: var(--cream)
}
body.ff-light .fi::placeholder, body.ff-light .fta::placeholder { color: var(--muted2) }
body.ff-light .fi:focus, body.ff-light .fsel:focus, body.ff-light .fta:focus {
  border-color: var(--gold); background: rgba(154,111,40,.05)
}
body.ff-light .fl { color: var(--gold2) }
body.ff-light .fbtn { background: var(--gold); color: #fff }

/* Footer */
body.ff-light .footer-newsletter { background: var(--bg3); border-top-color: rgba(154,111,40,.1) }
body.ff-light .fn-h { color: var(--cream) }
body.ff-light .fn-p { color: var(--muted2) }
body.ff-light .fn-input { background: rgba(26,18,9,.04); border-color: rgba(154,111,40,.18); color: var(--cream) }
body.ff-light .footer-main { background: var(--bg) }
body.ff-light .fm-col-h { color: var(--gold) }
body.ff-light .fm-links a { color: var(--muted2) }
body.ff-light .fm-links a:hover { color: var(--gold2) }
body.ff-light .fm-desc { color: var(--muted2) }
body.ff-light .fm-social { border-color: rgba(154,111,40,.2); color: var(--muted2) }
body.ff-light .fm-social:hover { border-color: var(--gold); color: var(--gold2) }
body.ff-light .footer-bottom { background: var(--bg) }
body.ff-light .fb-copy, body.ff-light .fb-made { color: rgba(26,18,9,.18) }

/* Page hero */
body.ff-light .page-hero { background: var(--bg1); border-bottom-color: rgba(154,111,40,.08) }
body.ff-light .page-hero-h { color: var(--cream) }
body.ff-light .page-hero-p { color: var(--muted) }
body.ff-light .page-hero-tag { color: var(--gold) }
body.ff-light .breadcrumb a { color: var(--muted2) }
body.ff-light .breadcrumb a:hover { color: var(--gold2) }
body.ff-light .breadcrumb .bc-current { color: var(--cream) }

/* Misc */
body.ff-light .filter-btn { border-color: rgba(154,111,40,.18); color: var(--muted) }
body.ff-light .filter-btn:hover, body.ff-light .filter-btn.active { border-color: var(--gold); color: var(--gold); background: rgba(154,111,40,.07) }
body.ff-light .sort-select { background: var(--bg2); border-color: rgba(154,111,40,.18); color: var(--muted) }
body.ff-light .pg-btn { border-color: rgba(154,111,40,.15); color: var(--muted) }
body.ff-light .pg-btn:hover, body.ff-light .pg-btn.active { color: var(--gold); border-color: rgba(154,111,40,.45); background: rgba(154,111,40,.07) }
body.ff-light .share-btn { border-color: rgba(154,111,40,.15); color: var(--muted2) }
body.ff-light .share-btn:hover { color: var(--gold2); border-color: rgba(154,111,40,.38) }
body.ff-light .post-body p, body.ff-light .post-body li { color: var(--muted) }
body.ff-light .post-body h2, body.ff-light .post-body h3 { color: var(--cream) }
body.ff-light .artisan-name, body.ff-light .artisan-craft { color: var(--cream) }
body.ff-light .artisan-body { color: var(--muted) }
body.ff-light .tl-title { color: var(--cream) }
body.ff-light .tl-body { color: var(--muted) }
body.ff-light .cert-name { color: var(--cream) }
body.ff-light .cert-desc { color: var(--muted) }
body.ff-light .shipping-table th { color: var(--gold) }
body.ff-light .shipping-table td { color: var(--muted) }
body.ff-light .legal-body h2 { color: var(--cream) }
body.ff-light .legal-body p, body.ff-light .legal-body li { color: var(--muted) }
body.ff-light .err-h { color: var(--cream) }
body.ff-light .err-p { color: var(--muted) }
body.ff-light #ff-toasts .ff-toast { background: var(--bg2); color: var(--cream); border-color: rgba(154,111,40,.2) }
body.ff-light .modal-inner { background: var(--bg2); border-color: rgba(154,111,40,.15) }

/* FF theme toggle button in light mode */
body.ff-light #ff-theme-toggle, body.ff-light #ff-lang-toggle {
  border-color: rgba(154,111,40,.25);
  color: var(--muted);
}

/* ── LOGO SVG DYNAMIC COLORS ────────────────────────────── */
/* Default dark theme */
.ff-logo-svg .logo-text { fill: #f0e9d8; }
.ff-logo-svg .logo-line-thin { stroke: #f0e9d8; }
.ff-logo-svg .logo-sub { fill: #f0e9d8; }

/* Light theme overrides */
body.ff-light .ff-logo-svg .logo-text { fill: #1a1209; }
body.ff-light .ff-logo-svg .logo-line-thin { stroke: #1a1209; }
body.ff-light .ff-logo-svg .logo-sub { fill: #1a1209; }

/* Admin logo */
body.light .ff-logo-svg .logo-text { fill: #1a1209; }
body.light .ff-logo-svg .logo-line-thin { stroke: #1a1209; }
body.light .ff-logo-svg .logo-sub { fill: #1a1209; }
