/* ============================================================
   Little Kids Kingdom — theme.css
   All styles. Edit freely.
   ============================================================ */

/* ----- FONTS loaded via wp_enqueue_style in functions.php ----- */

/* ----- RESET ----- */
*, *::before, *::after { box-sizing: border-box; }
html, body { margin: 0; padding: 0; background: #eef3df; }
body { font-family: 'Nunito', sans-serif; color: #030e50; }
a { text-decoration: none; color: inherit; }
address { font-style: normal; }

/* ----- LOADER ----- */
#lkk-loader {
  position: fixed; inset: 0; background: #eef3df; z-index: 9999;
  display: flex; align-items: center; justify-content: center;
  flex-direction: column; gap: 16px; transition: opacity .5s ease;
}
#lkk-loader.lkk-gone { opacity: 0; pointer-events: none; }
.lkk-loader-text {
  font-family: 'Patrick Hand', cursive; font-size: 22px; color: #030e50;
  opacity: 0; animation: lkkTxt .4s ease .2s forwards;
}
.lkk-dots { display: flex; gap: 12px; }
.lkk-dot {
  width: 11px; height: 11px; border-radius: 50%;
  animation: lkkDot .9s ease infinite;
}
.lkk-dot:nth-child(1) { background: #a7c84e; border: 2.5px solid #030e50; animation-delay: -.3s; }
.lkk-dot:nth-child(2) { background: #030e50; animation-delay: 0s; }
.lkk-dot:nth-child(3) { background: #a7c84e; border: 2.5px solid #030e50; animation-delay: .3s; }

/* SVG animation classes */
.lkk-ray  { animation: lkkRay  .25s ease forwards; }
.lkk-circ { animation: lkkCirc .6s cubic-bezier(.4,0,.2,1) .1s forwards; }
.lkk-eye  { transform-origin: center; transform: scale(0); animation: lkkEye .2s ease forwards; }
.lkk-eye-l { animation-delay: .72s; }
.lkk-eye-r { animation-delay: .78s; }
.lkk-smile { animation: lkkSmile .35s ease .82s forwards; }

/* ----- LOADER KEYFRAMES ----- */
@keyframes lkkRay   { from { stroke-dashoffset: 20;  } to { stroke-dashoffset: 0; } }
@keyframes lkkCirc  { from { stroke-dashoffset: 283; } to { stroke-dashoffset: 0; } }
@keyframes lkkEye   { from { transform: scale(0); }    to { transform: scale(1); } }
@keyframes lkkSmile { from { stroke-dashoffset: 80;  } to { stroke-dashoffset: 0; } }
@keyframes lkkDot   { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-10px); } }
@keyframes lkkTxt   { from { opacity: 0; } to { opacity: 1; } }
@keyframes lkkScroll{ 0%,100% { transform: translateY(0); opacity: 1; } 60% { transform: translateY(10px); opacity: 0; } }
@keyframes lkkRise  { from { opacity: 0; transform: translateY(34px); } to { opacity: 1; transform: translateY(0); } }

/* ----- PAGE BG ----- */
.lkk-page {
  min-height: 100vh; background-color: #eef3df;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.05'/%3E%3C/svg%3E");
  container-type: inline-size;
}

/* ----- SCROLL REVEAL ----- */
@supports (animation-timeline: view()) {
  section, footer { animation: lkkRise linear both; animation-timeline: view(); animation-range: entry 0% entry 40%; }
}
@media (prefers-reduced-motion: reduce) {
  section, footer { animation: none !important; opacity: 1 !important; transform: none !important; }
}

/* ----- NAV ----- */
.lkk-nav-wrapper {
  position: sticky; top: 0; z-index: 60;
  background: rgba(238,243,223,.94); backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px); border-bottom: 3px solid #030e50;
}
.lkk-nav-inner {
  display: flex; align-items: center; justify-content: space-between;
  padding: 16px 48px; max-width: 1240px; margin: 0 auto;
}
.lkk-nav-logo { display: flex; align-items: center; gap: 12px; font-family: 'Baloo 2', cursive; font-weight: 700; font-size: 21px; color: #030e50; }
.lkk-nav-logo img { flex-shrink: 0; }
.lkk-nav-links { display: flex; align-items: center; gap: 26px; font-weight: 700; font-size: 16px; }
.lkk-nav-links ul { display: flex; align-items: center; gap: 26px; list-style: none; margin: 0; padding: 0; }
.lkk-nav-links li { list-style: none; }
.lkk-nav-links a { color: #030e50; }
.lkk-nav-links a.lkk-active { border-bottom: 3px solid #030e50; padding-bottom: 2px; }
.lkk-nav-cta, .lkk-nav-links .current-menu-item > a,
.menu-item a[href*="contact"] {
  font-family: 'Baloo 2', cursive;
}
/* Contact link styled as button — use WP menu CSS class "lkk-nav-cta" on the Contact item */
.lkk-nav-cta, li.lkk-nav-cta a {
  background: #030e50 !important; color: #fff !important;
  border: 3px solid #030e50; box-shadow: 3px 3px 0 #030e50;
  padding: 8px 18px; border-radius: 14px 20px 16px 22px;
  transform: rotate(-1.5deg); display: inline-block;
}
.lkk-ham {
  display: none; flex-direction: column; justify-content: center; gap: 5px;
  background: none; border: 3px solid #030e50; border-radius: 12px;
  cursor: pointer; padding: 8px 10px; min-width: 44px; min-height: 44px;
}
.lkk-ham span { display: block; width: 22px; height: 3px; background: #030e50; border-radius: 2px; }

/* ----- SECTION PADDING ----- */
.lkk-section-pad { max-width: 1240px; margin: 0 auto; padding: 60px 48px; }

/* ----- HERO ----- */
.lkk-hero-section {
  display: grid; grid-template-columns: 1fr 1fr; gap: 40px;
  align-items: center; min-height: calc(100svh - 86px);
  max-width: 1240px; margin: 0 auto; padding: 30px 48px 60px;
}
.lkk-hero-title { font-family: 'Baloo 2', cursive; font-weight: 800; font-size: 74px; line-height: .95; margin: 24px 0 0; letter-spacing: -1px; }
.lkk-hero-sub   { font-size: 19px; font-weight: 600; color: #51607f; margin: 22px 0 0; max-width: 440px; }
.lkk-hero-btns  { display: flex; gap: 18px; margin-top: 32px; flex-wrap: wrap; }
.lkk-hero-collage { position: relative; height: 520px; }
.lkk-scroll-hint {
  display: flex; align-items: center; gap: 10px; margin-top: 28px; opacity: .6;
  transition: opacity .4s ease, transform .4s ease;
}
.lkk-scroll-hint.hidden { opacity: 0; transform: translateY(8px); pointer-events: none; }
.lkk-scroll-pill { width: 28px; height: 44px; border: 3px solid #030e50; border-radius: 14px; display: flex; align-items: flex-start; justify-content: center; padding-top: 6px; }
.lkk-scroll-dot  { width: 4px; height: 8px; background: #030e50; border-radius: 2px; animation: lkkScroll 1.6s ease infinite; }
.lkk-scroll-hint span { font-family: 'Patrick Hand', cursive; font-size: 17px; color: #030e50; }

/* ----- POLAROIDS ----- */
.lkk-polaroid {
  position: absolute; background: repeating-linear-gradient(45deg,#e6efcf,#e6efcf 11px,#d2e2ac 11px,#d2e2ac 22px);
  border: 3px solid #030e50; box-shadow: 6px 6px 0 #030e50;
  padding: 10px 10px 32px; display: flex; align-items: flex-end; justify-content: center;
  font-family: 'Patrick Hand', cursive; font-size: 16px; color: #51607f;
}
.lkk-rotate-neg5 { transform: rotate(-5deg); width: 250px; height: 215px; top: 20px; left: 20px; }
.lkk-rotate-pos6 { transform: rotate(6deg); width: 225px; height: 190px; top: 0; right: 0; }
.lkk-polaroid-bottom { transform: rotate(3deg); width: 270px; height: 225px; bottom: 10px; left: 90px; }
.lkk-tape { position: absolute; height: 24px; border: 1px dashed #030e50; }
.lkk-tape-1 { width: 74px; background: rgba(167,200,78,.7); top: 6px; left: 150px; transform: rotate(-8deg); }
.lkk-tape-2 { width: 64px; background: rgba(3,14,80,.18); bottom: 230px; left: 180px; transform: rotate(10deg); }

/* ----- BADGE / EYEBROW ----- */
.lkk-badge { font-family: 'Patrick Hand', cursive; font-size: 22px; background: #a7c84e; border: 3px solid #030e50; box-shadow: 3px 3px 0 #030e50; padding: 5px 16px; border-radius: 18px 22px 16px 20px; display: inline-block; }
.lkk-eyebrow       { font-family: 'Patrick Hand', cursive; font-size: 22px; color: #6f9a2c; }
.lkk-eyebrow-green { font-family: 'Patrick Hand', cursive; font-size: 18px; color: #6f9a2c; }
.lkk-eyebrow-dark  { font-family: 'Patrick Hand', cursive; font-size: 22px; color: #2f3d72; }
.lkk-eyebrow-light { font-family: 'Patrick Hand', cursive; font-size: 22px; color: #2f3d72; }
.lkk-accent { color: #6f9a2c; }

/* ----- CARDS ----- */
.lkk-card {
  background: #fff; border: 3px solid #030e50; box-shadow: 5px 5px 0 #030e50;
  border-radius: 24px; padding: 22px 24px;
}
.lkk-card h3 { font-family: 'Baloo 2', cursive; font-size: 21px; margin: 0 0 6px; }
.lkk-card p  { margin: 0; font-weight: 600; color: #51607f; font-size: 15px; }
.lkk-card-icon { width: 44px; height: 44px; border: 3px solid #030e50; margin-bottom: 12px; }
.lkk-icon-circle { border-radius: 50%; }
.lkk-icon-blob   { border-radius: 255px 18px 225px 18px/18px 225px 18px 255px; }
.lkk-icon-leaf   { transform: rotate(12deg); border-radius: 50% 0 50% 0; }
.lkk-card-navy   { background: #030e50; color: #fff; }
.lkk-card-navy h3, .lkk-card-navy p { color: #cfe0a8; }

/* ----- BUTTONS ----- */
.lkk-btn-primary   { font-family: 'Baloo 2', cursive; font-weight: 700; font-size: 19px; background: #030e50; color: #fff; border: 3px solid #030e50; box-shadow: 5px 5px 0 #030e50; padding: 14px 28px; border-radius: 20px 26px 18px 24px; display: inline-block; }
.lkk-btn-secondary { font-family: 'Baloo 2', cursive; font-weight: 700; font-size: 19px; background: #fff; color: #030e50; border: 3px solid #030e50; box-shadow: 5px 5px 0 #030e50; padding: 14px 28px; border-radius: 24px 18px 26px 20px; display: inline-block; }
.lkk-btn-green     { font-family: 'Baloo 2', cursive; font-weight: 700; font-size: 19px; background: #a7c84e; color: #030e50; border: 3px solid #030e50; box-shadow: 5px 5px 0 #030e50; padding: 14px 28px; border-radius: 20px 26px 18px 24px; display: inline-block; }
.lkk-btn-navy      { font-family: 'Baloo 2', cursive; font-weight: 700; background: #030e50; color: #fff; border: 3px solid #030e50; box-shadow: 4px 4px 0 #03135f; padding: 12px 24px; border-radius: 18px 24px 16px 22px; display: inline-block; }
.lkk-btn-navy-sm   { font-family: 'Baloo 2', cursive; font-weight: 700; background: #030e50; color: #fff; border: 3px solid #030e50; box-shadow: 4px 4px 0 #03135f; padding: 10px 20px; border-radius: 16px 22px 14px 20px; display: inline-block; transform: rotate(-1.5deg); }
.lkk-rotate-neg { transform: rotate(-2deg); }
.lkk-rotate-pos { transform: rotate(1.5deg); }

/* ----- SECTIONS ----- */
.lkk-section-header { display: flex; align-items: flex-end; justify-content: space-between; margin-bottom: 28px; flex-wrap: wrap; gap: 12px; }
.lkk-section-header h2 { font-family: 'Baloo 2', cursive; font-weight: 800; font-size: 46px; margin: 2px 0 0; }
.lkk-page-header { text-align: center; padding-top: 40px; }
.lkk-page-header h1 { font-family: 'Baloo 2', cursive; font-weight: 800; font-size: 62px; line-height: 1; margin: 22px 0 14px; }
.lkk-page-intro { font-size: 19px; font-weight: 600; color: #51607f; max-width: 620px; margin: 0 auto; }
.lkk-page-content { font-size: 16px; font-weight: 600; color: #51607f; line-height: 1.7; }
.lkk-page-content p { margin: 0 0 14px; }

/* ----- GRID HELPERS ----- */
.lkk-intro-cards { max-width: 1100px; margin: 0 auto; padding: 10px 48px 50px; display: grid; grid-template-columns: repeat(3,1fr); gap: 24px; }
.lkk-grid-3 { display: grid; grid-template-columns: repeat(3,1fr); gap: 26px; }
.lkk-grid-4 { display: grid; grid-template-columns: repeat(4,1fr); gap: 22px; }
.lkk-grid-2 { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.lkk-prog-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 26px; }

/* ----- PROGRAM CARDS ----- */
.lkk-prog-card { background: #fff; border: 3px solid #030e50; box-shadow: 6px 6px 0 #030e50; border-radius: 26px; overflow: hidden; }
.lkk-prog-card:nth-child(1) { transform: rotate(-1deg); }
.lkk-prog-card:nth-child(2) { transform: rotate(1deg); }
.lkk-prog-card:nth-child(3) { transform: rotate(-1deg); }
.lkk-prog-thumb { height: 150px; border-bottom: 3px solid #030e50; display: flex; align-items: center; justify-content: center; overflow: hidden; }
.lkk-prog-thumb img { width: 100%; height: 100%; object-fit: cover; }
.lkk-prog-placeholder { font-family: 'Patrick Hand', cursive; font-size: 17px; color: #030e50; }
.lkk-prog-body { padding: 20px 22px; }
.lkk-prog-body h3 { font-family: 'Baloo 2', cursive; font-size: 24px; margin: 2px 0 8px; }
.lkk-prog-body p  { margin: 0; font-weight: 600; color: #51607f; font-size: 15px; }

/* ----- PROGRAM ROWS (programs page) ----- */
.lkk-prog-rows { max-width: 1080px; margin: 0 auto; padding: 30px 48px; display: flex; flex-direction: column; gap: 30px; }
.lkk-prog-row { background: #fff; border: 3px solid #030e50; box-shadow: 7px 7px 0 #030e50; border-radius: 28px; overflow: hidden; display: grid; grid-template-columns: 300px 1fr; }
.lkk-prog-row-reverse { grid-template-columns: 1fr 300px; }
.lkk-prog-row-reverse .lkk-prog-row-img { order: 2; }
.lkk-prog-row-img { border-right: 3px solid #030e50; min-height: 220px; display: flex; align-items: center; justify-content: center; overflow: hidden; }
.lkk-prog-row-reverse .lkk-prog-row-img { border-right: none; border-left: 3px solid #030e50; }
.lkk-prog-row-img img { width: 100%; height: 100%; object-fit: cover; }
.lkk-prog-row-body { padding: 28px 32px; }
.lkk-prog-row-body h2 { font-family: 'Baloo 2', cursive; font-size: 34px; margin: 0; }
.lkk-age-badge { font-family: 'Patrick Hand', cursive; background: #f1e3c4; border: 2px solid #030e50; padding: 3px 12px; border-radius: 14px; font-size: 17px; }
.lkk-feature-tags { display: flex; gap: 10px; flex-wrap: wrap; margin-top: 14px; }
.lkk-tag { background: #a7c84e; color: #030e50; padding: 5px 14px; border-radius: 14px; border: 2px solid #030e50; font-weight: 700; font-size: 14px; }
.lkk-feature-list { margin: 14px 0 0; padding: 0 0 0 18px; display: flex; flex-direction: column; gap: 8px; font-weight: 700; font-size: 15px; }
.lkk-list-light { color: #cfe0a8; }
.lkk-boards { display: flex; gap: 14px; justify-content: center; margin-top: 14px; flex-wrap: wrap; }
.lkk-board-badge { background: #fff; border: 3px solid #030e50; box-shadow: 4px 4px 0 #030e50; border-radius: 14px; padding: 10px 24px; font-family: 'Baloo 2', cursive; font-weight: 800; font-size: 20px; }

/* ----- WHY BAND ----- */
.lkk-why-band { background: #a7c84e; border-top: 3px solid #030e50; border-bottom: 3px solid #030e50; padding: 54px 48px; }
.lkk-why-inner { max-width: 1100px; margin: 0 auto; display: grid; grid-template-columns: 1.1fr 1fr; gap: 46px; align-items: center; }
.lkk-why-inner h2 { font-family: 'Baloo 2', cursive; font-weight: 800; font-size: 44px; margin: 4px 0 16px; line-height: 1; }
.lkk-why-inner p  { font-weight: 600; font-size: 17px; margin: 0 0 22px; max-width: 440px; color: #2f3d72; }
.lkk-stat { background: #fff; border: 3px solid #030e50; box-shadow: 5px 5px 0 #030e50; border-radius: 20px; padding: 18px; display: flex; flex-direction: column; gap: 4px; }
.lkk-stat-num { font-family: 'Baloo 2', cursive; font-size: 34px; color: #6f9a2c; }
.lkk-stat span:last-child { font-weight: 700; font-size: 14px; }

/* ----- TESTIMONIALS ----- */
.lkk-testi-section { max-width: 1140px; margin: 0 auto; }
.lkk-testi-header { text-align: center; margin-bottom: 34px; }
.lkk-testi-header h2 { font-family: 'Baloo 2', cursive; font-weight: 800; font-size: 46px; margin: 2px 0 0; }
.lkk-testi-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 28px; align-items: start; }
.lkk-testi-card { border: 3px solid #030e50; box-shadow: 6px 6px 0 #030e50; border-radius: 22px; padding: 24px; }
.lkk-testi-card:nth-child(1) { transform: rotate(-1.5deg); }
.lkk-testi-card:nth-child(2) { transform: rotate(1deg); }
.lkk-testi-card:nth-child(3) { transform: rotate(-1deg); }
.lkk-testi-quote  { font-family: 'Baloo 2', cursive; font-weight: 600; font-size: 19px; line-height: 1.4; margin: 0 0 16px; }
.lkk-testi-author { display: flex; align-items: center; gap: 10px; }
.lkk-testi-avatar { width: 40px; height: 40px; border: 3px solid #030e50; border-radius: 50%; flex-shrink: 0; }

/* ----- CTA ----- */
.lkk-cta-section { max-width: 1100px; margin: 0 auto 70px; padding: 0 48px; }
.lkk-cta-blob { background: #030e50; border: 3px solid #030e50; box-shadow: 8px 8px 0 #030e50; border-radius: 255px 24px 225px 24px/24px 225px 24px 255px; padding: 50px 56px; text-align: center; color: #fff; }
.lkk-cta-blob h2 { font-family: 'Baloo 2', cursive; font-weight: 800; font-size: 46px; margin: 0 0 10px; }
.lkk-cta-blob p  { font-weight: 600; font-size: 18px; margin: 0 0 26px; color: #f7e9df; }

/* ----- TEAM ----- */
.lkk-team-band { background: #a7c84e; border-top: 3px solid #030e50; border-bottom: 3px solid #030e50; padding: 54px 48px; }
.lkk-team-card { background: #fff; border: 3px solid #030e50; box-shadow: 6px 6px 0 #030e50; border-radius: 24px; overflow: hidden; }
.lkk-team-card:nth-child(1) { transform: rotate(-1deg); }
.lkk-team-card:nth-child(2) { transform: rotate(1deg); }
.lkk-team-card:nth-child(3) { transform: rotate(-1deg); }
.lkk-team-thumb { height: 170px; border-bottom: 3px solid #030e50; display: flex; align-items: center; justify-content: center; font-family: 'Patrick Hand', cursive; font-size: 16px; }
.lkk-team-body { padding: 18px 22px; }
.lkk-team-body h3 { font-family: 'Baloo 2', cursive; font-size: 22px; margin: 0; }
.lkk-team-body p  { margin: 8px 0 0; font-weight: 600; font-size: 14px; color: #51607f; }
.lkk-team-contact { font-weight: 700 !important; color: #030e50 !important; }

/* ----- ABOUT ----- */
.lkk-about-split { display: grid; grid-template-columns: 1fr 1fr; gap: 46px; align-items: center; }
.lkk-about-text h2 { font-family: 'Baloo 2', cursive; font-weight: 800; font-size: 38px; margin: 4px 0 14px; }
.lkk-about-photo { position: relative; height: 380px; }
.lkk-about-photo .lkk-polaroid { position: absolute; }
.lkk-rotate-neg4 { transform: rotate(-4deg); width: 300px; height: 250px; top: 0; left: 10px; }
.lkk-polaroid-sm { width: 240px; height: 200px; bottom: 0; right: 0; }
.lkk-rotate-pos5 { transform: rotate(5deg); background: #030e50 !important; color: #cfe0a8 !important; }
.lkk-values { max-width: 1140px; }

/* ----- GALLERY ----- */
.lkk-gallery-section { max-width: 1140px; margin: 0 auto; }
.lkk-gallery-grid { column-count: 3; column-gap: 28px; }
.lkk-polaroid-wrap { break-inside: avoid; margin-bottom: 28px; }
.lkk-polaroid-inner { position: relative; background: #fff; border: 3px solid #030e50; box-shadow: 6px 6px 0 #030e50; padding: 12px 12px 40px; display: flex; flex-direction: column; }
.lkk-polaroid-img { height: 200px; background: repeating-linear-gradient(45deg,#e6efcf,#e6efcf 11px,#d2e2ac 11px,#d2e2ac 22px); border: 2px solid #030e50; overflow: hidden; }
.lkk-polaroid-img img { width: 100%; height: 100%; object-fit: cover; }
.lkk-gallery-placeholder { display: flex; align-items: center; justify-content: center; height: 100%; font-family: 'Patrick Hand', cursive; font-size: 17px; color: #51607f; }
.lkk-polaroid-label { text-align: center; font-family: 'Patrick Hand', cursive; font-size: 17px; color: #51607f; margin-top: 8px; }

/* ----- CONTACT ----- */
.lkk-contact-section { display: grid; grid-template-columns: 1.3fr 1fr; gap: 40px; align-items: start; }
.lkk-form-card { background: #fff; border: 3px solid #030e50; box-shadow: 8px 8px 0 #030e50; border-radius: 28px; padding: 34px 36px; }
.lkk-form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.lkk-native-form { display: flex; flex-direction: column; gap: 18px; }
input, select, textarea { font-family: 'Nunito', sans-serif; font-weight: 600; font-size: 16px; width: 100%; padding: 13px 16px; border: 3px solid #030e50; border-radius: 14px; background: #fff; color: #030e50; outline: none; }
input:focus, select:focus, textarea:focus { box-shadow: 4px 4px 0 #a7c84e; }
label { font-family: 'Baloo 2', cursive; font-weight: 600; font-size: 15px; display: block; margin: 0 0 6px; }
.lkk-contact-info { display: flex; flex-direction: column; gap: 22px; }
.lkk-info-card { border: 3px solid #030e50; box-shadow: 6px 6px 0 #030e50; border-radius: 24px; padding: 24px; }
.lkk-info-card h3 { font-family: 'Baloo 2', cursive; font-size: 22px; margin: 0 0 10px; }
.lkk-info-card p, .lkk-info-card address { font-weight: 700; font-size: 16px; line-height: 1.7; margin: 0; }
.lkk-info-card a { color: inherit; }
.lkk-info-green { background: #a7c84e; }
.lkk-info-white { background: #fff; }

/* ----- FOOTER ----- */
.lkk-footer { background: #030e50; color: #cfe0a8; padding: 46px 48px 30px; }
.lkk-footer-grid { max-width: 1100px; margin: 0 auto; display: grid; grid-template-columns: 1.4fr 1fr 1fr; gap: 36px; }
.lkk-footer-brand { display: flex; align-items: center; gap: 12px; margin-bottom: 14px; font-family: 'Baloo 2', cursive; font-weight: 700; font-size: 20px; color: #fff; }
.lkk-footer h4 { font-family: 'Baloo 2', cursive; color: #fff; font-size: 18px; margin: 0 0 12px; }
.lkk-footer a, .lkk-footer p, .lkk-footer address { font-weight: 600; font-size: 15px; color: #cfe0a8; line-height: 1.7; }
.lkk-footer nav a { display: block; margin-bottom: 8px; }
.lkk-footer-bottom { max-width: 1100px; margin: 30px auto 0; padding-top: 18px; border-top: 2px dashed #51607f; display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 8px; font-weight: 600; font-size: 13px; color: #88a05c; }

/* ============================================================
   RESPONSIVE  (container + media query — belt-and-braces)
   ============================================================ */
.lkk-ham { display: none; }

@container (max-width: 820px) { .lkk-ham { display: flex !important; } .lkk-nav-links { display: none !important; } .lkk-nav-links.lkk-open { display: flex !important; flex-direction: column !important; position: absolute; top: 100%; left: 0; right: 0; background: rgba(238,243,223,.98); backdrop-filter: blur(8px); border-bottom: 3px solid #030e50; padding: 18px 22px !important; gap: 18px !important; z-index: 50; box-shadow: 0 8px 24px rgba(3,14,80,.12); } .lkk-nav-wrapper { position: relative; } .lkk-nav-inner { padding: 12px 18px !important; } section { padding-left: 18px !important; padding-right: 18px !important; } footer { padding-left: 18px !important; padding-right: 18px !important; } h1 { font-size: 34px !important; line-height: 1.05 !important; } h2 { font-size: 26px !important; } h3 { font-size: 19px !important; } .lkk-hero-section { grid-template-columns: 1fr !important; padding: 30px 18px 36px !important; min-height: calc(100svh - 70px) !important; } .lkk-hero-collage { display: none !important; } .lkk-hero-btns { flex-direction: column !important; align-items: flex-start !important; } .lkk-intro-cards, .lkk-prog-grid, .lkk-grid-3, .lkk-grid-4, .lkk-testi-grid { grid-template-columns: 1fr !important; } .lkk-footer-grid { grid-template-columns: 1fr !important; gap: 24px !important; } .lkk-why-inner { grid-template-columns: 1fr !important; } .lkk-contact-section { grid-template-columns: 1fr !important; } .lkk-about-split { grid-template-columns: 1fr !important; } .lkk-about-photo { display: none !important; } .lkk-prog-row { grid-template-columns: 1fr !important; } .lkk-prog-row-reverse { grid-template-columns: 1fr !important; } .lkk-prog-row-img { border-right: none !important; border-left: none !important; border-bottom: 3px solid #030e50; } .lkk-gallery-grid { column-count: 1 !important; } .lkk-form-grid { grid-template-columns: 1fr !important; } .lkk-cta-blob { padding: 32px 22px !important; border-radius: 24px !important; } }

@media (max-width: 820px) { .lkk-ham { display: flex !important; } .lkk-nav-links { display: none !important; } .lkk-nav-links.lkk-open { display: flex !important; flex-direction: column !important; position: absolute; top: 100%; left: 0; right: 0; background: rgba(238,243,223,.98); backdrop-filter: blur(8px); border-bottom: 3px solid #030e50; padding: 18px 22px !important; gap: 18px !important; z-index: 50; } .lkk-nav-wrapper { position: relative; } .lkk-nav-inner { padding: 12px 18px !important; } section, footer { padding-left: 18px !important; padding-right: 18px !important; } h1 { font-size: 34px !important; line-height: 1.05 !important; } h2 { font-size: 26px !important; } .lkk-hero-section { grid-template-columns: 1fr !important; padding: 30px 18px 36px !important; min-height: calc(100svh - 70px) !important; } .lkk-hero-collage, .lkk-about-photo { display: none !important; } .lkk-hero-btns { flex-direction: column !important; } .lkk-intro-cards, .lkk-prog-grid, .lkk-grid-3, .lkk-grid-4, .lkk-testi-grid, .lkk-footer-grid, .lkk-why-inner, .lkk-contact-section, .lkk-about-split, .lkk-prog-row, .lkk-prog-row-reverse { grid-template-columns: 1fr !important; } .lkk-gallery-grid { column-count: 1 !important; } .lkk-form-grid { grid-template-columns: 1fr !important; } .lkk-cta-blob { padding: 32px 22px !important; border-radius: 24px !important; } .lkk-prog-row-img { border-right: none !important; border-left: none !important; border-bottom: 3px solid #030e50; order: 0 !important; } }
