:root { --navy:#153b5c; --blue:#2c6c9d; --sky:#dcebf2; --paper:#fff; --ink:#243443; --muted:#647585; --line:#d8e1e6; --accent:#d08a42; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; min-width:320px; color:var(--ink); background:var(--paper); font-family:Inter,Arial,Helvetica,sans-serif; font-size:16px; line-height:1.55; }
.site-header { min-height:73px; padding:0 max(24px,calc((100% - 1180px)/2)); display:flex; align-items:center; justify-content:flex-end; gap:2rem; background:#e4f1e8; }
nav { display:flex; align-items:center; gap:.2rem; } nav a { position:relative; color:#334d45; text-decoration:none; padding:.55rem .85rem; font-size:.91rem; } nav a:hover, nav a.current { color:#203c32; } nav a.current::after { content:''; position:absolute; left:.85rem; right:.85rem; bottom:.27rem; height:2px; background:#527a69; }
.menu-button { display:none; border:1px solid var(--line); background:#fff; color:var(--navy); padding:.45rem .7rem; font:inherit; }
.company-banner { position:relative; width:min(1180px,calc(100% - 48px)); margin:0 auto; overflow:hidden; aspect-ratio:2.67/1; min-height:260px; background:#173148; }
.company-banner::after { content:''; position:absolute; inset:0; background:linear-gradient(90deg,rgba(10,24,36,.08) 25%,rgba(10,24,36,.02) 48%,rgba(255,255,255,.06)); pointer-events:none; }
.company-banner img { display:block; width:100%; height:100%; object-fit:cover; object-position:center; }
.company-logo { position:absolute; z-index:1; top:21%; right:8%; margin:0; color:#05090c; text-decoration:none; font-family:Arial,Helvetica,sans-serif; font-size:clamp(2.4rem,6.2vw,5.65rem); font-weight:700; line-height:.95; letter-spacing:.012em; white-space:nowrap; }
.hero { position:relative; min-height:clamp(270px,38vw,450px); overflow:hidden; background:linear-gradient(114deg,#dce7ec 0%,#edf3f5 42%,#c7dbe5 100%); display:flex; align-items:center; justify-content:flex-end; padding:3rem max(8vw,calc((100vw - 1180px)/2 + 4.8rem)); }
.hero::before { content:''; position:absolute; width:60vw; height:60vw; right:-18vw; top:-40vw; border:1px solid rgba(38,101,145,.35); border-radius:50%; box-shadow:0 0 0 7vw rgba(255,255,255,.17),0 0 0 14vw rgba(44,108,157,.08); }.hero::after { content:''; position:absolute; width:75%; height:1px; left:-12%; bottom:19%; transform:rotate(-20deg); background:rgba(21,59,92,.22); }
.hero h1 { position:relative; z-index:1; margin:0; color:var(--navy); font-family:Georgia,'Times New Roman',serif; font-size:clamp(2.5rem,6.05vw,4.8rem); line-height:1; font-weight:400; letter-spacing:-.045em; text-align:right; }
.hero-pattern { position:absolute; inset:0; opacity:.55; background-image:linear-gradient(90deg,transparent 0 83%,rgba(21,59,92,.12) 83% 83.15%,transparent 83.15%); }.hero-pattern span { position:absolute; border:1px solid rgba(44,108,157,.17); border-radius:50%; }.hero-pattern span:nth-child(1) { width:34vw; height:34vw; left:-14vw; bottom:-23vw; }.hero-pattern span:nth-child(2) { width:16vw; height:16vw; left:13vw; top:-8vw; }.hero-pattern span:nth-child(3) { width:9vw; height:9vw; left:35vw; bottom:-4vw; }
.services { width:min(1180px,calc(100% - 48px)); margin:0 auto; padding:clamp(3.3rem,7vw,6.6rem) 0 clamp(4rem,8vw,7.3rem); }.services > h2 { max-width:760px; margin:0 auto clamp(3rem,6vw,5rem); color:var(--navy); font-family:Georgia,'Times New Roman',serif; font-size:clamp(2rem,4vw,2.85rem); font-weight:400; line-height:1.15; letter-spacing:-.03em; text-align:center; }
.service-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:clamp(1.25rem,3.3vw,3.8rem); }.service-card { display:flex; flex-direction:column; align-items:center; min-width:0; }.service-image { width:100%; aspect-ratio:1.45/1; margin:0 0 2rem; object-fit:cover; display:block; border:1px solid #e2ebee; }
.reliability { background:radial-gradient(circle at 50% 50%,#fdfefe 0 5%,#6f99b5 5.5% 6.5%,transparent 7%),linear-gradient(130deg,#eaf2f5,#b9d2df); }.reliability i { position:absolute; width:62%; height:1px; top:50%; left:19%; background:#477b9e; transform-origin:left; }.reliability i:nth-child(1){transform:rotate(0)}.reliability i:nth-child(2){transform:rotate(60deg)}.reliability i:nth-child(3){transform:rotate(-60deg)}
.supportability { display:flex; align-items:center; justify-content:center; gap:9%; background:linear-gradient(145deg,#dbe9ed,#f7fafb); }.supportability b { position:relative; z-index:1; display:block; width:12%; aspect-ratio:1; border:4px solid #477b9e; border-radius:50%; box-shadow:0 0 0 6px #f2f8fa; }.supportability b:nth-child(even){border-color:#d08a42}.supportability b::after { content:''; position:absolute; top:50%; left:100%; width:72%; height:2px; background:#789cb5; }.supportability b:last-child::after{display:none}
.systems { background:linear-gradient(145deg,#f8fbfc,#cee0e8); }.systems i { position:absolute; width:16%; aspect-ratio:1; border-radius:50%; background:#396f96; box-shadow:0 0 0 7px rgba(255,255,255,.65); }.systems i:nth-child(1){left:17%;top:23%}.systems i:nth-child(2){right:17%;top:23%;background:#d08a42}.systems i:nth-child(3){left:25%;bottom:18%;background:#789cb5}.systems i:nth-child(4){right:25%;bottom:18%;background:#2c6c9d}.systems i:nth-child(5){left:45%;top:42%;background:#153b5c}.systems::before { content:''; position:absolute; width:50%; height:50%; left:25%; top:25%; border:1px solid #8aafc4; transform:rotate(45deg); }
.service-card h3 { min-height:3rem; margin:0 0 1.3rem; color:var(--navy); font-family:Georgia,'Times New Roman',serif; font-size:clamp(1.25rem,2vw,1.55rem); font-weight:400; line-height:1.17; text-align:center; }.service-card ul { width:100%; margin:0; padding:0; list-style:none; text-align:center; color:var(--muted); font-size:.93rem; }.service-card li { padding:.4rem 0; border-bottom:1px solid #e7edf0; }.service-card li:last-child{border-bottom:0}
footer { width:min(1180px,calc(100% - 48px)); margin:auto; display:flex; justify-content:space-between; gap:1rem; padding:1.65rem 0 2.25rem; border-top:1px solid var(--line); color:#71818c; font-size:.76rem; } footer a{color:#60717e;text-decoration:none}footer a:hover{text-decoration:underline}footer span{padding:0 .65rem;color:#a1afb7}footer p{margin:0}
.contact-page { width:min(760px,calc(100% - 48px)); margin:0 auto; padding:clamp(3.5rem,8vw,7rem) 0; }.contact-intro { margin-bottom:3.2rem; }.contact-kicker { margin:0 0 .85rem; color:var(--blue); font-size:.75rem; font-weight:700; letter-spacing:.12em; text-transform:uppercase; }.contact-intro h1 { margin:0 0 1.5rem; color:var(--navy); font-family:Georgia,'Times New Roman',serif; font-size:clamp(3rem,6vw,4.8rem); font-weight:400; letter-spacing:-.045em; line-height:1; }.contact-intro p { max-width:610px; color:var(--muted); }.contact-intro a { color:var(--blue); text-underline-offset:.2em; }.contact-form { padding:clamp(1.5rem,4vw,2.8rem); border:1px solid var(--line); background:#f8fafb; }.form-field { display:grid; gap:.45rem; margin-bottom:1.45rem; }.form-field label { color:var(--navy); font-size:.9rem; font-weight:700; }.form-field input,.form-field textarea { width:100%; border:1px solid #b9c8d1; border-radius:0; padding:.75rem .8rem; color:var(--ink); background:#fff; font:inherit; }.form-field textarea { resize:vertical; }.form-field input:focus,.form-field textarea:focus { outline:2px solid #8fbbd2; outline-offset:1px; border-color:var(--blue); }.contact-form button { border:0; padding:.9rem 1.2rem; background:var(--navy); color:#fff; cursor:pointer; font:inherit; }.contact-form button span { padding-left:1.4rem; }.form-note { margin:1.2rem 0 0; color:#70808c; font-size:.82rem; }
@media (max-width:760px) { .site-header{min-height:68px;padding:0 16px;width:100%}.menu-button{display:block}nav{display:none;position:absolute;top:68px;left:0;right:0;z-index:3;background:#fff;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:.7rem 1rem;flex-direction:column;align-items:stretch;gap:0}nav.open{display:flex}nav a{padding:.65rem 0}nav a.current::after{left:0;right:auto;width:28px;bottom:.35rem}.company-banner{width:100%;min-height:240px;aspect-ratio:auto}.company-banner img{height:240px;object-position:35% center}.company-logo{top:auto;right:0;bottom:22px;left:0;padding:0 18px;font-size:clamp(2.25rem,12vw,4rem);text-align:center;white-space:normal}.hero{justify-content:center;padding:3rem 1.5rem;min-height:290px}.hero h1{text-align:center}.services{width:calc(100% - 32px);padding-top:3.5rem}.service-grid{grid-template-columns:1fr;gap:3.8rem}.service-card h3{min-height:auto}.service-image{max-width:420px}footer{width:calc(100% - 32px);flex-direction:column;gap:.45rem;padding:1.4rem 0 2rem} }

.trap{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}.contact-result{margin:1.2rem 0;padding:1rem;border:1px solid var(--line);background:#f8fafb}

.services { padding-top:clamp(2.5rem, 5vw, 4rem); }
