@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap');
:root{--navy:#10243A;--blue:#1769AA;--charcoal:#252B32;--white:#fff;--gray:#F3F5F7;--teal:#00A6A6;--muted:#65717d;--line:#dce2e8;--max:1160px}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:88px}body{margin:0;font-family:Inter,Arial,sans-serif;color:var(--charcoal);line-height:1.65;background:#fff}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}button,input,select,textarea{font:inherit}.container{width:min(var(--max),calc(100% - 40px));margin:auto}.topline{background:var(--navy);color:#e8eef4;font-size:.82rem;padding:8px 0}.topline .container{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap}.site-header{position:sticky;top:0;z-index:10;background:rgba(255,255,255,.97);border-bottom:1px solid rgba(16,36,58,.1);backdrop-filter:blur(12px)}.nav{min-height:78px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{display:flex;align-items:center;gap:12px;font-weight:800;color:var(--navy);letter-spacing:-.04em;font-size:1.12rem}.brand-mark{width:38px;height:38px;display:grid;place-items:center;background:var(--blue);color:white;font-weight:800;letter-spacing:0}.brand small{display:block;font-size:.65rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);font-weight:600}.nav-links{display:flex;align-items:center;gap:24px;font-size:.91rem;font-weight:600}.nav-links a:hover,.nav-links a.active{color:var(--blue)}.nav-toggle{display:none;background:white;border:1px solid var(--line);padding:9px 12px;color:var(--navy)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;padding:13px 19px;border:1px solid transparent;font-weight:700;font-size:.9rem;transition:transform .2s,background .2s,border .2s;cursor:pointer}.btn:hover{transform:translateY(-2px)}.btn-primary{background:var(--blue);color:#fff}.btn-primary:hover{background:#11578f}.btn-outline{border-color:#b7c4d0;color:var(--navy);background:transparent}.btn-light{background:#fff;color:var(--navy)}.hero{background:linear-gradient(90deg,rgba(8,24,41,.94),rgba(8,24,41,.76) 52%,rgba(8,24,41,.24)),url('https://images.unsplash.com/photo-1581092160562-40aa08e78837?auto=format&fit=crop&w=2000&q=85') center/cover no-repeat;color:#fff;min-height:600px;display:flex;align-items:center}.hero-inner{padding:88px 0;max-width:760px}.eyebrow{font-size:.76rem;text-transform:uppercase;letter-spacing:.17em;font-weight:800;color:var(--teal);margin:0 0 18px}.hero h1{font-size:clamp(2.8rem,6vw,5.1rem);line-height:1.04;letter-spacing:-.055em;margin:0 0 24px;max-width:850px}.hero p{font-size:1.12rem;line-height:1.8;color:#dbe4ed;max-width:650px;margin:0 0 30px}.actions{display:flex;gap:12px;flex-wrap:wrap}.section{padding:88px 0}.section-sm{padding:54px 0}.section-gray{background:var(--gray)}.section-navy{background:var(--navy);color:#fff}.section-heading{max-width:720px;margin-bottom:38px}.section-heading h2,.page-hero h1{font-size:clamp(2rem,4vw,3.3rem);line-height:1.12;letter-spacing:-.045em;color:var(--navy);margin:0 0 18px}.section-navy .section-heading h2{color:#fff}.section-heading p,.lead{color:var(--muted);font-size:1.03rem}.section-navy .section-heading p{color:#c5d1dd}.grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:46px;align-items:center}.grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.grid-4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.photo{width:100%;min-height:330px;object-fit:cover}.image-frame{position:relative}.image-frame:after{content:"";position:absolute;inset:16px -16px -16px 16px;border:1px solid var(--teal);z-index:0}.image-frame img{position:relative;z-index:1;width:100%;height:390px;object-fit:cover}.service-card,.plain-card{background:#fff;border:1px solid var(--line);padding:27px;transition:transform .2s,border-color .2s}.service-card:hover,.plain-card:hover{transform:translateY(-4px);border-color:#9cb8cf}.service-icon{width:42px;height:42px;display:grid;place-items:center;background:#e9f3fb;color:var(--blue);font-size:1.2rem;margin-bottom:20px}.service-card h3,.plain-card h3{color:var(--navy);font-size:1.15rem;margin:0 0 10px}.service-card p,.plain-card p{color:var(--muted);font-size:.94rem;margin:0 0 18px}.text-link{color:var(--blue);font-weight:700;font-size:.9rem}.text-link:after{content:" →"}.list-check{list-style:none;padding:0;margin:22px 0}.list-check li{padding:8px 0 8px 26px;position:relative}.list-check li:before{content:"✓";position:absolute;left:0;color:var(--teal);font-weight:800}.industries{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2px}.industry{min-height:190px;background:var(--navy);color:white;padding:28px;display:flex;flex-direction:column;justify-content:flex-end}.industry:nth-child(even){background:#193a58}.industry span{font-size:.74rem;color:#76d4d0;letter-spacing:.12em;text-transform:uppercase}.industry h3{font-size:1.2rem;margin:7px 0 0}.steps{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:0}.step{border-top:2px solid #3d5b76;padding:22px 18px 0 0;position:relative}.step:before{content:"";position:absolute;top:-7px;left:0;width:12px;height:12px;background:var(--teal);border-radius:50%}.step b{display:block;color:#77d6d2;font-size:.75rem;letter-spacing:.1em;margin-bottom:10px}.step h3{font-size:1rem;margin:0 0 8px}.step p{font-size:.87rem;color:#c5d1dd;margin:0}.page-hero{background:var(--gray);padding:72px 0 66px;border-bottom:1px solid var(--line)}.page-hero h1{max-width:850px}.breadcrumb{font-size:.82rem;color:var(--muted);margin-bottom:22px}.breadcrumb a{color:var(--blue)}.page-content{padding:66px 0}.page-content h2{color:var(--navy);font-size:1.8rem;line-height:1.2;letter-spacing:-.03em}.muted{color:var(--muted)}.cta-band{padding:54px 0;background:#eaf2f8}.cta-row{display:flex;justify-content:space-between;align-items:center;gap:30px}.cta-row h2{margin:0;color:var(--navy);font-size:clamp(1.7rem,3vw,2.5rem);line-height:1.2}.cta-row p{margin:10px 0 0;color:var(--muted)}.site-footer{background:#0b1c2c;color:#dce5ed;padding:58px 0 24px}.footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1.2fr;gap:36px}.site-footer .brand{color:white;margin-bottom:18px}.site-footer p,.site-footer li{font-size:.88rem;color:#b6c4d1}.site-footer h3{font-size:.86rem;text-transform:uppercase;letter-spacing:.1em;color:white;margin:0 0 18px}.site-footer ul{padding:0;list-style:none;margin:0}.site-footer li{margin:0 0 10px}.site-footer a:hover{color:#78d5d0}.footer-bottom{border-top:1px solid #2a3d4e;margin-top:38px;padding-top:20px;display:flex;justify-content:space-between;gap:15px;flex-wrap:wrap;color:#91a3b3;font-size:.8rem}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.field{display:flex;flex-direction:column;gap:7px}.field.full{grid-column:1/-1}.field label{font-weight:700;font-size:.88rem;color:var(--navy)}.field input,.field select,.field textarea{width:100%;border:1px solid #cbd5df;background:white;padding:12px 13px;min-height:48px;color:var(--charcoal);border-radius:0}.field textarea{min-height:150px;resize:vertical}.field input:focus,.field select:focus,.field textarea:focus{outline:2px solid var(--blue);outline-offset:2px}.consent{display:flex;align-items:flex-start;gap:10px;font-size:.86rem;color:var(--muted)}.consent input{margin-top:5px}.form-note{font-size:.82rem;color:var(--muted)}.empty-state{padding:50px;border:1px dashed #aab8c5;background:#fafbfc;text-align:center}.empty-state h3{color:var(--navy)}.contact-list{list-style:none;padding:0}.contact-list li{padding:15px 0;border-bottom:1px solid var(--line)}.contact-list b{display:block;color:var(--navy);font-size:.85rem}.contact-list a{color:var(--blue);overflow-wrap:anywhere}.notice{padding:14px 16px;background:#fff8e7;border-left:3px solid #c58b1b;color:#634a16;font-size:.9rem}.hidden-field{position:absolute;left:-5000px}.mobile-cta{display:none}
@media(max-width:960px){.nav-links{gap:14px;font-size:.84rem}.grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}.footer-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.steps{grid-template-columns:repeat(3,minmax(0,1fr));row-gap:30px}}
@media(max-width:720px){.container{width:min(var(--max),calc(100% - 32px))}.topline .container{justify-content:center}.nav{min-height:68px}.nav-toggle{display:block}.nav-links{display:none;position:absolute;top:68px;left:0;right:0;background:white;border-bottom:1px solid var(--line);padding:18px 22px 24px;align-items:stretch;flex-direction:column;gap:0}.nav-links.open{display:flex}.nav-links a{padding:12px 0;border-bottom:1px solid #edf0f3}.nav-links .btn{margin-top:12px}.hero{min-height:570px;background-position:58% center}.hero-inner{padding:74px 0}.hero h1{font-size:clamp(2.65rem,12vw,4rem)}.hero p{font-size:1rem}.section{padding:64px 0}.section-sm{padding:42px 0}.grid-2,.grid-3,.industries{grid-template-columns:1fr}.grid-4{grid-template-columns:1fr}.image-frame{margin-right:12px}.image-frame img{height:300px}.steps{grid-template-columns:1fr;gap:24px}.step{padding:14px 0 0 18px;border-top:0;border-left:2px solid #3d5b76}.step:before{top:14px;left:-7px}.page-hero{padding:48px 0}.page-content{padding:46px 0}.cta-row{align-items:flex-start;flex-direction:column}.footer-grid{grid-template-columns:1fr;gap:28px}.form-grid{grid-template-columns:1fr}.field.full{grid-column:auto}.empty-state{padding:30px 20px}.mobile-cta{display:block;position:fixed;bottom:0;left:0;right:0;z-index:9;padding:10px 16px;background:#fff;border-top:1px solid var(--line)}.mobile-cta .btn{width:100%}body{padding-bottom:68px}.footer-bottom{margin-bottom:10px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}
/* Company-profile tables and long-form reference layouts */
table tbody tr:nth-child(even){background:#f7f9fb}table th,table td{font-size:.91rem} .page-content section[id]{scroll-margin-top:100px}

/* Company-profile visual identity: deep indigo, green accents and editorial serif typography */
:root{--navy:#17194f;--blue:#3036a8;--charcoal:#25263a;--white:#fff;--gray:#f5f6fb;--teal:#16a34a;--muted:#62677f;--line:#d9dced;--max:1160px}
body{font-family:Georgia,"Times New Roman",serif;color:var(--charcoal);line-height:1.68}
h1,h2,h3,.page-hero h1,.section-heading h2,.cta-row h2{font-family:Georgia,"Times New Roman",serif;letter-spacing:-.025em}
.brand{display:flex;align-items:center;gap:0;letter-spacing:0}.brand-logo{display:block;width:166px;height:auto;max-height:52px;object-fit:contain}
.brand-mark{background:#16a34a}
.eyebrow{color:#159447}.btn-primary{background:#3036a8}.btn-primary:hover{background:#252b88}
.btn-outline{border-color:#b8bddb;color:#17194f}.hero{background:linear-gradient(90deg,rgba(18,20,72,.96),rgba(18,20,72,.82) 54%,rgba(18,20,72,.28)),url('https://images.unsplash.com/photo-1581092160562-40aa08e78837?auto=format&fit=crop&w=2000&q=85') center/cover no-repeat}
.page-hero{background:linear-gradient(90deg,#f5f6fb,#fff);border-bottom:3px solid #16a34a}.service-icon{background:#eef7f0;color:#159447}.list-check li:before{color:#16a34a}.industry{background:#17194f}.industry:nth-child(even){background:#252b78}.industry span,.step b{color:#6be08d}.step:before{background:#16a34a}.step{border-color:#444a8b}.cta-band{background:#eef0fb}.site-footer{background:#11133d}.site-footer a:hover{color:#6be08d}.notice{border-left-color:#16a34a}
.project-reference-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 30px;border-top:1px solid var(--line);margin-top:22px}.project-reference-item{padding:15px 4px;border-bottom:1px solid var(--line);color:#292d61;font-weight:600;font-size:.96rem;position:relative;padding-left:18px}.project-reference-item:before{content:"";position:absolute;left:0;top:23px;width:6px;height:6px;background:#16a34a;border-radius:50%}
@media(max-width:720px){.brand-logo{width:145px}.project-reference-list{grid-template-columns:1fr}}

/* Final polish: keep primary button text legible on hover and show a crisp footer logo. */
.btn-primary:hover,.nav-links a.btn-primary:hover,.mobile-cta .btn-primary:hover{color:#fff !important;background:#252b88}
.site-footer .brand-logo{width:200px;height:auto;max-height:none;object-fit:contain;background:#fff;padding:7px 10px;border-radius:2px}
