:root{--navy:#172b3a;--blue:#0968ad;--light:#edf4f8;--ink:#1d303d;--muted:#60727e;--line:#dce5eb}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,"Segoe UI",Arial,sans-serif;color:var(--ink);background:#fff}a{text-decoration:none;color:inherit}.wrap{max-width:1210px;margin:auto;padding:0 32px}.site-header{position:sticky;top:0;background:rgba(255,255,255,.97);z-index:10;border-bottom:1px solid #e8eef2;backdrop-filter:blur(15px)}.nav{height:102px;display:flex;align-items:center;justify-content:space-between}.brand img{width:180px;height:82px;object-fit:contain}.nav nav{display:flex;gap:34px;align-items:center;font-size:13px;font-weight:650}.nav nav a:hover{color:var(--blue)}.nav-cta{background:var(--navy);color:white!important;padding:15px 20px}.menu-toggle{display:none}.hero{background:#f7fafc;overflow:hidden}.hero-grid{display:grid;grid-template-columns:1.06fr .94fr;min-height:625px}.hero-copy{padding:99px 0 40px;position:relative;z-index:1}.eyebrow,.section-kicker{font-size:11px;letter-spacing:2px;font-weight:800;color:var(--blue)}.dot{display:inline-block;background:#2b9dd3;width:7px;height:7px;border-radius:50%;margin-right:9px}.hero h1{font-size:clamp(42px,4.35vw,65px);letter-spacing:-2.9px;line-height:1.14;margin:33px 0 26px;font-weight:760}.hero h1 em{font-style:normal;color:var(--blue)}.hero-copy>p{max-width:490px;font-size:17px;color:var(--muted);line-height:1.85}.hero-actions{display:flex;gap:13px;margin-top:35px;flex-wrap:wrap}.button{padding:17px 23px;font-size:13px;font-weight:750;display:inline-flex;gap:22px;align-items:center}.primary{background:var(--blue);color:#fff}.secondary{border:1px solid #cbd9e2;color:var(--ink)}.button:hover{transform:translateY(-2px);transition:.2s}.hero-meta{display:flex;gap:13px;align-items:center;margin-top:82px;color:#7b8a94;font-size:10px;font-weight:800;letter-spacing:1.4px;flex-wrap:wrap}.hero-meta i{width:3px;height:3px;background:var(--blue);border-radius:50%}.hero-art{background:linear-gradient(145deg,#213f54,#102738);position:relative;min-height:610px;display:flex;align-items:center;justify-content:center;margin-right:calc((min(1210px,100vw) - 100vw)/2 - 32px);overflow:hidden}.hero-art svg{width:100%;max-width:650px;filter:drop-shadow(0 24px 35px #051b2a)}.art-grid{position:absolute;inset:0;background-image:linear-gradient(#ffffff0b 1px,transparent 1px),linear-gradient(90deg,#ffffff0b 1px,transparent 1px);background-size:50px 50px}.art-label{position:absolute;bottom:36px;left:45px;color:#fff;border-left:2px solid #5bb1e8;padding-left:19px}.art-label span{display:block;font-size:10px;letter-spacing:2px;color:#9bbcd0;margin-bottom:9px}.art-label strong{font-size:19px;line-height:1.45}.strip{background:#fff;border-bottom:1px solid var(--line)}.intro-grid{display:grid;grid-template-columns:1fr 2fr;gap:40px;align-items:center;padding-top:45px;padding-bottom:45px}.intro-grid>p:last-child{font-size:21px;line-height:1.6;margin:0;color:#4e6472}.intro-grid strong{color:var(--ink)}.section{padding:108px 0}.section-head{display:flex;justify-content:space-between;align-items:end;gap:40px;margin-bottom:43px}.section h2,.contact-section h2{font-size:clamp(34px,3.5vw,51px);line-height:1.18;letter-spacing:-1.8px;margin:18px 0 0}.section-head>p{max-width:350px;color:var(--muted);line-height:1.8;font-size:15px}.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.service-card{background:#f4f8fa;border:1px solid #e5edf1;padding:27px 24px;min-height:300px;display:flex;flex-direction:column}.card-index{font-size:11px;letter-spacing:2px;color:#93a3ad}.card-icon{font-size:43px;color:var(--blue);margin:26px 0 13px}.service-card h3{font-size:19px;line-height:1.3;margin:0 0 10px}.service-card p{font-size:13px;line-height:1.75;color:var(--muted);margin:0 0 25px}.service-card a{font-size:12px;font-weight:800;color:var(--blue);margin-top:auto}.dark-section{background:#172d3c;color:#fff}.expertise-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:100px;align-items:center}.light{color:#80c5f0}.dark-section h2 span{color:#8ec7e8}.dark-section p{color:#bfd0db;line-height:1.85;max-width:460px;margin:26px 0 35px}.white{background:#fff;color:#183549}.expertise-panel{border:1px solid #496272;background:#203b4c;padding:27px}.panel-top{display:flex;justify-content:space-between;font-size:10px;letter-spacing:1.5px;color:#91b3c8;margin-bottom:15px}.expertise-list>div{display:flex;gap:16px;align-items:center;border-bottom:1px solid #496272;padding:20px 0;font-size:16px}.expertise-list>div span{font-size:11px;color:#76b4da}.expertise-list b{margin-left:auto;color:#8dc8ec;font-weight:400}.expertise-panel small{display:block;color:#a9c0ce;line-height:1.7;margin-top:22px}.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:90px;align-items:center}.about-graphic{min-height:420px;background:linear-gradient(145deg,#edf5f9,#dce9f0);display:flex;flex-direction:column;justify-content:space-between;padding:30px;overflow:hidden}.graphic-top,.graphic-bottom{font-size:10px;letter-spacing:2px;color:#678496;font-weight:750}.graphic-mark{font-size:clamp(90px,12vw,175px);letter-spacing:-15px;font-weight:850;color:#233c4e;text-align:center}.graphic-mark span,.period{color:#0968ad!important}.about-grid p{line-height:1.9;color:var(--muted)}.credentials{display:flex;gap:20px;margin-top:30px;border-top:1px solid var(--line);padding-top:23px}.credentials span{font-size:11px;color:#6e8290;line-height:1.9}.credentials strong{color:var(--ink);font-size:12px}.contact-section{background:#0e669f;color:#fff;padding:85px 0}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:90px}.contact-grid>div>p{line-height:1.8;color:#d0e6f4;max-width:420px}.contact-card{background:#fff;color:var(--ink);padding:32px 38px}.contact-card>span{font-size:10px;letter-spacing:2px;font-weight:800;color:#6e8593}.contact-link{display:block;font-size:clamp(20px,2.2vw,29px);font-weight:750;letter-spacing:-.7px;margin-top:22px}.contact-link.phone{font-size:21px;margin-top:14px;color:var(--blue)}.contact-card p{border-top:1px solid var(--line);margin:25px 0 0;padding-top:21px;color:var(--muted);font-size:13px;line-height:1.8}.footer{background:#102633;color:#b4c5d0}.footer-main{display:flex;justify-content:space-between;gap:20px;padding-top:27px;padding-bottom:27px;font-size:12px}.footer-main div{display:flex;gap:25px}.footer a:hover{color:#fff}.legal{max-width:840px;margin:70px auto 110px;padding:0 30px}.legal h1{font-size:44px}.legal h2{margin-top:35px}.legal p,.legal li{line-height:1.8;color:#4c6270}.notice{background:#fff6e5;border-left:4px solid #d5a147;padding:20px;margin:25px 0;color:#594720!important}@media(max-width:950px){.hero-grid,.expertise-grid,.about-grid,.contact-grid{grid-template-columns:1fr;gap:45px}.hero-art{margin:0 -32px;min-height:430px}.hero-copy{padding-top:70px}.hero-meta{margin-top:50px}.cards{grid-template-columns:repeat(2,1fr)}.about-graphic{min-height:280px}.nav nav{gap:16px}.brand img{width:150px}}@media(max-width:650px){.wrap{padding:0 22px}.nav{height:76px}.brand img{width:135px;height:68px}.menu-toggle{display:block;border:0;background:none;font-size:25px;color:var(--navy)}.nav nav{display:none;position:absolute;top:76px;left:0;right:0;background:#fff;padding:25px;flex-direction:column;align-items:stretch;box-shadow:0 15px 25px #102e4117}.nav nav.open{display:flex}.hero h1{letter-spacing:-1.6px}.hero-art{margin:0 -22px;min-height:350px}.art-label{left:24px;bottom:25px}.intro-grid{grid-template-columns:1fr;gap:10px}.intro-grid>p:last-child{font-size:18px}.section{padding:70px 0}.section-head{display:block}.cards{grid-template-columns:1fr}.service-card{min-height:240px}.expertise-panel{padding:18px}.about-grid{gap:30px}.contact-section{padding:60px 0}.contact-card{padding:25px}.footer-main{flex-direction:column}.credentials{flex-direction:column;gap:10px}}

/* TBFS: illustration for technical precision hero */
.hero-art-illustration{background:#edf5fb;}
.hero-art-illustration .precision-illustration{display:block;width:100%;height:100%;min-height:610px;object-fit:cover;object-position:center;}
@media(max-width:950px){.hero-art-illustration .precision-illustration{min-height:430px;}}
@media(max-width:650px){.hero-art-illustration .precision-illustration{min-height:350px;}}
