:root{
  --chalk:#f3efe5;
  --chalk-light:#fbf8f1;
  --juniper:#23473a;
  --juniper-deep:#173229;
  --amber:#c08a47;
  --amber-deep:#8f6331;
  --lavender:#b7aac6;
  --lavender-deep:#766783;
  --white:#fff;
  --muted:#6b665e;
  --line:#b8afa2;
  --shell:1160px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;background:var(--chalk);color:var(--juniper-deep);
  font-family:Arial,Helvetica,sans-serif;font-size:1rem;line-height:1.6;
  overflow-x:hidden;text-rendering:optimizeLegibility
}
img{display:block;width:100%;max-width:100%;object-fit:cover}
a{color:inherit;text-underline-offset:.22em;text-decoration-thickness:1px}
a:hover{color:var(--lavender-deep)}
a:focus-visible,button:focus-visible,input:focus-visible{
  outline:3px solid var(--lavender-deep);outline-offset:3px
}
button,input{font:inherit}
h1,h2,h3,p{margin-top:0}
h1,h2,h3,.wordmark,.footer-brand{
  font-family:"Arial Narrow","Helvetica Neue",Arial,Helvetica,sans-serif;
  font-weight:800;letter-spacing:-.04em
}
h1{margin-bottom:0;font-size:clamp(3rem,6vw,5.8rem);line-height:.93}
h2{margin-bottom:.75rem;font-size:clamp(2rem,4vw,3.3rem);line-height:.98}
h3{margin-bottom:.4rem;font-size:1.18rem}
p:last-child{margin-bottom:0}
.shell{width:min(calc(100% - 2rem),var(--shell));margin-inline:auto}
.narrow{max-width:840px}
.skip-link{
  position:fixed;z-index:1000;top:1rem;left:1rem;padding:.75rem 1rem;
  background:var(--juniper-deep);color:var(--white);transform:translateY(-180%)
}
.skip-link:focus{transform:translateY(0)}
.site-header{border-bottom:1px solid var(--line);background:rgba(243,239,229,.98)}
.header-inner{display:flex;min-height:76px;align-items:center;justify-content:space-between;gap:1.2rem}
.wordmark{color:var(--juniper-deep);font-size:1.2rem;text-decoration:none}
.primary-nav,.footer-nav,.button-row{display:flex;flex-wrap:wrap;align-items:center;gap:.45rem .9rem}
.primary-nav a,.footer-nav a{
  display:inline-flex;min-height:44px;align-items:center;font-size:.78rem;
  font-weight:800;letter-spacing:.05em;text-decoration:none;text-transform:uppercase
}
.opening{padding-block:1.3rem 2rem}
.opening-frame{border:1px solid var(--line);background:var(--chalk-light)}
.hero-photo{margin:0}
.hero-photo img{height:390px;border-bottom:1px solid var(--line)}
.opening-band{
  display:grid;grid-template-columns:minmax(0,.8fr) minmax(360px,1.2fr);
  gap:2rem;align-items:center;padding:1.15rem 1.25rem;background:var(--amber)
}
.eyebrow{
  margin-bottom:.55rem;color:var(--lavender-deep);font-size:.7rem;font-weight:900;
  letter-spacing:.13em;text-transform:uppercase
}
.opening-band .eyebrow{color:var(--juniper-deep)}
.eyebrow-light{color:#e6def0}
.opening-copy p{color:#2b3d34}
.opening-lead{color:var(--juniper-deep)!important;font-size:1.08rem;font-weight:700}
.button{
  display:inline-flex;min-height:46px;align-items:center;justify-content:center;
  padding:.72rem 1rem;border:1px solid var(--juniper-deep);font-weight:800;
  line-height:1.15;text-decoration:none
}
.button-primary{background:var(--juniper);color:var(--white)}
.button-primary:hover{background:var(--juniper-deep);color:var(--white)}
.button-secondary{background:var(--chalk-light);color:var(--juniper-deep)}
.button-secondary:hover{background:var(--lavender)}
.image-note,figcaption{margin-top:.5rem;color:var(--muted);font-size:.74rem}
figcaption span{margin-right:.45rem;color:var(--amber-deep);font-weight:900}

.introduction-section{padding-block:clamp(3rem,5vw,4.2rem);background:var(--white)}
.intro-grid{
  display:grid;grid-template-columns:minmax(0,.82fr) minmax(420px,1.18fr);
  gap:clamp(2rem,6vw,5rem);align-items:start
}
.intro-copy p:not(.eyebrow){color:var(--muted)}
.supporting-images{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}
.supporting-images figure{margin:0}
.supporting-images img{height:250px;border:1px solid var(--line)}
.supporting-images figure:last-child{margin-top:1.25rem}

.location-section{padding-block:clamp(3rem,5vw,4.2rem);background:var(--juniper);color:var(--white)}
.location-grid{
  display:grid;grid-template-columns:minmax(0,.8fr) minmax(380px,1.2fr);
  gap:clamp(2rem,7vw,6rem);align-items:center
}
.location-section h2{color:var(--white)}
.location-section>.shell>div:first-child p:not(.eyebrow){color:#dce8e1}
.location-card{
  display:grid;gap:.15rem;padding:1.2rem;border:1px solid #628171;
  background:var(--chalk-light);color:var(--juniper-deep);font-style:normal
}
.location-card strong{margin-bottom:.25rem}
.location-card .button{justify-self:start;margin-top:.9rem}
.button-lavender{border-color:var(--lavender);background:var(--lavender);color:var(--juniper-deep)}
.button-lavender:hover{background:#d4cae0;color:var(--juniper-deep)}

.material-section{padding-block:0 3rem;background:var(--juniper)}
.material-photo{margin:0}
.material-photo img{height:230px;border:1px solid #628171}
.material-photo figcaption{color:#dce8e1}

.updates-section{padding-block:clamp(3rem,5vw,4rem);background:var(--chalk)}
.updates-grid{
  display:grid;grid-template-columns:minmax(0,.82fr) minmax(340px,1.18fr);
  gap:clamp(2rem,6vw,5rem);align-items:start
}
.updates-grid>div>p:not(.eyebrow){color:var(--muted)}
.newsletter-form{display:grid;gap:.9rem}
.field{display:grid;gap:.35rem}
.field label{font-weight:800}
.field input[type="email"]{
  width:100%;min-height:48px;padding:.72rem .8rem;border:1px solid var(--line);
  background:var(--white);color:var(--juniper-deep)
}
.field input[type="email"]:disabled{background:#e2ddd3;color:#66615a;cursor:not-allowed}
.consent-row{
  display:grid;grid-template-columns:1.15rem minmax(0,1fr);gap:.7rem;
  align-items:start;color:var(--muted);font-size:.88rem
}
.consent-row input{width:1.15rem;height:1.15rem;margin:.18rem 0 0}
.button-disabled,.button-disabled:disabled{
  border-color:#aaa197;background:#ddd6ca;color:#625d57;cursor:not-allowed
}
.form-note{color:var(--muted);font-size:.82rem}

.site-footer{padding-block:1.8rem;border-top:1px solid var(--line);background:var(--chalk-light)}
.footer-grid{display:flex;justify-content:space-between;gap:2rem}
.footer-brand{margin-bottom:.15rem;font-size:1rem}
.site-footer p{margin-bottom:.15rem;font-size:.88rem}
.footer-nav{justify-content:flex-end}

.legal-main{background:var(--chalk-light)}
.legal-intro{padding-block:clamp(3rem,6vw,4.8rem);border-bottom:1px solid var(--line);background:var(--lavender)}
.legal-intro h1{max-width:14ch;font-size:clamp(2.8rem,5.5vw,5rem)}
.legal-intro p:last-child{max-width:68ch;color:#4b4450}
.legal-section{padding-block:clamp(3rem,6vw,4.7rem);scroll-margin-top:1rem}
.legal-alt{border-block:1px solid var(--line);background:var(--white)}
.legal-copy h2{margin-bottom:2rem}
.legal-copy h3{margin-top:1.6rem}
.legal-copy p{color:var(--muted)}
.legal-note{
  margin-top:2rem;padding:1rem 1.1rem;border-left:5px solid var(--amber);
  background:#f2e3cb;color:var(--juniper-deep)!important
}
.legal-return{padding-block:2.4rem}

@media(max-width:900px){
  .header-inner{align-items:flex-start;flex-direction:column;padding-block:1rem}
  .primary-nav{width:100%}
  .opening-band,.intro-grid,.location-grid,.updates-grid{grid-template-columns:1fr}
  .footer-grid{flex-direction:column}
  .footer-nav{justify-content:flex-start}
}
@media(max-width:620px){
  .shell{width:min(calc(100% - 1.3rem),var(--shell))}
  .primary-nav{gap:.3rem .7rem}
  .primary-nav a{min-height:46px;font-size:.76rem}
  h1{font-size:clamp(3rem,14vw,4.7rem)}
  .hero-photo img{height:260px}
  .button-row{align-items:stretch;flex-direction:column}
  .button-row .button{width:100%}
  .supporting-images{grid-template-columns:1fr}
  .supporting-images figure:last-child{margin-top:0}
  .supporting-images img{height:220px}
  .location-card .button{width:100%}
  .material-photo img{height:210px}
  .footer-nav{align-items:flex-start;flex-direction:column}
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{transition-duration:.01ms!important}
}
