:root {
  --navy: #06243a;
  --navy-soft: #0b3552;
  --blue: #0877b9;
  --blue-bright: #27a8dc;
  --sky: #e9f5f8;
  --safety: #2eb36f;
  --safety-dark: #158553;
  --ink: #142937;
  --off-white: #f7fafb;
}

body { background: #fbfdfe; }
.site-header { background: linear-gradient(180deg, rgba(4,28,45,.92), rgba(4,28,45,.62)); }
.site-header.is-scrolled, body:not(.home) .site-header { background: rgba(6,36,58,.97); }
.primary-menu > li { position: relative; }
.primary-menu .sub-menu { position: absolute; top: calc(100% + 12px); left: 50%; min-width: 190px; margin: 0; padding: 10px 0; list-style: none; visibility: hidden; opacity: 0; transform: translate(-50%,8px); border-radius: 10px; background: rgba(6,36,58,.98); box-shadow: 0 18px 38px rgba(0,0,0,.2); transition: opacity .18s,visibility .18s,transform .18s; }
.primary-menu .sub-menu::before { content:""; position:absolute; left:0; right:0; top:-16px; height:18px; }
.primary-menu .sub-menu a { padding:9px 18px; white-space:nowrap; font-size:13px; }
.primary-menu .sub-menu a::after { display:none; }
.primary-menu > li:hover > .sub-menu, .primary-menu > li:focus-within > .sub-menu { visibility:visible; opacity:1; transform:translate(-50%,0); }
.admin-bar .site-header { top:32px; }

.hero-v2 { min-height: 720px; }
.hero-v2 .hero-overlay { background: linear-gradient(90deg, rgba(4,31,51,.94) 0%, rgba(4,31,51,.84) 35%, rgba(4,31,51,.52) 63%, rgba(4,31,51,.14) 100%); }
.hero-v2::before { content:""; position:absolute; z-index:1; width:56vw; height:56vw; max-width:760px; max-height:760px; right:-24vw; bottom:-32vw; border:1px solid rgba(103,205,238,.28); border-radius:50%; box-shadow:0 0 0 70px rgba(39,168,220,.07),0 0 0 140px rgba(39,168,220,.035); }
.hero-v2 .eyebrow { display:flex; align-items:center; gap:10px; color:#67cdee; }
.hero-v2 .eyebrow::before { content:""; width:9px; height:9px; border-radius:50%; background:var(--safety); box-shadow:0 0 0 5px rgba(46,179,111,.14); }
.hero-v2 h1 { font-weight:800; }
.hero-v2 .button-primary { background:#0b88ca; box-shadow:0 12px 30px rgba(11,136,202,.28); }
.hero-v2 .button-primary:hover { background:#0874ad; }
.preview-label { position:absolute; z-index:4; top:16px; right:16px; display:inline-flex; padding:5px 10px; border:1px solid rgba(255,255,255,.34); border-radius:999px; color:rgba(255,255,255,.82); background:rgba(6,36,58,.58); backdrop-filter:blur(5px); font-size:10px; font-weight:700; letter-spacing:.08em; }
.hero-preview { top:auto; right:4vw; bottom:56px; }

.trust-strip { position:relative; z-index:5; margin-top:-1px; background:#fff; border-bottom:1px solid #dce8ed; }
.trust-grid { display:grid; grid-template-columns:repeat(3,1fr); }
.trust-item { display:flex; align-items:center; gap:18px; padding:30px 36px; border-right:1px solid #dce8ed; }
.trust-item:first-child { border-left:1px solid #dce8ed; }
.trust-number { color:#7ba1b5; font-size:12px; font-weight:800; letter-spacing:.12em; }
.trust-item strong { display:block; color:var(--navy); font-size:18px; letter-spacing:.08em; }
.trust-item small { display:block; margin-top:2px; color:#7a8c97; font-size:9px; font-weight:800; letter-spacing:.14em; }
.trust-safety { box-shadow:inset 0 -3px 0 var(--safety); }
.trust-safety .trust-number, .trust-safety small { color:var(--safety-dark); }

.section { padding:104px 0; }
.section-soft { background:#edf6f8; }
.section-kicker { color:#0b84c4; }
.section-kicker::before { content:""; display:inline-block; width:26px; height:2px; margin:0 10px 4px 0; background:var(--safety); }
.services-section { background:linear-gradient(180deg,#fff 0%,#f7fbfc 100%); }
.service-card { border-radius:10px; box-shadow:0 15px 42px rgba(6,36,58,.12); }
.service-card::after { background:linear-gradient(180deg,rgba(3,24,39,.02) 20%,rgba(3,24,39,.92) 100%); }
.service-number { color:#72d7a5; }
.service-arrow { border-color:rgba(114,215,165,.72); }
.quality-section { position:relative; overflow:hidden; }
.quality-section::before { content:""; position:absolute; width:480px; height:480px; left:-290px; top:80px; border:70px solid rgba(39,168,220,.07); border-radius:50%; }
.quality-card { border-radius:8px; border-top:4px solid var(--safety); background:var(--navy); }
.safety-dot { display:block; width:9px; height:9px; margin-bottom:13px; border-radius:50%; background:var(--safety); }
.about-preview { top:auto; right:auto; left:12%; bottom:82px; }
.recruit-image { position:relative; border-radius:10px; }
.recruit-v2 { background:#fff; }
.contact-band { background:linear-gradient(120deg,#075f91,#0b7fc0 58%,#2aa9dc); }

.wpcf7 { max-width:760px; margin-top:38px; }
.wpcf7 form > p { margin-bottom:24px; color:#14222d; font-weight:700; }
.wpcf7-form-control-wrap { display:block; margin-top:7px; }
.wpcf7 input[type="text"],.wpcf7 input[type="email"],.wpcf7 input[type="tel"],.wpcf7 textarea,.wpcf7 select { width:100%; padding:14px 16px; border:1px solid #cbd7df; border-radius:8px; color:#14222d; background:#fff; transition:border-color .2s,box-shadow .2s; }
.wpcf7 textarea { min-height:180px; resize:vertical; }
.wpcf7 input:focus,.wpcf7 textarea:focus,.wpcf7 select:focus { outline:none; border-color:#0b75b9; box-shadow:0 0 0 3px rgba(11,117,185,.13); }
.wpcf7 input[type="submit"] { min-width:180px; min-height:52px; padding:10px 28px; border:0; border-radius:999px; color:#fff; background:#0b75b9; font-weight:800; letter-spacing:.08em; cursor:pointer; transition:background .2s,transform .2s; }
.wpcf7 input[type="submit"]:hover { background:#08669f; transform:translateY(-2px); }

@media (max-width:1024px) {
  .primary-menu .sub-menu { position:static; min-width:0; padding:0; visibility:visible; opacity:1; transform:none; background:transparent; box-shadow:none; }
  .primary-menu .sub-menu::before { display:none; }
  .primary-menu .sub-menu a { padding:5px 18px; color:rgba(255,255,255,.62); font-size:13px; }
  .trust-item { padding:24px 20px; }
}

@media (max-width:782px) { .admin-bar .site-header { top:46px; } }

@media (max-width:767px) {
  .hero-v2 { min-height:670px; }
  .hero-v2 .hero-overlay { background:linear-gradient(90deg,rgba(4,31,51,.92),rgba(4,31,51,.54)); }
  .hero-preview { right:18px; bottom:30px; }
  .trust-grid { grid-template-columns:1fr; }
  .trust-item,.trust-item:first-child { border-left:0; border-right:0; border-bottom:1px solid #dce8ed; padding:18px 4px; }
  .trust-safety { box-shadow:inset 3px 0 0 var(--safety); padding-left:14px; }
  .section { padding:76px 0; }
  .preview-label { top:12px; right:12px; }
  .hero-preview { top:auto; }
  .about-preview { top:auto; right:auto; left:12px; bottom:68px; }
}
