:root{--red:#8b0000;--red-dark:#580000;--ink:#17191d;--muted:#66707c;--line:#dfe3e8;--paper:#fff;--canvas:#f3f5f7;--sidebar:#17191d;--gold:#d8b45a;--shadow:0 14px 38px rgba(21,24,29,.1)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--canvas);color:var(--ink);font:16px/1.55 Arial,Helvetica,sans-serif}button,a{font:inherit}.skip{position:fixed;left:1rem;top:-5rem;z-index:100;background:#fff;color:#000;padding:.75rem 1rem}.skip:focus{top:1rem}.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.sidebar{position:fixed;inset:0 auto 0 0;width:272px;background:var(--sidebar);color:#fff;z-index:20;display:flex;flex-direction:column;border-right:1px solid #2d3035}.brand{display:flex;align-items:center;gap:.9rem;padding:1.3rem 1.2rem 1.15rem;color:#fff;text-decoration:none;border-bottom:1px solid #30343a}.brand img{width:58px;height:58px;object-fit:cover;border-radius:8px}.brand strong{display:block;font-size:1.35rem;letter-spacing:.08em}.brand small{display:block;color:#aeb4bd;margin-top:.05rem}.sidebar nav{padding:1rem .8rem;display:grid;gap:.25rem}.sidebar nav button{border:0;background:transparent;color:#d5d8dc;text-align:left;padding:.75rem .8rem;border-radius:7px;cursor:pointer;display:flex;align-items:center;gap:.7rem}.sidebar nav button:hover,.sidebar nav button.active{background:#2b2e33;color:#fff}.sidebar nav button.active{box-shadow:inset 3px 0 var(--red)}.nav-icon{display:grid;place-items:center;width:26px;height:26px;border:1px solid #555b63;border-radius:5px;font-weight:bold;font-size:.78rem}.sidebar-foot{margin-top:auto;padding:1.2rem;color:#d7dade;border-top:1px solid #30343a}.sidebar-foot small{display:block;color:#8f969f;margin:.25rem 0 0 1rem}.status-dot{display:inline-block;width:8px;height:8px;background:#52b36b;border-radius:50%;margin-right:.45rem}main{margin-left:272px;min-height:100vh}.mobile-header{display:none}.page{display:none;min-height:calc(100vh - 62px)}.page.active{display:block}.hero{height:475px;position:relative;overflow:hidden;background:#090909}.hero>img{width:100%;height:100%;object-fit:cover}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.76),rgba(0,0,0,.15) 70%)}.hero-copy{position:absolute;left:clamp(2rem,7vw,7rem);bottom:4rem;color:#fff;max-width:620px}.hero-copy span,.kicker{font-size:.78rem;letter-spacing:.16em;font-weight:bold;color:var(--red);margin:0 0 .45rem}.hero-copy span{color:#fff}.hero-copy h1{font-size:clamp(3rem,6vw,5.6rem);line-height:.95;margin:.25rem 0 .9rem;font-weight:800;letter-spacing:-.04em}.hero-copy p{font-size:1.2rem;margin:0;color:#e7e7e7}.content-shell{max-width:1180px;margin:0 auto;padding:3rem 2rem 4.5rem}.content-shell.wide{max-width:1440px}.home-shell{margin-top:0;position:relative;background:var(--paper);border-top:6px solid var(--red);box-shadow:var(--shadow)}.welcome-row,.split-head,.section-title{display:flex;align-items:center;justify-content:space-between;gap:2rem}.welcome-row h2,.section-title h2{font-size:clamp(1.8rem,3vw,2.65rem);line-height:1.12;margin:.3rem 0 .7rem}.lead{max-width:720px;color:var(--muted);font-size:1.08rem;margin:0}.primary-action,.secondary-action{display:inline-flex;align-items:center;gap:1rem;text-decoration:none;font-weight:bold;white-space:nowrap}.primary-action{background:var(--red);color:#fff;padding:1rem 1.15rem}.primary-action:hover{background:var(--red-dark)}.secondary-action{background:#fff;color:var(--red);border:1px solid #cfd4da;padding:.8rem 1rem;border-radius:6px}.quick-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin:2.5rem 0 3.5rem}.feature-card{border:1px solid var(--line);background:#fff;padding:1.6rem;text-align:left;cursor:pointer;min-height:245px;display:flex;flex-direction:column;transition:.2s}.feature-card:hover{transform:translateY(-3px);box-shadow:var(--shadow)}.feature-card.accent{background:var(--red);color:#fff;border-color:var(--red)}.card-label{font-size:.72rem;letter-spacing:.12em;font-weight:bold;color:#9b3131}.accent .card-label{color:#efb4b4}.feature-card h3{font-size:1.55rem;margin:.8rem 0 .55rem}.feature-card p{color:var(--muted);margin:0}.feature-card.accent p{color:#f1dede}.card-link{margin-top:auto;padding-top:1.3rem;font-weight:bold;color:var(--red)}.accent .card-link{color:#fff}.resource-shortcuts{display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem;margin-top:1.4rem}.resource-shortcuts button,.resource-shortcuts a{border:1px solid var(--line);background:#fafbfc;padding:1rem 1.15rem;text-align:left;text-decoration:none;color:inherit;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:1rem}.resource-shortcuts span{color:var(--muted);font-size:.92rem;text-align:right}.page-head{background:#fff;padding:1.2rem max(2rem,calc((100% - 1116px)/2));border-bottom:1px solid var(--line)}.page-head>p:last-child,.page-head div>p:last-child{margin:0;color:var(--muted);font-size:1.08rem}.poster-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.5rem}.poster-card{background:#fff;border:1px solid var(--line);box-shadow:var(--shadow);overflow:hidden}.poster-card img{display:block;width:100%;height:620px;object-fit:contain;background:#101114}.poster-card div{display:flex;justify-content:space-between;align-items:center;padding:1rem}.poster-card span{font-weight:bold}.poster-card a{color:var(--red)}.document-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem}.document-panel{background:#fff;border:1px solid var(--line);box-shadow:var(--shadow)}.panel-head{padding:1.15rem;display:flex;justify-content:space-between;align-items:center;gap:1rem;border-bottom:1px solid var(--line)}.panel-head span{font-size:.7rem;font-weight:bold;letter-spacing:.12em;color:var(--red)}.panel-head h2{font-size:1.25rem;margin:.15rem 0 0}.panel-head a{color:var(--red);white-space:nowrap}.document-panel iframe{display:block;width:100%;height:720px;border:0}.embed-panel{background:#fff;border:1px solid var(--line);box-shadow:var(--shadow);overflow:hidden}.embed-panel iframe{display:block;width:100%;height:760px;border:0}.embed-panel.tall iframe{height:850px}.action-band{display:flex;justify-content:space-between;align-items:center;gap:2rem;background:var(--red);color:#fff;padding:2rem;border-left:8px solid #2c2f34;margin-bottom:1rem}.action-band.light{background:#fff;color:var(--ink);border:1px solid var(--line);border-left:8px solid var(--red)}.action-band span,.admin-block>span{font-size:.72rem;letter-spacing:.12em;font-weight:bold}.action-band h2{font-size:1.65rem;margin:.35rem 0}.action-band p{margin:0;color:#f1dede}.action-band.light p{color:var(--muted)}.action-band a{background:#fff;color:var(--red);padding:.85rem 1rem;text-decoration:none;font-weight:bold;white-space:nowrap}.action-band.light a{background:var(--red);color:#fff}.section-title{margin:3rem 0 1rem}.section-title a{color:var(--red)}.tools-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.8rem}.tools-grid a{background:#fff;color:var(--ink);border:1px solid var(--line);padding:1.25rem;text-decoration:none;min-height:135px}.tools-grid a:hover{border-color:var(--red);box-shadow:var(--shadow)}.tools-grid b,.tools-grid span{display:block}.tools-grid span{color:var(--muted);margin-top:.55rem}.admin-block{margin-top:2.5rem;background:#1b1d21;color:#fff;padding:1.5rem 1.7rem;border-top:5px solid var(--red);display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:1.6rem}.admin-block>span{color:#e9a7a7}.admin-block h2{margin:0 0 .25rem}.admin-block p{margin:0;color:#bdc2c9}.admin-block a{background:#fff;color:#600;text-decoration:none;padding:.85rem 1rem;font-weight:bold}.challenge-grid{display:grid;grid-template-columns:1.05fr 1fr;gap:1.2rem;align-items:start}.challenge-grid img{display:block;width:100%;background:#111;box-shadow:var(--shadow)}.challenge-grid img:first-child{grid-row:span 2}footer{min-height:62px;margin-left:0;padding:1rem 2rem;background:#101215;color:#9da4ad;display:flex;justify-content:space-between;font-size:.85rem}.scrim{display:none}
@media(max-width:1050px){.quick-grid,.tools-grid{grid-template-columns:repeat(2,1fr)}.feature-card:last-child{grid-column:span 2}.poster-card img{height:480px}.document-grid{grid-template-columns:1fr}.document-panel iframe{height:650px}.admin-block{grid-template-columns:1fr}.admin-block>span{grid-column:1}.challenge-grid{grid-template-columns:1fr 1fr}.challenge-grid img:first-child{grid-column:span 2;grid-row:auto;max-height:700px;object-fit:contain}}
@media(max-width:760px){.mobile-header{position:sticky;top:0;z-index:18;height:68px;background:#17191d;color:#fff;display:flex;align-items:center;padding:.6rem .8rem;gap:.7rem}.mobile-header img{width:45px;height:45px;object-fit:cover;border-radius:6px}.mobile-header span{display:block;color:#aeb4bd;font-size:.78rem}.menu-button{border:1px solid #555;background:#25282d;color:#fff;border-radius:5px;font-size:1.25rem;width:42px;height:42px}.sidebar{transform:translateX(-100%);transition:.2s;width:282px}.sidebar.open{transform:none}.scrim.open{display:block;position:fixed;inset:0;background:rgba(0,0,0,.52);z-index:19}main{margin-left:0}.hero{height:400px}.hero-copy{left:1.2rem;right:1.2rem;bottom:2.2rem}.hero-copy h1{font-size:3.3rem}.content-shell,.page-head{padding-left:1rem;padding-right:1rem}.home-shell{margin:0}.welcome-row,.split-head,.section-title,.action-band{align-items:flex-start;flex-direction:column}.quick-grid,.tools-grid,.poster-grid,.resource-shortcuts,.challenge-grid{grid-template-columns:1fr}.feature-card:last-child,.challenge-grid img:first-child{grid-column:auto}.feature-card{min-height:210px}.resource-shortcuts button,.resource-shortcuts a{display:block}.resource-shortcuts span{display:block;text-align:left;margin-top:.35rem}.poster-card img{height:auto}.document-panel iframe,.embed-panel iframe,.embed-panel.tall iframe{height:650px}.action-band a,.secondary-action{white-space:normal}.admin-block{display:block}.admin-block>*{margin-top:.8rem}.admin-block a{display:inline-block}.challenge-grid img{grid-column:auto!important}footer{display:block}footer span{display:block;margin:.2rem 0}}

/* Original Google Sites page banners retained throughout the unified portal. */
.hero.original-banner{height:auto;aspect-ratio:1983/793;background:#080808}
.hero.original-banner>img{object-fit:contain}
.page-banner{width:100%;background:#090909;overflow:hidden;max-height:470px}
.page-banner img{display:block;width:100%;height:100%;max-height:470px;object-fit:cover;object-position:center}
.external-launch{background:#fff;border:1px solid var(--line);border-top:6px solid var(--red);box-shadow:var(--shadow);padding:2rem;display:grid;grid-template-columns:86px minmax(0,1fr) auto;align-items:center;gap:1.6rem}
.external-launch .launch-mark{width:76px;height:76px;display:grid;place-items:center;background:#1b1d21;color:#fff;border-radius:10px;font-size:2rem;font-weight:bold}
.external-launch h2{font-size:1.8rem;margin:.15rem 0 .4rem}
.external-launch p:last-child{margin:0;color:var(--muted)}
.external-launch a{background:var(--red);color:#fff;text-decoration:none;font-weight:bold;padding:1rem 1.1rem;white-space:nowrap}
.external-launch a:hover{background:var(--red-dark)}
@media(max-width:760px){.hero.original-banner{height:auto}.page-banner,.page-banner img{max-height:290px}.external-launch{grid-template-columns:1fr;padding:1.3rem}.external-launch a{white-space:normal;text-align:center}}

/* Compact banner presentation and direct navigation links. */
.sidebar nav a{border:0;background:transparent;color:#d5d8dc;text-align:left;padding:.75rem .8rem;border-radius:7px;cursor:pointer;display:flex;align-items:center;gap:.7rem;text-decoration:none}
.sidebar nav a:hover{background:#2b2e33;color:#fff}
.feature-card:is(a){color:inherit;text-decoration:none}
.hero.original-banner,.page-banner{width:calc(100% - 2.5rem);max-width:1080px;height:clamp(210px,22vw,315px);aspect-ratio:auto;margin:1.25rem auto 0;border-radius:10px;box-shadow:var(--shadow)}
.hero.original-banner>img,.page-banner img{width:100%;height:100%;max-height:none;object-fit:cover;object-position:center}
.page-head{padding-top:2.25rem;padding-bottom:2.25rem}
@media(max-width:760px){.hero.original-banner,.page-banner{width:calc(100% - 1rem);height:clamp(155px,35vw,230px);margin-top:.5rem;border-radius:6px}.hero.original-banner>img,.page-banner img{max-height:none}.page-head{padding-top:1.6rem;padding-bottom:1.6rem}}

/* Restore the original full-width page banners. */
.hero.original-banner{width:100%;max-width:none;height:auto;aspect-ratio:1983/793;margin:0;border-radius:0;box-shadow:none}
.hero.original-banner>img{width:100%;height:100%;object-fit:contain}
.page-banner{width:100%;max-width:none;height:auto;margin:0;border-radius:0;box-shadow:none;max-height:470px}
.page-banner img{width:100%;height:100%;max-height:470px;object-fit:cover;object-position:center}
.page-head{padding-top:1.2rem;padding-bottom:1.2rem}

/* Searchable, on-page Resource and Course Opportunity lists. */
.catalog-controls{display:grid;grid-template-columns:240px minmax(280px,1fr) auto;align-items:end;gap:1rem;margin-bottom:1.5rem;padding:1.2rem;background:#fff;border:1px solid var(--line);border-top:5px solid var(--red);box-shadow:var(--shadow)}
.catalog-controls.course-controls{grid-template-columns:minmax(280px,1fr) auto}
.catalog-controls label{display:grid;gap:.35rem;font-size:.75rem;letter-spacing:.08em;font-weight:bold;color:#4f5964;text-transform:uppercase}
.catalog-controls input,.catalog-controls select{width:100%;min-height:44px;border:1px solid #bbc2ca;border-radius:4px;background:#fff;color:var(--ink);padding:.65rem .75rem;font:inherit;text-transform:none;letter-spacing:normal}
.catalog-controls input:focus,.catalog-controls select:focus{outline:3px solid rgba(139,0,0,.16);border-color:var(--red)}
.catalog-controls>span{padding:.65rem 0;color:var(--muted);font-weight:bold;white-space:nowrap}
.catalog-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}
.catalog-card{display:flex;flex-direction:column;min-height:245px;background:#fff;border:1px solid var(--line);border-top:4px solid #292d32;padding:1.35rem;box-shadow:0 5px 18px rgba(21,24,29,.06)}
.catalog-card:hover{border-top-color:var(--red);box-shadow:var(--shadow)}
.catalog-tag{font-size:.7rem;letter-spacing:.1em;font-weight:bold;color:var(--red)}
.catalog-card h2{font-size:1.28rem;line-height:1.22;margin:.65rem 0 .45rem}
.catalog-card p{color:var(--muted);margin:0 0 1.2rem}
.catalog-card a{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-top:auto;background:var(--red);color:#fff;text-decoration:none;font-weight:bold;padding:.75rem .85rem}
.catalog-card a:hover{background:var(--red-dark)}
.unavailable{margin-top:auto;color:#737b84;font-size:.9rem;font-style:italic;border-top:1px solid var(--line);padding-top:.75rem}
@media(max-width:1050px){.catalog-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.hero.original-banner{width:100%;height:auto;margin:0;border-radius:0}.page-banner{width:100%;height:auto;margin:0;border-radius:0;max-height:290px}.page-banner img{max-height:290px}.page-head{padding-top:1rem;padding-bottom:1rem}.catalog-controls,.catalog-controls.course-controls{grid-template-columns:1fr;align-items:stretch}.catalog-controls>span{padding:0}.catalog-grid{grid-template-columns:1fr}.catalog-card{min-height:220px}}

/* Layered portal presentation. */
body{background:linear-gradient(145deg,#eef1f4 0%,#f8f9fa 48%,#e8ebef 100%);font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif}
.page:not([data-page="home"]){background:radial-gradient(circle at 80% 0,rgba(139,0,0,.07),transparent 30rem),linear-gradient(#f8f9fb,#eef1f4)}
.page-banner{position:relative;z-index:1;box-shadow:0 18px 44px rgba(16,19,23,.18)}
.page-banner:after{content:"";position:absolute;inset:auto 0 0;height:7px;background:linear-gradient(90deg,var(--red),#caa24e,var(--red));opacity:.9}
.page-banner{height:auto;max-height:none;background:#090909}
.page-banner img{display:block;width:100%;height:auto;max-height:none;object-fit:contain}
.page-banner{height:clamp(210px,23vw,330px);max-height:330px;overflow:hidden;background:#090909}
.page-banner img{width:100%;height:100%;max-height:none;object-fit:cover;object-position:center}
.page-banner:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(8,10,13,.82) 0%,rgba(8,10,13,.48) 42%,rgba(8,10,13,.08) 75%);z-index:1}
.banner-copy{position:absolute;z-index:2;left:clamp(1.25rem,6vw,6rem);top:50%;transform:translateY(-50%);color:#fff;text-shadow:0 2px 12px rgba(0,0,0,.45)}
.banner-copy span{font-size:.76rem;font-weight:800;letter-spacing:.18em;color:#efc36f}.banner-copy h1{margin:.35rem 0 0;font-size:clamp(2.15rem,4.5vw,4.5rem);line-height:.95;letter-spacing:-.035em;max-width:900px}
.banner-copy p{margin:.75rem 0 0;color:#f1f3f5;font-size:clamp(.78rem,1.25vw,1rem);font-weight:800;letter-spacing:.12em;text-transform:uppercase}
.page-head{position:relative;z-index:2;margin:0 auto;background:rgba(255,255,255,.95);box-shadow:0 12px 30px rgba(20,24,29,.09);border-bottom:1px solid rgba(139,0,0,.18)}
.page-head p{color:#3f4853!important;font-weight:560;letter-spacing:.005em}
.content-shell{position:relative}
.poster-card,.document-panel,.embed-panel,.catalog-controls,.catalog-card,.tools-grid a,.resource-shortcuts button,.resource-shortcuts a{border-color:#d2d7de;box-shadow:0 10px 24px rgba(20,24,29,.09),0 2px 5px rgba(20,24,29,.05)}
.poster-card,.document-panel,.embed-panel,.catalog-card,.tools-grid a{border-radius:8px}
.poster-card,.document-panel,.catalog-card,.tools-grid a{transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}
.poster-card:hover,.document-panel:hover,.catalog-card:hover,.tools-grid a:hover{transform:translateY(-3px);box-shadow:0 18px 36px rgba(20,24,29,.14),0 3px 8px rgba(20,24,29,.07);border-color:rgba(139,0,0,.45)}
.panel-head,.poster-card>div{background:linear-gradient(120deg,#fff,#f3f5f7)}
.panel-head h2,.catalog-card h2,.tools-grid b,.action-band h2,.admin-block h2{color:#20252b;font-weight:800}
.action-band:not(.light){background:linear-gradient(135deg,#8b0000,#5b0000);box-shadow:0 14px 28px rgba(91,0,0,.22)}
.action-band:not(.light) h2{color:#fff}
.action-band.light{box-shadow:0 12px 26px rgba(20,24,29,.1);background:linear-gradient(135deg,#fff,#f4f6f8)}
.tools-grid a{background:linear-gradient(145deg,#fff,#f6f7f9);border-top:4px solid #2b3036}
.tools-grid a:hover{border-top-color:var(--red)}
.tools-grid b{font-size:1.08rem}.tools-grid span,.catalog-card p{color:#505a66}
.admin-block{box-shadow:0 16px 32px rgba(20,24,29,.2);background:linear-gradient(135deg,#202329,#111317)}
.admin-block h2{color:#fff}
.quick-reference-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.8rem}.quick-reference-grid details{background:#fff;border:1px solid var(--line);border-top:5px solid var(--red);padding:1rem 1.2rem}.quick-reference-grid summary{font-weight:800;font-size:1.08rem;cursor:pointer}.quick-reference-grid ul{padding-left:1.15rem;color:var(--muted)}.cadre-table{background:#fff;border:1px solid var(--line);box-shadow:var(--shadow);overflow:auto}.cadre-table table{width:100%;border-collapse:collapse}.cadre-table th,.cadre-table td{text-align:left;padding:.8rem 1rem;border-bottom:1px solid var(--line)}.cadre-table th{background:#202329;color:#fff}.cadre-table tbody tr:nth-child(even){background:#f3f5f7}
@media(max-width:760px){.quick-reference-grid{grid-template-columns:1fr}}
.secondary-action{cursor:pointer;box-shadow:0 5px 13px rgba(20,24,29,.08)}
.tool-detail-head{padding-top:1.5rem;padding-bottom:1.5rem}
.tool-detail-head h1{font-size:clamp(1.7rem,3vw,2.6rem);margin:.2rem 0 .3rem;letter-spacing:-.02em}
.tool-detail-shell{padding-top:1.5rem;max-width:1500px}
.resource-frame{overflow:hidden;background:#fff;border:1px solid #ccd2d9;border-radius:10px;box-shadow:0 18px 40px rgba(20,24,29,.14)}
.resource-frame iframe{display:block;width:100%;height:1200px;border:0;background:#fff}
@media(max-width:760px){.page-banner{height:clamp(155px,36vw,215px);max-height:215px}.page-banner img{height:100%;max-height:none}.banner-copy{left:1.15rem;right:1rem}.banner-copy span{font-size:.6rem;letter-spacing:.12em}.banner-copy h1{font-size:clamp(1.7rem,8vw,2.5rem)}.banner-copy p{margin-top:.55rem;font-size:.62rem;line-height:1.35;letter-spacing:.08em}.page-head{margin:0}.resource-frame iframe{height:1450px}.tool-detail-head h1{font-size:1.55rem}.tool-detail-shell{padding-top:1rem}}
/* Richer document and form framing without reducing readability. */
.document-panel{border-top:6px solid var(--red);overflow:hidden}
.document-panel .panel-head{background:linear-gradient(125deg,#760000,#4f0000);color:#fff;border-bottom:0;padding:1.25rem 1.35rem}
.document-panel .panel-head h2{color:#fff}.document-panel .panel-head span{color:#f2cf83}.document-panel .panel-head a{color:#fff;background:rgba(255,255,255,.13);border:1px solid rgba(255,255,255,.35);border-radius:5px;padding:.55rem .7rem;text-decoration:none}
.document-panel .panel-head p{margin:.35rem 0 0;color:#e2e5e8;font-size:.92rem}.document-unavailable{min-height:180px;display:grid;place-items:center;padding:2rem;color:var(--muted);background:#fff}
.managed-document-image{display:block;width:100%;height:auto;background:#101114}
.poster-card{border-top:6px solid var(--red)}.poster-card>div{background:linear-gradient(125deg,#760000,#4f0000);color:#fff}.poster-card>div a{color:#fff;font-weight:700}
.catalog-controls{background:linear-gradient(135deg,#fff,#f6eeee)}
.catalog-card{background:linear-gradient(150deg,#fff 0%,#fff 70%,#f6eaea 100%);border-top-color:var(--red)}
.catalog-tag{display:inline-flex;align-self:flex-start;background:#750000;color:#fff;border-radius:999px;padding:.3rem .55rem;letter-spacing:.08em}
.resource-shortcuts button,.resource-shortcuts a{border-left:5px solid var(--red);background:linear-gradient(135deg,#fff,#f5f1f1)}
.tools-grid a:nth-child(3n+1){border-top-color:#8b0000}.tools-grid a:nth-child(3n+2){border-top-color:#b38a35}.tools-grid a:nth-child(3n){border-top-color:#343a42}
.embed-panel,.resource-frame{border-top:6px solid var(--red)}
.home-motto{display:flex;justify-content:center;align-items:center;gap:1.25rem;min-height:42px;padding:.55rem 1rem;background:linear-gradient(90deg,#111317,#24282e,#111317);color:#fff;border-bottom:4px solid var(--red);font-size:.76rem;font-weight:800;letter-spacing:.16em;text-align:center}
.home-motto span+span:before{content:"•";color:#d8b45a;margin-right:1.25rem}
@media(max-width:760px){.home-motto{gap:.45rem;min-height:38px;font-size:.62rem;letter-spacing:.08em;padding:.5rem .6rem}.home-motto span+span:before{margin-right:.45rem}}
.hero.original-banner{height:clamp(310px,35vw,500px);aspect-ratio:auto;background:#080808}
.hero.original-banner>img{width:100%;height:100%;object-fit:cover;object-position:center}
.hero.original-banner .hero-shade{background:linear-gradient(90deg,rgba(6,8,10,.83) 0%,rgba(6,8,10,.52) 38%,rgba(6,8,10,.08) 72%)}
.hero.original-banner .hero-copy{bottom:clamp(2rem,5vw,4rem)}
.hero.original-banner .hero-copy span{color:#efc36f;font-weight:800;letter-spacing:.16em}
@media(max-width:760px){.hero.original-banner{height:285px}.hero.original-banner>img{object-position:58% center}.hero.original-banner .hero-copy{left:1.15rem;right:1.15rem;bottom:1.6rem}.hero.original-banner .hero-copy h1{font-size:clamp(2.4rem,12vw,3.4rem)}.hero.original-banner .hero-copy p{font-size:1rem;max-width:280px}}

/* Mobile quality pass, calendar view controls, and support link. */
.calendar-toolbar{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1rem;padding:1rem 1.1rem;background:#fff;border:1px solid var(--line);border-left:5px solid var(--red);box-shadow:0 8px 20px rgba(20,24,29,.08)}
.access-note{margin:0 0 1rem;padding:.8rem 1rem;background:#fff8e7;border:1px solid #e3c97f;border-left:5px solid #b38a35;color:#4c3b13;font-weight:700}
.calendar-toolbar strong,.calendar-toolbar span{display:block}.calendar-toolbar span{color:var(--muted);font-size:.9rem;margin-top:.15rem}
.calendar-view-buttons{display:flex;gap:.45rem}.calendar-view-buttons button{min-width:88px;min-height:44px;border:1px solid #aeb6c0;border-radius:5px;background:#fff;color:var(--ink);font-weight:800;cursor:pointer}.calendar-view-buttons button.active{background:var(--red);border-color:var(--red);color:#fff}.calendar-view-buttons button:focus-visible,.menu-button:focus-visible,a:focus-visible,button:focus-visible{outline:3px solid #efc36f;outline-offset:2px}
footer a{color:#fff;text-underline-offset:3px}footer a:hover{color:#efc36f}
.catalog-card h2,.tools-grid b,.panel-head h2,.resource-shortcuts strong{overflow-wrap:anywhere}
@media(max-width:760px){
  body.menu-open{overflow:hidden}
  .mobile-header{padding-top:max(.6rem,env(safe-area-inset-top));height:auto;min-height:68px}
  .menu-button,.sidebar nav button,.sidebar nav a,.primary-action,.secondary-action,.action-band a,.admin-block a,.catalog-card a{min-height:48px}
  .sidebar{width:min(86vw,320px);padding-bottom:env(safe-area-inset-bottom)}
  .content-shell{padding-top:1.6rem;padding-bottom:3rem}.home-shell{padding-top:2rem}
  .welcome-row,.split-head,.section-title,.action-band{gap:1rem}
  .hero.original-banner{height:270px}.hero.original-banner .hero-copy h1{font-size:clamp(2.2rem,11vw,3.15rem);line-height:1}
  .page-banner{height:190px;max-height:190px}.banner-copy h1{font-size:clamp(1.65rem,8vw,2.35rem);line-height:1.02}.banner-copy p{max-width:92%;text-wrap:balance}
  .panel-head,.poster-card div{align-items:flex-start;flex-direction:column}.panel-head a{white-space:normal}
  .document-panel iframe{height:72vh;min-height:520px}.resource-frame iframe{height:78vh;min-height:650px}
  .calendar-toolbar{align-items:stretch;flex-direction:column}.calendar-view-buttons{display:grid;grid-template-columns:1fr 1fr}.calendar-view-buttons button{width:100%}
  .calendar-panel iframe{height:72vh;min-height:600px}
  footer{padding-bottom:calc(1rem + env(safe-area-inset-bottom))}
}
@media(max-width:390px){
  .home-motto{font-size:.55rem;gap:.25rem}.home-motto span+span:before{margin-right:.25rem}
  .mobile-header div strong{font-size:.95rem}.mobile-header div span{font-size:.72rem}
  .hero.original-banner{height:250px}.page-banner{height:175px;max-height:175px}
  .banner-copy span{font-size:.55rem}.banner-copy p{font-size:.57rem}
  .content-shell,.page-head{padding-left:.85rem;padding-right:.85rem}
  .feature-card,.catalog-card,.tools-grid a{padding:1.1rem}
}
.admin-actions{display:flex;gap:.65rem;flex-wrap:wrap}.admin-actions a{white-space:nowrap}
