/* November alignment. Existing hero and brand tokens remain untouched. */
.sr-only { position:absolute; width:1px; height:1px; padding:0; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
.space-film, .treatments-section, .development-journey, .care-contexts, .full-team,
.treatment-explanation, .treatment-process, .treatment-question, .treatment-other {
  padding:var(--space-section) var(--page-gutter);
}
.revision-heading { display:grid; grid-template-columns:1.5fr 1fr; align-items:end; gap:8%; margin-bottom:48px; }
.revision-heading > p { max-width:360px; font-size:var(--font-size-body); line-height:var(--line-height-body); color:var(--color-body); padding-bottom:4px; }
.revision-heading .type-section { margin:0; }
.space-film { padding-bottom:56px; }
.film-frame { position:relative; width:100%; aspect-ratio:16/9; overflow:hidden; border-radius:8px 80px 8px 8px; background:#e3e9df; }
.film-placeholder { width:100%; height:100%; position:relative; background:#e5e9df; color:#8d9e8e; }
.film-placeholder > svg { position:absolute; width:100%; height:90%; bottom:0; opacity:.42; }
.film-placeholder-label { position:absolute; inset:0; display:flex; align-items:center; justify-content:center; flex-direction:column; text-align:center; color:var(--home-ink); background:radial-gradient(ellipse at center,#e5e9dfee 0%,#e5e9df55 60%,transparent); }
.film-placeholder-label .eyebrow { margin-bottom:24px; color:var(--home-ink); }
.film-placeholder-label p { font-size:clamp(26px,4vw,56px); line-height:1.12; font-weight:400; letter-spacing:-.035em; }
.film-placeholder-label > span:last-child { font-size:12px; margin-top:28px; padding:8px 16px; border:1px solid #36574f40; border-radius:30px; }
.film-frame video { width:100%; height:100%; display:block; object-fit:contain; background:#233e36; }
.film-frame [hidden] { display:none; }
.film-caption { display:flex; align-items:center; justify-content:space-between; gap:16px; margin-top:18px; color:var(--color-body); font-size:12px; }
.film-caption .text-link { font-size:14px; }
.treatments-section { padding-top:60px; }
.treatment-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:0 32px; }
.treatment-card { position:relative; display:flex; flex-direction:column; padding:30px 0 24px; border-top:1px solid var(--home-line); min-width:0; transition:translate .3s var(--home-ease); }
.treatment-card-top { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:16px; }
.treatment-card-top .eyebrow { margin:0; color:var(--home-muted); font-size:10px; letter-spacing:1.5px; }
.treatment-card svg { width:76px; height:76px; flex-shrink:0; color:#487b70; background:#e1ebe3; border-radius:50% 50% 8px 50%; padding:8px; transition:transform .4s var(--home-ease); }
.treatment-card--1 svg, .treatment-card--4 svg { color:#94506e; background:#efdae2; border-radius:50% 50% 50% 8px; }
.treatment-card--2 svg, .treatment-card--5 svg { color:#426580; background:#dce8ee; }
.treatment-card h3 { font-size:clamp(21px,2vw,28px); line-height:1.2; font-weight:700; letter-spacing:-.025em; color:var(--home-ink); }
.treatment-card > p { margin:14px 0 28px; max-width:32ch; line-height:1.65; color:var(--color-body); font-size:16px; }
.treatment-card-link { margin-top:auto; display:flex; align-items:center; justify-content:space-between; font-size:13px; color:var(--home-ink); gap:16px; }
.treatment-card-link > span { font-size:24px; font-weight:400; }
.treatment-card:hover { translate:0 -4px; }
.treatment-card:hover svg { transform:rotate(-8deg); }
.treatment-card:hover .treatment-card-link { text-decoration:underline; text-underline-offset:5px; }
.development-journey { background:#f2e8da; border-radius:80px 0 80px 0; --heading-accent:#9a526f; }
.journey-controls { display:none; grid-template-columns:repeat(4,minmax(0,1fr)); gap:0; border-block:1px solid #36574f30; }
.js-journey .journey-controls { display:grid; }
.journey-step { font:inherit; font-size:15px; color:var(--home-ink); background:transparent; border:0; border-bottom:3px solid transparent; cursor:pointer; display:flex; align-items:center; gap:12px; min-height:80px; padding:16px 10px; text-align:left; transition:background .25s,border-color .25s; }
.journey-step > span { font-size:11px; flex-shrink:0; border:1px solid #36574f40; border-radius:50%; height:30px; width:30px; display:grid; place-items:center; }
.journey-step[aria-pressed="true"] { border-bottom-color:var(--home-rose); background:#fbf7f155; font-weight:700; }
.journey-step[aria-pressed="true"] > span { background:var(--home-rose); border-color:var(--home-rose); color:#fff; }
.journey-step:hover { background:#fbf7f177; }
.journey-panel { display:grid; grid-template-columns:1.35fr 1fr; align-items:center; gap:6%; padding-block:44px 28px; }
.journey-panel[hidden] { display:none; }
.journey-art { position:relative; aspect-ratio:6/4; min-width:0; --mx:50%; --my:55%; --reveal-size:1000px; touch-action:pan-y; }
.scene-word { position:absolute; left:1%; top:0; font-size:clamp(38px,4.8vw,72px); letter-spacing:-.055em; font-weight:400; color:#8e7c6b; opacity:.65; }
.scene-base, .scene-color { position:absolute; inset:0; }
.baby-scene { display:block; width:100%; height:100%; overflow:visible; }
.scene-base { filter:grayscale(1); opacity:.18; }
.scene-color { mask-image:radial-gradient(circle var(--reveal-size) at var(--mx) var(--my),#000 50%,#000c 70%,transparent 100%); -webkit-mask-image:radial-gradient(circle var(--reveal-size) at var(--mx) var(--my),#000 50%,#000c 70%,transparent 100%); }
.scene-footnote { position:absolute; bottom:-8px; left:7%; font-size:12px; font-style:italic; color:var(--home-muted); transform:rotate(-3deg); }
.journey-copy { padding:16px 0; }
.journey-copy .eyebrow { color:var(--home-rose); margin-bottom:22px; }
.journey-copy h3 { font-size:clamp(27px,2.7vw,40px); font-weight:700; line-height:1.18; letter-spacing:-.035em; color:var(--home-ink); max-width:14ch; }
.journey-copy > p:not(.eyebrow) { margin:24px 0; font-size:var(--font-size-body); line-height:1.75; color:var(--color-body); }
.journey-copy .text-link { font-size:14px; }
.journey-bottom { display:flex; gap:40px; align-items:center; justify-content:space-between; border-top:1px solid #36574f26; padding-top:25px; margin-top:20px; }
.journey-bottom > p { font-size:12px; line-height:1.7; color:var(--color-body); max-width:650px; }
.motion-toggle { flex-shrink:0; min-height:44px; padding:8px 14px; border:1px solid #36574f55; color:var(--home-ink); background:transparent; border-radius:30px; font:inherit; font-size:12px; cursor:pointer; }
.motion-toggle:hover { background:#fbf7f1; }
.is-paused .baby-scene *, .journey-offscreen .baby-scene * { animation-play-state:paused !important; }
.development-journey:not(.js-journey) .baby-scene * { animation:none !important; }
.baby-scene g { transform-box:view-box; }
.lift-head { transform-origin:305px 292px; animation:head-lift 3.4s ease-in-out infinite; }
.baby-roll { transform-origin:285px 290px; animation:baby-roll 3.8s ease-in-out infinite; }
.baby-crawl { animation:crawl-body 2s ease-in-out infinite; }
.crawl-near { transform-origin:250px 280px; animation:crawl-limbs 2s ease-in-out infinite; }
.crawl-far { transform-origin:250px 280px; animation:crawl-limbs 2s ease-in-out -1s infinite; }
.crawl-head { transform-origin:322px 265px; animation:head-lift 2s ease-in-out infinite; }
.baby-walk { animation:walk-body 1.7s ease-in-out infinite; }
.walk-near { transform-origin:312px 258px; animation:walk-leg 1.7s ease-in-out infinite; }
.walk-far { transform-origin:293px 258px; animation:walk-leg 1.7s ease-in-out -.85s infinite; }
.walk-arm { transform-origin:300px 190px; animation:walk-arm 1.7s ease-in-out infinite; }
.baby-ball { transform-origin:443px 338px; animation:ball-rock 4s ease-in-out infinite; }
.scene-spark { transform-origin:470px 94px; animation:spark-breathe 4s ease-in-out infinite; }
@keyframes head-lift { 0%,100% { transform:rotate(9deg) translateY(5px); } 45%,65% { transform:rotate(-8deg) translateY(-4px); } }
@keyframes baby-roll { 0%,100% { transform:translateX(-10px) rotate(-14deg); } 50% { transform:translateX(22px) rotate(18deg); } }
@keyframes crawl-body { 0%,100% { transform:translate(-7px,0); } 50% { transform:translate(9px,-5px); } }
@keyframes crawl-limbs { 0%,100% { transform:rotate(-8deg); } 50% { transform:rotate(9deg); } }
@keyframes walk-body { 0%,50%,100% { transform:translateY(0); } 25%,75% { transform:translateY(-7px); } }
@keyframes walk-leg { 0%,100% { transform:rotate(-13deg); } 50% { transform:rotate(13deg); } }
@keyframes walk-arm { 0%,100% { transform:rotate(-4deg); } 50% { transform:rotate(4deg); } }
@keyframes ball-rock { 0%,100% { transform:translateX(0) rotate(-7deg); } 50% { transform:translateX(8px) rotate(12deg); } }
@keyframes spark-breathe { 0%,100% { opacity:.55; transform:scale(.9); } 50% { opacity:1; transform:scale(1.08); } }
.contexts-intro { margin-bottom:48px; }
.context-grid { display:grid; grid-template-columns:1fr 1fr; gap:6%; }
.context-grid article { border-top:1px solid var(--home-line); padding-top:28px; }
.context-grid article:nth-child(2) { border-color:#9a526f55; }
.context-grid h3 { color:var(--home-ink); font-size:24px; font-weight:700; letter-spacing:-.02em; line-height:1.25; }
.context-grid p:not(.eyebrow) { font-size:var(--font-size-body); line-height:1.7; color:var(--color-body); margin:20px 0; }
.context-grid .eyebrow { display:block; color:#426580; }
.context-grid article:nth-child(2) .eyebrow { color:var(--home-rose); }
.context-grid .text-link { font-size:14px; }
.google-invitation { margin:20px var(--page-gutter) 80px; padding:36px 0; border-block:1px solid var(--home-line); display:grid; grid-template-columns:auto 1fr auto; align-items:center; gap:28px; }
.google-mark { font-weight:900; font-size:42px; color:var(--home-ink); width:70px; height:70px; border:1px solid var(--home-line); border-radius:50%; display:grid; place-items:center; }
.google-invitation .eyebrow { margin-bottom:9px; font-size:9px; }
.google-invitation h2 { font-size:28px; color:var(--home-ink); font-weight:400; letter-spacing:-.025em; }
.google-invitation p:not(.eyebrow) { margin-top:10px; color:var(--color-body); line-height:1.6; font-size:15px; max-width:560px; }
.google-invitation .text-link { font-size:14px; white-space:nowrap; }
.team-specialties { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; }
.team-specialties > a { display:flex; align-items:center; flex-direction:column; padding:30px 20px; border:1px solid var(--home-line); border-radius:80px 80px 8px 8px; text-align:center; color:var(--home-ink); }
.team-specialties svg { width:75px; height:75px; margin-bottom:20px; }
.team-specialties a > span:first-of-type { font-weight:700; font-size:17px; }
.team-specialty-link { font-size:12px; text-decoration:underline; text-underline-offset:5px; margin-top:12px; }
.team-specialties > a:hover { background:#e5ece3; }
.treatment-opening { padding:30px var(--page-gutter) 90px; background:#e7ede3; }
.treatment-theme-1, .treatment-theme-4 { background:#f1e3e7; }
.treatment-theme-2, .treatment-theme-5 { background:#e5edf0; }
.breadcrumbs { display:flex; flex-wrap:wrap; align-items:center; gap:10px; font-size:12px; margin-bottom:66px; color:var(--home-muted); }
.breadcrumbs a { display:inline-flex; align-items:center; min-height:44px; text-decoration:underline; text-underline-offset:4px; }
.treatment-opening-grid { display:grid; grid-template-columns:1.3fr 1fr; gap:8%; align-items:center; }
.treatment-opening h1 { color:var(--home-ink); font-size:clamp(42px,4.5vw,68px); }
.treatment-opening h1 em { color:var(--home-rose); }
.treatment-lead { margin:28px 0; font-size:18px; line-height:1.7; max-width:460px; color:var(--color-body); }
.treatment-emblem { position:relative; min-height:330px; display:grid; place-items:center; }
.treatment-emblem > svg { width:240px; height:240px; color:var(--home-ink); padding:30px; background:#fbf7f188; border-radius:50% 50% 12px 50%; transform:rotate(-8deg); }
.emblem-word { position:absolute; top:-5px; left:0; z-index:1; font-size:clamp(34px,3.5vw,52px); letter-spacing:-.05em; color:var(--home-ink); }
.emblem-caption { position:absolute; bottom:-5px; right:0; font-size:24px; line-height:1.2; color:var(--home-rose); transform:rotate(-6deg); }
.emblem-dot { width:32px; height:32px; border-radius:50%; background:#f3bc83; position:absolute; top:18%; right:7%; }
.treatment-explanation-heading { display:grid; grid-template-columns:1.2fr 1fr; gap:8%; align-items:start; }
.treatment-explanation-heading > p { font-size:var(--font-size-body); line-height:1.8; color:var(--color-body); }
.treatment-topics { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:32px; margin-top:60px; }
.treatment-topics article { border-top:1px solid var(--home-line); padding-top:26px; }
.treatment-topics .eyebrow { display:block; margin-bottom:20px; }
.treatment-topics h3, .treatment-process h3 { font-size:21px; line-height:1.25; color:var(--home-ink); }
.treatment-topics p { color:var(--color-body); line-height:1.7; margin-top:16px; }
.treatment-process { display:grid; grid-template-columns:1fr 1fr; gap:8%; background:#e7ede3; border-radius:80px 0 80px 0; }
.treatment-process ol { list-style:none; padding:0; margin:0; }
.treatment-process li { display:flex; gap:24px; padding:24px 0; border-top:1px solid var(--home-line); }
.treatment-process li > span { font-size:12px; color:var(--home-rose); }
.treatment-process li p { margin-top:12px; color:var(--color-body); line-height:1.7; }
.treatment-question { max-width:960px; margin:auto; text-align:center; }
.treatment-question h2 { color:var(--home-ink); font-size:32px; font-weight:400; line-height:1.25; letter-spacing:-.03em; }
.treatment-question p:not(.eyebrow) { margin:24px auto 0; max-width:630px; line-height:1.8; color:var(--color-body); }
.treatment-other { display:grid; grid-template-columns:1fr 1fr; gap:8%; padding-top:20px; }
.treatment-other a { display:flex; align-items:center; justify-content:space-between; gap:20px; padding:20px 0; min-height:60px; border-top:1px solid var(--home-line); color:var(--home-ink); }
.treatment-other a:hover { text-decoration:underline; text-underline-offset:6px; }
.treatment-other a span { font-size:24px; }
button:focus-visible, .treatment-card:focus-visible, .team-specialties a:focus-visible { outline:3px solid #426580; outline-offset:5px; }
@media (max-width:1000px) {
  .revision-heading { gap:5%; grid-template-columns:1.3fr 1fr; }
  .treatment-grid { gap:0 22px; }
  .journey-step { font-size:13px; gap:8px; }
  .journey-panel { gap:4%; grid-template-columns:1.1fr 1fr; }
  .google-invitation { grid-template-columns:auto 1fr; }
  .google-invitation > a { grid-column:2; justify-self:start; }
  .treatment-opening-grid { gap:4%; }
  .treatment-opening h1 { font-size:clamp(36px,4.6vw,52px); }
}
@media (max-width:700px) {
  .revision-heading { display:block; margin-bottom:32px; }
  .revision-heading > p { margin-top:24px; max-width:none; }
  .space-film { padding-bottom:32px; }
  .film-frame { border-top-right-radius:42px; }
  .film-placeholder-label .eyebrow { display:none; }
  .film-placeholder-label p { font-size:25px; }
  .film-placeholder-label > span:last-child { margin-top:16px; font-size:10px; padding:6px 12px; }
  .film-caption { font-size:10px; align-items:start; }
  .film-caption .text-link { font-size:12px; }
  .treatments-section { padding-top:32px; }
  .treatment-grid { grid-template-columns:1fr 1fr; gap:0 20px; }
  .treatment-card { padding-top:22px; }
  .treatment-card-top { display:block; }
  .treatment-card-top .eyebrow { font-size:8px; letter-spacing:.7px; margin-bottom:16px; }
  .treatment-card svg { width:65px; height:65px; }
  .treatment-card h3 { font-size:20px; }
  .treatment-card > p { font-size:14px; margin-bottom:18px; }
  .treatment-card-link { font-size:11px; gap:6px; }
  .development-journey { border-radius:45px 0 45px 0; }
  .journey-controls { grid-template-columns:1fr 1fr; }
  .journey-step { min-height:66px; padding:12px 6px; font-size:13px; }
  .journey-step > span { width:25px; height:25px; font-size:10px; }
  .journey-panel { display:block; padding-top:30px; }
  .journey-art { margin-bottom:30px; }
  .scene-word { font-size:42px; }
  .scene-footnote { font-size:10px; }
  .journey-copy { padding:10px 0 0; }
  .journey-copy h3 { max-width:18ch; font-size:30px; }
  .journey-copy .eyebrow { margin-bottom:14px; }
  .journey-copy > p:not(.eyebrow) { margin:18px 0; }
  .journey-bottom { display:block; margin-top:6px; }
  .motion-toggle { margin-top:18px; }
  .context-grid { grid-template-columns:1fr; gap:36px; }
  .context-grid h3 { font-size:23px; }
  .google-invitation { margin-bottom:56px; gap:18px; grid-template-columns:46px 1fr; }
  .google-mark { width:46px; height:46px; font-size:28px; }
  .google-invitation h2 { font-size:26px; }
  .google-invitation .eyebrow { font-size:8px; letter-spacing:1.2px; }
  .google-invitation p:not(.eyebrow) { font-size:14px; }
  .team-specialties { grid-template-columns:1fr 1fr; gap:18px; }
  .team-specialties > a { padding:25px 12px; border-radius:50px 50px 8px 8px; }
  .team-specialties a > span:first-of-type { font-size:15px; }
  .team-specialty-link { font-size:11px; }
  .treatment-opening { padding-block:16px 56px; }
  .breadcrumbs { margin-bottom:30px; gap:8px; font-size:11px; }
  .treatment-opening-grid { display:block; }
  .treatment-opening h1 { font-size:clamp(36px,8.7vw,52px); }
  .treatment-lead { font-size:16px; margin:22px 0; }
  .treatment-opening .btn2 { font-size:14px; }
  .treatment-emblem { min-height:270px; max-width:350px; margin:50px auto 0; }
  .treatment-emblem > svg { width:210px; height:210px; }
  .emblem-word { font-size:38px; }
  .emblem-caption { font-size:22px; }
  .treatment-explanation-heading, .treatment-process, .treatment-other { display:block; }
  .treatment-explanation-heading > p { margin-top:28px; }
  .treatment-topics { grid-template-columns:1fr; margin-top:38px; gap:28px; }
  .treatment-topics .eyebrow { margin-bottom:14px; }
  .treatment-process { border-radius:45px 0 45px 0; }
  .treatment-process ol { margin-top:32px; }
  .treatment-question h2 { font-size:28px; }
  .treatment-other > div:last-child { margin-top:32px; }
}
@media (max-width:360px) { .treatment-grid { gap:0 14px; } .treatment-card h3 { font-size:18px; } .treatment-card-link { font-size:10px; } }
@media (prefers-reduced-motion:reduce) {
  .scene-color { mask-image:none !important; -webkit-mask-image:none !important; }
  .baby-scene * { animation:none !important; }
  .motion-toggle { display:none; }
}

.whatsapp-cta-icon { width:20px; height:20px; display:inline-block; flex:0 0 20px; vertical-align:middle; margin-right:9px; }
a.btn > .whatsapp-cta-icon, a.btn2 > .whatsapp-cta-icon { margin-right:0; }
a.btn:has(> .whatsapp-cta-icon), a.btn2:has(> .whatsapp-cta-icon) { gap:10px; }
