:root{
  --navy:#132C45;
  --navy-dk:#0D1F31;
  --brass:#B08A3E;
  --page:#FFFFFF;
  --warm:#F5F3EF;
  --body:#37444F;
  --rule:#DCD9D2;
  --serif:"Source Serif 4", Georgia, serif;
  --sans:"Public Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}
*{box-sizing:border-box;}
body{margin:0;background:var(--page);color:var(--body);font-family:var(--sans);font-size:1.02rem;line-height:1.65;}
.wrap{max-width:70rem;margin:0 auto;padding:0 clamp(1.25rem,4vw,2.5rem);}
a{color:inherit;}
:focus-visible{outline:2px solid var(--brass);outline-offset:3px;}
.skip{position:absolute;left:-9999px;}
.skip:focus{position:static;display:inline-block;padding:.5rem 1rem;background:var(--brass);color:#fff;}

/* masthead */
.masthead{background:var(--navy);color:#fff;}
.masthead .wrap{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem 2rem;padding-top:1.5rem;padding-bottom:1.5rem;}
.mark{font-family:var(--serif);font-size:clamp(1.35rem,1rem + 1.4vw,1.9rem);font-weight:600;line-height:1.1;margin:0;}
.mark a{text-decoration:none;}
.mark small{display:block;font-family:var(--sans);font-size:.68rem;font-weight:500;letter-spacing:.22em;text-transform:uppercase;color:var(--brass);margin-top:.4rem;}
.mast-contact{font-size:.85rem;text-align:right;line-height:1.7;color:#C7D2DD;}
.mast-contact strong{display:block;color:#fff;font-size:1.05rem;font-weight:600;}
.mast-contact a{text-decoration:none;}
@media(max-width:40rem){.mast-contact{text-align:left;}}

/* nav */
nav.primary{background:var(--navy-dk);}
nav.primary ul{display:flex;flex-wrap:wrap;gap:0 2.2rem;list-style:none;margin:0;padding:0;}
nav.primary a{display:block;color:#B9C6D3;font-size:.74rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;padding:.95rem 0;text-decoration:none;border-bottom:3px solid transparent;}
nav.primary a:hover{color:#fff;}
nav.primary a[aria-current="page"]{color:#fff;border-bottom-color:var(--brass);}

main{padding:clamp(2.5rem,6vw,4.5rem) 0 0;}

h1.sec,h2.sec{font-family:var(--serif);color:var(--navy);font-size:clamp(1.5rem,1.2rem + 1vw,2rem);font-weight:600;margin:0 0 .4rem;}
.rule{width:3.5rem;height:3px;background:var(--brass);margin:0 0 2rem;}

.headrow{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,24rem);gap:2.5rem 3.5rem;align-items:start;margin-bottom:clamp(2.2rem,5vw,3.4rem);}
.side{margin:0;line-height:0;}
.side img{width:100%;height:auto;display:block;border:1px solid var(--rule);}
@media(max-width:52rem){.headrow{grid-template-columns:1fr;}.side{order:-1;}}

.lead p{max-width:56ch;font-size:1.07rem;margin:0 0 .9rem;}
.more{display:inline-block;margin-top:1.4rem;font-size:.78rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--brass);text-decoration:none;}
.more:hover{color:var(--navy);}

.arealinks{display:grid;grid-template-columns:repeat(auto-fit,minmax(17rem,1fr));gap:0 3rem;margin-top:1.5rem;}
.arealinks a{display:block;border-bottom:1px solid var(--rule);padding:1.05rem 0;font-family:var(--serif);font-size:1.12rem;font-weight:600;color:var(--navy);text-decoration:none;}
.arealinks a:hover{color:var(--brass);}

.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(20rem,1fr));gap:2.4rem 3rem;margin-top:2.6rem;}
.item{border-top:1px solid var(--rule);padding-top:1.2rem;scroll-margin-top:1.5rem;}
.item h3{font-family:var(--serif);color:var(--navy);font-size:1.2rem;font-weight:600;margin:0 0 .5rem;}
.item p{margin:0;font-size:.97rem;}

.cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(14rem,1fr));gap:2rem 3rem;}
.cols h3{font-family:var(--sans);font-size:.7rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--brass);margin:0 0 .6rem;}
.cols p{margin:0 0 .4rem;font-size:.95rem;line-height:1.6;}

.map{margin-top:2.2rem;max-width:34rem;border:1px solid var(--rule);line-height:0;}
.map iframe{width:100%;height:250px;border:0;display:block;}

form{max-width:36rem;margin-top:2.4rem;}
.f{margin-bottom:1.3rem;}
label{display:block;font-size:.72rem;font-weight:600;letter-spacing:.13em;text-transform:uppercase;color:var(--navy);margin-bottom:.35rem;}
input,select,textarea{width:100%;font-family:var(--sans);font-size:1rem;color:var(--body);background:#fff;border:1px solid var(--rule);padding:.65rem .75rem;border-radius:2px;}
textarea{min-height:7rem;resize:vertical;}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--navy);}
.hp{position:absolute;left:-9999px;}
.send{background:var(--navy);color:#fff;border:0;padding:.85rem 2rem;font-family:var(--sans);font-size:.76rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;cursor:pointer;border-radius:2px;}
.send:hover{background:var(--brass);}
.send[disabled]{opacity:.55;cursor:default;}
.status{margin-top:1rem;font-size:.95rem;}
.status.ok{color:#1F6B45;}
.status.err{color:#8C2A2A;}
.note{font-size:.85rem;line-height:1.55;color:#5C6975;max-width:36rem;margin-top:1.5rem;padding-top:1rem;border-top:1px solid var(--rule);}

footer{background:var(--navy);color:#A8B8C7;margin-top:clamp(3rem,7vw,5rem);padding:1.6rem 0;font-size:.78rem;}
footer .wrap{display:flex;flex-wrap:wrap;gap:.5rem 2rem;justify-content:space-between;}
