/* =========================================================
   BatangHanda — Landing Page Styles
   Fonts: Fredoka (display) + Nunito (body)
   ========================================================= */

:root{
  --sky-top:#56C6F5;
  --sky-bottom:#DFF6E3;
  --grass:#3FA34D;
  --grass-dark:#2C7D37;
  --navy:#123056;
  --ink:#4A5A6B;
  --red:#EF4136;
  --orange:#FF9635;
  --yellow:#FFC93C;
  --green:#4CAF50;
  --green-dark:#2E9E43;
  --green-tint:#E6F7EA;
  --blue:#2F9BEA;
  --blue-tint:#E1F1FF;
  --purple:#8B5CF6;
  --purple-tint:#F1EBFF;
  --cream:#FFFBF3;
  --white:#FFFFFF;

  --font-display:'Fredoka', sans-serif;
  --font-body:'Nunito', sans-serif;
}

*, *::before, *::after{ box-sizing:border-box; }

html{ scroll-behavior:smooth; }

#about, #topics, #features, #team, #download{ scroll-margin-top:82px; }

body{
  margin:0;
  font-family:var(--font-body);
  color:var(--ink);
  background:var(--white);
  overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
}

img{ max-width:100%; display:block; }

a{ color:inherit; }

.container{
  max-width:1180px;
  margin:0 auto;
  padding:0 24px;
}

a:focus-visible, button:focus-visible, .btn:focus-visible, .hamburger:focus-visible, summary:focus-visible{
  outline:3px solid var(--blue);
  outline-offset:3px;
}

/* =========================================================
   BUTTONS
   ========================================================= */
.btn{
  display:inline-flex;
  align-items:center;
  gap:10px;
  text-decoration:none;
  font-family:var(--font-display);
  font-weight:600;
  border:none;
  cursor:pointer;
  white-space:nowrap;
}

.btn-primary{
  background:linear-gradient(160deg, var(--green), var(--green-dark));
  color:var(--white);
  border-radius:50px;
  padding:14px 26px;
  box-shadow:0 6px 0 var(--grass-dark), 0 14px 24px rgba(46,157,67,.28);
  transition:transform .15s ease, box-shadow .15s ease;
}
.btn-primary:hover{
  transform:translateY(-3px);
  box-shadow:0 9px 0 var(--grass-dark), 0 20px 30px rgba(46,157,67,.32);
}
.btn-primary:active{
  transform:translateY(0);
  box-shadow:0 3px 0 var(--grass-dark);
}

.btn-lg{ padding:18px 32px; font-size:1.05rem; }

.btn-copy{ display:flex; flex-direction:column; align-items:flex-start; line-height:1.15; }
.btn-copy small{
  font-family:var(--font-body);
  font-weight:600;
  font-size:.68rem;
  opacity:.85;
  letter-spacing:.3px;
}

.icon-download, .icon-android{ width:20px; height:20px; flex:none; }

.asset-button{
  display:inline-block;
  line-height:0;
  text-decoration:none;
  transition:transform .15s ease, filter .15s ease;
}
.asset-button:hover{
  transform:translateY(-3px);
  filter:brightness(1.04);
}
.asset-button:active{ transform:translateY(0); }
.asset-button img{ width:100%; height:auto; }

.header-download.header-cta{
  width:180px;
  flex:none;
  padding:0;
}

.hero-download{ width:min(70%, 230px); }

.hero-download-details{
  margin:10px 0 0;
  color:rgba(255,255,255,.85);
  text-shadow:0 1px 4px rgba(18,48,86,.35);
  font-size:.8rem;
  font-weight:800;
  line-height:1.6;
}
.hero-download-details a{ text-underline-offset:3px; }

.skip-link{
  position:fixed;
  z-index:200;
  top:8px;
  left:8px;
  padding:12px 18px;
  border-radius:10px;
  background:var(--white);
  color:var(--navy);
  font-weight:800;
  transform:translateY(-150%);
}
.skip-link:focus{ transform:translateY(0); }

/* =========================================================
   HEADER
   ========================================================= */
.site-header{
  position:fixed;
  top:0;
  left:0;
  right:0;
  z-index:100;
  background:transparent;
  box-shadow:none;
  transition:background-color .2s ease, box-shadow .2s ease, backdrop-filter .2s ease;
}
.site-header.is-scrolled{
  background:rgba(255,255,255,.94);
  -webkit-backdrop-filter:blur(12px);
  backdrop-filter:blur(12px);
  box-shadow:0 4px 18px rgba(18,48,86,.12);
}
.site-header.is-scrolled .main-nav a{
  color:var(--navy);
  text-shadow:none;
}

.header-inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  height:72px;
  gap:20px;
  position:relative;
}

.logo img{ height:38px; width:auto; }

.main-nav{
  display:flex;
  align-items:center;
  gap:20px;
  margin-left:auto;
  margin-right:10px;
}
.main-nav a{
  text-decoration:none;
  font-weight:700;
  font-size:.95rem;
  color:var(--white);
  text-shadow:
    0 2px 5px rgba(8,36,72,.9),
    1px 0 1px rgba(8,36,72,.8),
    -1px 0 1px rgba(8,36,72,.8);
  position:relative;
  padding:4px 2px;
}
.main-nav a::after{
  content:"";
  position:absolute;
  left:0; right:0; bottom:-4px;
  height:3px;
  border-radius:3px;
  background:var(--green);
  transform:scaleX(0);
  transition:transform .2s ease;
}
.main-nav a:hover::after{ transform:scaleX(1); }

.mobile-only-link{ display:none; }

.header-cta{ padding:10px 20px; font-size:.88rem; }
.header-cta .icon-download{ width:16px; height:16px; }

