/* Round controls and precise, centered diagram labels. */
.orbit-space{display:block;position:relative;width:100%;height:auto;aspect-ratio:1;min-height:0;padding:0}
.orbit-space::before{display:block;inset:auto;left:50%;top:50%;width:54%;height:54%;transform:translate(-50%,-50%);border-radius:50%}
.orbit-space .bunny-art{position:absolute;inset:auto;left:50%;top:50%;width:52%;max-width:none;margin:0;transform:translate(-48.8957055215%,-50%)}
.orbit-space .orbit-controls{display:contents}
.orbit-space .orbit-button{position:absolute!important;left:var(--orbit-x);top:var(--orbit-y);right:auto;bottom:auto;width:clamp(106px,19%,146px);aspect-ratio:1;height:auto;min-height:0;border-radius:50%;display:flex;align-items:center;justify-content:center;text-align:center;padding:10px;font-size:13px;line-height:1.35;background:rgba(255,255,255,.14);box-shadow:none}
.orbit-space .orbit-button:nth-child(n){transform:translate(-50%,-50%)}
/* Six equally spaced centers: radius 38.5% of the square stage. */
.orbit-space .orbit-button:nth-child(1){--orbit-x:50%;--orbit-y:11.5%}
.orbit-space .orbit-button:nth-child(2){--orbit-x:83.341978%;--orbit-y:30.75%}
.orbit-space .orbit-button:nth-child(3){--orbit-x:83.341978%;--orbit-y:69.25%}
.orbit-space .orbit-button:nth-child(4){--orbit-x:50%;--orbit-y:88.5%}
.orbit-space .orbit-button:nth-child(5){--orbit-x:16.658022%;--orbit-y:69.25%}
.orbit-space .orbit-button:nth-child(6){--orbit-x:16.658022%;--orbit-y:30.75%}
.orbit-space .orbit-button[aria-pressed=true]{border-color:#b5091b;box-shadow:0 0 0 4px #b5091b0a;background:rgba(255,255,255,.28);color:var(--ink)}
.orbit-space .orbit-button:hover{background:rgba(255,255,255,.32)}
.orbit-space .orbit-button .orbit-label{display:block;max-width:100%;font:inherit;line-height:1.35;color:inherit;letter-spacing:inherit;text-align:center}
.orbit-space .orbit-button .orbit-label-line{display:block;font:inherit;line-height:inherit;color:inherit;letter-spacing:inherit;text-align:center;white-space:nowrap}
.orbit-space .orbit-button .orbit-label.is-centered-label{position:absolute;inset:0;display:block;max-width:none;transform:none}
.centered-circle-ink{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none;font:inherit;letter-spacing:inherit}
.centered-circle-ink text{font:inherit;letter-spacing:inherit;fill:currentColor;text-anchor:middle;dominant-baseline:central}
.step-number.is-centered-label,.map-point-list span.is-centered-label{position:relative}
.round-diagram{font-family:'Segoe UI',Arial,sans-serif}
.round-diagram .graph-connections{fill:none;stroke:#85a7c1;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.round-node>circle:first-child{fill:#ffffff30;stroke:#93b5ce;stroke-width:1.2}
.round-diagram .node-indicator,.round-diagram .port-dots{fill:#b8202a}
.round-diagram text{font:24px 'Segoe UI',Arial,sans-serif;fill:#214e7a;text-anchor:middle;dominant-baseline:central}
.round-diagram text.is-long{font-size:21px}
.round-diagram .graph-center{fill:#dcecf680;stroke:#7ba8c8;stroke-width:1.2}
.round-diagram .graph-inner{fill:#ffffff45;stroke:#a5c5dc;stroke-width:1}
.round-diagram .graph-center-label{font-size:25px}
.contact-intro .bunny-art{display:block;margin:32px auto 0;transform:translateX(1.1042944785%)}
.contact-intro .contact-wordmark{width:min(390px,100%);height:auto;margin:4px auto 0}
/* A local, illustrative street map. */
.geo-scene{max-width:none;padding:20px}
.map-viewport{border-radius:18px;overflow:hidden}
.geo-map{display:block;width:100%;height:auto;border-radius:18px;border:1px solid #bed3e2;font-family:'Segoe UI',Arial,sans-serif}
.geo-map text{fill:#45627c;font-size:14px}
.geo-map .map-labels text{font-size:14px;paint-order:stroke;stroke:#eaf0f3;stroke-width:3px;stroke-linejoin:round}
.geo-map .map-zone{fill:#5796ce0c;stroke:#5e8fb7;stroke-width:1.6;stroke-dasharray:7 6;stroke-linejoin:round}
.geo-map .route-casing{fill:none;stroke:#f5fbff;stroke-width:9;stroke-linecap:round;stroke-linejoin:round}
.geo-map .map-route{fill:none;stroke:#3684ba;stroke-width:4;stroke-linecap:round;stroke-linejoin:round}
.geo-map .map-point circle{fill:#b8202a;stroke:#fff;stroke-width:3}
.geo-map .map-point text{font-size:14px;font-weight:650;fill:white;stroke:none;text-anchor:middle;dominant-baseline:central}
.geo-map .vehicle-label{font-size:12px;fill:#214e7a}
.geo-map .north-label{font-size:12px;font-weight:650}
.map-point-list{list-style:none;display:flex;flex-wrap:wrap;gap:12px 30px;margin:18px 0 0;padding:0;color:var(--ink);font-size:14px}
.map-point-list li{display:flex;align-items:center;gap:9px}
.map-point-list span{display:grid;place-items:center;width:24px;height:24px;flex-shrink:0;border:1px solid #b8202a55;border-radius:50%;color:#b8202a;font-size:12px}
/* Two shared double flashes, then left/right/left/right, repeating. */
.bos-signal{filter:brightness(.46);animation-duration:6.4s;animation-timing-function:linear;animation-iteration-count:infinite;animation-delay:0s}
.bos-signal-left{animation-name:bos-sequence-left}
.bos-signal-right{animation-name:bos-sequence-right}
@keyframes bos-sequence-left{
  0%,3%,7%,8%,12%,21%,25%,26%,30%,49%,53%,69%,73%,100%{filter:brightness(.46)}
  4%,6%,9%,11%,22%,24%,27%,29%,50%,52%,70%,72%{filter:brightness(2.15)}
}
@keyframes bos-sequence-right{
  0%,3%,7%,8%,12%,21%,25%,26%,30%,59%,63%,79%,83%,100%{filter:brightness(.46)}
  4%,6%,9%,11%,22%,24%,27%,29%,60%,62%,80%,82%{filter:brightness(2.15)}
}
.workflow-light{pointer-events:none}
.workflow-stations rect{opacity:1}
.led-halo{opacity:0;filter:blur(3px)}
.led-core{opacity:0;stroke:#ffffffb0;stroke-width:.7}
/* Anchor FORENSIK to the logo axis, with equal gaps to the adjacent words. */
.entry-hint{display:block;box-sizing:border-box;width:100%;padding:0 0 0 .22em;text-align:center;white-space:nowrap}
@media(max-width:380px){.entry-hint{font-size:8px;letter-spacing:.16em;padding-left:.16em}}
@media(min-width:1001px){
  .home-hero{padding-top:0}
  .home-hero .hero-heading,.home-hero .hero-actions{transform:translateY(-96px)}
}
@media(min-width:1550px){
  .home-hero{padding-top:20px}
}
@media(max-width:1190px) and (min-width:1001px){
  .orbit-space .orbit-button{font-size:12px;padding:12px}
}
@media(max-width:650px){
  .orbit-space{aspect-ratio:100/114}
  .orbit-space::before{width:44%;height:38.596491%}
  .orbit-space .bunny-art{width:40%}
  .orbit-space .orbit-button{width:28%;padding:4px;font-size:clamp(10.5px,2.8vw,13px)}
  /* Same circular geometry, allowing room above and below on narrow screens. */
  .orbit-space .orbit-button:nth-child(1){--orbit-x:50%;--orbit-y:14.912281%}
  .orbit-space .orbit-button:nth-child(2){--orbit-x:84.641016%;--orbit-y:32.456140%}
  .orbit-space .orbit-button:nth-child(3){--orbit-x:84.641016%;--orbit-y:67.543860%}
  .orbit-space .orbit-button:nth-child(4){--orbit-x:50%;--orbit-y:85.087719%}
  .orbit-space .orbit-button:nth-child(5){--orbit-x:15.358984%;--orbit-y:67.543860%}
  .orbit-space .orbit-button:nth-child(6){--orbit-x:15.358984%;--orbit-y:32.456140%}
  .round-diagram text{font-size:25px}
  .round-diagram text.is-long{font-size:22px}
  .round-diagram .graph-center-label{font-size:26px}
  .contact-intro .bunny-art{max-width:300px;margin:25px auto 0}
  .contact-intro .contact-wordmark{width:min(330px,100%)}
  .geo-scene{padding:12px}
  .map-viewport{overflow-x:auto;scrollbar-width:thin}
  .geo-map{min-width:780px}
  .geo-map .map-labels text{font-size:17px}
  .map-point-list{gap:9px 18px;font-size:13px}
}
@media(prefers-reduced-motion:reduce){
  .bos-signal{animation:none;filter:brightness(.95)}
  .workflow-stations rect{opacity:1}
  .workflow-tail,.led-halo,.led-core{display:none}
}

/* Legal navigation remains outside the introductory entry link. */
.footer-links{flex-wrap:wrap}.entry-legal-footer{display:flex;justify-content:center;flex-wrap:wrap;gap:12px 26px;padding:16px 20px 22px;color:var(--ink);font-size:12px}.entry-legal-footer a{text-underline-offset:3px}.brief-form button:disabled{opacity:.55;cursor:not-allowed}

.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.footer-links{align-items:center}.footer-links a,.entry-legal-footer a{min-height:36px;display:inline-flex;align-items:center}
.contact-direct{font-size:14px!important;line-height:1.8;overflow-wrap:anywhere;user-select:text;-webkit-user-select:text}
.contact-direct a{display:inline-block;min-height:28px}
html:not(.js) *{animation:none!important;transition:none!important}
html:not(.js) .bunny-art .eyes-core{filter:brightness(.9);opacity:1}
html:not(.js) .bunny-art .eyes-halo{filter:blur(3px);opacity:.12}
html:not(.js) .bos-signal{filter:brightness(.95)}

.inquiry-form h2{font-size:24px;margin-top:0}.inquiry-form>p{font-size:14px;line-height:1.7}.inquiry-form label span{font-weight:400}.inquiry-form [hidden]{display:none}

/* Contact: readable brand and a full-width closing form. */
.contact-intro .contact-wordmark{width:min(460px,100%);max-width:none;margin:16px auto 8px}
.contact-wordmark .mark-source{filter:url(#contact-mark-ink)}
.contact-layout>.inquiry-wide{grid-column:1/-1;width:100%;min-width:0}
.inquiry-wide{padding:36px}
.inquiry-heading{max-width:780px;margin-bottom:28px}
.inquiry-heading h2{font-size:clamp(24px,2.4vw,30px);margin-bottom:12px}
.inquiry-heading p{font-size:15px;line-height:1.75;margin:0 0 12px}
.inquiry-heading .inquiry-required{font-size:13px;margin-bottom:0}
.inquiry-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:30px;row-gap:22px;min-width:0;padding:0;margin:0;border:0}
.inquiry-fields .field{margin:0;min-width:0}
.inquiry-fields input{border-color:#6f8da8;min-height:52px;background:#ffffff26;font-size:16px}
.inquiry-fields .inquiry-organization{grid-column:1/-1}
.inquiry-finish{display:flex;align-items:center;justify-content:space-between;gap:28px;border-top:1px solid var(--line);margin-top:30px;padding-top:24px}
.inquiry-finish .form-note{border:0;margin:0;padding:0;max-width:76ch}
.inquiry-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;flex-shrink:0}
.inquiry-actions .btn{margin:0;min-height:48px}
.inquiry-wide .form-status{margin-bottom:8px}
.inquiry-wide .inquiry-alternative{font-size:13px;margin-bottom:0}
@media(max-width:800px){.inquiry-finish{align-items:flex-start;flex-direction:column;gap:20px}}
@media(max-width:650px){.contact-intro .contact-wordmark{width:min(420px,100%);margin-top:16px}.inquiry-wide{padding:25px 20px}.inquiry-fields{grid-template-columns:1fr;row-gap:20px}.inquiry-heading{margin-bottom:24px}.inquiry-finish{margin-top:24px}}
.site-footer{column-gap:32px;row-gap:18px}
.footer-identity{display:flex;align-items:center;flex-wrap:wrap;gap:8px 12px;min-width:0}
.footer-identity .footer-brand{white-space:nowrap}
.footer-divider{color:var(--muted);font-weight:400}
.footer-descriptor{font-size:12px;letter-spacing:.075em;line-height:1.65}
.site-footer .footer-links{margin-left:auto;justify-content:flex-end;gap:10px 24px}
.site-footer.entry-legal-footer{width:min(var(--max),calc(100% - 64px));margin-inline:auto;justify-content:space-between;padding:25px 0}
@media(max-width:650px){.footer-identity{flex-direction:column;align-items:flex-start;gap:4px}.footer-divider{display:none}.footer-descriptor{font-size:11px;letter-spacing:.055em}.site-footer .footer-links{width:100%;margin-left:0;justify-content:flex-start;gap:8px 18px}.site-footer.entry-legal-footer{width:calc(100% - 36px)}}
.technical-toolbar button,.composer-reset{display:inline-flex;align-items:center;justify-content:center;text-align:center}
