/* Shared furniture only. Keep each application's palette, type and work area. */
:where(:root){--ink:#0a0d14;--deep:#0d1220;--panel:#111827;--border:#1e2d45;--gold:#c9a84c;--gold2:#e8c97a;--cyan:#4db8c8;--red:#e05a5a;--green:#5ec48a;--text:#dde4f0;--muted:#7a8ba8;--bright:#f0f4ff;--f-body:'Cormorant Garamond',Georgia,serif;--f-mono:'JetBrains Mono',monospace;--f-head:'Cinzel',serif}
.site-header,.site-footer,.site-header *,.site-footer *{box-sizing:border-box}
.site-header{display:block;position:relative;z-index:50;min-width:0;padding:0;border:0;text-align:left;animation:none!important}
.site-header::after{display:none}
.site-masthead{display:grid;grid-template-columns:100px minmax(0,1fr) 100px;align-items:center;gap:24px;padding-bottom:26px}
.site-logo{display:flex;align-items:center;justify-content:center;width:100px;height:100px;background:#fff;padding:3px;border-radius:50%;box-shadow:0 0 0 2px #c9a84c55,0 0 28px #c9a84c30,0 0 70px #c9a84c10}
.site-logo img{display:block;width:94px;height:94px;object-fit:contain;border-radius:50%}
.site-brand{text-align:center;min-width:0}
.site-eyebrow{margin:0 0 9px;color:var(--gold);font:10px/1.5 var(--f-mono);letter-spacing:.2em;text-transform:uppercase}
.site-brand-name{margin:0;color:var(--bright);font:400 clamp(20px,3.1vw,32px)/1.3 var(--f-head);letter-spacing:.02em}
.site-brand-name a{color:inherit;text-decoration:none}
.site-brand-name em{font-style:normal;color:var(--gold2)}
.site-location{margin:8px 0 0;color:var(--muted);font:11px/1.6 var(--f-mono);letter-spacing:.015em}
.site-telescope{display:block;width:100px;height:100px;object-fit:cover;border:1px solid var(--border);border-radius:4px;box-shadow:0 0 0 1px #c9a84c22,0 0 20px #c9a84c18;filter:grayscale(30%) brightness(.9)}
.site-navigation-row{display:flex;align-items:center;justify-content:space-between;gap:16px;border-top:1px solid var(--border);border-bottom:1px solid var(--border);position:relative}
.site-nav{min-width:0;flex:1;font:11px/1.5 var(--f-mono);letter-spacing:.1em;text-transform:uppercase}
.site-nav-items{display:flex;align-items:stretch;gap:6px}
.site-nav-items>a,.site-nav-group>summary{display:flex;align-items:center;justify-content:center;gap:14px;min-height:48px;padding:12px 17px;color:var(--text);text-decoration:none;border:0;border-bottom:2px solid transparent;background:transparent;font:inherit;letter-spacing:inherit;cursor:pointer;list-style:none;border-radius:0}
.site-nav-group>summary::-webkit-details-marker{display:none}
.site-nav-items>a:hover,.site-nav-group>summary:hover,.site-nav-group[open]>summary{color:var(--gold2);background:var(--panel)}
.site-nav-items>a[aria-current=page],.site-group-current>summary{color:var(--gold2);border-bottom-color:var(--gold)}
.site-nav-group{position:relative}
.site-chevron{width:6px;height:6px;border:solid currentColor;border-width:0 1px 1px 0;transform:rotate(45deg) translateY(-2px);transition:transform .15s}
.site-nav-group[open] .site-chevron{transform:rotate(225deg) translate(-2px,-1px)}
.site-submenu{position:absolute;top:100%;left:0;width:320px;max-width:calc(100vw - 48px);margin:0;padding:8px;list-style:none;background:var(--deep);border:1px solid var(--border);border-top:2px solid var(--gold);border-radius:0 0 4px 4px;box-shadow:0 18px 35px #0008;z-index:100}
.site-nav-group:last-child .site-submenu,#site-group-conditions .site-submenu{left:auto;right:0}
.site-submenu li{list-style:none;margin:0;padding:0}
.site-submenu a{display:block;padding:11px 12px;text-transform:none;letter-spacing:0;color:var(--text);text-decoration:none;font:12px/1.5 var(--f-mono);border-radius:2px}
.site-submenu a:hover,.site-submenu a[aria-current=page]{background:var(--panel);color:var(--gold2)}
.site-submenu a[aria-current=page]{box-shadow:inset 2px 0 var(--gold)}
.site-link-description{display:block;margin-top:3px;font:italic 16px/1.35 var(--f-body);color:var(--muted);letter-spacing:0;text-transform:none}
.site-menu-toggle{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;padding:14px 8px;min-height:48px;border:0;background:transparent;color:var(--gold2);font:11px/1.5 var(--f-mono);letter-spacing:.12em;text-transform:uppercase;cursor:pointer}
.site-menu-icon{width:17px;height:12px;border-top:1px solid currentColor;border-bottom:1px solid currentColor;position:relative}
.site-menu-icon::after{content:'';position:absolute;left:0;right:0;top:5px;border-top:1px solid currentColor}
.site-nav [hidden]{display:none!important}
.site-page-heading{padding-top:22px}
.site-page-heading h1{margin:10px 0 0;color:var(--bright);font:400 clamp(23px,3vw,32px)/1.3 var(--f-head);letter-spacing:.02em}
.site-page-heading>p{margin:8px 0 0;font:italic 17px/1.5 var(--f-body);color:var(--muted)}
.site-breadcrumb{display:flex;align-items:center;gap:9px;flex-wrap:wrap;color:var(--muted);font:10px/1.6 var(--f-mono);letter-spacing:.02em}
.site-breadcrumb a{color:var(--gold2);text-decoration:none}
.site-breadcrumb a:hover{text-decoration:underline}
.site-main{display:grid;gap:inherit;min-width:0;outline:none}
.site-main>*{min-width:0}
.site-main:focus-visible{outline:1px solid var(--gold);outline-offset:6px}
.site-footer{display:block;margin-top:12px;padding:26px 0 0;border-top:1px solid var(--border);min-width:0;text-align:left}
.site-footer-top{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;flex-wrap:wrap}
.site-footer-brand{color:var(--gold2);text-decoration:none;font:14px/1.5 var(--f-head);letter-spacing:.04em}
.site-footer p{margin:7px 0 0;font:11px/1.6 var(--f-mono);color:var(--muted)}
.site-footer .site-data-citation a{color:var(--gold2);text-underline-offset:3px}
.site-footer nav{display:flex;gap:10px 24px;flex-wrap:wrap}
.site-footer nav a{font:11px/1.7 var(--f-mono);color:var(--text);text-decoration:none;padding:5px 0}
.site-footer a:hover{color:var(--gold2);text-decoration:underline;text-underline-offset:4px}
.site-footer nav a[aria-current=page]{color:var(--gold2);text-decoration:underline;text-underline-offset:4px}
.site-footer-bottom{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;border-top:1px solid var(--border);margin-top:20px;padding-top:18px;color:var(--muted);font:10px/1.8 var(--f-mono)}
.site-footer-bottom a{color:var(--muted);text-decoration:none;overflow-wrap:anywhere}
.site-footer-bottom .site-donate{display:inline-flex;align-items:center;min-height:38px;padding:7px 14px;border:1px solid #c9a84c55;border-radius:999px;background:linear-gradient(180deg,#12314a,#0d2235);color:var(--gold2);font:10px/1.5 var(--f-mono)}
.site-header a:focus-visible,.site-header summary:focus-visible,.site-header button:focus-visible,.site-footer a:focus-visible{outline:2px solid var(--gold2);outline-offset:3px;border-radius:2px}
.site-skip{position:fixed;left:24px;top:12px;z-index:2147483647;padding:12px 18px;background:var(--deep);color:var(--gold2);border:1px solid var(--gold);font:12px/1.4 var(--f-mono);transform:translateY(-180%);animation:none!important}
.site-skip:focus{transform:translateY(0)}
.site-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.site-document{margin:0;background:var(--ink);color:var(--text);font-family:var(--f-body)}
.site-container{max-width:1100px;margin:0 auto;padding:36px 24px 64px;display:grid;gap:24px}
.site-prose{padding:26px;background:var(--panel);border:1px solid var(--border);border-radius:4px;font:16px/1.65 var(--f-body)}
.site-prose h2{font:400 19px/1.5 var(--f-head);color:var(--gold2);margin:28px 0 12px}
.site-prose h2:first-child{margin-top:0}
.site-prose p{margin:0 0 14px}
.site-prose a{color:var(--gold2);text-underline-offset:3px}
.site-prose code{font:12px/1.5 var(--f-mono);overflow-wrap:anywhere}
.site-prose ul{padding-left:23px;margin:10px 0 20px}
.site-table-wrap{overflow-x:auto;margin:18px 0}
.site-prose table{width:100%;border-collapse:collapse;min-width:600px;font:16px/1.5 var(--f-body)}
.site-prose th,.site-prose td{padding:12px;text-align:left;vertical-align:top;border-bottom:1px solid var(--border)}
.site-prose th{font:11px/1.6 var(--f-mono);color:var(--gold2)}
.site-policy-date{font:11px/1.5 var(--f-mono);color:var(--muted)}
.site-login-card{max-width:440px;width:100%;justify-self:center;box-sizing:border-box;padding:26px;border:1px solid var(--border);border-radius:4px;background:var(--panel)}
.site-login-card h2{margin:0 0 20px;font:400 22px/1.4 var(--f-head);color:var(--bright)}
.site-login-card form{display:grid;gap:16px}
.site-login-card label{display:grid;gap:8px;color:var(--muted);font:11px/1.5 var(--f-mono)}
.site-login-card input{box-sizing:border-box;width:100%;border:1px solid var(--border);border-radius:3px;background:var(--deep);padding:11px;color:var(--text);font:13px/1.5 var(--f-mono)}
.site-login-card button,.site-external button{padding:12px 16px;border:1px solid #c9a84c55;border-radius:3px;background:linear-gradient(135deg,#152d48,#1a3a5c);color:var(--gold2);font:12px/1.5 var(--f-mono);cursor:pointer}
.site-login-card input:focus-visible,.site-login-card button:focus-visible,.site-external button:focus-visible{outline:2px solid var(--gold2);outline-offset:3px}
.site-login-card .error{padding:12px;border:1px solid #e05a5a44;background:#16080a;color:var(--red);font:16px/1.5 var(--f-body);margin-bottom:16px}
.site-login-card .links{display:flex;justify-content:space-between;gap:16px;margin-top:20px;color:var(--muted);font:11px/1.5 var(--f-mono)}
.site-login-card .links a{color:var(--gold2)}
.site-session:empty{display:none}
.site-session .ain-session-bar{display:flex;align-items:center;gap:12px;margin:0;color:var(--muted);font:11px/1.5 var(--f-mono)}
.site-session .ain-session-bar strong{color:var(--gold2)}
.site-session .ain-session-bar button{border:1px solid var(--border);background:var(--panel);color:var(--text);border-radius:3px;padding:7px 10px;font:inherit;cursor:pointer}
.site-signin,.site-signout{display:flex;align-items:center;gap:12px;margin:0;color:var(--muted);font:11px/1.5 var(--f-mono)}
.site-signin-user{color:var(--gold2);font-weight:600}
.site-signin-link,.site-signout button{border:1px solid var(--border);background:var(--panel);color:var(--text);border-radius:3px;padding:7px 10px;font:inherit;cursor:pointer;text-decoration:none}
.site-signin-link:hover,.site-signout button:hover{border-color:var(--gold);color:var(--gold2)}
.site-session [hidden]{display:none!important}
.site-external{padding:22px;text-align:center;border:1px solid var(--border);background:var(--deep);font:17px/1.5 var(--f-body);color:var(--muted)}
.site-external p{margin:0 0 14px}
.site-external a{color:var(--gold2)}
.site-external [hidden]{display:none!important}
.night-widget>.site-external{min-height:736px;display:flex;flex-direction:column;justify-content:center;align-items:center;box-sizing:border-box}
@media(max-width:760px){
 .site-masthead{grid-template-columns:76px minmax(0,1fr);gap:18px;padding-bottom:22px}
 .site-logo{width:76px;height:76px}.site-logo img{width:70px;height:70px}
 .site-telescope{display:none}.site-brand{text-align:left}.site-brand-name{font-size:22px}.site-eyebrow{font-size:9px}.site-location{font-size:9px}
 .site-navigation-row{align-items:flex-start;gap:12px;flex-wrap:wrap}.site-nav{flex-basis:100%}.site-session{position:absolute;right:8px;top:7px;max-width:65%}
 .site-menu-toggle{max-width:100%;padding-right:68%}
 .site-nav-items{display:flex;flex-direction:column;gap:0;padding-bottom:8px}
 .site-nav-items>a,.site-nav-group>summary{justify-content:space-between;padding:13px 10px;border-bottom:1px solid var(--border)}
 .site-submenu,.site-nav-group:last-child .site-submenu{position:static;width:100%;max-width:none;box-sizing:border-box;border-top:0;border-bottom:0;border-left:2px solid var(--gold);box-shadow:none;border-radius:0;margin:0 0 8px}
 .site-page-heading{padding-top:18px}.site-breadcrumb{font-size:9px}.site-page-heading h1{font-size:24px}
 .site-footer-top,.site-footer-bottom{flex-direction:column;align-items:flex-start;gap:16px}.site-footer nav{gap:10px 22px}
 .site-container{padding:24px 18px 44px}.site-prose{padding:20px;font-size:16px}
}
@media(max-width:380px){.site-brand-name{font-size:18px}.site-masthead{gap:12px;grid-template-columns:62px minmax(0,1fr)}.site-logo{width:62px;height:62px}.site-logo img{width:56px;height:56px}.site-location{font-size:8px}}
@media(prefers-reduced-motion:reduce){.site-chevron{transition:none}}
@media print{.site-nav,.site-session,.site-skip,.site-donate{display:none!important}.site-header{break-after:avoid}.site-footer{break-before:avoid}}
/* Photographs keep their original aspect ratios and are never cropped. */
.site-section-top{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:20px}
.site-section-top .sec-title{margin:0}
.site-gallery-all{flex-shrink:0;color:var(--gold2);font:11px/1.5 var(--f-mono);text-decoration:none}
.site-gallery-all:hover{text-decoration:underline;text-underline-offset:4px}
.site-photo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.site-gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.site-photo{margin:0;background:var(--panel);border:1px solid var(--border);border-radius:4px;overflow:hidden;min-width:0}
.site-photo>a{display:block;position:relative;background:#000}
.site-photo img{display:block;width:100%;height:auto}
.site-photo-view{position:absolute;right:12px;bottom:12px;padding:7px 10px;border:1px solid #c9a84c55;background:#0a0d14dd;color:var(--gold2);font:9px/1.5 var(--f-mono);opacity:0;transition:opacity .15s}
.site-photo>a:hover .site-photo-view,.site-photo>a:focus-visible .site-photo-view{opacity:1}
.site-photo>a:focus-visible{outline:2px solid var(--gold2);outline-offset:-3px}
.site-photo-category{color:var(--gold);font:9px/1.5 var(--f-mono);letter-spacing:.14em;text-transform:uppercase}
.site-gallery-intro{color:var(--muted);font:20px/1.5 var(--f-body)}
.site-gallery-intro p{margin:0 0 7px}
.site-lightbox{box-sizing:border-box;max-width:calc(100vw - 32px);width:880px;max-height:calc(100dvh - 32px);margin:auto;padding:20px;background:var(--deep);color:var(--text);border:1px solid var(--gold);border-radius:4px;overflow:auto;font-family:var(--f-body)}
.site-lightbox::backdrop{background:#000d}
.site-lightbox-toolbar,.site-lightbox-caption,.site-lightbox-controls{display:flex;align-items:center;justify-content:space-between;gap:16px}
.site-lightbox-toolbar{margin-bottom:14px;color:var(--muted);font:11px/1.5 var(--f-mono)}
.site-lightbox button,.site-rotator button{padding:8px 12px;min-height:40px;background:var(--panel);color:var(--gold2);border:1px solid var(--border);border-radius:3px;font:11px/1.5 var(--f-mono);cursor:pointer}
.site-lightbox button:hover,.site-rotator button:hover{border-color:var(--gold)}
.site-lightbox button:focus-visible,.site-rotator button:focus-visible,.site-gallery-all:focus-visible{outline:2px solid var(--gold2);outline-offset:3px}
.site-lightbox-image{display:block;width:auto;height:auto;max-width:100%;max-height:calc(100dvh - 240px);margin:0 auto;object-fit:contain}
.site-lightbox-caption{padding:16px 0;border-bottom:1px solid var(--border);margin-bottom:14px}
.site-lightbox h2{margin:0;font:400 20px/1.4 var(--f-body)}
.site-photo-original{color:var(--gold2);font:10px/1.6 var(--f-mono)}
.site-lightbox-controls>span{font:10px/1.5 var(--f-mono);color:var(--muted)}
.site-rotator [hidden]{display:none!important}
.site-rotator-display{overflow:hidden;min-width:0}
.site-rotator-track{display:flex;transition:transform 2200ms cubic-bezier(.4,0,.2,1);will-change:transform}
.site-rotator-slide{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;align-items:stretch;flex:0 0 100%;min-width:0;box-sizing:border-box}
.site-rotator-slide>a{display:flex;align-items:center;justify-content:center;min-width:0;aspect-ratio:1;max-height:430px;background:#000;border:1px solid var(--border);overflow:hidden}
.site-rotator-slide img{display:block;width:100%;height:100%;object-fit:contain}
.site-rotator-controls{display:flex;align-items:center;justify-content:center;gap:12px;flex-wrap:wrap;margin-top:18px}
.site-rotator-count{font:10px/1.5 var(--f-mono);color:var(--muted);min-width:40px;text-align:center}
@media(max-width:760px){
 .site-photo-grid,.site-gallery-grid{grid-template-columns:1fr;gap:20px}
 .site-section-top{align-items:flex-start;flex-direction:column;gap:12px}
 .site-photo-view{opacity:1}.site-lightbox{padding:14px}
 .site-lightbox-caption{flex-direction:column;align-items:flex-start}.site-lightbox-controls>span{display:none}
 .site-rotator-slide{gap:10px}
 .site-rotator-controls{gap:8px}.site-rotator button{font-size:10px;padding:8px}
}
@media(prefers-reduced-motion:reduce){.site-photo-view,.site-rotator-track{transition:none}}
/* Let local data tables scroll inside their cards rather than widen the site frame. */
.site-main .top-grid>*,.site-main .top-stack>*,.site-main .panel{min-width:0}
.site-lightbox button,.site-rotator button{min-height:44px}

.site-policy-details{font-size:16px;line-height:1.65}
