
:root{--background:#f8f5ef;--foreground:#203e35;--primary:#21483f;--primary-foreground:#fffdf8;--card:#fffdf9;--card-foreground:#203e35;--border:#dadfd4;--muted:#eef0e8;--muted-foreground:#57675f;--accent:#aa8352;--ring:#9a784b;--radius:1.25rem;--green:#21483f;--gold:#8a6a42;--sans:Arial,"Helvetica Neue",sans-serif;--serif:Georgia,"Times New Roman",serif}.dark{--background:#f8f5ef;--foreground:#203e35;--primary:#21483f;--primary-foreground:#fffdf8;--card:#fffdf9;--card-foreground:#203e35;--border:#dadfd4;--muted:#eef0e8;--muted-foreground:#57675f;--accent:#aa8352;--ring:#9a784b}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:102px}body{margin:0;background:var(--background);color:var(--foreground);font:16px/1.7 var(--sans);-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,a{-webkit-tap-highlight-color:transparent}img{display:block;max-width:100%;height:auto}figure,h1,h2,h3,p{margin:0}h1,h2{font-family:var(--serif);font-weight:400;letter-spacing:-.045em}h1{font-size:clamp(3.6rem,5.7vw,5.2rem);line-height:1.04}h2{font-size:clamp(2.5rem,3.8vw,3.8rem);line-height:1.12}h3{font-size:1.24rem;line-height:1.4;font-weight:600}em{font-weight:400;color:var(--gold)}p{color:var(--muted-foreground)}svg{flex-shrink:0}a:focus-visible,summary:focus-visible{outline:3px solid #aa8352;outline-offset:6px;border-radius:4px}.container{width:min(1192px,calc(100% - 80px));margin-inline:auto}.eyebrow{display:block;font-size:.875rem;font-weight:600;letter-spacing:.13em;margin-bottom:22px;color:var(--green)}.btn{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:54px;padding:14px 24px;border:1px solid var(--green);border-radius:100px;background:var(--green);color:#fffdf7;font-weight:600;line-height:1.4;transition:transform .3s,box-shadow .3s,background .3s}.btn.outline{background:transparent;color:var(--green);border-color:#a9b5a5}.text-link{display:inline-flex;align-items:center;gap:10px;font-size:.9375rem;font-weight:600;line-height:1.6;min-height:44px}.text-link svg{transition:transform .3s}.skip-link{position:fixed;top:-120px;left:16px;padding:12px 20px;background:white;z-index:200}.skip-link:focus{top:10px}.site-header{position:sticky;top:0;z-index:40;background:rgba(248,245,239,.94);backdrop-filter:blur(18px);border-bottom:1px solid #dfe2d7}.nav{min-height:88px;display:flex;align-items:center;justify-content:space-between;gap:20px}.brand{display:flex;align-items:center;gap:12px;flex-shrink:0}.brand-mark{width:48px;height:48px;display:grid;place-items:center;border-radius:50%;background:var(--green);color:#fffdf7;font:italic 36px var(--serif)}.brand strong{display:block;font:30px/1.15 var(--serif);letter-spacing:-.045em}.brand small{display:block;font-size:10px;letter-spacing:.1em;margin-top:5px}.nav-links{display:flex;gap:27px;align-items:center}.nav-links a{font-size:.9375rem;padding:12px 0;transition:color .2s}.nav-call{min-height:46px;padding:11px 20px;font-size:.9375rem}.hero{padding:60px 0 75px;overflow:hidden}.hero-grid{display:grid;grid-template-columns:1.02fr 1fr;gap:70px;align-items:center}.hero-copy{padding:5px 0}.hero-copy .lead{font-size:1.0625rem;max-width:435px;margin-top:27px;line-height:1.8}.hero-actions{display:flex;align-items:center;gap:22px;flex-wrap:wrap;margin-top:29px}.hero-note{font-size:.875rem;max-width:330px;margin-top:22px}.hero-visual{position:relative;padding-bottom:20px}.hero-photo{overflow:hidden;border-radius:180px 180px 24px 24px;background:#e4e9de;padding:10px;box-shadow:0 24px 65px #17382b16}.hero-photo img{width:100%;height:auto;aspect-ratio:4/5.1;object-fit:cover;object-position:50% 55%;border-radius:172px 172px 17px 17px}.hero-photo figcaption{font-size:.875rem;text-align:center;padding:14px 0 5px}.experience{position:absolute;bottom:-2px;left:-38px;background:#fffdf8;box-shadow:0 14px 45px #213e3421;border:1px solid #dbdfd2;border-radius:18px;padding:18px 26px;display:flex;gap:18px;align-items:center;animation:soft-float 7s ease-in-out infinite}.experience>span{font:56px/1 var(--serif);color:var(--gold)}.experience>div{font-size:.875rem;line-height:1.65}.experience strong{font-weight:600}.qualifications{border-top:1px solid var(--border);border-bottom:1px solid var(--border);background:#edf0e7}.qualifications-grid{display:grid;grid-template-columns:1fr 1fr;gap:0}.qualification{padding:36px 32px 36px 0;display:flex;gap:22px}.qualification+article{border-left:1px solid #cdd7c7;padding-left:38px;padding-right:0}.q-index{color:#829c86;font-family:var(--serif);font-size:1.25rem}.qualification .eyebrow{font-size:.8125rem;margin-bottom:8px;letter-spacing:.1em}.qualification h2{font:600 1.25rem/1.4 var(--sans);letter-spacing:0;margin-bottom:10px}.qualification p{font-size:.9375rem;line-height:1.7;max-width:420px}.section{padding:100px 0}.section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:60px;margin-bottom:38px}.section-head>p{max-width:350px;font-size:1rem}.services-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:25px}.glow{transition:transform .35s ease,box-shadow .35s ease,border-color .35s ease}.service-card{overflow:hidden;background:#fffdf9;border:1px solid #dfe3d9;border-radius:22px}.photo-wrap{position:relative;overflow:hidden}.photo-wrap img{width:100%;aspect-ratio:4/4.6;object-fit:cover;object-position:center;transition:transform .65s ease,filter .4s ease}.photo-label{position:absolute;top:18px;left:18px;background:#fffdf3ed;border:1px solid #ffffff90;border-radius:100px;padding:6px 14px;font-size:.8125rem;letter-spacing:.08em}.card-content{padding:24px}.card-content h3{margin:9px 0 12px}.card-content p{font-size:1rem;line-height:1.75}.card-content .text-link{margin-top:20px;border-top:1px solid #e7e8e1;width:100%;padding-top:17px;justify-content:space-between}.number{color:var(--gold);font:1.0625rem var(--serif)}.mother-section{background:#21483f;color:#fffdf4;padding:76px 0}.mother-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:65px;align-items:center}.eyebrow.light{color:#d6dec5}.mother-copy em{color:#d9bf93}.mother-copy p{color:#e0e7db;margin:26px 0 30px;max-width:380px}.light-btn{background:#f7f3e8;border-color:#f7f3e8;color:var(--green)}.mother-photos{display:grid;grid-template-columns:1fr 1fr;gap:22px;align-items:start}.mother-photos figure{overflow:hidden;border:1px solid #ffffff30;border-radius:130px 130px 18px 18px;background:#2b5249}.mother-photos figure:nth-child(2){margin-top:70px}.mother-photos img{aspect-ratio:3/4.8;object-fit:cover;width:100%}.mother-photos figcaption{padding:15px 10px;text-align:center;font-size:.875rem}.nana-grid{display:grid;grid-template-columns:.85fr 1fr;gap:90px;align-items:center}.nana-portrait{max-width:440px;border:1px solid #dfe3d9;background:#edf0e7;border-radius:24px;overflow:hidden}.nana-portrait img{width:100%;aspect-ratio:4/5;object-fit:cover;object-position:center 38%}.nana-portrait figcaption{font-size:.875rem;padding:18px 20px;text-align:center}.nana-copy>p{max-width:410px;margin-top:24px}.nana-credentials{margin-top:30px}.nana-credentials>div{padding:20px 0;border-top:1px solid var(--border)}.nana-credentials h3{font-size:1.0625rem;margin-bottom:8px}.nana-credentials p{font-size:1rem}.nana-copy>.text-link{margin-top:10px}.baby-section{padding-top:28px}.baby-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px;align-items:start}.baby-shot{background:#fffdf9;border:1px solid #dfe3d9;padding:10px 10px 0;border-radius:20px;overflow:hidden}.baby-shot img{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:12px}.baby-shot figcaption{padding:18px 10px;font-size:.9375rem}.baby-1{margin-top:46px}.baby-2{margin-top:18px}.contact-section{padding-top:10px}.contact-shell{display:grid;grid-template-columns:1fr 330px;align-items:center;gap:80px;padding:58px 66px;background:#e9eee2;border:1px solid #d3ddc9;border-radius:30px}.contact-copy>p{max-width:455px;margin-top:24px}.phone-number{display:block;font-family:var(--serif);font-size:clamp(1.8rem,3vw,2.4rem);line-height:1.3;letter-spacing:-.02em;margin:25px 0}.contact-actions{display:flex;gap:12px;flex-wrap:wrap}.zalo-box{padding:15px 15px 20px;background:#fffdf9;border-radius:20px;text-align:center;scroll-margin-top:105px;box-shadow:0 16px 45px #253b3010}.zalo-box img{width:100%;height:auto;border-radius:10px}.zalo-box h3{font-size:1rem;margin-top:18px}.zalo-box p{font-size:.875rem;margin-top:5px}.zalo-box .text-link{font-size:.875rem;margin-top:6px}.faq-section{padding:0 0 95px}.faq-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:85px}.faq details{padding:23px 0;border-top:1px solid #cfd7c9}.faq details:last-child{border-bottom:1px solid #cfd7c9}.faq summary{cursor:pointer;list-style:none;display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:32px;font-weight:600}.faq summary::-webkit-details-marker{display:none}.faq summary svg{transition:transform .25s}.faq details[open] summary svg{transform:rotate(45deg)}.faq p{padding:15px 34px 0 0;font-size:1rem}footer{border-top:1px solid #d6dece;padding:34px 0;background:#eff1e8}.footer-inner{display:flex;align-items:center;justify-content:space-between;gap:25px}.footer-inner p{font-size:.875rem}.footer-inner>a{display:flex;gap:12px;align-items:center;font-size:.9375rem}.mobile-contact{display:none}.reveal.pending{opacity:0;transform:translateY(20px)}.reveal{transition:opacity .7s ease,transform .7s ease}.reveal.visible{opacity:1;transform:none}@keyframes soft-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-7px)}}
@media(hover:hover){.btn:hover{background:#2f6050;box-shadow:0 0 0 5px #b7cdbb35,0 10px 30px #6a966c36;transform:translateY(-3px)}.btn.outline:hover,.light-btn:hover{background:#fffdf6;color:var(--green)}.glow:hover{transform:translateY(-6px);border-color:#b5c7a2;box-shadow:0 0 0 4px #d7e8b73d,0 16px 42px #aec9944d}.service-card:hover img{transform:scale(1.025);filter:brightness(1.045)}.text-link:hover svg{transform:translate(3px,-2px)}.nav-links a:hover{color:var(--gold)}}
@media(max-width:1100px){.container{width:calc(100% - 48px)}.hero-grid{gap:45px}.nav-links{gap:18px}.hero h1{font-size:4.4rem}.hero-actions{gap:16px}.hero-actions .text-link{font-size:.875rem}.experience{left:-20px}.nana-grid{gap:55px}.contact-shell{gap:40px;padding:40px;grid-template-columns:1fr 300px}.mother-grid{gap:36px}.card-content{padding:20px}.services-grid{gap:18px}}
@media(max-width:850px){.nav-links{display:none}.hero-grid{gap:30px;grid-template-columns:1fr 1fr}.hero h1{font-size:3.6rem}.hero-photo img{aspect-ratio:3/4.4}.hero-photo figcaption{font-size:.8125rem}.experience{padding:14px 18px;gap:12px;left:-16px}.experience>span{font-size:44px}.experience>div{font-size:.8125rem}.hero .eyebrow{font-size:.8125rem;letter-spacing:.08em}.services-grid{grid-template-columns:1fr}.service-card{display:grid;grid-template-columns:.8fr 1fr;align-items:stretch}.photo-wrap img{height:100%;aspect-ratio:4/4.1}.card-content{padding:30px;display:flex;flex-direction:column;justify-content:center}.mother-grid{grid-template-columns:1fr 1fr;gap:28px}.mother-photos{gap:12px}.mother-photos figure:nth-child(2){margin-top:38px}.nana-grid{gap:38px}.baby-gallery{gap:16px}.contact-shell{padding:30px;gap:30px;grid-template-columns:1fr 265px}.faq-grid{gap:38px}.qualification{gap:14px;padding-right:25px}.qualification+article{padding-left:25px}.footer-inner p{display:none}}
@media(max-width:640px){html{scroll-padding-top:90px}.container{width:calc(100% - 36px)}.nav{min-height:76px;gap:10px}.brand-mark{width:40px;height:40px;font-size:31px}.brand{gap:9px}.brand strong{font-size:26px}.brand small{font-size:8px;letter-spacing:.055em}.nav-call{font-size:.875rem;padding:10px 14px;min-height:44px;gap:8px}.hero{padding:34px 0 46px}.hero-grid{grid-template-columns:1fr;gap:35px}.hero h1{font-size:clamp(2.65rem,10.3vw,3.2rem);line-height:1.075}.hero h1>br:first-of-type{display:none}.hero h1>br:first-of-type::after{content:" "}.desktop-break{display:none}.hero h1{max-width:550px}.hero-copy .lead{font-size:1rem;line-height:1.75;margin-top:23px;max-width:none}.hero-copy .eyebrow{font-size:.8125rem;margin-bottom:20px;letter-spacing:.09em}.hero-actions{gap:12px 20px;margin-top:25px}.hero-actions .btn{padding:14px 22px}.hero-note{max-width:none;margin-top:14px}.hero-visual{width:min(420px,100%);margin:auto;padding:0 10px 20px}.hero-photo{border-radius:150px 150px 20px 20px;padding:8px}.hero-photo img{aspect-ratio:4/4.8;border-radius:145px 145px 13px 13px;object-position:center 60%}.hero-photo figcaption{font-size:.8125rem;padding-bottom:5px}.experience{left:0;bottom:0;gap:15px;padding:14px 20px}.experience>div{font-size:.875rem}.experience>span{font-size:46px}.qualifications-grid{grid-template-columns:1fr}.qualification,.qualification+article{padding:25px 0;gap:17px;border-left:0}.qualification+article{border-top:1px solid #cdd7c7}.qualification .eyebrow{font-size:.8125rem}.qualification h2{font-size:1.1875rem}.qualification p{font-size:.9375rem}.section{padding:65px 0}h2{font-size:2.7rem;line-height:1.13}.eyebrow{font-size:.8125rem;margin-bottom:17px;letter-spacing:.09em}.section-head{display:block;margin-bottom:28px}.section-head>p{max-width:none;margin-top:22px}.services-grid{gap:24px}.service-card{display:block;border-radius:20px}.photo-wrap img{height:auto;aspect-ratio:4/4.3;object-position:center}.card-content{padding:24px}.card-content p{font-size:1rem}.card-content h3{font-size:1.25rem}.card-content .text-link{margin-top:16px}.mother-section{padding:56px 0}.mother-grid{grid-template-columns:1fr;gap:35px}.mother-copy p{max-width:none;margin:22px 0 26px}.mother-photos{gap:16px}.mother-photos img{aspect-ratio:3/4.4}.mother-photos figure:nth-child(2){margin-top:30px}.mother-photos figcaption{font-size:.875rem;padding:12px 8px}.nana-grid{grid-template-columns:1fr;gap:34px}.nana-portrait{width:100%;max-width:none}.nana-portrait img{aspect-ratio:4/4.2;object-position:center 34%}.nana-copy>p{max-width:none;margin-top:21px}.nana-credentials{margin-top:24px}.baby-section{padding-top:0}.baby-gallery{grid-template-columns:1fr 1fr;gap:16px}.baby-shot{padding:7px 7px 0;border-radius:16px;margin-top:0}.baby-shot img{aspect-ratio:3/4.3;border-radius:10px}.baby-shot figcaption{font-size:.875rem;padding:12px 3px}.baby-0{grid-column:1/-1;width:78%;margin:0 auto 3px}.baby-0 img{aspect-ratio:4/4.7}.contact-section{padding-top:0}.contact-shell{width:calc(100% - 24px);display:grid;grid-template-columns:1fr;padding:29px 23px;gap:32px;border-radius:24px}.contact-copy>p{font-size:1rem;margin-top:22px}.phone-number{font-size:2.15rem;margin:22px 0}.contact-actions{gap:10px}.contact-actions .btn{padding:13px 19px}.zalo-box{width:min(320px,100%);margin:auto;padding:14px 14px 18px}.zalo-box h3{font-size:1rem}.faq-section{padding:0 0 60px}.faq-grid{grid-template-columns:1fr;gap:27px}.faq summary{font-size:1rem}.faq p{padding-right:0}.footer-inner{display:flex;flex-wrap:wrap;gap:25px}.footer-inner>a{font-size:.9375rem}footer{padding:28px 0 calc(114px + env(safe-area-inset-bottom))}.mobile-contact{display:grid;grid-template-columns:1fr 1fr;gap:10px;position:fixed;left:0;right:0;bottom:0;z-index:50;padding:11px 14px calc(11px + env(safe-area-inset-bottom));background:#fbfaf3f5;backdrop-filter:blur(16px);border-top:1px solid #d5ddcc}.mobile-contact .btn{min-height:48px;padding:10px 13px;font-size:.9375rem}.zalo-box{scroll-margin-top:94px}}
@media(max-width:360px){.container{width:calc(100% - 28px)}.brand small{display:none}.nav-call{padding:10px 12px}.hero h1{font-size:2.4rem}.hero-actions{gap:12px}.contact-shell{padding:26px 20px}.contact-actions .btn{padding:12px 17px;font-size:.9375rem}.mobile-contact{gap:8px;padding-inline:10px}.mobile-contact .btn{font-size:.875rem;gap:7px}.phone-number{font-size:1.9rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.reveal.pending{opacity:1;transform:none}}

/* Keep the photo caption and experience card in separate layout rows. */
.hero-visual{padding-bottom:0;margin-bottom:0;display:grid;gap:18px}
.hero-photo figcaption{text-align:center;padding:14px 10px 8px;line-height:1.6}
.experience{position:static;inset:auto;transform:none;animation:none;width:fit-content;max-width:100%;margin:0;align-items:center}
.experience>div{min-width:0;overflow-wrap:anywhere}
@media(max-width:640px){
  html{scroll-padding-top:24px}
  .site-header{position:relative;top:auto;padding-top:env(safe-area-inset-top,0px);backdrop-filter:none;background:var(--background)}
  .hero-visual{padding:0 10px;margin:0 auto;gap:18px}
  .experience{position:static;inset:auto;width:100%;justify-content:center;max-width:100%;margin:0;padding:18px 16px}
  .hero-photo figcaption{padding:14px 10px 8px}
  .mobile-contact{position:static;inset:auto;z-index:auto;backdrop-filter:none;padding:18px 14px calc(100px + env(safe-area-inset-bottom,0px));align-items:stretch}
  footer{padding-bottom:30px}
  .zalo-box{scroll-margin-top:24px}
}
