@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:ital,wght@0,500;0,600;1,500&display=swap');

:root{--bg:#090a0d;--bg-soft:#0e1015;--panel:#13161c;--panel-2:#191c23;--text:#f5f2eb;--muted:#a4a5aa;--line:#2a2d34;--accent:#d6a85f;--accent-soft:#f0d39f;--danger:#d26969;--success:#63b58c;--radius:18px;--shadow:0 28px 80px rgba(0,0,0,.38)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font-family:'DM Sans',system-ui,sans-serif;line-height:1.6;overflow-x:hidden}body::before{content:"";position:fixed;inset:0;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160' viewBox='0 0 160 160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.11'/%3E%3C/svg%3E");opacity:.18;z-index:100}img{max-width:100%;display:block}a{color:inherit}button,input,textarea,select{font:inherit}.skip-link{position:fixed;left:12px;top:-100px;z-index:999;background:#fff;color:#000;padding:10px}.skip-link:focus{top:12px}.site-header{height:84px;padding:0 clamp(20px,5vw,76px);display:flex;align-items:center;justify-content:space-between;position:relative;z-index:40;background:linear-gradient(180deg,rgba(9,10,13,.96),rgba(9,10,13,.55));border-bottom:1px solid rgba(255,255,255,.06);backdrop-filter:blur(18px)}.brand{text-decoration:none;display:inline-flex;align-items:center;gap:11px;letter-spacing:.16em;font-size:.76rem}.brand span:last-child{display:flex;align-items:baseline}.brand b{font-weight:700}.brand i{font-style:normal;color:var(--accent);font-weight:700}.brand-mark{width:35px;height:35px;border:1px solid var(--accent);display:grid;place-items:center;font:600 1.25rem/1 'Playfair Display',serif;transform:rotate(45deg);color:var(--accent)}.brand-mark::first-letter{transform:rotate(-45deg)}.main-nav{display:flex;align-items:center;gap:30px}.main-nav>a,.nav-link{font-size:.83rem;text-decoration:none;color:#d7d5d0;background:none;border:0;padding:8px 0;cursor:pointer}.main-nav>a:not(.button):hover,.nav-link:hover{color:var(--accent)}.nav-form{margin:0}.nav-toggle{display:none;border:0;background:none;width:40px;height:40px}.nav-toggle span{display:block;height:1px;background:#fff;margin:8px 3px}.button{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:999px;padding:13px 23px;background:var(--accent);color:#101114;text-decoration:none;font-weight:700;cursor:pointer;transition:.25s transform,.25s background}.button:hover{transform:translateY(-2px);background:var(--accent-soft)}.button-small{padding:9px 17px!important}.button-secondary{background:transparent;color:var(--text);border:1px solid var(--line)}.button-danger{background:#3b1c21;color:#ffced2;border:1px solid #6c3138}.button-ghost{background:none;color:var(--accent);padding:8px 0}.icon-button{width:43px;height:43px;padding:0}.eyebrow{display:block;color:var(--accent);font-size:.73rem;font-weight:700;letter-spacing:.22em;text-transform:uppercase}.display-title{font:500 clamp(3.2rem,8vw,8.5rem)/.87 'Playfair Display',serif;letter-spacing:-.045em;margin:20px 0}.display-title em{color:var(--accent);font-weight:500}.section-title{font:500 clamp(2.1rem,4.2vw,4.8rem)/1 'Playfair Display',serif;letter-spacing:-.035em;margin:15px 0 26px}.lede{color:#c1c0bc;font-size:clamp(1rem,1.45vw,1.24rem);line-height:1.8;max-width:710px}.muted{color:var(--muted)}.hero{min-height:calc(100vh - 84px);position:relative;overflow:hidden}.hero-slides{position:absolute;inset:0}.hero-slide{position:absolute;inset:0;opacity:0;transition:opacity 1.25s ease}.hero-slide.active{opacity:1}.hero-slide img{width:100%;height:100%;object-fit:cover;filter:saturate(.8) contrast(1.05)}.hero-slide::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,6,8,.92) 0%,rgba(5,6,8,.53) 48%,rgba(5,6,8,.22) 75%),linear-gradient(0deg,rgba(5,6,8,.72),transparent 55%)}.hero-fallback{position:absolute;inset:0;background:radial-gradient(circle at 75% 24%,#494038 0,transparent 25%),radial-gradient(circle at 75% 65%,#1d3340 0,transparent 25%),linear-gradient(120deg,#08090c,#18181b 55%,#0b1117)}.hero-content{position:relative;z-index:3;padding:clamp(80px,12vh,145px) clamp(22px,7vw,110px);max-width:1000px}.hero-content .lede{max-width:620px}.hero-actions{display:flex;gap:13px;flex-wrap:wrap;margin-top:34px}.slide-credit{position:absolute;right:clamp(24px,5vw,74px);bottom:42px;z-index:4;text-align:right;font-size:.72rem;letter-spacing:.13em;color:#ddd}.slide-credit b{display:block;color:var(--accent);font-size:.84rem}.scroll-cue{position:absolute;bottom:33px;left:clamp(24px,7vw,110px);z-index:4;font-size:.7rem;letter-spacing:.2em;color:#aaa;writing-mode:vertical-rl}.scroll-cue::after{content:"";width:1px;height:60px;background:linear-gradient(var(--accent),transparent);display:block;margin:12px auto}.section{padding:clamp(75px,10vw,145px) clamp(22px,7vw,110px)}.section-head{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:50px}.section-head p{max-width:450px;color:var(--muted)}.exhibitions-section{background:radial-gradient(circle at 5% 20%,#161b21,transparent 25%),var(--bg)}.exhibition-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:24px}.exhibition-card{position:relative;min-height:470px;grid-column:span 6;border-radius:var(--radius);overflow:hidden;text-decoration:none;background:var(--panel);isolation:isolate}.exhibition-card:nth-child(3n){grid-column:span 5}.exhibition-card:nth-child(3n+1):not(:first-child){grid-column:span 7}.exhibition-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .8s ease,filter .8s ease;filter:saturate(.72)}.exhibition-card:hover img{transform:scale(1.045);filter:saturate(.95)}.exhibition-card::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(4,5,7,.94),rgba(4,5,7,.04) 70%);z-index:1}.card-placeholder{position:absolute;inset:0;background:radial-gradient(circle at 30% 30%,#51402d,transparent 32%),linear-gradient(135deg,#17191f,#07080a)}.card-body{position:absolute;z-index:2;left:clamp(23px,4vw,42px);right:clamp(23px,4vw,42px);bottom:clamp(23px,4vw,38px)}.card-meta{display:flex;gap:12px;align-items:center;font-size:.68rem;letter-spacing:.15em;text-transform:uppercase;color:#d0cec8}.badge{padding:6px 9px;border-radius:999px;border:1px solid rgba(255,255,255,.28);background:rgba(8,9,11,.42);backdrop-filter:blur(8px)}.badge-gold{border-color:rgba(214,168,95,.5);color:var(--accent-soft)}.card-body h3{font:500 clamp(1.8rem,3vw,3rem)/1.05 'Playfair Display',serif;margin:15px 0 8px}.card-body p{margin:0;color:#c9c7c2;max-width:600px}.card-arrow{position:absolute;right:30px;top:30px;z-index:3;width:47px;height:47px;border:1px solid rgba(255,255,255,.42);border-radius:50%;display:grid;place-items:center;transition:.25s}.exhibition-card:hover .card-arrow{background:var(--accent);color:#111;border-color:var(--accent);transform:rotate(45deg)}.split-callout{display:grid;grid-template-columns:1.1fr .9fr;min-height:560px}.callout-copy{padding:clamp(55px,8vw,110px);background:#efece5;color:#151619;display:flex;flex-direction:column;justify-content:center}.callout-copy .eyebrow{color:#926a2c}.callout-copy p{color:#565656;max-width:580px}.callout-visual{position:relative;overflow:hidden;background:radial-gradient(circle at 30% 45%,#685438,transparent 27%),radial-gradient(circle at 75% 18%,#243847,transparent 28%),#111217}.callout-frame{position:absolute;inset:14% 16%;border:1px solid rgba(214,168,95,.55);transform:rotate(-4deg)}.callout-frame::before{content:"P";position:absolute;inset:15px;background:#0a0b0e;color:var(--accent);display:grid;place-items:center;font:500 10rem 'Playfair Display',serif}.site-footer{padding:60px clamp(22px,7vw,110px);border-top:1px solid var(--line);display:grid;grid-template-columns:1.5fr .7fr .7fr;gap:40px;background:#07080a}.site-footer p{max-width:430px;color:var(--muted);font-size:.9rem;margin-top:22px}.footer-links{display:flex;flex-direction:column;gap:10px}.footer-links a{text-decoration:none;color:#bbb}.footer-copy{font-size:.8rem;color:#777;text-align:right}.footer-brand{margin-top:8px}.toast{position:fixed;z-index:200;right:22px;top:102px;max-width:min(430px,calc(100% - 44px));padding:14px 15px 14px 18px;border-radius:13px;box-shadow:var(--shadow);display:flex;align-items:start;gap:18px;background:#20242c;border:1px solid #393e49;color:#fff;animation:toastIn .35s ease}.toast-success{border-left:3px solid var(--success)}.toast-error{border-left:3px solid var(--danger)}.toast-warning{border-left:3px solid var(--accent)}.toast button{border:0;background:none;color:#aaa;font-size:1.35rem;line-height:1;cursor:pointer}@keyframes toastIn{from{transform:translateY(-15px);opacity:0}}

.inner-hero{padding:90px clamp(22px,7vw,110px) 65px;background:radial-gradient(circle at 80% 10%,#30271e,transparent 25%),var(--bg-soft);border-bottom:1px solid var(--line)}.inner-hero h1{font:500 clamp(2.8rem,6vw,6rem)/.95 'Playfair Display',serif;margin:18px 0}.inner-hero .meta-line{display:flex;flex-wrap:wrap;gap:12px;margin-top:25px}.content-wrap{width:min(1220px,calc(100% - 44px));margin:0 auto;padding:60px 0 110px}.narrow{width:min(760px,calc(100% - 44px))}.prose{font-size:1.05rem;line-height:1.9;color:#c8c7c3;white-space:pre-line}.gallery{columns:3 330px;column-gap:22px;margin-top:48px}.gallery-item{break-inside:avoid;margin:0 0 22px;position:relative;border-radius:13px;overflow:hidden;background:var(--panel);text-decoration:none;display:block}.gallery-item img{width:100%;height:auto;transition:.5s transform,.5s filter;filter:saturate(.82)}.gallery-item:hover img{transform:scale(1.025);filter:saturate(1)}.gallery-caption{position:absolute;inset:auto 0 0;padding:70px 20px 18px;background:linear-gradient(transparent,rgba(5,6,8,.88));opacity:0;transform:translateY(12px);transition:.35s}.gallery-item:hover .gallery-caption{opacity:1;transform:none}.gallery-caption b{display:block;font-family:'Playfair Display',serif;font-size:1.25rem}.gallery-caption span{font-size:.77rem;color:#ccc}.gallery-number{position:absolute;left:14px;top:13px;background:#090a0dbd;border:1px solid #ffffff2b;border-radius:999px;padding:4px 9px;font-size:.66rem;letter-spacing:.12em}.empty-state{padding:75px 25px;border:1px dashed #393c44;border-radius:var(--radius);text-align:center;color:var(--muted)}.empty-state h2{font:500 2rem 'Playfair Display',serif;color:var(--text)}

.photo-view{min-height:calc(100vh - 84px);background:#050608}.photo-stage{padding:35px clamp(15px,4vw,60px);display:grid;place-items:center;min-height:74vh;position:relative}.photo-stage img{max-height:78vh;max-width:100%;object-fit:contain;box-shadow:0 30px 100px #000;cursor:zoom-in}.photo-back{position:absolute;left:clamp(18px,4vw,60px);top:26px;z-index:2;text-decoration:none;background:#0a0b0dbd;border:1px solid #333;border-radius:999px;padding:9px 14px;font-size:.8rem}.photo-detail{width:min(1100px,calc(100% - 44px));margin:0 auto;padding:40px 0 90px;display:grid;grid-template-columns:1.25fr .75fr;gap:65px}.photo-detail h1{font:500 clamp(2.3rem,5vw,4.4rem)/1 'Playfair Display',serif;margin:10px 0}.photo-author{color:var(--accent);letter-spacing:.11em;text-transform:uppercase;font-size:.78rem}.photo-description{color:#bbb;white-space:pre-line}.vote-panel,.comments-panel{border-top:1px solid var(--line);padding-top:30px;margin-top:38px}.vote-panel h2,.comments-panel h2{font:500 2rem 'Playfair Display',serif}.vote-count{font:500 3.5rem 'Playfair Display',serif;color:var(--accent)}.comment{display:grid;grid-template-columns:42px 1fr auto;gap:13px;padding:20px 0;border-bottom:1px solid var(--line)}.avatar{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:#252931;color:var(--accent);font-weight:700}.comment b{display:block}.comment time{font-size:.72rem;color:#777}.comment p{margin:5px 0 0;color:#c5c4c0;white-space:pre-line}.zoom-modal{border:0;padding:0;background:#030405;color:#fff;width:100vw;height:100vh;max-width:none;max-height:none}.zoom-modal::backdrop{background:#030405}.zoom-modal img{width:100%;height:100%;object-fit:contain}.zoom-modal button{position:fixed;right:25px;top:20px;width:48px;height:48px;border-radius:50%;border:1px solid #555;background:#111b;color:#fff;font-size:1.8rem;cursor:pointer}

.auth-shell{min-height:calc(100vh - 84px);display:grid;grid-template-columns:.9fr 1.1fr}.auth-art{padding:70px clamp(30px,7vw,100px);background:radial-gradient(circle at 30% 20%,#443623,transparent 30%),radial-gradient(circle at 70% 75%,#1b3140,transparent 28%),#101216;display:flex;flex-direction:column;justify-content:end}.auth-art h1{font:500 clamp(3rem,6vw,6.8rem)/.9 'Playfair Display',serif;margin:20px 0}.auth-panel{padding:70px clamp(25px,8vw,120px);display:flex;align-items:center}.auth-panel>div{width:100%;max-width:520px}.auth-panel h2{font:500 2.6rem 'Playfair Display',serif;margin-bottom:8px}.auth-links{display:flex;justify-content:space-between;gap:15px;margin-top:24px;font-size:.86rem}.auth-links a{color:var(--accent)}.field{margin-bottom:18px}.field label{display:flex;justify-content:space-between;color:#c5c4c0;font-size:.82rem;margin-bottom:7px}.field input,.field textarea,.field select,.compact-form input,.compact-form textarea,.compact-form select{width:100%;border:1px solid var(--line);border-radius:11px;background:#0e1014;color:#f7f5ef;padding:12px 13px;outline:none}.field input:focus,.field textarea:focus,.field select:focus,.compact-form input:focus,.compact-form textarea:focus,.compact-form select:focus{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 18%,transparent)}.field textarea{min-height:130px;resize:vertical}.field small{display:block;color:#777;margin-top:6px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.check{display:flex;gap:9px;align-items:start;color:#c6c4bf;font-size:.88rem}.check input{margin-top:5px}.auth-panel .button{width:100%;margin-top:8px}.notice{padding:15px 17px;border:1px solid #3b3f48;background:#16191f;border-radius:12px;color:#c8c7c3;margin:20px 0}.notice-success{border-color:#2d6d4e;background:#11261c}.notice-warning{border-color:#6a552e;background:#2b2416}.danger-zone{border-color:#5e2c33!important;background:#211216!important}

.dashboard-shell{width:min(1380px,calc(100% - 36px));margin:35px auto 110px}.dashboard-head{padding:35px 8px;display:flex;align-items:end;justify-content:space-between;gap:20px}.dashboard-head h1{font:500 clamp(2.5rem,5vw,5rem)/1 'Playfair Display',serif;margin:10px 0}.admin-tabs{display:flex;gap:4px;overflow-x:auto;border-bottom:1px solid var(--line);margin-bottom:34px;scrollbar-width:thin}.admin-tabs a{white-space:nowrap;text-decoration:none;padding:13px 16px;color:#999;border-bottom:2px solid transparent;font-size:.84rem}.admin-tabs a.active,.admin-tabs a:hover{color:#fff;border-color:var(--accent)}.stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:35px}.stat-card{background:linear-gradient(145deg,#171a20,#101217);border:1px solid var(--line);border-radius:15px;padding:22px}.stat-card span{color:#8d8e94;font-size:.76rem;text-transform:uppercase;letter-spacing:.12em}.stat-card b{font:500 2.7rem 'Playfair Display',serif;display:block;color:var(--accent);margin-top:5px}.panel{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:25px;margin-bottom:24px;box-shadow:0 16px 50px rgba(0,0,0,.12)}.panel-head{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:20px}.panel h2,.panel h3{margin:0;font:500 1.75rem 'Playfair Display',serif}.data-table-wrap{overflow-x:auto}.data-table{width:100%;border-collapse:collapse;min-width:720px}.data-table th{text-align:left;color:#85868c;font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;padding:11px 12px;border-bottom:1px solid var(--line)}.data-table td{padding:14px 12px;border-bottom:1px solid #252830;vertical-align:middle}.data-table tr:last-child td{border-bottom:0}.data-table a{color:var(--accent)}.table-actions{display:flex;gap:7px;align-items:center}.table-actions form{margin:0}.mini-button{border:1px solid var(--line);background:#0e1014;color:#ddd;border-radius:8px;padding:7px 10px;text-decoration:none;font-size:.76rem;cursor:pointer}.mini-button:hover{border-color:var(--accent)}.mini-danger{color:#f0a3aa;border-color:#5a2d33}.status-dot{display:inline-flex;align-items:center;gap:7px;font-size:.78rem}.status-dot::before{content:"";width:7px;height:7px;border-radius:50%;background:#777}.status-active::before,.status-published::before{background:var(--success)}.status-upcoming::before{background:var(--accent)}.status-ended::before,.status-suspended::before{background:var(--danger)}.dashboard-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.dashboard-grid.wide-left{grid-template-columns:1.45fr .75fr}.form-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:24px}.compact-form{display:grid;gap:10px}.inline-form{display:flex;gap:9px;align-items:center}.inline-form select{min-width:120px}.assignment-list{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.assignment-item{padding:12px;border:1px solid var(--line);border-radius:10px;background:#0d0f13}.settings-sections{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}.settings-sections .panel:last-child{grid-column:1/-1}.field-divider{margin:28px 0 18px;padding-top:22px;border-top:1px solid var(--line);color:var(--accent);font-size:.72rem;letter-spacing:.16em}.gallery-admin{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.admin-image-card{background:#0e1014;border:1px solid var(--line);border-radius:13px;overflow:hidden}.admin-image-card>img{width:100%;height:210px;object-fit:cover}.admin-image-body{padding:16px}.admin-image-actions{display:flex;flex-wrap:wrap;gap:7px;margin-top:12px}.upload-drop{border:1px dashed #4a4e58;border-radius:14px;padding:20px;background:#0d0f13}.upload-drop input[type=file]{padding:18px;border:1px dashed #464a53}.empty-page{min-height:70vh;display:grid;place-items:center;align-content:center;text-align:center;padding:40px}.empty-page h1{font:500 4rem 'Playfair Display',serif;margin:10px}.pagination{display:flex;gap:7px;margin-top:25px}.pagination a{padding:8px 12px;border:1px solid var(--line);text-decoration:none;border-radius:8px}.pagination a.active{background:var(--accent);color:#111}

@media(max-width:1050px){.exhibition-card,.exhibition-card:nth-child(3n),.exhibition-card:nth-child(3n+1):not(:first-child){grid-column:span 6}.stat-grid{grid-template-columns:repeat(2,1fr)}.gallery-admin{grid-template-columns:repeat(2,1fr)}.settings-sections{grid-template-columns:1fr}.settings-sections .panel:last-child{grid-column:auto}}
@media(max-width:820px){.site-header{height:72px}.nav-toggle{display:block}.main-nav{position:absolute;top:71px;left:0;right:0;padding:18px 24px 28px;background:#0b0c10;border-bottom:1px solid var(--line);flex-direction:column;align-items:stretch;gap:7px;transform:translateY(-130%);opacity:0;transition:.3s;z-index:-1}.main-nav.open{transform:none;opacity:1}.main-nav>a,.nav-link{display:block;width:100%;padding:11px}.hero{min-height:calc(100svh - 72px)}.hero-content{padding-top:100px}.slide-credit{bottom:25px}.scroll-cue{display:none}.section-head{align-items:start;flex-direction:column}.exhibition-card,.exhibition-card:nth-child(3n),.exhibition-card:nth-child(3n+1):not(:first-child){grid-column:1/-1;min-height:420px}.split-callout{grid-template-columns:1fr}.callout-visual{min-height:420px}.site-footer{grid-template-columns:1fr}.footer-copy{text-align:left}.auth-shell{grid-template-columns:1fr}.auth-art{min-height:320px;padding:50px 25px}.auth-art h1{font-size:3.6rem}.auth-panel{padding:55px 24px}.photo-detail{grid-template-columns:1fr;gap:20px}.dashboard-grid,.dashboard-grid.wide-left{grid-template-columns:1fr}.dashboard-head{align-items:start;flex-direction:column}.assignment-list{grid-template-columns:1fr}}
@media(max-width:580px){.brand{font-size:.65rem}.brand-mark{width:31px;height:31px}.hero-content{padding-left:22px;padding-right:22px}.display-title{font-size:3.4rem}.hero-actions .button{width:100%}.slide-credit{display:none}.section{padding-left:20px;padding-right:20px}.exhibition-card{min-height:390px}.gallery{columns:1}.gallery-caption{opacity:1;transform:none}.form-row{grid-template-columns:1fr}.stat-grid{grid-template-columns:1fr 1fr}.stat-card{padding:17px}.stat-card b{font-size:2rem}.panel{padding:18px}.gallery-admin{grid-template-columns:1fr}.photo-stage{min-height:58vh;padding:60px 10px 20px}.photo-stage img{max-height:60vh}.photo-detail{width:calc(100% - 32px)}.comment{grid-template-columns:38px 1fr}.comment>form{grid-column:2}.inline-form{align-items:stretch;flex-direction:column}.assignment-list{grid-template-columns:1fr}.dashboard-shell{width:calc(100% - 22px)}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}}

/* Full-frame homepage slider: preserve the complete photograph without cropping. */
.hero-slides{background:#050608}
.hero-slide{overflow:hidden}
.hero-slide .hero-slide-backdrop{position:absolute;inset:-5%;width:110%;height:110%;object-fit:cover;filter:blur(30px) saturate(.72) brightness(.46);transform:scale(1.06)}
.hero-slide .hero-slide-image{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;object-position:center;filter:saturate(.9) contrast(1.03);z-index:1}
.hero-slide::after{z-index:2}

/* Circular previous/next navigation inside an exhibition. */
.photo-nav-arrow{position:absolute;top:50%;z-index:5;width:58px;height:58px;border:1px solid rgba(255,255,255,.42);border-radius:50%;display:grid;place-items:center;background:rgba(6,7,9,.62);color:#fff;text-decoration:none;font:300 2.7rem/1 Arial,sans-serif;backdrop-filter:blur(12px);transform:translateY(-50%);transition:background .22s,border-color .22s,color .22s,transform .22s}
.photo-nav-arrow:hover,.photo-nav-arrow:focus-visible{background:var(--accent);border-color:var(--accent);color:#111;transform:translateY(-50%) scale(1.08);outline:none}
.photo-nav-previous{left:clamp(10px,2.2vw,34px)}
.photo-nav-next{right:clamp(10px,2.2vw,34px)}
.photo-position{position:absolute;left:50%;bottom:16px;z-index:4;transform:translateX(-50%);padding:6px 11px;border:1px solid rgba(255,255,255,.22);border-radius:999px;background:rgba(6,7,9,.62);color:#ddd;font-size:.72rem;letter-spacing:.12em;backdrop-filter:blur(10px)}
.photo-slideshow-toggle{position:absolute;right:clamp(18px,4vw,60px);top:26px;z-index:6;min-width:145px;display:inline-flex;align-items:center;justify-content:center;gap:9px;padding:10px 16px;border:1px solid rgba(214,168,95,.58);border-radius:999px;background:rgba(8,9,12,.82);color:var(--accent-soft);font-size:.76rem;font-weight:700;cursor:pointer;box-shadow:0 10px 32px rgba(0,0,0,.34);backdrop-filter:blur(12px);overflow:hidden;transition:background .22s,border-color .22s,color .22s,transform .22s}.photo-slideshow-toggle:hover,.photo-slideshow-toggle:focus-visible{background:var(--accent);border-color:var(--accent);color:#111;transform:translateY(-1px);outline:none}.photo-slideshow-toggle.is-active{border-color:#e78c82;color:#ffd7d2;background:rgba(69,23,23,.86)}.photo-slideshow-toggle::after{content:"";position:absolute;left:0;bottom:0;width:0;height:2px;background:currentColor}.photo-slideshow-toggle.is-active.is-counting::after{animation:photoSlideshowProgress 6s linear forwards}@keyframes photoSlideshowProgress{from{width:0}to{width:100%}}
@media(max-width:580px){.photo-nav-arrow{width:45px;height:45px;font-size:2.15rem}.photo-nav-previous{left:7px}.photo-nav-next{right:7px}.photo-position{bottom:8px}.photo-slideshow-toggle{top:72px;right:8px;min-width:125px;padding:8px 12px;font-size:.68rem}}

.public-view-count{padding:8px clamp(22px,7vw,110px);background:#07080a;color:#676a70;text-align:right;font-size:.66rem;letter-spacing:.08em;border-top:1px solid #17191e}.analytics-notice{display:block;max-width:520px;color:#666a70;font-size:.67rem;line-height:1.55;margin-top:16px}.contact-grid{display:grid;grid-template-columns:.78fr 1.22fr;gap:28px}.contact-details{display:grid;gap:14px;margin-top:30px}.contact-detail{padding:18px;border:1px solid var(--line);border-radius:13px;background:#0e1014}.contact-detail span{display:block;color:#777;font-size:.7rem;letter-spacing:.12em;text-transform:uppercase}.contact-detail a,.contact-detail b{display:block;color:var(--text);text-decoration:none;margin-top:4px}.about-copy{font-size:clamp(1.05rem,1.7vw,1.28rem);line-height:1.95;color:#c8c7c3;white-space:pre-line;max-width:900px}.captcha-question{padding:13px 15px;border:1px solid rgba(214,168,95,.4);background:rgba(214,168,95,.08);border-radius:11px;color:var(--accent-soft)}@media(max-width:820px){.contact-grid{grid-template-columns:1fr}}
.analytics-breakdowns{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.breakdown-row{display:flex;justify-content:space-between;gap:15px;padding:9px 0;border-bottom:1px solid var(--line)}.breakdown-row:last-child{border-bottom:0}.breakdown-row span{color:#bbb}.breakdown-row b{color:var(--accent)}@media(max-width:820px){.analytics-breakdowns{grid-template-columns:1fr}}
.image-public-views{width:min(1100px,calc(100% - 44px));margin:-22px auto 0;color:#62656b;text-align:right;font-size:.64rem;letter-spacing:.09em}.inline-form input{border:1px solid var(--line);border-radius:9px;background:#0e1014;color:#f7f5ef;padding:8px 10px}.inline-form label{color:#999;font-size:.76rem}.vote-schedule{display:grid;grid-template-columns:auto 1fr;gap:4px 14px;padding:14px 16px;border:1px solid rgba(214,168,95,.28);border-radius:12px;background:rgba(214,168,95,.06);font-size:.78rem}.vote-schedule span{color:#8d8f95}.vote-schedule b{color:var(--accent-soft);text-align:right}.vote-schedule small{grid-column:1/-1;color:#777;text-align:right;margin-top:4px}

/* Secure photographer contributor portal and public author profiles. */
.management-section{margin-top:64px;scroll-margin-top:30px}.contributor-hero{background:radial-gradient(circle at 82% 12%,#45351f,transparent 28%),radial-gradient(circle at 14% 90%,#172c39,transparent 28%),var(--bg-soft)}.contributor-shell{padding-top:45px}.contributor-avatar-preview{width:112px;height:112px;object-fit:cover;border-radius:50%;border:2px solid var(--accent);margin:18px 0;box-shadow:0 14px 35px #0008}.contributor-steps{padding-left:21px;color:#c7c5c0}.contributor-steps li{padding:7px 0}.contributor-list-head{margin-top:55px}.contributor-edit{margin-top:14px}.contributor-submissions .admin-image-card>img{height:260px;object-fit:contain;background:#07080a}.copy-field{display:flex;align-items:center;gap:7px;min-width:390px}.copy-field input{min-width:300px;flex:1;border:1px solid var(--line);border-radius:8px;background:#090b0e;color:#9fa2a8;padding:8px}.contributor-links-table{min-width:1050px}.submission-review-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.submission-review-card{overflow:hidden;border:1px solid var(--line);border-radius:15px;background:var(--panel)}.submission-review-card>img{width:100%;height:270px;object-fit:contain;background:#050608}.submission-review-body{padding:19px}.submission-review-body h3{font:500 1.55rem 'Playfair Display',serif;margin:12px 0 4px}.submission-review-body>p{color:#b8b7b3;white-space:pre-line}.author-preview-inline{border:0;background:none;color:var(--accent);padding:0;text-align:left;font-size:.78rem}.author-profile-trigger{border:0;background:none;padding:0;cursor:pointer;text-align:left}.author-profile-trigger span{margin-left:8px;padding:4px 7px;border:1px solid rgba(214,168,95,.35);border-radius:999px;color:#a98a5a;font:600 .58rem 'DM Sans',sans-serif;letter-spacing:.09em}.author-profile-trigger:hover{color:var(--accent-soft)}.author-modal{width:min(900px,calc(100% - 30px));max-width:900px;border:1px solid #353943;border-radius:22px;padding:0;background:#0d0f14;color:var(--text);box-shadow:0 35px 110px #000}.author-modal::backdrop{background:rgba(2,3,5,.86);backdrop-filter:blur(8px)}.author-modal-close{position:absolute;right:16px;top:14px;z-index:2;width:42px;height:42px;border:1px solid #444955;border-radius:50%;background:#0a0c10;color:#fff;font-size:1.5rem;cursor:pointer}.author-modal-layout{display:grid;grid-template-columns:.8fr 1.2fr;min-height:520px}.author-modal-portrait{min-height:420px;background:radial-gradient(circle at 50% 35%,#4a3a24,transparent 35%),#090a0d;display:grid;place-items:center;overflow:hidden}.author-modal-portrait img{width:100%;height:100%;object-fit:cover}.author-modal-portrait span{font:500 10rem 'Playfair Display',serif;color:var(--accent)}.author-modal-copy{padding:70px 48px;align-self:center}.author-modal-copy h2{font:500 clamp(2.3rem,5vw,4rem)/1 'Playfair Display',serif;margin:15px 0 25px}.author-biography{color:#c4c3bf;line-height:1.85}.author-contact-links{display:flex;flex-wrap:wrap;gap:9px;margin-top:28px}.author-contact-links a{border:1px solid #3c4049;border-radius:999px;padding:8px 12px;color:var(--accent-soft);text-decoration:none;font-size:.78rem}.author-contact-links a:hover{border-color:var(--accent)}
@media(max-width:1050px){.submission-review-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:700px){.submission-review-grid{grid-template-columns:1fr}.author-modal-layout{grid-template-columns:1fr}.author-modal-portrait{min-height:270px;height:270px}.author-modal-copy{padding:38px 24px}.copy-field{min-width:330px}.copy-field input{min-width:230px}.contributor-submissions .admin-image-card>img{height:220px}}
.author-contact-links a{max-width:100%;overflow-wrap:anywhere}
.author-admin-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.author-admin-card{display:grid;grid-template-columns:150px 1fr;gap:22px}.author-admin-card>img,.author-admin-placeholder{width:150px;height:150px;border-radius:50%;object-fit:cover}.author-admin-placeholder{display:grid;place-items:center;background:#0b0d11;color:var(--accent);font:500 4rem 'Playfair Display',serif;border:1px solid var(--line)}.author-admin-card p{color:#b9b8b4;white-space:pre-line}.author-admin-card dl{display:grid;grid-template-columns:120px 1fr;gap:6px 12px;font-size:.78rem}.author-admin-card dt{color:#777}.author-admin-card dd{margin:0;color:#d2d0ca;overflow-wrap:anywhere}@media(max-width:950px){.author-admin-grid{grid-template-columns:1fr}}@media(max-width:580px){.author-admin-card{grid-template-columns:1fr}.author-admin-card>img,.author-admin-placeholder{width:110px;height:110px}.author-admin-card dl{grid-template-columns:95px 1fr}}

/* Dedicated, non-overlay homepage advertisement bands */
.home-advertisements{padding:clamp(30px,4vw,54px) clamp(22px,7vw,110px);background:#0c0e12;border-top:1px solid #20232a;border-bottom:1px solid #20232a}.home-advertisement-heading{display:flex;align-items:center;gap:14px;width:min(1320px,100%);margin:0 auto 16px;color:#7f8188;font-size:.64rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase}.home-advertisement-heading i{height:1px;flex:1;background:linear-gradient(90deg,#30333b,transparent)}.home-advertisement-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;width:min(1320px,100%);margin:0 auto}.home-advertisement-grid.single{grid-template-columns:minmax(0,1120px);justify-content:center}.home-advertisement{display:flex;flex-direction:column;min-width:0;background:#11141a;border:1px solid #2a2d35;border-radius:14px;overflow:hidden;text-decoration:none;box-shadow:0 16px 45px rgba(0,0,0,.18);transition:border-color .25s,transform .25s}.home-advertisement[href]:hover{border-color:#555a65;transform:translateY(-2px)}.home-advertisement img{width:100%;height:auto;max-height:300px;object-fit:contain;background:#08090c}.home-advertisement-copy{display:grid;grid-template-columns:1fr auto;align-items:center;column-gap:18px;padding:13px 16px}.home-advertisement-copy small{grid-column:1/-1;color:#7f8188;font-size:.63rem;letter-spacing:.14em;text-transform:uppercase}.home-advertisement-copy b{font-size:.86rem;font-weight:600;color:#e5e2db}.home-advertisement-copy i{font-style:normal;color:var(--accent);font-size:.7rem;white-space:nowrap}.advertisement-list-head{margin:42px 4px 20px}.advertisement-admin-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.advertisement-admin-card{min-width:0}.advertisement-admin-card>img{width:100%;height:220px;object-fit:contain;background:#090b0f;border:1px solid #252831;border-radius:12px;margin-bottom:20px}.advertisement-admin-card .panel-head h3{margin-top:7px}.advertisement-delete-form{margin-top:14px;padding-top:14px;border-top:1px solid var(--line)}
@media(max-width:900px){.home-advertisement-grid,.advertisement-admin-grid{grid-template-columns:1fr}.home-advertisement img{max-height:260px}}
@media(max-width:580px){.home-advertisements{padding-top:25px;padding-bottom:25px}.home-advertisement-copy{grid-template-columns:1fr}.home-advertisement-copy i{margin-top:5px}.advertisement-admin-card>img{height:170px}}

/* Organizer acquisition page and consented hosting requests */
.host-nav-link{color:var(--accent-soft)!important}.hosting-hero{min-height:690px;padding:clamp(70px,10vw,135px) clamp(22px,7vw,110px);display:grid;grid-template-columns:minmax(0,1.35fr) minmax(330px,.65fr);align-items:center;gap:clamp(40px,8vw,120px);background:radial-gradient(circle at 78% 22%,rgba(214,168,95,.18),transparent 25%),radial-gradient(circle at 15% 90%,#152630,transparent 30%),linear-gradient(135deg,#08090c,#111318);border-bottom:1px solid var(--line);position:relative;overflow:hidden}.hosting-hero::after{content:"";position:absolute;width:420px;height:560px;right:-190px;bottom:-270px;border:1px solid rgba(214,168,95,.27);transform:rotate(24deg);pointer-events:none}.hosting-hero-copy{position:relative;z-index:1}.hosting-hero-copy h1{font:500 clamp(3.6rem,7.2vw,8rem)/.88 'Playfair Display',serif;letter-spacing:-.055em;margin:22px 0 30px;max-width:970px}.hosting-hero-copy>p{max-width:760px;color:#c4c3bf;font-size:clamp(1.05rem,1.5vw,1.28rem);line-height:1.85}.hosting-hero-actions{display:flex;gap:13px;flex-wrap:wrap;margin:34px 0 25px}.hosting-hero-copy>small{color:#777b83;font-size:.72rem;letter-spacing:.09em}.hosting-price-card{position:relative;z-index:1;padding:clamp(28px,4vw,48px);border:1px solid rgba(214,168,95,.43);border-radius:26px;background:linear-gradient(150deg,rgba(29,31,37,.96),rgba(13,15,19,.96));box-shadow:0 35px 100px #0008}.hosting-price-card>span{display:block;color:var(--accent);font-size:.68rem;font-weight:700;letter-spacing:.2em}.hosting-price-card>b{display:block;font:500 clamp(3rem,5vw,5rem)/1 'Playfair Display',serif;color:#fff;margin:25px 0 5px}.hosting-price-card>strong{color:var(--accent-soft);font-size:.85rem}.hosting-price-card>p{color:#9fa1a8;font-size:.85rem;line-height:1.75;margin:26px 0}.hosting-price-card>a{color:var(--accent);text-decoration:none;font-weight:700}.hosting-trust-strip{padding:19px clamp(22px,7vw,110px);display:grid;grid-template-columns:repeat(4,1fr);gap:15px;background:#ede9df;color:#2a2a2a;text-align:center;font-size:.71rem;font-weight:700;letter-spacing:.11em;text-transform:uppercase}.hosting-trust-strip span+span{border-left:1px solid #c9c3b6}.hosting-section,.hosting-flow-section{padding:clamp(75px,9vw,125px) clamp(22px,7vw,110px)}.hosting-section{background:radial-gradient(circle at 95% 10%,#1d1912,transparent 25%),var(--bg)}.hosting-section-head{display:grid;grid-template-columns:1.3fr .7fr;gap:clamp(30px,7vw,100px);align-items:end;margin-bottom:55px}.hosting-section-head h2{font:500 clamp(2.8rem,5vw,5.6rem)/.98 'Playfair Display',serif;letter-spacing:-.04em;margin:14px 0 0;max-width:930px}.hosting-section-head>p{color:var(--muted);font-size:1rem;line-height:1.85}.hosting-feature-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--line);border-left:1px solid var(--line)}.hosting-feature-grid article{min-height:285px;padding:32px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:linear-gradient(145deg,rgba(21,24,30,.72),rgba(10,12,16,.7));transition:background .3s}.hosting-feature-grid article:hover{background:#171a20}.hosting-feature-grid article>span{color:var(--accent);font-size:.66rem;letter-spacing:.16em}.hosting-feature-grid h3{font:500 1.65rem 'Playfair Display',serif;margin:45px 0 13px}.hosting-feature-grid p{color:#9fa0a5;font-size:.87rem;line-height:1.75;margin:0}.hosting-flow-section{background:#ece8df;color:#18191c}.hosting-flow-section .eyebrow{color:#8d6327}.hosting-flow{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid #c9c4ba}.hosting-flow li{padding:30px 25px 0 0;display:flex;gap:18px}.hosting-flow li+li{padding-left:25px;border-left:1px solid #c9c4ba}.hosting-flow li>b{color:#936929;font-size:.7rem;letter-spacing:.15em}.hosting-flow h3{font:500 1.5rem 'Playfair Display',serif;margin:0 0 10px}.hosting-flow p{color:#5c5c5b;font-size:.86rem;line-height:1.7}.hosting-request-wrap{padding:clamp(75px,10vw,135px) clamp(22px,7vw,110px);display:grid;grid-template-columns:minmax(280px,.72fr) minmax(0,1.28fr);gap:clamp(35px,7vw,100px);align-items:start;background:radial-gradient(circle at 0 0,#19252c,transparent 25%),#090a0d}.hosting-request-intro{position:sticky;top:28px}.hosting-request-intro h2{font:500 clamp(2.7rem,5vw,5.2rem)/.98 'Playfair Display',serif;margin:16px 0 25px}.hosting-request-intro>p{color:#aaa;line-height:1.85}.hosting-request-intro ul{padding-left:20px;color:#a9aaae;font-size:.86rem}.hosting-request-intro li{padding:6px 0}.hosting-fee-summary{margin:32px 0;padding:24px;border:1px solid rgba(214,168,95,.35);border-radius:15px;background:rgba(214,168,95,.06)}.hosting-fee-summary small,.hosting-fee-summary span{display:block;color:#8e9096}.hosting-fee-summary b{display:block;font:500 2.6rem 'Playfair Display',serif;color:var(--accent-soft);margin:5px 0}.hosting-request-form{padding:clamp(24px,4vw,44px)}.form-kicker{margin:8px 0 23px;padding-bottom:12px;border-bottom:1px solid var(--line);color:var(--accent);font-size:.68rem;font-weight:700;letter-spacing:.18em}.form-kicker:not(:first-of-type){margin-top:35px}.field label span{color:#777;font-size:.7rem}.hosting-option-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:22px}.hosting-option-grid .check{padding:15px;border:1px solid var(--line);border-radius:12px;background:#0e1014}.hosting-terms-box{margin-top:30px;border:1px solid #3b3f48;border-radius:15px;overflow:hidden;background:#0d0f13}.hosting-terms-box>div:first-child{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:15px 18px;border-bottom:1px solid #30333b}.hosting-terms-box>div:first-child b{color:#777;font:500 .65rem monospace}.hosting-terms-content{max-height:390px;overflow:auto;padding:22px;color:#b9b8b4;font-size:.8rem;line-height:1.75;scrollbar-color:#545862 #15171c}.hosting-consent{display:flex;align-items:flex-start;gap:13px;margin:20px 0;padding:18px;border:1px solid rgba(214,168,95,.4);border-radius:13px;background:rgba(214,168,95,.07);color:#dedbd4;font-size:.84rem;line-height:1.65}.hosting-consent input{margin-top:5px;flex:0 0 auto}.hosting-submit{width:100%;margin-top:4px}.hosting-submit:disabled{opacity:.45;cursor:not-allowed}.hosting-form-note{display:block;color:#6f7279;text-align:center;font-size:.68rem;margin-top:12px}.website-field{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}.organizer-home-cta{padding:clamp(60px,8vw,105px) clamp(22px,7vw,110px);display:grid;grid-template-columns:1.3fr .7fr;gap:50px;align-items:center;background:radial-gradient(circle at 85% 10%,rgba(214,168,95,.15),transparent 30%),#101218;border-top:1px solid var(--line)}.organizer-home-cta h2{font:500 clamp(2.5rem,5vw,5rem)/.98 'Playfair Display',serif;margin:15px 0}.organizer-home-cta p{max-width:760px;color:#a7a8ad}.organizer-home-offer{justify-self:end;display:flex;flex-direction:column;align-items:flex-end}.organizer-home-offer small{color:#777;letter-spacing:.1em;text-transform:uppercase}.organizer-home-offer>b{font:500 3rem 'Playfair Display',serif;color:var(--accent-soft);margin:4px 0 18px}.hosting-admin-list{display:grid;gap:24px}.hosting-admin-card{padding:30px}.hosting-admin-badges{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.hosting-admin-summary{display:grid;grid-template-columns:1fr 1fr;gap:25px}.hosting-admin-summary dl{display:grid;grid-template-columns:135px 1fr;gap:7px 15px;margin:0}.hosting-admin-summary dt{color:#777;font-size:.76rem}.hosting-admin-summary dd{margin:0;color:#d0cec8;overflow-wrap:anywhere}.hosting-admin-summary dd a{color:var(--accent)}.hosting-admin-notes{padding:18px;border:1px solid var(--line);border-radius:12px;background:#0d0f13}.hosting-admin-notes p{color:#b5b4b0;white-space:normal;margin-bottom:0}.hosting-consent-record{margin-top:24px;border:1px solid var(--line);border-radius:12px;background:#0d0f13}.hosting-consent-record>summary{padding:14px 17px;cursor:pointer;color:var(--accent-soft)}.hosting-consent-meta{padding:17px;display:grid;grid-template-columns:repeat(2,1fr);gap:12px;border-top:1px solid var(--line)}.hosting-consent-meta span{color:#aaa;font-size:.75rem;overflow-wrap:anywhere}.hosting-consent-meta b{display:block;color:#777;font-size:.65rem;text-transform:uppercase;letter-spacing:.1em}.hosting-consent-meta code{font-size:.68rem}.hosting-consent-record .admin-terms{max-height:330px;border-top:1px solid var(--line)}.hosting-admin-update{display:grid;grid-template-columns:220px 1fr auto;gap:14px;align-items:end;margin-top:22px}.hosting-admin-update .field{margin:0}.hosting-admin-update textarea{min-height:90px}.hosting-admin-delete{margin-top:15px;text-align:right}.hosting-settings-panel{grid-column:1/-1}
@media(min-width:821px) and (max-width:1250px){.site-header{padding-left:24px;padding-right:24px}.main-nav{gap:14px}.main-nav>a,.nav-link{font-size:.74rem}.host-nav-link{max-width:145px;line-height:1.2;text-align:center}}
@media(max-width:1050px){.hosting-feature-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.hosting-flow{grid-template-columns:repeat(2,1fr);gap:28px}.hosting-flow li:nth-child(3){border-left:0;padding-left:0}.hosting-admin-update{grid-template-columns:1fr 1fr}.hosting-admin-update button{grid-column:1/-1;justify-self:start}}
@media(max-width:820px){.hosting-hero,.hosting-request-wrap,.hosting-section-head,.organizer-home-cta{grid-template-columns:1fr}.hosting-hero{min-height:auto}.hosting-price-card{max-width:600px}.hosting-trust-strip{grid-template-columns:1fr 1fr}.hosting-trust-strip span+span{border-left:0}.hosting-trust-strip span:nth-child(even){border-left:1px solid #c9c3b6}.hosting-request-intro{position:static}.organizer-home-offer{justify-self:start;align-items:flex-start}.hosting-admin-summary{grid-template-columns:1fr}.hosting-settings-panel{grid-column:auto}}
@media(max-width:580px){.hosting-hero-copy h1{font-size:3.5rem}.hosting-hero-actions .button{width:100%}.hosting-trust-strip{grid-template-columns:1fr;text-align:left}.hosting-trust-strip span,.hosting-trust-strip span:nth-child(even){border-left:0;padding:5px 0}.hosting-feature-grid,.hosting-flow,.hosting-option-grid,.hosting-consent-meta{grid-template-columns:1fr}.hosting-feature-grid article{min-height:245px}.hosting-flow li,.hosting-flow li+li,.hosting-flow li:nth-child(3){border-left:0;padding:20px 0;border-top:1px solid #c9c4ba}.hosting-terms-box>div:first-child{align-items:flex-start;flex-direction:column}.hosting-admin-card{padding:18px}.hosting-admin-card .panel-head{align-items:flex-start;flex-direction:column}.hosting-admin-summary dl{grid-template-columns:1fr;gap:3px}.hosting-admin-summary dd{margin-bottom:8px}.hosting-admin-update{grid-template-columns:1fr}}

/* Museum-style framing for photographs on the individual image page. */
.photo-stage{background:radial-gradient(circle at 50% 35%,rgba(72,64,52,.2),transparent 42%),linear-gradient(180deg,#101113,#07080a)}
.virtual-photo-frame{display:inline-block;max-width:100%;padding:clamp(8px,1.1vw,15px);background:linear-gradient(135deg,#130f0b 0%,#4b3622 18%,#120e0a 38%,#61472d 53%,#17110c 72%,#392819 100%);border:1px solid #8d693e;box-shadow:0 38px 110px rgba(0,0,0,.9),inset 0 0 0 2px #070605,inset 0 0 0 4px rgba(220,172,95,.28);position:relative}
.virtual-photo-frame::after{content:"";position:absolute;inset:clamp(5px,.7vw,10px);border:1px solid rgba(241,200,126,.38);pointer-events:none}
.virtual-photo-mat{padding:clamp(15px,2.4vw,36px);background:linear-gradient(145deg,#eee9df,#d8d0c1);box-shadow:inset 0 0 0 1px #b5aa98,0 0 18px rgba(0,0,0,.5)}
.virtual-photo-opening{display:flex;align-items:center;justify-content:center;padding:clamp(3px,.45vw,7px);background:#050505;box-shadow:inset 0 0 18px #000,0 2px 6px rgba(0,0,0,.65)}
.photo-stage .virtual-photo-opening img{display:block;width:auto;height:auto;max-width:calc(100vw - 180px);max-height:calc(78vh - 110px);object-fit:contain;box-shadow:0 8px 24px rgba(0,0,0,.48);cursor:zoom-in}
@media(max-width:820px){.photo-stage .virtual-photo-opening img{max-width:calc(100vw - 105px);max-height:calc(72vh - 85px)}}
@media(max-width:580px){.virtual-photo-frame{padding:6px}.virtual-photo-mat{padding:13px}.virtual-photo-opening{padding:3px}.photo-stage .virtual-photo-opening img{max-width:calc(100vw - 64px);max-height:calc(60vh - 45px)}}

/* Secure competition-to-exhibition workflow */
.competition-import-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:24px}.competition-import-summary article{padding:22px;border:1px solid var(--line);border-radius:15px;background:#11141a}.competition-import-summary span{display:block;color:#74777e;font-size:.66rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;margin-bottom:12px}.competition-import-summary b,.competition-import-summary small{display:block}.competition-import-summary b{color:var(--accent-soft)}.competition-import-summary small{color:#92949b;margin-top:6px}.competition-manifest{margin-top:24px}.manifest-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.manifest-grid article{border:1px solid var(--line);border-radius:14px;overflow:hidden;background:#0d0f13}.manifest-grid img{width:100%;height:240px;object-fit:contain;background:#050608}.manifest-grid article>div{padding:17px}.manifest-grid span{color:var(--accent);font-size:.66rem;letter-spacing:.1em;text-transform:uppercase}.manifest-grid h3{font:500 1.45rem 'Playfair Display',serif;margin:8px 0 4px}.manifest-grid p{color:#92949a;font-size:.75rem;margin:0}
@media(max-width:950px){.manifest-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:700px){.competition-import-summary,.manifest-grid{grid-template-columns:1fr}.manifest-grid img{height:220px}}

/* Refined primary navigation and prominent registration call to action. */
.site-header{position:sticky;top:0;background:linear-gradient(180deg,rgba(8,9,12,.97),rgba(8,9,12,.91));border-bottom-color:rgba(255,255,255,.08);box-shadow:0 14px 42px rgba(0,0,0,.3);backdrop-filter:blur(18px) saturate(135%);-webkit-backdrop-filter:blur(18px) saturate(135%)}
.main-nav{gap:clamp(14px,1.55vw,25px)}
.nav-item-link{position:relative;white-space:nowrap;transition:color .22s ease}
.nav-item-link::after{content:"";position:absolute;left:0;right:100%;bottom:-9px;height:1px;background:var(--accent);transition:right .24s ease}
.nav-item-link:hover::after,.nav-item-link:focus-visible::after,.nav-item-link.nav-active::after{right:0}
.nav-item-link.nav-active{color:var(--accent-soft)!important}
.competition-nav-link{display:inline-flex;align-items:center;gap:5px}
.competition-nav-link i,.join-nav-link i{font-style:normal;transition:transform .22s ease}
.competition-nav-link:hover i,.competition-nav-link:focus-visible i{transform:translate(2px,-2px)}
.host-nav-link{color:var(--accent-soft)!important}
.nav-divider{width:1px;height:22px;flex:0 0 1px;background:linear-gradient(transparent,rgba(255,255,255,.35),transparent)}
.dashboard-nav-link{font-weight:700}
.login-nav-link{color:#f1efe9!important}
.join-nav-link{position:relative;isolation:isolate;display:inline-flex!important;align-items:center;justify-content:center;gap:9px;min-width:92px;padding:10px 18px!important;overflow:hidden;border:1px solid #f0c578!important;border-radius:999px!important;background:linear-gradient(135deg,#f1c97e 0%,#d6a85f 54%,#b77b29 100%)!important;color:#15100a!important;box-shadow:0 8px 28px rgba(214,168,95,.3),inset 0 1px rgba(255,255,255,.42);font-weight:800!important;letter-spacing:.09em!important;transition:transform .22s ease,box-shadow .22s ease!important}
.join-nav-link::before{content:"";position:absolute;z-index:-1;top:-100%;left:-55%;width:35%;height:300%;background:rgba(255,255,255,.45);transform:rotate(24deg);transition:left .5s ease}
.join-nav-link:hover,.join-nav-link:focus-visible{transform:translateY(-2px);box-shadow:0 13px 35px rgba(214,168,95,.46),inset 0 1px rgba(255,255,255,.48)}
.join-nav-link:hover::before,.join-nav-link:focus-visible::before{left:125%}
.join-nav-link:hover i,.join-nav-link:focus-visible i{transform:translateX(3px)}
.join-nav-link[aria-current="page"]{outline:2px solid rgba(255,255,255,.8);outline-offset:3px}
.main-nav a:focus-visible,.main-nav button:focus-visible{outline:2px solid var(--accent);outline-offset:5px}
@media(min-width:821px) and (max-width:1250px){.main-nav{gap:11px}.main-nav>a,.main-nav .nav-link{font-size:.7rem}.host-nav-link{max-width:none}.join-nav-link{min-width:82px;padding-left:14px!important;padding-right:14px!important}}
@media(max-width:820px){.site-header{background:rgba(8,9,12,.97)}.main-nav{gap:0;padding:18px 24px 25px;background:radial-gradient(circle at 100% 0,rgba(214,168,95,.12),transparent 34%),rgba(8,9,12,.98);box-shadow:0 28px 60px rgba(0,0,0,.58)}.main-nav>a,.main-nav .nav-link{width:100%;padding:13px 4px;border-bottom:1px solid rgba(255,255,255,.07)}.nav-item-link::after{display:none}.competition-nav-link{justify-content:space-between}.nav-divider{width:100%;height:1px;flex-basis:1px;margin:8px 0;background:linear-gradient(90deg,rgba(214,168,95,.5),transparent)}.nav-form{width:100%}.join-nav-link{width:100%!important;margin-top:13px;padding:14px 18px!important;border-bottom:1px solid #f0c578!important}.join-nav-link span{flex:0 0 auto}}

/* Shared-hosting archive and storage cleanup. */
.storage-cleanup-list{display:grid;gap:22px}.storage-cleanup-card{padding:clamp(22px,3vw,34px)}.storage-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:24px 0}.storage-metrics span{padding:16px;border:1px solid var(--line);border-radius:12px;background:#0d0f13;color:#878a91;font-size:.72rem;text-transform:uppercase;letter-spacing:.08em}.storage-metrics b{display:block;color:var(--accent-soft);font:500 1.6rem 'Playfair Display',serif;letter-spacing:0;text-transform:none}.storage-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.storage-actions form{margin:0}.compact-confirm{display:grid;grid-template-columns:minmax(240px,1fr) auto;align-items:end;gap:14px;margin-top:22px}.compact-confirm .field{margin:0}.compact-confirm small,.compact-confirm p{grid-column:1/-1;margin:0;color:#8c8f96}.storage-delete-record{margin-top:20px;border-top:1px solid var(--line);padding-top:18px}.storage-delete-record>summary{cursor:pointer;color:#a96a70;font-size:.78rem;font-weight:700}.storage-delete-record .danger-zone{margin-top:15px}@media(max-width:700px){.storage-metrics,.compact-confirm{grid-template-columns:1fr}.compact-confirm button{width:100%}}
/* Guided dashboards and audited support sessions. */
.support-session-banner{position:sticky;top:82px;z-index:109;display:flex;justify-content:center;align-items:center;gap:22px;padding:10px clamp(18px,4vw,55px);background:#f0d39f;color:#171109;border-bottom:1px solid #9f7539;box-shadow:0 8px 24px rgba(0,0,0,.28)}.support-session-banner form{margin:0}.support-session-banner button{border:0;border-radius:999px;padding:8px 14px;background:#171109;color:#fff;font-weight:800;cursor:pointer}.dashboard-guide{margin-bottom:24px}.dashboard-guide-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px;margin-top:18px}.dashboard-guide-step{display:grid;grid-template-columns:38px 1fr;align-items:start;gap:12px;padding:14px;border:1px solid var(--line);border-radius:13px;background:#0d0f13;text-decoration:none;transition:.2s}.dashboard-guide-step:hover{border-color:var(--accent);background:#15130f;color:var(--text)}.dashboard-guide-step>span{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--accent);color:#15100a;font-weight:800}.dashboard-guide-step b,.dashboard-guide-step small{display:block}.dashboard-guide-step small{color:#92949b;line-height:1.45;margin-top:4px}
@media(max-width:820px){.support-session-banner{top:72px;align-items:stretch;flex-direction:column;gap:7px}.support-session-banner button{width:100%}.dashboard-guide-grid{grid-template-columns:1fr}.data-table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}.dashboard-guide-step{padding:13px}}


/* Stable in-page Virtual Exhibition cross-fade.
   The real frame remains in the normal layout; only a decoded target frame is layered above it. */
.photo-transition-anchor{position:relative;display:grid;place-items:center;max-width:100%;isolation:isolate}
.photo-transition-anchor>.virtual-photo-frame{position:relative;z-index:1;opacity:1;transition:opacity 1.05s cubic-bezier(.4,0,.2,1);will-change:opacity}
.photo-transition-anchor>.virtual-photo-frame.is-photo-crossfade-out{opacity:0}
.photo-transition-layer{position:absolute!important;z-index:2!important;left:50%;top:50%;max-width:none!important;opacity:0;pointer-events:none;transform:translate(-50%,-50%);transition:opacity 1.05s cubic-bezier(.4,0,.2,1);will-change:opacity}
.photo-transition-layer.is-photo-crossfade-in{opacity:1}
.photo-stage.is-photo-loading .photo-nav-arrow{pointer-events:none}
.photo-stage.is-photo-loading .photo-nav-arrow:not(:hover){opacity:.72}
.photo-detail.is-photo-detail-refreshing,.comments-panel.is-photo-detail-refreshing,.image-public-views.is-photo-detail-refreshing{opacity:.72;transition:opacity .22s ease}
@media(prefers-reduced-motion:reduce){.photo-transition-anchor>.virtual-photo-frame,.photo-transition-layer{transition:none!important}}


/* Mobile alignment correction for the individual Virtual Exhibition photograph viewer.
   Keep the stage inside the current device viewport and center the real framed image
   below one compact control row. This intentionally overrides legacy 58vh/60vh rules. */
@media (max-width:820px){
  .page-image .photo-view{min-height:0}
  .page-image .photo-stage{
    box-sizing:border-box;
    width:100%;
    height:calc(100dvh - 72px);
    min-height:calc(100dvh - 72px);
    padding:60px 16px 48px;
    display:grid;
    place-items:center;
    overflow:hidden;
  }
  .page-image .photo-transition-anchor{
    width:100%;
    height:100%;
    min-width:0;
    min-height:0;
    display:flex;
    align-items:center;
    justify-content:center;
  }
  .page-image .photo-transition-anchor>.virtual-photo-frame,
  .page-image .photo-transition-layer{
    max-width:calc(100vw - 44px)!important;
    max-height:calc(100dvh - 180px)!important;
  }
  .page-image .photo-stage .virtual-photo-opening img{
    width:auto;
    height:auto;
    max-width:calc(100vw - 82px);
    max-height:calc(100dvh - 224px);
    object-fit:contain;
  }
  .page-image .photo-back{
    top:12px;
    left:max(8px,env(safe-area-inset-left));
    max-width:calc(100% - 160px);
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
    padding:8px 11px;
    font-size:.7rem;
  }
  .page-image .photo-slideshow-toggle{
    top:12px;
    right:max(8px,env(safe-area-inset-right));
    min-width:128px;
    padding:8px 11px;
    font-size:.68rem;
  }
  .page-image .photo-nav-arrow{top:50%;width:44px;height:44px;font-size:2.05rem}
  .page-image .photo-nav-previous{left:max(5px,env(safe-area-inset-left))}
  .page-image .photo-nav-next{right:max(5px,env(safe-area-inset-right))}
  .page-image .photo-position{bottom:max(9px,env(safe-area-inset-bottom))}
}

/* Phones in landscape can be wider than the normal mobile breakpoint.
   Size by the short viewport height so the framed photograph remains large and centered. */
@media (orientation:landscape) and (max-height:600px){
  .page-image .photo-view{min-height:0}
  .page-image .photo-stage{
    box-sizing:border-box;
    width:100%;
    height:calc(100dvh - 64px);
    min-height:calc(100dvh - 64px);
    padding:44px 64px 28px;
    display:grid;
    place-items:center;
    overflow:hidden;
  }
  .page-image .photo-transition-anchor{
    width:100%;
    height:100%;
    min-width:0;
    min-height:0;
    display:flex;
    align-items:center;
    justify-content:center;
  }
  .page-image .virtual-photo-frame{padding:5px}
  .page-image .virtual-photo-mat{padding:9px}
  .page-image .virtual-photo-opening{padding:2px}
  .page-image .photo-transition-anchor>.virtual-photo-frame,
  .page-image .photo-transition-layer{
    max-width:calc(100vw - 150px)!important;
    max-height:calc(100dvh - 104px)!important;
  }
  .page-image .photo-stage .virtual-photo-opening img{
    width:auto;
    height:auto;
    max-width:calc(100vw - 186px);
    max-height:calc(100dvh - 140px);
    object-fit:contain;
  }
  .page-image .photo-back{
    top:6px;
    left:max(8px,env(safe-area-inset-left));
    max-width:calc(100% - 150px);
    padding:6px 9px;
    font-size:.63rem;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
  }
  .page-image .photo-slideshow-toggle{
    top:6px;
    right:max(8px,env(safe-area-inset-right));
    min-width:118px;
    padding:6px 10px;
    font-size:.63rem;
  }
  .page-image .photo-nav-arrow{top:50%;width:40px;height:40px;font-size:1.9rem}
  .page-image .photo-nav-previous{left:max(8px,env(safe-area-inset-left))}
  .page-image .photo-nav-next{right:max(8px,env(safe-area-inset-right))}
  .page-image .photo-position{bottom:max(5px,env(safe-area-inset-bottom));padding:4px 9px;font-size:.64rem}
}

/* Small/short portrait phones: preserve centering without allowing controls to consume the image area. */
@media (orientation:portrait) and (max-height:700px) and (max-width:580px){
  .page-image .photo-stage{padding-top:54px;padding-bottom:42px}
  .page-image .photo-transition-anchor>.virtual-photo-frame,
  .page-image .photo-transition-layer{max-height:calc(100dvh - 166px)!important}
  .page-image .photo-stage .virtual-photo-opening img{max-height:calc(100dvh - 208px)}
}

/* Mobile Virtual Exhibition compact gallery layout.
   Portrait phones should not reserve a full-screen black stage for a landscape photograph.
   Keep the controls, framed photograph and navigation together as one compact gallery unit. */
@media (orientation:portrait) and (max-width:820px){
  .page-image .photo-stage{
    width:100%;
    height:auto;
    min-height:0;
    padding:12px 10px 18px;
    display:grid;
    grid-template-columns:auto minmax(0,1fr) auto;
    grid-template-rows:auto auto auto;
    grid-template-areas:
      "back spacer slideshow"
      "frame frame frame"
      "previous position next";
    align-items:center;
    column-gap:10px;
    row-gap:12px;
    overflow:visible;
  }
  .page-image .photo-back{
    grid-area:back;
    position:static;
    justify-self:start;
    align-self:center;
    max-width:min(46vw,170px);
    margin:0;
    padding:7px 10px;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
    font-size:.66rem;
    line-height:1.2;
  }
  .page-image .photo-slideshow-toggle{
    grid-area:slideshow;
    position:static;
    justify-self:end;
    align-self:center;
    min-width:118px;
    margin:0;
    padding:7px 10px;
    font-size:.64rem;
    line-height:1.2;
  }
  .page-image .photo-transition-anchor{
    grid-area:frame;
    position:relative;
    width:100%;
    height:auto;
    min-width:0;
    min-height:0;
    display:grid;
    place-items:center;
  }
  .page-image .photo-transition-anchor>.virtual-photo-frame,
  .page-image .photo-transition-layer{
    max-width:100%!important;
    max-height:none!important;
  }
  .page-image .photo-stage .virtual-photo-opening img{
    width:auto;
    height:auto;
    max-width:calc(100vw - 54px);
    max-height:calc(100dvh - 235px);
    object-fit:contain;
  }
  .page-image .photo-nav-arrow{
    position:static;
    top:auto;
    width:42px;
    height:42px;
    margin:0;
    transform:none;
    font-size:2rem;
  }
  .page-image .photo-nav-arrow:hover,
  .page-image .photo-nav-arrow:focus-visible{
    transform:scale(1.06);
  }
  .page-image .photo-nav-previous{grid-area:previous;justify-self:start}
  .page-image .photo-nav-next{grid-area:next;justify-self:end}
  .page-image .photo-position{
    grid-area:position;
    position:static;
    left:auto;
    bottom:auto;
    justify-self:center;
    margin:0;
    transform:none;
    padding:5px 10px;
    font-size:.66rem;
  }
}

/* Short portrait screens: keep the image usable without recreating a tall empty stage. */
@media (orientation:portrait) and (max-width:580px) and (max-height:700px){
  .page-image .photo-stage{padding-top:10px;padding-bottom:14px;row-gap:9px}
  .page-image .photo-stage .virtual-photo-opening img{max-height:calc(100dvh - 205px)}
  .page-image .photo-back{max-width:43vw;font-size:.62rem;padding:6px 8px}
  .page-image .photo-slideshow-toggle{min-width:110px;font-size:.61rem;padding:6px 9px}
  .page-image .photo-nav-arrow{width:39px;height:39px;font-size:1.85rem}
}

/* Phone landscape: use the short viewport efficiently and keep arrows beside the frame. */
@media (orientation:landscape) and (max-height:600px){
  .page-image .photo-stage{
    width:100%;
    height:calc(100dvh - 64px);
    min-height:0;
    padding:7px 10px 8px;
    display:grid;
    grid-template-columns:48px minmax(0,1fr) 48px;
    grid-template-rows:auto minmax(0,1fr) auto;
    grid-template-areas:
      "back spacer slideshow"
      "previous frame next"
      ". position .";
    align-items:center;
    column-gap:8px;
    row-gap:5px;
    overflow:hidden;
  }
  .page-image .photo-back,
  .page-image .photo-slideshow-toggle,
  .page-image .photo-nav-arrow,
  .page-image .photo-position{position:static;top:auto;left:auto;right:auto;bottom:auto;margin:0}
  .page-image .photo-back{
    grid-area:back;
    justify-self:start;
    max-width:180px;
    padding:5px 8px;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
    font-size:.61rem;
    line-height:1.15;
  }
  .page-image .photo-slideshow-toggle{
    grid-area:slideshow;
    justify-self:end;
    min-width:108px;
    padding:5px 8px;
    font-size:.6rem;
    line-height:1.15;
  }
  .page-image .photo-transition-anchor{
    grid-area:frame;
    position:relative;
    width:100%;
    height:100%;
    min-width:0;
    min-height:0;
    display:flex;
    align-items:center;
    justify-content:center;
  }
  .page-image .photo-transition-anchor>.virtual-photo-frame,
  .page-image .photo-transition-layer{
    max-width:100%!important;
    max-height:100%!important;
  }
  .page-image .photo-stage .virtual-photo-opening img{
    width:auto;
    height:auto;
    max-width:calc(100vw - 150px);
    max-height:calc(100dvh - 118px);
    object-fit:contain;
  }
  .page-image .photo-nav-arrow{
    width:40px;
    height:40px;
    transform:none;
    font-size:1.9rem;
  }
  .page-image .photo-nav-arrow:hover,
  .page-image .photo-nav-arrow:focus-visible{transform:scale(1.05)}
  .page-image .photo-nav-previous{grid-area:previous;justify-self:start}
  .page-image .photo-nav-next{grid-area:next;justify-self:end}
  .page-image .photo-position{
    grid-area:position;
    justify-self:center;
    transform:none;
    padding:4px 8px;
    font-size:.61rem;
  }
}
