/* Homepage refinement: visual consistency and responsive hero carousel. */
.homepage-hero .hero-image { isolation: isolate; }
.homepage-hero .hero-image__slide { position: absolute; inset: 0; z-index: 0; opacity: 0; transition: opacity .7s ease; }
.homepage-hero .hero-image__slide.is-active { z-index: 1; opacity: 1; }
.homepage-hero .hero-image::after { z-index: 2; }

.homepage-hero .hero__grid { gap: clamp(2rem, 5vw, 5.25rem); }

.calculator-hub{border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.calculator-hub__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}
.calculator-hub__grid article{display:flex;min-height:16rem;flex-direction:column;align-items:flex-start;padding:1.5rem;border:1px solid var(--line);border-top:3px solid var(--accent);background:var(--paper);box-shadow:var(--shadow)}
.calculator-hub__grid h3{margin:0 0 .75rem;font-size:1.45rem}
.calculator-hub__grid p{margin:0 0 1.5rem;color:var(--slate);font-size:.95rem;line-height:1.6}
.calculator-hub__grid .button{margin-top:auto}
@media (max-width:1050px){.calculator-hub__grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:640px){.calculator-hub__grid{grid-template-columns:1fr}.calculator-hub__grid article{min-height:0}.calculator-hub__grid .button{width:100%;margin-top:.5rem}}

