:root{
  --ink:#000000;
  --pine:#5D87FF;
  --pine-dark:#4f73d9;
  --amber:#01C2CE;
  --amber-dark:#01A6AF;
  --paper:#F7F6F2;
  --surface:#FFFFFF;
  --muted:#6B7280;
  --border:#5D87FF;
  --danger:#B3432B;
  --radius:10px;
}
*{box-sizing:border-box;}
body{
  font-family:'Quicksand',system-ui,-apple-system,sans-serif;
  background:var(--paper);
  color:var(--ink);
}
.font-display{font-family:'Quicksand',Georgia,sans-serif;}
.font-mono{font-family:'Quicksand',Menlo,monospace;}

a{text-decoration:none;}
.text-pine{color:var(--pine)!important;}
.bg-pine{background-color:var(--pine)!important;}
.text-amber{color:var(--amber)!important;}
.bg-amber{background-color:var(--amber)!important;}
.btn-pine{background:var(--pine);border:1px solid var(--pine);color:#fff;}
.btn-pine:hover{background:var(--pine-dark);border-color:var(--pine-dark);color:#fff;}
.btn-outline-pine{background:transparent;border:1px solid var(--pine);color:var(--pine);}
.btn-outline-pine:hover{background:var(--pine);color:#fff;}
.btn-amber{background:var(--amber);border:1px solid var(--amber);color:#fff;}
.btn-amber:hover{background:var(--amber-dark);border-color:var(--amber-dark);color:#fff;}

/* ---------- Frontend ---------- */
.site-header{background:var(--surface);box-shadow: 0 1px 3px 0 var(--border);;}
.brand-mark{font-family:'Quicksand',sans-serif;font-weight:700;font-size:1.5rem;color:var(--ink);}
.brand-tagline{color:var(--muted);font-size:.78rem;letter-spacing:.03em;}
.nav-pill{color:var(--ink);font-weight:500;padding:.4rem .9rem;border-radius:999px;}
.nav-pill:hover{color:var(--pine);}
 .nav-pill.active{background:var(--paper);color:var(--pine);}
.hero-band{background:linear-gradient(135deg,var(--pine) 0%,var(--pine-dark) 100%);color:#fff;border-radius:var(--radius);}
.card-product{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;transition:transform .15s ease, box-shadow .15s ease;}
.card-product:hover{transform:translateY(-3px);box-shadow:0 10px 24px rgba(31,42,36,.08);}
.card-product.thumb,.card-product .thumb{aspect-ratio:1/1;background:var(--paper);display:flex;align-items:center;justify-content:center;overflow:hidden;}
.card-product.thumb img,.card-product .thumb img{width:100%;object-fit:cover;}
.price-tag{font-family:'Quicksand',sans-serif;font-weight:700;}
.price-strike{text-decoration:line-through;color:var(--muted);font-size:.85em;}
.badge-soft{background:rgba(47,111,79,.1);color:var(--pine);border-radius:999px;padding:.25rem .65rem;font-size:.75rem;font-weight:600;}
.site-footer{background:var(--ink);color:#E8E6DF;}
.site-footer a{color:#E8E6DF;opacity:.85;}
.site-footer a:hover{opacity:1;color:var(--amber);}
.social-dot{width:34px;height:34px;border-radius:50%;background:rgba(255,255,255,.08);display:inline-flex;align-items:center;justify-content:center;}

/* Receipt-style order confirmation (signature element) */
.receipt{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);position:relative;}
.receipt-divider{border-top:2px dashed var(--border);margin:1rem 0;}

/* ---------- Admin ---------- */
.admin-sidebar{background:var(--ink);color:#EDEBE4;min-height:100vh;width:250px;}
.admin-sidebar a{color:#C9C6BB;display:flex;align-items:center;gap:.6rem;padding:.6rem .9rem;border-radius:8px;font-size:.92rem;}
.admin-sidebar a:hover,.admin-sidebar a.active{background:rgba(255,255,255,.08);color:#fff;}
.admin-sidebar .brand{color:#fff;font-family:'Quicksand',sans-serif;font-size:1.3rem;padding:1rem .9rem;}
.admin-sidebar .section-label{color:#8A8778;font-size:.7rem;text-transform:uppercase;letter-spacing:.08em;padding:1rem .9rem .3rem;}
.admin-topbar{background:var(--surface);border-bottom:1px solid var(--border);}
.stat-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1.25rem;}
.stat-card .num{font-family:'Quicksand',serif;font-size:2rem;font-weight:600;}
.table-clean thead{background:var(--paper);}
.table-clean th{font-size:.78rem;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);font-weight:600;}


/* ================================================================
   Frontend page-specific styles (merged from inline <style> blocks)
   ================================================================ */

/* ---------- Home (.ks-landing) ---------- */
  .ks-landing{
    --ink:#000000; --navy:#000000; --navy-deep:#000000;
    --sage:#7B9DFF; --sage-deep:#5D87FF; --sage-tint:#E7ECFF;
    --copper:#01C2CE; --copper-deep:#01C2CE; --copper-tint:#D9F7F9;
    --paper:#ffffff; --paper-alt:#f0f0f0; --line:#D9D1BF; --white:#FFFFFF;
    background:var(--paper); color:var(--ink); font-family:'Quicksand', sans-serif; line-height:1.6;
    margin-left:calc(50% - 50vw); margin-right:calc(50% - 50vw); width:100vw;
  }
  .ks-landing *{ box-sizing:border-box; }
  .ks-landing h1, .ks-landing h2, .ks-landing h3, .ks-landing .btn, .ks-landing .step-num, .ks-landing .eyebrow{
    font-family:'Quicksand', sans-serif; letter-spacing:0.01em;
  }
  .ks-landing a{ text-decoration:none; }
  .ks-landing img{ max-width:100%; display:block; }
  .ks-landing section{ position:relative; }
  .ks-landing .wrap{ max-width:1160px; margin:0 auto; padding:0 32px; }

  .ks-landing .eyebrow{
    display:inline-flex; align-items:center; gap:8px;
    font-size:0.76rem; font-weight:600; letter-spacing:0.14em; text-transform:uppercase;
    color:var(--white); background:var(--sage-deep);
    padding:7px 14px; border-radius:100px; margin-bottom:22px;
  }
  .ks-landing .eyebrow::before{ content:''; width:6px; height:6px; border-radius:50%; background:var(--copper-deep); }
  .ks-landing .btn{
    display:inline-flex; align-items:center; gap:8px;
    background:var(--sage-deep); color:var(--white);
    padding:11px 22px; border-radius:100px; font-weight:600; font-size:0.86rem;
    border:1px solid var(--sage-deep); cursor:pointer;
    transition:transform .18s ease, box-shadow .18s ease, background .18s ease; white-space:nowrap;
  }
  .ks-landing .btn:hover{ background:var(--navy-deep); border-color:var(--navy-deep); color:var(--white); transform:translateY(-1px); box-shadow:0 8px 20px -8px rgba(45,58,69,0.5); }
  .ks-landing .btn.ghost{ background:transparent; color:var(--navy-deep); border:1px solid var(--navy-deep); }
  .ks-landing .btn.ghost:hover{ background:var(--navy-deep); color:var(--white); }

  /* Hero */
  .ks-landing .hero{
    padding:64px 32px 70px; display:grid; grid-template-columns:1.05fr 0.95fr; gap:48px; align-items:center;
    max-width:1160px; margin:0 auto;
  }
  .ks-landing h1.headline{
    font-size:clamp(2.2rem, 4.3vw, 3.4rem); font-weight:700; color:var(--navy-deep);
    line-height:1.08; letter-spacing:-0.01em; margin-bottom:22px;
  }
  .ks-landing h1.headline em{ font-style:normal; color:var(--sage-deep); }
  .ks-landing .hero p.sub{ font-size:1.1rem; color:var(--ink); opacity:0.85; max-width:46ch; margin-bottom:32px; }
  .ks-landing .hero-ctas{ display:flex; gap:14px; flex-wrap:wrap; margin-bottom:30px; }
  .ks-landing .hero-note{ font-family:'Quicksand',sans-serif; font-size:0.85rem; color:var(--navy); opacity:0.7; }
  .ks-landing .hero-visual{
    position:relative; aspect-ratio:6/4.6; border-radius:24px; overflow:hidden;
    box-shadow:0 30px 60px -28px rgba(45,58,69,0.35);
  }
  .ks-landing .hero-visual img{ width:100%; height:100%; object-fit:cover; }
  .ks-landing .hero-badge{
    position:absolute; bottom:18px; left:18px; right:18px;
    background:rgba(246,243,236,0.94); backdrop-filter:blur(6px);
    border-radius:16px; padding:14px 16px; display:flex; align-items:center; gap:12px;
  }
  .ks-landing .hero-badge span{ font-family:'Quicksand',sans-serif; font-size:0.82rem; font-weight:600; color:var(--navy-deep); }
  @media (max-width:900px){
    .ks-landing .hero{ grid-template-columns:1fr; padding-top:40px; }
    .ks-landing .hero-visual{ order:-1; max-width:280px; margin:0 auto; }
  }

  /* Trust strip */
  .ks-landing .trust{ background:var(--sage); color:var(--white); padding:26px 32px; }
  .ks-landing .trust-row{ max-width:1160px; margin:0 auto; display:flex; flex-wrap:wrap; gap:28px; justify-content:space-between; }
  .ks-landing .trust-item{ display:flex; align-items:center; gap:10px; font-size:0.86rem; opacity:0.92; flex:1 1 200px; }
  .ks-landing .trust-item svg{ flex-shrink:0; }

  /* Section heads */
  .ks-landing .section{ padding:80px 32px; }
  .ks-landing .section.alt{ background:var(--paper-alt); }
  .ks-landing .section-head{ max-width:640px; margin:0 auto 48px; text-align:center; }
  .ks-landing .section-head h2{ font-size:clamp(1.7rem,3vw,2.3rem); color:var(--navy-deep); font-weight:700; margin-bottom:14px; letter-spacing:-0.01em; }
  .ks-landing .section-head p{ opacity:0.78; font-size:1.02rem; }

  /* Steps */
  .ks-landing .banner-photo{ max-width:1160px; margin:0 auto 48px; border-radius:20px; overflow:hidden; aspect-ratio:16/6; }
  .ks-landing .banner-photo img{ width:100%; height:100%; object-fit:cover; }
  .ks-landing .steps{ max-width:1160px; margin:0 auto; display:grid; grid-template-columns:repeat(4,1fr); gap:28px 0; }
  .ks-landing .step{ position:relative; padding:0 22px; text-align:left; }
 .ks-landing .step-num {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 38px;
  height: 38px;
  border-radius: 50%;
  border: 1.5px solid var(--copper-deep);
  color: var(--copper-deep);
  font-weight: 700;
  font-size: 0.95rem;
  margin: 0 auto 18px;
}
  .ks-landing .step h3{ font-size:1.5rem; color:var(--navy-deep); margin-bottom:8px; font-weight:700; }
  .ks-landing .step p{ font-size:0.92rem; opacity:0.8; }
  @media (max-width:900px){ .ks-landing .steps{ grid-template-columns:1fr 1fr; } }
  @media (max-width:560px){ .ks-landing .steps{ grid-template-columns:1fr; } }

  /* Conditions */
  .ks-landing .cond-grid{ max-width:1160px; margin:0 auto; display:grid; grid-template-columns:repeat(4,1fr); gap:18px; }
  .ks-landing .cond-card{ background:var(--white); border:1px solid var(--sage-deep); border-radius:16px; overflow:hidden; transition:transform .2s ease, box-shadow .2s ease; }
  .ks-landing .cond-card:hover{ transform:translateY(-3px); box-shadow:0 16px 32px -18px rgba(45,58,69,0.28); }
  .ks-landing .cond-card .cond-img{ width:100%; aspect-ratio:4/3; overflow:hidden; }
  .ks-landing .cond-card .cond-img img{ width:100%; height:100%; object-fit:cover; }
  .ks-landing .cond-card .cond-body{ padding:20px 20px 24px; }
  .ks-landing .cond-card .cond-body .hexicon {
  text-align: center;
}
  .ks-landing .cond-card h3{ font-size:1.3rem; color:var(--navy-deep); margin-bottom:8px; }
  .ks-landing .cond-card p{ font-size:0.86rem; opacity:0.75; }
  @media (max-width:900px){ .ks-landing .cond-grid{ grid-template-columns:1fr 1fr; } }
  @media (max-width:560px){ .ks-landing .cond-grid{ grid-template-columns:1fr; } }

  /* Products */
  .ks-landing .product-grid{ max-width:1160px; margin:0 auto; display:grid; grid-template-columns:repeat(4,1fr); gap:20px; }
  .ks-landing .product-card{ background:var(--white); border:1px solid var(--line); border-radius:16px; overflow:hidden; display:flex; flex-direction:column; transition:transform .2s ease, box-shadow .2s ease; }
  .ks-landing .product-card:hover{ transform:translateY(-3px); box-shadow:0 16px 32px -18px rgba(45,58,69,0.28); }
  .ks-landing .product-thumb{ position:relative; display:block; width:100%; aspect-ratio:1/1; overflow:hidden; background:var(--paper-alt); }
  .ks-landing .product-thumb img{ width:100%; height:100%; object-fit:cover; }
  .ks-landing .product-thumb svg{ position:absolute; top:50%; left:50%; transform:translate(-50%,-50%); }
  .ks-landing .product-badge{
    position:absolute; top:12px; left:12px; background:var(--sage-deep); color:var(--white);
    font-family:'Quicksand',sans-serif; font-size:0.68rem; font-weight:700; letter-spacing:0.06em; text-transform:uppercase;
    padding:4px 10px; border-radius:100px;
  }
  .ks-landing .product-body{ padding:18px 18px 20px; display:flex; flex-direction:column; flex-grow:1; }
  .ks-landing .product-cat{ font-family:'Quicksand',sans-serif; font-size:0.7rem; font-weight:600; text-transform:uppercase; letter-spacing:0.06em; color:var(--sage-deep); margin-bottom:6px; }
  .ks-landing .product-name{ font-family:'Quicksand',sans-serif; font-size:0.98rem; font-weight:700; color:var(--navy-deep); line-height:1.35; margin-bottom:10px; display:block; }
  .ks-landing .product-price-row{ margin-top:auto; display:flex; align-items:baseline; gap:8px; margin-bottom:14px; }
  .ks-landing .product-price{ font-family:'Quicksand',sans-serif; font-weight:700; font-size:1.02rem; color:var(--sage-deep); }
  .ks-landing .product-price-strike{ font-family:'Quicksand',sans-serif; font-size:0.82rem; opacity:0.5; text-decoration:line-through; }
  .ks-landing .product-add{ width:100%; justify-content:center; font-size:0.82rem; padding:10px 18px; }
  .ks-landing .product-add:disabled{ opacity:0.5; cursor:not-allowed; }
  .ks-landing .product-add:disabled:hover{ background:var(--sage-deep); border-color:var(--sage-deep); transform:none; box-shadow:none; }
  .ks-landing .product-viewall{ text-align:center; margin:40px auto 0; }
  @media (max-width:960px){ .ks-landing .product-grid{ grid-template-columns:1fr 1fr; } }
  @media (max-width:560px){ .ks-landing .product-grid{ grid-template-columns:1fr; } }

  /* Safety */
  .ks-landing .safety{ max-width:1160px; margin:0 auto; display:grid; grid-template-columns:1fr 1fr; gap:56px; align-items:center; }
  .ks-landing .safety-list{ list-style:none; margin:0; padding:0; }
  .ks-landing .safety-list li{ display:flex; gap:14px; padding:16px 0; border-bottom:1px solid var(--line); }
  .ks-landing .safety-list li:first-child{ padding-top:0; }
  .ks-landing .safety-list svg{ flex-shrink:0; margin-top:3px; }
  .ks-landing .safety-list h4{ font-family:'Quicksand',sans-serif; font-weight:700; font-size:1rem; color:var(--navy-deep); margin-bottom:4px; }
  .ks-landing .safety-list p{ font-size:0.9rem; opacity:0.78; margin:0; }
  .ks-landing .safety-photo{ border-radius:18px; overflow:hidden; aspect-ratio:16/9; margin-bottom:8px; }
  .ks-landing .safety-photo img{ width:100%; height:100%; object-fit:cover; }
  .ks-landing .safety-panel{ background:var(--sage-deep); border-radius:20px; padding:42px 36px; color:var(--white); }
  .ks-landing .safety-panel .eyebrow{ background:rgba(255,255,255,0.12); color:var(--copper-tint); }
  .ks-landing .safety-panel h3{ font-size:1.35rem; margin:18px 0 14px; font-weight:700; }
  .ks-landing .safety-panel p{ opacity:0.85; font-size:0.96rem; }
  @media (max-width:860px){ .ks-landing .safety{ grid-template-columns:1fr; } .ks-landing .safety-panel{ order:-1; } }

  /* Reviews */
  .ks-landing .review-summary{ max-width:1160px; margin:0 auto 40px; display:flex; align-items:center; justify-content:center; gap:22px; }
  .ks-landing .review-score{ font-family:'Quicksand',sans-serif; font-size:2.6rem; font-weight:700; color:var(--navy-deep); line-height:1; }
  .ks-landing .review-stars{ display:flex; gap:3px; color:var(--copper-deep); margin-bottom:6px; }
  .ks-landing .review-stars.small{ margin-bottom:14px; }
  .ks-landing .review-count{ font-size:0.86rem; opacity:0.68; }
  .ks-landing .review-grid{ max-width:1160px; margin:0 auto; display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
  .ks-landing .review-card{ background:var(--white); border:1px solid var(--line); border-radius:16px; padding:28px 26px; transition:transform .2s ease, box-shadow .2s ease; }
  .ks-landing .review-card:hover{ transform:translateY(-3px); box-shadow:0 16px 32px -18px rgba(45,58,69,0.28); }
  .ks-landing .review-quote{ font-size:0.98rem; color:var(--navy-deep); opacity:0.88; margin-bottom:22px; }
  .ks-landing .review-who{ display:flex; align-items:center; gap:12px; }
  .ks-landing .review-avatar{ flex-shrink:0; width:38px; height:38px; border-radius:50%; background:var(--sage-tint); color:var(--sage-deep); font-family:'Quicksand',sans-serif; font-weight:700; font-size:0.9rem; display:flex; align-items:center; justify-content:center; }
  .ks-landing .review-who .who{ font-size:0.82rem; color:var(--navy-deep); font-weight:600; opacity:0.85; }
  @media (max-width:900px){ .ks-landing .review-grid{ grid-template-columns:1fr; } .ks-landing .review-summary{ flex-direction:column; text-align:center; gap:6px; } }

  /* Blog */
  .ks-landing .blog-grid{ max-width:1160px; margin:0 auto; display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }
  .ks-landing .blog-card{ background:var(--white); border:1px solid var(--line); border-radius:16px; overflow:hidden; display:block; color:inherit; transition:transform .2s ease, box-shadow .2s ease; }
  .ks-landing .blog-card:hover{ transform:translateY(-3px); box-shadow:0 16px 32px -18px rgba(45,58,69,0.28); }
  .ks-landing .blog-thumb{ width:100%; aspect-ratio:16/10; overflow:hidden; background:var(--paper-alt); display:flex; align-items:center; justify-content:center; }
  .ks-landing .blog-thumb img{ width:100%; height:100%; object-fit:cover; }
  .ks-landing .blog-body{ padding:22px 22px 24px; }
  .ks-landing .blog-cat{ font-family:'Quicksand',sans-serif; font-size:0.7rem; font-weight:600; text-transform:uppercase; letter-spacing:0.06em; color:var(--sage-deep); margin-bottom:8px; display:inline-block; }
  .ks-landing .blog-title{ font-size:1.05rem; font-weight:700; color:var(--navy-deep); line-height:1.35; margin-bottom:10px; }
  .ks-landing .blog-excerpt{ font-size:0.88rem; opacity:0.72; margin-bottom:16px; }
  .ks-landing .blog-readmore{ display:inline-flex; align-items:center; gap:6px; font-family:'Quicksand',sans-serif; font-size:0.84rem; font-weight:600; color:var(--sage-deep); }
  @media (max-width:900px){ .ks-landing .blog-grid{ grid-template-columns:1fr 1fr; } }
  @media (max-width:560px){ .ks-landing .blog-grid{ grid-template-columns:1fr; } }

  /* Pricing */
  .ks-landing .pricing{ max-width:900px; margin:0 auto; display:grid; grid-template-columns:1fr 1fr; gap:22px; }
  .ks-landing .price-card{ background:var(--white); border:1px solid var(--line); border-radius:18px; padding:32px 28px; }
  .ks-landing .price-card.highlight{ border-color:var(--sage-deep); box-shadow:0 20px 40px -22px rgba(79,98,73,0.35); }
  .ks-landing .price-card h3{ color:var(--navy-deep); font-size:1.1rem; margin-bottom:6px; }
  .ks-landing .price-card .tag{ font-size:0.76rem; color:var(--sage-deep); font-weight:600; text-transform:uppercase; letter-spacing:0.08em; }
  .ks-landing .price-card ul{ list-style:none; margin:18px 0 24px; padding:0; }
  .ks-landing .price-card li{ font-size:0.9rem; opacity:0.82; padding:6px 0; display:flex; gap:8px; }
  .ks-landing .price-card li::before{ content:'—'; color:var(--copper-deep); flex-shrink:0; }
  @media (max-width:700px){ .ks-landing .pricing{ grid-template-columns:1fr; } }

  /* FAQ */
  .ks-landing .faq{ max-width:760px; margin:0 auto; }
  .ks-landing .faq-item{ border-bottom:1px solid var(--line); }
  .ks-landing .faq-item summary{
    cursor:pointer; list-style:none; padding:10px 20px; display:flex; justify-content:space-between; align-items:center;
    font-family:'Quicksand',sans-serif; font-weight:600; color:var(--white); font-size:1rem;
    background:var(--sage-deep); border:none; outline:none; width:100%; transition:opacity .2s ease;
  }
  
  .ks-landing .faq-item summary::-webkit-details-marker{ display:none; }
  .ks-landing .faq-item .plus{ font-size:1.3rem; color:var(--white); transition:transform .2s ease; flex-shrink:0; margin-left:16px; }
  .ks-landing .faq-item[open] .plus{ transform:rotate(45deg); }
  .ks-landing .faq-item p{ padding:0 4px 20px; opacity:0.8; font-size:0.94rem; max-width:64ch; margin:0; }

  /* Final CTA */
  .ks-landing .final-cta{
    margin:0 auto; text-align:center; padding:60px 40px; color:var(--white);
    background:linear-gradient(135deg, rgba(79,98,73,0.92), rgba(45,58,69,0.94));
    background-size:cover; background-position:center;
  }
  .ks-landing .final-cta h2{ font-size:clamp(1.6rem,3vw,2.2rem); font-weight:700; margin-bottom:14px; }
  .ks-landing .final-cta p{ opacity:0.88; max-width:52ch; margin:0 auto 26px; }
  .ks-landing .final-cta .btn{ background:var(--white); color:var(--navy-deep); border-color:var(--white); }
  .ks-landing .final-cta .btn:hover{ background:var(--copper-tint); border-color:var(--copper-tint); color:var(--navy-deep); }

  .ks-reveal{ opacity:0; transform:translateY(18px); transition:opacity .7s ease, transform .7s ease; }
  .ks-reveal.in{ opacity:1; transform:translateY(0); }


/* ---------- Contact (.ks-page-contact) ---------- */
  .ks-page-contact{
    --ink:#000000; --navy:#000000; --navy-deep:#000000;
    --sage:#7B9DFF; --sage-deep:#5D87FF; --sage-tint:#E7ECFF;
    --copper:#01C2CE; --copper-deep:#01C2CE; --copper-tint:#D9F7F9;
    --paper:#F6F3EC; --paper-alt:#EEE9DE; --line:#D9D1BF; --white:#FFFFFF;
    background:var(--paper); color:var(--ink); font-family:'Quicksand', sans-serif; line-height:1.6;
    margin-left:calc(50% - 50vw); margin-right:calc(50% - 50vw); width:100vw;
  }
  .ks-page-contact *{ box-sizing:border-box; }
  .ks-page-contact h1, .ks-page-contact h2, .ks-page-contact .btn, .ks-page-contact .eyebrow{ font-family:'Quicksand', sans-serif; letter-spacing:0.01em; }
  .ks-page-contact a{ text-decoration:none; color:inherit; }
  .ks-page-contact .eyebrow{ display:inline-flex; align-items:center; gap:8px; font-size:0.76rem; font-weight:600; letter-spacing:0.14em; text-transform:uppercase; color:var(--copper-deep); background:var(--copper-tint); padding:7px 14px; border-radius:100px; margin-bottom:22px; }
  .ks-page-contact .eyebrow::before{ content:''; width:6px; height:6px; border-radius:50%; background:var(--copper-deep); }
  .ks-page-contact .btn{ display:inline-flex; align-items:center; gap:8px; background:var(--sage-deep); color:var(--white); padding:11px 22px; border-radius:100px; font-weight:600; font-size:0.86rem; border:1px solid var(--sage-deep); cursor:pointer; transition:transform .18s ease, box-shadow .18s ease, background .18s ease; white-space:nowrap; }
  .ks-page-contact .btn:hover{ background:var(--navy-deep); border-color:var(--navy-deep); color:var(--white); transform:translateY(-1px); box-shadow:0 8px 20px -8px rgba(45,58,69,0.5); }

  .ks-page-contact .section{ padding:96px 32px; }
  .ks-page-contact .page-hero{ max-width:900px; margin:0 auto; padding:76px 32px 40px; text-align:center; }
  .ks-page-contact .page-hero h1{ font-size:clamp(2.1rem,3.6vw,3rem); font-weight:700; color:var(--navy-deep); line-height:1.12; letter-spacing:-0.01em; margin-bottom:18px; }
  .ks-page-contact .page-hero h1 em{ font-style:normal; color:var(--sage-deep); }
  .ks-page-contact .page-hero p{ font-size:1.06rem; opacity:0.8; max-width:60ch; margin:0 auto; }

  .ks-page-contact .contact-grid{ max-width:1160px; margin:0 auto; display:grid; grid-template-columns:1.2fr 0.8fr; gap:48px; align-items:start; }
  @media (max-width:960px){ .ks-page-contact .contact-grid{ grid-template-columns:1fr; } }

  .ks-page-contact .contact-form{ background:var(--white); border:1px solid var(--line); border-radius:20px; padding:40px; }
  .ks-page-contact .contact-form h2{ font-size:1.3rem; color:var(--navy-deep); margin-bottom:8px; }
  .ks-page-contact .contact-form .lead{ font-size:0.94rem; opacity:0.75; margin-bottom:24px; }
  .ks-page-contact .field{ margin-bottom:18px; }
  .ks-page-contact .field label{ display:block; font-family:'Quicksand',sans-serif; font-size:0.82rem; font-weight:600; color:var(--navy-deep); margin-bottom:6px; }
  .ks-page-contact .field input, .ks-page-contact .field textarea, .ks-page-contact .field select{
    width:100%; padding:12px 14px; border:1px solid var(--line); border-radius:10px;
    background:var(--paper); font-family:'Quicksand',sans-serif; font-size:0.94rem; color:var(--ink);
    transition:border-color .2s ease; appearance:none;
  }
  .ks-page-contact .field textarea{ resize:vertical; min-height:120px; font-family:'Quicksand',sans-serif; }
  .ks-page-contact .field input:focus, .ks-page-contact .field textarea:focus, .ks-page-contact .field select:focus{ outline:none; border-color:var(--sage-deep); }
  .ks-page-contact .field-row{ display:grid; grid-template-columns:1fr 1fr; gap:16px; }
  @media (max-width:560px){ .ks-page-contact .field-row{ grid-template-columns:1fr; } }
  .ks-page-contact .form-note{ font-family:'Quicksand',sans-serif; font-size:0.78rem; opacity:0.55; margin-top:4px; }
  .ks-page-contact .field-error{ font-family:'Quicksand',sans-serif; font-size:0.78rem; color:#b3452f; margin-top:4px; }

  .ks-page-contact .form-success{ display:flex; align-items:center; gap:10px; background:var(--sage-tint); color:var(--sage-deep); border-radius:12px; padding:14px 16px; font-family:'Quicksand',sans-serif; font-size:0.88rem; font-weight:600; margin-top:18px; }
  .ks-page-contact .form-success svg{ flex-shrink:0; }

  .ks-page-contact .contact-info-card{ background:var(--pine-dark); border-radius:20px; padding:36px 32px; color:var(--white); margin-bottom:20px; }
  .ks-page-contact .contact-info-card h3{ font-size:1.1rem; margin-bottom:20px; font-family:'Quicksand',sans-serif; }
  .ks-page-contact .contact-info-row{ display:flex; gap:14px; padding:14px 0; border-bottom:1px solid rgba(255,255,255,0.14); }
  .ks-page-contact .contact-info-row:first-of-type{ padding-top:0; }
  .ks-page-contact .contact-info-row:last-child{ border-bottom:none; }
  .ks-page-contact .contact-info-row svg{ flex-shrink:0; margin-top:2px; }
  .ks-page-contact .contact-info-row .label{ font-family:'Quicksand',sans-serif; font-size:0.72rem; text-transform:uppercase; letter-spacing:0.08em; opacity:0.6; margin-bottom:3px; }
  .ks-page-contact .contact-info-row a, .ks-page-contact .contact-info-row span.value{ font-family:'Quicksand',sans-serif; font-size:0.94rem; font-weight:600; }
  .ks-page-contact .contact-info-row a:hover{ text-decoration:underline; }

  .ks-page-contact .crisis-card{ background:var(--copper-tint); border-radius:20px; padding:26px 28px; color:var(--copper-deep); }
  .ks-page-contact .crisis-card h3{ font-size:1rem; margin-bottom:10px; font-family:'Quicksand',sans-serif; font-weight:700; display:flex; align-items:center; gap:8px; }
  .ks-page-contact .crisis-card p{ font-family:'Quicksand',sans-serif; font-size:0.86rem; line-height:1.6; margin:0 0 10px; }
  .ks-page-contact .crisis-card a{ text-decoration:underline; font-weight:600; }


/* ---------- About (.ks-page-about) ---------- */
  .ks-page-about{
    --ink:#000000; --navy:#000000; --navy-deep:#000000;
    --sage:#7B9DFF; --sage-deep:#5D87FF; --sage-tint:#E7ECFF;
    --copper:#01C2CE; --copper-deep:#01C2CE; --copper-tint:#D9F7F9;
    --paper:#F6F3EC; --paper-alt:#EEE9DE; --line:#D9D1BF; --white:#FFFFFF;
    background:var(--paper); color:var(--ink); font-family:'Quicksand', sans-serif; line-height:1.6;
    margin-left:calc(50% - 50vw); margin-right:calc(50% - 50vw); width:100vw;
  }
  .ks-page-about *{ box-sizing:border-box; }
  .ks-page-about h1, .ks-page-about h2, .ks-page-about h3, .ks-page-about .btn, .ks-page-about .eyebrow{ font-family:'Quicksand', sans-serif; letter-spacing:0.01em; }
  .ks-page-about a{ text-decoration:none; color:inherit; }
  .ks-page-about .wrap{ max-width:1160px; margin:0 auto; padding:0 32px; }
  .ks-page-about .eyebrow{ display:inline-flex; align-items:center; gap:8px; font-size:0.76rem; font-weight:600; letter-spacing:0.14em; text-transform:uppercase; color:var(--copper-deep); background:var(--copper-tint); padding:7px 14px; border-radius:100px; margin-bottom:22px; }
  .ks-page-about .eyebrow::before{ content:''; width:6px; height:6px; border-radius:50%; background:var(--copper-deep); }
  .ks-page-about .btn{ display:inline-flex; align-items:center; gap:8px; background:var(--sage-deep); color:var(--white); padding:11px 22px; border-radius:100px; font-weight:600; font-size:0.86rem; border:1px solid var(--sage-deep); cursor:pointer; transition:transform .18s ease, box-shadow .18s ease, background .18s ease; white-space:nowrap; }
  .ks-page-about .btn:hover{ background:var(--navy-deep); border-color:var(--navy-deep); color:var(--white); transform:translateY(-1px); box-shadow:0 8px 20px -8px rgba(45,58,69,0.5); }

  .ks-page-about .section{ padding:96px 32px; }
  .ks-page-about .section.alt{ background:var(--paper-alt); }
  .ks-page-about .section-head{ max-width:640px; margin:0 auto 56px; text-align:center; }
  .ks-page-about .section-head h2{ font-size:clamp(1.8rem,3vw,2.4rem); color:var(--navy-deep); font-weight:700; margin-bottom:14px; letter-spacing:-0.01em; }
  .ks-page-about .section-head p{ opacity:0.78; font-size:1.05rem; }

  .ks-page-about .page-hero{ max-width:900px; margin:0 auto; padding:76px 32px 56px; text-align:center; }
  .ks-page-about .page-hero h1{ font-size:clamp(2.1rem,3.6vw,3rem); font-weight:700; color:var(--navy-deep); line-height:1.12; letter-spacing:-0.01em; margin-bottom:18px; }
  .ks-page-about .page-hero h1 em{ font-style:normal; color:var(--sage-deep); }
  .ks-page-about .page-hero p{ font-size:1.06rem; opacity:0.8; max-width:60ch; margin:0 auto; }

  .ks-page-about .story-block{ max-width:760px; margin:0 auto; }
  .ks-page-about .story-block p{ font-size:1.03rem; opacity:0.85; margin-bottom:18px; }

  .ks-page-about .stats-row{ max-width:1160px; margin:0 auto; display:grid; grid-template-columns:repeat(4,1fr); gap:0; text-align:center; }
  .ks-page-about .stats-row .stat{ padding:0 16px; }
  .ks-page-about .stats-row .stat-num{ font-size:2.2rem; font-weight:700; color:var(--navy-deep); display:block; margin-bottom:6px; font-family:'Quicksand',sans-serif; }
  .ks-page-about .stats-row .stat-label{ font-family:'Quicksand',sans-serif; font-size:0.82rem; opacity:0.68; }
  @media (max-width:700px){ .ks-page-about .stats-row{ grid-template-columns:1fr 1fr; gap:28px 0; } }

  .ks-page-about .values-grid{ max-width:1160px; margin:0 auto; display:grid; grid-template-columns:repeat(4,1fr); gap:18px; }
  .ks-page-about .value-card{ background:var(--white); border:1px solid var(--line); border-radius:16px; padding:28px 24px; transition:transform .2s ease, box-shadow .2s ease; }
  .ks-page-about .value-card:hover{ transform:translateY(-3px); box-shadow:0 16px 32px -18px rgba(45,58,69,0.28); }
  .ks-page-about .value-card h3{ font-size:1.02rem; color:var(--navy-deep); margin-bottom:8px; }
  .ks-page-about .value-card p{ font-size:0.9rem; opacity:0.78; }
  @media (max-width:900px){ .ks-page-about .values-grid{ grid-template-columns:1fr 1fr; } }
  @media (max-width:560px){ .ks-page-about .values-grid{ grid-template-columns:1fr; } }

  .ks-page-about .team-grid{ max-width:1160px; margin:0 auto; display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }
  .ks-page-about .team-card{ background:var(--white); border:1px solid var(--line); border-radius:16px; padding:30px 26px; text-align:center; }
  .ks-page-about .team-avatar{ width:64px; height:64px; border-radius:50%; background:var(--sage-tint); color:var(--sage-deep); display:flex; align-items:center; justify-content:center; font-weight:700; font-family:'Quicksand',sans-serif; margin:0 auto 16px; }
  .ks-page-about .team-card h3{ font-size:1.02rem; color:var(--navy-deep); margin-bottom:2px; }
  .ks-page-about .team-card .role{ font-family:'Quicksand',sans-serif; font-size:0.8rem; color:var(--sage-deep); font-weight:600; margin-bottom:10px; }
  .ks-page-about .team-card .bio{ font-size:0.9rem; opacity:0.78; }
  .ks-page-about .team-note{ max-width:640px; margin:32px auto 0; text-align:center; font-family:'Quicksand',sans-serif; font-size:0.84rem; opacity:0.6; }
  @media (max-width:900px){ .ks-page-about .team-grid{ grid-template-columns:1fr 1fr; } }
  @media (max-width:560px){ .ks-page-about .team-grid{ grid-template-columns:1fr; } }

  .ks-page-about .final-cta{ margin:0 auto; text-align:center; padding:70px 40px; color:var(--white); }
  .ks-page-about .final-cta h2{ font-size:clamp(1.7rem,3vw,2.3rem); font-weight:700; margin-bottom:14px; }
  .ks-page-about .final-cta p{ opacity:0.88; max-width:52ch; margin:0 auto 30px; }
  .ks-page-about .final-cta .btn{ background:var(--white); color:var(--navy-deep); border-color:var(--white); }
  .ks-page-about .final-cta .btn:hover{ background:var(--copper-tint); border-color:var(--copper-tint); }


/* ---------- Consultation (.ks-page-consultation) ---------- */
  .ks-page-consultation{
    --ink:#000000; --navy:#000000; --navy-deep:#000000;
    --sage:#7B9DFF; --sage-deep:#5D87FF; --sage-tint:#E7ECFF;
    --copper:#01C2CE; --copper-deep:#01C2CE; --copper-tint:#D9F7F9;
    --paper:#F6F3EC; --paper-alt:#EEE9DE; --line:#D9D1BF; --white:#FFFFFF;
    background:var(--paper); color:var(--ink); font-family:'Quicksand', sans-serif; line-height:1.6;
    margin-left:calc(50% - 50vw); margin-right:calc(50% - 50vw); width:100vw;
  }
  .ks-page-consultation *{ box-sizing:border-box; }
  .ks-page-consultation h1, .ks-page-consultation h2, .ks-page-consultation h3, .ks-page-consultation .btn, .ks-page-consultation .eyebrow, .ks-page-consultation legend{ font-family:'Quicksand', sans-serif; letter-spacing:0.01em; }
  .ks-page-consultation a{ text-decoration:none; color:inherit; }
  .ks-page-consultation .wrap{ max-width:1160px; margin:0 auto; padding:0 32px; }
  .ks-page-consultation .eyebrow{ display:inline-flex; align-items:center; gap:8px; font-size:0.76rem; font-weight:600; letter-spacing:0.14em; text-transform:uppercase; color:var(--copper-deep); background:var(--copper-tint); padding:7px 14px; border-radius:100px; margin-bottom:22px; }
  .ks-page-consultation .eyebrow::before{ content:''; width:6px; height:6px; border-radius:50%; background:var(--copper-deep); }
  .ks-page-consultation .btn{ display:inline-flex; align-items:center; gap:8px; background:var(--sage-deep); color:var(--white); padding:11px 22px; border-radius:100px; font-weight:600; font-size:0.86rem; border:1px solid var(--sage-deep); cursor:pointer; transition:transform .18s ease, box-shadow .18s ease, background .18s ease; white-space:nowrap; }
  .ks-page-consultation .btn:hover{ background:var(--navy-deep); border-color:var(--navy-deep); color:var(--white); transform:translateY(-1px); box-shadow:0 8px 20px -8px rgba(45,58,69,0.5); }
  .ks-page-consultation .btn.block{ width:100%; justify-content:center; }

  .ks-page-consultation .section{ padding:96px 32px; }
  .ks-page-consultation .page-hero{ max-width:900px; margin:0 auto; padding:72px 32px 40px; text-align:center; }
  .ks-page-consultation .page-hero h1{ font-size:clamp(2.1rem,3.6vw,3rem); font-weight:700; color:var(--navy-deep); line-height:1.12; letter-spacing:-0.01em; margin-bottom:18px; }
  .ks-page-consultation .page-hero h1 em{ font-style:normal; color:var(--sage-deep); }
  .ks-page-consultation .page-hero p{ font-size:1.06rem; opacity:0.8; max-width:60ch; margin:0 auto; }
  .ks-page-consultation .page-hero .hero-note{ font-family:'Quicksand',sans-serif; font-size:0.82rem; color:var(--navy); opacity:0.65; margin-top:18px; }

  .ks-page-consultation .form-grid{ max-width:1160px; margin:0 auto; display:grid; grid-template-columns:1.15fr 0.85fr; gap:48px; align-items:start; }
  @media (max-width:960px){ .ks-page-consultation .form-grid{ grid-template-columns:1fr; } }

  .ks-page-consultation .form-card{ background:var(--white); border:1px solid var(--line); border-radius:20px; padding:40px; }
  .ks-page-consultation .form-card fieldset{ border:none; margin:0 0 32px; padding:0; }
  .ks-page-consultation .form-card fieldset:last-of-type{ margin-bottom:0; }
  .ks-page-consultation .form-card legend{ font-weight:700; font-size:1.02rem; color:var(--navy-deep); padding:0 0 6px; margin-bottom:16px; border-bottom:1px solid var(--line); width:100%; display:flex; align-items:center; gap:10px; }
  .ks-page-consultation .legend-num{ display:inline-flex; align-items:center; justify-content:center; width:24px; height:24px; border-radius:50%; background:var(--sage-tint); color:var(--sage-deep); font-size:0.78rem; font-weight:700; flex-shrink:0; }

  .ks-page-consultation .field{ margin-bottom:18px; }
  .ks-page-consultation .field label{ display:block; font-family:'Quicksand',sans-serif; font-size:0.82rem; font-weight:600; color:var(--navy-deep); margin-bottom:6px; }
  .ks-page-consultation .field .opt{ font-weight:400; opacity:0.55; }
  .ks-page-consultation .field input, .ks-page-consultation .field textarea, .ks-page-consultation .field select{
    width:100%; padding:12px 14px; border:1px solid var(--line); border-radius:10px;
    background:var(--paper); font-family:'Quicksand',sans-serif; font-size:0.94rem; color:var(--ink);
    transition:border-color .2s ease; appearance:none;
  }
  .ks-page-consultation .field textarea{ resize:vertical; min-height:100px; font-family:'Quicksand',sans-serif; }
  .ks-page-consultation .field input:focus, .ks-page-consultation .field textarea:focus, .ks-page-consultation .field select:focus{ outline:none; border-color:var(--sage-deep); }
  .ks-page-consultation .field-row{ display:grid; grid-template-columns:1fr 1fr; gap:16px; }
  @media (max-width:560px){ .ks-page-consultation .field-row{ grid-template-columns:1fr; } }

  .ks-page-consultation .radio-group{ display:flex; flex-wrap:wrap; gap:10px; }
  .ks-page-consultation .radio-pill{ position:relative; }
  .ks-page-consultation .radio-pill input{ position:absolute; opacity:0; width:100%; height:100%; margin:0; cursor:pointer; }
  .ks-page-consultation .radio-pill span{ display:inline-flex; align-items:center; padding:9px 16px; border-radius:100px; border:1px solid var(--line); font-family:'Quicksand',sans-serif; font-size:0.84rem; font-weight:600; color:var(--navy-deep); background:var(--paper); transition:background .18s ease, border-color .18s ease, color .18s ease; }
  .ks-page-consultation .radio-pill input:checked + span{ background:var(--sage-deep); border-color:var(--sage-deep); color:var(--white); }

  .ks-page-consultation .consent-row{ display:flex; gap:12px; align-items:flex-start; margin-bottom:14px; }
  .ks-page-consultation .consent-row input{ margin-top:4px; flex-shrink:0; width:16px; height:16px; accent-color:var(--sage-deep); }
  .ks-page-consultation .consent-row label{ font-family:'Quicksand',sans-serif; font-size:0.86rem; opacity:0.85; line-height:1.5; }
  .ks-page-consultation .consent-row a{ color:var(--sage-deep); text-decoration:underline; }

  .ks-page-consultation .form-note{ font-family:'Quicksand',sans-serif; font-size:0.78rem; opacity:0.55; margin-top:12px; }
  .ks-page-consultation .field-error{ font-family:'Quicksand',sans-serif; font-size:0.78rem; color:#b3452f; margin-top:4px; }

  .ks-page-consultation .form-success{ display:flex; flex-direction:column; align-items:center; text-align:center; gap:14px; background:var(--sage-tint); color:var(--sage-deep); border-radius:16px; padding:40px 30px; }
  .ks-page-consultation .form-success h3{ color:var(--sage-deep); font-size:1.15rem; }
  .ks-page-consultation .form-success p{ font-family:'Quicksand',sans-serif; font-size:0.9rem; opacity:0.9; max-width:44ch; }

  .ks-page-consultation .side-card{ background:var(--navy-deep); border-radius:20px; padding:34px 30px; color:var(--white); margin-bottom:20px; }
  .ks-page-consultation .side-card h3{ font-size:1.05rem; margin-bottom:18px; }
  .ks-page-consultation .side-steps{ list-style:none; margin:0; padding:0; }
  .ks-page-consultation .side-steps li{ display:flex; gap:12px; padding:12px 0; border-bottom:1px solid rgba(255,255,255,0.14); }
  .ks-page-consultation .side-steps li:last-child{ border-bottom:none; }
  .ks-page-consultation .side-steps .num{ flex-shrink:0; width:26px; height:26px; border-radius:50%; border:1.5px solid var(--copper-tint); color:var(--copper-tint); display:flex; align-items:center; justify-content:center; font-size:0.8rem; font-weight:700; }
  .ks-page-consultation .side-steps p{ font-family:'Quicksand',sans-serif; font-size:0.86rem; opacity:0.85; margin:0; }

  .ks-page-consultation .crisis-card{ background:var(--copper-tint); border-radius:20px; padding:24px 26px; color:var(--copper-deep); }
  .ks-page-consultation .crisis-card h3{ font-size:0.98rem; margin-bottom:8px; font-weight:700; display:flex; align-items:center; gap:8px; }
  .ks-page-consultation .crisis-card p{ font-family:'Quicksand',sans-serif; font-size:0.84rem; line-height:1.6; margin:0; }
  .ks-page-consultation .crisis-card a{ text-decoration:underline; font-weight:600; }


/* ---------- Legal - Privacy & Terms (.ks-page-legal) ---------- */
  .ks-page-legal{
    --ink:#000000; --navy:#000000; --navy-deep:#000000;
    --sage:#7B9DFF; --sage-deep:#5D87FF; --sage-tint:#E7ECFF;
    --copper:#01C2CE; --copper-deep:#01C2CE; --copper-tint:#D9F7F9;
    --paper:#F6F3EC; --paper-alt:#EEE9DE; --line:#D9D1BF; --white:#FFFFFF;
    background:var(--paper); color:var(--ink); font-family:'Quicksand', sans-serif; line-height:1.6;
    margin-left:calc(50% - 50vw); margin-right:calc(50% - 50vw); width:100vw;
  }
  .ks-page-legal *{ box-sizing:border-box; }
  .ks-page-legal h1{ font-family:'Quicksand', sans-serif; }
  .ks-page-legal a{ color:inherit; }
  .ks-page-legal .page-hero{ max-width:800px; margin:0 auto; padding:64px 32px 8px; text-align:center; }
  .ks-page-legal .page-hero h1{ font-size:clamp(1.9rem,3.2vw,2.6rem); font-weight:700; color:var(--navy-deep); line-height:1.15; letter-spacing:-0.01em; margin-bottom:10px; }

  .ks-page-legal .legal-wrap{ max-width:760px; margin:0 auto; padding:24px 32px 110px; }
  .ks-page-legal .legal-updated{ font-family:'Quicksand',sans-serif; font-size:0.82rem; color:var(--sage-deep); font-weight:600; text-align:center; margin-bottom:28px; }
  .ks-page-legal .legal-disclaimer{ font-family:'Quicksand',sans-serif; font-size:0.86rem; background:var(--copper-tint); color:var(--copper-deep); border-radius:12px; padding:16px 18px; margin-bottom:40px; line-height:1.6; }
  .ks-page-legal .legal-content h2{ font-family:'Quicksand',sans-serif; font-size:1.28rem; color:var(--navy-deep); margin:40px 0 14px; font-weight:700; }
  .ks-page-legal .legal-content h2:first-child{ margin-top:0; }
  .ks-page-legal .legal-content h3{ font-family:'Quicksand',sans-serif; font-size:1.02rem; color:var(--navy-deep); margin:20px 0 8px; font-weight:700; }
  .ks-page-legal .legal-content p{ font-size:0.98rem; opacity:0.85; margin-bottom:14px; }
  .ks-page-legal .legal-content ul, .ks-page-legal .legal-content ol{ margin:0 0 14px 22px; }
  .ks-page-legal .legal-content li{ font-size:0.98rem; opacity:0.85; margin-bottom:8px; }
  .ks-page-legal .legal-content a{ color:var(--sage-deep); text-decoration:underline; }

