:root{--navy:#062b54;--blue:#0679bf;--red:#d52e36;--paper:#f3f6fa;--ink:#122c42;--muted:#526777;--line:#d8e1e9;--display:Arial,Helvetica,sans-serif;--body:Arial,Helvetica,sans-serif;--shadow:0 16px 38px #062b5421}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.65 var(--body);overflow-x:clip}::selection{background:var(--blue);color:#fff}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a{touch-action:manipulation;-webkit-tap-highlight-color:transparent}button{cursor:pointer}svg{width:24px;height:24px;flex-shrink:0}img{display:block;width:100%;max-width:100%;object-fit:cover}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:var(--display);line-height:1.12;letter-spacing:-.035em;text-wrap:balance}h1{font-size:clamp(45px,5.5vw,80px);font-weight:800}h2{font-size:clamp(32px,3.5vw,50px)}h3{font-size:23px;letter-spacing:-.025em}p{color:var(--muted);margin:18px 0;max-width:70ch}em{font-style:normal;color:var(--blue)}button:focus-visible,a:focus-visible,summary:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #e19620;outline-offset:4px}input,textarea{caret-color:var(--blue)}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.skip{position:fixed;top:-100px;background:white;color:#111;z-index:500;padding:15px}.skip:focus{top:0}.topline{background:var(--navy);color:#fff;display:flex;justify-content:space-between;gap:20px;padding:8px 5%;font-size:12px}.site-header{position:sticky;top:0;z-index:100;background:white;color:#12314a;display:flex;align-items:center;padding:20px 5%;gap:24px;box-shadow:0 4px 20px #0000000d}.brand{width:290px;flex-shrink:0;background:white}.brand img{height:auto}nav{margin-left:auto;display:flex;align-items:center;gap:23px;font-weight:700;font-size:14px}nav>a{padding:15px 0;position:relative}nav>a:after{content:"";position:absolute;height:2px;background:var(--blue);bottom:7px;left:0;width:0;transition:width .25s}nav>a:hover:after,nav>a[aria-current]:after{width:100%}.service-nav{position:relative}.service-toggle{border:0;background:none;display:flex;align-items:center;gap:6px;padding:15px 0;color:inherit;font-weight:700}.service-toggle svg{width:15px;height:15px;transition:transform .3s}.service-toggle[aria-expanded=true] svg{transform:rotate(45deg)}.service-menu{position:absolute;top:100%;left:-20px;width:310px;background:#fff;color:#12314a;padding:12px;box-shadow:var(--shadow);border-top:3px solid var(--blue);z-index:105}.service-menu a{display:flex;align-items:center;gap:12px;padding:11px;line-height:1.4;font-size:14px}.service-menu a:hover{background:#edf5fa;color:#005e9d}.service-menu svg{width:21px;height:21px}.hamburger{display:none}.reading-progress{position:fixed;left:0;top:0;height:3px;width:100%;transform:scaleX(0);transform-origin:left;background:var(--red);z-index:150;pointer-events:none}.button{position:relative;isolation:isolate;overflow:hidden;display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:14px 25px;background:var(--blue);color:white;border:1px solid transparent;font-size:14px;font-weight:700;transition:transform .25s,box-shadow .25s}.button:before{content:"";position:absolute;inset:0;transform:translateX(-102%);background:var(--red);z-index:-1;transition:transform .35s}.button:hover:before{transform:translateX(0)}.button:hover{transform:translateY(-3px);box-shadow:0 10px 25px #0002}.button:active{transform:translateY(0)}.outline{background:transparent;border:1px solid #ffffff95}.outline:before{background:#fff}.outline:hover{color:var(--navy)}.header-cta{min-height:46px;padding:12px 18px;white-space:nowrap;background:var(--red);font-size:12px}.header-cta:before{background:var(--blue)}.actions{display:flex;gap:13px;flex-wrap:wrap;margin-top:28px}.text-link{font-size:14px;font-weight:700;display:inline-block;border-bottom:2px solid var(--blue);padding-bottom:5px;transition:color .2s}.text-link:hover{color:var(--blue)}
.full-hero{position:relative;isolation:isolate;overflow:hidden;color:#fff;background:var(--navy);display:flex;align-items:center;min-height:680px}.hero-slide{position:absolute;inset:0;z-index:-4;opacity:0;transition:opacity 1.1s}.hero-slide.active{opacity:1}.hero-slide img{width:100%;height:100%;object-position:center;animation:hero-pan 22s ease-in-out infinite alternate}.hero-overlay{position:absolute;inset:0;z-index:-3;background:linear-gradient(90deg,#031a32ed 0%,#042a4db8 40%,#04274632 100%)}.hero-content{padding:80px 6% 110px;max-width:1100px}.hero-content h1{max-width:950px}.hero-content p{color:#f0f4f9;font-size:18px;max-width:600px;margin:25px 0}.hero-content em{color:#6fd7ff}.hero-lines{position:absolute;inset:0;z-index:-2;border-right:1px solid #ffffff20;width:88%;pointer-events:none}.hero-lines:before{content:"";position:absolute;width:35%;height:120%;right:-15%;top:-10%;border:1px solid #ffffff30;transform:rotate(22deg);animation:line-drift 14s ease-in-out infinite alternate}.hero-location{position:absolute;left:6%;right:6%;bottom:25px;display:flex;justify-content:space-between;font-size:11px;letter-spacing:.1em;border-top:1px solid #ffffff40;padding-top:18px}.hero-controls{position:absolute;right:6%;bottom:95px;display:flex;align-items:center;gap:12px;font-size:12px}.hero-controls button{width:42px;height:42px;border:1px solid #ffffff77;color:white;background:#062b5470;font-size:23px}.hero-controls button:hover{background:var(--blue)}.hero-controls .pause-hero{font-size:16px}.inner-hero{min-height:420px}.inner-hero .hero-content{padding-top:65px;padding-bottom:95px}.inner-hero h1{font-size:clamp(40px,4.8vw,66px)}.inner-hero .hero-content p{font-size:18px;max-width:650px}.breadcrumb{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:22px;font-size:13px;color:#e4eef7}.breadcrumb a{text-decoration:underline;text-underline-offset:4px}.quick-services{position:relative;z-index:5;margin:-1px 0 0;display:grid;grid-template-columns:repeat(6,1fr);padding:0 5%;background:var(--navy);color:white}.quick-services a{padding:26px 15px;display:flex;align-items:center;gap:13px;border-right:1px solid #ffffff25;font-size:13px;font-weight:700;line-height:1.35;transition:background .25s,transform .25s}.quick-services a:first-child{border-left:1px solid #ffffff25}.quick-services svg{color:#73d4ff;width:31px;height:31px}.quick-services a:hover{background:var(--blue);transform:translateY(-5px)}.section{padding:76px 6%;position:relative;isolation:isolate}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:45px;margin-bottom:38px}.section-heading>div,.section-heading>p{max-width:430px}.section-heading p{margin:0 0 15px}.patterned:before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(120deg,transparent 60%,#0679bf07 60%,#0679bf07 78%,transparent 78%);pointer-events:none}.patterned:after{content:"";position:absolute;right:5%;top:38px;width:100px;height:100px;border:1px solid #0679bf24;transform:rotate(20deg);z-index:-1;pointer-events:none}.story{display:grid;grid-template-columns:1fr 1fr;gap:7%;align-items:center;background:#fff}.story-art{position:relative;padding:0 12% 60px 0}.story-art>img{height:470px}.story-inset{position:absolute;right:0;bottom:0;width:55%;padding:9px;background:white;box-shadow:var(--shadow)}.story-inset img{height:210px}.story-label{position:absolute;left:-15px;bottom:35px;padding:23px;background:var(--red);color:#fff;font-family:var(--display);font-size:26px;line-height:1.15;font-weight:700;max-width:180px}.story-copy .lead{font-size:20px;color:var(--ink)}.fact-pairs{display:grid;grid-template-columns:1fr 1fr;margin:28px 0;border-block:1px solid var(--line)}.fact-pairs>div{padding:20px 10px 20px 0}.fact-pairs b{display:block;font-size:23px;color:var(--blue)}.fact-pairs span{font-size:13px;color:var(--muted)}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}.service-card{background:#fff;box-shadow:0 8px 24px #102e4610;transition:transform .3s,box-shadow .3s;overflow:hidden}.service-card:hover{transform:translateY(-7px);box-shadow:var(--shadow)}.service-picture{position:relative;display:block;height:230px;overflow:hidden}.service-picture>img{height:100%;transition:transform .7s}.service-card:hover .service-picture>img{transform:scale(1.06)}.card-icon{position:absolute;right:22px;bottom:0;width:60px;height:56px;display:grid;place-items:center;background:var(--blue);color:#fff;transition:background .25s}.card-icon svg{width:30px;height:30px}.service-card:nth-child(2n) .card-icon{background:var(--red)}.service-info{padding:27px}.service-info h3{min-height:52px}.service-info p{margin:12px 0 18px;min-height:50px}.service-card:hover .card-icon{background:var(--navy)}.scene{position:absolute;inset:0;z-index:-3;overflow:hidden}.scene>img{height:100%;width:100%;object-fit:cover}.photo-section{background:var(--navy);color:#fff}.photo-section:before,.photo-cta:before{content:"";position:absolute;inset:0;background:#06294de8;z-index:-2}.photo-section p{color:#d2e2ee}.geometry{position:absolute;inset:0;overflow:hidden;z-index:-1;pointer-events:none}.geometry:before,.geometry:after{content:"";position:absolute;width:280px;height:280px;border:1px solid #ffffff22;transform:rotate(30deg);right:-80px;top:35px;animation:line-drift 14s ease-in-out infinite alternate}.geometry:after{right:auto;left:-120px;top:auto;bottom:-160px;width:400px;height:400px}.explorer-layout{display:grid;grid-template-columns:300px 1fr;gap:30px}.service-tabs{display:flex;flex-direction:column;gap:8px}.service-tabs button{display:flex;gap:14px;align-items:center;text-align:left;padding:18px;color:white;background:#ffffff0b;border:1px solid #ffffff33;min-height:65px;font-size:14px;font-weight:600;transition:background .25s}.service-tabs button:hover{background:#ffffff22}.service-tabs button[aria-selected=true]{background:var(--blue);border-color:var(--blue)}.service-panel{display:grid;grid-template-columns:1fr 1fr;background:white;color:var(--ink);min-height:410px}.service-panel[hidden]{display:none}.service-panel>div>img{height:100%;min-height:410px}.service-panel article{padding:35px 30px}.service-panel h3{font-size:28px}.service-panel p{font-size:15px;color:var(--muted)}.service-panel ul{padding-left:19px;font-size:14px;color:var(--muted);margin-bottom:25px}.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.gallery-item{position:relative;padding:0;border:0;background:var(--navy);color:white;overflow:hidden;text-align:left}.gallery-item img{height:270px;transition:transform .7s,opacity .3s}.gallery-item:hover img{transform:scale(1.07);opacity:.8}.gallery-caption{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(transparent,#021425e8);padding:55px 22px 23px;display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:18px;font-weight:700;line-height:1.3}.gallery-caption>span{width:38px;height:38px;display:grid;place-items:center;background:var(--blue);flex-shrink:0}.filters{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:28px}.filters button{padding:10px 17px;border:1px solid var(--line);color:var(--ink);background:white;font-size:13px;min-height:44px}.filters button.active{background:var(--blue);color:white;border-color:var(--blue)}.gallery-item[hidden]{display:none}.gallery-status{font-size:13px}.gallery-section .gallery-grid{min-height:300px}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}.steps article{background:#ffffff10;border-top:2px solid #fff;padding:28px;position:relative;transition:background .3s}.steps article:hover{background:var(--blue)}.step-number{font-size:38px;font-weight:800;color:#7cd8ff;display:block;margin-bottom:25px;line-height:1}.steps h3{font-size:25px}.steps p{font-size:15px}.faq-teaser{display:grid;grid-template-columns:1fr 1.3fr;gap:8%;background:#fff}.faq-item{border-bottom:1px solid var(--line);padding:0}.faq-item summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:22px 0;font-weight:700;font-size:16px;line-height:1.5}.faq-item summary::-webkit-details-marker{display:none}.faq-item summary svg{width:20px;height:20px;color:var(--blue);transition:transform .3s}.faq-item[open] summary svg{transform:rotate(45deg)}.faq-item[open] summary{color:var(--blue)}.faq-item>p{margin:0 0 23px;font-size:15px}.faq-item[hidden]{display:none}.faq-page{display:grid;grid-template-columns:1fr 1.8fr;gap:7%;background:#fff}.faq-page label{display:block;margin:25px 0 10px;font-size:14px}.faq-page input{width:100%;padding:14px;border:1px solid var(--line);background:var(--paper);color:var(--ink)}.faq-help{margin-top:35px;background:var(--paper);padding:25px}.faq-help h3{font-size:23px}.faq-status{font-size:13px}.photo-cta{position:relative;isolation:isolate;background:var(--navy);padding:70px 6%;display:grid;grid-template-columns:1.5fr 1fr;align-items:center;gap:60px;color:white;overflow:hidden}.photo-cta:before{background:#06284cda}.photo-cta p{color:#dce9f1}.cta-actions{display:flex;flex-direction:column;align-items:start;gap:14px}.photo-cta h2{font-size:44px}footer{background:#031a2e;color:#e6eef5;padding:65px 6% 80px;display:grid;grid-template-columns:1.5fr .7fr 1fr 1fr;gap:36px;position:relative}footer h3{font-family:var(--body);font-size:17px;letter-spacing:0;margin-bottom:25px;color:#fff}footer a{display:block;font-size:13px;margin:10px 0;line-height:1.55;overflow-wrap:anywhere}footer a:hover{color:#7bd9fc}footer p{font-size:14px;color:#bccfdd;margin:16px 0}.footer-brand>img{width:280px;background:white;height:auto}.socials{display:flex;flex-wrap:wrap;gap:8px;margin-top:25px}.social{width:36px;height:36px;background:var(--social);color:white;border-radius:5px;display:grid;place-items:center;transition:transform .25s}.social svg{width:19px;height:19px}.social:hover{transform:translateY(-4px)}.legal{grid-column:1/-1;border-top:1px solid #ffffff25;padding-top:22px;display:flex;justify-content:space-between;gap:20px;font-size:12px}.legal a{margin:0;font-size:12px}.floating{position:fixed;bottom:20px;right:20px;z-index:110;display:flex;align-items:center;gap:7px;padding:12px 17px;background:#087c42;color:#fff;border-radius:40px;box-shadow:0 6px 22px #0003;font-size:13px;font-weight:700}.floating svg{width:27px;height:27px}.back-top{position:fixed;left:20px;bottom:20px;width:43px;height:43px;z-index:105;display:grid;place-items:center;background:var(--navy);border:1px solid #ffffff44;color:white;opacity:0;pointer-events:none;transition:opacity .25s}.back-top.visible{opacity:1;pointer-events:auto}.lightbox{padding:0;border:0;background:#071a29;color:white;max-width:min(1100px,92vw);max-height:90dvh;box-shadow:0 25px 75px #0008}.lightbox::backdrop{background:#00101de8}.lightbox>img{max-height:75dvh;width:100%;object-fit:contain}.lightbox>p{color:white;margin:15px 20px;font-size:14px}.close-lightbox{position:absolute;right:12px;top:12px;border:1px solid #fff9;background:#041c35d9;color:white;display:grid;place-items:center;width:44px;height:44px}.contact-section{display:grid;grid-template-columns:1fr 1.2fr;gap:7%;background:#fff}.contact-copy>p{font-size:18px}.contact-tile{display:block;padding:20px 0;border-bottom:1px solid var(--line);margin-bottom:12px}.contact-tile b{display:block;color:var(--blue);font-size:14px;margin-bottom:6px}.contact-tile span{font-size:19px;overflow-wrap:anywhere}.contact-copy>.button{margin-top:25px}.project-form{padding:35px;background:var(--paper);border-top:4px solid var(--blue)}.project-form h2{font-size:32px;margin:25px 0}.form-progress{display:flex;gap:20px;border-bottom:1px solid var(--line);padding-bottom:15px;font-size:13px;font-weight:700}.form-progress span{color:var(--muted)}.form-progress .active{color:var(--blue)}fieldset{border:0;padding:0;margin:0;min-width:0}fieldset[hidden]{display:none}.project-form label{display:block;font-size:14px;font-weight:700;margin:18px 0 7px}.project-form label span{font-weight:400}.project-form input,.project-form textarea,.project-form select{width:100%;padding:12px;background:white;border:1px solid var(--line);color:var(--ink);border-radius:0;min-height:48px}.project-form textarea{resize:vertical}.project-form p{font-size:14px}.form-helper{display:flex;justify-content:space-between;gap:15px;font-size:11px;color:var(--muted);margin:8px 0 24px}.form-actions{display:flex;justify-content:space-between;gap:15px;align-items:center}.back-step{background:none;border:0;text-decoration:underline;color:var(--ink);padding:12px}.form-status a{color:var(--blue);font-weight:bold;text-decoration:underline}.detail-intro{display:grid;grid-template-columns:1.2fr 1fr;gap:8%;background:white;align-items:center}.lead{font-size:21px;color:var(--ink)}.scope-box{background:var(--navy);color:white;padding:35px;position:relative;overflow:hidden}.scope-box:after{content:"";position:absolute;right:-80px;top:-70px;width:160px;height:160px;border:1px solid #ffffff33;transform:rotate(30deg)}.scope-box h3{font-size:28px}.scope-box ul{list-style:none;margin:25px 0;padding:0}.scope-box li{display:flex;gap:12px;align-items:center;padding:12px 0;border-bottom:1px solid #ffffff30;font-size:15px}.scope-box li svg{color:#7bd9fc}.scope-box .text-link{border-color:#7bd9fc}.related-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:17px}.related-grid a{padding:24px;background:white;transition:background .3s,color .3s}.related-grid svg{width:35px;height:35px;color:var(--blue);margin-bottom:20px}.related-grid h3{font-size:19px}.related-grid p{font-size:14px}.related-grid a:hover{background:var(--blue);color:white}.related-grid a:hover p,.related-grid a:hover svg{color:white}.capability-band{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;margin-top:40px}.capability-band a{padding:30px;background:#ffffff12;border-bottom:3px solid var(--blue)}.capability-band h3{font-size:40px}.reveal{transition:transform .45s,box-shadow .3s}.reveal.seen{animation:reveal-up .7s both}.hero-project{position:relative;z-index:3;width:330px;padding:30px;background:#071f30e8;border-top:3px solid var(--blue);margin-right:6%;flex-shrink:0}.hero-project h3{font-size:28px}.hero-project p{color:#c8e4f1;font-size:14px}.hero-project select{width:100%;padding:13px;background:#fff;color:#102d40;border:0;font-size:13px}.hero-project .button{width:100%;margin:15px 0}.hero-project>a{font-size:13px;color:#d2eaf7}
/* V2: luxurious burgundy editorial with image mosaic and layered sections */
.v2{--navy:#521a30;--blue:#8f284f;--red:#b96927;--paper:#faf6f2;--ink:#422336;--muted:#705866;--line:#e1d1d6;--display:Georgia,'Times New Roman',serif;--shadow:0 16px 38px #521a3020}.v2 .site-header{padding-block:22px}.v2 .full-hero{text-align:center;justify-content:center;min-height:700px}.v2 .hero-overlay{background:linear-gradient(0deg,#2f0c20db,#2f0c2070 55%,#2f0c2075)}.v2 .hero-content{max-width:1000px;padding:85px 5% 135px}.v2 h1{font-weight:400;font-size:clamp(48px,6vw,86px)}.v2 h1 em{color:#fff0d2;font-style:italic}.v2 .hero-content p{margin:25px auto;font-size:18px;max-width:650px}.v2 .actions{justify-content:center}.v2 .hero-lines:before{width:70%;height:70%;top:15%;right:4%;transform:none;border:1px solid #fff3;animation:none}.v2 .hero-lines{border:0;width:100%}.v2 .hero-controls{right:50%;transform:translateX(50%);bottom:85px}.v2 .hero-location{justify-content:center;gap:35px}.v2 .quick-services{margin:0 6%;padding:0;box-shadow:var(--shadow);background:#fff;color:var(--ink)}.v2 .quick-services a{flex-direction:column;text-align:center;padding:24px 10px;border-right:1px solid var(--line)}.v2 .quick-services svg{color:var(--blue)}.v2 .quick-services a:hover{color:white}.v2 .quick-services a:hover svg{color:white}.v2 .services-showcase{padding-top:65px}.v2 .service-grid{grid-template-columns:repeat(4,1fr)}.v2 .service-card:nth-child(1),.v2 .service-card:nth-child(2){grid-column:span 2;display:grid;grid-template-columns:52% 48%;align-items:center}.v2 .service-card:nth-child(1) .service-picture,.v2 .service-card:nth-child(2) .service-picture{height:310px}.v2 .service-picture{height:180px}.v2 .service-info{padding:22px}.v2 .service-info h3{font-size:24px;font-weight:400}.v2 .service-info p{font-size:14px}.v2 .story{background:#f1e7e4;grid-template-columns:1.05fr 1fr}.v2 .story-art{order:2}.v2 .story-art>img{border-radius:0 100px 0 0}.v2 .story-label{background:#8f284f}.v2 .photo-section:before,.v2 .photo-cta:before{background:#471126e8}.v2 .service-tabs button[aria-selected=true]{background:#9d3159}.v2 .gallery-teaser{background:#fff}.v2 .gallery-grid .gallery-item:first-child{grid-column:span 2}.v2 .gallery-grid{grid-template-columns:2fr 1fr 1fr}.v2 .gallery-grid .gallery-item:first-child{grid-column:auto}.v2 .gallery-item img{height:330px}.v2 .step-number{color:#f3c699;font-family:Georgia,serif}.v2 .steps article{border-top-color:#e5b382}.v2 .inner-hero{min-height:420px}.v2 .inner-hero .hero-content{padding:50px 5% 95px}.v2 .inner-hero h1{font-size:clamp(43px,4.8vw,66px)}.v2 .breadcrumb{justify-content:center}.v2 .photo-cta h2{font-weight:400}.v2 footer{background:#2b1020}.v2 .scope-box{background:#521a30}.v2 .scope-box li svg{color:#f3c699}.v2 .patterned:before{background:linear-gradient(125deg,transparent 65%,#8f284f06 65%)}.v2 .patterned:after{border-color:#8f284f25;border-radius:50%}.v2 .button{border-radius:3px}.v2 .gallery-section .gallery-grid{grid-template-columns:repeat(3,1fr)}
/* V3: midnight industrial, cyan color blocks and panoramic service rows */
.v3{--navy:#071e30;--blue:#007fa0;--red:#c75621;--paper:#0c2233;--ink:#e9f4fa;--muted:#b5cdd9;--line:#345267;--shadow:0 15px 40px #0003}.v3 .topline{background:#00758e}.v3 .site-header{background:#091c2d;color:white}.v3 .brand{padding:4px}.v3 .full-hero{min-height:690px}.v3 .hero-overlay{background:linear-gradient(90deg,#021625e8,#061e3580 65%,#061e3550)}.v3 .hero-content{max-width:850px;flex:1;padding-right:4%}.v3 h1{font-size:clamp(46px,5.6vw,79px);text-transform:uppercase;letter-spacing:-.035em}.v3 h1 em{color:#76e4ff}.v3 .hero-controls{right:6%;bottom:90px}.v3 .quick-services{background:#072b43;border-bottom:1px solid #315166}.v3 .story{background:#102e43}.v3 .story-inset{background:#102e43}.v3 .story-label{background:#00758e}.v3 .fact-pairs b{color:#75dfff}.v3 .service-grid{grid-template-columns:1fr 1fr}.v3 .service-card{display:grid;grid-template-columns:43% 57%;background:#14364a;box-shadow:none;align-items:center}.v3 .service-picture{height:270px}.v3 .service-info h3{font-size:24px}.v3 .service-info p{font-size:14px}.v3 .service-info{padding:25px}.v3 .service-card:nth-child(3n){background:#0c4251}.v3 .service-explorer{background:#051b2b}.v3 .service-panel{background:#163a50;color:#fff}.v3 .service-panel p,.v3 .service-panel ul{color:#c1d7e3}.v3 .photo-section:before{background:#031a2be8}.v3 .photo-cta:before{background:#004359db}.v3 .faq-teaser,.v3 .faq-page,.v3 .detail-intro,.v3 .contact-section{background:#0e293c}.v3 .faq-item[open] summary{color:#77e4ff}.v3 .faq-item summary svg{color:#77e4ff}.v3 .related-grid a{background:#14384c}.v3 .related-grid svg{color:#76e4ff}.v3 .scope-box{background:#06495c}.v3 .project-form{background:#173c50}.v3 .project-form input,.v3 .project-form textarea,.v3 .project-form select{background:#0c2638;color:#fff}.v3 .filters button{background:#13374d;color:white}.v3 .filters button.active{background:#007fa0}.v3 .gallery-teaser{background:#071e30}.v3 .inner-hero{min-height:440px}.v3 .inner-hero .hero-content{max-width:1100px}.v3 .inner-hero h1{font-size:clamp(41px,4.8vw,66px)}.v3 .form-progress .active,.v3 .form-status a,.v3 .contact-tile b{color:#74ddfa}.v3 .patterned:before{background:linear-gradient(120deg,transparent 65%,#77d4fa05 65%)}.v3 .patterned:after{border-color:#77d4fa25}.v3 .capability-band a{background:#06495c}.v3 .fact-pairs{border-color:#466174}.v3 .service-menu a:hover{color:#005a75}.v3 .faq-help{background:#14384c}.v3 .faq-page input{background:#16374b}
@keyframes hero-pan{from{transform:scale(1)}to{transform:scale(1.065)}}@keyframes line-drift{from{translate:0 0}to{translate:12px 18px}}@keyframes reveal-up{from{transform:translateY(22px)}to{transform:translateY(0)}}
@media(min-width:1600px){.section,.photo-cta,footer{padding-inline:max(6%,calc((100vw - 1450px)/2))}.hero-content{padding-left:max(6%,calc((100vw - 1450px)/2));max-width:1200px}}
@media(max-width:1200px){.site-header{gap:20px;padding-inline:4%}.brand{width:250px}nav{gap:16px;font-size:13px}.header-cta{padding:11px 14px}.topline{padding-inline:4%;font-size:11px}.quick-services{padding-inline:3%}.quick-services a{flex-direction:column;text-align:center;padding:22px 12px;font-size:12px}.explorer-layout{grid-template-columns:260px 1fr}.service-panel{grid-template-columns:.9fr 1.1fr}.service-panel article{padding:27px}.related-grid{grid-template-columns:repeat(3,1fr)}.v2 .service-grid{grid-template-columns:repeat(3,1fr)}.v2 .service-card:nth-child(1),.v2 .service-card:nth-child(2){display:block;grid-column:auto}.v2 .service-card:nth-child(1) .service-picture,.v2 .service-card:nth-child(2) .service-picture{height:210px}.v2 .service-picture{height:210px}.v3 .hero-project{width:300px;padding:24px}.v3 .hero-content{padding-left:5%;padding-right:3%}.v3 .service-card{display:block}.v3 .service-picture{height:230px}footer{grid-template-columns:1.3fr .7fr 1fr 1fr;gap:25px}}
@media(max-width:1000px){.site-header{padding:14px 4%;gap:15px}.brand{width:245px}.hamburger{display:grid;place-items:center;margin-left:auto;width:44px;height:44px;background:transparent;color:inherit;border:1px solid #8b9dad}.hamburger svg{width:22px;height:22px}nav{display:none;position:absolute;top:100%;left:0;right:0;background:white;color:#12314a;padding:15px 5%;box-shadow:0 12px 25px #0003;max-height:calc(100dvh - 100px);overflow:auto;margin:0}nav.open{display:block}nav>a{display:block;padding:11px;min-height:44px}nav>a:after{display:none}.service-toggle{width:100%;justify-content:space-between;padding:11px;min-height:44px}.service-menu{position:static;width:100%;box-shadow:none;border:0;background:#edf4f8;padding:5px 10px}.service-menu a{min-height:44px}.topline>a:nth-last-child(2){display:none}.topline{font-size:11px}.full-hero{min-height:630px}.hero-content{padding:70px 6% 115px}.hero-content h1{font-size:65px}.hero-content p{font-size:17px}.hero-controls{bottom:80px}.section{padding:60px 5%}.story{gap:6%}.story-art>img{height:400px}.story-inset img{height:175px}.story-label{left:0;font-size:23px}.service-grid{gap:20px}.service-picture{height:190px}.service-info{padding:22px}.service-info h3{font-size:21px}.service-info p{font-size:14px}.explorer-layout{grid-template-columns:1fr}.service-tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.service-tabs button{font-size:13px;padding:14px}.service-panel{grid-template-columns:1fr 1.2fr;min-height:350px}.service-panel>div>img{min-height:350px;height:100%}.gallery-item img{height:230px}.gallery-caption{font-size:16px;padding-inline:17px}.steps{gap:20px}.steps article{padding:24px}.steps h3{font-size:23px}.faq-teaser{gap:6%}.photo-cta{gap:35px;padding:60px 5%}.photo-cta h2{font-size:37px}footer{grid-template-columns:1fr 1fr;padding:50px 5% 85px;gap:35px}.v2 .full-hero{min-height:650px}.v2 .inner-hero{min-height:410px}.v3 .hero-content h1{font-size:56px}.v3 .hero-project{width:275px;margin-right:5%}.v3 .hero-project h3{font-size:24px}.v3 .full-hero{min-height:650px}.v3 .inner-hero{min-height:410px}.contact-section{gap:5%}.project-form{padding:25px}.detail-intro{gap:5%}.scope-box{padding:27px}}
@media(max-width:700px){html{scroll-padding-top:85px}h1{font-size:46px}h2{font-size:34px}h3{font-size:23px}.topline{font-size:10px;gap:12px;padding:7px 4%}.topline>span:first-child{max-width:145px}.topline>span:nth-child(2){display:none}.site-header,.v2 .site-header{padding:14px 4%;gap:10px}.brand{width:clamp(130px,37vw,240px);flex-shrink:1;min-width:120px}.hamburger{width:42px;height:42px;flex-shrink:0}.header-cta{padding:10px 11px;min-height:44px;font-size:11px}.button{padding:13px 20px;font-size:13px;min-height:48px}.header-cta.button{padding:10px 11px;min-height:44px;font-size:11px}.full-hero,.v2 .full-hero,.v3 .full-hero{min-height:660px}.hero-content,.v2 .hero-content,.v3 .hero-content{padding:60px 6% 130px;max-width:100%;width:100%}.hero-content h1,.v3 .hero-content h1{font-size:48px;line-height:1.08}.hero-content p,.v2 .hero-content p{font-size:16px;margin:23px 0;max-width:95%}.hero-content .actions{gap:10px}.hero-overlay{background:linear-gradient(90deg,#031a32e0,#042a4d80)}.hero-location{font-size:9px;gap:20px;bottom:20px;padding-top:15px}.hero-location>span:last-child{text-align:right;max-width:175px}.hero-controls{left:6%;right:auto;bottom:70px}.hero-controls button{width:38px;height:38px}.hero-lines:before{width:70%;right:-45%;opacity:.7}.quick-services,.v2 .quick-services{grid-template-columns:repeat(3,1fr);padding:0;margin:0}.quick-services a,.v2 .quick-services a{padding:18px 10px;font-size:11px;gap:9px;border-bottom:1px solid #ffffff25}.quick-services svg{width:27px;height:27px}.section{padding:48px 6%}.section-heading{display:block;margin-bottom:28px}.section-heading>div,.section-heading>p{margin-top:20px}.story,.v2 .story{grid-template-columns:1fr;gap:32px}.story-art,.v2 .story-art{order:0;padding-right:10%;padding-bottom:45px}.story-art>img{height:330px}.story-inset img{height:150px}.story-label{padding:20px;font-size:23px;bottom:15px}.story-copy .lead{font-size:18px}.fact-pairs b{font-size:21px}.fact-pairs{margin:23px 0}.service-grid,.v2 .service-grid,.v3 .service-grid{grid-template-columns:1fr 1fr;gap:17px}.service-picture,.v2 .service-picture,.v2 .service-card:nth-child(1) .service-picture,.v2 .service-card:nth-child(2) .service-picture,.v3 .service-picture{height:180px}.service-info,.v2 .service-info,.v3 .service-info{padding:18px 14px}.service-info h3,.v2 .service-info h3,.v3 .service-info h3{font-size:21px;min-height:70px}.service-info p,.v3 .service-info p{font-size:14px;line-height:1.5;min-height:65px}.text-link{font-size:12px}.card-icon{right:12px;width:45px;height:43px}.card-icon svg{width:25px;height:25px}.service-tabs{grid-template-columns:1fr 1fr;gap:8px}.service-tabs button{min-height:65px;font-size:12px;line-height:1.4;padding:12px;gap:10px}.service-tabs svg{width:22px;height:22px}.service-panel{grid-template-columns:1fr}.service-panel>div>img{height:240px;min-height:0}.service-panel article{padding:27px}.service-panel h3{font-size:27px}.gallery-grid,.v2 .gallery-grid,.v2 .gallery-section .gallery-grid{grid-template-columns:1fr 1fr;gap:15px}.gallery-grid .gallery-item:first-child,.v2 .gallery-grid .gallery-item:first-child{grid-column:1/-1}.gallery-item img,.v2 .gallery-item img{height:230px}.gallery-grid .gallery-item:first-child img{height:280px}.gallery-caption{font-size:15px;padding:45px 15px 16px}.gallery-caption>span{width:32px;height:32px}.gallery-caption svg{width:19px;height:19px}.steps{grid-template-columns:1fr;gap:15px}.steps article{padding:23px 25px}.step-number{font-size:30px;margin-bottom:15px}.steps p{margin-bottom:0}.faq-teaser,.faq-page{grid-template-columns:1fr;gap:30px}.faq-teaser>div:first-child>p{margin:16px 0 22px}.faq-item summary{padding:18px 0;font-size:15px}.photo-cta{grid-template-columns:1fr;gap:20px;padding:45px 6%}.photo-cta h2{font-size:35px}.photo-cta p{font-size:15px}.cta-actions{flex-direction:row;flex-wrap:wrap;gap:10px}.cta-actions .button{font-size:12px;padding:12px 15px}footer{padding:45px 6% 95px;gap:30px 20px}footer h3{font-size:15px;margin-bottom:18px}footer a,footer p{font-size:12px}.footer-brand{grid-column:1/-1}.footer-brand>img{width:300px}.social{width:36px;height:36px}.socials{gap:9px}.legal{display:block;font-size:11px}.legal a{margin-top:15px;font-size:11px}.floating{bottom:12px;right:12px;padding:11px}.floating span{display:none}.back-top{left:12px;bottom:12px;width:40px;height:40px}.inner-hero,.v2 .inner-hero,.v3 .inner-hero{min-height:420px}.inner-hero .hero-content,.v2 .inner-hero .hero-content,.v3 .inner-hero .hero-content{padding:40px 6% 90px}.inner-hero h1,.v2 .inner-hero h1,.v3 .inner-hero .hero-content h1{font-size:41px}.inner-hero .hero-content p{font-size:16px}.breadcrumb{font-size:11px;gap:8px}.v2 .hero-content h1{font-size:51px}.v2 .hero-content p{margin-inline:auto}.v2 .hero-controls{left:50%;right:auto;transform:translateX(-50%);bottom:75px}.v2 .hero-location{gap:25px}.v2 .inner-hero .hero-content h1{font-size:44px}.v2 .quick-services{box-shadow:none}.v2 .services-showcase{padding-top:48px}.v3 .home-hero{display:block;min-height:850px}.v3 .home-hero .hero-content{padding-bottom:25px;padding-top:48px}.v3 .hero-project{width:auto;margin:0 6% 150px;padding:23px;background:#062035e8}.v3 .hero-project h3{font-size:23px}.v3 .hero-project p{margin:12px 0}.v3 .hero-project .button{margin:12px 0}.v3 .hero-project select{padding:10px}.v3 .inner-hero{display:flex}.v3 .hero-controls{bottom:75px}.v3 .hero-content h1{font-size:48px}.contact-section,.detail-intro{grid-template-columns:1fr;gap:35px}.contact-tile span{font-size:18px}.project-form{padding:24px 20px}.project-form h2{font-size:29px}.project-form label{font-size:13px}.form-helper{font-size:10px}.scope-box{padding:27px}.scope-box h3{font-size:27px}.scope-box li{font-size:14px}.related-grid{grid-template-columns:1fr 1fr;gap:15px}.related-grid a{padding:20px}.related-grid h3{font-size:20px}.related-grid p{font-size:13px}.related-grid>a:last-child{grid-column:1/-1}.capability-band{grid-template-columns:1fr;gap:15px}.capability-band a{padding:25px}.capability-band h3{font-size:35px}.filters{gap:8px}.filters button{font-size:12px;padding:9px 12px}.faq-help{margin-top:25px}.faq-page aside h2{font-size:32px}}
@media(max-width:390px){.service-info h3,.v3 .service-info h3{font-size:19px}.v2 .service-info h3{font-size:21px}.service-picture,.v2 .service-picture,.v2 .service-card:nth-child(1) .service-picture,.v2 .service-card:nth-child(2) .service-picture,.v3 .service-picture{height:160px}.hero-content h1,.v3 .hero-content h1{font-size:44px}.v2 .hero-content h1{font-size:48px}.service-tabs button{padding:10px;font-size:11px;gap:8px}.service-info p{font-size:13px}.gallery-caption{font-size:14px}.gallery-caption>span{display:none}.brand{min-width:115px}.site-header{gap:8px}.header-cta.button{font-size:10px;padding:10px}.hero-content p{max-width:100%}.inner-hero .hero-content h1,.v3 .inner-hero .hero-content h1{font-size:38px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.reveal{opacity:1;transform:none}}
/* Keep long service names inside narrow mobile grids. */
.related-grid>*{min-width:0;overflow-wrap:anywhere}
@media(max-width:600px){.related-grid{grid-template-columns:minmax(0,1fr)}}
/* Preserve the negative space in multi-part social brand glyphs. */
.social svg [fill="white"]{fill:var(--social)}
.social svg [stroke="white"]{stroke:var(--social)}
.socials{display:grid;grid-template-columns:repeat(5,36px);gap:9px}
.social{width:36px;height:36px}
/* Seamless brand surfaces: logo is part of the header/footer, never a tile. */
.site-header,.v2 .site-header,.v3 .site-header{background:#fff;color:#12314a}
.brand,.v3 .brand{background:transparent;padding:0;border:0;box-shadow:none}
.brand img,.footer-brand>img{background:transparent;object-fit:contain}
footer,.v2 footer,.v3 footer{background:#fff;color:#163249;border-top:4px solid var(--blue)}
footer h3{color:#163249}
footer p{color:#526777}
footer a:hover{color:var(--blue)}
footer .legal{border-color:#dce5ec;color:#526777}
.footer-brand>img{width:320px;max-width:100%}
.cta-short{display:none}
@media(max-width:700px){.brand,.v3 .brand{flex:1;min-width:0;width:auto;max-width:205px}.header-cta{flex-shrink:0}.header-cta .cta-full{display:none}.header-cta .cta-short{display:inline}}
/* Expanded site motion: staggered scroll entrances and responsive hover details. */
.reveal.seen{animation:eva-enter .75s cubic-bezier(.2,.7,.2,1) backwards;animation-delay:var(--reveal-delay,0ms)}
.hero-content .breadcrumb,.hero-content h1,.hero-content>p,.hero-content .actions,.hero-project{animation:eva-enter .85s cubic-bezier(.2,.7,.2,1) both}
.hero-content>p{animation-delay:.12s}.hero-content .actions{animation-delay:.24s}.hero-project{animation-delay:.32s}
.steps article,.related-grid>a,.capability-band>a,.contact-tile{transition:transform .3s,background .3s,box-shadow .3s,border-color .3s}
.quick-services svg,.card-icon svg,.related-grid svg,.service-tabs svg{transition:transform .35s cubic-bezier(.2,.7,.2,1)}
.story-art>img,.story-inset img{transition:transform .7s cubic-bezier(.2,.7,.2,1)}
@media(hover:hover){.steps article:hover,.related-grid>a:hover,.capability-band>a:hover,.contact-tile:hover{transform:translateY(-6px);box-shadow:0 14px 30px #00182718}.quick-services a:hover svg,.service-card:hover .card-icon svg,.related-grid>a:hover svg,.service-tabs button:hover svg{transform:translateY(-3px) rotate(-6deg) scale(1.08)}.story-art:hover>img{transform:scale(1.025)}.story-art:hover .story-inset img{transform:scale(1.025)}}
.button:active,.gallery-item:active,.quick-services a:active{transform:scale(.98)}
.faq-item[open]>p,.service-panel:not([hidden]) article{animation:eva-enter .45s ease-out both}
@keyframes eva-enter{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:translateY(0)}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}.reveal{opacity:1;transform:none}}
.work-section{background:#f3f6fa}.v2 .work-section{background:#faf6f2}.v3 .work-section{background:#0c2233}
.work-filters{display:flex;flex-wrap:wrap;gap:10px}.work-filters button{min-height:44px;padding:10px 20px;background:transparent;border:1px solid var(--line);color:var(--ink);font-weight:700;font-size:14px;transition:background .25s,transform .25s}.work-filters button[aria-pressed=true]{background:var(--blue);border-color:var(--blue);color:#fff}.work-filters button:hover{transform:translateY(-2px)}.work-count{font-size:14px;margin:18px 0 25px}
.work-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px;align-items:start}.work-card{min-width:0;background:white;box-shadow:0 8px 25px #07233d12}.work-card[hidden]{display:none}.v3 .work-card{background:#163a50}.work-player{background:#07131c;overflow:hidden}.work-player video{display:block;width:100%;height:auto;aspect-ratio:478/850;object-fit:contain;max-height:650px}.work-caption{display:flex;justify-content:space-between;gap:14px;padding:22px;align-items:start}.work-caption h3{font-size:22px}.work-caption span{font-size:12px;white-space:nowrap;color:var(--muted)}.work-card.landscape{grid-column:span 2}.work-card.landscape video{aspect-ratio:848/478;max-height:none}.supplied-identity{width:300px;max-width:100%;background:#fff;padding:10px}.supplied-identity img{height:auto;object-fit:contain}
@media(max-width:1000px){.work-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.work-caption{display:block}.work-caption span{display:block;margin-top:8px}}
@media(max-width:600px){.work-grid{grid-template-columns:minmax(0,1fr);gap:24px}.work-card.landscape{grid-column:auto}.work-player video{max-height:560px}.work-caption{padding:20px}.work-caption h3{font-size:23px}.supplied-identity{width:270px}.work-filters{gap:8px}.work-filters button{padding:9px 14px;font-size:13px}}
