/* KPMG x Abakus event layer. Core CTFd behavior and Bootstrap remain intact. */
:root{--event-blue:#00338d;--event-red:#e50914;--event-ink:#101f3d;--event-muted:#53617a;--event-paper:#f5f7fb}
body.event-theme{font-family:Arial,Helvetica,sans-serif;background:var(--event-paper);color:var(--event-ink);padding-top:84px}
.event-theme main{padding-top:0;margin-bottom:0;min-height:calc(100vh - 178px)}
.event-theme .navbar{min-height:84px;background:#fff!important;border-bottom:1px solid #dce2ee;box-shadow:none}
.event-brand{display:flex;align-items:center;gap:15px;padding:8px 0}.event-brand img{display:block;object-fit:contain}.brand-kpmg{width:87px;height:30px}.brand-abakus{width:110px;height:28px}.event-cross{font-size:24px;font-weight:400;color:#8993a4}.event-theme .navbar-brand{margin-right:36px}
.event-theme .navbar .nav-link{color:#34435c;font-size:13px;font-weight:600}.event-theme .navbar .nav-link:hover,.event-theme .navbar .nav-link:focus{color:var(--event-blue)}.event-theme .navbar-toggler{border-color:#b8c3d4}.event-theme .navbar-toggler-icon{filter:invert(1)}
.event-hero{overflow:hidden;background:#fff;border-bottom:1px solid #dce2ee}.hero-grid{display:grid;grid-template-columns:1.1fr 1fr;align-items:center;gap:64px;padding-top:74px;padding-bottom:70px}
.event-eyebrow{font:700 11px/1.6 monospace;letter-spacing:1.4px;color:var(--event-blue);display:flex;align-items:center;gap:10px;margin-bottom:26px;text-transform:uppercase}.event-dot{width:8px;height:8px;border-radius:50%;background:var(--event-red)}.eyebrow-divider{color:#a6afbd;margin:0 3px}
.hero-copy h1{font-size:clamp(64px,7.4vw,104px);line-height:.96;letter-spacing:-6px;font-weight:800;color:var(--event-blue);margin:0 0 30px}.hero-copy h1 span{color:var(--event-ink)}.hero-lead{font-size:23px;font-weight:600;line-height:1.35;letter-spacing:-.5px;margin-bottom:16px}.hero-description{font-size:16px;line-height:1.75;color:var(--event-muted);max-width:420px;margin-bottom:26px}.hero-actions{display:flex;align-items:center;flex-wrap:wrap;gap:24px}.event-button{display:inline-flex;gap:28px;align-items:center;justify-content:space-between;background:var(--event-blue);color:#fff;padding:17px 22px;font-size:14px;font-weight:700;border-radius:3px;text-decoration:none;transition:background .15s}.event-button:hover{background:#002368;color:#fff}.event-button span{font-size:22px;line-height:1}.event-text-link{color:var(--event-blue);font-size:14px;font-weight:700;text-decoration:none}.event-text-link:hover{text-decoration:underline}.hero-caption{margin-top:42px;display:flex;gap:20px;flex-wrap:wrap;font:9px/1.5 monospace;letter-spacing:1px;color:#65738b}.hero-caption span:first-child{color:var(--event-blue);font-weight:700}
.challenge-art{aspect-ratio:1/1.13;background:#00338d;color:white;position:relative;overflow:hidden;border-radius:4px;background-image:linear-gradient(#ffffff0c 1px,transparent 1px),linear-gradient(90deg,#ffffff0c 1px,transparent 1px);background-size:42px 42px;box-shadow:20px 20px 0 #edf1f9}
.art-topline,.art-bottomline{position:absolute;left:26px;right:26px;display:flex;justify-content:space-between;font:10px/1.5 monospace;letter-spacing:1.2px;color:#cadbfa}.art-topline{top:24px}.art-bottomline{bottom:22px;border-top:1px solid #ffffff33;padding-top:17px}.art-orbit{position:absolute;border:1px solid #739ff06b;border-radius:50%;width:370px;height:370px;top:58px;left:95px}.orbit-two{width:270px;height:270px;top:108px;left:145px}.art-cross{position:absolute;right:10px;top:35px;font-size:280px;font-weight:200;line-height:1;color:#3975d0;transform:rotate(-10deg)}.art-date{position:absolute;top:20%;left:34px;display:flex;flex-direction:column}.art-date span:first-child{font-size:clamp(120px,14vw,190px);font-weight:800;letter-spacing:-14px;line-height:1}.art-date span:last-child{font:700 18px/1.5 monospace;letter-spacing:8px;margin-left:10px}.art-terminal{position:absolute;left:26px;right:26px;bottom:83px;background:#081d48;border-left:3px solid var(--event-red);padding:19px 20px;display:flex;gap:10px;flex-direction:column;font:12px/1.5 monospace;box-shadow:0 12px 24px #00184340}.terminal-label{color:#a3bce7}.terminal-flag{color:#fff}.terminal-cursor{color:#ff6770}
.event-how{padding-top:54px;padding-bottom:60px}.section-heading .event-eyebrow{margin-bottom:12px;font-size:10px}.section-heading h2{font-size:32px;font-weight:700;letter-spacing:-1px;margin-bottom:30px}.event-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:32px}.event-steps article{border-top:1px solid #cbd4e2;padding-top:20px}.step-number{font:12px monospace;color:var(--event-blue)}.event-steps h3{font-size:18px;font-weight:700;margin:18px 0 10px}.event-steps p{font-size:14px;color:var(--event-muted);line-height:1.7;max-width:300px}
.event-theme .footer{position:static;z-index:auto;height:auto;line-height:1.5;padding:26px 0;background:#fff;border-top:1px solid #dce2ee}.event-footer{display:flex;justify-content:space-between;align-items:center;gap:20px;font-size:12px;font-weight:600}.event-footer .event-cross{font-size:14px;margin:0 6px}.footer-date{font-weight:400;color:#68758a;margin-left:14px}
.event-theme .jumbotron{background:var(--event-blue)!important;padding:48px 0;color:#fff}.event-theme .jumbotron h1{font-weight:700;letter-spacing:-1px}.event-theme .btn-primary{--bs-btn-bg:#00338d;--bs-btn-border-color:#00338d;--bs-btn-hover-bg:#002368;--bs-btn-hover-border-color:#002368;--bs-btn-active-bg:#002368;--bs-btn-active-border-color:#002368}.event-theme .btn-outline-secondary{--bs-btn-color:#00338d;--bs-btn-border-color:#aebbd1;--bs-btn-hover-bg:#00338d;--bs-btn-hover-border-color:#00338d}.event-theme .challenge-button{border-radius:5px;box-shadow:0 3px 12px #00285b0c}.event-theme .form-control:focus,.event-theme .form-select:focus{border-color:#638acd;box-shadow:0 0 0 .2rem #00338d25}.event-theme a:focus-visible,.event-theme button:focus-visible{outline:3px solid #e50914;outline-offset:4px}
[data-bs-theme=dark] body.event-theme{--event-paper:#101827;--event-ink:#e8edf7;--event-muted:#aab8cf;background:var(--event-paper);color:var(--event-ink)}[data-bs-theme=dark] .event-hero{background:#131e32;border-color:#2b3950}[data-bs-theme=dark] .hero-copy h1,[data-bs-theme=dark] .event-eyebrow,[data-bs-theme=dark] .event-text-link,[data-bs-theme=dark] .step-number,[data-bs-theme=dark] .hero-caption span:first-child{color:#8cb5ff}[data-bs-theme=dark] .challenge-art{box-shadow:20px 20px 0 #1c2b43}[data-bs-theme=dark] .event-theme .footer{background:#131e32;border-color:#2b3950}[data-bs-theme=dark] .event-theme .navbar .dropdown-menu{color:#e8edf7}[data-bs-theme=dark] .event-theme .navbar .dropdown-item{color:inherit}[data-bs-theme=dark] .event-theme .btn-outline-secondary{--bs-btn-color:#a5c6ff}
@media(min-width:768px) and (max-width:1199px){.event-theme .navbar-brand{margin-right:16px}.event-brand{gap:8px}.brand-kpmg{width:65px}.brand-abakus{width:80px}.hero-grid{gap:34px}.hero-copy h1{letter-spacing:-4px}.hero-actions{gap:16px}}
@media(max-width:767px){body.event-theme{padding-top:76px}.event-theme .navbar{min-height:76px}.hero-grid{grid-template-columns:1fr;gap:38px;padding:42px 24px 48px}.hero-copy h1{font-size:72px;letter-spacing:-4px}.hero-lead{font-size:22px}.hero-caption{margin-top:30px}.challenge-art{max-width:460px;width:100%;aspect-ratio:1/1.05;box-shadow:10px 10px 0 #edf1f9}.art-date{top:16%}.art-date span:first-child{font-size:145px}.art-cross{font-size:245px;top:22px}.art-terminal{bottom:65px;padding:12px 14px;font-size:11px}.art-bottomline{bottom:16px;padding-top:12px;font-size:8px}.event-how{padding:38px 24px}.event-steps{grid-template-columns:1fr;gap:24px}.event-steps p{max-width:none}.event-steps h3{margin-top:12px}.event-footer{align-items:flex-start;flex-direction:column;gap:12px}.event-theme .navbar-collapse{padding-bottom:16px}.event-theme .navbar .nav-link{padding:10px}.footer-date{margin-left:8px}}
@media(max-width:360px){.hero-copy h1{font-size:60px}.event-eyebrow{font-size:9px}.brand-abakus{width:90px}.hero-actions{gap:18px}.art-date span:first-child{font-size:120px}.art-terminal{left:16px;right:16px;font-size:10px}}
