/* Savannah and Beaufort / Lowcountry pages. Loads after styles.css. */
.regional-hero{position:relative;overflow:hidden;padding:86px 0 78px;color:#fff;background:#06152c}
/* The banner photo is a real <img> (so it can carry alt text naming the
   place), layered under the tint and the content. */
.regional-hero-photo{position:absolute;inset:0;z-index:0;width:100%;height:100%;object-fit:cover;object-position:center 45%}
.regional-hero::before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,rgba(0,17,41,.92) 0%,rgba(0,17,41,.74) 50%,rgba(0,17,41,.42) 100%)}
/* Fit the whole photo height on the right and fade it into navy behind the
   text, so a wide banner shows the full scene instead of a cropped strip. */
.hero-fit-right .regional-hero-photo{left:auto;right:0;width:auto;max-width:none;object-fit:contain;-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 40%);mask-image:linear-gradient(90deg,transparent 0,#000 40%)}
.regional-hero .container{position:relative;z-index:2}
.regional-hero .eyebrow{color:#c9d4e3}
.regional-hero h1{max-width:680px;margin:0 0 20px;color:#fff;font:700 clamp(2rem,4vw,3.3rem)/1.14 "Libre Baskerville",Georgia,serif;letter-spacing:-.03em;text-shadow:0 1px 12px rgba(0,10,25,.5)}
.regional-hero p:not(.eyebrow){max-width:640px;color:#e1e7ef;font-size:1.12rem}
.regional-hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}
.regional-hero .button.primary{background:var(--bright);border-color:var(--bright)}
.regional-hero .button.primary:hover{background:#a91212}
.regional-hero .button.secondary{background:transparent;color:#fff;border-color:#fff}
.regional-hero .button.secondary:hover{background:rgba(255,255,255,.12)}
.regional-license{margin-top:18px!important;font-size:.85rem!important;color:#b9c4d3!important}
.regional-section{padding:76px 0}
.regional-section.alt{background:var(--warm)}
.regional-section h2{margin:0 0 14px;color:var(--navy);font:700 clamp(1.6rem,2.9vw,2.3rem)/1.22 "Libre Baskerville",Georgia,serif;letter-spacing:-.02em}
.regional-section .section-intro{max-width:760px;margin:0 0 34px;color:#465363;font-size:1.05rem}
.regional-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;list-style:none;margin:0;padding:0}
.regional-cards li{display:flex;flex-direction:column;padding:28px 30px;border-top:4px solid var(--bright);border-radius:var(--radius);background:#fff;box-shadow:0 8px 30px rgba(0,17,41,.07)}
.regional-section.alt .regional-cards li{background:#fff}
.regional-cards h3{margin:0 0 10px;color:var(--navy);font:700 1.2rem/1.3 "Libre Baskerville",Georgia,serif}
.regional-cards p{margin:0 0 14px;color:#4a5862;font-size:.95rem}
.regional-cards .text-link{margin-top:auto}
.regional-notes{display:grid;grid-template-columns:1fr 1fr;gap:20px 34px;list-style:none;margin:0;padding:0}
.regional-notes li{padding:22px 0 0;border-top:1px solid #d9dedc}
.regional-notes h3{margin:0 0 8px;color:var(--navy);font-size:1.05rem}
.regional-notes p{margin:0;color:#4a5862;font-size:.95rem}
.regional-story{display:grid;grid-template-columns:200px 1fr;gap:40px;align-items:start}
.regional-story img{width:200px;height:250px;border-radius:var(--radius);object-fit:cover;object-position:center 20%}
.regional-story p{color:#465363}
.regional-areas{display:flex;flex-wrap:wrap;gap:10px;list-style:none;margin:0;padding:0}
.regional-areas li{padding:8px 16px;border:1px solid #d3d7dc;border-radius:999px;background:#fff;color:var(--navy);font-weight:600;font-size:.92rem}
.regional-asterisk{margin:18px 0 0;color:#566273;font-size:.85rem;font-style:italic}
.regional-disclosure{max-width:900px;margin:0 auto;padding:34px 0 54px;color:#566273;font-size:.82rem}
@media(max-width:900px){
  .regional-cards{grid-template-columns:1fr}
  .regional-notes{grid-template-columns:1fr}
}
@media(max-width:760px){
  .regional-hero{padding:56px 0 50px}
  .regional-hero::before{background:rgba(0,17,41,.82)}
  .regional-hero-actions{flex-direction:column}
  .regional-section{padding:54px 0}
  .regional-story{grid-template-columns:1fr;gap:22px}
  .regional-story img{width:160px;height:200px}
}
