
:root {--navy:#101d2e;--navy2:#16263a;--blue:#63a5fa;--pale:#eef4fc;--ink:#172435;--muted:#607083;--off:#f4f6f9;--line:#e1e6ec;--white:#fff}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;color:var(--ink);font-family:Inter,"Segoe UI",Arial,sans-serif;background:var(--off);-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit}img{display:block;max-width:100%}.container{width:min(1180px,calc(100% - 64px));margin-inline:auto}.skip-link{position:absolute;top:-100px;left:16px;padding:12px 20px;background:#fff;z-index:1000}.skip-link:focus{top:12px}a:focus-visible,button:focus-visible{outline:3px solid var(--blue);outline-offset:4px}
.site-header{height:87px;position:relative;z-index:20;background:var(--navy);border-bottom:1px solid rgba(255,255,255,.11)}.nav{height:100%;display:flex;align-items:center;justify-content:space-between;gap:26px}.brand{color:#fff;display:flex;align-items:center;gap:12px}.brand-symbol{font-size:35px;letter-spacing:-4px;display:grid;place-items:center;width:49px;height:49px;border:2px solid var(--blue);font-weight:900;line-height:1}.brand-symbol span{color:var(--blue)}.brand-copy{display:flex;flex-direction:column;gap:2px}.brand-copy strong{font-size:19px;font-weight:800;letter-spacing:.16em}.brand-copy small{font-size:8px;letter-spacing:.15em;color:#b5c4d7;font-weight:700}.nav-links{display:flex;align-items:center;gap:33px}.nav-links>a{font-size:13px;color:#c6d0de;font-weight:600;transition:color .2s}.nav-links>a:hover{color:#fff}.nav-links .nav-contact{border:1px solid #6b89a9;padding:13px 20px;color:white;border-radius:4px}.nav-contact span{margin-left:9px;color:var(--blue)}.menu-toggle{display:none}
.hero{background:var(--navy);color:#fff;position:relative;overflow:hidden}.hero-grid{pointer-events:none;position:absolute;inset:0;opacity:.13;background:linear-gradient(90deg,transparent 95%,#7194c9 96%) 0 0 / 78px 78px,linear-gradient(transparent 95%,#7194c9 96%) 0 0 / 78px 78px;mask-image:linear-gradient(90deg,#000,transparent 80%)}.hero-layout{position:relative;min-height:620px;display:grid;grid-template-columns:1.11fr .89fr;gap:50px;align-items:center;padding-top:48px;padding-bottom:58px}.hero-content{max-width:640px;padding:28px 0}.eyebrow{display:flex;align-items:center;gap:13px;font-size:10px;letter-spacing:.17em;color:#a9bfd9;font-weight:700}.eyebrow-line{width:30px;height:2px;background:var(--blue)}.hero h1{font-size:clamp(46px,5.75vw,79px);font-weight:790;letter-spacing:-.065em;line-height:1.045;margin:25px 0 21px}.hero h1 em{font-style:normal;color:var(--blue)}.hero-description{color:#b7c4d5;font-size:16px;line-height:1.9;max-width:490px;margin:0}.hero-description strong{color:white;font-weight:600}.hero-buttons{display:flex;flex-wrap:wrap;gap:14px;margin-top:30px}.button{display:inline-flex;gap:22px;align-items:center;justify-content:center;min-height:51px;padding:0 24px;font-size:13px;font-weight:750;border-radius:4px;transition:transform .2s,background .2s;cursor:pointer}.button:hover{transform:translateY(-2px)}.button.primary{background:var(--blue);color:#0b1a29}.button.primary:hover{background:#8fc0ff}.button.subtle{border:1px solid #61758a;color:#eef4ff}.button.subtle:hover{background:#263c54}.hero-note{display:flex;align-items:center;gap:12px;color:#92a5bd;font-size:11px;margin-top:45px}.note-mark{font-size:21px;color:var(--blue)}.hero-visual{height:523px;position:relative;border-radius:2px;margin-left:12px}.hero-visual::after{content:"";position:absolute;border:1px solid #6087b6;inset:-13px 13px 13px -13px;z-index:0;pointer-events:none;opacity:.65}.hero-visual>img{width:100%;height:100%;object-fit:cover;object-position:center 45%;position:relative;z-index:1;filter:saturate(.7) contrast(1.07)}.hero-visual:before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 50%,rgba(9,22,38,.7));z-index:2;pointer-events:none}.hero-photo-label{position:absolute;bottom:23px;left:24px;right:22px;z-index:3;display:flex;align-items:center;gap:12px;font-size:9px;letter-spacing:.14em;color:#d8e7f5}.hero-photo-label strong{font-size:12px;letter-spacing:.09em;color:white;line-height:2}.photo-dot{width:9px;height:9px;border-radius:50%;background:var(--blue)}.label-plus{margin-left:auto;font-size:26px;color:var(--blue)}.hero-corner{position:absolute;right:-17px;top:16px;background:var(--blue);z-index:4;color:#15263b;font-size:10px;letter-spacing:.08em;font-weight:850;padding:12px 15px}
.specialties{background:#e7edf3;border-bottom:1px solid #dae3eb}.specialties-inner{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:70px;color:#546b84;font-size:11px;font-weight:800;letter-spacing:.13em}.specialties-inner i{width:5px;height:5px;border-radius:100%;background:var(--blue);flex:none}
.section{padding:105px 0}.section-heading{display:flex;justify-content:space-between;gap:32px;align-items:end;margin-bottom:38px}.section-tag{font-size:11px;letter-spacing:.16em;color:#3678c6;font-weight:850;margin:0 0 18px}.section-heading h2,.about-layout h2,.contact-card h2{font-size:clamp(31px,4vw,52px);letter-spacing:-.055em;line-height:1.14;font-weight:800;max-width:665px;margin:0}.section-heading h2 span,.contact-card h2 span{color:#649ee9}.section-intro{color:var(--muted);max-width:338px;font-size:14px;line-height:1.8;margin:0;padding-bottom:3px}.services-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:17px}.service-card{background:#fff;border:1px solid #e3e9ef;padding:27px 23px 32px;min-height:265px;transition:transform .2s,box-shadow .2s,border-color .2s}.service-card:hover{transform:translateY(-5px);box-shadow:0 18px 30px rgba(16,37,60,.07);border-color:#aac8ee}.service-top{display:flex;justify-content:space-between;align-items:flex-start;color:#76a7e6}.service-top svg{width:43px;height:43px}.service-no{font-size:11px;font-weight:800;letter-spacing:.1em;color:#869aaf}.service-card h3{font-size:18px;line-height:1.2;letter-spacing:-.025em;margin:41px 0 13px}.service-card p{font-size:13px;line-height:1.8;color:#69788a;margin:0}
.gallery-section{background:#eaf0f5;padding-top:91px}.gallery-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-template-rows:345px;gap:15px}.gallery-item{display:block;position:relative;overflow:hidden;background:#c8d2dd;min-width:0}.gallery-item img{width:100%;height:100%;object-fit:cover;filter:saturate(.8);transition:transform .5s}.gallery-item:hover img{transform:scale(1.07)}.gallery-a img{object-position:35% 65%}.gallery-b img{object-position:center 46%}.gallery-c img{object-position:44% 39%}.gallery-d img{object-position:39% 46%}.gallery-item::after{content:"";pointer-events:none;position:absolute;inset:40% 0 0;background:linear-gradient(0deg,rgba(8,22,37,.82),transparent)}.gallery-label{position:absolute;z-index:2;bottom:0;left:0;right:0;padding:16px 15px;display:flex;align-items:center;justify-content:space-between;gap:6px;color:#fff;font-size:10px;font-weight:800;letter-spacing:.09em}.gallery-label>span:last-child{font-size:19px}.gallery-bottom{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-top:24px;font-size:12px;color:#7b8b9e}.gallery-bottom a{font-weight:800;color:#2f6eb2}.gallery-bottom a span{padding-left:8px}
.about-section{background:var(--navy2);color:#e8f1f9;padding:93px 0}.about-layout{display:grid;grid-template-columns:1.1fr .9fr;gap:85px}.section-tag-light{color:#75abf2}.about-layout h2{font-size:clamp(38px,4.25vw,57px)}.about-layout h2 span{color:var(--blue)}.about-layout>div:last-child{padding-top:18px}.about-layout p:not(.section-tag){margin:0 0 17px;color:#bdcad9;font-size:15px;line-height:1.92}.about-layout p strong{color:white}.text-link{display:inline-block;margin-top:12px;padding-bottom:9px;border-bottom:1px solid var(--blue);color:var(--blue);font-size:13px;font-weight:800}.text-link span{margin-left:15px}
.contact-section{padding:90px 0}.contact-card{background:#dce9f8;display:grid;grid-template-columns:1fr .35fr;min-height:323px;align-items:center;gap:35px;padding:53px 70px;position:relative;overflow:hidden}.contact-card h2{max-width:580px}.contact-card p:not(.section-tag){font-size:14px;line-height:1.85;color:#506784;max-width:475px;margin:15px 0 24px}.contact-card .button.primary{background:#163454;color:white}.contact-card .button.primary:hover{background:#294e78}.contact-mark{display:flex;flex-direction:column;align-items:center;justify-content:center;opacity:.17;color:#2c5d9f;transform:rotate(-8deg)}.contact-mark span{font-size:200px;letter-spacing:-.12em;line-height:.9;font-weight:950}.contact-mark small{font-size:18px;font-weight:950;letter-spacing:.35em}
.site-footer{background:#0c1826;color:white;padding:32px 0}.footer-inner{display:flex;gap:28px;justify-content:space-between;align-items:center}.footer-brand{display:flex;flex-direction:column;gap:4px}.footer-brand strong{font-size:25px;letter-spacing:.18em}.footer-brand small{font-size:9px;letter-spacing:.12em;color:#a7bacb}.footer-inner p{color:#8c9db0;font-size:12px}.footer-right{display:flex;align-items:center;gap:24px;font-size:12px}.footer-right a{color:#93bded;font-weight:800}.footer-right small{color:#8b9caf}
@media(max-width:1020px){.hero-layout{gap:32px;grid-template-columns:1fr .95fr}.hero h1{font-size:clamp(47px,6vw,65px)}.hero-visual{height:480px}.services-grid{grid-template-columns:repeat(2,1fr)}.gallery-grid{grid-template-columns:repeat(2,1fr);grid-template-rows:310px 310px}.section-intro{max-width:290px}.about-layout{gap:55px}}
@media(max-width:750px){.container{width:min(100% - 36px,1180px)}.site-header{height:75px}.brand-symbol{width:42px;height:42px;font-size:30px}.brand-copy strong{font-size:17px}.menu-toggle{display:flex;width:44px;height:42px;padding:10px;flex-direction:column;justify-content:center;gap:6px;border:1px solid #46607b;background:transparent;border-radius:3px;cursor:pointer}.menu-toggle span{height:2px;width:100%;background:#eef5ff}.nav-links{display:none;position:absolute;top:75px;left:0;right:0;background:#14273c;flex-direction:column;align-items:stretch;gap:0;padding:10px 18px 18px;box-shadow:0 18px 20px rgba(0,0,0,.2)}.nav-links.is-open{display:flex}.nav-links>a{padding:14px 13px;border-bottom:1px solid #2b4156}.nav-links .nav-contact{margin-top:12px;text-align:center}.hero-layout{grid-template-columns:1fr;gap:34px;padding-top:43px;padding-bottom:44px}.hero-content{padding:0}.hero h1{max-width:600px;margin:23px 0 18px;font-size:clamp(45px,10vw,72px)}.hero-description{font-size:15px}.hero-note{margin-top:28px}.hero-visual{height:410px;margin:8px 12px 4px}.hero-visual>img{object-position:center 47%}.specialties-inner{min-height:68px;flex-wrap:wrap;justify-content:center;column-gap:15px;row-gap:2px;padding:13px 0;font-size:9px}.section{padding:70px 0}.section-heading{align-items:start;flex-direction:column;gap:14px;margin-bottom:27px}.section-intro{max-width:650px}.gallery-grid{grid-template-rows:265px 265px}.about-section{padding:69px 0}.about-layout{grid-template-columns:1fr;gap:12px}.about-layout>div:last-child{padding-top:8px}.contact-card{padding:35px 28px;grid-template-columns:1fr;min-height:0}.contact-mark{display:none}.footer-inner{flex-wrap:wrap}.footer-inner p{order:3;width:100%;margin:0}.footer-right{margin-left:auto}}
@media(max-width:460px){.eyebrow{font-size:9px;letter-spacing:.1em}.hero h1{font-size:clamp(43px,11vw,58px)}.hero-buttons{flex-direction:column;align-items:stretch}.button{min-height:50px}.hero-visual{height:360px}.specialties-inner{gap:10px}.specialties-inner i{width:3px;height:3px}.services-grid{grid-template-columns:1fr}.service-card{min-height:0;padding:24px}.service-card h3{margin-top:25px}.gallery-grid{grid-template-columns:1fr 1fr;grid-template-rows:220px 220px;gap:9px}.gallery-label{font-size:8px;letter-spacing:0;padding:11px 8px}.gallery-label>span:last-child{font-size:15px}.gallery-bottom{align-items:start;flex-direction:column;gap:10px}.contact-card h2{font-size:38px}.contact-button{width:100%}.footer-inner{gap:16px}.footer-brand strong{font-size:20px}.footer-brand small{font-size:7px}.footer-right{gap:10px;flex-direction:column;align-items:end}.footer-inner p{font-size:11px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important}}
