
:root{--bg:#030a16;--bg2:#071427;--surface:#091a31;--surface2:#0d2340;--line:#1b4264;--text:#f4f8ff;--muted:#b6c5d9;--cyan:#35d6ff;--blue:#3b82f6;--violet:#7769ff;--green:#5ef08b;--lime:#75f05c;--red:#ff5d6c;--amber:#ffcf5a;--shadow:0 24px 70px rgba(0,0,0,.42);--radius:22px;--max:1280px}
*{box-sizing:border-box}html{scroll-behavior:smooth;background:var(--bg)}body{margin:0;font:16px/1.65 Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--text);background:radial-gradient(circle at 10% 0%,rgba(0,142,255,.13),transparent 34rem),radial-gradient(circle at 95% 20%,rgba(117,94,255,.13),transparent 36rem),linear-gradient(180deg,#030a16 0,#061224 46%,#070b17 100%);min-height:100vh}a{color:inherit}img{max-width:100%;height:auto}.wrap{width:min(var(--max),calc(100% - 36px));margin:auto}.skip{position:fixed;left:16px;top:-100px;z-index:999;padding:10px 14px;background:#fff;color:#000}.skip:focus{top:16px}.site-header{position:sticky;top:0;z-index:50;background:rgba(3,10,22,.88);backdrop-filter:blur(20px);border-bottom:1px solid rgba(113,197,255,.18)}.nav{min-height:78px;display:flex;align-items:center;gap:22px}.brand{display:flex;align-items:center;gap:13px;text-decoration:none;min-width:max-content}.brand img{width:54px;height:54px;border-radius:14px;box-shadow:0 0 24px rgba(53,214,255,.18)}.brand b{font-size:1.2rem}.brand small{display:block;letter-spacing:.14em;color:#a9bad0;font-size:.66rem;font-weight:800}.menu{display:flex;gap:4px;align-items:center;margin-left:auto}.menu a{padding:10px 11px;text-decoration:none;color:#d9e5f6;font-weight:800;font-size:.91rem;border-radius:10px}.menu a:hover,.menu a[aria-current=page]{background:#0e2744;color:white}.nav-actions{display:flex;gap:8px}.btn,.button{appearance:none;border:1px solid #28668c;background:linear-gradient(180deg,#16466b,#0d2946);color:white;padding:11px 17px;border-radius:12px;text-decoration:none;font-weight:850;cursor:pointer;box-shadow:inset 0 1px rgba(255,255,255,.12),0 7px 20px rgba(0,0,0,.22)}.btn.primary,.button-primary{border-color:#4fd5ff;background:linear-gradient(180deg,#22c7ff,#2169e8 75%,#184cc7);box-shadow:inset 0 1px #d6f8ff,0 5px 0 #123a8f,0 12px 30px rgba(33,105,232,.35)}.btn.green{border-color:#64ef92;background:linear-gradient(180deg,#48e58a,#14995f);box-shadow:0 5px 0 #087047,0 14px 28px rgba(20,153,95,.3)}.btn.ghost{background:#0b1729;border-color:#28435d}.mobile-toggle{display:none;margin-left:auto}.hero{padding:70px 0 54px}.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:54px;align-items:center}.eyebrow{display:inline-flex;gap:9px;align-items:center;color:#79e9ff;font-size:.78rem;font-weight:900;letter-spacing:.15em;text-transform:uppercase}.eyebrow:before{content:"";width:8px;height:8px;border-radius:50%;background:#5ef08b;box-shadow:0 0 15px #5ef08b}.hero h1{font-size:clamp(3rem,6.2vw,6.1rem);line-height:.98;letter-spacing:-.055em;margin:18px 0 22px}.gradient-text{background:linear-gradient(90deg,#50e4ff,#65b8ff 42%,#8e7cff 72%,#6df08c);background-clip:text;color:transparent}.hero p{font-size:1.18rem;color:#c3d1e3;max-width:720px}.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}.trust-row{display:flex;gap:10px;flex-wrap:wrap;margin-top:24px}.chip{padding:8px 11px;border:1px solid #22425f;border-radius:999px;background:rgba(8,28,49,.8);font-size:.82rem;color:#c6d6e8}.hero-logo{padding:18px;border-radius:32px;background:linear-gradient(145deg,rgba(11,28,48,.9),rgba(4,12,26,.84));border:1px solid #1d486a;box-shadow:var(--shadow),0 0 80px rgba(69,153,255,.10)}.hero-logo img{display:block;border-radius:20px}.section{padding:64px 0}.section.alt{background:linear-gradient(180deg,rgba(7,20,39,.66),rgba(9,12,30,.72));border-block:1px solid rgba(91,160,220,.12)}.section-head{text-align:center;max-width:830px;margin:0 auto 34px}.section-head h2{font-size:clamp(2rem,4.2vw,3.7rem);line-height:1.05;letter-spacing:-.04em;margin:8px 0 14px}.section-head p{color:#b7c6da;font-size:1.05rem}.grid{display:grid;gap:16px}.grid-3{grid-template-columns:repeat(3,1fr)}.grid-4{grid-template-columns:repeat(4,1fr)}.card{background:linear-gradient(145deg,rgba(12,32,56,.92),rgba(6,16,31,.94));border:1px solid #1d3d5b;border-radius:var(--radius);padding:24px;box-shadow:inset 0 1px rgba(255,255,255,.04),0 16px 38px rgba(0,0,0,.2)}.card:hover{border-color:#27648d}.card .num{display:inline-grid;place-items:center;width:38px;height:38px;border-radius:10px;background:#0c3851;border:1px solid #24749a;color:#69e7ff;font-weight:900}.card h3{margin:18px 0 8px}.card p{color:#bdcadb;margin:0}.feature-icon{width:48px;height:48px;border-radius:14px;display:grid;place-items:center;background:linear-gradient(145deg,#0d4565,#08243d);border:1px solid #236484;font-size:1.3rem}.command{background:linear-gradient(145deg,#071a2d,#0b1230);border:1px solid #28547b;border-radius:28px;padding:26px;box-shadow:var(--shadow)}.command-tabs{display:flex;gap:8px;flex-wrap:wrap}.command-tabs button{background:#09182b;color:#dce9f9;border:1px solid #234766;padding:12px 16px;border-radius:11px;font-weight:900;cursor:pointer}.command-tabs button.active{background:linear-gradient(180deg,#27cffc,#2066e5);border-color:#63e4ff;color:#fff}.dropzone{margin-top:18px;padding:52px 24px;border:2px dashed #26789c;border-radius:23px;text-align:center;background:radial-gradient(circle at center,rgba(46,204,255,.06),transparent 60%)}.dropzone.drag{border-color:#61ef91;background:rgba(62,221,137,.07)}.dropzone input{position:absolute;opacity:0;pointer-events:none}.metrics{display:grid;grid-template-columns:repeat(6,1fr);gap:14px;margin-top:22px}.gauge-card{min-height:236px;text-align:center;padding:18px 12px;background:linear-gradient(145deg,#08192c,#050c18);border:1px solid #1d4160;border-radius:20px}.gauge{--p:0;--c:var(--green);width:142px;height:142px;border-radius:50%;margin:0 auto 12px;display:grid;place-items:center;background:radial-gradient(circle,#07101c 56%,transparent 57%),conic-gradient(var(--c) calc(var(--p)*1%),#172432 0);box-shadow:inset 0 0 18px #000,0 0 24px color-mix(in srgb,var(--c) 28%,transparent);position:relative}.gauge:before{content:"";position:absolute;inset:8px;border-radius:50%;border:1px solid rgba(255,255,255,.09);box-shadow:inset 0 3px 7px rgba(255,255,255,.05),0 3px 7px #000}.gauge strong{font-size:1.55rem;z-index:2}.gauge-card h3{font-size:.96rem;margin:5px 0}.gauge-card small{color:#8698ae}.metric-strip{display:grid;grid-template-columns:repeat(6,1fr);gap:10px;margin-top:12px}.stat{padding:14px;border-radius:14px;background:#07111f;border:1px solid #1c3852}.stat b{font-size:1.15rem;display:block}.stat span{font-size:.76rem;color:#8fa1b8;text-transform:uppercase;letter-spacing:.08em}.app-shell{padding:36px 0 72px}.app-header{margin-bottom:18px}.app-nav{display:flex;gap:7px;overflow-x:auto;padding:7px;background:#050d19;border:1px solid #1b334a;border-radius:16px;position:sticky;top:87px;z-index:30}.app-nav a{white-space:nowrap;text-decoration:none;padding:10px 14px;border-radius:10px;font-weight:850;color:#d6e2f1}.app-nav a.active,.app-nav a:hover{background:#0e3151;color:#fff}.tool-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:18px}.panel{background:rgba(6,17,32,.93);border:1px solid #1b3d5b;border-radius:20px;padding:22px}.panel h2,.panel h3{margin-top:0}.field{display:grid;gap:7px;margin:12px 0}.field label{font-weight:850;color:#d9e9f8}.field input,.field select,.field textarea{width:100%;padding:12px 13px;border-radius:10px;border:1px solid #28506f;background:#061426;color:white}.field textarea{min-height:130px}.table-wrap{overflow:auto;border:1px solid #1b374f;border-radius:14px}.table{width:100%;border-collapse:collapse;min-width:760px}.table th,.table td{text-align:left;padding:12px;border-bottom:1px solid #183148}.table th{color:#77e5ff;background:#071321;font-size:.78rem;text-transform:uppercase;letter-spacing:.07em}.status{display:inline-flex;padding:5px 8px;border-radius:999px;font-size:.72rem;font-weight:900;border:1px solid #28506c}.status.good{color:#7cf2a2;background:#092619;border-color:#17683b}.status.warn{color:#ffd873;background:#2b2108;border-color:#735315}.status.bad{color:#ff9da6;background:#2b0d12;border-color:#74242c}.preview-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px}.asset{background:#071321;border:1px solid #1d3d57;border-radius:14px;overflow:hidden}.asset .thumb{aspect-ratio:4/3;display:grid;place-items:center;background:#020914}.asset img{width:100%;height:100%;object-fit:contain}.asset .meta{padding:12px}.asset .meta b{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.asset .meta small{color:#8fa3bb}.result-box{padding:15px;border:1px solid #245277;background:#07192c;border-radius:13px;color:#cce5f8}.legal{max-width:940px;margin:auto}.legal h1{font-size:clamp(2.6rem,5vw,4.5rem);line-height:1}.legal h2{margin-top:36px}.legal p,.legal li{color:#c7d3e2}.legal .updated{color:#7ee9ff;font-weight:800}.site-footer{border-top:1px solid #162f47;background:#020812;padding:48px 0 24px}.footer-grid{display:grid;grid-template-columns:1.4fr repeat(3,1fr);gap:32px}.footer-grid h4{margin:0 0 10px;color:#77e7ff}.footer-grid a{display:block;text-decoration:none;color:#aebed1;margin:5px 0}.footer-logo{display:flex;align-items:center;gap:12px}.footer-logo img{width:58px;height:58px;border-radius:14px}.footer-bottom{border-top:1px solid #13283c;margin-top:32px;padding-top:18px;display:flex;justify-content:space-between;gap:20px;color:#899bb1;font-size:.84rem}.notice{background:#091c2e;border-left:4px solid #39d7ff;padding:14px 16px;border-radius:8px;color:#caddf0}.offline-banner{display:none;position:fixed;right:18px;bottom:18px;background:#2b2108;border:1px solid #735315;color:#ffe087;padding:12px 15px;border-radius:12px;z-index:80}.offline-banner.show{display:block}
@media(max-width:1080px){.menu{display:none;position:absolute;top:78px;left:18px;right:18px;padding:12px;flex-direction:column;background:#061326;border:1px solid #21425e;border-radius:15px;align-items:stretch}.menu.open{display:flex}.mobile-toggle{display:inline-flex}.hero-grid,.tool-grid{grid-template-columns:1fr}.hero-logo{max-width:760px;margin:auto}.metrics{grid-template-columns:repeat(3,1fr)}.metric-strip{grid-template-columns:repeat(3,1fr)}.grid-4{grid-template-columns:repeat(2,1fr)}}
@media(max-width:720px){.wrap{width:min(100% - 22px,var(--max))}.nav{min-height:68px}.brand img{width:46px;height:46px}.brand b{font-size:1rem}.nav-actions .btn:not(.primary){display:none}.hero{padding-top:42px}.hero h1{font-size:clamp(2.7rem,14vw,4.5rem)}.grid-3,.grid-4,.footer-grid{grid-template-columns:1fr}.metrics{grid-template-columns:repeat(2,1fr)}.metric-strip{grid-template-columns:repeat(2,1fr)}.gauge{width:126px;height:126px}.section{padding:48px 0}.footer-bottom{flex-direction:column}.command{padding:16px}}


/* v1.0.1 — format/width merchandising + universal PWA install experience */
.format-showcase{background:radial-gradient(circle at 18% 8%,rgba(44,161,255,.12),transparent 28%),radial-gradient(circle at 82% 18%,rgba(31,226,181,.09),transparent 24%)}
.format-badges{display:flex;flex-wrap:wrap;gap:12px;margin:22px 0}.format-badges span{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:10px 18px;border-radius:15px;border:1px solid rgba(93,203,255,.28);background:linear-gradient(145deg,rgba(22,64,98,.75),rgba(8,31,54,.88));box-shadow:inset 0 1px 0 rgba(255,255,255,.09),0 10px 24px rgba(0,0,0,.16);font-weight:900;color:#e8fbff;letter-spacing:.02em}.format-badges.compact span{min-height:38px;padding:7px 12px;border-radius:11px;font-size:.86rem}.width-showcase,.format-callout,.capability-banner{margin-top:22px;padding:24px;border:1px solid rgba(85,234,198,.18);border-radius:22px;background:linear-gradient(145deg,rgba(8,31,54,.72),rgba(6,20,38,.8));box-shadow:inset 0 1px 0 rgba(255,255,255,.05)}.width-showcase h3{margin-top:0}.width-chips{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:9px;margin-top:16px}.width-chips span{display:grid;place-items:center;min-height:44px;padding:8px;border:1px solid rgba(91,172,255,.18);border-radius:12px;background:rgba(8,26,47,.9);color:#aeeeff;font-weight:850;font-size:.86rem}.width-chips.compact{grid-template-columns:repeat(8,minmax(0,1fr))}.pwa-promo-card{padding:36px;border:1px solid rgba(79,225,255,.22);border-radius:28px;background:radial-gradient(circle at 80% 20%,rgba(44,209,255,.14),transparent 30%),linear-gradient(145deg,#0b223d,#07182c);box-shadow:0 26px 70px rgba(0,0,0,.28),inset 0 1px 0 rgba(255,255,255,.06)}
.nav-actions [data-install]{display:inline-flex}.nav-actions [data-install].is-installed{opacity:.65;cursor:default}
html.oip-install-open,html.oip-install-open body{overflow:hidden}.oip-install-overlay{position:fixed;inset:0;z-index:99999;display:grid;place-items:center;padding:20px;background:rgba(2,9,18,.78);backdrop-filter:blur(18px) saturate(130%);opacity:0;visibility:hidden;transition:.22s ease;overflow:auto}.oip-install-overlay.is-visible{opacity:1;visibility:visible}.oip-install-card{position:relative;width:min(620px,100%);padding:30px;border-radius:30px;border:1px solid rgba(83,214,255,.32);background:radial-gradient(circle at 50% -10%,rgba(62,173,255,.2),transparent 35%),linear-gradient(155deg,#0d2745,#061524 72%);box-shadow:0 40px 120px rgba(0,0,0,.58),inset 0 1px 0 rgba(255,255,255,.1);text-align:center;transform:translateY(18px) scale(.98);transition:.22s ease}.oip-install-overlay.is-visible .oip-install-card{transform:none}.oip-install-close{position:absolute;right:16px;top:14px;width:42px;height:42px;border-radius:50%;border:1px solid rgba(130,196,231,.24);background:rgba(5,20,35,.72);color:#dff7ff;font-size:25px;cursor:pointer}.oip-install-logo-wrap{width:min(72vw,310px);margin:0 auto 12px;padding:8px;border-radius:22px;background:rgba(5,19,34,.66);border:1px solid rgba(97,218,255,.18);box-shadow:0 18px 50px rgba(0,0,0,.22)}.oip-install-logo{display:block;width:100%;height:auto;border-radius:16px}.oip-install-kicker{color:#64e7ff;font-size:11px;font-weight:950;letter-spacing:1.6px}.oip-install-card h2{margin:9px 0 10px;font-size:clamp(28px,5vw,42px);line-height:1.04;color:#fff}.oip-install-lead{margin:0 auto;max-width:530px;color:#bed2e4;line-height:1.65}.oip-install-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin:20px 0 14px}.oip-install-grid span{padding:10px 12px;border:1px solid rgba(83,186,244,.17);border-radius:12px;background:rgba(6,25,44,.62);color:#d9f4ff;font-size:.82rem;font-weight:760}.oip-install-note{margin:14px 0;padding:13px 14px;border:1px solid rgba(87,241,170,.28);border-radius:13px;background:rgba(27,111,86,.12);color:#bff7df;line-height:1.5}.oip-install-note.is-highlighted{border-color:#65f0ad;box-shadow:0 0 24px rgba(73,240,165,.2)}.oip-install-actions{display:grid;grid-template-columns:1.55fr 1fr;gap:11px;margin-top:18px}.oip-install-primary,.oip-install-secondary{min-height:54px;padding:10px 16px;border-radius:13px;font-weight:900;cursor:pointer}.oip-install-primary{border:1px solid #78ebff;color:#031421;background:linear-gradient(180deg,#73edff,#42c9f0);box-shadow:0 13px 28px rgba(48,190,239,.23),inset 0 1px 0 rgba(255,255,255,.7)}.oip-install-secondary{border:1px solid rgba(134,183,221,.28);color:#dbeaf6;background:rgba(9,30,50,.85)}.oip-install-card small{display:block;margin-top:18px;color:#7690a8;letter-spacing:.45px;text-transform:uppercase;font-weight:800}
@media(max-width:1000px){.width-chips,.width-chips.compact{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:620px){.width-chips,.width-chips.compact{grid-template-columns:repeat(2,minmax(0,1fr))}.oip-install-overlay{place-items:end center;padding:10px}.oip-install-card{padding:24px 16px 20px;border-radius:24px}.oip-install-grid,.oip-install-actions{grid-template-columns:1fr}.format-badges{gap:8px}.format-badges span{flex:1 1 calc(50% - 8px)}}
@media(prefers-reduced-motion:reduce){.oip-install-overlay,.oip-install-card{transition:none!important}}/* =========================================================
   OMEGA IMAGE PRO — PREMIUM SITE-WIDE FOOTER
   Applies to all pages using .site-footer
   ========================================================= */

.site-footer {
    position: relative;
    width: 100%;
    margin-top: 72px;
    padding: 64px 0 28px;

    background:
        radial-gradient(
            circle at 15% 0%,
            rgba(40, 180, 220, 0.10),
            transparent 34%
        ),
        radial-gradient(
            circle at 85% 100%,
            rgba(40, 220, 170, 0.07),
            transparent 30%
        ),
        linear-gradient(
            180deg,
            #071526 0%,
            #06111f 48%,
            #040b13 100%
        );

    border-top: 1px solid rgba(90, 210, 235, 0.16);

    box-shadow:
        inset 0 1px 0 rgba(255,255,255,0.025),
        0 -20px 60px rgba(0,0,0,0.18);

    overflow: hidden;
}


/* subtle top glow line */
.site-footer::before {
    content: "";
    position: absolute;
    top: 0;
    left: 8%;
    right: 8%;
    height: 1px;

    background:
        linear-gradient(
            90deg,
            transparent,
            rgba(85, 220, 240, 0.75),
            rgba(72, 220, 178, 0.52),
            transparent
        );

    opacity: 0.72;
    pointer-events: none;
}


.site-footer .wrap {
    width: min(1180px, calc(100% - 36px));
    margin-inline: auto;
}


/* =========================================================
   MAIN FOOTER GRID
   ========================================================= */

.site-footer .footer-grid {
    display: grid;
    grid-template-columns: minmax(280px, 1.6fr) repeat(3, minmax(150px, 1fr));

    gap: 42px;

    align-items: start;
}


/* =========================================================
   BRAND / INTRO COLUMN
   ========================================================= */

.site-footer .footer-grid > div:first-child {
    padding-right: 12px;
}


.site-footer .footer-logo {
    display: flex;
    align-items: center;

    gap: 14px;

    margin-bottom: 18px;
}


.site-footer .footer-logo img {
    flex: 0 0 auto;

    width: 58px;
    height: 58px;

    object-fit: contain;

    border-radius: 15px;

    background:
        linear-gradient(
            145deg,
            rgba(21, 63, 104, 0.9),
            rgba(7, 25, 46, 0.95)
        );

    border: 1px solid rgba(75, 205, 232, 0.24);

    box-shadow:
        inset 0 1px 0 rgba(255,255,255,0.08),
        0 10px 24px rgba(0,0,0,0.28),
        0 0 20px rgba(64, 200, 225, 0.08);
}


.site-footer .footer-logo b {
    display: block;

    color: #ffffff;

    font-size: 1.2rem;
    font-weight: 900;
    line-height: 1.15;

    letter-spacing: -0.02em;
}


.site-footer .footer-logo div div {
    margin-top: 4px;

    color: #8fa9bf !important;

    font-size: 0.88rem;
    font-weight: 600;

    line-height: 1.35;
}


.site-footer .footer-grid > div:first-child > p {
    max-width: 470px;

    margin: 0;

    color: #9fb4c7 !important;

    font-size: 0.98rem;
    line-height: 1.75;
}


/* =========================================================
   FOOTER COLUMN HEADINGS
   ========================================================= */

.site-footer .footer-grid h4 {
    margin: 0 0 18px;

    color: #ffffff;

    font-size: 1rem;
    font-weight: 900;
    line-height: 1.2;

    letter-spacing: 0.02em;
    text-transform: uppercase;

    position: relative;
}


.site-footer .footer-grid h4::after {
    content: "";

    display: block;

    width: 34px;
    height: 2px;

    margin-top: 9px;

    border-radius: 999px;

    background:
        linear-gradient(
            90deg,
            #43c9e6,
            #36d3a0
        );

    box-shadow:
        0 0 12px rgba(67, 201, 230, 0.28);
}


/* =========================================================
   FOOTER LINKS
   ========================================================= */

.site-footer .footer-grid > div:not(:first-child) {
    display: flex;
    flex-direction: column;

    gap: 9px;
}


.site-footer .footer-grid a {
    display: inline-flex;
    align-items: center;

    width: fit-content;
    max-width: 100%;

    color: #9fb2c7;

    font-size: 0.95rem;
    font-weight: 650;
    line-height: 1.4;

    text-decoration: none;

    transition:
        color 160ms ease,
        transform 160ms ease,
        text-shadow 160ms ease;
}


.site-footer .footer-grid a::before {
    content: "";

    width: 5px;
    height: 5px;

    margin-right: 9px;

    flex: 0 0 auto;

    border-radius: 50%;

    background: rgba(72, 202, 228, 0.48);

    box-shadow:
        0 0 8px rgba(72, 202, 228, 0.14);

    transition:
        background 160ms ease,
        box-shadow 160ms ease;
}


.site-footer .footer-grid a:hover {
    color: #ffffff;

    transform: translateX(3px);

    text-shadow:
        0 0 10px rgba(72, 202, 228, 0.20);
}


.site-footer .footer-grid a:hover::before {
    background: #42d6b0;

    box-shadow:
        0 0 10px rgba(66, 214, 176, 0.4);
}


.site-footer .footer-grid a:focus-visible {
    outline: 2px solid rgba(72, 202, 228, 0.75);
    outline-offset: 4px;

    border-radius: 4px;
}


/* =========================================================
   FOOTER BOTTOM BAR
   ========================================================= */

.site-footer .footer-bottom {
    display: flex;
    align-items: center;
    justify-content: space-between;

    gap: 22px;

    margin-top: 46px;
    padding-top: 24px;

    border-top: 1px solid rgba(160, 190, 215, 0.10);

    color: #8097ab;

    font-size: 0.88rem;
    line-height: 1.5;
}


.site-footer .footer-bottom span {
    min-width: 0;
}


.site-footer .footer-bottom span:last-child {
    text-align: right;

    overflow-wrap: anywhere;
}


/* =========================================================
   OFFLINE BANNER
   ========================================================= */

.offline-banner {
    position: fixed;

    left: 50%;
    bottom: 18px;

    z-index: 9999;

    transform: translate(-50%, calc(100% + 40px));

    width: min(520px, calc(100% - 28px));

    padding: 13px 18px;

    border: 1px solid rgba(72, 202, 228, 0.32);
    border-radius: 14px;

    background:
        linear-gradient(
            145deg,
            rgba(8, 32, 55, 0.98),
            rgba(4, 19, 34, 0.98)
        );

    color: #dcebf6;

    font-size: 0.92rem;
    font-weight: 700;

    text-align: center;

    box-shadow:
        0 16px 40px rgba(0,0,0,0.42),
        inset 0 1px 0 rgba(255,255,255,0.06);

    opacity: 0;
    pointer-events: none;

    transition:
        transform 220ms ease,
        opacity 220ms ease;
}


/*
 * Supports common classes JS may apply.
 * Either .show, .active or body.offline will display it.
 */
.offline-banner.show,
.offline-banner.active,
body.offline .offline-banner {
    transform: translate(-50%, 0);

    opacity: 1;
}


/* =========================================================
   LARGE TABLET / SMALL LAPTOP
   ========================================================= */

@media (max-width: 1050px) {

    .site-footer {
        padding-top: 56px;
    }

    .site-footer .footer-grid {
        grid-template-columns:
            minmax(280px, 1.5fr)
            repeat(2, minmax(160px, 1fr));

        gap: 34px;
    }

    /*
     * Legal becomes a full-width row beneath
     * the three upper columns.
     */
    .site-footer .footer-grid > div:nth-child(4) {
        grid-column: 1 / -1;

        display: grid;

        grid-template-columns:
            repeat(4, minmax(120px, max-content));

        column-gap: 28px;
        row-gap: 10px;

        padding-top: 8px;
    }

    .site-footer .footer-grid > div:nth-child(4) h4 {
        grid-column: 1 / -1;
    }
}


/* =========================================================
   TABLET
   ========================================================= */

@media (max-width: 800px) {

    .site-footer {
        margin-top: 56px;

        padding:
            48px
            0
            24px;
    }

    .site-footer .wrap {
        width: min(100% - 28px, 760px);
    }

    .site-footer .footer-grid {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));

        gap:
            36px
            28px;
    }

    .site-footer .footer-grid > div:first-child {
        grid-column: 1 / -1;

        padding-right: 0;
    }

    .site-footer .footer-grid > div:first-child > p {
        max-width: 620px;
    }

    .site-footer .footer-grid > div:nth-child(4) {
        grid-column: auto;

        display: flex;
        flex-direction: column;

        gap: 9px;

        padding-top: 0;
    }

    .site-footer .footer-grid > div:nth-child(4) h4 {
        grid-column: auto;
    }

    .site-footer .footer-bottom {
        flex-direction: column;

        align-items: flex-start;

        gap: 8px;

        margin-top: 38px;
    }

    .site-footer .footer-bottom span:last-child {
        text-align: left;
    }
}


/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 560px) {

    .site-footer {
        padding:
            42px
            0
            22px;
    }

    .site-footer .wrap {
        width: min(100% - 24px, 520px);
    }

    .site-footer .footer-grid {
        grid-template-columns: 1fr;

        gap: 32px;
    }

    .site-footer .footer-grid > div:first-child {
        grid-column: auto;
    }

    .site-footer .footer-logo {
        align-items: flex-start;

        gap: 12px;
    }

    .site-footer .footer-logo img {
        width: 52px;
        height: 52px;

        border-radius: 13px;
    }

    .site-footer .footer-logo b {
        font-size: 1.12rem;
    }

    .site-footer .footer-grid > div:first-child > p {
        font-size: 0.94rem;
        line-height: 1.7;
    }

    .site-footer .footer-grid h4 {
        margin-bottom: 14px;

        font-size: 0.96rem;
    }

    .site-footer .footer-grid > div:not(:first-child) {
        padding:
            18px
            18px
            19px;

        border: 1px solid rgba(100, 200, 225, 0.10);

        border-radius: 16px;

        background:
            linear-gradient(
                145deg,
                rgba(11, 34, 57, 0.65),
                rgba(5, 20, 36, 0.62)
            );
    }

    .site-footer .footer-grid a {
        width: 100%;

        padding: 5px 0;

        font-size: 0.96rem;
    }

    .site-footer .footer-bottom {
        margin-top: 30px;
        padding-top: 20px;

        font-size: 0.82rem;

        text-align: left;
    }

    .offline-banner {
        bottom: 12px;

        width: calc(100% - 20px);

        padding: 12px 14px;

        font-size: 0.86rem;
    }
}


/* =========================================================
   VERY SMALL MOBILE
   ========================================================= */

@media (max-width: 340px) {

    .site-footer .wrap {
        width: calc(100% - 18px);
    }

    .site-footer .footer-logo {
        flex-direction: column;
    }

    .site-footer .footer-grid > div:not(:first-child) {
        padding:
            16px
            14px
            17px;
    }
}


/* =========================================================
   REDUCED MOTION
   ========================================================= */

@media (prefers-reduced-motion: reduce) {

    .site-footer .footer-grid a,
    .offline-banner {
        transition: none;
    }

    .site-footer .footer-grid a:hover {
        transform: none;
    }
}