
:root{
  --green-950:#06291f; --green-900:#0a392b; --green-800:#0d4936;
  --green-700:#145a43; --gold:#d6ad4a; --gold-soft:#ead395;
  --cream:#f7f2e7; --paper:#fffdf8; --ink:#1f2924; --muted:#66736c;
  --red:#9e2727; --line:#ded7c8; --shadow:0 16px 40px rgba(5,35,27,.12);
  --radius:20px; --max:1180px;
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:var(--paper);line-height:1.65}img{display:block;max-width:100%}a{color:inherit}.skip-link{position:absolute;left:-999px;top:0}.skip-link:focus{left:16px;top:16px;background:white;padding:10px 14px;z-index:10000;border-radius:8px}.draft-bar{background:var(--gold);color:#1f271f;text-align:center;padding:7px 16px;font-size:.86rem;font-weight:800;letter-spacing:.02em}.site-header{position:sticky;top:0;z-index:1000;background:rgba(6,41,31,.96);backdrop-filter:blur(12px);border-bottom:1px solid rgba(255,255,255,.12)}.nav-wrap{max-width:var(--max);margin:auto;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:10px 22px}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:white;min-width:max-content}.brand-mark{display:grid;place-items:center;width:52px;height:52px;border-radius:50%;border:2px solid rgba(214,173,74,.9);background:#0b3b2e;color:#f2cd70;font-family:Georgia,serif;font-size:1.9rem;font-weight:800;line-height:1}.brand-copy{line-height:1.05}.brand-copy strong{font-family:Georgia,serif;font-size:1.35rem;letter-spacing:.05em}.brand-copy span{display:block;color:var(--gold-soft);font-size:.7rem;letter-spacing:.18em;margin-top:5px}.nav-toggle{display:none;background:none;border:1px solid rgba(255,255,255,.3);color:white;border-radius:10px;padding:8px 10px;font-size:1.2rem}.nav-links{display:flex;align-items:center;gap:4px;list-style:none;margin:0;padding:0}.nav-links a{display:block;text-decoration:none;color:#eef7f2;padding:9px 10px;border-radius:9px;font-size:.88rem;font-weight:700}.nav-links a:hover,.nav-links a[aria-current="page"]{background:rgba(214,173,74,.16);color:#ffe6a6}.hero{position:relative;min-height:650px;display:grid;align-items:end;color:white;background:#123 center/cover no-repeat;isolation:isolate}.hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(2,28,21,.9) 0%,rgba(2,28,21,.64) 44%,rgba(2,28,21,.18) 76%),linear-gradient(0deg,rgba(2,28,21,.72),transparent 50%);z-index:-1}.hero-inner{width:min(var(--max),calc(100% - 44px));margin:0 auto;padding:90px 0 78px}.eyebrow{text-transform:uppercase;letter-spacing:.18em;font-size:.75rem;font-weight:900;color:var(--gold-soft)}h1,h2,h3{font-family:Georgia,"Times New Roman",serif;line-height:1.08;margin:0 0 .7em}h1{font-size:clamp(3rem,7vw,6.7rem);max-width:900px;letter-spacing:-.035em}.hero h1 .gold{color:#f1c961}.hero p{font-size:clamp(1.05rem,2vw,1.3rem);max-width:720px;color:#eef4f0;margin:0 0 28px}.button-row{display:flex;flex-wrap:wrap;gap:12px}.btn{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;border-radius:999px;padding:13px 20px;font-weight:850;font-size:.93rem;transition:.18s ease;border:2px solid transparent;cursor:pointer}.btn-primary{background:var(--gold);color:#17231c}.btn-primary:hover{transform:translateY(-2px);background:#e3bb57}.btn-secondary{border-color:rgba(255,255,255,.72);color:white;background:rgba(255,255,255,.05)}.btn-secondary:hover{background:white;color:var(--green-950)}.btn-green{background:var(--green-800);color:white}.btn-green:hover{background:var(--green-700);transform:translateY(-2px)}.btn-outline{border-color:var(--green-800);color:var(--green-900);background:transparent}.btn-outline:hover{background:var(--green-900);color:white}.section{padding:88px 22px}.section-tight{padding:58px 22px}.container{width:min(var(--max),100%);margin:auto}.section-head{max-width:760px;margin-bottom:38px}.section-head h2{font-size:clamp(2.15rem,4vw,3.65rem);color:var(--green-950)}.section-head p{font-size:1.07rem;color:var(--muted)}.kicker{font-weight:900;color:var(--red);letter-spacing:.15em;text-transform:uppercase;font-size:.74rem}.cream{background:var(--cream)}.deep{background:var(--green-950);color:white}.deep .section-head h2,.deep h2,.deep h3{color:white}.deep .section-head p,.deep p{color:#d8e5de}.values{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}.value{padding:25px 18px;background:white;border:1px solid #e7e0d2;border-radius:18px;text-align:center;box-shadow:0 8px 25px rgba(8,43,33,.05)}.value-icon{display:grid;place-items:center;width:52px;height:52px;margin:0 auto 13px;border-radius:50%;background:var(--green-900);color:var(--gold);font-size:1.35rem;font-weight:900}.value h3{font-family:inherit;font-size:.9rem;letter-spacing:.08em;color:var(--green-950);margin:0 0 5px}.value p{font-size:.83rem;color:var(--muted);margin:0}.split{display:grid;grid-template-columns:1.05fr .95fr;gap:54px;align-items:center}.split.reverse{grid-template-columns:.95fr 1.05fr}.photo{border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);position:relative;background:#dfe5df}.photo img{width:100%;height:100%;object-fit:cover}.photo.landscape{aspect-ratio:4/3}.photo.wide{aspect-ratio:16/9}.photo-note{font-size:.75rem;color:var(--muted);margin-top:8px;font-style:italic}.display-quote{font-family:Georgia,serif;font-size:clamp(1.6rem,3.5vw,2.8rem);line-height:1.15;color:var(--green-900);margin:24px 0}.feature-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.feature-card{background:white;border-radius:var(--radius);overflow:hidden;border:1px solid #e8e1d4;box-shadow:0 10px 30px rgba(8,43,33,.06)}.feature-card img{width:100%;aspect-ratio:16/9;object-fit:cover}.feature-card .body{padding:22px}.feature-card h3{font-size:1.45rem;color:var(--green-950);margin-bottom:8px}.feature-card p{margin:0;color:var(--muted)}.cta{border-radius:28px;padding:48px;background:linear-gradient(120deg,var(--green-950),var(--green-800));color:white;display:grid;grid-template-columns:1fr auto;gap:30px;align-items:center;box-shadow:var(--shadow)}.cta h2{font-size:clamp(2rem,4vw,3.2rem);margin:0 0 10px}.cta p{margin:0;color:#d9e6df;max-width:720px}.page-hero{padding:98px 22px 74px;color:white;background:linear-gradient(100deg,rgba(5,40,30,.92),rgba(5,40,30,.5)),var(--hero-image) center/cover no-repeat}.page-hero .container{max-width:var(--max)}.page-hero h1{font-size:clamp(3rem,6vw,5.3rem);margin-bottom:15px}.page-hero p{max-width:720px;font-size:1.18rem;color:#e7efe9}.stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.stat{padding:26px;border-radius:18px;background:var(--cream);border:1px solid #e2d9c7}.stat strong{display:block;color:var(--green-900);font-family:Georgia,serif;font-size:2rem}.stat span{font-size:.9rem;color:var(--muted)}.timeline{display:grid;gap:20px}.timeline-item{display:grid;grid-template-columns:100px 1fr;gap:24px;padding:24px;border-left:4px solid var(--gold);background:white;border-radius:0 18px 18px 0;box-shadow:0 8px 22px rgba(8,43,33,.06)}.timeline-item .year{font-family:Georgia,serif;color:var(--green-900);font-size:1.4rem;font-weight:700}.timeline-item h3{font-size:1.35rem;margin-bottom:6px}.timeline-item p{margin:0;color:var(--muted)}.info-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.info-card{padding:28px;border:1px solid #e5decf;border-radius:18px;background:white}.info-card h3{font-size:1.35rem;color:var(--green-900)}.info-card p{color:var(--muted);margin-bottom:0}.resource-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.resource-card{display:flex;flex-direction:column;padding:26px;border-radius:18px;background:white;border:1px solid #e4ddcf;min-height:220px}.resource-card h3{font-size:1.35rem;color:var(--green-900)}.resource-card p{color:var(--muted);flex:1}.resource-card a{font-weight:850;color:var(--green-800)}.calendar-box{border:1px solid #ded7c8;border-radius:22px;background:white;padding:28px;box-shadow:0 8px 25px rgba(8,43,33,.05)}.calendar-placeholder{display:grid;place-items:center;min-height:380px;text-align:center;padding:35px;background:linear-gradient(145deg,#edf3ee,#f9f5eb);border-radius:16px;border:1px dashed #9cab9f}.calendar-placeholder strong{font-family:Georgia,serif;color:var(--green-900);font-size:1.7rem}.calendar-frame{width:100%;height:680px;border:0;border-radius:14px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.field{display:grid;gap:7px}.field.full{grid-column:1/-1}.field label{font-weight:800;color:var(--green-950);font-size:.9rem}.field input,.field select,.field textarea{width:100%;border:1px solid #bfc8c1;border-radius:12px;background:white;padding:13px 14px;font:inherit;color:var(--ink)}.field input:focus,.field select:focus,.field textarea:focus{outline:3px solid rgba(214,173,74,.28);border-color:var(--gold)}.field textarea{min-height:145px;resize:vertical}.checkbox{display:flex;align-items:flex-start;gap:10px;font-size:.88rem;color:var(--muted)}.checkbox input{margin-top:5px}.form-note{font-size:.85rem;color:var(--muted);padding:14px 16px;background:#f4efe4;border-radius:12px;border-left:4px solid var(--gold)}.honeypot{position:absolute;overflow:hidden;clip:rect(0 0 0 0);height:1px;width:1px;margin:-1px;padding:0;border:0}.contact-layout{display:grid;grid-template-columns:.82fr 1.18fr;gap:52px}.contact-panel{padding:30px;border-radius:20px;background:var(--green-950);color:white}.contact-panel h2,.contact-panel h3{color:white}.contact-panel a{color:#ffe4a0}.contact-list{display:grid;gap:18px;margin:28px 0}.contact-item strong{display:block;color:var(--gold-soft);font-size:.8rem;text-transform:uppercase;letter-spacing:.12em}.contact-item span,.contact-item a{font-size:1rem}.notice{padding:17px 20px;border-radius:14px;background:#fff6db;border:1px solid #ead187;color:#59481f}.footer{background:#041f18;color:#dbe7e0;padding:52px 22px 24px}.footer-grid{width:min(var(--max),100%);margin:auto;display:grid;grid-template-columns:1.3fr .8fr .8fr;gap:46px}.footer-logo{display:flex;align-items:center;gap:15px}.footer-mark{display:grid;place-items:center;width:72px;height:72px;border-radius:50%;border:2px solid rgba(214,173,74,.9);background:#0b3b2e;color:#f2cd70;font-family:Georgia,serif;font-size:2.6rem;font-weight:800;line-height:1;flex:0 0 auto}.footer h3{font-family:inherit;font-size:.88rem;text-transform:uppercase;letter-spacing:.12em;color:var(--gold-soft)}.footer a{color:#dbe7e0;text-decoration:none}.footer a:hover{text-decoration:underline;color:white}.footer ul{list-style:none;margin:0;padding:0;display:grid;gap:8px}.footer-small{width:min(var(--max),100%);margin:38px auto 0;padding-top:22px;border-top:1px solid rgba(255,255,255,.12);font-size:.77rem;color:#9eb0a7;display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap}.socials{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px}.social-link{display:inline-flex;padding:8px 12px;border:1px solid rgba(255,255,255,.22);border-radius:999px;font-size:.84rem}.breadcrumbs{font-size:.83rem;color:#d9e5df;margin-bottom:20px}.breadcrumbs a{color:#ffe6a3}.external:after{content:' ↗';font-size:.8em}.pill{display:inline-flex;align-items:center;padding:6px 10px;border-radius:999px;background:#e8efe9;color:var(--green-900);font-size:.78rem;font-weight:800}.list-clean{padding-left:1.2rem}.list-clean li{margin:.45rem 0}.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.gallery .photo{aspect-ratio:1/1}.quote-panel{padding:36px;border-radius:22px;background:var(--cream);border-left:5px solid var(--gold)}.quote-panel p{font-family:Georgia,serif;font-size:1.7rem;line-height:1.3;color:var(--green-900);margin:0 0 14px}.quote-panel small{color:var(--muted)}.legal h2{font-size:2rem;margin-top:2.2rem;color:var(--green-950)}.legal h3{font-size:1.3rem;margin-top:1.7rem}.legal p,.legal li{color:#4d5d55}.error-page{min-height:70vh;display:grid;place-items:center;text-align:center;padding:40px 22px}.error-page h1{color:var(--green-950)}
@media(max-width:980px){.nav-toggle{display:block}.nav-links{position:absolute;left:0;right:0;top:73px;background:var(--green-950);display:none;flex-direction:column;align-items:stretch;padding:14px 22px 24px;border-top:1px solid rgba(255,255,255,.1)}.nav-links.open{display:flex}.nav-links a{padding:11px 10px}.values{grid-template-columns:repeat(3,1fr)}.split,.split.reverse,.contact-layout{grid-template-columns:1fr;gap:35px}.stat-grid{grid-template-columns:repeat(2,1fr)}.info-grid,.resource-grid{grid-template-columns:repeat(2,1fr)}.footer-grid{grid-template-columns:1fr 1fr}.footer-grid>div:first-child{grid-column:1/-1}}
@media(max-width:680px){.hero{min-height:590px;background-position:58% center}.hero-inner{width:min(var(--max),calc(100% - 34px));padding-bottom:54px}.hero h1{font-size:3.2rem}.section{padding:66px 18px}.section-tight{padding:48px 18px}.values,.feature-grid,.info-grid,.resource-grid,.gallery{grid-template-columns:1fr}.cta{grid-template-columns:1fr;padding:34px 25px}.page-hero{padding:75px 18px 55px}.page-hero h1{font-size:3.2rem}.stat-grid{grid-template-columns:1fr 1fr}.timeline-item{grid-template-columns:1fr;gap:8px}.form-grid{grid-template-columns:1fr}.field.full{grid-column:auto}.footer-grid{grid-template-columns:1fr}.footer-grid>div:first-child{grid-column:auto}.brand-copy strong{font-size:1.1rem}.brand-copy span{font-size:.6rem}.brand-mark{width:45px;height:45px;font-size:1.65rem}.nav-wrap{padding:9px 14px}.nav-links{top:64px}.calendar-frame{height:540px}}

/* Preserve full event photographs, including portrait images. */
.event-photo>img{height:340px;aspect-ratio:auto;object-fit:contain;background:var(--cream)}
.caption-gallery .photo{aspect-ratio:auto;margin:0;display:flex;flex-direction:column;background:white}
.caption-gallery .photo img{height:280px;object-fit:contain;background:var(--cream)}
.caption-gallery figcaption{padding:14px 16px;font-size:.9rem;color:var(--muted)}
@media(max-width:680px){.event-photo>img{height:300px}}

.uniform-group img{object-fit:contain;background:var(--cream)}
.card-photo-link{display:block;background:var(--cream)}
.event-photo>.card-photo-link>img{height:340px;aspect-ratio:auto;object-fit:contain}
.album-preview{display:flex;gap:8px;margin:18px 0 12px}.album-preview a{flex:1;min-width:0;border-radius:8px;overflow:hidden;background:var(--cream)}
.album-preview img{width:100%;height:78px;aspect-ratio:auto;object-fit:contain}
.album-link{display:inline-block;color:var(--green-800);font-weight:800;text-underline-offset:4px}
.card-photo-link:focus-visible,.album-photo:focus-visible,.album-preview a:focus-visible{outline:4px solid var(--gold);outline-offset:-4px}
.caption-gallery .photo>a{display:block}.album-grid .photo img{height:310px}
.photo-viewer{width:min(1100px,96vw);max-width:96vw;max-height:94dvh;padding:18px;border:0;border-radius:16px;background:var(--green-950);color:white}
.photo-viewer::backdrop{background:rgba(0,0,0,.85)}
.viewer-head{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:12px}
.photo-viewer button{border:1px solid #a8bbad;border-radius:8px;background:transparent;color:white;padding:10px 16px;font:inherit;cursor:pointer;min-height:44px}
.photo-viewer img{width:100%;height:65dvh;object-fit:contain}.viewer-caption{text-align:center;margin:12px 0;color:#edf3ee}
.viewer-controls{display:flex;justify-content:space-between;gap:12px}
@media(max-width:680px){.event-photo>.card-photo-link>img{height:300px}.photo-viewer img{height:57dvh}}
