/* Layout measurements from the client-approved Arizona reference, 2026-11-02.
 * Service: https://arizonasigncompany.net/ada-signs/
 * Locations: https://arizonasigncompany.net/chandler-az/
 * All copy, photographs, brand colors and form destinations belong to Visibility. */
body.reference-layout .service-page .site-header {
  position: sticky;
  top: 8px;
  transition: box-shadow .2s ease;
  box-shadow: 0 0 0 rgba(0,0,0,0);
}
body.reference-layout .service-page .site-header .brand img {
  transition: transform .2s ease;
}
body.reference-layout .service-page .site-header.is-stuck {
  box-shadow: 0 10px 30px rgba(12,13,49,.2);
}
body.reference-layout .service-page .site-header.is-stuck .brand img { transform: scale(.88); }
body.reference-layout .service-hero {
  min-height: 800px;
  border-radius: 20px;
  margin-top: 18px;
  background:#1F2335;
  position: relative;
  overflow: hidden;
  color: #fff;
  display: grid;
  grid-template-columns: minmax(0,1.05fr) minmax(420px,.78fr);
  gap: 84px;
  align-items: center;
  padding: 88px max(32px, calc((100% - 1400px) / 2));
}
body.reference-layout .service-hero.shell { width: 100%; max-width: none; }
body.reference-layout .channel-letters-hero {
  background-position: center top;
}
body.reference-layout .service-hero-shade {
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg,rgba(7,8,29,.9) 0%,rgba(7,8,29,.68) 48%,rgba(7,8,29,.22) 100%);
}
body.reference-layout .service-hero-copy,
body.reference-layout .service-form { position: relative; z-index: 1; }
body.reference-layout .service-hero-copy {
  padding: 0;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}
