/* EVO intro (2026-10): the light headline + Book/Call strip that opens a
   page (homepage, above the promo video; About Us). Moved here from
   evo-promo.css so other pages can use it. Airy rather than a dark block: the same white-to-ivory fade the
   Signature Services band uses, with no border or radius, so the header
   flows into it without a hard line. It holds the page's H1 (the old hero
   H1 is now an H2) and keeps a booking button on the first screen at
   every width; the video plays its own captions, so nothing is laid
   over it. */
.evo-intro{
  position:relative;
  z-index:0;
  margin:0;
  padding:44px 24px 40px;
  background:linear-gradient(180deg, #FFFFFF 0%, #FBF8F3 55%, #F8F4EC 100%);
  text-align:center;
}
.evo-intro-inner{max-width:980px;margin:0 auto;}
/* Optional photo behind the intro (intro(photo=...) sets --evo-intro-photo).
   A white wash keeps it airy and the navy headline readable, then fades to
   the ivory the next section starts on so there's no hard edge. */
.evo-intro.evo-intro-photo{
  padding:88px 24px 80px;
  background:
    linear-gradient(180deg, rgba(248,244,236,0) 70%, #F8F4EC 100%),
    radial-gradient(ellipse 55% 65% at 50% 50%, rgba(255,255,255,0.86) 0%, rgba(255,255,255,0.7) 55%, rgba(255,255,255,0.25) 100%),
    var(--evo-intro-photo) center 40% / cover no-repeat,
    #F8F4EC;
}
.evo-intro-photo .evo-intro-sub,.evo-intro-photo .evo-intro-meta{color:var(--evo-navy, #102D5E);}
.evo-intro-title{
  margin:0 0 12px;
  font-family:var(--evo-serif, 'Cormorant Garamond', serif);
  font-size:clamp(32px,3.8vw,52px);
  font-weight:700;
  line-height:1.1;
  color:var(--evo-navy, #102D5E);
  text-wrap:balance;
}
.evo-intro-title i{font-weight:500;}
.evo-intro-sub{
  margin:0 auto 24px;
  max-width:640px;
  text-wrap:balance;
  font-family:var(--evo-sans, 'Archivo', sans-serif);
  font-size:17px;
  line-height:1.6;
  color:var(--evo-body-text, #4A5058);
}
.evo-intro-ctas{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;}
.evo-intro-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:200px;
  padding:14px 28px;
  border-radius:10px;
  font-family:var(--evo-sans, 'Archivo', sans-serif);
  font-size:16px;
  font-weight:600;
  line-height:1.2;
  text-decoration:none;
  transition:background-color .2s, color .2s, transform .15s;
}
.evo-intro-btn-book{background:var(--evo-gold, #D2AF76);color:var(--evo-navy, #102D5E);}
.evo-intro-btn-book:hover,.evo-intro-btn-book:focus{background:var(--evo-gold-deep, #C09A5E);color:#fff;transform:translateY(-1px);}
.evo-intro-btn-call{border:1.5px solid var(--evo-navy, #102D5E);color:var(--evo-navy, #102D5E);}
.evo-intro-btn-call:hover,.evo-intro-btn-call:focus{background:var(--evo-navy, #102D5E);color:#fff;transform:translateY(-1px);}
.evo-intro-btn:focus-visible{outline:2px solid var(--evo-gold, #D2AF76);outline-offset:3px;}

@media (max-width:767px){
  .evo-intro{padding:28px 16px 24px;}
  .evo-intro.evo-intro-photo{padding:52px 16px 44px;}
  .evo-intro-title{font-size:30px;}
  .evo-intro-sub{font-size:15px;margin-bottom:18px;}
  .evo-intro-ctas{flex-wrap:nowrap;gap:10px;}
  .evo-intro-btn{flex:1 1 0;min-width:0;padding:13px 10px;font-size:15px;}
}

/* Intro meta line: Google rating (same figures as the reviews section;
   evo-reviews.js refreshes both) and a text-us option for visitors who
   would rather not call. */
.evo-intro-meta{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  align-items:center;
  gap:6px 22px;
  margin:20px 0 0;
  font-family:var(--evo-sans, 'Archivo', sans-serif);
  font-size:14.5px;
  line-height:1.4;
  color:var(--evo-body-text, #4A5058);
}
.evo-intro-meta a{color:var(--evo-navy, #102D5E);}
.evo-intro-rating{text-decoration:none;}
.evo-intro-rating:hover,.evo-intro-rating:focus{text-decoration:underline;}
.evo-intro-stars{color:var(--evo-gold-deep, #C09A5E);letter-spacing:1px;margin-right:2px;}
.evo-intro-text a{font-weight:600;}
@media (max-width:767px){
  .evo-intro-meta{margin-top:16px;font-size:13.5px;gap:4px 16px;}
}

/* Phones get a shorter Book label so both intro buttons stay one line. */
.evo-intro-short{display:none;}
@media (max-width:767px){
  .evo-intro-long{display:none;}
  .evo-intro-short{display:inline;}
}

/* evo-framework.css underlines `a:visited`, which outranks the single-class
   button rules above once a visitor has opened the booking page. */
.evo-intro a.evo-intro-btn,.evo-intro a.evo-intro-btn:visited{text-decoration:none;}
.evo-intro a.evo-intro-rating,.evo-intro a.evo-intro-rating:visited{text-decoration:none;}