.nav-toggle{ display:none; }
.hamburger{
  display:none;
  flex-direction:column;
  justify-content:center;
  gap:5px;
  width:34px;
  height:34px;
  cursor:pointer;
}
.hamburger span{
  display:block;
  height:3px;
  border-radius:3px;
  background:var(--navy);
}

/* =========================================================
   HERO
   ========================================================= */
.hero{
  position:relative;
  overflow:hidden;
  min-height:100svh;
  padding:88px 0 32px;
  background:linear-gradient(180deg, var(--sky-top) 0%, var(--sky-bottom) 100%);
}

.hero-bg{
  position:absolute;
  inset:0;
  background-size:cover;
  background-position:center bottom;
  background-repeat:no-repeat;
  opacity:.9;
}

.hero-scrim{
  position:absolute;
  inset:0;
  background:linear-gradient(100deg, rgba(255,255,255,.55) 0%, rgba(255,255,255,.15) 45%, rgba(255,255,255,0) 70%);
}

.hero-inner{
  position:relative;
  z-index:2;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:40px;
}

.hero-content{
  position:relative;
  max-width:560px;
  width:100%;
  text-align:center;
}

.hero-emblem{
  position:relative;
  width:min(100%, 540px);
  height:320px;
  margin:0 auto 12px;
}

.hero-badges{
  position:absolute;
  inset:0;
  z-index:2;
  pointer-events:none;
}

.floaty{
  position:absolute;
  width:76px;
  height:auto;
  filter:drop-shadow(0 8px 10px rgba(18,48,86,.25));
  animation:bob 3.6s ease-in-out infinite;
}
.floaty-speaker{ top:58px; left:20px; --r:-10deg; animation-delay:0s; }
.floaty-shield{ top:0; left:calc(50% - 52px); width:104px; --r:0deg; animation-delay:.4s; }
.floaty-medkit{ top:58px; right:20px; --r:8deg; animation-delay:0s; }
.floaty-radio{ top:198px; left:0; width:68px; --r:-6deg; animation-delay:.8s; }
.floaty-flashlight{ top:198px; right:0; width:68px; --r:12deg; animation-delay:.8s; }

@keyframes bob{
  0%,100%{ transform:translateY(0) rotate(var(--r,0deg)); }
  50%{ transform:translateY(-10px) rotate(var(--r,0deg)); }
}

.hero-title{
  position:absolute;
  inset:0;
  z-index:1;
  display:flex;
  align-items:flex-start;
  justify-content:center;
  margin:0;
}
.hero-logo{
  width:clamp(290px, 32vw, 380px);
  height:auto;
  filter:drop-shadow(0 10px 18px rgba(18,48,86,.25));
}

.hero-copy{
  position:relative;
  z-index:1;
  max-width:500px;
  margin:0 auto;
  isolation:isolate;
}
.hero-copy::before{
  content:"";
  position:absolute;
  z-index:-1;
  inset:-50px -72px -46px;
  border-radius:50%;
  background:radial-gradient(
    ellipse at center,
    rgba(255,255,255,.96) 0%,
    rgba(255,255,255,.86) 34%,
    rgba(255,255,255,.52) 52%,
    rgba(255,255,255,.16) 68%,
    rgba(255,255,255,0) 82%
  );
  filter:blur(14px);
  pointer-events:none;
}

.hero-tagline{
  font-family:var(--font-display);
  font-weight:700;
  font-size:clamp(1.3rem, 2.6vw, 1.85rem);
  margin:0 0 12px;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:0;
  line-height:1.12;
}
.tagline-dark{ color:var(--navy); }
.tagline-red{ color:var(--red); }

.hero-desc{
  font-size:1.05rem;
  line-height:1.55;
  color:var(--navy);
  opacity:.85;
  max-width:460px;
  margin:0 auto 18px;
}

.trust-row{
  position:relative;
  list-style:none;
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:12px;
  width:min(100%, 500px);
  margin:14px auto 0;
  padding:12px 16px;
  border:1px solid rgba(255,255,255,.95);
  border-radius:18px;
  background:rgba(255,255,255,.94);
  box-shadow:0 6px 18px rgba(18,48,86,.16);
}
.trust-row li{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  min-width:0;
  font-weight:800;
  font-size:.84rem;
  line-height:1.3;
  color:var(--navy);
}
.trust-row img{ width:32px; height:32px; object-fit:contain; flex:none; }

.hero-visual{
  position:relative;
  flex:none;
  width:min(420px, 40vw);
  display:flex;
  align-items:center;
  justify-content:center;
}
.phone-mockup{
  width:100%;
  transform:rotate(3deg);
  filter:drop-shadow(0 26px 34px rgba(18,48,86,.3));
  animation:floatPhone 5s ease-in-out infinite;
}
.hero-children{
  position:absolute;
  left:-30px;
  bottom:18px;
  width:clamp(400px, 37vw, 560px);
  z-index:1;
  pointer-events:none;
  filter:drop-shadow(0 18px 22px rgba(18,48,86,.2));
}

@keyframes floatPhone{
  0%,100%{ transform:rotate(3deg) translateY(0); }
  50%{ transform:rotate(1deg) translateY(-14px); }
}

.hero-wave{
  position:absolute;
  left:0; right:0; bottom:-2px;
  width:100%;
  height:70px;
  z-index:1;
}
.hero-wave path{ fill:var(--cream); }

/* =========================================================
   SECTION HEADINGS (shared)
   ========================================================= */
.eyebrow{
  font-family:var(--font-body);
  font-weight:800;
  letter-spacing:2px;
  text-transform:uppercase;
  font-size:.78rem;
  color:var(--green-dark);
  margin:0 0 10px;
}
.section-title{
  font-family:var(--font-display);
  font-size:clamp(1.7rem, 3.2vw, 2.5rem);
  color:var(--navy);
  margin:0 0 12px;
}
.accent-green{ color:var(--green); }
.section-sub{
  font-size:1.02rem;
  color:var(--ink);
  opacity:.8;
  max-width:560px;
  margin:0 0 10px;
}

