:root{
  --ivory:#f4eddd;
  --ivory-light:#fbf7ee;
  --peacock:#0f5663;
  --peacock-deep:#083b45;
  --persimmon:#c96d4f;
  --persimmon-dark:#9e4c34;
  --yellow:#f4dfa0;
  --yellow-dark:#b79643;
  --white:#fff;
  --muted:#6f6963;
  --line:#b9ada0;
  --shell:1160px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;background:var(--ivory);color:var(--peacock-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(--persimmon-dark)}
a:focus-visible,button:focus-visible,input:focus-visible{
  outline:3px solid var(--yellow-dark);outline-offset:3px
}
button,input{font:inherit}
h1,h2,h3,p{margin-top:0}
h1,h2,h3,.wordmark,.footer-brand{
  font-family:"Arial Rounded MT Bold","Trebuchet MS",Arial,Helvetica,sans-serif;
  font-weight:800;letter-spacing:-.045em
}
h1{max-width:11ch;margin-bottom:0;font-size:clamp(3.2rem,6.8vw,6.2rem);line-height:.9}
h2{margin-bottom:.75rem;font-size:clamp(2.05rem,4vw,3.4rem);line-height:.97}
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(--peacock-deep);color:var(--white);transform:translateY(-180%)
}
.skip-link:focus{transform:translateY(0)}
.site-header{border-bottom:1px solid var(--line);background:rgba(244,237,221,.98)}
.header-inner{
  display:flex;min-height:76px;align-items:center;justify-content:space-between;gap:1.2rem
}
.wordmark{color:var(--peacock-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:850;letter-spacing:.05em;text-decoration:none;text-transform:uppercase
}
.opening{padding-block:1.3rem 2rem}
.opening-layout{
  display:grid;grid-template-columns:minmax(0,1fr) 210px;
  grid-template-areas:"title title" "photo address" "welcome welcome";
  border:1px solid var(--line);background:var(--ivory-light)
}
.title-band{
  grid-area:title;padding:1.15rem 1.25rem;border-bottom:1px solid var(--line);
  background:var(--ivory-light)
}
.eyebrow{
  margin-bottom:.55rem;color:var(--persimmon-dark);font-size:.7rem;font-weight:900;
  letter-spacing:.13em;text-transform:uppercase
}
.eyebrow-light{color:#ffe0d6}
.hero-photo{grid-area:photo;margin:0}
.hero-photo img{height:430px}
.address-rail{
  grid-area:address;display:grid;align-content:end;gap:.12rem;padding:1rem;
  border-left:1px solid var(--line);background:var(--persimmon);color:var(--ivory-light)
}
.address-kicker{
  margin-bottom:.55rem;color:var(--yellow);font-size:.68rem;font-weight:900;
  letter-spacing:.12em;text-transform:uppercase
}
.welcome-band{
  grid-area:welcome;display:grid;grid-template-columns:1fr 1fr auto;gap:1rem 1.5rem;
  align-items:center;padding:1.1rem 1.25rem;border-top:1px solid var(--line);
  background:var(--peacock);color:var(--white)
}
.opening-lead{margin:0;font-size:1.07rem;font-weight:700}
.welcome-band>p:not(.opening-lead){margin:0;color:#ddecf0}
.button{
  display:inline-flex;min-height:46px;align-items:center;justify-content:center;
  padding:.72rem 1rem;border:1px solid var(--peacock-deep);font-weight:850;
  line-height:1.15;text-decoration:none
}
.button-primary{background:var(--yellow);color:var(--peacock-deep)}
.button-primary:hover{background:var(--persimmon);border-color:var(--persimmon);color:var(--white)}
.button-secondary{border-color:var(--ivory-light);background:transparent;color:var(--ivory-light)}
.button-secondary:hover{background:var(--ivory-light);color:var(--peacock-deep)}
.image-note,figcaption{margin-top:.5rem;color:var(--muted);font-size:.74rem}
figcaption span{margin-right:.45rem;color:var(--persimmon-dark);font-weight:900}

.introduction-section{padding-block:clamp(3rem,5vw,4.2rem);background:var(--white)}
.introduction-grid{
  display:grid;grid-template-columns:minmax(0,.85fr) minmax(420px,1.15fr);
  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:260px;border:1px solid var(--line)}
.supporting-images figure:last-child{margin-top:1.5rem}

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

.updates-section{padding-block:clamp(3rem,5vw,4rem);background:var(--ivory)}
.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:850}
.field input[type="email"]{
  width:100%;min-height:48px;padding:.72rem .8rem;border:1px solid var(--line);
  background:var(--ivory-light);color:var(--peacock-deep)
}
.field input[type="email"]:disabled{background:#e5decf;color:#69635d;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:#a79f94;background:#ddd6c9;color:#645e58;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(--ivory-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(--ivory-light)}
.legal-intro{padding-block:clamp(3rem,6vw,4.8rem);border-bottom:1px solid var(--line);background:var(--yellow)}
.legal-intro h1{max-width:14ch;font-size:clamp(2.8rem,5.5vw,5rem)}
.legal-intro p:last-child{max-width:68ch;color:#5f594f}
.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(--persimmon);
  background:#f6e4dc;color:var(--peacock-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-layout{
    grid-template-columns:1fr;
    grid-template-areas:"title" "welcome" "photo" "address"
  }
  .hero-photo img{height:380px}
  .address-rail{border-left:0;border-top:1px solid var(--line)}
  .welcome-band,.introduction-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,15vw,4.8rem)}
  .hero-photo img{height:280px}
  .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:230px}
  .location-card .button{width:100%}
  .footer-nav{align-items:flex-start;flex-direction:column}
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{transition-duration:.01ms!important}
}
