/* ============================================================
   BREADCRUMB
============================================================ */
.breadcrumb {
  padding-top: 1.25rem;
  padding-bottom: 1.25rem;
  border-bottom: 1px solid rgba(26,42,34,0.1);
}
.breadcrumb__list {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  list-style: none;
  font-family: var(--font-dm);
  font-size: 0.8125rem;
  color: rgba(26,42,34,0.55);
}
.breadcrumb__list li + li::before { content: '›'; margin-right: 0.5rem; }
.breadcrumb__list a { color: rgba(26,42,34,0.55); transition: color 0.15s; }
.breadcrumb__list a:hover { color: var(--racing); }
.breadcrumb__list .current { color: var(--racing); font-weight: 500; }

/* ============================================================
   SERVICE HERO
============================================================ */
.service-hero {
  padding-top: 4.5rem;
  padding-bottom: 0;
  background: var(--ecru);
}
.service-hero .inner {
  display: grid;
  grid-template-columns: 1fr 30rem;
  gap: 5rem;
  align-items: end;
  padding-bottom: 0;
}
.service-hero__content { padding-bottom: 4rem; }
.service-hero__eyebrow { color: var(--tuscany); margin-bottom: 1.25rem; }
.service-hero__headline {
  font-family: var(--font-serif);
  font-size: 4rem;
  font-weight: 500;
  line-height: 1.05;
  letter-spacing: -1.8px;
  color: var(--racing);
  margin-bottom: 1.5rem;
}
.service-hero__intro {
  font-family: var(--font-serif);
  font-size: 1.25rem;
  line-height: 1.6;
  color: rgba(26,42,34,0.85);
  margin-bottom: 2.25rem;
  max-width: 35rem;
}
.service-hero__cta {
  display: inline-block;
  background: var(--tom-thumb);
  color: var(--ecru);
  font-family: var(--font-dm);
  font-size: 0.9375rem;
  font-weight: 600;
  padding: 1rem 1.75rem;
  border-radius: 999px;
  transition: opacity 0.15s;
}
.service-hero__cta:hover { opacity: 0.88; }
.service-hero__image {
  background: var(--periglacial);
  border-radius: 0.375rem 6px 0 0;
  overflow: hidden;
  height: 30rem;
  align-self: end;
}

.service-hero__image img { 
	width: 100%; 
	height: 100%; 
	object-fit: cover; 
	object-position: center top; 
}

.service-hero__image.couples img {
	object-position: top left;
}

/* ============================================================
   MAIN CONTENT + SIDEBAR
============================================================ */
.service-body { padding-top: 4.5rem; padding-bottom: 5rem; }
.service-body .inner {
  display: grid;
  grid-template-columns: 1fr 20rem;
  gap: 5rem;
  align-items: start;
}
.service-content { display: flex; flex-direction: column; gap: 3rem; }

.content-block__label {
  font-family: var(--font-outfit);
  font-size: 0.9375rem;
  font-weight: 600;
  letter-spacing: 1.76px;
  text-transform: uppercase;
  color: var(--tuscany);
  opacity: 0.9;
  margin-bottom: 1rem;
}
.content-block__headline {
  font-family: var(--font-serif);
  font-size: 2rem;
  font-weight: 500;
  line-height: 1.2;
  letter-spacing: -0.5px;
  color: var(--racing);
  margin-bottom: 1.25rem;
}
.content-block__body { display: flex; flex-direction: column; gap: 1rem; }
.content-block__body p {
  font-family: var(--font-serif);
  font-size: 1.125rem;
  line-height: 1.65;
  color: rgba(26,42,34,0.88);
}
.content-block__body strong { font-weight: 600; color: var(--racing); }

.content-block__body a {
	color: var(--tom-thumb);
    font-weight: 600;
    text-decoration: underline;
    text-underline-offset: 0.2em;
    transition: opacity 0.15s;
}

.content-block__body a:hover {
	opacity: 0.7;
}

.treats-grid { 
	display: grid; 
	grid-template-columns: 1fr 1fr; 
	gap: 0.625rem; 
	margin-top: 1.25rem; 
}
.treats-grid__item {
  display: flex;
  align-items: center;
  gap: 0.625rem;
  font-family: var(--font-dm);
  font-size: 1.125rem;
  color: rgba(26,42,34,0.85);
}
.treats-grid__item::before {
  content: '';
  display: block;
  width: 0.375rem;
  height: 0.375rem;
  border-radius: 50%;
  background: var(--tuscany);
  flex-shrink: 0;
}

.pull-quote {
  border-left: 3px solid var(--tuscany);
  padding: 1.5rem 2rem;
  background: var(--white-rock);
  border-radius: 0 6px 6px 0;
}
.pull-quote__text {
  font-family: var(--font-serif);
  font-size: 1.375rem;
  line-height: 1.5;
  color: var(--racing);
  letter-spacing: -0.2px;
}

