/* Targeted refinements; the original design stylesheet stays unchanged. */
[hidden] { display: none !important; }
.contact-card { gap: 36px 64px; align-items: start; }
.contact-intro h2 { font-size: clamp(2.4rem, 3.6vw, 3.3rem); }
.contact-action-column { min-width: 0; }
.contact-compose { border: 1px solid var(--line-strong); border-radius: 18px; background: rgba(6, 16, 23, .32); padding: 23px; }
.compose-summary { display: flex; gap: 20px; align-items: center; justify-content: space-between; cursor: pointer; list-style: none; color: var(--cyan); }
.compose-summary::-webkit-details-marker { display: none; }
.compose-summary strong { display: block; font-size: 1.06rem; color: #edf7f7; }
.compose-summary small { display: block; margin-top: 9px; color: #b5c9d2; font-size: .86rem; line-height: 1.6; }
.compose-summary > span:last-child { font-size: 1.4rem; }
.contact-compose[open] > summary > span:last-child { transform: rotate(45deg); }
.contact-compose .contact-form { margin-top: 23px; border: 0; border-top: 1px solid var(--line); border-radius: 0; padding: 24px 0 0; background: none; }
.contact-channels { display: grid; gap: 12px; margin-top: 30px; }
.contact-channel { display: grid; gap: 9px; padding: 20px; border: 1px solid var(--line-strong); border-radius: 16px; background: rgba(6, 16, 23, .32); }
.contact-channel:hover { border-color: var(--cyan); background: rgba(6, 16, 23, .5); }
.channel-label { color: #b4d0d4; font-size: .78rem; }
.contact-channel strong { color: #f2fbfb; font-size: clamp(1.08rem, 2vw, 1.45rem); letter-spacing: -.02em; overflow-wrap: anywhere; }
.channel-hint { display: flex; justify-content: space-between; color: var(--cyan); font-size: .78rem; }
.support-route { margin-top: 24px; padding: 21px 0 0; border-top: 1px solid var(--line-strong); }
.support-route > strong { color: var(--energy); font-size: .93rem; }
.support-route p { color: #c1d4da; font-size: .88rem; line-height: 1.65; }
.support-route a, .contact-privacy a, .form-disclaimer a { color: var(--cyan); text-decoration: underline; text-underline-offset: 3px; overflow-wrap: anywhere; }
.support-route small { display: block; color: #b1c6ce; font-size: .8rem; line-height: 1.65; }
.contact-form { align-self: start; }
.contact-form h3 { margin: 0 0 12px; color: #f2fbfb; font-size: 1.14rem; line-height: 1.4; }
.contact-form .compose-help { margin: 0 0 22px; color: #b1c6ce; font-size: .83rem; line-height: 1.6; }
.contact-form label { font-size: .8rem; color: #c6dce3; }
.contact-form label > span { font-size: .7rem; font-weight: 400; color: #a7bdc8; }
.contact-form input, .contact-form textarea, .contact-form select { font: inherit; font-size: 1rem; }
.contact-form select { display: block; width: 100%; max-width: 100%; min-width: 0; margin-top: 8px; padding: 12px; border: 1px solid var(--line-strong); border-radius: 10px; background: #0b202c; color: #edf9ff; }
.contact-form input::placeholder, .contact-form textarea::placeholder { color: #95aeba; }
.contact-form .form-disclaimer { font-size: .77rem; line-height: 1.65; color: #b0c6ce; }
.form-status { font-size: .83rem; line-height: 1.65; color: var(--energy); }
.form-status:empty { display: none; }
.draft-actions { display: grid; gap: 15px; margin: 18px 0; }
.copy-draft { padding: 10px 0; border: 0; background: transparent; color: var(--cyan); text-align: left; }
.contact-privacy { grid-column: 1 / -1; padding-top: 20px; border-top: 1px solid var(--line); color: #b1c6ce; }
.contact-privacy summary { cursor: pointer; font-size: .84rem; color: #d2e5e8; padding: 8px 0; }
.contact-privacy p { max-width: 82ch; font-size: .8rem; line-height: 1.75; }
button:disabled { cursor: not-allowed; opacity: .55; }
.services-grid { align-items: start; }
.site-header.is-scrolled {
  background: rgba(10, 17, 28, 0.28);
  background-image: linear-gradient(115deg, rgba(255, 255, 255, .18), transparent 28%, transparent 70%, rgba(76, 200, 232, .14));
  border-color: rgba(221, 246, 255, 0.82);
  box-shadow: 0 24px 72px rgba(0, 0, 0, .46), inset 0 1px 0 rgba(255, 255, 255, .34), inset 0 -1px 0 rgba(94, 210, 239, .18), 0 0 32px rgba(72, 192, 231, .12);
  backdrop-filter: blur(60px) saturate(220%);
  -webkit-backdrop-filter: blur(60px) saturate(220%);
  transition: background .25s ease, background-image .25s ease, border-color .25s ease, box-shadow .25s ease, backdrop-filter .25s ease;
}
.service-card { min-height: 340px; }
.service-card-digital { grid-column: 2 / span 2; }
.service-card-digital .service-detail-body { max-width: 85ch; }
.service-card::after { pointer-events: none; }
.service-card h3 { margin-top: 23px; }
.service-card > p { color: #b5c9d2; font-size: .85rem; }
.service-card:focus-within { border-color: var(--cyan); }
.service-details { margin-top: auto; }
.service-details > summary { display: flex; justify-content: space-between; gap: 12px; min-height: 48px; padding-top: 19px; font-size: .8rem; list-style: none; cursor: pointer; }
.service-details > summary::-webkit-details-marker { display: none; }
.service-details > summary span { font-size: 1.1rem; color: var(--cyan); }
.service-details[open] > summary span { transform: rotate(45deg); }
.service-detail-body { padding-top: 17px; border-top: 1px solid var(--line); }
.service-detail-body p, .service-detail-body li { color: #b5c9d2; font-size: .85rem; line-height: 1.65; }
.service-detail-body ul { margin: 17px 0; padding-left: 19px; }
.service-detail-body li + li { margin-top: 10px; }
.service-detail-body .service-boundary { color: #9fb8c4; font-size: .78rem; }
.service-detail-body .text-link { margin-top: 17px; min-height: 44px; font-size: .8rem; }
.nowrap { white-space: nowrap; }
.eyebrow-dot { flex: 0 0 7px; }
.nav-contact { display: none; }
main [id] { scroll-margin-top: 112px; }
.section { padding-top: 96px; padding-bottom: 96px; }
.infrastructure-section { padding-top: 104px; padding-bottom: 48px; }
.infrastructure-grid { margin-top: 48px; }
.infra-card { min-height: 370px; }
.infra-card h3 { margin-top: 54px; }
.infra-card p { font-size: .9rem; }
.services-section { padding-top: 72px; }
.services-grid { margin-top: 48px; }
.subscription-section { padding-top: 72px; padding-bottom: 110px; }
.approach-section { padding-top: 0; }
.approach-panel { display: flex; flex-direction: column; min-height: 550px; }
/* Keep the divider in flow so wrapped copy always has room above it. */
.panel-topline { flex-shrink: 0; }
.panel-content { flex-shrink: 0; margin-bottom: 32px; }
.panel-bottomline { position: relative; inset: auto; flex-shrink: 0; margin-top: auto; }
.about-section { padding-top: 40px; padding-bottom: 96px; }
.about-grid { grid-template-columns: .85fr 1.15fr; gap: 64px; }
.about-copy { padding-top: 0; }
.about-copy p { font-size: .94rem; }
.about-copy .text-link-dark { color: var(--cyan); }
.contact-section { padding-bottom: 96px; }
.faq-section { padding-top: 0; }
.hero-proof { color: #a8bec7; font-size: .82rem; }
.visual-topline, .visual-footer { color: #abc6d2; }
.floating-label, .availability-card p, .shield-card small { color: #aac5d2; }
.approach-lede, .approach-step p { font-size: .94rem; }
.faq-list details p { color: #a8bec7; font-size: .89rem; }
.service-scope span, .infra-card li { color: #adc6ce; font-size: .68rem; }
.installations-block { margin-top: 76px; padding-top: 52px; border-top: 1px solid var(--line); }
.installations-heading { display: grid; grid-template-columns: minmax(0, 1fr) minmax(270px, .54fr); align-items: end; column-gap: 90px; }
.installations-heading h3 { margin: 0; color: #f3f8fd; font-size: clamp(2.1rem, 4vw, 3.65rem); font-weight: 600; letter-spacing: -.065em; line-height: .99; }
.installations-heading h3 span { color: var(--blue); }
.installations-heading > div:last-child > p { margin: 0 0 23px; color: #b5c9d2; font-size: .9rem; line-height: 1.75; }
.field-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; margin-top: 40px; }
.field-card { display: flex; flex-direction: column; min-height: 280px; padding: 27px; border: 1px solid var(--line-strong); border-radius: var(--radius-md); background: linear-gradient(140deg, var(--card-start), var(--card-end)); }
.field-card:focus-within, .field-card:hover { border-color: var(--cyan); }
.field-number { color: var(--cyan); font-size: .67rem; font-weight: 800; letter-spacing: .14em; }
.field-card h3 { margin: 38px 0 16px; color: #f3f9f8; font-size: 1.35rem; line-height: 1.2; letter-spacing: -.035em; }
.field-card p { margin: 0; color: #b5c9d2; font-size: .84rem; line-height: 1.7; }
.field-card-label { margin-top: auto; padding-top: 22px; color: var(--energy); font-size: .68rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }
.subscription-benefits small { font-size: .81rem; color: #b0c7cd; }
.subscription-card-head, .subscription-flow { font-size: .66rem; color: #aec7ce; }
.footer-bottom { flex-wrap: wrap; gap: 20px; padding: 25px 0; color: #a5bec8; font-size: .75rem; }
.footer-channels { display: flex; flex-wrap: wrap; gap: 10px 20px; }
.footer-bottom a { min-height: 30px; display: inline-flex; align-items: center; }
.work-section { padding-top: 24px; }
.work-section h2 { font-size: clamp(2.4rem, 4vw, 3.5rem); }
.work-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; margin-top: 42px; }
.work-card { display: flex; flex-direction: column; padding: 28px; border: 1px solid var(--line-strong); border-radius: var(--radius-md); background: linear-gradient(140deg, var(--card-start), var(--card-end)); }
.work-tag { color: var(--energy); font-size: .73rem; font-weight: 700; }
.work-card h3 { color: #f3f9f8; font-size: 1.4rem; line-height: 1.25; letter-spacing: -.035em; margin: 23px 0 16px; }
.work-card p { color: #b5c9d2; font-size: .86rem; line-height: 1.7; margin: 0 0 18px; }
.work-card .work-result { padding-top: 16px; border-top: 1px solid var(--line); color: #bbd9dc; }
.work-card .text-link { margin-top: auto; min-height: 44px; font-size: .8rem; }
@media (max-width: 1080px) {
  .primary-nav { gap: 18px; }
  .work-grid { gap: 12px; }
  .work-card { padding: 22px; }
  .service-card-digital { grid-column: 1 / -1; }
}
@media (max-width: 780px) {
  main [id] { scroll-margin-top: 92px; }
  html:not(.js) .site-header { position: relative; margin: 10px auto 0; border-radius: 22px; }
  html:not(.js) .nav-toggle { display: none; }
  html:not(.js) .primary-nav { position: static; grid-column: 1 / -1; visibility: visible; opacity: 1; pointer-events: auto; transform: none; box-shadow: none; }
  html:not(.js) .hero { padding-top: 56px; }
  .primary-nav { visibility: hidden; }
  .site-header.nav-open .primary-nav { visibility: visible; }
  .nav-contact { display: block; }
  .hero { padding: 133px 0 56px; }
  .hero-grid { gap: 40px; }
  .hero-proof { margin-top: 32px; }
  .section { padding-top: 64px; padding-bottom: 64px; }
  .infrastructure-section { padding-top: 64px; padding-bottom: 24px; }
  .infrastructure-grid { margin-top: 32px; }
  .infra-card, .infra-card-partner { min-height: 0; padding: 24px; }
  .infra-card h3 { margin-top: 36px; font-size: 1.9rem; }
  .infra-card ul { margin-top: 22px; }
  .partner-line { position: static; margin-top: 26px; }
  .services-grid { margin-top: 32px; }
  .installations-block { margin-top: 54px; padding-top: 36px; }
  .installations-heading { grid-template-columns: 1fr; gap: 22px; }
  .installations-heading > div:last-child > p { font-size: .86rem; }
  .field-grid { grid-template-columns: 1fr; gap: 14px; margin-top: 28px; }
  .field-card { min-height: 0; padding: 24px; }
  .field-card h3 { margin-top: 28px; }
  .work-section { padding-top: 20px; }
  .work-grid { grid-template-columns: 1fr; gap: 14px; margin-top: 28px; }
  .work-card { padding: 23px; }
  .work-card h3 { margin-top: 15px; }
  .work-card h3 br { display: none; }
  .subscription-section { padding-top: 56px; padding-bottom: 80px; }
  .subscription-grid { gap: 30px; }
  .approach-section { padding-top: 0; }
  .approach-grid { gap: 32px; }
  .approach-panel { min-height: 255px; }
  .panel-content { max-width: none; padding: 35px 25px 0; }
  .panel-content h2 { font-size: 2.05rem; }
  .panel-content > p:last-child, .panel-symbol, .panel-kicker { display: none; }
  .panel-bottomline { padding: 14px 18px; }
  .about-grid { grid-template-columns: 1fr; gap: 26px; }
  .about-section { padding-top: 10px; padding-bottom: 64px; }
  .contact-card { gap: 30px; padding: 29px 23px; }
  .contact-section { padding-bottom: 64px; }
  .contact-intro h2 { font-size: 2.4rem; }
  .contact-form { min-width: 0; padding: 21px 16px; }
  .faq-section { padding-top: 0; }
  .faq-grid { gap: 28px; }
  .footer-bottom { gap: 16px; }
}
@media (max-width: 500px) {
  .eyebrow { font-size: .65rem; letter-spacing: .14em; }
  .hero-visual { min-height: 325px; }
  .section-kicker { margin-bottom: 21px; }
  .section-heading h2, .approach-copy h2, .subscription-copy h2, .about-heading h2, .faq-grid h2 { font-size: 2.3rem; }
  .contact-intro h2 { font-size: 2.2rem; }
  .contact-compose { padding: 20px 16px; }
  .infra-card h3 { font-size: 1.9rem; }
  .energy-orbit { top: 51px; opacity: .6; }
  .work-section h2 { font-size: 2.35rem; }
  .form-row { grid-template-columns: 1fr; }
  .footer-channels { flex-direction: column; gap: 6px; }
  .service-card { min-height: 0; padding: 20px; }
  .service-card-digital { grid-column: auto; }
  .service-card-top { align-items: center; }
  .service-card h3 { max-width: none; margin: 16px 0 10px; font-size: 1.1rem; }
  .service-details { margin-top: 8px; }
}
