:root{--black:#141210;--charcoal:#221f1a;--cream:#f3ead9;--cream-2:#ece0c8;--gold:#c5a028;--gold-light:#e3c866;--gold-dim:#8a7020;--emerald:#0f6b4f;--ink:#201c14;--line:#d8c69a}*{box-sizing:border-box}body{margin:0;background:var(--cream);color:var(--ink);font-family:Montserrat,sans-serif;font-size:16px;line-height:1.75}a{color:inherit}h1,h2,h3{font-family:Cinzel,serif;font-weight:600;margin:0;color:var(--ink)}nav{display:flex;align-items:center;justify-content:space-between;padding:20px 6vw;background:var(--black);position:-webkit-sticky;position:sticky;top:0;z-index:20;border-bottom:1px solid var(--gold-dim)}.wordmark{line-height:1;text-align:left}.wordmark-clickable{background:none;border:none;padding:0;margin:0;cursor:pointer;font:inherit;-webkit-tap-highlight-color:transparent}.wordmark .wm-main{font-family:Poiret One,cursive;font-size:24px;color:var(--cream);letter-spacing:.16em;text-transform:uppercase;white-space:nowrap}.wordmark .wm-sub{font-family:Montserrat,sans-serif;font-size:9px;color:var(--gold);letter-spacing:.44em;text-transform:uppercase;margin-top:5px;padding-left:2px}nav ul{list-style:none;display:flex;gap:32px;margin:0;padding:0;font-size:13px;letter-spacing:.14em}nav a{color:var(--cream);text-decoration:none;text-transform:uppercase;border-bottom:1px solid transparent;padding-bottom:4px;transition:border-color .2s,color .2s}nav a.active,nav a:hover{border-color:var(--gold);color:var(--gold-light)}.logo-shimmer .wm-main,.logo-shimmer .wm-sub{position:relative}.logo-shimmer .wm-main:after,.logo-shimmer .wm-sub:after{content:attr(data-text);position:absolute;inset:0;pointer-events:none;background-repeat:no-repeat;background-size:400% 100%;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent;filter:drop-shadow(0 0 3px rgba(255,255,255,.95)) drop-shadow(0 0 10px rgba(255,214,140,.9)) drop-shadow(0 0 20px rgba(217,176,255,.6));animation:logo-iridescent-sweep 1.1s ease-in-out}.logo-shimmer .wm-main:after{background-image:linear-gradient(100deg,transparent,transparent 46%,#fff6da 47.5%,#fff 50%,#ffcdef 52%,#cbb6ff 53.5%,transparent 54.5%,transparent)}.logo-shimmer .wm-sub:after{background-image:linear-gradient(100deg,transparent,transparent 46%,#fff1c2 47.5%,#fff 50%,#ffcdef 52%,#cbb6ff 53.5%,transparent 54.5%,transparent)}@keyframes logo-iridescent-sweep{0%{background-position:100% 0}to{background-position:0 0}}.logo-burning{animation:logo-flash-burn .75s ease-in forwards}@keyframes logo-flash-burn{0%{filter:brightness(1) saturate(1);opacity:1;transform:scale(1)}8%{filter:brightness(4) saturate(0);opacity:1;transform:scale(1.04)}22%{filter:brightness(2.1) sepia(.6) saturate(3) hue-rotate(-10deg);opacity:1;transform:scale(1.01)}45%{filter:brightness(1.3) sepia(1) saturate(5) hue-rotate(-35deg);opacity:.85;transform:scale(.97)}70%{filter:brightness(.7) sepia(1) saturate(6) hue-rotate(-45deg);opacity:.4;transform:scale(.88) rotate(-1.5deg)}to{filter:brightness(0) saturate(0);opacity:0;transform:scale(.7) rotate(1.5deg)}}.logo-hidden{visibility:hidden}.logo-reappearing{animation:logo-reappear .65s ease-out}@keyframes logo-reappear{0%{opacity:0;filter:brightness(3);transform:scale(.8)}55%{opacity:1;filter:brightness(1.6);transform:scale(1.04)}to{opacity:1;filter:brightness(1);transform:scale(1)}}.page-header{position:relative;background:var(--black);color:var(--cream);text-align:center;padding:64px 6vw 54px;overflow:hidden}.page-header .sunburst{position:absolute;top:50%;left:50%;width:640px;height:640px;transform:translate(-50%,-50%);opacity:.28;pointer-events:none}.page-header-inner{position:relative;z-index:1}.page-header .eyebrow{font-family:Montserrat,sans-serif;font-size:12px;letter-spacing:.4em;text-transform:uppercase;color:var(--gold);margin-bottom:18px}.page-header h1{font-size:46px;letter-spacing:.06em;text-transform:uppercase;color:var(--cream)}.page-header p.tagline{font-family:Montserrat,sans-serif;font-size:13px;letter-spacing:.32em;text-transform:uppercase;color:var(--gold-light);margin-top:18px}.rule-diamond{display:flex;align-items:center;justify-content:center;gap:16px;margin:26px auto 0;width:220px}.rule-diamond .line{flex:1 1;height:1px;background:var(--gold)}.rule-diamond svg{width:14px;height:14px}.chevron-strip{display:block;width:100%;height:14px}section{padding:70px 6vw;max-width:1180px;margin:0 auto}section.tight{padding-top:54px}.section-kicker{letter-spacing:.3em;font-size:12px;color:var(--gold-dim);margin-bottom:10px}.section-kicker,.section-title{text-align:center;text-transform:uppercase}.section-title{font-size:32px;letter-spacing:.08em;margin-bottom:8px}.tag-bar{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin:34px 0 42px}.tag-chip{border:1px solid var(--gold);color:var(--ink);background:transparent;padding:9px 22px;border-radius:0;font-family:Montserrat,sans-serif;font-size:12px;letter-spacing:.14em;text-transform:uppercase;cursor:pointer;transition:all .2s}.tag-chip:hover{background:rgba(197,160,40,.12)}.tag-chip.active{background:var(--black);border-color:var(--black);color:var(--gold-light)}.gallery-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:16px;gap:16px}.photo-tile{position:relative;aspect-ratio:4/5;border:2px solid var(--gold);overflow:hidden;display:flex;align-items:flex-end;padding:14px;color:var(--cream);font-size:11px;letter-spacing:.14em;transition:opacity .25s,transform .2s;background:var(--charcoal);width:100%;text-align:left;font-family:Montserrat,sans-serif;cursor:pointer}.photo-tile:focus-visible{outline:2px solid var(--gold-light);outline-offset:3px}.photo-tile img{width:100%;height:100%;object-fit:cover;filter:saturate(.92) contrast(1.04)}.photo-tile img,.photo-tile:after{position:absolute;inset:0;z-index:0}.photo-tile:after{content:"";background:linear-gradient(180deg,transparent 55%,rgba(0,0,0,.68))}.photo-tile span{position:relative;z-index:1;text-transform:uppercase;font-weight:600}.photo-tile.hidden{display:none}.photo-tile:hover{transform:translateY(-3px)}.gallery-note{text-align:center;font-style:italic;color:#8a7a5c;font-size:14px;margin-top:28px}.lightbox{position:fixed;inset:0;z-index:100;background:rgba(20,18,16,.96);display:flex;align-items:center;justify-content:center;padding:40px;animation:lightbox-fade .18s ease-out}@keyframes lightbox-fade{0%{opacity:0}to{opacity:1}}.lightbox-img{max-width:100%;max-height:calc(100vh - 120px);object-fit:contain;border:1px solid var(--gold-dim);box-shadow:0 20px 60px rgba(0,0,0,.5)}.lightbox-close{position:absolute;top:18px;right:6vw;background:none;border:none;color:var(--cream);font-size:34px;line-height:1;cursor:pointer;padding:6px 10px;transition:color .2s}.lightbox-close:hover,.lightbox-nav{color:var(--gold-light)}.lightbox-nav{position:absolute;top:50%;transform:translateY(-50%);background:none;border:1px solid var(--gold-dim);font-size:30px;line-height:1;width:48px;height:48px;cursor:pointer;transition:background .2s,border-color .2s}.lightbox-nav:hover{background:rgba(197,160,40,.15);border-color:var(--gold)}.lightbox-prev{left:3vw}.lightbox-next{right:3vw}.lightbox-caption{position:absolute;bottom:22px;left:0;right:0;text-align:center;color:var(--gold-light);font-size:12px;letter-spacing:.12em;text-transform:uppercase}.lightbox-count{color:#a89a76}@media (max-width:780px){.lightbox{padding:20px}.lightbox-nav{width:40px;height:40px;font-size:24px}.lightbox-prev{left:2vw}.lightbox-next{right:2vw}.lightbox-close{top:10px;right:4vw;font-size:28px}}.content-frame{position:relative;max-width:700px;margin:46px auto 0;padding:46px 50px}.content-frame .bracket{position:absolute;width:46px;height:46px}.content-frame .bracket.tl{top:0;left:0}.content-frame .bracket.tr{top:0;right:0;transform:scaleX(-1)}.content-frame .bracket.bl{bottom:0;left:0;transform:scaleY(-1)}.content-frame .bracket.br{bottom:0;right:0;transform:scale(-1)}.content-frame p{margin:0 0 18px;font-size:17px}.content-frame p:first-of-type:first-letter{font-family:Cinzel,serif;font-size:52px;float:left;line-height:.8;padding:6px 10px 0 0;color:var(--gold)}.content-frame .note-inline{font-size:13px;color:#8a7a5c}.contact-links{text-align:center;margin-top:30px}.contact-links a{display:inline-block;border:1px solid var(--gold);padding:12px 30px;text-transform:uppercase;letter-spacing:.18em;font-size:13px;text-decoration:none;color:var(--ink);transition:all .2s}.contact-links a:hover{background:var(--black);color:var(--gold-light);border-color:var(--black)}footer{text-align:center;padding:46px 6vw 54px;background:var(--black);color:#a89a76;font-size:13px}footer .wordmark{display:inline-block;text-align:center;margin-bottom:12px}footer .wordmark .wm-main{font-size:24px}footer .wordmark .wm-sub{text-align:center}@media (max-width:780px){.gallery-grid{grid-template-columns:repeat(2,1fr);gap:10px}.page-header h1{font-size:32px}nav ul{gap:16px;font-size:11px}.content-frame{padding:34px 24px}}.admin-frame{max-width:460px;margin:50px auto 0;padding:40px;border:2px solid var(--gold);background:var(--cream-2)}.admin-frame label{display:block;font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--gold-dim);margin:18px 0 6px}.admin-frame input[type=file],.admin-frame input[type=password],.admin-frame input[type=text],.admin-frame select,.admin-frame textarea{width:100%;padding:11px 12px;border:1px solid var(--line);background:#fff;font-family:Montserrat,sans-serif;font-size:15px;color:var(--ink)}.btn-deco{display:inline-block;border:1px solid var(--black);background:var(--black);color:var(--gold-light);padding:12px 28px;text-transform:uppercase;letter-spacing:.16em;font-size:13px;font-family:Montserrat,sans-serif;cursor:pointer;margin-top:22px;transition:opacity .2s}.btn-deco:hover{opacity:.85}.btn-deco:disabled{opacity:.5;cursor:not-allowed}.btn-deco.outline{background:transparent;color:var(--ink);border-color:var(--gold)}.form-msg{margin-top:14px;font-size:14px}.form-msg.error{color:#9c3b3b}.form-msg.success{color:var(--emerald)}.admin-toolbar{display:flex;justify-content:space-between;align-items:center;max-width:1000px;margin:0 auto 30px}.admin-toolbar a{font-size:13px;letter-spacing:.1em;text-transform:uppercase;color:var(--gold-dim);text-decoration:none}.admin-grid{display:grid;grid-template-columns:380px 1fr;grid-gap:40px;gap:40px;max-width:1000px;margin:0 auto;align-items:start}.admin-photo-list{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:12px;gap:12px}.admin-photo-card{position:relative;border:1px solid var(--line);background:#fff;overflow:hidden}.admin-photo-card img{width:100%;aspect-ratio:4/5;object-fit:cover;display:block}.admin-photo-card .meta{padding:8px 10px;font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--gold-dim);display:flex;justify-content:space-between;align-items:center;gap:6px}.admin-photo-card button.delete-btn{border:none;background:none;color:#9c3b3b;cursor:pointer;font-size:11px;text-transform:uppercase;letter-spacing:.08em;padding:0}.category-manage-list{list-style:none;margin:18px 0 0;padding:0;border-top:1px solid var(--line)}.category-manage-item{display:flex;justify-content:space-between;align-items:center;padding:10px 2px;border-bottom:1px solid var(--line);font-size:14px}.category-manage-item button.delete-btn{border:none;background:none;color:#9c3b3b;cursor:pointer;font-size:11px;text-transform:uppercase;letter-spacing:.08em;padding:0}@media (max-width:780px){.admin-grid{grid-template-columns:1fr}}