/* Shared native overlay shell for expert media and the site credit. */
.visitor-site-credit[data-goliath-open] { border:0; background:transparent; cursor:pointer; }
.visitor-site-credit[data-goliath-open]:hover { color:#d2dbe6; }
.goliath-dialog .icon[hidden] { display:none; }
.media-layer { inline-size:min(1100px,calc(100vw - 40px)); max-inline-size:none; max-block-size:calc(100vh - 40px); max-block-size:calc(100dvh - 40px); padding:0; overflow:auto; border:1px solid #35424f; border-radius:16px; background:#101820; color:#edf2f7; box-shadow:0 32px 100px rgb(0 0 0 / 55%); font-family:Heebo,Arial,sans-serif; color-scheme:dark; }
.media-layer::backdrop { background:rgb(4 8 13 / 88%); backdrop-filter:blur(7px); }
.ep-media [hidden] { display:none!important; }
.ep-media__shell { display:flex; flex-direction:column; }
.ep-media__bar { display:flex; align-items:center; gap:20px; justify-content:space-between; padding:15px 18px; border-block-end:1px solid #2d3a47; }
.ep-media__title { display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:2; overflow:hidden; margin:0; color:#dbe3ed; font:500 14px/1.5 Heebo,Arial,sans-serif; text-align:start; }
.media-layer__close, .ep-media__controls button { position:relative; flex:none; inline-size:38px; block-size:38px; padding:0; border:1px solid #3c4857; border-radius:8px; background:#16212c; color:#c4cfdd; cursor:pointer; }
.media-layer__close::before, .media-layer__close::after { content:""; position:absolute; inset:0; inline-size:15px; block-size:1.5px; margin:auto; background:currentColor; transform:rotate(45deg); }
.media-layer__close::after { transform:rotate(-45deg); }
.ep-media__stage { display:grid; place-items:center; min-block-size:180px; background:#090f15; }
.ep-media__image { display:block; max-inline-size:100%; max-block-size:calc(100vh - 200px); max-block-size:calc(100dvh - 200px); inline-size:auto; block-size:auto; object-fit:contain; }
.ep-media--video .ep-media__stage { aspect-ratio:auto; block-size:min(56.25vw,calc(100vh - 185px)); block-size:min(56.25vw,calc(100dvh - 185px)); min-block-size:180px; }
.ep-media__frame { inline-size:100%; block-size:100%; min-block-size:240px; border:0; }
.ep-media__bottom { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:14px; padding:13px 18px; border-block-start:1px solid #2d3a47; }
.ep-media__count { color:#91a2b6; font:400 11px/1.5 Heebo,Arial,sans-serif; letter-spacing:.07em; }
.ep-media__controls { display:flex; gap:7px; }
.ep-media__controls button::before { content:""; position:absolute; inset:0; margin:auto; inline-size:8px; block-size:8px; border-top:1.5px solid currentColor; border-right:1.5px solid currentColor; transform:rotate(45deg); }
.ep-media__controls .ep-media__next::before { transform:rotate(-135deg); }
html:not([dir=rtl]) .ep-media__controls .ep-media__prev::before { transform:rotate(-135deg); }
html:not([dir=rtl]) .ep-media__controls .ep-media__next::before { transform:rotate(45deg); }
.ep-media__original { color:#b7c4d4; font:400 11px/1.5 Heebo,Arial,sans-serif; text-decoration:underline; text-decoration-color:#a53244; text-underline-offset:5px; }
.ep-media button:hover { border-color:#a53244; color:#f0f3f6; }
.ep-media :is(button,a):focus-visible { outline:2px solid #db5b70; outline-offset:3px; }
.ep-media__notice { max-inline-size:500px; padding:28px; text-align:center; color:#aebbc9; font:400 14px/1.6 Heebo,Arial,sans-serif; }
.ep-media__permission { padding:8px 14px; border:1px solid #913546; border-radius:7px; background:#231c25; color:#edf2f7; font:400 12px/1.5 Heebo,Arial,sans-serif; cursor:pointer; }
@media(max-width:560px) { .media-layer { inline-size:calc(100vw - 20px); max-block-size:calc(100vh - 20px); max-block-size:calc(100dvh - 20px); border-radius:11px; } .ep-media__bar,.ep-media__bottom { padding:12px; } .ep-media__title { font-size:12px; } .ep-media__image { max-block-size:calc(100vh - 175px); max-block-size:calc(100dvh - 175px); } .ep-media__frame { min-block-size:180px; } }

/* GOLIATH: existing binary glyphs briefly become anomalies in the same grid cell. */
.goliath-dialog { inline-size:min(720px,calc(100vw - 32px)); max-block-size:calc(100vh - 32px); max-block-size:calc(100dvh - 32px); background:#0c1219; text-align:center; }
.goliath-shell { position:relative; isolation:isolate; background:radial-gradient(ellipse at 50% 28%,#1c2b38,transparent 65%); }
.goliath-bar { position:sticky; inset-block-start:0; z-index:2; display:flex; justify-content:flex-end; padding:12px 14px 0; background:linear-gradient(#0c1219,transparent); }
.goliath-dialog .media-layer__close { inline-size:44px; block-size:44px; background:rgb(20 31 42 / 85%); }
.goliath-code { position:absolute; z-index:-1; inset:34px 0 auto; display:grid; grid-template-columns:repeat(32,minmax(0,1fr)); gap:4px clamp(1px,1vw,7px); margin:0; padding:12px clamp(16px,5vw,48px); overflow:hidden; color:#8ba2b7; font:500 clamp(9px,1.6vw,14px)/1.6 ui-monospace,SFMono-Regular,Consolas,monospace; user-select:none; pointer-events:none; mask-image:radial-gradient(ellipse at center,#000 22%,transparent 76%); }
.goliath-code > span { opacity:.3; transition:opacity .18s ease,color .18s ease,text-shadow .18s ease; }
.goliath-code .is-anomaly { opacity:.95; color:#ff405c; text-shadow:0 0 12px rgb(255 64 92 / 65%); }
.goliath-copy { padding:0 clamp(22px,5vw,48px) 20px; }
.goliath-title { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:8px; }
.goliath-title__mark { display:block; flex:none; inline-size:min(100%,clamp(144px,26vh,208px)); block-size:auto; object-fit:contain; }
.goliath-copy h2 { margin:0; color:#f1f4f8; font:600 13px/1.4 Heebo,Arial,sans-serif; letter-spacing:.24em; text-transform:uppercase; }
.goliath-copy h2::after { content:""; display:block; inline-size:48px; block-size:2px; margin:12px auto; background:linear-gradient(to right,transparent,#e72d49,transparent); }
.goliath-copy p { max-inline-size:560px; margin:0 auto; color:#aab9c9; font:400 clamp(13px,1.8vw,15px)/1.55 Heebo,Arial,sans-serif; text-wrap:pretty; }
.goliath-contact { display:inline-flex; align-items:center; justify-content:center; gap:20px; inline-size:min(100%,280px); min-block-size:44px; margin-block-start:18px; padding:10px 16px; border:1px solid #e1e7ef; border-radius:8px; background:#e1e7ef; color:#0c1219; font:600 13px/1.5 Heebo,Arial,sans-serif; cursor:pointer; transition:background-color .2s,border-color .2s,color .2s; }
.goliath-contact .icon { inline-size:17px; block-size:17px; }
.goliath-contact:hover { background:#fff; border-color:#fff; }
.goliath-contact.is-checking { border-color:#a3b1bf; background:#d4dde5; color:#1b2835; cursor:progress; font:500 11px/1.5 ui-monospace,SFMono-Regular,Consolas,monospace; letter-spacing:.06em; }
.goliath-contact.is-unavailable { border-color:#643340; background:#211820; color:#f0bdc8; cursor:default; font:500 12px/1.5 ui-monospace,SFMono-Regular,Consolas,monospace; letter-spacing:.08em; }
.goliath-pipeline-space { min-block-size:58px; padding-block-start:10px; }
.goliath-pipeline { inline-size:min(100%,280px); margin-inline:auto; }
.goliath-pipeline[hidden] { display:none; }
.goliath-pipeline__caption { display:block; margin-block-end:9px; color:#8193a5; font:400 8px/1.4 ui-monospace,SFMono-Regular,Consolas,monospace; letter-spacing:.16em; }
.goliath-pipeline__steps { position:relative; isolation:isolate; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:4px; }
.goliath-pipeline__steps::before,.goliath-pipeline__steps::after { content:""; position:absolute; z-index:-1; inset-inline:16.6667%; inset-block-start:3px; block-size:1px; background:#344252; }
.goliath-pipeline__steps::after { background:#c25667; transform:scaleX(var(--pipeline-progress,0)); transform-origin:left; transition:transform .4s ease; }
.goliath-pipeline__steps > span { position:relative; min-inline-size:0; padding-block-start:16px; color:#697d91; font:400 8px/1.4 ui-monospace,SFMono-Regular,Consolas,monospace; letter-spacing:.06em; }
.goliath-pipeline__steps > span::before { content:""; position:absolute; inset-inline-start:50%; inset-block-start:0; inline-size:7px; block-size:7px; border:1px solid #536275; border-radius:50%; background:#0c1219; transform:translateX(-50%); transition:background-color .2s,border-color .2s; }
.goliath-pipeline__steps > .is-active { color:#e2cad0; }
.goliath-pipeline__steps > .is-active::before { border-color:#ce6374; background:#ce6374; }
.goliath-pipeline__steps > .is-complete { color:#a4b3c2; }
.goliath-pipeline__steps > .is-complete::before { border-color:#a4b3c2; background:#a4b3c2; }
.goliath-pipeline.is-finished .goliath-pipeline__steps > span:last-child { color:#e2a6b2; }
.goliath-pipeline.is-finished .goliath-pipeline__steps > span:last-child::before { border-color:#c25667; background:#c25667; }
.goliath-dialog :is(button,a):focus-visible { outline:2px solid #e8697f; outline-offset:4px; }
@media (max-width:560px) {
 .goliath-code { margin-block-start:0; padding-block:10px; gap:3px 1px; }
 .goliath-copy { padding-block-start:0; }
 .goliath-copy h2::after { margin-block:10px; }
 .goliath-contact { margin-block-start:16px; }
}
@media (max-height:640px) {
 .goliath-bar { padding-block-start:6px; }
 .goliath-title__mark { inline-size:128px; }
 .goliath-copy h2::after { margin-block:8px; }
 .goliath-copy { padding-block-end:12px; }
 .goliath-copy p { font-size:13px; line-height:1.45; }
 .goliath-contact { margin-block-start:12px; }
}
@media (max-height:440px) and (min-width:560px) {
 .goliath-copy { display:grid; grid-template-columns:136px minmax(0,1fr); align-items:center; gap:0 20px; padding:0 24px 12px; }
 .goliath-title { grid-column:1; grid-row:1 / 4; }
 .goliath-title__mark { inline-size:128px; }
 .goliath-copy h2 { font-size:10px; letter-spacing:.16em; }
 .goliath-copy h2::after { content:none; }
 .goliath-copy p,.goliath-contact,.goliath-pipeline-space { grid-column:2; justify-self:center; }
 .goliath-code { inset-block-start:30px; }
}
@media (prefers-reduced-motion:reduce) {
 .goliath-code > span,.goliath-pipeline__steps::after,.goliath-pipeline__steps > span::before { transition:none; }
 .goliath-contact { transition:none; }
}
