/* Adapted from GovVoice assets/site.css. */
.hosting-section{color:var(--bg);background:var(--dark);--paper:#edf1f5;--accent-soft:#b8c4d2;isolation:isolate;overflow:clip;--hosting-gutter:max(28px,calc((100vw - 1200px)/2));--hosting-viewport:850px}
.hosting-sequence{position:relative}
.hosting-sequence.is-pinned{height:calc(var(--hosting-height) + var(--hosting-travel))}
.hosting-sequence.is-pinned .hosting-stage{position:sticky;top:var(--hosting-top)}
.hosting-stage{position:relative;height:var(--hosting-viewport);min-height:440px;isolation:isolate}
.hosting-stage::before{content:"";position:absolute;inset:0;background:var(--ink);z-index:-1}
.globe-ready .hosting-stage::before{opacity:calc(1 - var(--hosting-darkness,0))}
.hosting-copy{position:absolute;z-index:2;left:var(--hosting-gutter);right:var(--hosting-gutter);top:50%;transform:translateY(-50%);pointer-events:none}
.hosting-copy h2{font-size:clamp(3rem,7.8vw,7.5rem);line-height:1.02;letter-spacing:-.055em;max-width:1000px}
.globe-ready .hosting-copy{transition:opacity .45s,transform .65s var(--ui-ease),visibility 0s}
.globe-ready.is-past-title .hosting-copy{opacity:0;visibility:hidden;transform:translateY(calc(-50% - 24px));transition:opacity .45s,transform .65s var(--ui-ease),visibility 0s .45s}
.hosting-figure{margin:0;position:absolute;inset:0}
.hosting-visual{position:absolute;inset:0;overflow:hidden;isolation:isolate}
.hosting-fallback,.hosting-canvas{position:absolute;inset:0;width:100%;height:100%;object-fit:contain}
.hosting-canvas{visibility:hidden}
.globe-pending .hosting-fallback,.hosting-visual.has-globe .hosting-fallback{visibility:hidden}
.hosting-visual.has-globe .hosting-canvas{visibility:visible}
.hosting-destination{position:absolute;right:var(--hosting-gutter);top:50%;transform:translateY(-50%);width:330px;z-index:2;padding:24px;background:var(--dark);border:0;border-radius:12px}
.hosting-server{display:flex;align-items:center;gap:18px;padding-bottom:20px;margin-bottom:24px;border-bottom:1px solid rgba(184,196,210,.25)}
.hosting-server svg{width:90px;height:70px;flex:none}
.hosting-server span{font-family:var(--sans);font-size:.75rem;line-height:1.8;color:var(--accent-soft)}
.hosting-server strong{font-weight:400;color:var(--bg)}
.hosting-destination h3{font-size:clamp(2.4rem,3.6vw,3.25rem);font-weight:500;letter-spacing:-.045em;line-height:1.05;margin-top:13px}
.hosting-destination>p{font-size:.9375rem;line-height:1.7;color:var(--accent-soft);margin-top:18px}
.hosting-destination a{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:44px;font-size:.75rem;text-decoration:underline;text-underline-offset:4px}
.hosting-source{margin-top:12px;color:var(--accent-soft)}
.globe-ready .hosting-destination{transition:clip-path .65s var(--ui-ease),transform .65s var(--ui-ease)}
.globe-pending .hosting-destination,.globe-ready:not([data-globe-phase=region]) .hosting-destination{visibility:hidden;clip-path:inset(100% 0 0);transform:translateY(calc(-50% + 18px));pointer-events:none}
.globe-ready[data-globe-phase=region] .hosting-destination{clip-path:inset(0)}
.hosting-figure-footer{position:absolute;bottom:25px;left:var(--hosting-gutter);right:var(--hosting-gutter);display:flex;align-items:center;gap:28px;z-index:3;min-height:52px}
.hosting-controls{display:flex;align-items:center;border:1px solid rgba(184,196,210,.35);border-radius:999px;padding:3px}
.hosting-controls button{min-height:44px;border:0;background:transparent;min-width:78px;padding:8px 16px;border-radius:999px;font-size:.8125rem;color:var(--accent-soft)}
.hosting-controls button[aria-pressed=true]{color:var(--dark);background:var(--bg)}
.hosting-section :focus-visible{outline-color:var(--bg)}
.hosting-section:not(.globe-ready):not(.globe-pending) .hosting-copy{top:100px;transform:none}
.hosting-section:not(.globe-ready):not(.globe-pending) .hosting-copy h2{font-size:2rem}
.hosting-section:not(.globe-ready):not(.globe-pending) .hosting-fallback{width:65%;object-fit:contain}
@media(max-width:1000px){.hosting-destination{right:28px;width:290px;padding:20px}.hosting-figure-footer{gap:16px}}
@media(max-width:700px){
 .hosting-section{--hosting-gutter:22px;--hosting-viewport:770px}
 .hosting-copy h2{font-size:clamp(2.8rem,11.6vw,5rem)}
 .hosting-destination{width:auto;left:22px;right:22px;top:auto;bottom:96px;transform:none;padding:17px 20px}
 .hosting-server{position:absolute;right:18px;top:16px;width:100px;display:block;padding:0;margin:0;border:0}
 .hosting-server svg{width:74px;height:57px}.hosting-server span{display:block;font-size:.625rem;line-height:1.7}
 .hosting-destination h3{font-size:2.25rem;margin-top:10px}
 .hosting-destination>p{font-size:.8125rem;margin-top:14px;line-height:1.6;max-width:300px}
 .hosting-destination a{font-size:.6875rem}.hosting-source{margin-top:4px}
 .globe-pending .hosting-destination,.globe-ready:not([data-globe-phase=region]) .hosting-destination{transform:translateY(18px)}
 .hosting-figure-footer{bottom:18px;gap:8px;flex-wrap:wrap;justify-content:space-between}
 .hosting-controls button{font-size:.75rem;min-width:69px;padding-inline:12px}
 .hosting-section:not(.globe-ready):not(.globe-pending) .hosting-copy{top:64px}
 .hosting-section:not(.globe-ready):not(.globe-pending) .hosting-copy h2{font-size:1.5rem}
 .hosting-section:not(.globe-ready):not(.globe-pending) .hosting-fallback{width:100%;height:62%;top:80px}
}
@media(max-height:740px) and (min-width:701px){.hosting-destination{padding:18px;width:300px}.hosting-server{padding-bottom:10px;margin-bottom:16px}.hosting-server svg{height:50px;width:65px}.hosting-destination h3{font-size:2.3rem}.hosting-destination>p{margin-top:12px;font-size:.8125rem}}
@media(prefers-reduced-motion:reduce){.hosting-destination,.hosting-copy{transition:none!important}.globe-ready .hosting-copy{visibility:hidden}}
@media print{.hosting-sequence.is-pinned{height:auto}.hosting-sequence.is-pinned .hosting-stage{position:relative;top:auto}.hosting-canvas,.hosting-controls{display:none!important}.hosting-visual .hosting-fallback{visibility:visible!important}.hosting-destination{visibility:visible!important;clip-path:none!important}}

.hosting-server { display:block; border:0; padding:0; margin:0 0 20px; }
.hosting-server svg { width:100px; height:78px; }
.hosting-destination h3 { margin-top:0; }
.hosting-destination a { font-size:14px; margin-top:18px; }
.hosting-destination>p { font-size:17px; }
@media(max-width:700px) {
 .hosting-server { display:none; }
 .hosting-destination h3 { font-size:clamp(29px,7vw,42px); }
 .hosting-destination>p { font-size:15px; }
 .hosting-destination a { margin-top:8px; font-size:13px; }
}
