/*
Theme Name: Satbhog Premium
Theme URI: https://satbhogoverseas.com/
Author: OpenAI
Description: Premium responsive WordPress theme for Maha Bhagwati Rice Mills and its Satbhog rice brand, with cinematic motion, product storytelling, bulk enquiry flow and Paddy-to-Pack scroll journey.
Version: 3.1.0
Text Domain: satbhog-premium
*/

:root {
  --sb-green: #1E4D40;
  --sb-green-deep: #14392f;
  --sb-ivory: #F6F4F0;
  --sb-cream: #EEE7D7;
  --sb-gold: #C8A951;
  --sb-gold-soft: #d9c27a;
  --sb-ink: #1A1A1A;
  --sb-muted: #6d6b66;
  --sb-white: #ffffff;
  --sb-red: #a92d27;
  --sb-line: rgba(30,77,64,.16);
  --sb-shadow: 0 30px 80px rgba(24, 49, 40, .12);
  --sb-radius: 28px;
  --sb-width: min(1240px, calc(100% - 48px));
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  background: var(--sb-ivory);
  color: var(--sb-ink);
  font-family: "Manrope", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: 17px;
  line-height: 1.65;
  overflow-x: hidden;
}
body.admin-bar .sb-site-header { top: 32px; }
img { max-width: 100%; height: auto; display: block; }
a { color: inherit; text-decoration: none; }
button, input, textarea, select { font: inherit; }
:focus-visible { outline: 3px solid var(--sb-gold); outline-offset: 4px; }
.sb-skip-link { position:fixed; top:10px; left:10px; z-index:3000; padding:10px 16px; border-radius:999px; background:var(--sb-green); color:white; transform:translateY(-180%); transition:transform .2s ease; }
.sb-skip-link:focus { transform:none; }

