:root{--navy:#04122a;--navy2:#061d49;--blue:#0866ff;--bright:#0799ff;--cyan:#04c8ef;--cloud:#f5f8fc;--ink:#0b1732;--muted:#607086;--line:#dce5f0;--white:#fff;--radius:22px;--shadow:0 24px 70px rgba(5,25,60,.12);--max:1180px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#fff;color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.6;-webkit-font-smoothing:antialiased}body.menu-open{overflow:hidden}img,video{max-width:100%;height:auto}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}.screen-reader-text{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:fixed;left:12px;top:-60px;z-index:99999;background:#fff;color:#000;padding:12px 18px;border-radius:8px}.skip-link:focus{top:12px}.ac-container{width:min(calc(100% - 40px),var(--max));margin-inline:auto}.ac-readable{width:min(100%,760px)}.ac-main{overflow:hidden}.ac-site-header{position:absolute;inset:0 0 auto;z-index:100;color:#fff;border-bottom:1px solid rgba(255,255,255,.08);transition:.25s}.ac-site-header.is-scrolled{position:fixed;background:rgba(4,18,42,.94);backdrop-filter:blur(18px);box-shadow:0 12px 35px rgba(0,0,0,.2)}.ac-header-inner{min-height:82px;display:flex;align-items:center;gap:36px}.ac-brand{display:block;width:250px;flex:0 0 auto}.ac-brand img{display:block;width:100%}.ac-primary-nav{margin-left:auto}.ac-nav-list{display:flex;align-items:center;gap:32px;list-style:none;margin:0;padding:0}.ac-nav-list a{font-size:.93rem;color:rgba(255,255,255,.87);position:relative}.ac-nav-list a:hover,.ac-nav-list .current-menu-item>a{color:#fff}.ac-nav-list .current-menu-item>a:after{content:"";position:absolute;height:2px;background:var(--blue);left:0;right:0;bottom:-12px}.ac-button{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:0 22px;border:1px solid var(--blue);border-radius:8px;color:#fff;background:linear-gradient(135deg,var(--blue),#0754d4);font-weight:750;font-size:.94rem;box-shadow:0 12px 30px rgba(8,102,255,.22);transition:transform .2s,box-shadow .2s,background .2s;cursor:pointer}.ac-button:hover{transform:translateY(-2px);box-shadow:0 16px 35px rgba(8,102,255,.32)}.ac-button svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.ac-button-small{min-height:42px;padding:0 17px;font-size:.84rem}.ac-button-ghost{background:transparent;border-color:rgba(255,255,255,.4);box-shadow:none}.ac-button-ghost:hover{background:rgba(255,255,255,.08)}.ac-menu-toggle{display:none;width:46px;height:42px;border:0;background:transparent;padding:8px}.ac-menu-toggle span:not(.screen-reader-text){display:block;height:2px;background:#fff;margin:5px 0;border-radius:2px}.ac-hero,.ac-page-hero{position:relative;color:#fff;background:radial-gradient(circle at 88% 55%,rgba(8,102,255,.38),transparent 28%),linear-gradient(135deg,#031024,#061d49 72%,#04122a);}.ac-hero{min-height:760px;padding:150px 0 90px;display:grid;align-items:center}.ac-hero-grid,.ac-page-hero-grid{display:grid;grid-template-columns:.92fr 1.08fr;align-items:center;gap:58px}.ac-hero-copy{position:relative;z-index:2}.ac-eyebrow{margin:0 0 14px;color:var(--blue);font-size:.78rem;font-weight:850;text-transform:uppercase;letter-spacing:.14em}.ac-hero h1,.ac-page-hero h1{margin:0;letter-spacing:-.045em;line-height:1.06;font-size:clamp(3.1rem,5.5vw,5.25rem)}.ac-page-hero h1{font-size:clamp(2.8rem,5vw,4.8rem)}.ac-lead{font-size:1.12rem;line-height:1.75;color:rgba(255,255,255,.78);max-width:620px;margin:27px 0 32px}.ac-actions{display:flex;gap:14px;flex-wrap:wrap}.ac-orb{position:absolute;border-radius:50%;filter:blur(4px);opacity:.34}.ac-orb-one{width:380px;height:380px;right:-190px;top:230px;background:#0866ff}.ac-orb-two{width:260px;height:260px;left:42%;bottom:-140px;background:#04c8ef;opacity:.11}.ac-device-stage,.ac-dashboard-showcase{position:relative;min-height:470px}.ac-laptop{position:absolute;width:78%;right:0;top:15px;padding:15px 15px 24px;border-radius:18px 18px 10px 10px;background:linear-gradient(145deg,#121722,#03070d);box-shadow:0 42px 80px rgba(0,0,0,.42);border:1px solid rgba(255,255,255,.25)}.ac-laptop:after{content:"";position:absolute;left:-5%;right:-5%;height:18px;bottom:-12px;border-radius:2px 2px 16px 16px;background:linear-gradient(#2a303b,#0c1016)}.ac-screen{min-height:330px;padding:22px;border-radius:7px;background:linear-gradient(155deg,#06142e,#071d42);box-shadow:inset 0 0 0 1px rgba(71,130,255,.18)}.ac-dashboard-top{display:flex;justify-content:space-between;align-items:center;color:#fff;font-size:.95rem;font-weight:750;margin-bottom:22px}.ac-live{font-size:.62rem;color:#51efab;border:1px solid rgba(81,239,171,.36);padding:4px 8px;border-radius:999px}.ac-stat-row{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.ac-stat-row>div{padding:13px;border-radius:10px;background:rgba(255,255,255,.055);border:1px solid rgba(255,255,255,.06)}.ac-stat-row b{display:block;color:#fff;font-size:1.22rem}.ac-stat-row small{color:#8fa4c8}.ac-chart{height:110px;margin:18px 0;display:flex;align-items:flex-end;gap:7px;padding:13px;border-radius:12px;background:rgba(255,255,255,.035)}.ac-chart i{display:block;flex:1;background:linear-gradient(var(--cyan),var(--blue));border-radius:4px 4px 1px 1px}.ac-chart i:nth-child(1){height:28%}.ac-chart i:nth-child(2){height:42%}.ac-chart i:nth-child(3){height:38%}.ac-chart i:nth-child(4){height:65%}.ac-chart i:nth-child(5){height:57%}.ac-chart i:nth-child(6){height:85%}.ac-chart i:nth-child(7){height:76%}.ac-data-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.ac-data-grid span{height:35px;border-radius:8px;background:rgba(255,255,255,.05)}.ac-phone{position:absolute;z-index:3;width:168px;min-height:330px;padding:20px 13px 16px;border:7px solid #161b23;border-radius:30px;background:linear-gradient(160deg,#07172f,#09234f);box-shadow:0 25px 55px rgba(0,0,0,.55);color:#fff}.ac-phone-left{left:3%;bottom:3%}.ac-phone-right{right:-1%;bottom:0}.ac-phone:before{content:"";position:absolute;width:55px;height:15px;left:50%;top:0;transform:translateX(-50%);border-radius:0 0 12px 12px;background:#161b23}.ac-phone-title{font-weight:750;text-align:center;font-size:.76rem;margin:8px 0 18px}.ac-app-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.ac-app-grid i{height:62px;border-radius:10px;background:radial-gradient(circle at 50% 35%,#1d95ff,#0752bd 60%,#061d49);border:1px solid rgba(255,255,255,.1)}.ac-emergency{margin-top:10px;padding:9px;border-radius:8px;text-align:center;background:linear-gradient(#ff4c4c,#d71f2c);font-size:.7rem;font-weight:800}.ac-phone ul{margin:0;padding:0;list-style:none}.ac-phone li{padding:10px 6px;border-bottom:1px solid rgba(255,255,255,.08);font-size:.73rem;color:#c9d7ed}.ac-capabilities{background:#fff;box-shadow:0 18px 50px rgba(11,34,70,.07)}.ac-capability-grid{display:grid;grid-template-columns:repeat(6,1fr)}.ac-capability{padding:35px 20px;text-align:center;border-right:1px solid var(--line)}.ac-capability:last-child{border:0}.ac-capability>span{display:block;color:var(--blue);font-size:1.8rem;line-height:1;margin-bottom:12px}.ac-capability strong,.ac-capability small{display:block}.ac-capability strong{font-size:.84rem}.ac-capability small{margin-top:3px;font-size:.78rem;color:var(--muted)}.ac-section{padding:90px 0}.ac-section h2{font-size:clamp(2rem,3.3vw,3.25rem);line-height:1.12;letter-spacing:-.035em;margin:0 0 18px}.ac-section p{color:var(--muted)}.ac-split-heading{display:grid;grid-template-columns:260px 1fr;gap:58px;align-items:start}.ac-split-heading>div:first-child p:not(.ac-eyebrow){margin:0 0 25px}.ac-app-card-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.ac-app-card,.ac-info-card,.ac-product-card{background:#fff;border:1px solid #e6edf6;border-radius:14px;box-shadow:0 18px 45px rgba(8,30,70,.07)}.ac-app-card{padding:25px 18px;text-align:center;display:flex;flex-direction:column;min-height:365px}.ac-app-icon{width:65px;height:65px;margin:0 auto 18px;border-radius:16px;display:grid;place-items:center;color:#fff;font-weight:800;font-size:1.4rem;background:linear-gradient(145deg,#1495ff,#061d49);box-shadow:0 10px 25px rgba(8,102,255,.24)}.ac-app-card h3{font-size:1rem;margin:0 0 12px}.ac-app-card p{font-size:.84rem;line-height:1.6;flex:1}.ac-tags{display:flex;justify-content:center;gap:6px;margin-bottom:14px}.ac-tags span{font-size:.68rem;padding:4px 9px;background:#f1f4f8;border-radius:999px;color:#5b687a}.ac-app-card>a{color:var(--blue);font-weight:700;font-size:.8rem}.ac-dark-section{background:radial-gradient(circle at 80% 10%,rgba(8,102,255,.16),transparent 30%),linear-gradient(135deg,#031024,#061d49);color:#fff}.ac-dark-section p{color:#a9b8ce}.ac-service-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.ac-service-card{padding:28px 20px;border-radius:13px;background:rgba(11,41,85,.58);border:1px solid rgba(82,143,255,.25);transition:.22s}.ac-service-card:hover{transform:translateY(-4px);border-color:var(--blue);background:rgba(14,53,112,.72)}.ac-line-icon{display:inline-grid;place-items:center;width:58px;height:58px;border-radius:50%;background:rgba(8,102,255,.1);color:var(--blue);margin-bottom:20px}.ac-line-icon svg,.ac-hero-symbol svg{width:31px;height:31px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.ac-service-card h3{font-size:.96rem}.ac-service-card p{font-size:.81rem}.ac-featured{background:#fff}.ac-featured-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:75px;align-items:center}.ac-product-visual{min-height:430px;display:grid;place-items:center;background:radial-gradient(circle,#eaf2ff,transparent 65%)}.ac-tablet{width:72%;min-height:370px;border:10px solid #161b23;border-radius:27px;background:linear-gradient(160deg,#06142e,#0a2859);box-shadow:0 30px 70px rgba(5,25,60,.25);padding:28px;color:#fff}.ac-big-grid i{height:110px}.ac-lead-small{font-size:1.02rem;line-height:1.75}.ac-feature-list{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:28px 0}.ac-feature-list span{display:flex;align-items:center;gap:8px;font-size:.87rem}.ac-feature-list svg{width:20px;height:20px;fill:none;stroke:var(--blue);stroke-width:2.5}.ac-store-badge{display:inline-flex;padding:13px 19px;background:#050505;color:#fff;border-radius:9px;font-weight:650}.ac-center{text-align:center}.ac-process{background:var(--cloud)}.ac-process-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:30px;margin-top:50px}.ac-process-step{text-align:center;position:relative}.ac-process-step>span,.ac-journey-grid b{display:grid;place-items:center;width:64px;height:64px;margin:0 auto 20px;border-radius:50%;background:#fff;color:var(--blue);font-size:1.1rem;font-weight:850;border:1px solid #dce7f7;box-shadow:0 12px 30px rgba(7,42,90,.09)}.ac-process-step h3{margin:0 0 10px;font-size:.94rem}.ac-process-step p{font-size:.79rem}.ac-cta{color:#fff;background:linear-gradient(110deg,#071c3d,#07377f 68%,#061d49);padding:42px 0}.ac-cta .ac-container{display:flex;justify-content:space-between;align-items:center;gap:30px}.ac-cta h2{font-size:1.75rem;margin:0}.ac-cta p{margin:3px 0 0;color:#bed0e7}.ac-site-footer{background:#031024;color:#fff;padding:70px 0 22px}.ac-footer-grid{display:grid;grid-template-columns:1.65fr .7fr .7fr 1fr;gap:58px}.ac-footer-grid h2{font-size:.86rem;margin:0 0 18px}.ac-footer-grid a{display:block;color:#c4d1e3;font-size:.82rem;margin:9px 0}.ac-footer-grid p{color:#8fa0ba;font-size:.8rem}.ac-footer-brand img{width:230px}.ac-footer-bottom{margin-top:45px;padding-top:20px;border-top:1px solid rgba(255,255,255,.09);display:flex;justify-content:space-between;color:#7286a4;font-size:.73rem}.ac-page-hero{padding:170px 0 90px;min-height:520px;display:grid;align-items:center}.ac-page-hero-grid{grid-template-columns:1.05fr .95fr}.ac-hero-symbol{width:280px;height:280px;margin-left:auto;border-radius:50%;display:grid;place-items:center;color:#fff;background:radial-gradient(circle at 35% 30%,#159cff,#0866ff 42%,#052453 75%);box-shadow:0 40px 85px rgba(8,102,255,.28)}.ac-hero-symbol svg{width:105px;height:105px;stroke-width:1.3}.ac-service-list{display:grid;gap:16px}.ac-service-feature{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:25px;padding:24px 28px;border:1px solid #e0e8f2;border-radius:16px;background:#fff;box-shadow:0 12px 40px rgba(8,30,70,.06);transition:.2s}.ac-service-feature:hover{transform:translateY(-3px);border-color:#9ec1ff}.ac-service-feature .ac-line-icon{margin:0}.ac-service-feature h2{font-size:1.35rem;margin:0 0 5px}.ac-service-feature p{margin:0}.ac-service-arrow{font-size:1.8rem;color:var(--blue)}.ac-inline-checks{display:flex;gap:20px;flex-wrap:wrap;font-size:.82rem}.ac-inline-checks span{display:flex;gap:7px;align-items:center}.ac-inline-checks svg{width:19px;height:19px;fill:none;stroke:var(--blue);stroke-width:2.5}.ac-six-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:12px;margin-top:42px}.ac-info-card{padding:27px 18px;text-align:center}.ac-info-card h3{font-size:.96rem;line-height:1.25;margin:0 0 12px}.ac-info-card p{font-size:.8rem;margin:0}.ac-section-intro{max-width:760px;margin:-5px auto 35px}.ac-video-wrap{width:min(100%,920px);margin:45px auto 38px;border:1px solid rgba(86,145,255,.35);border-radius:20px;overflow:hidden;box-shadow:0 30px 85px rgba(0,0,0,.35);background:#020915}.ac-video-wrap video{display:block;width:100%;aspect-ratio:16/9;object-fit:cover}.ac-journey-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:30px;text-align:center}.ac-journey-grid b{width:42px;height:42px;margin-bottom:12px;background:var(--blue);border:0;color:#fff}.ac-journey-grid h3{margin:0}.ac-journey-grid p{font-size:.82rem}.ac-flow-diagram{display:grid;grid-template-columns:1fr auto 2.2fr auto 1fr;align-items:center;gap:20px;margin-top:45px}.ac-flow-column,.ac-intelligence-layer{padding:25px;border:1px solid #dfe8f4;border-radius:16px;background:#fff;box-shadow:0 16px 45px rgba(8,30,70,.07)}.ac-flow-column h3,.ac-intelligence-layer h3{color:var(--blue);font-size:.76rem;text-transform:uppercase;letter-spacing:.12em;text-align:center}.ac-flow-column span{display:block;border:1px solid #e3eaf3;border-radius:8px;padding:10px;margin:8px 0;font-size:.8rem}.ac-intelligence-layer>div{display:grid;grid-template-columns:repeat(5,1fr);gap:8px}.ac-intelligence-layer span{padding:18px 7px;background:#f3f7fd;border-radius:10px;text-align:center;font-size:.76rem;color:#18355e}.ac-intelligence-layer small{display:block;text-align:center;margin-top:18px;color:var(--muted)}.ac-flow-arrow{font-size:2.2rem;color:var(--blue)}.ac-five-steps{grid-template-columns:repeat(5,1fr)}.ac-case-study{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}.ac-case-visual{min-height:400px;position:relative}.ac-case-visual .ac-laptop{width:95%;top:35px}.ac-tick-list{display:grid;grid-template-columns:1fr 1fr;gap:13px 20px;list-style:none;padding:0;margin:28px 0}.ac-tick-list li{font-size:.85rem;position:relative;padding-left:23px}.ac-tick-list li:before{content:"✓";position:absolute;left:0;color:var(--blue);font-weight:900}.ac-faq{background:var(--cloud)}.ac-faq-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;margin-top:35px}.ac-product-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.ac-product-card{display:grid;grid-template-columns:auto 1fr;gap:24px;align-items:center;padding:28px;text-align:left}.ac-product-card .ac-app-icon{margin:0}.ac-product-card h2{font-size:1.25rem;margin:0 0 8px}.ac-product-card p{margin:0 0 10px}.ac-product-card small{color:var(--blue);font-weight:750}.ac-prose h2{margin:42px 0 14px;font-size:2rem}.ac-prose p,.ac-prose li{color:#4e6077}.ac-prose blockquote{margin:45px 0;padding:28px 32px;border-left:4px solid var(--blue);background:var(--cloud);font-size:1.35rem;font-weight:750;color:var(--navy2)}.ac-contact-grid{display:grid;grid-template-columns:.7fr 1.3fr;gap:70px}.ac-contact-details{padding:35px;border-radius:18px;background:var(--cloud)}.ac-contact-details a{color:var(--blue)}.ac-contact-form{padding:38px;border-radius:18px;border:1px solid #e0e8f2;box-shadow:var(--shadow)}.ac-contact-form h2{font-size:2rem}.ac-contact-form label{display:block;font-size:.82rem;font-weight:750;margin:17px 0}.ac-contact-form input,.ac-contact-form textarea,.ac-contact-form select{display:block;width:100%;margin-top:7px;padding:13px 14px;border:1px solid #ced9e6;border-radius:8px;background:#fff;color:#12223b}.ac-contact-form textarea{resize:vertical}.ac-honeypot{position:absolute!important;left:-9999px!important}.ac-form-message{padding:13px 16px;border-radius:8px;margin-bottom:18px}.ac-form-message.success{background:#e7faef;color:#136436}.ac-form-message.error{background:#fff0f0;color:#8f1d1d}.ac-content-page{min-height:70vh}.ac-compact-hero{min-height:auto;padding-bottom:70px}.ac-reveal{opacity:0;transform:translateY(18px);transition:opacity .65s ease,transform .65s ease}.ac-reveal.is-visible{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.ac-reveal{opacity:1;transform:none;transition:none}.ac-button,.ac-service-card,.ac-service-feature{transition:none}.ac-video-wrap video{display:none}.ac-video-wrap{min-height:360px;background:linear-gradient(135deg,#071d42,#0866ff)}}
@media(max-width:1050px){.ac-header-inner{gap:20px}.ac-brand{width:210px}.ac-nav-list{gap:20px}.ac-header-cta{display:none}.ac-hero-grid,.ac-page-hero-grid{grid-template-columns:1fr}.ac-hero{padding-top:135px}.ac-device-stage{min-height:500px}.ac-page-hero-grid>div:first-child{max-width:720px}.ac-hero-symbol{display:none}.ac-split-heading{grid-template-columns:1fr}.ac-app-card-grid,.ac-service-grid{grid-template-columns:repeat(2,1fr)}.ac-six-grid{grid-template-columns:repeat(3,1fr)}.ac-flow-diagram{grid-template-columns:1fr}.ac-flow-arrow{transform:rotate(90deg);text-align:center}.ac-featured-grid,.ac-case-study{grid-template-columns:1fr}.ac-featured-grid>div:last-child{max-width:720px}.ac-case-visual{order:2}.ac-footer-grid{grid-template-columns:1.5fr 1fr 1fr}.ac-footer-grid>div:last-child{grid-column:1/-1}.ac-five-steps{grid-template-columns:repeat(3,1fr)}}
@media(max-width:780px){.ac-container{width:min(calc(100% - 28px),var(--max))}.ac-site-header{position:absolute}.ac-header-inner{min-height:72px}.ac-brand{width:205px}.ac-menu-toggle{display:block;margin-left:auto}.ac-primary-nav{position:fixed;inset:72px 0 0;background:rgba(3,16,36,.985);padding:35px 25px;opacity:0;visibility:hidden;transform:translateY(-12px);transition:.22s}.ac-primary-nav.is-open{opacity:1;visibility:visible;transform:none}.ac-nav-list{display:block}.ac-nav-list li{border-bottom:1px solid rgba(255,255,255,.09)}.ac-nav-list a{display:block;padding:18px 3px;font-size:1.08rem}.ac-nav-list .current-menu-item>a:after{display:none}.ac-hero{min-height:auto;padding:130px 0 75px}.ac-hero h1,.ac-page-hero h1{font-size:clamp(2.65rem,13vw,4rem)}.ac-lead{font-size:1rem}.ac-device-stage{min-height:390px;margin-top:20px}.ac-laptop{width:90%;right:0}.ac-screen{min-height:240px}.ac-phone{transform:scale(.78);transform-origin:bottom}.ac-phone-left{left:-5%}.ac-phone-right{right:-8%}.ac-capability-grid{grid-template-columns:repeat(2,1fr)}.ac-capability{border-bottom:1px solid var(--line)}.ac-section{padding:70px 0}.ac-app-card-grid,.ac-service-grid,.ac-process-grid,.ac-journey-grid,.ac-faq-grid,.ac-product-grid{grid-template-columns:1fr}.ac-app-card{min-height:auto}.ac-featured-grid{gap:35px}.ac-product-visual{min-height:350px}.ac-tablet{width:95%;min-height:310px}.ac-big-grid i{height:80px}.ac-feature-list,.ac-tick-list{grid-template-columns:1fr}.ac-cta .ac-container{align-items:flex-start;flex-direction:column}.ac-footer-grid{grid-template-columns:1fr 1fr}.ac-footer-brand{grid-column:1/-1}.ac-footer-grid>div:last-child{grid-column:auto}.ac-footer-bottom{gap:15px;flex-direction:column}.ac-page-hero{padding:135px 0 70px;min-height:auto}.ac-six-grid{grid-template-columns:1fr 1fr}.ac-intelligence-layer>div{grid-template-columns:1fr}.ac-five-steps{grid-template-columns:1fr}.ac-contact-grid{grid-template-columns:1fr}.ac-contact-form{padding:25px}.ac-service-feature{grid-template-columns:auto 1fr}.ac-service-arrow{display:none}.ac-product-card{grid-template-columns:1fr;text-align:center}.ac-product-card .ac-app-icon{margin:auto}}
@media(max-width:480px){.ac-actions{display:grid}.ac-actions .ac-button{width:100%}.ac-phone-right{display:none}.ac-phone-left{left:0}.ac-laptop{width:95%}.ac-capability{padding:28px 10px}.ac-six-grid{grid-template-columns:1fr}.ac-footer-grid{grid-template-columns:1fr}.ac-footer-grid>div:last-child{grid-column:auto}.ac-flow-column,.ac-intelligence-layer{padding:18px}}

/* Milestone 2: editable app portfolio */
.ac-app-card h3 a,
.ac-product-card h2 a { color: inherit; text-decoration: none; }
.ac-app-card h3 a:hover,
.ac-product-card h2 a:hover { color: var(--ac-blue); }
.ac-app-icon-image { display: block; object-fit: cover; padding: 0; background: transparent; }
.ac-product-card-icon { flex: 0 0 auto; text-decoration: none; }
.ac-card-kicker { margin: 0 0 .35rem; color: var(--ac-blue); font-size: .72rem; font-weight: 800; letter-spacing: .11em; text-transform: uppercase; }
.ac-text-link { display: inline-flex; margin-top: 1rem; color: var(--ac-blue); font-weight: 750; text-decoration: none; }
.ac-empty-state { grid-column: 1 / -1; padding: 4rem 2rem; text-align: center; border: 1px solid var(--ac-border); border-radius: 24px; background: #fff; }
.ac-app-detail-hero { padding-top: clamp(9rem, 13vw, 12rem); }
.ac-app-detail-hero-grid { display: grid; grid-template-columns: minmax(180px, 300px) minmax(0, 1fr); gap: clamp(2rem, 6vw, 5rem); align-items: center; }
.ac-app-detail-icon-wrap { display: grid; place-items: center; min-height: 280px; border: 1px solid rgba(94, 144, 224, .22); border-radius: 32px; background: linear-gradient(145deg, rgba(11, 39, 82, .92), rgba(4, 18, 42, .55)); box-shadow: 0 34px 80px rgba(0,0,0,.28); }
.ac-app-icon-large { width: min(70%, 210px); aspect-ratio: 1; height: auto; font-size: clamp(2.5rem, 7vw, 5rem); border-radius: 32px; }
.ac-app-content { max-width: 860px; }
.ac-app-content h2 { margin-top: 2.4rem; }
.ac-app-content ul { padding-left: 1.2rem; }
.ac-app-content li { margin: .6rem 0; }
.ac-app-navigation { padding-top: 0; }
.ac-app-navigation a { color: var(--ac-blue); font-weight: 750; text-decoration: none; }
@media (max-width: 760px) {
  .ac-app-detail-hero-grid { grid-template-columns: 1fr; }
  .ac-app-detail-icon-wrap { min-height: 220px; }
}

/* App detail media — Milestone 3 */
.ac-app-detail-hero-grid:has(.ac-app-hero-art){grid-template-columns:auto minmax(0,1fr) minmax(300px,.9fr)}
.ac-app-hero-art{align-self:end;text-align:right}.ac-app-hero-art img{max-height:430px;width:auto;object-fit:contain;filter:drop-shadow(0 30px 50px rgba(0,0,0,.28))}.ac-app-features{background:#f6f9fd}.ac-feature-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:28px}.ac-feature-item{display:flex;gap:12px;align-items:flex-start;padding:18px;border:1px solid rgba(6,29,73,.1);border-radius:16px;background:#fff}.ac-feature-item svg{width:22px;min-width:22px;stroke:#0866ff;fill:none;stroke-width:2}.ac-app-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin-top:30px}.ac-app-gallery figure{margin:0;padding:12px;border:1px solid rgba(6,29,73,.1);border-radius:20px;background:#fff;box-shadow:0 18px 45px rgba(4,18,42,.08)}.ac-app-gallery img{display:block;width:100%;height:auto;border-radius:12px}@media(max-width:980px){.ac-app-detail-hero-grid:has(.ac-app-hero-art){grid-template-columns:auto 1fr}.ac-app-hero-art{grid-column:1/-1;text-align:center}.ac-feature-grid,.ac-app-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:640px){.ac-feature-grid,.ac-app-gallery{grid-template-columns:1fr}}


/* Milestone 4 — flagship product presentation */
.ac-app-detail-hero{overflow:hidden}
.ac-app-detail-hero-grid:has(.ac-app-hero-art){grid-template-columns:170px minmax(0,.95fr) minmax(310px,.72fr);gap:42px}
.ac-app-detail-copy{position:relative;z-index:2}
.ac-app-detail-icon-wrap{min-height:170px;border-radius:30px}
.ac-app-detail-icon-wrap .ac-app-icon-image{width:118px;height:118px;border-radius:27px;box-shadow:0 20px 44px rgba(0,0,0,.28)}
.ac-app-hero-art{position:relative;display:flex;justify-content:center;align-items:flex-end;min-height:500px}
.ac-app-hero-art:before{content:"";position:absolute;inset:12% -18% -18%;border-radius:50%;background:radial-gradient(circle,rgba(8,102,255,.38),transparent 67%);filter:blur(8px)}
.ac-device-shell{position:relative;z-index:2;display:block;padding:9px;background:#090d14;border:2px solid rgba(255,255,255,.22);border-radius:42px;box-shadow:0 38px 80px rgba(0,0,0,.48);transform:rotate(2deg)}
.ac-device-shell:before{content:"";position:absolute;z-index:3;top:12px;left:50%;width:31%;height:20px;transform:translateX(-50%);border-radius:0 0 14px 14px;background:#090d14}
.ac-device-shell img{display:block;max-height:510px;width:auto;border-radius:33px;filter:none}
.ac-section-intro{max-width:700px}
.ac-app-story-section{background:#fff}
.ac-app-story-grid{display:grid;grid-template-columns:minmax(220px,.65fr) minmax(0,1.35fr);gap:70px;align-items:start}
.ac-app-story-grid>div:first-child{position:sticky;top:120px}
.ac-app-content{max-width:none}
.ac-app-content h2:first-child{margin-top:0}
.ac-app-content blockquote{border-radius:0 18px 18px 0}
.ac-gallery-heading{display:grid;grid-template-columns:1fr .75fr;gap:50px;align-items:end}
.ac-gallery-heading>p{margin:0 0 18px}
.ac-app-gallery-section{background:linear-gradient(180deg,#f5f8fc,#fff)}
.ac-app-gallery{grid-template-columns:repeat(3,minmax(0,1fr));align-items:start}
.ac-app-gallery figure{padding:10px;border-radius:28px;background:#0a0f18;box-shadow:0 24px 55px rgba(4,18,42,.15);transition:transform .25s,box-shadow .25s}
.ac-app-gallery figure:nth-child(3n+2){transform:translateY(34px)}
.ac-app-gallery figure:hover{transform:translateY(-7px);box-shadow:0 32px 65px rgba(4,18,42,.22)}
.ac-app-gallery figure:nth-child(3n+2):hover{transform:translateY(27px)}
.ac-app-gallery img{border-radius:20px}
.ac-real-product-visual{display:flex;align-items:center;justify-content:center;min-height:520px;background:radial-gradient(circle at 50% 43%,rgba(8,102,255,.24),transparent 53%)}
.ac-featured-device{display:block;padding:8px;border-radius:38px;background:#090d14;box-shadow:0 35px 75px rgba(4,18,42,.34);transform:rotate(-4deg)}
.ac-featured-device img{display:block;max-height:490px;width:auto;border-radius:30px}
.ac-featured-icon{position:absolute;right:6%;bottom:9%;padding:12px;border-radius:24px;background:#fff;box-shadow:0 20px 45px rgba(4,18,42,.24)}
.ac-featured-icon .ac-app-icon{margin:0;width:82px;height:82px;border-radius:20px}
.ac-featured .ac-actions{align-items:center}
.ac-store-badge{display:inline-flex;align-items:center;min-height:52px;padding:0 20px;border:1px solid #cbd7e8;border-radius:8px;background:#071225;color:#fff;font-size:.85rem;font-weight:750}
@media(max-width:1050px){
 .ac-app-detail-hero-grid:has(.ac-app-hero-art){grid-template-columns:140px 1fr}
 .ac-app-hero-art{grid-column:1/-1;min-height:470px}
 .ac-app-story-grid{grid-template-columns:1fr;gap:22px}
 .ac-app-story-grid>div:first-child{position:static}
}
@media(max-width:780px){
 .ac-app-detail-hero-grid:has(.ac-app-hero-art){grid-template-columns:1fr}
 .ac-app-detail-icon-wrap{min-height:145px}
 .ac-app-hero-art{min-height:430px}
 .ac-device-shell img{max-height:405px}
 .ac-gallery-heading{grid-template-columns:1fr;gap:5px}
 .ac-app-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
 .ac-app-gallery figure:nth-child(3n+2){transform:none}
 .ac-app-gallery figure:hover,.ac-app-gallery figure:nth-child(3n+2):hover{transform:none}
 .ac-real-product-visual{min-height:450px}
 .ac-featured-device img{max-height:410px}
}
@media(max-width:520px){
 .ac-app-gallery{grid-template-columns:1fr 1fr}
 .ac-app-gallery figure{padding:6px;border-radius:20px}
 .ac-app-gallery img{border-radius:15px}
 .ac-device-shell{border-radius:33px}
 .ac-device-shell img{border-radius:26px}
}


/* Milestone 5 — detailed feature cards replace the screenshot wall */
.ac-detailed-features-section{
  background:
    radial-gradient(circle at 12% 5%,rgba(8,102,255,.08),transparent 30%),
    linear-gradient(180deg,#f5f8fc 0%,#fff 100%);
}
.ac-detailed-features-heading{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(280px,.65fr);
  gap:58px;
  align-items:end;
  margin-bottom:42px;
}
.ac-detailed-features-heading h2{max-width:660px}
.ac-detailed-features-heading>p{margin:0 0 18px;color:#607086;font-size:1.05rem;line-height:1.75}
.ac-detailed-feature-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:22px;
}
.ac-detailed-feature-card{
  position:relative;
  min-height:250px;
  padding:34px 34px 32px;
  overflow:hidden;
  border:1px solid #dce5f0;
  border-radius:24px;
  background:rgba(255,255,255,.94);
  box-shadow:0 18px 45px rgba(4,18,42,.075);
  transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease;
}
.ac-detailed-feature-card:hover{
  transform:translateY(-5px);
  border-color:rgba(8,102,255,.42);
  box-shadow:0 27px 58px rgba(4,18,42,.13);
}
.ac-detailed-feature-card:after{
  content:"";
  position:absolute;
  right:-64px;
  bottom:-74px;
  width:180px;
  height:180px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(4,200,239,.13),transparent 68%);
}
.ac-feature-number{
  position:absolute;
  top:24px;
  right:27px;
  color:#d2dbe8;
  font-size:2.3rem;
  line-height:1;
  font-weight:800;
  letter-spacing:-.06em;
}
.ac-detailed-feature-icon{
  display:flex;
  align-items:center;
  justify-content:center;
  width:46px;
  height:46px;
  margin-bottom:24px;
  border-radius:15px;
  background:linear-gradient(135deg,#0866ff,#04c8ef);
  color:#fff;
  box-shadow:0 12px 26px rgba(8,102,255,.22);
}
.ac-detailed-feature-icon svg{width:20px;height:20px}
.ac-detailed-feature-card h3{
  position:relative;
  z-index:1;
  margin:0 54px 12px 0;
  color:#061d49;
  font-size:1.25rem;
}
.ac-detailed-feature-card p{
  position:relative;
  z-index:1;
  margin:0;
  color:#607086;
  line-height:1.72;
}
@media(max-width:780px){
  .ac-detailed-features-heading{grid-template-columns:1fr;gap:6px}
  .ac-detailed-feature-grid{grid-template-columns:1fr}
  .ac-detailed-feature-card{min-height:0}
}


/* Milestone 6 — Bespoke Software commercial page */
.ac-bespoke-hero{padding-bottom:105px}
.ac-bespoke-hero-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(430px,.82fr);gap:70px;align-items:center}
.ac-bespoke-hero-panel{position:relative;min-height:470px}
.ac-hero-system-card{position:absolute;border:1px solid rgba(255,255,255,.14);background:linear-gradient(145deg,rgba(15,34,67,.95),rgba(5,16,38,.96));box-shadow:0 28px 75px rgba(0,0,0,.34);backdrop-filter:blur(16px)}
.ac-hero-system-card-main{inset:35px 30px 45px 55px;padding:34px;border-radius:30px;transform:rotate(2deg)}
.ac-hero-system-card-left,.ac-hero-system-card-right{z-index:2;padding:18px 20px;border-radius:18px}
.ac-hero-system-card-left{left:0;bottom:70px}
.ac-hero-system-card-right{right:0;top:75px}
.ac-hero-system-card span{display:block;color:#76ddff;font-size:.72rem;font-weight:800;letter-spacing:.12em}
.ac-hero-system-card b{display:block;margin-top:8px;color:#fff}
.ac-dashboard-bars{display:flex;align-items:end;gap:14px;height:180px;margin:55px 0 24px}
.ac-dashboard-bars i{flex:1;border-radius:10px 10px 4px 4px;background:linear-gradient(180deg,#04c8ef,#0866ff)}
.ac-dashboard-bars i:nth-child(1){height:42%}.ac-dashboard-bars i:nth-child(2){height:68%}.ac-dashboard-bars i:nth-child(3){height:88%}.ac-dashboard-bars i:nth-child(4){height:60%}
.ac-dashboard-grid-mini{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.ac-dashboard-grid-mini span{height:62px;border-radius:12px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.08)}
.ac-engineer-solutions{background:#fff}
.ac-engineer-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:80px;align-items:start}
.ac-engineer-grid h2{max-width:620px}
.ac-sketch-section{background:#f5f8fc}
.ac-sketch-heading{display:grid;grid-template-columns:1fr .7fr;gap:55px;align-items:end;margin-bottom:38px}
.ac-sketch-heading>p{margin:0 0 14px;color:#607086;line-height:1.75}
.ac-sketch-media{position:relative;overflow:hidden;border-radius:30px;background:#04122a;box-shadow:0 34px 80px rgba(4,18,42,.2)}
.ac-sketch-media video{display:block;width:100%;aspect-ratio:16/9;object-fit:cover}
.ac-sketch-caption{display:grid;grid-template-columns:auto 1fr auto 1fr auto 1fr auto 1fr;gap:12px;align-items:center;padding:22px 28px;background:#061d49;color:#fff}
.ac-sketch-caption span{color:#04c8ef;font-size:.72rem;font-weight:800}
.ac-sketch-caption strong{font-size:.9rem}
.ac-process-map-section{background:#fff}
.ac-process-map{display:grid;grid-template-columns:1fr auto 1fr auto 1fr auto 1fr;gap:18px;align-items:center;margin-top:42px}
.ac-process-map article{min-height:220px;padding:28px;border:1px solid #dce5f0;border-radius:22px;background:#fff;box-shadow:0 16px 40px rgba(4,18,42,.06)}
.ac-process-map article span{color:#0866ff;font-weight:800}
.ac-process-map article h3{margin:26px 0 10px;color:#061d49}
.ac-process-map i{color:#0866ff}
.ac-process-map i svg{width:22px}
.ac-ai-section{background:#04122a;color:#fff}
.ac-ai-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:70px;align-items:center}
.ac-ai-section h2,.ac-ai-section p{color:#fff}
.ac-ai-feature-list{grid-template-columns:1fr 1fr}
.ac-ai-flow{display:grid;grid-template-columns:1fr 1.25fr 1fr;gap:18px;align-items:center}
.ac-ai-column,.ac-ai-core{padding:24px;border-radius:22px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.05)}
.ac-ai-column{display:grid;gap:10px}
.ac-ai-column b{padding:12px;border-radius:12px;background:rgba(255,255,255,.07);font-size:.88rem}
.ac-ai-label{color:#04c8ef;font-size:.7rem;font-weight:800;letter-spacing:.12em}
.ac-ai-core{display:grid;gap:10px;background:linear-gradient(145deg,rgba(8,102,255,.22),rgba(4,200,239,.1))}
.ac-ai-core span{color:#76ddff;font-size:.72rem;font-weight:800;letter-spacing:.11em}
.ac-ai-core strong{padding:13px;border-radius:12px;background:#fff;color:#061d49;text-align:center}
.ac-systems-section{background:#f5f8fc}
.ac-system-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:40px}
.ac-system-grid article{min-height:245px;padding:30px;border-radius:23px;background:#fff;border:1px solid #dce5f0;box-shadow:0 18px 42px rgba(4,18,42,.06)}
.ac-system-grid article span{color:#0866ff;font-weight:800}
.ac-system-grid h3{margin:26px 0 10px;color:#061d49}
.ac-problems-section{background:#fff}
.ac-problems-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:70px}
.ac-problem-list{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.ac-problem-list span{padding:22px 24px;border-radius:18px;border:1px solid #dce5f0;background:#f9fbfe;color:#061d49;font-weight:700;line-height:1.5}
.ac-case-study-section{background:#f5f8fc}
.ac-case-study-card{display:grid;grid-template-columns:1.1fr .9fr;overflow:hidden;padding:0;border-radius:30px;background:#061d49;box-shadow:0 34px 80px rgba(4,18,42,.2)}
.ac-case-study-copy{padding:58px;color:#fff}
.ac-case-study-copy h2,.ac-case-study-copy p{color:#fff}
.ac-case-study-columns{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin:28px 0 34px}
.ac-case-study-columns strong{display:block;margin-bottom:8px;color:#76ddff}
.ac-case-study-visual{display:flex;align-items:center;justify-content:center;min-height:520px;background:radial-gradient(circle,rgba(8,102,255,.38),transparent 60%)}
.ac-case-device{width:260px;padding:30px;border-radius:34px;background:#fff;box-shadow:0 30px 65px rgba(0,0,0,.35);transform:rotate(4deg)}
.ac-case-device>span{color:#0866ff;font-size:.75rem;font-weight:800;letter-spacing:.12em}
.ac-case-device>b{display:block;margin:38px 0 24px;color:#061d49;font-size:1.35rem}
.ac-case-device>div{display:grid;gap:12px}
.ac-case-device i{display:block;height:48px;border-radius:13px;background:#eef5ff}
.ac-case-device i:nth-child(2){background:linear-gradient(90deg,#0866ff,#04c8ef)}
.ac-case-device p{margin-top:28px;color:#607086!important;font-size:.8rem}
.ac-tech-section{background:#fff}
.ac-tech-strip{display:flex;flex-wrap:wrap;gap:14px;margin-top:34px}
.ac-tech-strip span{padding:14px 20px;border-radius:999px;background:#eef5ff;color:#061d49;font-weight:800}
.ac-faq-section{background:#f5f8fc}
.ac-faq-grid{display:grid;grid-template-columns:.75fr 1.25fr;gap:80px}
.ac-faq-list details{margin-bottom:14px;border:1px solid #dce5f0;border-radius:18px;background:#fff}
.ac-faq-list summary{cursor:pointer;padding:22px 24px;color:#061d49;font-weight:800;list-style:none}
.ac-faq-list summary::-webkit-details-marker{display:none}
.ac-faq-list summary:after{content:"+";float:right;color:#0866ff;font-size:1.35rem}
.ac-faq-list details[open] summary:after{content:"–"}
.ac-faq-list details p{padding:0 24px 22px;margin:0;color:#607086;line-height:1.75}
@media(max-width:1000px){
 .ac-bespoke-hero-grid,.ac-ai-grid,.ac-case-study-card{grid-template-columns:1fr}
 .ac-bespoke-hero-panel{min-height:430px}
 .ac-process-map{grid-template-columns:1fr 1fr}
 .ac-process-map>i{display:none}
 .ac-system-grid{grid-template-columns:1fr 1fr}
 .ac-case-study-visual{min-height:430px}
}
@media(max-width:780px){
 .ac-engineer-grid,.ac-sketch-heading,.ac-problems-grid,.ac-faq-grid{grid-template-columns:1fr;gap:26px}
 .ac-sketch-caption{grid-template-columns:auto 1fr}
 .ac-process-map,.ac-ai-flow,.ac-system-grid,.ac-problem-list{grid-template-columns:1fr}
 .ac-ai-feature-list{grid-template-columns:1fr}
 .ac-case-study-columns{grid-template-columns:1fr}
 .ac-case-study-copy{padding:36px 26px}
 .ac-hero-system-card-main{inset:35px 14px 45px}
 .ac-hero-system-card-left{left:0}.ac-hero-system-card-right{right:0}
}


/* Milestone 7 — remaining services, About and Contact */
.ac-service-hero-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,.65fr);gap:70px;align-items:center}
.ac-service-orbit{position:relative;min-height:390px}
.ac-service-orbit:before,.ac-service-orbit:after{content:"";position:absolute;inset:16%;border:1px solid rgba(4,200,239,.35);border-radius:50%}
.ac-service-orbit:after{inset:30%;border-color:rgba(8,102,255,.55)}
.ac-service-orbit-core{position:absolute;z-index:2;left:50%;top:50%;display:flex;align-items:center;justify-content:center;width:110px;height:110px;transform:translate(-50%,-50%);border-radius:30px;background:linear-gradient(135deg,#0866ff,#04c8ef);color:#fff;box-shadow:0 24px 55px rgba(8,102,255,.32)}
.ac-service-orbit-core svg{width:38px;height:38px}
.ac-service-orbit i{position:absolute;width:52px;height:52px;border-radius:18px;background:#fff;box-shadow:0 18px 40px rgba(0,0,0,.25)}
.ac-service-orbit i:nth-of-type(1){left:12%;top:18%}.ac-service-orbit i:nth-of-type(2){right:8%;top:28%}.ac-service-orbit i:nth-of-type(3){left:18%;bottom:9%}.ac-service-orbit i:nth-of-type(4){right:18%;bottom:12%}
.ac-service-intro{background:#fff}
.ac-service-intro-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:80px}
.ac-service-capabilities{background:#f5f8fc}
.ac-service-card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:40px}
.ac-service-capability-card{min-height:255px;padding:31px;border-radius:23px;border:1px solid #dce5f0;background:#fff;box-shadow:0 18px 42px rgba(4,18,42,.06)}
.ac-service-capability-card>span{color:#0866ff;font-weight:800}
.ac-service-capability-card h3{margin:28px 0 12px;color:#061d49}
.ac-service-process{background:#fff}
.ac-service-process-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:38px}
.ac-service-process-grid article{padding:27px;border-radius:21px;background:#061d49;color:#fff}
.ac-service-process-grid article>span{color:#04c8ef;font-weight:800}
.ac-service-process-grid h3{margin:24px 0 9px;color:#fff}
.ac-service-process-grid p{color:#c8d5e8}
.ac-service-statement{background:#f5f8fc}
.ac-service-statement blockquote{max-width:920px;margin:0 auto;padding:52px;border:0;border-radius:28px;background:#fff;color:#061d49;font-size:clamp(1.6rem,3vw,2.5rem);font-weight:800;line-height:1.3;text-align:center;box-shadow:0 24px 58px rgba(4,18,42,.08)}
.ac-about-hero-grid{display:grid;grid-template-columns:1fr .55fr;gap:70px;align-items:center}
.ac-about-mark{display:flex;align-items:center;justify-content:center;min-height:300px}
.ac-about-mark img{max-width:260px;filter:drop-shadow(0 28px 55px rgba(0,0,0,.3))}
.ac-about-story{background:#fff}
.ac-about-story-grid{display:grid;grid-template-columns:.75fr 1.25fr;gap:80px}
.ac-about-principles{background:#f5f8fc}
.ac-principle-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:22px;margin-top:40px}
.ac-principle-grid article{padding:32px;border-radius:23px;background:#fff;border:1px solid #dce5f0}
.ac-principle-grid span{color:#0866ff;font-weight:800}
.ac-principle-grid h3{margin:24px 0 10px;color:#061d49}
.ac-company-details-section{background:#fff}
.ac-company-details-card{display:grid;grid-template-columns:.8fr 1.2fr;gap:70px;padding:48px;border-radius:28px;background:#061d49;color:#fff}
.ac-company-details-card h2{color:#fff}
.ac-company-details-card dl{margin:0}
.ac-company-details-card dl>div{display:grid;grid-template-columns:160px 1fr;gap:20px;padding:15px 0;border-bottom:1px solid rgba(255,255,255,.12)}
.ac-company-details-card dt{color:#76ddff;font-weight:800}
.ac-company-details-card dd{margin:0;color:#fff}
.ac-company-details-card a{color:#fff}
.ac-contact-hero .ac-container{max-width:980px;text-align:center}
.ac-contact-section{background:#f5f8fc}
.ac-contact-grid{display:grid;grid-template-columns:.75fr 1.25fr;gap:60px;align-items:start}
.ac-contact-copy{position:sticky;top:115px}
.ac-contact-direct{display:grid;gap:14px;margin:32px 0}
.ac-contact-direct a{display:block;padding:19px 21px;border-radius:18px;background:#fff;border:1px solid #dce5f0}
.ac-contact-direct span{display:block;color:#607086;font-size:.75rem;font-weight:800;text-transform:uppercase;letter-spacing:.1em}
.ac-contact-direct strong{display:block;margin-top:5px;color:#061d49}
.ac-contact-note{padding:22px;border-left:4px solid #0866ff;background:#eef5ff;color:#41506a;line-height:1.65}
.ac-contact-form-card{padding:38px;border-radius:28px;background:#fff;border:1px solid #dce5f0;box-shadow:0 24px 60px rgba(4,18,42,.09)}
.ac-contact-form{display:grid;gap:20px}
.ac-form-row{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.ac-contact-form label{display:grid;gap:8px;color:#061d49;font-size:.9rem;font-weight:800}
.ac-contact-form input,.ac-contact-form select,.ac-contact-form textarea{width:100%;padding:14px 15px;border:1px solid #cbd7e8;border-radius:12px;background:#fbfdff;color:#061d49;font:inherit}
.ac-contact-form input:focus,.ac-contact-form select:focus,.ac-contact-form textarea:focus{outline:3px solid rgba(8,102,255,.16);border-color:#0866ff}
.ac-consent{display:flex!important;grid-template-columns:auto 1fr!important;align-items:flex-start;gap:12px!important;font-weight:500!important;color:#607086!important}
.ac-consent input{width:auto;margin-top:4px}
.ac-honeypot{position:absolute!important;left:-9999px!important;opacity:0!important}
.ac-form-message{margin-bottom:20px;padding:16px 18px;border-radius:13px;font-weight:700}
.ac-form-success{background:#e8f9ef;color:#155d35;border:1px solid #bce8ce}
.ac-form-error{background:#fff0f0;color:#8b2222;border:1px solid #f0c5c5}
@media(max-width:1000px){
 .ac-service-hero-grid,.ac-about-hero-grid,.ac-contact-grid{grid-template-columns:1fr}
 .ac-service-orbit{min-height:330px}
 .ac-service-card-grid{grid-template-columns:1fr 1fr}
 .ac-service-process-grid{grid-template-columns:1fr 1fr}
 .ac-contact-copy{position:static}
}
@media(max-width:780px){
 .ac-service-intro-grid,.ac-about-story-grid,.ac-company-details-card{grid-template-columns:1fr;gap:28px}
 .ac-service-card-grid,.ac-service-process-grid,.ac-principle-grid,.ac-form-row{grid-template-columns:1fr}
 .ac-company-details-card{padding:32px 24px}
 .ac-company-details-card dl>div{grid-template-columns:1fr;gap:5px}
 .ac-contact-form-card{padding:26px 20px}
}


/* Milestone 8 — legal, consent and launch hardening */
.ac-cookie-banner[hidden]{display:none!important}
.ac-cookie-banner{
  position:fixed;
  z-index:99999;
  left:22px;
  right:22px;
  bottom:22px;
  display:grid;
  grid-template-columns:1fr auto;
  gap:28px;
  align-items:center;
  max-width:1180px;
  margin:0 auto;
  padding:22px 24px;
  border:1px solid rgba(255,255,255,.14);
  border-radius:20px;
  background:rgba(4,18,42,.97);
  color:#fff;
  box-shadow:0 28px 80px rgba(0,0,0,.38);
  backdrop-filter:blur(18px);
}
.ac-cookie-banner strong{display:block;margin-bottom:6px;font-size:1.05rem}
.ac-cookie-banner p{margin:0;color:#c9d6e9;line-height:1.55}
.ac-cookie-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:flex-end}
.ac-cookie-actions .ac-button{min-height:44px;padding:10px 15px;font-size:.83rem}
.ac-cookie-actions a{color:#8be8ff;font-size:.84rem;font-weight:700}
.ac-legal-hero .ac-container{max-width:900px}
.ac-legal-section{background:#f5f8fc}
.ac-legal-card{
  max-width:900px;
  margin:0 auto;
  padding:50px 56px;
  border:1px solid #dce5f0;
  border-radius:28px;
  background:#fff;
  box-shadow:0 24px 60px rgba(4,18,42,.08);
}
.ac-legal-card h2{margin-top:38px}
.ac-legal-card ul{padding-left:22px}
.ac-legal-card li{margin-bottom:10px}
.ac-error-page{min-height:68vh;display:flex;align-items:center}
.ac-error-page .ac-container{max-width:850px;text-align:center}
@media(max-width:780px){
  .ac-cookie-banner{grid-template-columns:1fr;left:12px;right:12px;bottom:12px;padding:18px}
  .ac-cookie-actions{justify-content:flex-start}
  .ac-legal-card{padding:32px 22px}
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto!important}
  *,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
}


/* Milestone 9 — homepage hero built from real Advanced Concepts products */
.ac-real-app-hero{
  min-height:820px;
  padding-top:145px;
  padding-bottom:72px;
  background:
    radial-gradient(circle at 83% 52%,rgba(8,102,255,.28),transparent 27%),
    radial-gradient(circle at 61% 89%,rgba(4,200,239,.12),transparent 27%),
    linear-gradient(135deg,#020b1b 0%,#04122a 52%,#061d49 100%);
}
.ac-real-app-hero .ac-hero-grid{
  grid-template-columns:minmax(440px,.82fr) minmax(660px,1.18fr);
  gap:30px;
}
.ac-real-app-hero .ac-hero-copy{padding-bottom:24px}
.ac-real-app-hero .ac-hero-copy h1{font-size:clamp(3.3rem,5.2vw,5.45rem)}
.ac-real-app-hero .ac-hero-copy h1 span{
  background:linear-gradient(90deg,#347cff 0%,#04c8ef 100%);
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
}
.ac-hero-pill{
  display:inline-flex;
  align-items:center;
  width:auto;
  padding:8px 15px;
  border:1px solid rgba(52,124,255,.58);
  border-radius:999px;
  background:rgba(8,102,255,.07);
  color:#6ecfff;
  letter-spacing:.1em;
}
.ac-hero-trust{
  display:flex;
  align-items:center;
  gap:10px;
  margin:34px 0 0;
  color:rgba(255,255,255,.64);
  font-size:.9rem;
}
.ac-hero-trust svg{
  flex:0 0 auto;
  width:20px;
  height:20px;
  fill:none;
  stroke:#04c8ef;
  stroke-width:2.2;
}
.ac-product-hero-stage{
  position:relative;
  min-height:600px;
  align-self:end;
  isolation:isolate;
}
.ac-product-hero-stage:after{
  content:"";
  position:absolute;
  z-index:-1;
  left:5%;
  right:-4%;
  bottom:9px;
  height:36px;
  border-radius:50%;
  background:rgba(0,0,0,.58);
  filter:blur(19px);
}
.ac-product-glow{
  position:absolute;
  z-index:-2;
  left:7%;
  right:-8%;
  bottom:0;
  height:55%;
  border-radius:50% 50% 8% 8%;
  background:
    radial-gradient(ellipse at 50% 100%,rgba(4,200,239,.38),transparent 48%),
    radial-gradient(ellipse at 50% 65%,rgba(8,102,255,.44),transparent 65%);
  filter:blur(20px);
}
.ac-product-phone{
  position:absolute;
  display:block;
  transition:transform .28s ease,filter .28s ease;
}
.ac-product-phone:hover{filter:brightness(1.05)}
.ac-product-phone-main{
  z-index:5;
  left:34%;
  bottom:0;
  width:34%;
}
.ac-product-phone-main:hover{transform:translateY(-7px)}
.ac-product-phone-hazard{
  z-index:3;
  left:4%;
  bottom:23px;
  width:27%;
  transform:rotate(-2deg);
}
.ac-product-phone-hazard:hover{transform:rotate(-2deg) translateY(-6px)}
.ac-product-phone-forensics{
  z-index:4;
  right:12%;
  bottom:20px;
  width:25%;
  transform:rotate(1.2deg);
}
.ac-product-phone-forensics:hover{transform:rotate(1.2deg) translateY(-6px)}
.ac-product-phone-casenote{
  z-index:2;
  right:-5%;
  bottom:13px;
  width:21.5%;
  transform:rotate(2.5deg);
}
.ac-product-phone-casenote:hover{transform:rotate(2.5deg) translateY(-6px)}
.ac-product-device{
  position:relative;
  display:block;
  padding:7px;
  overflow:hidden;
  border:2px solid rgba(255,255,255,.42);
  border-radius:38px;
  background:#05080d;
  box-shadow:
    0 34px 64px rgba(0,0,0,.55),
    0 0 0 1px rgba(5,18,42,.9);
}
.ac-product-device:before{
  content:"";
  position:absolute;
  z-index:2;
  top:7px;
  left:50%;
  width:31%;
  height:17px;
  transform:translateX(-50%);
  border-radius:0 0 13px 13px;
  background:#05080d;
}
.ac-product-device img{
  display:block;
  width:100%;
  aspect-ratio:9/19.5;
  object-fit:cover;
  object-position:top;
  border-radius:29px;
}
.ac-product-label{
  position:absolute;
  z-index:8;
  top:-48px;
  left:50%;
  display:flex;
  align-items:center;
  gap:8px;
  width:max-content;
  max-width:190px;
  transform:translateX(-50%);
  padding:8px 11px;
  border:1px solid rgba(255,255,255,.2);
  border-radius:12px;
  background:rgba(4,18,42,.86);
  color:#fff;
  box-shadow:0 14px 28px rgba(0,0,0,.28);
  backdrop-filter:blur(14px);
  font-size:.7rem;
}
.ac-product-label img{
  width:23px;
  height:23px;
  object-fit:cover;
  border-radius:6px;
}
.ac-product-label strong{
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.ac-product-phone-main .ac-product-label{
  top:-53px;
  font-size:.76rem;
}
.ac-product-phone-main .ac-product-label img{width:27px;height:27px}
@media(max-width:1180px){
  .ac-real-app-hero .ac-hero-grid{
    grid-template-columns:minmax(390px,.82fr) minmax(550px,1.18fr);
  }
  .ac-product-hero-stage{min-height:530px}
}
@media(max-width:1050px){
  .ac-real-app-hero{padding-bottom:45px}
  .ac-real-app-hero .ac-hero-grid{grid-template-columns:1fr}
  .ac-real-app-hero .ac-hero-copy{max-width:760px}
  .ac-product-hero-stage{
    width:min(100%,760px);
    min-height:590px;
    margin:50px auto 0;
  }
}
@media(max-width:780px){
  .ac-real-app-hero{padding-top:120px}
  .ac-product-hero-stage{min-height:485px;margin-top:55px}
  .ac-product-phone-main{left:30%;width:40%}
  .ac-product-phone-hazard{left:-2%;width:31%}
  .ac-product-phone-forensics{right:5%;width:29%}
  .ac-product-phone-casenote{right:-10%;width:23%;opacity:.92}
  .ac-product-label{
    top:-40px;
    padding:6px 8px;
    font-size:.58rem;
    max-width:135px;
  }
  .ac-product-label img{width:19px;height:19px}
  .ac-product-phone-main .ac-product-label{top:-45px;font-size:.64rem}
}
@media(max-width:520px){
  .ac-real-app-hero .ac-hero-copy h1{font-size:clamp(2.7rem,13vw,3.55rem)}
  .ac-product-hero-stage{min-height:400px;margin-top:45px}
  .ac-product-phone-main{left:28%;width:45%}
  .ac-product-phone-hazard{left:-7%;width:35%}
  .ac-product-phone-forensics{right:-3%;width:32%}
  .ac-product-phone-casenote{display:none}
  .ac-product-device{padding:4px;border-radius:25px}
  .ac-product-device:before{top:4px;height:12px}
  .ac-product-device img{border-radius:19px}
  .ac-product-label{top:-34px}
  .ac-product-phone-main .ac-product-label{top:-38px}
}


/* Milestone 10 — refined typography and controlled heading wraps */
:where(h1,h2,h3,.ac-service-statement blockquote){
  text-wrap:balance;
  overflow-wrap:normal;
  word-break:normal;
}
.ac-hero h1,
.ac-page-hero h1{
  max-width:980px;
  letter-spacing:-.038em;
  line-height:1.01;
}
.ac-page-hero h1{
  font-size:clamp(2.65rem,4.25vw,4.25rem);
}
.ac-section h2{
  max-width:900px;
  font-size:clamp(1.9rem,2.75vw,2.85rem);
  line-height:1.08;
  letter-spacing:-.03em;
}
.ac-section-intro{
  max-width:860px;
}
.ac-section-intro h2,
.ac-sketch-heading h2,
.ac-detailed-features-heading h2,
.ac-gallery-heading h2{
  max-width:780px;
}
.ac-engineer-grid h2,
.ac-service-intro-grid h2,
.ac-about-story-grid h2,
.ac-problems-grid h2{
  max-width:650px;
}
.ac-real-app-hero .ac-hero-copy h1{
  max-width:720px;
  font-size:clamp(3rem,4.55vw,4.75rem);
  line-height:1.015;
}
.ac-real-app-hero .ac-hero-copy{
  min-width:0;
}
.ac-real-app-hero .ac-hero-copy .ac-lead{
  max-width:650px;
}
.ac-service-hero-grid > div:first-child,
.ac-bespoke-hero-grid > div:first-child,
.ac-about-hero-grid > div:first-child,
.ac-app-detail-copy{
  min-width:0;
}
.ac-service-capability-card h3,
.ac-system-grid h3,
.ac-detailed-feature-card h3,
.ac-principle-grid h3,
.ac-app-card h3,
.ac-product-card h2,
.ac-service-card h3{
  text-wrap:balance;
  line-height:1.22;
}
.ac-service-capability-card h3,
.ac-system-grid h3,
.ac-detailed-feature-card h3,
.ac-principle-grid h3{
  font-size:1.12rem;
}
.ac-app-card h3{
  min-height:2.45em;
  display:flex;
  align-items:center;
  justify-content:center;
}
.ac-product-card h2{
  font-size:1.16rem;
}
.ac-cta h2{
  font-size:clamp(1.45rem,2.2vw,1.9rem);
  line-height:1.15;
}
.ac-footer-grid h2{
  white-space:nowrap;
}
@media(min-width:1060px){
  .ac-page-hero-grid,
  .ac-service-hero-grid,
  .ac-bespoke-hero-grid{
    grid-template-columns:minmax(0,1.08fr) minmax(380px,.92fr);
  }
  .ac-about-hero-grid{
    grid-template-columns:minmax(0,1.2fr) minmax(280px,.5fr);
  }
}
@media(max-width:1050px){
  .ac-page-hero h1{max-width:760px}
  .ac-real-app-hero .ac-hero-copy h1{max-width:760px}
  .ac-app-card h3{min-height:auto}
}
@media(max-width:780px){
  .ac-hero h1,
  .ac-page-hero h1{
    font-size:clamp(2.35rem,10.8vw,3.45rem);
    line-height:1.03;
    letter-spacing:-.035em;
  }
  .ac-real-app-hero .ac-hero-copy h1{
    font-size:clamp(2.45rem,11.2vw,3.55rem);
  }
  .ac-section h2{
    font-size:clamp(1.75rem,7.6vw,2.45rem);
    line-height:1.1;
  }
  .ac-service-capability-card h3,
  .ac-system-grid h3,
  .ac-detailed-feature-card h3,
  .ac-principle-grid h3{
    font-size:1.06rem;
  }
}
@media(max-width:420px){
  .ac-hero h1,
  .ac-page-hero h1,
  .ac-real-app-hero .ac-hero-copy h1{
    font-size:clamp(2.15rem,10.4vw,2.85rem);
  }
  .ac-section h2{
    font-size:clamp(1.65rem,7.2vw,2.15rem);
  }
}


/* Milestone 11 — better hero lifts and corrected centred section titles */
.ac-home-section-intro{
  max-width:760px;
  margin:0 auto 42px;
}
.ac-center-intro{
  text-align:center;
}
.ac-center-intro .ac-button{
  margin-top:8px;
}
.ac-home-section-intro h2{
  margin-bottom:14px;
}
.ac-home-section-intro p{
  margin-left:auto;
  margin-right:auto;
}
.ac-home-section-intro-dark h2,
.ac-home-section-intro-dark p{
  color:#fff;
}
.ac-home-section-intro-dark .ac-eyebrow{
  color:#8be8ff;
}
.ac-apps-section .ac-app-card-grid,
.ac-dark-section .ac-service-grid{
  margin-top:0;
}

.ac-page-hero-rich{
  overflow:hidden;
}
.ac-page-hero-grid-rich{
  align-items:center;
  grid-template-columns:minmax(0,1fr) minmax(420px,.86fr);
  gap:55px;
}
.ac-page-hero-copy{
  min-width:0;
}
.ac-page-hero-collage{
  position:relative;
  min-height:360px;
  isolation:isolate;
}
.ac-collage-orb{
  position:absolute;
  border-radius:50%;
  filter:blur(10px);
}
.ac-collage-orb-a{
  inset:12% 5% auto auto;
  width:180px;
  height:180px;
  background:radial-gradient(circle,rgba(8,102,255,.42),transparent 68%);
}
.ac-collage-orb-b{
  inset:auto auto 6% 10%;
  width:220px;
  height:220px;
  background:radial-gradient(circle,rgba(4,200,239,.22),transparent 70%);
}
.ac-collage-app{
  position:absolute;
  display:flex;
  align-items:center;
  gap:10px;
  padding:10px 12px;
  border:1px solid rgba(255,255,255,.16);
  border-radius:16px;
  background:rgba(7,18,37,.88);
  box-shadow:0 20px 44px rgba(0,0,0,.28);
  color:#fff;
  backdrop-filter:blur(14px);
}
.ac-collage-app img{
  width:42px;
  height:42px;
  object-fit:cover;
  border-radius:12px;
}
.ac-collage-app strong{
  font-size:.82rem;
  line-height:1.15;
}
.ac-collage-app-main{
  top:8%;
  left:12%;
  transform:rotate(-5deg);
}
.ac-collage-app-secondary{
  top:18%;
  right:6%;
  transform:rotate(4deg);
}
.ac-collage-app-tertiary{
  left:3%;
  bottom:24%;
  transform:rotate(-4deg);
}
.ac-collage-app-quaternary{
  right:11%;
  bottom:11%;
  transform:rotate(5deg);
}
.ac-collage-panel{
  position:absolute;
  left:19%;
  right:18%;
  bottom:17%;
  padding:26px 26px 24px;
  border:1px solid rgba(255,255,255,.16);
  border-radius:28px;
  background:
    linear-gradient(160deg,rgba(8,102,255,.22),rgba(4,18,42,.88)),
    rgba(4,18,42,.82);
  box-shadow:0 28px 66px rgba(0,0,0,.34);
  color:#fff;
}
.ac-collage-panel span{
  display:block;
  color:#8be8ff;
  font-size:.72rem;
  font-weight:800;
  letter-spacing:.12em;
}
.ac-collage-panel b{
  display:block;
  margin-top:10px;
  font-size:1.25rem;
  line-height:1.25;
}
.ac-collage-panel i{
  display:inline-block;
  width:44px;
  height:9px;
  margin:20px 8px 0 0;
  border-radius:999px;
  background:rgba(255,255,255,.18);
}
.ac-collage-panel i:nth-of-type(2){
  width:68px;
  background:linear-gradient(90deg,#0866ff,#04c8ef);
}
.ac-collage-panel i:nth-of-type(3){
  width:54px;
}
.ac-collage-panel-apps i:nth-of-type(4){
  width:36px;
}
.ac-page-hero-collage-about .ac-about-mark-card{
  position:absolute;
  top:6%;
  left:16%;
  display:flex;
  align-items:center;
  justify-content:center;
  width:128px;
  height:128px;
  border-radius:34px;
  background:#fff;
  box-shadow:0 24px 50px rgba(0,0,0,.22);
}
.ac-page-hero-collage-about .ac-about-mark-card img{
  width:86px;
  height:auto;
}
.ac-page-hero-collage-about .ac-collage-app-secondary{
  top:9%;
  right:6%;
}
.ac-page-hero-collage-about .ac-collage-app-tertiary{
  left:4%;
  bottom:22%;
}
.ac-page-hero-collage-about .ac-collage-app-quaternary{
  right:8%;
  bottom:14%;
}
.ac-page-hero-collage-about .ac-collage-panel{
  left:18%;
  right:14%;
  bottom:6%;
}
.ac-page-hero-collage-about .ac-collage-panel b{
  max-width:260px;
}
.ac-services-hero,
.ac-apps-hero,
.ac-about-hero{
  background:
    radial-gradient(circle at 84% 30%,rgba(8,102,255,.18),transparent 28%),
    radial-gradient(circle at 17% 80%,rgba(4,200,239,.10),transparent 28%),
    linear-gradient(135deg,#020b1b 0%,#04122a 52%,#061d49 100%);
}
.ac-services-hero .ac-page-hero-copy .ac-lead,
.ac-apps-hero .ac-page-hero-copy .ac-lead,
.ac-about-hero .ac-page-hero-copy .ac-lead{
  max-width:620px;
}
@media(max-width:1050px){
  .ac-page-hero-grid-rich{
    grid-template-columns:1fr;
  }
  .ac-page-hero-collage{
    width:min(100%,640px);
    margin:6px auto 0;
  }
}
@media(max-width:780px){
  .ac-page-hero-collage{
    min-height:315px;
  }
  .ac-collage-app{
    padding:8px 10px;
  }
  .ac-collage-app img{
    width:34px;
    height:34px;
    border-radius:10px;
  }
  .ac-collage-app strong{
    font-size:.72rem;
  }
  .ac-collage-panel{
    left:12%;
    right:10%;
    padding:20px 18px;
    border-radius:22px;
  }
  .ac-collage-panel b{
    font-size:1rem;
  }
  .ac-page-hero-collage-about .ac-about-mark-card{
    width:102px;
    height:102px;
    left:13%;
  }
  .ac-page-hero-collage-about .ac-about-mark-card img{
    width:68px;
  }
}
@media(max-width:520px){
  .ac-home-section-intro{
    margin-bottom:30px;
  }
  .ac-page-hero-collage{
    min-height:285px;
  }
  .ac-collage-app-main{
    left:6%;
  }
  .ac-collage-app-secondary{
    right:0;
  }
  .ac-collage-app-tertiary{
    left:0;
  }
  .ac-collage-app-quaternary{
    right:2%;
  }
  .ac-collage-panel{
    left:8%;
    right:6%;
    bottom:6%;
  }
}


/* Milestone 12 — cleaner page hero art and explicit title centring fixes */
.ac-center{
  text-align:center;
}
.ac-process .ac-eyebrow,
.ac-process h2{
  text-align:center;
}
.ac-process h2{
  max-width:760px;
  margin-left:auto;
  margin-right:auto;
}
.ac-process .ac-eyebrow{
  display:block;
  width:100%;
  margin-left:auto;
  margin-right:auto;
}

.ac-page-hero-clean{
  overflow:hidden;
}
.ac-page-hero-grid-clean{
  align-items:center;
  grid-template-columns:minmax(0,1fr) minmax(410px,.82fr);
  gap:58px;
}
.ac-clean-hero-art{
  position:relative;
  min-height:350px;
  isolation:isolate;
}
.ac-clean-art-glow{
  position:absolute;
  inset:16% 10% 10% 10%;
  border-radius:34px;
  background:
    radial-gradient(circle at 30% 25%,rgba(8,102,255,.38),transparent 32%),
    radial-gradient(circle at 70% 70%,rgba(4,200,239,.22),transparent 34%);
  filter:blur(14px);
  opacity:.95;
}
.ac-clean-art-panel{
  position:absolute;
  left:13%;
  right:13%;
  top:18%;
  padding:28px 28px 24px;
  border:1px solid rgba(255,255,255,.16);
  border-radius:30px;
  background:
    linear-gradient(160deg,rgba(8,102,255,.18),rgba(4,18,42,.88)),
    rgba(4,18,42,.86);
  box-shadow:0 28px 66px rgba(0,0,0,.34);
  color:#fff;
}
.ac-clean-art-panel span{
  display:block;
  color:#8be8ff;
  font-size:.72rem;
  font-weight:800;
  letter-spacing:.12em;
}
.ac-clean-art-panel b{
  display:block;
  margin-top:10px;
  font-size:1.28rem;
  line-height:1.28;
  max-width:280px;
}
.ac-clean-bars{
  display:flex;
  gap:8px;
  margin-top:18px;
}
.ac-clean-bars i{
  display:block;
  width:48px;
  height:10px;
  border-radius:999px;
  background:rgba(255,255,255,.18);
}
.ac-clean-bars i:nth-child(2){
  width:74px;
  background:linear-gradient(90deg,#0866ff,#04c8ef);
}
.ac-clean-bars i:nth-child(3){
  width:40px;
}
.ac-clean-chip{
  position:absolute;
  display:flex;
  align-items:center;
  gap:10px;
  padding:9px 12px;
  border:1px solid rgba(255,255,255,.16);
  border-radius:16px;
  background:rgba(7,18,37,.90);
  box-shadow:0 18px 42px rgba(0,0,0,.26);
  color:#fff;
  backdrop-filter:blur(14px);
}
.ac-clean-chip img{
  width:38px;
  height:38px;
  border-radius:11px;
  object-fit:cover;
}
.ac-clean-chip strong{
  font-size:.8rem;
  line-height:1.2;
}
.ac-clean-chip-a{top:6%; left:5%;}
.ac-clean-chip-b{top:14%; right:4%;}
.ac-clean-chip-c{left:2%; bottom:18%;}
.ac-clean-chip-d{right:6%; bottom:9%;}
.ac-clean-hero-art-about .ac-about-mark-card{
  position:absolute;
  left:13%;
  top:10%;
  display:flex;
  align-items:center;
  justify-content:center;
  width:114px;
  height:114px;
  border-radius:30px;
  background:#fff;
  box-shadow:0 22px 50px rgba(0,0,0,.22);
}
.ac-clean-hero-art-about .ac-about-mark-card img{
  width:76px;
  height:auto;
}
.ac-clean-hero-art-about .ac-clean-art-panel{
  top:38%;
  left:17%;
  right:12%;
}
.ac-clean-hero-art-about .ac-clean-chip-b{top:10%; right:6%;}
.ac-clean-hero-art-about .ac-clean-chip-c{left:5%; bottom:14%;}
.ac-clean-hero-art-about .ac-clean-chip-d{right:4%; bottom:10%;}
.ac-app-mini-list{
  display:flex;
  gap:10px;
  margin-top:18px;
}
.ac-app-mini-list i{
  display:flex;
  align-items:center;
  justify-content:center;
  width:44px;
  height:44px;
  border-radius:13px;
  background:rgba(255,255,255,.08);
}
.ac-app-mini-list img{
  width:30px;
  height:30px;
  border-radius:9px;
  object-fit:cover;
}
.ac-services-hero,
.ac-apps-hero,
.ac-about-hero{
  background:
    radial-gradient(circle at 84% 30%,rgba(8,102,255,.18),transparent 28%),
    radial-gradient(circle at 17% 80%,rgba(4,200,239,.10),transparent 28%),
    linear-gradient(135deg,#020b1b 0%,#04122a 52%,#061d49 100%);
}
@media(max-width:1050px){
  .ac-page-hero-grid-clean{
    grid-template-columns:1fr;
  }
  .ac-clean-hero-art{
    width:min(100%,620px);
    margin:8px auto 0;
  }
}
@media(max-width:780px){
  .ac-clean-hero-art{
    min-height:315px;
  }
  .ac-clean-art-panel{
    left:8%;
    right:8%;
    top:18%;
    padding:22px 20px 20px;
    border-radius:24px;
  }
  .ac-clean-art-panel b{
    font-size:1.05rem;
    max-width:none;
  }
  .ac-clean-chip{
    padding:8px 9px;
    gap:8px;
  }
  .ac-clean-chip img{
    width:32px;
    height:32px;
    border-radius:10px;
  }
  .ac-clean-chip strong{
    font-size:.72rem;
  }
  .ac-clean-hero-art-about .ac-about-mark-card{
    width:94px;
    height:94px;
    left:9%;
  }
  .ac-clean-hero-art-about .ac-about-mark-card img{
    width:62px;
  }
  .ac-clean-hero-art-about .ac-clean-art-panel{
    left:12%;
    right:6%;
    top:38%;
  }
}
@media(max-width:520px){
  .ac-clean-hero-art{
    min-height:285px;
  }
  .ac-clean-chip-a{left:2%;}
  .ac-clean-chip-b{right:0;}
  .ac-clean-chip-c{left:0;}
  .ac-clean-chip-d{right:1%;}
  .ac-clean-chip strong{
    max-width:92px;
  }
}


/* Milestone 13 — circular About hero composition */
.ac-clean-hero-art-about-orbit{
  position:relative;
  min-height:390px;
}
.ac-about-orbit-glow{
  position:absolute;
  inset:4% 8% 2% 12%;
  border-radius:50%;
  background:
    radial-gradient(circle at 45% 40%, rgba(8,102,255,.28), transparent 28%),
    radial-gradient(circle at 62% 68%, rgba(4,200,239,.18), transparent 26%),
    radial-gradient(circle at 50% 50%, rgba(4,18,42,.22), transparent 68%);
  filter:blur(18px);
}
.ac-about-orbit-core{
  position:absolute;
  left:50%;
  top:40%;
  z-index:3;
  display:flex;
  align-items:center;
  justify-content:center;
  width:132px;
  height:132px;
  transform:translate(-50%,-50%);
  border-radius:50%;
  background:#fff;
  box-shadow:0 30px 65px rgba(0,0,0,.28);
}
.ac-about-orbit-core img{
  width:84px;
  height:auto;
}
.ac-about-orbit-ring{
  position:absolute;
  left:50%;
  top:40%;
  border-radius:50%;
  transform:translate(-50%,-50%);
  border:1px solid rgba(255,255,255,.12);
}
.ac-about-orbit-ring-outer{
  width:320px;
  height:320px;
}
.ac-about-orbit-ring-inner{
  width:220px;
  height:220px;
  border-color:rgba(4,200,239,.18);
}
.ac-about-orbit-node{
  position:absolute;
  z-index:4;
  display:flex;
  align-items:center;
  gap:10px;
  padding:10px 13px;
  border:1px solid rgba(255,255,255,.14);
  border-radius:999px;
  background:rgba(7,18,37,.92);
  box-shadow:0 18px 42px rgba(0,0,0,.28);
  color:#fff;
  backdrop-filter:blur(14px);
}
.ac-about-orbit-node img{
  width:38px;
  height:38px;
  border-radius:50%;
  object-fit:cover;
}
.ac-about-orbit-node span{
  font-size:.8rem;
  font-weight:700;
  white-space:nowrap;
}
.ac-about-orbit-node-products{
  top:7%;
  right:3%;
}
.ac-about-orbit-node-workflows{
  left:2%;
  top:45%;
}
.ac-about-orbit-node-specialist{
  right:0;
  top:58%;
}
.ac-about-orbit-message{
  position:absolute;
  left:50%;
  bottom:2%;
  z-index:2;
  width:min(100%, 360px);
  padding:22px 24px 20px;
  transform:translateX(-50%);
  border:1px solid rgba(255,255,255,.14);
  border-radius:26px;
  background:linear-gradient(160deg,rgba(8,102,255,.18),rgba(4,18,42,.88)), rgba(4,18,42,.86);
  box-shadow:0 28px 66px rgba(0,0,0,.34);
  color:#fff;
  text-align:left;
}
.ac-about-orbit-message span{
  display:block;
  color:#8be8ff;
  font-size:.72rem;
  font-weight:800;
  letter-spacing:.12em;
}
.ac-about-orbit-message b{
  display:block;
  margin-top:10px;
  font-size:1.16rem;
  line-height:1.3;
}
@media(max-width:1050px){
  .ac-clean-hero-art-about-orbit{
    width:min(100%, 620px);
    margin:8px auto 0;
  }
}
@media(max-width:780px){
  .ac-clean-hero-art-about-orbit{
    min-height:340px;
  }
  .ac-about-orbit-core{
    width:110px;
    height:110px;
    top:38%;
  }
  .ac-about-orbit-core img{
    width:68px;
  }
  .ac-about-orbit-ring-outer{
    width:270px;
    height:270px;
  }
  .ac-about-orbit-ring-inner{
    width:185px;
    height:185px;
  }
  .ac-about-orbit-node{
    padding:8px 10px;
    gap:8px;
  }
  .ac-about-orbit-node img{
    width:32px;
    height:32px;
  }
  .ac-about-orbit-node span{
    font-size:.72rem;
  }
  .ac-about-orbit-message{
    width:min(100%, 310px);
    padding:18px 18px 16px;
  }
  .ac-about-orbit-message b{
    font-size:1rem;
  }
}
@media(max-width:520px){
  .ac-clean-hero-art-about-orbit{
    min-height:315px;
  }
  .ac-about-orbit-node-products{
    right:0;
    top:7%;
  }
  .ac-about-orbit-node-workflows{
    left:0;
    top:47%;
  }
  .ac-about-orbit-node-specialist{
    right:0;
    top:61%;
  }
  .ac-about-orbit-message{
    bottom:0;
    width:min(100%, 280px);
  }
}


/* Milestone 14 — unified circular page heroes and global globe motif */
.ac-page-hero-orbit{
  overflow:hidden;
}
.ac-page-hero-grid-orbit{
  align-items:center;
  grid-template-columns:minmax(0,1fr) minmax(430px,.84fr);
  gap:58px;
}
.ac-orbit-hero{
  position:relative;
  min-height:400px;
  isolation:isolate;
}
.ac-orbit-glow{
  position:absolute;
  inset:5% 6%;
  border-radius:50%;
  background:
    radial-gradient(circle at 45% 38%,rgba(8,102,255,.30),transparent 28%),
    radial-gradient(circle at 62% 67%,rgba(4,200,239,.18),transparent 25%);
  filter:blur(18px);
}
.ac-orbit-ring{
  position:absolute;
  left:50%;
  top:42%;
  transform:translate(-50%,-50%);
  border-radius:50%;
  border:1px solid rgba(255,255,255,.12);
}
.ac-orbit-ring-large{
  width:330px;
  height:330px;
}
.ac-orbit-ring-small{
  width:225px;
  height:225px;
  border-color:rgba(4,200,239,.18);
}
.ac-orbit-core{
  position:absolute;
  left:50%;
  top:42%;
  z-index:3;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  width:134px;
  height:134px;
  transform:translate(-50%,-50%);
  border-radius:50%;
  background:linear-gradient(145deg,#ffffff,#eaf2ff);
  box-shadow:0 30px 65px rgba(0,0,0,.28);
  color:#061d49;
}
.ac-orbit-core > span{
  display:flex;
  align-items:center;
  justify-content:center;
  width:58px;
  height:58px;
  border-radius:50%;
  background:linear-gradient(135deg,#0866ff,#04c8ef);
  color:#fff;
}
.ac-orbit-core > span svg{
  width:30px;
  height:30px;
  fill:none;
  stroke:currentColor;
}
.ac-orbit-core > strong{
  margin-top:8px;
  font-size:.82rem;
}
.ac-orbit-icon-stack{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:5px;
  width:64px;
}
.ac-orbit-icon-stack img{
  width:30px;
  height:30px;
  border-radius:9px;
  object-fit:cover;
}
.ac-orbit-node{
  position:absolute;
  z-index:4;
  display:flex;
  align-items:center;
  gap:10px;
  padding:10px 13px;
  border:1px solid rgba(255,255,255,.14);
  border-radius:999px;
  background:rgba(7,18,37,.92);
  box-shadow:0 18px 42px rgba(0,0,0,.28);
  color:#fff;
  backdrop-filter:blur(14px);
}
.ac-orbit-node img{
  width:38px;
  height:38px;
  border-radius:50%;
  object-fit:cover;
}
.ac-orbit-node span{
  font-size:.78rem;
  font-weight:700;
  white-space:nowrap;
}
.ac-orbit-node-one{top:6%;right:3%}
.ac-orbit-node-two{left:0;top:42%}
.ac-orbit-node-three{right:0;top:56%}
.ac-orbit-node-four{left:10%;bottom:8%}
.ac-orbit-caption{
  position:absolute;
  left:50%;
  bottom:0;
  z-index:2;
  width:min(100%,360px);
  padding:20px 22px 18px;
  transform:translateX(-50%);
  border:1px solid rgba(255,255,255,.14);
  border-radius:24px;
  background:linear-gradient(160deg,rgba(8,102,255,.18),rgba(4,18,42,.88)),rgba(4,18,42,.86);
  box-shadow:0 28px 66px rgba(0,0,0,.34);
  color:#fff;
}
.ac-orbit-caption span{
  display:block;
  color:#8be8ff;
  font-size:.7rem;
  font-weight:800;
  letter-spacing:.12em;
}
.ac-orbit-caption b{
  display:block;
  margin-top:8px;
  font-size:1.05rem;
  line-height:1.3;
}
.ac-about-globe-core{
  background:
    radial-gradient(circle at 32% 25%,rgba(255,255,255,.95),rgba(220,239,255,.85) 30%,rgba(8,102,255,.95) 73%,#061d49 100%);
  overflow:hidden;
}
.ac-css-globe{
  position:relative;
  width:86px;
  height:86px;
  border:2px solid rgba(255,255,255,.86);
  border-radius:50%;
  box-shadow:
    inset -12px -12px 22px rgba(4,18,42,.24),
    0 0 30px rgba(4,200,239,.24);
}
.ac-css-globe:before,
.ac-css-globe:after{
  content:"";
  position:absolute;
  border-radius:50%;
  background:rgba(255,255,255,.92);
  opacity:.92;
}
.ac-css-globe:before{
  width:26px;
  height:15px;
  left:18px;
  top:17px;
  transform:rotate(-18deg);
  clip-path:polygon(0 30%,35% 0,72% 15%,100% 48%,75% 100%,40% 82%,12% 62%);
}
.ac-css-globe:after{
  width:25px;
  height:18px;
  right:13px;
  bottom:17px;
  transform:rotate(20deg);
  clip-path:polygon(8% 14%,55% 0,100% 24%,80% 57%,95% 100%,47% 84%,0 55%);
}
.ac-globe-lat,
.ac-globe-meridian{
  position:absolute;
  display:block;
  border:1px solid rgba(255,255,255,.52);
  border-radius:50%;
}
.ac-globe-lat{
  left:7px;
  right:7px;
  height:28px;
}
.ac-globe-lat-one{top:17px}
.ac-globe-lat-two{bottom:17px}
.ac-globe-meridian{
  top:5px;
  bottom:5px;
  width:34px;
}
.ac-globe-meridian-one{left:12px}
.ac-globe-meridian-two{right:12px}
.ac-services-hero,
.ac-apps-hero,
.ac-about-hero{
  background:
    radial-gradient(circle at 84% 30%,rgba(8,102,255,.18),transparent 28%),
    radial-gradient(circle at 17% 80%,rgba(4,200,239,.10),transparent 28%),
    linear-gradient(135deg,#020b1b 0%,#04122a 52%,#061d49 100%);
}
@media(max-width:1050px){
  .ac-page-hero-grid-orbit{
    grid-template-columns:1fr;
  }
  .ac-orbit-hero{
    width:min(100%,620px);
    margin:10px auto 0;
  }
}
@media(max-width:780px){
  .ac-orbit-hero{
    min-height:350px;
  }
  .ac-orbit-ring-large{
    width:285px;
    height:285px;
  }
  .ac-orbit-ring-small{
    width:190px;
    height:190px;
  }
  .ac-orbit-core{
    width:112px;
    height:112px;
  }
  .ac-orbit-node{
    padding:8px 10px;
    gap:8px;
  }
  .ac-orbit-node img{
    width:32px;
    height:32px;
  }
  .ac-orbit-node span{
    font-size:.7rem;
  }
  .ac-orbit-caption{
    width:min(100%,310px);
  }
  .ac-css-globe{
    width:74px;
    height:74px;
  }
}
@media(max-width:520px){
  .ac-orbit-hero{
    min-height:325px;
  }
  .ac-orbit-node-one{right:0}
  .ac-orbit-node-two{left:0}
  .ac-orbit-node-three{right:0}
  .ac-orbit-node-four{left:2%}
  .ac-orbit-node span{
    max-width:105px;
    overflow:hidden;
    text-overflow:ellipsis;
  }
}


/* Milestone 15 — unified globe hero for About, Services and Our Apps */
.ac-page-hero-grid-orbit{
  align-items:center;
  grid-template-columns:minmax(0,1fr) minmax(470px,.88fr);
  gap:64px;
}
.ac-world-hero{
  position:relative;
  min-height:430px;
  isolation:isolate;
}
.ac-world-glow{
  position:absolute;
  inset:3% 6%;
  border-radius:50%;
  background:
    radial-gradient(circle at 50% 44%,rgba(8,102,255,.30),transparent 34%),
    radial-gradient(circle at 58% 70%,rgba(4,200,239,.20),transparent 28%);
  filter:blur(18px);
}
.ac-world-ring{
  position:absolute;
  left:50%;
  top:47%;
  transform:translate(-50%,-50%);
  border-radius:50%;
  border:1px solid rgba(255,255,255,.12);
}
.ac-world-ring-outer{
  width:360px;
  height:360px;
}
.ac-world-ring-inner{
  width:260px;
  height:260px;
  border-color:rgba(4,200,239,.18);
}
.ac-world-earth{
  position:absolute;
  left:50%;
  top:47%;
  z-index:3;
  width:170px;
  height:170px;
  transform:translate(-50%,-50%);
  overflow:hidden;
  border-radius:50%;
  background:
    radial-gradient(circle at 28% 22%,rgba(255,255,255,.85),transparent 20%),
    radial-gradient(circle at 38% 35%,#39bdf3 0%,#0866ff 42%,#073071 72%,#03142f 100%);
  box-shadow:
    inset -20px -20px 34px rgba(2,10,30,.45),
    0 28px 65px rgba(0,0,0,.34),
    0 0 48px rgba(4,200,239,.18);
}
.ac-world-earth:after{
  content:"";
  position:absolute;
  inset:0;
  border-radius:50%;
  background:linear-gradient(105deg,rgba(255,255,255,.16),transparent 30%,transparent 65%,rgba(0,0,0,.22));
}
.ac-world-continent{
  position:absolute;
  z-index:2;
  display:block;
  background:linear-gradient(145deg,#d8f7ff,#8de8cb 70%,#53b889);
  box-shadow:inset -4px -4px 9px rgba(4,18,42,.16);
}
.ac-world-continent-one{
  width:55px;
  height:34px;
  left:22px;
  top:31px;
  transform:rotate(-15deg);
  clip-path:polygon(0 35%,24% 5%,64% 0,100% 30%,78% 68%,58% 100%,20% 83%);
}
.ac-world-continent-two{
  width:49px;
  height:59px;
  right:21px;
  top:48px;
  transform:rotate(12deg);
  clip-path:polygon(22% 0,78% 9%,100% 38%,74% 62%,82% 100%,42% 82%,5% 56%,0 25%);
}
.ac-world-continent-three{
  width:34px;
  height:25px;
  left:53px;
  bottom:25px;
  transform:rotate(18deg);
  clip-path:polygon(0 22%,40% 0,100% 28%,82% 84%,38% 100%,8% 67%);
}
.ac-world-lat,
.ac-world-meridian{
  position:absolute;
  z-index:1;
  display:block;
  border:1px solid rgba(255,255,255,.30);
  border-radius:50%;
}
.ac-world-lat{
  left:12px;
  right:12px;
  height:55px;
}
.ac-world-lat-one{top:30px}
.ac-world-lat-two{bottom:30px}
.ac-world-meridian{
  top:8px;
  bottom:8px;
  width:65px;
}
.ac-world-meridian-one{left:24px}
.ac-world-meridian-two{right:24px}
.ac-world-node{
  position:absolute;
  z-index:5;
  display:flex;
  align-items:center;
  gap:10px;
  padding:10px 14px;
  border:1px solid rgba(255,255,255,.14);
  border-radius:999px;
  background:rgba(7,18,37,.92);
  box-shadow:0 18px 42px rgba(0,0,0,.28);
  color:#fff;
  backdrop-filter:blur(14px);
}
.ac-world-node img{
  width:38px;
  height:38px;
  border-radius:50%;
  object-fit:cover;
}
.ac-world-node span{
  font-size:.78rem;
  font-weight:700;
  white-space:nowrap;
}
.ac-world-node-one{top:5%;right:2%}
.ac-world-node-two{left:0;top:37%}
.ac-world-node-three{right:0;top:55%}
.ac-world-node-four{left:8%;bottom:8%}
.ac-world-title{
  position:absolute;
  left:50%;
  bottom:1%;
  z-index:4;
  transform:translateX(-50%);
  padding:10px 18px;
  border:1px solid rgba(255,255,255,.14);
  border-radius:999px;
  background:rgba(4,18,42,.88);
  color:#8be8ff;
  font-size:.76rem;
  font-weight:800;
  letter-spacing:.12em;
  text-transform:uppercase;
  box-shadow:0 18px 36px rgba(0,0,0,.24);
}
@media(max-width:1050px){
  .ac-page-hero-grid-orbit{
    grid-template-columns:1fr;
  }
  .ac-world-hero{
    width:min(100%,650px);
    margin:8px auto 0;
  }
}
@media(max-width:780px){
  .ac-world-hero{
    min-height:390px;
  }
  .ac-world-ring-outer{
    width:315px;
    height:315px;
  }
  .ac-world-ring-inner{
    width:225px;
    height:225px;
  }
  .ac-world-earth{
    width:150px;
    height:150px;
  }
  .ac-world-node{
    padding:8px 10px;
    gap:8px;
  }
  .ac-world-node img{
    width:32px;
    height:32px;
  }
  .ac-world-node span{
    font-size:.7rem;
  }
}
@media(max-width:520px){
  .ac-world-hero{
    min-height:360px;
  }
  .ac-world-ring-outer{
    width:280px;
    height:280px;
  }
  .ac-world-ring-inner{
    width:200px;
    height:200px;
  }
  .ac-world-earth{
    width:135px;
    height:135px;
  }
  .ac-world-node-one{right:0}
  .ac-world-node-two{left:0;top:34%}
  .ac-world-node-three{right:0;top:57%}
  .ac-world-node-four{left:2%;bottom:10%}
  .ac-world-node span{
    max-width:118px;
    overflow:hidden;
    text-overflow:ellipsis;
  }
}


/* Milestone 16 — curated public portfolio */
.ac-curated-portfolio-section{
  background:linear-gradient(180deg,#f5f8fc 0%,#fff 100%);
}
.ac-curated-portfolio-intro{
  max-width:820px;
  margin:0 auto 46px;
  text-align:center;
}
.ac-curated-portfolio-intro h2{
  margin-left:auto;
  margin-right:auto;
}
.ac-curated-portfolio-intro p:not(.ac-eyebrow){
  max-width:700px;
  margin-left:auto;
  margin-right:auto;
  font-size:1.03rem;
  line-height:1.75;
}
.ac-curated-portfolio-section .ac-product-card{
  align-items:start;
  padding:34px;
  border-radius:22px;
}
.ac-curated-portfolio-section .ac-product-card h2{
  font-size:1.4rem;
}
.ac-curated-portfolio-section .ac-product-card > div > p:not(.ac-card-kicker){
  line-height:1.72;
}
@media(max-width:780px){
  .ac-curated-portfolio-intro{
    margin-bottom:32px;
  }
}


/* Milestone 17 — globe hero treatment for all service detail pages */
.ac-service-detail-hero,
.ac-bespoke-hero{
  overflow:hidden;
  background:
    radial-gradient(circle at 84% 30%,rgba(8,102,255,.18),transparent 28%),
    radial-gradient(circle at 17% 80%,rgba(4,200,239,.10),transparent 28%),
    linear-gradient(135deg,#020b1b 0%,#04122a 52%,#061d49 100%);
}
.ac-service-detail-hero .ac-page-hero-copy .ac-lead,
.ac-bespoke-hero .ac-page-hero-copy .ac-lead{
  max-width:640px;
}
.ac-world-hero-detail{
  min-height:430px;
}
.ac-service-detail-hero .ac-world-title,
.ac-bespoke-hero .ac-world-title{
  bottom:2%;
}
.ac-service-detail-hero .ac-world-node span,
.ac-bespoke-hero .ac-world-node span{
  max-width:150px;
}
@media(max-width:780px){
  .ac-world-hero-detail{
    min-height:390px;
  }
}
@media(max-width:520px){
  .ac-service-detail-hero .ac-world-node span,
  .ac-bespoke-hero .ac-world-node span{
    max-width:105px;
  }
}


/* Milestone 18 — expanded professional legal documents */
.ac-legal-hero-expanded .ac-container{
  max-width:980px;
}
.ac-legal-hero-expanded .ac-lead{
  max-width:760px;
}
.ac-legal-layout{
  display:grid;
  grid-template-columns:250px minmax(0,1fr);
  gap:34px;
  align-items:start;
}
.ac-legal-toc{
  position:sticky;
  top:112px;
  padding:24px 20px;
  border:1px solid #dce5f0;
  border-radius:20px;
  background:#fff;
  box-shadow:0 18px 45px rgba(4,18,42,.06);
}
.ac-legal-toc nav{
  display:grid;
  gap:2px;
}
.ac-legal-toc nav a{
  display:grid;
  grid-template-columns:28px 1fr;
  gap:8px;
  align-items:start;
  padding:9px 7px;
  border-radius:9px;
  color:#41506a;
  font-size:.79rem;
  line-height:1.35;
}
.ac-legal-toc nav a:hover{
  background:#eef5ff;
  color:#061d49;
}
.ac-legal-toc nav a span{
  color:#0866ff;
  font-weight:800;
}
.ac-legal-company-note{
  display:grid;
  gap:4px;
  margin-top:18px;
  padding-top:18px;
  border-top:1px solid #e2e9f2;
  color:#607086;
  font-size:.74rem;
  line-height:1.45;
}
.ac-legal-company-note strong{
  color:#061d49;
}
.ac-legal-document{
  max-width:none;
  margin:0;
  padding:52px 58px;
}
.ac-legal-document-header{
  margin-bottom:38px;
  padding:24px 26px;
  border-left:4px solid #0866ff;
  border-radius:0 16px 16px 0;
  background:#eef5ff;
}
.ac-legal-document-header p{
  margin:0 0 10px;
}
.ac-legal-document-header p:last-child{
  margin-bottom:0;
}
.ac-legal-document section{
  scroll-margin-top:120px;
  padding-top:8px;
}
.ac-legal-document section + section{
  margin-top:18px;
  padding-top:30px;
  border-top:1px solid #e2e9f2;
}
.ac-legal-document h2{
  margin:0 0 18px;
  color:#061d49;
  font-size:1.65rem;
  line-height:1.2;
}
.ac-legal-document h3{
  margin:25px 0 10px;
  color:#17345e;
  font-size:1.05rem;
}
.ac-legal-document p{
  margin:0 0 16px;
  color:#4e6077;
  line-height:1.82;
}
.ac-legal-document code{
  padding:2px 6px;
  border-radius:6px;
  background:#eef2f7;
  color:#17345e;
  font-size:.88em;
}
.ac-legal-document a{
  color:#075fdc;
  text-decoration:underline;
  text-underline-offset:3px;
}
.ac-legal-document .ac-button{
  color:#fff;
  text-decoration:none;
}
.ac-legal-document .ac-button:disabled{
  opacity:.72;
  cursor:default;
  transform:none;
}
.ac-consent a{
  color:#075fdc;
  text-decoration:underline;
  text-underline-offset:2px;
}
@media(max-width:980px){
  .ac-legal-layout{
    grid-template-columns:1fr;
  }
  .ac-legal-toc{
    position:static;
  }
  .ac-legal-toc nav{
    grid-template-columns:1fr 1fr;
  }
}
@media(max-width:680px){
  .ac-legal-document{
    padding:32px 22px;
  }
  .ac-legal-toc nav{
    grid-template-columns:1fr;
  }
  .ac-legal-document h2{
    font-size:1.4rem;
  }
}


/* Milestone 22 — solid, legible mobile navigation */
@media(max-width:780px){
  .ac-site-header{
    z-index:9998;
  }

  body.menu-open .ac-site-header{
    position:fixed;
    top:0;
    left:0;
    right:0;
    background:#031024;
    border-bottom:1px solid rgba(255,255,255,.10);
    box-shadow:0 12px 35px rgba(0,0,0,.28);
  }

  .ac-primary-nav{
    position:fixed !important;
    top:72px !important;
    right:0 !important;
    bottom:0 !important;
    left:0 !important;
    z-index:9999 !important;
    display:block !important;
    padding:22px 22px 34px !important;
    overflow-y:auto;
    background:
      radial-gradient(circle at 85% 10%,rgba(8,102,255,.22),transparent 28%),
      linear-gradient(180deg,#031024 0%,#041936 100%) !important;
    opacity:0;
    visibility:hidden;
    transform:translateY(-8px);
    pointer-events:none;
    transition:opacity .2s ease,transform .2s ease,visibility .2s ease;
    backdrop-filter:none !important;
  }

  .ac-primary-nav.is-open{
    opacity:1 !important;
    visibility:visible !important;
    transform:none !important;
    pointer-events:auto !important;
  }

  .ac-primary-nav .ac-nav-list{
    display:block !important;
    margin:0 !important;
    padding:0 !important;
  }

  .ac-primary-nav .ac-nav-list li{
    margin:0 !important;
    border-bottom:1px solid rgba(255,255,255,.10);
  }

  .ac-primary-nav .ac-nav-list a{
    display:flex !important;
    align-items:center;
    min-height:58px;
    padding:15px 6px !important;
    color:#fff !important;
    font-size:1.08rem !important;
    font-weight:700;
    letter-spacing:-.01em;
  }

  .ac-primary-nav .ac-nav-list a:hover,
  .ac-primary-nav .ac-nav-list .current-menu-item > a{
    color:#8be8ff !important;
  }

  .ac-primary-nav .ac-nav-list .current-menu-item > a:after{
    display:none !important;
  }

  .ac-menu-toggle{
    position:relative;
    z-index:10000;
  }

  .ac-menu-toggle span:not(.screen-reader-text){
    transition:transform .2s ease,opacity .2s ease;
    transform-origin:center;
  }

  body.menu-open .ac-menu-toggle span:nth-child(1){
    transform:translateY(7px) rotate(45deg);
  }

  body.menu-open .ac-menu-toggle span:nth-child(2){
    opacity:0;
  }

  body.menu-open .ac-menu-toggle span:nth-child(3){
    transform:translateY(-7px) rotate(-45deg);
  }
}


/* Milestone 23 — correct mobile menu viewport and first-item clipping */
@media(max-width:780px){
  .ac-header-inner{
    min-height:82px;
  }

  .ac-primary-nav{
    top:82px !important;
    height:calc(100dvh - 82px) !important;
    max-height:calc(100dvh - 82px) !important;
    bottom:auto !important;
    padding:18px 22px calc(34px + env(safe-area-inset-bottom)) !important;
    overscroll-behavior:contain;
    -webkit-overflow-scrolling:touch;
  }

  .ac-primary-nav .ac-nav-list{
    padding-top:0 !important;
    padding-bottom:18px !important;
  }

  .ac-primary-nav .ac-nav-list li:first-child{
    margin-top:0 !important;
  }

  .ac-primary-nav .ac-nav-list li:first-child a{
    padding-top:16px !important;
  }

  body.admin-bar .ac-primary-nav{
    top:128px !important;
    height:calc(100dvh - 128px) !important;
    max-height:calc(100dvh - 128px) !important;
  }
}

@media(max-width:782px){
  body.admin-bar .ac-site-header{
    top:46px;
  }
}

@media(max-width:600px){
  body.admin-bar .ac-site-header{
    top:0;
  }

  body.admin-bar .ac-primary-nav{
    top:82px !important;
    height:calc(100dvh - 82px) !important;
    max-height:calc(100dvh - 82px) !important;
  }
}


/* Milestone 24 — centre Contact hero supporting copy */
.ac-contact-hero{
  text-align:center;
}

.ac-contact-hero .ac-container{
  display:flex;
  flex-direction:column;
  align-items:center;
}

.ac-contact-hero .ac-lead{
  max-width:760px;
  margin-left:auto;
  margin-right:auto;
  text-align:center;
}


/* Milestone 25 — Bespoke Software promotional video */
.ac-promo-video{position:relative;overflow:hidden;isolation:isolate;background:#fff}
.ac-promo-video video{display:block;width:100%;height:auto}
.ac-promo-video-shade{position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(90deg,rgba(255,255,255,.97) 0%,rgba(255,255,255,.84) 32%,rgba(255,255,255,.12) 62%,rgba(255,255,255,0) 80%);transition:background .8s ease}
.ac-promo-video.is-dark .ac-promo-video-shade{background:linear-gradient(90deg,rgba(2,13,30,.94) 0%,rgba(2,13,30,.76) 34%,rgba(2,13,30,.18) 66%,rgba(2,13,30,0) 84%)}
.ac-promo-video-copy{position:absolute;inset:0;z-index:2;pointer-events:none}
.ac-promo-message{position:absolute;left:clamp(24px,5vw,72px);top:46%;width:min(560px,48%);color:#071b33;opacity:0;transform:translateY(calc(-50% + 18px));transition:opacity .6s ease,transform .6s ease,color .5s ease}
.ac-promo-video.is-dark .ac-promo-message{color:#fff}
.ac-promo-message.is-active{opacity:1;transform:translateY(-50%)}
.ac-promo-message>p{margin:0;max-width:15ch;font-size:clamp(1.75rem,3.45vw,3.8rem);line-height:1.02;letter-spacing:-.045em;font-weight:850;text-wrap:balance}
.ac-promo-video.is-dark .ac-promo-message>p,.ac-promo-video.is-dark .ac-promo-message h3{text-shadow:0 3px 22px rgba(0,0,0,.48)}
.ac-promo-message-final{width:min(640px,54%)}
.ac-promo-kicker{display:block;margin-bottom:12px;color:#076fff;font-size:.78rem;line-height:1;font-weight:850;letter-spacing:.17em;text-transform:uppercase}
.ac-promo-video.is-dark .ac-promo-kicker{color:#75e1ff}
.ac-promo-message-final h3{margin:0 0 12px;max-width:14ch;color:inherit;font-size:clamp(1.9rem,3.6vw,4rem);line-height:1.01;letter-spacing:-.045em}
.ac-promo-message-final>p{margin:0 0 22px;max-width:28ch;font-size:clamp(1rem,1.4vw,1.25rem);line-height:1.45;letter-spacing:0;font-weight:550}
.ac-promo-video-cta{display:inline-flex;pointer-events:auto}
.ac-promo-video .ac-sketch-caption{position:relative;z-index:3}
@media(max-width:760px){
  .ac-promo-video{min-height:450px}
  .ac-promo-video video{width:100%;height:450px;object-fit:cover;object-position:center}
  .ac-promo-video-shade,.ac-promo-video.is-dark .ac-promo-video-shade{background:linear-gradient(180deg,rgba(2,13,30,.02) 0%,rgba(2,13,30,.18) 38%,rgba(2,13,30,.94) 100%)}
  .ac-promo-message,.ac-promo-message-final{left:22px;right:22px;top:auto;bottom:86px;width:auto;color:#fff;transform:translateY(16px)}
  .ac-promo-message.is-active{transform:none}
  .ac-promo-message>p{max-width:18ch;font-size:clamp(1.75rem,8.2vw,2.6rem);text-shadow:0 3px 18px rgba(0,0,0,.55)}
  .ac-promo-message-final h3{font-size:clamp(1.85rem,8vw,2.7rem)}
  .ac-promo-message-final>p{font-size:1rem}
}
@media(prefers-reduced-motion:reduce){.ac-promo-message,.ac-promo-video-shade{transition:none}}


/* Milestone 26 — remove jerky promotional gradient */
.ac-promo-video-shade{
  display:none !important;
}

.ac-promo-message{
  transition:
    opacity 1s cubic-bezier(.22,.61,.36,1),
    transform 1s cubic-bezier(.22,.61,.36,1),
    color 1.2s ease !important;
  will-change:opacity,transform;
}

.ac-promo-message > p,
.ac-promo-message h3{
  filter:drop-shadow(0 2px 10px rgba(255,255,255,.38));
}

.ac-promo-video.is-dark .ac-promo-message > p,
.ac-promo-video.is-dark .ac-promo-message h3{
  filter:drop-shadow(0 3px 14px rgba(0,0,0,.58));
}

.ac-promo-video.is-dark .ac-promo-kicker{
  text-shadow:0 2px 10px rgba(0,0,0,.48);
}

@media(max-width:760px){
  .ac-promo-video::after{
    content:"";
    position:absolute;
    left:0;
    right:0;
    bottom:0;
    height:42%;
    z-index:1;
    pointer-events:none;
    background:linear-gradient(180deg,rgba(2,13,30,0),rgba(2,13,30,.68));
  }

  .ac-promo-video-copy{
    z-index:2;
  }
}

@media(prefers-reduced-motion:reduce){
  .ac-promo-message{
    transition:none !important;
  }
}