/* =========================================================
   TOPICS
   ========================================================= */
.topics{
  background:var(--cream);
  padding:50px 0 40px;
  text-align:center;
}
.topics .section-sub{ margin-left:auto; margin-right:auto; }

.topic-grid{
  display:grid;
  grid-template-columns:repeat(6, minmax(0, 1fr));
  gap:20px;
  margin-top:30px;
  text-align:left;
  max-width:1100px;
  margin-left:auto;
  margin-right:auto;
}
.topic-card{
  grid-column:span 2;
  background:var(--white);
  border-radius:22px;
  padding:32px 28px;
  border-bottom:6px solid transparent;
  box-shadow:0 10px 26px rgba(18,48,86,.08);
  transition:transform .2s ease, box-shadow .2s ease;
}
.topic-card:nth-last-child(-n+2){ grid-column:span 3; }
.topic-card:hover{
  transform:translateY(-6px);
  box-shadow:0 18px 34px rgba(18,48,86,.14);
}
.topic-green{ border-bottom-color:var(--green); }
.topic-orange{ border-bottom-color:var(--orange); }
.topic-purple{ border-bottom-color:var(--purple); }
.topic-blue{ border-bottom-color:var(--blue); }
.topic-teal{ border-bottom-color:#00A89D; }

.topic-icon{
  width:62px;
  height:62px;
  border-radius:16px;
  display:flex;
  align-items:center;
  justify-content:center;
  margin-bottom:18px;
}
.topic-icon img{ width:38px; height:38px; object-fit:contain; }
.topic-green .topic-icon{ background:var(--green-tint); }
.topic-orange .topic-icon{ background:#FFEEDB; }
.topic-purple .topic-icon{ background:var(--purple-tint); }
.topic-blue .topic-icon{ background:var(--blue-tint); }
.topic-teal .topic-icon{ background:#E2F8F3; }

.topic-card h3{
  font-family:var(--font-display);
  font-size:1.12rem;
  color:var(--navy);
  margin:0 0 8px;
}
.topic-card p{
  font-size:.95rem;
  line-height:1.6;
  opacity:.8;
  margin:0;
}

/* =========================================================
   FEATURES
   ========================================================= */
.features{
  position:relative;
  min-height:100svh;
  display:flex;
  align-items:center;
  padding:30px 0;
  text-align:center;
  background:
    radial-gradient(rgba(112,151,55,.08) 1px, transparent 1px) 0 0 / 22px 22px,
    radial-gradient(circle at 8% 12%, rgba(255,255,255,.9), transparent 24%),
    linear-gradient(145deg, #FFFDF5 0%, #FFF7E1 100%);
}
.features > .container{ width:100%; }

.feature-board{
  position:relative;
  overflow:visible;
  padding:34px 28px 28px;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
}
.feature-board::before{
  content:none;
}

.feature-board-heading{
  position:relative;
  z-index:1;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:16px;
  margin:0 0 26px;
}
.feature-board-heading h2{
  margin:0;
  color:var(--navy);
  font-family:var(--font-display);
  font-size:clamp(1.7rem, 3.2vw, 2.45rem);
  line-height:1.1;
}
.leaf-decoration{
  position:relative;
  display:flex;
  align-items:center;
  gap:3px;
  width:66px;
  height:22px;
}
.leaf-decoration::before{
  content:"";
  width:6px;
  height:6px;
  margin-right:3px;
  border-radius:50%;
  background:#80C955;
  box-shadow:0 0 0 1px rgba(63,163,77,.12);
}
.leaf-decoration i{
  display:block;
  width:15px;
  height:9px;
  border-radius:100% 0 100% 0;
  background:linear-gradient(145deg, #8DD34C, #4EA83F);
  transform:rotate(18deg);
}
.leaf-decoration i:nth-child(2){ transform:translateY(-5px) rotate(42deg); }
.leaf-decoration i:nth-child(3){ width:12px; height:7px; transform:translateY(-7px) rotate(66deg); }
.leaf-decoration-right{ transform:scaleX(-1); }

.lesson-grid{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:repeat(5, minmax(0, 1fr));
  gap:12px;
}
.lesson-card{
  min-width:0;
  min-height:232px;
  padding:18px 12px 16px;
  border-radius:20px;
  border:1px solid rgba(216,199,157,.55);
  background:rgba(255,255,255,.78);
  box-shadow:0 8px 18px rgba(78,64,28,.1);
  transition:transform .2s ease, box-shadow .2s ease;
}
.lesson-card:hover{
  transform:translateY(-5px);
  box-shadow:0 14px 24px rgba(78,64,28,.16);
}
.lesson-icon{
  width:82px;
  height:82px;
  margin:0 auto 12px;
  object-fit:contain;
  filter:drop-shadow(0 6px 6px rgba(18,48,86,.12));
}
.lesson-card h3{
  min-height:2.35em;
  display:flex;
  align-items:center;
  justify-content:center;
  margin:0 0 8px;
  font-family:var(--font-display);
  font-size:1rem;
  line-height:1.16;
}
.lesson-card p{
  margin:0;
  color:var(--navy);
  font-size:.78rem;
  font-weight:600;
  line-height:1.42;
}
.lesson-blue h3{ color:#173D9B; }
.lesson-green h3{ color:#18873B; }
.lesson-orange h3{ color:#E8442E; }
.lesson-purple h3{ color:#5738B5; }
.lesson-teal h3{ color:#008D88; }

.benefit-strip{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:repeat(4, minmax(0, 1fr));
  margin-top:16px;
  border:1px solid rgba(216,199,157,.6);
  border-radius:20px;
  background:rgba(255,255,255,.74);
  box-shadow:0 7px 16px rgba(78,64,28,.09);
}
.benefit-item{
  position:relative;
  display:grid;
  grid-template-columns:58px minmax(0, 1fr);
  align-items:center;
  gap:12px;
  min-width:0;
  padding:16px 18px;
  text-align:left;
}
.benefit-item:not(:last-child)::after{
  content:"";
  position:absolute;
  top:18px;
  right:0;
  bottom:18px;
  border-right:1px dashed #DCCB9F;
}
.benefit-item > img{
  width:58px;
  height:58px;
  object-fit:contain;
  filter:drop-shadow(0 5px 5px rgba(18,48,86,.12));
}
.benefit-item h3{
  font-family:var(--font-display);
  font-size:.98rem;
  line-height:1.12;
  margin:0 0 4px;
}
.benefit-item p{
  margin:0;
  color:var(--navy);
  font-size:.72rem;
  font-weight:600;
  line-height:1.35;
}
.benefit-green h3{ color:#238C3B; }
.benefit-blue h3{ color:#173D9B; }
.benefit-red h3{ color:#D92828; }
.benefit-orange h3{ color:#D97900; }

/* =========================================================
   ABOUT THE APP & DEVELOPER TEAM
   ========================================================= */
.about-section{
  padding:64px 0;
  background:var(--white);
}
.about-overview{
  display:grid;
  grid-template-columns:minmax(0, 1.15fr) minmax(0, .85fr);
  align-items:center;
  gap:48px;
}
.about-copy p:not(.eyebrow){ margin:0 0 18px; font-size:1rem; line-height:1.75; }
.about-topics-link{ display:inline-block; color:var(--grass-dark); font-weight:800; line-height:1.5; text-underline-offset:4px; }
.about-topics-link span{ margin-left:6px; }
.about-highlight{
  padding:32px;
  border:1px solid #CDE9D5;
  border-radius:28px;
  background:linear-gradient(145deg, #EFFAF2, #E8F6FF);
}
.about-app-icon{ width:96px; height:96px; object-fit:contain; border-radius:22px; margin-bottom:18px; }
.about-highlight h3{ margin:0 0 12px; color:var(--navy); font-family:var(--font-display); font-size:1.55rem; line-height:1.25; }
.about-highlight p{ margin:0 0 18px; line-height:1.65; }
.about-highlight ul{ margin:0; padding-left:22px; }
.about-highlight li{ padding-left:4px; margin-top:10px; color:var(--navy); font-size:.92rem; line-height:1.55; }
.about-highlight li::marker{ color:var(--grass-dark); }
.audience-grid{ display:grid; grid-template-columns:repeat(3, minmax(0, 1fr)); gap:20px; margin-top:36px; }
.audience-card{ min-width:0; padding:26px; border:1px solid #E0EBF2; border-radius:22px; background:#FBFDFF; }
.audience-card img{ width:48px; height:48px; object-fit:contain; margin-bottom:14px; }
.audience-card h3{ margin:0 0 10px; color:var(--navy); font-family:var(--font-display); font-size:1.2rem; }
.audience-card p{ margin:0; font-size:.92rem; line-height:1.65; }

.team-section{ padding:64px 0; text-align:center; background:var(--cream); }
.team-section .section-sub{ margin:0 auto; line-height:1.6; }
.developer-grid{ display:grid; grid-template-columns:repeat(3, minmax(0, 1fr)); gap:24px; margin:32px auto 0; max-width:1000px; }
.developer-card{
  min-width:0;
  padding:32px 20px 28px;
  border:1px solid #E0E8E4;
  border-top:5px solid var(--green);
  border-radius:24px;
  background:var(--white);
  box-shadow:0 10px 26px rgba(18,48,86,.06);
}
.developer-blue{ border-top-color:var(--blue); }
.developer-orange{ border-top-color:var(--orange); }
.developer-photo{
  width:164px;
  height:164px;
  max-width:100%;
  aspect-ratio:1 / 1;
  margin:0 auto 22px;
  border:5px solid #EDF5F1;
  border-radius:50%;
  object-fit:cover;
  object-position:50% 35%;
}
.developer-blue .developer-photo{ border-color:var(--blue-tint); }
.developer-orange .developer-photo{ border-color:#FFF0E1; }
.developer-role{ margin:0 0 8px; color:var(--grass-dark); font-size:.72rem; font-weight:800; letter-spacing:1.8px; text-transform:uppercase; }
.developer-blue .developer-role{ color:#206CB0; }
.developer-orange .developer-role{ color:#A45200; }
.developer-card h3{ margin:0 0 8px; color:var(--navy); font-family:var(--font-display); font-size:1.35rem; line-height:1.25; }
.developer-team-name{ margin:0; font-size:.86rem; }
.footer-team-credit{ margin:0 0 20px; color:rgba(255,255,255,.8); text-align:center; font-size:.82rem; line-height:1.6; }
.footer-team-credit a{ text-underline-offset:3px; }

@media (max-width:960px){
  .about-overview{ gap:28px; }
  .about-highlight{ padding:26px; }
  .audience-card{ padding:22px; }
}
@media (max-width:767px){
  .about-section, .team-section{ padding:46px 0; }
  .about-overview{ grid-template-columns:1fr; gap:24px; }
  .about-copy p:not(.eyebrow){ font-size:.94rem; line-height:1.7; }
  .about-highlight{ padding:24px; border-radius:22px; }
  .about-highlight h3{ font-size:1.35rem; }
  .audience-grid{ grid-template-columns:1fr; gap:14px; margin-top:24px; }
  .audience-card{ padding:22px; }
  .developer-grid{ grid-template-columns:1fr; gap:18px; max-width:380px; margin-top:24px; }
  .developer-card{ padding:28px 20px; }
  .footer-team-credit{ font-size:.78rem; }
}

/* =========================================================
   APP DETAILS & INSTALLATION
   ========================================================= */
.download-section{
  padding:64px 0;
  background:linear-gradient(180deg, #F0F9FF, var(--white));
  text-align:center;
}
.download-section .section-sub{ margin:0 auto; line-height:1.6; }
.download-grid{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:24px;
  margin-top:32px;
  text-align:left;
}
.app-details-card, .install-card{
  min-width:0;
  padding:30px;
  border:1px solid #D8E8F0;
  border-radius:24px;
  background:var(--white);
  box-shadow:0 10px 26px rgba(18,48,86,.06);
}
.app-details-heading{ display:flex; align-items:center; gap:16px; }
.app-details-heading img{ width:74px; height:74px; object-fit:contain; flex:none; }
.app-details-heading h3, .install-card > h3, .download-faq > h3{
  margin:0 0 6px;
  font-family:var(--font-display);
  font-size:1.45rem;
  color:var(--navy);
}
.app-details-heading p{ margin:0; font-size:.9rem; }
.app-details{ margin:22px 0 26px; }
.app-details > div{
  display:flex;
  justify-content:space-between;
  gap:16px;
  padding:10px 0;
  border-bottom:1px solid #E8F0F5;
}
.app-details dt{ font-size:.9rem; }
.app-details dd{ margin:0; color:var(--navy); font-weight:800; text-align:right; }
.app-download-btn{ white-space:normal; text-align:center; justify-content:center; }
.download-note, .install-note{ font-size:.85rem; line-height:1.6; margin:20px 0 0; }
.install-steps{ list-style:none; counter-reset:install; padding:0; margin:24px 0 0; }
.install-steps li{ display:flex; gap:14px; margin-bottom:22px; counter-increment:install; }
.install-steps li:last-child{ margin-bottom:0; }
.install-steps li::before{
  content:counter(install);
  display:flex;
  align-items:center;
  justify-content:center;
  flex:none;
  width:36px;
  height:36px;
  border-radius:50%;
  background:var(--blue-tint);
  color:var(--navy);
  font-family:var(--font-display);
  font-weight:600;
}
.install-steps h4{ margin:0 0 5px; color:var(--navy); font-size:1rem; }
.install-steps p{ margin:0; font-size:.92rem; line-height:1.6; }
.download-faq{ max-width:850px; margin:38px auto 0; text-align:left; }
.download-faq > h3{ text-align:center; margin-bottom:18px; }
.download-faq details{ padding:18px 20px; margin-top:10px; border:1px solid #D8E8F0; border-radius:16px; background:var(--white); }
.download-faq summary{ cursor:pointer; color:var(--navy); font-weight:800; line-height:1.5; }
.download-faq details p{ margin:12px 0 0; font-size:.94rem; line-height:1.65; }
.download-faq a{ color:var(--navy); text-underline-offset:3px; }

/* =========================================================
   CTA
   ========================================================= */
.cta{
  position:relative;
  min-height:370px;
  display:flex;
  align-items:center;
  background:
    radial-gradient(circle at 18% 22%, rgba(255,255,255,.14) 0 3px, transparent 4px),
    radial-gradient(circle at 82% 18%, rgba(255,211,56,.95) 0 5px, transparent 6px),
    linear-gradient(145deg, #31C94F 0%, #20A93F 100%);
  background-size:44px 44px, 190px 190px, auto;
  padding:34px 0 38px;
  text-align:center;
  color:var(--white);
  overflow:hidden;
}
.cta::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(135deg, transparent 48%, rgba(0,111,48,.1) 49% 51%, transparent 52%) 0 0 / 210px 210px,
    radial-gradient(ellipse at bottom, rgba(0,112,48,.34), transparent 58%);
  pointer-events:none;
}
.cta-inner{
  position:relative;
  z-index:2;
  width:100%;
  max-width:760px;
}

.cta-kid{
  position:absolute;
  bottom:-62px;
  z-index:1;
  width:clamp(220px, 22vw, 330px);
  pointer-events:none;
  filter:drop-shadow(0 14px 18px rgba(0,70,40,.2));
}
.cta-kid-left{ left:clamp(10px, 7vw, 130px); }
.cta-kid-right{ right:clamp(10px, 7vw, 130px); }

.cta-stamp{
  width:210px;
  margin:0 auto 14px;
  filter:drop-shadow(0 10px 16px rgba(0,0,0,.2));
}

.cta h2{
  font-family:var(--font-display);
  font-size:clamp(2rem, 4vw, 3rem);
  line-height:1.08;
  text-shadow:0 4px 0 rgba(0,106,44,.24);
  margin:0 0 12px;
}
.cta p{
  font-size:clamp(1rem, 1.8vw, 1.2rem);
  font-weight:700;
  opacity:.92;
  margin:0 0 24px;
}

.cta-download-btn{
  display:inline-flex;
  align-items:center;
  gap:18px;
  min-width:330px;
  background:var(--white);
  color:#1CB342;
  border-radius:50px;
  padding:12px 30px 12px 16px;
  text-align:left;
  text-decoration:none;
  box-shadow:0 8px 0 rgba(0,102,42,.18), 0 18px 28px rgba(0,83,39,.18);
  transition:transform .16s ease, box-shadow .16s ease;
}
.cta-download-btn:hover{
  transform:translateY(-3px);
  box-shadow:0 11px 0 rgba(0,102,42,.18), 0 22px 32px rgba(0,83,39,.22);
}
.cta-android{
  display:flex;
  align-items:center;
  justify-content:center;
  width:58px;
  height:58px;
  flex:none;
  border-radius:50%;
  background:#F1F5F2;
}
.cta-android img{
  width:48px;
  height:48px;
  object-fit:contain;
}
.cta-download-copy{
  display:flex;
  flex-direction:column;
  font-family:var(--font-display);
  font-size:1.55rem;
  font-weight:700;
  line-height:1.05;
}
.cta-download-copy small{
  margin-top:5px;
  color:#7B8580;
  font-family:var(--font-body);
  font-size:.88rem;
  font-weight:700;
}

/* =========================================================
   FOOTER
   ========================================================= */
.site-footer{
  background:linear-gradient(145deg, #0A376E 0%, #062A58 100%);
  color:var(--white);
  padding:28px 0 18px;
}
.footer-main{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:36px;
  padding-bottom:24px;
}
.footer-brand{
  display:flex;
  align-items:center;
  gap:16px;
  max-width:390px;
}
.footer-logo-card{
  display:flex;
  align-items:center;
  justify-content:center;
  width:70px;
  height:70px;
  flex:none;
  background:transparent;
  border-radius:14px;
  padding:0;
  overflow:hidden;
}
.footer-logo-card img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  border-radius:inherit;
}
.footer-brand h3{
  margin:0 0 6px;
  font-family:var(--font-display);
  font-size:1.05rem;
}
.footer-brand p{
  font-size:.85rem;
  line-height:1.45;
  opacity:.78;
  margin:0;
}
.footer-nav{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:34px;
}
.footer-nav a{
  display:flex;
  align-items:center;
  gap:9px;
  text-decoration:none;
  font-family:var(--font-display);
  font-weight:600;
  font-size:.9rem;
  color:var(--white);
  opacity:.9;
  white-space:nowrap;
}
.footer-nav a:hover{ opacity:1; }
.footer-nav svg{ width:28px; height:28px; color:#28D59B; flex:none; }
.footer-nav a:nth-child(2) svg{ color:#72D84A; }
.footer-nav a:nth-child(3) svg{ color:#18AEEF; }

.footer-bottom{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:24px;
  padding-top:18px;
  border-top:1px solid rgba(255,255,255,.18);
}
.footer-copy{
  font-size:.78rem;
  opacity:.68;
  margin:0;
}
.facebook-link{
  display:inline-flex;
  align-items:center;
  gap:6px;
  color:var(--white);
  font-size:.78rem;
  font-weight:800;
  text-decoration:none;
  opacity:.84;
}
.facebook-link:hover{ opacity:1; text-decoration:underline; }
.facebook-link svg{
  width:25px;
  height:25px;
  padding:2px;
  color:#FFFFFF;
  background:#1877F2;
  border-radius:50%;
}

/* =========================================================
   RESPONSIVE
   ========================================================= */
@media (max-width:1100px){
  .main-nav{
    position:absolute;
    top:100%; left:0; right:0;
    background:var(--white);
    flex-direction:column;
    align-items:flex-start;
    gap:4px;
    padding:14px 24px 18px;
    box-shadow:0 12px 20px rgba(18,48,86,.1);
    display:none;
  }
  .main-nav a{ width:100%; padding:10px 0; color:var(--navy); text-shadow:none; }
  .nav-toggle:checked ~ .main-nav{ display:flex; }
  .hamburger{ display:flex; }
  .mobile-only-link{ display:block; }
  .header-cta{ display:none; }
}

@media (max-width:960px){
  .hero-inner{ flex-direction:column; text-align:center; }
  .hero-content{ max-width:560px; }
  .hero-desc{ margin-left:auto; margin-right:auto; }
  .trust-row{ justify-content:center; }
  .hero-visual{ width:min(360px, 70vw); margin-top:50px; }

  .topic-grid{ grid-template-columns:1fr 1fr; }
  .topic-card,
  .topic-card:nth-last-child(-n+2){ grid-column:auto; }
  .topic-card:last-child{
    grid-column:1 / -1;
    width:calc(50% - 10px);
    justify-self:center;
  }

  .feature-board{ padding:30px 22px 24px; }
  .lesson-grid{ grid-template-columns:repeat(6, minmax(0, 1fr)); }
  .lesson-card{ grid-column:span 2; }
  .lesson-card:nth-last-child(-n+2){ grid-column:span 3; }
  .benefit-strip{ grid-template-columns:repeat(2, minmax(0, 1fr)); }
  .benefit-item:not(:last-child)::after{ display:none; }
  .benefit-item:nth-child(odd){ border-right:1px dashed #DCCB9F; }
  .benefit-item:nth-child(-n+2){ border-bottom:1px dashed #DCCB9F; }

  .cta-kid{ width:230px; bottom:-52px; }
  .cta-kid-left{ left:-20px; }
  .cta-kid-right{ right:-20px; }
  .footer-main{ flex-direction:column; text-align:center; }
  .footer-nav{ justify-content:center; flex-wrap:wrap; }
}

@media (max-width:767px){
  .container{ padding:0 16px; }

  #about, #topics, #features, #team, #download{ scroll-margin-top:72px; }

  .header-inner{ height:64px; gap:12px; }
  .logo img{ height:31px; }
  .hamburger{
    width:42px;
    height:42px;
    padding:9px;
    border-radius:12px;
    background:rgba(255,255,255,.9);
    box-shadow:0 4px 12px rgba(18,48,86,.14);
  }
  .main-nav{
    left:-16px;
    right:-16px;
    padding:10px 20px 16px;
    border-radius:0 0 18px 18px;
  }
  .main-nav a{ min-height:44px; display:flex; align-items:center; }

  .hero{ min-height:100svh; padding:72px 0 clamp(170px, 48vw, 310px); }
  .hero-bg{ background-position:56% bottom; }
  .hero-inner{ gap:0; }
  .hero-emblem{ width:min(100%, 410px); height:225px; margin-bottom:2px; }
  .hero-logo{ width:min(74vw, 275px); }
  .floaty{ width:42px; }
  .floaty-speaker{ top:36px; left:10px; }
  .floaty-shield{ top:0; left:calc(50% - 33px); width:66px; }
  .floaty-medkit{ top:36px; right:10px; }
  .floaty-radio{ top:132px; left:3px; width:36px; }
  .floaty-flashlight{ top:132px; right:3px; width:36px; }
  .hero-copy{ max-width:350px; }
  .hero-copy::before{ inset:-28px -34px -28px; filter:blur(12px); }
  .hero-tagline{ font-size:1.28rem; margin-bottom:8px; }
  .hero-desc{ max-width:340px; font-size:.84rem; line-height:1.45; margin-bottom:13px; }
  .hero-download{ width:min(64%, 210px); }
  .trust-row{
    display:grid;
    grid-template-columns:repeat(3, minmax(0, 1fr));
    gap:0;
    width:min(100%, 390px);
    margin:14px auto 0;
    padding:10px 8px;
  }
  .trust-row li{
    position:relative;
    flex-direction:column;
    justify-content:flex-start;
    gap:4px;
    color:var(--navy);
    font-size:.72rem;
    line-height:1.35;
    text-align:center;
    white-space:normal;
    padding:5px 6px;
    text-transform:uppercase;
  }
  .trust-row li:not(:last-child)::after{
    content:"";
    position:absolute;
    top:7px;
    right:0;
    bottom:7px;
    width:1px;
    background:rgba(18,48,86,.15);
  }
  .trust-row img{ width:28px; height:28px; }
  .hero-visual{ display:none; }
  .hero-children{
    width:min(94vw, 680px);
    left:50%;
    bottom:-34px;
    transform:translateX(-50%);
  }
  .hero-wave{ height:48px; bottom:-16px; }

  .topics{ padding:46px 0 42px; }
  .section-sub{ font-size:.94rem; line-height:1.5; }
  .topic-grid{
    grid-template-columns:repeat(2, minmax(0, 1fr));
    max-width:560px;
  }
  .topic-card,
  .topic-card:nth-last-child(-n+2),
  .topic-card:last-child{ grid-column:auto; width:auto; }
  .topic-grid{ gap:14px; margin-top:24px; }
  .topic-card{
    aspect-ratio:1 / 1;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    padding:8px;
    border-radius:22px;
    text-align:center;
  }
  .topic-card:last-child{
    grid-column:1 / -1;
    width:calc(50% - 7px);
    justify-self:center;
  }
  .topic-icon{
    width:clamp(52px, 9vw, 64px);
    height:clamp(52px, 9vw, 64px);
    margin:0 0 clamp(10px, 2vw, 14px);
  }
  .topic-icon img{ width:66%; height:66%; }
  .topic-card h3{
    margin:0 0 6px;
    font-size:clamp(.86rem, 2.4vw, 1rem);
    line-height:1.18;
  }
  .topic-card p{ font-size:clamp(.7rem, 1.8vw, .8rem); line-height:1.36; }

  .features{ min-height:auto; padding:46px 0; }
  .feature-board{ padding:0; border-radius:0; }
  .feature-board-heading{ gap:8px; margin-bottom:20px; }
  .leaf-decoration{ width:36px; gap:1px; }
  .leaf-decoration::before{ display:none; }
  .leaf-decoration i{ width:10px; height:6px; }
  .lesson-grid{
    grid-template-columns:repeat(2, minmax(0, 1fr));
    gap:14px;
    max-width:560px;
    margin:0 auto;
  }
  .lesson-card,
  .lesson-card:nth-last-child(-n+2){
    aspect-ratio:1 / 1;
    display:flex;
    flex-direction:column;
    grid-column:auto;
    align-items:center;
    justify-content:center;
    min-height:0;
    padding:clamp(10px, 2vw, 16px);
    text-align:center;
  }
  .lesson-card:last-child{
    grid-column:1 / -1;
    width:calc(50% - 7px);
    justify-self:center;
  }
  .lesson-icon{
    width:clamp(58px, 10vw, 74px);
    height:clamp(58px, 10vw, 74px);
    margin:0 0 clamp(10px, 2vw, 14px);
  }
  .lesson-card h3{
    min-height:0;
    justify-content:center;
    margin:0 0 7px;
    font-size:clamp(.86rem, 2.4vw, 1rem);
  }
  .lesson-card p{ font-size:clamp(.7rem, 1.8vw, .78rem); line-height:1.36; }
  .benefit-strip{
    grid-template-columns:repeat(4, minmax(0, 1fr));
    gap:10px;
    max-width:680px;
    margin:14px auto 0;
    border:0;
    background:transparent;
    box-shadow:none;
  }
  .benefit-item{
    aspect-ratio:1 / 1;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:7px;
    padding:clamp(10px, 2vw, 16px);
    border:1px solid rgba(216,199,157,.55);
    border-radius:18px;
    background:rgba(255,255,255,.78);
    box-shadow:0 7px 14px rgba(78,64,28,.08);
    text-align:center;
  }
  .benefit-item > img{
    width:clamp(40px, 6.5vw, 52px);
    height:clamp(40px, 6.5vw, 52px);
  }
  .benefit-item h3{ font-size:clamp(.76rem, 1.8vw, .9rem); margin-bottom:4px; }
  .benefit-item p{ font-size:clamp(.62rem, 1.4vw, .7rem); }
  .benefit-item:nth-child(odd){ border-right:1px solid rgba(216,199,157,.55); }
  .benefit-item:nth-child(-n+2),
  .benefit-item:not(:last-child){ border-bottom:1px solid rgba(216,199,157,.55); }

  .cta{ min-height:0; padding:30px 0 152px; }
  .cta-inner{ padding-left:20px; padding-right:20px; }
  .cta-kid{ width:166px; bottom:-30px; }
  .cta-kid-left{ left:-8px; }
  .cta-kid-right{ right:-8px; }
  .cta-stamp{ width:155px; margin-bottom:12px; }
  .cta h2{ font-size:1.85rem; }
  .cta p{ max-width:320px; margin:0 auto 20px; font-size:.94rem; line-height:1.45; }
  .cta-download-btn{ min-width:0; width:min(100%, 285px); gap:11px; padding:9px 18px 9px 10px; }
  .cta-android{ width:48px; height:48px; }
  .cta-android img{ width:40px; height:40px; }
  .cta-download-copy{ font-size:1.22rem; }
  .cta-download-copy small{ font-size:.76rem; }

  .site-footer{ padding:26px 0 18px; }
  .footer-main{ gap:24px; padding-bottom:20px; }
  .footer-inner{ justify-content:center; text-align:center; }
  .footer-brand{ flex-direction:column; gap:12px; }
  .footer-logo-card{ width:62px; height:62px; }
  .footer-brand p br{ display:none; }
  .footer-nav{
    display:grid;
    grid-template-columns:repeat(3, minmax(0, 1fr));
    width:100%;
    gap:8px;
  }
  .footer-nav a{
    flex-direction:column;
    justify-content:flex-start;
    gap:5px;
    min-height:70px;
    font-size:.72rem;
    line-height:1.2;
    white-space:normal;
    text-align:center;
  }
  .footer-bottom{ flex-direction:column; gap:10px; }
}

@media (max-width:599px){
  .lesson-grid{ grid-template-columns:repeat(2, minmax(0, 1fr)); }
  .lesson-card,
  .lesson-card:nth-last-child(-n+2){ grid-column:auto; width:auto; }
  .lesson-card:last-child{
    grid-column:1 / -1;
    width:calc(50% - 6px);
    justify-self:center;
  }
  .benefit-strip{ grid-template-columns:repeat(2, minmax(0, 1fr)); }
}

@media (max-width:430px){
  .topic-grid{
    grid-template-columns:repeat(2, minmax(0, 1fr));
    max-width:560px;
    gap:14px;
  }
  .benefit-strip{ grid-template-columns:repeat(2, minmax(0, 1fr)); max-width:none; gap:10px; }
  .topic-card,
  .topic-card:nth-last-child(-n+2){ grid-column:auto; width:auto; padding:8px; }
  .topic-card:last-child{
    grid-column:1 / -1;
    width:calc(50% - 6px);
    justify-self:center;
  }
  .topic-icon{ margin-bottom:6px; }
  .topic-card h3{ margin-bottom:4px; line-height:1.1; }
  .topic-card p{ line-height:1.25; }

  .lesson-card,
  .lesson-card:nth-last-child(-n+2){ padding:8px; }
  .lesson-icon{ margin-bottom:6px; }
  .lesson-card h3{ margin-bottom:4px; line-height:1.1; }
  .lesson-card p{ line-height:1.25; }
}

@media (max-width:380px){
  .container{ padding:0 14px; }
  .logo img{ height:28px; }
  .main-nav{ left:-14px; right:-14px; }
  .hero-emblem{ height:215px; }
  .hero-logo{ width:min(75vw, 260px); }
  .floaty{ width:40px; }
  .floaty-speaker{ top:34px; left:0; }
  .floaty-shield{ left:calc(50% - 31px); width:62px; }
  .floaty-medkit{ top:34px; right:0; }
  .floaty-radio,
  .floaty-flashlight{ top:126px; width:34px; }
  .hero-copy::before{ inset:-30px -18px -28px; }
  .hero-tagline{ font-size:1.18rem; }
  .hero-desc{ font-size:.79rem; }
  .trust-row li{ font-size:.68rem; }
  .trust-row img{ width:26px; height:26px; }
  .hero-children{ width:94vw; bottom:-30px; }
  .hero-wave{ bottom:-14px; }
  .feature-board-heading h2{ font-size:1.55rem; }
  .leaf-decoration{ display:none; }
  .benefit-item{ gap:10px; padding:12px; }
  .benefit-item > img{ width:50px; height:50px; }
  .cta-kid{ width:150px; }
  .cta-kid-left{ left:-10px; }
  .cta-kid-right{ right:-10px; }
  .cta h2{ font-size:1.65rem; }
  .cta-download-btn{ width:min(100%, 270px); }
}

@media (max-width:767px){
  .download-section{ padding:46px 0; }
  .download-grid{ grid-template-columns:1fr; gap:18px; margin-top:24px; }
  .app-details-card, .install-card{ padding:24px 20px; }
  .app-details-heading img{ width:60px; height:60px; }
  .app-details-heading h3, .install-card > h3, .download-faq > h3{ font-size:1.25rem; }
  .app-details dd{ font-size:.9rem; }
  .app-download-btn{ width:100%; padding:14px 18px; }
  .download-faq{ margin-top:28px; }
  .download-faq details{ padding:16px; }
  .hero-download-details{ font-size:.7rem; }
}

/* =========================================================
   MOTION PREFERENCES
   ========================================================= */
@media (prefers-reduced-motion: reduce){
  html{ scroll-behavior:auto; }
  .floaty, .phone-mockup{ animation:none; }
  .btn-primary, .topic-card, .feature-card, .lesson-card, .asset-button, .cta-download-btn{ transition:none; }
}
