/* service-components.css hero composition; existing compatibility selectors retained. */
.service-post-hero {
  padding-top: clamp(3rem, 7vw, 6rem);
  padding-bottom: clamp(var(--fs-space-10), 6vw, 5rem);
}

.service-post-hero__inner {
  display: grid;
  gap: var(--fs-space-8);
  align-items: center;
}

.service-post-hero__copy {
  display: flex;
  min-width: 0;
  max-width: 48rem;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--fs-space-5);
}

.service-post-hero__eyebrow {
  text-decoration: none;
}

.service-post-hero__title {
  max-width: 58rem;
  margin: 0;
  color: var(--foreground);
  font-size: 2.5rem;
  line-height: 0.96;
  font-weight: var(--fs-weight-bold);
  letter-spacing: 0;
  overflow-wrap: break-word;
  text-wrap: balance;
}

.service-post-hero__excerpt {
  max-width: 42rem;
  margin: 0;
  color: var(--foreground);
  font-size: var(--fs-font-lg);
  line-height: var(--fs-line-relaxed);
  font-weight: var(--fs-weight-medium);
}

.service-post-hero__actions {
  display: flex;
  flex-wrap: wrap;
  gap: var(--fs-space-3);
  margin-top: var(--fs-space-2);
}

.service-post-hero__media {
  min-width: 0;
  overflow: hidden;
  margin: 0;
  border-radius: var(--fs-radius-lg);
  background: var(--muted);
}

.service-post-hero__picture,
.service-post-hero__image {
  display: block;
  width: 100%;
}

.service-post-hero__image {
  aspect-ratio: 4 / 3;
  height: auto;
  object-fit: cover;
}

.service-post--daglichtstudio .service-post-hero__image {
  aspect-ratio: 5 / 4;
}
@media (max-width: 47.999rem){
  .service-post-hero__actions {
    width: 100%;
  }

  .service-post-hero__actions > * {
    width: 100%;
  }}
@media (min-width: 48rem){

  .service-post-hero__title {
    font-size: 3.5rem;
  }}
@media (min-width: 64rem){
  .service-post-hero__inner {
    grid-template-columns: minmax(0, 1.05fr) minmax(20rem, 0.95fr);
    gap: clamp(var(--fs-space-8), 4vw, var(--fs-space-16));
  }

  .service-post-hero__copy {
    max-width: none;
  }

  .service-post-hero__title {
    font-size: 4rem;
  }}