/* ============================================================
   SIDEBAR
============================================================ */
.service-sidebar {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
  position: sticky;
  top: 6.25rem;
}
.sidebar-card {
  background: var(--white-rock);
  border: 1px solid rgba(26,42,34,0.14);
  border-radius: 0.375rem;
  padding: 1.75rem;
}
.sidebar-card__eyebrow { color: var(--tom-thumb); margin-bottom: 0.75rem; }
.sidebar-card__headline {
  font-family: var(--font-serif);
  font-size: 1.375rem;
  font-weight: 500;
  line-height: 1.2;
  color: var(--racing);
  margin-bottom: 0.75rem;
}
.sidebar-card__body {
  font-family: var(--font-serif);
  font-size: 1rem;
  line-height: 1.55;
  color: rgba(26,42,34,0.8);
  margin-bottom: 1.25rem;
}
.sidebar-card__cta {
  display: block;
  text-align: center;
  background: var(--tuscany);
  color: var(--ecru);
  font-family: var(--font-dm);
  font-size: 0.875rem;
  font-weight: 600;
  padding: 0.875rem 1.25rem;
  border-radius: 999px;
  transition: opacity 0.15s;
}
.sidebar-card__cta:hover { opacity: 0.88; }
.sidebar-card--plain { background: transparent; border-color: rgba(26,42,34,0.12); }
.sidebar-card__list { list-style: none; display: flex; flex-direction: column; gap: 0.375rem; }
.sidebar-card__list li a {
  font-family: var(--font-dm);
  font-size: 1rem;
  color: var(--tom-thumb);
  font-weight: 500;
  transition: opacity 0.15s;
}
.sidebar-card__list li a:hover { opacity: 0.7; }
.sidebar-card__list li a::before { content: '→ '; opacity: 0.5; }
.sidebar-card__phone {
  font-family: var(--font-serif);
  font-size: 1.375rem;
  font-weight: 500;
  color: var(--racing);
  letter-spacing: -0.3px;
}
.sidebar-card__hours {
  font-family: var(--font-outfit);
  font-size: 0.9375rem;
  letter-spacing: 1.3px;
  text-transform: uppercase;
  color: rgba(26,42,34,0.5);
  margin-top: 0.25rem;
  margin-bottom: 1rem;
}

/* ============================================================
   RELATED SERVICES
============================================================ */
.related-services {
  background: var(--celtic);
  padding-top: 4rem;
  padding-bottom: 4rem;
}
.related-services__eyebrow { color: rgba(246,241,234,0.6); margin-bottom: 1rem; }
.related-services__headline {
  font-family: var(--font-serif);
  font-size: 2.25rem;
  font-weight: 500;
  color: var(--ecru);
  letter-spacing: -0.5px;
  margin-bottom: 2rem;
}
.related-services__pills { display: flex; flex-wrap: wrap; gap: 0.625rem; }
.pill-dark {
  display: inline-block;
  border: 1px solid rgba(246,241,234,0.25);
  border-radius: 999px;
  padding: 0.625rem 1.125rem;
  font-family: var(--font-dm);
  font-size: 0.875rem;
  color: rgba(246,241,234,0.85);
  transition: background 0.15s, border-color 0.15s;
}
.pill-dark:hover { background: rgba(246,241,234,0.1); border-color: rgba(246,241,234,0.4); }

/* ============================================================
   RESPONSIVE — 64rem
============================================================ */
@media (max-width: 64rem) {
  .service-hero .inner { grid-template-columns: 1fr 23.75rem; gap: 3rem; }
  .service-hero__headline { font-size: 3rem; }
  .service-body .inner { grid-template-columns: 1fr 17.5rem; gap: 3rem; }
}

/* ============================================================
   RESPONSIVE — 48rem
============================================================ */
@media (max-width: 48rem) {
  .service-hero .inner { grid-template-columns: 1fr; gap: 2.5rem; }
  .service-hero__content { padding-bottom: 0; }
  .service-hero__headline { font-size: 2.5rem; letter-spacing: -1px; }
  .service-hero__intro { font-size: 1.0625rem; }
  .service-hero__image { height: 18.75rem; border-radius: 0.375rem; }
  .service-body .inner { grid-template-columns: 1fr; gap: 3rem; }
  .service-sidebar { position: static; }
  .content-block__headline { font-size: 1.625rem; }
  .treats-grid { grid-template-columns: 1fr; }
}

/* ============================================================
   RESPONSIVE — 30rem
============================================================ */
@media (max-width: 30rem) {
  .service-hero__headline { font-size: 2rem; }
}

/* ============================================================
   CAREER STEPS (career-counseling.html)
============================================================ */
.career-step {
  padding: 1.25rem 1.5rem;
  border-left: 3px solid var(--periglacial);
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
  background: rgba(255,255,255,0.4);
  border-radius: 0 0.375rem 0.375rem 0;
}
.career-step__number {
  color: var(--tuscany);
  opacity: 1;
  margin-bottom: 0.125rem;
}
.career-step__title {
  font-family: var(--font-serif);
  font-size: 1.0625rem;
  font-weight: 600;
  color: var(--racing);
  line-height: 1.3;
}
.career-step__desc {
  font-family: var(--font-serif);
  font-size: 1rem;
  line-height: 1.6;
  color: rgba(26,42,34,0.75);
}
