html { scroll-behavior: smooth; }
.one-page { --anchor-space: 92px; }
.one-page section[id], .one-page main { scroll-margin-top: var(--anchor-space); }
.one-page .navbar { position: sticky; top: 0; z-index: 200; height: 74px; background: var(--primary-color); color: #fff; border-bottom: 1px solid #8cdae0; box-shadow: none; }
.one-page .navbar .logo { font-size: 26px; font-weight: 650; letter-spacing: -.04em; padding: 0; margin: 0; color: #fff; }
.one-page .navbar a { color: #fff; font-weight: 600; font-size: 14px; }
.one-page .navbar a:hover { border-bottom-color: #fff; }
.one-page .navbar li:last-child a { background: #0a2540; color: #fff; border-radius: 6px; padding: 10px 18px; }
.skip-link { position: fixed; left: 16px; top: -80px; z-index: 300; padding: 12px 18px; background: #0a2540; color: #fff; }
.skip-link:focus { top: 12px; }
.one-about { display: grid; grid-template-columns: 1.1fr 1fr; gap: 60px; padding-top: 20px; padding-bottom: 50px; }
.one-about h2 { color: #0a2540; font-size: clamp(28px, 3vw, 36px); font-weight: 650; letter-spacing: -.03em; }
.one-about p { color: #586779; }
.one-support { background: #e9f3f4; border: 1px solid #d3e7e9; border-radius: 14px; padding: 28px; }
.one-support h3 { color: #0a2540; font-size: 21px; margin-bottom: 20px; }
.one-support > div { display: flex; gap: 16px; padding: 14px 0; border-top: 1px solid #cfe2e4; }
.one-support span { color: #078096; font-size: 12px; font-weight: 750; padding-top: 3px; }
.one-support p { margin: 0; font-size: 14px; }
.one-support strong { display: block; color: #0a2540; font-size: 16px; margin-bottom: 4px; }
.one-contact { display: grid; grid-template-columns: .85fr 1.15fr; gap: 0; padding-top: 16px; padding-bottom: 56px; }
.one-contact-info { background: #0a2540; color: #fff; padding: 36px; border-radius: 16px 0 0 16px; }
.one-contact-info .service-eyebrow { color: #8cdae0; }
.one-contact-info h2 { font-size: 36px; font-weight: 650; letter-spacing: -.03em; margin: 0 0 20px; }
.one-contact-info > p:not(.service-eyebrow) { color: #c6d7e4; font-size: 15px; }
.one-contact-detail { margin-top: 24px; }
.one-contact-detail span { display: block; color: #8cdae0; font-size: 12px; margin-bottom: 5px; }
.one-contact-detail a { color: #fff; font-weight: 600; overflow-wrap: anywhere; }
.one-contact-detail a:hover { text-decoration: underline; }
.one-contact-detail p { margin: 0; color: #fff; font-size: 15px; }
.one-contact-form { background: #fff; border: 1px solid #dde6eb; border-left: 0; border-radius: 0 16px 16px 0; padding: 32px; }
.one-contact-form h3 { font-size: 22px; color: #0a2540; margin-bottom: 20px; }
.one-contact-form form { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.one-contact-form [data-contact-form] .form-control { margin: 0; }
.one-contact-form label { font-size: 13px; color: #405267; }
.one-contact-form .contact-message, .one-contact-form button, .one-contact-form form > p, .one-contact-form noscript { grid-column: 1 / -1; }
.one-contact-form form > p { margin: 0; }
.one-contact-form [role="status"]:empty { display: none; }
.footer-brand { font-size: 25px; font-weight: 600; }
.one-page .navbar .logo, .footer-brand { display: inline-flex; align-items: center; gap: 10px; }
.brand-mark { width: 72px; height: 38px; flex-shrink: 0; }
.one-page .showcase::before, .one-page .showcase::after { display: none; }
.one-page .showcase .showcase-form { color: #333; opacity: 1; transform: none; }
.one-page .showcase .showcase-form p { margin: 0; }
.one-page #services { padding-top: 40px; }
@media (max-width: 850px) {
  .one-about { gap: 28px; }
  .one-contact-info, .one-contact-form { padding: 24px; }
}
@media (max-width: 650px) {
  .one-page { --anchor-space: 126px; }
  .one-page .navbar { height: auto; padding: 14px 0; }
  .one-page .navbar .flex { flex-direction: column; gap: 12px; }
  .one-page .navbar ul { padding: 0; }
  .one-about, .one-contact { grid-template-columns: 1fr; }
  .one-about { padding-bottom: 36px; }
  .one-contact-info { border-radius: 16px 16px 0 0; }
  .one-contact-form { border-left: 1px solid #dde6eb; border-top: 0; border-radius: 0 0 16px 16px; }
}
@media (max-width: 420px) { .one-contact-form form { grid-template-columns: 1fr; } }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }
