@import url("https://fonts.googleapis.com/css2?family=Montserrat:wght@400;500;600;700&family=Orbitron:wght@500;600;700&family=Oswald:wght@400;500&display=swap");
:root{
  --void:#050816;
  --navy:#0d1529;
  --ink:#132033;
  --muted:#61708a;
  --line:#d8e4f3;
  --brand:#007bff;
  --cyan:#38b6ff;
  --aqua:#72e4ff;
  --violet:#6d5cff;
  --green:#49e7a7;
  --paper:#ffffff;
  --soft:#f4f9ff;
  --glass:rgba(255,255,255,.12);
  --glass-border:rgba(255,255,255,.18);
  --shadow:0 24px 70px rgba(5,8,22,.18);
  --shadow-soft:0 18px 45px rgba(16,38,74,.10);
  --radius-xl:32px;
  --radius:20px;
  --max:1180px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:linear-gradient(180deg,#f7fbff 0%,#fff 44%,#f4f9ff 100%);line-height:1.6;overflow-x:hidden}
body::before{content:"";position:fixed;inset:0;z-index:-3;background:radial-gradient(circle at 10% 5%,rgba(56,182,255,.17),transparent 34rem),radial-gradient(circle at 90% 10%,rgba(109,92,255,.14),transparent 32rem),radial-gradient(circle at 55% 95%,rgba(73,231,167,.12),transparent 36rem)}
img,svg,iframe{max-width:100%}img{height:auto}a{color:var(--brand);text-decoration:none}a:hover,a:focus{text-decoration:underline}strong{color:var(--navy)}
.skip-link{position:absolute;left:-999px;top:0;z-index:1000;background:#fff;color:var(--navy);padding:.8rem 1rem;border-radius:999px}.skip-link:focus{left:1rem;top:1rem}
.site-shell{min-height:100svh}.site-header{position:sticky;top:0;z-index:80;background:rgba(255,255,255,.74);backdrop-filter:blur(20px) saturate(1.2);border-bottom:1px solid rgba(216,228,243,.7)}
.nav-wrap{max-width:var(--max);margin:auto;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.9rem 1rem}.brand-link{display:flex;align-items:center;gap:.7rem;color:var(--navy);font-weight:900;letter-spacing:-.04em;font-size:1.08rem}.brand-link:hover{text-decoration:none}.brand-logo{width:44px;height:44px;object-fit:contain;filter:drop-shadow(0 8px 18px rgba(0,123,255,.18))}.nav-toggle{display:none;appearance:none;border:1px solid var(--line);background:#fff;color:var(--navy);padding:.66rem .86rem;border-radius:999px;font-weight:800}.nav-list{list-style:none;margin:0;padding:0;display:flex;align-items:center;gap:.18rem}.nav-list a{display:block;color:var(--navy);padding:.68rem .82rem;border-radius:999px;font-weight:760;font-size:.94rem}.nav-list a[aria-current=page],.nav-list a:hover,.nav-list a:focus{background:linear-gradient(135deg,rgba(0,123,255,.10),rgba(56,182,255,.16));color:var(--brand);text-decoration:none}.nav-cta{background:var(--navy)!important;color:#fff!important}.nav-cta:hover{background:var(--brand)!important}
.hero{position:relative;isolation:isolate;background:radial-gradient(circle at 20% 5%,rgba(56,182,255,.32),transparent 27rem),radial-gradient(circle at 85% 15%,rgba(109,92,255,.32),transparent 26rem),linear-gradient(135deg,var(--void),var(--navy) 52%,#0e458d);color:#fff;padding:clamp(4rem,8vw,7.5rem) 1rem;overflow:hidden}.hero::before{content:"";position:absolute;inset:0;z-index:-2;background-image:linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px);background-size:34px 34px;mask-image:linear-gradient(180deg,#000,transparent 88%)}.hero::after{content:"";position:absolute;width:70rem;height:70rem;border-radius:50%;right:-32rem;top:-38rem;z-index:-1;background:radial-gradient(circle,rgba(114,228,255,.22),transparent 57%)}
.hero-inner{max-width:var(--max);margin:auto;display:block;text-align:center}.hero h1{font-size:clamp(2.55rem,6vw,5.5rem);line-height:.97;letter-spacing:-.075em;margin:0 0 1rem;color:#fff}.hero p{font-size:clamp(1.05rem,2vw,1.3rem);max-width:70ch;color:rgba(255,255,255,.86);margin:0 0 1.35rem}.hero-kicker{display:inline-flex;align-items:center;gap:.55rem;margin-bottom:1rem;padding:.48rem .7rem;border:1px solid rgba(255,255,255,.20);border-radius:999px;background:rgba(255,255,255,.09);color:#dff7ff;font-weight:780;font-size:.88rem}.orb-card{position:relative;background:linear-gradient(160deg,rgba(255,255,255,.16),rgba(255,255,255,.06));border:1px solid var(--glass-border);border-radius:var(--radius-xl);padding:1.2rem;box-shadow:var(--shadow);overflow:hidden}.orb-card::before{content:"";position:absolute;inset:-1px;background:radial-gradient(circle at 25% 0%,rgba(114,228,255,.23),transparent 21rem);z-index:-1}.signal-panel{border:1px solid rgba(255,255,255,.17);border-radius:24px;padding:1rem;background:rgba(255,255,255,.08);display:grid;gap:.85rem}.signal-row{display:flex;align-items:center;gap:.78rem}.signal-icon{width:42px;height:42px;border-radius:14px;display:grid;place-items:center;background:rgba(56,182,255,.16);color:#fff}.signal-copy strong{display:block;color:#fff}.signal-copy span{color:rgba(255,255,255,.70);font-size:.91rem}.scanner{height:8px;border-radius:999px;background:rgba(255,255,255,.12);overflow:hidden}.scanner span{display:block;width:42%;height:100%;border-radius:999px;background:linear-gradient(90deg,var(--cyan),var(--green));animation:scan 2.3s ease-in-out infinite}@keyframes scan{0%{transform:translateX(-110%)}100%{transform:translateX(250%)}}
.button{display:inline-flex;align-items:center;justify-content:center;gap:.42rem;min-height:46px;padding:.8rem 1.02rem;border-radius:999px;border:1px solid transparent;font-weight:850;line-height:1.1;text-decoration:none;cursor:pointer;transition:transform .18s ease,box-shadow .18s ease,background .18s ease}.button:hover,.button:focus{text-decoration:none;transform:translateY(-2px)}.button.primary{color:#fff;background:linear-gradient(135deg,var(--brand),var(--cyan));box-shadow:0 14px 30px rgba(0,123,255,.25)}.button.secondary{color:#fff;border-color:rgba(255,255,255,.35);background:rgba(255,255,255,.08)}.button.dark{color:#fff;background:var(--navy)}.button.ghost{color:var(--brand);background:#fff;border-color:var(--line)}.button.full{width:100%}.pill-row{display:flex;flex-wrap:wrap;gap:.72rem;align-items:center}.section{max-width:var(--max);margin:0 auto;padding:clamp(3.1rem,6vw,5.4rem) 1rem}.section.compact{padding-top:2.2rem;padding-bottom:2.2rem}.section-header{margin-bottom:1.65rem}.section-header.center{text-align:center;max-width:820px;margin-left:auto;margin-right:auto}.eyebrow{display:inline-flex;align-items:center;gap:.44rem;color:var(--brand);font-weight:950;text-transform:uppercase;letter-spacing:.1em;font-size:.78rem;margin-bottom:.42rem}.eyebrow::before{content:"";width:.55rem;height:.55rem;border-radius:50%;background:var(--cyan);box-shadow:0 0 18px var(--cyan)}h1,h2,h3{color:var(--navy)}h2{font-size:clamp(1.86rem,3.4vw,3rem);line-height:1.05;letter-spacing:-.055em;margin:0 0 .66rem}h3{font-size:1.15rem;line-height:1.22;margin:0 0 .52rem}.lede{color:var(--muted);font-size:1.08rem;margin:0}.muted{color:var(--muted)}
.stat-strip{margin-top:-2.1rem;position:relative;z-index:4}.stat-grid{max-width:var(--max);margin:0 auto;padding:0 1rem;display:grid;grid-template-columns:repeat(4,1fr);gap:.8rem}.stat-card{background:rgba(255,255,255,.88);border:1px solid rgba(216,228,243,.8);border-radius:20px;padding:1rem;box-shadow:var(--shadow-soft);backdrop-filter:blur(18px)}.stat-card strong{display:block;font-size:1.35rem;color:var(--brand)}.stat-card span{font-size:.9rem;color:var(--muted)}
.bento{display:grid;grid-template-columns:repeat(6,1fr);gap:1rem}.card{min-width:0;background:rgba(255,255,255,.88);border:1px solid rgba(216,228,243,.84);border-radius:var(--radius);box-shadow:var(--shadow-soft);padding:1.22rem;overflow:hidden;position:relative}.card.glow::before{content:"";position:absolute;inset:auto -20% -55% -20%;height:70%;background:radial-gradient(circle,rgba(56,182,255,.12),transparent 60%);pointer-events:none}.card p{margin:0;color:var(--muted)}.card-icon{width:52px;height:52px;border-radius:16px;display:grid;place-items:center;background:linear-gradient(135deg,rgba(0,123,255,.10),rgba(56,182,255,.18));color:var(--brand);font-weight:950;margin-bottom:.88rem}.card-image{width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:16px;margin-bottom:1rem;background:var(--soft)}.span-2{grid-column:span 2}.span-3{grid-column:span 3}.span-4{grid-column:span 4}.span-6{grid-column:span 6}.large-card{min-height:300px;display:flex;flex-direction:column;justify-content:flex-end;background:linear-gradient(135deg,rgba(13,21,41,.88),rgba(0,123,255,.78)),var(--paper);color:#fff}.large-card h3,.large-card p{color:#fff}.large-card p{color:rgba(255,255,255,.84)}
.card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,250px),1fr));gap:1rem}.card-grid.two{grid-template-columns:repeat(auto-fit,minmax(min(100%,340px),1fr))}.service-card{transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}.service-card:hover{transform:translateY(-4px);border-color:rgba(0,123,255,.38);box-shadow:0 26px 60px rgba(0,123,255,.13)}.feature-dark{background:linear-gradient(135deg,var(--void),var(--navy));color:#fff}.feature-dark h2,.feature-dark h3{color:#fff}.feature-dark .card{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.14);box-shadow:none}.feature-dark .card p{color:rgba(255,255,255,.72)}.feature-dark .eyebrow{color:#dff7ff}.timeline{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;counter-reset:step}.timeline .card::before{counter-increment:step;content:counter(step);width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,var(--brand),var(--cyan));color:#fff;font-weight:950;margin-bottom:.8rem}.split{display:grid;grid-template-columns:minmax(0,1.04fr) minmax(300px,.96fr);gap:1rem;align-items:start}.founder{display:grid;grid-template-columns:210px minmax(0,1fr);gap:1.25rem;align-items:center}.founder img{width:210px;height:210px;object-fit:cover;border-radius:28px;box-shadow:var(--shadow)}.quote-card{background:linear-gradient(135deg,#fff,rgba(244,249,255,.78));border-left:5px solid var(--brand)}
.table-wrap{overflow-x:auto;background:#fff;border:1px solid var(--line);border-radius:24px;box-shadow:var(--shadow-soft)}table{width:100%;min-width:820px;border-collapse:collapse}th,td{padding:1rem;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}th{background:linear-gradient(135deg,#f2f8ff,#eef7ff);color:var(--navy);font-size:.86rem;text-transform:uppercase;letter-spacing:.06em}tr:last-child td{border-bottom:0}.plan-name{font-weight:950;color:var(--brand)}.note{font-size:.94rem;color:var(--muted);margin:.9rem 0 0}.contact-form{display:grid;gap:.85rem}.field{display:grid;gap:.34rem}.field label{font-weight:850;color:var(--navy)}input,textarea,select{width:100%;min-height:46px;border:1px solid var(--line);border-radius:14px;padding:.82rem .9rem;font:inherit;background:#fff;color:var(--ink)}textarea{min-height:145px;resize:vertical}.honeypot{position:absolute;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}.contact-list{list-style:none;margin:0;padding:0}.contact-list li{padding:.8rem 0;border-bottom:1px solid var(--line)}.contact-list li:last-child{border-bottom:0}.appointment-box{margin-top:1rem;border:1px dashed var(--line);border-radius:18px;background:#fbfdff;padding:1rem}.embed-shell{margin-top:.7rem;min-height:124px;border-radius:16px;background:linear-gradient(135deg,#f2f8ff,#fff);display:grid;place-items:center;color:var(--muted);text-align:center;padding:1rem}
.video-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));gap:1rem}.video-frame{position:relative;aspect-ratio:16/9;border-radius:18px;overflow:hidden;background:var(--navy);box-shadow:var(--shadow-soft)}.video-frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0}.rss-frame{width:100%;min-height:520px;border:0;border-radius:20px;background:#fff}.policy-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:1rem}.policy-card a{font-weight:900}.status-link{display:inline-flex;align-items:center;gap:.45rem}.status-dot{width:.6rem;height:.6rem;border-radius:50%;background:var(--green);box-shadow:0 0 0 .25rem rgba(73,231,167,.18)}
.site-footer{background:linear-gradient(135deg,var(--void),var(--navy));color:rgba(255,255,255,.78);padding:2.7rem 1rem}.footer-inner{max-width:var(--max);margin:auto;display:grid;gap:1.1rem}.footer-brand{display:flex;align-items:center;gap:.72rem;color:#fff;font-weight:950;letter-spacing:-.04em}.footer-brand img{width:42px}.footer-links,.social-links{display:flex;flex-wrap:wrap;gap:.72rem 1rem;list-style:none;margin:0;padding:0}.footer-links a,.social-links a,.site-footer a{color:#fff}.small{font-size:.92rem}.cookie-notice{position:fixed;left:1rem;right:1rem;bottom:1rem;max-width:760px;margin:auto;background:#fff;border:1px solid var(--line);border-radius:20px;box-shadow:var(--shadow);padding:1rem;z-index:90;display:none}.cookie-notice.show{display:block}.cookie-notice p{margin:0 0 .8rem}.reveal{opacity:0;transform:translateY(16px);transition:opacity .55s ease,transform .55s ease}.reveal.is-visible{opacity:1;transform:none}
@media(max-width:960px){.split,.founder{grid-template-columns:1fr}.stat-grid{grid-template-columns:repeat(2,1fr)}.bento{grid-template-columns:repeat(2,1fr)}.span-2,.span-3,.span-4,.span-6{grid-column:span 2}.timeline{grid-template-columns:repeat(2,1fr)}.founder img{width:170px;height:170px}}
@media(max-width:780px){.nav-toggle{display:inline-flex}.nav-list{position:absolute;left:1rem;right:1rem;top:4.75rem;display:none;flex-direction:column;align-items:stretch;background:rgba(255,255,255,.96);border:1px solid var(--line);border-radius:20px;box-shadow:var(--shadow);padding:.5rem}.nav-list.open{display:flex}.nav-list a{border-radius:14px}.hero{padding-top:3.4rem}.hero h1{letter-spacing:-.055em}.bento,.timeline{grid-template-columns:1fr}.span-2,.span-3,.span-4,.span-6{grid-column:span 1}.stat-grid{grid-template-columns:1fr}.section{padding-left:.9rem;padding-right:.9rem}.large-card{min-height:240px}}
@media(max-width:460px){.pill-row{align-items:stretch}.button{width:100%}.card{padding:1rem}.hero{padding-left:.85rem;padding-right:.85rem}h2{letter-spacing:-.04em}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}.reveal{opacity:1;transform:none}}
@media print{.site-header,.site-footer,.cookie-notice,.nav-toggle{display:none!important}body{background:#fff}.card,.table-wrap{box-shadow:none}}


/* =========================================================
   JGittech Soul Layer — fun professional personality
   Keeps the modern framework, brings back old-site soul.
   ========================================================= */
:root{
  --jgit-purple:#483d8b;
  --jgit-red:#f34a4e;
  --jgit-red-soft:#fed0d1;
  --jgit-blue:#007bff;
  --jgit-cyan:#38b6ff;
  --jgit-deep:#0d1529;
}
::selection{background:var(--jgit-red);color:#fff}
body{
  font-family:'Montserrat',Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
}
h1,h2,h3,.brand-link,.hero-kicker,.eyebrow,.stat-card strong,.button,.plan-name,.nav-list a,.footer-brand{
  font-family:'Oswald','Montserrat',Impact,'Arial Narrow',sans-serif;
  letter-spacing:.01em;
}
h1,h2{letter-spacing:-.018em;text-transform:none}.hero h1{text-shadow:0 6px 35px rgba(0,0,0,.24)}
.brand-link span{letter-spacing:.02em}.nav-list a{text-transform:uppercase;font-size:.9rem;letter-spacing:.05em}.nav-cta{background:linear-gradient(135deg,var(--jgit-red),var(--jgit-purple))!important;color:#fff!important}
.button.primary{background:linear-gradient(135deg,var(--jgit-blue),var(--jgit-cyan) 55%,var(--jgit-purple));box-shadow:0 16px 34px rgba(0,123,255,.28)}
.button.fun,.button.hot{color:#fff;background:linear-gradient(135deg,var(--jgit-red),var(--jgit-purple));box-shadow:0 16px 34px rgba(243,74,78,.22)}
.card.fun-card{border-color:rgba(72,61,139,.22);background:linear-gradient(145deg,#fff,#f9fbff 70%,rgba(56,182,255,.08));}
.card.fun-card::after{content:' ';position:absolute;right:-42px;bottom:-42px;width:130px;height:130px;border-radius:999px;background:radial-gradient(circle,rgba(243,74,78,.16),transparent 68%);pointer-events:none}.card h3{color:var(--jgit-purple)}
.hero{position:relative;overflow:hidden}.hero::after{content:'';position:absolute;right:-12rem;top:-10rem;width:36rem;height:36rem;background:radial-gradient(circle,rgba(243,74,78,.22),transparent 65%);pointer-events:none}.hero-kicker{color:#fff;background:rgba(243,74,78,.18);border:1px solid rgba(243,74,78,.35);padding:.34rem .7rem;border-radius:999px;display:inline-flex;margin-bottom:.8rem;text-transform:uppercase}.signal-panel{border-color:rgba(254,208,209,.28)}
.old-soul-strip{max-width:var(--max);margin:0 auto;padding:1rem;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,210px),1fr));gap:.8rem}.soul-pill{display:flex;align-items:center;gap:.6rem;background:rgba(255,255,255,.88);border:1px solid rgba(216,228,243,.88);box-shadow:var(--shadow-soft);border-radius:999px;padding:.74rem .9rem;color:var(--navy);font-weight:800}.soul-pill span{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:linear-gradient(135deg,var(--jgit-red),var(--jgit-purple));color:#fff;font-family:'Oswald'}
.cyber-ticker{position:relative;z-index:5;background:linear-gradient(90deg,var(--jgit-deep),#101c3a,var(--jgit-purple));border-bottom:1px solid rgba(255,255,255,.12);color:#fff}.cyber-ticker-inner{max-width:var(--max);margin:0 auto;padding:.55rem 1rem;display:grid;grid-template-columns:auto minmax(0,1fr);gap:.8rem;align-items:center}.ticker-label{font-family:'Oswald';text-transform:uppercase;letter-spacing:.08em;background:rgba(243,74,78,.22);border:1px solid rgba(243,74,78,.38);border-radius:999px;padding:.32rem .65rem;white-space:nowrap}.ticker-frame{min-width:0;position:relative}.ticker-frame iframe{display:block;width:100%;height:46px;border:0;border-radius:999px;background:rgba(255,255,255,.08)}.ticker-fallback{display:none;color:rgba(255,255,255,.78);font-size:.9rem;margin:.25rem 0 0}.rss-card iframe,.rss-frame{background:#fff;border:0;border-radius:20px;min-height:540px;width:100%}.rss-card{padding:.8rem}.rss-card .rss-note{margin:.8rem 0 0;color:var(--muted)}
.fun-lab{display:grid;grid-template-columns:1.05fr .95fr;gap:1rem;align-items:stretch}.terminal-card{background:linear-gradient(145deg,#050816,#0d1529 55%,#1e1950);color:#dff7ff;border:1px solid rgba(56,182,255,.22);box-shadow:var(--shadow)}.terminal-card h2,.terminal-card h3{color:#fff}.terminal-lines{font-family:'Montserrat',ui-monospace,SFMono-Regular,Menlo,monospace;display:grid;gap:.55rem;margin-top:1rem}.terminal-lines code{display:block;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.1);border-radius:14px;padding:.72rem .82rem;color:#dff7ff}.terminal-lines code::before{content:'>';color:var(--jgit-red);margin-right:.45rem;font-weight:900}.fun-badge-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem}.fun-badge{background:#fff;border:1px solid var(--line);border-radius:18px;padding:1rem;box-shadow:var(--shadow-soft)}.fun-badge strong{font-family:'Oswald';display:block;color:var(--jgit-purple);font-size:1.15rem}.fun-badge span{color:var(--muted);font-size:.93rem}
.quick-fix-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr));gap:1rem}.quick-fix .card-icon{background:linear-gradient(135deg,rgba(243,74,78,.12),rgba(72,61,139,.16));color:var(--jgit-purple)}
.rss-hub{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(280px,.8fr);gap:1rem;align-items:start}.rss-stack{display:grid;gap:1rem}.mini-ticker iframe{height:56px}.friendly-copy{font-size:1.05rem;color:var(--muted)}.founder-note{border-left:5px solid var(--jgit-red);background:linear-gradient(135deg,#fff,rgba(254,208,209,.28))}.founder-note h3{color:var(--jgit-purple)}
.footer-links a[href='help.html']::after,.nav-list a[href='help.html']::after{content:' ✨';color:var(--jgit-red)}
@media(max-width:860px){.fun-lab,.rss-hub{grid-template-columns:1fr}.cyber-ticker-inner{grid-template-columns:1fr}.ticker-label{width:max-content}.fun-badge-grid{grid-template-columns:1fr}.ticker-frame iframe{border-radius:16px;height:60px}}
@media(max-width:460px){.soul-pill{border-radius:18px}.old-soul-strip{padding:.85rem}.cyber-ticker-inner{padding:.55rem .85rem}}



/* =========================================================
   JGittech brand refinement from shirt/logo art
   - Trust blue #007BFF
   - Orbitron for logo/headings
   - Montserrat for readable text
   - Oswald only as a medium-weight accent, never bold
   - old triangle-array background SVG restored
   ========================================================= */
:root{
  --brand:#007BFF;
  --jgit-blue:#007BFF;
  --cyan:#38B6FF;
  --jgit-cyan:#38B6FF;
  --jgit-deep:#0D1529;
}
body{
  font-family:'Montserrat',Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  font-weight:500;
}
body::after{
  content:"";
  position:fixed;
  inset:0;
  z-index:-2;
  pointer-events:none;
  background-image:url("../images/vectors/background.svg");
  background-size:520px auto;
  background-repeat:repeat;
  opacity:.075;
  mix-blend-mode:multiply;
}
.hero,
.feature-dark{
  background-image:
    radial-gradient(circle at 18% 0%,rgba(0,123,255,.36),transparent 28rem),
    radial-gradient(circle at 85% 10%,rgba(56,182,255,.25),transparent 26rem),
    url("../images/vectors/background.svg"),
    linear-gradient(135deg,var(--void),var(--navy) 52%,#0e458d);
  background-size:auto,auto,520px auto,auto;
}
h1,h2,.brand-link,.footer-brand,.hero-kicker{
  font-family:'Orbitron','Montserrat',ui-sans-serif,system-ui,sans-serif;
  font-weight:600;
  letter-spacing:.015em;
}
.hero h1{font-weight:700;letter-spacing:.005em;}
h3,.eyebrow,.button,.nav-list a,.ticker-label,.soul-pill span,.plan-name{
  font-family:'Oswald','Montserrat','Arial Narrow',sans-serif;
  font-weight:500!important;
  letter-spacing:.045em;
}
.brand-link span::after{
  content:"Technology Support & Solutions";
  display:block;
  font-family:'Montserrat',sans-serif;
  font-size:.55rem;
  font-weight:600;
  letter-spacing:.08em;
  color:var(--brand);
  text-transform:uppercase;
  margin-top:-.18rem;
}
.nav-list a{font-weight:500!important;}
.button{font-weight:600!important;}
.cyber-ticker{
  background:linear-gradient(90deg,#0D1529,#0f2d64,#007BFF);
}
.ticker-frame{
  height:44px;
  overflow:hidden;
  border-radius:999px;
  background:rgba(255,255,255,.08);
}
.ticker-frame iframe{
  width:100%;
  height:74px!important;
  border:0!important;
  transform:translateY(-10px);
  overflow:hidden!important;
  display:block;
}
.rss-frame{
  height:560px;
  min-height:560px;
  overflow:hidden;
}
.home-rss-section .rss-card{padding:1rem;}
.home-rss-section .rss-frame{height:520px;min-height:520px;}
.contact-three{
  display:grid;
  grid-template-columns:minmax(280px,1.1fr) minmax(240px,.82fr) minmax(240px,.82fr);
  gap:1rem;
  align-items:start;
}
.contact-three .card{height:100%;}
.contact-list strong{color:var(--jgit-deep);}
.appointment-box p{color:var(--muted);}
.logo-art-note{
  color:var(--brand);
  font-family:'Orbitron','Montserrat',sans-serif;
  font-weight:600;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.circuit-accent{
  position:relative;
}
.circuit-accent::before,
.circuit-accent::after{
  content:"";
  position:absolute;
  width:72px;
  height:2px;
  background:linear-gradient(90deg,transparent,var(--brand));
  opacity:.65;
}
.circuit-accent::before{right:1rem;top:1rem;}
.circuit-accent::after{left:1rem;bottom:1rem;transform:rotate(180deg);}
@media(max-width:1040px){.contact-three{grid-template-columns:1fr 1fr}.contact-three .contact-form-card{grid-column:1/-1}}
@media(max-width:720px){.contact-three{grid-template-columns:1fr}.brand-link span::after{display:none}.ticker-frame{border-radius:16px;height:42px}.ticker-frame iframe{height:72px!important}}

/* =========================================================
   Screenshot bug fixes + content layout polish
   ========================================================= */

/* Full-width Hacker News ticker across the whole page */
.cyber-ticker-inner{
  max-width:none !important;
  width:100% !important;
  padding-left:0 !important;
  padding-right:0 !important;
  grid-template-columns:auto minmax(0,1fr) !important;
}
.ticker-label{margin-left:clamp(.75rem,2vw,1rem)}
.ticker-frame{
  width:100% !important;
  max-width:none !important;
  border-radius:999px 0 0 999px;
  overflow:hidden !important;
}
.ticker-frame iframe{
  overflow:hidden !important;
}

/* Do not hide content if local preview, RSS embeds, or JS timing gets weird */
.reveal,
.reveal.is-visible{
  opacity:1 !important;
  transform:none !important;
}

/* Center titles/headings while leaving paragraph text readable */
.hero-inner > div:first-child{text-align:center}
.hero .hero-kicker,
.hero h1,
.hero p,
.section-header,
.section-header h2,
.section-header .eyebrow,
.card h2,
.card h3{
  text-align:center;
}
.hero p,
.section-header:not(.center){
  max-width:920px;
  margin-left:auto;
  margin-right:auto;
}
.hero .pill-row,
.center-card .pill-row{
  justify-content:center;
}

/* More stable service cards */
.card-grid{align-items:stretch}
.service-card{min-height:100%}
.service-card .card-icon,
.card .card-icon{
  margin-left:auto;
  margin-right:auto;
}
.service-card .card-image{
  display:block;
  width:100%;
  aspect-ratio:16/9;
  object-fit:cover;
}

/* Home layout: Hacker News left, JGittech content right */
.home-duo{
  display:grid;
  grid-template-columns:minmax(320px,.95fr) minmax(0,1.05fr);
  gap:1rem;
  align-items:stretch;
}
.home-duo .rss-card,
.home-duo .terminal-card,
.home-duo .fun-badge,
.home-duo .card{
  height:100%;
}
.home-duo .rss-frame{
  height:640px;
  min-height:640px;
}
.home-content-column{
  display:grid;
  grid-template-rows:auto auto;
  gap:1rem;
}
.mini-card-stack{
  display:grid;
  gap:.85rem;
  margin-top:1rem;
}
.mini-card-stack article{
  border:1px solid var(--line);
  background:rgba(244,249,255,.72);
  border-radius:18px;
  padding:1rem;
}
.mini-card-stack h3{
  margin-top:0;
}
.center-card{
  text-align:center;
}
.center-card p{
  max-width:860px;
  margin-left:auto;
  margin-right:auto;
}

/* Contact remains 3 columns on wide screens */
.contact-three{width:100%}
.contact-three .card{min-width:0}

@media(max-width:980px){
  .home-duo{grid-template-columns:1fr}
  .home-duo .rss-frame{height:520px;min-height:520px}
}
@media(max-width:1040px){
  .contact-three{grid-template-columns:1fr 1fr}
  .contact-three .contact-form-card{grid-column:1/-1}
}
@media(max-width:720px){
  .contact-three{grid-template-columns:1fr}
  .ticker-frame{border-radius:16px 0 0 16px}
}

/* =========================================================
   Accessibility + easy-help polish
   Keep nav/footer. Keep blue triangle background.
   ========================================================= */

/* The old blue triangle SVG stays as the full-site background. */
body::after{
  content:"" !important;
  position:fixed !important;
  inset:0 !important;
  z-index:-2 !important;
  pointer-events:none !important;
  background-image:url("../images/vectors/background.svg") !important;
  background-size:430px auto !important;
  background-repeat:repeat !important;
  background-position:center top !important;
  opacity:.13 !important;
  mix-blend-mode:multiply !important;
}

/* Cards should always visibly be cards, never floating text over the pattern. */
.card,
.fun-badge,
.mini-card-stack article,
.appointment-box,
.table-wrap,
.rss-card,
.help-fast-card,
.orb-card,
.signal-panel{
  background:rgba(255,255,255,.96) !important;
  border:1px solid rgba(160,184,214,.75) !important;
  box-shadow:0 18px 42px rgba(13,21,41,.13) !important;
}

.feature-dark .card,
.terminal-card,
.large-card{
  background:linear-gradient(145deg,rgba(5,8,22,.96),rgba(13,21,41,.94) 58%,rgba(0,123,255,.82)) !important;
  border:1px solid rgba(114,228,255,.28) !important;
}

/* Center titles/headings, keep regular paragraph text readable. */
.hero .hero-kicker,
.hero h1,
.hero p,
.section-header,
.section-header h2,
.section-header .eyebrow,
.card h2,
.card h3,
.fun-badge strong,
.fun-badge span{
  text-align:center !important;
}

.card p,
.mini-card-stack p,
.contact-list,
.note,
.rss-note{
  text-align:left;
}

.center-card,
.center-card p{
  text-align:center !important;
}

/* Better focus visibility for keyboard users. */
a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
summary:focus-visible{
  outline:4px solid rgba(0,123,255,.55) !important;
  outline-offset:3px !important;
  box-shadow:0 0 0 7px rgba(56,182,255,.16) !important;
}

/* Make tap/click targets easy. */
.nav-list a,
.button,
input,
select,
textarea,
button{
  min-height:44px;
}

/* Help-fast block: obvious options, no fluff. */
.help-fast-card p{
  max-width:62ch;
  margin-left:auto;
  margin-right:auto;
  text-align:center !important;
}
.help-action-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(min(100%,180px),1fr));
  gap:.75rem;
  margin-top:1rem;
}
.help-action-grid .button{
  width:100%;
}

/* Contact page: make “how do I get help?” obvious. */
.simple-help-list{
  list-style:none;
  padding:0;
  margin:1rem 0 0;
  display:grid;
  gap:.75rem;
}
.simple-help-list li{
  padding:.85rem;
  border:1px solid rgba(160,184,214,.75);
  border-radius:16px;
  background:rgba(244,249,255,.9);
}
.simple-help-list strong{
  display:block;
  color:var(--jgit-deep);
}

/* Avoid tiny text in key areas. */
.card p,
.contact-list li,
.mini-card-stack p{
  font-size:1rem;
}

/* Respect reduced motion. */
@media (prefers-reduced-motion: reduce){
  *,
  *::before,
  *::after{
    animation-duration:.001ms !important;
    animation-iteration-count:1 !important;
    scroll-behavior:auto !important;
    transition-duration:.001ms !important;
  }
}

/* Entire Hacker News ticker bar black */
.cyber-ticker{
  background:#000 !important;
  border-bottom:1px solid rgba(255,255,255,.18) !important;
}
.cyber-ticker-inner{
  background:#000 !important;
}
.ticker-label{
  background:#000 !important;
  border-color:rgba(255,255,255,.35) !important;
  color:#fff !important;
}
.ticker-frame{
  background:#000 !important;
}
.ticker-frame iframe{
  background:#000 !important;
}

/* Homepage big logo, inspired by the original landing page */
.home-big-logo-wrap{
  display:grid;
  place-items:center;
  width:100%;
  margin:0 auto 1rem;
  padding:1rem;
  border-radius:28px;
  background:rgba(255,255,255,.94);
  border:1px solid rgba(160,184,214,.72);
  box-shadow:0 20px 50px rgba(0,123,255,.16);
}
.home-big-logo{
  width:min(100%,520px);
  max-height:300px;
  object-fit:contain;
  filter:drop-shadow(0 16px 28px rgba(13,21,41,.14));
}
.hero .orb-card{
  align-self:center;
}
@media(max-width:720px){
  .home-big-logo{
    width:min(100%,360px);
    max-height:220px;
  }
  .home-big-logo-wrap{
    padding:.85rem;
  }
}


/* =========================================================
   Final responsive polish
   ========================================================= */

/* Real hamburger menu */
.nav-toggle{
  align-items:center;
  gap:.55rem;
}
.hamburger-icon{
  width:22px;
  height:18px;
  display:inline-flex;
  flex-direction:column;
  justify-content:space-between;
}
.hamburger-icon span{
  display:block;
  height:2px;
  width:100%;
  border-radius:999px;
  background:currentColor;
  transition:transform .18s ease, opacity .18s ease;
}
.nav-toggle[aria-expanded="true"] .hamburger-icon span:nth-child(1){
  transform:translateY(8px) rotate(45deg);
}
.nav-toggle[aria-expanded="true"] .hamburger-icon span:nth-child(2){
  opacity:0;
}
.nav-toggle[aria-expanded="true"] .hamburger-icon span:nth-child(3){
  transform:translateY(-8px) rotate(-45deg);
}

/* Center titles/headings across every viewport, not just mobile */
.hero .hero-kicker,
.hero h1,
.hero p,
.section-header,
.section-header h2,
.section-header .eyebrow,
.card h2,
.card h3,
.fun-badge strong,
.fun-badge span{
  text-align:center !important;
}
.hero p,
.section-header:not(.center){
  max-width:920px;
  margin-left:auto;
  margin-right:auto;
}
.card p,
.mini-card-stack p,
.contact-list,
.note,
.rss-note,
.plan-mobile-card dd{
  text-align:left;
}
.center-card,
.center-card p,
.center-note{
  text-align:center !important;
}

/* Logo as hero image */
.hero-logo-card{
  display:grid;
  place-items:center;
  background:rgba(255,255,255,.96) !important;
}
.hero-logo-wrap{
  width:100%;
  min-height:clamp(260px,38vw,520px);
  display:grid;
  place-items:center;
  padding:clamp(1rem,3vw,2rem);
  background:rgba(255,255,255,.98) !important;
  border:1px solid rgba(160,184,214,.72);
  border-radius:28px;
  box-shadow:0 24px 70px rgba(0,123,255,.18);
}
.hero-logo-image{
  width:min(100%,760px) !important;
  max-height:480px !important;
  object-fit:contain;
  filter:drop-shadow(0 18px 34px rgba(13,21,41,.16));
}

/* Homepage support steps should be white cards */
.white-step-section .white-step-card,
.feature-dark .timeline .white-step-card{
  background:rgba(255,255,255,.98) !important;
  color:var(--ink) !important;
  border:1px solid rgba(160,184,214,.8) !important;
}
.white-step-section .white-step-card h3,
.feature-dark .timeline .white-step-card h3{
  color:var(--jgit-deep) !important;
}
.white-step-section .white-step-card p,
.feature-dark .timeline .white-step-card p{
  color:var(--muted) !important;
}

/* Responsive table/cards pattern */
.mobile-plan-cards{
  display:none;
}
.plan-mobile-card dl{
  display:grid;
  gap:.7rem;
  margin:1rem 0 0;
}
.plan-mobile-card dl > div{
  display:grid;
  gap:.2rem;
  padding:.75rem;
  border:1px solid rgba(160,184,214,.65);
  border-radius:14px;
  background:rgba(244,249,255,.88);
}
.plan-mobile-card dt{
  font-family:'Oswald','Montserrat',sans-serif;
  color:var(--jgit-deep);
  letter-spacing:.045em;
  text-align:center;
}
.plan-mobile-card dd{
  margin:0;
  color:var(--muted);
}

/* Mobile responsive safety */
.card-grid,
.timeline,
.contact-three,
.home-duo{
  width:100%;
}
.card,
.service-card,
.appointment-box,
.table-wrap{
  min-width:0;
}
.table-wrap{
  overflow-x:auto;
  -webkit-overflow-scrolling:touch;
}
table{
  min-width:720px;
}
input,
select,
textarea,
button,
.button,
.nav-list a{
  min-height:44px;
}
iframe{
  max-width:100%;
}
.rss-frame{
  width:100%;
  height:clamp(420px,60vw,640px);
}

/* Black full-width ticker stays clean */
.cyber-ticker,
.cyber-ticker-inner,
.ticker-frame{
  background:#000 !important;
}
.cyber-ticker-inner{
  max-width:none !important;
  width:100% !important;
  padding-left:0 !important;
  padding-right:0 !important;
}
.ticker-label{
  margin-left:clamp(.75rem,2vw,1rem);
  background:#000 !important;
  color:#fff !important;
  border-color:rgba(255,255,255,.35) !important;
}
.ticker-frame{
  width:100% !important;
  max-width:none !important;
  border-radius:999px 0 0 999px;
  overflow:hidden !important;
}

/* Mobile nav as a dropdown hamburger */
@media(max-width:780px){
  .nav-wrap{
    position:relative;
  }
  .nav-toggle{
    display:inline-flex !important;
  }
  .nav-list{
    position:absolute;
    left:1rem;
    right:1rem;
    top:calc(100% + .55rem);
    display:none;
    flex-direction:column;
    align-items:stretch;
    gap:.25rem;
    background:rgba(255,255,255,.98);
    border:1px solid var(--line);
    border-radius:20px;
    box-shadow:var(--shadow);
    padding:.55rem;
    z-index:100;
  }
  .nav-list.open{
    display:flex;
  }
  .nav-list a{
    border-radius:14px;
    text-align:center;
  }
  .hero-logo-wrap{
    min-height:220px;
  }
  .hero-logo-image{
    max-height:240px !important;
  }
  .contact-three,
  .home-duo,
  .timeline,
  .card-grid{
    grid-template-columns:1fr !important;
  }
  .desktop-plan-table{
    display:none !important;
  }
  .mobile-plan-cards{
    display:grid !important;
    grid-template-columns:1fr;
    gap:1rem;
  }
}

@media(min-width:781px){
  .nav-toggle{
    display:none !important;
  }
  .nav-list{
    display:flex !important;
  }
}

@media(max-width:520px){
  .section{
    padding-left:.85rem !important;
    padding-right:.85rem !important;
  }
  .button,
  .help-action-grid .button,
  .pill-row .button{
    width:100%;
  }
  .pill-row{
    align-items:stretch;
  }
  .ticker-label{
    font-size:.78rem;
    padding:.28rem .5rem;
  }
  .ticker-frame{
    border-radius:14px 0 0 14px;
  }
}

/* Final hero layout fix: no grid positioning inside hero-inner */
.hero-inner{
  display:block !important;
  max-width:var(--max);
  margin-left:auto;
  margin-right:auto;
  text-align:center;
}
.hero-inner > *{
  max-width:980px;
  margin-left:auto;
  margin-right:auto;
}
.hero-inner > .orb-card,
.hero-logo-card{
  margin-top:clamp(1.25rem,3vw,2rem);
}
.hero-logo-card{
  width:min(100%,920px);
}

/* W3-style responsive logo hero image on homepage */
.w3-display-container{position:relative}
.w3-content{max-width:1500px;margin-left:auto;margin-right:auto}
.w3-center{text-align:center}
.w3-image{max-width:100%;height:auto}
.jgit-logo-hero{
  width:min(100%,1500px);
  padding:clamp(1rem,2vw,2rem) clamp(.85rem,2vw,1.25rem) 0;
}
.jgit-logo-hero-image{
  display:block;
  width:100%;
  max-height:600px;
  object-fit:contain;
  object-position:center;
  margin:0 auto;
  border-radius:clamp(18px,2vw,32px);
  background:rgba(255,255,255,.96);
  border:1px solid rgba(160,184,214,.72);
  box-shadow:0 24px 70px rgba(0,123,255,.18);
  padding:clamp(.85rem,3vw,2rem);
}
.home-page .hero{
  padding-top:clamp(2.25rem,5vw,4.5rem);
}
.home-page .hero-inner{
  max-width:980px;
  margin-left:auto;
  margin-right:auto;
}
@media(max-width:780px){
  .jgit-logo-hero{
    padding-top:1rem;
  }
  .jgit-logo-hero-image{
    max-height:320px;
    padding:.8rem;
  }
}
@media(max-width:420px){
  .jgit-logo-hero-image{
    max-height:240px;
    border-radius:16px;
  }
}

/* =========================================================
   Final logic, placement, color, hover, and contact-flow polish
   ========================================================= */

/* Keep the brand link truly top-left instead of centered inside the max-width content shell. */
.site-header .nav-wrap{
  max-width:none !important;
  width:100% !important;
  margin:0 !important;
  padding-left:clamp(.75rem,2vw,1rem) !important;
  padding-right:clamp(.75rem,2vw,1rem) !important;
}
.brand-link{
  margin-left:0 !important;
  flex-shrink:0;
}

/* Logo hero: the whole hero logo container is white, not just the image. */
.jgit-logo-hero{
  background:rgba(255,255,255,.98) !important;
  border:1px solid rgba(160,184,214,.72) !important;
  border-radius:clamp(18px,2vw,32px) !important;
  box-shadow:0 24px 70px rgba(0,123,255,.18) !important;
  padding:clamp(.85rem,3vw,2rem) !important;
  margin-top:clamp(.75rem,2vw,1.25rem) !important;
}
.jgit-logo-hero-image{
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
  padding:0 !important;
  border-radius:0 !important;
}

/* Top ticker: remove the separate “Cyber News” label and make the ticker itself feel intentional. */
.cyber-ticker{
  background:#000 !important;
  border-bottom:1px solid rgba(243,74,78,.34) !important;
}
.cyber-ticker-inner{
  max-width:none !important;
  width:100% !important;
  margin:0 !important;
  padding:.42rem .5rem .42rem .35rem !important;
  display:block !important;
}
.ticker-label{
  display:none !important;
}
.ticker-frame{
  width:100% !important;
  max-width:none !important;
  margin-left:0 !important;
  border:1px solid rgba(243,74,78,.78) !important;
  background:linear-gradient(90deg,rgba(243,74,78,.38),rgba(0,0,0,.95) 12%,rgba(0,0,0,.95)) !important;
  box-shadow:0 0 0 1px rgba(243,74,78,.12),0 8px 24px rgba(243,74,78,.16) !important;
  border-radius:999px !important;
  overflow:hidden !important;
}

/* Homepage: top row panels match height; appointment CTA spans underneath both columns. */
.home-duo{
  display:grid !important;
  grid-template-columns:minmax(280px,.9fr) minmax(0,1.1fr) !important;
  grid-template-areas:
    "rss who"
    "schedule schedule" !important;
  gap:1rem !important;
  align-items:stretch !important;
}
.home-duo .rss-card{
  grid-area:rss;
  display:flex !important;
  flex-direction:column !important;
  min-height:100% !important;
}
.home-duo .who-help-card{
  grid-area:who;
  min-height:100% !important;
}
.home-duo .home-wide-cta{
  grid-area:schedule;
  width:100%;
}
.home-duo .rss-frame{
  flex:1 1 auto !important;
  height:auto !important;
  min-height:300px !important;
  max-height:none !important;
}
.home-duo .rss-note{
  text-align:center !important;
  margin-bottom:.85rem;
}

/* The color system: trust blue for primary actions, navy/white for readability, red only as an accent. */
:root{
  --brand:#007BFF;
  --brand-strong:#005FCC;
  --brand-strong-hover:#004A9F;
}
.button.primary,
.nav-cta{
  background:var(--brand-strong) !important;
  border-color:var(--brand-strong) !important;
  color:#fff !important;
}
.button.primary:hover,
.button.primary:focus-visible,
.nav-cta:hover,
.nav-cta:focus-visible{
  background:var(--brand-strong-hover) !important;
  border-color:var(--brand-strong-hover) !important;
  color:#fff !important;
}
.button.ghost,
.button.secondary{
  border-color:rgba(0,95,204,.45) !important;
}

/* Hover behavior: make cards/buttons pop, but keep it subtle and accessible. */
.button,
.card,
.mini-card-stack article,
.appointment-box,
.plan-mobile-card{
  transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease, background-color .18s ease !important;
}
.button:hover,
.button:focus-visible{
  transform:translateY(-2px);
  box-shadow:0 14px 28px rgba(0,95,204,.22) !important;
  text-decoration:none !important;
}
.card:hover,
.mini-card-stack article:hover,
.appointment-box:hover,
.plan-mobile-card:hover{
  transform:translateY(-3px);
  border-color:rgba(0,123,255,.42) !important;
  box-shadow:0 24px 56px rgba(0,123,255,.14) !important;
}
a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible{
  outline:4px solid rgba(0,123,255,.58) !important;
  outline-offset:3px !important;
}

/* Contact page: one smooth flow, not three choppy unrelated cards. */
.contact-flow-smooth{
  display:grid;
  gap:1.15rem;
}
.contact-primary-card{
  max-width:var(--max);
  margin:0 auto;
}
.contact-secondary-grid{
  display:grid;
  grid-template-columns:minmax(0,1.08fr) minmax(280px,.92fr);
  gap:1rem;
  align-items:start;
}
.contact-card-intro{
  text-align:center !important;
  max-width:72ch;
  margin-left:auto;
  margin-right:auto;
}
.appointment-fallback{
  margin-top:1rem;
}
.square-widget-anchor{
  min-height:180px;
  display:grid;
  place-items:center;
  border:1px dashed rgba(160,184,214,.85);
  border-radius:18px;
  background:rgba(244,249,255,.9);
}

/* CTA copy should always be readable/tappable. */
.button{
  min-height:46px !important;
  line-height:1.15 !important;
  text-align:center !important;
}

/* Responsive fallbacks. */
@media(max-width:980px){
  .home-duo{
    grid-template-columns:1fr !important;
    grid-template-areas:
      "rss"
      "who"
      "schedule" !important;
  }
  .home-duo .rss-frame{
    min-height:420px !important;
  }
  .contact-secondary-grid{
    grid-template-columns:1fr !important;
  }
}
@media(max-width:780px){
  .site-header .nav-wrap{
    position:relative;
  }
  .ticker-frame{
    border-radius:16px !important;
  }
  .jgit-logo-hero{
    border-radius:18px !important;
  }
  .home-duo .rss-frame{
    min-height:360px !important;
  }
}
@media(max-width:520px){
  .home-duo .rss-frame{
    min-height:300px !important;
  }
}

/* Respect reduced motion users. */
@media(prefers-reduced-motion:reduce){
  .button,
  .card,
  .mini-card-stack article,
  .appointment-box,
  .plan-mobile-card{
    transition:none !important;
  }
  .button:hover,
  .button:focus-visible,
  .card:hover,
  .mini-card-stack article:hover,
  .appointment-box:hover,
  .plan-mobile-card:hover{
    transform:none !important;
  }
}

/* =========================================================
   Main-copy logo, blue typography, homepage/contact layout, and ticker polish
   ========================================================= */

/* Full uploaded logo treatment */
.brand-link{
  display:flex !important;
  align-items:center !important;
  gap:.55rem !important;
  min-width:0 !important;
}
.brand-logo{
  width:auto !important;
  height:44px !important;
  max-width:min(260px,40vw) !important;
  object-fit:contain !important;
  display:block !important;
}
.footer-brand{
  display:flex !important;
  align-items:center !important;
}
.footer-brand img{
  width:auto !important;
  height:42px !important;
  max-width:min(240px,70vw) !important;
  object-fit:contain !important;
  display:block !important;
}
.jgit-logo-hero{
  background:rgba(255,255,255,.98) !important;
  border:1px solid rgba(160,184,214,.72) !important;
  border-radius:clamp(18px,2vw,32px) !important;
  box-shadow:0 24px 70px rgba(0,123,255,.18) !important;
  padding:clamp(.85rem,3vw,2rem) !important;
  margin-top:clamp(.75rem,2vw,1.25rem) !important;
}
.jgit-logo-hero-image{
  display:block !important;
  width:100% !important;
  max-width:1448px !important;
  max-height:600px !important;
  height:auto !important;
  object-fit:contain !important;
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
  padding:0 !important;
  border-radius:0 !important;
}

/* Replace black-looking type with the old-site blue family.
   Body copy uses a darker accessible blue; headings/actions use the brand blue family. */
:root{
  --old-site-blue:#007BFF;
  --old-site-blue-text:#005FCC;
  --old-site-blue-dark:#004A9F;
  --ink:#163B70;
  --navy:#004A9F;
  --muted:#2E557E;
}
body,
.card p,
.mini-card-stack p,
.contact-list,
.simple-help-list,
.note,
.lede,
p,
li,
td,
dd{
  color:#163B70 !important;
}
.nav-list a,
.brand-link,
main h2,
main h3,
.card h2,
.card h3,
.section-header h2,
.mini-card-stack h3,
.contact-list strong,
.simple-help-list strong,
.plan-name,
strong{
  color:var(--old-site-blue-text) !important;
}
.eyebrow,
.card-icon,
a:not(.button){
  color:var(--old-site-blue) !important;
}
.hero h1,
.hero h2,
.hero h3,
.hero p,
.feature-dark h2,
.feature-dark .section-header h2,
.feature-dark .section-header .eyebrow{
  color:#fff !important;
}
.white-step-section .white-step-card h3,
.feature-dark .timeline .white-step-card h3{
  color:var(--old-site-blue-text) !important;
}
.white-step-section .white-step-card p,
.feature-dark .timeline .white-step-card p{
  color:#163B70 !important;
}

/* Home: Hacker News RSS on the left should match the layout height of the right card.
   The appointment card spans underneath both halves. */
.home-duo{
  display:grid !important;
  grid-template-columns:minmax(280px,.9fr) minmax(0,1.1fr) !important;
  grid-template-areas:
    "rss who"
    "schedule schedule" !important;
  gap:1rem !important;
  align-items:stretch !important;
}
.home-duo .rss-card{
  grid-area:rss !important;
  display:grid !important;
  grid-template-rows:auto auto minmax(0,1fr) !important;
  min-height:100% !important;
  height:100% !important;
  padding:1.05rem !important;
}
.home-duo .who-help-card{
  grid-area:who !important;
  height:100% !important;
}
.home-duo .home-wide-cta{
  grid-area:schedule !important;
  width:100% !important;
}
.home-duo .rss-frame{
  width:100% !important;
  height:100% !important;
  min-height:0 !important;
  max-height:none !important;
  border-radius:18px !important;
  background:#fff !important;
}
.home-duo .rss-note{
  text-align:center !important;
  margin:.4rem 0 .85rem !important;
}

/* Contact: use homepage-style two halves with one wide panel underneath. */
.contact-flow-split{
  display:grid !important;
  grid-template-columns:minmax(280px,.95fr) minmax(0,1.05fr) !important;
  grid-template-areas:
    "schedule details"
    "backup backup" !important;
  gap:1rem !important;
  align-items:stretch !important;
}
.contact-flow-split #schedule{
  grid-area:schedule !important;
}
.contact-flow-split #details{
  grid-area:details !important;
}
.contact-flow-split .contact-wide-panel{
  grid-area:backup !important;
}
.contact-top-panel{
  height:100% !important;
}
.contact-backup-grid{
  display:grid !important;
  grid-template-columns:minmax(260px,.85fr) minmax(0,1.15fr) !important;
  gap:1rem !important;
  align-items:start !important;
}
.contact-card-intro{
  text-align:center !important;
  max-width:72ch !important;
  margin-left:auto !important;
  margin-right:auto !important;
}
.square-widget-anchor{
  min-height:180px !important;
  display:grid !important;
  place-items:center !important;
  border:1px dashed rgba(160,184,214,.85) !important;
  border-radius:18px !important;
  background:rgba(244,249,255,.9) !important;
}

/* Ticker: no red border line, no curved ends.
   Red block now covers the full top/bottom height of the custom “The Hacker News...” section. */
.cyber-ticker{
  background:#000 !important;
  border:0 !important;
  border-bottom:0 !important;
}
.cyber-ticker-inner{
  max-width:none !important;
  width:100% !important;
  margin:0 !important;
  padding:0 !important;
  display:block !important;
  background:#000 !important;
}
.ticker-label{
  display:none !important;
}
.ticker-frame{
  position:relative !important;
  width:100% !important;
  max-width:none !important;
  min-width:0 !important;
  height:48px !important;
  margin:0 !important;
  border:0 !important;
  border-radius:0 !important;
  background:#000 !important;
  box-shadow:none !important;
  overflow:hidden !important;
}
.ticker-frame::before{
  content:"The Hacker News...";
  position:absolute;
  inset:0 auto 0 0;
  width:clamp(190px,23vw,320px);
  z-index:3;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:0 1rem;
  background:#f34a4e;
  color:#fff;
  font-family:'Oswald','Montserrat',Arial,sans-serif;
  font-weight:500;
  letter-spacing:.04em;
  text-transform:none;
  pointer-events:none;
}
.ticker-frame iframe{
  position:relative !important;
  z-index:1 !important;
  display:block !important;
  width:100% !important;
  height:74px !important;
  border:0 !important;
  border-radius:0 !important;
  transform:translateY(-10px) !important;
  background:#000 !important;
}

/* Buttons and pop-out hover */
.button.primary,
.nav-cta{
  background:var(--old-site-blue-text) !important;
  border-color:var(--old-site-blue-text) !important;
  color:#fff !important;
}
.button.primary:hover,
.button.primary:focus-visible,
.nav-cta:hover,
.nav-cta:focus-visible{
  background:var(--old-site-blue-dark) !important;
  border-color:var(--old-site-blue-dark) !important;
  color:#fff !important;
}
.button,
.card,
.mini-card-stack article,
.appointment-box,
.plan-mobile-card{
  transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease, background-color .18s ease !important;
}
.button:hover,
.button:focus-visible{
  transform:translateY(-2px);
  box-shadow:0 14px 28px rgba(0,95,204,.22) !important;
  text-decoration:none !important;
}
.card:hover,
.mini-card-stack article:hover,
.appointment-box:hover,
.plan-mobile-card:hover{
  transform:translateY(-3px);
  border-color:rgba(0,123,255,.42) !important;
  box-shadow:0 24px 56px rgba(0,123,255,.14) !important;
}
a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible{
  outline:4px solid rgba(0,123,255,.58) !important;
  outline-offset:3px !important;
}

/* Responsive fallbacks */
@media(max-width:980px){
  .home-duo{
    grid-template-columns:1fr !important;
    grid-template-areas:
      "rss"
      "who"
      "schedule" !important;
  }
  .home-duo .rss-frame{
    min-height:360px !important;
  }
  .contact-flow-split{
    grid-template-columns:1fr !important;
    grid-template-areas:
      "schedule"
      "details"
      "backup" !important;
  }
  .contact-backup-grid{
    grid-template-columns:1fr !important;
  }
}
@media(max-width:780px){
  .brand-logo{
    height:38px !important;
    max-width:min(220px,58vw) !important;
  }
  .footer-brand img{
    height:36px !important;
    max-width:min(220px,78vw) !important;
  }
  .jgit-logo-hero{
    border-radius:18px !important;
  }
  .jgit-logo-hero-image{
    max-height:420px !important;
  }
  .ticker-frame::before{
    width:clamp(165px,42vw,240px);
    justify-content:flex-start;
    padding-left:.8rem;
  }
}
@media(max-width:480px){
  .brand-logo{
    height:34px !important;
    max-width:min(190px,60vw) !important;
  }
  .footer-brand img{
    height:32px !important;
    max-width:min(190px,78vw) !important;
  }
  .jgit-logo-hero-image{
    max-height:300px !important;
  }
  .ticker-frame{
    height:44px !important;
  }
  .ticker-frame::before{
    width:150px;
    font-size:.86rem;
  }
}
@media(prefers-reduced-motion:reduce){
  .button,
  .card,
  .mini-card-stack article,
  .appointment-box,
  .plan-mobile-card{
    transition:none !important;
  }
  .button:hover,
  .button:focus-visible,
  .card:hover,
  .mini-card-stack article:hover,
  .appointment-box:hover,
  .plan-mobile-card:hover{
    transform:none !important;
  }
}


/* =========================================================
   Final revert-two-back polish
   Keep logo + favicons. Use #483D8BFF for cards only.
   ========================================================= */
:root{
  --void:#050816;
  --navy:#0d1529;
  --ink:#132033;
  --muted:#61708a;
  --line:#d8e4f3;
  --brand:#007BFF;
  --cyan:#38B6FF;
  --card-accent:#483D8BFF;
  --card-accent-soft:rgba(72,61,139,.14);
}

/* Restore normal typography colors. */
body,
p,
li,
td,
dd,
.card p,
.mini-card-stack p,
.contact-list,
.simple-help-list,
.note,
.lede,
.rss-note{
  color:var(--ink) !important;
}
h1,h2,h3,
main h2,
main h3,
.section-header h2,
strong{
  color:var(--navy) !important;
}
a:not(.button),
.eyebrow{
  color:var(--brand) !important;
}
.hero h1,
.hero h2,
.hero h3,
.hero p,
.hero .hero-kicker,
.feature-dark h2,
.feature-dark h3,
.feature-dark .section-header h2,
.feature-dark .section-header .eyebrow{
  color:#fff !important;
}

/* Use the requested #483D8BFF only on cards/card accents. */
.card,
.mini-card-stack article,
.plan-mobile-card,
.rss-card,
.appointment-box,
.table-wrap{
  border-color:rgba(72,61,139,.30) !important;
}
.card h2,
.card h3,
.mini-card-stack h3,
.plan-mobile-card h3,
.card .plan-name{
  color:var(--card-accent) !important;
}
.card-icon{
  color:var(--card-accent) !important;
  background:linear-gradient(135deg,rgba(72,61,139,.12),rgba(72,61,139,.20)) !important;
}
.card:hover,
.mini-card-stack article:hover,
.plan-mobile-card:hover,
.appointment-box:hover{
  border-color:var(--card-accent) !important;
  box-shadow:0 22px 54px rgba(72,61,139,.18) !important;
}

/* Keep homepage support-step cards white/readable. */
.white-step-section .white-step-card,
.feature-dark .timeline .white-step-card{
  background:rgba(255,255,255,.98) !important;
  color:var(--ink) !important;
  border-color:rgba(72,61,139,.30) !important;
}
.white-step-section .white-step-card h3,
.feature-dark .timeline .white-step-card h3{
  color:var(--card-accent) !important;
}
.white-step-section .white-step-card p,
.feature-dark .timeline .white-step-card p{
  color:var(--ink) !important;
}

/* Revert nav styling while keeping the uploaded logo + hamburger. */
.site-header{
  background:rgba(255,255,255,.74) !important;
  border-bottom:1px solid rgba(216,228,243,.7) !important;
}
.site-header .nav-wrap{
  max-width:var(--max) !important;
  margin:auto !important;
  width:auto !important;
  padding:.9rem 1rem !important;
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:1rem !important;
}
.brand-link{
  margin-left:0 !important;
  color:var(--navy) !important;
}
.brand-logo{
  width:auto !important;
  height:44px !important;
  max-width:min(240px,38vw) !important;
  object-fit:contain !important;
  display:block !important;
}
.nav-list a{
  color:var(--navy) !important;
  font-weight:760 !important;
}
.nav-list a[aria-current="page"],
.nav-list a:hover,
.nav-list a:focus{
  background:linear-gradient(135deg,rgba(0,123,255,.10),rgba(56,182,255,.16)) !important;
  color:var(--brand) !important;
}
.nav-cta{
  background:var(--navy) !important;
  color:#fff !important;
}
.nav-cta:hover,
.nav-cta:focus{
  background:var(--brand) !important;
  color:#fff !important;
}

/* Revert footer font/color behavior. */
.site-footer{
  color:rgba(255,255,255,.78) !important;
}
.site-footer p,
.site-footer li,
.site-footer span{
  color:rgba(255,255,255,.78) !important;
}
.site-footer a,
.footer-links a,
.social-links a{
  color:#fff !important;
}
.footer-brand{
  color:#fff !important;
}
.footer-brand img{
  width:auto !important;
  height:42px !important;
  max-width:min(220px,70vw) !important;
  object-fit:contain !important;
}

/* Hero logo: full white landing strip like the old landing. */
.jgit-logo-hero{
  width:100vw !important;
  max-width:none !important;
  margin-left:calc(50% - 50vw) !important;
  margin-right:calc(50% - 50vw) !important;
  margin-top:0 !important;
  padding:clamp(1rem,3vw,2.25rem) 1rem !important;
  background:#fff !important;
  border:0 !important;
  border-radius:0 !important;
  box-shadow:none !important;
}
.jgit-logo-hero-image{
  display:block !important;
  width:min(100%,1448px) !important;
  max-width:1448px !important;
  max-height:620px !important;
  height:auto !important;
  margin:0 auto !important;
  object-fit:contain !important;
  object-position:center !important;
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
  padding:0 !important;
  border-radius:0 !important;
}

/* Old landing style ticker: red left clip + black news bar.
   No Cyber News pill, no red border line, no rounded wrapper. */
.cyber-ticker{
  background:#000 !important;
  border:0 !important;
  border-bottom:0 !important;
  color:#fff !important;
}
.cyber-ticker-inner{
  max-width:none !important;
  width:100% !important;
  margin:0 !important;
  padding:0 !important;
  display:block !important;
  background:#000 !important;
}
.ticker-label{
  display:none !important;
}
.ticker-frame{
  width:100% !important;
  max-width:none !important;
  min-width:0 !important;
  height:48px !important;
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
  border-radius:0 !important;
  box-shadow:none !important;
  overflow:hidden !important;
  background:#000 !important;
  display:flex !important;
  align-items:stretch !important;
}
.ticker-frame::before{
  content:none !important;
}
.ticker-ribbon{
  flex:0 0 clamp(190px,23vw,320px) !important;
  height:100% !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  padding:0 2rem 0 1rem !important;
  background:#f34a4e !important;
  color:#fff !important;
  font-family:'Oswald','Montserrat',Arial,sans-serif !important;
  font-weight:500 !important;
  letter-spacing:.04em !important;
  white-space:nowrap !important;
  border:0 !important;
  border-radius:0 !important;
  box-shadow:none !important;
  clip-path:polygon(0 0,calc(100% - 32px) 0,100% 50%,calc(100% - 32px) 100%,0 100%) !important;
  pointer-events:none !important;
}
.ticker-frame iframe{
  flex:1 1 auto !important;
  min-width:0 !important;
  width:auto !important;
  height:74px !important;
  border:0 !important;
  border-radius:0 !important;
  background:#000 !important;
  transform:translateY(-10px) !important;
  overflow:hidden !important;
}

/* Homepage two-panel layout retained. */
.home-duo{
  display:grid !important;
  grid-template-columns:minmax(280px,.9fr) minmax(0,1.1fr) !important;
  grid-template-areas:
    "rss who"
    "schedule schedule" !important;
  gap:1rem !important;
  align-items:stretch !important;
}
.home-duo .rss-card{grid-area:rss !important;display:flex !important;flex-direction:column !important;}
.home-duo .who-help-card{grid-area:who !important;}
.home-duo .home-wide-cta{grid-area:schedule !important;width:100% !important;}
.home-duo .rss-frame{flex:1 1 auto !important;height:auto !important;min-height:300px !important;}

/* Contact page: two halves + wide under panel, with equal-height top cards. */
.contact-flow-split{
  display:grid !important;
  grid-template-columns:minmax(280px,1fr) minmax(0,1fr) !important;
  grid-template-areas:
    "schedule details"
    "backup backup" !important;
  gap:1rem !important;
  align-items:stretch !important;
}
.contact-flow-split #schedule{grid-area:schedule !important;}
.contact-flow-split #details{grid-area:details !important;}
.contact-flow-split .contact-wide-panel{grid-area:backup !important;}
.contact-top-panel{
  height:100% !important;
  display:flex !important;
  flex-direction:column !important;
}
.appointment-fallback{
  flex:1 1 auto !important;
  display:flex !important;
  flex-direction:column !important;
}
.square-widget-anchor{
  flex:1 1 auto !important;
  min-height:320px !important;
  display:grid !important;
  place-items:center !important;
}

/* Subtle hover pop. */
.button:hover,
.button:focus-visible{
  transform:translateY(-1px) !important;
  box-shadow:0 10px 24px rgba(0,95,204,.18) !important;
}
.card:hover,
.mini-card-stack article:hover,
.appointment-box:hover,
.plan-mobile-card:hover{
  transform:translateY(-2px) !important;
}

/* Responsive cleanup. */
@media(max-width:980px){
  .home-duo{
    grid-template-columns:1fr !important;
    grid-template-areas:"rss" "who" "schedule" !important;
  }
  .contact-flow-split{
    grid-template-columns:1fr !important;
    grid-template-areas:"schedule" "details" "backup" !important;
  }
  .square-widget-anchor{min-height:240px !important;}
}
@media(max-width:780px){
  .brand-logo{height:38px !important;max-width:min(210px,58vw) !important;}
  .footer-brand img{height:36px !important;max-width:min(210px,78vw) !important;}
  .ticker-frame{height:44px !important;}
  .ticker-ribbon{
    flex-basis:clamp(150px,44vw,220px) !important;
    padding-left:.75rem !important;
    padding-right:1.5rem !important;
    font-size:.9rem !important;
    clip-path:polygon(0 0,calc(100% - 24px) 0,100% 50%,calc(100% - 24px) 100%,0 100%) !important;
  }
}
@media(max-width:480px){
  .brand-logo{height:34px !important;max-width:min(185px,60vw) !important;}
  .jgit-logo-hero-image{max-height:340px !important;}
}

/* =========================================================
   Final nav + main content blue pass
   User-selected blue: #483D8BFF
   ========================================================= */
:root{
  --card-accent:#483D8BFF;
  --requested-blue:#483D8BFF;
}

/* Nav: blue links, blue Contact oval with white text. */
.nav-list a{
  color:var(--requested-blue) !important;
}
.nav-list a[aria-current="page"],
.nav-list a:hover,
.nav-list a:focus{
  color:var(--requested-blue) !important;
  background:rgba(72,61,139,.12) !important;
}
.nav-list .nav-cta,
.nav-list a.nav-cta,
.nav-list a[href="contact.html"].nav-cta{
  background:var(--requested-blue) !important;
  color:#fff !important;
  border:1px solid var(--requested-blue) !important;
  box-shadow:0 12px 26px rgba(72,61,139,.22) !important;
}
.nav-list .nav-cta:hover,
.nav-list .nav-cta:focus,
.nav-list a[href="contact.html"].nav-cta:hover,
.nav-list a[href="contact.html"].nav-cta:focus{
  background:#3d3377 !important;
  color:#fff !important;
  border-color:#3d3377 !important;
}

/* Main content sections requested blue.
   Keep hero text and footer text untouched for contrast/readability. */
main .section h2,
main .section h3,
main .section p,
main .section li,
main .section td,
main .section th,
main .section dt,
main .section dd,
main .section strong,
main .section .lede,
main .section .note,
main .section .eyebrow,
main .section .card-icon,
main .home-duo h2,
main .home-duo h3,
main .home-duo p,
main .home-duo li,
main .home-duo strong{
  color:var(--requested-blue) !important;
}

/* Keep white text inside dark/hero areas, but make white support-step cards blue. */
main .hero h1,
main .hero h2,
main .hero h3,
main .hero p,
main .hero .hero-kicker,
.feature-dark > .section > .section-header h2,
.feature-dark > .section > .section-header .eyebrow{
  color:#fff !important;
}
.feature-dark .white-step-card h3,
.feature-dark .white-step-card p{
  color:var(--requested-blue) !important;
}

/* Cards: requested blue for borders, icons, titles, and subtle hover. */
.card,
.mini-card-stack article,
.table-wrap,
.plan-mobile-card,
.rss-card,
.appointment-box{
  border-color:rgba(72,61,139,.34) !important;
}
.card h2,
.card h3,
.card p,
.card li,
.card td,
.card dd,
.card dt,
.card strong,
.mini-card-stack h3,
.mini-card-stack p,
.plan-mobile-card h3,
.plan-mobile-card dt,
.plan-mobile-card dd{
  color:var(--requested-blue) !important;
}
.card-icon{
  color:var(--requested-blue) !important;
  background:linear-gradient(135deg,rgba(72,61,139,.10),rgba(72,61,139,.20)) !important;
}
.card:hover,
.mini-card-stack article:hover,
.table-wrap:hover,
.plan-mobile-card:hover,
.appointment-box:hover{
  border-color:var(--requested-blue) !important;
  box-shadow:0 22px 54px rgba(72,61,139,.18) !important;
}

/* Buttons remain accessible: filled buttons white text, ghost buttons blue text. */
.button.primary{
  background:var(--requested-blue) !important;
  border-color:var(--requested-blue) !important;
  color:#fff !important;
}
.button.primary:hover,
.button.primary:focus-visible{
  background:#3d3377 !important;
  border-color:#3d3377 !important;
  color:#fff !important;
}
.button.ghost,
.button.secondary{
  color:var(--requested-blue) !important;
  border-color:rgba(72,61,139,.45) !important;
}
.hero .button.secondary{
  color:#fff !important;
  border-color:rgba(255,255,255,.45) !important;
}

/* Footer stays reverted: white text on dark footer, not purple. */
.site-footer,
.site-footer p,
.site-footer li,
.site-footer span,
.site-footer a,
.footer-links a,
.social-links a{
  color:#fff !important;
}

/* =========================================================
   Ticker style fix to match old reference screenshot
   ========================================================= */
.cyber-ticker{
  background:#000 !important;
  border:0 !important;
  box-shadow:none !important;
}
.cyber-ticker-inner{
  width:100% !important;
  max-width:none !important;
  margin:0 !important;
  padding:0 !important;
  background:#000 !important;
}
.ticker-label{
  display:none !important;
}
.ticker-frame{
  width:100% !important;
  height:50px !important;
  min-height:50px !important;
  max-height:50px !important;
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
  border-radius:0 !important;
  box-shadow:none !important;
  overflow:hidden !important;
  background:#000 !important;
  display:flex !important;
  align-items:stretch !important;
}
.ticker-frame::before{
  content:none !important;
}
.ticker-ribbon{
  flex:0 0 265px !important;
  width:265px !important;
  min-width:265px !important;
  max-width:265px !important;
  height:50px !important;
  min-height:50px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:flex-start !important;
  padding:0 18px 0 12px !important;
  background:#d1201b !important;
  color:#fff !important;
  font-family:Arial, Helvetica, sans-serif !important;
  font-size:15px !important;
  font-weight:700 !important;
  line-height:1 !important;
  letter-spacing:0 !important;
  text-transform:none !important;
  white-space:nowrap !important;
  border:0 !important;
  border-radius:0 !important;
  box-shadow:none !important;
  clip-path:polygon(0 0,100% 0,92% 100%,0 100%) !important;
  pointer-events:none !important;
}
.ticker-frame iframe{
  flex:1 1 auto !important;
  min-width:0 !important;
  width:auto !important;
  height:76px !important;
  border:0 !important;
  border-radius:0 !important;
  background:#000 !important;
  transform:translateY(-13px) !important;
  overflow:hidden !important;
  filter:contrast(1.02) brightness(1) !important;
}

/* Mobile scaling while preserving the same visual treatment */
@media(max-width:780px){
  .ticker-frame{
    height:44px !important;
    min-height:44px !important;
    max-height:44px !important;
  }
  .ticker-ribbon{
    flex-basis:190px !important;
    width:190px !important;
    min-width:190px !important;
    max-width:190px !important;
    height:44px !important;
    min-height:44px !important;
    padding:0 14px 0 10px !important;
    font-size:13px !important;
    clip-path:polygon(0 0,100% 0,90% 100%,0 100%) !important;
  }
  .ticker-frame iframe{
    height:68px !important;
    transform:translateY(-12px) !important;
  }
}
@media(max-width:480px){
  .ticker-ribbon{
    flex-basis:160px !important;
    width:160px !important;
    min-width:160px !important;
    max-width:160px !important;
    font-size:12px !important;
  }
}

/* =========================================================
   Ticker section simplified: feed only
   ========================================================= */
.cyber-ticker{
  background:#000 !important;
  border:0 !important;
  box-shadow:none !important;
}
.cyber-ticker-inner{
  width:100% !important;
  max-width:none !important;
  margin:0 !important;
  padding:0 !important;
  background:#000 !important;
}
.ticker-label,
.ticker-ribbon,
.ticker-fallback{
  display:none !important;
}
.ticker-frame{
  width:100% !important;
  height:44px !important;
  min-height:44px !important;
  max-height:44px !important;
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
  border-radius:0 !important;
  box-shadow:none !important;
  overflow:hidden !important;
  background:#000 !important;
  display:block !important;
}
.ticker-frame::before{
  content:none !important;
}
.ticker-frame iframe{
  display:block !important;
  width:100% !important;
  min-width:100% !important;
  height:68px !important;
  border:0 !important;
  border-radius:0 !important;
  background:#000 !important;
  transform:translateY(-12px) !important;
  overflow:hidden !important;
}
@media(max-width:780px){
  .ticker-frame{
    height:40px !important;
    min-height:40px !important;
    max-height:40px !important;
  }
  .ticker-frame iframe{
    height:64px !important;
    transform:translateY(-12px) !important;
  }
}

/* =========================================================
   Requested nav restore: original JGittech nav structure/colors
   ========================================================= */
.site-header .nav-wrap{
  max-width:none !important;
  width:100% !important;
  margin:0 !important;
  padding:.9rem clamp(.75rem,2vw,1rem) !important;
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:1rem !important;
}
.brand-link{
  display:flex !important;
  align-items:center !important;
  gap:.7rem !important;
  color:var(--navy) !important;
  font-family:'Orbitron','Montserrat',ui-sans-serif,system-ui,sans-serif !important;
  font-weight:600 !important;
  letter-spacing:.015em !important;
  font-size:1.08rem !important;
  text-decoration:none !important;
  flex-shrink:0 !important;
}
.brand-link:hover,
.brand-link:focus{
  text-decoration:none !important;
}
.brand-logo{
  width:44px !important;
  height:44px !important;
  max-width:44px !important;
  min-width:44px !important;
  object-fit:contain !important;
  display:block !important;
  filter:drop-shadow(0 8px 18px rgba(0,123,255,.18)) !important;
}
.brand-link span{
  display:block !important;
  color:var(--navy) !important;
}
.brand-link span::after{
  content:"Technology Support & Solutions";
  display:block;
  font-family:'Montserrat',sans-serif;
  font-size:.55rem;
  font-weight:600;
  letter-spacing:.08em;
  color:var(--brand);
  text-transform:uppercase;
  margin-top:-.18rem;
}
.nav-list a{
  color:var(--navy) !important;
  font-family:'Oswald','Montserrat','Arial Narrow',sans-serif !important;
  font-weight:500 !important;
  letter-spacing:.045em !important;
  text-transform:uppercase !important;
}
.nav-list a[aria-current="page"],
.nav-list a:hover,
.nav-list a:focus{
  background:linear-gradient(135deg,rgba(0,123,255,.10),rgba(56,182,255,.16)) !important;
  color:var(--brand) !important;
  text-decoration:none !important;
}
.nav-list a.nav-cta,
.nav-cta{
  background:var(--brand) !important;
  color:#fff !important;
  border-color:var(--brand) !important;
  box-shadow:0 12px 28px rgba(0,123,255,.24) !important;
}
.nav-list a.nav-cta:hover,
.nav-list a.nav-cta:focus,
.nav-cta:hover,
.nav-cta:focus{
  background:#005fcc !important;
  color:#fff !important;
  border-color:#005fcc !important;
}
.nav-toggle{
  display:none;
  align-items:center;
  gap:.55rem;
}

/* keep mobile hamburger behavior intact */
@media(max-width:780px){
  .site-header .nav-wrap{
    position:relative !important;
  }
  .nav-toggle{
    display:inline-flex !important;
  }
  .brand-logo{
    width:40px !important;
    height:40px !important;
    max-width:40px !important;
    min-width:40px !important;
  }
  .brand-link span::after{
    display:none;
  }
  .nav-list{
    position:absolute !important;
    left:1rem !important;
    right:1rem !important;
    top:calc(100% + .55rem) !important;
    display:none !important;
    flex-direction:column !important;
    align-items:stretch !important;
    gap:.25rem !important;
    background:rgba(255,255,255,.98) !important;
    border:1px solid var(--line) !important;
    border-radius:20px !important;
    box-shadow:var(--shadow) !important;
    padding:.55rem !important;
    z-index:100 !important;
  }
  .nav-list.open{
    display:flex !important;
  }
  .nav-list a{
    text-align:center !important;
    border-radius:14px !important;
  }
}
@media(min-width:781px){
  .nav-toggle{
    display:none !important;
  }
  .nav-list{
    display:flex !important;
  }
}

/* =========================================================
   Final production QA polish
   ========================================================= */

/* Keep the requested nav structure/colors stable. */
.site-header .nav-wrap{
  max-width:none !important;
  width:100% !important;
  margin:0 !important;
  padding:.9rem clamp(.75rem,2vw,1rem) !important;
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:1rem !important;
}
.brand-link{
  display:flex !important;
  align-items:center !important;
  gap:.7rem !important;
  color:var(--navy) !important;
  text-decoration:none !important;
}
.brand-logo{
  width:44px !important;
  height:44px !important;
  max-width:44px !important;
  min-width:44px !important;
  object-fit:contain !important;
}
.nav-list a{
  color:var(--navy) !important;
}
.nav-list a[aria-current="page"],
.nav-list a:hover,
.nav-list a:focus{
  color:var(--brand) !important;
}
.nav-list a.nav-cta,
.nav-cta{
  background:var(--brand) !important;
  color:#fff !important;
  border-color:var(--brand) !important;
}

/* Homepage logo hero should remain a clean edge-to-edge white band. */
.jgit-logo-hero{
  width:100vw !important;
  max-width:none !important;
  margin-left:calc(50% - 50vw) !important;
  margin-right:calc(50% - 50vw) !important;
  margin-top:0 !important;
  background:#fff !important;
  border:0 !important;
  border-radius:0 !important;
  box-shadow:none !important;
}
.jgit-logo-hero-image{
  width:min(100%,1448px) !important;
  max-width:1448px !important;
  height:auto !important;
  object-fit:contain !important;
  margin:0 auto !important;
  border:0 !important;
  box-shadow:none !important;
  background:transparent !important;
}

/* Ticker approved state: feed-only, no labels/ribbons. */
.cyber-ticker,
.cyber-ticker-inner,
.ticker-frame{
  background:#000 !important;
  border:0 !important;
  box-shadow:none !important;
  border-radius:0 !important;
}
.ticker-label,
.ticker-ribbon,
.ticker-fallback{
  display:none !important;
}
.ticker-frame{
  width:100% !important;
  height:44px !important;
  min-height:44px !important;
  max-height:44px !important;
  overflow:hidden !important;
}
.ticker-frame::before{
  content:none !important;
}
.ticker-frame iframe{
  display:block !important;
  width:100% !important;
  min-width:100% !important;
  height:68px !important;
  border:0 !important;
  border-radius:0 !important;
  transform:translateY(-12px) !important;
}

/* Footer remains white-on-dark. */
.site-footer,
.site-footer p,
.site-footer li,
.site-footer span{
  color:rgba(255,255,255,.78) !important;
}
.site-footer a,
.footer-links a,
.social-links a{
  color:#fff !important;
}

/* Mobile menu guardrail. */
@media(max-width:780px){
  .site-header .nav-wrap{
    position:relative !important;
  }
  .nav-toggle{
    display:inline-flex !important;
  }
  .nav-list{
    position:absolute !important;
    left:1rem !important;
    right:1rem !important;
    top:calc(100% + .55rem) !important;
    display:none !important;
    flex-direction:column !important;
    align-items:stretch !important;
    gap:.25rem !important;
    background:rgba(255,255,255,.98) !important;
    border:1px solid var(--line) !important;
    border-radius:20px !important;
    box-shadow:var(--shadow) !important;
    padding:.55rem !important;
    z-index:100 !important;
  }
  .nav-list.open{
    display:flex !important;
  }
  .nav-list a{
    text-align:center !important;
  }
}
@media(min-width:781px){
  .nav-toggle{
    display:none !important;
  }
  .nav-list{
    display:flex !important;
  }
}

/* =========================================================
   Contact page full redo
   ========================================================= */
.contact-redesign .section-header{
  max-width:820px;
  margin-left:auto;
  margin-right:auto;
}
.contact-choice-grid{
  display:grid;
  grid-template-columns:minmax(280px,1fr) minmax(0,1fr);
  gap:1rem;
  align-items:stretch;
}
.contact-choice-card{
  height:100%;
  display:flex;
  flex-direction:column;
}
.contact-choice-card .contact-form{
  flex:1 1 auto;
}
.contact-choice-card .appointment-fallback{
  flex:1 1 auto;
  display:flex;
  flex-direction:column;
  margin-top:1rem;
}
.square-widget-anchor{
  flex:1 1 auto;
  min-height:360px;
  display:grid;
  place-items:center;
  border:1px dashed rgba(160,184,214,.85);
  border-radius:18px;
  background:rgba(244,249,255,.9);
  margin-top:.75rem;
}
.contact-backup-section .contact-wide-panel{
  max-width:var(--max);
  margin-left:auto;
  margin-right:auto;
}
.contact-backup-grid{
  display:grid;
  grid-template-columns:minmax(260px,.85fr) minmax(0,1.15fr);
  gap:1rem;
  align-items:start;
  margin-top:1rem;
}
.contact-wide-panel > p{
  text-align:center !important;
  max-width:74ch;
  margin-left:auto;
  margin-right:auto;
}
@media(max-width:920px){
  .contact-choice-grid,
  .contact-backup-grid{
    grid-template-columns:1fr;
  }
  .square-widget-anchor{
    min-height:260px;
  }
}
@media(max-width:520px){
  .contact-choice-card{
    padding:1rem;
  }
  .square-widget-anchor{
    min-height:220px;
  }
}

/* =========================================================
   Contact backup section layout fix
   ========================================================= */
.backup-options-card{
  overflow:visible !important;
}
.backup-header{
  text-align:center;
  max-width:780px;
  margin:0 auto 1.25rem;
}
.backup-header p{
  text-align:center !important;
  margin-left:auto;
  margin-right:auto;
}
.backup-layout{
  display:grid;
  grid-template-columns:minmax(260px,.85fr) minmax(0,1.15fr);
  gap:1rem;
  align-items:stretch;
}
.backup-contact-card,
.backup-guidance-card{
  background:rgba(244,249,255,.92);
  border:1px solid rgba(160,184,214,.75);
  border-radius:18px;
  padding:1rem;
  min-width:0;
}
.backup-contact-card h3,
.backup-guidance-card h3{
  margin-top:0;
  text-align:center;
}
.backup-contact-list{
  display:grid;
  gap:.7rem;
}
.backup-contact-list li{
  display:grid;
  grid-template-columns:90px minmax(0,1fr);
  gap:.75rem;
  align-items:start;
  padding:.75rem 0;
  border-bottom:1px solid rgba(160,184,214,.55);
}
.backup-contact-list li:last-child{
  border-bottom:0;
}
.backup-contact-list span{
  font-weight:800;
  color:var(--navy);
}
.backup-contact-list a,
.backup-contact-list strong{
  min-width:0;
  overflow-wrap:anywhere;
}
.issue-guide-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:.75rem;
}
.issue-guide-grid article{
  background:#fff;
  border:1px solid rgba(160,184,214,.65);
  border-radius:14px;
  padding:.85rem;
  min-width:0;
}
.issue-guide-grid strong{
  display:block;
  margin-bottom:.25rem;
}
.issue-guide-grid p{
  margin:0;
}
.backup-actions{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:.75rem;
  margin-top:1.25rem;
}
.backup-actions .button{
  min-width:180px;
}
@media(max-width:900px){
  .backup-layout{
    grid-template-columns:1fr;
  }
}
@media(max-width:560px){
  .backup-contact-list li{
    grid-template-columns:1fr;
    gap:.25rem;
  }
  .issue-guide-grid{
    grid-template-columns:1fr;
  }
  .backup-actions .button{
    width:100%;
  }
}

/* =========================================================
   Nav logo pill update
   ========================================================= */
.site-header .brand-link{
  display:inline-flex !important;
  align-items:center !important;
  gap:.62rem !important;
  padding:.38rem .72rem .38rem .45rem !important;
  border:1px solid rgba(72,61,139,.28) !important;
  border-radius:999px !important;
  background:rgba(255,255,255,.84) !important;
  box-shadow:0 10px 24px rgba(16,38,74,.08) !important;
  color:var(--navy) !important;
  text-decoration:none !important;
  line-height:1 !important;
}
.site-header .brand-link:hover,
.site-header .brand-link:focus-visible{
  border-color:rgba(72,61,139,.48) !important;
  box-shadow:0 14px 30px rgba(72,61,139,.14) !important;
  transform:translateY(-1px);
}
.site-header .brand-logo{
  width:40px !important;
  height:40px !important;
  min-width:40px !important;
  max-width:40px !important;
  object-fit:contain !important;
  border-radius:50% !important;
  background:#fff !important;
  padding:2px !important;
  filter:drop-shadow(0 6px 12px rgba(0,123,255,.16)) !important;
}
.site-header .brand-link span{
  display:block !important;
  color:var(--navy) !important;
  font-family:'Orbitron','Montserrat',ui-sans-serif,system-ui,sans-serif !important;
  font-weight:600 !important;
  letter-spacing:.015em !important;
  white-space:nowrap !important;
}
.site-header .brand-link span::after{
  content:"Technology Support & Solutions";
  display:block;
  font-family:'Montserrat',sans-serif;
  font-size:.53rem;
  font-weight:600;
  letter-spacing:.07em;
  color:var(--brand);
  text-transform:uppercase;
  margin-top:.12rem;
}
.nav-list a[aria-current="page"]{
  background:linear-gradient(135deg,rgba(0,123,255,.12),rgba(56,182,255,.18)) !important;
  color:var(--brand) !important;
}
.nav-list a.nav-cta[aria-current="page"],
.nav-list a.nav-cta{
  background:var(--brand) !important;
  color:#fff !important;
}
@media(max-width:780px){
  .site-header .brand-link{
    padding:.34rem .6rem .34rem .4rem !important;
    max-width:calc(100vw - 7rem);
  }
  .site-header .brand-logo{
    width:36px !important;
    height:36px !important;
    min-width:36px !important;
    max-width:36px !important;
  }
  .site-header .brand-link span{
    font-size:.96rem !important;
  }
  .site-header .brand-link span::after{
    display:none !important;
  }
}
@media(max-width:390px){
  .site-header .brand-link span{
    font-size:.86rem !important;
  }
}

/* Cookiebot declaration container */
.cookie-declaration-embed{
  margin:1.25rem auto;
  max-width:100%;
  text-align:left;
}
