/* The clinic remains a readable website; the town is its optional living world. */
.sl-page .sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.sl-page .town-world{position:absolute;inset:0;z-index:1;background:radial-gradient(ellipse at 65% 39%,#eff0df66,transparent 66%)}
.sl-page .life-section:not(.immersive-ready) :is(.town-world,.world-tools){display:none}
.sl-page .town-viewport{position:absolute;inset:0;overflow:hidden;touch-action:pan-y;cursor:grab;isolation:isolate}
.sl-page .town-viewport.is-dragging{cursor:grabbing}
.sl-page .town-viewport canvas{display:block;width:100%;height:100%;outline:none;mask-image:linear-gradient(180deg,transparent,#000 7%,#000 91%,transparent)}
.sl-page .world-scrim{position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,#faf9f1 1%,#faf9f1f5 27%,#faf9f1cc 35%,transparent 53%)}
.sl-page .town-pin{position:absolute;left:0;top:0;pointer-events:none;white-space:nowrap;color:#35565e;background:#fffdf3e8;border:1px solid #dbd6bd;padding:7px 13px;border-radius:40px;font:500 11px/1.5 var(--serif);box-shadow:0 3px 15px #60764d0a}
.sl-page .town-pin i{position:absolute;left:50%;top:100%;height:20px;width:1px;background:#a8b399}
.sl-page .town-pin i::after{content:"";position:absolute;width:5px;height:5px;left:-2px;bottom:0;border-radius:50%;background:#b7a166;box-shadow:0 0 0 4px #fff6d080}
.sl-page[data-motion="on"] .life-section.immersive-ready{height:calc(100svh + 1560px)}
.sl-page .immersive-ready .life-sticky{height:760px;min-height:0;background:radial-gradient(ellipse at 73% 15%,#edf0df,transparent 55%),#faf9f1;overflow:clip}
.sl-page[data-motion="on"] .life-section.immersive-ready .life-sticky{height:min(860px,calc(100svh - var(--header-height,64px)))}
.sl-page .immersive-ready .story-scene{visibility:hidden;pointer-events:none}
.sl-page .immersive-ready .story-heading{top:8%;z-index:5;pointer-events:none}
.sl-page .immersive-ready .story-heading h2{font-size:clamp(30px,3.2vw,46px);line-height:1.5}
.sl-page .immersive-ready .chapter-nav{pointer-events:auto}
.sl-page .immersive-ready .story-poems{margin-top:37px}
.sl-page .immersive-ready .story-poems p{color:#657956}
.sl-page .immersive-ready .life-stages{bottom:65px;gap:15px}
.sl-page .immersive-ready .life-stage{background:#fffef4d9;backdrop-filter:blur(12px);border-color:#d4dbc7;box-shadow:0 8px 24px #6671410b}
.sl-page .immersive-ready .life-stage.is-active{border-color:#c5a56a;background:#fff9e9ed;box-shadow:0 12px 27px #6c663b1c}
.sl-page .world-tools{position:absolute;right:4%;top:28px;z-index:7;display:flex;align-items:center;gap:8px}
.sl-page .world-tools button{display:flex;align-items:center;justify-content:center;gap:6px;background:#fffef3db;border:1px solid #d4d7be;border-radius:40px;color:#56716a;padding:8px 13px;font:500 10px/1.5 var(--sans);min-height:38px;box-shadow:0 3px 13px #7b80520b;transition:background .3s,transform .3s;backdrop-filter:blur(8px)}
.sl-page .world-tools button:hover{background:#f6efcf;transform:translateY(-2px)}
.sl-page .world-tools button:disabled{opacity:.5;cursor:default}
.sl-page .world-tools button[aria-pressed="true"]{background:#eee4c4;border-color:#b4a174}
.sl-page .world-tools .icon{width:13px;height:15px}
.sl-page .call-bird>svg{width:25px;height:18px;transition:transform .5s}
.sl-page .call-bird[data-active="true"]>svg{transform:translateY(-3px) rotate(-12deg)}
.sl-page .world-entry{position:absolute;z-index:8;right:6%;bottom:46%;display:inline-flex;gap:10px;align-items:center;color:#54746b;font:500 11px/1.5 var(--sans);letter-spacing:.04em;padding:9px 15px;border:1px solid #bbc8aa;border-radius:30px;background:#fffceeeb;box-shadow:0 5px 20px #57735014}
.sl-page .world-entry>span{width:6px;height:6px;border-radius:50%;background:#b7a66e;box-shadow:0 0 0 4px #d4dabb50}
.sl-page .world-entry svg{width:12px;height:12px}
.sl-page .journey-bird{position:fixed;left:0;top:0;width:53px;height:34px;z-index:9;pointer-events:none;opacity:0;filter:drop-shadow(3px 6px 3px #60705928);will-change:transform,opacity}
.sl-page.bird-journey-ready .hero-bird{display:none}
.sl-page.bird-journey-ready .footer-bird{visibility:hidden}

/* Matched watercolor expression states; navigation never waits for the smile. */
.sl-page .concern{isolation:isolate;--smile:0;--face-x:0;--face-y:0}
.sl-page .concern::after{content:"";position:absolute;inset:0;border-radius:inherit;z-index:-1;background:radial-gradient(ellipse at 26% 60%,#f7e5b458,transparent 72%);opacity:var(--smile);transition:opacity .45s}
.sl-page .concern-portrait{position:relative;overflow:visible;transform-origin:50% 82%;transition:transform .6s cubic-bezier(.2,.75,.2,1)}
.sl-page.smiles-ready .concern-portrait{background-image:none}
.sl-page .portrait-rest,.sl-page .portrait-happy{position:absolute;inset:0;background-size:400% auto;background-repeat:no-repeat;background-position:inherit;transition:opacity .26s ease}
.sl-page .portrait-rest{background-image:url('./images/concern-portraits-match.webp');opacity:1}
.sl-page .portrait-happy{background-image:url('./images/concern-smiles-v3.webp');opacity:0}
.sl-page .concern:is(:hover,:focus-visible,.is-smiling){--smile:1}
.sl-page.smiles-ready .concern:is(:hover,:focus-visible,.is-smiling) .portrait-happy{opacity:1}
.sl-page.smiles-ready .concern:is(:hover,:focus-visible,.is-smiling) .portrait-rest{opacity:0}
.sl-page .concern:is(:hover,:focus-visible,.is-smiling) .concern-portrait{transform:translate3d(calc(var(--face-x)*3px),-2%,0) rotate(calc(var(--face-x)*2deg)) scale(1.055)}
.sl-page .smile-spark{position:absolute;top:18%;right:3%;font:400 23px/1 var(--serif);color:#d1ac59;opacity:0;transform:translateY(8px) scale(.5) rotate(-20deg);transition:opacity .4s,transform .6s}
.sl-page .concern:is(:hover,:focus-visible,.is-smiling) .smile-spark{opacity:1;transform:translateY(-1px) scale(1) rotate(8deg)}
.sl-page .concern-kindness{position:absolute;left:48%;bottom:13%;font:500 clamp(7px,.74vw,11px)/1.4 var(--sans);color:#839075;white-space:nowrap;opacity:0;transform:translateY(5px);transition:opacity .3s,transform .3s}
.sl-page .concern:is(:hover,:focus-visible,.is-smiling) .concern-kindness{opacity:1;transform:translateY(0)}
.sl-page .concern .chevron{margin-left:auto;margin-right:2px;transition:transform .4s}
.sl-page .concern:is(:hover,:focus-visible,.is-smiling) .chevron{transform:translateX(3px)}

@media(min-width:761px) and (max-width:1100px){
 .sl-page .immersive-ready .story-heading{width:34%;top:9%}
 .sl-page .immersive-ready .story-heading h2{font-size:30px}
 .sl-page .immersive-ready .story-intro{font-size:12px}
 .sl-page .immersive-ready .story-poems{margin-top:26px}
 .sl-page .world-tools{right:3%;top:23px}
 .sl-page .world-entry{font-size:9px;padding:6px 11px;bottom:45%}
}
@media(max-width:760px){
 .sl-page[data-motion="on"] .life-section.immersive-ready{height:calc(100svh + 1120px)}
 .sl-page .immersive-ready .life-sticky{height:714px;min-height:0}
 .sl-page[data-motion="on"] .life-section.immersive-ready .life-sticky{height:calc(100svh - 130px);min-height:560px;max-height:770px;top:64px}
 .sl-page .town-viewport{top:23%;bottom:12%;left:-8%;right:-8%}
 .sl-page .town-viewport canvas{mask-image:linear-gradient(180deg,transparent,#000 12%,#000 83%,transparent)}
 .sl-page .world-scrim{background:linear-gradient(180deg,#faf9f1 0%,#faf9f1dd 21%,transparent 38%,transparent 74%,#faf9f199 87%,#faf9f1 100%)}
 .sl-page .immersive-ready .story-heading{left:24px;right:24px;top:27px;width:auto}
 .sl-page .immersive-ready .story-heading h2{font-size:29px;line-height:1.45}
 .sl-page .immersive-ready .story-poems{margin-top:0;top:118px;width:39%}
 .sl-page .immersive-ready .story-poems p{font-size:10px}
 .sl-page .immersive-ready .life-stages{bottom:64px;gap:8px}
 .sl-page .world-tools{top:240px;right:18px;gap:5px}
 .sl-page .world-tools button{padding:5px 9px;min-height:31px;gap:4px;font-size:8px}
 .sl-page .world-tools .icon{width:11px;height:12px}
 .sl-page .call-bird>svg{width:20px;height:14px}
 .sl-page .town-pin{font-size:8px;padding:4px 8px}
 .sl-page .town-pin i{height:12px}
 .sl-page .world-entry{right:6%;bottom:auto;top:245px;font-size:9px;padding:7px 11px}
 .sl-page .journey-bird{width:35px;height:23px}
 .sl-page .concern-kindness{font-size:7px;bottom:9%}
 .sl-page .smile-spark{font-size:17px;right:0;top:15%}
}
@media(min-width:500px) and (max-width:760px){
 .sl-page .immersive-ready .story-poems{right:4%;width:35%;top:45px}
 .sl-page .immersive-ready .story-poems p{font-size:16px}
 .sl-page .town-viewport{top:20%;bottom:10%;left:0;right:0}
 .sl-page .world-tools{top:220px}
 .sl-page .world-entry{top:285px;right:8%}
}
@media(max-width:370px){
 .sl-page .immersive-ready .story-heading{left:19px;right:19px;top:22px}
 .sl-page .immersive-ready .story-heading h2{font-size:25px}
 .sl-page .world-tools{top:215px;right:16px}
 .sl-page .town-viewport{top:28%;bottom:13%;left:-9%;right:-9%}
 .sl-page .world-entry{top:239px;font-size:8px;padding:5px 8px}
 .sl-page .concern-kindness{font-size:6px}
}
@media(max-height:560px){
 .sl-page[data-motion="on"] .life-section.immersive-ready{height:auto}
 .sl-page[data-motion="on"] .life-section.immersive-ready .life-sticky{position:relative;top:auto;height:650px;min-height:650px}
}
@media(prefers-reduced-motion:reduce){
 .sl-page .journey-bird{display:none}
 .sl-page .concern-portrait{transform:none!important}
 .sl-page .life-section.immersive-ready{height:auto!important}
}
.sl-page[data-motion="off"] .journey-bird{display:none}
.sl-page[data-motion="off"] .concern-portrait{transform:none!important}
@media print{.sl-page .town-world,.sl-page .world-tools,.sl-page .world-entry,.sl-page .journey-bird{display:none!important}.sl-page .immersive-ready .story-scene{visibility:visible}}
