/* GoodAir revision 4: official violet/navy palette and original service artwork. */
:root{--paper:#faf9fe;--purple:#6547eb;--ink:#10162a;--muted:#717385;--line:#e3dfef}html{scroll-padding-top:122px}body{background:var(--paper)}.header{height:102px;background:#faf9fef5;border-color:var(--line)}.header .brand{flex-shrink:0}.header .brand img{width:240px;height:80px;object-fit:contain}.header nav{gap:30px}.header-cta{background:var(--purple);color:#fff;border-color:var(--purple)}.header-cta:hover{background:#5134cd;color:#fff}.hero3-copy .eyebrow{color:#6f658d}.hero3-copy .eyebrow i{background:var(--purple);box-shadow:0 0 0 4px #6547eb10}.hero3-copy h1 em{color:var(--purple)}.hero3-copy>.button{background:var(--purple);color:white}.hero3-copy>.button:hover{background:#5134cd}.hero-about-link{color:#777085}.hero3-copy>p{color:var(--muted)}.hero-photo-note{background:#fbfaff;border:1px solid #ffffff70;box-shadow:0 15px 40px #16103115}.hero-photo-note>span{color:#81729f}.hero-photo-note p{color:var(--ink)}.hero-photo-note>b{color:var(--purple)}.intro-v3,.catalog-section{border-color:var(--line)}.intro-v3 .eyebrow{color:#7d6b9d}.intro-v3 strong{color:#33334e}.section-heading h2 span{color:#8a7caa}.brand-spark{font-size:21px;line-height:1;color:var(--purple);display:inline-block;animation:brand-turn 24s linear infinite}.intro-motif{display:block;margin:0 0 18px}.section-motif{width:78px;height:57px;flex-shrink:0;overflow:visible}.catalog-section .eyebrow{color:#80729a}.filters{top:102px;background:#faf9fef5;border-color:var(--line)}.filter{border-color:#dcd6ee;color:#6b6480}.filter[aria-pressed=true]{background:var(--purple);border-color:var(--purple);color:white}.filter:hover:not([aria-pressed=true]){background:#eeebfa}.group-number{color:#998bab}.group-count{border-color:#d9d1ec;color:#8c7baf}.group-header h3{color:var(--ink)}.group-header .group-context{gap:24px}.group-context p{font-size:11px;line-height:1.7;max-width:250px;color:var(--muted)}.solution{border-color:#e2ddec;background:white;min-height:240px}.solution:hover,.solution:focus-within{border-color:#b9a9f4;box-shadow:0 14px 35px #6547eb0c}.solution-thumb{background:#f0edfb;min-height:240px}.solution-thumb>.service-art{display:block;width:100%;height:100%;min-height:240px;transition:transform .6s cubic-bezier(.16,1,.3,1)}.solution:hover .service-art{transform:scale(1.035)}.image-kind{background:#ffffffdb;color:#817298;font-size:7px;padding:4px 6px;left:10px;bottom:10px}.solution-brand{color:#8b7fa0}.solution h4{color:var(--ink)}.solution-text>p{color:var(--muted)}.solution-text>button{color:var(--purple)}.solution-text>button:focus-visible{outline-color:var(--purple)}.custom-panel{background:#eeebfa;border-color:#ded6f2}.custom-copy .eyebrow,.custom-tags{color:#88759f}.custom-copy h2>span{color:var(--purple)}.custom-copy>p{color:#777087}.custom-copy .button{background:var(--purple);color:white}.blueprint-window{background:linear-gradient(145deg,#252345,#10162a);border-color:#746394;box-shadow:-15px 20px 0 -1px #eeebfa,-15px 20px 0 0 #bfb0df}.blueprint-blocks b{background:#35304f;border-color:#65528b;color:#c1a5ff}.code-line{background:#9871ef}.code-line.short{background:#67548e}.blueprint-label,.blueprint-caption{color:#8a76a4}.blueprint-grid{background-image:linear-gradient(#8c73bc22 1px,transparent 1px),linear-gradient(90deg,#8c73bc22 1px,transparent 1px)}.approach article{border-color:var(--line)}.approach article>.step-mark{display:grid;place-items:center;width:40px;height:40px;border-radius:10px;background:#eee8ff;color:var(--purple);font-size:24px;transition:transform .5s,background .5s}.approach article:hover>.step-mark{transform:translateY(-4px) rotate(-6deg);background:#e4dafe}.contact-section{background:var(--ink)}.contact-section form{background:#1c2238;border-color:#37364e}.contact-copy h2>span{color:#bdaaff}.contact-copy .eyebrow{color:#aaa0c3}.contact-copy p{color:#bbb7cd}.contact-motif{display:block;margin:0 0 22px}.contact-section .primary{background:#d7c8ff;color:#241941}.contact-section .primary:hover{background:#e1d6ff}.contact-section form label,.selected-wrap>span{color:#d4ccdf}.contact-section form input,.contact-section form textarea{border-color:#605575}.contact-section form input::placeholder,.contact-section form textarea::placeholder{color:#aaa0bb}.contact-section .selection-empty,.contact-section .form-note{color:#afa5c0}.contact-email>span{color:#bdaaff}.contact-section .selected-chip{background:#43345f;color:#ecdefe}.footer-main .brand img{width:210px;height:70px}.detail-visual{aspect-ratio:600/350;background:#f0edfb}.detail-visual>img{width:100%;height:100%;object-fit:contain}.detail-image-kind{color:#8b7b9c}
/* Individual moving parts keep every solution legible. Motion runs only in view. */
.service-art .art-float,.service-art .art-slow{animation:art-bob 6s ease-in-out infinite;animation-play-state:paused}.service-art .art-slow{animation-duration:8s;animation-delay:-2s}.service-art .art-cursor{animation:art-point 5s ease-in-out infinite;animation-play-state:paused}.service-art .art-scan{animation:art-scan 7s ease-in-out infinite;animation-play-state:paused}.service-art .art-dot,.section-motif .motif-dot{animation:art-pulse 3s ease-in-out infinite;animation-play-state:paused}.service-art .art-dot:nth-child(2n),.section-motif .motif-dot:nth-child(2n){animation-delay:-1s}.service-art .art-flow,.section-motif .motif-path{stroke-dasharray:7 10;animation:art-flow 4s linear infinite;animation-play-state:paused}.service-art .art-bar{transform-box:fill-box;transform-origin:center bottom;animation:art-grow 6s ease-in-out infinite;animation-play-state:paused}.service-art .art-bar:nth-child(2n){animation-delay:-2s}.service-art .art-pendulum{transform-origin:482px 111px;animation:art-swing 5s ease-in-out infinite;animation-play-state:paused}.section-motif .motif-cursor{animation:art-point 5s ease-in-out infinite;animation-play-state:paused}.art-visible .art-float,.art-visible .art-slow,.art-visible .art-cursor,.art-visible .art-scan,.art-visible .art-dot,.art-visible .art-flow,.art-visible .art-bar,.art-visible .art-pendulum,.art-visible .motif-cursor,.art-visible .motif-dot,.art-visible .motif-path{animation-play-state:running}.motion-paused .service-art,.motion-paused .step-mark{transition:none}.motion-paused .solution:hover .service-art{transform:none}
@keyframes art-bob{0%,100%{translate:0 0}50%{translate:0 -7px}}@keyframes art-point{0%,100%{translate:0 0}50%{translate:-5px -4px}}@keyframes art-scan{0%,100%{translate:0 0}50%{translate:45px 0}}@keyframes art-pulse{0%,100%{opacity:1}50%{opacity:.35}}@keyframes art-flow{to{stroke-dashoffset:-68}}@keyframes art-grow{0%,100%{scale:1 1}50%{scale:1 .82}}@keyframes art-swing{0%,100%{rotate:-5deg}50%{rotate:5deg}}@keyframes brand-turn{to{rotate:360deg}}
@media(max-width:1100px){.header .brand img{width:230px;height:77px}.header nav{gap:22px}.group-context p{max-width:195px}.group-header .group-context{gap:14px}.section-motif{width:65px;height:48px}.solution-thumb>.service-art{min-height:240px}}
@media(max-width:800px){.header{height:94px;gap:18px}.header .brand img{width:205px;height:69px}.header nav{gap:16px}.filters{top:94px}.group-header{gap:18px}.group-header h3{font-size:23px}.group-context p{max-width:175px;font-size:10px}.group-header .section-motif{width:55px}.solution{min-height:0}.solution-thumb{height:220px;min-height:220px;max-height:220px}.solution-thumb>.service-art{min-height:220px;max-height:220px}.solution-text{min-height:225px}}
@media(max-width:600px){html{scroll-padding-top:108px}.header{height:86px;gap:12px;padding-inline:16px}.header .brand img{width:180px;height:60px}.header nav{top:86px}.header-cta{padding:9px 12px;font-size:10px;gap:8px}.filters{top:86px}.group-header .group-context{margin:12px 0 0 24px;justify-content:space-between}.group-context p{max-width:230px;font-size:11px}.group-header .section-motif{width:55px;height:40px}.solution{grid-template-columns:1fr;display:grid;min-height:0}.solution-thumb{height:215px;min-height:215px;max-height:215px}.solution-thumb>.service-art{height:215px;min-height:215px;max-height:none}.solution-text{min-height:0;padding:23px 25px 25px}.solution h4{font-size:24px;line-height:1.15}.solution-brand{font-size:9px;margin-bottom:9px}.solution-text>p{font-size:13px;line-height:1.7;margin:13px 0 20px}.solution-text>button{font-size:11px}.image-kind{font-size:7px;left:12px;bottom:10px}.catalog-groups{gap:45px}.intro-motif{width:70px;height:50px}.approach article>.step-mark{margin:0 18px 0 0}.approach p{margin-left:58px}.approach h3{padding-top:6px}.footer-main .brand img{width:185px;height:62px}.detail-visual{aspect-ratio:600/440}}
@media(max-width:355px){.header{gap:9px;padding-inline:14px}.header .brand img{width:155px;height:52px}.header-cta{padding:9px 10px}.hero3-copy h1{font-size:61px}.solution-thumb,.solution-thumb>.service-art{height:195px;min-height:195px;max-height:195px}.solution-text{padding:22px}.solution h4{font-size:22px}.group-header h3{font-size:21px}.group-context p{max-width:190px}.footer-main .brand img{width:165px;height:55px}}
@media(prefers-reduced-motion:reduce){.service-art *,.section-motif *,.brand-spark{animation:none!important}.service-art,.step-mark{transition:none!important}}