body.reference-layout .service-hero-copy .kicker {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: #fff;
  font-size: 13px;
  font-weight: 800;
  letter-spacing: .12em;
  line-height: 1.5;
  text-transform: uppercase;
}
body.reference-layout .service-hero-copy .kicker i {
  flex: none;
  width: 9px;
  height: 9px;
  margin: 0;
  background: #E09832;
}
body.reference-layout .service-hero h1 { font: 800 clamp(50px,5vw,78px)/.98 Raleway,sans-serif; letter-spacing: -.047em; margin: 25px 0 24px; }
body.reference-layout .service-hero-copy > p { max-width: 720px; color: rgba(255,255,255,.86); font-size: 18px; line-height: 1.75; }
body.reference-layout .service-hero-actions { display: flex; flex-wrap: wrap; gap: 14px; margin-top: 34px; }
body.reference-layout .service-hero-actions .btn { display: inline-flex; align-items: center; justify-content: center; min-height: 56px; padding: 0 24px; border: 1px solid transparent; border-radius: 8px; font-size: 15px; font-weight: 800; text-decoration: none; }
body.reference-layout .service-hero-actions .btn-red { background: #E09832; color: #fff; }
body.reference-layout .service-hero-actions .btn-outline { border-color: rgba(255,255,255,.72); background: transparent; color: #fff; }
body.reference-layout .service-hero-actions .btn-outline:hover { background: #fff; color: #1F2335; }
body.reference-layout .service-hero-copy .btn {
  transition: background-color .2s ease, border-color .2s ease, transform .2s ease, box-shadow .2s ease;
}
body.reference-layout .service-hero-copy .btn:hover,
body.reference-layout .service-hero-copy .btn:focus-visible {
  transform: translateY(-2px);
  box-shadow: 0 9px 22px rgba(224,152,50,.28);
  outline: none;
}
body.reference-layout .service-hero-actions .btn-red:hover,
body.reference-layout .service-hero-actions .btn-red:focus-visible { background: #2E658A; }
body.reference-layout .service-hero-actions .btn-outline:hover,
body.reference-layout .service-hero-actions .btn-outline:focus-visible { background: #fff; color: #1F2335; }
body.reference-layout .service-form {
  align-self: center;
  width: 100%;
  min-height: 0;
  min-width: 0;
  border: 1px solid rgba(255,255,255,.55);
  border-radius: 16px;
  background: rgba(255,255,255,.93);
  box-shadow: 0 28px 70px rgba(0,0,0,.26);
  backdrop-filter: blur(12px);
  padding: 20px;
  color: #1F2335;
}
body.reference-layout .service-form>span { display: inline; color: var(--red); font-size: 12px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
body.reference-layout .service-form h2 { margin: 6px 0 22px; font: 800 30px/1.14 Raleway,sans-serif; }
body.reference-layout .service-form iframe { display: block; width: 100%; max-width: 100%; min-width: 0; }
body.reference-layout .service-breadcrumb-bar {
  margin-top: 18px;
  border-top: 1px solid #e1e4ea;
  border-bottom: 1px solid #e1e4ea;
  background: #f7f8fb;
}
body.reference-layout .service-breadcrumb-bar .hero-breadcrumbs { margin: 0; padding: 17px 0; color: #687083; }
body.reference-layout .service-breadcrumb-bar .hero-breadcrumbs a { color: #31405f; }
body.reference-layout .service-breadcrumb-bar .hero-breadcrumbs [aria-current="page"] { color: #1F2335; font-weight: 700; }
body.reference-layout .service-hero-trust {
  width: 100%;
  max-width: 720px;
  margin-top: 34px;
  padding-top: 24px;
  border-top: 1px solid rgba(255,255,255,.25);
  display: grid;
  grid-template-columns: 1fr 1.35fr;
  gap: 16px 28px;
}
body.reference-layout .service-hero-trust > div { position: relative; padding-left: 25px; display: flex; flex-direction: column; }
body.reference-layout .service-hero-trust > div::before { content: "✓"; position: absolute; left: 0; top: 1px; color: #E09832; font-weight: 900; }
body.reference-layout .service-hero-trust strong { color: #fff; font: 800 14px/1.35 Raleway,sans-serif; }
body.reference-layout .service-hero-trust span { color: rgba(255,255,255,.7); font-size: 13px; line-height: 1.45; }
body.reference-layout .service-hero-trust .service-hero-rating { grid-column: 1/-1; flex-direction: row; align-items: baseline; gap: 7px; }
body.reference-layout .service-hero-rating strong::before { content: "★★★★★"; margin-right: 8px; color: #f6c343; letter-spacing: 2px; font-size: 12px; }
body.reference-layout .service-layout {
  display: grid;
  grid-template-columns: minmax(0,1fr) minmax(340px,400px);
  max-width: 1400px;
  margin-left: auto;
  margin-right: auto;
  gap: 35px;
  padding: 55px 0 85px;
  align-items: stretch;
  justify-content: center;
}
body.reference-layout .service-article { min-width: 0; height: 100%; }
body.reference-layout .content-block { overflow: hidden; border-bottom: 1px solid #c7c7c7; padding-bottom: 18px; margin-bottom: 56px; }
body.reference-layout .content-block h2,
body.reference-layout .consultation-card h2 { font: 700 39px/1.2 Raleway,sans-serif; color: #12234e; margin: 0 0 12px; }
body.reference-layout .title-rule { height: 2px; background: #c4c4c4; margin-bottom: 18px; }
body.reference-layout .title-rule b { display: block; width: 70px; height: 5px; position: relative; top: -2px; background: var(--red); }
body.reference-layout .content-block img {
  width: 300px;
  height: 244px;
  object-fit: cover;
  float: left;
  margin: 0 14px 8px 0;
  border-radius: 12px;
}
body.reference-layout .storefront-block img { height: 200px; }
body.reference-layout .content-block p { margin: 0 0 9px; color: #4d4d54; line-height: 1.5; }
body.reference-layout .content-block p a { color: var(--red); font-weight: 700; text-decoration: underline; text-underline-offset: 3px; }
body.reference-layout .content-block strong { color: #333; }
body.reference-layout .service-sidebar {
  display: flex;
  flex-direction: column;
  gap: 32px;
  position: static;
  align-self: stretch;
  max-height: none;
  overflow: visible;
}
body.reference-layout .service-sidebar section { background: #fff; border-radius: 18px; padding: 34px; }
body.reference-layout .service-sidebar h2 { font: 700 25px Raleway; margin: 0 0 25px; padding-left: 18px; border-left: 5px solid var(--red); }
body.reference-layout .directory { background: #f1f1f1; border-radius: 12px; padding: 16px; display: flex; flex-direction: column; gap: 7px; }
body.reference-layout .directory a {
  min-height: 41px;
  border: 1px solid #c6c6c6;
  background: #fff;
  border-radius: 10px;
  padding: 8px 15px;
  font-weight: 700;
  color: #1F2335;
  display: flex;
  align-items: center;
  justify-content: space-between;
  transition: background-color .38s cubic-bezier(.16,1,.3,1), color .38s cubic-bezier(.16,1,.3,1), border-color .38s cubic-bezier(.16,1,.3,1), transform .38s cubic-bezier(.16,1,.3,1), box-shadow .38s cubic-bezier(.16,1,.3,1);
}
body.reference-layout .directory a::after { content: "↘"; font-size: 18px; font-weight: 400; }
body.reference-layout .directory a:hover,
body.reference-layout .directory a:focus-visible { background: var(--red); border-color: var(--red); color: #fff; transform: translateX(3px); box-shadow: 0 8px 18px rgba(224,152,50,.18); outline: none; }
@media (prefers-reduced-motion: reduce){
body.reference-layout .directory a {
    transition: none;
  }
body.reference-layout .directory a:hover,
body.reference-layout .directory a:focus-visible {
    transform: none;
  }
}
body.reference-layout .consultation-card {
  background: linear-gradient(rgba(18,37,74,.86),rgba(18,37,74,.86)),url("assets/channel-consultation.jpg") center/cover;
  border-radius: 18px;
  color: #fff;
  padding: 50px 35px;
  margin: 64px 0 24px;
}
body.reference-layout .consultation-card h2 { color: #fff; border-left: 5px solid var(--red); padding-left: 18px; }
body.reference-layout .consultation-card p { margin: 25px 0 0; line-height: 1.45; }
body.reference-layout .consultation-card a { display: flex; align-items: center; gap: 14px; margin-top: 35px; }
body.reference-layout .consultation-card a > span { width: 60px; height: 60px; border-radius: 8px; background: #fff; color: var(--red); display: grid; place-items: center; font-size: 26px; }
body.reference-layout .consultation-card a strong { display: flex; flex-direction: column; font-size: 20px; }
body.reference-layout .consultation-card small { font-size: 18px; }
body.reference-layout .sidebar-consultation-slot {
  position: sticky;
  top: 142px;
  min-height: 0;
  margin-top: 20px;
}
body.reference-layout .sidebar-consultation {
  position: relative;
  top: auto;
  margin: 0;
  padding: 34px 26px;
  z-index: 2;
}
body.reference-layout .sidebar-consultation h2 { font-size: 32px; white-space: nowrap; }
body.reference-layout .sidebar-consultation p { font-size: 17px; }
body.reference-layout .map-wrap { height: 520px; border-radius: 15px; overflow: hidden; margin-bottom: 20px; }
body.reference-layout .map-wrap iframe { width: 100%; height: 100%; border: 0; }
body.reference-layout .reviews-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
body.reference-layout .reviews-grid article { background: #fff; border-radius: 12px; padding: 20px; box-shadow: 0 1px 8px rgba(0,0,0,.08); }
body.reference-layout .reviews-grid header { display: flex; align-items: center; gap: 10px; }
body.reference-layout .reviews-grid header > b { width: 43px; height: 43px; border-radius: 50%; background: #586dca; color: #fff; display: grid; place-items: center; }
body.reference-layout .reviews-grid header span { display: flex; flex-direction: column; }
body.reference-layout .reviews-grid header small { color: #777; }
body.reference-layout .reviews-grid header i { margin-left: auto; color: #4285f4; font-style: normal; font-weight: 700; font-size: 20px; }
body.reference-layout .reviews-grid article > div { color: #f7b500; margin-top: 10px; letter-spacing: 2px; }
body.reference-layout .reviews-grid p { margin-bottom: 0; }
body.reference-layout .service-gallery { background: #fff; border-radius: 18px; padding-block: 25px; padding-inline: max(17px, calc((100% - 1400px) / 2)); display: grid; grid-template-columns: repeat(4,1fr); gap: 75px; margin-bottom: 18px; overflow: hidden; }
body.reference-layout .service-gallery img { width: 100%; height: 380px; object-fit: cover; }
body.reference-layout .service-gallery img:nth-child(n+5) { display: none; }
@media (max-width: 900px){
body.reference-layout .service-page .site-header { top: 6px; }
body.reference-layout .service-hero { min-height: 680px; grid-template-columns: 1fr; gap: 48px; padding: 58px 28px; }
body.reference-layout .service-hero-copy { padding: 0; }
body.reference-layout .service-hero h1 { font-size: 48px; }
body.reference-layout .service-form { max-width: 720px; margin: 0; }
body.reference-layout .service-layout { grid-template-columns: 1fr; }
body.reference-layout .service-sidebar { grid-row: 2; position: static; max-height: none; overflow: visible; }
body.reference-layout .sidebar-consultation-slot { position: static; min-height: auto; margin-top: 20px; }
body.reference-layout .sidebar-consultation { position: static !important; inset: auto !important; width: auto !important; }
body.reference-layout .service-gallery { grid-template-columns: 1fr 1fr; gap: 20px; }
body.reference-layout .service-gallery img:nth-child(n+5) { display: block; }
body.reference-layout .footer-grid { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 560px){
body.reference-layout .channel-letters-hero {
    background-position: center top;
  }
body.reference-layout .service-hero { padding: 14px; }
body.reference-layout .service-hero-copy { padding-top: 36px; }
body.reference-layout .service-hero h1 { font-size: 41px; }
body.reference-layout .service-hero-copy > p { font-size: 18px; }
body.reference-layout .service-hero-actions { flex-direction: column; }
body.reference-layout .service-hero-actions .btn { width: 100%; }
body.reference-layout .service-form { padding: 14px; }
body.reference-layout .service-form h2 { font-size: 25px; }
body.reference-layout .service-layout { padding-top: 45px; }
body.reference-layout .content-block h2,
body.reference-layout .consultation-card h2 { font-size: 31px; }
body.reference-layout .sidebar-consultation h2 { white-space: normal; }
body.reference-layout .content-block img { width: 100%; height: 250px; float: none; margin: 0 0 16px; }
body.reference-layout .service-sidebar section { padding: 22px; }
body.reference-layout .directory { padding: 10px; }
body.reference-layout .consultation-card { padding: 35px 22px; }
body.reference-layout .map-wrap { height: 420px; }
body.reference-layout .reviews-grid { grid-template-columns: 1fr; }
body.reference-layout .service-gallery { grid-template-columns: 1fr; gap: 18px; }
body.reference-layout .service-gallery img { height: 340px; }
body.reference-layout .site-footer { margin-top: 0; }
}
body.reference-layout .content-block img,
body.reference-layout .service-gallery img {
  object-fit: contain;
  background: #eef0f3;
}
@media (max-width: 1100px){
body.reference-layout .service-hero {
    min-height: 0;
    grid-template-columns: 1fr;
    gap: 48px;
    padding: 88px 20px;
  }
body.reference-layout .service-hero-copy { padding: 0; }
body.reference-layout .service-form { max-width: 720px; margin: 0; }
}
@media (max-width: 900px){
body.reference-layout .service-hero.shell { width: calc(100% - 20px); max-width: none; }
}
@media (max-width: 780px){
body.reference-layout .service-hero { margin-top: 10px; padding: 58px 14px; }
body.reference-layout .service-hero-shade { background: rgba(7,8,29,.82); }
body.reference-layout .service-hero h1 { font-size: 43px; }
body.reference-layout .service-hero-copy > p { font-size: 17px; }
body.reference-layout .service-hero-actions { flex-direction: column; }
body.reference-layout .service-hero-actions .btn { width: 100%; }
body.reference-layout .service-form { min-height: 0; padding: 14px; }
}
@media (max-width: 440px){
body.reference-layout .service-hero h1 { font-size: 39px; }
body.reference-layout .service-form h2 { font-size: 25px; }
}
body.reference-layout .service-container {
  width: calc(100% - 64px);
  max-width: 1280px;
  margin-left: auto;
  margin-right: auto;
}
body.reference-layout .service-section {
  padding-top: 96px;
  padding-bottom: 96px;
}
body.reference-layout .service-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  color: var(--red);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .14em;
  line-height: 1.4;
  text-transform: uppercase;
}
body.reference-layout .service-eyebrow::before {
  content: "";
  width: 8px;
  height: 8px;
  background: currentColor;
  border-radius: 2px;
}
body.reference-layout .service-heading {
  max-width: 800px;
  margin: 0 auto 48px;
  text-align: center;
}
body.reference-layout .service-heading h2,
body.reference-layout .service-overview-copy h2,
body.reference-layout .service-final-cta h2 {
  color: #1F2335;
  font: 800 clamp(36px,4vw,58px)/1.05 Raleway,sans-serif;
  letter-spacing: -.04em;
  margin: 14px 0 18px;
}
body.reference-layout .service-heading > p,
body.reference-layout .service-heading-split > p {
  color: #5d6374;
  font-size: 18px;
  line-height: 1.7;
}
body.reference-layout .service-overview-section { background: #fff; }
body.reference-layout .service-overview {
  display: grid;
  grid-template-columns: minmax(0,.95fr) minmax(0,1.05fr);
  gap: 64px;
  align-items: center;
}
body.reference-layout .service-overview-media {
  min-height: 540px;
  position: relative;
  padding: 0 30px 30px 0;
}
body.reference-layout .service-overview-media::before {
  content: "";
  position: absolute;
  right: 0;
  bottom: 0;
  width: 68%;
  height: 70%;
  border-radius: 18px;
  background: #eef1f7;
}
body.reference-layout .service-overview-media > img {
  position: relative;
  z-index: 1;
  width: 100%;
  height: 100%;
  min-height: 510px;
  object-fit: cover;
  border-radius: 18px;
  box-shadow: 0 24px 54px rgba(18,35,78,.16);
}
body.reference-layout .service-overview-media > div {
  position: absolute;
  z-index: 2;
  right: 0;
  bottom: 0;
  width: min(330px,78%);
  padding: 22px 24px;
  border-radius: 14px;
  background: #fff;
  box-shadow: 0 18px 45px rgba(18,35,78,.18);
  display: flex;
  flex-direction: column;
}
body.reference-layout .service-overview-media strong { color: #1F2335; font: 800 18px Raleway,sans-serif; }
body.reference-layout .service-overview-media span { color: #687083; font-size: 14px; margin-top: 4px; }
body.reference-layout .service-overview-copy > p { color: #545b6d; font-size: 17px; line-height: 1.76; margin: 0 0 16px; }
body.reference-layout .service-overview-copy h3 { color: #1F2335; font: 800 23px Raleway,sans-serif; margin: 26px 0 12px; }
body.reference-layout .service-check-list {
  list-style: none;
  padding: 0;
  margin: 27px 0;
  display: grid;
  gap: 13px;
}
body.reference-layout .service-check-list li {
  position: relative;
  padding-left: 32px;
  color: #192143;
  font-weight: 700;
}
body.reference-layout .service-check-list li::before {
  content: "✓";
  position: absolute;
  left: 0;
  top: -2px;
  width: 22px;
  height: 22px;
  border-radius: 50%;
  background: rgba(224,152,50,.1);
  color: var(--red);
  display: grid;
  place-items: center;
  font-size: 13px;
}
body.reference-layout .service-text-link {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  color: var(--red);
  font-weight: 800;
  text-decoration: none;
}
body.reference-layout .service-text-link span { transition: transform .2s ease; }
body.reference-layout .service-text-link:hover span { transform: translateX(5px); }
body.reference-layout .service-options { background: rgba(238,241,247,.72); }
body.reference-layout .service-option-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 24px; }
body.reference-layout .service-option-card {
  min-width: 0;
  overflow: hidden;
  border: 1px solid #e0e4eb;
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 14px 36px rgba(14,25,58,.07);
  transition: transform .25s ease, box-shadow .25s ease;
}
body.reference-layout .service-option-card:hover { transform: translateY(-5px); box-shadow: 0 22px 48px rgba(14,25,58,.12); }
body.reference-layout .service-option-media { height: 230px; overflow: hidden; background: #e8ebf0; }
body.reference-layout .service-option-media img { width: 100%; height: 100%; object-fit: cover; transition: transform .45s ease; }
body.reference-layout .service-option-card:hover .service-option-media img { transform: scale(1.035); }
body.reference-layout .service-option-copy { padding: 28px; }
body.reference-layout .service-option-copy h3 { color: #1F2335; font: 800 24px/1.15 Raleway,sans-serif; margin: 10px 0 14px; }
body.reference-layout .service-option-copy p { color: #5a6071; line-height: 1.65; margin: 0 0 12px; }
body.reference-layout .service-option-copy p:last-child { margin-bottom: 0; }
body.reference-layout .service-option-copy a { display: inline-flex; align-items: center; gap: 8px; margin-top: 8px; color: var(--red); font-weight: 800; text-decoration: none; }
body.reference-layout .service-options .destination-links {
  margin: 54px 0 0;
  padding: 32px;
  border: 1px solid #dde1e8;
  border-radius: 18px;
  background: #fff;
}
body.reference-layout .service-options .destination-links > span { color: var(--red); font-size: 12px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
body.reference-layout .service-options .destination-links h2 { color: #1F2335; font: 800 30px Raleway,sans-serif; margin: 8px 0 22px; }
body.reference-layout .service-options .destination-card-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 12px; }
body.reference-layout .service-options .destination-card { min-height: 58px; border: 1px solid #d9dee8; border-radius: 10px; color: #1F2335; font-weight: 800; padding: 15px 18px; text-decoration: none; display: flex; align-items: center; justify-content: space-between; }
body.reference-layout .service-options .destination-card::after { content: "→"; color: var(--red); }
body.reference-layout .service-options .destination-card:hover { background: var(--red); border-color: var(--red); color: #fff; }
body.reference-layout .service-options .destination-card:hover::after { color: #fff; }
body.reference-layout .service-advantages {
  position: relative;
  overflow: hidden;
  background: #1F2335;
  color: #fff;
}
body.reference-layout .service-advantages::before {
  content: "";
  position: absolute;
  inset: 0;
  opacity: .09;
  background-image: radial-gradient(circle at 1px 1px,#fff 1px,transparent 0);
  background-size: 28px 28px;
}
body.reference-layout .service-advantages > .service-container { position: relative; z-index: 1; }
body.reference-layout .service-heading-light h2 { color: #fff; }
body.reference-layout .service-heading-light > p { color: rgba(255,255,255,.7); }
body.reference-layout .service-advantage-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 18px; }
body.reference-layout .service-advantage-grid article { min-height: 220px; border: 1px solid rgba(255,255,255,.13); border-radius: 16px; padding: 28px; background: rgba(255,255,255,.045); }
body.reference-layout .service-advantage-grid b { color: #E09832; font: 800 13px Raleway,sans-serif; letter-spacing: .12em; }
body.reference-layout .service-advantage-grid h3 { color: #fff; font: 800 22px Raleway,sans-serif; margin: 24px 0 12px; }
body.reference-layout .service-advantage-grid p { color: rgba(255,255,255,.68); line-height: 1.65; margin: 0; }
body.reference-layout .service-process-grid { list-style: none; padding: 0; margin: 0; display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); gap: 14px; counter-reset: steps; }
body.reference-layout .service-process-grid li { position: relative; min-height: 250px; padding: 28px 22px; border: 1px solid #e1e4eb; border-radius: 16px; background: #fff; }
body.reference-layout .service-process-grid li:not(:last-child)::after { content: "→"; position: absolute; z-index: 2; right: -18px; top: 50%; width: 32px; height: 32px; border-radius: 50%; background: var(--red); color: #fff; display: grid; place-items: center; transform: translateY(-50%); }
body.reference-layout .service-process-grid span { color: var(--red); font: 800 34px Raleway,sans-serif; opacity: .28; }
body.reference-layout .service-process-grid h3 { color: #1F2335; font: 800 21px Raleway,sans-serif; margin: 32px 0 10px; }
body.reference-layout .service-process-grid p { color: #626879; line-height: 1.6; margin: 0; }
body.reference-layout .service-showcase { background: #edf0f4; }
body.reference-layout .service-heading-split { max-width: none; display: flex; align-items: end; justify-content: space-between; gap: 40px; text-align: left; }
body.reference-layout .service-heading-split h2 { margin-bottom: 0; }
body.reference-layout .service-heading-split > p { max-width: 480px; margin: 0 0 4px; }
body.reference-layout .service-project-grid { display: grid; grid-template-columns: repeat(12,1fr); grid-auto-rows: 230px; gap: 16px; }
body.reference-layout .service-project-card { position: relative; overflow: hidden; margin: 0; border-radius: 16px; background: #dfe3e8; }
body.reference-layout .service-project-card:nth-child(1) { grid-column: span 7; grid-row: span 2; }
body.reference-layout .service-project-card:nth-child(2) { grid-column: span 5; }
body.reference-layout .service-project-card:nth-child(3) { grid-column: span 5; }
body.reference-layout .service-project-card:nth-child(n+4) { grid-column: span 4; }
body.reference-layout .service-project-card img { width: 100%; height: 100%; object-fit: cover; transition: transform .45s ease; }
body.reference-layout .service-project-card:hover img { transform: scale(1.035); }
body.reference-layout .service-project-card figcaption { position: absolute; left: 18px; right: 18px; bottom: 18px; padding: 13px 15px; border-radius: 9px; background: rgba(10,15,43,.86); color: #fff; font-weight: 800; backdrop-filter: blur(8px); }
body.reference-layout .service-showcase-cta { display: flex; align-items: center; gap: 14px; margin-top: 22px; padding: 28px 30px; border-radius: 16px; background: #fff; }
body.reference-layout .service-showcase-cta > div { margin-right: auto; }
body.reference-layout .service-showcase-cta h3 { color: #1F2335; font: 800 24px Raleway,sans-serif; margin: 0 0 5px; }
body.reference-layout .service-showcase-cta p { color: #676e7d; margin: 0; }
body.reference-layout .service-showcase-cta .btn { min-height: 52px; padding: 0 21px; border-radius: 8px; display: inline-flex; align-items: center; justify-content: center; font-weight: 800; text-decoration: none; }
body.reference-layout .service-showcase-cta .btn-red,
body.reference-layout .service-final-cta .btn-red { background: var(--red); color: #fff; }
body.reference-layout .service-showcase-cta .btn-red:hover,
body.reference-layout .service-final-cta .btn-red:hover { background: #2E658A; }
body.reference-layout .btn-outline-dark { border: 1px solid #1F2335; color: #1F2335; }
body.reference-layout .btn-outline-dark:hover { background: #1F2335; color: #fff; }
body.reference-layout .service-guide-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); border-top: 1px solid #dfe3ea; border-left: 1px solid #dfe3ea; }
body.reference-layout .service-guide-grid article { min-height: 260px; padding: 32px; border-right: 1px solid #dfe3ea; border-bottom: 1px solid #dfe3ea; }
body.reference-layout .service-guide-grid span { color: var(--red); font: 800 13px Raleway,sans-serif; letter-spacing: .12em; }
body.reference-layout .service-guide-grid h3 { color: #1F2335; font: 800 23px Raleway,sans-serif; margin: 42px 0 12px; }
body.reference-layout .service-guide-grid p { color: #626879; line-height: 1.65; margin: 0; }
body.reference-layout .service-reviews { background: #f5f6f8; }
body.reference-layout .service-reviews .reviews-grid { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 18px; }
body.reference-layout .service-reviews .reviews-grid article { padding: 25px; border: 1px solid #e4e7ed; box-shadow: none; }
body.reference-layout .service-reviews .reviews-grid article:nth-child(n+4) { display: none; }
body.reference-layout .service-trust-strip { background: #fff; border-top: 1px solid #e1e4ea; border-bottom: 1px solid #e1e4ea; }
body.reference-layout .service-trust-strip > div { min-height: 82px; display: grid; grid-template-columns: repeat(4,1fr); align-items: center; }
body.reference-layout .service-trust-strip span { position: relative; padding: 12px 22px 12px 34px; color: #263252; font-weight: 800; text-align: center; }
body.reference-layout .service-trust-strip span::before { content: "✓"; margin-right: 10px; color: var(--red); }
body.reference-layout .service-trust-strip span + span { border-left: 1px solid #e1e4ea; }
body.reference-layout .service-faq { max-width: 1120px; }
body.reference-layout .service-faq-list { border-top: 1px solid #d9dde5; }
body.reference-layout .service-faq details { border-bottom: 1px solid #d9dde5; }
body.reference-layout .service-faq summary { position: relative; list-style: none; cursor: pointer; padding: 24px 56px 24px 0; color: #1F2335; font: 800 19px/1.4 Raleway,sans-serif; }
body.reference-layout .service-faq summary::-webkit-details-marker { display: none; }
body.reference-layout .service-faq summary::after { content: "+"; position: absolute; right: 4px; top: 19px; width: 34px; height: 34px; border-radius: 50%; background: #f0f2f6; color: var(--red); display: grid; place-items: center; font: 700 23px Arial,sans-serif; }
body.reference-layout .service-faq details[open] summary::after { content: "−"; }
body.reference-layout .service-faq details p { max-width: 850px; color: #5e6575; line-height: 1.7; margin: -4px 0 24px; }
body.reference-layout .service-final-cta {
  min-height: 420px;
  padding: 96px 0;
  background-position: center;
  background-size: cover;
  color: #fff;
}
body.reference-layout .service-final-cta-inner {
  display: grid;
  grid-template-columns: minmax(0,1fr) auto;
  gap: 60px;
  align-items: center;
}
body.reference-layout .service-final-cta .service-eyebrow { color: #E09832; }
body.reference-layout .service-final-cta h2 { color: #fff; max-width: 700px; }
body.reference-layout .service-final-cta p { max-width: 720px; color: rgba(255,255,255,.76); font-size: 18px; line-height: 1.7; }
body.reference-layout .service-final-cta-inner > div:last-child { min-width: 230px; display: flex; flex-direction: column; gap: 18px; }
body.reference-layout .service-final-cta .btn { min-height: 56px; border-radius: 8px; display: inline-flex; align-items: center; justify-content: center; font-weight: 800; text-decoration: none; }
body.reference-layout .service-final-cta-inner > div:last-child > a:last-child { color: #fff; display: flex; flex-direction: column; text-decoration: none; }
body.reference-layout .service-final-cta small { color: rgba(255,255,255,.65); }
body.reference-layout .service-final-cta strong { margin-top: 3px; font-size: 22px; }
body.reference-layout .service-related { background: #fff; }
body.reference-layout .service-related .destination-links { margin: 0; padding: 0; border: 0; box-shadow: none; background: transparent; }
body.reference-layout .service-related .destination-links > span { color: var(--red); font-size: 12px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
body.reference-layout .service-related .destination-links h2 { color: #1F2335; font: 800 clamp(34px,4vw,50px)/1.08 Raleway,sans-serif; letter-spacing: -.035em; margin: 12px 0 36px; }
body.reference-layout .service-related .destination-card-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 16px; }
body.reference-layout .service-related .destination-card { min-height: 84px; padding: 21px 22px; border: 1px solid #dfe3ea; border-radius: 12px; color: #1F2335; font-weight: 800; display: flex; align-items: center; justify-content: space-between; }
body.reference-layout .service-related .destination-card::after { content: "→"; color: var(--red); }
body.reference-layout .service-related .destination-card:hover { background: var(--red); border-color: var(--red); color: #fff; }
body.reference-layout .service-related .destination-card:hover::after { color: #fff; }
@media (max-width: 1100px){
body.reference-layout .service-section { padding-top: 76px; padding-bottom: 76px; }
body.reference-layout .service-overview { grid-template-columns: 1fr; }
body.reference-layout .service-overview-media { min-height: 540px; }
body.reference-layout .service-overview-media > img { min-height: 510px; }
body.reference-layout .service-option-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
body.reference-layout .service-advantage-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
body.reference-layout .service-process-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
body.reference-layout .service-process-grid li:not(:last-child)::after { display: none; }
body.reference-layout .service-guide-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
body.reference-layout .service-reviews .reviews-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
body.reference-layout .service-trust-strip > div { grid-template-columns: 1fr 1fr; padding: 14px 0; }
body.reference-layout .service-trust-strip span:nth-child(3) { border-left: 0; }
body.reference-layout .service-related .destination-card-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 780px){
body.reference-layout .service-section { padding-top: 58px; padding-bottom: 58px; }
body.reference-layout .service-container { width: calc(100% - 32px); }
body.reference-layout .service-breadcrumb-bar { margin-top: 10px; }
body.reference-layout .service-hero-trust { grid-template-columns: 1fr; gap: 15px; }
body.reference-layout .service-hero-trust .service-hero-rating { grid-column: auto; flex-direction: column; align-items: flex-start; }
body.reference-layout .service-heading { margin-bottom: 34px; text-align: left; }
body.reference-layout .service-heading h2,
body.reference-layout .service-overview-copy h2,
body.reference-layout .service-final-cta h2 { font-size: 36px; }
body.reference-layout .service-overview { gap: 38px; }
body.reference-layout .service-overview-media { min-height: 390px; padding: 0 18px 34px 0; }
body.reference-layout .service-overview-media > img { min-height: 356px; }
body.reference-layout .service-option-grid,
body.reference-layout .service-advantage-grid,
body.reference-layout .service-process-grid,
body.reference-layout .service-guide-grid,
body.reference-layout .service-reviews .reviews-grid { grid-template-columns: 1fr; }
body.reference-layout .service-options .destination-card-grid { grid-template-columns: 1fr; }
body.reference-layout .service-option-media { height: 250px; }
body.reference-layout .service-heading-split { display: block; }
body.reference-layout .service-heading-split > p { margin-top: 16px; }
body.reference-layout .service-project-grid { display: grid; grid-template-columns: 1fr; grid-auto-rows: 300px; }
body.reference-layout .service-project-card:nth-child(n) { grid-column: auto; grid-row: auto; }
body.reference-layout .service-showcase-cta { align-items: stretch; flex-direction: column; }
body.reference-layout .service-showcase-cta > div { margin: 0 0 6px; }
body.reference-layout .service-guide-grid { border-left: 0; }
body.reference-layout .service-guide-grid article { min-height: 0; border-left: 1px solid #dfe3ea; }
body.reference-layout .service-guide-grid h3 { margin-top: 24px; }
body.reference-layout .service-final-cta { min-height: 0; padding: 68px 0; }
body.reference-layout .service-final-cta-inner { grid-template-columns: 1fr; gap: 30px; }
body.reference-layout .service-final-cta-inner > div:last-child { min-width: 0; }
body.reference-layout .service-trust-strip > div { grid-template-columns: 1fr; padding: 14px 0; }
body.reference-layout .service-trust-strip span + span { border-left: 0; border-top: 1px solid #e1e4ea; }
body.reference-layout .service-related .destination-card-grid { grid-template-columns: 1fr; }
}
@media (max-width: 480px){
body.reference-layout .service-overview-media { min-height: 330px; }
body.reference-layout .service-overview-media > img { min-height: 296px; }
body.reference-layout .service-overview-media > div { padding: 16px; }
body.reference-layout .service-option-copy { padding: 23px; }
body.reference-layout .service-container { width: calc(100% - 24px); }
body.reference-layout .service-process-grid li { min-height: 0; }
body.reference-layout .service-project-grid { grid-auto-rows: 250px; }
body.reference-layout .service-final-cta { padding: 58px 0; }
}
body.reference-location {background:#f5f5f6;color:#1F2335}
body.reference-location .site-header {margin-bottom:0}
body.reference-location .location-shell {width:min(1400px,calc(100% - 64px));margin-inline:auto}
body.reference-location .location-hero {position:relative;min-height:760px;display:flex;align-items:stretch;overflow:hidden}
body.reference-location .location-hero-media,
body.reference-location .location-hero-overlay {position:absolute;inset:0;width:100%;height:100%}
body.reference-location .location-hero-media {object-fit:cover}
body.reference-location .location-hero-overlay {background:linear-gradient(90deg,rgba(7,8,28,.94) 0%,rgba(7,8,28,.78) 48%,rgba(7,8,28,.35) 100%)}
body.reference-location .location-hero-inner {position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1fr) minmax(390px,520px);gap:90px;align-items:center;padding-block:88px}
body.reference-location .location-hero-copy {max-width:720px;color:#fff}
body.reference-location .location-kicker,
body.reference-location .section-label {display:flex;align-items:center;gap:10px;color:#E09832;font-size:13px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
body.reference-location .location-kicker {color:#fff}
body.reference-location .location-kicker i {display:block;width:9px;height:9px;border-radius:50%;background:#E09832}
body.reference-location .location-hero h1 {max-width:760px;margin:26px 0 22px;color:#fff;font-family:Raleway,sans-serif;font-size:clamp(48px,5.4vw,84px);line-height:.96;letter-spacing:-.045em}
body.reference-location .location-hero-copy>p {max-width:670px;color:rgba(255,255,255,.88);font-size:18px;line-height:1.7}
body.reference-location .location-actions {display:flex;flex-wrap:wrap;gap:14px;margin-top:34px}
body.reference-location .location-actions .btn {display:inline-flex;align-items:center;justify-content:center;min-height:56px;padding:0 24px;border:1px solid transparent;border-radius:8px;font-weight:800;text-decoration:none}
body.reference-location .btn-red {background:#E09832;color:#fff}
body.reference-location .btn-red:hover {background:#2E658A;transform:translateY(-2px)}
body.reference-location .btn-outline-light {border-color:rgba(255,255,255,.75)!important;color:#fff}
body.reference-location .btn-outline-light:hover {background:#fff;color:#1F2335}
body.reference-location .location-form {padding:32px;border:1px solid rgba(255,255,255,.5);border-radius:16px;background:rgba(255,255,255,.92);box-shadow:0 28px 70px rgba(0,0,0,.24);backdrop-filter:blur(12px)}
body.reference-location .location-form>span {color:#E09832;font-size:12px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
body.reference-location .location-form h2 {margin:7px 0 22px;font-family:Raleway,sans-serif;font-size:28px;line-height:1.15}
body.reference-location .location-form label {display:block;margin:12px 0;color:#16182f;font-size:13px;font-weight:700}
body.reference-location .location-form input,
body.reference-location .location-form textarea {display:block;width:100%;margin-top:7px;padding:13px 14px;border:1px solid #d7d8df;border-radius:8px;background:#fff;color:#1F2335;font:inherit;resize:vertical}
body.reference-location .location-form input:focus,
body.reference-location .location-form textarea:focus {outline:2px solid rgba(224,152,50,.2);border-color:#E09832}
body.reference-location .location-form button {width:100%;min-height:54px;margin-top:7px;border:0;border-radius:8px;background:#E09832;color:#fff;font:800 15px DM Sans,sans-serif;cursor:pointer}
body.reference-location .location-form button:hover {background:#2E658A}
body.reference-location .location-intro {display:grid;grid-template-columns:.86fr 1.14fr;gap:110px;padding-block:110px}
body.reference-location .location-intro h2,
body.reference-location .location-feature h2,
body.reference-location .location-process h2,
body.reference-location .location-directories h2,
body.reference-location .location-cta h2 {margin:13px 0 0;font-family:Raleway,sans-serif;font-size:clamp(34px,4vw,58px);line-height:1.04;letter-spacing:-.035em}
body.reference-location .location-intro p,
body.reference-location .location-feature p,
body.reference-location .location-directory-heading p,
body.reference-location .location-cta p {margin:0 0 18px;color:#555969;font-size:17px;line-height:1.78}
body.reference-location .location-services {padding-bottom:110px}
body.reference-location .location-feature {display:grid;grid-template-columns:1fr 1fr;min-height:540px;margin-bottom:34px;border-radius:18px;background:#fff;box-shadow:0 12px 34px rgba(11,13,43,.07);overflow:hidden}
body.reference-location .location-feature.is-reversed .location-feature-media {order:2}
body.reference-location .location-feature-media img {width:100%;height:100%;object-fit:cover}
body.reference-location .location-feature-copy {align-self:center;padding:64px}
body.reference-location .location-feature-copy h2 {font-size:clamp(32px,3.3vw,50px)}
body.reference-location .location-feature-copy p {margin-top:24px}
body.reference-location .location-link-row {display:flex;flex-wrap:wrap;gap:10px;margin-top:30px}
body.reference-location .location-link-row a {padding:11px 14px;border:1px solid #dcdde3;border-radius:999px;color:#1F2335;font-size:13px;font-weight:800;text-decoration:none}
body.reference-location .location-link-row a:hover {border-color:#E09832;background:#E09832;color:#fff}
body.reference-location .location-process {padding-block:105px;background:#1F2335;color:#fff}
body.reference-location .location-process>.location-shell {display:grid;grid-template-columns:.72fr 1.28fr;gap:100px}
body.reference-location .location-process-heading p {color:rgba(255,255,255,.7);font-size:17px;line-height:1.7}
body.reference-location .location-process-grid {display:grid;grid-template-columns:1fr 1fr;margin:0;padding:0;list-style:none;border-top:1px solid rgba(255,255,255,.15);border-left:1px solid rgba(255,255,255,.15)}
body.reference-location .location-process-grid li {padding:34px;border-right:1px solid rgba(255,255,255,.15);border-bottom:1px solid rgba(255,255,255,.15)}
body.reference-location .location-process-grid b {color:#E09832;font-size:13px}
body.reference-location .location-process-grid h3 {margin:24px 0 8px;font-family:Raleway,sans-serif;font-size:24px}
body.reference-location .location-process-grid p {margin:0;color:rgba(255,255,255,.68);line-height:1.65}
body.reference-location .location-directories {display:grid;grid-template-columns:.7fr 1.3fr;gap:90px;padding-block:110px}
body.reference-location .location-directory-grid {display:grid;gap:14px}
body.reference-location .location-directory-grid details {border:1px solid #dcdde3;border-radius:12px;background:#fff;overflow:hidden}
body.reference-location .location-directory-grid summary {display:flex;align-items:center;justify-content:space-between;padding:24px 26px;cursor:pointer;list-style:none;font:700 18px Raleway,sans-serif}
body.reference-location .location-directory-grid summary::-webkit-details-marker {display:none}
body.reference-location .location-directory-grid summary b {display:inline-block;min-width:54px;color:#E09832;font-size:30px}
body.reference-location .location-directory-grid summary i {font-style:normal;font-size:26px}
body.reference-location .location-directory-grid details[open] summary i {transform:rotate(45deg)}
body.reference-location .location-directory-grid .directory {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;padding:8px 24px 26px}
body.reference-location .location-directory-grid .directory a {padding:7px 5px;color:#555969;font-size:13px;text-decoration:none}
body.reference-location .location-directory-grid .directory a:hover {color:#E09832}
body.reference-location .location-cta {display:flex;align-items:flex-end;justify-content:space-between;gap:70px;margin-bottom:110px;padding:64px;border-radius:18px;background:#e9f0f5}
body.reference-location .location-cta>div:first-child {max-width:810px}
body.reference-location .location-cta h2 {font-size:clamp(36px,4vw,56px)}
body.reference-location .location-cta p {margin:20px 0 0}
body.reference-location .location-cta .location-actions {flex:0 0 auto}
body.reference-location .site-footer {margin-top:0}
@media(max-width:1050px){
body.reference-location .location-shell {width:min(100% - 40px,1400px)}
body.reference-location .location-hero-inner {grid-template-columns:1fr;gap:50px}
body.reference-location .location-hero {min-height:auto}
body.reference-location .location-form {max-width:650px}
body.reference-location .location-intro,
body.reference-location .location-process>.location-shell,
body.reference-location .location-directories {grid-template-columns:1fr;gap:42px}
body.reference-location .location-feature-copy {padding:44px}
body.reference-location .location-cta {align-items:flex-start;flex-direction:column}
body.reference-location .location-cta .location-actions {margin-top:0}
}
@media(max-width:760px){
body.reference-location .location-shell {width:min(100% - 28px,1400px)}
body.reference-location .location-hero-inner {padding-block:58px}
body.reference-location .location-hero-overlay {background:linear-gradient(rgba(7,8,28,.86),rgba(7,8,28,.8))}
body.reference-location .location-hero h1 {font-size:43px}
body.reference-location .location-hero-copy>p {font-size:17px}
body.reference-location .location-actions {flex-direction:column}
body.reference-location .location-actions .btn {width:100%}
body.reference-location .location-form {padding:24px}
body.reference-location .location-intro {padding-block:74px}
body.reference-location .location-intro p,
body.reference-location .location-feature p,
body.reference-location .location-directory-heading p,
body.reference-location .location-cta p {font-size:16px}
body.reference-location .location-feature,
body.reference-location .location-feature.is-reversed {grid-template-columns:1fr}
body.reference-location .location-feature.is-reversed .location-feature-media {order:0}
body.reference-location .location-feature-media {height:270px}
body.reference-location .location-feature-copy {padding:32px 24px}
body.reference-location .location-link-row {display:grid;grid-template-columns:1fr 1fr}
body.reference-location .location-link-row a {border-radius:8px}
body.reference-location .location-services {padding-bottom:70px}
body.reference-location .location-process {padding-block:72px}
body.reference-location .location-process-grid {grid-template-columns:1fr}
body.reference-location .location-directories {padding-block:74px}
body.reference-location .location-directory-grid .directory {grid-template-columns:1fr 1fr;padding-inline:16px}
body.reference-location .location-directory-grid summary {padding:20px}
body.reference-location .location-cta {width:calc(100% - 28px);margin-bottom:74px;padding:34px 24px}
body.reference-location .location-kicker {font-size:11px;line-height:1.5}
}
@media(max-width:420px){
body.reference-location .location-directory-grid .directory {grid-template-columns:1fr}
body.reference-location .location-link-row {grid-template-columns:1fr}
body.reference-location .location-hero h1 {font-size:39px}
body.reference-location .location-form h2 {font-size:24px}
}
body.reference-location .location-form.ghl-form-wrap {width:100%;min-width:0;padding:20px}
body.reference-location .location-form.ghl-form-wrap h2 {margin-bottom:14px}
body.reference-location .location-form.ghl-form-wrap iframe {display:block;width:100%;max-width:100%;min-width:0}
@media(max-width:760px){
body.reference-location .location-form.ghl-form-wrap {padding:14px}
}
body.reference-location .location-hero {width:min(1408px,calc(100% - 32px));min-height:800px;margin:18px auto 0;border-radius:20px;color:#fff}
body.reference-location .location-hero-overlay {background:linear-gradient(90deg,rgba(7,8,29,.9) 0%,rgba(7,8,29,.68) 48%,rgba(7,8,29,.22) 100%)}
body.reference-location .location-hero-inner {grid-template-columns:minmax(0,1.05fr) minmax(420px,.78fr);gap:84px;padding-block:88px}
body.reference-location .location-hero h1 {margin:25px 0 24px;font:800 clamp(50px,5vw,78px)/.98 Raleway,sans-serif;letter-spacing:-.047em}
body.reference-location .location-hero-copy>p {max-width:720px;color:rgba(255,255,255,.86);font-size:18px;line-height:1.75}
body.reference-location .location-actions .btn-outline-light {background:transparent;color:#fff}
body.reference-location .location-actions .btn {gap:8px}
body.reference-location .location-actions .btn-outline-light:hover {background:#fff;color:#1F2335}
body.reference-location .location-form.ghl-form-wrap {border-color:rgba(255,255,255,.55);background:rgba(255,255,255,.93);box-shadow:0 28px 70px rgba(0,0,0,.26);color:#1F2335}
body.reference-location .location-form.ghl-form-wrap h2 {margin:6px 0 22px;font:800 30px/1.14 Raleway,sans-serif}
@media(max-width:1050px){
body.reference-location .location-hero-inner {grid-template-columns:1fr;gap:48px}
body.reference-location .location-form.ghl-form-wrap {max-width:720px}
}
@media(max-width:760px){
body.reference-location .location-hero {width:calc(100% - 20px);margin-top:10px}
body.reference-location .location-hero-inner {padding-block:58px}
body.reference-location .location-hero-overlay {background:linear-gradient(rgba(7,8,29,.88),rgba(7,8,29,.8))}
body.reference-location .location-hero h1 {font-size:43px}
body.reference-location .location-form.ghl-form-wrap {padding:14px}
}
@media(max-width:420px){
body.reference-location .location-hero h1 {font-size:39px}
body.reference-location .location-form.ghl-form-wrap h2 {font-size:25px}
}
body.reference-location .location-hero {width:100%;max-width:none;margin-inline:auto}
@media(max-width:1100px){
body.reference-location .location-hero-inner {width:min(1400px,calc(100% - 40px));grid-template-columns:1fr;gap:48px}
body.reference-location .location-form.ghl-form-wrap {max-width:720px}
}
@media(max-width:900px){
body.reference-location .location-hero {width:calc(100% - 20px);margin-top:10px}
}
@media(max-width:780px){
body.reference-location .location-hero-inner {width:min(1400px,calc(100% - 28px));padding-block:58px}
body.reference-location .location-hero-overlay {background:rgba(7,8,29,.82)}
body.reference-location .location-hero h1 {font-size:43px}
body.reference-location .location-hero-copy>p {font-size:17px}
body.reference-location .location-actions {flex-direction:column}
body.reference-location .location-actions .btn {width:100%}
body.reference-location .location-form.ghl-form-wrap {padding:14px}
}
@media(max-width:440px){
body.reference-location .location-hero h1 {font-size:39px}
body.reference-location .location-form.ghl-form-wrap h2 {font-size:25px}
}

/* Adapt the reference's presentation to the preserved Visibility content. */
body.reference-layout .reference-guide-group+ .reference-guide-group { margin-top:64px;padding-top:64px;border-top:1px solid #e1e4ea; }
body.reference-layout .reference-related-group+ .reference-related-group { margin-top:54px; }
body.reference-layout { --red:#E09832; background:#fff; color:#1F2335; }
body.reference-layout main { min-width:0; }
body.reference-layout .service-hero { background:#1F2335; }
body.reference-layout .reference-hero-image { position:absolute;inset:0;width:100%;height:100%;object-fit:cover; }
body.reference-layout .service-hero-copy,body.reference-layout .location-hero-copy { min-width:0; }
body.reference-layout .authority-hero-caption { display:block;margin-top:24px;font-size:12px;color:#d4d8e2; }
body.reference-layout .service-breadcrumb-mount:empty { display:none; }
body.reference-layout .service-hero .btn-red,body.reference-layout .service-showcase-cta .btn-red,body.reference-layout .service-final-cta .btn-red,body.reference-layout .location-actions .btn-red { color:#1F2335; }
body.reference-layout .btn-red:hover { background:#2E658A;color:#fff; }
body.reference-layout :is(.service-hero,.location-hero) iframe[data-form-id] { min-height:780px; }
body.reference-layout .service-form { max-width:none; }
/* Reserve the provider's full form card while its iframe initializes. */
body.reference-layout :is(.service-form,.location-form).ghl-form-wrap { min-height:1050px!important; }
body.reference-layout .service-section { border:0;scroll-margin-top:130px; }
body.reference-layout .service-overview-media { margin:0; }
body.reference-layout .service-overview-media>img { display:block;height:510px; }
body.reference-layout .service-overview-copy { min-width:0; }
body.reference-layout .service-overview-copy h2 { text-wrap:balance; }
body.reference-layout :is(.service-hero h1,.location-hero h1) { text-wrap:balance; }
body.reference-layout .service-option-copy :is(ul,ol) { padding-left:22px;color:#5a6071;line-height:1.65; }
body.reference-layout .service-option-copy a { display:inline; }
body.reference-layout .service-advantages .service-heading h2 { color:#fff; }
body.reference-layout .service-advantages :is(p,li) { color:rgba(255,255,255,.74);line-height:1.7; }
body.reference-layout .service-advantages :is(h3,h4) { color:#fff; }
body.reference-layout .service-advantage-grid .reference-number { color:#E09832;font:800 13px Raleway,sans-serif;letter-spacing:.12em; }
body.reference-layout .service-process-grid>article { position:relative;min-height:250px;padding:28px 22px;border:1px solid #e1e4eb;border-radius:16px;background:#fff; }
body.reference-layout .service-process-grid>article:not(:last-child)::after { content:'→';position:absolute;right:-18px;top:50%;z-index:2;display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:#E09832;color:#1F2335; }
body.reference-layout .service-process-grid>article h3 { margin:32px 0 10px; }
body.reference-layout .detail-step-number { display:block;color:#E09832;font-size:34px;margin:0 0 25px;opacity:.5; }
body.reference-layout .service-guide { max-width:none;margin:0;border-radius:0;background:#fff; }
body.reference-layout .service-guide-grid { gap:0; }
body.reference-layout .service-guide-grid article { border-radius:0;background:transparent; }
body.reference-layout .service-guide-grid article>p { margin-bottom:12px; }
body.reference-layout .service-guide-grid article>p:last-child { margin-bottom:0; }
body.reference-layout .service-guide .authority-intro-grid { display:grid;grid-template-columns:1fr .7fr;gap:64px;align-items:start; }
body.reference-layout .service-guide .authority-intro-grid .service-heading { text-align:left; }
body.reference-layout .service-guide .authority-prose p { font-size:17px;line-height:1.76;color:#5d6374; }
body.reference-layout .authority-answer { background:#edf1f5;border:1px solid #dfe3ea;border-radius:16px;padding:28px; }
body.reference-layout .authority-answer h3 { margin-top:0;color:#1F2335; }
body.reference-layout .authority-answer li { font-size:16px;line-height:1.8; }
body.reference-layout .authority-offices { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px; }
body.reference-layout .authority-offices a { border:1px solid #dfe3ea;border-radius:12px;padding:24px; }
body.reference-layout .authority-offices h3 { margin:0 0 12px; }
body.reference-layout .service-reviews .service-heading { text-align:center; }
body.reference-layout .service-faq { max-width:none;margin-inline:0;display:block; }
body.reference-layout .service-faq>.service-container { max-width:1120px; }
body.reference-layout .service-faq .service-heading { margin:0 auto 48px;text-align:center; }
body.reference-layout .service-faq .service-faq-list { width:100%; }
body.reference-layout .reference-faq-answer { padding:0 40px 20px 0; }
body.reference-layout .reference-faq-answer p { margin:0 0 14px; }
body.reference-layout .service-final-cta { border-radius:0;background:linear-gradient(90deg,rgba(31,35,53,.96),rgba(31,35,53,.83)),var(--detail-cta-image,none) center/cover; }
body.reference-layout .service-final-cta .service-final-cta-inner>div:first-child { min-width:0; }
body.reference-layout .service-final-cta :is(h3,li) { color:#fff; }
body.reference-layout .service-final-cta .btn { padding:14px 24px;white-space:normal;text-align:center; }
body.reference-layout .service-final-cta-inner>.reference-cta-actions>a.btn:last-child { color:#1F2335;display:inline-flex; }
body.reference-layout .service-final-cta-inner>.reference-cta-actions>a.btn:last-child:hover { color:#fff; }
body.reference-layout .service-related .destination-card-grid { padding:0; }
body.reference-layout .service-related a.destination-card { margin:0;text-decoration:none; }
body.reference-layout .service-related .destination-card-grid>* { grid-column:auto; }
body.reference-layout .service-related .destination-card-grid:has(>:nth-child(4):last-child) { grid-template-columns:repeat(2,minmax(0,1fr)); }
body.reference-layout .service-project-card img { display:block; }
body.reference-layout .service-project-card img[data-photo-orientation='portrait'] { object-fit:contain; }
body.reference-layout .service-project-grid[data-photo-count='1'],body.reference-layout .service-project-grid[data-photo-count='2'] { grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));grid-template-rows:300px;grid-auto-rows:300px; }
body.reference-layout .service-project-grid[data-photo-count='1']>*,body.reference-layout .service-project-grid[data-photo-count='2']>* { grid-column:auto;grid-row:auto; }
body.reference-layout .service-project-grid[data-photo-count='4'] { grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:300px; }
body.reference-layout .service-project-grid[data-photo-count='4']>* { grid-column:auto;grid-row:auto; }
body.reference-layout .service-project-grid[data-photo-count='5']>:nth-child(n+4) { grid-column:span 6; }
body.reference-layout .article-table-wrap { max-width:100%;overflow:auto; }
body.reference-layout :is(.service-section,.service-final-cta) a:focus-visible,body.reference-layout summary:focus-visible { outline:3px solid #E09832;outline-offset:4px; }
body.reference-location { background:#f5f5f6; }
body.reference-location .location-intro .authority-heading { max-width:none;margin:0; }
body.reference-location .location-intro .authority-eyebrow { color:#E09832;font-weight:800;font-size:13px;letter-spacing:.12em;text-transform:uppercase; }
body.reference-location .location-feature-media img { display:block;min-height:540px; }
body.reference-location .location-process-grid { gap:0;max-width:none; }
body.reference-location .location-process-grid li { min-height:0;background:transparent;border-top:0;border-left:0;border-radius:0; }
body.reference-location .location-process-grid h3 { color:#fff; }
body.reference-location .location-process-grid li>b { position:static;display:block;font-size:13px; }
body.reference-location .reference-location-detail { padding:0 26px 28px; }
body.reference-location .reference-location-detail>.authority-section { padding:0; }
body.reference-location .reference-location-detail .authority-container { width:100%;padding:0; }
body.reference-location .reference-location-detail .authority-heading { margin:0 0 18px; }
body.reference-location .reference-location-detail .authority-intro-grid { display:block; }
body.reference-location .reference-location-detail .authority-choice-list article { display:block;padding:22px 0; }
body.reference-location .reference-content-cards { display:grid;grid-template-columns:1fr;gap:16px; }
body.reference-location .reference-location-detail p { line-height:1.75;color:#555969; }
body.reference-location .reference-location-detail h3 { font:800 21px/1.3 Raleway,sans-serif;color:#1F2335; }
body.reference-location .reference-location-detail .authority-offices { grid-template-columns:1fr; }
body.reference-location .reference-location-detail .authority-answer { margin-top:24px; }
body.reference-location .location-cta h2 { color:#1F2335; }
@media(min-width:1101px) {
 body.reference-layout :is(.service-option-grid,.service-advantage-grid) { grid-template-columns:repeat(6,minmax(0,1fr)); }
 body.reference-layout :is(.service-option-grid,.service-advantage-grid)>* { grid-column:span 2; }
 body.reference-layout :is(.service-option-grid,.service-advantage-grid):has(>:nth-child(3n+2):last-child)>:nth-last-child(-n+2),
 body.reference-layout :is(.service-option-grid,.service-advantage-grid):has(>:nth-child(3n+1):last-child)>:nth-last-child(-n+4) { grid-column:span 3; }
 body.reference-layout .service-option-grid>article:only-child { grid-column:1/-1; }
 body.reference-layout .service-process-grid { grid-template-columns:repeat(auto-fit,minmax(185px,1fr)); }
 body.reference-layout .service-guide-grid { grid-template-columns:repeat(4,minmax(0,1fr)); }
 body.reference-layout .service-guide-grid:has(>:nth-child(3):last-child),body.reference-layout .service-guide-grid:has(>:nth-child(6):last-child) { grid-template-columns:repeat(3,minmax(0,1fr)); }
 body.reference-layout .service-guide-grid:has(>:nth-child(5):last-child) { grid-template-columns:repeat(6,minmax(0,1fr)); }
 body.reference-layout .service-guide-grid:has(>:nth-child(5):last-child)>* { grid-column:span 2; }
 body.reference-layout .service-guide-grid:has(>:nth-child(5):last-child)>:nth-last-child(-n+2) { grid-column:span 3; }
}
@media(max-width:1100px) {
 body.reference-layout .service-overview-media>img { height:510px; }
 body.reference-layout .service-guide .authority-intro-grid { grid-template-columns:1fr;gap:30px; }
 body.reference-layout .service-process-grid>article::after { display:none; }
}
@media(min-width:781px) and (max-width:1100px) {
 body.reference-layout :is(.service-option-grid,.service-advantage-grid,.service-process-grid,.service-guide-grid)>:last-child:nth-child(odd) { grid-column:1/-1; }
}
@media(max-width:780px) {
 body.reference-layout .service-overview-media>img { height:356px; }
 body.reference-layout .service-guide .service-container { width:calc(100% - 32px); }
 body.reference-layout .authority-offices { grid-template-columns:1fr; }
 body.reference-layout .service-project-grid[data-photo-count] { grid-template-columns:1fr;grid-template-rows:none;grid-auto-rows:300px; }
 body.reference-layout .service-project-grid[data-photo-count]>* { grid-column:auto;grid-row:auto; }
 body.reference-layout .service-related .destination-card-grid:has(>:nth-child(4):last-child) { grid-template-columns:1fr; }
 body.reference-layout .reference-faq-answer { padding-right:0; }
 body.reference-location .location-feature-media img { min-height:0;height:270px; }
 body.reference-location .reference-location-detail { padding:0 20px 24px; }
}
@media(max-width:480px) {
 body.reference-layout .service-overview-media>img { height:296px; }
 body.reference-layout .service-guide .service-container { width:calc(100% - 24px); }
 body.reference-layout .service-project-grid[data-photo-count] { grid-auto-rows:250px; }
}
@media(prefers-reduced-motion:reduce) {
 body.reference-layout :is(.service-option-card,.service-option-media img,.service-project-card img) { transition:none;transform:none; }
}
