
:root{
  --ink:#17313b;
  --muted:#5c6e73;
  --paper:#f7f5ef;
  --white:#fff;
  --accent:#b27a48;
  --line:#d9d8d0;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif;line-height:1.65}
img{display:block;width:100%;height:auto}
a{color:inherit}
.container{width:min(1120px,92%);margin:auto}
.site-header{position:sticky;top:0;z-index:20;background:rgba(247,245,239,.97);border-bottom:1px solid var(--line)}
.nav{min-height:78px;display:flex;align-items:center;justify-content:space-between;gap:30px}
.brand{text-decoration:none;letter-spacing:.16em;font-size:20px;font-weight:700}
.brand small{display:block;font-size:9px;letter-spacing:.22em;font-weight:400;margin-top:-2px}
.menu{display:flex;gap:28px;align-items:center}
.menu a{text-decoration:none;font-size:12px;letter-spacing:.12em;text-transform:uppercase}
.menu a:hover{opacity:.6}
.hero{position:relative;min-height:78vh;display:grid;place-items:center;overflow:hidden;background:#18343e}
.hero img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hero:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.12),rgba(0,0,0,.38))}
.hero-content{position:relative;z-index:1;text-align:center;color:white;width:min(850px,90%);padding:120px 20px}
.kicker{font-size:12px;letter-spacing:.3em;text-transform:uppercase}
h1,h2,h3{font-family:Georgia,"Times New Roman",serif;font-weight:400;line-height:1.15}
h1{font-size:clamp(48px,8vw,88px);margin:16px 0}
.hero p{font-size:19px;max-width:680px;margin:0 auto 30px}
.button{display:inline-block;padding:13px 25px;border:1px solid currentColor;text-decoration:none;text-transform:uppercase;letter-spacing:.14em;font-size:11px;margin:5px}
.button.fill{background:white;color:var(--ink);border-color:white}
.section{padding:95px 0}
.section.white{background:white}
.intro{text-align:center;max-width:820px}
.intro h2{font-size:44px;margin:12px 0 20px}
.intro p{color:var(--muted);font-size:17px}
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}
.card{background:white}
.card img{aspect-ratio:4/3;object-fit:cover}
.card-body{padding:25px 24px 30px}
.card h3{font-size:27px;margin:0 0 10px}
.card p{color:var(--muted);margin:0}
.split{display:grid;grid-template-columns:1fr 1fr;min-height:600px}
.split .image{min-height:520px}
.split .image img{height:100%;object-fit:cover}
.split .copy{display:flex;align-items:center;padding:70px}
.copy-inner{max-width:520px}
.copy h2{font-size:46px;margin:10px 0 22px}
.copy p{color:var(--muted)}
.feature-image{height:min(72vh,720px);object-fit:cover}
.quote{background:var(--ink);color:white;text-align:center}
.quote p{color:#d9e0e1;max-width:700px;margin:0 auto 28px}
.quote .button{color:white}
.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}
.gallery img{height:300px;object-fit:cover}
.page-hero{padding:120px 0 90px;background:var(--ink);color:white;text-align:center}
.page-hero h1{font-size:64px;margin:10px 0}
.page-hero p{max-width:700px;margin:auto;color:#d9e0e1}
.form{max-width:720px;margin:auto;background:white;padding:45px}
label{display:block;font-size:12px;text-transform:uppercase;letter-spacing:.1em;margin:18px 0 7px}
input,textarea,select{width:100%;padding:13px;border:1px solid #ccc;background:#fff;font:inherit}
textarea{min-height:150px}
footer{padding:50px 0;background:#10272f;color:#d9e0e1}
.footer-grid{display:flex;justify-content:space-between;gap:30px}
footer a{text-decoration:none}
@media(max-width:760px){
 .nav{min-height:68px}.menu{gap:12px}.menu a{font-size:9px}
 .brand{font-size:16px}
 .hero{min-height:70vh}
 .grid3,.split{grid-template-columns:1fr}
 .split .copy{padding:55px 8%}
 .gallery{grid-template-columns:1fr 1fr}
 .gallery img{height:220px}
 .section{padding:65px 0}
 .intro h2,.copy h2{font-size:38px}
 .page-hero h1{font-size:48px}
 .footer-grid{display:block}
}

.text-link{display:inline-block;margin-top:16px;text-decoration:none;text-transform:uppercase;letter-spacing:.12em;font-size:10px;border-bottom:1px solid currentColor;padding-bottom:3px}
.card>a{display:block}
.card>a img{transition:transform .35s ease}
.card:hover>a img{transform:scale(1.02)}

.charter-nav{text-align:center;padding:24px 0;border-bottom:1px solid var(--line);background:white}
.charter-nav a{display:inline-block;margin:4px 14px;text-decoration:none;text-transform:uppercase;letter-spacing:.1em;font-size:10px}
.charter-nav a.active{border-bottom:1px solid currentColor;padding-bottom:3px}

/* Contact-form feedback and bot-trap field */
#formStatus{margin:18px 0 0;color:var(--muted);min-height:1.6em}
button.button{background:transparent;color:var(--ink);font-family:inherit;cursor:pointer}
button.button:disabled{opacity:.55;cursor:wait}
.hp-field{position:absolute;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}
