@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:wght@600;700&family=Caveat:wght@500;600&display=swap');
:root{--navy:#07346c;--blue:#124c91;--teal:#1598a1;--purple:#553082;--ink:#102d5d;--muted:#39547d;--pale:#eff7fb;--line:#c8dce9}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;color:var(--ink);font-family:"DM Sans",Arial,sans-serif;line-height:1.55;background:white}.wrap{width:min(1180px,calc(100% - 42px));margin:auto}a{color:inherit}.topbar{background:#fff;position:sticky;top:0;z-index:20;box-shadow:0 2px 14px #0a32620c}.nav{height:90px;display:flex;align-items:center;justify-content:space-between;gap:25px}.logo{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--navy)}.mark{width:70px;height:68px;border:4px solid var(--navy);border-bottom-color:var(--teal);border-radius:52% 52% 47% 47%;display:grid;place-items:center;font-size:49px;line-height:1;color:var(--navy);position:relative}.mark b,.bigmark b{position:absolute;font:700 22px "DM Sans";background:#fff;color:var(--teal);border:2px solid var(--navy);border-radius:7px;line-height:1;padding:3px;left:24px;top:27px}.logo strong{display:block;font:600 2rem "Playfair Display",serif;line-height:1}.logo small{display:block;font-weight:800;font-size:.77rem;letter-spacing:.06em;border-bottom:2px solid var(--teal);padding:2px 0}.logo em{display:block;font-style:normal;font-size:.52rem;letter-spacing:.07em;margin-top:3px}.nav nav,nav{display:flex;align-items:center;gap:25px}nav a{text-decoration:none;font-size:.83rem;font-weight:600;color:var(--navy)}nav a:hover{color:var(--teal)}nav .navbutton{background:var(--blue);color:#fff;border-radius:30px;padding:12px 18px;box-shadow:0 5px 13px #174c8c25}.menu{display:none;border:0;background:#eaf5f7;color:var(--navy);border-radius:8px;padding:9px 12px;font-size:1.25rem}
.hero{min-height:430px;position:relative;overflow:hidden;background:linear-gradient(90deg,#fff 0%,#fff 40%,#f4f8f8 48%,transparent 66%)}.heroimage{position:absolute;inset:0 0 0 42%;background:linear-gradient(90deg,#fff 0%,#ffffff05 36%),url('https://images.unsplash.com/photo-1476231682828-37e571bc172f?auto=format&fit=crop&w=1600&q=85') center 45%/cover no-repeat;opacity:.92}.hero-inner{position:relative;z-index:2;display:flex;min-height:430px;align-items:center;justify-content:space-between}.hero-copy{max-width:540px;padding:30px 0 45px}.hero-brand{display:flex;align-items:center;gap:18px}.bigmark{width:125px;height:125px;flex-shrink:0;border:7px solid var(--navy);border-bottom-color:var(--teal);border-radius:52% 52% 47% 47%;display:grid;place-items:center;font-size:92px;line-height:1;color:var(--navy);position:relative}.bigmark b{font-size:32px;left:45px;top:48px;border-width:3px;padding:3px}.hero-brand h1{font:600 clamp(2.5rem,4.5vw,4rem) "Playfair Display",serif;line-height:1;margin:0}.hero-brand h2{font-size:.95rem;letter-spacing:.04em;margin:7px 0 3px}.hero-brand p{font-size:.57rem;letter-spacing:.06em;margin:0;color:var(--blue);font-weight:700}.scriptline{font:600 1.7rem/1.1 Caveat,cursive;color:var(--blue);text-align:center;margin:18px 0 15px}.scriptline span{color:var(--teal)}.intro{font-size:.95rem;line-height:1.6;max-width:460px;margin:0 0 18px}.btn{display:inline-flex;align-items:center;gap:18px;background:var(--blue);color:#fff;text-decoration:none;border-radius:28px;padding:11px 20px;font-weight:700;font-size:.83rem;box-shadow:0 5px 15px #153e7722}.btn:hover{background:var(--purple)}.btn span{font-size:1.3rem;line-height:1}.hero-slogan{align-self:flex-start;margin:24px 10px 0 auto;text-align:center;color:#07346c;font:600 2rem/1 Caveat,cursive;transform:rotate(5deg);max-width:150px;text-shadow:0 1px 0 #fff,0 0 8px #fff}.hero-slogan span{font-size:2.2rem;display:block;margin-top:10px}.wave{position:absolute;z-index:3;bottom:-1px;left:0;right:0;height:45px;background:linear-gradient(100deg,var(--teal),var(--purple),var(--navy));clip-path:polygon(0 0,24% 53%,54% 90%,78% 76%,100% 0,100% 100%,0 100%)}.wave i{position:absolute;inset:12px 0 0;background:white;clip-path:polygon(0 0,24% 53%,54% 90%,78% 76%,100% 0,100% 100%,0 100%)}
.section{padding:34px 0 36px}.section-title{display:flex;justify-content:center;align-items:center;gap:18px}.section-title>span{width:55px;height:2px;background:var(--teal)}.section-title h2{font:700 clamp(1.8rem,3vw,2.4rem) "Playfair Display",serif;margin:0;color:var(--navy)}.section-title h2 b{font-family:Arial;color:var(--teal);font-size:1.7rem;margin-right:10px}.subhead{text-align:center;color:var(--muted);font-size:.84rem;margin:4px 0 28px}.service-grid{display:grid;grid-template-columns:repeat(5,1fr)}.service-grid article{text-align:center;padding:0 17px 8px;border-right:1px solid var(--line)}.service-grid article:last-child{border:0}.icon{margin:0 auto 12px;width:94px;height:94px;border-radius:50%;display:grid;place-items:center;font-size:3.4rem;font-weight:700}.icon.teal{background:#d9f2f4;color:#08718b}.icon.purple{background:#efebfa;color:var(--purple)}.service-grid h3{font:700 1.15rem/1.12 "Playfair Display",serif;color:var(--navy);margin:0 0 12px}.service-grid p{font-size:.81rem;line-height:1.5;color:#234b82;margin:0}.aboutqual{background:linear-gradient(110deg,#eef7fb,#f4f6ff);padding:30px 0}.aq-grid{display:grid;grid-template-columns:1fr 1fr;gap:34px}.about-block{display:grid;grid-template-columns:120px 1fr;gap:22px;align-items:start;padding-right:20px;border-right:1px solid #93c6dc}.heart-outline{font-size:7rem;color:var(--teal);line-height:1;text-align:center}.about-block h2,.qual-block h2{font:700 1.65rem "Playfair Display",serif;margin:0 0 8px;color:var(--navy)}.about-block p{font-size:.87rem;line-height:1.65;margin:0 0 12px;color:#183b72}.qual-block h2{font-size:1.35rem;display:flex;align-items:center;gap:10px}.qual-block h2 span{color:var(--blue);font-size:1.8rem}.qual-block ul{list-style:none;margin:15px 0 0;padding:0}.qual-block li{position:relative;padding:5px 0 5px 35px;font-size:.84rem;color:#15396e}.qual-block li:before{content:"✓";position:absolute;left:0;top:6px;width:21px;height:21px;border-radius:50%;background:#087d91;color:white;display:grid;place-items:center;font-weight:800;font-size:.75rem}.referral{margin-top:18px;margin-bottom:18px;display:grid;grid-template-columns:110px 1fr 190px 210px;align-items:center;gap:20px;border-radius:20px;overflow:hidden;background:linear-gradient(100deg,#e9e7fb,#f5f1ff);min-height:150px}.handheart{width:82px;height:82px;border-radius:50%;background:var(--purple);color:#fff;display:grid;place-items:center;font-size:3rem;margin-left:20px;position:relative}.handheart small{position:absolute;font-size:1.1rem;bottom:12px;right:12px}.referral-copy{padding:16px 0}.referral-copy h2{font:600 2rem Caveat,cursive;color:var(--purple);margin:0}.referral-copy h3{font-size:.9rem;letter-spacing:.03em;margin:0 0 5px;text-transform:uppercase}.referral-copy p{font-size:.82rem;line-height:1.5;margin:0;color:#254a7c}.referral-stamp{background:var(--blue);color:white;text-align:center;padding:20px 10px;font:600 1.6rem/1.05 Caveat,cursive;transform:rotate(-2deg);border-radius:50% 15% 40% 12%}.referral-stamp b{display:block;font-size:1.8rem}.childphoto{height:150px;align-self:stretch;background:url('https://images.unsplash.com/photo-1476231682828-37e571bc172f?auto=format&fit=crop&w=600&q=80') center/cover no-repeat}.bottom-info{background:#f3f8fc;padding:24px 0}.info-grid{display:grid;grid-template-columns:1fr 1fr;gap:35px}.counties{border-right:1px solid #9fc5dc;padding-right:30px}.counties h2,.contact h2{font:700 1.35rem "Playfair Display",serif;margin:0;color:var(--navy)}.counties h2 span,.contact h2 span{display:inline-grid;place-items:center;background:var(--blue);color:white;width:43px;height:43px;border-radius:50%;font:1.5rem Arial;margin-right:8px}.counties p{margin:0 0 10px 53px;font-size:.8rem;color:#31557e}.pills{display:flex;gap:8px;flex-wrap:wrap;margin-left:53px}.pills span{background:var(--teal);color:white;border-radius:18px;padding:5px 12px;font-size:.7rem;font-weight:700}.pills span:nth-child(3),.pills span:nth-child(5){background:var(--purple)}.contact{display:grid;grid-template-columns:1fr 1fr;gap:15px;align-content:start}.contact h2{grid-column:1/-1}.contact-method{display:flex;gap:10px;align-items:center}.contact-method>b{display:grid;place-items:center;width:35px;height:35px;background:#d7eff4;color:var(--blue);border-radius:8px;font-size:1.2rem}.contact-method p{margin:0}.contact-method strong,.contact-method small{display:block}.contact-method strong{font-size:.82rem;overflow-wrap:anywhere}.contact-method small{font-size:.72rem;color:var(--muted)}footer{background:#07346c;color:white;padding:24px 0 12px}.footer{display:flex;align-items:center;justify-content:space-between;gap:20px;text-align:center}.footer-heart{font:3rem Caveat;color:white}.footer strong,.footer small{display:block;letter-spacing:.16em}.footer strong{font-size:.8rem}.footer small{font-size:.6rem;margin-top:5px}.footer-tag{font:1.2rem/1.15 Caveat;text-align:right}.legal{text-align:center;color:#d1e0f2;font-size:.65rem;margin:18px 0 0}
@media(max-width:900px){.nav{height:78px}.logo .mark{width:55px;height:55px;font-size:40px}.logo strong{font-size:1.6rem}.logo small{font-size:.63rem}.logo em{font-size:.45rem}nav{gap:12px}nav a{font-size:.75rem}.hero-copy{max-width:490px}.bigmark{width:95px;height:95px;font-size:70px}.bigmark b{left:32px;top:36px;font-size:24px}.hero-brand h1{font-size:3rem}.hero-slogan{font-size:1.6rem}.service-grid article{padding-inline:10px}.icon{width:75px;height:75px;font-size:2.8rem}.service-grid h3{font-size:1rem}.service-grid p{font-size:.76rem}.referral{grid-template-columns:90px 1fr 140px 150px;gap:12px}.referral-stamp{font-size:1.35rem}.contact{grid-template-columns:1fr}.contact h2{grid-column:1}}
@media(max-width:680px){.wrap{width:calc(100% - 30px)}.nav{height:75px}.logo .mark{width:46px;height:46px;font-size:34px;border-width:3px}.logo strong{font-size:1.45rem}.logo small{font-size:.55rem}.logo em{font-size:.39rem}.menu{display:block}nav{display:none;position:absolute;left:0;right:0;top:75px;background:white;padding:14px 22px 22px;box-shadow:0 10px 20px #14366a18;align-items:stretch;flex-direction:column;gap:0}nav.open{display:flex}nav a{padding:10px;font-size:.95rem}nav .navbutton{text-align:center;margin-top:6px}.hero{background:#fff;min-height:0}.heroimage{inset:52% 0 0;height:48%;background-image:linear-gradient(0deg,#ffffff10,#fff0),url('https://images.unsplash.com/photo-1476231682828-37e571bc172f?auto=format&fit=crop&w=1000&q=85');background-position:center;background-size:cover}.hero-inner{min-height:620px;display:block}.hero-copy{padding:34px 0 270px;max-width:100%}.hero-brand{gap:10px}.bigmark{width:75px;height:75px;font-size:54px;border-width:4px}.bigmark b{font-size:18px;left:27px;top:29px;border-width:2px}.hero-brand h1{font-size:2.45rem}.hero-brand h2{font-size:.7rem}.hero-brand p{font-size:.43rem}.scriptline{font-size:1.45rem}.intro{font-size:.88rem}.hero-slogan{position:absolute;bottom:65px;right:0;color:#07346c;text-shadow:0 1px 0 #fff,0 0 8px #fff;margin:0;font-size:1.7rem}.wave{height:30px}.section{padding:30px 0}.section-title{gap:9px}.section-title>span{width:25px}.section-title h2{font-size:1.65rem}.subhead{font-size:.76rem}.service-grid{grid-template-columns:1fr 1fr;gap:0}.service-grid article{padding:18px 10px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.service-grid article:nth-child(2n){border-right:0}.service-grid article:last-child{grid-column:1/-1;border-bottom:0}.service-grid h3{font-size:1rem}.service-grid p{font-size:.78rem}.icon{width:70px;height:70px;font-size:2.5rem}.aq-grid{grid-template-columns:1fr;gap:25px}.about-block{grid-template-columns:65px 1fr;gap:12px;padding:0 0 20px;border-right:0;border-bottom:1px solid #93c6dc}.heart-outline{font-size:4rem}.about-block h2,.qual-block h2{font-size:1.35rem}.about-block p,.qual-block li{font-size:.8rem}.qual-block h2{font-size:1.2rem}.referral{grid-template-columns:65px 1fr;margin-top:12px;margin-bottom:12px;padding:16px;gap:13px}.handheart{width:60px;height:60px;font-size:2.2rem;margin:0}.referral-copy{padding:0}.referral-copy h2{font-size:1.7rem}.referral-copy p{font-size:.78rem}.referral-stamp{grid-column:1;padding:12px 3px;font-size:1rem;transform:none}.childphoto{grid-column:2;height:100px;border-radius:10px}.info-grid{grid-template-columns:1fr;gap:25px}.counties{border-right:0;border-bottom:1px solid #9fc5dc;padding:0 0 22px}.pills,.counties p{margin-left:0}.contact{grid-template-columns:1fr 1fr;gap:12px}.contact h2{grid-column:1/-1}.contact-method{align-items:flex-start;gap:7px}.contact-method strong{font-size:.74rem}.footer{flex-wrap:wrap;justify-content:center}.footer-heart{display:none}.footer strong{font-size:.7rem}.footer small{font-size:.5rem}.footer-tag{flex-basis:100%;text-align:center}.legal{padding:0 16px}}

/* Mobile usability refinements */
img, video, iframe { max-width: 100%; }
html { -webkit-text-size-adjust: 100%; }
body { overflow-wrap: anywhere; }
@media (max-width: 680px) {
  .wrap { width: min(100% - 28px, 520px); }
  .topbar { position: sticky; }
  .nav { gap: 8px; }
  .logo { min-width: 0; gap: 8px; }
  .logo > span:last-child { min-width: 0; }
  .logo strong { font-size: clamp(1.2rem, 5.5vw, 1.45rem); }
  .logo small { font-size: clamp(.48rem, 2.2vw, .55rem); white-space: nowrap; }
  .logo em { font-size: clamp(.34rem, 1.6vw, .39rem); }
  .menu { flex: 0 0 auto; }
  .hero-inner { min-height: 590px; }
  .hero-copy { padding-top: 27px; padding-bottom: 245px; }
  .hero-brand { align-items: center; gap: 9px; }
  .hero-brand > div { min-width: 0; }
  .hero-brand h1 { font-size: clamp(2rem, 9vw, 2.45rem); }
  .hero-brand h2 { font-size: clamp(.56rem, 2.7vw, .7rem); line-height: 1.3; }
  .hero-brand p { font-size: clamp(.35rem, 1.8vw, .43rem); line-height: 1.35; }
  .scriptline { font-size: clamp(1.25rem, 6vw, 1.45rem); }
  .intro { font-size: .9rem; }
  .btn { max-width: 100%; justify-content: center; gap: 8px; padding: 11px 15px; }
  .hero-slogan { right: 12px; bottom: 54px; max-width: 155px; padding: 8px 12px; border-radius: 12px; background: #ffffffdf; font-size: clamp(1.45rem, 7vw, 1.7rem); line-height: 1.03; transform: rotate(2deg); }
  .hero-slogan span { font-size: 1.8rem; margin-top: 3px; }
  .section-title h2 { font-size: clamp(1.35rem, 6.4vw, 1.65rem); text-align: center; }
  .section-title { gap: 7px; }
  .section-title > span { width: 18px; flex: 0 0 18px; }
  .service-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .service-grid article { min-width: 0; padding: 16px 9px; }
  .service-grid article:last-child { grid-column: 1 / -1; }
  .service-grid h3 { overflow-wrap: normal; }
  .about-block { grid-template-columns: 48px minmax(0, 1fr); gap: 12px; }
  .heart-outline { font-size: 3.2rem; }
  .referral { grid-template-columns: 52px minmax(0, 1fr); padding: 14px; gap: 12px; }
  .handheart { width: 50px; height: 50px; font-size: 1.9rem; }
  .referral-copy h2 { font-size: 1.55rem; line-height: 1.15; }
  .referral-copy h3 { font-size: .8rem; }
  .referral-stamp { grid-column: 1; font-size: .95rem; overflow-wrap: normal; }
  .childphoto { grid-column: 2; min-width: 0; height: 100%; min-height: 90px; }
  .contact { grid-template-columns: minmax(0, 1fr); }
  .contact h2 { grid-column: 1; }
  .contact-method strong { font-size: .82rem; }
  .contact-method p { min-width: 0; }
  .pills { gap: 7px; }
  .pills span { font-size: .72rem; }
  .footer { padding-inline: 4px; }
  .footer strong { letter-spacing: .08em; line-height: 1.5; }
  .footer small { letter-spacing: .07em; line-height: 1.5; }
}
@media (max-width: 380px) {
  .wrap { width: calc(100% - 22px); }
  .nav { height: 70px; }
  nav { top: 70px; }
  .logo .mark { width: 40px; height: 40px; font-size: 29px; }
  .logo strong { font-size: 1.12rem; }
  .logo small { font-size: .44rem; letter-spacing: .025em; }
  .logo em { font-size: .31rem; letter-spacing: .025em; }
  .hero-inner { min-height: 570px; }
  .hero-copy { padding-top: 23px; padding-bottom: 235px; }
  .bigmark { width: 64px; height: 64px; font-size: 46px; }
  .bigmark b { left: 22px; top: 23px; font-size: 16px; }
  .hero-brand h1 { font-size: 1.9rem; }
  .hero-brand h2 { font-size: .52rem; }
  .hero-brand p { font-size: .32rem; }
  .scriptline { font-size: 1.2rem; }
  .hero-slogan { right: 8px; bottom: 48px; }
  .service-grid h3 { font-size: .95rem; }
  .section-title > span { width: 10px; flex-basis: 10px; }
}


/* Dropdown menu fix: keep the mobile menu hidden until the menu button is tapped. */
@media (max-width: 680px) {
  .topbar .nav nav {
    display: none;
    position: fixed;
    top: 75px;
    left: 0;
    right: 0;
    width: 100%;
    max-height: calc(100dvh - 75px);
    overflow-y: auto;
    overscroll-behavior: contain;
    z-index: 1000;
    background: #fff;
    padding: 10px 18px 18px;
    box-shadow: 0 10px 20px #14366a25;
    align-items: stretch;
    flex-direction: column;
    gap: 0;
  }
  .topbar .nav nav.open { display: flex; }
  .topbar .nav nav a { display: block; padding: 12px 10px; }
}
@media (max-width: 380px) {
  .topbar .nav nav { top: 70px; max-height: calc(100dvh - 70px); }
}
