:root {
  --navy:#062347; --deep:#061d38; --teal:#008b95; --mint:#39d8c5;
  --ink:#102d49; --muted:#586c7d; --line:#d9e4e8; --off:#f3f7f8;
}
* { box-sizing:border-box; }
html { scroll-behavior:smooth; scroll-padding-top:104px; }
body { margin:0; font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif; color:var(--ink); line-height:1.65; -webkit-font-smoothing:antialiased; }
button,input,select,textarea { font:inherit; }
a { color:inherit; text-decoration:none; }
button,a,input,select,textarea,summary { outline-offset:5px; }
:focus-visible { outline:2px solid var(--teal); }
button,a { touch-action:manipulation; }
button { cursor:pointer; }
.wrap { width:min(1240px,calc(100% - 96px)); margin:auto; }
.skip { position:fixed; top:-100px; background:#fff; padding:12px; z-index:99; }
.skip:focus { top:5px; }
header { position:sticky; top:0; z-index:20; background:#fff; border-bottom:1px solid #e7eef0; }
.nav { height:88px; display:flex; align-items:center; justify-content:space-between; gap:28px; }
.brand { display:inline-flex; flex-shrink:0; }
.brand img { display:block; object-fit:contain; }
nav { display:flex; align-items:center; gap:30px; font-size:14px; font-weight:600; }
nav a { padding:8px 0; transition:color .18s; }
nav a:hover { color:var(--teal); }
.nav-right { display:flex; align-items:center; gap:24px; }
.languages { display:flex; gap:2px; padding:4px; border:1px solid #e0e8eb; background:#f4f7f8; border-radius:9px; }
.languages [data-lang] { border:0; min-width:34px; padding:7px 8px; background:transparent; border-radius:6px; color:#596b7b; font-size:12px; transition:background .18s,color .18s; }
.languages [data-lang]:hover { background:#e5eeef; color:var(--teal); }
.languages [data-lang][aria-current=page] { background:#fff; color:#007c86; font-weight:700; box-shadow:0 1px 4px #0623471a; }
.nav-contact { display:flex; gap:15px; align-items:center; padding:10px 15px; border:1px solid #c6dcdf; border-radius:8px; font-size:13px; font-weight:600; }
.nav-contact:hover { background:#edf8f7; border-color:var(--teal); }
.action-icon { width:20px; height:20px; flex-shrink:0; fill:none; stroke:currentColor; stroke-width:1.6; stroke-linecap:round; stroke-linejoin:round; }
.nav-contact .action-icon { width:17px; height:17px; color:var(--teal); }
.menu-toggle,.mobile-contact { display:none; }
.hero { position:relative; overflow:hidden; background:var(--deep); color:#fff; }
.hero-grid { position:absolute; inset:0; background-image:linear-gradient(#7aa3ad08 1px,transparent 1px),linear-gradient(90deg,#7aa3ad08 1px,transparent 1px); background-size:72px 72px; mask-image:linear-gradient(90deg,transparent,black); }
.hero-content { display:grid; grid-template-columns:1.2fr 1fr; align-items:center; gap:36px; min-height:535px; position:relative; }
.hero-copy { padding:48px 0 45px; min-width:0; }
.eyebrow { display:flex; align-items:center; gap:10px; font-size:11px; letter-spacing:1.5px; color:#b4cdd8; font-weight:600; }
.eyebrow>span:first-child,.live-dot { width:6px; height:6px; border-radius:50%; background:var(--mint); display:inline-block; flex-shrink:0; }
h1 { font-weight:550; font-size:clamp(46px,4.1vw,60px); line-height:1.12; letter-spacing:-2.3px; margin:24px 0 21px; }
h1 em { color:var(--mint); font-style:normal; }
.hero-desc { font-size:16px; color:#bbccd9; line-height:1.8; max-width:540px; margin:0; }
.hero-actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:28px; align-items:center; }
.button { display:inline-flex; align-items:center; justify-content:space-between; gap:20px; min-height:50px; padding:13px 19px; border:1px solid transparent; border-radius:8px; font-size:13px; font-weight:650; line-height:1.5; transition:background .18s,border-color .18s,box-shadow .18s; }
.primary { background:var(--mint); color:#062b3b; }
.primary:hover { background:#7ce8d6; box-shadow:0 4px 15px #001a2b18; }
.button:disabled { cursor:wait; opacity:.65; }
.hero-secondary { border-color:#587183; background:#ffffff03; color:#e8f3f6; }
.hero-secondary:hover { border-color:#8dd6ce; background:#ffffff0a; }
.hero-audience { margin:24px 0 0; font-size:12px; color:#9db5c7; }
.network { position:relative; width:100%; min-width:0; padding:16px 0; }
.network-labels { display:flex; justify-content:space-between; align-items:center; gap:20px; margin:0 25px; padding-bottom:12px; border-bottom:1px solid #294556; color:#b5d4df; font-size:10px; letter-spacing:1.2px; line-height:1.5; }
.tt-graphic { width:100%; height:auto; display:block; }
.network-caption { display:flex; justify-content:center; gap:23px; font-size:10px; letter-spacing:1.7px; color:#90b3c0; margin-top:-10px; }
.network-caption span+span { position:relative; }
.network-caption span+span:before { content:""; position:absolute; left:-12px; width:2px; height:2px; border-radius:50%; top:7px; background:#497a89; }
.hero-bottom { position:relative; display:flex; justify-content:space-between; gap:20px; padding:18px 0; border-top:1px solid #ffffff19; color:#9db6c7; font-size:11px; }
.hero-bottom>span:last-child { color:#7697ac; }
.section { padding-top:78px; padding-bottom:80px; }
.section-top { display:flex; align-items:flex-end; justify-content:space-between; gap:48px; margin-bottom:35px; }
.kicker { font-size:11px; letter-spacing:1.7px; color:var(--teal); font-weight:700; }
h2 { font-size:clamp(32px,3.1vw,43px); line-height:1.2; font-weight:550; letter-spacing:-1.3px; margin:16px 0 0; }
.section-top>p { color:var(--muted); font-size:15px; max-width:365px; margin:0 0 3px; }
.primary-services { display:grid; grid-template-columns:1fr 1fr; gap:24px; }
.featured-service { min-width:0; padding:34px; border-radius:12px; background:var(--navy); color:#fff; position:relative; overflow:hidden; display:flex; flex-direction:column; align-items:flex-start; border:1px solid transparent; }
.featured-service:nth-child(2) { background:#eaf6f4; color:var(--navy); border-color:#d0e8e4; }
.service-meta { display:flex; justify-content:space-between; align-items:center; gap:20px; width:100%; color:#738b9b; font-size:11px; }
.service-icon { width:32px; height:32px; color:var(--teal); flex-shrink:0; }
.service-icon svg { width:100%; height:100%; stroke:currentColor; fill:none; stroke-width:1.4; stroke-linecap:round; stroke-linejoin:round; }
.featured-service .service-icon { color:var(--mint); width:38px; height:38px; }
.featured-service:nth-child(2) .service-icon { color:var(--teal); }
.featured-service .service-audience { font-size:11px; letter-spacing:1.2px; color:#b7ced9; font-weight:600; text-transform:uppercase; text-align:right; }
.featured-service:nth-child(2) .service-audience { color:#397672; }
.featured-service h3 { font-size:29px; line-height:1.25; font-weight:550; letter-spacing:-.9px; margin:27px 0 14px; max-width:420px; }
.featured-service p { font-size:15px; line-height:1.75; color:#c3d3df; margin:0; max-width:455px; }
.featured-service:nth-child(2) p { color:#48636e; }
.featured-benefits { list-style:none; margin:23px 0 27px; padding:0; font-size:13px; color:#dce9ed; display:grid; gap:8px; }
.featured-service:nth-child(2) .featured-benefits { color:#355b62; }
.featured-benefits li { display:flex; align-items:center; gap:9px; }
.featured-benefits li:before { content:""; width:4px; height:4px; background:var(--mint); border-radius:50%; flex-shrink:0; }
.featured-service:nth-child(2) .featured-benefits li:before { background:var(--teal); }
.featured-service .button { margin-top:auto; }
.outline { background:transparent; border-color:#90b9b3; color:#0e4c4d; }
.outline:hover { border-color:var(--teal); background:#d9eeea; }
.extras-heading { display:flex; align-items:center; gap:25px; margin:36px 0 22px; }
.extras-heading h3 { font-size:14px; font-weight:600; margin:0; white-space:nowrap; color:#536a7c; }
.extras-heading>span { height:1px; width:100%; background:var(--line); }
.services-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:24px; }
.service-card { min-width:0; padding:24px 0 0; border-top:2px solid #d8e8e9; display:flex; flex-direction:column; align-items:flex-start; }
.service-card h3 { font-size:18px; font-weight:600; line-height:1.4; letter-spacing:-.3px; margin:19px 0 10px; }
.service-card p { font-size:14px; color:var(--muted); line-height:1.75; margin:0 0 18px; }
.service-link { display:inline-flex; align-items:center; gap:10px; font-size:12px; font-weight:650; color:#007d86; margin-top:auto; padding:6px 0; border-bottom:1px solid transparent; }
.service-link:hover { border-bottom-color:var(--teal); }
.link-indicator { width:4px; height:4px; background:currentColor; border-radius:50%; opacity:.65; }
.solutions { background:var(--off); padding:75px 0; }
.solution-layout { display:grid; grid-template-columns:285px 1fr; gap:65px; border-top:1px solid #d2dee2; padding-top:30px; }
.tabs { display:flex; flex-direction:column; gap:9px; }
.tabs button { display:flex; align-items:center; justify-content:space-between; gap:20px; text-align:left; padding:16px 18px; border:1px solid transparent; border-radius:8px; color:#536b7d; background:transparent; font-size:14px; font-weight:500; transition:background .18s; }
.tabs button:hover { background:#e5eeef; }
.tabs button[aria-selected=true] { background:var(--navy); color:#fff; }
.tab-indicator { width:4px; height:18px; border-radius:4px; background:#afc4ca; flex-shrink:0; }
.tabs button[aria-selected=true] .tab-indicator { background:var(--mint); }
.solution-panel { padding:10px 0; }
.panel-kicker { font-size:11px; letter-spacing:1.4px; color:var(--teal); }
.solution-panel h3 { font-size:29px; line-height:1.3; font-weight:550; letter-spacing:-.8px; margin:16px 0; }
.solution-panel p { color:var(--muted); font-size:15px; margin:0; max-width:640px; }
.benefits { display:grid; grid-template-columns:1fr 1fr; gap:16px 28px; list-style:none; margin:24px 0 0; padding:0; font-size:13px; }
.benefits li:before { content:'▪'; color:var(--teal); margin-right:10px; }
.approach { display:grid; grid-template-columns:1fr 1fr; gap:100px; }
.approach-intro { color:var(--muted); font-size:15px; max-width:400px; margin:24px 0; }
.text-link { display:inline-flex; justify-content:center; padding:12px 18px; min-height:46px; border:1px solid #d1e0e4; border-radius:8px; font-size:13px; font-weight:600; color:var(--navy); background:#f6fafb; }
.text-link:hover { background:#edf8f7; border-color:var(--teal); }
.step { display:grid; grid-template-columns:38px 1fr; gap:16px; padding:22px 0; border-bottom:1px solid var(--line); }
.step:first-child { padding-top:0; }
.step>span { font-size:12px; color:var(--teal); padding-top:4px; }
.step h3 { font-size:18px; font-weight:550; margin:0 0 7px; }
.step p { font-size:14px; color:var(--muted); margin:0; }
.contact-section { background:var(--deep); color:#fff; padding:75px 0; }
.contact-grid { display:grid; grid-template-columns:1fr 1fr; gap:95px; }
.contact-section .kicker { color:var(--mint); }
.contact-section h2 { font-size:44px; }
.contact-section p { color:#b7cbd8; font-size:15px; max-width:410px; margin:24px 0; }
.email { display:flex; align-items:center; gap:18px; font-size:26px; margin-top:32px; width:fit-content; }
.email .action-icon { color:var(--mint); width:22px; height:22px; }
.contact-caption { color:#96b1c3; font-size:12px; margin-top:9px; }
.form-row { display:grid; grid-template-columns:1fr 1fr; gap:18px; }
label { display:block; margin-bottom:16px; }
label>span { display:block; color:#c0d2df; font-size:12px; margin-bottom:7px; }
input,select,textarea { width:100%; border:1px solid #506b7d; border-radius:6px; background:#ffffff05; color:#f2f9fb; padding:11px 12px; font-size:15px; }
select option { background:var(--navy); }
textarea { resize:vertical; min-height:90px; }
.contact-section .form-note { color:#a7bfce; font-size:12px; line-height:1.6; margin:9px 0 18px; max-width:none; }
form .button { width:100%; }
#formStatus { font-size:13px; margin:14px 0 0; max-width:none; }
#formStatus:empty { display:none; }
.faq-section { display:grid; grid-template-columns:1fr 1.4fr; gap:80px; padding-top:70px; padding-bottom:75px; }
.faq-section h2 { font-size:33px; }
details { border-bottom:1px solid var(--line); padding:18px 0; }
summary { display:flex; justify-content:space-between; gap:20px; font-size:15px; cursor:pointer; list-style:none; }
summary::-webkit-details-marker { display:none; }
summary:after { content:'+'; color:var(--teal); font-size:20px; line-height:1.2; }
details[open] summary:after { content:'−'; }
details p { color:var(--muted); font-size:14px; max-width:580px; }
footer { border-top:1px solid var(--line); }
.footer-main { display:flex; justify-content:space-between; align-items:center; gap:25px; padding:32px 0; }
.footer-main p,.footer-main>a:last-child { color:var(--muted); font-size:13px; }
.footer-bottom { display:flex; justify-content:space-between; gap:20px; padding:20px 0; border-top:1px solid #e6ecef; font-size:11px; color:#687d8c; }
.footer-bottom>a { color:#3f5c71; border-bottom:1px solid #ccdadd; }
@media(min-width:1450px) { .hero-content { min-height:550px; } }
@media(max-width:1100px) {
 .wrap { width:calc(100% - 56px); }
 .nav { gap:20px; } nav { gap:20px; font-size:13px; }
 .nav-right { gap:16px; }
 .brand img { width:165px; height:auto; }
 .hero-content { gap:20px; grid-template-columns:1.15fr 1fr; }
 h1 { font-size:48px; }
 .hero-actions .button { padding:12px 15px; gap:14px; font-size:12px; }
 .eyebrow { font-size:10px; letter-spacing:1px; }
 .primary-services { gap:20px; }.featured-service { padding:28px; }
 .services-grid { grid-template-columns:repeat(2,1fr); gap:30px; }
 .solution-layout { grid-template-columns:240px 1fr; gap:35px; }
 .approach,.contact-grid { gap:55px; }
}
@media(max-width:760px) {
 html { scroll-padding-top:88px; }
 .wrap { width:calc(100% - 40px); }
 .nav { height:76px; gap:10px; }
 .brand img { width:135px; height:auto; }
 .nav-right { gap:9px; }
 .languages { padding:3px; }
 .languages [data-lang] { min-width:29px; padding:7px 5px; font-size:11px; }
 .nav-contact { display:none; }
 .menu-toggle { width:42px; height:42px; border:1px solid #dce7eb; background:#fff; border-radius:8px; display:grid; place-items:center; color:var(--navy); }
 .menu-toggle svg { width:23px; height:23px; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; }
 nav { display:none; position:absolute; left:0; top:76px; right:0; padding:12px 20px 20px; background:white; box-shadow:0 14px 22px #06234716; border-bottom:1px solid var(--line); }
 header.menu-open nav { display:flex; flex-direction:column; align-items:stretch; gap:0; }
 nav a { padding:14px 10px; border-bottom:1px solid #edf1f3; font-size:15px; }
 nav .mobile-contact { display:block; color:#007d86; border:0; }
 header.menu-open .menu-toggle { background:#eaf6f4; border-color:#a6d0c9; }
 .hero-content { display:block; min-height:0; }
 .hero-copy { padding:35px 0 5px; }
 .eyebrow { font-size:9px; letter-spacing:.75px; gap:8px; }
 h1 { font-size:42px; line-height:1.1; letter-spacing:-1.6px; margin:21px 0 18px; }
 .hero-desc { font-size:15px; line-height:1.75; }
 .hero-actions { gap:10px; margin-top:23px; }
 .hero-actions .button { min-height:49px; font-size:12px; padding:12px 16px; }
 .hero-audience { font-size:11px; margin-top:19px; }
 .network { height:auto; max-width:390px; margin:16px auto 12px; padding:0; }
 .tt-graphic { height:210px; width:100%; object-fit:contain; }
 .network-caption { display:none; }
 .network-labels { margin:0; padding-bottom:9px; font-size:9px; letter-spacing:.8px; }
 .hero-bottom { padding:15px 0; font-size:10px; line-height:1.5; }
 .hero-bottom>span:last-child { display:none; }
 .section { padding-top:55px; padding-bottom:58px; }
 .section-top { display:block; margin-bottom:28px; }
 .kicker { font-size:10px; letter-spacing:1.4px; }
 h2 { font-size:33px; letter-spacing:-1px; margin-top:15px; }
 .section-top>p { max-width:430px; font-size:15px; margin-top:18px; }
 .primary-services { grid-template-columns:1fr; gap:16px; }
 .featured-service { padding:25px; border-radius:10px; }
 .featured-service h3 { font-size:26px; margin-top:22px; }
 .featured-service p { font-size:15px; }
 .featured-benefits { font-size:13px; margin:21px 0 24px; }
 .featured-service .service-audience { font-size:10px; }
 .featured-service .button { min-height:48px; font-size:13px; }
 .extras-heading { margin-top:29px; margin-bottom:18px; gap:16px; }
 .extras-heading h3 { font-size:13px; }
 .services-grid { grid-template-columns:1fr; gap:23px; }
 .service-card { padding-top:21px; }
 .service-card h3 { font-size:19px; margin-top:13px; }
 .service-card p { font-size:15px; margin-bottom:8px; }
 .service-icon { width:28px; height:28px; }
 .service-link { font-size:13px; min-height:44px; }
 .solutions { padding:55px 0; }
 .solution-layout { display:block; padding-top:23px; }
 .tabs { display:grid; grid-template-columns:1fr; gap:7px; margin-bottom:25px; }
 .tabs button { font-size:14px; padding:12px 16px; border-color:#d9e5e8; }
 .tab-indicator { height:14px; }
 .solution-panel { padding:0; }
 .solution-panel h3 { font-size:26px; }
 .solution-panel p { font-size:15px; }
 .panel-kicker { font-size:10px; }
 .benefits { grid-template-columns:1fr; gap:12px; margin-top:20px; font-size:14px; }
 .approach { display:block; }
 .approach-intro { font-size:15px; }
 .steps { margin-top:32px; }
 .step { grid-template-columns:30px 1fr; }
 .step p { font-size:15px; }
 .contact-section { padding:55px 0; }
 .contact-grid { display:block; }
 .contact-section h2 { font-size:35px; }
 .contact-section p { font-size:15px; }
 .email { font-size:25px; margin-top:25px; }
 form { margin-top:35px; }
 .form-row { grid-template-columns:1fr; gap:0; }
 input,select,textarea { font-size:16px; padding:12px; }
 label>span { font-size:13px; }
 .faq-section { display:block; padding-top:55px; padding-bottom:55px; }
 #faqs { margin-top:24px; }
 .faq-section h2 { font-size:31px; }
 summary { font-size:15px; }
 details p { font-size:15px; }
 .footer-main { flex-wrap:wrap; padding:27px 0; gap:17px; }
 .footer-main p { width:100%; order:3; margin:0; }
 .footer-main>a:last-child { font-size:12px; }
 .footer-bottom { flex-wrap:wrap; font-size:10px; }
 .footer-bottom>span:nth-child(2) { display:none; }
}
@media(max-width:360px) {
 .wrap { width:calc(100% - 32px); }
 .brand img { width:116px; }
 .nav-right { gap:6px; }
 .languages [data-lang] { min-width:26px; font-size:10px; padding:7px 4px; }
 .menu-toggle { width:38px; height:40px; }
 .eyebrow { font-size:8px; letter-spacing:.5px; }
 h1 { font-size:38px; }
 .hero-actions { display:grid; grid-template-columns:1fr; }
 .hero-actions .button { width:fit-content; }
 .featured-service { padding:23px; }
}
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } * { transition:none!important; } }

.client-benefits-section { padding:72px 0; background:#09283f; color:#f1f8fa; }
.client-benefits-section .kicker { color:var(--mint); }
.client-benefits-section .section-top>p { color:#bad0db; max-width:420px; }
.client-benefits { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:30px 38px; }
.client-benefit { border-top:1px solid #365569; padding:22px 0 0; }
.benefit-number { font-size:11px; color:var(--mint); letter-spacing:1px; }
.client-benefit h3 { font-size:19px; line-height:1.4; font-weight:550; margin:13px 0 12px; }
.client-benefit p { font-size:14px; line-height:1.8; color:#b9ceda; margin:0; }
@media(max-width:1000px) { .client-benefits { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:760px) { .client-benefits-section { padding:55px 0; } .client-benefits { grid-template-columns:1fr; gap:25px; } .client-benefit p { font-size:15px; } }

.languages a { display:block; text-align:center; line-height:1.65; }
[hidden] { display:none!important; }

.client-login { display:inline-flex; align-items:center; justify-content:center; gap:9px; min-height:44px; padding:10px 14px; border:1px solid var(--navy); border-radius:8px; background:var(--navy); color:#fff; font-size:13px; font-weight:600; white-space:nowrap; transition:background .18s; }
.client-login:hover { background:#103b61; }
.client-login .action-icon { width:17px; height:17px; }
.mobile-client-login { display:none; }
.client-login-dialog { width:min(440px,calc(100% - 40px)); max-height:calc(100% - 40px); padding:32px; border:1px solid #d9e4e8; border-radius:16px; color:var(--ink); background:#fff; box-shadow:0 24px 80px #00132640; }
.client-login-dialog::backdrop { background:#061d38a6; }
.client-login-symbol { display:grid; place-items:center; width:48px; height:48px; border-radius:12px; color:var(--teal); background:#eaf6f4; }
.client-login-symbol svg { width:26px; height:26px; }
.client-login-dialog h2 { margin:20px 0 12px; font-size:29px; letter-spacing:-.7px; }
.client-login-dialog p { margin:0; color:var(--muted); font-size:15px; }
.client-login-dialog form { margin:24px 0 0; }
.client-login-dialog .button { min-width:110px; justify-content:center; }
@media(max-width:1100px) { .nav-right { gap:12px; } .client-login { padding:10px 12px; } }
@media(max-width:1000px) {
 .desktop-client-login,.nav-contact { display:none; }
 nav { display:none; position:absolute; left:0; top:88px; right:0; padding:12px 28px 20px; background:#fff; box-shadow:0 14px 22px #06234716; border-bottom:1px solid var(--line); }
 header.menu-open nav { display:flex; flex-direction:column; align-items:stretch; gap:0; }
 nav a { padding:14px 10px; border-bottom:1px solid #edf1f3; font-size:15px; }
 nav .mobile-contact { display:block; color:#007d86; border:0; }
 .mobile-client-login { display:flex; margin-top:10px; }
 .menu-toggle { width:42px; height:42px; border:1px solid #dce7eb; background:#fff; border-radius:8px; display:grid; place-items:center; color:var(--navy); }
 .menu-toggle svg { width:23px; height:23px; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; }
 header.menu-open .menu-toggle { background:#eaf6f4; border-color:#a6d0c9; }
}
@media(max-width:760px) { nav { top:76px; padding:12px 20px 20px; } .nav-right { gap:9px; } .client-login-dialog { padding:26px; } }
@media(max-width:360px) { .nav-right { gap:6px; } }
