@charset "UTF-8";
:root{--navy:#173c49;--deep:#102e39;--gold:#a77a34;--ink:#233c43;--muted:#637479;--line:#dce5e5;--soft:#f3f6f4;--cream:#f7f3ea;--radius:18px;--shadow:0 10px 35px #193c4809}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:#fff;color:var(--ink);font:16px/1.65 "Segoe UI",Arial,sans-serif}a{color:inherit;text-decoration:none}a:hover{text-decoration:underline;text-underline-offset:5px}button,input,select,textarea{font:inherit}button,.button{display:inline-flex;align-items:center;justify-content:center;gap:18px;padding:13px 23px;background:var(--navy);color:white;border:1px solid var(--navy);border-radius:7px;font-weight:600;line-height:1.5;cursor:pointer;text-decoration:none;transition:background .18s,transform .18s}button:hover,.button:hover{background:var(--deep);text-decoration:none;transform:translateY(-1px)}.secondary{background:transparent;color:var(--navy);border-color:#bacbce}.secondary:hover{background:var(--soft)}.small{padding:9px 17px}.text-button{border:0;background:transparent;color:var(--navy);padding:0;text-decoration:underline;font-weight:500;transform:none}.text-button:hover{background:none;color:var(--gold)}.wrap{max-width:1220px;margin-inline:auto;padding-inline:32px}.narrow{max-width:820px;margin-inline:auto}h1,h2,h3{font-family:Georgia,"Times New Roman",serif;font-weight:400;line-height:1.14;letter-spacing:-.025em;color:var(--navy)}h1{font-size:clamp(36px,4.7vw,66px);margin:22px 0 26px}h2{font-size:clamp(28px,3vw,43px);margin:10px 0 25px}h3{font-size:27px;margin:14px 0}p{margin:0 0 20px}.muted,small{color:var(--muted)}small{display:block;font-size:13px}.lead{font-size:19px;line-height:1.8;color:var(--muted);max-width:660px}.eyebrow,.small-label{text-transform:uppercase;font-size:11px;letter-spacing:.16em;font-weight:700;color:var(--navy)}.eyebrow span{letter-spacing:0;text-transform:none;color:var(--muted);font-weight:400}.gold{color:var(--gold)}.topline{background:var(--navy);color:#fff;text-align:center;padding:8px 25px;font-size:11px;letter-spacing:.09em}.topline span{margin-left:18px;opacity:.7}.site-header{display:flex;align-items:center;justify-content:space-between;gap:25px;min-height:106px}.brand{display:flex;align-items:center;gap:13px;font-weight:600;font-size:16px;max-width:390px;line-height:1.4}.brand small{font-size:10px;letter-spacing:.14em;text-transform:uppercase;margin-top:5px;font-weight:400}.brand-mark{font-size:42px;color:var(--gold);font-family:Georgia,serif}.brand img{object-fit:contain}.site-header nav{display:flex;align-items:center;gap:25px;font-size:13px;font-weight:500}.menu-toggle{display:none}.hero{display:grid;grid-template-columns:1.05fr 1fr;gap:65px;align-items:center;padding-top:32px;padding-bottom:60px}.hero h1{max-width:570px}.hero .eyebrow{margin-bottom:25px}.hero-copy{padding-block:35px}.actions{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.hero .actions{margin-top:30px}.hero-note{font-size:12px;margin-top:35px;margin-bottom:0;color:var(--muted)}.hero-note span{color:var(--gold);font-size:20px;margin-right:8px}.hero-visual{position:relative;min-width:0}.hero-visual>img{width:100%;height:560px;object-fit:cover;border-radius:160px 18px 18px 18px;display:block;background:var(--cream)}.hero-caption{position:absolute;bottom:24px;left:24px;right:24px;background:#fffffff0;border:1px solid #fff8;border-radius:10px;padding:17px 24px}.hero-caption span{display:block;font-size:11px;letter-spacing:.13em;text-transform:uppercase;color:var(--gold)}.hero-caption strong{font:27px Georgia,serif;color:var(--navy)}.visit-strip{display:grid;grid-template-columns:1fr 1fr auto;gap:36px;align-items:center;background:var(--soft);border-radius:12px;padding-block:25px;max-width:1156px}.visit-strip p{font-size:14px;margin:8px 0 0}.visit-strip>div+div{border-left:1px solid var(--line);padding-left:36px}.section{padding-block:75px}.section-head{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-bottom:30px}.section-head h2,.section-head h1{margin-bottom:0}.section-head .eyebrow{margin-bottom:12px}.arrow-link{font-size:13px;font-weight:600;white-space:nowrap;color:var(--navy)}.event-feature{display:grid;grid-template-columns:115px 1fr auto;gap:35px;padding:35px;border:1px solid var(--line);border-radius:var(--radius);align-items:center}.event-feature h3{font-size:31px}.event-feature p{margin-bottom:8px;font-size:14px}.event-date{background:var(--cream);padding:23px 10px;text-align:center;border-radius:12px;color:var(--gold)}.event-date strong{font:55px Georgia,serif;display:block}.event-date span{font-size:12px}.soft-section{background:var(--soft)}.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:25px}.card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow)}.card-image{display:block;width:100%;height:225px;object-fit:cover}.card-body{padding:28px}.card-body p{font-size:14px;color:var(--muted)}.card-placeholder{height:150px;background:linear-gradient(135deg,#e6eddf,#dce8e6);display:flex;justify-content:center;align-items:center;color:var(--gold);font:60px Georgia,serif}.publication-card .card-body{min-height:290px;display:flex;flex-direction:column}.publication-card .arrow-link{margin-top:auto}.about-teaser{display:grid;grid-template-columns:1fr 1fr;gap:70px;border-bottom:1px solid var(--line)}.about-teaser h2{max-width:460px;font-size:46px}.photo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:28px}.photo-grid img{width:100%;height:250px;object-fit:cover;border-radius:12px;transition:filter .2s}.photo-grid a:hover img{filter:brightness(.9)}figure{margin:0}figcaption{font-size:13px;color:var(--muted);padding:8px}.empty{padding:45px;background:var(--soft);border:1px dashed #bdccca;border-radius:14px;color:var(--muted);text-align:center}.filters{display:flex;gap:10px;margin-block:25px;flex-wrap:wrap}.filters a{border:1px solid var(--line);padding:8px 20px;border-radius:30px;font-size:14px}.filters .selected{color:white;background:var(--navy);border-color:var(--navy)}.pagination{display:flex;gap:25px;align-items:center;justify-content:center;margin-top:40px}.article-head{max-width:870px;padding-top:35px}.article-image{width:100%;height:auto;max-height:550px;object-fit:cover;border-radius:18px;margin:20px 0 40px}.detail-grid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(270px,1fr);gap:65px;align-items:start;margin-top:45px}.detail-grid h2{font-size:29px}.prose{font-size:18px;line-height:1.85;overflow-wrap:anywhere}.prose h2{margin-top:38px;font-size:34px}.prose h3{margin-top:30px}.prose a{pointer-events:none;text-decoration:none}.prose li{margin-bottom:8px}dl{margin:0}dt{color:var(--muted);font-size:12px;margin-top:14px}dd{margin:0 0 15px}.preserve{white-space:pre-line}.registration-panel{background:var(--soft);padding:45px;border-radius:18px;margin-top:60px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 28px}.wide{grid-column:1/-1}label{display:block;font-weight:600;font-size:14px;margin-bottom:7px}input:not([type=checkbox]),textarea,select{width:100%;border:1px solid #bacbce;border-radius:6px;padding:11px 12px;background:white;color:var(--ink);min-width:0}textarea{resize:vertical}input[type=checkbox]{width:18px;height:18px;accent-color:var(--navy)}fieldset{border:1px solid var(--line);padding:23px;border-radius:12px}legend{font-weight:600;padding:0 8px}.check,.checks label{display:flex;align-items:center;gap:10px}.checks{display:flex;gap:25px;flex-wrap:wrap}.notice{background:#edf4ed;color:#294d3b;border-left:4px solid #718f72;padding:18px 25px;margin-block:22px;border-radius:5px}.validation{color:#982f2d;background:#fff2f0;border-radius:6px}.validation ul{padding:15px 15px 15px 35px;margin:0}.validation:empty,.validation-summary-valid{display:none}.honeypot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.admin-nav{display:flex;gap:23px;padding-block:20px;flex-wrap:wrap;background:var(--soft);border-radius:8px;font-size:13px}.admin-nav form{margin:0}.admin-main{padding-block:40px 80px;min-height:60vh}.admin-main h1{font-size:42px}.admin-main h2{font-size:28px}.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}.stats span{font-size:13px;color:var(--muted)}.stats strong{display:block;font:48px Georgia,serif;margin-top:15px}.editor{border:1px solid var(--line);padding:30px;border-radius:14px;margin:25px 0 40px}.editor-thumb{width:140px;border-radius:8px}.table-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:12px;margin-top:25px}table{border-collapse:collapse;width:100%;font-size:14px;text-align:left}th{background:var(--soft);font-size:12px;white-space:nowrap}th,td{padding:17px 20px;border-bottom:1px solid var(--line);vertical-align:top}.row-actions{display:flex;gap:13px;flex-wrap:wrap;font-size:12px}.row-actions form{display:inline}.badge{background:var(--cream);padding:4px 10px;border-radius:20px;font-size:12px}.danger-text{color:#9a3231}.danger{background:#963837;border-color:#963837}.danger:hover{background:#732726}.search{display:flex;align-items:center;gap:15px;margin-top:20px}.search input{max-width:350px}.auth-panel{max-width:480px;margin:25px auto 65px;padding:35px;border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow)}.auth-panel label{margin-top:18px}.auth-panel button{margin-top:25px;width:100%}.auth-panel h1{font-size:38px}footer{background:var(--deep);color:#dae4e5;padding-top:55px;font-size:13px}.footer-grid{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:65px;padding-bottom:35px}.footer-grid h2{font:13px "Segoe UI",sans-serif;color:white;font-weight:600;letter-spacing:.05em;margin:0 0 20px}.footer-grid a{display:block;margin-bottom:10px}.footer-grid p{color:#afc2c8;font-size:13px}.footer-brand{font:24px Georgia,serif;color:white}.footer-bottom{border-top:1px solid #ffffff20;display:flex;gap:25px;padding-block:22px;font-size:11px;color:#afc2c8}.footer-bottom span{margin-right:auto}.skip-link{position:fixed;top:-100px;left:20px;padding:12px;background:white;z-index:100}.skip-link:focus{top:10px}:focus-visible{outline:3px solid #b08437;outline-offset:4px}hr{border:0;border-top:1px solid var(--line);margin-block:25px}dialog{border:0;border-radius:14px;background:var(--deep);color:white;width:min(1100px,94vw);max-height:94vh;padding:20px}dialog::backdrop{background:#06191be8}dialog img{width:100%;height:70vh;object-fit:contain;display:block}dialog p{text-align:center;margin:10px 0}.lightbox-toolbar{display:flex;gap:10px;justify-content:flex-end}.lightbox-toolbar button{background:#294c58;border:1px solid #87a5ab;padding:8px 14px}[hidden]{display:none!important}
@media(max-width:1000px){.site-header nav{gap:13px;font-size:12px}.brand{font-size:14px;max-width:270px}.hero{gap:35px}.hero-visual>img{height:500px}.hero .actions{align-items:stretch;flex-direction:column}.visit-strip{margin-inline:25px}.visit-strip .arrow-link{white-space:normal}.cards{gap:15px}.card-body{padding:22px}.stats{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.wrap{padding-inline:22px}.topline span{display:none}.site-header{min-height:86px;position:relative;flex-wrap:wrap;padding-block:16px}.brand{max-width:240px}.menu-toggle{display:block;font-size:12px;padding:7px 10px}.site-header nav{display:none;flex-basis:100%;flex-direction:column;align-items:stretch;padding:20px 0;gap:20px}.site-header nav.open{display:flex}.hero{grid-template-columns:1fr;gap:25px;padding-top:0;padding-bottom:35px}.hero-copy{padding-block:20px 0}.hero h1{font-size:49px}.hero .actions{flex-direction:row}.hero .button{font-size:12px;padding:12px 16px}.hero-note{margin-top:22px}.hero-visual>img{height:430px;border-top-left-radius:110px}.visit-strip{grid-template-columns:1fr;gap:20px;margin-inline:22px}.visit-strip>div+div{border-left:0;border-top:1px solid var(--line);padding-left:0;padding-top:15px}.section{padding-block:48px}.section-head{align-items:flex-start;flex-direction:column;gap:18px}.event-feature{grid-template-columns:75px 1fr;padding:22px;gap:18px}.event-date strong{font-size:40px}.event-feature>.button{grid-column:1/-1}.event-feature h3{font-size:25px}.event-date{padding:15px 5px}.cards{grid-template-columns:1fr}.card-placeholder{height:170px}.publication-card .card-body{min-height:0}.about-teaser{grid-template-columns:1fr;gap:10px}.about-teaser h2{font-size:37px}.photo-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.photo-grid img{height:170px}.detail-grid{grid-template-columns:1fr;gap:30px}.form-grid{grid-template-columns:1fr}.registration-panel{padding:24px}.footer-grid{grid-template-columns:1fr;gap:25px}.footer-bottom{flex-wrap:wrap;gap:14px}.footer-bottom span{width:100%}.admin-nav{gap:15px}.editor{padding:20px}.stats{gap:12px}.stats .card-body{padding:16px}.search{flex-wrap:wrap}.auth-panel{padding:25px}.auth-panel h1{font-size:34px}fieldset{padding:17px}.empty{padding:30px}.article-head{padding-top:20px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}

@media(max-width:760px){.site-header{gap:12px}.site-header .brand{max-width:calc(100% - 90px);flex:1;min-width:0}.menu-toggle{flex-shrink:0}.hero h1{font-size:44px}}

/* Supplied identity and uncropped community banner. */
.brand img{width:76px;height:76px;flex-shrink:0}
.hero.hero-banner{display:block;padding-top:12px}
.hero-banner .hero-copy{max-width:860px;margin-inline:auto;text-align:center;padding-block:25px 38px}
.hero-banner h1{max-width:850px;margin-inline:auto}
.hero-banner .lead{margin-inline:auto}
.hero-banner .actions{justify-content:center;flex-direction:row}
.hero-banner .hero-note{margin-top:22px}
.hero-banner .hero-visual>img{height:auto;width:100%;border-radius:18px;display:block;object-fit:contain}
.hero-banner .hero-caption{position:static;margin-top:12px;border:0;background:var(--soft);text-align:center;padding:14px 20px}
@media(max-width:760px){
 .brand img{width:58px;height:58px}
 .hero-banner .hero-copy{padding-block:18px 26px}
 .hero-banner h1{font-size:38px}
 .hero-banner .hero-visual>img{border-radius:10px}
 .hero-banner .hero-caption strong{font-size:23px}
 .hero-banner .hero-caption span{font-size:9px}
}

/* Welcome photograph behind the text, softened with a white veil. */
.hero.hero-background{position:relative;isolation:isolate;display:flex;align-items:center;justify-content:center;min-height:620px;padding:64px 0;margin-bottom:32px;overflow:hidden;background:#fff}
.hero-background .hero-backdrop{position:absolute;inset:0;z-index:-1;pointer-events:none}
.hero-background .hero-backdrop img{width:100%;height:100%;object-fit:cover;object-position:center 60%;opacity:.32}
.hero-background .hero-backdrop::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#ffffff45,#ffffff70 50%,#ffffff45)}
.hero-background .hero-copy{width:100%;max-width:940px;margin:0 auto;padding-block:24px;text-align:center}
.hero-background h1{max-width:880px;margin-inline:auto}
.hero-background .lead{max-width:700px;margin-inline:auto;color:var(--ink)}
.hero-background .actions{justify-content:center;flex-direction:row}
.hero-background .hero-note{color:var(--ink)}
.hero-background .secondary{background:#ffffffb3}
@media(max-width:760px){.hero.hero-background{min-height:560px;padding:35px 0;margin-bottom:24px}.hero-background h1{font-size:40px}.hero-background .hero-backdrop img{object-position:center 65%}.hero-background .hero-copy{padding-inline:24px}.hero-background .actions{gap:10px}}

.home-events{display:grid;gap:20px}

.event-day + .event-day{border-top:1px solid var(--line);margin-top:24px;padding-top:20px}.event-day h3{font-size:23px;margin-top:0}
/* Mobile: keep event cards within narrow screens and make touch controls comfortable. */
@media(max-width:760px){
  .event-feature{grid-template-columns:75px minmax(0,1fr);min-width:0}
  .event-feature>div{min-width:0;overflow-wrap:anywhere}
  .menu-toggle,.filters a,.pagination a{min-height:44px;display:inline-flex;align-items:center;justify-content:center}
  .check,.checks label{min-height:44px;cursor:pointer}
  input[type=checkbox]{flex-shrink:0}
  .form-grid>div,fieldset{min-width:0}
  .extra-option label{overflow-wrap:anywhere}
}
@media(max-width:380px){
  .event-feature{grid-template-columns:minmax(0,1fr)}
  .event-date{width:75px}
}

.extras-breakdown{margin-block:16px;max-width:760px}.extras-day+.extras-day{margin-top:22px}.extras-day h3{font:600 16px "Segoe UI",sans-serif;margin:0 0 8px}.extras-line{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;padding:10px 0;border-bottom:1px solid var(--line);align-items:start}.extras-line dt{margin:0;font-size:14px;color:var(--ink);overflow-wrap:anywhere}.extras-line dd{margin:0;font-weight:700;font-size:16px;min-width:32px;text-align:center;background:var(--soft);border-radius:6px;padding:2px 8px}