/* hero-media.css hero composition; existing compatibility selectors retained. */
.about-hero .about-hero-content {position:relative;z-index:1;color:#fff}

.about-hero :is(h1,p,.work-hero-link) {color:#fff}

.about-hero .work-hero-link {--button-link-primary-color:#fff}

.about-hero .about-hero-content>p {max-width:48rem;color:rgb(255 255 255/.92)}
@media(min-width:64rem){.services-hero:has([data-background-media="hero"]),
.service-post-hero__inner:has(.background-media__video) {min-height:max(48rem,85svh)}}

.about-hero h1 {font-size:clamp(3.5rem,7vw,7rem);letter-spacing:-.06em;line-height:.95}
@media(max-width:47.99rem){.about-hero h1 {font-size:clamp(3rem,14vw,4.25rem)}}

.service-post--immersive-hero .service-post-hero__inner:has(.background-media):after {background:linear-gradient(90deg,rgb(0 0 0/.76),rgb(0 0 0/.56)),linear-gradient(0deg,rgb(0 0 0/.35),transparent 65%)}
@media(max-width:47.99rem){.service-post.service-post--daglichtstudio .service-post-hero .service-post-hero__inner {min-height:0;padding:calc(80vw + 2rem) var(--fs-gutter) 2.5rem;background:var(--background)}

.service-post.service-post--daglichtstudio .service-post-hero__media {bottom:auto;height:auto;aspect-ratio:5/4}

.service-post.service-post--daglichtstudio .service-post-hero__inner:after {bottom:auto;height:80vw;background:linear-gradient(180deg,rgb(0 0 0/.4),transparent 65%)}

.service-post.service-post--daglichtstudio .service-post-hero__copy {gap:2rem;color:var(--foreground)}

.service-post.service-post--daglichtstudio :is(.service-post-hero__title,.service-post-hero__excerpt,.service-post-hero__offer-value,.service-post-hero__provider-names) {color:var(--foreground)}

.service-post.service-post--daglichtstudio :is(.service-post-hero__meta-label,.service-post-hero__offer-note,.service-post-hero__breadcrumbs [aria-current="page"]) {color:var(--muted-foreground)}

.service-post.service-post--daglichtstudio .service-post-hero__decision {border-color:var(--border)}

.service-post.service-post--daglichtstudio .service-post-hero__actions {--button-bordered-black-color:var(--foreground);--button-bordered-black-hover:var(--muted)}}

/* services.css hero composition; existing compatibility selectors retained. */
/* Service-page composition. Typography, buttons, cards and colors stay theme-native. */
.service-post-hero__breadcrumbs ol{display:flex;align-items:center;gap:.45rem;color:var(--accent);font-size:.75rem;font-weight:650;letter-spacing:.05em;line-height:1.4;text-transform:uppercase;overflow-x:auto;white-space:nowrap;scrollbar-width:none}

.service-post-hero__breadcrumbs ol::-webkit-scrollbar{display:none}

.service-post-hero__breadcrumbs li{display:flex;align-items:center;gap:.45rem}

.service-post-hero__breadcrumbs li+li:before{content:"/";opacity:.5}

.service-post-hero__breadcrumbs a{text-underline-offset:.18em}

.service-post-hero__breadcrumbs a:hover{text-decoration:underline}

.service-post-hero__breadcrumbs [aria-current="page"]{color:var(--foreground)}

.service-post-hero__content{min-width:0}

.service-post-hero__message{display:flex;flex-direction:column;align-items:flex-start;gap:var(--fs-space-5)}

.service-post-hero__decision{display:flex;flex-direction:column;align-items:flex-start;gap:var(--fs-space-5);width:100%}

.service-post-hero__meta{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(.75rem,3vw,2rem);width:100%;margin-top:.5rem}

.service-post-hero__offer,.service-post-hero__provider{display:flex;min-width:0;flex-direction:column;justify-content:flex-start;gap:.4rem}

.service-post-hero__meta-label{color:var(--muted-foreground);font-size:.75rem;font-weight:650;letter-spacing:.04em;line-height:1.3;text-transform:uppercase}

.service-post-hero__provider-people{display:flex;align-items:center;gap:.75rem}

.service-post-hero__provider-avatars{display:flex}

.service-post-hero__provider-avatars .author-avatar{display:block;width:4.5rem;height:4.5rem;margin-left:-.75rem;border:2px solid var(--background);border-radius:999px;overflow:hidden;background:var(--muted)}

.service-post-hero__provider-avatars .author-avatar:first-child{margin-left:0}

.service-post-hero__provider-image{width:100%;height:100%;object-fit:cover}

.service-post-hero__provider-names{font-size:.9375rem;font-weight:550}

.service-post-hero__offer-value{display:flex;align-items:baseline;gap:.35rem;color:var(--foreground);white-space:nowrap}

.service-post-hero__offer-price{color:inherit;font-size:.9375rem;font-weight:650;line-height:1.3}

.service-post-hero__offer-note{color:var(--muted-foreground);font-size:.75rem}

.service-post--immersive-hero .service-post-hero{padding:0}

.service-post--immersive-hero .service-post-hero__inner{position:relative;isolation:isolate;display:flex;width:100%;max-width:none;min-height:85vh;min-height:85svh;align-items:flex-end;overflow:hidden;border-radius:0;padding:clamp(8rem,15vh,10rem) var(--fs-gutter) clamp(2rem,6vh,4rem);background:var(--foreground)}

.service-post--immersive-hero .service-post-hero__inner:after{content:"";position:absolute;z-index:-1;inset:0;background:linear-gradient(90deg,rgb(0 0 0/.64) 0%,rgb(0 0 0/.36) 48%,rgb(0 0 0/.05) 100%),linear-gradient(0deg,rgb(0 0 0/.3),transparent 55%);pointer-events:none}

.service-post--immersive-hero .service-post-hero__content{z-index:1;width:100%;max-width:var(--fs-container-site);margin-inline:auto}

.service-post--immersive-hero .service-post-hero__copy{max-width:none;gap:clamp(1.5rem,4vh,2.5rem);color:#fff}

.service-post--immersive-hero .service-post-hero__message{max-width:48rem}

.service-post--immersive-hero .service-post-hero__decision{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:clamp(1.5rem,4vw,4rem);align-items:end;padding-top:1.5rem;border-top:1px solid rgb(255 255 255/.28)}

.service-post--immersive-hero .service-post-hero__meta{grid-template-columns:minmax(0,1fr);gap:.75rem;width:min(100%,30rem);margin:0}

.service-post--immersive-hero .service-post-hero__offer,.service-post--immersive-hero .service-post-hero__provider{display:grid;grid-template-columns:minmax(8rem,.8fr) minmax(0,1.2fr);align-items:center;gap:1rem;min-height:3.5rem}

.service-post--immersive-hero .service-post-hero__actions{justify-content:flex-end;margin:0;--button-bordered-black-color:#fff;--button-bordered-black-hover:rgb(255 255 255/.1)}

.service-post--immersive-hero .service-post-hero__actions .fs-button{font-weight:var(--fs-weight-bold)}

.service-post--immersive-hero .service-post-hero__actions .fs-button--glass.service-post-hero__primary-cta{position:relative;isolation:isolate;overflow:hidden;border-color:rgb(255 255 255/.52);background:color-mix(in srgb,var(--accent) 88%,transparent);box-shadow:inset 0 1px 0 rgb(255 255 255/.7),inset 0 -1px 0 rgb(255 255 255/.14),0 12px 32px rgb(0 0 0/.22);color:#fff;-webkit-backdrop-filter:blur(1.25rem) saturate(240%);backdrop-filter:blur(1.25rem) saturate(240%)}

.service-post--immersive-hero .service-post-hero__primary-cta:before{content:"";position:absolute;z-index:-1;inset:-75% -35%;background:linear-gradient(105deg,transparent 38%,rgb(255 255 255/.04) 44%,rgb(255 255 255/.34) 50%,rgb(255 255 255/.04) 56%,transparent 62%);transform:translateX(-70%);animation:service-cta-sheen 7.5s cubic-bezier(.22,1,.36,1) infinite;pointer-events:none}

.service-post--immersive-hero .service-post-hero__actions .fs-button--glass.service-post-hero__primary-cta:hover,.service-post--immersive-hero .service-post-hero__actions .fs-button--glass.service-post-hero__primary-cta:focus-visible{border-color:rgb(255 255 255/.68);background:var(--accent);box-shadow:inset 0 1px 0 rgb(255 255 255/.82),inset 0 -1px 0 rgb(255 255 255/.18),0 16px 38px rgb(0 0 0/.28);color:#fff;transform:translateY(-2px)}

@keyframes service-cta-sheen{0%,58%{transform:translateX(-70%)}85%,100%{transform:translateX(70%)}}

.service-post--immersive-hero .service-post-hero__title,.service-post--immersive-hero .service-post-hero__excerpt,.service-post--immersive-hero .service-post-hero__offer-value,.service-post--immersive-hero .service-post-hero__provider-names{color:#fff}

.service-post--immersive-hero .service-post-hero__title{overflow-wrap:normal;word-break:normal;hyphens:none}

.service-post--immersive-hero .service-post-hero__breadcrumbs [aria-current="page"],.service-post--immersive-hero .service-post-hero__meta-label,.service-post--immersive-hero .service-post-hero__offer-note{color:rgb(255 255 255/.72)}

.service-post--immersive-hero .service-post-hero__offer-value{align-items:baseline}

.service-post--immersive-hero .service-post-hero__offer-price{font-size:clamp(1.5rem,2.5vw,1.875rem)}

.service-post--immersive-hero .service-post-hero__offer-note{font-size:.875rem}

.service-post--immersive-hero .service-post-hero__provider-names{font-size:1.25rem}

.service-post--immersive-hero .service-post-hero__provider-avatars .author-avatar{width:2.75rem;height:2.75rem}

.service-post--immersive-hero .service-post-hero__provider-avatars .author-avatar{border-color:rgb(255 255 255/.2);background:#28292b}

.service-post--immersive-hero .service-post-hero__media{position:absolute;z-index:-2;inset:0;width:100%;height:100%;border-radius:0;background:#28292b}

.service-post--immersive-hero .service-post-hero__picture,.service-post--immersive-hero .service-post-hero__image{width:100%;height:100%}

.service-post--immersive-hero .service-post-hero__image{aspect-ratio:auto;object-fit:cover;object-position:center}

.services-hero{padding-block:clamp(4rem,9vw,8rem)}

.services-hero>.w-full{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(18rem,.8fr);gap:clamp(2.5rem,6vw,7rem);align-items:center}

.services-hero-content{max-width:60rem;gap:clamp(1.25rem,3vw,2rem)}

.services-hero-content>.service-post-kicker{margin:0;color:var(--accent)}

.services-hero-content .block-heading{max-width:58rem;font-size:clamp(3rem,7vw,6.75rem);letter-spacing:-.055em;line-height:.92;text-wrap:balance}

.services-hero-content>p{max-width:48rem;color:var(--muted-foreground);line-height:1.6}

.services-hero-media{width:100%;aspect-ratio:4/5}
@media (max-width:63.99rem){.services-hero>.w-full{grid-template-columns:1fr}
.services-hero-media{aspect-ratio:16/10}}
@media (max-width:47.99rem){.service-post-hero__provider-people{gap:.625rem}
.service-post--immersive-hero .service-post-hero__inner{min-height:100vh;min-height:100svh;padding:7rem var(--fs-gutter) clamp(3rem,7vh,5rem)}
.service-post--immersive-hero .service-post-hero__inner:after{background:linear-gradient(0deg,rgb(0 0 0/.62) 0%,rgb(0 0 0/.34) 68%,rgb(0 0 0/.06) 100%)}
.service-post--immersive-hero .service-post-hero__copy{gap:clamp(3.5rem,9vh,5.5rem)}
.service-post--immersive-hero .service-post-hero__message{max-width:100%}
.service-post--immersive-hero .service-post-hero__title{max-width:100%;font-size:clamp(2rem,8.5vw,3.5rem);letter-spacing:-.04em}
.service-post--immersive-hero .service-post-hero__excerpt{max-width:100%;font-size:var(--fs-font-lg);line-height:1.5}
.service-post--immersive-hero .service-post-hero__decision{grid-template-columns:1fr;gap:1.25rem}
.service-post--immersive-hero .service-post-hero__meta{width:100%}
.service-post--immersive-hero .service-post-hero__offer,.service-post--immersive-hero .service-post-hero__provider{grid-template-columns:minmax(7.75rem,.8fr) minmax(0,1.2fr);min-height:3.25rem}
.service-post--immersive-hero .service-post-hero__offer-price{font-size:1.5rem}
.service-post--immersive-hero .service-post-hero__provider-names{font-size:1.125rem}
.service-post--immersive-hero .service-post-hero__actions{justify-content:flex-start;width:100%}}
@media (max-width:47.99rem){.services-hero{padding-block:clamp(3rem,12vw,5rem)}
.services-hero-content .block-heading{font-size:clamp(2.75rem,13vw,4.25rem)}
.services-hero-media{aspect-ratio:4/3}}
@media (max-width:47.99rem){.service-post--immersive-hero .service-post-hero__copy{gap:1.5rem}
.service-post--immersive-hero .service-post-hero__decision{gap:1rem;padding-top:1rem}
.service-post--immersive-hero .service-post-hero__provider{grid-template-columns:auto minmax(0,1fr);gap:.75rem;min-height:2.75rem}
.service-post--immersive-hero .service-post-hero__provider-people{gap:.5rem}
.service-post--immersive-hero .service-post-hero__provider-avatars .author-avatar{width:2.25rem;height:2.25rem}}

.services-hero{position:relative;isolation:isolate;display:flex;min-height:85vh;min-height:85svh;align-items:flex-end;overflow:hidden;padding:0;color:#fff;background:#111}

.services-hero__media,.services-hero__overlay{position:absolute;z-index:-2;inset:0;margin:0}

.services-hero__media{background:#111}

.services-hero__picture{display:block;width:100%;height:100%}

.services-hero__image{display:block;width:100%;height:100%;object-fit:cover;object-position:center}

.services-hero__overlay{z-index:-1;background:linear-gradient(90deg,rgb(0 0 0/.78) 0%,rgb(0 0 0/.52) 52%,rgb(0 0 0/.18) 100%),linear-gradient(0deg,rgb(0 0 0/.7) 0%,transparent 58%)}

.services-hero__inner{display:grid;width:100%;max-width:calc(var(--fs-container-site) + var(--fs-gutter)*2);grid-template-columns:minmax(0,1fr);gap:clamp(3rem,8vh,6rem);margin-inline:auto;padding:clamp(8rem,16vh,11rem) var(--fs-gutter) clamp(2rem,5vh,3.5rem)}

.services-hero__content{display:flex;max-width:58rem;min-width:0;flex-direction:column;align-items:flex-start;gap:clamp(1.25rem,3vw,2rem)}

.services-hero__content>.service-post-kicker{margin:0;color:var(--accent)}

.services-hero__content h1{max-width:54rem;margin:0;color:inherit;font-size:clamp(3.5rem,7vw,7rem);font-weight:650;letter-spacing:-.06em;line-height:.88;text-wrap:balance}

.services-hero__content p{max-width:45rem;margin:0;color:rgb(255 255 255/.82);font-size:clamp(1.125rem,2vw,1.4rem);line-height:1.55}

.services-hero__actions{display:flex;flex-wrap:wrap;align-items:center;gap:1rem 1.5rem}

.services-hero__directory-link{color:#fff;font-weight:650;text-decoration:none}

.services-hero__directory-link:hover{text-decoration:underline;text-underline-offset:.2em}
@media (max-width:63.99rem){.services-hero__inner{padding-top:9rem}}
@media (max-width:47.99rem){.services-hero{min-height:44rem}
.services-hero__overlay{background:linear-gradient(0deg,rgb(0 0 0/.82) 0%,rgb(0 0 0/.42) 72%,rgb(0 0 0/.2) 100%)}
.services-hero__inner{gap:2.5rem;padding:7rem var(--fs-gutter) 1.75rem}
.services-hero__content h1{font-size:clamp(3rem,14vw,4.25rem);overflow-wrap:anywhere}
.services-hero__content p{font-size:1rem}
.services-hero__actions{display:grid;grid-template-columns:max-content minmax(0,1fr);width:100%;align-items:center;gap:.75rem}
.services-hero__actions>.fs-button{padding-inline:1rem;font-size:.875rem}
.services-hero__directory-link{min-width:0;font-size:.875rem;line-height:1.4}}
@media (max-width:47.99rem){.services-hero{min-height:100vh;min-height:100svh}}
@media (prefers-reduced-motion:reduce){.service-post-hero__breadcrumbs{scroll-behavior:auto}
.service-post--immersive-hero .service-post-hero__primary-cta:before{animation:none;transform:translateX(0);opacity:.34}}

/* hero-card: existing family composition and intentional responsive variants. */
.work-hero-content {
  display: flex;
  width: 100%;
  max-width: 48rem;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--fs-space-5);
}

.work-hero-actions {
  display: flex;
  width: 100%;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--fs-space-3);
}

.work-hero-link {
  gap: var(--fs-space-2);
  white-space: nowrap;
}

/* Homepage rhythm across public heroes: title, excerpt, actions, then media.
   Existing Ghost content, metadata, controls and responsive media remain native. */
#site-content .public-hero {
 display: block; position: relative; width: 100%; max-width: none; min-height: 0;
 margin: 0; padding: clamp(2.5rem,5vw,5rem) var(--fs-gutter) 0;
 border-radius: 0; overflow: visible; background: var(--background); color: var(--foreground);
}
#site-content .public-hero .public-hero__inner {
 display: flex; flex-direction: column; align-items: stretch; gap: var(--fs-space-8);
 position: relative; width: 100%; max-width: var(--fs-container-site); min-width: 0; min-height: 0;
 margin-inline: auto; padding: 0; border-radius: 0; overflow: visible; background: transparent;
}
#site-content .public-hero .service-post-hero__inner::after { display: none; }
#site-content .public-hero .public-hero__stack {
 display: flex; flex-direction: column; align-items: flex-start; gap: var(--fs-space-6);
 width: 100%; max-width: none; min-width: 0; padding: 0; color: var(--foreground);
}
#site-content .public-hero :is(h1,.service-post-hero__title,.work-post-hero__title) {
 width: 100%; max-width: 72rem; margin: 0; color: var(--foreground);
 font-size: clamp(2.75rem,7.3vw,6.5rem); line-height: .98;
 font-weight: var(--fs-weight-bold); letter-spacing: -.045em; overflow-wrap: anywhere; text-wrap: balance;
}
#site-content .public-hero :is(.service-post-hero__excerpt,.services-hero__content > p,.about-hero-content > p,.work-post-hero__excerpt) {
 max-width: 46rem; margin: 0; color: var(--foreground); font-size: var(--fs-font-xl); line-height: var(--fs-line-relaxed);
}
#site-content .public-hero .service-post-hero__decision { display: flex; flex-direction: column; align-items: flex-start; gap: var(--fs-space-6); padding: 0; border: 0; }
#site-content .public-hero :is(.service-post-hero__actions,.services-hero__actions,.work-post-hero__actions) { justify-content: flex-start; margin: 0; --button-bordered-black-color: var(--foreground); --button-bordered-black-hover: var(--muted); }
#site-content .public-hero .service-post-hero__primary-cta::before { display: none; }
#site-content .public-hero .service-post-hero__meta { display: flex; flex-wrap: wrap; width: 100%; gap: var(--fs-space-6); margin: 0; }
#site-content .public-hero .service-post-hero__meta:not(:has(> *)) { display: none; }
#site-content .public-hero :is(.service-post-hero__provider,.service-post-hero__offer) { display: flex; flex-direction: column; align-items: flex-start; gap: .5rem; min-height: 0; }
#site-content .public-hero :is(.service-post-hero__offer-value,.service-post-hero__provider-names,.work-hero-link,.services-hero__directory-link) { color: var(--foreground); --button-link-primary-color: var(--foreground); }
#site-content .public-hero :is(.service-post-hero__meta-label,.service-post-hero__offer-note,.service-post-hero__breadcrumbs [aria-current="page"]) { color: var(--muted-foreground); }
#site-content .public-hero .service-post-hero__breadcrumbs { min-width: 0; width: 100%; max-width: 100%; }
#site-content .public-hero .service-post-hero__breadcrumbs ol { max-width: 100%; }
#site-content .public-hero .public-hero__media {
 display: block; position: relative; z-index: auto; inset: auto;
 width: 100%; max-width: var(--fs-container-site); height: auto; min-height: 0;
 aspect-ratio: 16/9; margin: 0 auto; overflow: hidden; border-radius: var(--fs-radius-lg);
 background: var(--muted); isolation: isolate;
}
#site-content .public-hero > .services-hero__media { margin-top: var(--fs-space-8); }
#site-content .public-hero :is(.service-post-hero__picture,.service-post-hero__image,.services-hero__picture,.services-hero__image,.work-post-hero__picture,.work-post-hero__image) { display: block; width: 100%; height: 100%; max-height: none; object-fit: cover; }
#site-content .work-post[data-case="pillow"] .public-hero .work-post-hero__media { aspect-ratio: 5/4; }
@media(max-width:599px){
 #site-content .public-hero { padding-top: var(--fs-space-8); }
 #site-content .public-hero :is(.service-post-hero__excerpt,.services-hero__content > p,.about-hero-content > p,.work-post-hero__excerpt) { font-size: var(--fs-font-lg); }
 #site-content .service-post--daglichtstudio .public-hero .service-post-hero__media { aspect-ratio: 5/4; }
}

/* Full-height variant: mobile media heroes only. Home and text-only heroes
   retain their deliberate content-driven variants on every viewport. */
@media(max-width:767px){
 :root { --fs-hero-peek:var(--fs-space-16); }
 body:has(#site-content .public-hero figure) .service-hero-navigation { height:0; }
 body:has(#site-content .public-hero figure) header.gh-navigation {
  position:absolute;inset:0 0 auto;z-index:50;width:100%;background:transparent!important;color:#fff;
 }
 body:has(#site-content .public-hero figure) header.gh-navigation .gh-navigation-inner,
 body:has(#site-content .public-hero figure) header.gh-navigation .gh-navigation-inner :is(a,button) { color:inherit; }
 body:has(#site-content .public-hero figure) header.gh-navigation .site-logo-image { filter:grayscale(1) brightness(0) invert(1); }
 #site-content .public-hero:has(figure) {
  isolation:isolate;display:flex;align-items:flex-end;box-sizing:border-box;width:100%;
  min-height:calc(100vh - var(--fs-hero-peek));min-height:calc(100svh - var(--fs-hero-peek));
  padding:calc(var(--fs-primary-header-space) + var(--fs-space-6)) var(--fs-gutter) max(var(--fs-space-6),env(safe-area-inset-bottom,0px));
  color:#fff;background:#17191a;
 }
 /* The real following section starts here; no subnav-sized placeholder. */
 #site-content .public-hero:has(figure) + .fs-section:not(.public-subnav) { min-height:0;padding-top:var(--fs-space-8); }
 #site-content .public-hero:has(figure)::before { content:'';position:absolute;inset:0;z-index:1;opacity:1;pointer-events:none;background:linear-gradient(180deg,#0007,#0005 25%,#000b 60%,#000d); }
 #site-content .public-hero:has(figure) .public-hero__inner { position:static;isolation:auto;z-index:auto;gap:var(--fs-space-6); }
 #site-content .public-hero:has(figure) .public-hero__foreground { position:relative;z-index:2;gap:var(--fs-space-5); }
 #site-content .public-hero:has(figure) .public-hero__media { position:absolute;inset:0;z-index:0;width:100%;max-width:none;height:100%;aspect-ratio:auto;margin:0;border-radius:0; }
 #site-content .public-hero:has(figure) :is(.service-post-hero__image,.services-hero__image,.work-post-hero__image,.background-media__poster,.background-media__video) { width:100%;height:100%;object-fit:cover;object-position:var(--hero-focus,50% 45%); }
 #site-content .public-hero:has(figure) :is(h1,.service-post-hero__excerpt,.services-hero__content > p,.work-post-hero__excerpt,.about-hero-content > p,.service-post-hero__provider-names,.service-post-hero__offer-value,.service-post-hero__meta-label,.service-post-hero__offer-note,.service-post-hero__breadcrumbs [aria-current],.service-post-hero__breadcrumbs a,.services-hero__directory-link,.work-hero-link) { color:#fff; }
 #site-content .public-hero:has(figure) .fs-button--secondary { background:transparent;border-color:#fff;color:#fff; }
 #site-content .public-hero :is(.service-post-hero__copy,.service-post-hero__decision,.service-post-hero__message) { gap:var(--fs-space-5); }
 #site-content .public-hero :is(.work-post-hero__actions,.services-hero__actions) { flex-wrap:wrap;gap:.6rem; }
 #site-content .work-post[data-case="future-village"] .public-hero { --hero-focus:50% 60%; }
 #site-content .work-post[data-case="pillow"] .public-hero { --hero-focus:50% 42%; }
}

/* Hero action compositions, formerly in public-cta.css. */
#site-content .public-hero .fs-button:is(.fs-button--primary,.fs-button--secondary) { font-weight: var(--fs-weight-medium,500); }
#site-content .services-hero__actions { display: flex; flex-wrap: wrap; gap: var(--fs-space-3); align-items: center; }
/* Secondary actions over immersive mobile media need an explicit boundary. */
@media(max-width:767px){
 #site-content .public-hero:has(figure) .fs-button--secondary:hover { background: #ffffff1a; }
 #site-content .public-hero .fs-button:is(.fs-button--primary,.fs-button--secondary) { padding: .75rem 2rem; font-size: var(--fs-font-md); }
}
@media (min-width:360px) and (max-width:767px){
 #site-content .public-hero .services-hero__actions > .fs-button { padding: .75rem .65rem; font-size: .875rem; }
}

/* Shared mobile action geometry; the provider row remains service-owned. */
@media(max-width:767px){
 #site-content .public-hero .public-hero__actions { display:flex;flex-direction:column;align-items:stretch;width:100%;gap:.65rem; }
 #site-content .public-hero .public-hero__actions > .fs-button { width:100%;flex:none;min-height:46px;padding:.75rem 1rem; }
 #site-content .public-hero .service-post-hero__meta-label { font-size:.625rem;letter-spacing:.025em; }
}
 #site-content .public-hero .service-post-hero__provider { flex-direction:row;align-items:center;gap:.6rem;flex-wrap:wrap; }
 #site-content .public-hero .service-post-hero__provider-people { gap:.5rem; }
 #site-content .public-hero .service-post-hero__provider-avatars .author-avatar { width:28px;height:28px;border-width:1px;margin-left:0; }
 #site-content .public-hero .service-post-hero__provider-names { font-size:.875rem; }
#site-content .public-hero .service-post-hero__provider .service-post-hero__meta-label { font-size:.625rem;letter-spacing:.025em; }

/* Homepage keeps its separate content-first hero. */
@media(max-width:767px){
 #site-content section:has(.home-hero-title) .fs-button { width:100%; }
}
