/* ==========================================================================
   KAIZEN KLEAN — BRAND STYLESHEET  (single source of truth for kaizenklean.com)
   Version: 1.0  ·  Edit here only. Every page and blog post links to this file.
   ========================================================================== */

/* === 1. TOKENS — change a color/font/spacing here and the whole site follows === */
:root {
  /* Color */
  --forest: #3B5D3A; --forest-light: #4A7248; --forest-dark: #2C4529;
  --copper: #B87333; --copper-light: #D4935F; --copper-glow: #E8B88A;
  --cream: #FDF8F0; --cream-dark: #F5EDE0; --warm-white: #FEFCF9;
  --sage: #8BAF7E; --sage-light: #C5D9BE;
  --charcoal: #2D2D2D; --text-primary: #2D2D2D; --text-secondary: #5A5A5A;
  --bar-dark: #1a1a1a;

  /* Type */
  --font-display: 'Cormorant Garamond', serif;
  --font-body: 'DM Sans', sans-serif;

  /* Layout */
  --pad: clamp(60px, 8vw, 100px);
  --max-w: 1200px;
  --radius: 16px;

  /* Hero image (override per page: <body style="--hero-img:url('...')">) */
  --hero-img: url('https://pub-b703b2aa3741498c9bd2df89e9c29f5d.r2.dev/Kaizen%20Hero%20Website.png');
}

/* === 2. BASE === */
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:var(--font-body);background:var(--warm-white);color:var(--text-primary);line-height:1.6;overflow-x:hidden;padding-bottom:65px}
h1,h2,h3,h4{font-family:var(--font-display);font-weight:700;line-height:1.15}
img{max-width:100%;display:block}
a{text-decoration:none;color:inherit}
.inner{max-width:var(--max-w);margin:0 auto}
a:focus-visible,button:focus-visible{outline:3px solid var(--copper-glow);outline-offset:3px}

