:root{--bg:#101117;--panel:#1a1c24;--text:#f7f7fb;--muted:#b7bac5;--red:#ff3339;--amber:#ffb51b;--blue:#8599f4;--border:#343641}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:105px}body{margin:0;background:var(--bg);color:var(--text);font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.65}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}a,button,input,select,textarea{outline-offset:5px}a:focus-visible,button:focus-visible{outline:2px solid var(--amber)}.wrap{width:min(1180px,calc(100% - 64px));margin:auto}.skip{position:absolute;z-index:20;top:-80px;padding:12px;background:#fff;color:#000}.skip:focus{top:0}header{background:#101117ed;position:sticky;top:0;z-index:10;border-bottom:1px solid #ffffff12;backdrop-filter:blur(14px)}.nav{display:flex;align-items:center;justify-content:space-between;min-height:100px;gap:30px}.logo{width:260px;height:auto;display:block}nav{display:flex;align-items:center;gap:32px;font-size:.9rem;font-weight:700}nav>a:not(.button):hover,.text-link:hover{color:var(--amber)}.button{display:inline-flex;align-items:center;justify-content:center;background:var(--red);border:0;color:white;padding:16px 26px;font-weight:700;font-size:1rem;border-radius:4px;cursor:pointer;transition:background .2s,transform .2s}.button:hover{background:#d8202b;transform:translateY(-2px)}.small{padding:11px 20px;font-size:.875rem}.hero{position:relative;isolation:isolate;min-height:650px;padding-top:75px;padding-bottom:90px;overflow:hidden}.hero-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 65%;z-index:-3}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,#101117 4%,#101117dd 35%,#10111745 73%),linear-gradient(0deg,#101117,transparent 40%);z-index:-2}.eyebrow{font-size:.8rem;font-weight:800;letter-spacing:.17em;color:var(--amber);margin:0 0 22px}.hero h1{font-size:clamp(3.5rem,6.8vw,6rem);line-height:1.03;letter-spacing:-.055em;margin:0 0 28px;max-width:750px}.hero h1 span{color:var(--red)}.intro{font-size:1.12rem;max-width:480px;color:#d1d2db}.actions{display:flex;align-items:center;gap:26px;margin-top:32px}.text-link{font-weight:700;font-size:.9rem;border-bottom:1px solid #767a88;padding-bottom:4px;display:inline-block}.hero-bottom{position:absolute;bottom:25px;left:0;right:0;display:flex;justify-content:space-between;color:#bfc1cc;font-size:.75rem;letter-spacing:.06em}.ticker{background:var(--amber);color:#131319;overflow:hidden;padding:17px 0;font-size:.8rem;font-weight:900;letter-spacing:.09em}.ticker>div{width:max-content;min-width:100%;text-align:center}.ticker b{padding:0 22px;color:#9d2119}.section{padding-top:100px;padding-bottom:100px}h2{font-size:clamp(2rem,4vw,3.3rem);letter-spacing:-.045em;line-height:1.12;margin:0 0 24px}h3{line-height:1.2;letter-spacing:-.025em}.section-top{display:flex;justify-content:space-between;align-items:end;gap:70px;margin-bottom:40px}.section-top>p{max-width:310px;color:var(--muted);margin-bottom:26px}.services{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.service{border:1px solid var(--border);border-top:3px solid var(--red);padding:30px;background:linear-gradient(135deg,#1d1f29,#15161e);display:flex;flex-direction:column}.service:nth-child(2){border-top-color:var(--blue)}.service:nth-child(3){border-top-color:var(--amber)}.number{font-size:.75rem;letter-spacing:.08em;color:var(--muted);font-weight:700}.service-mark{font-size:2.7rem;font-weight:900;line-height:1;letter-spacing:-.05em;color:var(--red);margin:38px 0 22px}.service:nth-child(2) .service-mark{color:var(--blue)}.service:nth-child(3) .service-mark{color:var(--amber)}.service h3{font-size:1.5rem;margin:0 0 12px}.service p{color:var(--muted);margin:0}.service ul{padding:18px 0 26px;margin:0;list-style:none;font-size:.875rem;color:#e0e1e8}.service li{margin:8px 0}.service li:before{content:'+';color:var(--amber);padding-right:10px}.service .text-link{align-self:start;margin-top:auto}.experience{background:#191c2a;padding:86px 0;border-top:1px solid #35394d;border-bottom:1px solid #35394d}.experience-grid{display:grid;grid-template-columns:1fr 1fr;gap:110px}.experience-grid>div>p:not(.eyebrow){color:var(--muted);max-width:420px;margin-bottom:28px}.steps article{display:flex;gap:25px;border-bottom:1px solid #35394d;padding:25px 0}.steps article:first-child{padding-top:0}.steps article:last-child{border:0;padding-bottom:0}.steps span{font-size:1rem;font-weight:700;color:var(--blue);margin-top:5px}.steps h3{font-size:1.2rem;margin:0 0 8px}.steps p{color:var(--muted);margin:0;font-size:.95rem}.event-tabs{display:flex;gap:12px;flex-wrap:wrap;margin:35px 0 32px}.event-tabs button{background:none;color:var(--muted);border:1px solid var(--border);border-radius:30px;padding:10px 22px;cursor:pointer;font-size:.9rem}.event-tabs button[aria-selected=true]{background:var(--amber);border-color:var(--amber);color:#171820;font-weight:700}.event-panel{display:grid;grid-template-columns:1fr 1fr;gap:65px;background:var(--panel);padding:40px;border-left:3px solid var(--amber)}.event-panel h3{font-size:2rem;margin:0;max-width:390px}.event-panel p:not(.eyebrow){margin-top:0;color:var(--muted)}.contact{padding:85px 0;background:#14151d;border-top:1px solid var(--border)}.contact-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:100px}.contact h2{font-size:clamp(2.7rem,4.7vw,4.5rem)}.contact h2 span{color:var(--red)}.contact p{max-width:350px;color:var(--muted)}.email{display:inline-block;font-size:clamp(1.1rem,2vw,1.4rem);border-bottom:1px solid #747685;margin:18px 0}.socials{display:flex;gap:26px;font-size:.9rem;margin-top:24px;color:var(--blue)}form label{display:block;font-size:.875rem;font-weight:700;margin-bottom:18px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}input,select,textarea{display:block;width:100%;background:#20222c;border:1px solid #454754;color:white;padding:12px 13px;margin-top:8px;border-radius:3px;min-height:48px;color-scheme:dark}textarea{resize:vertical}input:focus,textarea:focus,select:focus{outline:2px solid var(--blue);border-color:var(--blue)}input::placeholder,textarea::placeholder{color:#a9adbc}form .button{width:100%}.contact .form-note{font-size:.8rem;max-width:none;margin-bottom:0}#email-fallback{margin-top:25px}#copy{background:none;color:var(--amber);border-top:0;border-left:0;border-right:0;cursor:pointer}footer{padding:40px 0 20px}.footer-grid{display:flex;align-items:center;justify-content:space-between;gap:30px}.footer-grid .logo{width:220px}.footer-grid p{color:var(--muted);font-size:.9rem}.footer-grid>a{font-size:.85rem}.footer-bottom{display:flex;justify-content:space-between;border-top:1px solid var(--border);padding-top:20px;margin-top:32px;font-size:.75rem;color:#b7bac5}@media(max-width:900px){.wrap{width:calc(100% - 40px)}.logo{width:220px}nav{gap:18px}.hero{min-height:620px}.services{gap:12px}.service{padding:22px}.experience-grid,.contact-grid{gap:45px}.section-top{gap:35px}}@media(max-width:680px){html{scroll-padding-top:115px}.nav{min-height:104px;flex-direction:column;align-items:start;gap:8px;padding:14px 0}.nav .logo{width:190px}nav{width:100%;justify-content:space-between;font-size:.8rem;gap:8px}.small{font-size:.8rem;padding:7px 12px}.hero{padding-top:48px;min-height:620px}.hero h1{font-size:3.65rem}.hero-shade{background:linear-gradient(90deg,#101117ed,#1011177a),linear-gradient(0deg,#101117,transparent)}.intro{font-size:1rem;max-width:330px}.actions{align-items:start;flex-direction:column;gap:20px}.hero-bottom{font-size:.7rem}.hero-bottom span:last-child{display:none}.section{padding-top:65px;padding-bottom:65px}.section-top{display:block}.section-top>p{max-width:none;margin-top:20px}.services,.experience-grid,.contact-grid,.event-panel{grid-template-columns:1fr}.services{gap:18px}.service{padding:28px}.service-mark{margin-top:25px}.service ul{padding-bottom:20px}.experience{padding:65px 0}.experience-grid{gap:35px}.event-panel{gap:25px;padding:27px}.event-panel h3{font-size:1.6rem}.event-tabs{gap:8px}.event-tabs button{font-size:.8rem;padding:9px 15px}.contact{padding:65px 0}.contact-grid{gap:40px}.form-row{grid-template-columns:1fr;gap:0}.footer-grid{align-items:start;flex-wrap:wrap;gap:18px}.footer-grid p{width:100%;margin:0}.footer-bottom{gap:25px}.contact h2{font-size:3rem}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
nav a[aria-current=page]{color:var(--amber)}.portal h1{font-size:clamp(2.6rem,5vw,4rem);letter-spacing:-.045em;line-height:1.1;margin:0 0 24px}.portal>p{color:var(--muted);max-width:660px}.portal-card{padding:30px;background:var(--panel);border:1px solid var(--border);margin:30px 0;max-width:740px}.portal-card h2{font-size:1.7rem}.portal-card .button{width:auto}.gallery-top{display:flex;justify-content:space-between;align-items:center;gap:25px;margin-top:45px}.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin:30px 0}.file-card{border:1px solid var(--border);background:var(--panel);padding:18px;min-width:0}.file-card img,.file-card video{display:block;width:100%;height:230px;object-fit:contain;background:#0b0c11;margin-bottom:20px}.file-card h3{font-size:1rem;overflow-wrap:anywhere}.file-card p{font-size:.875rem;color:var(--muted)}.outline-button{border:1px solid var(--border);color:var(--text);background:none;border-radius:4px;padding:10px 18px;cursor:pointer}.outline-button:hover{border-color:var(--amber)}.album-card{border:1px solid var(--border);padding:28px;margin:22px 0;background:var(--panel)}.album-card h3{font-size:1.5rem;margin:0 0 12px}.album-card input[type=file]{margin:15px 0}.album-card .actions{flex-wrap:wrap}.album-card code{font-size:1rem;color:var(--amber);overflow-wrap:anywhere}.album-card .file-list{overflow-wrap:anywhere;color:var(--muted);padding-left:20px}.albums-heading{margin-top:50px}.nav nav{gap:22px}.form-note,.number,.eyebrow{font-size:.875rem}#gallery-status,#admin-status{color:var(--amber)}[hidden]{display:none!important}@media(max-width:900px){.nav{flex-direction:column;align-items:start;padding:16px 0;gap:10px}.nav nav{width:100%;flex-wrap:wrap;gap:12px 20px}.gallery-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:680px){.gallery-grid{grid-template-columns:1fr}.portal-card{padding:23px}.gallery-top{display:block}.gallery-top button{margin:10px 0}.nav nav{justify-content:start;font-size:.875rem}.nav{min-height:auto}.portal{padding-top:45px}.album-card{padding:23px}}
.reviews-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:30px}.review-card{padding:28px;border:1px solid var(--border);background:var(--panel);overflow-wrap:anywhere}.review-card .stars{color:var(--amber);font-size:1.4rem;letter-spacing:.09em}.review-card blockquote{margin:20px 0;font-size:1rem;white-space:pre-wrap}.review-card .review-author{font-weight:700}.review-card .review-date{color:var(--muted);font-size:.875rem}.rating-field{padding:0;border:0;margin:0 0 22px}.rating-field legend{font-size:.875rem;font-weight:700;margin-bottom:12px}.rating-options{display:flex;flex-wrap:wrap;gap:12px}.rating-options label{margin:0;cursor:pointer}.rating-options input{appearance:none;position:absolute;width:1px;height:1px;min-height:0;opacity:0}.rating-options span{display:block;padding:10px 17px;border:1px solid var(--border);border-radius:4px;color:var(--amber)}.rating-options input:checked+span{background:var(--amber);color:#101117}.rating-options input:focus-visible+span{outline:2px solid var(--blue);outline-offset:3px}.honeypot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}#review-status{color:var(--amber)}@media(max-width:900px){.reviews-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:680px){.reviews-grid{grid-template-columns:1fr}.rating-options{gap:8px}.rating-options span{padding:9px 12px}}

.upload-progress{margin-top:22px;padding:20px;border:1px solid var(--border);background:#101117}.upload-progress li{margin:8px 0;overflow-wrap:anywhere}.upload-progress p{font-weight:700}.upload-progress ul{padding-left:20px}
.photo-thumbnail{display:block;width:100%;padding:0;border:1px solid transparent;background:#0b0c11;color:var(--amber);cursor:zoom-in;border-radius:3px;margin:0 0 18px}.photo-thumbnail:hover{border-color:var(--amber)}.file-card .photo-thumbnail img{margin:0}.photo-thumbnail span{display:block;padding:10px;font-size:.875rem;font-weight:700}.photo-viewer{width:min(94vw,1200px);max-height:94vh;max-height:94dvh;background:#101117;color:var(--text);border:1px solid var(--border);border-radius:6px;padding:20px;overflow:auto}.photo-viewer::backdrop{background:rgba(0,0,0,.88)}.photo-viewer-toolbar{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:18px}.photo-viewer-caption{margin:0;overflow-wrap:anywhere;font-size:1rem;font-weight:700}.photo-viewer-toolbar button{flex-shrink:0}.photo-viewer-image{display:block;width:auto;height:auto;max-width:100%;max-height:72vh;max-height:72dvh;margin:auto;object-fit:contain}.photo-viewer-message{color:var(--amber);text-align:center;margin:12px 0}.photo-viewer-message:empty{display:none}.photo-viewer-controls{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:18px}.photo-viewer-controls span{font-size:.875rem;white-space:nowrap}.photo-viewer-open{overflow:hidden}@media(max-width:680px){.photo-viewer{padding:14px}.photo-viewer-toolbar{gap:12px}.photo-viewer-controls{gap:8px}.photo-viewer-controls button{font-size:.875rem;padding:9px 12px}.photo-viewer-image{max-height:65vh;max-height:65dvh}}

.photo-viewer-zoom{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:12px;margin-bottom:14px}.photo-viewer-zoom span{min-width:4ch;text-align:center;font-variant-numeric:tabular-nums}.photo-viewer-viewport{height:60vh;height:60dvh;overflow:auto;background:#08090d;overscroll-behavior:contain;border-radius:4px}.photo-viewer-stage{display:flex;align-items:center;justify-content:center;min-width:100%;min-height:100%;width:max-content;height:max-content}.photo-viewer-viewport .photo-viewer-image{max-width:none;max-height:none;flex:none;margin:0;user-select:none}.photo-viewer-viewport.is-zoomed{cursor:grab}.photo-viewer-viewport.is-dragging{cursor:grabbing}.photo-viewer-zoom button:disabled{opacity:.45;cursor:default}@media(max-width:680px){.photo-viewer-viewport{height:52vh;height:52dvh}.photo-viewer-zoom{gap:8px}.photo-viewer-zoom button{font-size:.875rem;padding:9px 12px}}

.gallery-actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px}.photo-viewer-toolbar{flex-wrap:wrap}.photo-viewer-toolbar .photo-viewer-caption{flex:1;min-width:140px}
