/**
 * Services & Approach pages — extends site.css (services.html, approach.html, presenting-concerns.html).
 */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}

:root{
  /* Warm tokens — footer + button text on teal/gold (design system) */
  --warm-cream:#F5EFE8;
  --warm-white:#F5EFE8;
  --warm-glow:#E8B59E;
  --warm-accent:#D4A574;
  --sage-paper-end:#e2e7d9;

  /* --page-cool-* in site.css */
  --section-cool-1:#e2eef2;
  --section-cool-2:#d8e7ec;
  --section-cool-3:#cfdfe6;
  --intro-bg:var(--page-cool-2);
  --teal-bright:#2d97ab;
  --teal-vivid:var(--brand-accent-soft,#2d8a84);
  --teal-ink:#113d43;
  --teal-hover:#199baf;

  /* Earth */
  --espresso:#261c16;
  --intro-text:#1f2724;

  /* Accent (gold replaces crimson) */
  --gold-light:#e8c88a;
  

  /* Sage / stone */
  --sage-cool:#9ec9c2;
  --sage:#b8beb2;
  --stone:#aab29f;
  --sand:#d8ccb8;

  /* Aliases (back-compat) */
  --bg:var(--page-cool-2);
  --warm-bg:var(--page-cool-1);
  --abyss:var(--espresso);
  --deep:var(--intro-text);
  --navy:#0c2a35;
  --bark:#2C1A0E;
  --tide-light:#3D8FA0;
  --tide:var(--teal-mid);
  --crimson:var(--gold);
  --vivid:var(--teal-vivid);
  --text:var(--intro-text);
  --text-light:rgba(31,39,36,0.62);
  --mist:#B8CDE0;
  --sig-ls:0.125em;
}

body{
  font-family:'DM Sans',sans-serif;
  color:var(--text);
  overflow-x:hidden;
  background:linear-gradient(165deg,var(--page-cool-1) 0%,var(--page-cool-2) 48%,var(--page-cool-3) 100%);
}

/* Em-dash + script utilities
   Brittany has a taller x-height than Cormorant; we scale down
   so the lowercase letters visually match the neighbor type.
   Inline (.em-sig) defaults to 0.85em — calibrated for Cormorant.
   Override .em-sig per-context if it sits in DM Sans (~0.92em).
   Headline (.script) gets its size set per-instance, not here. */
.em-sig{
  font-family:var(--rt-font-brittany);
  font-style:normal;
  font-weight:400;
  font-size:0.85em;
  letter-spacing:var(--sig-ls);
  vertical-align:baseline;
}
.script{
  font-family:var(--rt-font-brittany);
  font-weight:400;
  letter-spacing:0.06em;
}
.script-cost{color:var(--gold-deep)}
.script-agency{color:var(--teal-vivid)}

.eyebrow{font-family:'DM Sans',sans-serif;font-size:var(--rt-type-eyebrow,0.75rem);font-weight:500;letter-spacing:0.28em;text-transform:uppercase}

/* Buttons (v2) — all filled by default */
.btn{
  font-family:'DM Sans',sans-serif;
  font-size:var(--rt-type-btn-label,0.8125rem);
  font-weight:600;
  letter-spacing:0.12em;
  text-transform:uppercase;
  padding:1rem 2.25rem;
  border-radius:3px;
  cursor:pointer;
  text-decoration:none;
  display:inline-block;
  transition:all 0.25s;
  border:1.5px solid transparent;
  white-space:nowrap;
}
.btn-primary{
  background:var(--gold);
  color:var(--warm-white,#F5EFE8);
  border-color:var(--gold-bronze);
}
.btn-primary:hover{
  background:var(--espresso);
  border-color:var(--espresso);
  color:var(--warm-white,#F5EFE8);
  transform:translateY(-1px);
}
.btn-secondary{
  background:var(--espresso);
  color:var(--warm-white,#F5EFE8);
  border-color:var(--espresso);
}
.btn-secondary:hover{
  background:var(--gold-bronze,#b8863a);
  border-color:var(--gold-bronze-hover,#a67832);
  color:#261c16;
}
.btn-cream{
  background:var(--page-cool-1);
  color:var(--espresso);
  border-color:rgba(200,218,228,0.85);
}
.btn-cream:hover{
  background:var(--gold);
  border-color:var(--gold-bronze);
  color:var(--warm-white,#F5EFE8);
  transform:translateY(-1px);
}
/* On deep backgrounds, primary still works — gold reads cleanly on teal-deep */

/* NAV — nav.rt-site-nav in site.css */

/* PAGE HEADER — shell: page-header-dark-hero.css + site.css --rt-hero-distinct-* */
.page-header{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  position:relative;
  overflow:hidden;
}
.page-header-eyebrow{
  margin-top:0;
  margin-bottom:1.75rem;
  opacity:0;
  animation:fadeUp 0.7s 0.2s forwards;
  position:relative;
  z-index:1;
}
.page-header-hed{
  min-width:0;
  margin-bottom:2.5rem;
  opacity:0;
  animation:fadeUp 0.7s 0.4s forwards;
  position:relative;
  z-index:1;
  overflow-wrap:break-word;
}
/* Match services/pricing hero: short rule sits tight under headline */
.page-header-hed:has(+ .page-header-hed-rule){
  margin-bottom:0.85rem;
}
.page-header-hed .em-sig{color:var(--gold-deep);font-size:0.85em}
.page-header-hed .script{
  font-family:'Cormorant Garamond',serif;
  font-style:italic;
  font-size:0.95em;
  color:var(--teal-vivid);
  font-weight:400;
  letter-spacing:-0.02em;
}
/* Type/color on dark hero: page-header-about-typography.css (.page-header-intro DM Sans cream) */
.page-header-intro{
  opacity:0;
  animation:fadeUp 0.7s 0.6s forwards;
  position:relative;
  z-index:1;
  min-width:0;
  max-width:100%;
  overflow-wrap:break-word;
}
.page-header-intro:last-of-type{
  margin-bottom:3rem;
}
.page-header-intro + .page-header-intro{
  margin-top:1.5rem;
}
.page-header-intro .em-sig{color:var(--gold-deep)}
:is(body.rt-page-services, body.rt-page-approach) section.page-header.rt-header-about-typography--dark:not(.rt-sage-paper-hero) .page-header-intro strong{
  font-style:normal;
  font-weight:600;
}
section.page-header.rt-header-about-typography.rt-header-about-typography--dark:not(.rt-sage-paper-hero) .page-header-eyebrow{
  color:var(--gold);
}
section.page-header.rt-header-about-typography.rt-header-about-typography--dark:not(.rt-sage-paper-hero) .page-header-hed{
  color:rgba(255,255,255,0.96);
}
section.page-header.rt-header-about-typography.rt-header-about-typography--dark:not(.rt-sage-paper-hero) .page-header-hed em{
  color:var(--teal-bright);
}
body.rt-page-presenting-concerns section.page-header.rt-header-about-typography.rt-header-about-typography--dark .page-header-hed em{
  color:var(--teal-vivid);
}
body.rt-page-presenting-concerns .services-filter-hed{
  font-style:normal;
}
/* Hero <em> accent — same as “in context” on Approach (teal-bright, not --teal-vivid) */
:is(body.rt-page-presenting-concerns,body.rt-page-approach) section.page-header.rt-header-about-typography.rt-header-about-typography--dark:not(.rt-sage-paper-hero) .page-header-intro em{
  color:var(--teal-bright);
}

/* Ways to Work Together — service modalities (anchor targets from index) */
.service-modalities{
  background:linear-gradient(180deg,var(--page-cool-1) 0%,var(--page-cool-2) 100%);
  padding:clamp(3.75rem,7vw,6.5rem) 5rem clamp(2.5rem,5vw,4rem);
}
.service-modalities-inner{
  max-width:880px;
  margin:0 auto;
}
.service-modalities .expand-list{
  margin-top:0.5rem;
}
.expand-shift-outcome{
  margin-top:1.1rem;
  padding-top:1rem;
  border-top:1px solid rgba(31,39,36,0.1);
  display:flex;
  flex-direction:column;
  gap:0.65rem;
}
.expand-shift-outcome p{
  font-family:'DM Sans',sans-serif;
  font-size:var(--rt-type-sans-body,1rem);
  font-weight:300;
  line-height:1.65;
  color:rgba(31,39,36,0.86);
  margin:0;
}
.expand-kicker{
  font-weight:600;
  color:var(--teal-deep,#154d4c);
  letter-spacing:0.02em;
}
.service-modalities:target-within .expand-item:target,
.expand-item:target{
  scroll-margin-top:7rem;
}

/* FOCUS AREAS — slightly deeper cool wash than intro band (contrast at gold seam) */
.focus-areas{
  background-color:var(--section-cool-2);
  padding:5.75rem 5rem 4.5rem;
  background-image:
    radial-gradient(ellipse 115% 85% at 92% 8%,rgba(200,228,235,0.42) 0%,transparent 52%),
    radial-gradient(ellipse 90% 72% at 8% 88%,rgba(27,155,175,0.11) 0%,transparent 55%),
    linear-gradient(180deg,var(--section-cool-1) 0%,var(--section-cool-2) 48%,var(--section-cool-3) 100%);
}

/* Tag filter band — pricing-style intro (tiers-header) + compact control */
.services-filter-band{
  /* Lighter plateau than .focus-areas so cards read as their own band */
  background:linear-gradient(180deg,var(--page-cool-1) 0%,var(--page-cool-2) 100%);
  border-bottom:none;
  padding:clamp(3.75rem,7vw,6.5rem) 5rem 1.75rem;
}
.services-filter-intro-stack{
  max-width:880px;
  margin:0 auto 2rem;
  text-align:left;
}
.services-filter-eyebrow{
  font-family:'DM Sans',sans-serif;
  font-size:var(--rt-type-eyebrow,0.75rem);
  font-weight:500;
  letter-spacing:0.2em;
  text-transform:uppercase;
  color:var(--gold-paper);
  margin:0 0 1rem;
}
.services-filter-hed{
  font-family:'Cormorant Garamond',serif;
  font-size:clamp(1.9rem,2.8vw,2.8rem);
  font-weight:300;
  line-height:1.2;
  color:var(--text);
  letter-spacing:-0.02em;
  margin:0;
  font-style:normal;
}
body .services-filter-hed em{
  font-style:italic;
  font-weight:400;
  color:var(--teal-bright);
}
.services-filter-sub{
  font-family:'DM Sans',sans-serif;
  font-size:var(--rt-type-sans-lead,1.0625rem);
  font-weight:300;
  line-height:1.75;
  color:rgba(38,28,22,0.72);
  max-width:min(var(--rt-copy-measure,62ch),100%);
  margin:1.25rem 0 0;
}
.services-filter-sub a{
  color:var(--teal-deep,#154d4d);
  text-decoration:underline;
  text-underline-offset:0.15em;
}
.services-filter-sub a:hover,
.services-filter-sub a:focus-visible{
  color:var(--teal-vivid,#1B9BAF);
}
section.services-filter-band .tag-filter{
  margin:0 auto;
  max-width:880px;
  padding:0;
  background:transparent;
  border:none;
  border-radius:0;
  box-shadow:none;
  text-align:left;
}
.services-filter-band .tag-filter-select-wrap,
.approach-patterns .tag-filter-select-wrap{
  max-width:min(42rem,100%);
  margin:0;
}
.services-filter-band .tag-filter-select,
.approach-patterns .tag-filter-select{
  width:100%;
  font-family:'DM Sans',sans-serif;
  font-size:1rem;
  font-weight:400;
  color:var(--espresso);
  background-color:var(--warm-white,#F5EFE8);
  border:1px solid rgba(38,28,22,0.18);
  border-radius:4px;
  padding:0.75rem 2.75rem 0.75rem 1rem;
  min-height:52px;
  line-height:1.4;
  cursor:pointer;
  appearance:none;
  -webkit-appearance:none;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8' fill='none'%3E%3Cpath d='M1 1.5L6 6L11 1.5' stroke='%23261c16' stroke-opacity='0.55' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat:no-repeat;
  background-position:right 1rem center;
  background-size:12px 8px;
  box-shadow:0 1px 0 rgba(255,255,255,0.28) inset;
}
.services-filter-band .tag-filter-select:hover,
.approach-patterns .tag-filter-select:hover{
  border-color:rgba(var(--gold-paper-rgb,210,137,54),0.45);
}
.services-filter-band .tag-filter-select:focus,
.approach-patterns .tag-filter-select:focus{
  outline:none;
}
.services-filter-band .tag-filter-select:focus-visible,
.approach-patterns .tag-filter-select:focus-visible{
  outline:2px solid var(--teal-vivid);
  outline-offset:2px;
}
.expand-list{
  max-width:880px;
  margin:0 auto;
  --panel-overlay-extend:1.55rem;
  --expand-divider-w:min(var(--rt-copy-measure), calc(100% - 2.5rem));
}
.expand-item{
  position:relative;
  border-bottom:1px solid rgba(38,28,22,0.12);
  isolation:isolate;
  padding-left:clamp(1.2rem,4vw,2rem);
  padding-right:clamp(1.2rem,4vw,2rem);
}
.expand-item:first-child{border-top:1px solid rgba(38,28,22,0.12)}
.expand-item::before{
  content:'';
  position:absolute;
  top:0;
  bottom:0;
  left:50%;
  transform:translateX(-50%);
  width:calc(var(--expand-divider-w) + 2 * var(--panel-overlay-extend));
  z-index:0;
  pointer-events:none;
  background:linear-gradient(90deg,
    rgba(255,255,255,0) 0%,
    rgba(255,255,255,0.44) 12%,
    rgba(255,255,255,0.44) 88%,
    rgba(255,255,255,0) 100%
  );
  opacity:0;
  transition:opacity 0.28s ease;
}
.expand-item:hover::before,
.expand-item:focus-within::before,
.expand-item.open::before{opacity:1}
.expand-trigger{
  width:100%;
  background:none;
  border:none;
  cursor:pointer;
  padding:clamp(0.95rem,2.2vw,1.35rem) 0;
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:1rem 1.75rem;
  text-align:left;
}
.expand-trigger,.expand-body{position:relative;z-index:1}
.expand-trigger-title{
  font-family:'Cormorant Garamond',serif;
  font-size:var(--rt-type-component-title);
  font-weight:400;
  color:var(--teal-deep);
  line-height:1.22;
  letter-spacing:0.005em;
  transition:color 0.2s;
  min-width:0;
  flex:1;
  overflow-wrap:break-word;
  text-wrap:balance;
}
.expand-trigger:hover .expand-trigger-title{color:var(--espresso)}
.expand-item.open .expand-trigger-title{color:var(--espresso)}
.expand-icon{
  width:24px;
  height:24px;
  flex-shrink:0;
  position:relative;
  margin-top:0.1em;
}
.expand-icon::before{
  content:'';
  position:absolute;
  top:50%;
  left:50%;
  width:8px;
  height:8px;
  border:solid var(--gold);
  border-width:0 2px 2px 0;
  transform:translate(-50%,-65%) rotate(45deg);
  transition:transform 0.3s ease;
}
.expand-item.open .expand-icon::before{transform:translate(-50%,-35%) rotate(-135deg)}
.expand-body{max-height:0;overflow:hidden;transition:max-height 0.45s cubic-bezier(0.4,0,0.2,1)}
.expand-body-inner{padding:0 0 2.25rem 0;display:grid;grid-template-columns:1fr 1fr;gap:2.75rem;align-items:start}
.expand-desc{
  font-family:'DM Sans',sans-serif;
  /* Slightly above kicker scale: readable setup copy without competing with bullets/tags */
  font-size:0.88rem;
  font-weight:300;
  font-style:normal;
  line-height:1.58;
  color:rgba(38,28,22,0.86);
  margin-bottom:1.2rem;
  letter-spacing:0.015em;
}
.expand-desc .em-sig{color:var(--gold-deep)}
.expand-desc em{font-style:italic;font-weight:400;color:var(--teal-vivid)}
.expand-context-label{font-family:'DM Sans',sans-serif;font-size:0.65rem;font-weight:500;letter-spacing:0.22em;text-transform:uppercase;color:var(--gold);margin-bottom:0.95rem}
.expand-context-items{display:flex;flex-wrap:wrap;gap:0.6rem 0.5rem;align-items:center}
.context-item{
  font-family:'Cormorant Garamond',serif;
  font-size:0.95rem;
  font-weight:400;
  color:var(--espresso);
  display:inline-block;
  max-width:100%;
  overflow-wrap:break-word;
  letter-spacing:0.01em;
  line-height:1.4;
  border-bottom:1px solid var(--gold);
  padding-bottom:2px;
}
.context-item.context-item--filter-hit{
  background:rgba(var(--gold-paper-rgb,210,137,54),0.18);
  color:var(--espresso);
  border-bottom-color:var(--gold-bronze);
  border-radius:3px;
  padding:0.12rem 0.45rem 0.22rem;
  box-decoration-break:clone;
  -webkit-box-decoration-break:clone;
  box-shadow:0 0 0 1px rgba(var(--gold-paper-rgb,210,137,54),0.35);
}
.expand-therapy-label{font-family:'DM Sans',sans-serif;font-size:var(--rt-type-label,0.7rem);font-weight:500;letter-spacing:0.22em;text-transform:uppercase;color:var(--teal-mid);margin-bottom:1.25rem}
.expand-bullets{list-style:none;display:flex;flex-direction:column}
.expand-bullets li{display:flex;gap:0.85rem;align-items:flex-start;padding:0.5rem 0;border-bottom:1px solid rgba(38,28,22,0.08);font-family:'Cormorant Garamond',serif;font-size:1.02rem;font-weight:300;line-height:1.42;color:var(--text);letter-spacing:0.005em}
.expand-bullets li:last-child{border-bottom:none}
.expand-bullets li::before{
  content:'—';
  color:var(--teal-mid);
  flex-shrink:0;
  margin-top:0.05rem;
  font-family:var(--rt-font-brittany);
  font-size:0.85em;
  letter-spacing:var(--sig-ls);
}
.expand-learn-more{
  grid-column:1 / -1;
  display:inline-block;
  margin-top:0.35rem;
  font-family:'DM Sans',sans-serif;
  font-size:var(--rt-type-sans-meta,0.72rem);
  font-weight:500;
  letter-spacing:0.04em;
  text-decoration:underline;
  text-underline-offset:0.2em;
  color:var(--teal-deep,#154d4c);
}
.expand-learn-more:hover,
.expand-learn-more:focus-visible{
  color:var(--brand-accent,#1a6560);
}
/* Approach page — unified presenting concerns band */
.approach-patterns{
  padding:clamp(3.75rem,7vw,6.5rem) clamp(1.5rem,5vw,5rem) clamp(4rem,6vw,5.5rem);
}
.approach-patterns-inner{
  max-width:880px;
  margin:0 auto;
}
.approach-patterns .services-filter-intro-stack{
  margin-bottom:1.75rem;
}
.approach-patterns .tag-filter{
  margin:0 0 2rem;
  max-width:100%;
  padding:0;
  background:transparent;
  border:none;
  box-shadow:none;
}
.approach-patterns-note{
  font-family:'DM Sans',sans-serif;
  font-size:var(--rt-type-sans-lead,1.0625rem);
  font-weight:300;
  line-height:1.75;
  color:rgba(38,28,22,0.72);
  max-width:min(var(--rt-copy-measure,62ch),100%);
  margin:2rem 0 0;
}
.approach-patterns .expand-list{
  margin-top:0.5rem;
}
.approach-patterns .expand-list-kicker{
  margin-bottom:1rem;
}

/* Approach page — presenting concern panels (left-aligned paper cards) */
body.rt-page-approach .approach-cards .expand-list-kicker{
  text-align:left;
  max-width:880px;
  margin-left:auto;
  margin-right:auto;
}
body.rt-page-approach .approach-cards .expand-list{
  display:flex;
  flex-direction:column;
  gap:0.85rem;
}
body.rt-page-approach .approach-cards .expand-item{
  border:1px solid rgba(38,28,22,0.1);
  border-left:3px solid transparent;
  border-radius:4px;
  background:rgba(255,255,255,0.9);
  padding-left:clamp(1.35rem,4vw,2rem);
  padding-right:clamp(1.35rem,4vw,2rem);
  box-shadow:
    0 1px 0 rgba(255,255,255,0.95) inset,
    0 8px 28px color-mix(in srgb,rgb(var(--rt-sage-rgb,157,181,165)) 10%,rgba(21,77,76,0.06) 90%);
  transition:border-color 0.25s ease,box-shadow 0.25s ease,background 0.25s ease;
}
body.rt-page-approach .approach-cards .expand-item:first-child{
  border-top:1px solid rgba(38,28,22,0.1);
}
body.rt-page-approach .approach-cards .expand-item::before{
  display:none;
}
body.rt-page-approach .approach-cards .expand-item:hover,
body.rt-page-approach .approach-cards .expand-item:focus-within{
  border-left-color:color-mix(in srgb,var(--gold-paper,#D28936) 55%,transparent);
  box-shadow:
    0 1px 0 rgba(255,255,255,0.95) inset,
    0 12px 32px color-mix(in srgb,rgb(var(--rt-sage-rgb,157,181,165)) 14%,rgba(21,77,76,0.08) 86%);
}
body.rt-page-approach .approach-cards .expand-item.open{
  border-left-color:var(--gold-paper,#D28936);
  background:color-mix(in srgb,rgb(var(--rt-sage-rgb,157,181,165)) 7%,rgba(255,255,255,0.96) 93%);
  box-shadow:
    0 1px 0 rgba(255,255,255,0.95) inset,
    0 14px 36px color-mix(in srgb,rgb(var(--rt-sage-rgb,157,181,165)) 16%,rgba(21,77,76,0.09) 84%);
}
body.rt-page-approach .approach-cards .expand-body-inner{
  grid-template-columns:1fr;
  justify-items:start;
  text-align:left;
}
body.rt-page-approach .approach-cards .expand-body-inner > div{
  max-width:min(52ch,100%);
}
body.rt-page-approach .approach-cards .expand-context-items{
  justify-content:flex-start;
  gap:0.5rem;
}
body.rt-page-approach .approach-cards .context-item{
  font-family:'DM Sans',sans-serif;
  font-size:0.78rem;
  font-weight:400;
  line-height:1.35;
  border-bottom:none;
  padding:0.3rem 0.7rem;
  border-radius:999px;
  background:color-mix(in srgb,rgb(var(--rt-sage-rgb,157,181,165)) 14%,rgba(255,255,255,0.92) 86%);
  border:1px solid color-mix(in srgb,rgb(var(--rt-sage-rgb,157,181,165)) 26%,rgba(38,28,22,0.08) 74%);
}
body.rt-page-approach .approach-cards .context-item.context-item--filter-hit{
  background:rgba(var(--gold-paper-rgb,210,137,54),0.22);
  border-color:rgba(var(--gold-paper-rgb,210,137,54),0.45);
  box-shadow:none;
  padding:0.3rem 0.7rem;
}
body.rt-page-approach .approach-cards .expand-learn-more{
  display:inline-block;
  margin-top:1.35rem;
  padding:0.7rem 1.4rem;
  font-size:var(--rt-type-btn-label,0.8125rem);
  font-weight:600;
  letter-spacing:0.1em;
  text-transform:uppercase;
  text-decoration:none;
  text-underline-offset:0;
  color:var(--teal-deep,#154d4c);
  border:1.5px solid color-mix(in srgb,var(--teal-deep,#154d4c) 55%,transparent);
  border-radius:3px;
  transition:background 0.2s ease,color 0.2s ease,border-color 0.2s ease;
}
body.rt-page-approach .approach-cards .expand-learn-more:hover,
body.rt-page-approach .approach-cards .expand-learn-more:focus-visible{
  background:var(--teal-deep,#154d4c);
  color:var(--warm-white,#F5EFE8);
  border-color:var(--teal-deep,#154d4c);
}
body.rt-page-approach .approach-cards .expand-desc{
  font-size:1rem;
}
body.rt-page-approach .approach-cards .expand-item.filtered-match{
  border-left-color:var(--gold-paper,#D28936);
  background:color-mix(in srgb,rgb(var(--rt-sage-rgb,157,181,165)) 7%,rgba(255,255,255,0.96) 93%);
  box-shadow:
    0 1px 0 rgba(255,255,255,0.95) inset,
    0 14px 36px color-mix(in srgb,rgb(var(--rt-sage-rgb,157,181,165)) 16%,rgba(21,77,76,0.09) 84%);
  padding-left:clamp(1.35rem,4vw,2rem);
}
body.rt-page-approach .approach-cards .expand-item.filtered-match::before{
  display:none;
}

/* Index home — static pattern cards (link to approach anchors, no inline expand) */
.index-presenting-block .approach-patterns{
  width:100%;
  max-width:none;
  margin-inline:0;
  padding:clamp(2.5rem,5.5vw,3.75rem) var(--index-rail-pad-inline,clamp(1.5rem,5vw,5rem)) clamp(3.5rem,6vw,5.75rem);
  background:transparent;
}
.index-presenting-block .approach-patterns-inner{
  max-width:var(--index-rail-max,1060px);
  margin:0 auto;
}
.index-presenting-block .index-pattern-cards .expand-list{
  display:flex;
  flex-direction:column;
  gap:0.85rem;
  margin-top:0.5rem;
}
.index-presenting-block .index-pattern-cards .expand-item{
  border:1px solid rgba(38,28,22,0.1);
  border-left:3px solid transparent;
  border-radius:4px;
  background:rgba(255,255,255,0.9);
  padding:0;
  border-bottom:1px solid rgba(38,28,22,0.1);
  box-shadow:
    0 1px 0 rgba(255,255,255,0.95) inset,
    0 8px 28px color-mix(in srgb,rgb(var(--rt-sage-rgb,157,181,165)) 10%,rgba(21,77,76,0.06) 90%);
  transition:border-color 0.25s ease,box-shadow 0.25s ease,background 0.25s ease;
}
.index-presenting-block .index-pattern-cards .index-pattern-card-link{
  display:block;
  padding:clamp(1.35rem,4vw,2rem);
  color:inherit;
  text-decoration:none;
}
.index-presenting-block .index-pattern-cards .index-pattern-card-link:focus-visible{
  outline:2px solid var(--teal-deep,#154d4c);
  outline-offset:3px;
}
.index-presenting-block .index-pattern-cards .expand-item:first-child{
  border-top:1px solid rgba(38,28,22,0.1);
}
.index-presenting-block .index-pattern-cards .expand-item::before{
  display:none;
}
.index-presenting-block .index-pattern-cards .expand-item:hover,
.index-presenting-block .index-pattern-cards .expand-item:focus-within{
  border-left-color:color-mix(in srgb,var(--gold-paper,#D28936) 55%,transparent);
  box-shadow:
    0 1px 0 rgba(255,255,255,0.95) inset,
    0 12px 32px color-mix(in srgb,rgb(var(--rt-sage-rgb,157,181,165)) 14%,rgba(21,77,76,0.08) 86%);
}
.index-presenting-block .index-pattern-cards .expand-trigger-title{
  margin:0 0 1rem;
}
.index-presenting-block .index-pattern-cards .index-pattern-card-content{
  text-align:left;
}
.index-presenting-block .index-pattern-cards .index-pattern-card-content > div{
  max-width:min(52ch,100%);
}
.index-presenting-block .index-pattern-cards .expand-context-items{
  justify-content:flex-start;
  gap:0.5rem;
}
.index-presenting-block .index-pattern-cards .context-item{
  font-family:'DM Sans',sans-serif;
  font-size:0.78rem;
  font-weight:400;
  line-height:1.35;
  border-bottom:none;
  padding:0.3rem 0.7rem;
  border-radius:999px;
  background:color-mix(in srgb,rgb(var(--rt-sage-rgb,157,181,165)) 14%,rgba(255,255,255,0.92) 86%);
  border:1px solid color-mix(in srgb,rgb(var(--rt-sage-rgb,157,181,165)) 26%,rgba(38,28,22,0.08) 74%);
}
.index-presenting-block .index-pattern-cards .expand-learn-more{
  display:inline-block;
  margin-top:1.35rem;
  padding:0.7rem 1.4rem;
  font-size:var(--rt-type-btn-label,0.8125rem);
  font-weight:600;
  letter-spacing:0.1em;
  text-transform:uppercase;
  text-decoration:none;
  text-underline-offset:0;
  color:var(--teal-deep,#154d4c);
  border:1.5px solid color-mix(in srgb,var(--teal-deep,#154d4c) 55%,transparent);
  border-radius:3px;
  transition:background 0.2s ease,color 0.2s ease,border-color 0.2s ease;
  cursor:pointer;
}
.index-presenting-block .index-pattern-cards .expand-learn-more:hover,
.index-presenting-block .index-pattern-cards .expand-learn-more:focus-visible{
  background:var(--teal-deep,#154d4c);
  color:var(--warm-white,#F5EFE8);
  border-color:var(--teal-deep,#154d4c);
}
.index-presenting-block .index-pattern-cards .expand-desc{
  font-size:1rem;
}
.index-presenting-block .services-filter-eyebrow{
  color:var(--gold-paper);
}

/* Orientation block above accordions — paper panel + strong rule into the list */
.focus-areas-intro{
  max-width:880px;
  margin:0 auto 2.5rem;
  padding:1.65rem clamp(1.35rem,4.5vw,2.15rem) 1.95rem;
  background:rgba(255,255,255,0.84);
  border:1px solid rgba(38,28,22,0.1);
  border-left:4px solid var(--gold-paper);
  border-bottom:3px solid rgba(38,28,22,0.22);
  border-radius:4px;
  box-shadow:
    0 1px 0 rgba(255,255,255,0.95) inset,
    0 10px 36px rgba(21,77,76,0.08);
}
.focus-areas-intro-body{
  font-family:'Cormorant Garamond',serif;
  font-size:clamp(1.05rem,2.2vw,1.15rem);
  font-weight:300;
  font-style:normal;
  line-height:1.82;
  color:rgba(38,28,22,0.94);
  letter-spacing:0.02em;
  max-width:62ch;
}
.focus-areas-intro-body .em-sig{color:var(--gold-deep)}
.focus-areas-intro-body strong{font-style:normal;color:var(--teal-vivid);font-weight:600}

/* Callout sits in filter intro stack: title → orientation → filter hint */
.services-filter-intro-stack .focus-areas-intro{
  margin:1.35rem 0 1.5rem;
  /* Shrink-wrap to copy measure so the panel isn’t a wide empty rail on large viewports */
  width:fit-content;
  max-width:100%;
  padding:1.3rem clamp(1.2rem,3vw,1.75rem) 1.35rem;
}

/* Same eyebrow treatment as .services-filter-eyebrow (e.g. “Presenting concerns”) */
.expand-list-kicker{
  font-family:'DM Sans',sans-serif;
  font-size:var(--rt-type-eyebrow,0.75rem);
  font-weight:500;
  letter-spacing:0.2em;
  text-transform:uppercase;
  color:var(--gold-paper);
  line-height:1.5;
  margin:0 auto 0.65rem;
  max-width:880px;
  padding-left:clamp(1.2rem,4vw,2rem);
  padding-right:clamp(1.2rem,4vw,2rem);
}

/* Tag filter — card-style group so chips read as one control surface */
.tag-filter{
  max-width:880px;
  margin:2.75rem auto 2.75rem;
  padding:1.65rem 1.35rem 1.75rem;
  background:rgba(255,255,255,0.5);
  border:1px solid rgba(38,28,22,0.1);
  border-radius:6px;
  box-shadow:
    0 1px 0 rgba(255,255,255,0.75) inset,
    0 10px 32px rgba(21,77,76,0.055);
}
/* Filtered state — matches read as “selected rows”; others recede */
.expand-item.filtered-out{
  opacity:0.16;
  filter:grayscale(0.45);
  pointer-events:none;
  transition:opacity 0.35s ease, filter 0.35s ease;
}
.expand-item.filtered-match{
  background:rgba(248,244,236,0.92);
  padding-left:clamp(1.5rem,4.5vw,2.5rem);
  box-shadow:
    inset 5px 0 0 0 var(--gold),
    0 0 0 1px rgba(var(--gold-paper-rgb,210,137,54),0.38),
    0 8px 28px rgba(21,77,76,0.1);
  transition:background 0.35s ease, box-shadow 0.35s ease, opacity 0.35s ease;
}
.expand-item.filtered-match::before{
  opacity:0.85;
}
.expand-item.filtered-match:hover::before,
.expand-item.filtered-match:focus-within::before,
.expand-item.filtered-match.open::before{
  opacity:1;
}
.expand-item.filtered-match .expand-trigger-title{
  color:var(--espresso);
  font-weight:500;
}

/* Mid-page link to presenting-concerns filter page */
.services-concerns-cta{
  background:linear-gradient(180deg,var(--page-cool-1) 0%,var(--page-cool-2) 100%);
  padding:clamp(3rem,6vw,5rem) 5rem;
}
.services-concerns-cta-inner{
  max-width:880px;
  margin:0 auto;
  text-align:left;
}
.services-concerns-cta .brand-hero-cta-row{
  margin-top:1.75rem;
}
.presenting-concerns-actions{
  max-width:880px;
  margin:2rem auto 0;
  padding:0 5rem 3rem;
  display:flex;
  flex-wrap:wrap;
  gap:1.25rem 2rem;
  align-items:center;
}
.presenting-concerns-actions .brand-hero-cta-row{
  margin:0;
}

/* Shared marketing closings — subcopy wider than stacked CTAs */
:is(body.rt-page-approach, body.rt-page-presenting-concerns) .closing-section.closing-section--about-nav{
  margin-top:0;
}
:is(body.rt-page-approach, body.rt-page-presenting-concerns) .closing-section .closing-cta-stack{
  width:100%;
  max-width:min(36rem,100%);
  align-items:center;
}
:is(body.rt-page-approach, body.rt-page-presenting-concerns) .closing-section .closing-cta-stack .closing-sub{
  width:auto;
  min-width:0;
  max-width:min(54ch,100%);
  text-wrap:pretty;
  line-height:1.9;
  hyphens:none;
}

@keyframes fadeUp{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:translateY(0)}}
.reveal{opacity:0;transform:translateY(28px);transition:opacity 0.7s ease,transform 0.7s ease}
.reveal.visible{opacity:1;transform:translateY(0)}
.expand-item.filtered-out.reveal.visible{
  opacity:0.16;
  filter:grayscale(0.45);
}

.theoretical-approaches {
  padding: clamp(3rem, 6vw, 5rem) clamp(1.5rem, 5vw, 5rem);
  background: var(--warm-white, #F5EFE8);
}

.theoretical-approaches-inner {
  max-width: min(1080px, 100%);
  margin: 0 auto;
}

.theoretical-approaches-hed {
  font-family: 'Cormorant Garamond', serif;
  font-size: clamp(1.75rem, 3vw, 2.5rem);
  font-weight: 400;
  color: var(--intro-text, #1f2724);
  margin-bottom: clamp(2rem, 4vw, 3rem);
}

.modality-index {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  column-gap: clamp(2rem, 5vw, 3.5rem);
  row-gap: 0;
  max-width: min(880px, 100%);
  border-top: 1px solid color-mix(in srgb, rgb(var(--rt-sage-rgb, 157, 181, 165)) 35%, rgba(21, 77, 76, 0.14) 65%);
}

.modality-entry {
  padding: clamp(1.35rem, 3vw, 1.75rem) 0;
  border-bottom: 1px solid color-mix(in srgb, rgb(var(--rt-sage-rgb, 157, 181, 165)) 35%, rgba(21, 77, 76, 0.14) 65%);
}

.modality-entry-title {
  font-family: 'Cormorant Garamond', serif;
  font-size: clamp(1.3rem, 2vw, 1.55rem);
  font-weight: 500;
  font-style: normal;
  line-height: 1.25;
  letter-spacing: 0.01em;
  color: var(--teal-deep, #154d4c);
  margin: 0 0 0.45rem;
}

.modality-entry-desc {
  font-family: 'DM Sans', sans-serif;
  font-size: var(--rt-type-sans-body, 1rem);
  font-weight: 300;
  line-height: 1.65;
  color: rgba(31, 39, 36, 0.78);
  margin: 0;
  max-width: 36ch;
}

.modality-entry-link {
  font-weight: 500;
  color: var(--teal-vivid, #22adc4);
  text-decoration: none;
  white-space: nowrap;
  transition: color 0.2s ease;
}

.modality-entry-link:hover {
  color: var(--teal-deep, #154d4c);
  text-decoration: underline;
}

.modality-entry-link:focus-visible {
  outline: 2px solid var(--teal-deep, #154d4c);
  outline-offset: 2px;
}

@media (max-width: 768px) {
  .modality-index {
    grid-template-columns: 1fr;
  }
  :is(body.rt-page-approach, body.rt-page-about) .approach-commitment-panel-inner{
    grid-template-columns:1fr;
    grid-template-areas:
      "left"
      "right"
      "inroom";
  }
  :is(body.rt-page-approach, body.rt-page-about) .approach-commitment-left{
    padding:clamp(1.15rem,2.5vw,1.45rem) clamp(1.25rem,3vw,1.75rem) 0;
  }
  :is(body.rt-page-approach, body.rt-page-about) .approach-commitment-right{
    padding:0 clamp(1.25rem,3vw,1.75rem) clamp(0.35rem,1vw,0.65rem);
  }
  :is(body.rt-page-approach, body.rt-page-about) .approach-commitment-definition{
    max-width:none;
  }
}

/* Approach page content — muted sage wash from FAQ hero H1 (--rt-sage-rgb / #9DB5A5) */
body.rt-page-approach{
  --rt-approach-sage-base:color-mix(in srgb,rgb(var(--rt-sage-rgb,157,181,165)) 18%,#f8faf9 82%);
  --rt-approach-sage-mid:color-mix(in srgb,rgb(var(--rt-sage-rgb,157,181,165)) 24%,#f2f6f4 76%);
  --rt-approach-sage-deep:color-mix(in srgb,rgb(var(--rt-sage-rgb,157,181,165)) 30%,#ecf1ee 70%);
  --rt-approach-sage-card:color-mix(in srgb,rgb(var(--rt-sage-rgb,157,181,165)) 10%,#fcfdfc 90%);
  background:linear-gradient(165deg,var(--rt-approach-sage-base) 0%,var(--rt-approach-sage-mid) 48%,var(--rt-approach-sage-deep) 100%);
}
body.rt-page-approach .theoretical-approaches{
  background:var(--rt-approach-sage-card);
}
:is(body.rt-page-approach, body.rt-page-about) .approach-in-room{
  padding:clamp(3rem,6vw,5rem) clamp(1.5rem,5vw,5rem);
  background:var(--rt-approach-sage-mid);
  scroll-margin-top:5.5rem;
  --approach-commitment-width:min(68ch,100%);
}
:is(body.rt-page-approach, body.rt-page-about) .approach-in-room-inner{
  max-width:min(72rem,100%);
  margin:0 auto;
}
:is(body.rt-page-approach, body.rt-page-about) .approach-in-room .section-opener{
  margin-bottom:clamp(2rem,4vw,3rem);
}
:is(body.rt-page-approach, body.rt-page-about) .approach-in-room .section-opener .approach-subtitle{
  margin-top:1.25rem;
}
:is(body.rt-page-approach, body.rt-page-about) .approach-commitments-grid{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:clamp(1.5rem,3vw,2.25rem);
}
:is(body.rt-page-approach, body.rt-page-about) .approach-commitments-kicker{
  width:var(--approach-commitment-width,min(68ch,100%));
  margin:0 auto clamp(0.85rem,2vw,1.15rem);
  text-align:center;
  font-family:'DM Sans',sans-serif;
  font-size:var(--rt-type-sans-meta,0.75rem);
  font-weight:500;
  letter-spacing:0.16em;
  text-transform:uppercase;
  color:rgba(31,39,36,0.52);
}
:is(body.rt-page-approach, body.rt-page-about) .approach-commitments-kicker a{
  color:inherit;
  text-decoration:none;
}
:is(body.rt-page-approach, body.rt-page-about) .approach-commitments-kicker a:hover,
:is(body.rt-page-approach, body.rt-page-about) .approach-commitments-kicker a:focus-visible{
  color:var(--teal-vivid,#1B9BAF);
}
:is(body.rt-page-approach, body.rt-page-about) .approach-commitment{
  width:var(--approach-commitment-width,min(68ch,100%));
  padding:0;
  overflow:hidden;
  border:1px solid color-mix(in srgb,rgb(var(--rt-sage-rgb,157,181,165)) 38%,rgba(21,77,76,0.16) 62%);
  border-radius:4px;
  background:color-mix(in srgb,#fff 52%,var(--rt-approach-sage-card) 48%);
  box-shadow:0 1px 0 color-mix(in srgb,rgb(var(--rt-sage-rgb,157,181,165)) 18%,transparent 82%);
}
:is(body.rt-page-approach, body.rt-page-about) .approach-commitment-trigger{
  width:100%;
  display:flex;
  align-items:center;
  justify-content:center;
  position:relative;
  padding:clamp(0.95rem,2.2vw,1.2rem) clamp(3rem,8vw,3.5rem);
  background:color-mix(in srgb,rgb(var(--rt-sage-rgb,157,181,165)) 16%,rgba(255,255,255,0.72) 84%);
  border:none;
  cursor:pointer;
  font:inherit;
  text-align:center;
}
:is(body.rt-page-approach, body.rt-page-about) .approach-commitment.open .approach-commitment-trigger{
  border-bottom:1px solid color-mix(in srgb,rgb(var(--rt-sage-rgb,157,181,165)) 35%,rgba(21,77,76,0.14) 65%);
}
:is(body.rt-page-approach, body.rt-page-about) .approach-commitment-trigger:hover .approach-commitment-lens,
:is(body.rt-page-approach, body.rt-page-about) .approach-commitment.open .approach-commitment-lens{
  color:var(--espresso,#261c16);
}
:is(body.rt-page-approach, body.rt-page-about) .approach-commitment-trigger:focus-visible{
  outline:2px solid var(--teal-deep,#154d4c);
  outline-offset:-2px;
}
:is(body.rt-page-approach, body.rt-page-about) .approach-commitment-lens{
  font-family:'Cormorant Garamond',serif;
  font-size:var(--rt-type-component-title,clamp(1.5rem,2.5vw,2rem));
  font-style:italic;
  font-weight:500;
  line-height:1.2;
  letter-spacing:0.01em;
  text-transform:none;
  color:var(--teal-deep,#154d4c);
  margin:0;
  transition:color 0.2s ease;
}
:is(body.rt-page-approach, body.rt-page-about) .approach-commitment-icon{
  position:absolute;
  right:clamp(1rem,3vw,1.5rem);
  top:50%;
  width:24px;
  height:24px;
  transform:translateY(-50%);
  flex-shrink:0;
}
:is(body.rt-page-approach, body.rt-page-about) .approach-commitment-icon::before{
  content:'';
  position:absolute;
  top:50%;
  left:50%;
  width:8px;
  height:8px;
  border:solid var(--gold-paper,#d28936);
  border-width:0 2px 2px 0;
  transform:translate(-50%,-65%) rotate(45deg);
  transition:transform 0.3s ease;
}
:is(body.rt-page-approach, body.rt-page-about) .approach-commitment.open .approach-commitment-icon::before{
  transform:translate(-50%,-35%) rotate(-135deg);
}
:is(body.rt-page-approach, body.rt-page-about) .approach-commitment-panel{
  max-height:0;
  overflow:hidden;
  transition:max-height 0.45s cubic-bezier(0.4,0,0.2,1);
}
:is(body.rt-page-approach, body.rt-page-about) .approach-commitment-panel-inner{
  display:grid;
  grid-template-columns:minmax(0,0.95fr) minmax(0,1.05fr);
  grid-template-areas:
    "left right"
    "inroom inroom";
  column-gap:clamp(2rem,5vw,3.5rem);
  row-gap:clamp(1.15rem,2.2vw,1.5rem);
  align-items:start;
}
:is(body.rt-page-approach, body.rt-page-about) .approach-commitment-left{
  grid-area:left;
  display:flex;
  flex-direction:column;
  gap:0.55rem;
  padding:clamp(1.15rem,2.5vw,1.45rem) 0 clamp(0.35rem,1vw,0.65rem) clamp(1.25rem,3vw,1.75rem);
}
:is(body.rt-page-approach, body.rt-page-about) .approach-commitment-column-label{
  font-family:'DM Sans',sans-serif;
  font-size:var(--rt-type-label,clamp(0.8125rem,1.1vw,0.875rem));
  font-weight:500;
  letter-spacing:0.18em;
  text-transform:uppercase;
  color:var(--teal-vivid,#22adc4);
  margin:0;
}
:is(body.rt-page-approach, body.rt-page-about) .approach-commitment-name{
  font-weight:500;
  color:var(--intro-text,#1f2724);
}
:is(body.rt-page-approach, body.rt-page-about) .approach-commitment-definition{
  font-family:'DM Sans',sans-serif;
  font-size:var(--rt-type-sans-body,1rem);
  font-weight:300;
  line-height:1.65;
  color:rgba(31,39,36,0.82);
  margin:0;
  max-width:36ch;
}
:is(body.rt-page-approach, body.rt-page-about) .approach-commitment-definition em{
  font-style:italic;
  color:var(--teal-vivid,#22adc4);
}
:is(body.rt-page-approach, body.rt-page-about) .approach-commitment-right{
  grid-area:right;
  display:flex;
  flex-direction:column;
  gap:0.55rem;
  padding:clamp(1.15rem,2.5vw,1.45rem) clamp(1.25rem,3vw,1.75rem) clamp(0.35rem,1vw,0.65rem) 0;
}
:is(body.rt-page-approach, body.rt-page-about) .approach-commitment-body p{
  font-family:'DM Sans',sans-serif;
  font-size:var(--rt-type-sans-body,1rem);
  font-weight:300;
  line-height:1.7;
  color:var(--intro-text,#1f2724);
  margin:0 0 1rem;
}
:is(body.rt-page-approach, body.rt-page-about) .approach-commitment-body p:last-child{
  margin-bottom:0;
}
:is(body.rt-page-approach, body.rt-page-about) .approach-commitment-body strong{
  font-weight:500;
}
:is(body.rt-page-approach, body.rt-page-about) .approach-commitment-inroom{
  grid-area:inroom;
  width:100%;
  background:rgba(27,155,175,0.07);
  border-top:2px solid var(--teal-vivid,#22adc4);
  padding:1.35rem clamp(1.25rem,3vw,1.75rem) 1.4rem;
  text-align:center;
}
:is(body.rt-page-approach, body.rt-page-about) .approach-commitment-inroom-label{
  font-family:'DM Sans',sans-serif;
  font-size:var(--rt-type-label,0.7rem);
  font-weight:500;
  letter-spacing:0.2em;
  text-transform:uppercase;
  color:var(--teal-vivid,#22adc4);
  margin:0 0 0.85rem;
  text-align:center;
}
:is(body.rt-page-approach, body.rt-page-about) .approach-commitment-inroom ul{
  list-style:none;
  margin:0;
  padding:0;
  display:flex;
  flex-direction:column;
  gap:1rem;
  align-items:center;
}
:is(body.rt-page-approach, body.rt-page-about) .approach-commitment-inroom li{
  font-family:'DM Sans',sans-serif;
  font-size:var(--rt-type-sans-body,1rem);
  font-weight:300;
  line-height:1.7;
  color:var(--intro-text,#1f2724);
  text-align:center;
  max-width:64ch;
}
:is(body.rt-page-approach, body.rt-page-about) .approach-commitment-inroom li strong{
  font-weight:500;
}
body.rt-page-approach .approach-patterns{
  background-color:var(--rt-approach-sage-mid);
  background-image:
    radial-gradient(ellipse 115% 85% at 92% 8%,color-mix(in srgb,rgb(var(--rt-sage-rgb,157,181,165)) 22%,transparent 78%) 0%,transparent 52%),
    radial-gradient(ellipse 90% 72% at 8% 88%,color-mix(in srgb,rgb(var(--rt-sage-rgb,157,181,165)) 16%,transparent 84%) 0%,transparent 55%),
    linear-gradient(180deg,var(--rt-approach-sage-base) 0%,var(--rt-approach-sage-mid) 48%,var(--rt-approach-sage-deep) 100%);
}
body.rt-page-approach .closing-section{
  background-color:var(--rt-approach-sage-base);
  background-image:linear-gradient(165deg,var(--rt-approach-sage-base) 0%,var(--rt-approach-sage-mid) 48%,var(--rt-approach-sage-deep) 100%);
}

@media(max-width:768px){
  .service-modalities{padding:clamp(2.75rem,8vw,4rem) 1.5rem 2rem}
  .focus-areas{padding:3.5rem 1.5rem 2.75rem}
  body.rt-page-approach .approach-patterns{
    padding:clamp(2.75rem,8vw,4rem) 1.5rem 2.75rem;
  }
  .index-presenting-block .approach-patterns{
    padding:clamp(2rem,5vw,3rem) var(--index-rail-pad-inline-mobile,max(1.25rem,env(safe-area-inset-left))) clamp(3rem,5.5vw,4.5rem) var(--index-rail-pad-inline-mobile-end,max(1.25rem,env(safe-area-inset-right)));
  }
  .services-filter-intro-stack .focus-areas-intro{
    margin:1.15rem 0 1.35rem;
    width:100%;
    padding:1.25rem clamp(1.2rem,5vw,1.55rem) 1.45rem;
  }
  .services-filter-band{padding:clamp(2.75rem,8vw,4rem) 1.5rem 1.35rem}
  .services-filter-intro-stack{margin-bottom:1.5rem}
  section.services-filter-band .tag-filter{padding:0}
  :is(.services-filter-band,.approach-patterns) .tag-filter-select{font-size:0.95rem;min-height:48px;padding:0.7rem 2.5rem 0.7rem 0.95rem}
  .expand-body-inner{grid-template-columns:1fr;gap:2rem}
  :is(body.rt-page-services, body.rt-page-approach) footer{padding:2.75rem 1.5rem 2.5rem}
  :is(body.rt-page-services, body.rt-page-approach) .footer-top{flex-direction:column;gap:2rem;align-items:stretch}
  :is(body.rt-page-services, body.rt-page-approach) footer .footer-copy-block{align-items:flex-end;text-align:right;padding-top:0}
  :is(body.rt-page-services, body.rt-page-approach) .footer-legal{align-items:center}
  :is(body.rt-page-services, body.rt-page-approach) .footer-legal-row{justify-content:center}
  .services-concerns-cta{padding:clamp(2.5rem,8vw,3.5rem) 1.5rem}
  .presenting-concerns-actions{padding:0 1.5rem 2.5rem}
}

