/* ==========================================================================
   iCoderz Solutions: site stylesheet
   1. Fonts  2. Base  3. Interactions (menus, accordions, tabs, filters)
   4. Components & pages (generated from the approved design)  5. Accessibility
   ========================================================================== */
@font-face{font-family:'Plus Jakarta Sans';font-style:normal;font-weight:200 800;font-display:swap;src:url(/assets/fonts/plus-jakarta-sans-var.woff2) format('woff2')}
@font-face{font-family:'JetBrains Mono';font-style:normal;font-weight:500;font-display:swap;src:url(/assets/fonts/jetbrains-mono-500.woff2) format('woff2')}
@font-face{font-family:'JetBrains Mono';font-style:normal;font-weight:700;font-display:swap;src:url(/assets/fonts/jetbrains-mono-700.woff2) format('woff2')}
@font-face{font-family:'Montserrat';font-style:normal;font-weight:800;font-display:swap;src:url(/assets/fonts/montserrat-800.woff2) format('woff2')}

/* 2. Base */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;background:#FAFAF7;color:#0B0D28;font-family:'Plus Jakarta Sans',system-ui,-apple-system,'Segoe UI',sans-serif;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
img,svg,video{max-width:100%}
img{height:auto}
a{color:inherit}
button,input,select,textarea{font:inherit}
.u-reset{all:unset}
.skip-link{position:absolute;left:12px;top:-60px;z-index:100;background:#0B0D28;color:#FFF;padding:12px 18px;border-radius:999px;font-weight:700;text-decoration:none}
.skip-link:focus{top:12px}
.visually-hidden{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.hp-field{position:absolute!important;left:-9999px!important;opacity:0}

/* 3. Interactions */
summary.accSum{list-style:none}
summary.accSum::-webkit-details-marker{display:none}
[data-acc-sign]::before{content:'+'}
details[open]>summary [data-acc-sign]{background:#FFD43B!important;border-color:#FFD43B!important}
details[open]>summary [data-acc-sign]::before{content:'\2212'}
.megaPanel[hidden],.mobPanel[hidden]{display:none!important}
[data-menu][aria-expanded=true]{background:#F2F1EA!important}
[data-menu][aria-expanded=true] svg{transform:rotate(180deg)}
body[data-active=services] [data-nav=services],body[data-active=solutions] [data-nav=solutions],body[data-active=industries] [data-nav=industries],body[data-active=work] [data-nav=work],body[data-active=company] [data-nav=company]{background:#F2F1EA!important}
[data-mob-toggle][aria-expanded=true]{background:#0B0D28!important;color:#FFFFFF!important}
.js [data-tabpanel][data-on=false]{display:none!important}
.js [data-filtered=out]{display:none!important}
.form-status{font-size:14px;font-weight:600}
nav[aria-label=Breadcrumb] li{align-items:center}

/* 4. Components & pages */
@keyframes icDrift{from{background-position:0 0}to{background-position:44px 44px}}
@keyframes icSpin{to{transform:rotate(360deg)}}
@keyframes icSpinRev{to{transform:rotate(-360deg)}}
@keyframes icFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}
@keyframes icGlow{0%,100%{opacity:.55;transform:scale(1)}50%{opacity:1;transform:scale(1.08)}}
@keyframes icPulse{0%,100%{opacity:1}50%{opacity:.35}}
@keyframes icMarquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.ic-drift{animation:icDrift 6s linear infinite}
.ic-spin{animation:icSpin 60s linear infinite}
.ic-spin-rev{animation:icSpinRev 90s linear infinite}
.ic-float{animation:icFloat 6s ease-in-out infinite}
.ic-float-2{animation:icFloat 7s ease-in-out infinite 1s}
.ic-float-3{animation:icFloat 8s ease-in-out infinite .5s}
.ic-glow{animation:icGlow 8s ease-in-out infinite}
.ic-pulse{animation:icPulse 2s ease-in-out infinite}
.ic-marquee{animation:icMarquee 50s linear infinite}
@media (prefers-reduced-motion: reduce){.ic-drift,.ic-spin,.ic-spin-rev,.ic-float,.ic-float-2,.ic-float-3,.ic-glow,.ic-pulse,.ic-marquee{animation:none}}
:where(a,button,summary,[tabindex]):focus{outline:none}
:where(a,button,summary,[tabindex]):focus-visible{outline:3px solid #0B0D28!important;outline-offset:3px!important;box-shadow:0 0 0 3px #FFD43B!important}
:where(input,textarea,select):focus{outline:2px solid #0B0D28;outline-offset:1px;box-shadow:0 0 0 5px rgba(255,212,59,.55)}
@media (max-width: 760px){:where(a[href],button,summary,select,input:not([type=checkbox]):not([type=radio])){min-height:48px!important}:where(button,[role=button]){min-width:48px!important}nav[aria-label=Breadcrumb] a{display:inline-flex;align-items:center;justify-content:center;min-width:48px}}
.icPh{animation:icKen 26s ease-in-out infinite alternate;will-change:transform;color:transparent;font-size:0}
.icBand .icPh{animation-duration:30s}
@keyframes icKen{0%{transform:scale(1.02)}100%{transform:scale(1.12) translate(-1.5%,-1.5%)}}
@media (prefers-reduced-motion: reduce){.icPh{animation:none}}
.icx{display:inline-block;flex:none;width:22px;height:22px;background-color:currentColor;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center;-webkit-mask-size:contain;mask-size:contain}
@media (max-width: 760px){.ftNav{grid-template-columns:1fr 1fr!important;gap:28px 16px!important}.ftLink{display:flex!important;align-items:center;padding:0!important}}
.ccWrap{font-family:'Plus Jakarta Sans',system-ui,sans-serif;color:#0B0D28;-webkit-font-smoothing:antialiased}
.ccGrid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:16px}
.ccC{position:relative;display:block;border-radius:28px;overflow:hidden;isolation:isolate;color:#FFFFFF;text-decoration:none;min-width:0}
.ccC:hover{color:#FFFFFF}
.ccImg{position:absolute;inset:0;z-index:-2;width:100%;height:100%;object-fit:cover;color:transparent;font-size:0;transform:scale(1.02);transition:transform 1.2s cubic-bezier(.2,.7,.2,1)}
.ccC:hover .ccImg{transform:scale(1.09)}
.ccShade{position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(11,13,40,.08) 0%,rgba(11,13,40,.05) 30%,rgba(11,13,40,.86) 100%)}
.ccGo{width:48px;height:48px;border-radius:50%;background:#FFD43B;color:#0B0D28;display:flex;align-items:center;justify-content:center;flex:none;transition:transform .5s cubic-bezier(.2,.7,.2,1)}
.ccC:hover .ccGo{transform:rotate(-45deg) scale(1.08)}
.ccStat{display:flex;flex-direction:column;gap:2px;padding:10px 14px;border-radius:14px;background:rgba(11,13,40,.62);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.3);max-width:200px}
@keyframes ccRise{from{opacity:0;transform:translateY(50px) scale(.98)}to{opacity:1;transform:none}}
@supports (animation-timeline: view()){.ccC{animation:ccRise linear both;animation-timeline:view();animation-range:entry 0% entry 55%}}
@media (max-width:1060px){.ccC{grid-column:span 12 !important}}
@media (max-width:640px){.ccC{height:420px !important;border-radius:22px}}
@media (prefers-reduced-motion: reduce){.ccC{animation:none}.ccImg,.ccGo{transition:none}}
body{margin:0;background:#FAFAF7;color:#0B0D28;font-family:'Plus Jakarta Sans',system-ui,sans-serif;-webkit-font-smoothing:antialiased}
a{color:#0B0D28;text-decoration:none}
a:hover{color:#3A3D63}
.w{max-width:1320px;margin:0 auto;padding:0 40px;box-sizing:border-box}
.lbl{text-transform:uppercase;letter-spacing:0.12em;font-weight:700;font-size:12px;color:#62647A}
.wm{font-family:'Montserrat',sans-serif;font-weight:800;letter-spacing:0.01em}
.hl{background:linear-gradient(transparent 62%, #FFD43B 62%);padding:0 6px}
.h1{font-size:clamp(46px,6.8vw,104px);line-height:1.02;letter-spacing:-0.045em;font-weight:800;margin:0}
.h2{font-size:clamp(32px,4vw,56px);line-height:1.06;letter-spacing:-0.04em;font-weight:800;margin:0}
.mq{display:flex;gap:48px;width:max-content;animation:mq 50s linear infinite}
@keyframes mq{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@keyframes pulse{0%,100%{opacity:1}50%{opacity:.35}}
.dot{animation:pulse 2s ease-in-out infinite}
@keyframes floaty{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}
.fl{animation:floaty 6s ease-in-out infinite}
.fl2{animation:floaty 7s ease-in-out infinite 1s}
@keyframes spin{to{transform:rotate(360deg)}}
.spin{animation:spin 40s linear infinite}
.row{transition:background .3s}
.row:hover{background:#F2F1EA}
.tile{transition:transform .35s cubic-bezier(.2,.7,.2,1),box-shadow .35s}
.tile:hover{transform:translateY(-4px);box-shadow:0 30px 60px -40px rgba(11,13,40,.4)}
.btn{transition:transform .2s}
.btn:hover{transform:translateY(-1px)}
.photo{background-color:#E7E5DC;background-image:repeating-linear-gradient(135deg,rgba(11,13,40,.035) 0 2px,transparent 2px 14px)}
.heroBottom{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:40px;align-items:end}
.stage{display:flex;justify-content:center;align-items:flex-end;gap:28px}
.split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:64px;align-items:center}
.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0}
.bento{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:16px}
.s4{grid-column:span 4}
.s2{grid-column:span 2}
.s3{grid-column:span 3}
.steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0}
.work{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.cta{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,0.9fr);gap:64px;align-items:center}
.foot{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:32px}
.zones{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.ind{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.faqg{display:grid;grid-template-columns:minmax(0,0.8fr) minmax(0,1.2fr);gap:64px;align-items:start}
.svcRow{display:grid;grid-template-columns:90px minmax(0,1.3fr) minmax(0,1fr) 56px;gap:24px;align-items:center}
.side{display:flex}
.navl{display:flex;gap:2px}
@media (max-width:1060px){.heroBottom,.split,.cta,.work,.faqg{grid-template-columns:minmax(0,1fr)}.bento{grid-template-columns:repeat(2,minmax(0,1fr))}.s4,.s3{grid-column:span 2}.s2{grid-column:span 1}.steps,.stats,.zones,.ind{grid-template-columns:repeat(2,minmax(0,1fr))}.foot{grid-template-columns:1fr 1fr}.side{display:none}.navl{display:none}.svcRow{grid-template-columns:56px minmax(0,1fr) 44px}.svcDesc{display:none}}
@media (max-width:640px){.w{padding:0 16px}.bento,.ind{grid-template-columns:minmax(0,1fr)}.s4,.s3,.s2{grid-column:span 1}.steps{grid-template-columns:minmax(0,1fr)}.foot{grid-template-columns:1fr}}
.hp{position:relative;display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);grid-template-rows:318px 282px;gap:16px}
.hpA{grid-row:1/3;position:relative;border-radius:32px;overflow:hidden;background:#1B1E3D;isolation:isolate}
.hpB{position:relative;border-radius:28px;overflow:hidden;background:#11132E;isolation:isolate}
.hpC{position:relative;border-radius:28px;overflow:hidden;background:#FFD43B;color:#0B0D28;padding:30px;box-sizing:border-box;display:flex;flex-direction:column;justify-content:space-between;isolation:isolate}
.hpImg{position:absolute;inset:-4%;z-index:-2;width:108%;height:108%;object-fit:cover;color:transparent;font-size:0;background:#23264A;animation:hpKen 26s ease-in-out infinite alternate}
.hpFall1{background-color:#23264A;background-image:radial-gradient(circle at 28% 32%,rgba(255,212,59,.35),transparent 42%),radial-gradient(circle at 75% 70%,rgba(120,140,255,.35),transparent 45%)}
.hpFall2{background-color:#11132E;background-image:radial-gradient(circle at 70% 20%,rgba(120,140,255,.35),transparent 50%)}
.hpReveal{animation:hpWipe 1.5s cubic-bezier(.7,0,.2,1) both}
.hpR2{animation-delay:.25s}
.hpR3{animation-delay:.45s}
.hpShade{position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(11,13,40,.05) 30%,rgba(11,13,40,.78) 100%)}
.hpGrid{position:absolute;inset:0;z-index:0;background-image:linear-gradient(rgba(255,255,255,.22) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.22) 1px,transparent 1px);background-size:36px 36px;-webkit-mask-image:linear-gradient(180deg,transparent 0,transparent 38%,#000 50%,transparent 62%,transparent 100%);mask-image:linear-gradient(180deg,transparent 0,transparent 38%,#000 50%,transparent 62%,transparent 100%);-webkit-mask-size:100% 300%;mask-size:100% 300%;animation:hpMask 6.5s cubic-bezier(.45,0,.55,1) infinite}
.hpBeam{position:absolute;left:0;right:0;top:0;height:2px;z-index:1;background:#FFD43B;box-shadow:0 0 18px 4px rgba(255,212,59,.65);animation:hpBeam 6.5s cubic-bezier(.45,0,.55,1) infinite}
.hpCorner{position:absolute;width:26px;height:26px;border:0 solid #FFFFFF;z-index:2;animation:hpBreath 3.2s ease-in-out infinite}
.hpGlass{background:rgba(255,255,255,.14);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border:1px solid rgba(255,255,255,.28);color:#FFFFFF}
.hpLine{display:block;white-space:nowrap;overflow:hidden;max-width:0;animation:hpType 11s steps(var(--n)) infinite}
.hpCaret{display:inline-block;width:7px;height:13px;background:#FFD43B;vertical-align:-2px;animation:pulse 1s steps(1) infinite}
.hpWords{display:flex;flex-direction:column;animation:hpWords 12.5s cubic-bezier(.7,0,.2,1) infinite}
.hpWords span{height:1.16em;line-height:1.16em;white-space:nowrap}
.hpBadge{position:absolute;z-index:6;width:132px;height:132px;left:calc(60% - 74px);top:252px;border-radius:50%;background:#0B0D28;display:flex;align-items:center;justify-content:center;box-shadow:0 30px 60px -24px rgba(11,13,40,.6)}
.hpBadge svg{position:absolute;inset:8px;animation:spin 18s linear infinite}
.hpCore{width:46px;height:46px;border-radius:50%;background:#FFD43B;display:flex;align-items:center;justify-content:center;font-size:20px;color:#0B0D28;animation:hpCore 3s ease-in-out infinite}
.hpChipIn{animation:hpPop .8s cubic-bezier(.2,.9,.3,1.3) both}
.hpFloat{animation:hsBob 6s ease-in-out infinite}
.hsTech{display:flex;gap:40px;width:max-content;animation:mq 40s linear infinite}
.hsSwapA{animation:hsSwapA 8s ease-in-out infinite}
.hsSwapB{animation:hsSwapB 8s ease-in-out infinite}
.hsType span{display:inline-block;width:5px;height:5px;border-radius:50%;background:#FFFFFF;margin-right:3px;animation:hsType 1.2s ease-in-out infinite}
.hsType span:nth-child(2){animation-delay:.15s}
.hsType span:nth-child(3){animation-delay:.3s}
@keyframes hpKen{0%{transform:scale(1.02) translate(0,0)}100%{transform:scale(1.14) translate(-2%,-2%)}}
@keyframes hpWipe{from{clip-path:inset(100% 0 0 0 round 32px)}to{clip-path:inset(0 0 0 0 round 32px)}}
@keyframes hpMask{0%{-webkit-mask-position:0 100%;mask-position:0 100%}100%{-webkit-mask-position:0 0;mask-position:0 0}}
@keyframes hpBeam{0%{transform:translateY(-10px);opacity:0}8%{opacity:1}92%{opacity:1}100%{transform:translateY(600px);opacity:0}}
@keyframes hpBreath{0%,100%{opacity:.95}50%{opacity:.45}}
@keyframes hpType{0%{max-width:0}22%,82%{max-width:calc(var(--n) * 1ch)}92%,100%{max-width:0}}
@keyframes hpWords{0%,16%{transform:translateY(0)}20%,36%{transform:translateY(-1.16em)}40%,56%{transform:translateY(-2.32em)}60%,76%{transform:translateY(-3.48em)}80%,96%{transform:translateY(-4.64em)}100%{transform:translateY(-5.8em)}}
@keyframes hpCore{0%,100%{transform:scale(1);box-shadow:0 0 0 0 rgba(255,212,59,.6)}50%{transform:scale(1.08);box-shadow:0 0 0 14px rgba(255,212,59,0)}}
@keyframes hpPop{from{opacity:0;transform:translateY(16px) scale(.94)}to{opacity:1;transform:none}}
@keyframes hsBob{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}
@keyframes hsSwapA{0%,42%{opacity:1;transform:none}50%,92%{opacity:0;transform:translateY(-6px)}100%{opacity:1;transform:none}}
@keyframes hsSwapB{0%,42%{opacity:0;transform:translateY(6px)}50%,92%{opacity:1;transform:none}100%{opacity:0;transform:translateY(6px)}}
@keyframes hsType{0%,100%{opacity:.25;transform:translateY(0)}50%{opacity:1;transform:translateY(-2px)}}
@media (max-width:1060px){.hp{grid-template-columns:minmax(0,1fr);grid-template-rows:440px auto auto}.hpA{grid-row:auto}.hpB{min-height:260px}.hpBadge{display:none}}
@media (max-width:640px){.hp{grid-template-rows:380px auto auto}.hpC{padding:24px}.hpTerm{font-size:10.5px !important;left:12px !important;right:12px !important;bottom:12px !important}}
@media (prefers-reduced-motion: reduce){.hpImg,.hpReveal,.hpGrid,.hpBeam,.hpCorner,.hpWords,.hpBadge svg,.hpCore,.hpChipIn,.hpFloat,.hsTech,.hsSwapA,.hsSwapB,.hsType span,.hpCaret{animation:none}.hpLine{max-width:none}.hpBeam,.hsSwapB{opacity:0}}
.wk{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:16px}
.wkA{grid-column:span 7}
.wkB{grid-column:span 5}
.wkC{position:relative;display:block;height:540px;border-radius:30px;overflow:hidden;isolation:isolate;color:#FFFFFF;text-decoration:none}
.wkC:hover{color:#FFFFFF}
.wkImg{position:absolute;inset:0;z-index:-2;width:100%;height:100%;object-fit:cover;color:transparent;font-size:0;transform:scale(1.02);transition:transform 1.2s cubic-bezier(.2,.7,.2,1)}
.wkC:hover .wkImg{transform:scale(1.09)}
.wkShade{position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(11,13,40,.10) 0%,rgba(11,13,40,.05) 35%,rgba(11,13,40,.86) 100%)}
.wkGo{width:52px;height:52px;border-radius:50%;background:#FFD43B;color:#0B0D28;display:flex;align-items:center;justify-content:center;flex:none;transition:transform .5s cubic-bezier(.2,.7,.2,1)}
.wkC:hover .wkGo{transform:rotate(-45deg) scale(1.08)}
.wkMore{max-height:0;opacity:0;overflow:hidden;transition:max-height .6s ease,opacity .5s ease}
.wkC:hover .wkMore{max-height:60px;opacity:1}
.wkUi{position:absolute;z-index:1;animation:wkFloat 7s ease-in-out infinite}
.wkStat{display:flex;flex-direction:column;gap:2px;padding:12px 16px;border-radius:16px;background:rgba(11,13,40,.62);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.3)}
.wkLive{animation:pulse 1.6s ease-in-out infinite}
.wkBar{animation:wkBar 3.4s ease-in-out infinite alternate}
@keyframes wkFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}
@keyframes wkBar{from{width:38%}to{width:86%}}
@keyframes wkRise{from{opacity:0;transform:translateY(60px) scale(.98)}to{opacity:1;transform:none}}
@supports (animation-timeline: view()){.wkC{animation:wkRise linear both;animation-timeline:view();animation-range:entry 0% entry 55%}}
@media (max-width:1060px){.wkA,.wkB{grid-column:span 12}.wkC{height:480px}}
@media (max-width:640px){.wkC{height:440px;border-radius:24px}.wkUi{display:none}}
@media (prefers-reduced-motion: reduce){.wkUi,.wkLive,.wkBar,.wkC{animation:none}.wkImg,.wkGo{transition:none}}
@media (max-width: 640px){#top{padding-top:28px!important}.heroTop{gap:22px!important}.heroLede{font-size:16.5px!important}.heroCtas{width:100%;flex-direction:column-reverse;align-items:stretch!important;justify-content:flex-start!important;gap:10px!important}.heroCtas .btn{justify-content:center;height:54px!important}.heroBottom{gap:20px!important}}
.whC{position:relative;display:block;border-radius:28px;overflow:hidden;isolation:isolate;color:#FFFFFF;text-decoration:none;height:460px}
.whC:hover{color:#FFFFFF}
.whImg{position:absolute;inset:0;z-index:-2;width:100%;height:100%;object-fit:cover;color:transparent;font-size:0;transform:scale(1.02);transition:transform 1.2s cubic-bezier(.2,.7,.2,1)}
.whC:hover .whImg{transform:scale(1.09)}
.whShade{position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(11,13,40,.08) 0%,rgba(11,13,40,.04) 30%,rgba(11,13,40,.88) 100%)}
.whGo{width:46px;height:46px;border-radius:50%;background:#FFD43B;color:#0B0D28;display:flex;align-items:center;justify-content:center;flex:none;transition:transform .5s cubic-bezier(.2,.7,.2,1)}
.whC:hover .whGo{transform:rotate(-45deg) scale(1.08)}
.whStat{display:flex;flex-direction:column;gap:2px;padding:9px 13px;border-radius:14px;background:rgba(11,13,40,.62);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.3)}
.whTags{max-height:0;opacity:0;overflow:hidden;transition:max-height .6s ease,opacity .5s ease}
.whC:hover .whTags{max-height:40px;opacity:1}
.whUi{animation:whFloat 7s ease-in-out infinite}
.whBar{animation:whBar 3.4s ease-in-out infinite alternate}
@keyframes whFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}
@keyframes whBar{from{width:38%}to{width:86%}}
@keyframes whRise{from{opacity:0;transform:translateY(50px) scale(.98)}to{opacity:1;transform:none}}
@supports (animation-timeline: view()){.whC{animation:whRise linear both;animation-timeline:view();animation-range:entry 0% entry 50%}}
@media (max-width:640px){.whC{height:420px;border-radius:22px}.whFeat{height:520px !important}.whUi{display:none}}
@media (prefers-reduced-motion: reduce){.whC,.whUi,.whBar{animation:none}.whImg,.whGo{transition:none}}

/* 6. Cookie banner & exit-intent popup (markup in includes/scripts.html, logic in site.js) */
.ckBar{position:fixed;left:16px;right:16px;bottom:16px;z-index:90;max-width:760px;margin:0 auto;display:flex;flex-wrap:wrap;align-items:center;gap:14px 20px;padding:16px 18px 16px 22px;background:#0B0D28;color:#FFFFFF;border-radius:20px;box-shadow:0 24px 60px -24px rgba(11,13,40,.6);font-size:14px;line-height:1.5}
.ckBar[hidden]{display:none}
.ckText{flex:1 1 300px;margin:0;color:#D6D7E6}
.ckText a{color:#FFD43B;text-decoration:underline}
.ckText a:hover{color:#FFE27A}
.ckBtns{display:flex;gap:10px;flex:0 0 auto}
.ckBtn{cursor:pointer;border:1px solid #FFD43B;background:#FFD43B;color:#0B0D28;font-weight:700;font-size:14px;padding:10px 20px;border-radius:999px}
.ckBtn--ghost{background:transparent;color:#FFFFFF;border-color:#3A3D63}
.ckBtn:hover{filter:brightness(1.05)}
.exDlg{width:min(520px,calc(100% - 32px));max-height:calc(100% - 32px);overflow:auto;padding:36px 32px 28px;border:0;border-radius:28px;background:#FFFFFF;color:#0B0D28;box-shadow:0 40px 100px -40px rgba(11,13,40,.7)}
.exDlg::backdrop{background:rgba(11,13,40,.62);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}
.exDlg[open]{animation:exIn .35s cubic-bezier(.2,.7,.2,1)}
@keyframes exIn{from{opacity:0;transform:translateY(16px) scale(.98)}to{opacity:1;transform:none}}
.exClose{position:absolute;top:14px;right:14px;width:40px;height:40px;border-radius:50%;border:1px solid #E6E5DD;background:#FFFFFF;color:#0B0D28;cursor:pointer;display:flex;align-items:center;justify-content:center}
.exKicker{margin:0 0 10px;text-transform:uppercase;letter-spacing:.12em;font-weight:700;font-size:12px;color:#62647A}
.exTitle{margin:0 40px 10px 0;font-size:clamp(24px,4vw,30px);line-height:1.12;letter-spacing:-0.03em;font-weight:800}
.exSub{margin:0 0 20px;color:#3A3D63;font-size:15px;line-height:1.55}
.exForm{display:flex;flex-direction:column;gap:14px}
.exLbl{display:flex;flex-direction:column;gap:6px;font-size:13px;font-weight:700}
.exOpt{font-weight:500;color:#62647A}
.exIn{padding:12px 14px;border:1px solid #E2E1D9;border-radius:14px;background:#FAFAF7;color:#0B0D28;font-size:15px;font-weight:500;resize:vertical}
.exSubmit{margin-top:4px;cursor:pointer;border:0;background:#0B0D28;color:#FFFFFF;font-weight:700;font-size:15px;padding:15px 22px;border-radius:999px}
.exSubmit:hover{background:#1F2246}
.exAlt{margin:16px 0 0;font-size:13px;color:#62647A;text-align:center}
.exAlt a{color:#0B0D28;font-weight:700;text-decoration:underline}
@media (max-width:560px){.exDlg{padding:30px 20px 22px;border-radius:22px}.ckBtns{width:100%}.ckBtn{flex:1}}
@media (prefers-reduced-motion: reduce){.exDlg[open]{animation:none}}

/* 7. HubSpot form boxes (loaded by site.js; the form itself is styled in HubSpot) */
.hsBox,.exHs{display:block;min-height:520px;min-width:0}
.hsTarget{width:100%}
.hsLoading{margin:0;font-size:14px;font-weight:600;color:#62647A}
.hsReady .hsLoading{display:none}
.exHs{min-height:480px;margin-top:8px}
