/* A larger introduction. More original-smile movement, with readable content. */
.ux-opening .opening-grid{grid-template-columns:1.35fr .9fr;gap:44px;min-height:640px;padding-block:70px 75px}
.ux-opening .brand-stage{max-width:690px;width:100%;padding-top:76px;position:relative}
.ux-opening .hero-logo{width:100%;max-width:none}
.ux-opening .brand-caption{font-size:1.6rem;margin-top:12px;letter-spacing:.02em}
.ux-opening .replay-logo{font-size:.8125rem;margin-top:16px;min-height:44px}
.ux-opening .opening-copy h1{font-size:clamp(2.7rem,4.2vw,4.15rem)}
.ux-opening .opening-copy .ux-audience-line{font-size:.875rem}
.ux-child-spotlight{display:grid;grid-template-columns:1fr 1.05fr;gap:70px;padding-block:58px 66px;border-block:1px solid var(--color-line);margin-bottom:50px}
.ux-child-spotlight h2{font-size:clamp(2.2rem,3.6vw,3.5rem);line-height:1.16;margin:0}
.ux-child-spotlight .eyebrow{margin-bottom:22px}
.ux-child-spotlight>div>p{font-size:1rem;line-height:1.8;color:var(--color-muted);max-width:61ch}
.ux-child-pathways{display:grid;margin-top:20px}
.ux-child-pathways>a{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:16px 0;border-bottom:1px solid var(--color-line);font-size:.9375rem;text-decoration:none;min-height:52px}
.ux-child-pathways>a>span{color:var(--color-gold);transition:transform .3s}
.ux-child-pathways>a:hover>span{transform:translateX(5px)}
.ux-child-pathways>a:hover{color:var(--color-gold)}
.child-jump-links{padding-bottom:20px;margin-top:0}
.page-hero>.container{position:relative;z-index:1}
.ux-service-row h3,.ux-care-link h3{padding-top:5px}
.uno-await{opacity:0;transform:translateY(23px)}
.uno-visible{opacity:1;transform:translateY(0);transition:opacity .65s ease var(--uno-reveal-delay,0ms),transform .8s cubic-bezier(.2,.75,.3,1) var(--uno-reveal-delay,0ms)}
.ux-care-link:hover,.ux-service-row:hover{border-color:#d7b87999;transition:border-color .3s}
.ux-hero-actions .button,.ux-start .button,.ux-next .button{transition:box-shadow .3s,background .3s,transform .3s}
.ux-hero-actions .button:hover,.ux-start .button:hover,.ux-next .button:hover{box-shadow:0 6px 28px #d7b87925;transform:translateY(-2px)}
.page-enter{animation:uno-page-enter .48s ease both}
body:before{content:'';position:fixed;top:0;left:0;width:100%;height:3px;background:var(--color-gold);transform:scaleX(var(--uno-read-progress,0));transform-origin:left;z-index:2000;pointer-events:none}
@keyframes uno-page-enter{from{opacity:.65;transform:translateY(9px)}to{opacity:1;transform:none}}
.quiet .uno-await{opacity:1;transform:none}
@media(max-width:1020px){.ux-opening .opening-grid{grid-template-columns:1.15fr 1fr;gap:30px}.ux-opening .brand-stage{padding-top:50px}.ux-opening .opening-copy h1{font-size:clamp(2.5rem,4.6vw,3.6rem)}.ux-child-spotlight{gap:40px}}
@media(max-width:760px){
 .ux-opening .opening-grid{display:flex;flex-direction:column;gap:30px;padding-block:30px 45px;min-height:0}
 .ux-opening .brand-stage{width:100%;max-width:430px;padding-top:64px;align-self:center}
 .ux-opening .brand-caption{font-size:1.35rem;margin-top:0}
 .ux-opening .replay-logo{position:static;width:auto;height:auto;overflow:visible;font-size:.8125rem;margin:10px auto 0}
 .ux-opening .replay-logo>span{font-size:1rem}
 .ux-opening .opening-copy h1{font-size:clamp(2.45rem,8.6vw,3.5rem)}
 .ux-child-spotlight{grid-template-columns:1fr;gap:25px;padding-block:38px 42px;margin-bottom:35px}
 .ux-child-spotlight h2{font-size:clamp(2rem,7.3vw,2.8rem)}
 .ux-child-spotlight>div>p{font-size:.9375rem}
 .ux-child-pathways>a{font-size:.875rem}
}
@media(prefers-reduced-motion:reduce){.uno-await{opacity:1;transform:none}.uno-traveler,.uno-hero-smile,.uno-bridge-line,.uno-visible,.page-enter{animation:none!important;transition:none!important;transform:none!important}}
@media print{.uno-smile-bridge,.uno-service-smile,.uno-hero-smile,body:before{display:none!important}.uno-await{opacity:1;transform:none}.ux-child-spotlight{display:block}}
/* Clear, age-appropriate places for young people and their parents. */
.youth-welcome{display:grid;grid-template-columns:1fr 1fr;gap:28px;padding-block:30px 45px}
.youth-welcome-card{position:relative;overflow:hidden;border:1px solid var(--color-line);border-radius:14px;background:var(--color-deep);padding:34px}
.youth-welcome-card:before{content:'';position:absolute;right:-48px;top:-48px;width:160px;height:160px;border:1px solid #d7b87938;border-radius:50%;pointer-events:none}
.youth-welcome-card:nth-child(2):before{border-color:#b9cfdc38}
.youth-welcome-card .eyebrow{font-size:.75rem;margin-bottom:21px}
.youth-welcome-card h3{font-size:clamp(2rem,3vw,2.85rem);line-height:1.16;margin-bottom:25px}
.youth-welcome-card p{color:var(--color-muted);font-size:.9375rem;line-height:1.8}
.youth-welcome-card .youth-reassurance{color:var(--color-light);border-left:2px solid var(--color-gold);padding-left:18px;margin-top:22px}
.youth-welcome-card .text-link{font-size:.875rem;margin-top:7px}
.youth-conversation{display:grid;grid-template-columns:.9fr 1.1fr;gap:65px;padding-block:30px 60px;align-items:start}
.youth-conversation h2{font-size:clamp(2.2rem,3.5vw,3.35rem);line-height:1.16;margin-bottom:23px}
.youth-conversation>div>p{font-size:.9375rem;color:var(--color-muted);line-height:1.8;max-width:45ch}
.youth-topic-card{border:1px solid var(--color-line);border-radius:14px;padding:28px;background:var(--color-slate,var(--color-deep))}
.youth-topic-choices{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.youth-topic-choices button{border:1px solid var(--color-line);border-radius:22px;background:transparent;color:var(--color-light);font:inherit;font-size:.8125rem;line-height:1.4;min-height:48px;padding:11px 14px;cursor:pointer;transition:border-color .2s,background .2s}
.youth-topic-choices button[aria-pressed=true]{border-color:var(--color-gold);background:#d7b87918;color:var(--color-gold)}
.youth-topic-choices button:hover{border-color:var(--color-gold)}
.youth-topic-choices button:focus-visible{outline:2px solid var(--color-light);outline-offset:3px}
.youth-topic-panel{border-top:1px solid var(--color-line);margin-top:25px;padding-top:25px;min-height:250px}
.youth-topic-panel h3{font-size:1.85rem;line-height:1.2;margin-bottom:18px}
.youth-topic-panel p{font-size:.9375rem;line-height:1.8;color:var(--color-muted)}
.youth-topic-panel .text-link{font-size:.875rem}
#parent-support .ux-related-links{margin-bottom:0}
@media(max-width:760px){.youth-welcome{grid-template-columns:1fr;gap:22px;padding-block:20px 25px}.youth-welcome-card{padding:27px}.youth-welcome-card h3{font-size:2.2rem}.youth-conversation{grid-template-columns:1fr;gap:25px;padding-block:20px 40px}.youth-conversation h2{font-size:2.2rem}.youth-topic-card{padding:22px}.youth-topic-panel{min-height:280px}.youth-topic-panel h3{font-size:1.7rem}.child-jump-links{gap:0 22px}}

.ux-child-spotlight>div>.text-link{margin-top:22px;font-size:.875rem}
/* Visible kinetic typography: persistent white U-N-O, coordinated accents. */
.uno-word-section{padding-block:52px 62px}
.uno-word-feature{padding-block:36px 42px;border-top:1px solid var(--color-line)}
.uno-word-feature .uno-word-intro .eyebrow{margin-bottom:12px}
.uno-word-panel{padding:20px 0 24px;margin-top:24px;overflow:hidden}
.uno-word-feature .uno-word-panel{border-top:0;margin-top:0}
.uno-word-stage{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:clamp(36px,12vw,120px);font-weight:600;height:clamp(110px,17vw,200px);overflow:hidden}
.uno-word-stage span{width:.64em;line-height:1.3;top:14px}
.uno-anchor{color:#fff;transition:transform 260ms cubic-bezier(.2,.8,.3,1),font-size 260ms ease}
.uno-extra{text-shadow:0 0 28px color-mix(in srgb,var(--letter-color) 24%,transparent)}
.uno-word-meaning{font-size:clamp(1.15rem,2vw,1.6rem);min-height:2em;max-width:none;text-align:center;margin:8px 0 20px;color:var(--color-light)}
.uno-word-controls{justify-content:center;gap:26px}
.uno-word-controls button{min-height:44px;font-size:.875rem;color:var(--color-gold)}
.uno-word-intro h2{font-size:clamp(2.2rem,3.8vw,3.5rem);max-width:26ch}
/* A small visual learning library: images lead, videos stay opt-in. */
.learning-feature,.learning-process,.watch-teaser{display:grid;grid-template-columns:1fr 1fr;gap:65px;align-items:center;padding-block:45px 55px}
.learning-feature>div>h2,.learning-process>div>h2,.watch-teaser h2,.therapy-format-section>h2{font-size:clamp(2.1rem,3.7vw,3.35rem);line-height:1.16;margin-bottom:23px}
.learning-feature>div>p,.learning-process>div>p,.watch-teaser p{max-width:49ch;font-size:1rem;color:var(--color-muted);line-height:1.8}
.learning-feature>.watch-card{max-width:540px;width:100%;justify-self:end}
.learning-library{padding-block:45px 60px;scroll-margin-top:130px}
.learning-library .ux-section-heading{align-items:center}.learning-library .ux-section-heading>p{max-width:34ch;font-size:.9375rem;color:var(--color-muted)}
.watch-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px;margin-bottom:30px}
.watch-card{display:block;text-decoration:none;min-width:0;padding-bottom:23px;border-bottom:1px solid var(--color-line)}
.watch-art{position:relative;display:block;overflow:hidden;aspect-ratio:16/10;background:var(--color-deep);margin-bottom:20px;border-radius:5px}
.watch-art>img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease,filter .5s}
.watch-play{display:grid;place-items:center;position:absolute;top:calc(50% - 28px);left:calc(50% - 28px);width:56px;height:56px;border-radius:50%;background:#071c2ce8;border:1px solid var(--color-gold);color:var(--color-gold);transition:transform .3s}
.watch-play>svg{width:30px;height:30px}
.watch-source{display:block;font-size:.6875rem;color:var(--color-gold);line-height:1.6;margin-bottom:10px}
.watch-card h3{font-size:1.7rem;line-height:1.2;margin:0 0 13px}
.watch-card p{font-size:.875rem;line-height:1.75;color:var(--color-muted);margin-bottom:17px}
.watch-action{font-size:.8125rem;color:var(--color-gold);display:flex;gap:15px;align-items:center}
.watch-card:hover{border-color:var(--color-gold)}.watch-card:hover .watch-art>img{transform:scale(1.035);filter:brightness(1.08)}.watch-card:hover .watch-play{transform:scale(1.08)}
.learning-note{max-width:85ch;color:var(--color-muted);font-size:.8125rem;line-height:1.8;margin-top:22px}
.learning-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:25px;list-style:none;padding:0;margin:0}
.learning-steps li{border-top:1px solid var(--color-line);padding-top:18px}
.learning-steps svg{display:block;width:85px;height:64px;fill:none;stroke:var(--color-gold);stroke-width:2;stroke-linecap:round;stroke-linejoin:round;margin-bottom:20px}
.learning-steps h3{font-size:1.7rem;margin-bottom:15px}.learning-steps p{font-size:.875rem;line-height:1.75;color:var(--color-muted)}
.learning-process{grid-template-columns:.55fr 1.45fr;border-top:1px solid var(--color-line);gap:45px}
.learning-explain{padding-bottom:35px}
.therapy-format-section{padding-block:42px 35px}.therapy-format-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:25px;margin:30px 0 22px}
.therapy-format{display:block;border:1px solid var(--color-line);padding:22px;text-decoration:none;border-radius:5px}
.therapy-format>svg{display:block;width:100px;height:75px;fill:none;stroke:var(--color-gold);stroke-width:1.7;stroke-linecap:round;margin-bottom:17px}
.therapy-format h3{font-size:1.65rem;margin-bottom:12px}.therapy-format p{font-size:.8125rem;line-height:1.7;color:var(--color-muted);margin:0}.therapy-format:hover{border-color:var(--color-gold)}
.watch-teaser{padding-block:40px 60px;border-top:1px solid var(--color-line)}
.watch-teaser-art{display:block;position:relative;aspect-ratio:16/10;overflow:hidden}.watch-teaser-art>img{width:100%;height:100%;object-fit:cover}.watch-teaser-label{position:absolute;bottom:0;left:0;right:0;background:#04131feb;padding:13px 18px;color:var(--color-light);font-size:.8125rem}
@media(max-width:760px){
 .uno-word-section{padding-block:32px 38px}.uno-word-stage{font-size:clamp(36px,12vw,72px);height:112px}.uno-word-panel{padding-top:10px;margin-top:15px}.uno-word-meaning{font-size:1.05rem;min-height:2.5em;margin-top:0}.uno-word-controls{gap:22px}.uno-word-intro h2{font-size:2.1rem}
 .learning-feature,.learning-process,.watch-teaser{grid-template-columns:1fr;gap:25px;padding-block:30px 38px}.learning-feature>div>h2,.learning-process>div>h2,.watch-teaser h2,.therapy-format-section>h2{font-size:2.1rem}.learning-feature>div>p,.learning-process>div>p,.watch-teaser p{font-size:.9375rem}
 .learning-library{padding-block:32px 40px}.learning-library .ux-section-heading{display:block}.learning-library .ux-section-heading>p{margin-top:20px;max-width:none}.watch-grid{grid-template-columns:1fr;gap:28px}.watch-card h3{font-size:1.7rem}.watch-card p{font-size:.9375rem}.watch-source{font-size:.75rem}
 .learning-steps{gap:14px}.learning-steps svg{width:62px;height:48px;margin-bottom:15px}.learning-steps h3{font-size:1.4rem}.learning-steps p{font-size:.8125rem;line-height:1.7}
 .therapy-format-grid{grid-template-columns:1fr 1fr;gap:14px}.therapy-format{padding:17px}.therapy-format h3{font-size:1.5rem}.therapy-format>svg{width:85px;height:65px}.therapy-format-section{padding-block:30px}
}
@media(max-width:360px){.learning-steps{grid-template-columns:1fr}.learning-steps li{display:grid;grid-template-columns:60px 1fr;column-gap:17px}.learning-steps svg{grid-row:1/3}.learning-steps h3{margin-bottom:9px}.learning-steps p{margin:0}}
@media print{.uno-brand-moment,.uno-hero-smile,.uno-cta-smile,.watch-guide,.watch-play{display:none!important}.learning-feature,.watch-grid,.watch-teaser,.learning-process,.therapy-format-grid{display:block}.watch-card{break-inside:avoid;max-width:320px;margin-bottom:20px}}

/* Standalone faces remain visible; only their transforms move gently. */
.uno-moment{height:160px;position:relative;pointer-events:none;overflow:hidden;margin-block:12px 24px}
.uno-moment-lane{height:100%;max-width:640px;margin-inline:auto;position:relative;overflow:hidden}
.uno-moment-glyph{display:block;position:absolute;left:calc(50% - 55px);top:22px;width:110px;height:114px;visibility:visible;--uno-roam:clamp(32px,10vw,90px)}
.uno-moment-glyph svg{display:block;width:100%;height:100%;overflow:visible}
.uno-moment-play[data-uno-style=zoom] .uno-moment-glyph{animation:uno-moment-zoom 4.6s ease-in-out infinite}
.uno-moment-play[data-uno-style=twirl] .uno-moment-glyph{animation:uno-moment-twirl 7s ease-in-out infinite}
.uno-moment-play[data-uno-style=bounce] .uno-moment-glyph{animation:uno-moment-ball 3.8s ease-in-out infinite}
.uno-moment-play[data-uno-style=sweep] .uno-moment-glyph{animation:uno-moment-sweep 5s ease-in-out infinite}
@keyframes uno-moment-zoom{0%,100%{transform:scale(1)}25%{transform:scale(1.16)}55%{transform:scale(.9)}75%{transform:scale(1)}}
@keyframes uno-moment-twirl{0%{transform:rotate(0deg)}20%{transform:rotate(-8deg)}42%{transform:rotate(8deg)}60%{transform:rotate(0deg)}82%,100%{transform:rotate(360deg)}}
@keyframes uno-moment-ball{0%,70%,100%{transform:translate(0,0) rotate(0deg)}15%{transform:translate(-36px,-12px) rotate(-15deg)}28%{transform:translate(-18px,0) rotate(-6deg)}40%{transform:translate(8px,-8px) rotate(5deg)}52%{transform:translate(30px,0) rotate(14deg)}}
@keyframes uno-moment-sweep{0%,100%{transform:translateX(0) rotate(0deg)}25%{transform:translateX(calc(-1 * var(--uno-roam))) rotate(-12deg)}65%{transform:translateX(var(--uno-roam)) rotate(12deg)}}
.uno-motion-paused .uno-moment-glyph{animation-play-state:paused!important}
.quiet .uno-moment-glyph{animation:none!important;transform:none!important}
@media(prefers-reduced-motion:reduce){.uno-moment-glyph{animation:none!important;transform:none!important}.uno-anchor{transition:none}}
@media print{.uno-moment{display:none}}
/* Useful discovery links without expanding the main menu. */
.care-directory-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:40px 65px;padding-block:20px 65px}
.care-directory-group h2{font-size:2rem;margin-bottom:22px}.care-directory-group ul{list-style:none;padding:0;margin:0}.care-directory-group li{border-bottom:1px solid var(--color-line)}.care-directory-group a{display:block;padding:14px 0;font-size:.9375rem;text-decoration:none;line-height:1.6}.care-directory-group a:hover{color:var(--color-gold)}
.care-related{border-top:1px solid var(--color-line);padding-block:30px 38px}.care-related>div{display:flex;flex-wrap:wrap;gap:13px 30px}.care-related a{font-size:.875rem;color:var(--color-light);text-underline-offset:5px;line-height:1.7}.care-related a:hover{color:var(--color-gold)}.local-care{padding-block:28px 42px}
@media(max-width:760px){.care-directory-grid{grid-template-columns:1fr;gap:30px}.care-related>div{display:grid;gap:13px}}
/* Never put animated smile overlays on a video or run competing face clocks. */
.watch-guide,.watch-card [data-uno-face],.watch-art [data-uno-face]{display:none!important}
.uno-moment-glyph .logo-o,.uno-moment-glyph .logo-roll,.uno-moment-glyph .logo-face{animation:none!important;transition:none!important}

.uno-moment-play .uno-moment-glyph{visibility:visible}
.uno-moment[hidden]{display:none}
/* Original artwork appears directly in the shared header and footer. */
.brand{text-decoration:none}.footer-wordmark{display:block;width:155px;margin-bottom:22px;text-decoration:none}.footer-wordmark>svg{display:block;width:100%;height:auto}
@media(max-width:760px){.uno-moment{height:148px;margin-block:8px 18px}.uno-moment-glyph{width:100px;height:104px;left:calc(50% - 50px)}}
.footer-practice-name{display:inline-block;font-family:UnoSerif,Georgia,serif;font-size:2rem;color:var(--color-light);text-decoration:none;margin-bottom:22px}

/* Full practice geography is visible above the page's opening content. */
.practice-reach{background:var(--color-deep);border-bottom:1px solid var(--color-line)}
.practice-reach>.container{display:flex;flex-wrap:wrap;gap:4px 40px;align-items:center;justify-content:space-between;padding-block:12px}
.practice-reach p{margin:0;font-size:.875rem;line-height:1.6;color:var(--color-light)}
.practice-reach strong{font-weight:600;color:var(--color-gold);margin-right:10px}
.practice-reach a{text-decoration:none;text-underline-offset:4px}.practice-reach a:hover,.practice-reach a:focus-visible{text-decoration:underline}
@media(max-width:760px){.practice-reach>.container{display:block;padding-block:11px}.practice-reach p{font-size:.8125rem}.practice-reach p+p{margin-top:5px}}
/* Educational videos stay inside closed optional disclosures. */
.optional-video-library .watch-grid{margin-top:24px}.optional-emdr-video .watch-card{max-width:520px;margin-block:24px}
