@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:wght@600;700&display=swap');

:root{
 --green:#103b2c;--green-deep:#06271d;--green-soft:#1c503d;
 --gold:#c9a451;--gold-light:#e6c878;--cream:#f5f1e7;
 --ink:#202a24;--muted:#66736a;--white:#fff;
 --max:1480px;--shadow:0 12px 32px rgba(8,34,24,.14)
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--cream);color:var(--ink);font-family:"DM Sans",Arial,sans-serif;font-size:16px;line-height:1.55}
a{color:inherit}
.skip-link{position:absolute;left:-9999px;top:auto}.skip-link:focus{left:1rem;top:1rem;z-index:1000;background:#fff;padding:1rem}
.site-header{position:relative;background:var(--green-deep);color:#fff;z-index:20}
.header-landscape{position:absolute;inset:0;background:linear-gradient(90deg,rgba(4,35,25,.98),rgba(4,35,25,.72)),url('../images/header-landscape.jpg') center/cover no-repeat;opacity:.95}
.header-inner{position:relative;z-index:1;max-width:var(--max);margin:auto;min-height:132px;padding:12px 28px;display:flex;align-items:center;gap:28px}
.brand{display:flex;align-items:center;gap:22px;text-decoration:none;min-width:420px}
.brand-crest{width:112px;height:132px;object-fit:contain;filter:drop-shadow(0 4px 7px #0008)}
.brand-copy{display:flex;flex-direction:column;gap:8px}
.brand-name{font-family:"Playfair Display",Georgia,serif;font-size:29px;line-height:1.02;font-weight:700}
.brand-name strong{color:var(--gold-light)}
.brand-tagline{font-size:10px;letter-spacing:.2em;color:#e6dfc9}
.header-meta{margin:auto;text-align:center;color:var(--gold-light);font-size:12px;letter-spacing:.2em}
.meta-separator{padding:0 10px}
.header-toplinks{font-size:13px}
.header-toplinks ul{display:flex;gap:18px;list-style:none;margin:0;padding:0}
.header-toplinks a{text-decoration:none;color:#fff}
.main-nav{position:relative;z-index:2;border-top:1px solid var(--gold);border-bottom:1px solid #6f633e;background:rgba(3,37,26,.96)}
.main-menu{max-width:var(--max);margin:auto;padding:0 20px}
.main-menu ul{display:flex;align-items:stretch;justify-content:center;gap:0;list-style:none;margin:0;padding:0}
.main-menu li{position:relative}
.main-menu a{display:block;padding:16px 20px;color:#fff;text-decoration:none;font-weight:600;font-size:14px}
.main-menu a:hover,.main-menu .current>a{background:var(--gold);color:#171d17}
.main-menu ul ul{display:none;position:absolute;top:100%;left:0;min-width:220px;background:var(--green-deep);box-shadow:var(--shadow);flex-direction:column}
.main-menu li:hover>ul,.main-menu li:focus-within>ul{display:flex}
.nav-toggle{display:none}
.hero{position:relative;min-height:410px;background-image:var(--hero-image);background-size:cover;background-position:center 54%;color:#fff;display:flex;align-items:center;isolation:isolate}
.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(2,24,16,.88) 0%,rgba(2,24,16,.68) 40%,rgba(2,24,16,.04) 78%);z-index:-1}
.hero-inner{width:100%;max-width:var(--max);margin:auto;padding:56px 30px}
.hero-copy{max-width:640px}
.eyebrow{display:block;color:var(--gold-light);font-size:12px;font-weight:700;letter-spacing:.22em;margin-bottom:14px}
.hero h1{font-family:"Playfair Display",Georgia,serif;font-size:clamp(38px,4.3vw,62px);line-height:1.04;margin:0 0 18px;max-width:680px}
.hero p{font-size:17px;max-width:600px;margin:0 0 24px}
.hero-actions{display:flex;flex-wrap:wrap;gap:14px}
.button{display:inline-flex;align-items:center;gap:18px;padding:12px 22px;border-radius:8px;text-decoration:none;font-weight:700;border:1px solid transparent}
.button-gold{background:linear-gradient(135deg,var(--gold-light),var(--gold));color:#172018}
.button-outline{border-color:#fff;color:#fff;background:#071e16a8}
.quicklinks-wrap{background:#eee7d6;padding:16px 22px}
.quicklinks{max-width:var(--max);margin:auto}
.quicklinks>div,.quicklinks .mod-custom{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:12px}
.quicklinks a{display:flex;justify-content:center;align-items:center;text-align:center;min-height:76px;padding:14px 8px;border-radius:12px;background:linear-gradient(145deg,#155039,#06291e);color:#fff;text-decoration:none;font-weight:700;border:1px solid #c6a04c;box-shadow:0 5px 12px #173c2a20}
.quicklinks a:hover{transform:translateY(-2px);background:#1c5a40}
.home-content{max-width:var(--max);margin:0 auto;padding:26px 24px 34px;display:grid;grid-template-columns:minmax(0,2fr) minmax(260px,.9fr) minmax(220px,.85fr);gap:24px}
.section-heading{display:flex;align-items:center;gap:16px;margin:0 0 16px}
.section-heading h2{font-family:"Playfair Display",Georgia,serif;color:var(--green);font-size:25px;margin:0;white-space:nowrap}
.heading-line{height:2px;background:var(--gold);flex:1}
.events-area .moduletable,.home-events .moduletable{background:var(--green);color:#fff;padding:20px;border-radius:12px}
.feature-area img{width:100%;height:auto;border:8px solid #fff;box-shadow:var(--shadow);transform:rotate(1deg)}
.main-content{max-width:var(--max);margin:0 auto;padding:28px 24px;min-height:180px}
.component-area{max-width:100%}
.site-footer{background:var(--green-deep);color:#fff;border-top:3px solid var(--gold)}
.footer-inner{max-width:var(--max);margin:auto;padding:30px 24px;display:grid;grid-template-columns:1.1fr 1.3fr 1fr;gap:28px;align-items:center}
.footer-brand{display:flex;align-items:center;gap:16px;font-family:"Playfair Display",Georgia,serif;font-size:18px}
.footer-brand img{width:62px;height:72px;object-fit:contain}
.footer-details p{margin:4px 0;color:#e8e4d8;font-size:13px}
.footer-links a{color:var(--gold-light)}
.footer-bottom{text-align:center;border-top:1px solid #ffffff25;padding:12px;font-size:12px;color:#d9d1bd}
@media(max-width:1100px){
 .header-meta{display:none}.brand{min-width:0}.header-toplinks{margin-left:auto}
 .home-content{grid-template-columns:1fr 1fr}.news-area{grid-column:1/-1}
 .quicklinks>div,.quicklinks .mod-custom{grid-template-columns:repeat(4,1fr)}
}
@media(max-width:760px){
 .header-inner{min-height:auto;padding:10px 16px;gap:10px}
 .brand{gap:12px}.brand-crest{width:70px;height:84px}.brand-name{font-size:20px}.brand-tagline{font-size:8px;letter-spacing:.12em}
 .header-toplinks{display:none}.nav-toggle{display:flex;width:100%;justify-content:space-between;align-items:center;padding:13px 18px;background:none;color:#fff;border:0;font:inherit;font-weight:700}
 .main-menu{display:none;padding:0}.main-menu.is-open{display:block}
 .main-menu ul{display:flex;flex-direction:column}.main-menu a{padding:13px 18px;border-top:1px solid #ffffff18}
 .main-menu ul ul{position:static;display:flex;box-shadow:none;padding-left:18px}
 .hero{min-height:430px;background-position:62% center}.hero-shade{background:linear-gradient(90deg,rgba(2,24,16,.88),rgba(2,24,16,.42))}
 .hero-inner{padding:42px 20px}.hero h1{font-size:39px}.hero p{font-size:15px}
 .button{padding:11px 14px;font-size:14px}
 .quicklinks>div,.quicklinks .mod-custom{grid-template-columns:repeat(2,1fr)}
 .home-content{grid-template-columns:1fr;padding:22px 16px}.news-area{grid-column:auto}
 .footer-inner{grid-template-columns:1fr;padding:24px 18px}
}
