/* 1.0: lighter hierarchy; decorative motion stays in the margins. */
:root{--page-gap:88px;--shadow:0 18px 55px #2450a511}.header{background:var(--glass);backdrop-filter:blur(24px) saturate(135%);box-shadow:0 7px 32px #244a8a0a}.header-inner{height:100px}.section:before{opacity:.38}.ambient-art{opacity:.65}.deco-flower{opacity:.48}.hero-bottom{gap:20px}.hero .lead{font-size:21px}.hero-foot{font-size:18px}.hero:before{opacity:.65}.course p{font-size:19px;line-height:1.85}.course h3{font-size:29px}.course-img{height:270px}.course-body{padding:30px}.course{box-shadow:0 10px 32px #244a8a08}.course:hover{transform:translateY(-7px) rotate(-.25deg)}.course:nth-child(2n):hover{transform:translateY(-7px) rotate(.25deg)}.about-copy p{font-size:20px;line-height:1.9}.about-line{font-size:19px}.step{box-shadow:none}.newsletter,.review-box,.fact,.age-finder,.staff-card,.schedule-shell{box-shadow:0 14px 45px #244a8a0c}.home-schedule:after{opacity:.035}.section-top .lead{font-size:19px;line-height:1.85}.content-outline{display:flex;gap:11px;flex-wrap:wrap;padding:22px 0 10px}.content-outline a{padding:12px 17px;border-radius:17px;border:1px solid var(--line);background:var(--paper);font-size:17px;color:var(--blue)}.structured-copy{display:grid;gap:22px;max-width:950px}.structured-copy p,.structured-copy li{font-size:19px;line-height:1.95;color:var(--muted);margin:0}.structured-copy h3{font-size:29px;line-height:1.3;margin-top:20px}.structured-copy ul{padding-left:25px;display:grid;gap:14px;margin:0}.source-details{margin-top:30px;border:1px solid var(--line);border-radius:27px;padding:24px 28px;background:var(--paper)}.source-details summary{font-size:19px;font-weight:700;cursor:pointer;line-height:1.7;color:var(--blue)}.info-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:26px;margin-top:30px}.info-block{padding:32px;border-radius:31px;background:var(--paper);border:1px solid var(--line)}.info-block h3{font-size:28px;margin-bottom:17px;line-height:1.3}.info-block p{font-size:19px;line-height:1.9;color:var(--muted)}.assistant-character{width:80px;height:94px;background:transparent;box-shadow:none;border:0;padding:0;overflow:visible;right:20px;bottom:15px;border-radius:24px;animation:assistant-float 7s ease-in-out infinite}.assistant-character:hover{box-shadow:none;transform:translateY(-5px) rotate(-3deg)}.assistant-character[aria-expanded=true]{height:64px;width:64px;background:var(--blue);box-shadow:0 12px 35px #154bca25;right:27px;bottom:25px;animation:none}.assistant-avatar{width:80px!important;height:88px!important;overflow:visible;filter:drop-shadow(0 12px 13px #17478728)}.assistant-eyes{transform-box:fill-box;transform-origin:center;animation:assistant-blink 8s 2s infinite}.chat{bottom:116px}.chat-head{background:var(--glass);backdrop-filter:blur(16px)}.chat-log{max-height:330px}.honeypot{position:absolute!important;left:-10000px!important;top:auto!important;width:1px!important;height:1px!important;overflow:hidden!important}.chat-sources{font-size:16px;color:var(--muted)}.notice{font-size:17px;line-height:1.85}.privacy-demo{font-size:16px;line-height:1.8;color:var(--muted)}.footer .row{gap:15px 24px}.api-state{font-size:17px;color:var(--muted)}.archive-price-details .source-text{max-height:450px}.age-finder .ghost-star{opacity:.045}.photo-note{background:var(--glass);backdrop-filter:blur(16px);border-color:#ffffff80}.modal-head{background:var(--glass);backdrop-filter:blur(18px)}.contact-art:after{opacity:.04}.map{box-shadow:none}.cookie,.compare-float{display:none!important}.site-breadcrumb{margin-top:24px;font-size:17px}.chat-actions button{min-height:45px}.chat-form button{font-size:17px}.faq-list .faq-item p{font-size:19px;line-height:1.9}@keyframes assistant-float{50%{translate:0 -7px}}@keyframes assistant-blink{0%,40%,44%,100%{scale:1 1}42%{scale:1 .12}}
@media(max-width:1000px){.info-grid{grid-template-columns:1fr}.content-outline{gap:10px}.content-outline a{font-size:17px}}
@media(max-width:680px){:root{--page-gap:65px}.header-inner{height:85px}.hero .lead{font-size:20px}.hero h1{font-size:clamp(62px,12vw,81px)}.course-img{height:285px}.course p{font-size:19px}.course h3{font-size:28px}.structured-copy p,.structured-copy li{font-size:19px;line-height:1.9}.structured-copy h3{font-size:27px}.source-details{padding:23px;border-radius:25px}.source-details summary{font-size:19px}.info-block{padding:28px}.info-block h3{font-size:28px}.info-block p{font-size:19px}.assistant-character{right:12px;bottom:12px;width:76px;height:88px}.assistant-character .assistant-avatar{width:76px!important;height:84px!important}.assistant-character[aria-expanded=true]{right:18px;bottom:22px;width:62px;height:62px}.chat{bottom:106px}.content-outline{display:flex;flex-wrap:wrap}.content-outline a{padding:12px 15px;flex:auto;text-align:center}.hero-bottom{font-size:17px}.notice{font-size:17px}.section-top h2{font-size:39px}.age-finder{padding:29px 24px}}
@media print{.assistant-character{display:none!important}}
@media(prefers-reduced-motion:reduce){.assistant-character,.assistant-eyes{animation:none!important}.assistant-character:hover{transform:none}}

/* QA 2.0.2: small screens, long source text and fixed-header anchors. */
#main,[id^="course-"]{scroll-margin-top:120px}.structured-copy,.source-text,.booking-summary b,.contact-details a{overflow-wrap:anywhere}.info-grid>*,.contact-grid>*,.calc-grid>*,.hero-grid>*{min-width:0}.chat-log{min-height:0;flex:1 1 auto}.chat-head,.chat-actions,.chat-input,.chat-disclaimer{flex-shrink:0}.chat-input input{min-width:0}.chat-disclaimer{overflow-wrap:anywhere}.chat{max-height:calc(100dvh - 135px)}
@media(max-height:600px){.chat{bottom:92px;max-height:calc(100dvh - 105px);overflow-y:auto}.chat-log{flex:0 0 auto;max-height:30dvh}.chat-head,.chat-input{padding:12px}.chat-disclaimer{margin:8px 14px}}
@media(max-width:680px){#main,[id^="course-"]{scroll-margin-top:100px}.contact-details a{max-width:100%}.booking-summary>div{gap:12px;flex-wrap:wrap}.content-outline .btn{white-space:normal;text-align:center}.header-tools{flex-shrink:0}}
/* Local assistant: readable paragraphs and compact, explicit next steps. */
.bubble{white-space:pre-line}.bot-chip{padding:11px 15px;background:var(--bg);color:var(--blue);border:1px solid var(--line);border-radius:18px;text-align:left;font:inherit;font-size:16px;line-height:1.5}.bot-action{white-space:normal!important;text-align:left;justify-content:flex-start}.chat-log .bot-action{width:100%}.chat-head small{display:block;line-height:1.5}.chat-actions{flex-wrap:wrap}
.privacy-policy-text{max-height:45dvh;overflow:auto;padding:22px;margin:20px 0;background:var(--bg);border:1px solid var(--line);border-radius:22px}.privacy-policy-text:focus-visible{outline:3px solid var(--blue);outline-offset:3px}.form-policy{margin-top:18px;font-size:17px;line-height:1.7}.form-policy a{text-decoration:underline;text-underline-offset:4px}
