
/* =========================================================
   Unique location landing pages
   ========================================================= */
.rb-location-page{background:#fff}
.rb-location-money-hero{
  padding:74px 0 84px;
  background:linear-gradient(180deg,var(--rb-cream) 0%,#f8f6f1 100%);
  border-bottom:1px solid var(--rb-line);
}
.rb-location-money-grid{
  display:grid;
  grid-template-columns:.95fr 1.05fr;
  gap:72px;
  align-items:center;
}
.rb-location-money-copy h1{
  margin:0 0 22px;
  max-width:760px;
  font-size:clamp(54px,5vw,78px);
  line-height:.96;
}
.rb-location-lead{
  max-width:690px;
  font-size:17px!important;
  line-height:1.75!important;
}
.rb-location-actions{display:flex;gap:12px;flex-wrap:wrap;margin:28px 0 20px}
.rb-location-areas{
  max-width:710px;
  margin:0!important;
  font-size:12px!important;
  line-height:1.65!important;
  color:#6a7074!important;
}
.rb-location-money-image{
  position:relative;
  min-height:560px;
  overflow:hidden;
  background:#e8ecee;
}
.rb-location-money-image img{width:100%;height:560px;object-fit:cover}
.rb-location-image-badge{
  position:absolute;
  right:22px;
  bottom:22px;
  padding:16px 18px;
  background:rgba(41,62,79,.93);
  color:#fff;
  min-width:150px;
}
.rb-location-image-badge span{display:block;font-size:9px;letter-spacing:.13em;text-transform:uppercase;opacity:.78}
.rb-location-image-badge strong{display:block;margin-top:3px;font-family:"Cormorant Garamond",serif;font-size:23px;line-height:1.1}
.rb-location-trustbar{background:var(--rb-blue-dark);color:#fff}
.rb-location-trust-grid{display:grid;grid-template-columns:repeat(4,1fr)}
.rb-location-trust-grid>div{
  min-height:118px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:22px 28px;
  border-right:1px solid rgba(255,255,255,.16);
}
.rb-location-trust-grid>div:last-child{border-right:0}
.rb-location-trust-grid strong{font-family:"Cormorant Garamond",serif;font-size:25px;font-weight:600}
.rb-location-trust-grid span{font-size:11px;color:rgba(255,255,255,.72);margin-top:4px}
.rb-location-lifestyle{padding:96px 0 104px;background:#fff}
.rb-location-section-heading{max-width:850px;margin-bottom:42px}
.rb-location-section-heading h2{margin-bottom:16px}
.rb-location-section-heading>p:last-child{font-size:15px;line-height:1.8}
.rb-location-feature-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  border-left:1px solid var(--rb-line);
  border-top:1px solid var(--rb-line);
}
.rb-location-feature-grid article{
  min-height:280px;
  padding:34px 30px;
  border-right:1px solid var(--rb-line);
  border-bottom:1px solid var(--rb-line);
}
.rb-location-feature-grid article>span{
  display:block;
  color:var(--rb-blue);
  font-size:10px;
  font-weight:800;
  letter-spacing:.14em;
  margin-bottom:38px;
}
.rb-location-feature-grid h3{font-size:30px;margin-bottom:14px}
.rb-location-feature-grid p{font-size:13px;line-height:1.72}
.rb-location-travel{padding:96px 0;background:var(--rb-cream)}
.rb-location-travel-grid{display:grid;grid-template-columns:1.18fr .82fr;gap:72px;align-items:start}
.rb-location-travel-card{padding-right:15px}
.rb-location-travel-card h2{max-width:760px}
.rb-location-travel-card p{font-size:15px;line-height:1.8}
.rb-location-travel-card small{display:block;margin-top:10px;color:#7b8083;font-size:10px}
.rb-location-trip-checklist{
  padding:32px 30px;
  background:#fff;
  border:1px solid var(--rb-line);
}
.rb-location-trip-checklist h3{font-size:30px;margin-bottom:18px}
.rb-location-trip-checklist ul{list-style:none;padding:0;margin:0 0 22px}
.rb-location-trip-checklist li{
  position:relative;
  padding:10px 0 10px 27px;
  border-top:1px solid var(--rb-line);
  font-size:12px;
  color:var(--rb-copy);
}
.rb-location-trip-checklist li:before{content:"✓";position:absolute;left:0;color:var(--rb-blue-dark);font-weight:800}
.rb-location-trip-checklist a{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:var(--rb-blue-dark);text-decoration:none}
.rb-location-prep{padding:92px 0;background:#fff}
.rb-location-prep-grid{display:grid;grid-template-columns:.78fr 1.22fr;gap:86px;align-items:start}
.rb-location-prep-grid>div:last-child{max-width:740px}
.rb-location-prep-grid p{font-size:15px;line-height:1.82}
.rb-location-prep-links{display:flex;gap:24px;flex-wrap:wrap;margin-top:22px}
.rb-location-prep-links a{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.07em;color:var(--rb-blue-dark);text-decoration:none;border-bottom:1px solid var(--rb-blue-dark);padding-bottom:4px}
.rb-location-kitten-showcase{padding:96px 0 110px;background:var(--rb-blue-pale)}
.rb-location-kitten-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.rb-location-kitten-grid .rb-kitten-card{height:100%}
.rb-location-kitten-grid .rb-kitten-image{height:380px}
.rb-location-faq{padding:102px 0;background:#fff}
.rb-location-faq-grid{display:grid;grid-template-columns:.72fr 1.28fr;gap:90px}
.rb-location-faq-intro{align-self:start;position:sticky;top:135px}
.rb-location-faq-intro p{font-size:14px;line-height:1.75;margin-bottom:24px}
.rb-location-commercial-cta{padding:0 0 110px;background:#fff}
.rb-location-commercial-inner{
  display:grid;
  grid-template-columns:1.25fr .75fr;
  gap:70px;
  align-items:center;
  padding:56px 60px;
  background:var(--rb-blue-deep);
}
.rb-location-commercial-inner h2,.rb-location-commercial-inner p{color:#fff}
.rb-location-commercial-inner .rb-eyebrow{color:#dbe6ec!important}
.rb-location-commercial-inner p{color:rgba(255,255,255,.76)!important;max-width:760px}
.rb-location-commercial-actions{display:flex;justify-content:flex-end;gap:10px;flex-wrap:wrap}
.rb-location-commercial-actions .rb-btn-ghost{border-color:#fff;color:#fff!important}

/* Layout variations so state pages do not all feel identical */
.rb-location-metro .rb-location-money-grid{grid-template-columns:1.05fr .95fr}
.rb-location-metro .rb-location-money-image{border-radius:44% 44% 8px 8px/25% 25% 8px 8px}
.rb-location-metro .rb-location-feature-grid article:nth-child(2){background:var(--rb-cream)}
.rb-location-regional .rb-location-money-hero{background:#fff}
.rb-location-regional .rb-location-money-image{min-height:500px}
.rb-location-regional .rb-location-money-image img{height:500px}
.rb-location-regional .rb-location-travel{background:var(--rb-blue-pale)}
.rb-location-newengland .rb-location-money-grid{grid-template-columns:.88fr 1.12fr}
.rb-location-newengland .rb-location-money-image{border-radius:0 0 0 90px}
.rb-location-newengland .rb-location-prep{background:var(--rb-paper)}
.rb-location-roadtrip .rb-location-money-hero{background:var(--rb-blue-pale)}
.rb-location-roadtrip .rb-location-money-image{transform:translateY(20px)}
.rb-location-roadtrip .rb-location-travel-grid{grid-template-columns:1fr 1fr}
.rb-location-seasonal .rb-location-money-image{border-radius:90px 0 90px 0}
.rb-location-seasonal .rb-location-lifestyle{background:var(--rb-paper)}
.rb-location-cityregional .rb-location-money-hero{background:#f3f4f4}
.rb-location-cityregional .rb-location-money-grid{grid-template-columns:1fr 1fr}
.rb-location-cityregional .rb-location-feature-grid article:nth-child(1){grid-column:span 2}
.rb-location-cityregional .rb-location-feature-grid article:nth-child(1){min-height:210px}
.rb-location-northwoods .rb-location-money-hero{background:#edf1f2}
.rb-location-northwoods .rb-location-money-image{border-radius:0 110px 0 0}
.rb-location-northwoods .rb-location-prep{background:var(--rb-cream)}
.rb-location-southern .rb-location-money-image{border-radius:48% 48% 8px 8px/28% 28% 8px 8px}
.rb-location-southern .rb-location-travel{background:#f7f4ed}
.rb-location-florida .rb-location-money-hero{background:#eef3f5}
.rb-location-florida .rb-location-money-image{border-radius:0 0 110px 0}
.rb-location-florida .rb-location-prep{background:#f7fafb}
.rb-location-newengland-alt .rb-location-money-grid{grid-template-columns:1.12fr .88fr}
.rb-location-newengland-alt .rb-location-money-image{border-radius:110px 0 0 0}
.rb-location-newengland-alt .rb-location-faq{background:var(--rb-paper)}

@media(max-width:1000px){
  .rb-location-money-grid,.rb-location-travel-grid,.rb-location-prep-grid,.rb-location-faq-grid,.rb-location-commercial-inner{grid-template-columns:1fr;gap:44px}
  .rb-location-trust-grid{grid-template-columns:repeat(2,1fr)}
  .rb-location-feature-grid,.rb-location-kitten-grid{grid-template-columns:1fr 1fr}
  .rb-location-faq-intro{position:static}
  .rb-location-commercial-actions{justify-content:flex-start}
  .rb-location-cityregional .rb-location-feature-grid article:nth-child(1){grid-column:span 1}
}
@media(max-width:640px){
  .rb-location-money-hero{padding:54px 0 64px}
  .rb-location-money-copy h1{font-size:48px}
  .rb-location-lead{font-size:15px!important}
  .rb-location-money-image,.rb-location-money-image img{min-height:0;height:430px}
  .rb-location-actions{display:grid}
  .rb-location-actions .rb-btn{width:100%}
  .rb-location-trust-grid{grid-template-columns:1fr}
  .rb-location-trust-grid>div{min-height:92px;border-right:0;border-bottom:1px solid rgba(255,255,255,.16)}
  .rb-location-feature-grid,.rb-location-kitten-grid{grid-template-columns:1fr}
  .rb-location-lifestyle,.rb-location-travel,.rb-location-prep,.rb-location-kitten-showcase,.rb-location-faq{padding:68px 0}
  .rb-location-feature-grid article{min-height:0}
  .rb-location-commercial-cta{padding-bottom:76px}
  .rb-location-commercial-inner{padding:38px 24px}
}
