:root{color-scheme:light;--ink:#11263b;--navy:#102b43;--deep:#0a1c2d;--paper:#f5f4ef;--muted:#4b6171;--line:#d8e0e2;--accent:#ffdc70;--width:72rem}
*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:1rem/1.65 system-ui,sans-serif;overflow-wrap:anywhere}img,video{display:block;max-width:100%;height:auto}a{color:inherit;text-underline-offset:.2em}button{font:inherit;cursor:pointer}button:focus-visible,a:focus-visible{outline:3px solid #268cf0;outline-offset:4px}[hidden]{display:none!important}
.wrap{width:min(var(--width),100% - 3rem);margin-inline:auto}.skip{position:absolute;top:.5rem;left:.5rem;z-index:4;background:white;padding:.75rem;transform:translateY(-200%)}.skip:focus{transform:none}
.header,footer{background:var(--deep);color:white}.head{display:flex;gap:2rem;align-items:center;justify-content:space-between;min-height:5.8rem}.logo{flex:none}.logo img{width:10rem;height:auto}nav ul,footer ul{margin:0;padding:0;list-style:none}.head nav ul{display:flex;gap:.25rem;flex-wrap:wrap}.head nav a{display:block;text-decoration:none;padding:.65rem .75rem;font-weight:650;font-size:.92rem;border-radius:.4rem}.head nav a:hover,.head nav a[aria-current]{background:#203c52;color:var(--accent)}.menu-toggle{background:transparent;color:white;border:1px solid #92a6b5;border-radius:.35rem;padding:.4rem .85rem}
.hero{position:relative;display:grid;align-items:end;isolation:isolate;background:var(--navy);color:white;min-height:clamp(31rem,62vw,44rem)}.hero>img,.hero::after{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;z-index:-1}.hero::after{content:"";background:linear-gradient(90deg,#081c2deb 0%,#081c2dbc 39%,#081c2d25 85%),linear-gradient(0deg,#081c2db5,transparent 50%)}.hero-copy{padding-block:clamp(3rem,9vw,7rem)}.hero-copy>p:not(.eyebrow){font-size:clamp(1.03rem,2vw,1.3rem);max-width:33rem;margin:1.3rem 0 1.8rem}
h1,h2,h3{line-height:1.12;margin:0;letter-spacing:-.035em}h1{font-size:clamp(2.45rem,7.3vw,5.65rem);max-width:16ch}h2{font-size:clamp(1.6rem,4vw,2.7rem);margin-bottom:1.25rem}h3{font-size:1.3rem}.eyebrow{text-transform:uppercase;letter-spacing:.15em;font-weight:800;font-size:.78rem;margin:0 0 .8rem}.hero .eyebrow,.page-head .eyebrow{color:var(--accent)}
.actions{display:flex;flex-wrap:wrap;gap:.7rem}.button,dialog button{display:inline-block;text-decoration:none;padding:.65rem 1rem;border:1px solid transparent;border-radius:.45rem;font-weight:750;background:var(--accent);color:var(--deep)}.button.outline{background:#102b4380;border-color:white;color:white}.button:hover,dialog button:hover{filter:brightness(.94)}
.section{padding-block:clamp(2.1rem,5vw,4.1rem)}.section+.section{padding-top:0}.page-head{background:var(--navy);color:white;padding:clamp(2.3rem,7vw,5rem) 0}.page-head h1{font-size:clamp(2.35rem,6vw,4.5rem)}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,19rem),1fr));gap:1.3rem}.card,.panel{background:white;border:1px solid var(--line);border-radius:.85rem;overflow:hidden}.card>img,.card>.photo img,.gallery img{width:100%;aspect-ratio:16/10;object-fit:cover;background:#e5e8e9}.card:has(img[src$="merged.JPG"])>img{object-fit:contain}.card-body,.panel{padding:clamp(1rem,3vw,1.6rem)}.card-body p{margin:.8rem 0}.card-body p img{max-width:3rem}.text-link{font-weight:750}.gallery .photo{border-radius:.65rem;overflow:hidden}.prose{max-width:49rem}.prose img,.prose video{border-radius:.65rem}.prose h2:not(:first-child){margin-top:2rem}.prose p:first-child{margin-top:0}.contact{display:grid;grid-template-columns:1fr 1.4fr;gap:1.25rem}.panel iframe{display:block;border:0;width:100%;min-height:20rem;background:#e2e8ea}address{font-style:normal}
.foot{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:2rem;padding-block:2.6rem}.foot h2{font-size:1.05rem;color:var(--accent);letter-spacing:0;margin-bottom:.6rem}.foot a{color:#e7eef5}.foot-end{border-top:1px solid #476075;padding-block:1rem;font-size:.88rem;color:#e7eef5}
dialog{width:min(32rem,100% - 2rem);max-height:calc(100% - 2rem);padding:1.5rem;border:1px solid var(--line);border-radius:.8rem;color:var(--ink)}dialog::backdrop{background:#081c2dbb}dialog button[value=deny],dialog button[value=allow]{background:var(--navy);color:white}dialog button[value=close]{background:white;border-color:var(--line)}
@media(max-width:54rem){.head{flex-wrap:wrap;gap:.25rem;padding-block:.8rem;min-height:0}.head nav{flex-basis:100%}.head nav ul{flex-direction:column}.head nav a{padding-inline:0}.head nav[hidden]{display:none}.hero::after{background:linear-gradient(0deg,#081c2df5,#081c2db5 44%,#081c2d20 100%)}}
@media(max-width:42rem){.wrap{width:calc(100% - 2rem)}.contact,.foot{grid-template-columns:1fr}.foot{gap:1.5rem}.hero>img{object-position:60% center}}
.card:has(img[src$="merged.JPG"]) .photo img{object-fit:contain}
.lightbox{width:min(76rem,100% - 1rem);max-height:calc(100% - 1rem);padding:.65rem;background:var(--deep);color:white}
.lightbox-bar{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-bottom:.5rem}
.lightbox-caption{margin:0;padding-inline:.3rem}
.lightbox-stage{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:clamp(.2rem,1.5vw,1rem)}
.lightbox-stage img{grid-column:2;width:100%;height:min(68vh,50rem);object-fit:contain}
.lightbox-stage [data-previous]{grid-column:1;grid-row:1}
.lightbox-stage [data-next]{grid-column:3;grid-row:1}
.lightbox button{display:grid;place-items:center;width:2.75rem;height:2.75rem;padding:0;font-size:1.35rem;line-height:1}
