/* banner (shared pattern) */
.page-banner{position:relative;overflow:hidden;background:linear-gradient(120deg,var(--ink),var(--teal-dark));color:var(--mint);padding:70px 0 56px;}
.page-banner .eyebrow{color:var(--gold);}
.page-banner h1{font-size:clamp(2.2rem,4.5vw,3.2rem);margin-top:8px;color:var(--white);}
.page-banner .crumb{margin-top:14px;font-size:0.85rem;color:rgba(239,246,243,0.65);}
.page-banner .crumb a{color:var(--gold);}
.page-banner .crumb span{margin:0 6px;}
.banner-sweep{position:absolute;top:0;left:-30%;width:40%;height:100%;background:linear-gradient(120deg,transparent,rgba(242,200,121,0.12),transparent);animation:bannerSweep 5s ease-in-out infinite;}
@keyframes bannerSweep{0%{left:-30%;}50%{left:110%;}100%{left:110%;}}
.nav a.active{color:var(--gold)!important;}

/* ===== info cards ===== */
.info-section{padding:90px 0 40px;}
.info-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;}
.info-card{
  background:var(--white);border-radius:18px;padding:30px 24px;text-align:center;
  box-shadow:var(--shadow);border:1px solid var(--line);
  transition:transform .35s ease;
}
.info-card:hover{transform:translateY(-8px);}
.info-icon{
  display:inline-flex;align-items:center;justify-content:center;
  width:60px;height:60px;border-radius:50%;font-size:1.6rem;margin-bottom:14px;
  background:var(--mint);animation:iconBob 3s ease-in-out infinite;
}
.info-card:nth-child(2) .info-icon{animation-delay:.3s;}
.info-card:nth-child(3) .info-icon{animation-delay:.6s;}
.info-card:nth-child(4) .info-icon{animation-delay:.9s;}
@keyframes iconBob{0%,100%{transform:translateY(0) rotate(0);}50%{transform:translateY(-6px) rotate(-6deg);}}
.info-card h4{font-family:var(--font-display);font-size:1.05rem;margin-bottom:6px;}
.info-card p{color:#5b6f70;font-size:0.86rem;}

/* ===== map + form ===== */
.map-form-section{padding:60px 0 100px;}
.map-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:30px;align-items:stretch;}
.map-box{border-radius:20px;overflow:hidden;box-shadow:var(--shadow);min-height:260px;}
.map-box iframe{width:100%;height:100%;min-height:260px;border:0;display:block;}
.form-box{
  background:var(--mint);border-radius:20px;padding:36px;box-shadow:var(--shadow);
}
.form-box h2{margin:8px 0 20px;font-size:1.6rem;}
.form-stack{background:var(--ink);flex-direction:column;align-items:stretch;border-radius:14px;}
.form-stack input,.form-stack select{width:100%;}

/* ===== service link cards (shared style with about page) ===== */
.treat-card{display:block;text-align:left;text-decoration:none;color:inherit;}
.treat-card .treat-icon{
  display:inline-flex;align-items:center;justify-content:center;
  width:54px;height:54px;border-radius:14px;font-size:1.5rem;margin-bottom:16px;
  background:var(--white);transition:transform .4s cubic-bezier(.34,1.56,.64,1);
}
.treat-card:hover .treat-icon{transform:rotate(-10deg) scale(1.12);}
.treat-card h3{font-size:1.2rem;margin-bottom:6px;}
.treat-card p{color:#3c5254;font-size:0.92rem;}

/* ===== scrolling hours ticker ===== */
.hours-ticker{background:var(--ink);overflow:hidden;padding:18px 0;}
.ticker-track{display:flex;width:max-content;animation:tickerScroll 22s linear infinite;}
.hours-ticker:hover .ticker-track{animation-play-state:paused;}
@keyframes tickerScroll{from{transform:translateX(0);}to{transform:translateX(-50%);}}
.ticker-item{
  display:flex;align-items:center;gap:10px;flex:none;
  padding:0 36px;font-family:var(--font-mono);font-size:0.85rem;
  color:var(--mint);white-space:nowrap;
}
.ticker-item .dot{width:6px;height:6px;border-radius:50%;background:var(--gold);}
.ticker-item strong{color:var(--gold);font-weight:600;}

@media (max-width:900px){
  .info-grid{grid-template-columns:1fr 1fr;}
  .map-form-grid{grid-template-columns:1fr;}
}
@media (max-width:560px){
  .info-grid{grid-template-columns:1fr;}
}
@media (prefers-reduced-motion: reduce){
  .info-icon,.banner-sweep{animation:none!important;}
}
