.direct-max{gap:14px}.direct-max>span:first-of-type{flex:1}.hero{background:radial-gradient(ellipse at 50% 35%,#435876 0,transparent 58%),#233044}.hero-copy .kicker{display:inline-block;padding:7px 15px;border-radius:999px;background:#ffffff0c;border:1px solid #ffffff22;backdrop-filter:blur(12px)}
.dark{background:radial-gradient(ellipse at 90% 0,#49617c48,transparent 55%),linear-gradient(140deg,#283950,#233044 65%)}
#problems{background:radial-gradient(ellipse at 8% 90%,#c3d6d4aa,transparent 55%),#e0e5e9}
#programs{background:radial-gradient(ellipse at 90% 10%,#cfdbdd88,transparent 50%),#f1eee5}
.problem,.program-card{border-radius:24px;overflow:hidden;box-shadow:0 8px 25px #23304409;border-color:#ffffffaa;background:linear-gradient(145deg,#ffffffb0,#ffffff45);transition:box-shadow .3s,border-color .3s}.problem-art,.program-card>img{transition:filter .4s}.program-body{padding:26px}.program-body .btn{gap:10px;font-size:.76rem}.problem h3{line-height:1.12}.problem p{line-height:1.65}
.service{position:relative;border-radius:16px;transition:background .3s,box-shadow .3s;padding-left:12px;padding-right:12px}.service .n{color:#b8d6db}.service strong{color:#f4d7a5}.service strong small{color:#d9e2ed}.service-list{border-top:0}.service:first-child{border-top:1px solid #ffffff40}
.review-card{background:linear-gradient(135deg,#ffffff16,#ffffff05);box-shadow:inset 0 1px 1px #ffffff45,0 15px 35px #14203530;border-radius:26px}.review-card blockquote{position:relative}.review-label{color:#c4d9dd}.review-source{transition:color .25s;text-decoration-color:#ffffff50}.review-source:hover{color:#f4d7a5;text-decoration-color:currentColor}
.location-copy{background:radial-gradient(ellipse at 0 0,#e3d5b6,transparent 75%),#c9b58d}.map-label{background:linear-gradient(135deg,#ffffffdf,#f1eee5b3);border:1px solid #ffffffb0;backdrop-filter:blur(22px);-webkit-backdrop-filter:blur(22px);border-radius:22px;transition:transform .3s,box-shadow .3s}.map-card{transition:filter .3s}.footer-grid .social-link{border-radius:999px;background:linear-gradient(135deg,#ffffff12,#ffffff04);transition:background .25s,transform .25s,border-color .25s}.navlinks a.is-current{color:#f4d7a5;opacity:1}.navlinks a.is-current:after{transform:scaleX(1)}
.btn:focus-visible,.navlinks a:focus-visible,.nav-cta:focus-visible,.slider-arrow:focus-visible,.social-link:focus-visible,.booking-option:focus-visible,.max-copy:focus-visible{outline:3px solid #9ec9de;outline-offset:4px}
.glass-card{background-image:radial-gradient(circle at var(--shine-x,25%) var(--shine-y,10%),#ffffff55,transparent 65%),linear-gradient(135deg,#ffffffa6,#ffffff40)}.experience-card{background-image:radial-gradient(circle at var(--shine-x,25%) var(--shine-y,10%),#819cb44a,transparent 60%),linear-gradient(150deg,#334760db,#233044ef)}.award-card{background-image:radial-gradient(circle at var(--shine-x,25%) var(--shine-y,10%),#ffffff66,transparent 65%),linear-gradient(145deg,#e5d7bca6,#ffffff40)}
.about-bento .reveal:nth-child(2){transition-delay:70ms}.about-bento .reveal:nth-child(3){transition-delay:140ms}.about-bento .reveal:nth-child(4){transition-delay:210ms}.about-bento .reveal:nth-child(5){transition-delay:280ms}.about-bento .reveal.show{transition-delay:0ms}
dialog{background:linear-gradient(145deg,#f5f7f8f5,#e8edf3f5);backdrop-filter:blur(28px);-webkit-backdrop-filter:blur(28px);border:1px solid #ffffffb0;max-height:calc(100dvh - 30px);overflow:auto}dialog[open]{animation:dialog-enter .25s ease-out}dialog::backdrop{background:#142035a6}.booking-option{width:100%;text-align:left;color:var(--ink);font:inherit;cursor:pointer;border-radius:18px}.booking-max{border-color:#59708b55;background:linear-gradient(135deg,#dbe7f3,#f6f3fb)}.booking-max summary{list-style:none;display:flex;gap:14px;align-items:center;cursor:pointer}.booking-max summary::-webkit-details-marker{display:none}.booking-max summary img{width:30px;height:30px}.booking-max summary>span:first-of-type{flex:1}.booking-max summary b,.booking-max summary small{display:block}.booking-max summary small{font-size:.72rem;color:var(--muted)}.booking-max ol{font-size:.8rem;padding-left:20px;margin:18px 0}.max-number{font-size:1.1rem;font-weight:600;letter-spacing:.025em}.max-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px}.max-copy{font:inherit;cursor:pointer}.max-actions .btn{min-height:40px;font-size:.74rem;padding:9px 14px}.copy-status{font-size:.73rem;margin:10px 0 0;min-height:1.3em}.max-fallback{font-size:.7rem;color:var(--muted);margin-top:8px}
@keyframes dialog-enter{from{opacity:0;transform:translateY(12px) scale(.98)}to{opacity:1;transform:none}}
@media(hover:hover){.problem:hover,.program-card:hover{box-shadow:0 14px 35px #23304419;border-color:#9bb9c4}.problem:hover .problem-art,.program-card:hover>img{filter:saturate(1.12)}.service:hover{background:#ffffff08;box-shadow:inset 3px 0 #b8d6db}.map-card:hover .map-label{transform:translateY(-5px);box-shadow:0 20px 40px #0003}.footer-grid .social-link:hover{transform:translateY(-3px);background:#ffffff1a}}
@media(max-width:600px){.problem,.program-card{border-radius:20px}.program-body{padding:22px}.service{padding-left:0;padding-right:0}.booking-option{padding:14px}.booking-max summary{gap:10px}.booking-max summary b{font-size:.83rem}dialog{padding:26px 20px}.max-actions{gap:8px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition-duration:0s!important;transition-delay:0s!important}html{scroll-behavior:auto}}
