:root{--ink:#0b2038;--muted:#53677f;--lime:#2563eb;--line:#dce5ef;--paper:#fff;--gold:#2563eb;--gold-deep:#1e56a0}body{font-family:'Arial',sans-serif}h1,h2,h3{font-weight:800}em{color:var(--gold-deep)}.topbar{background:#0b2038;color:#fff;font-size:11px;letter-spacing:1.3px}.topbar .wrap{display:flex;justify-content:space-between;padding-top:10px;padding-bottom:10px}.topbar a{color:#2563eb;letter-spacing:.4px}header{max-width:none;position:sticky;top:0;z-index:30;height:99px;background:#fffffff5;backdrop-filter:blur(15px);transition:height .3s,box-shadow .3s;padding-inline:max(36px,calc((100vw - 1208px)/2));border-bottom:1px solid #e2eaf3}header.scrolled{height:80px;box-shadow:0 6px 25px #0000000b}.brandmark span{color:#2563eb}.header-phone{display:flex;flex-direction:column;background:#0b2038;color:white;padding:10px 25px;border-radius:50px;font-size:20px;line-height:1.2;font-weight:800;transition:background .2s,transform .2s}.header-phone span{color:var(--gold);font-size:10px;text-align:center;letter-spacing:2px;margin-bottom:4px}.header-phone:hover{background:#173f6b;transform:translateY(-2px)}nav{gap:27px}nav a{position:relative;font-weight:600}nav a:after{content:'';position:absolute;bottom:-7px;left:0;width:100%;height:2px;background:var(--gold);transform:scaleX(0);transform-origin:left;transition:transform .25s}nav a:hover:after,nav a.active:after{transform:scaleX(1)}nav a:hover{color:#1d4ed8}.scroll-progress{position:absolute;bottom:-1px;left:0;height:3px;background:var(--gold);width:100%;transform:scaleX(0);transform-origin:left;pointer-events:none}.menu-toggle{display:none}.hero{position:relative;display:block;max-width:none;min-height:710px;padding:89px max(56px,calc((100vw - 1208px)/2)) 105px;background:#0a2038;color:white;overflow:hidden}.hero-image{position:absolute;inset:0;height:100%;width:100%;border-radius:0;background:#0b2038;z-index:0}.hero-image img{object-fit:cover;object-position:75% 53%;will-change:transform;transform:scale(1.07) translateY(var(--parallax,0px));filter:saturate(.75)}.hero-image:after{background:linear-gradient(90deg,#071d36f5 0%,#071d36d9 32%,#071d3675 60%,#071d3610 100%),linear-gradient(0deg,#071d3699,transparent 40%)}.hero-copy{position:relative;z-index:2;max-width:780px}.hero .eyebrow{color:#eef4fa;font-size:11px;letter-spacing:2px}.line{background:var(--gold);width:35px}.hero h1{font-size:clamp(49px,5.4vw,78px);line-height:1.04;letter-spacing:-3px;margin:29px 0 25px;font-weight:800}.hero h1 em{color:var(--gold)}.hero-copy>p{color:#d4e2f1;max-width:460px;font-size:17px;line-height:1.75}.actions{margin-top:31px;gap:26px;flex-direction:row;align-items:center}.button{border-radius:9px;padding:16px 27px;font-weight:800;transition:transform .25s,box-shadow .25s,background .25s}.button:hover{background:#173f6b;transform:translateY(-4px);box-shadow:0 10px 24px #0002}.button.lime{background:var(--gold)}.button.lime:hover{background:#1d4ed8;box-shadow:0 10px 30px #2563eb22}.hero-secondary{font-size:14px;font-weight:600;color:#fff;border-bottom:1px solid #ffffff66;padding-block:5px;transition:color .2s,border-color .2s}.hero-secondary:hover{color:var(--gold);border-color:var(--gold)}.hero-note{color:#b8cde3;font-size:9px;letter-spacing:1.2px;margin-top:43px;gap:25px}.hero-note span+span{border-left:1px solid #ffffff55;padding-left:25px}.hero-side-label{position:absolute;right:30px;top:50%;writing-mode:vertical-rl;letter-spacing:4px;font-size:10px;color:#fff9;z-index:2}.scroll-cue{position:absolute;bottom:25px;left:50%;transform:translateX(-50%);font-size:9px;letter-spacing:2px;display:flex;gap:10px;align-items:center;z-index:2}.scroll-dot{display:block;width:14px;height:24px;border:1px solid #ffffff66;border-radius:20px;position:relative}.scroll-dot:after{content:'';position:absolute;width:2px;height:6px;top:5px;left:5px;background:var(--gold);animation:scrollhint 1.8s ease-in-out infinite}.motion-control{position:absolute;bottom:19px;right:27px;z-index:3;background:#0b2038cc;color:#fff;border:1px solid #ffffff66;border-radius:20px;padding:7px 12px;font-size:11px;cursor:pointer}.strip{background:var(--gold);border:none}.strip .wrap{padding-block:23px;font-size:15px}.strip .wrap>span:first-child{color:#315b85;font-size:10px;letter-spacing:1px;font-weight:700}.strip b{color:#2563eb}h2{font-size:clamp(36px,4vw,54px);letter-spacing:-1.9px}.section-top>p{border-left:3px solid var(--gold);padding-left:22px}.eyebrow{letter-spacing:1.7px}.services{gap:22px}.services article{border-radius:16px;background:#f3f7fc;border:1px solid transparent;padding:32px;position:relative;overflow:hidden;transition:transform .4s cubic-bezier(.2,.8,.2,1),box-shadow .4s,border-color .3s,background .3s}.services article:before{content:'';position:absolute;left:0;top:0;width:100%;height:5px;background:var(--gold);transform:scaleX(0);transform-origin:left;transition:transform .4s}.services article:hover,.services article:focus-within{transform:translateY(-9px);border-color:#b7d1ed;background:#fff;box-shadow:0 22px 50px #0000000d}.services article:hover:before,.services article:focus-within:before{transform:scaleX(1)}.card-top{margin-bottom:38px}.symbol{background:var(--gold);width:57px;height:57px;display:grid;place-items:center;border-radius:12px;transition:transform .4s}.services article:hover .symbol{transform:rotate(-7deg) scale(1.07)}.services h3{font-size:29px;line-height:1.1;letter-spacing:-1px}.services article>p{font-size:10px;color:#245c99;letter-spacing:.8px;margin-top:21px}.card-body{line-height:1.7}.services details{padding-top:18px}summary span{transition:transform .25s}details[open]>p,details[open]>ul,details[open]>a{animation:detail-in .3s ease both}.dark{background:#0b2038}.dark .eyebrow{color:#bfd3e9}.dark em{color:var(--gold)}.dark .section{padding-block:100px}.steps article{transition:border-color .3s;position:relative}.steps article:hover{border-color:var(--gold)}.steps span{color:var(--gold)}.steps h3{font-size:24px}.steps p{color:#bfd0e3}.about{padding-block:105px}.about h2{font-size:43px}.about .large{font-size:25px;font-weight:600}.textlink:hover{color:var(--gold-deep)}.contact-shell{background:#eef4fa}.contact{gap:90px;padding-block:90px;align-items:center}.contact h2{font-size:72px}.contact .eyebrow{color:#1e56a0}.contact p{color:#50677f}.contact-email{font-weight:700}.contact-email:hover,.phone:hover{color:var(--gold-deep)}form{background:#fff;padding:34px;border-radius:20px;box-shadow:0 18px 50px #00000008;border-top:5px solid var(--gold)}form h3{font-size:25px;margin-bottom:8px}.form-intro{font-size:14px;margin-top:0;margin-bottom:25px}input,select,textarea{background:#f8fbff;border:1px solid #cdddec;border-radius:8px;padding:12px;transition:box-shadow .2s,border-color .2s}input:focus,select:focus,textarea:focus{outline:none;border-color:#2563eb;box-shadow:0 0 0 3px #2563eb30}.contact form .button{width:100%;background:var(--gold);color:#0b2038}.contact form .button:hover{background:#1d4ed8}.form-note{line-height:1.5;margin-bottom:0}.faq summary{font-weight:600}.faq details{transition:padding .2s}.faq details[open]{padding-bottom:28px}footer{max-width:none!important;background:#0b2038;color:white;padding-inline:max(56px,calc((100vw - 1208px)/2))!important}.footer-top p,.footer-bottom{color:#bed0e4}.footer-bottom{border-color:#29445f}.footer-top .brand{color:var(--gold)}.footer-top a:hover{color:var(--gold)}.mobile-call{display:none}.reveal{opacity:1;transform:none}.motion-ready .reveal{opacity:0;transform:translateY(28px);transition:opacity .75s ease,transform .75s cubic-bezier(.2,.7,.2,1);transition-delay:var(--delay,0ms)}.motion-ready .reveal.visible{opacity:1;transform:translateY(0)}.motion-ready .services article.reveal.visible:hover{transform:translateY(-9px)}.motion-ready .hero-copy>*{animation:hero-in .8s cubic-bezier(.2,.7,.2,1) both}.motion-ready .hero-copy>*:nth-child(2){animation-delay:.1s}.motion-ready .hero-copy>*:nth-child(3){animation-delay:.2s}.motion-ready .hero-copy>*:nth-child(4){animation-delay:.3s}.motion-ready .hero-copy>*:nth-child(5){animation-delay:.4s}@keyframes hero-in{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:translateY(0)}}@keyframes detail-in{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}@keyframes scrollhint{0%,100%{transform:translateY(0);opacity:.5}50%{transform:translateY(6px);opacity:1}}.effects-paused *{animation:none!important;transition:none!important}.effects-paused .reveal{opacity:1!important;transform:none!important}.effects-paused .hero-image img{transform:scale(1.07)!important}
@media(max-width:1100px){header{padding-inline:30px}nav{gap:20px}.header-phone{font-size:16px;padding:10px 19px}.hero{padding-inline:40px}.services article{padding:25px}.services h3{font-size:25px}.contact{gap:35px}.hero h1{font-size:65px}}
@media(max-width:800px){header,header.scrolled{height:78px;padding-inline:22px}.header-phone{margin-left:auto;font-size:14px;padding:9px 17px}.header-phone span{font-size:8px}.menu-toggle{display:flex;width:40px;height:40px;padding:10px 7px;background:transparent;border:1px solid #dce5ef;border-radius:8px;flex-direction:column;justify-content:center;gap:6px;cursor:pointer}.menu-toggle span{height:2px;width:24px;background:#0b2038;transition:transform .25s}.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(4px) rotate(45deg)}.menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-4px) rotate(-45deg)}nav{display:none;position:absolute;top:100%;left:0;right:0;background:white;padding:15px 25px 23px;flex-direction:column;border-bottom:1px solid #dce5ef;box-shadow:0 15px 20px #0001}nav.open{display:flex;animation:detail-in .2s ease}nav a{padding:10px 0}nav a:after{bottom:4px;width:35px}.hero{padding:72px 30px 95px;min-height:700px}.hero h1{font-size:60px}.hero-image img{object-position:62% center}.hero-image:after{background:linear-gradient(90deg,#071d36f0,#071d36a0 70%,#071d3670)}.hero-side-label{display:none}.services{gap:14px}.services article{padding:23px}.services h3{font-size:25px}.about{gap:30px}.contact h2{font-size:62px}.form-row{grid-template-columns:1fr;gap:0}form{padding:25px}}
@media(max-width:700px){.topbar .wrap{justify-content:center;font-size:9px}.topbar a{display:none}.hero{min-height:670px;padding:61px 22px 90px}.hero h1{font-size:clamp(41px,8.6vw,59px);letter-spacing:-1.9px;line-height:1.08;margin-top:25px}.hero .eyebrow{font-size:9px;letter-spacing:1.1px;gap:9px}.hero .line{width:21px}.hero-copy>p{font-size:16px;max-width:360px}.hero-note{flex-direction:column;gap:6px;font-size:8px;letter-spacing:1.1px;margin-top:31px}.hero-note span+span{border:0;padding:0}.hero .actions{gap:20px;align-items:center}.hero .button{font-size:13px;padding:15px 19px}.hero-secondary{font-size:12px}.hero-image img{object-position:64% center}.scroll-cue{left:22px;transform:none;font-size:8px}.motion-control{right:18px;bottom:20px;font-size:10px}.strip .wrap{padding-block:20px;font-size:12px}.strip .wrap>span:first-child{font-size:9px}.section-top>p{margin-top:25px}h2{font-size:37px}.services{gap:20px}.services article{padding:30px}.services h3{font-size:30px}.services article>p{font-size:11px}.dark .section{padding-block:65px}.dark h2{font-size:37px}.about{padding-block:65px}.about h2{font-size:36px}.contact{padding-block:65px;gap:35px}.contact h2{font-size:62px}form{padding:26px}.form-row{grid-template-columns:1fr 1fr;gap:14px}.faq summary{font-size:16px}footer{padding-inline:22px!important;padding-bottom:65px}.mobile-call{display:block;position:fixed;bottom:0;left:0;right:0;background:#0b2038;color:var(--gold);text-align:center;padding:14px 18px calc(14px + env(safe-area-inset-bottom));font-weight:700;font-size:14px;z-index:35;border-top:1px solid #60a5fa55}.hero-image img{will-change:auto}}
@media(max-width:420px){.header-phone{display:none}.menu-toggle{margin-left:auto}.form-row{grid-template-columns:1fr;gap:0}.hero .actions{gap:15px}.hero-secondary{font-size:11px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.motion-ready .reveal{opacity:1;transform:none}*,*:before,*:after{animation:none!important;transition:none!important}.hero-image img{transform:scale(1.07)!important}.motion-control{display:none}}
.hero-image video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:65% center;opacity:0;transition:opacity .65s ease;filter:saturate(.8)}.hero-image.video-ready video{opacity:1}.hero-image:after{z-index:1;pointer-events:none}.hero-image img{object-position:65% center}.hero-image video~*{pointer-events:none}@media(prefers-reduced-motion:reduce){.hero-image video{display:none}}@media(max-width:700px){.hero-image video,.hero-image img{object-position:58% center}}
/* Shared, edge-aligned wordmark in header and footer. */
.brand-lockup{display:inline-flex;flex-direction:column;width:150px;flex:none;gap:8px;vertical-align:middle}.brand-name,.brand-lockup .brand-sub{display:flex;justify-content:space-between;align-items:baseline;width:100%;letter-spacing:0;line-height:1;margin:0;padding:0}.brand-name{font-size:34px;font-weight:800}.brand-lockup .brand-sub{font-size:8px;font-weight:700}.brand-name>span,.brand-lockup .brand-sub>span{display:block;flex:none}@media(max-width:700px){.brand-lockup{width:130px;gap:7px}.brand-name{font-size:29px}.brand-lockup .brand-sub{font-size:7px}}
/* ACG road monogram: scalable brand asset shared across placements. */
.brand .brandmark{display:inline-flex;flex:none;width:58px;height:58px;line-height:0;border-radius:16px;transform:translateY(0);transition:transform .3s ease,box-shadow .3s ease;box-shadow:0 4px 10px #0000000c}.brand .brandmark img{display:block;width:100%;height:100%}.brand:hover .brandmark{transform:translateY(-2px) rotate(-3deg);box-shadow:0 7px 17px #2563eb2b}.footer-top .brand{display:flex;align-items:center;gap:14px}.footer-top .brandmark{outline:1px solid #60a5fa40;box-shadow:none}@media(max-width:700px){.brand .brandmark{width:48px;height:48px;border-radius:12px}.brand{gap:10px}}@media(prefers-reduced-motion:reduce){.brand:hover .brandmark{transform:none}}
/* Blue brand palette: light accents on navy, deep blue on light surfaces. */
:root{--navy:#0b2038;--blue:#2563eb;--sky:#82c5ff}.topbar a,.header-phone span,.hero h1 em,.dark em,.steps span{color:var(--sky)}.hero .line,.scroll-dot:after{background:var(--sky)}.hero-secondary:hover{color:var(--sky);border-color:var(--sky)}.button.lime,.contact form .button{background:var(--blue);color:#fff}.button.lime:hover,.contact form .button:hover{background:#1d4ed8;color:#fff}.strip{background:#eaf3fc;border-bottom:1px solid #d8e7f6}.strip .wrap{color:#173f6b}.symbol{background:#e0edff;color:#1e56a0}.footer-top .brand{color:#edf6ff}.footer-top a:hover{color:var(--sky)}.mobile-call{color:#fff}.contact form{border-top-color:var(--blue)}.brand .brandmark{box-shadow:0 4px 12px #0b203815}
/* Abstract connection mark: two open interlocking links, no enclosing tile. */
.brand .brandmark{width:56px;height:56px;border-radius:0;background:transparent;box-shadow:none;outline:none}.brand:hover .brandmark{transform:translateY(-2px);box-shadow:none}.footer-top .brandmark{outline:none;box-shadow:none}@media(max-width:700px){.brand .brandmark{width:46px;height:46px;border-radius:0}}@media(prefers-reduced-motion:reduce){.brand:hover .brandmark{transform:none}}
.hero-copy>p strong{display:block;color:#edf6ff;font-size:20px;line-height:1.4;margin-bottom:12px;font-weight:700}.hero-copy>p{max-width:520px}@media(max-width:700px){.hero-copy>p strong{font-size:18px}}