.credibility-strip--homepage .credibility-strip__grid>a{display:flex;min-height:8.4rem;flex-direction:column;justify-content:center;padding:1.25rem 1.5rem;border-left:1px solid var(--line);background:var(--white);color:var(--ink);text-decoration:none}
.credibility-item--calculator strong span{display:inline-block;margin-left:.2rem;color:var(--accent);font-size:1.1em}
.credibility-item--calculator:hover{background:var(--sand)!important}
.credibility-item--reviews small{display:block;margin-top:.3rem;color:var(--slate);font-size:.82rem;font-weight:700}.credibility-item--reviews .review-stars{display:inline-block;margin-right:.3rem;color:#b88a4d;letter-spacing:.08em}
@media(max-width:640px){.credibility-strip--homepage .credibility-strip__grid>a{min-height:0;padding:1.2rem 0;border-left:0;border-top:1px solid var(--line)}}

/* Four equal trust markers below the homepage banner. */
.credibility-strip--homepage .credibility-strip__grid{grid-template-columns:repeat(4,minmax(0,1fr))!important}
@media(max-width:850px){.credibility-strip--homepage .credibility-strip__grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.credibility-strip--homepage .credibility-strip__grid>a:nth-child(3){border-left:0;border-top:1px solid var(--line)}.credibility-strip--homepage .credibility-strip__grid>a:nth-child(4){border-top:1px solid var(--line)}}
@media(max-width:640px){.credibility-strip--homepage .credibility-strip__grid{grid-template-columns:1fr!important}.credibility-strip--homepage .credibility-strip__grid>a:nth-child(n){border-left:0;border-top:1px solid var(--line)}}

/* Raise the introductory copy slightly while preserving the mobile layout. */
@media (min-width: 641px) {
  .homepage-hero .hero__content { transform: translateY(-0.85rem); }
}
.why-section,
.why-section .why-grid,
.why-section .why-grid article,
.why-section .why-grid article:first-child { background: #061d3b !important; }
.why-section .why-grid { overflow: hidden; border-radius: .1rem; }
.why-section .why-grid article { display: flex; min-width: 0; flex-direction: column; justify-content: flex-start; }
.why-section .why-grid article:hover { background: #0b2b55 !important; }
.why-section .why-grid h3 { font-size: clamp(1.65rem, 2.3vw, 2.35rem); }
.why-section .why-grid p { max-width: 29ch; font-size: clamp(1rem, 1.2vw, 1.12rem); line-height: 1.65; }

.consultation-cta .eyebrow { margin-bottom: 1.2rem; font-size: clamp(1rem, 1.5vw, 1.2rem); letter-spacing: .16em; }
.consultation-cta h2 { font-size: clamp(2.35rem, 4.8vw, 4.3rem); }

/* A consistent visual hierarchy and spacing rhythm across homepage banners. */
.audience-section,
.tax-section,
.core-services-section,
.why-section,
.team-section,
#how-it-works,
#insights { padding: clamp(3.5rem, 6vw, 5rem) 0; }
.cta-band { padding: clamp(2.75rem, 4.5vw, 4rem) 0; }
.tax-section h2,
.core-services-section .section-heading h2,
.why-section .section-heading h2,
.team-section h2,
#how-it-works .section-heading h2,
#insights .section-heading h2,
.cta-band h2,
.form-section h2 { font-size: clamp(2.5rem, 4.35vw, 4.1rem); }
.tax-section .eyebrow,
.audience-section .eyebrow,
.core-services-section .eyebrow,
.why-section .eyebrow,
.team-section .eyebrow,
#how-it-works .eyebrow,
#insights .eyebrow { font-size: clamp(1rem, 1.5vw, 1.2rem); letter-spacing: .16em; }

/* Keep the at-a-glance audience statement readable on wide screens without
   weakening the tablet and phone layout. */
@media (min-width: 1101px) {
  .credibility-strip--homepage .credibility-strip__grid {
    grid-template-columns: minmax(9rem, .62fr) minmax(18rem, 1.05fr) minmax(43rem, 2.7fr);
  }
  .credibility-item--audience strong { white-space: nowrap; font-size: clamp(.75rem, .92vw, .95rem); }
}

@media (min-width: 641px) and (max-width: 1150px) {
  .homepage-hero .hero__grid { grid-template-columns: minmax(0, 1fr) minmax(20rem, .9fr); }
  .homepage-hero .hero__content h1 { font-size: clamp(3.6rem, 7vw, 5.45rem); }
}

@media (max-width: 850px) {
  .homepage-hero .hero__grid { gap: 2rem; }
  .homepage-hero .hero-image { width: 100%; max-width: none; }
  .why-section .why-grid article { display: grid; }
}

@media (max-width: 640px) {
  .homepage-hero .hero__content { padding-top: 2.5rem; }
  .homepage-hero .hero__content h1 { max-width: 11ch; font-size: clamp(3.1rem, 15vw, 4.7rem); }
  .homepage-hero .hero-image { height: clamp(15.5rem, 57vw, 20rem); }
  .homepage-hero .hero-image__slide { object-position: 66% center; }
  .why-section .why-grid p { max-width: none; }
  .consultation-cta .eyebrow { font-size: 1rem; }
}

@media (prefers-reduced-motion: reduce) {
  .homepage-hero .hero-image__slide { transition: none; }
}
/* Preserve the compact eyebrow style when the Who we help label is a semantic H2. */
.audience-section .section-heading h2.eyebrow{margin:0;color:var(--accent);font-family:var(--sans);font-size:.72rem;font-weight:800;letter-spacing:.13em;line-height:1.4;text-transform:uppercase}

.local-service-section{padding:clamp(2.5rem,4vw,3.5rem) 0;background:var(--paper);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.local-service-section__inner{display:grid;grid-template-columns:minmax(14rem,.8fr) minmax(0,2.2fr);gap:clamp(2rem,5vw,5rem);align-items:center}
.local-service-section__intro .eyebrow{margin-bottom:.65rem}
.local-service-section__intro h2{margin-bottom:.65rem;font-size:clamp(1.8rem,2.8vw,2.7rem)}
.local-service-section__intro p:not(.eyebrow){max-width:30rem;margin:0;color:var(--slate);font-size:.95rem;line-height:1.55}
.local-service-links{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.55rem}
.local-service-links a{display:flex;align-items:center;justify-content:space-between;gap:.4rem;min-height:3.25rem;padding:.7rem .8rem;border:1px solid var(--line);background:var(--white);color:var(--ink);font-size:.81rem;font-weight:700;line-height:1.25}
.local-service-links a:hover{border-color:var(--accent);background:var(--sand);color:var(--ink)}
.local-service-links span{color:var(--accent);font-size:1rem}
@media(max-width:900px){.local-service-section__inner{grid-template-columns:1fr;gap:1.5rem}.local-service-links{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:640px){.local-service-links{grid-template-columns:repeat(2,minmax(0,1fr))}.local-service-links a{min-height:3.5rem;font-size:.84rem}}

/* Property-tax expertise replaces the previous duplicate service directory on the homepage. */
.property-expertise-section{padding:clamp(3.5rem,6vw,5.5rem) 0;background:var(--paper);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.property-expertise-section__heading{display:flex;align-items:end;justify-content:space-between;gap:2rem 4rem;margin-bottom:2.25rem}
.property-expertise-section__heading h2{max-width:17ch;margin-bottom:0;font-size:clamp(2.45rem,4vw,4rem)}
.property-expertise-section__heading>p{max-width:32rem;margin:0;color:var(--slate);line-height:1.65}
.property-expertise-section__grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem}
.property-expertise-card{display:flex;min-height:22rem;flex-direction:column;padding:1.7rem;border:1px solid var(--line);border-top:3px solid var(--accent);background:var(--white);box-shadow:0 10px 24px rgba(10,31,59,.045);transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}
.property-expertise-card:hover{transform:translateY(-3px);border-color:var(--accent);box-shadow:0 16px 30px rgba(10,31,59,.11)}
.property-expertise-card h3{margin:0 0 1rem;font-size:clamp(1.35rem,1.75vw,1.75rem)}
.property-expertise-card h3 a:hover{color:var(--ink-2)}
.property-expertise-card p{margin:0 0 1.5rem;color:var(--slate);font-size:.94rem;line-height:1.62}
.property-expertise-card .text-link{margin-top:auto;align-self:flex-start;font-size:.84rem}
.property-expertise-section__cta{display:flex;justify-content:center;margin-top:2rem}
@media(max-width:1000px){.property-expertise-section__grid{grid-template-columns:repeat(2,minmax(0,1fr))}.property-expertise-card{min-height:18rem}}
@media(max-width:640px){.property-expertise-section__heading{align-items:flex-start;flex-direction:column;gap:1rem;margin-bottom:1.5rem}.property-expertise-section__heading h2{font-size:clamp(2.15rem,10vw,3rem)}.property-expertise-section__grid{grid-template-columns:1fr}.property-expertise-card{min-height:0;padding:1.5rem}.property-expertise-section__cta .button{width:100%}}

/* The four hero markers deliberately span the same full width as the banner.
   This prevents a partial fifth column or a loose white edge on wide screens. */
.credibility-strip--homepage .credibility-strip__grid{
  width:100%;
  max-width:none;
  margin:0;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  border-right:0;
}
.credibility-strip--homepage .credibility-strip__grid > *{
  display:flex;
  min-width:0;
  min-height:8.4rem;
  flex-direction:column;
  justify-content:center;
  padding:1.25rem clamp(1.25rem,4vw,4rem);
  border-left:1px solid var(--line);
  background:var(--white);
}
.credibility-strip--homepage .credibility-strip__grid > *:last-child{border-right:1px solid var(--line)}
@media(max-width:850px){
  .credibility-strip--homepage .credibility-strip__grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .credibility-strip--homepage .credibility-strip__grid > *:nth-child(3){border-left:0;border-top:1px solid var(--line)}
  .credibility-strip--homepage .credibility-strip__grid > *:nth-child(4){border-top:1px solid var(--line)}
}
@media(max-width:640px){
  .credibility-strip--homepage .credibility-strip__grid{grid-template-columns:1fr!important}
  .credibility-strip--homepage .credibility-strip__grid > *{min-height:0;padding:1.2rem max(1.25rem,5vw);border-right:0;border-left:0;border-top:1px solid var(--line)}
  .credibility-strip--homepage .credibility-strip__grid > a{padding-right:max(1.25rem,5vw);padding-left:max(1.25rem,5vw)}
  .credibility-strip--homepage .credibility-strip__grid > *:first-child{border-top:0}
  .why-section .why-grid article{display:block;padding:1.75rem 0;text-align:left}
  .why-section .why-grid h3,.why-section .why-grid p{grid-column:auto;text-align:left}
  .why-section .why-grid h3{margin:0 0 .75rem}
  .why-section .why-grid p{margin:0}
}
