:root { --header-offset: 110px; }
html { scroll-padding-top: var(--header-offset); }
a, button, select, summary { touch-action: manipulation; }
button, select, summary { cursor: pointer; }
.visually-hidden {
  position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px;
  overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0;
}
header nav { gap: 22px; }
header nav .links { gap: 24px; }
header nav .links a { display: flex; align-items: center; min-height: 44px; line-height: 1.4; }
.nav-toggle { display: none; }
.feature p, .heading p, .solution p, .about p, .portal-layout > div > p,
.portal-benefits dd, .faq details p, .contact > div > p {
  font-size: 16px; line-height: 1.8;
}
.note, .portal-note, .faq-source { font-size: 12px; line-height: 1.75; }
.cinema .fine { font-size: 12px; }
.btn { line-height: 1.45; }
.btn span { min-width: 0; }
.btn-whatsapp { font-size: 14px; }
.portal-layout .btn { text-align: center; }
.project-details { margin-top: 22px; }
.project-details summary {
  cursor: pointer; min-height: 44px; align-content: center;
  font-size: 14px; color: var(--navy);
}
.project-details p { font-size: 14px; color: var(--muted); max-width: 64ch; line-height: 1.8; }
.operation-list a { min-height: 72px; gap: 16px; }
.operation-list small { font-size: 14px; line-height: 1.6; }
.operation-list .operation-state {
  display: none; flex-shrink: 0; padding: 5px 8px; border-radius: 4px;
  font-size: 11px; font-weight: 600; color: #174b2f; background: #e0f2e6;
}
.operation-list a[data-selected] .operation-state { display: inline-block; }
.contact fieldset { padding: 0; margin: 0; border: 0; min-inline-size: 0; }
.contact > div { min-width: 0; }
.contact legend { padding: 0; font-size: 17px; font-weight: 600; color: #fff; }
.contact .contact-helper { font-size: 12px; line-height: 1.7; color: #c3d3e6; margin: 10px 0 22px; }
.contact label { font-size: 14px; line-height: 1.5; }
.contact select { font-size: 16px; min-height: 52px; max-width: 100%; }
.contact .contact-next-step { font-size: 12px; line-height: 1.7; color: #c3d3e6; margin: 13px 0 18px; }
.message-preview { margin: 15px 0; }
.message-preview summary {
  display: list-item; list-style: revert; min-height: 44px; align-content: center;
  cursor: pointer; font-size: 13px; color: #d6e4f5;
}
.message-preview summary:focus-visible { outline: 3px solid #ec990c; outline-offset: 4px; }
.message-preview p {
  padding: 15px; margin: 0 0 10px; border-radius: 6px; background: #172f49;
  color: #d6e4f5; font-size: 13px; line-height: 1.7; overflow-wrap: anywhere;
}
.contact .phone { border-top: 1px solid #ffffff24; padding-top: 18px; margin-top: 18px; font-size: 12px; }
.phone-link { display: inline-flex; align-items: center; min-height: 44px; font-size: 16px; text-decoration: underline; text-underline-offset: 4px; }
.faq summary { line-height: 1.6; min-height: 48px; font-size: 16px; }
.contact h2:focus { outline: none; }
#contact-title:focus-visible { outline: 2px solid #a9cfff; outline-offset: 6px; border-radius: 4px; }
@media (max-width: 1050px) {
  :root { --header-offset: 260px; }
  header nav { min-height: 76px; padding-top: 12px; padding-bottom: 12px; flex-wrap: wrap; gap: 12px 16px; }
  header .brand-technology { flex: 1; min-width: 0; max-width: 260px; font-size: 20px; }
  header nav > .btn { order: 1; }
  header nav .links {
    order: 3; width: 100%; display: grid; grid-template-columns: 1fr 1fr;
    gap: 6px 12px; padding: 8px 0 2px;
  }
  header nav .links a { min-height: 48px; font-size: 14px; padding: 12px; border-radius: 5px; background: #ffffff05; }
  header nav .links a:hover, header nav .links a:focus-visible { background: #ffffff0d; }
  header nav .links a[aria-current="location"] { background: #17304c; color: #d5e8ff; }
  .nav-toggle {
    order: 2; align-items: center; justify-content: center; gap: 9px;
    padding: 10px 12px; min-height: 44px; color: #eef5ff; background: transparent;
    border: 1px solid #67809d; border-radius: 5px; font-size: 13px;
  }
  .nav-toggle svg { width: 20px; height: 20px; }
  .nav-toggle:focus-visible { outline: 3px solid #ec990c; outline-offset: 4px; }
  html[data-ux-enhanced] .nav-toggle { display: inline-flex; }
  html[data-ux-enhanced] header nav .links { display: none; }
  html[data-ux-enhanced] header[data-menu-open] nav .links { display: grid; }
  header[data-menu-open] .nav-toggle { background: #17304c; }
}
@media (max-width: 760px) {
  header .brand-technology { font-size: 18px; max-width: 225px; }
  header nav > .btn { display: none; }
  .intro, .cinema .intro, .feature p, .heading p, .solution p, .about p,
  .portal-layout > div > p, .portal-benefits dd, .faq details p,
  .contact > div > p { font-size: 16px; }
  .feature h3, .solution h3, .portal-benefits dt { font-size: 21px; }
  .cinema .btn-whatsapp, .portal-layout .btn-whatsapp, .contact .btn-whatsapp,
  .mobile-contact.btn-whatsapp { font-size: 14px; padding: 15px 14px; gap: 10px; }
  .mobile-contact {
    opacity: 1; visibility: visible; transition: opacity 150ms ease, visibility 150ms ease;
  }
  html[data-primary-cta-visible] .mobile-contact {
    opacity: 0; visibility: hidden; pointer-events: none;
  }
  html[data-primary-cta-visible] .mobile-contact:focus-visible {
    opacity: 1; visibility: visible; pointer-events: auto;
  }
  .operation-list .operation-state { font-size: 10px; padding: 4px 6px; }
  .operation-list a { flex-wrap: wrap; }
  .operation-list a > span:first-child { flex: 1; min-width: 165px; }
  .contact { padding: 27px 23px; }
  .contact .phone { font-size: 12px; }
}
@media (prefers-reduced-motion: reduce) {
  .mobile-contact { transition: none; }
}

.instagram-link{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:44px;padding:8px 0;color:inherit;text-decoration:none;line-height:1.5}.instagram-link svg{width:20px;height:20px;flex:0 0 20px}.instagram-link span{font-size:14px;font-weight:500}.instagram-link:hover span{text-decoration:underline;text-underline-offset:4px}.contact .instagram-contact{font-size:12px;color:#c3d3e6;text-align:center;margin:16px 0 0}.contact .instagram-link{color:#e3edf9}
