:root{--red:#ef343f;--red2:#c91f2d;--ink:#20222c;--muted:#6b7280;--cream:#fff9f1;--cream2:#fff3e8;--green:#74a85f;--teal:#1da7a1;--gold:#f4b84a;--line:#f1ded7;--shadow:0 18px 60px rgba(28,35,46,.12);--radius:28px;--max:1180px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Nunito,Arial,sans-serif;color:var(--ink);background:linear-gradient(180deg,#fff,#fffdf9);overflow-x:hidden}img{max-width:100%;display:block}a{text-decoration:none;color:inherit}.site-header{position:sticky;top:0;z-index:100;display:flex;align-items:center;gap:24px;padding:14px 5vw;background:rgba(255,255,255,.9);backdrop-filter:blur(16px);box-shadow:0 8px 30px rgba(20,20,20,.06);border-bottom:1px solid rgba(240,220,220,.55)}.brand{display:flex;align-items:center;gap:10px;min-width:205px}.brand img{width:64px;height:64px;object-fit:contain;border-radius:16px}.brand strong{display:block;color:var(--red);font-size:21px;line-height:1;font-weight:900;text-shadow:0 1px #fff}.brand small{display:block;text-transform:uppercase;letter-spacing:5px;color:#0b918b;font-weight:900;font-size:11px;margin-top:5px}.main-nav{display:flex;gap:18px;align-items:center;justify-content:center;flex:1}.main-nav a{font-size:14px;font-weight:800;position:relative;padding:16px 0}.main-nav a:after{content:"";position:absolute;left:50%;bottom:7px;width:0;height:3px;border-radius:8px;background:var(--red);transition:.28s}.main-nav a.active,.main-nav a:hover{color:var(--red)}.main-nav a.active:after,.main-nav a:hover:after{left:0;width:100%}.header-actions{display:flex;gap:10px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;border-radius:999px;padding:13px 24px;font-weight:900;border:1.5px solid transparent;transition:.28s;cursor:pointer}.btn-primary{background:var(--red);color:#fff;box-shadow:0 10px 24px rgba(239,52,63,.25)}.btn-primary:hover{transform:translateY(-3px);background:var(--red2);box-shadow:0 14px 28px rgba(239,52,63,.32)}.btn-outline{border-color:var(--red);color:var(--red);background:#fff}.btn-outline:hover{background:var(--red);color:#fff}.btn-white{background:#fff;color:var(--red)}.btn-ghost-white{border-color:#fff;color:#fff}.btn-block{width:100%}.menu-toggle{display:none;background:var(--red);border:0;border-radius:50%;width:48px;height:48px;align-items:center;justify-content:center;flex-direction:column;gap:5px}.menu-toggle span{width:22px;height:2px;background:#fff;border-radius:3px}.hero{position:relative;min-height:610px;display:grid;align-items:center;overflow:hidden}.hero .hero-media{position:absolute;inset:0;z-index:-2}.hero .hero-media img{width:100%;height:100%;object-fit:cover}.hero:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.60),rgba(0,0,0,.12) 56%,rgba(0,0,0,.15));z-index:-1}.hero-wave{position:absolute;left:0;right:0;bottom:-1px;height:90px;background:#fff;border-radius:70% 70% 0 0/80px 80px 0 0}.hero-inner{width:min(var(--max),90vw);margin:auto;color:#fff}.kicker{color:var(--red);font-weight:900;text-transform:uppercase;letter-spacing:1.5px;font-size:13px}.hero h1,.page-hero h1,.section-title h2{font-family:'Playfair Display',serif;font-size:clamp(44px,6vw,82px);line-height:.95;margin:12px 0}.script{font-family:'Dancing Script',cursive;color:var(--red);font-weight:700}.hero h1 .script{display:block;font-size:.84em}.hero p{font-size:21px;max-width:600px;line-height:1.45}.hero-actions{display:flex;gap:14px;margin-top:30px}.hero-dots{display:flex;gap:10px;margin-top:36px}.hero-dots button,.hero-dots span{width:9px;height:9px;border:0;padding:0;border-radius:999px;background:#fff;opacity:.55;cursor:pointer;transition:.28s}.hero-dots button.active,.hero-dots span.active{background:var(--red);opacity:1;width:30px}.page-wrap{width:min(var(--max),90vw);margin:0 auto;padding:72px 0}.section-title{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:30px}.section-title h2{font-size:clamp(34px,4vw,58px);margin:0}.section-title p{max-width:520px;color:var(--muted);font-size:18px}.trust-strip{width:min(var(--max),90vw);margin:-56px auto 45px;position:relative;z-index:3;display:grid;grid-template-columns:repeat(5,1fr);gap:14px}.trust-strip div{background:#fff;border:1px solid var(--line);box-shadow:var(--shadow);border-radius:18px;padding:22px 18px;display:flex;align-items:center;gap:12px;font-size:15px}.trust-strip div:first-letter{font-size:28px}.split{display:grid;grid-template-columns:.75fr 1.25fr;gap:42px;align-items:start}.lead-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:34px;box-shadow:0 10px 35px rgba(30,20,20,.06)}.benefit-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.benefit-card{background:#fff;border:1px solid var(--line);border-radius:22px;padding:24px;transition:.3s}.benefit-card:hover,.age-card:hover,.gallery-item:hover,.team-card:hover{transform:translateY(-7px);box-shadow:var(--shadow)}.benefit-card span{font-size:32px}.benefit-card h3{margin:12px 0 6px;font-size:18px}.benefit-card p{color:var(--muted);margin:0}.soft-section{background:linear-gradient(180deg,var(--cream),#fff);border-top:1px solid #fff0e5;border-bottom:1px solid #fff0e5}.age-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.age-card{border-radius:24px;overflow:hidden;background:#fff;border:1px solid var(--line);box-shadow:0 10px 34px rgba(20,30,40,.07)}.age-card img{height:200px;width:100%;object-fit:cover}.age-card div{padding:24px}.age-card.pink{background:linear-gradient(180deg,#fff,#fff2f2)}.age-card.gold{background:linear-gradient(180deg,#fff,#fff7e5)}.age-card.green{background:linear-gradient(180deg,#fff,#f3ffe9)}.age-card h3{font-family:'Playfair Display',serif;font-size:34px;margin:5px 0}.age-card b{color:var(--red)}.age-card a{color:var(--red);font-weight:900}.icon-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:14px}.icon-chip{background:#fff;border:1px solid var(--line);border-radius:18px;padding:18px;text-align:center;font-weight:900;transition:.25s}.icon-chip:hover{background:var(--cream2);transform:translateY(-4px)}.icon-chip span{display:block;font-size:28px;margin-bottom:8px}.photo-grid{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:16px}.photo-grid img,.masonry img{border-radius:24px;height:240px;width:100%;object-fit:cover}.photo-grid .tall{grid-row:span 2;height:496px}.info-card{border:1px solid var(--line);border-radius:24px;background:#fff;padding:28px;box-shadow:0 10px 30px rgba(30,20,20,.05)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.enquiry-form label{display:block;font-weight:800;color:#3b3d47;margin-bottom:12px}.enquiry-form input,.enquiry-form textarea,.enquiry-form select,.admin input,.admin textarea,.admin select{width:100%;border:1px solid #ecd8d2;border-radius:12px;padding:13px 14px;font:inherit;background:#fff}.enquiry-form textarea{min-height:130px;resize:vertical}.hp{position:absolute;left:-9999px}.privacy{color:var(--muted);font-size:13px;text-align:center}.map-card iframe,.mini-map{border:0;width:100%;height:250px;border-radius:22px;background:#eee}.testimonials{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.quote-card{background:linear-gradient(180deg,#fff,#fff8ef);border:1px solid var(--line);border-radius:24px;padding:26px}.stars{color:#ffc107;letter-spacing:3px}.masonry{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.gallery-item{position:relative;overflow:hidden;border-radius:24px;transition:.3s}.gallery-item img{height:260px}.gallery-item:after{content:'⌕';position:absolute;right:14px;top:14px;background:#fff;width:34px;height:34px;border-radius:50%;display:grid;place-items:center;color:var(--red);font-weight:900}.filters{display:flex;flex-wrap:wrap;gap:12px;margin:28px 0}.filter-btn{border:1px solid var(--line);background:#fff;border-radius:999px;padding:12px 20px;font-weight:900;cursor:pointer}.filter-btn.active,.filter-btn:hover{background:var(--red);color:#fff}.faq details{background:#fff;border:1px solid var(--line);border-radius:16px;margin:10px 0;padding:16px}.faq summary{font-weight:900;cursor:pointer}.stats{display:grid;grid-template-columns:repeat(6,1fr);gap:12px;background:#fff;border:1px solid var(--line);border-radius:26px;padding:24px}.stat{text-align:center}.stat strong{font-family:'Playfair Display',serif;font-size:38px;color:var(--red);display:block}.timeline{position:relative;display:grid;grid-template-columns:repeat(5,1fr);gap:16px}.timeline:before{content:"";position:absolute;left:6%;right:6%;top:34px;height:2px;background:linear-gradient(90deg,var(--red),var(--green));opacity:.35}.step{text-align:center;position:relative}.step span{display:inline-grid;place-items:center;width:66px;height:66px;border-radius:50%;background:#fff;border:1px solid var(--line);box-shadow:0 6px 20px rgba(0,0,0,.06);font-size:26px}.team-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.team-card{background:#fff;border:1px solid var(--line);border-radius:24px;padding:24px;transition:.3s}.avatar{width:88px;height:88px;border-radius:50%;background:linear-gradient(135deg,#f3dfd3,#fff);display:grid;place-items:center;font-size:40px;margin-bottom:12px}.site-footer{background:#fff;margin-top:60px}.cta-band{width:min(var(--max),90vw);margin:0 auto 50px;background:linear-gradient(135deg,var(--red),#e91e63);color:#fff;border-radius:28px;padding:32px 38px;display:flex;align-items:center;justify-content:space-between;gap:30px;position:relative;overflow:hidden}.cta-band h2{font-family:'Playfair Display',serif;font-size:38px;margin:0}.cta-band h2 span{font-family:'Dancing Script';font-size:1.15em}.footer-bunny{position:absolute;right:20px;bottom:-20px;width:110px;opacity:.16}.footer-grid{width:min(var(--max),90vw);margin:auto;display:grid;grid-template-columns:1.2fr 1fr 1.2fr 1.2fr;gap:28px;padding:38px 0;border-top:1px solid var(--line)}.footer-logo{width:150px}.footer-grid h4{margin:0 0 12px}.footer-grid a{display:block;margin:8px 0;color:var(--muted);font-weight:700}.socials{display:flex;gap:10px}.socials a,.floating-actions a{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:var(--red);color:#fff;font-weight:900}.copyright{background:var(--red);color:#fff;padding:14px 5vw;display:flex;justify-content:space-between;gap:16px;font-size:13px}.copyright a{color:#fff}.floating-actions{position:fixed;right:16px;bottom:16px;display:grid;gap:10px;z-index:80}.reveal{opacity:0;transform:translateY(30px);transition:.75s}.reveal.visible{opacity:1;transform:none}.page-hero{position:relative;min-height:430px;display:grid;align-items:center;overflow:hidden;background:var(--cream)}.page-hero img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0}.page-hero:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.58),rgba(0,0,0,.2),rgba(0,0,0,.05));z-index:1}.page-hero .content{position:relative;z-index:2;width:min(var(--max),90vw);margin:auto;color:#fff}.page-hero h1 .script{display:block}.page-hero p{max-width:650px;font-size:19px}.notice{padding:14px 18px;border-radius:14px;background:#ecfdf5;border:1px solid #bbf7d0;color:#166534}.error{background:#fef2f2;border-color:#fecaca;color:#b91c1c}.admin-body{background:#f6f7fb}.admin-layout{display:grid;grid-template-columns:260px 1fr;min-height:100vh}.admin-side{background:#111827;color:#fff;padding:26px;position:sticky;top:0;height:100vh}.admin-side a{display:block;color:#d1d5db;padding:11px 12px;border-radius:10px;margin:4px 0}.admin-side a:hover,.admin-side a.active{background:#ef343f;color:#fff}.admin-main{padding:32px}.admin-card{background:#fff;border-radius:18px;padding:24px;margin-bottom:22px;box-shadow:0 12px 40px rgba(0,0,0,.06)}.table{width:100%;border-collapse:collapse}.table th,.table td{padding:12px;border-bottom:1px solid #e5e7eb;text-align:left}.admin .btn{padding:10px 16px}.login{min-height:100vh;display:grid;place-items:center;background:linear-gradient(135deg,#fff3f3,#f1fff2)}.login-card{width:min(430px,92vw);background:#fff;border-radius:24px;padding:30px;box-shadow:var(--shadow)}.login-card img{width:150px;margin:auto auto 18px}@media(max-width:980px){.site-header{padding:10px 18px}.brand img{width:54px;height:54px}.brand-text strong{font-size:17px}.menu-toggle{display:flex;margin-left:auto}.main-nav,.header-actions{position:fixed;left:18px;right:18px;top:82px;background:#fff;border:1px solid var(--line);border-radius:22px;box-shadow:var(--shadow);display:none;flex-direction:column;padding:18px;align-items:stretch}.header-actions{top:auto;bottom:18px}.main-nav.open,.header-actions.open{display:flex}.hero{min-height:660px}.hero p{font-size:18px}.hero-actions{flex-wrap:wrap}.trust-strip{grid-template-columns:1fr 1fr;margin-top:-35px}.split{grid-template-columns:1fr}.benefit-grid{grid-template-columns:1fr 1fr}.age-cards,.testimonials,.team-grid{grid-template-columns:1fr}.icon-grid{grid-template-columns:repeat(2,1fr)}.photo-grid,.masonry{grid-template-columns:1fr}.photo-grid .tall{height:260px}.stats{grid-template-columns:1fr 1fr}.timeline{grid-template-columns:1fr}.timeline:before{display:none}.form-grid{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr}.cta-band{display:block}.copyright{flex-direction:column}.admin-layout{grid-template-columns:1fr}.admin-side{position:relative;height:auto}.admin-main{padding:18px}}
/* Homepage hero carousel */
.hero-carousel .hero-media{background:#111}
.hero-carousel .hero-media .hero-slide{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transform:scale(1.045);transition:opacity 1100ms ease,transform 6200ms ease}
.hero-carousel .hero-media .hero-slide.active{opacity:1;transform:scale(1)}
.hero-carousel .hero-dots{align-items:center}
.hero-carousel .hero-dots button:hover{opacity:1;transform:translateY(-1px)}
@media(max-width:980px){.hero-carousel .hero-media .hero-slide{object-position:center}.hero-carousel{min-height:690px}}


/* Bunny social brand icons */
.socials{align-items:center;margin-top:16px}
.socials .social-link{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;color:#fff;font-size:0;box-shadow:0 10px 22px rgba(31,41,55,.16);transition:transform .25s ease, box-shadow .25s ease, filter .25s ease}
.socials .social-link svg{width:21px;height:21px;display:block;fill:currentColor}
.socials .social-link.facebook{background:#1877F2}
.socials .social-link.instagram{background:radial-gradient(circle at 30% 107%,#fdf497 0%,#fdf497 5%,#fd5949 45%,#d6249f 60%,#285AEB 90%)}
.socials .social-link.x{background:#000}
.socials .social-link:hover{transform:translateY(-4px) scale(1.06);box-shadow:0 14px 30px rgba(31,41,55,.25);filter:saturate(1.08)}


/* =========================================================
   Mobile contact/enquiry layout fix
   修复手机端留言表单 + 地图模块横向排列导致页面过宽
   ========================================================= */
@media (max-width: 768px) {
  html,
  body {
    width: 100% !important;
    max-width: 100% !important;
    overflow-x: hidden !important;
  }

  main,
  section,
  .section,
  .container,
  .wrap,
  .page-content,
  .contact-page,
  .contact-section,
  .contact-wrap,
  .contact-grid,
  .enquiry-grid,
  .form-grid,
  .contact-cards,
  .two-col,
  .two-column,
  .grid-2,
  .split-grid {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
  }

  .contact-grid,
  .enquiry-grid,
  .contact-wrap,
  .contact-page .grid,
  .contact-section .grid,
  .contact-page .two-col,
  .contact-section .two-col,
  .contact-page .split-grid,
  .contact-section .split-grid {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 22px !important;
  }

  .contact-form,
  .enquiry-form,
  .form-card,
  .contact-card,
  .contact-details,
  .map-card,
  .map-wrap,
  .map-box {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
  }

  .contact-form,
  .enquiry-form,
  .form-card,
  .contact-details,
  .map-card {
    padding-left: 20px !important;
    padding-right: 20px !important;
  }

  .contact-form input,
  .contact-form select,
  .contact-form textarea,
  .enquiry-form input,
  .enquiry-form select,
  .enquiry-form textarea,
  form input,
  form select,
  form textarea {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
  }

  .contact-details,
  .contact-details p,
  .contact-card,
  .contact-card p,
  .map-card,
  .map-card p {
    overflow-wrap: anywhere !important;
    word-break: break-word !important;
  }

  .map-wrap iframe,
  .map-box iframe,
  .contact-details iframe,
  iframe[src*="google"] {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    height: 300px !important;
    border: 0 !important;
  }

  .contact-section .section-title,
  .contact-page .section-title,
  .contact-hero,
  .page-hero {
    max-width: 100% !important;
    overflow: hidden !important;
  }

  .floating-contact,
  .floating-actions,
  .quick-contact,
  .sticky-contact {
    right: 12px !important;
    max-width: calc(100vw - 24px) !important;
  }
}

@media (max-width: 480px) {
  .contact-form,
  .enquiry-form,
  .form-card,
  .contact-details,
  .map-card {
    padding-left: 16px !important;
    padding-right: 16px !important;
  }

  .map-wrap iframe,
  .map-box iframe,
  .contact-details iframe,
  iframe[src*="google"] {
    height: 280px !important;
  }
}


/* === Strong mobile fix for contact page stacking and overflow === */
.page-hero .content, .page-hero p, .page-hero h1 {max-width: 100%;}
.contact-stack-grid {align-items: start;}
.contact-side-column, .contact-side-column > * {min-width: 0;}
.contact-details-card p, .contact-hours-card p, .contact-faq-card p, .contact-form-card p {overflow-wrap:anywhere; word-break:break-word;}
.map-info-card .btn {margin-top: 16px;}

@media (max-width: 900px) {
  .contact-stack-grid {
    display: flex !important;
    flex-direction: column !important;
    gap: 22px !important;
  }
  .contact-stack-grid > * {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
  }
  .contact-side-column {
    width: 100% !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 22px !important;
  }
  .contact-side-column br {display:none !important;}
}

@media (max-width: 768px) {
  .page-hero .content {padding: 0 18px !important;}
  .page-hero p {font-size: 16px !important; line-height: 1.6 !important;}
  .contact-stack-grid,
  .contact-map-grid,
  .contact-stack-grid > *,
  .contact-map-grid > *,
  .contact-form-card,
  .contact-details-card,
  .contact-hours-card,
  .map-info-card,
  .contact-faq-card {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
  }
  .contact-form-card,
  .contact-details-card,
  .contact-hours-card,
  .map-info-card,
  .contact-faq-card {
    padding: 18px !important;
    overflow: hidden !important;
  }
  .contact-form-card .form-grid {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 12px !important;
  }
  .contact-form-card input,
  .contact-form-card select,
  .contact-form-card textarea,
  .contact-form-card button,
  .contact-form-card .btn,
  .contact-form-card label,
  .contact-details-card p,
  .contact-hours-card p,
  .map-info-card p,
  .contact-faq-card p,
  .contact-faq-card summary {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
  }
  .contact-form-card textarea {min-height: 120px !important;}
  .contact-details-card p,
  .contact-hours-card p,
  .contact-faq-card p {
    overflow-wrap: anywhere !important;
    word-break: break-word !important;
  }
  .map-info-card iframe,
  .map-info-card .mini-map,
  iframe[src*="google"] {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    height: 280px !important;
    display: block !important;
  }
}

@media (max-width: 480px) {
  .page-wrap {width: min(100%, calc(100vw - 24px)) !important;}
  .page-hero h1 {font-size: 42px !important; line-height: 0.98 !important;}
  .page-hero p {font-size: 15px !important;}
  .contact-form-card,
  .contact-details-card,
  .contact-hours-card,
  .map-info-card,
  .contact-faq-card {padding: 16px !important;}
}


/* =========================================================
   Desktop-only homepage first hero image update
   电脑端首页第一张首图使用新图，手机端继续使用原手机图
   ========================================================= */
.hero-carousel .hero-media picture.hero-slide {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  opacity: 0;
  transform: scale(1.045);
  transition: opacity 1100ms ease, transform 6200ms ease;
}

.hero-carousel .hero-media picture.hero-slide.active {
  opacity: 1;
  transform: scale(1);
}

.hero-carousel .hero-media picture.hero-slide img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center center;
  display: block;
}

@media (max-width: 980px) {
  .hero-carousel .hero-media picture.hero-slide img {
    object-position: 76% center;
  }
}


/* =========================================================
   Mobile homepage enquiry/contact stack fix
   只修复手机首页 Parent Name 表单和 Contact Details 模块
   ========================================================= */
@media (max-width: 768px) {
  .home-enquiry-section {
    display: block !important;
    width: min(100%, calc(100vw - 28px)) !important;
    max-width: calc(100vw - 28px) !important;
    min-width: 0 !important;
    overflow: hidden !important;
  }

  .home-enquiry-section .section-title {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    margin-bottom: 24px !important;
  }

  .home-enquiry-section .section-title h2,
  .home-enquiry-section .section-title p {
    max-width: 100% !important;
    overflow-wrap: break-word !important;
  }

  .home-enquiry-grid {
    display: flex !important;
    flex-direction: column !important;
    grid-template-columns: none !important;
    gap: 22px !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    overflow: visible !important;
  }

  .home-parent-form-card,
  .home-contact-details-card {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
    padding: 20px !important;
    overflow: hidden !important;
  }

  .home-parent-form-card .form-grid {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 14px !important;
  }

  .home-parent-form-card label,
  .home-parent-form-card input,
  .home-parent-form-card select,
  .home-parent-form-card textarea,
  .home-parent-form-card button,
  .home-parent-form-card .btn {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
  }

  .home-contact-details-card h3,
  .home-contact-details-card p {
    width: 100% !important;
    max-width: 100% !important;
    overflow-wrap: anywhere !important;
    word-break: break-word !important;
  }

  .home-contact-details-card .mini-map {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    height: 280px !important;
    display: block !important;
  }
}

@media (max-width: 480px) {
  .home-enquiry-section {
    width: min(100%, calc(100vw - 22px)) !important;
    max-width: calc(100vw - 22px) !important;
  }

  .home-parent-form-card,
  .home-contact-details-card {
    padding: 16px !important;
  }

  .home-enquiry-section .section-title h2 {
    font-size: 38px !important;
    line-height: 1.02 !important;
  }

  .home-enquiry-section .section-title p {
    font-size: 16px !important;
    line-height: 1.55 !important;
  }
}


/* Learning for Life 3-photo update */
.learning-life-photos {
  grid-template-columns: repeat(3, 1fr);
}
.learning-life-photos img {
  height: 240px;
  width: 100%;
  object-fit: cover;
}
.learning-principles-card {
  margin-top: 20px;
}
@media (max-width: 760px) {
  .learning-life-photos {
    grid-template-columns: 1fr !important;
  }
  .learning-life-photos img {
    height: 220px;
  }
}
