@import url('https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@600;700;800&family=Inter:wght@400;500;600;700;800&family=Cairo:wght@400;500;600;700;800&family=Oswald:wght@400;500;600;700&family=Montserrat:wght@400;500;600;700;800&family=Tajawal:wght@400;500;700;800&display=swap');
:root{--page:#fff;--text:#171b20;--muted:#707782;--line:#e4e6e9;--panel:#f4f5f7;--brand:#683025;--ice:#7bcedf;color-scheme:light;font-family:Inter,Arial,sans-serif;color:var(--text);background:var(--page)}:root[data-theme=night]{--page:#090b0e;--text:#f4f5f6;--muted:#a0a7af;--line:#282c32;--panel:#101318;--brand:#a94e3f;color-scheme:dark}*{box-sizing:border-box}body{margin:0}button,input,a{font:inherit}a{color:inherit;text-decoration:none}button{cursor:pointer;touch-action:manipulation}button:focus-visible,a:focus-visible{outline:3px solid var(--ice);outline-offset:4px}button:disabled{opacity:.22;cursor:default}[hidden]{display:none!important}.site-header{padding:22px 5%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.wordmark{position:relative;font-size:31px;font-weight:800;line-height:1;letter-spacing:-2px;padding:3px 0 9px}.wordmark span{height:3px;width:18px;background:var(--brand);position:absolute;bottom:0;left:0}.theme-switch{display:flex;border:1px solid var(--line);padding:3px;border-radius:25px;gap:3px;background:var(--panel)}.theme-switch button{border:0;background:transparent;color:var(--muted);padding:10px 17px;border-radius:20px;font-size:11px;min-height:38px}.theme-switch button[aria-pressed=true]{background:var(--text);color:var(--page)}main{max-width:1800px;margin:auto}.event-heading{padding:30px 5%;display:flex;align-items:center;justify-content:space-between;gap:30px}.event-lockup{display:flex;align-items:center;gap:24px}.aus{font:800 76px/.9 'Barlow Condensed',Impact,sans-serif;letter-spacing:-1px;color:var(--brand);border-right:1px solid var(--line);padding-right:25px}.event-lockup h1{font:700 30px/.95 'Barlow Condensed',Impact,sans-serif;letter-spacing:.6px;margin:0 0 10px}.event-lockup h1 span{display:block;font-size:17px;font-weight:600;letter-spacing:4.5px;margin-top:8px}.event-lockup p{font-size:11px;color:var(--muted);margin:0;line-height:1.6}time{font-size:11px;text-align:right;white-space:nowrap;line-height:1.5}time span{display:block;font-size:9px;letter-spacing:2.4px;color:var(--muted);margin-bottom:6px}.banner{display:block;width:100%;padding:0;border:0;background:var(--panel);line-height:0}.banner img{display:block;width:100%;height:auto;max-height:75vh;object-fit:contain}.gallery-section{padding:35px 5% 28px}.gallery-toolbar{display:flex;gap:18px;justify-content:space-between;align-items:center;margin-bottom:22px;flex-wrap:wrap}.gallery-toolbar h2{font:700 25px 'Barlow Condensed',Impact;margin:0;letter-spacing:.4px}.gallery-toolbar h2 span{font:11px Inter,Arial;color:var(--muted);margin-left:10px}.gallery-actions{display:flex;gap:9px;flex-wrap:wrap}.outline,.solid{border:1px solid var(--line);background:var(--page);color:var(--text);padding:12px 15px;min-height:44px;font-size:11px;border-radius:3px}.solid{background:var(--brand);border-color:var(--brand);color:#fff}.photo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.photo-tile{display:block;padding:0;border:0;background:var(--panel);aspect-ratio:1.5;overflow:hidden;border-radius:2px}.photo-tile img{width:100%;height:100%;object-fit:contain;display:block}.preview-note{font-size:10px;color:var(--muted);line-height:1.7;margin:20px 0 0}footer{max-width:1800px;margin:auto;padding:22px 5%;border-top:1px solid var(--line);display:flex;gap:15px;justify-content:space-between;align-items:center;color:var(--muted);font-size:8px;letter-spacing:1px}.footer-mj{font:800 21px Inter,Arial;letter-spacing:-1px;color:var(--text)}dialog{border:0;padding:0;margin:0;width:100vw;max-width:none;height:100dvh;max-height:none;background:#07090c;color:#fff;overflow:hidden}dialog::backdrop{background:#07090c}dialog:fullscreen{width:100%;height:100%;background:#07090c}.lightbox-layout{height:100%;display:grid;grid-template-rows:auto minmax(0,1fr) auto;padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom)}.viewer-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 18px;min-height:68px;border-bottom:1px solid #23262c}.viewer-toolbar>div{display:flex;gap:8px}.viewer-toolbar>span{font:11px Inter,Arial;color:#bdc3ce;font-variant-numeric:tabular-nums}.viewer-button,.viewer-download{border:1px solid #34383e;color:#fff;background:transparent;border-radius:3px;padding:10px 14px;font-size:11px;min-width:44px;min-height:44px}.viewer-download{background:#683025;border-color:#683025}.photo-stage{display:grid;grid-template-columns:54px minmax(0,1fr) 54px;align-items:center;min-height:0;touch-action:pan-y pinch-zoom}.viewer-arrow{border:0;color:#e1e6ec;background:none;min-width:44px;min-height:64px;padding:5px;font-size:27px;z-index:1}.photo-pan{height:100%;width:100%;min-width:0;min-height:0;display:flex;align-items:center;justify-content:center;overflow:auto;touch-action:pan-y pinch-zoom}.photo-pan img{display:block;max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;user-select:none;-webkit-user-drag:none}.photo-pan.zoomed{display:block}.photo-pan.zoomed img{max-width:none;max-height:none;width:150%;height:auto}.viewer-footer{display:flex;justify-content:space-between;align-items:center;gap:15px;min-height:45px;padding:10px 18px;font-size:9px;color:#89939f}.viewer-footer span:first-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.viewer-footer span:last-child{white-space:nowrap}.status{position:fixed;left:50%;bottom:24px;transform:translateX(-50%);max-width:90vw;width:max-content;padding:14px 20px;background:var(--text);color:var(--page);font-size:11px;border-radius:5px;z-index:5}
@media(max-width:650px){.site-header{padding:16px 5%}.wordmark{font-size:27px}.theme-switch button{padding:8px 13px;font-size:10px}.event-heading{padding:25px 5%;align-items:flex-start;flex-direction:column;gap:18px}.aus{font-size:65px;padding-right:18px}.event-lockup{gap:18px}.event-lockup h1{font-size:27px}.event-lockup h1 span{font-size:14px;letter-spacing:4px}.event-lockup p{font-size:10px;max-width:225px}time{text-align:left;font-size:10px;display:flex;gap:12px;align-items:center}time span{margin:0;font-size:8px;letter-spacing:1.5px}.banner img{max-height:none}.gallery-section{padding-top:27px}.gallery-toolbar{gap:15px}.gallery-actions{width:100%}.gallery-actions button{flex:1;padding:12px 10px;font-size:10px}.photo-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.photo-grid .photo-tile:only-child{grid-column:span 2}.viewer-toolbar{padding:10px;gap:8px;min-height:64px}.viewer-toolbar>div{gap:5px}.viewer-button,.viewer-download{padding:10px;font-size:10px}.photo-stage{grid-template-columns:36px minmax(0,1fr) 36px}.viewer-arrow{min-width:36px;font-size:23px;padding:3px}.viewer-footer{padding:10px;font-size:8px}.preview-note{font-size:10px}footer{font-size:7px;letter-spacing:.7px}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
/* Sport editorial direction: full photo above a soft full-bleed backdrop. */
:root{--brand:#852c2c;--ice:#83dff2}.site-header{padding:18px 5%}.sports-mark{font-family:'Barlow Condensed',Impact,sans-serif;font-size:36px;letter-spacing:-1px;font-weight:800;display:flex;align-items:center;gap:10px;padding:0}.sports-mark .mark-slash{position:static;display:block;transform:skew(-20deg);width:5px;height:29px;background:var(--brand);border-left:2px solid var(--ice)}.sports-hero{position:relative;height:calc(100svh - 80px);min-height:640px;max-height:1000px;background:#0b121f;color:#fff;isolation:isolate;overflow:hidden;touch-action:pan-y pinch-zoom}.hero-backdrop{position:absolute;inset:-25px;background-image:none;background-size:cover;background-position:center;filter:blur(22px);opacity:.55;transform:scale(1.04);z-index:-3}.hero-media{position:absolute;inset:0;z-index:-2}.hero-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;object-position:right center;display:block;user-select:none;-webkit-user-drag:none}.hero-media #bannerNext{opacity:0;transition:opacity .6s ease}.hero-shade{position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#0a1120f5 0%,#0a1120bb 26%,#0a11200d 65%),linear-gradient(0deg,#09101bd6 0%,#09101b00 28%,#09101b00 75%,#09101b8c 100%)}.hero-topline{position:absolute;top:30px;left:5%;right:5%;display:flex;justify-content:space-between;align-items:center;gap:15px}.event-label{font-size:10px;letter-spacing:2px;display:flex;gap:10px;align-items:center}.event-label i{display:block;width:6px;height:6px;background:#8bdcf1}.hero-topline time{font:9px Inter,Arial;letter-spacing:1.4px;color:#e5eaf2}.hero-title{position:absolute;left:5%;bottom:122px;max-width:52%}.school-tag{font:500 10px Inter,Arial;letter-spacing:1.6px;line-height:1.7;color:#d8e2ee;display:block;margin-bottom:18px;max-width:290px}.hero-title h1{font-family:'Barlow Condensed',Impact,sans-serif;line-height:.83;letter-spacing:-1px;margin:0;display:flex;flex-direction:column;gap:6px}.hero-aus{font-size:clamp(62px,7.2vw,112px);font-weight:800;color:#fff}.hero-girls{font-size:clamp(45px,6vw,90px);font-weight:700;color:transparent;-webkit-text-stroke:1px #a0dcea;letter-spacing:.5px}.hero-football{font-size:clamp(62px,8vw,125px);font-weight:800;color:#fff;letter-spacing:-1.5px}.tournament-tag{display:inline-block;margin-top:18px;font:600 10px Inter,Arial;letter-spacing:5px;padding-left:14px;border-left:3px solid #a43d3b;line-height:1.4;color:#fff}.hero-view{display:flex;justify-content:space-between;gap:35px;align-items:center;border:0;background:#8d302d;color:#fff;padding:15px 19px;margin-top:24px;min-height:46px;font:600 10px Inter,Arial;letter-spacing:1px}.hero-view span{color:#9ee7f5;font-size:18px}.hero-footer{position:absolute;left:5%;right:5%;bottom:29px;display:flex;justify-content:space-between;align-items:center;gap:20px;border-top:1px solid #bcc8dd44;padding-top:16px}.hero-credit{font:9px Inter,Arial;letter-spacing:2px;color:#c9d3e1}.slide-controls{display:flex;align-items:center;gap:6px}.slide-controls>span{font:11px monospace;color:#e5eaf1;margin-right:14px}.slide-controls button{border:1px solid #ffffff50;color:#fff;background:#0a101b55;font-size:17px;min-height:42px;min-width:42px;backdrop-filter:blur(9px)}.slide-controls button:disabled{opacity:.3}.slide-progress{position:absolute;left:0;right:0;bottom:0;height:3px;background:#c9d9e022}.slide-progress span{display:block;height:100%;width:0;background:#82daef}.slide-progress span.playing{animation:heroProgress 6s linear infinite}.slide-progress span.paused{animation-play-state:paused}@keyframes heroProgress{from{width:0}to{width:100%}}
.gallery-toolbar h2{font-size:29px}.solid{background:#852c2c;border-color:#852c2c}.photo-grid{gap:8px}.photo-tile{background:var(--panel)}
@media(min-width:1700px){.hero-title{bottom:140px}.hero-title h1{gap:10px}.school-tag{margin-bottom:25px}}
@media(max-width:900px){.sports-hero{min-height:620px;max-height:900px}.hero-title{max-width:57%;bottom:120px}.hero-aus{font-size:84px}.hero-girls{font-size:65px}.hero-football{font-size:85px}.school-tag{font-size:9px;max-width:250px}.hero-topline time{font-size:8px;letter-spacing:1px}}
@media(max-width:560px){.site-header{padding:15px 5%}.sports-mark{font-size:32px}.sports-mark .mark-slash{height:25px}.sports-hero{height:calc(100svh - 74px);min-height:650px;max-height:900px}.hero-media img{object-position:center 18%;height:62%;top:40px}.hero-backdrop{opacity:.6}.hero-shade{background:linear-gradient(0deg,#0a1120f5 0%,#0a1120db 28%,#0a112025 65%,#0a112033 100%),linear-gradient(90deg,#0a112077,transparent 80%)}.hero-topline{top:22px;align-items:flex-start;gap:10px}.event-label{font-size:8px;letter-spacing:1px}.hero-topline time{font-size:7px;letter-spacing:.4px;white-space:normal;max-width:150px;text-align:right;line-height:1.6}.hero-title{bottom:115px;max-width:90%}.school-tag{font-size:8px;letter-spacing:1px;margin-bottom:12px;max-width:300px}.hero-title h1{display:block;line-height:.9;max-width:100%}.hero-aus{display:block;font-size:66px;margin-bottom:5px}.hero-girls{font-size:49px;display:inline-block;margin-right:9px;letter-spacing:0}.hero-football{font-size:49px;display:inline-block;letter-spacing:-.5px}.tournament-tag{margin-top:12px;font-size:8px;letter-spacing:4px}.hero-view{margin-top:16px;padding:12px 15px;font-size:9px;min-height:42px;gap:30px}.hero-footer{bottom:23px;padding-top:13px;gap:10px}.hero-credit{font-size:7px;letter-spacing:1px}.slide-controls{gap:4px}.slide-controls button{min-width:35px;min-height:38px;font-size:15px}.slide-controls>span{font-size:10px;margin-right:7px}.gallery-toolbar h2{font-size:26px}}
@media(max-width:360px){.hero-girls,.hero-football{font-size:43px}.hero-media img{top:44px;height:54%}.hero-title{bottom:112px}.school-tag{font-size:7px}}
@media(prefers-reduced-motion:reduce){.slide-progress span.playing{animation:none}.hero-media #bannerNext{transition:none}}
/* Original MJ sports monogram, with its background blended into the banner. */
.hero-brand{width:clamp(260px,23vw,390px);height:clamp(135px,12vw,205px);position:relative;margin:0 0 24px;isolation:auto}.hero-brand img{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 50%;filter:grayscale(1) contrast(1.8);mix-blend-mode:screen;user-select:none;pointer-events:none}.hero-title{max-width:54%}
@media(min-width:1700px){.hero-brand{margin-bottom:30px;width:390px;height:205px}.hero-title{bottom:120px}.hero-aus{font-size:98px}.hero-girls{font-size:78px}.hero-football{font-size:110px}}
@media(max-width:1400px){.hero-brand{width:290px;height:150px;margin-bottom:20px}.hero-title{bottom:115px}.school-tag{font-size:9px;margin-bottom:14px}.hero-aus{font-size:83px}.hero-girls{font-size:64px}.hero-football{font-size:91px}.hero-view{margin-top:20px}}
@media(max-width:1050px){.hero-brand{width:245px;height:127px;margin-bottom:17px}.hero-title{bottom:110px}.hero-aus{font-size:70px}.hero-girls{font-size:52px}.hero-football{font-size:73px}.school-tag{margin-bottom:12px;font-size:8px}.hero-view{margin-top:16px;padding:12px 16px}.tournament-tag{margin-top:13px;font-size:9px}}
@media(max-width:900px){.hero-brand{width:220px;height:115px;margin-bottom:15px}.hero-aus{font-size:62px}.hero-girls{font-size:45px}.hero-football{font-size:65px}.hero-title{bottom:105px}}
@media(max-width:560px){.hero-brand{width:210px;height:109px;margin-bottom:17px}.hero-title{bottom:112px;max-width:90%}.hero-aus{font-size:61px}.hero-girls,.hero-football{font-size:45px}.school-tag{margin-bottom:10px;font-size:7px}.hero-view{margin-top:14px;padding:10px 14px}.tournament-tag{font-size:8px;margin-top:11px}}
@media(max-width:360px){.hero-brand{width:185px;height:97px;margin-bottom:14px}.hero-girls,.hero-football{font-size:39px}}
.hero-girls{color:#f15b9c;-webkit-text-stroke:0;text-shadow:0 2px 24px #d92b7522}.selection-bar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:14px 16px;background:var(--panel);border:1px solid var(--line);margin-bottom:18px}.selection-bar>span{margin-right:auto;font-size:12px;font-weight:600}.photo-card{min-width:0;border:1px solid var(--line);background:var(--page);position:relative}.photo-card .photo-tile{width:100%}.photo-card.selected{outline:2px solid #ed4b95;outline-offset:1px}.photo-card-footer{padding:10px 12px;display:flex;align-items:center;justify-content:space-between;gap:8px}.photo-card-footer span{font:10px monospace;color:var(--muted)}.photo-download{min-height:36px;background:none;border:0;color:var(--text);font-size:11px;padding:6px 3px}.photo-select{position:absolute;top:12px;right:12px;min-width:35px;min-height:35px;border:1px solid #ffffffbb;border-radius:50%;background:#0b122099;color:#fff;font-size:16px;z-index:1}.selected .photo-select{background:#c22f72;border-color:#c22f72}.admin-link{border:0;background:none;color:var(--muted);font-size:10px;padding:10px;min-height:40px}.admin-modal{width:min(980px,94vw);height:auto;max-height:90dvh;max-width:980px;max-height:90dvh;margin:auto;background:var(--page);color:var(--text);border:1px solid var(--line);border-radius:8px;padding:28px;overflow:auto}.admin-modal::backdrop{background:#040910bb;backdrop-filter:blur(6px)}.admin-top{display:flex;justify-content:space-between;align-items:center;gap:15px}.admin-kicker{font:10px Inter,Arial;letter-spacing:2px;color:var(--brand)}.admin-top h2{font:700 34px 'Barlow Condensed',Impact;margin:8px 0}.admin-note{font-size:11px;line-height:1.8;color:var(--muted)}.admin-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:24px 0}.admin-metrics>div{border:1px solid var(--line);padding:18px;background:var(--panel)}.admin-metrics span{font-size:10px;line-height:1.7;color:var(--muted);display:block;min-height:35px}.admin-metrics strong{font:700 42px 'Barlow Condensed',Impact;display:block;margin-top:7px}.admin-tools{display:flex;flex-wrap:wrap;gap:8px;margin:16px 0}.admin-tools a{display:inline-flex;align-items:center}.stats-table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;font-size:11px}th,td{text-align:left;padding:14px 10px;border-bottom:1px solid var(--line)}th{font-weight:500;color:var(--muted)}.stats-photo{display:flex;align-items:center;gap:10px;min-width:150px}.stats-photo img{width:56px;height:38px;object-fit:contain;background:var(--panel)}.stats-photo span{overflow-wrap:anywhere}.login-row{display:flex;gap:10px;margin-top:12px}.login-row input{flex:1;min-width:0;border:1px solid var(--line);background:var(--panel);color:var(--text);padding:12px;font:16px Inter,Arial}#adminLogin label{font-size:12px;display:block;margin-top:25px}#adminError{font-size:12px;color:#d14773}#adminUploadStatus{font-size:11px;color:var(--muted);white-space:pre-line}#downloadAll:disabled,#downloadSelected:disabled{opacity:.5;cursor:wait}
@media(max-width:650px){.selection-bar{padding:10px;gap:6px}.selection-bar .outline,.selection-bar .solid{font-size:10px;padding:10px}.selection-bar>span{width:100%;margin:0 0 5px}.photo-card-footer{padding:7px 9px}.photo-download{font-size:10px}.photo-select{top:8px;right:8px;min-height:32px;min-width:32px}.admin-modal{padding:18px}.admin-metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.admin-metrics>div{padding:13px}.admin-metrics strong{font-size:35px}.admin-metrics span{font-size:9px}.admin-top h2{font-size:29px}.gallery-actions button{flex:1 1 auto}.login-row{flex-wrap:wrap}.login-row .solid{min-width:100px}table{font-size:10px}}
.portfolio-home{max-width:1600px;margin:auto;padding:60px 5% 65px;min-height:72vh}.portfolio-kicker{color:var(--brand);font-size:10px;letter-spacing:2.5px}.portfolio-intro h1{font:800 clamp(65px,10vw,140px)/.95 'Barlow Condensed',Impact,sans-serif;letter-spacing:-2px;margin:20px 0}.portfolio-intro h1 span{color:var(--brand)}.portfolio-intro p{color:var(--muted);font-size:13px;margin-bottom:35px}.category-nav{display:flex;gap:9px;flex-wrap:wrap;border-bottom:1px solid var(--line);padding:0 0 22px;margin-bottom:28px}.category-nav button{padding:11px 17px;min-height:42px;border:1px solid var(--line);background:var(--page);color:var(--text);font-size:11px;border-radius:3px}.category-nav button.active{background:var(--brand);border-color:var(--brand);color:white}.album-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.album-card{display:block;border:1px solid var(--line);background:var(--page);color:var(--text);padding:0;text-align:left;overflow:hidden}.album-card-image{height:245px;background:var(--panel);position:relative;overflow:hidden}.album-card-image img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .35s}.album-card:hover img{transform:scale(1.03)}.album-card-image .category-label{position:absolute;bottom:14px;left:14px;background:#0b111bcc;color:#fff;font-size:9px;padding:7px 10px;letter-spacing:1px}.album-card-details{padding:20px}.album-card h2{font:700 29px/1.1 'Barlow Condensed',Impact,sans-serif;margin:0 0 13px}.album-card small{font-size:10px;color:var(--muted);line-height:1.8}.album-card .album-arrow{float:right;color:var(--brand);font-size:24px}.catalog-empty{color:var(--muted);font-size:13px;padding:40px 0}.back-home{display:block;padding:17px 5%;font-size:11px;color:var(--muted);border-bottom:1px solid var(--line)}.generic-album .hero-aus,.generic-album .hero-girls{display:none}.generic-album .hero-football{font-size:clamp(38px,6vw,90px);line-height:1.02;white-space:normal;overflow-wrap:anywhere}.generic-album .hero-title{max-width:48%}.album-management{border:1px solid var(--line);background:var(--panel);padding:20px;margin-top:20px}.manage-bar{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:15px}.manage-bar h3{margin:0;font:600 25px 'Barlow Condensed',Impact}.album-management>label{font-size:11px;display:block;margin-bottom:8px}.album-management select,.album-management input:not([type=checkbox]){width:100%;padding:11px;border:1px solid var(--line);background:var(--page);color:var(--text);font:13px Inter,Arial;min-height:42px}.album-form{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin-top:20px}.album-form label{font-size:10px;display:flex;flex-direction:column;gap:8px}.album-form .publish-toggle{flex-direction:row;align-items:center;gap:8px;line-height:1.7}.publish-toggle input{width:18px;height:18px;accent-color:var(--brand)}.album-form .solid{align-self:end}.new-category-row{display:flex;gap:8px;align-items:center;margin-top:18px;padding-top:18px;border-top:1px solid var(--line)}.new-category-row input{flex:1;min-width:0}.new-category-row button{white-space:nowrap}.stats-heading{font:600 26px 'Barlow Condensed',Impact;margin-top:30px}
@media(max-width:1000px){.album-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.album-card-image{height:220px}}@media(max-width:600px){.portfolio-home{padding:35px 5%}.portfolio-intro h1{font-size:80px}.album-cards{grid-template-columns:1fr;gap:18px}.album-card-image{height:245px}.category-nav{gap:6px}.category-nav button{font-size:10px;padding:10px 12px}.album-form{grid-template-columns:1fr}.album-management{padding:14px}.manage-bar h3{font-size:22px}.new-category-row{flex-wrap:wrap}.new-category-row input{width:100%;flex-basis:100%}.generic-album .hero-title{max-width:90%}.generic-album .hero-football{font-size:45px}}
.banner-settings{grid-column:1/-1}.banner-settings>label{font-weight:600}.banner-settings>p{font-size:10px;color:var(--muted);line-height:1.7}.banner-picker{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin:12px 0}.banner-picker label{position:relative;min-width:0;display:block;border:1px solid var(--line);padding:5px;background:var(--page)}.banner-picker input{position:absolute;top:8px;right:8px;width:18px;height:18px;accent-color:#ed4b95;z-index:1}.banner-picker img{width:100%;height:70px;object-fit:cover}.banner-picker span{display:block;font-size:8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:5px}.banner-settings>label:last-child{max-width:240px}.banner-settings input[type=number]{margin-top:8px}@media(max-width:600px){.banner-picker{grid-template-columns:repeat(3,minmax(0,1fr))}}
#setupForm{max-width:520px;padding:20px 0}#setupForm label{display:block;font-size:12px;margin:15px 0}#setupForm input{display:block;width:100%;padding:12px;margin-top:8px;font:15px Inter,Arial;background:var(--panel);color:var(--text);border:1px solid var(--line)}#setupError{font-size:12px;color:#d14773}

.banner-picker label:has(input:checked){border-color:#ed4b95;box-shadow:0 0 0 1px #ed4b95}.banner-picker label{cursor:pointer}.banner-picker:empty::after{content:"Upload photos to choose your banner.";grid-column:1/-1;font-size:12px;color:var(--muted)}#bannerSelectionStatus{font-size:12px;font-weight:600}

.header-tools{display:flex;align-items:center;gap:14px}.header-admin{font-size:12px;font-weight:600;min-height:40px;padding:9px 18px;border-radius:6px}.password-help{font-size:11px;color:var(--muted);font-weight:400}@media(max-width:600px){.header-tools{gap:8px}.header-admin{padding:9px 12px}}

.language-switch{display:flex;gap:3px;padding:3px;border:1px solid var(--line);border-radius:7px;background:var(--panel)}.language-switch button{padding:8px 10px;min-height:36px;border:0;border-radius:4px;font-size:11px;background:transparent;color:var(--muted)}.language-switch button[aria-pressed=true]{background:var(--text);color:var(--page)}.header-tools{flex-wrap:wrap;justify-content:flex-end}.banner-picker:empty::after{content:none}#bannerEmpty{font-size:12px;color:var(--muted)}.manage-bar{flex-wrap:wrap}.manage-bar h3{margin-inline-end:auto}
html[lang=ar],html[lang=ar] button,html[lang=ar] input,html[lang=ar] select,html[lang=ar] label,html[lang=ar] .outline,html[lang=ar] .solid{font-family:Cairo,Tahoma,Arial,sans-serif}html[lang=ar] h1,html[lang=ar] h2,html[lang=ar] h3,html[lang=ar] .album-card h2,html[lang=ar] .gallery-toolbar h2{font-family:Cairo,Tahoma,Arial,sans-serif;letter-spacing:0;line-height:1.5}html[lang=ar] .portfolio-intro h1{font-family:'Barlow Condensed',Impact,sans-serif;direction:ltr;text-align:right;line-height:1.1}html[lang=ar] .sports-mark,html[lang=ar] .footer-mj{direction:ltr}html[lang=ar] th,html[lang=ar] td{text-align:right}html[lang=ar] .album-card{text-align:right}html[lang=ar] .album-arrow{float:left}html[lang=ar] .category-label{left:auto;right:14px;letter-spacing:0}html[lang=ar] .hero-title{left:auto;right:5%;text-align:right}html[lang=ar] .hero-title h1{font-family:Cairo,Tahoma,Arial,sans-serif;line-height:1.1;letter-spacing:0}html[lang=ar] .hero-aus{font-family:'Barlow Condensed',Impact,sans-serif}html[lang=ar] .hero-girls,html[lang=ar] .hero-football{font-size:clamp(42px,5.7vw,88px);letter-spacing:0}html[lang=ar] .school-tag,html[lang=ar] .hero-topline time,html[lang=ar] .event-label,html[lang=ar] .hero-credit,html[lang=ar] .hero-view,html[lang=ar] .tournament-tag{font-family:Cairo,Tahoma,Arial,sans-serif;letter-spacing:0}html[lang=ar] .school-tag{font-size:13px}html[lang=ar] .hero-media img{object-position:left center}html[lang=ar] .hero-shade{background:linear-gradient(270deg,#0a1120f5 0%,#0a1120bb 26%,#0a11200d 65%),linear-gradient(0deg,#09101bd6 0%,#09101b00 28%,#09101b00 75%,#09101b8c 100%)}html[lang=ar] .tournament-tag{padding-left:0;padding-right:14px;border-left:0;border-right:3px solid #a43d3b}html[lang=ar] .hero-topline time{text-align:left;font-size:11px}html[lang=ar] .photo-stage,html[lang=ar] .slide-controls{direction:ltr}html[lang=ar] #bannerInterval,html[lang=ar] input[type=date],html[lang=ar] input[type=password],html[lang=ar] #setupCode{direction:ltr;text-align:start}html[lang=ar] .banner-settings input[type=number]{text-align:right}html[lang=ar] .admin-kicker{letter-spacing:0}html[lang=ar] .hero-brand{margin-inline-start:0}
@media(max-width:650px){.site-header{gap:10px;align-items:flex-start}.header-tools{gap:7px}.language-switch button{padding:7px 8px;min-height:32px;font-size:10px}.header-admin{min-height:38px}.theme-switch button{min-height:32px;padding:7px 10px}html[lang=ar] .hero-girls,html[lang=ar] .hero-football{font-size:39px}html[lang=ar] .school-tag{font-size:11px}html[lang=ar] .hero-title{max-width:90%}html[lang=ar] .hero-media img{object-position:center 18%}html[lang=ar] .hero-shade{background:linear-gradient(0deg,#0a1120f5 0%,#0a1120db 28%,#0a112025 65%,#0a112033 100%)}html[lang=ar] .hero-topline time{font-size:9px}html[lang=ar] .generic-album .hero-title{max-width:90%}}

.banner-settings>label{max-width:280px}

.admin-top{flex-wrap:wrap}.admin-top>div:first-child{margin-inline-end:auto}.admin-language{flex-shrink:0}html[lang=ar] .admin-metrics strong{font-family:Inter,Arial,sans-serif;direction:ltr;text-align:right}


/* 2.2: display modes and full-image banner selection. */
.display-controls,.order-toolbar{display:flex;flex-wrap:wrap;gap:14px;align-items:end;margin:0 0 20px}.display-controls label,.order-toolbar label{display:grid;gap:7px;font-size:12px;flex:1;min-width:150px}.display-controls select,.order-toolbar select{background:var(--page);color:var(--text);border:1px solid var(--line);padding:12px;font:inherit;min-height:44px}.photo-grid{--cols:3;grid-template-columns:repeat(var(--cols),minmax(0,1fr))}.photo-grid[data-size=small]{--cols:4}.photo-grid[data-size=large]{--cols:2}.photo-tile img{object-fit:cover;width:100%;height:100%}.photo-grid[data-layout=masonry]{display:block;columns:var(--cols);column-gap:10px}.photo-grid[data-layout=masonry] .photo-card{break-inside:avoid;margin-bottom:10px}.photo-grid[data-layout=masonry] .photo-tile{height:auto;aspect-ratio:var(--photo-ratio,1.5)}.photo-grid[data-layout=masonry] .photo-tile img{height:auto;aspect-ratio:var(--photo-ratio,1.5)}.photo-grid[data-layout=rows]{display:flex;flex-wrap:wrap;gap:10px}.photo-grid[data-layout=rows] .photo-card{flex:calc(var(--photo-ratio,1.5)) 1 calc(190px * var(--photo-ratio,1.5));max-width:100%}.photo-grid[data-layout=rows][data-size=small] .photo-card{flex-basis:calc(120px * var(--photo-ratio,1.5))}.photo-grid[data-layout=rows][data-size=large] .photo-card{flex-basis:calc(270px * var(--photo-ratio,1.5))}.photo-grid[data-layout=rows] .photo-tile{aspect-ratio:var(--photo-ratio,1.5)}.photo-grid[data-layout=highlights] .photo-card:first-child{grid-column:span 2;grid-row:span 2}.photo-grid[data-layout=highlights] .photo-card:first-child .photo-tile{height:calc(100% - 45px);aspect-ratio:auto;min-height:260px}.banner-picker{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.banner-picker label{padding:10px;border-radius:8px}.banner-picker img{display:block;width:100%;height:220px;object-fit:contain;background:var(--panel)}.banner-picker span{font-size:12px;padding:6px 0;direction:ltr;text-align:start}.banner-picker input{width:24px;height:24px;top:17px;right:17px}.banner-picker .banner-enlarge{min-height:40px;font-size:12px;margin-top:5px;width:100%}.banner-picker-details summary,.photo-order-settings summary{padding:14px 0;font-size:14px;font-weight:600;cursor:pointer}.photo-order-settings{grid-column:1/-1;border-bottom:1px solid var(--line)}.photo-order-settings p{font-size:12px;color:var(--muted)}.banner-preview{padding:20px;width:min(1100px,96vw);max-width:96vw;background:var(--page);color:var(--text);border:1px solid var(--line)}.banner-preview::backdrop{background:#000c}.banner-preview>img{display:block;width:100%;height:min(65vh,720px);object-fit:contain;background:var(--panel)}.banner-preview-tools{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:10px 0}.banner-preview-tools span{overflow-wrap:anywhere;font-size:13px}.banner-preview-tools label{display:flex;gap:9px;align-items:center;font-size:14px}.banner-preview-tools input{width:24px;height:24px;accent-color:#ed4b95}.admin-photo-order{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:15px}.order-photo{border:1px solid var(--line);padding:7px;min-width:0;cursor:grab}.order-photo img{width:100%;height:110px;object-fit:contain;background:var(--panel)}.order-photo span{display:block;font-size:11px;overflow-wrap:anywhere}.order-photo>div{display:flex;gap:7px;margin-top:7px}.order-photo button{flex:1;min-height:40px}.upload-progress-panel{position:sticky;top:0;z-index:3;background:var(--page);padding:16px;border:1px solid var(--line);border-radius:8px;margin:12px 0 20px}.upload-progress-heading{display:flex;gap:12px;justify-content:space-between;font-size:14px}.upload-progress-panel progress{display:block;width:100%;height:14px;margin:12px 0;accent-color:#ed4b95}.upload-progress-panel p{font-size:12px;margin:0;overflow-wrap:anywhere}.upload-progress-panel bdi{font-variant-numeric:tabular-nums}.banner-settings>label{max-width:none}.banner-settings>label:last-of-type{display:block;max-width:280px}footer small{font-size:10px;margin-inline-start:12px}
@media(max-width:700px){.photo-grid{--cols:2}.photo-grid[data-size=small]{--cols:3}.photo-grid[data-size=large]{--cols:1}.admin-photo-order{grid-template-columns:repeat(2,minmax(0,1fr))}.photo-grid[data-layout=highlights] .photo-card:first-child{grid-column:1/-1;grid-row:auto}.photo-grid[data-layout=highlights] .photo-card:first-child .photo-tile{height:auto;aspect-ratio:1.5;min-height:0}.banner-picker img{height:180px}}@media(max-width:450px){.banner-picker{grid-template-columns:1fr}.banner-picker img{height:260px}.display-controls label{min-width:110px}}

/* 2.3: clear action outcomes, approved logo loader, recoverable deletions. */
.operation-notice{display:flex;align-items:center;gap:12px;padding:14px 16px;border:1px solid var(--line);background:var(--panel);color:var(--text);border-radius:9px;font-size:14px;line-height:1.8;overflow-wrap:anywhere}.operation-notice>span{flex:1;min-width:0}.operation-notice>strong{font:700 24px Arial}.operation-notice[data-state=success]{background:#e8f6ee;color:#155e37;border-color:#a7d9bc}.operation-notice[data-state=error]{background:#ffeded;color:#8b2020;border-color:#e7aaaa}.operation-notice[data-state=warning]{background:#fff4dd;color:#75500b;border-color:#e9cf9b}.notice-dismiss{color:inherit;border:0;background:transparent;font-size:25px;min-width:40px;min-height:40px}.brand-loading-logo{display:block;flex:none;width:76px;height:64px;object-fit:contain;background:#0c1422;border-radius:9px;animation:project-logo-fill 1.4s ease-in-out infinite alternate}.operation-notice[data-state=busy]{min-height:92px}#adminOperationStatus{position:sticky;top:0;z-index:7;margin:12px 0;box-shadow:0 4px 18px #0001}.status.operation-notice{position:fixed;inset:auto 20px 20px auto;max-width:min(560px,calc(100vw - 40px));z-index:20}#viewerOperationStatus{margin:0 12px}.lightbox-layout:has(#viewerOperationStatus:not([hidden])){grid-template-rows:auto auto 1fr auto}.delete-toolbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:12px 0 18px}.delete-toolbar>span{font-size:13px}.danger-button{min-height:42px;border:1px solid #cb6475;border-radius:6px;background:var(--page);color:#b62245;font:inherit;font-size:12px;padding:9px 13px}.danger-button:hover{background:#b62245;color:#fff}.order-photo{position:relative}.order-photo>input{position:absolute;top:12px;inset-inline-end:12px;width:24px;height:24px;accent-color:#c73878}.order-photo.admin-selected{border:2px solid #c73878}.order-photo>div{flex-wrap:wrap}.order-photo>div .danger-button{flex-basis:100%}.trash-section{margin:24px 0;border-block:1px solid var(--line);padding:12px 0}.trash-section summary{font-weight:600;padding:10px 0;cursor:pointer}.trash-section p{font-size:13px;line-height:1.8}.trash-row{display:flex;gap:15px;align-items:center;justify-content:space-between;padding:12px 0;border-bottom:1px solid var(--line)}.trash-row>span{min-width:0;overflow-wrap:anywhere;font-size:13px}.trash-row>button{flex:none}.delete-confirm{inset:0;margin:auto;width:min(520px,94vw);height:fit-content;max-height:90svh;background:var(--page);color:var(--text);padding:24px;border:1px solid var(--line);border-radius:12px}.delete-confirm::backdrop{background:#000a;backdrop-filter:blur(4px)}.delete-confirm h2{font-size:24px;margin:0 0 16px}.delete-confirm p{font-size:14px;line-height:1.9;overflow-wrap:anywhere}.delete-confirm .delete-toolbar{margin-bottom:0}.banner-preview{inset:0;margin:auto;height:fit-content;max-height:94svh;overflow:auto;border-radius:10px}html[lang=ar] .operation-notice,html[lang=ar] .delete-confirm,html[lang=ar] .delete-toolbar{font-family:Cairo,Tahoma,Arial,sans-serif;line-height:1.8;letter-spacing:0}@keyframes project-logo-fill{from{opacity:.35}to{opacity:1}}@media(prefers-reduced-motion:reduce){.brand-loading-logo{animation:none}}
/* Arabic banner content occupies normal flow, below the event row. */
html[lang=ar] .sports-hero{display:flex;flex-direction:column;gap:24px;height:auto;min-height:calc(100svh - 90px);max-height:none;padding:28px 5% 24px;overflow:hidden}
html[lang=ar] .hero-topline{position:relative;inset:auto;flex:none;align-items:start;gap:18px;min-height:30px}
html[lang=ar] .event-label{white-space:nowrap;font-size:12px;line-height:1.8}
html[lang=ar] .hero-topline time{font-size:12px;line-height:1.8;max-width:60%}
html[lang=ar] .hero-title{position:relative;inset:auto;flex:1;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;width:min(46%,550px);max-width:none;margin:0;min-height:0;align-self:flex-start}
html[lang=ar] .hero-brand{width:clamp(210px,22vw,340px);height:clamp(109px,11.5vw,177px);max-width:100%;margin:0 0 22px}
html[lang=ar] .school-tag{margin:0 0 22px;max-width:none;font-size:13px;line-height:1.9}
html[lang=ar] .hero-title h1{gap:12px;width:100%;line-height:1.35}
html[lang=ar] .hero-aus{font-size:clamp(58px,5.5vw,90px);line-height:1}
html[lang=ar] .hero-girls,html[lang=ar] .hero-football{font-size:clamp(38px,4.1vw,70px);line-height:1.35;white-space:nowrap}
html[lang=ar] .tournament-tag{margin-top:14px;font-size:12px;line-height:1.8}
html[lang=ar] .hero-view{margin-top:18px;font-size:13px;line-height:1.8}
html[lang=ar] .hero-footer{position:relative;inset:auto;flex:none;margin-top:6px;padding-top:16px}
@media(max-width:700px){html[lang=ar] .sports-hero{padding:20px 5%;gap:20px;min-height:760px}html[lang=ar] .hero-title{width:90%}html[lang=ar] .hero-brand{width:210px;height:109px;margin-bottom:18px}html[lang=ar] .hero-girls,html[lang=ar] .hero-football{font-size:clamp(32px,8vw,46px)}html[lang=ar] .hero-topline{flex-wrap:wrap}html[lang=ar] .hero-topline time{max-width:none;font-size:11px}html[lang=ar] .school-tag{font-size:12px}html[lang=ar] .hero-shade{background:linear-gradient(270deg,#0a1120e8,#0a112056),linear-gradient(0deg,#0a112099,#0a112000)}.operation-notice{font-size:13px}.brand-loading-logo{width:60px;height:52px}}

/* Reference: owner-supplied Getty homepage recording, 2026-11-13. */
.photo-grid[data-layout=wall]{display:grid;gap:3px;grid-template-columns:repeat(var(--cols),minmax(0,1fr))}.photo-grid[data-layout=wall] .photo-card{border:0;overflow:hidden;isolation:isolate}.photo-grid[data-layout=wall] .photo-tile{display:block;aspect-ratio:1;height:auto;overflow:hidden}.photo-grid[data-layout=wall] .photo-tile img{aspect-ratio:1;object-fit:cover;transition:transform .32s ease,filter .32s ease}.photo-grid[data-layout=wall] .photo-card-footer{position:absolute;inset:auto 0 0;padding:25px 12px 10px;gap:8px;color:#fff;background:linear-gradient(0deg,#000c,#0000);z-index:2}.photo-grid[data-layout=wall] .photo-card-footer span{color:#fff;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px}.photo-grid[data-layout=wall] .photo-download{color:#fff;white-space:nowrap}.album-cards{grid-template-columns:repeat(3,minmax(0,1fr));gap:3px}.album-card{position:relative;border:0}.album-card-image{height:auto;aspect-ratio:1}.album-card-image img{transition:transform .32s ease,filter .32s ease}.album-card-details{position:absolute;inset:auto 0 0;padding:35px 18px 18px;background:linear-gradient(0deg,#000d,#0000);color:#fff}.album-card h2{font-size:24px;line-height:1.4;margin:0 0 8px}.album-card small,.album-card .album-arrow{color:#fff}.album-card-image .category-label{bottom:auto;top:14px;left:14px}html[lang=ar] .album-card-image .category-label{left:auto;right:14px}html[lang=ar] .album-card h2{font-size:20px;line-height:1.6}
@media(hover:hover) and (pointer:fine){.photo-grid[data-layout=wall] .photo-card-footer,.album-card-details,.album-card-image .category-label{opacity:0;transition:opacity .24s ease}.photo-grid[data-layout=wall] .photo-card:is(:hover,:focus-within) img,.album-card:is(:hover,:focus-within) img{transform:scale(1.055);filter:brightness(.76)}.photo-grid[data-layout=wall] .photo-card:is(:hover,:focus-within) .photo-card-footer,.album-card:is(:hover,:focus-within) .album-card-details,.album-card:is(:hover,:focus-within) .category-label{opacity:1}}
@media(max-width:700px){.album-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.album-card h2{font-size:20px}}@media(max-width:400px){.album-cards{grid-template-columns:1fr}}@media(prefers-reduced-motion:reduce){.photo-grid[data-layout=wall] .photo-tile img,.album-card-image img,.album-card-details{transition:none}.photo-grid[data-layout=wall] .photo-card:is(:hover,:focus-within) img,.album-card:is(:hover,:focus-within) img{transform:none}}

/* 2.3.1: photo deletion is a top-level admin action, not a collapsed setting. */
.photo-management{inset:0;margin:auto;width:min(1100px,96vw);height:90dvh;max-width:96vw;max-height:90dvh;padding:24px;background:var(--page);color:var(--text);border:1px solid var(--line);border-radius:10px;overflow:auto}.photo-management::backdrop{background:#000a;backdrop-filter:blur(5px)}.photo-management-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:18px}.photo-management-heading h2{font-size:25px;margin:0;line-height:1.6}.photo-management>p{font-size:13px;line-height:1.8}.photo-management .delete-toolbar{position:sticky;top:0;z-index:4;background:var(--page);padding:12px 0;border-block:1px solid var(--line)}.photo-management .admin-photo-order{grid-template-columns:repeat(3,minmax(0,1fr))}.photo-management .order-photo img{height:180px}.photo-management .order-toolbar select{width:100%}.photo-management .operation-notice{margin-bottom:16px}.manage-bar #openPhotoManagement{min-height:44px;font-size:13px}.manage-bar{flex-wrap:wrap}#photoOrderStatus{font-size:13px}html[lang=ar] .photo-management{font-family:Cairo,Tahoma,Arial,sans-serif;letter-spacing:0}@media(max-width:600px){.photo-management{padding:14px}.photo-management .admin-photo-order{grid-template-columns:repeat(2,minmax(0,1fr))}.photo-management .order-photo img{height:140px}.photo-management-heading h2{font-size:21px}}

/* Edge-to-edge wall: no gutters, borders or rounded photo corners. */
.photo-grid[data-layout=wall],.album-cards{gap:0}.photo-grid[data-layout=wall] .photo-card,.photo-grid[data-layout=wall] .photo-tile,.album-card,.album-card-image{border:0;border-radius:0;box-shadow:none}.photo-grid[data-layout=wall] .photo-tile:only-child{grid-column:auto}.hero-brand .mj-alpha-logo{display:block;width:100%;height:100%;overflow:hidden;pointer-events:none;mix-blend-mode:normal}.admin-route #portfolioHome,.admin-route #albumPage,.admin-route body>footer{display:none!important}.admin-route #adminPanel{position:relative;inset:auto;display:block;width:min(1400px,96%);max-width:1400px;height:auto;max-height:none;margin:30px auto;overflow:visible}.admin-route #closeAdmin{display:none}.admin-route .admin-modal::backdrop{display:none}.sharing-panel{padding:24px 0;border-block:1px solid var(--line);margin:24px 0}.sharing-panel h3{font-size:24px}.sharing-panel p{font-size:13px;line-height:1.8;color:var(--muted)}.sharing-panel label{display:grid;gap:8px;font-size:13px}.sharing-panel select,.sharing-panel input:not([type=checkbox]),#statsScope{padding:12px;border:1px solid var(--line);background:var(--page);color:var(--text);font:inherit;max-width:100%;width:100%;min-height:44px}.share-project{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.sharing-panel a{display:block;overflow-wrap:anywhere;font-size:13px;text-decoration:underline;margin:12px 0}.sharing-panel form{display:grid;gap:16px;margin-top:20px}.portfolio-category{padding:14px;background:var(--panel);margin:12px 0}.portfolio-category h4{margin:0 0 14px}.portfolio-category label{display:flex;align-items:center;gap:10px;margin:12px 0}.portfolio-category input{width:22px;height:22px;accent-color:#ed4b95}.project-infographics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:24px 0}.project-infographic{border:1px solid var(--line);padding:20px;min-width:0}.project-infographic h4{margin:0 0 18px;font-size:18px;line-height:1.6}.project-infographic dl{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:0 0 18px}.project-infographic dt{font-size:11px;color:var(--muted)}.project-infographic dd{font-size:26px;font-weight:700;margin:5px 0;font-variant-numeric:tabular-nums}.metric-bars{display:grid;gap:12px;margin-bottom:16px}.metric-bar{display:grid;grid-template-columns:100px minmax(0,1fr) 50px;gap:8px;align-items:center;font-size:12px}.metric-bar i{display:block;height:9px;background:var(--panel)}.metric-bar b{display:block;height:9px;background:#ed4b95}.metric-bar[data-metric=views] b{background:#55bdcf}.metric-bar[data-metric=visits] b{background:#852c2c}.daily-chart{padding:20px 0}.daily-chart h4{margin-top:0}.daily-row{display:grid;grid-template-columns:100px minmax(0,1fr) auto;gap:12px;align-items:center;margin:8px 0;font-size:12px}.daily-row progress{width:100%;accent-color:#55bdcf}.stats-heading{margin-top:30px}#openAdmin[hidden]{display:none!important}@media(max-width:700px){.project-infographics{grid-template-columns:1fr}.admin-route #adminPanel{width:96%;padding:16px;margin:12px auto}.project-infographic dl{gap:8px}.metric-bar{grid-template-columns:90px minmax(0,1fr) 36px}}

.photo-grid{gap:0}.photo-card,.photo-tile{border:0;border-radius:0;box-shadow:none;overflow:hidden}.photo-grid[data-layout=masonry]{column-gap:0}.photo-grid[data-layout=masonry] .photo-card{margin-bottom:0}.photo-grid[data-layout=rows]{gap:0}.photo-card-footer{position:absolute;inset:auto 0 0;padding:25px 12px 10px;background:linear-gradient(0deg,#000c,#0000);color:#fff;z-index:2}.photo-card-footer span,.photo-download{color:#fff}.photo-grid[data-layout=highlights] .photo-card:first-child .photo-tile{height:100%}@media(hover:hover) and (pointer:fine){.photo-card-footer{opacity:0;transition:opacity .24s ease}.photo-card:is(:hover,:focus-within) .photo-card-footer{opacity:1}}

.access-gate{min-height:68vh;display:grid;place-items:center;padding:3rem 1rem;background:#101a2a;color:#fff}
.access-gate-card{width:min(100%,480px);padding:clamp(1.5rem,5vw,3rem);background:#1c2a3c;border:1px solid #ffffff28;border-radius:22px;box-shadow:0 24px 80px #0006}
.access-gate h1{font-size:clamp(1.7rem,4vw,2.8rem);line-height:1.15}.access-gate p{opacity:.8}.access-gate form{display:grid;gap:1rem;margin-top:2rem}.access-gate label{display:grid;gap:.45rem}.access-gate input{width:100%;padding:.8rem;border-radius:9px;border:1px solid #ffffff55;background:#fff;color:#142032;font:inherit}.access-gate .access-error{color:#ffb4b4;min-height:1.2em}
.access-settings{margin-top:2rem;padding:clamp(1rem,3vw,2rem);border:1px solid #b8c1ce55;border-radius:18px;background:var(--card,#f8f9fb);color:var(--text,#1a2638)}
.access-settings h3{font-size:1.4rem}.access-settings h4{margin:1.6rem 0 .7rem}.access-settings .access-switch{display:flex;align-items:center;gap:.65rem;padding:1rem;background:#d5ddeb33;border-radius:12px;font-weight:700}.access-settings .access-switch input{width:20px;height:20px}
.access-settings button{margin:.4rem .4rem .4rem 0}.access-settings input,.access-settings select{font:inherit;padding:.65rem;min-width:0}.access-row{display:flex;flex-wrap:wrap;gap:.6rem;margin:.5rem 0}.access-row input{flex:1 1 180px}.access-group{padding:1rem;margin:.8rem 0;border:1px solid #9aa9bc70;border-radius:14px}.access-options{display:flex;gap:1rem;flex-wrap:wrap}.access-options label{display:inline-flex;align-items:center;gap:.4rem}.access-photo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:.65rem;max-height:340px;overflow:auto}.access-photo-grid label{display:grid;gap:.35rem;border:1px solid #aab5c266;border-radius:10px;padding:.4rem;overflow:hidden;font-size:.78rem}.access-photo-grid img{width:100%;height:90px;object-fit:cover;border-radius:6px}.access-photo-grid span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.access-photo-grid select{width:100%}.access-send{display:flex;align-items:end;gap:.6rem;flex-wrap:wrap;margin-top:2rem;padding-top:1rem;border-top:1px solid #9aa9bc70}.access-send h4{flex-basis:100%;margin:0}.access-send input,.access-send select{flex:1 1 190px}
