/* Animation enhancement only: content remains readable with scripts disabled. */
.reading-progress{position:fixed;top:0;left:0;height:3px;width:100%;background:linear-gradient(90deg,#00c4ed,#007ebf,#00c4ed);z-index:60;transform:scaleX(0);transform-origin:left;pointer-events:none}
.motion-toggle{position:fixed;right:18px;bottom:17px;z-index:45;background:#00243ef2;border:1px solid #25bce099;color:#e8f8ff;border-radius:30px;padding:10px 13px;display:flex;align-items:center;gap:7px;font-size:10px;box-shadow:0 4px 18px #001b3520;min-height:38px;backdrop-filter:blur(8px)}.motion-toggle>span:first-child{color:#47d6f4;font-size:15px}.motion-toggle:hover{background:#07466b}.motion-toggle:focus-visible{outline:3px solid #00bce6;outline-offset:4px}
.connection-particles{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:0}.connection-particles i{position:absolute;left:var(--particle-x);bottom:-15px;width:5px;height:5px;border-radius:50%;background:#7de9ff;opacity:0;box-shadow:0 0 0 5px #00bce610}.hero-copy,.policy-hero>.container,.package-hero-grid{position:relative;z-index:1}.hero-wave{z-index:2;pointer-events:none}.motion-on .connection-particles i{animation:particle-rise var(--particle-duration) linear var(--particle-delay) infinite}.motion-on .team-hero .eyebrow,.motion-on .package-hero .eyebrow,.motion-on .policy-hero .eyebrow{animation:hero-enter .65s ease both}.motion-on .team-hero h1,.motion-on .package-hero h1,.motion-on .policy-hero h1{animation:hero-enter .8s cubic-bezier(.2,.8,.2,1) .08s both}.motion-on .hero-description,.motion-on .package-hero-grid>div>p:not(.eyebrow),.motion-on .policy-hero>.container>p:not(.eyebrow){animation:hero-enter .85s ease .16s both}.motion-on .hero-actions,.motion-on .hero-notes{animation:hero-enter .8s ease .25s both}.motion-on .portrait-frame{animation:portrait-enter 1s cubic-bezier(.2,.7,.2,1) both}.motion-on .brush-note{animation:brush-sway 5.5s ease-in-out infinite}.motion-on .portrait-outline{animation:outline-drift 5.5s ease-in-out infinite}.motion-on .status-dot{animation:signal-pulse 3s ease-in-out infinite}.motion-on .hero-wave path:first-child{animation:wave-drift 8s ease-in-out infinite;transform-origin:center}.motion-on .hero-wave path:last-child{animation:wave-drift 11s ease-in-out -3s infinite;transform-origin:center}.motion-on .mascot-welcome>.container>img{animation:mascot-float 5s ease-in-out infinite}.motion-on .package-mascot{animation:mascot-float 5.6s ease-in-out -.8s infinite}.motion-on .footer-mascot>img{animation:mascot-float 6s ease-in-out -2s infinite}.motion-on .mascot-welcome>.container>img:hover,.motion-on .package-mascot:hover,.motion-on .footer-mascot>img:hover{animation:mascot-wave .8s ease-in-out}.motion-on .motion-reveal.is-revealing{animation:section-reveal .7s cubic-bezier(.22,.7,.2,1) var(--reveal-delay,0ms) both}.motion-on .panel-entrance{animation:panel-enter .45s cubic-bezier(.2,.7,.2,1)}
.motion-on .site-header{transition:box-shadow .25s,border-color .25s}.header-scrolled{box-shadow:0 8px 28px #00243e10;border-bottom-color:#d6e9f3}.motion-on #navigation>a:not(.button){position:relative}.motion-on #navigation>a:not(.button):after{content:'';position:absolute;left:0;right:0;bottom:-8px;height:2px;background:#00bce6;transform:scaleX(0);transform-origin:left;transition:transform .25s}.motion-on #navigation>a:not(.button):hover:after,.motion-on #navigation>a[aria-current=page]:after{transform:scaleX(1)}
.button,.package-tabs button{position:relative;isolation:isolate;overflow:hidden}.button-ripple{position:absolute!important;border-radius:50%;background:#ffffff4d;pointer-events:none;z-index:-1;animation:button-ripple .6s ease-out both;max-width:none!important}.motion-on .button{transition:transform .25s,background .2s,box-shadow .25s}.motion-on .button:hover{transform:translateY(-3px);box-shadow:0 8px 22px #008bc628}.motion-on .button:active{transform:translateY(0) scale(.98)}.motion-on .button>span:not(.social-icon):not(.button-ripple){transition:transform .25s}.motion-on .button:hover>span:not(.social-icon):not(.button-ripple){transform:translate(2px,-2px)}.motion-on .social-icon{transition:transform .3s}.motion-on a:hover>.social-icon{transform:rotate(-9deg) scale(1.06)}.motion-on .connection-card,.motion-on .plan-card{transition:transform .3s,box-shadow .3s,border-color .3s}.motion-on .connection-card:hover,.motion-on .plan-card:hover{transform:translateY(-6px);box-shadow:0 15px 35px #00476c13;border-color:#00aadd}.motion-on .service-icon{transition:transform .3s}.motion-on .connection-card:hover .service-icon{transform:rotate(-8deg) scale(1.05)}.motion-on .networks-row img{transition:transform .3s}.motion-on .networks-row img:hover{transform:translateY(-4px) scale(1.04)}.motion-on .tilt-card{transition:transform .2s ease-out;transform-style:preserve-3d}.motion-on .local-team-photo>img{transition:transform .8s ease}.motion-on .local-team-photo:hover>img{transform:scale(1.025)}.motion-on .support-list article>span{transition:transform .3s}.motion-on .support-list article:hover>span{transform:rotate(-8deg)}.motion-on .availability-form input,.motion-on .availability-form select{transition:border-color .2s,box-shadow .2s}.availability-form input:focus,.availability-form select:focus{border-color:#00a9d5;box-shadow:0 0 0 3px #00bce617}.motion-on details[open]>p{animation:faq-enter .35s ease both}.motion-on .package-tabs button{transition:background .2s,color .2s,transform .2s}.motion-on .package-tabs button:active{transform:scale(.97)}.motion-on .footer-grid section>a,.motion-on .policy-navigation a{transition:color .2s,transform .2s}.motion-on .footer-grid section>a:hover,.motion-on .policy-navigation a:hover{transform:translateX(3px)}.motion-on .menu-toggle span{transition:transform .25s,opacity .2s}.motion-on .menu-toggle[aria-expanded=true] span:first-child{transform:translateY(7px) rotate(45deg)}.motion-on .menu-toggle[aria-expanded=true] span:nth-child(2){opacity:0}.motion-on .menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-7px) rotate(-45deg)}
@keyframes hero-enter{from{opacity:.05;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}
@keyframes portrait-enter{from{opacity:.1;transform:translateY(18px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}
@keyframes section-reveal{from{opacity:.12;transform:translateY(22px)}to{opacity:1;transform:translateY(0)}}
@keyframes panel-enter{from{opacity:.3;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
@keyframes mascot-float{0%,100%{transform:translateY(0) rotate(-1deg)}50%{transform:translateY(-7px) rotate(1deg)}}
@keyframes mascot-wave{0%,100%{transform:rotate(0)}25%{transform:rotate(-6deg)}65%{transform:rotate(5deg)}}
@keyframes brush-sway{0%,100%{transform:rotate(-8deg) translateY(0)}50%{transform:rotate(-6deg) translateY(-5px)}}
@keyframes outline-drift{0%,100%{transform:rotate(-12deg) translateY(0)}50%{transform:rotate(-9deg) translateY(-4px)}}
@keyframes wave-drift{0%,100%{transform:translateX(-8px) scaleX(1.035)}50%{transform:translateX(8px) scaleX(1.035)}}
@keyframes signal-pulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.65;transform:scale(.87)}}
@keyframes particle-rise{0%{opacity:0;transform:translateY(0) translateX(0)}15%{opacity:.4}80%{opacity:.15}100%{opacity:0;transform:translateY(-620px) translateX(20px)}}
@keyframes button-ripple{from{opacity:.8;transform:scale(0)}to{opacity:0;transform:scale(1)}}
@keyframes faq-enter{from{opacity:.3;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}
@keyframes menu-enter{from{opacity:.2;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:900px){.motion-on #navigation.is-open{animation:menu-enter .25s ease}.motion-on .tilt-card{transform:none!important}}
@media(max-width:600px){.motion-toggle{right:10px;bottom:10px;padding:8px 11px;font-size:9px;min-height:34px}.connection-particles i:nth-child(n+5){display:none}.motion-on .motion-reveal.is-revealing{animation-duration:.55s}.motion-on .mascot-welcome>.container>img{animation-duration:6s}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}*,*:before,*:after{animation:none!important;transition:none!important}.connection-particles{display:none}.motion-on .tilt-card{transform:none!important}}
html:not(.motion-on){scroll-behavior:auto}html:not(.motion-on) *,html:not(.motion-on) *:before,html:not(.motion-on) *:after{animation:none!important;transition:none!important}
@media print{.reading-progress,.motion-toggle,.connection-particles{display:none!important}*,*:before,*:after{animation:none!important;transform:none!important;opacity:1!important}}
