/* Each concept has its own visual identity; all interactions stay in this demo. */
.cgx-gallery{color:#181b20;font-family:Manrope,Arial,sans-serif}
.cgx-heading{display:flex;justify-content:space-between;align-items:end;gap:28px;margin-bottom:24px}
.cgx-heading h2{font:500 clamp(27px,3vw,44px)/1.1 Bricolage,Manrope,sans-serif;letter-spacing:-1.5px;margin:0;max-width:680px}
.cgx-heading p{font-size:13px;line-height:1.6;max-width:280px;margin:0;color:#686d71}
.cgx-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.cgx-project{min-width:0}
.cgx-tile{position:relative;display:block;width:100%;height:370px;padding:0;border:0;border-radius:2px;overflow:hidden;text-align:left;cursor:pointer;box-shadow:none;color:inherit;font:inherit;isolation:isolate}
.cgx-tile:focus-visible,.cgx-dialog :is(button,input,select):focus-visible{outline:3px solid #4a69ff;outline-offset:5px}
.cgx-tile-label{position:absolute;top:25px;left:27px;z-index:2;font-size:11px;font-weight:600;letter-spacing:.1em;text-transform:uppercase}
.cgx-tile-open{position:absolute;bottom:23px;right:24px;z-index:2;display:grid;place-items:center;width:44px;height:44px;border:1px solid currentColor;border-radius:50%;font-size:22px;transition:transform .25s,background .25s}
.cgx-tile:hover .cgx-tile-open{transform:rotate(45deg)}
.cgx-caption{display:flex;justify-content:space-between;gap:12px;padding-top:16px;font-size:13px;line-height:1.5}
.cgx-caption strong{font-weight:600}.cgx-caption span{color:#5f686b;font-size:12px}
.cgx-shift-tile{background:#dfff00;color:#151714}
.cgx-shift-word{position:absolute;left:25px;top:69px;z-index:2;font:800 clamp(62px,8vw,128px)/.77 Bricolage,Arial,sans-serif;letter-spacing:-.09em;transform:scaleX(.94);transform-origin:left}
.cgx-shift-word small{display:block;margin-top:22px;font:600 15px/1.2 Manrope,sans-serif;letter-spacing:.02em}
.cgx-shift-track{position:absolute;width:330px;height:440px;border:50px solid #244cff;border-radius:50%;transform:rotate(36deg);right:-115px;top:12px;transition:transform .5s cubic-bezier(.2,.8,.2,1);box-shadow:inset 0 0 0 9px #dfff00,0 0 0 9px #dfff00,0 0 0 12px #244cff}
.cgx-shift-tile:hover .cgx-shift-track{transform:rotate(50deg) translateY(-8px)}
.cgx-shift-stamp{position:absolute;bottom:29px;left:28px;display:flex;align-items:center;gap:10px;font-size:10px;text-transform:uppercase;letter-spacing:.12em}.cgx-shift-stamp:before{content:'+';font-size:33px;line-height:1}
.cgx-current-tile{background:#122841;color:#f7f9ee}
.cgx-current-word{position:absolute;top:67px;left:27px;font:500 clamp(44px,5.5vw,84px)/.9 Bricolage,Arial,sans-serif;letter-spacing:-.06em;z-index:2}
.cgx-current-word small{display:block;font:400 11px/1.3 Manrope,Arial,sans-serif;letter-spacing:.1em;margin-top:15px;text-transform:uppercase;color:#b7c9d5}
.cgx-tile-house{position:absolute;width:66%;height:75%;right:-2%;bottom:-5%;color:#ffdc54;transform:rotate(-9deg);transition:transform .5s cubic-bezier(.2,.8,.2,1)}
.cgx-current-tile:hover .cgx-tile-house{transform:rotate(-3deg) translateY(-5px)}
.cgx-current-tile .cgx-tile-open{color:#ffdc54;background:#122841}.cgx-tile-tag{position:absolute;bottom:30px;left:27px;font-size:11px;letter-spacing:.07em;text-transform:uppercase}
.cgx-dialog{width:min(1180px,calc(100vw - 48px));max-width:none;max-height:calc(100dvh - 48px);height:auto;position:fixed;margin:auto;padding:0;border:0;border-radius:4px;overflow:auto;background:#fff;color:#151714;box-shadow:0 30px 120px #0005;font:400 14px/1.6 Manrope,Arial,sans-serif;overscroll-behavior:contain}
.cgx-dialog::backdrop{background:#08121bd9;backdrop-filter:blur(8px)}
.cgx-dialog[open]{animation:cgx-enter .25s ease-out}
.cgx-dialog *{box-sizing:border-box}
.cgx-dialog :is(h2,h3,p){margin:0;color:inherit}
.cgx-dialog button{font:inherit;cursor:pointer;box-shadow:none;text-transform:none;letter-spacing:inherit;min-height:0}
.cgx-dialog [hidden]{display:none!important}
.cgx-demo-bar{position:sticky;top:0;z-index:20;display:flex;justify-content:space-between;align-items:center;gap:14px;padding:12px 24px;background:#f4f5f6;border-bottom:1px solid #d9dce0;color:#555d64;font-size:11px;line-height:1.4}
.cgx-demo-bar button{display:flex;gap:22px;align-items:center;border:1px solid #c2c8cd;background:#fff;color:#20272e;border-radius:30px;padding:7px 11px;font-size:11px;white-space:nowrap}
.cgx-demo-bar button span{font-size:17px;line-height:1}
.cgx-demo-header{display:flex;justify-content:space-between;align-items:center;padding:25px 42px}
.cgx-shift-demo{background:#f5f4ee;--cgx-acid:#dfff00;--cgx-blue:#244cff}
.cgx-shift-demo .cgx-demo-header{background:#dfff00;border-bottom:1px solid #15171444}
.cgx-shift-logo{font:800 34px/.9 Bricolage,Arial,sans-serif;letter-spacing:-2.8px}
.cgx-shift-logo span{font:500 10px/1 Manrope,sans-serif;letter-spacing:1px;margin-left:10px;vertical-align:middle}
.cgx-shift-header-note{font-size:11px;letter-spacing:.06em;text-transform:uppercase}
.cgx-shift-hero{position:relative;display:grid;grid-template-columns:1.2fr .8fr;min-height:480px;background:#dfff00;overflow:hidden}
.cgx-shift-hero-copy{position:relative;z-index:2;padding:38px 42px 46px}
.cgx-shift-hero h2{font:800 clamp(52px,7vw,100px)/.88 Bricolage,Arial,sans-serif;letter-spacing:-.065em;max-width:660px}
.cgx-shift-hero h2 em{font-style:normal;color:#244cff}
.cgx-shift-hero-copy p{font-size:14px;line-height:1.65;max-width:310px;margin:25px 0}
.cgx-shift-button{padding:14px 20px!important;display:flex;justify-content:space-between;gap:30px;align-items:center;background:#151714;color:#dfff00;border:1px solid #151714;border-radius:0;font-weight:600!important;font-size:13px!important}
.cgx-shift-button:hover{background:#244cff;border-color:#244cff;color:white}
.cgx-motion-art{position:relative;min-height:360px;display:flex;align-items:center;justify-content:center;overflow:hidden}
.cgx-orbit{position:absolute;width:260px;height:400px;border:44px solid #244cff;border-radius:50%;transform:rotate(35deg);box-shadow:0 0 0 1px #244cff,0 0 0 14px #dfff00,0 0 0 16px #244cff,0 0 0 28px #dfff00,0 0 0 30px #244cff}
.cgx-orbit:after{content:'↗';position:absolute;display:grid;place-items:center;width:90px;height:90px;background:#151714;border-radius:50%;font-size:60px;color:#dfff00;left:55px;top:100px;transform:rotate(-35deg)}
.cgx-motion-art small{position:absolute;bottom:29px;right:27px;font-size:10px;text-transform:uppercase;letter-spacing:.12em}
.cgx-shift-strip{display:flex;justify-content:space-between;gap:20px;background:#244cff;color:white;padding:15px 42px;font-size:11px;letter-spacing:.12em;text-transform:uppercase}
.cgx-schedule{padding:44px 42px 36px;scroll-margin-top:75px}
.cgx-schedule-heading{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:22px}
.cgx-schedule-heading h3{font:600 36px/1.05 Bricolage,Arial,sans-serif;letter-spacing:-1.7px}
.cgx-schedule-heading>p{font-size:11px;color:#676a63}
.cgx-filters{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:22px}
.cgx-filters button{padding:7px 15px;border:1px solid #b9bcb1;background:transparent;border-radius:40px;font-size:11px;color:#33392f}
.cgx-filters button[aria-pressed=true]{background:#151714;color:#fff;border-color:#151714}
.cgx-schedule-layout{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(250px,1fr);gap:30px}
.cgx-class-list{border-top:1px solid #b9bcb1}
.cgx-class{display:grid;grid-template-columns:76px 1fr 24px;gap:14px;align-items:center;text-align:left;width:100%;padding:18px 8px;background:none;border:0;border-bottom:1px solid #b9bcb1;border-radius:0;color:#151714;transition:background .2s}
.cgx-class:hover,.cgx-class[aria-pressed=true]{background:#e7ebd8}
.cgx-class time{font-size:10px;font-weight:600}.cgx-class strong{font:600 21px/1.2 Bricolage,sans-serif;letter-spacing:-.5px}.cgx-class small{display:block;font-size:10px;color:#676a63;margin-top:4px}.cgx-class>span:last-child{font-size:24px}
.cgx-class-detail{background:#fff;border:1px solid #dedfd6;padding:25px;align-self:start}
.cgx-class-detail>small{font-size:9px;letter-spacing:.12em;text-transform:uppercase;color:#666d5f}
.cgx-class-detail h4{font:600 32px/1.1 Bricolage,sans-serif;letter-spacing:-1px;margin:16px 0 6px}
.cgx-class-detail>p{font-size:12px;margin:13px 0;max-width:none}
.cgx-class-detail .cgx-class-time{font-size:10px;color:#59604f}
.cgx-class-detail .cgx-shift-button{margin-top:20px;width:100%;font-size:11px!important;padding:11px 14px!important}
.cgx-class-detail [role=status]{font-size:11px;color:#244cff;margin-bottom:0}
.cgx-demo-footer{padding:18px 42px;border-top:1px solid #c6c9bf;display:flex;justify-content:space-between;gap:16px;font-size:10px;color:#696f63}
.cgx-current-demo{background:#f7f8f3;color:#122841}
.cgx-current-demo .cgx-demo-header{border-bottom:1px solid #12284122}
.cgx-current-logo{display:flex;align-items:center;gap:10px;font:700 23px/1 Bricolage,sans-serif;letter-spacing:-1px}
.cgx-current-logo svg{width:22px;height:28px;fill:none;stroke:#122841;stroke-width:2}
.cgx-current-logo small{font:400 9px/1.1 Manrope,sans-serif;letter-spacing:.13em;margin-left:8px;max-width:65px}
.cgx-current-demo .cgx-demo-header>span{font-size:10px;text-transform:uppercase;letter-spacing:.12em}
.cgx-current-hero{display:grid;grid-template-columns:1.15fr .85fr;min-height:435px}
.cgx-current-copy{padding:45px 42px;position:relative}
.cgx-current-eyebrow{display:flex;align-items:center;gap:10px;font-size:10px;letter-spacing:.08em;text-transform:uppercase;margin-bottom:25px}
.cgx-current-eyebrow:before{content:'';display:block;width:7px;height:7px;border-radius:50%;background:#245bff}
.cgx-current-copy h2{font:500 clamp(44px,5.3vw,76px)/.99 Bricolage,sans-serif;letter-spacing:-.055em}
.cgx-current-copy h2 span{color:#496b8c}
.cgx-current-copy>p{font-size:13px;max-width:310px;line-height:1.7;margin:24px 0}
.cgx-current-button{display:flex;justify-content:space-between;align-items:center;gap:24px;background:#122841;color:#fff;border:1px solid #122841;padding:13px 18px;border-radius:3px;font-size:12px!important;font-weight:500!important}
.cgx-current-button:hover{background:#245bff;border-color:#245bff}
.cgx-house-art{position:relative;display:flex;flex-direction:column;justify-content:center;background:#122841;overflow:hidden;padding:34px;color:#ffdc54}
.cgx-house-art:before{content:'';position:absolute;inset:0;background-image:linear-gradient(#ffffff09 1px,transparent 1px),linear-gradient(90deg,#ffffff09 1px,transparent 1px);background-size:36px 36px}
.cgx-house-art svg{position:relative;width:100%;height:310px;overflow:visible}
.cgx-house-art>p{position:relative;font-size:9px;letter-spacing:.15em;text-transform:uppercase;display:flex;justify-content:space-between;color:#c2d3df}
.cgx-house-svg .cgx-light{fill:#ffdc54;opacity:.6;transition:opacity .25s,filter .25s}
.cgx-house-svg .cgx-charge{stroke:#829db2;transition:stroke .25s}
.cgx-house-art[data-cgx-active=lighting] .cgx-light{opacity:1;filter:drop-shadow(0 0 8px #ffdc54)}
.cgx-house-art[data-cgx-active=charging] .cgx-charge{stroke:#ffdc54}
.cgx-house-art[data-cgx-active=upgrades] .cgx-wire{stroke:#ffdc54;stroke-width:2.5}
.cgx-current-services{display:grid;grid-template-columns:repeat(3,1fr);border-block:1px solid #12284122}
.cgx-current-services>div{padding:21px 26px;display:flex;gap:17px;align-items:center;border-right:1px solid #12284122;font-size:12px}
.cgx-current-services>div:last-child{border-right:0}.cgx-current-services small{font-size:9px;color:#63788a}
.cgx-project-builder{display:grid;grid-template-columns:.85fr 1.15fr;gap:45px;padding:46px 42px;scroll-margin-top:75px}
.cgx-project-intro>small{font-size:10px;color:#63788a;letter-spacing:.1em;text-transform:uppercase}.cgx-project-intro h3{font:500 38px/1.04 Bricolage,sans-serif;letter-spacing:-1.8px;margin:15px 0 20px}.cgx-project-intro>p{font-size:12px;max-width:260px;line-height:1.75;color:#536777}
.cgx-brief-form{min-width:0;margin:0;padding:0;background:none;box-shadow:none;border:0;border-radius:0;display:block}
.cgx-brief-form fieldset{border:0;padding:0;margin:0 0 20px}.cgx-brief-form legend{font-size:11px;font-weight:600;padding:0;margin-bottom:9px}
.cgx-services{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}
.cgx-service{position:relative;display:flex;align-items:center;min-height:55px;text-align:center;cursor:pointer}
.cgx-service input{position:absolute;opacity:0;width:1px;height:1px}
.cgx-service span{width:100%;padding:15px 4px;border:1px solid #b9c5cc;border-radius:2px;font-size:11px;color:#122841;transition:background .2s}
.cgx-service input:checked+span{background:#ffdc54;border-color:#122841}
.cgx-service input:focus-visible+span{outline:3px solid #245bff;outline-offset:3px}
.cgx-selects{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.cgx-selects label{display:block;font-size:11px;font-weight:600;margin:0}
.cgx-selects select{display:block;background:#fff;border:1px solid #b9c5cc;border-radius:2px;color:#122841;font:400 12px/1.4 Manrope,sans-serif;padding:11px 8px;margin-top:7px;width:100%;height:43px;min-width:0}
.cgx-service-note{font-size:11px;color:#63788a;margin:18px 0!important;min-height:35px;line-height:1.6}
.cgx-brief-form>.cgx-current-button{width:100%}.cgx-brief-fine{font-size:10px;color:#63788a;margin-top:10px!important}
.cgx-brief-result{border:1px solid #122841;background:#fff;padding:26px;align-self:start}
.cgx-brief-result>small{font-size:10px;color:#63788a;text-transform:uppercase;letter-spacing:.1em}.cgx-brief-result h3{font:500 30px/1.1 Bricolage,sans-serif;letter-spacing:-1px;margin:14px 0 22px}.cgx-brief-result dl{margin:0}.cgx-brief-result dl>div{display:flex;justify-content:space-between;gap:20px;border-bottom:1px solid #d6dee3;padding:9px 0;font-size:11px}.cgx-brief-result dt{color:#63788a}.cgx-brief-result dd{margin:0;font-weight:600}.cgx-brief-result p{font-size:11px;line-height:1.7;margin:18px 0}.cgx-brief-result .cgx-current-button{font-size:11px!important;padding:9px 14px}
.cgx-current-demo .cgx-demo-footer{border-color:#12284122;color:#63788a}
.cgx-sr-only{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
@keyframes cgx-enter{from{opacity:0;transform:translateY(12px) scale(.99)}to{opacity:1;transform:none}}
@media(min-width:1400px){.cgx-tile{height:410px}.cgx-shift-word{font-size:144px}.cgx-current-word{font-size:92px}.cgx-shift-track{right:-65px}}
@media(max-width:800px){.cgx-tile{height:310px}.cgx-shift-word{font-size:84px}.cgx-current-word{font-size:59px}.cgx-shift-track{right:-180px}.cgx-tile-label,.cgx-tile-tag,.cgx-current-word,.cgx-shift-word{left:20px}.cgx-tile-label{top:20px}.cgx-caption{flex-direction:column;gap:3px}.cgx-dialog{width:calc(100vw - 28px);max-height:calc(100dvh - 28px)}.cgx-demo-header{padding:24px}.cgx-shift-hero-copy,.cgx-current-copy{padding:30px 24px}.cgx-shift-hero h2{font-size:63px}.cgx-orbit{width:200px;height:330px;border-width:35px}.cgx-orbit:after{width:70px;height:70px;font-size:45px;left:28px;top:90px}.cgx-schedule{padding:32px 24px}.cgx-schedule-layout{gap:18px;grid-template-columns:minmax(0,1.2fr) minmax(220px,1fr)}.cgx-class-detail{padding:19px}.cgx-current-copy h2{font-size:53px}.cgx-house-art{padding:24px}.cgx-house-art svg{height:260px}.cgx-project-builder{padding:32px 24px;gap:25px}.cgx-project-intro h3{font-size:31px}.cgx-project-intro>p{max-width:230px}}
@media(max-width:600px){.cgx-heading{display:block;margin-bottom:20px}.cgx-heading p{margin-top:12px;max-width:340px}.cgx-grid{grid-template-columns:1fr;gap:28px}.cgx-tile{height:330px}.cgx-shift-word{font-size:105px}.cgx-current-word{font-size:72px}.cgx-shift-track{right:-110px}.cgx-caption{flex-direction:row;gap:10px}.cgx-caption span{text-align:right}.cgx-dialog{width:100%;max-height:100dvh;height:100dvh;border-radius:0}.cgx-demo-bar{padding:10px 16px;font-size:9px}.cgx-demo-bar>span{max-width:200px}.cgx-demo-header{padding:22px 20px}.cgx-shift-header-note{font-size:9px}.cgx-shift-logo{font-size:30px}.cgx-shift-logo span{font-size:8px}.cgx-shift-hero{grid-template-columns:1fr;min-height:0}.cgx-shift-hero-copy{padding:25px 20px 30px}.cgx-shift-hero h2{font-size:clamp(60px,15vw,86px);max-width:370px}.cgx-shift-hero-copy p{font-size:12px;max-width:240px}.cgx-motion-art{position:absolute;right:-90px;top:80px;width:230px;height:310px;min-height:0;opacity:.15;pointer-events:none}.cgx-motion-art small{display:none}.cgx-orbit{width:180px;height:260px;border-width:30px}.cgx-orbit:after{width:55px;height:55px;font-size:36px;left:30px;top:70px}.cgx-shift-strip{padding:13px 20px;gap:10px;font-size:8px;letter-spacing:.06em}.cgx-schedule{padding:30px 20px}.cgx-schedule-heading{align-items:start;gap:12px}.cgx-schedule-heading h3{font-size:31px}.cgx-schedule-heading>p{font-size:9px;max-width:110px;text-align:right}.cgx-filters{gap:5px}.cgx-filters button{font-size:10px;padding:7px 13px}.cgx-schedule-layout{grid-template-columns:1fr}.cgx-class{grid-template-columns:70px 1fr 22px;padding:14px 7px}.cgx-class strong{font-size:21px}.cgx-class-detail h4{font-size:28px}.cgx-class-detail>p{font-size:12px}.cgx-demo-footer{padding:17px 20px;gap:20px;font-size:9px}.cgx-demo-footer span:last-child{text-align:right}.cgx-current-demo .cgx-demo-header>span{font-size:8px;max-width:95px;text-align:right}.cgx-current-logo{font-size:22px}.cgx-current-logo small{font-size:7px;max-width:50px}.cgx-current-hero{grid-template-columns:1fr}.cgx-current-copy{padding:30px 20px}.cgx-current-copy h2{font-size:clamp(51px,13vw,72px);max-width:400px}.cgx-current-copy>p{font-size:12px;max-width:280px}.cgx-house-art{padding:24px 30px}.cgx-house-art svg{height:240px}.cgx-current-services>div{display:block;padding:16px 12px;font-size:10px}.cgx-current-services small{display:block;margin-bottom:5px;font-size:8px}.cgx-project-builder{grid-template-columns:1fr;padding:30px 20px;gap:24px}.cgx-project-intro h3{font-size:34px;max-width:280px;margin:13px 0}.cgx-project-intro>p{max-width:310px;font-size:12px}.cgx-brief-form fieldset{margin-bottom:18px}.cgx-brief-result{padding:23px}.cgx-current-demo .cgx-demo-footer{font-size:9px}}
@media(prefers-reduced-motion:reduce){.cgx-dialog[open]{animation:none}.cgx-tile-open,.cgx-shift-track,.cgx-tile-house,.cgx-house-svg .cgx-light,.cgx-house-svg .cgx-charge,.cgx-class,.cgx-service span{transition:none}.cgx-tile:hover .cgx-shift-track{transform:rotate(36deg)}.cgx-current-tile:hover .cgx-tile-house{transform:rotate(-9deg)}}
