:root{
  --bg-white:#ffffff;
  --text-charcoal:#3b3a3a;
  --link-blue:#428eb4;
  --link-blue-hover:#3b3a3a;
  --footer-blue:#1a4d8f;
  --footer-link-hover:#86ccee;
  --border-beige:#D3CCC0;
  --border-subtle:#E2E2E2;
  --bg-soft:#f7f7f7;
  --muted-grey:#8a8989;
  --error-red:#EB6260;
}

*,*::before,*::after{box-sizing:border-box}
html,body{margin:0;padding:0}
body{
  font-family:'Figtree',sans-serif;
  color:var(--text-charcoal);
  background:var(--bg-white);
  font-size:16px;
  line-height:1.55;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;height:auto;display:block}
a{color:var(--link-blue);text-decoration:none;transition:color .2s ease}
a:hover{color:var(--link-blue-hover)}
ul{list-style:none;margin:0;padding:0}

/* =========== announce =========== */
.announce-bar-kk{
  background:#3b3a3a;
  color:#fff;
  text-align:center;
  font-size:.875rem;
  padding:9px 16px;
  font-family:'Figtree',sans-serif;
}
.announceInner{display:inline-flex;align-items:center;gap:8px}
.heart-ico{color:#fff;font-size:1rem;line-height:1}

/* =========== top nav =========== */
.site_head_kk{
  background:#fff;
  border-bottom:1px solid var(--border-subtle);
  position:sticky;top:0;z-index:50;
}
.head_inner{
  max-width:1280px;
  margin:0 auto;
  padding: 14px 32px;
  display:grid;
  grid-template-columns:1fr auto 1fr;
  align-items:center;
  gap:20px;
}
.nav-left-kk .navList_main{
  display:flex;gap:28px;flex-wrap:wrap;
}
.nav-left-kk a{
  font-family:'Dosis',sans-serif;
  font-weight:500;
  font-size:.9rem;
  color:var(--text-charcoal);
  letter-spacing:.04em;
  text-transform:uppercase;
}
.nav-left-kk a:hover{color:var(--muted-grey)}

.logo-wrap-kk{display:flex;justify-content:center}
.logo-wrap-kk img{max-width:160px;width:100%;height:auto}

.nav-right-kk{
  display:flex;
  justify-content:flex-end;
  align-items:center;
  gap:18px;
}
.contact-link-mini{
  font-family:'Dosis',sans-serif;
  font-size:.85rem;
  font-weight:600;
  text-transform:uppercase;
  letter-spacing:.06em;
  color:var(--text-charcoal);
}
.contact-link-mini:hover{color:var(--link-blue)}

.burger_btn{
  display:none;
  background:none;border:0;padding:6px;cursor:pointer;
  flex-direction:column;gap:5px;
}
.burger_btn span{
  width:24px;height:2px;background:var(--text-charcoal);display:block;
}

/* mobile drawer */
.mobile-drawer-kk{
  position:fixed;top:0;left:-320px;
  width:300px;height:100vh;background:#fff;
  padding:60px 26px 26px;
  box-shadow:2px 0 20px rgba(0,0,0,.1);
  transition:left .3s ease;
  z-index:80;
}
.mobile-drawer-kk.isOpen{left:0}
.mobile-drawer-kk ul li{margin-bottom:18px}
.mobile-drawer-kk a{
  font-family:'Dosis',sans-serif;
  font-size:1rem;font-weight:500;
  color:var(--text-charcoal);
  text-transform:uppercase;letter-spacing:.05em;
}
.closeXred{
  position:absolute;top:14px;right:14px;
  background:none;border:0;
  color:var(--error-red);
  font-size:32px;line-height:1;cursor:pointer;
}

/* =========== HERO =========== */
.hero-kk-wrap{
  position:relative;
  min-height:620px;
  height:72vh;
  max-height:780px;
  overflow:hidden;
  display:flex;align-items:center;justify-content:center;
}
.heroBgImage{
  position:absolute;inset:0;
  background:
    linear-gradient(135deg,#2a4d6f 0%,#1a4d8f 55%,#0f2c52 100%);
  background-size:cover;background-position:center;
}
.heroOverlay25{
  position:absolute;inset:0;
  background:rgba(0,0,0,.32);
}
.hero-content-inner{
  position:relative;z-index:2;
  max-width:780px;
  padding:0 24px;
  text-align:center;
  color:#fff;
}
.eyebrow-kk{
  font-family:'Figtree',sans-serif;
  font-size:.78rem;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:#e6eaf0;
  margin-bottom:22px;
  font-weight:500;
}
.hero_h1_kk{
  font-family:'EB Garamond',serif;
  font-size:3rem;
  font-weight:500;
  line-height:1.18;
  margin:0 0 22px;
  color:#fff;
}
.hero_sub_kk{
  font-size:1.05rem;
  line-height:1.6;
  color:#eef0f3;
  max-width:640px;
  margin:0 auto 34px;
}
.hero_cta_row{
  display:flex;gap:14px;justify-content:center;flex-wrap:wrap;
  margin-bottom: 28px;
}
.btn-doj-kk{
  display:inline-block;
  padding: 11px 30px;
  border:1.5px solid #fff;
  color:#fff;
  background:transparent;
  border-radius:30px;
  font-family:'Figtree',sans-serif;
  font-size:.78rem;
  font-weight:600;
  text-transform:uppercase;
  letter-spacing:.09em;
  cursor:pointer;
  transition:all .25s ease;
}
.btn-doj-kk:hover{background:#fff;color:var(--text-charcoal)}
.btn-blue-fill{
  background:var(--link-blue);
  border-color:var(--link-blue);
}
.btn-blue-fill:hover{
  background:#fff;
  color:var(--link-blue);
  border-color:#fff;
}
.script-line-kk{
  font-family:'Caveat',cursive;
  font-size:1.65rem;
  color:#fff;
  margin:6px 0 0;
  font-style:italic;
  opacity:.95;
}

/* =========== FOOTER =========== */
.footer-kk-deepblue{
  background:var(--footer-blue);
  color:#fff;
  padding: 64px 32px 28px;
  margin-top: 0;
}
.ftr_inner_grid{
  max-width:1240px;margin:0 auto;
  display:grid;
  grid-template-columns: 1.6fr 1fr;
  gap: 56px;
}
.ftr_brand_col h4,
.ftr_contact_col h4{
  font-family:'EB Garamond',serif;
  font-size:1.4rem;
  font-weight:500;
  margin: 0 0 16px;
  color:#fff;
}
.ftr_logo_a{display:inline-block;margin-bottom:18px;background:rgba(255,255,255,.94);padding:10px 14px;border-radius:6px}
.ftr_logo_a img{max-width:200px}

.ftr-mission{
  font-size:.92rem;
  line-height:1.65;
  color:#dde6f2;
  margin: 0 0 22px;
  max-width:560px;
}
.ftr_link_list li{margin-bottom:6px}
.ftr_link_list a{
  color:#fff;
  font-size:.9rem;
  font-family:'Figtree',sans-serif;
  border-bottom:1px solid rgba(255,255,255,.25);
  padding-bottom:1px;
}
.ftr_link_list a:hover{color:var(--footer-link-hover);border-color:var(--footer-link-hover)}

.ftr-contact-lines{
  font-size:.95rem;
  line-height:1.6;
  color:#e0e7f0;
  margin: 0 0 14px;
}
.ftr-contact-lines a{color:#fff}
.ftr-contact-lines a:hover{color:var(--footer-link-hover)}

/* disclaimer */
.ftr-disclaimer-box{
  max-width:1240px;
  margin: 48px auto 0;
  padding: 22px 24px;
  border:1px solid rgba(255,255,255,.22);
  border-radius:4px;
  background:rgba(255,255,255,.04);
}
.ftr-disclaimer-box p{
  margin:0;
  font-size:.82rem;
  line-height:1.6;
  color:#e8eef6;
}
.ftr-disclaimer-box strong{color:#fff}

.sub-footer-line{
  max-width:1240px;
  margin: 32px auto 0;
  padding-top:22px;
  border-top:1px solid rgba(255,255,255,.16);
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  align-items:center;
  gap:10px;
  font-size:.82rem;
  color:#cdd7e4;
}
.sub-footer-line a{color:#fff}
.sub-footer-line a:hover{color:var(--footer-link-hover)}
.dot-sep{opacity:.55}

/* =========== shared elements =========== */
.eyebrow-charcoal{
  font-family:'Figtree',sans-serif;
  font-size:.75rem;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:var(--text-charcoal);
  font-weight:500;
  margin-bottom:14px;
}
.eyebrow-charcoal.centered{text-align:center}
.h2-garamond{
  font-family:'EB Garamond',serif;
  font-weight:500;
  font-size:2.1rem;
  line-height:1.22;
  color:var(--text-charcoal);
  margin: 0 0 22px;
}
.h2-garamond.centered{text-align:center}
.text-link-blue{
  color:var(--link-blue);
  font-family:'Figtree',sans-serif;
  font-weight:500;
  font-size:.92rem;
  display:inline-block;
  margin-top:18px;
}
.text-link-blue:hover{color:var(--text-charcoal)}
.btn-doj-charcoal{
  display:inline-block;
  padding:12px 32px;
  border:1.5px solid var(--text-charcoal);
  color:var(--text-charcoal);
  background:transparent;
  border-radius:30px;
  font-family:'Figtree',sans-serif;
  font-size:.78rem;
  font-weight:600;
  text-transform:uppercase;
  letter-spacing:.09em;
  transition:all .25s ease;
  margin-top:6px;
}
.btn-doj-charcoal:hover{
  background:var(--text-charcoal);color:#fff;
}

/* =========== bio =========== */
.bio-block-kk{
  max-width:1240px;
  margin:0 auto;
  padding: 90px 32px;
  border-bottom:1px solid var(--border-beige);
}
.bio-inner-row{
  display:grid;
  grid-template-columns: 0.85fr 1.15fr;
  gap:64px;
  align-items:start;
}
.bio-portrait-col img{
  width:100%;
  aspect-ratio: 4 / 5;
  object-fit:cover;
  background:#eee;
}
.bio-portrait-cap{
  margin-top:12px;
  font-size:.78rem;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:var(--muted-grey);
}
.bio-text-col p{
  font-size:1rem;
  line-height:1.7;
  margin: 0 0 16px;
  color:var(--text-charcoal);
}
.bio-signature-script{
  font-family:'Caveat',cursive !important;
  font-size:1.6rem !important;
  color:var(--link-blue) !important;
  font-style:italic;
  margin-top: 22px !important;
}

/* =========== specialization =========== */
.spec-block-kk{
  background:var(--bg-soft);
  padding: 90px 32px;
}
.spec-inner{
  max-width:1100px;margin:0 auto;
  text-align:center;
}
.spec-lead{
  max-width:680px;
  margin: 0 auto 48px;
  font-size:1.02rem;line-height:1.65;
  color:#4a4949;
}
.spec-cards-row{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:36px;
  margin-top:30px;
  text-align:left;
}
.spec-card-item{
  background:#fff;
  padding: 30px 26px;
  border:1px solid var(--border-subtle);
  border-radius:4px;
}
.spec-card-item img{
  width:64px;height:64px;
  object-fit:contain;
  background:#f0f3f6;
  border-radius:50%;
  margin-bottom:18px;
  padding:14px;
}
.spec-card-item h3{
  font-family:'EB Garamond',serif;
  font-weight:500;
  font-size:1.3rem;
  margin:0 0 10px;
  color:var(--text-charcoal);
}
.spec-card-item p{
  font-size:.95rem;line-height:1.6;
  color:#4a4949;margin:0;
}

/* =========== pricelist =========== */
.pricelist-block-kk{
  max-width:980px;
  margin:0 auto;
  padding: 90px 32px;
  border-bottom:1px solid var(--border-beige);
}
.pricelist-note{
  font-size:.92rem;
  color:var(--muted-grey);
  margin: 0 0 36px;
}
.prices-table-kk{
  border-top:1px solid var(--border-subtle);
}
.price-row-kk{
  display:grid;
  grid-template-columns: 1fr auto;
  gap:32px;
  padding:24px 0;
  border-bottom:1px solid var(--border-subtle);
  align-items:start;
}
.price-row-name h4{
  font-family:'EB Garamond',serif;
  font-weight:500;
  font-size:1.2rem;
  margin:0 0 6px;color:var(--text-charcoal);
}
.price-row-name p{
  font-size:.92rem;line-height:1.55;
  color:#5a5959;margin:0;
}
.price-row-amount{
  font-family:'EB Garamond',serif;
  font-size:1.45rem;
  color:var(--link-blue);
  font-weight:500;
  white-space:nowrap;
  padding-top:2px;
}

/* =========== how I work =========== */
.how-block-kk{
  background:var(--bg-soft);
  padding: 90px 32px;
}
.how-inner{
  max-width:1180px;margin:0 auto;
}
.how-steps-grid{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:48px 56px;
  margin-top: 36px;
}
.how-step-item{
  display:grid;
  grid-template-columns:auto 1fr;
  gap:22px;
}
.how-step-num{
  font-family:'EB Garamond',serif;
  font-size:2.4rem;
  color:var(--link-blue);
  font-weight:500;
  line-height:1;
  padding-top:4px;
}
.how-step-item h3{
  font-family:'EB Garamond',serif;
  font-size:1.3rem;font-weight:500;
  margin:0 0 8px;color:var(--text-charcoal);
}
.how-step-item p{
  font-size:.96rem;line-height:1.6;
  color:#4a4949;margin:0;
}

/* =========== testimonials =========== */
.testi-block-kk{
  padding: 90px 32px;
  border-bottom:1px solid var(--border-beige);
}
.testi-inner{max-width:1240px;margin:0 auto}
.testi-grid-3col{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:28px;
  margin-top: 40px;
}
.testi-card-kk{
  background:#fff;
  padding: 28px 26px;
  border:1px solid var(--border-subtle);
  border-radius:3px;
  display:flex;flex-direction:column;
  justify-content:space-between;
}
.testi-quote{
  font-family:'EB Garamond',serif;
  font-size:1.05rem;
  line-height:1.55;
  color:var(--text-charcoal);
  margin: 0 0 22px;
  font-style:italic;
}
.testi-name{
  font-family:'Figtree',sans-serif;
  font-weight:600;
  font-size:.92rem;
  color:var(--text-charcoal);
  margin-bottom:3px;
}
.testi-meta{
  font-size:.78rem;
  color:var(--muted-grey);
  letter-spacing:.04em;
}

/* =========== cta article =========== */
.cta-article-block-kk{
  max-width:1240px;margin:0 auto;
  padding: 90px 32px;
  border-bottom:1px solid var(--border-beige);
}
.cta-article-inner{
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap:60px;
  align-items:center;
}
.cta-article-img-col img{
  width:100%;
  aspect-ratio: 5 / 4;
  object-fit:cover;
  background:#eee;
  border-radius:3px;
}
.cta-article-text-col p{
  font-size:1rem;line-height:1.65;
  color:var(--text-charcoal);
  margin:0 0 14px;
}
.script-line-charcoal{
  font-family:'Caveat',cursive !important;
  font-size:1.45rem !important;
  font-style:italic;
  color:var(--link-blue) !important;
  margin: 8px 0 22px !important;
}

/* =========== faq =========== */
.faq-block-kk{
  background:var(--bg-soft);
  padding: 90px 32px 100px;
}
.faq-inner{max-width:880px;margin:0 auto}
.faq-list-kk{margin-top:30px}
.faq-item-kk{
  border-bottom:1px solid var(--border-subtle);
  padding: 18px 0;
}
.faq-item-kk[open]{padding-bottom:22px}
.faq-item-kk summary{
  font-family:'EB Garamond',serif;
  font-size:1.18rem;
  color:var(--text-charcoal);
  cursor:pointer;
  list-style:none;
  position:relative;
  padding-right:36px;
  font-weight:500;
  transition:color .2s ease;
}
.faq-item-kk summary:hover{color:var(--link-blue)}
.faq-item-kk summary::-webkit-details-marker{display:none}
.faq-item-kk summary::after{
  content:'+';
  position:absolute;right:0;top:-2px;
  font-size:1.7rem;font-weight:300;
  color:var(--link-blue);
  transition:transform .2s ease;
}
.faq-item-kk[open] summary::after{
  content:'−';
}
.faq-answer{padding: 14px 36px 0 0}
.faq-answer p{
  font-size:.98rem;line-height:1.65;
  color:#4a4949;margin:0;
}

/* =========== cabinet strip (after bio) =========== */
.cabinet-strip-kk{
  max-width:1240px;
  margin: 0 auto;
  padding: 0 32px 90px;
  border-bottom:1px solid var(--border-beige);
}
.cabinet-strip-inner{
  display:grid;
  grid-template-columns: 1.3fr 1fr 1fr;
  gap:18px;
}
.cab-fig{margin:0}
.cab-fig img{
  width:100%;
  aspect-ratio: 4 / 3;
  object-fit:cover;
  background:#eaeaea;
  border-radius: 2px;
}
.cab-fig.cab-tall img{
  aspect-ratio: 4 / 5;
}
.cab-fig figcaption{
  margin-top:8px;
  font-size:.78rem;
  letter-spacing:.06em;
  text-transform:uppercase;
  color:var(--muted-grey);
}

/* =========== education / qualification =========== */
.edu-block-kk{
  background:#fff;
  padding: 90px 32px;
  border-bottom:1px solid var(--border-beige);
}
.edu-inner-grid{
  max-width:1240px;
  margin:0 auto;
  display:grid;
  grid-template-columns: 1fr 1.05fr;
  gap: 64px;
  align-items: start;
}
.edu-photo-big img{
  width:100%;
  aspect-ratio: 4 / 3;
  object-fit:cover;
  background:#e8e8e8;
  border-radius: 2px;
}
.edu-photo-small-row{
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
  margin-top: 14px;
}
.edu-photo-sm{
  width:100%;
  aspect-ratio: 1 / 1;
  object-fit:cover;
  background:#e8e8e8;
  border-radius: 2px;
}
.edu-text-col p{
  font-size:1rem;
  line-height: 1.7;
  margin: 0 0 16px;
  color:var(--text-charcoal);
}
.edu-list-kk{
  list-style:none;
  margin: 22px 0 18px;
  padding:0;
  border-top: 1px solid var(--border-subtle);
}
.edu-list-kk li{
  display:grid;
  grid-template-columns: 70px 1fr;
  gap: 18px;
  padding: 11px 0;
  border-bottom: 1px solid var(--border-subtle);
  font-size: .96rem;
  line-height: 1.5;
  color: var(--text-charcoal);
}
.edu-list-kk li strong{
  font-family:'EB Garamond', serif;
  font-weight: 500;
  color: var(--link-blue);
  font-size: 1.05rem;
}
.edu-meta-line{
  font-size:.86rem !important;
  color: var(--muted-grey) !important;
  font-style: italic;
  margin-top: 12px !important;
}
@media (max-width: 980px){
  .head_inner{
    grid-template-columns:auto 1fr auto;
    padding: 12px 18px;
  }
  .nav-left-kk{display:none}
  .burger_btn{display:flex}
  .logo-wrap-kk{justify-content:flex-start}
  .logo-wrap-kk img{max-width:130px}
  .contact-link-mini{display:none}

  .hero-kk-wrap{min-height:560px;height:auto;padding:90px 0}
  .hero_h1_kk{font-size:2.1rem}
  .hero_sub_kk{font-size:.98rem}
  .eyebrow-kk{font-size:.7rem}

  .h2-garamond{font-size:1.7rem}

  .bio-block-kk{padding:60px 22px}
  .bio-inner-row{grid-template-columns:1fr;gap:36px}

  /* cabinet strip stacks 2x2 */
  .cabinet-strip-kk{padding: 0 22px 50px}
  .cabinet-strip-inner{grid-template-columns: 1fr 1fr; gap: 12px}
  .cab-fig.cab-tall{grid-column: 1 / -1}
  .cab-fig.cab-tall img{aspect-ratio: 16 / 10}

  .edu-block-kk{padding:60px 22px}
  .edu-inner-grid{grid-template-columns:1fr;gap:32px}

  .spec-block-kk{padding:60px 22px}
  .spec-cards-row{grid-template-columns:1fr;gap:20px}

  .pricelist-block-kk{padding:60px 22px}
  .price-row-amount{font-size:1.25rem}

  .how-block-kk{padding:60px 22px}
  .how-steps-grid{grid-template-columns:1fr;gap:32px}

  .testi-block-kk{padding:60px 22px}
  .testi-grid-3col{grid-template-columns:1fr;gap:18px}

  .cta-article-block-kk{padding:60px 22px}
  .cta-article-inner{grid-template-columns:1fr;gap:30px}

  .faq-block-kk{padding:60px 22px}
  .faq-item-kk summary{font-size:1.05rem}

  .ftr_inner_grid{grid-template-columns:1fr;gap:36px}
  .footer-kk-deepblue{padding: 48px 22px 22px}
}

@media (min-width: 981px) and (max-width:1180px){
  .testi-grid-3col{grid-template-columns:repeat(2,1fr)}
  .spec-cards-row{gap:20px}
}

@media (max-width: 540px){
  .hero_h1_kk{font-size:1.75rem}
  .btn-doj-kk{padding:10px 22px;font-size:.72rem}
  .hero_cta_row{flex-direction:column;align-items:center}
  .btn-doj-kk{width:100%;max-width:280px;text-align:center}
}