.sb-container { width: var(--sb-width); margin-inline: auto; }
.sb-section { position: relative; padding: 110px 0; }
.sb-section--tight { padding: 76px 0; }
.sb-section--dark { background: var(--sb-green); color: var(--sb-white); }
.sb-section--cream { background: #F7F2E7; }
.sb-section--white { background: var(--sb-white); }
.sb-eyebrow {
  display: inline-flex; align-items: center; gap: 10px;
  color: var(--sb-gold); font-size: 12px; font-weight: 800;
  letter-spacing: .18em; text-transform: uppercase; margin-bottom: 18px;
}
.sb-eyebrow::before { content:""; width: 28px; height: 1px; background: currentColor; }
.sb-title {
  font-family: "PT Serif", Georgia, serif;
  font-size: clamp(44px, 5.3vw, 78px);
  line-height: .98; letter-spacing: -.035em; margin: 0;
  font-weight: 700;
}
.sb-title--medium { font-size: clamp(40px, 4.4vw, 64px); }
.sb-title--small { font-size: clamp(32px, 3.2vw, 48px); }
.sb-lead { font-size: 19px; line-height: 1.8; color: var(--sb-muted); max-width: 720px; }
.sb-section--dark .sb-lead { color: rgba(255,255,255,.72); }

.sb-btn {
  --sb-magnetic-x: 0px; --sb-magnetic-y: 0px; --sb-lift: 0px;
  display: inline-flex; align-items: center; justify-content: center; gap: 10px;
  min-height: 52px; padding: 0 24px; border-radius: 999px; font-size: 14px;
  font-weight: 800; letter-spacing: .02em; border: 1px solid transparent;
  position:relative; overflow:hidden; isolation:isolate;
  transform:translate3d(var(--sb-magnetic-x),calc(var(--sb-magnetic-y) - var(--sb-lift)),0);
  transition:transform .38s cubic-bezier(.22,1,.36,1), background .25s ease, color .25s ease, border-color .25s ease, box-shadow .3s ease;
}
.sb-btn::after { content:""; position:absolute; z-index:-1; inset:-50% -35%; background:linear-gradient(110deg,transparent 36%,rgba(255,255,255,.34) 50%,transparent 64%); transform:translateX(-75%) rotate(8deg); transition:transform .7s cubic-bezier(.22,1,.36,1); pointer-events:none; }
.sb-btn:hover { --sb-lift:2px; box-shadow:0 14px 30px rgba(20,57,47,.16); }
.sb-btn:hover::after { transform:translateX(75%) rotate(8deg); }
.sb-btn--gold { background: var(--sb-gold); color: var(--sb-green-deep); }
.sb-btn--green { background: var(--sb-green); color: white; }
.sb-btn--outline { border-color: rgba(255,255,255,.35); color: white; }
.sb-btn--light { background: white; color: var(--sb-green); }
.sb-arrow { display:inline-block; transition: transform .25s ease; }
.sb-btn:hover .sb-arrow, .sb-link:hover .sb-arrow { transform: translateX(5px); }

/* Header */
.sb-site-header {
  position: fixed; inset: 0 0 auto 0; z-index: 1000; height: 92px;
  display:flex; align-items:center; transition: background .3s ease, box-shadow .3s ease, height .3s ease;
}
.sb-site-header.is-scrolled { background: rgba(246,244,240,.93); backdrop-filter: blur(18px); box-shadow: 0 10px 30px rgba(21,48,39,.08); height: 76px; }
.sb-site-header .sb-header-inner { width: var(--sb-width); margin:auto; display:flex; align-items:center; justify-content:space-between; gap:24px; }
.sb-motion-ready body.sb-page-ready .sb-header-inner { animation:sbHeaderIn .7s cubic-bezier(.22,1,.36,1) both; }
.sb-brand { display:flex; align-items:center; gap:12px; font-weight:900; letter-spacing:.08em; font-size:15px; }
.sb-brand-mark { width:38px; height:38px; flex:0 0 38px; border-radius:50%; border:1px solid rgba(200,169,81,.7); display:grid; place-items:center; position:relative; color:var(--sb-green); background:rgba(255,255,255,.72); font-size:11px; letter-spacing:0; }
.sb-brand > span:last-child { white-space:nowrap; }
.sb-brand-mark::after { content:""; width:5px; height:5px; border-radius:50%; background:var(--sb-red); position:absolute; right:4px; top:4px; box-shadow:0 0 0 0 rgba(169,45,39,.35); animation:sbBrandPulse 2.8s ease-out infinite; }
.sb-custom-logo { width:auto; height:46px; object-fit:contain; }
.sb-brand-sub { display:block; font-size:9px; letter-spacing:.2em; color:var(--sb-muted); font-weight:800; }
.sb-nav { display:flex; align-items:center; gap:28px; }
.sb-nav-list { display:contents; margin:0; padding:0; }
.sb-nav a { position:relative; font-size:13px; font-weight:800; color:var(--sb-ink); opacity:.78; transition:.25s ease; }
.sb-nav a::after { content:""; position:absolute; left:0; right:0; bottom:-8px; height:2px; border-radius:999px; background:var(--sb-gold); transform:scaleX(0); transform-origin:right; transition:transform .4s cubic-bezier(.22,1,.36,1); }
.sb-nav a:hover::after,.sb-nav .current-menu-item > a::after,.sb-nav .current_page_item > a::after { transform:scaleX(1); transform-origin:left; }
.sb-nav a:hover { opacity:1; color:var(--sb-green); }
.sb-nav .current-menu-item > a,.sb-nav .current_page_item > a { opacity:1; color:var(--sb-green); }
.sb-menu-toggle { display:none; border:0; background:none; padding:9px; }
.sb-menu-toggle span { display:block; width:24px; height:2px; background:var(--sb-ink); margin:5px; transition:transform .35s cubic-bezier(.22,1,.36,1), opacity .25s ease; }
.sb-menu-toggle[aria-expanded="true"] span:first-child { transform:translateY(7px) rotate(45deg); }
.sb-menu-toggle[aria-expanded="true"] span:nth-child(2) { opacity:0; transform:scaleX(0); }
.sb-menu-toggle[aria-expanded="true"] span:last-child { transform:translateY(-7px) rotate(-45deg); }

/* Hero */
.sb-hero { min-height: 100svh; position:relative; display:flex; align-items:flex-end; padding: 150px 0 74px; overflow:hidden; color:white; background: var(--sb-green-deep); }
.sb-hero-media { position:absolute; inset:0; background-image: linear-gradient(90deg, rgba(12,42,33,.94) 0%, rgba(12,42,33,.66) 48%, rgba(12,42,33,.26) 100%), url('assets/images/hero-paddy-field.webp'); background-size:cover; background-position:center; transform:scale(1.06); will-change:transform; }
.sb-hero::after { content:""; position:absolute; inset:auto 0 0; height:230px; background:linear-gradient(transparent, rgba(10,36,29,.42)); }
.sb-hero-grid { position:relative; z-index:2; width:var(--sb-width); margin:auto; display:grid; grid-template-columns:minmax(0,1.2fr) minmax(330px,.8fr); gap:60px; align-items:end; }
.sb-hero h1 { font-family:"PT Serif", Georgia, serif; font-size:clamp(58px,7.4vw,104px); line-height:.92; margin:16px 0 24px; letter-spacing:-.055em; max-width:850px; }
.sb-hero p { max-width:650px; font-size:18px; color:rgba(255,255,255,.78); }
.sb-hero-actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:30px; }
.sb-hero-card { margin-left:auto; width:min(100%,430px); padding:28px; border:1px solid rgba(255,255,255,.18); border-radius:var(--sb-radius); background:rgba(255,255,255,.1); backdrop-filter:blur(16px); box-shadow:var(--sb-shadow); transition:transform .55s cubic-bezier(.22,1,.36,1), border-color .35s ease, background .35s ease; }
.sb-hero-card:hover { transform:translateY(-8px); border-color:rgba(200,169,81,.46); background:rgba(255,255,255,.135); }
.sb-hero-card strong { display:block; font-family:"PT Serif",Georgia,serif; font-size:28px; line-height:1.1; margin-bottom:10px; }
.sb-hero-card p { font-size:14px; margin:0 0 22px; }
.sb-market-row { display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.sb-market { padding:72px 16px 16px; border-radius:18px; background:rgba(255,255,255,.09); border:1px solid rgba(255,255,255,.12); position:relative; overflow:hidden; isolation:isolate; }
.sb-market::after { content:""; position:absolute; inset:0; z-index:-1; background:linear-gradient(180deg,rgba(10,36,29,.02),rgba(10,36,29,.86)); }
.sb-market-photo { position:absolute; inset:0; z-index:-2; background-size:cover; background-position:center; transition:transform .6s cubic-bezier(.22,1,.36,1); }
.sb-market:hover .sb-market-photo { transform:scale(1.055); }
.sb-market small { display:block; opacity:.62; font-size:10px; text-transform:uppercase; letter-spacing:.12em; }
.sb-market span { font-weight:800; font-size:13px; }
.sb-scroll-cue { position:absolute; z-index:2; left:50%; bottom:25px; transform:translateX(-50%); font-size:10px; letter-spacing:.2em; text-transform:uppercase; opacity:.6; animation:sbScrollCue 2.2s ease-in-out infinite; }
.sb-hero-grains { position:absolute; inset:0; z-index:1; pointer-events:none; overflow:hidden; }
.sb-hero-grains span { position:absolute; left:var(--x); top:var(--y); width:18px; height:8px; border-radius:80% 20% 80% 20%; background:linear-gradient(135deg,rgba(244,223,145,.75),rgba(200,169,81,.28)); filter:drop-shadow(0 5px 8px rgba(10,36,29,.18)); opacity:.42; animation:sbGrainFloat var(--duration) ease-in-out var(--delay) infinite alternate; }

/* Legacy */
.sb-legacy-grid { display:grid; grid-template-columns:.9fr 1.1fr; gap:80px; align-items:center; }
.sb-image-collage { min-height:590px; position:relative; }
.sb-image-main, .sb-image-small { overflow:hidden; border-radius:var(--sb-radius); box-shadow:var(--sb-shadow); }
.sb-image-main { position:absolute; inset:0 100px 100px 0; }
.sb-image-main img, .sb-image-small img { width:100%; height:100%; object-fit:cover; transition:transform .7s ease; }
.sb-image-main:hover img, .sb-image-small:hover img { transform:scale(1.035); }
.sb-image-small { position:absolute; width:245px; height:185px; border:8px solid var(--sb-ivory); }
.sb-image-small--one { right:0; top:80px; }
.sb-image-small--two { right:25px; bottom:0; }
.sb-copy p { color:var(--sb-muted); }
.sb-link { display:inline-flex; align-items:center; gap:9px; color:var(--sb-green); font-weight:800; font-size:14px; margin-top:14px; }

/* Stats */
.sb-stats { display:grid; grid-template-columns:repeat(5,1fr); border-top:1px solid var(--sb-line); border-bottom:1px solid var(--sb-line); }
.sb-stat { padding:34px 24px; border-right:1px solid var(--sb-line); }
.sb-stat:last-child { border-right:0; }
.sb-stat strong { display:block; font-family:"PT Serif",Georgia,serif; font-size:44px; color:var(--sb-green); line-height:1; margin-bottom:10px; transform-origin:left center; }
.sb-stat strong.is-counted { animation:sbCounterPop .55s cubic-bezier(.22,1,.36,1) both; }
.sb-stat span { font-size:12px; font-weight:800; letter-spacing:.06em; text-transform:uppercase; color:var(--sb-muted); }

/* Products */
.sb-products-head { display:flex; justify-content:space-between; align-items:end; gap:30px; margin-bottom:42px; }
.sb-products-track { display:flex; gap:20px; overflow-x:auto; padding:6px 0 26px; scroll-snap-type:x mandatory; scrollbar-width:thin; scrollbar-color:var(--sb-gold) transparent; }
.sb-product { min-width:min(72vw,470px); scroll-snap-align:start; border-radius:var(--sb-radius); overflow:hidden; background:white; border:1px solid rgba(30,77,64,.09); box-shadow:0 18px 50px rgba(24,49,40,.08); }
.sb-product-image { height:360px; overflow:hidden; position:relative; background:#ddd; }
.sb-product-image img { width:100%; height:100%; object-fit:cover; transition:transform .7s cubic-bezier(.22,1,.36,1); }
.sb-product:hover .sb-product-image img { transform:scale(1.035); }
.sb-product-tag { position:absolute; top:18px; left:18px; padding:9px 13px; border-radius:999px; background:rgba(255,255,255,.92); font-size:10px; text-transform:uppercase; letter-spacing:.14em; font-weight:900; color:var(--sb-green); }
.sb-product-body { padding:28px; }
.sb-product h3 { font-family:"PT Serif",Georgia,serif; font-size:30px; margin:0 0 10px; }
.sb-product p { margin:0; color:var(--sb-muted); font-size:15px; }
.sb-products-journey { position:relative; height:340vh; background:var(--sb-ivory); }
.sb-products-sticky { position:sticky; top:0; min-height:100svh; overflow:hidden; display:flex; align-items:center; padding:100px 0 60px; }
.sb-products-journey .sb-products-track { overflow:visible; width:max-content; max-width:none; will-change:transform; scrollbar-width:none; }
.sb-products-journey .sb-products-track::-webkit-scrollbar { display:none; }
.sb-products-foot { display:flex; align-items:center; justify-content:space-between; gap:24px; margin-top:12px; }
.sb-drag-cue { color:var(--sb-muted); font-size:11px; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }

/* Group legacy */
.sb-roots-grid { display:grid; grid-template-columns:1fr .72fr; gap:70px; align-items:center; }
.sb-badges { display:grid; gap:15px; }
.sb-badge { border-radius:24px; padding:28px; border:1px solid rgba(255,255,255,.14); background:rgba(255,255,255,.06); transition:transform .4s cubic-bezier(.22,1,.36,1), background .3s ease, border-color .3s ease; }
.sb-badge:hover { transform:translateX(7px); background:rgba(255,255,255,.095); border-color:rgba(200,169,81,.34); }
.sb-badge small { display:block; opacity:.6; font-size:11px; letter-spacing:.16em; text-transform:uppercase; margin-bottom:8px; }
.sb-badge strong { font-family:"PT Serif",Georgia,serif; font-size:28px; }
.sb-stars { color:var(--sb-gold); letter-spacing:.1em; margin-left:6px; }

/* Process */
.sb-process-layout { display:grid; grid-template-columns:.75fr 1.25fr; gap:80px; align-items:start; }
.sb-process-copy { position:sticky; top:130px; }
.sb-process-list { position:relative; padding-left:52px; }
.sb-process-line { position:absolute; left:17px; top:22px; bottom:22px; width:1px; background:rgba(200,169,81,.48); }
.sb-grain { position:absolute; left:8px; top:22px; width:19px; height:9px; border-radius:80% 20% 80% 20%; background:var(--sb-gold); transform:rotate(-28deg); box-shadow:0 5px 14px rgba(200,169,81,.32); transition:top .55s cubic-bezier(.22,1,.36,1); animation:sbProcessGrain 1.8s ease-in-out infinite; }
.sb-process-step { position:relative; padding:8px 0 42px 8px; opacity:.42; transition:opacity .35s ease, transform .35s ease; }
.sb-process-step::before { content:""; position:absolute; left:-43px; top:17px; width:12px; height:12px; border-radius:50%; background:#d9d3c9; border:3px solid #F7F2E7; box-shadow:0 0 0 1px rgba(30,77,64,.12); }
.sb-process-step.is-active { opacity:1; transform:translateX(5px); }
.sb-process-step.is-active::before { background:var(--sb-green); }
.sb-process-num { font-size:11px; font-weight:900; letter-spacing:.14em; color:var(--sb-gold); }
.sb-process-step h3 { margin:6px 0 6px; font-family:"PT Serif",Georgia,serif; font-size:29px; }
.sb-process-step p { margin:0; color:var(--sb-muted); font-size:15px; max-width:620px; }

/* Bulk CTA */
.sb-bulk-card { border-radius:36px; padding:70px; background:linear-gradient(135deg,var(--sb-green-deep),var(--sb-green)); color:white; position:relative; overflow:hidden; }
.sb-bulk-card::before { content:""; position:absolute; inset:-80% -35%; background:linear-gradient(110deg,transparent 38%,rgba(200,169,81,.11) 49%,transparent 60%); transform:translateX(-55%) rotate(8deg); animation:sbBulkGlow 8s ease-in-out infinite; pointer-events:none; }
.sb-bulk-card::after { content:""; position:absolute; width:420px; height:420px; border-radius:50%; border:1px solid rgba(200,169,81,.22); right:-120px; top:-210px; box-shadow:0 0 0 70px rgba(200,169,81,.04),0 0 0 140px rgba(200,169,81,.025); }
.sb-bulk-grid { position:relative; z-index:2; display:grid; grid-template-columns:1fr .75fr; gap:60px; align-items:center; }
.sb-bulk-points { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.sb-bulk-point { padding:14px 0; border-bottom:1px solid rgba(255,255,255,.12); font-size:14px; }
.sb-bulk-point::before { content:"✓"; color:var(--sb-gold); margin-right:8px; }

/* Forms */
.sb-form { display:grid; gap:14px; }
.sb-form-row { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.sb-form input, .sb-form textarea, .sb-form select { width:100%; border:1px solid rgba(30,77,64,.14); border-radius:16px; background:white; min-height:52px; padding:13px 16px; color:var(--sb-ink); outline:none; transition:border-color .2s ease, box-shadow .2s ease; }
.sb-form textarea { min-height:130px; resize:vertical; }
.sb-form input:focus, .sb-form textarea:focus, .sb-form select:focus { border-color:var(--sb-gold); box-shadow:0 0 0 4px rgba(200,169,81,.12); }
.sb-form-note { font-size:12px; color:var(--sb-muted); }
.sb-visually-hidden { position:absolute !important; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.sb-hp { position:absolute; left:-10000px; width:1px; height:1px; overflow:hidden; }
.sb-alert { padding:14px 18px; border-radius:14px; margin-bottom:18px; font-size:14px; }
.sb-alert--success { background:#e4efe9; color:#184438; }
.sb-alert--error { background:#f6e7e4; color:#7c2d25; }

/* Inner pages */
.sb-page-hero { padding:180px 0 90px; background:linear-gradient(180deg,#f2ecdf,var(--sb-ivory)); }
.sb-page-hero p { max-width:760px; }
.sb-two-col { display:grid; grid-template-columns:1fr 1fr; gap:70px; align-items:center; }
.sb-feature-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.sb-feature { padding:28px; border-radius:24px; background:white; border:1px solid rgba(30,77,64,.08); transition:transform .4s cubic-bezier(.22,1,.36,1), box-shadow .35s ease, border-color .35s ease; }
.sb-feature:hover { transform:translateY(-7px); box-shadow:0 24px 50px rgba(20,57,47,.11); border-color:rgba(200,169,81,.3); }
.sb-feature h3 { font-family:"PT Serif",Georgia,serif; font-size:25px; margin:0 0 8px; }
.sb-feature p { color:var(--sb-muted); font-size:14px; margin:0; }
.sb-leader-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.sb-leader { padding:30px; border-radius:24px; background:white; border:1px solid rgba(30,77,64,.08); transition:transform .4s cubic-bezier(.22,1,.36,1), box-shadow .35s ease, border-color .35s ease; }
.sb-leader:hover { transform:translateY(-7px); box-shadow:0 24px 50px rgba(20,57,47,.11); border-color:rgba(200,169,81,.3); }
.sb-leader h3 { font-family:"PT Serif",Georgia,serif; font-size:30px; margin:0 0 4px; }
.sb-role { color:var(--sb-gold); font-size:11px; letter-spacing:.12em; text-transform:uppercase; font-weight:900; }
.sb-leader p { color:var(--sb-muted); font-size:14px; }
.sb-contact-grid { display:grid; grid-template-columns:.8fr 1.2fr; gap:60px; }
.sb-contact-card { padding:32px; border-radius:24px; background:var(--sb-green); color:white; }
.sb-contact-card a { color:white; }
.sb-map { min-height:380px; border-radius:24px; overflow:hidden; border:1px solid rgba(30,77,64,.1); }
.sb-map iframe { width:100%; height:100%; min-height:380px; border:0; }
.sb-rounded-media { width:100%; min-height:420px; object-fit:cover; border-radius:var(--sb-radius); box-shadow:var(--sb-shadow); }
.sb-brand-showcase { display:grid; grid-template-columns:1.06fr .94fr; gap:78px; align-items:center; }
.sb-brand-visual { position:relative; min-height:610px; border-radius:34px; overflow:hidden; box-shadow:var(--sb-shadow); }
.sb-brand-visual::after { content:""; position:absolute; inset:0; background:linear-gradient(180deg,transparent 50%,rgba(12,42,33,.72)); }
.sb-brand-visual img { width:100%; height:610px; object-fit:cover; }
.sb-brand-seal { position:absolute; left:28px; right:28px; bottom:28px; z-index:2; padding:22px 24px; border:1px solid rgba(255,255,255,.28); border-radius:22px; color:#fff; background:rgba(18,57,47,.72); backdrop-filter:blur(14px); }
.sb-brand-seal small,.sb-brand-seal em { display:block; font-size:10px; font-style:normal; letter-spacing:.16em; text-transform:uppercase; opacity:.72; }
.sb-brand-seal strong { display:block; font-family:"PT Serif",Georgia,serif; font-size:34px; line-height:1.1; margin:4px 0 8px; }

/* Blog */
.sb-blog-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.sb-post-card { overflow:hidden; border-radius:26px; background:#fff; border:1px solid rgba(30,77,64,.09); box-shadow:0 18px 50px rgba(24,49,40,.08); }
.sb-post-media { display:block; height:250px; overflow:hidden; background:#e7e0d2; }
.sb-post-media img { width:100%; height:100%; object-fit:cover; transition:transform .7s cubic-bezier(.22,1,.36,1); }
.sb-post-card:hover .sb-post-media img { transform:scale(1.04); }
.sb-post-placeholder { display:block; width:100%; height:100%; background:linear-gradient(135deg,rgba(30,77,64,.92),rgba(200,169,81,.52)),url('assets/images/basmati-rice-macro.webp') center/cover; }
.sb-post-body { padding:26px; }
.sb-post-date { color:var(--sb-gold); font-size:10px; font-weight:900; letter-spacing:.12em; text-transform:uppercase; }
.sb-post-body h2 { margin:8px 0 10px; font-family:"PT Serif",Georgia,serif; font-size:29px; line-height:1.12; }
.sb-post-body p { color:var(--sb-muted); font-size:14px; }
.sb-empty-state { padding:80px; border-radius:32px; text-align:center; background:#fff; border:1px solid rgba(30,77,64,.09); }
.sb-empty-state .sb-title { max-width:760px; margin:0 auto 18px; }
.sb-pagination { margin-top:46px; }
.sb-pagination .nav-links { display:flex; justify-content:center; gap:8px; flex-wrap:wrap; }
.sb-pagination .page-numbers { min-width:42px; min-height:42px; display:grid; place-items:center; padding:0 12px; border:1px solid var(--sb-line); border-radius:999px; }
.sb-pagination .current { background:var(--sb-green); color:#fff; }
.sb-article-hero { padding:180px 0 76px; background:linear-gradient(180deg,#f2ecdf,var(--sb-ivory)); }
.sb-article-featured { margin-top:50px; }
.sb-article-featured img { width:100%; max-height:680px; object-fit:cover; border-radius:32px; }
.sb-article-content { max-width:820px; padding-top:70px; padding-bottom:110px; }
.sb-article-content h2,.sb-article-content h3 { font-family:"PT Serif",Georgia,serif; line-height:1.15; }
.sb-article-content h2 { font-size:42px; }
.sb-article-content h3 { font-size:30px; }

/* Footer */
.sb-footer { background:#102f27; color:white; padding:72px 0 26px; }
.sb-footer-grid { display:grid; grid-template-columns:1.2fr .8fr .8fr; gap:60px; }
.sb-footer p, .sb-footer a { color:rgba(255,255,255,.64); font-size:14px; }
.sb-footer h4 { font-size:11px; letter-spacing:.14em; text-transform:uppercase; color:var(--sb-gold); margin-bottom:18px; }
.sb-footer-links { display:grid; gap:9px; }
.sb-footer-bottom { border-top:1px solid rgba(255,255,255,.1); margin-top:46px; padding-top:20px; font-size:12px; color:rgba(255,255,255,.45); display:flex; justify-content:space-between; gap:20px; }

/* Reveal */
[data-reveal] { opacity:0; transform:translateY(26px); will-change:opacity,transform; transition:opacity .8s cubic-bezier(.22,1,.36,1) var(--sb-delay,0ms), transform .8s cubic-bezier(.22,1,.36,1) var(--sb-delay,0ms); }
[data-reveal="left"] { transform:translateX(-32px); }
[data-reveal="right"] { transform:translateX(32px); }
[data-reveal="zoom"] { transform:translateY(18px) scale(.955); }
[data-reveal].is-visible { opacity:1; transform:none; will-change:auto; }
[data-reveal].is-visible .sb-eyebrow::before { animation:sbLineGrow .75s cubic-bezier(.22,1,.36,1) both; transform-origin:left; }

@keyframes sbHeaderIn { from { opacity:0; transform:translateY(-16px); } to { opacity:1; transform:none; } }
@keyframes sbBrandPulse { 0%,45% { box-shadow:0 0 0 0 rgba(169,45,39,.32); } 75%,100% { box-shadow:0 0 0 8px rgba(169,45,39,0); } }
@keyframes sbScrollCue { 0%,100% { transform:translate(-50%,0); opacity:.42; } 50% { transform:translate(-50%,8px); opacity:.82; } }
@keyframes sbGrainFloat { 0% { transform:translate3d(-4px,-8px,0) rotate(-28deg); opacity:.22; } 55% { opacity:.5; } 100% { transform:translate3d(18px,22px,0) rotate(18deg); opacity:.28; } }
@keyframes sbCounterPop { 0% { transform:scale(.88); } 60% { transform:scale(1.06); } 100% { transform:scale(1); } }
@keyframes sbProcessGrain { 0%,100% { filter:brightness(1); box-shadow:0 5px 14px rgba(200,169,81,.32); } 50% { filter:brightness(1.14); box-shadow:0 6px 22px rgba(200,169,81,.5); } }
@keyframes sbBulkGlow { 0%,20% { transform:translateX(-55%) rotate(8deg); } 65%,100% { transform:translateX(62%) rotate(8deg); } }
@keyframes sbLineGrow { from { transform:scaleX(.15); opacity:.35; } to { transform:scaleX(1); opacity:1; } }

@media (max-width: 980px) {
  :root { --sb-width:min(100% - 32px, 820px); }
  .sb-nav { position:fixed; inset:76px 16px auto; border-radius:22px; background:rgba(246,244,240,.98); box-shadow:0 24px 60px rgba(20,57,47,.16); padding:22px; display:flex; flex-direction:column; align-items:stretch; gap:8px; opacity:0; visibility:hidden; pointer-events:none; transform:translateY(-12px) scale(.98); transform-origin:top center; transition:opacity .25s ease, visibility .25s ease, transform .4s cubic-bezier(.22,1,.36,1); }
  .home .sb-site-header { background:rgba(246,244,240,.94); backdrop-filter:blur(18px); }
  .sb-nav.is-open { opacity:1; visibility:visible; pointer-events:auto; transform:none; }
  .sb-nav a { padding:10px 6px; }
  .sb-nav a::after { bottom:3px; }
  .sb-menu-toggle { display:block; }
  .sb-header-cta { display:none; }
  .sb-hero-grid, .sb-legacy-grid, .sb-roots-grid, .sb-process-layout, .sb-bulk-grid, .sb-two-col, .sb-contact-grid { grid-template-columns:1fr; }
  .sb-hero { padding-bottom:54px; }
  .sb-hero-card { margin:0; width:100%; }
  .sb-image-collage { min-height:500px; }
  .sb-process-copy { position:relative; top:auto; }
  .sb-stats { grid-template-columns:repeat(2,1fr); }
  .sb-stat:nth-child(2n) { border-right:0; }
  .sb-feature-grid, .sb-leader-grid { grid-template-columns:1fr 1fr; }
  .sb-footer-grid { grid-template-columns:1fr 1fr; }
  .sb-products-journey { height:auto; }
  .sb-products-sticky { position:relative; min-height:0; display:block; padding:90px 0; overflow:hidden; }
  .sb-products-journey .sb-products-track { width:auto; max-width:none; overflow-x:auto; }
  .sb-brand-showcase { grid-template-columns:1fr; }
  .sb-blog-grid { grid-template-columns:1fr 1fr; }
}

@media (max-width: 640px) {
  :root { --sb-width:calc(100% - 28px); --sb-radius:22px; }
  body { font-size:16px; }
  body.admin-bar .sb-site-header { top:46px; }
  .sb-site-header { height:76px; }
  .sb-section { padding:78px 0; }
  .sb-hero { min-height:900px; padding-top:130px; }
  .sb-hero h1 { font-size:clamp(52px,16vw,72px); }
  .sb-hero-grid { gap:35px; }
  .sb-market-row, .sb-bulk-points, .sb-form-row { grid-template-columns:1fr; }
  .sb-image-collage { min-height:420px; }
  .sb-image-main { inset:0 40px 80px 0; }
  .sb-image-small { width:150px; height:120px; border-width:5px; }
  .sb-image-small--one { top:45px; }
  .sb-image-small--two { right:5px; }
  .sb-stats { grid-template-columns:1fr 1fr; }
  .sb-stat { padding:24px 14px; }
  .sb-stat strong { font-size:34px; }
  .sb-products-head { display:block; }
  .sb-product { min-width:86vw; }
  .sb-product-image { height:290px; }
  .sb-bulk-card { padding:38px 26px; border-radius:26px; }
  .sb-feature-grid, .sb-leader-grid, .sb-footer-grid { grid-template-columns:1fr; }
  .sb-blog-grid { grid-template-columns:1fr; }
  .sb-empty-state { padding:48px 24px; }
  .sb-brand-visual,.sb-brand-visual img { min-height:470px; height:470px; }
  .sb-products-foot { align-items:flex-start; flex-direction:column; }
  .sb-footer-bottom { flex-direction:column; }
  .sb-page-hero { padding:145px 0 70px; }
}

@media (min-width: 981px) {
  .home .sb-site-header:not(.is-scrolled) .sb-brand,
  .home .sb-site-header:not(.is-scrolled) .sb-nav a { color:#fff; }
  .home .sb-site-header:not(.is-scrolled) .sb-brand-sub { color:rgba(255,255,255,.6); }
  .home .sb-site-header:not(.is-scrolled) .sb-brand-mark { color:#fff; background:rgba(255,255,255,.1); }
  .home .sb-site-header:not(.is-scrolled) .sb-btn--green { background:var(--sb-gold); color:var(--sb-green-deep); }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior:auto; }
  *, *::before, *::after { animation-duration:.01ms !important; animation-iteration-count:1 !important; transition-duration:.01ms !important; }
  [data-reveal] { opacity:1; transform:none; }
  .sb-hero-grains { display:none; }
  .sb-btn { transform:none !important; }
  .sb-products-journey { height:auto; }
  .sb-products-sticky { position:relative; min-height:0; display:block; padding:90px 0; }
  .sb-products-journey .sb-products-track { width:auto; overflow-x:auto; transform:none !important; }
}
.sb-nav li { list-style:none; margin:0; padding:0; }


/* Enhanced v1.1 additions */
html { scrollbar-color: var(--sb-green) var(--sb-cream); }
body::before {
  content:"";
  position:fixed;
  inset:0;
  pointer-events:none;
  z-index:-1;
  background:
    radial-gradient(circle at 10% 20%, rgba(200,169,81,.10), transparent 28%),
    radial-gradient(circle at 90% 0%, rgba(30,77,64,.08), transparent 26%),
    radial-gradient(circle at 85% 80%, rgba(30,77,64,.06), transparent 24%);
}
.sb-hero-badges { display:flex; flex-wrap:wrap; gap:12px; margin-top:26px; }
.sb-hero-badge {
  padding:10px 14px; border-radius:999px; background:rgba(255,255,255,.10); color:#fff;
  border:1px solid rgba(255,255,255,.16); backdrop-filter:blur(10px);
  font-size:12px; font-weight:800; letter-spacing:.03em;
}
.sb-value-list { display:grid; gap:10px; margin-top:18px; }
.sb-value-item {
  position:relative; padding-left:18px; font-size:13px; color:rgba(255,255,255,.84);
}
.sb-value-item::before {
  content:""; position:absolute; left:0; top:.58em; width:8px; height:8px; border-radius:50%;
  background:var(--sb-gold); box-shadow:0 0 0 4px rgba(200,169,81,.14);
}
.sb-trust-strip { margin-top:-42px; position:relative; z-index:6; }
.sb-strip-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:18px; }
.sb-strip-card {
  background:rgba(255,255,255,.88); backdrop-filter:blur(16px);
  border:1px solid rgba(30,77,64,.10); border-radius:22px; padding:22px 20px; box-shadow:0 18px 40px rgba(20,57,47,.08);
}
.sb-strip-label { display:block; font-size:10px; text-transform:uppercase; letter-spacing:.14em; color:var(--sb-muted); margin-bottom:10px; font-weight:800; }
.sb-strip-card strong { font-family:"PT Serif",Georgia,serif; font-size:24px; color:var(--sb-green); line-height:1.15; }
.sb-floating-note {
  position:absolute; left:24px; bottom:24px; z-index:3; padding:12px 16px; border-radius:999px;
  background:rgba(20,57,47,.92); color:#fff; font-size:12px; font-weight:800; letter-spacing:.02em;
  box-shadow:0 18px 30px rgba(16,47,39,.22);
}
.sb-sector-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.sb-sector-card {
  position:relative; overflow:hidden; padding:28px; border-radius:26px; background:linear-gradient(180deg,#ffffff,#fbf9f4);
  border:1px solid rgba(30,77,64,.08); box-shadow:0 18px 45px rgba(20,57,47,.08);
  transition:transform .3s ease, box-shadow .3s ease;
}
.sb-sector-card:hover { transform:translateY(-6px); box-shadow:0 26px 56px rgba(20,57,47,.12); }
.sb-sector-card::after {
  content:""; position:absolute; width:180px; height:180px; right:-70px; top:-70px; border-radius:50%;
  background:radial-gradient(circle, rgba(200,169,81,.16), transparent 65%);
}
.sb-sector-num { display:inline-flex; align-items:center; justify-content:center; width:42px; height:42px; border-radius:50%; background:rgba(30,77,64,.07); color:var(--sb-green); font-size:12px; font-weight:900; margin-bottom:18px; }
.sb-sector-card h3 { margin:0 0 10px; font-family:"PT Serif",Georgia,serif; font-size:28px; line-height:1.12; }
.sb-sector-card p { margin:0; color:var(--sb-muted); font-size:14px; }
.sb-product { transition:transform .3s ease, box-shadow .3s ease; }
.sb-product:hover { transform:translateY(-8px); box-shadow:0 26px 56px rgba(20,57,47,.12); }
.sb-product-meta { display:flex; flex-wrap:wrap; gap:8px; margin-top:16px; }
.sb-meta-pill {
  display:inline-flex; align-items:center; min-height:32px; padding:0 12px; border-radius:999px;
  background:rgba(30,77,64,.06); color:var(--sb-green); font-size:11px; font-weight:800; letter-spacing:.04em;
}
.sb-home-leaders .sb-leader {
  background:linear-gradient(180deg,#ffffff 0%, #faf7f1 100%);
  box-shadow:0 18px 42px rgba(20,57,47,.06); transition:transform .3s ease, box-shadow .3s ease;
}
.sb-home-leaders .sb-leader:hover { transform:translateY(-5px); box-shadow:0 24px 50px rgba(20,57,47,.10); }
.sb-leader-note { display:inline-flex; margin-top:10px; padding:8px 12px; border-radius:999px; background:rgba(30,77,64,.07); color:var(--sb-green); font-size:11px; font-weight:900; letter-spacing:.08em; text-transform:uppercase; }
.sb-badge:last-child strong { font-size:24px; line-height:1.25; }
.sb-contact-card, .sb-feature { box-shadow:0 18px 42px rgba(20,57,47,.06); }

@media (pointer: fine) and (min-width: 981px) {
  body.sb-cursor-enabled, body.sb-cursor-enabled a, body.sb-cursor-enabled button,
  body.sb-cursor-enabled input, body.sb-cursor-enabled textarea, body.sb-cursor-enabled select { cursor:none; }
  .sb-cursor, .sb-cursor-ring {
    position:fixed; left:0; top:0; pointer-events:none; z-index:2000; transform:translate(-50%,-50%);
    transition:opacity .2s ease, width .2s ease, height .2s ease, border-color .2s ease, background .2s ease;
  }
  .sb-cursor {
    width:10px; height:10px; border-radius:50%; background:#3a8a73; box-shadow:0 0 0 6px rgba(58,138,115,.14);
  }
  .sb-cursor-ring {
    width:42px; height:42px; border-radius:50%; border:1.5px solid rgba(58,138,115,.45); background:rgba(58,138,115,.08);
    backdrop-filter:blur(2px);
  }
  body.sb-cursor-hover .sb-cursor-ring { width:64px; height:64px; border-color:rgba(30,77,64,.55); background:rgba(30,77,64,.10); }
  body.sb-cursor-hover .sb-cursor { background:var(--sb-green); box-shadow:0 0 0 8px rgba(30,77,64,.14); }
  body.sb-cursor-down .sb-cursor-ring { width:34px; height:34px; }
}

@media (max-width: 980px) {
  .sb-strip-grid { grid-template-columns:1fr 1fr; }
  .sb-sector-grid { grid-template-columns:1fr 1fr; }
}
@media (max-width: 640px) {
  .sb-hero-badges, .sb-strip-grid, .sb-sector-grid { grid-template-columns:1fr; }
  .sb-hero-badges { gap:10px; }
  .sb-strip-grid, .sb-sector-grid { display:grid; }
  .sb-trust-strip { margin-top:0; }
}
