:root{--navy:#121b2f;--navy2:#1d2a45;--paper:#f8f5ef;--white:#fffdf9;--ink:#172033;--slate:#687386;--line:rgba(18,27,47,.14);--gold:#d7b06a;--coral:#a65340;--sea:#4f7896;--serif:"Cormorant Garamond",Georgia,serif;--sans:Manrope,Arial,sans-serif}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;color:var(--ink);background:var(--paper);font-family:var(--sans);overflow-x:clip;-webkit-font-smoothing:antialiased}
a{color:inherit}
.hub-header{position:sticky;z-index:10;top:0;display:flex;min-height:72px;align-items:center;justify-content:space-between;gap:35px;padding:0 clamp(20px,5vw,76px);color:var(--white);background:rgba(18,27,47,.96);backdrop-filter:blur(14px)}
.hub-brand{display:flex;min-width:0;align-items:center;gap:10px;text-decoration:none;font-size:.82rem;letter-spacing:.09em;white-space:nowrap}
.hub-brand span{position:relative;width:27px;height:27px;border:1px solid rgba(255,255,255,.45);border-radius:50%}
.hub-brand span:after{position:absolute;content:"";width:6px;height:6px;right:4px;top:4px;border-radius:50%;background:var(--gold)}
.hub-header nav{display:flex;align-items:center;gap:22px}
.hub-header nav a{color:rgba(255,255,255,.67);font-size:.72rem;text-decoration:none}
.hub-header nav a[aria-current="page"],.hub-header nav a:hover{color:var(--gold)}
.hub-hero{display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:70px;align-items:end;padding:clamp(85px,10vw,150px) clamp(24px,7vw,110px);color:var(--white);background:radial-gradient(circle at 82% 18%,rgba(215,176,106,.2),transparent 28%),linear-gradient(140deg,var(--navy),#233554)}
.hub-hero>div{max-width:980px}
.hub-eyebrow{margin:0 0 20px;color:var(--gold);font-size:.68rem;font-weight:800;letter-spacing:.15em;text-transform:uppercase}
.hub-hero h1{max-width:1000px;margin:0;font-family:var(--serif);font-size:clamp(3.4rem,7vw,7.4rem);font-weight:500;letter-spacing:-.05em;line-height:.9}
.hub-hero>div>p:not(.hub-eyebrow){max-width:760px;margin:34px 0 0;color:rgba(255,255,255,.68);font-size:1rem;line-height:1.8}
.hub-actions{display:flex;flex-wrap:wrap;gap:13px 24px;align-items:center;margin-top:34px}
.hub-actions a{color:var(--gold);font-size:.76rem;font-weight:800;text-underline-offset:4px}
.hub-actions .hub-primary{border-radius:999px;padding:13px 19px;color:var(--navy);background:var(--gold);text-decoration:none}
.hub-hero aside{padding:30px;border:1px solid rgba(255,255,255,.16);background:rgba(255,255,255,.05)}
.hub-hero aside strong{display:block;color:var(--gold);font-family:var(--serif);font-size:4.5rem;font-weight:500;line-height:.82}
.hub-hero aside span,.hub-hero aside small{display:block}
.hub-hero aside span{margin-top:15px;font-size:.7rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}
.hub-hero aside small{margin-top:28px;color:rgba(255,255,255,.48);font-size:.65rem}
.hub-content{padding:clamp(75px,8vw,120px) clamp(20px,6vw,90px)}
.hub-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;max-width:1400px;margin:0 auto}
.hub-card{min-width:0;overflow:hidden;border:1px solid var(--line);background:var(--white)}
.hub-image{display:block;overflow:hidden;aspect-ratio:16/10;background:#dde5e9}
.hub-image img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .35s ease}
.hub-card:hover .hub-image img{transform:scale(1.025)}
.hub-card>div{padding:25px}
.hub-card>div>span{color:var(--coral);font-size:.61rem;font-weight:800;letter-spacing:.11em;text-transform:uppercase}
.hub-card h2{margin:20px 0 7px;font-family:var(--serif);font-size:2rem;font-weight:500;line-height:1}
.hub-card h2 a{text-decoration:none;overflow-wrap:anywhere}
.hub-location{margin:0 0 18px!important;color:var(--sea)!important;font-size:.68rem!important;font-weight:800}
.hub-card p{margin:0;color:var(--slate);font-size:.8rem;line-height:1.7}
.hub-open{display:inline-block;margin-top:23px;color:var(--sea);font-size:.68rem;font-weight:800;text-decoration:none}
.hub-region{max-width:1400px;margin:0 auto 100px}
.hub-region:last-child{margin-bottom:0}
.hub-region-copy{display:grid;grid-template-columns:180px minmax(280px,.6fr) minmax(300px,1fr);gap:30px;align-items:end;margin-bottom:32px;padding-bottom:28px;border-bottom:1px solid var(--line)}
.hub-region-copy p{margin:0;color:var(--coral);font-size:.66rem;font-weight:800;letter-spacing:.09em;text-transform:uppercase}
.hub-region-copy h2{margin:0;font-family:var(--serif);font-size:4rem;font-weight:500;line-height:.9}
.hub-region-copy div{color:var(--slate);font-size:.88rem;line-height:1.7}
.hub-footer{display:grid;grid-template-columns:minmax(220px,.55fr) 1.2fr;gap:50px;padding:65px clamp(20px,6vw,90px) 30px;color:rgba(255,255,255,.62);background:#0b1222}
.hub-footer>div strong{color:var(--white)}
.hub-footer>div p{max-width:430px;font-size:.72rem;line-height:1.65}
.hub-footer nav{display:flex;flex-wrap:wrap;align-content:flex-start;gap:12px 18px}
.hub-footer nav a{font-size:.68rem;text-decoration:none}
.hub-footer nav a[aria-current="page"]{color:var(--gold)}
.hub-footer>p{grid-column:1/-1;margin:25px 0 0;padding-top:20px;border-top:1px solid rgba(255,255,255,.12);font-size:.65rem}
@media(max-width:1000px){.hub-header nav a:not([aria-current="page"]):not(:last-child){display:none}
.hub-hero{grid-template-columns:1fr}
.hub-hero aside{display:flex;align-items:center;gap:20px}
.hub-hero aside small{margin:0 0 0 auto}
.hub-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.hub-region-copy{grid-template-columns:120px 1fr}
.hub-region-copy div{grid-column:1/-1}
}
@media(max-width:650px){.hub-header{min-height:64px;padding:0 16px}
.hub-header nav{gap:12px}
.hub-header nav a{font-size:.66rem}
.hub-header nav a:not(:last-child){display:none}
.hub-header nav a:last-child{white-space:nowrap}
.hub-hero{gap:38px;padding:78px 20px}
.hub-hero h1{font-size:clamp(3.2rem,16vw,5.4rem)}
.hub-hero aside{align-items:flex-start;flex-direction:column}
.hub-hero aside small{margin:8px 0 0}
.hub-content{padding:68px 16px}
.hub-grid{grid-template-columns:1fr}
.hub-region{margin-bottom:78px}
.hub-region-copy{grid-template-columns:1fr;gap:13px}
.hub-region-copy div{grid-column:auto}
.hub-region-copy h2{font-size:3.3rem}
.hub-footer{grid-template-columns:1fr;padding:50px 20px 25px}
}
