@import url('https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=Manrope:wght@400;500;600;700;800&display=swap');

:root { --ink:#102438; --ink-soft:#516272; --navy:#0b2135; --blue:#1674d1; --blue-deep:#07539e; --line:#dbe4eb; --mist:#f4f8fa; --white:#fff; --lime:#b7ea40; --shadow:0 18px 45px rgba(14,37,57,.1); }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; color:var(--ink); background:var(--white); font:16px/1.6 Manrope,Arial,sans-serif; }
a { color:inherit; text-decoration:none; }
.container { width:min(1160px,calc(100% - 40px)); margin:auto; }
.skip-link { position:fixed; left:12px; top:-60px; z-index:99; background:var(--white); padding:10px 16px; border-radius:8px; box-shadow:var(--shadow); }
.skip-link:focus { top:12px; }
.site-header { position:sticky; z-index:20; top:0; border-bottom:1px solid rgba(219,228,235,.75); background:rgba(255,255,255,.92); backdrop-filter:blur(14px); }
.nav-wrap { min-height:76px; display:flex; align-items:center; gap:30px; }
.brand { display:flex; align-items:center; flex-shrink:0; }
.brand img { display:block; width:auto; height:43px; max-width:205px; object-fit:contain; object-position:left center; }
.site-nav { display:flex; gap:25px; margin-left:auto; }.site-nav a { color:var(--ink-soft); font-size:.88rem; font-weight:700; }.site-nav a:hover,.text-link:hover { color:var(--blue); }
.nav-actions { display:flex; gap:15px; align-items:center; }.language-switch { display:flex; border:1px solid var(--line); border-radius:7px; overflow:hidden; }.language { border:0; background:white; color:var(--ink-soft); padding:5px 7px; font:500 .72rem 'DM Mono',monospace; cursor:pointer; }.language.active { color:white; background:var(--navy); }
.menu-toggle { display:none; margin-left:auto; padding:6px 10px; border:0; background:transparent; font-size:1.4rem; cursor:pointer; }
.button { display:inline-flex; justify-content:center; align-items:center; min-height:46px; padding:0 20px; border:1px solid var(--blue); border-radius:7px; color:white; background:var(--blue); font-size:.87rem; font-weight:800; cursor:pointer; transition:.2s ease; }.button:hover { transform:translateY(-2px); background:var(--blue-deep); box-shadow:0 8px 18px rgba(22,116,209,.25); }.button-small { min-height:36px; padding:0 13px; font-size:.78rem; }
.hero { overflow:hidden; position:relative; padding:110px 0 90px; background:linear-gradient(117deg,#f8fbfc 0%,#edf5fa 50%,#e4f0f8 100%); }.hero:before { content:''; position:absolute; inset:0; opacity:.6; background-image:linear-gradient(rgba(22,116,209,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(22,116,209,.06) 1px,transparent 1px); background-size:48px 48px; mask-image:linear-gradient(to right,#000,transparent 80%); }
.hero-grid { position:relative; display:grid; grid-template-columns:1.3fr .7fr; gap:80px; align-items:center; }.eyebrow { display:flex; gap:9px; align-items:center; margin:0 0 18px; color:var(--blue-deep); font:500 .71rem 'DM Mono',monospace; text-transform:uppercase; letter-spacing:.14em; }.eyebrow span:first-child { width:25px; height:2px; background:var(--blue); }.eyebrow-light { color:#d3e8ff; }.eyebrow-light span:first-child { background:var(--lime); }
h1,h2,h3,p { margin-top:0; }h1 { max-width:760px; margin-bottom:24px; font-size:clamp(2.5rem,5vw,4.85rem); line-height:1.06; letter-spacing:-.065em; }h2 { margin-bottom:0; font-size:clamp(2rem,3.6vw,3.25rem); line-height:1.1; letter-spacing:-.055em; }h3 { margin-bottom:9px; font-size:1.15rem; line-height:1.25; }.hero-lead { max-width:620px; margin-bottom:30px; color:var(--ink-soft); font-size:1.08rem; }.hero-actions { display:flex; align-items:center; gap:25px; }.text-link { color:var(--blue-deep); font-weight:800; font-size:.9rem; }.hero-points { display:flex; flex-wrap:wrap; gap:10px 23px; padding:0; margin:40px 0 0; list-style:none; color:var(--ink-soft); font-size:.8rem; font-weight:700; }.hero-points li:before { content:'✓'; margin-right:7px; color:var(--blue); }
.hero-panel { overflow:hidden; position:relative; min-height:365px; color:white; background:var(--navy); border-radius:14px; box-shadow:0 28px 55px rgba(8,29,47,.22); }.hero-panel:after { content:''; position:absolute; width:360px; height:360px; right:-170px; bottom:-180px; border:1px solid rgba(255,255,255,.18); border-radius:50%; box-shadow:0 0 0 35px rgba(255,255,255,.04),0 0 0 70px rgba(255,255,255,.04); }.panel-top,.panel-bottom { position:relative; z-index:1; display:flex; align-items:center; justify-content:space-between; padding:19px 22px; font:500 .66rem 'DM Mono',monospace; letter-spacing:.1em; }.panel-top { border-bottom:1px solid rgba(255,255,255,.13); }.panel-bottom { position:absolute; bottom:0; left:0; right:0; background:rgba(255,255,255,.06); font:700 .85rem Manrope,sans-serif; }.panel-bottom i { flex:1; height:1px; margin:0 16px; background:rgba(255,255,255,.25); }.pulse { width:8px; height:8px; margin-right:8px; border-radius:50%; background:var(--lime); box-shadow:0 0 0 5px rgba(183,234,64,.12); }.panel-core { position:relative; z-index:1; padding:72px 28px 25px; }.panel-core p { margin-bottom:3px; color:#a4c6df; font:500 .68rem 'DM Mono',monospace; letter-spacing:.13em; }.panel-core strong { display:block; margin-bottom:7px; font-size:4rem; line-height:1; letter-spacing:-.08em; }.panel-core span:last-child { color:#c8dae7; font-size:.88rem; } .panel-services { position:relative; z-index:1; display:grid; gap:9px; padding:0 28px 74px; color:#d5e4ee; font-size:.78rem; font-weight:700; } .panel-services span:before { content:'✓'; margin-right:8px; color:var(--lime); }
.trust-strip { background:var(--white); border-bottom:1px solid var(--line); }.trust-grid { display:grid; grid-template-columns:repeat(3,1fr); }.trust-grid div { display:flex; gap:14px; align-items:center; min-height:100px; padding:20px 28px; border-left:1px solid var(--line); }.trust-grid div:last-child { border-right:1px solid var(--line); }.trust-grid strong { color:var(--blue-deep); font-size:1.25rem; }.trust-grid span { max-width:150px; color:var(--ink-soft); font-size:.73rem; line-height:1.45; font-weight:700; }
.section { padding:110px 0; }.two-column { display:grid; grid-template-columns:.85fr 1.15fr; gap:100px; }.about-copy { max-width:650px; color:var(--ink-soft); font-size:1rem; }.about-copy p { margin-bottom:21px; }.commitment { display:flex; gap:14px; margin-top:34px; padding:20px; border-left:3px solid var(--blue); background:var(--mist); color:var(--ink); font-weight:700; }.commitment span { color:var(--blue); font-size:1.2rem; }.commitment p { margin:0; }
.services-section { background:var(--mist); }.section-intro { display:flex; justify-content:space-between; align-items:end; gap:50px; margin-bottom:40px; }.section-intro>p { max-width:390px; margin:0; color:var(--ink-soft); }.services-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:15px; }.service-card { min-height:215px; padding:27px; background:white; border:1px solid var(--line); border-radius:10px; transition:.2s; }.service-card:hover { transform:translateY(-4px); border-color:#a7c5df; box-shadow:var(--shadow); }.service-icon { display:grid; place-items:center; width:38px; height:38px; margin-bottom:25px; color:var(--blue); border:1px solid #bfdaef; border-radius:9px; background:#f0f8fd; font-size:1.35rem; }.service-card p { margin:0; color:var(--ink-soft); font-size:.87rem; }
.request-section { color:white; background:var(--navy); }.request-grid { display:grid; grid-template-columns:.85fr 1.15fr; gap:80px; align-items:start; }.request-copy>p:not(.eyebrow) { color:#bad1e2; }.service-picker { display:flex; flex-wrap:wrap; gap:9px; margin-top:28px; }.service-choice { padding:9px 11px; color:#d7e7f3; border:1px solid rgba(215,231,243,.28); border-radius:6px; background:transparent; cursor:pointer; font:600 .77rem Manrope,sans-serif; }.service-choice:hover,.service-choice.selected { color:var(--navy); border-color:var(--lime); background:var(--lime); }
.contact-form { padding:30px; color:var(--ink); background:white; border-radius:12px; box-shadow:0 16px 40px rgba(0,0,0,.13); }.contact-form label { display:block; margin-bottom:16px; color:#304658; font-size:.75rem; font-weight:800; }.contact-form label span { display:block; margin-bottom:6px; }input,textarea,select { width:100%; padding:12px 13px; color:var(--ink); border:1px solid #cfdae2; border-radius:6px; background:#fff; outline:none; font:400 .88rem Manrope,sans-serif; }input:focus,textarea:focus,select:focus { border-color:var(--blue); box-shadow:0 0 0 3px rgba(22,116,209,.12); }.form-row { display:grid; grid-template-columns:1fr 1fr; gap:13px; }.button-form { width:100%; margin-top:3px; }.form-note { margin:11px 0 0; color:#6f7e89; text-align:center; font-size:.72rem; }.honeypot { position:absolute!important; left:-9999px!important; width:1px!important; height:1px!important; overflow:hidden!important; }
.contact-section { padding:95px 0; }.contact-grid { display:grid; grid-template-columns:1fr 1fr; gap:70px; align-items:end; }.contact-list { display:grid; grid-template-columns:1fr 1fr; gap:14px; }.contact-list a { padding:21px; border:1px solid var(--line); border-radius:9px; transition:.2s; }.contact-list a:hover { border-color:var(--blue); transform:translateY(-3px); }.contact-label { display:block; margin-bottom:4px; color:var(--ink-soft); font:500 .68rem 'DM Mono',monospace; text-transform:uppercase; letter-spacing:.1em; }.contact-list strong { font-size:.92rem; overflow-wrap:anywhere; }.site-footer { padding:24px 0; color:#8ea4b5; background:#081827; font-size:.74rem; }.footer-inner { display:flex; justify-content:space-between; gap:20px; }.toast-container { position:fixed; z-index:50; right:20px; bottom:20px; width:min(390px,calc(100% - 40px)); }.toast { padding:16px 18px; color:white; border-radius:8px; box-shadow:var(--shadow); background:#1674d1; font-size:.86rem; }.toast.error { background:#a92c32; }
@media (max-width:850px) { .nav-wrap { min-height:68px; gap:14px; }.menu-toggle { display:block; }.site-nav { display:none; position:absolute; top:68px; left:20px; right:20px; flex-direction:column; gap:0; padding:8px 16px; border:1px solid var(--line); border-radius:9px; background:white; box-shadow:var(--shadow); }.site-nav.open { display:flex; }.site-nav a { padding:12px 0; }.nav-actions .button-small { display:none; }.hero { padding:75px 0 60px; }.hero-grid,.two-column,.request-grid,.contact-grid { grid-template-columns:1fr; gap:45px; }.hero-panel { max-width:500px; min-height:280px; }.trust-grid div { padding:15px; }.section { padding:75px 0; }.section-intro { display:block; }.section-intro>p { margin-top:20px; }.services-grid { grid-template-columns:repeat(2,1fr); }.contact-list { max-width:550px; }.nav-actions { margin-left:0; } }
@media (max-width:540px) { .container { width:min(100% - 32px,1160px); }.brand img { height:38px; max-width:180px; }.language-switch { display:none; }h1 { font-size:2.45rem; }.hero-actions { align-items:flex-start; flex-direction:column; gap:15px; }.hero-points { display:block; margin-top:26px; }.hero-points li { margin:8px 0; }.trust-grid { grid-template-columns:1fr; }.trust-grid div { min-height:70px; border-left:0; border-bottom:1px solid var(--line); }.trust-grid div:last-child { border-right:0; }.services-grid { grid-template-columns:1fr; }.service-card { min-height:0; }.form-row,.contact-list { grid-template-columns:1fr; }.contact-form { padding:22px; }.footer-inner { display:block; }.footer-inner span { display:block; margin:4px 0; } }