/* === 3. HEADER (injected by kaizen-brand-script.js) === */
.info-bar{background:var(--forest);padding:10px 40px;display:flex;justify-content:center;align-items:center;gap:28px;flex-wrap:wrap;font-size:.82rem;color:rgba(255,255,255,.85);font-weight:500}
.info-bar a{color:#fff;display:flex;align-items:center;gap:5px;transition:color .3s}
.info-bar a:hover{color:var(--copper-glow)}
.info-bar span{display:flex;align-items:center;gap:5px}
.info-bar svg{width:14px;height:14px;flex-shrink:0}
.kk-header{position:relative;z-index:150}
.nav-bar{background:#fff;padding:10px 40px;display:flex;align-items:center;gap:32px;border-bottom:1px solid rgba(59,93,58,.08)}
.kk-logo{display:inline-block;flex-shrink:0}
.kk-logo img{height:110px;width:auto}
.kk-nav{display:flex;align-items:center;gap:6px;margin-left:auto}
.kk-nav>a,.kk-dd-btn{font-family:var(--font-body);font-size:.98rem;font-weight:600;color:var(--forest-dark);padding:12px 16px;border-radius:8px;background:none;border:none;cursor:pointer;transition:color .3s,background .3s;display:inline-flex;align-items:center;gap:6px}
.kk-nav>a:hover,.kk-nav>a.is-active,.kk-dd-btn:hover,.kk-dd.open .kk-dd-btn{color:var(--copper);background:var(--cream)}
.kk-nav>a.kk-promo{color:var(--copper)}
.kk-badge{display:inline-block;background:var(--copper);color:#fff;font-size:.62rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:2px 8px;border-radius:10px;line-height:1.5}
.kk-mobile>a.kk-promo{color:var(--copper)}
.kk-mobile>a.kk-promo .kk-badge{margin-left:8px;vertical-align:middle}
.kk-dd{position:relative}
.kk-dd-btn svg{width:12px;height:12px;transition:transform .3s}
.kk-dd.open .kk-dd-btn svg{transform:rotate(180deg)}
.kk-dd-menu{display:none;position:absolute;top:100%;left:0;min-width:300px;background:#fff;border:1px solid rgba(59,93,58,.1);border-radius:12px;box-shadow:0 16px 48px rgba(59,93,58,.15);padding:8px;z-index:200}
.kk-dd.open .kk-dd-menu{display:block}
@media(hover:hover){.kk-dd:hover .kk-dd-menu{display:block}.kk-dd:hover .kk-dd-btn{color:var(--copper);background:var(--cream)}}
.kk-dd-menu a{display:block;padding:11px 14px;border-radius:8px;font-size:.92rem;font-weight:500;color:var(--text-primary);transition:background .2s,color .2s}
.kk-dd-menu a:hover,.kk-dd-menu a.is-active{background:var(--cream);color:var(--copper)}
.kk-nav-right{display:flex;align-items:center;gap:22px;flex-shrink:0}
.kk-phone{display:inline-flex;align-items:center;gap:7px;font-weight:700;font-size:.95rem;color:var(--forest-dark);white-space:nowrap;transition:color .3s}
.kk-phone svg{width:16px;height:16px;color:var(--copper)}
.kk-phone:hover{color:var(--copper)}
.kk-cta{padding:12px 24px;font-size:.9rem;white-space:nowrap}
.kk-burger{display:none;margin-left:auto;width:48px;height:48px;align-items:center;justify-content:center;background:none;border:1.5px solid rgba(59,93,58,.2);border-radius:10px;color:var(--forest-dark);cursor:pointer}
.kk-burger svg{width:24px;height:24px}
.kk-mobile{display:none;background:#fff;padding:4px 20px 20px;border-bottom:1px solid rgba(59,93,58,.08)}
.kk-mobile.open{display:block}
.kk-mobile>a,.kk-mobile summary{display:block;padding:15px 4px;font-weight:600;font-size:1.02rem;color:var(--forest-dark);border-bottom:1px solid rgba(59,93,58,.08);cursor:pointer;list-style:none}
.kk-mobile summary::-webkit-details-marker{display:none}
.kk-mobile summary::after{content:'+';float:right;color:var(--copper);font-size:1.3rem;line-height:1}
.kk-mobile details[open] summary::after{content:'\2212'}
.kk-mobile details a{display:block;padding:12px 4px 12px 18px;font-size:.95rem;font-weight:500;color:var(--text-primary);border-bottom:1px solid rgba(59,93,58,.05)}
.kk-mobile-btns{display:flex;gap:10px;margin-top:18px}
.kk-mobile-btns a{flex:1;justify-content:center;text-align:center;border-radius:8px;padding:14px;font-weight:700;font-size:.95rem}
.kk-callbtn{border:2px solid var(--forest);color:var(--forest)}

/* === 4. BUTTONS === */
.btn-a{background:var(--copper);color:#fff;padding:15px 34px;border-radius:8px;font-weight:700;font-size:.95rem;border:none;cursor:pointer;transition:all .3s;font-family:var(--font-body);display:inline-flex;align-items:center;gap:8px}
.btn-a:hover{background:var(--copper-light);transform:translateY(-2px);box-shadow:0 6px 20px rgba(184,115,51,.35)}
.btn-b{background:transparent;color:#fff;padding:15px 34px;border-radius:8px;font-weight:700;font-size:.95rem;border:2px solid rgba(255,255,255,.3);cursor:pointer;transition:all .3s;font-family:var(--font-body);display:inline-flex;align-items:center;gap:8px}
.btn-b:hover{background:rgba(255,255,255,.1)}

/* === 5. SECTION HELPERS === */
.label{font-size:.78rem;font-weight:700;letter-spacing:.15em;text-transform:uppercase;color:var(--copper);margin-bottom:10px}
.stitle{font-size:clamp(1.8rem,3.5vw,2.6rem);color:var(--forest-dark)}
.cb{color:var(--copper);font-weight:700}
.sec{padding:var(--pad) 40px}
.sec-white{background:var(--warm-white)}
.sec-cream{background:var(--cream)}
.sec-forest{background:var(--forest)}

/* === 6. HERO === */
.hero{padding:40px 40px clamp(80px,10vw,120px);background:linear-gradient(90deg,rgba(20,20,20,.82) 0%,rgba(20,20,20,.6) 35%,rgba(20,20,20,.15) 60%,transparent 80%),var(--hero-img) center/cover no-repeat;position:relative;min-height:520px;display:flex;align-items:center}
.hero-inner{max-width:800px}
.hero-badge{display:inline-flex;align-items:center;gap:8px;background:rgba(0,0,0,.3);color:#fff;padding:8px 18px;border-radius:24px;font-size:.8rem;font-weight:600;margin-bottom:24px;border:1px solid rgba(255,255,255,.15)}
.hero h1{font-size:clamp(2.6rem,5vw,4rem);color:#fff;margin-bottom:20px}
.hero h1 em{color:var(--copper-glow);font-style:italic;text-shadow:0 2px 20px rgba(184,115,51,.3)}
.hero-sub{font-size:1.15rem;color:rgba(255,255,255,.9);margin-bottom:36px;max-width:600px;line-height:1.7;text-shadow:0 1px 8px rgba(0,0,0,.4)}
.hero-ctas{display:flex;gap:16px;flex-wrap:wrap}

/* === 7. OUTCOMES / WHY-US CARDS === */
.outcomes{padding:var(--pad) 40px;background:var(--warm-white)}
.outcomes-header{text-align:center;margin-bottom:48px}
.outcomes-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
.outcome-card{text-align:center;padding:40px 28px;border-radius:var(--radius);background:#fff;border:1px solid rgba(59,93,58,.05);transition:all .4s}
.outcome-card:hover{transform:translateY(-6px);box-shadow:0 16px 48px rgba(59,93,58,.1)}
.outcome-icon{width:72px;height:72px;background:var(--cream);border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 20px}
.outcome-icon svg{width:32px;height:32px;color:var(--forest)}
.outcome-card h3{font-size:1.35rem;color:var(--forest-dark);margin-bottom:10px}
.outcome-card p{font-size:.92rem;color:var(--text-secondary);line-height:1.65}
.why{padding:var(--pad) 40px;background:var(--cream)}
.why-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
.wcard{text-align:center;padding:36px 28px;border-radius:var(--radius);background:#fff;border:1px solid rgba(59,93,58,.05);transition:all .3s}
.wcard:hover{transform:translateY(-4px);box-shadow:0 12px 40px rgba(59,93,58,.08)}
.wicon{width:68px;height:68px;background:var(--cream-dark);border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 18px}
.wicon svg{width:30px;height:30px;color:var(--forest)}
.wcard h3{font-size:1.2rem;color:var(--forest-dark);margin-bottom:10px}
.wcard p{font-size:.88rem;color:var(--text-secondary);line-height:1.6}

/* === 8. SERVICES === */
.services{padding:var(--pad) 40px;background:var(--cream)}
.services-sub{font-size:1.05rem;color:var(--text-secondary);max-width:600px;margin-bottom:48px;line-height:1.7}
.img-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.img-card{display:block;border-radius:14px;overflow:hidden;transition:all .4s cubic-bezier(.25,.46,.45,.94);cursor:pointer}
.img-card:hover{transform:translateY(-6px);box-shadow:0 16px 48px rgba(59,93,58,.15)}
.img-card img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .4s}
.img-card:hover img{transform:scale(1.03)}

/* === 9. TRUST STRIP === */
.trust-strip{padding:32px 40px;background:var(--forest);text-align:center}
.trust-inner{display:flex;justify-content:center;align-items:center;gap:48px;flex-wrap:wrap;color:#fff}
.trust-item{display:flex;align-items:center;gap:10px;font-size:.92rem;font-weight:500}
.trust-item svg{width:22px;height:22px;color:var(--copper-glow);flex-shrink:0}

/* === 10. STORY === */
.story{padding:var(--pad) 40px;background:var(--warm-white)}
.story-grid{display:grid;grid-template-columns:1fr 1fr;gap:72px;align-items:center}
.story-img{border-radius:20px;overflow:hidden;box-shadow:0 20px 60px rgba(59,93,58,.1);position:relative}
.story-img img{width:100%;height:100%;object-fit:cover;aspect-ratio:3/4}
.story-img.fit{background:#fff}
.story-img.fit img{aspect-ratio:auto;height:auto;object-fit:contain}
.story-img-accent{position:absolute;top:-14px;left:-14px;width:72px;height:72px;border:3px solid var(--copper);border-radius:18px;opacity:.25}
.vblock{background:var(--cream);border-left:4px solid var(--copper);border-radius:0 12px 12px 0;padding:22px 26px;margin-bottom:18px}
.vblock h4{font-size:.72rem;font-weight:700;letter-spacing:.15em;text-transform:uppercase;color:var(--copper);margin-bottom:6px;font-family:var(--font-body)}
.vblock p{font-size:1rem;color:var(--forest-dark);font-family:var(--font-display);font-weight:600;font-style:italic;line-height:1.55}
.sval{display:flex;align-items:flex-start;gap:12px;margin-top:16px}
.sval-icon{width:30px;height:30px;background:rgba(59,93,58,.08);border-radius:8px;display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:2px}
.sval-icon svg{width:15px;height:15px;color:var(--forest)}
.sval strong{color:var(--forest-dark);font-size:.9rem;display:block;margin-bottom:2px}
.sval span{font-size:.84rem;color:var(--text-secondary);line-height:1.55}

/* === 11. SERVICE AREAS === */
.areas{padding:var(--pad) 40px;background:var(--warm-white)}
.area-tags{display:flex;flex-wrap:wrap;gap:10px;margin-top:28px}
.atag{display:inline-flex;align-items:center;gap:6px;background:#fff;padding:9px 18px;border-radius:22px;font-size:.85rem;font-weight:500;border:1px solid rgba(59,93,58,.06);transition:all .3s}
.atag:hover{border-color:var(--forest);background:rgba(59,93,58,.03)}
.atag::before{content:'';width:13px;height:13px;flex-shrink:0;background:var(--copper);-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2C8.13 2 5 5.13 5 9c0 5.25 7 13 7 13s7-7.75 7-13c0-3.87-3.13-7-7-7z'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2C8.13 2 5 5.13 5 9c0 5.25 7 13 7 13s7-7.75 7-13c0-3.87-3.13-7-7-7z'/%3E%3C/svg%3E") center/contain no-repeat}

/* === 12. QUOTE FORM SECTION === */
.quote{padding:var(--pad) 40px;background:var(--forest);position:relative;overflow:hidden}
.quote::before{content:'';position:absolute;inset:0;background:repeating-linear-gradient(-45deg,transparent,transparent 30px,rgba(255,255,255,.012) 30px,rgba(255,255,255,.012) 60px)}
.quote-grid{display:grid;grid-template-columns:1fr 1fr;gap:72px;align-items:center;position:relative;z-index:1}
.quote-left h2{font-size:clamp(1.8rem,3vw,2.4rem);color:#fff;margin-bottom:14px}
.quote-left>p{font-size:1.02rem;color:rgba(255,255,255,.82);line-height:1.7;margin-bottom:28px}
.qben{display:flex;align-items:center;gap:10px;font-size:.92rem;color:rgba(255,255,255,.85);margin-bottom:14px}
.qben svg{width:18px;height:18px;color:var(--copper-glow);flex-shrink:0}
.quote-card{background:#fff;border-radius:18px;padding:8px;box-shadow:0 20px 60px rgba(0,0,0,.15);overflow:visible}
.quote-card>div{position:relative;width:100%;height:1080px}

/* === 13. FAQ === */
.faq{padding:var(--pad) 40px;background:var(--warm-white)}
.faq-list{max-width:780px;margin:0 auto}
.faq-item{border-bottom:1px solid rgba(59,93,58,.07)}
.faq-q{width:100%;padding:22px 0;background:none;border:none;display:flex;justify-content:space-between;align-items:center;cursor:pointer;font-family:var(--font-display);font-size:1.12rem;font-weight:600;color:var(--forest-dark);text-align:left}
.faq-q svg{width:18px;height:18px;color:var(--copper);transition:transform .3s;flex-shrink:0}
.faq-item.open .faq-q svg{transform:rotate(45deg)}
.faq-a{max-height:0;overflow:hidden;transition:max-height .4s ease,padding .4s ease}
.faq-item.open .faq-a{max-height:280px;padding-bottom:22px}
.faq-a p{font-size:.9rem;color:var(--text-secondary);line-height:1.7}


/* === 14b. SERVICE PAGES (scope cards, checklists, step cards) === */
.scope-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;margin-top:40px}
.scope-card{padding:34px 28px;border-radius:var(--radius);background:#fff;border:1px solid rgba(59,93,58,.05);transition:all .3s}
.scope-card:hover{transform:translateY(-4px);box-shadow:0 12px 40px rgba(59,93,58,.08)}
.scope-card h3{font-size:1.35rem;color:var(--forest-dark);margin-bottom:14px}
.check-list{list-style:none}
.check-list li{position:relative;padding-left:26px;margin-bottom:10px;font-size:.92rem;color:var(--text-secondary);line-height:1.55}
.check-list li::before{content:'';position:absolute;left:0;top:.3em;width:14px;height:14px;background:var(--copper);-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='3'%3E%3Cpath d='M20 6L9 17l-5-5'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='3'%3E%3Cpath d='M20 6L9 17l-5-5'/%3E%3C/svg%3E") center/contain no-repeat}
.prose{max-width:760px}
.prose p{font-size:1.02rem;color:var(--text-secondary);line-height:1.75;margin-bottom:1.1em}
.prose a{color:var(--forest);text-decoration:underline;text-decoration-color:var(--copper);text-underline-offset:3px}
.step-num{font-family:var(--font-display);font-size:2.2rem;font-weight:700;color:var(--copper);line-height:1;margin-bottom:8px}


/* === 14c. VIDEO (click-to-play YouTube, loads the player only when tapped) === */
.video-grid{display:grid;grid-template-columns:1fr 340px;gap:72px;align-items:center}
.video-wrap{width:100%;max-width:340px;margin:0 auto}
.yt-lite{position:relative;display:block;width:100%;aspect-ratio:9/16;padding:0;border:none;border-radius:20px;overflow:hidden;cursor:pointer;background:#1a1a1a center/cover no-repeat;box-shadow:0 20px 60px rgba(59,93,58,.18)}
.yt-lite::before{content:'';position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,rgba(20,20,20,.35) 100%)}
.yt-lite::after{content:'';position:absolute;left:50%;top:50%;width:72px;height:72px;margin:-36px 0 0 -36px;border-radius:50%;background:var(--copper) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='white'%3E%3Cpath d='M9 6.5v11l9-5.5z'/%3E%3C/svg%3E") 54% 50%/34px no-repeat;box-shadow:0 6px 24px rgba(0,0,0,.35);transition:transform .3s,background-color .3s}
.yt-lite:hover::after{transform:scale(1.08);background-color:var(--copper-light)}
.yt-lite.playing::before,.yt-lite.playing::after{display:none}
.yt-lite iframe{position:absolute;inset:0;width:100%;height:100%;border:0}


/* === 14d. BLOG LIST PAGE (feed-driven list: latest card, rows, NEW tag) === */
.bl-meta{color:var(--text-secondary);font-size:.9rem;margin-bottom:28px}
.bl-featured{display:block;background:#fff;border:1px solid rgba(59,93,58,.08);border-left:5px solid var(--copper);border-radius:var(--radius);padding:34px 32px;margin-bottom:36px;transition:all .3s}
.bl-featured:hover{transform:translateY(-4px);box-shadow:0 16px 48px rgba(59,93,58,.12)}
.bl-featured h2{font-size:clamp(1.6rem,3vw,2.2rem);color:var(--forest-dark);margin-bottom:12px}
.bl-featured .bl-date{display:block;margin-bottom:12px}
.bl-read{color:var(--copper);font-weight:700;font-size:.92rem}
.bl-list{list-style:none;border-top:1px solid rgba(59,93,58,.1)}
.bl-item{border-bottom:1px solid rgba(59,93,58,.1)}
.bl-item a{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 20px;padding:20px 4px;transition:background .3s}
.bl-item a:hover{background:rgba(59,93,58,.03)}
.bl-item a:hover .bl-title{color:var(--copper)}
.bl-date{font-size:.85rem;color:var(--text-secondary);font-weight:500;min-width:110px}
.bl-title{flex:1 1 320px;font-family:var(--font-display);font-size:1.35rem;font-weight:700;color:var(--forest-dark);line-height:1.25;transition:color .3s}
.bl-city{font-size:.74rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--text-secondary)}
.bl-new{display:inline-block;background:var(--copper);color:#fff;font-family:var(--font-body);font-size:.66rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;padding:3px 9px;border-radius:12px;margin-left:10px;vertical-align:middle}

/* === 14e. KLEANAHEAD PROMO (homepage promo card) === */
.ka-promo{display:grid;grid-template-columns:1.25fr 1fr;gap:48px;align-items:center;background:var(--cream);border:1px solid rgba(59,93,58,.08);border-left:5px solid var(--copper);border-radius:var(--radius);padding:44px 44px}
.ka-promo h2{margin-bottom:14px}
.ka-promo p{font-size:1.02rem;color:var(--text-secondary);line-height:1.7;margin-bottom:24px;max-width:560px}
.ka-promo .check-list li{font-size:1rem;color:var(--forest-dark);font-weight:500;margin-bottom:14px}

/* === 14f. REVIEWS WIDGET (GHL iframe: stacks tall on phones, so it needs more room) === */
.lc_reviews_widget{display:block;width:100%;min-width:100%;border:0;min-height:620px}
@media(max-width:1024px){.lc_reviews_widget{min-height:760px}}
@media(max-width:768px){.lc_reviews_widget{min-height:1120px}}

/* === 14. STICKY CALL / TEXT / QUOTE BAR (injected) === */
.sticky{position:fixed;bottom:0;left:0;right:0;background:var(--bar-dark);padding:11px 20px;display:flex;justify-content:center;align-items:center;gap:10px;z-index:100;box-shadow:0 -4px 20px rgba(0,0,0,.25);border-top:1px solid rgba(184,115,51,.25)}
.sticky a{flex:1;max-width:180px;text-align:center;padding:11px 14px;border-radius:8px;font-weight:600;font-size:.85rem;font-family:var(--font-body);cursor:pointer;transition:all .3s;display:flex;align-items:center;justify-content:center;gap:5px}
.sticky .sc{background:transparent;color:#fff;border:1.5px solid rgba(255,255,255,.25)}
.sticky .sc:hover{background:rgba(255,255,255,.08)}
.sticky .sq{background:var(--copper);color:#fff;border:none}
.sticky .sq:hover{background:var(--copper-light)}

/* === 15. BLOG POSTS === */
.post-hero{background:var(--forest-dark);padding:clamp(48px,7vw,80px) 40px clamp(40px,6vw,64px);color:#fff}
.post-hero h1{font-size:clamp(2.2rem,4.5vw,3.4rem);color:#fff;max-width:820px}
.post-hero .label{color:var(--copper-glow)}
.post-meta{color:rgba(255,255,255,.75);font-size:.88rem;margin-top:16px}
.post-body{max-width:720px;margin:0 auto;padding:56px 24px 24px;font-size:1.06rem;line-height:1.8;color:var(--text-primary)}
.post-body p{margin-bottom:1.2em}
.post-body h2{font-size:clamp(1.6rem,3vw,2.1rem);color:var(--forest-dark);margin:2em 0 .6em}
.post-body h3{font-size:1.35rem;color:var(--forest-dark);margin:1.6em 0 .5em}
.post-body ul,.post-body ol{margin:0 0 1.4em 1.4em}
.post-body li{margin-bottom:.5em}
.post-body a{color:var(--forest);text-decoration:underline;text-decoration-color:var(--copper);text-underline-offset:3px}
.post-body a:hover{color:var(--copper)}
.post-body img{border-radius:14px;margin:1.6em 0}
.post-body blockquote{border-left:4px solid var(--copper);background:var(--cream);border-radius:0 12px 12px 0;padding:20px 26px;margin:1.6em 0;font-family:var(--font-display);font-style:italic;font-weight:600;font-size:1.25rem;color:var(--forest-dark)}
.post-cta{background:var(--cream);border-radius:var(--radius);padding:36px 28px;text-align:center;max-width:720px;margin:24px auto 64px}
.post-cta h2{font-size:clamp(1.5rem,3vw,2rem);color:var(--forest-dark);margin-bottom:10px}
.post-cta p{color:var(--text-secondary);margin-bottom:22px}

/* === 16. ANIMATION === */
.reveal{opacity:0;transform:translateY(32px);transition:opacity .7s cubic-bezier(.25,.46,.45,.94),transform .7s cubic-bezier(.25,.46,.45,.94)}
.reveal.vis{opacity:1;transform:none}
.reveal-left{opacity:0;transform:translateX(-40px);transition:opacity .7s ease,transform .7s ease}
.reveal-left.vis{opacity:1;transform:none}
.reveal-right{opacity:0;transform:translateX(40px);transition:opacity .7s ease,transform .7s ease}
.reveal-right.vis{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .reveal,.reveal-left,.reveal-right{opacity:1;transform:none;transition:none}
}

/* === 17. RESPONSIVE === */
@media(max-width:1100px){.kk-phone{display:none}}
@media(max-width:900px){.kk-nav,.kk-nav-right{display:none}.kk-burger{display:inline-flex}.nav-bar{padding:8px 20px}.kk-logo img{height:92px}}
@media(max-width:1024px){
  .ka-promo{grid-template-columns:1fr;gap:28px}
  .outcomes-grid,.why-grid,.scope-grid{grid-template-columns:1fr 1fr}
  .story-grid,.video-grid{grid-template-columns:1fr}
  .story-img{max-width:400px;margin:0 auto}
  .quote-grid{grid-template-columns:1fr}
  .quote-left{text-align:center}
}
@media(max-width:768px){
  .hero{background:linear-gradient(180deg,rgba(20,20,20,.75) 0%,rgba(20,20,20,.65) 50%,rgba(20,20,20,.5) 100%),var(--hero-img) center/cover no-repeat;min-height:auto}
  .info-bar{padding:8px 12px;gap:4px 16px;font-size:.78rem}
  .nav-bar{padding:8px 20px;gap:12px}
  .kk-logo img{height:84px}
  .ka-promo{grid-template-columns:1fr;gap:24px;padding:30px 24px}
  .hero,.outcomes,.services,.story,.why,.areas,.quote,.faq,.sec,.post-hero{padding-left:20px;padding-right:20px}
  .outcomes-grid,.why-grid,.scope-grid{grid-template-columns:1fr}
  .img-grid{grid-template-columns:1fr 1fr;gap:12px}
  .img-card:last-child:nth-child(odd){grid-column:1/-1;width:calc(50% - 6px);justify-self:center}
  .hero-ctas{flex-direction:column;align-items:flex-start}
  .trust-inner{gap:20px}
  .story-grid,.quote-grid,.video-grid{gap:36px}
  .quote-card>div{height:1140px}
  .bl-featured{padding:26px 22px}
  .sticky{gap:6px;padding:10px}
  .sticky a{font-size:.78rem;padding:10px 6px}
}
