.oreilly-campus-page{--cl-navy:#111638;--cl-purple:#2f197d;--cl-gold:#f0c86b;--cl-muted:#606174;background:#fff;color:#17182b;overflow:clip}
.oreilly-campus-page .container{width:min(1290px,calc(100% - 64px));max-width:none;padding-inline:0}
.oreilly-campus-gallery{padding:clamp(72px,8vw,120px) 0 clamp(84px,10vw,150px)}
.oreilly-campus-gallery__heading{max-width:820px;margin-bottom:clamp(42px,5vw,72px)}
.oreilly-campus-gallery__breadcrumb{display:flex;align-items:center;gap:10px;margin-bottom:34px;color:var(--cl-muted);font-size:14px}
.oreilly-campus-gallery__breadcrumb a{color:var(--cl-purple)}
.oreilly-campus__eyebrow{margin:0 0 18px;color:var(--cl-purple);font-size:13px;font-weight:700;letter-spacing:.14em;line-height:1.3;text-transform:uppercase}
.oreilly-campus-gallery__heading h1{margin:0;color:var(--cl-navy);font-size:clamp(58px,8vw,110px);font-weight:500;letter-spacing:-.055em;line-height:.9}
.oreilly-campus-gallery__heading>p:last-child{max-width:650px;margin:28px 0 0;color:var(--cl-muted);font-size:18px;line-height:1.7}
.oreilly-campus-gallery__grid{column-count:3;column-gap:clamp(14px,1.5vw,22px)}
.oreilly-campus-gallery__item{position:relative;display:block;width:100%;min-width:0;margin:0 0 clamp(14px,1.5vw,22px);padding:0;break-inside:avoid;border:0;border-radius:20px;background:#eeeaf5;cursor:zoom-in;overflow:hidden;isolation:isolate}
.oreilly-campus-gallery__item img{display:block;width:100%;height:auto;object-fit:contain;transition:transform .55s cubic-bezier(.2,.7,.2,1),filter .35s ease}
.oreilly-campus-gallery__item::after{position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,rgba(13,16,48,.36));content:"";opacity:0;transition:opacity .35s ease}
.oreilly-campus-gallery__open{position:absolute;right:18px;bottom:18px;z-index:1;display:grid;width:44px;height:44px;place-items:center;border:1px solid rgba(255,255,255,.5);border-radius:50%;background:rgba(17,22,56,.72);color:#fff;opacity:0;transform:translateY(6px);transition:opacity .3s ease,transform .3s ease;backdrop-filter:blur(8px)}
.oreilly-campus-gallery__item:hover img{transform:scale(1.035);filter:saturate(1.04)}
.oreilly-campus-gallery__item:hover::after,.oreilly-campus-gallery__item:hover .oreilly-campus-gallery__open,.oreilly-campus-gallery__item:focus-visible::after,.oreilly-campus-gallery__item:focus-visible .oreilly-campus-gallery__open{opacity:1}
.oreilly-campus-gallery__item:hover .oreilly-campus-gallery__open,.oreilly-campus-gallery__item:focus-visible .oreilly-campus-gallery__open{transform:none}
.oreilly-campus-gallery__item:focus-visible{outline:3px solid var(--cl-gold);outline-offset:4px}
.oreilly-campus-lightbox[hidden]{display:none}
.oreilly-campus-lightbox{position:fixed;inset:0;z-index:99999;display:grid;grid-template-columns:84px minmax(0,1fr) 84px;align-items:center;padding:clamp(24px,4vw,64px);background:rgba(6,8,24,.94);opacity:0;transition:opacity .2s ease;backdrop-filter:blur(8px)}
.oreilly-campus-lightbox.is-open{opacity:1}
.oreilly-campus-lightbox__figure{display:flex;min-width:0;max-width:min(1200px,100%);max-height:calc(100vh - 80px);flex-direction:column;justify-self:center;margin:0}
.oreilly-campus-lightbox__figure img{display:block;max-width:100%;max-height:calc(100vh - 120px);border-radius:16px;object-fit:contain;box-shadow:0 28px 80px rgba(0,0,0,.36)}
.oreilly-campus-lightbox__figure figcaption{min-height:24px;margin-top:14px;color:rgba(255,255,255,.76);font-size:13px;text-align:center}
.oreilly-campus-lightbox button{display:grid;place-items:center;border:1px solid rgba(255,255,255,.3);border-radius:50%;background:rgba(255,255,255,.08);color:#fff;transition:background .2s ease,border-color .2s ease}
.oreilly-campus-lightbox button:hover{border-color:#fff;background:rgba(255,255,255,.18)}
.oreilly-campus-lightbox button:focus-visible{outline:3px solid var(--cl-gold);outline-offset:4px}
.oreilly-campus-lightbox__close{position:absolute;top:24px;right:24px;width:50px;height:50px;font-size:22px}
.oreilly-campus-lightbox__nav{width:54px;height:54px;justify-self:center;font-size:19px}
body.oreilly-lightbox-open{overflow:hidden}
@media(max-width:991px){.oreilly-campus-page .container{width:calc(100% - 48px)}.oreilly-campus-gallery__grid{column-count:2}.oreilly-campus-lightbox{grid-template-columns:62px minmax(0,1fr) 62px;padding:24px}}
@media(max-width:767px){.oreilly-campus-page .container{width:calc(100% - 32px)}.oreilly-campus-gallery{padding:58px 0 80px}.oreilly-campus-gallery__breadcrumb{margin-bottom:25px}.oreilly-campus-gallery__heading>p:last-child{font-size:16px}.oreilly-campus-gallery__item{border-radius:15px}.oreilly-campus-gallery__open{right:13px;bottom:13px;opacity:1;transform:none}.oreilly-campus-lightbox{display:block;padding:72px 16px 90px}.oreilly-campus-lightbox__figure{height:100%;align-items:center;justify-content:center}.oreilly-campus-lightbox__figure img{max-height:calc(100vh - 180px)}.oreilly-campus-lightbox__nav{position:absolute;bottom:22px}.oreilly-campus-lightbox__nav--previous{left:calc(50% - 66px)}.oreilly-campus-lightbox__nav--next{right:calc(50% - 66px)}.oreilly-campus-lightbox__close{top:16px;right:16px}}
@media(max-width:560px){.oreilly-campus-gallery__grid{column-count:1}}
@media(prefers-reduced-motion:reduce){.oreilly-campus-gallery__item img,.oreilly-campus-gallery__item::after,.oreilly-campus-gallery__open,.oreilly-campus-lightbox{transition-duration:.01ms!important}}
