:root{--color-primary:#0f4c5c;--color-primary-hover:#0b3d4a;--color-accent:#e0a331;--color-accent-hover:#c98e22;--color-background:#fff;--color-background-soft:#f7f6f2;--color-text:#243238;--color-text-muted:#647277;--color-border:#dde3e4;--bg:var(--color-background-soft);--surface:var(--color-background);--ink:var(--color-text);--muted:var(--color-text-muted);--brand:var(--color-primary);--brand-dark:var(--color-primary-hover);--accent:var(--color-accent);--soft:var(--color-background-soft);--warm:var(--color-background-soft);--line:var(--color-border);--focus:var(--color-accent);--radius:18px;--shadow:0 12px 34px rgba(36,50,56,.08);--max:72rem}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font:1.075rem/1.65 system-ui,-apple-system,"Segoe UI",sans-serif}a{color:var(--brand-dark);text-underline-offset:.18em}img{display:block;max-width:100%;height:auto}button,input,textarea{font:inherit}button,a{touch-action:manipulation}:focus-visible{outline:3px solid var(--focus);outline-offset:3px}.skip-link{position:absolute;left:.75rem;top:-5rem;z-index:100;padding:.75rem 1rem;background:var(--ink);color:#fff}.skip-link:focus{top:.75rem}.container{width:min(calc(100% - 2rem),var(--max));margin-inline:auto}.section{padding:clamp(3.5rem,7vw,6rem) 0}.section--white{background:var(--surface)}.section--soft{background:var(--soft)}.narrow{max-width:48rem}.eyebrow{margin:0 0 .55rem;color:var(--brand);font-size:.92rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}h1,h2,h3{margin:0 0 .75em;line-height:1.12;text-wrap:balance}h1{font-size:clamp(2.35rem,6vw,4.7rem);letter-spacing:-.045em}h2{font-size:clamp(1.8rem,4vw,3rem);letter-spacing:-.025em}h3{font-size:1.28rem}p{margin:0 0 1em}.lead{max-width:48rem;color:var(--muted);font-size:clamp(1.16rem,2vw,1.4rem)}.muted{color:var(--muted)}.button-row{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1.6rem}.button{display:inline-flex;min-height:3.35rem;align-items:center;justify-content:center;padding:.7rem 1.35rem;border:2px solid var(--brand);border-radius:.8rem;background:transparent;color:var(--brand-dark);font-weight:800;text-decoration:none;cursor:pointer}.button--primary{background:var(--brand);color:#fff}.button--primary:hover{background:var(--brand-dark);border-color:var(--brand-dark)}.button--light{border-color:#fff;background:#fff;color:var(--brand-dark)}.text-link{font-weight:800}.site-header{position:sticky;top:0;z-index:30;border-bottom:1px solid rgba(36,50,56,.12);background:rgba(255,255,255,.98)}.nav{display:flex;min-height:4.8rem;align-items:center;justify-content:space-between;gap:1rem}.brand{color:var(--ink);font-size:1.35rem;font-weight:900;text-decoration:none}.nav-toggle{display:none;min-width:3rem;min-height:3rem;border:1px solid var(--line);border-radius:.65rem;background:var(--surface);color:var(--ink);font-weight:800}.nav-links{display:flex;align-items:center;gap:1.25rem}.nav-links a{color:var(--ink);font-size:.94rem;font-weight:700;text-decoration:none}.nav-links a[aria-current="page"]{text-decoration:underline;text-decoration-thickness:3px}.hero{padding:clamp(3.5rem,8vw,7rem) 0}.hero-grid,.two-col{display:grid;grid-template-columns:minmax(0,1.22fr) minmax(17rem,.78fr);align-items:center;gap:clamp(2rem,6vw,5rem)}.portrait{display:grid;min-height:27rem;place-items:center;padding:2rem;border:1px solid var(--line);border-radius:1.5rem;background:linear-gradient(145deg,var(--soft),var(--warm));color:var(--muted);text-align:center}.portrait strong{display:block;color:var(--ink);font-size:1.2rem}.trust-row,.grid-3,.grid-2{display:grid;gap:1.2rem}.trust-row{grid-template-columns:repeat(3,1fr);margin-top:2rem}.trust-item,.card{padding:1.4rem;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface)}.trust-item strong{display:block}.grid-3{grid-template-columns:repeat(3,1fr)}.grid-2{grid-template-columns:repeat(2,1fr)}.card{box-shadow:var(--shadow)}.card ul,.check-list{padding-left:1.3rem}.card li+li,.check-list li+li{margin-top:.35rem}.steps{counter-reset:steps}.step{position:relative;padding-left:3.8rem}.step:before{position:absolute;left:0;top:-.25rem;display:grid;width:2.7rem;height:2.7rem;place-items:center;border-radius:50%;background:var(--brand);color:#fff;counter-increment:steps;content:counter(steps);font-weight:900}.callout{padding:clamp(1.75rem,5vw,3.5rem);border-radius:1.6rem;background:var(--brand-dark);color:#fff}.callout .eyebrow,.callout .lead{color:#fff}.boundary{border-left:5px solid var(--brand);box-shadow:none}.facts{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin:1.5rem 0 0}.fact{padding:1rem;border-radius:1rem;background:rgba(255,255,255,.65)}.faq details{padding:1.1rem 1.25rem;border:1px solid var(--line);border-radius:.9rem;background:#fff}.faq details+details{margin-top:.75rem}.faq summary{cursor:pointer;font-weight:800}.faq details p{margin:.8rem 0 0}.quote{margin:0;padding:1.5rem;border-left:4px solid var(--brand);background:#fff;font-size:1.1rem}.placeholder-note{color:var(--muted);font-style:italic}.form{display:grid;max-width:44rem;gap:1rem}.field label{display:block;margin-bottom:.35rem;font-weight:800}.field input,.field textarea{width:100%;padding:.8rem .9rem;border:2px solid var(--color-text-muted);border-radius:.7rem;background:#fff;color:var(--ink)}.field textarea{min-height:9rem;resize:vertical}.field input:focus,.field textarea:focus{border-color:var(--brand)}.form-status{min-height:1.7rem;font-weight:700}.contact-panel{padding:clamp(1.5rem,4vw,2.5rem);border-radius:1.4rem;background:var(--soft)}.site-footer{padding:3rem 0 6rem;background:var(--color-primary);color:#fff}.footer-grid{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:2rem}.site-footer a{color:#fff}.site-footer ul{margin:0;padding:0;list-style:none}.site-footer li+li{margin-top:.3rem}.mobile-call{display:none}.notice{padding:1rem 1.2rem;border-radius:.8rem;background:var(--warm)}
@media(max-width:900px){body{font-size:1rem}.nav-toggle{display:inline-flex;align-items:center;justify-content:center}.nav-links{position:absolute;top:4.8rem;left:0;right:0;display:none;align-items:stretch;padding:1rem;background:var(--bg);box-shadow:0 10px 18px rgba(0,0,0,.1)}.nav-links.is-open{display:grid}.nav-links a{padding:.65rem}.nav-links .button{color:#fff}.hero-grid,.two-col,.grid-3,.grid-2,.footer-grid{grid-template-columns:1fr}.hero-grid{align-items:start}.portrait{min-height:20rem;max-width:31rem}.trust-row,.facts{grid-template-columns:1fr}.section{padding:3.4rem 0}.mobile-call{position:fixed;right:.75rem;bottom:.75rem;left:.75rem;z-index:40;display:flex;min-height:3.8rem;align-items:center;justify-content:center;border-radius:.9rem;background:var(--brand);color:#fff;font-weight:900;text-decoration:none;box-shadow:0 10px 28px rgba(0,0,0,.28)}.site-footer{padding-bottom:7rem}}
.hero .container.narrow,.section .container.narrow{max-width:var(--max)}
.nav-links .button--primary{color:#fff}
.hp-field{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}
.site-header{background:rgba(255,255,255,.98);border-bottom-color:var(--line)}
.brand{display:flex;flex:0 0 auto;align-items:center}
.brand-logo{width:clamp(11rem,16vw,13.5rem);height:auto}
.brand-symbol{display:none;width:3.25rem;height:auto}
.nav{min-height:5.25rem}
.nav-links a:hover{color:var(--brand)}
.button--primary:hover{background:var(--accent);border-color:var(--accent);color:var(--ink)}
.button--secondary:hover,.button:not(.button--primary):not(.button--light):hover{border-color:var(--accent);background:var(--accent);color:var(--ink)}
.text-link:hover,.site-footer a:hover{color:var(--accent)}
.site-footer{background:var(--brand);color:#fff}
.callout{background:var(--brand)}
.notice{border-left:4px solid var(--accent)}
h1,h2,h3{color:var(--brand-dark)}
.callout h2,.callout h3{color:#fff}
.field input,.field textarea{border-color:var(--muted)}
.photo-frame{min-width:0;margin:0;overflow:hidden;border:1px solid var(--line);border-radius:1.5rem;background:var(--surface);box-shadow:var(--shadow)}
.site-photo{width:100%;height:100%;object-fit:cover}
.photo-frame--hero,.photo-frame--portrait{aspect-ratio:4/5}
.photo-frame--service{aspect-ratio:4/3}
.hero-photo{object-position:64% center}
.portrait-photo{object-position:center}
.service-photo{object-position:center}
.callout--photo{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(18rem,.88fr);align-items:center;gap:clamp(1.5rem,5vw,4rem)}
.photo-frame--parents{aspect-ratio:4/3;border-color:rgba(255,255,255,.3);box-shadow:none}
.parents-photo{object-position:center}
@media(max-width:900px){.nav-links{top:5.25rem}}
@media(max-width:900px){.callout--photo{grid-template-columns:1fr}.photo-frame--hero,.photo-frame--portrait,.photo-frame--service{width:min(100%,36rem);aspect-ratio:4/3}.photo-frame--parents{width:100%;max-height:22rem}.hero-photo{object-position:64% 35%}}
@media(max-width:400px){.brand-logo{display:none}.brand-symbol{display:block}.nav{min-height:4.75rem}.nav-links{top:4.75rem}}
.price-teaser{padding:1.15rem 0;background:var(--brand);color:#fff}
.price-teaser__inner{display:flex;align-items:center;justify-content:space-between;gap:1rem}
.price-teaser p{margin:0;font-size:1.08rem}
.price-teaser a{flex:0 0 auto;color:#fff}
.price-hero{padding-bottom:clamp(2.8rem,6vw,5rem)}
.price-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:1.25rem}
.price-card{padding:clamp(1.5rem,4vw,2.5rem);border:1px solid var(--line);border-top:6px solid var(--brand);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow)}
.price-card--primary{border-top-color:var(--accent)}
.price-card__label{margin-bottom:.25rem;color:var(--brand-dark);font-size:1.25rem;font-weight:800}
.price-card__amount{margin-bottom:.25rem;color:var(--brand-dark);font-size:clamp(3.1rem,8vw,5.5rem);font-weight:900;letter-spacing:-.05em;line-height:1}
.price-card__amount span{display:block;margin-top:.55rem;font-size:clamp(1.2rem,2.4vw,1.7rem);letter-spacing:0;line-height:1.2}
.price-card p:last-child{max-width:34rem;margin:1rem 0 0;color:var(--muted);font-size:1.12rem}
.minimum-visit{max-width:55rem;margin:1.25rem 0 0;padding:1rem 1.2rem;border-left:4px solid var(--accent);border-radius:.5rem;background:var(--soft);color:var(--muted)}
.minimum-visit strong{color:var(--ink)}
.travel-card{margin-top:1.25rem;padding:1.5rem;border:1px solid var(--line);border-radius:var(--radius);background:var(--soft)}
.travel-card h2{margin-bottom:.6rem;font-size:1.5rem}
.travel-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}
.travel-options p{margin:0;padding:.9rem 1rem;border-left:4px solid var(--accent);background:var(--surface)}
.service-price-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;margin:2rem 0 0;padding:0;list-style:none}
.service-price-list li{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;padding:1rem 1.1rem;border:1px solid var(--line);border-radius:.85rem;background:var(--surface)}
.service-price-list span{color:var(--ink)}
.service-price-list strong{flex:0 0 auto;color:var(--brand-dark)}
.pricing-notes .card{box-shadow:none}
.pricing-notes .card p{margin-bottom:0}
.pricing-boundary{margin-top:1.25rem}
.pricing-boundary p{margin-bottom:0}
@media(max-width:700px){.price-teaser__inner{align-items:flex-start;flex-direction:column}.price-teaser p{font-size:1rem}.price-teaser p span{display:none}.price-teaser p strong{display:block;font-size:1.15rem}.price-grid,.travel-options,.service-price-list{grid-template-columns:1fr}.service-price-list li{flex-direction:column;gap:.25rem}.price-card__amount{font-size:clamp(3rem,17vw,4.6rem)}}
.price-grid--three{grid-template-columns:repeat(3,minmax(0,1fr))}
.price-grid--three .price-card__amount{font-size:clamp(3rem,6vw,4.7rem)}
.travel-card>p{max-width:50rem}
.travel-example{margin:1rem 0 0;color:var(--muted)}
.price-category-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem;margin-top:2rem}
.service-category{padding:1.4rem;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface)}
.service-category h3{padding-bottom:.8rem;border-bottom:3px solid var(--accent)}
.category-price-list{display:grid;gap:0;margin:0;padding:0;list-style:none}
.category-price-list li{display:flex;align-items:flex-start;justify-content:space-between;gap:1.25rem;padding:.8rem 0;border-bottom:1px solid var(--line)}
.category-price-list li:last-child{border-bottom:0}
.category-price-list span{color:var(--ink)}
.category-price-list strong{flex:0 0 auto;color:var(--brand-dark);text-align:right}
.category-note{margin:.75rem 0 0;color:var(--muted)}
.service-category--wide{padding:clamp(1.25rem,3vw,2rem)}
.category-price-list--two-columns{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:2rem}
.parents-offer{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(16rem,.75fr);align-items:center;gap:clamp(2rem,6vw,5rem);padding:clamp(2rem,5vw,4rem);border-radius:1.6rem;background:var(--brand);color:#fff}
.parents-offer h2,.parents-offer .eyebrow{color:#fff}
.parents-offer__intro{font-size:1.25rem;font-weight:700}
.parents-offer__price{display:grid;min-height:15rem;place-items:center;align-content:center;padding:1.5rem;border:3px solid var(--accent);border-radius:var(--radius);background:#fff;color:var(--brand-dark);text-align:center}
.parents-offer__price strong{display:block;font-size:clamp(3.5rem,8vw,5.7rem);letter-spacing:-.05em;line-height:1}
.parents-offer__price span{display:block;margin-top:.6rem;font-size:1.3rem;font-weight:800}
.multi-tasks{padding:clamp(1.5rem,4vw,3rem);border:2px solid var(--accent);border-radius:var(--radius);background:var(--surface)}
.multi-tasks p:last-child{margin-bottom:0}
@media(max-width:900px){.price-grid--three,.parents-offer{grid-template-columns:1fr}.parents-offer__price{min-height:0}.price-category-grid{grid-template-columns:1fr}}
@media(max-width:700px){.category-price-list--two-columns{grid-template-columns:1fr}.category-price-list li{flex-direction:column;gap:.2rem}.category-price-list strong{text-align:left}}
.about-intro,.about-detail{font-family:inherit}
.about-intro{max-width:48rem;color:var(--ink);font-size:clamp(1.16rem,2vw,1.4rem);font-weight:650;line-height:1.55}
.about-detail{max-width:48rem;color:var(--ink);line-height:1.7}
.field-help{margin:.45rem 0 0;font-size:.95rem}
.button:disabled{cursor:wait;opacity:.72}
.form-notification{display:grid;grid-template-columns:auto minmax(0,1fr);gap:1rem;margin-top:.5rem;padding:clamp(1.2rem,3vw,1.7rem);border:2px solid var(--brand);border-radius:var(--radius);background:#eef6f4;color:var(--ink)}
.form-notification[hidden]{display:none}
.form-notification--error{border-color:#8a3b32;background:#fff5f3}
.form-notification__icon{display:grid;width:2.5rem;height:2.5rem;place-items:center;border-radius:50%;background:var(--brand);color:#fff;font-size:1.4rem;font-weight:900}
.form-notification--error .form-notification__icon{background:#8a3b32}
.form-notification h3{margin:.1rem 0 .45rem;color:var(--brand-dark)}
.form-notification--error h3{color:#6f2d26}
.form-notification p{margin:0}
.form-notification p+p{margin-top:.65rem}
.form-notification a{font-weight:800}
@media(max-width:480px){.form-notification{grid-template-columns:1fr}.form-notification__icon{width:2.25rem;height:2.25rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

.coming-soon-page{min-height:100vh;min-height:100svh;background:var(--color-background-soft)}
.coming-soon{display:grid;min-height:100vh;min-height:100svh;place-items:center;padding:clamp(1.5rem,5vw,4rem)}
.coming-soon__panel{width:min(100%,52rem);padding:clamp(2rem,7vw,5rem);border:1px solid var(--line);border-radius:clamp(1.1rem,3vw,1.8rem);background:var(--surface);box-shadow:var(--shadow);text-align:center}
.coming-soon__logo{width:min(100%,27rem);margin:0 auto clamp(2rem,6vw,3.5rem)}
.coming-soon__panel .eyebrow{margin-bottom:.8rem}
.coming-soon__panel h1{max-width:44rem;margin-right:auto;margin-bottom:clamp(1.6rem,5vw,2.5rem);margin-left:auto;font-size:clamp(2rem,6vw,3.7rem)}
.coming-soon__message{position:relative;padding-top:clamp(1.4rem,4vw,2rem);font-size:clamp(1.15rem,2.5vw,1.4rem)}
.coming-soon__message::before{position:absolute;top:0;left:50%;width:5rem;height:4px;border-radius:999px;background:var(--accent);content:"";transform:translateX(-50%)}
.coming-soon__message p{margin:0}
.coming-soon__message p+p{margin-top:.2rem;color:var(--muted)}
@media(max-width:480px){.coming-soon{padding:1rem}.coming-soon__panel{padding:2rem 1.25rem}.coming-soon__logo{margin-bottom:2rem}}

