/*
 * EveryPrint internal pages
 * Final cascade loaded after legacy and page-local styles.
 * Visual direction: additive manufacturing studio / graphite + mist + cyan.
 */

:root{
  --ep-page-deep:var(--ep-surface-dark,#080d12);
  --ep-page-graphite:var(--ep-surface-dark-raised,#111a23);
  --ep-page-cyan:var(--ep-accent,#19d3d1);
  --ep-page-cyan-dark:var(--ep-accent-text,#087b7a);
  --ep-page-steel:var(--ep-text-secondary,#5f6e7a);
  --ep-page-copy:var(--ep-text-body,#43515e);
  --ep-page-muted:var(--ep-text-secondary,#5f6e7a);
  --ep-page-mist:var(--ep-surface-subtle,#f4f7f8);
  --ep-page-white:var(--ep-surface-light,#fff);
  --ep-page-line:var(--ep-border-light,rgba(17,26,35,.16));
  --ep-page-line-dark:var(--ep-border-dark,rgba(255,255,255,.18));
  --ep-page-container:1180px;
  --ep-page-radius:8px;
  --ep-page-shadow:0 18px 52px rgba(8,13,18,.09);
  --ep-page-display:"Ruberoid","Montserrat",system-ui,-apple-system,"Segoe UI",sans-serif;
  --ep-page-body:"Montserrat",system-ui,-apple-system,"Segoe UI",sans-serif;
}

body{
  font-family:var(--ep-page-body)!important;
  text-rendering:optimizeLegibility;
}

main.ep-page{
  min-height:70vh;
  padding:clamp(104px,8vw,128px) 0 clamp(64px,8vw,112px)!important;
  background:var(--ep-page-mist)!important;
  color:var(--ep-page-deep)!important;
  font-size:var(--ep-type-body,1rem);
  line-height:var(--ep-leading-body,1.68);
}

main.ep-page :is(.ep-prose,.ep-section,.ep-page__container){color:var(--ep-ink)}

/* Boxed links hero already owns its outer padding. Let its content shrink. */
main.ep-page--links .ep-hero__content{min-width:0;padding:0}
main.ep-page--links :is(.ep-badge,.ep-pill){max-width:100%;white-space:normal;overflow-wrap:anywhere}

main.ep-page :is(.ep-page__container,.container){
  width:min(var(--ep-page-container),calc(100% - 48px))!important;
  max-width:var(--ep-page-container)!important;
  margin-inline:auto!important;
  padding-inline:0!important;
}

main.ep-page .ep-prose{
  max-width:var(--ep-page-container)!important;
  color:var(--ep-page-copy)!important;
  font-size:var(--ep-type-body,1rem)!important;
  line-height:var(--ep-leading-body,1.68)!important;
}

main.ep-page :is(h1,h2,h3,h4,h5,h6),
.ep-brief-main :is(h1,h2,h3,h4){
  font-family:var(--ep-page-display)!important;
  color:var(--ep-page-deep)!important;
  text-wrap:balance;
  max-width:100%;
  overflow-wrap:anywhere;
  font-weight:700!important;
}

main.ep-page h1{
  margin-top:0!important;
  font-size:var(--ep-type-h1,clamp(2.625rem,4vw,3.5rem))!important;
  line-height:1.04!important;
  letter-spacing:-.045em!important;
}

main.ep-page h2{
  font-size:var(--ep-type-h2,clamp(1.75rem,2.8vw,2.5rem))!important;
  line-height:var(--ep-leading-heading,1.08)!important;
  letter-spacing:-.035em!important;
}

main.ep-page h3{
  font-size:var(--ep-type-h3,clamp(1.25rem,1.6vw,1.5rem))!important;
  line-height:1.2!important;
  letter-spacing:-.022em!important;
}

main.ep-page h4{
  font-size:var(--ep-type-h4,1.0625rem)!important;
  line-height:1.3!important;
  letter-spacing:-.01em!important;
}

main.ep-page :is(.ep-prose,.ep-section,.ep-page__container) :is(p,li,dd,figcaption,small),
main.ep-page :is(.ep-prose,.ep-section,.ep-page__container) :is(
  .ep-text,
  .ep-soft-text,
  .ep-muted,
  .ep-card__text,
  .ep-card__meta,
  .ep-section-head__lead,
  .ep-faq__body,
  [class$="__lead"],
  [class$="__text"],
  [class$="__note"],
  [class$="__meta"]
){
  color:var(--ep-page-copy)!important;
  font-weight:400!important;
  text-shadow:none!important;
}

main.ep-page :is(p,li,dd,figcaption){overflow-wrap:anywhere}
main.ep-page :is(p,li,dd,blockquote){font-size:var(--ep-type-body,1rem)!important;line-height:var(--ep-leading-body,1.68)!important}
main.ep-page :is(
  .ep-card,.ep-cardlink,.ep-cardlike,.ep-inline-card,.ep-note,.ep-takeaways,
  .ep-kpi__item,.ep-checkgrid__item,.ep-mini-cases__card,.ep-faq__item,
  .ep-mcard,.ep-bcard,.ep-price,.ep-step,.ep-proof,.ep-service,
  .ep-materials-card,.ep-materials-choice__card,.ep-materials-group,
  .ep-materials-step,.ep-industry-card,.ep-industries-pick,.ep-contacts-route
) :is(p,li,dd){font-size:.9375rem!important;line-height:1.6!important}
main.ep-page :is(
  small,figcaption,.ep-badge,.ep-tag,.ep-chip,.ep-pill,.ep-meta,
  [class$="__meta"],[class$="__hint"],[class$="__caption"]
){font-size:.8125rem!important;line-height:1.45!important}
main.ep-page :is(strong,b){color:var(--ep-page-deep)!important;font-weight:600!important}
main.ep-page a:not(.ep-btn):not(.btn){
  color:var(--ep-page-cyan-dark)!important;
  text-decoration-color:rgba(8,123,122,.35);
  text-underline-offset:.18em;
}

main.ep-page a:not(.ep-btn):not(.btn):hover{
  color:var(--ep-accent-text-hover,#056563)!important;
  text-decoration-color:currentColor;
}

main.ep-page a:not(.ep-btn):not(.btn):active{color:var(--ep-page-deep)!important}

/* Small accents on a light canvas use the darker text-safe accent. Heroes below
   deliberately switch the same components back to the bright signal colour. */
main.ep-page :is(
  .ep-kicker,
  .ep-eyebrow,
  .ep-detali-kicker,
  .ep-industries-kicker,
  .ep-materials-kicker,
  .ep-calc-eyebrow,
  [class$="__kicker"],
  [class$="__eyebrow"],
  [class$="-kicker"],
  [class$="-eyebrow"]
){color:var(--ep-accent-text-hover,#056563)!important}

/* Clear editorial rhythm: sections are fields, not floating SaaS bubbles. */
main.ep-page .ep-section{
  margin-top:clamp(56px,7vw,96px)!important;
  padding:0!important;
  background:transparent!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
}

main.ep-page .ep-section-head{
  align-items:end;
  gap:24px!important;
  margin-bottom:24px!important;
  padding-bottom:16px;
  border-bottom:1px solid var(--ep-page-line);
}

main.ep-page .ep-section-head :is(h2,h3){margin:0!important}

/* Breadcrumbs: quiet technical navigation, never a large pill. */
main.ep-page .ep-breadcrumbs{
  display:inline-flex!important;
  flex-wrap:wrap;
  align-items:center;
  gap:.55rem!important;
  width:auto!important;
  max-width:100%;
  margin:0 0 22px!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  color:var(--ep-page-muted)!important;
  font-size:var(--ep-type-caption,.75rem)!important;
  font-weight:600!important;
  line-height:1.45!important;
  letter-spacing:.035em;
}

main.ep-page .ep-breadcrumbs :is(a,span){color:inherit!important}
main.ep-page .ep-breadcrumbs a{color:var(--ep-page-cyan-dark)!important}

/* Shared light surfaces. */
main.ep-page :is(
  .ep-card,
  .ep-cardlink,
  .ep-cardlike,
  .ep-inline-card,
  .ep-note,
  .ep-takeaways,
  .ep-kpi__item,
  .ep-checkgrid__item,
  .ep-mini-cases__card,
  .ep-faq__item,
  .ep-mcard,
  .ep-bcard,
  .ep-price,
  .ep-step,
  .ep-proof,
  .ep-service,
  .ep-materials-card,
  .ep-materials-choice__card,
  .ep-materials-group,
  .ep-materials-step,
  .ep-industry-card,
  .ep-industries-pick,
  .ep-contacts-route,
  .contacts__card,
  .ep-blog-topic,
  .ep-blog-controls,
  .ep-materials-panel,
  .ep-case-card,
  .ep-turnkey-fact,
  .ep-turnkey-result__accent
){
  border:1px solid var(--ep-page-line)!important;
  border-radius:var(--ep-page-radius)!important;
  background:var(--ep-page-white)!important;
  box-shadow:none!important;
  color:var(--ep-page-deep)!important;
}

main.ep-page :is(
  .ep-card,
  .ep-cardlink,
  .ep-cardlike,
  .ep-inline-card,
  .ep-note,
  .ep-takeaways,
  .ep-kpi__item,
  .ep-checkgrid__item,
  .ep-mini-cases__card,
  .ep-faq__item,
  .ep-mcard,
  .ep-bcard,
  .ep-price,
  .ep-step,
  .ep-proof,
  .ep-service,
  .ep-materials-card,
  .ep-materials-choice__card,
  .ep-materials-group,
  .ep-materials-step,
  .ep-industry-card,
  .ep-industries-pick,
  .ep-contacts-route,
  .contacts__card,
  .ep-blog-topic,
  .ep-blog-controls,
  .ep-materials-panel,
  .ep-case-card,
  .ep-turnkey-fact,
  .ep-turnkey-result__accent
) :is(h2,h3,h4,h5,strong,b,[class$="__title"],[class$="__value"]){
  color:var(--ep-page-deep)!important;
}

main.ep-page :is(
  .ep-card,
  .ep-cardlink,
  .ep-cardlike,
  .ep-inline-card,
  .ep-note,
  .ep-takeaways,
  .ep-kpi__item,
  .ep-checkgrid__item,
  .ep-mini-cases__card,
  .ep-faq__item,
  .ep-mcard,
  .ep-bcard,
  .ep-price,
  .ep-step,
  .ep-proof,
  .ep-service,
  .ep-materials-card,
  .ep-materials-choice__card,
  .ep-materials-group,
  .ep-materials-step,
  .ep-industry-card,
  .ep-industries-pick,
  .ep-contacts-route,
  .contacts__card,
  .ep-blog-topic,
  .ep-blog-controls,
  .ep-materials-panel,
  .ep-case-card,
  .ep-turnkey-fact,
  .ep-turnkey-result__accent
) :is(p,li,small,span,[class$="__text"],[class$="__lead"],[class$="__meta"],[class$="__note"]){
  color:var(--ep-page-copy)!important;
  text-shadow:none!important;
}

main.ep-page .ep-prose blockquote{
  border:1px solid var(--ep-page-line);
  border-left:3px solid var(--ep-page-cyan-dark);
  border-radius:var(--ep-page-radius);
  background:var(--ep-page-white);
  color:var(--ep-page-copy);
  box-shadow:none;
}

main.ep-page .ep-faq details{
  border:1px solid var(--ep-page-line);
  border-radius:var(--ep-page-radius);
  background:var(--ep-page-white);
  color:var(--ep-page-deep);
  box-shadow:none;
}
/* FAQ belongs to the same reading column as its section heading. The legacy
   stylesheet centred it in a narrower 58rem column on otherwise wide pages. */
main.ep-page .ep-faq{
  max-width:none;
  margin-inline:0;
}
main.ep-page .ep-faq details :is(h2,h3,h4,h5,strong,b,summary){color:var(--ep-page-deep)}
main.ep-page .ep-faq details :is(p,li,small,span){color:var(--ep-page-copy);text-shadow:none}
main.ep-page .ep-faq summary::after{
  color:var(--ep-page-deep);
  background:var(--ep-page-mist);
  border-color:var(--ep-page-steel);
  opacity:1;
}
main.ep-page .ep-faq details[open] summary::after{
  background:var(--ep-page-cyan);
  border-color:var(--ep-page-cyan-dark);
}

main.ep-page .contacts__card .contacts__label,
main.ep-page .ep-kpi__item :is(.ep-kpi__label,.ep-kpi__title,.ep-kpi__hint),
main.ep-page .ep-takeaways li,
main.ep-page .ep-price :is(.ep-price__hint,.ep-price__desc,.ep-price__meta),
main.ep-page .ep-mini-cases__card :is(.ep-mini-cases__meta,.ep-mini-cases__text){
  color:var(--ep-page-copy);
}

main.ep-page .contacts__card .contacts__value,
main.ep-page .ep-kpi__item .ep-kpi__value,
main.ep-page .ep-takeaways__title,
main.ep-page :is(.ep-card,.ep-cardlink,.ep-bcard,.ep-industry-card) .ep-fw-600,
main.ep-page .ep-mini-cases__card .ep-mini-cases__title{
  color:var(--ep-page-deep);
}

main.ep-page .ep-bcard :is(.ep-bcard__pill,.ep-bcard__badge){
  border-color:rgba(8,123,122,.25);
  background:rgba(8,123,122,.07);
  color:var(--ep-page-cyan-dark);
}

main.ep-page .ep-industry-card .ep-industry-card__cta{color:var(--ep-page-cyan-dark)}

main.ep-page :is(.ep-cardlink,.ep-materials-card,.ep-materials-choice__card,.ep-industry-card,.ep-contacts-route){
  position:relative;
  overflow:hidden;
  transition:transform .2s ease,border-color .2s ease!important;
}

main.ep-page :is(.ep-cardlink,.ep-materials-card,.ep-materials-choice__card,.ep-industry-card,.ep-contacts-route)::before{
  content:"";
  position:absolute;
  z-index:2;
  inset:0 auto auto 0;
  width:0;
  height:2px;
  background:var(--ep-page-cyan);
  transition:width .22s ease;
}

main.ep-page :is(.ep-cardlink,.ep-materials-card,.ep-materials-choice__card,.ep-industry-card,.ep-contacts-route):hover{
  transform:translateY(-2px)!important;
  border-color:rgba(25,211,209,.55)!important;
}

main.ep-page :is(.ep-cardlink,.ep-materials-card,.ep-materials-choice__card,.ep-industry-card,.ep-contacts-route):hover::before{width:100%}

main.ep-page :is(.ep-badge,.ep-chip,.ep-pill,.ep-tag,.ep-meta,.ep-materials-card__tag,.ep-materials-choice__tag,.ep-industry-card__tag){
  border:1px solid rgba(8,123,122,.25);
  border-radius:3px!important;
  background:transparent;
  color:var(--ep-accent-text-hover,#056563);
  box-shadow:none!important;
}

/* Wide data remains local to its region instead of widening the page. */
main.ep-page :is(.ep-table-wrap,.ep-table-scroll){
  overflow-x:auto;
  max-width:100%;
  -webkit-overflow-scrolling:touch;
  overscroll-behavior-inline:contain;
  border:1px solid var(--ep-page-line)!important;
  border-radius:var(--ep-page-radius)!important;
  background:var(--ep-page-white)!important;
  box-shadow:none!important;
}

main.ep-page :is(.ep-table-wrap,.ep-table-scroll) .ep-table{
  min-width:42rem;
  margin:0!important;
  border:0!important;
  border-radius:0!important;
}

main.ep-page table{
  border-color:var(--ep-page-line)!important;
  width:100%;
  border-collapse:collapse;
  background:var(--ep-page-white)!important;
  color:var(--ep-page-deep)!important;
}

main.ep-page :is(th,td){
  padding:.85rem .95rem!important;
  border-color:var(--ep-page-line)!important;
  color:var(--ep-page-copy)!important;
  vertical-align:top;
  font-size:.9375rem;
  line-height:1.55;
  font-variant-numeric:tabular-nums;
}

main.ep-page th{background:var(--ep-page-graphite)!important;color:var(--ep-page-white)!important;font-weight:600}

main.ep-page :is(label,legend){color:var(--ep-page-deep)!important;font-size:var(--ep-type-label,.875rem);font-weight:600}
main.ep-page :is(input:not([type="checkbox"]):not([type="radio"]),textarea,select){
  border:1px solid rgba(74,89,105,.42);
  border-radius:4px!important;
  background:var(--ep-page-white);
  color:var(--ep-page-deep);
  font-size:1rem;
  line-height:1.4;
  box-shadow:none!important;
}

main.ep-page :is(input,textarea)::placeholder{color:#7b8792!important;opacity:1}

/* Buttons: cyan is a signal, not a background theme. */
main.ep-page :is(.ep-btn,.btn,.link),
.ep-brief-main .ep-btn{
  min-height:48px!important;
  border-radius:4px!important;
  box-shadow:none!important;
  font-size:var(--ep-type-ui,.9375rem)!important;
  font-weight:600!important;
  line-height:1.25!important;
}

main.ep-page :is(.ep-btn--primary,.btn--primary),
.ep-brief-main .ep-btn--primary{
  border-color:var(--ep-page-cyan);
  background:var(--ep-page-cyan);
  color:var(--ep-page-deep);
}

main.ep-page :is(.ep-btn--ghost,.btn--ghost){
  border-color:rgba(17,26,35,.52);
  background:transparent;
  color:var(--ep-page-deep);
}

main.ep-page :is(.ep-btn--primary,.btn--primary):hover,
.ep-brief-main .ep-btn--primary:hover{background:#67e9e7;border-color:#67e9e7;color:var(--ep-page-deep)}
main.ep-page :is(.ep-btn--ghost,.btn--ghost):hover{background:rgba(8,123,122,.08);border-color:var(--ep-page-cyan-dark);color:var(--ep-accent-text-hover,#056563)}
main.ep-page :is(.ep-btn,.btn):active,
.ep-brief-main .ep-btn:active{transform:translateY(0) scale(.985)}
main.ep-page :is(.ep-btn,.btn):disabled,
main.ep-page :is(.ep-btn,.btn)[aria-disabled="true"],
.ep-brief-main .ep-btn:disabled,
.ep-brief-main .ep-btn[aria-disabled="true"]{cursor:not-allowed;opacity:.55;transform:none;filter:grayscale(.25)}
main.ep-page :is(button,[role="button"],.ep-chip,.ep-badge,.ep-tag,.ep-pill,.ep-meta,.link){font-weight:600!important}
main.ep-page :is(.ep-chip,.ep-badge,.ep-tag,.ep-pill,.ep-meta){font-family:var(--ep-page-body)!important}
main.ep-page :is(.calc-mode__btn,[role="tab"]){font-size:var(--ep-type-label,.875rem)!important;line-height:1.3!important}
main.ep-page :is(input,textarea,select):hover:not(:disabled){border-color:var(--ep-page-steel)}
main.ep-page :is(input,textarea,select):focus{border-color:var(--ep-page-cyan-dark);box-shadow:0 0 0 3px rgba(25,211,209,.18)}
main.ep-page :is(input,textarea,select):disabled{background:#e7ecef;color:#596875;border-color:rgba(17,26,35,.18);cursor:not-allowed;opacity:1}
main.ep-page :is(.ep-tag,[role="tab"],.calc-mode__btn):hover{border-color:var(--ep-page-cyan-dark);color:var(--ep-accent-text-hover,#056563)}
main.ep-page :is(.ep-tag,[role="tab"],.calc-mode__btn):active{background:rgba(8,123,122,.12)}
main.ep-page :is(.ep-tag,[role="tab"],.calc-mode__btn):disabled{color:#667481;cursor:not-allowed;opacity:.62}

/*
 * One hero language across services, materials, cases, articles and hubs.
 * Flat graphite field, small radius, technical labels and one trajectory line.
 */
main.ep-page :is(
  .ep-material-hero,
  .ep-post-hero,
  .ep-hero,
  .ep-portfolio-hero,
  .ep-blogpost-hero,
  .ep-blog-hero,
  .ep-calc-hero,
  .ep-industries-hero,
  .ep-materials-hero
){
  position:relative!important;
  isolation:isolate;
  overflow:visible;
  min-width:0;
  width:100%;
  margin:0 0 clamp(40px,5vw,64px)!important;
  padding:clamp(28px,4vw,52px)!important;
  border:1px solid var(--ep-page-line-dark)!important;
  border-radius:10px!important;
  background:var(--ep-surface-dark,#080d12)!important;
  box-shadow:none!important;
  color:var(--ep-page-white)!important;
}

main.ep-page > .ep-hero{
  width:min(var(--ep-page-container),calc(100% - 48px))!important;
  margin-inline:auto!important;
}

main.ep-page :is(
  .ep-material-hero,
  .ep-post-hero,
  .ep-hero,
  .ep-portfolio-hero,
  .ep-blogpost-hero,
  .ep-blog-hero,
  .ep-calc-hero,
  .ep-industries-hero,
  .ep-materials-hero
)::before{
  display:none!important;
}

main.ep-page :is(
  .ep-material-hero,
  .ep-post-hero,
  .ep-hero,
  .ep-portfolio-hero,
  .ep-blogpost-hero,
  .ep-blog-hero,
  .ep-calc-hero,
  .ep-industries-hero,
  .ep-materials-hero
)::after{
  content:none!important;
  display:none!important;
}

main.ep-page :is(
  .ep-material-hero,
  .ep-post-hero,
  .ep-hero,
  .ep-portfolio-hero,
  .ep-blogpost-hero,
  .ep-blog-hero,
  .ep-calc-hero,
  .ep-industries-hero,
  .ep-materials-hero
) > :is([class$="__inner"],[class$="__grid"]){
  position:relative;
  z-index:1;
  display:grid!important;
  grid-template-columns:var(--ep-hero-columns,minmax(0,1fr) minmax(0,var(--ep-hero-side,300px)))!important;
  gap:var(--ep-hero-gap,clamp(28px,5vw,72px))!important;
  align-items:var(--ep-hero-align,start)!important;
  min-width:0;
}

main.ep-page :is(
  .ep-material-hero,
  .ep-post-hero,
  .ep-hero,
  .ep-portfolio-hero,
  .ep-blogpost-hero,
  .ep-blog-hero,
  .ep-calc-hero,
  .ep-industries-hero,
  .ep-materials-hero
) > :is([class$="__inner"],[class$="__grid"]) > *{min-width:0}

main.ep-page :is(
  .ep-material-hero,
  .ep-post-hero,
  .ep-blogpost-hero,
  .ep-calc-hero,
  .ep-industries-hero,
  .ep-materials-hero
) > :is([class$="__inner"],[class$="__grid"]):not(:has(> :nth-child(2))){
  grid-template-columns:minmax(0,780px)!important;
}

main.ep-page .ep-hero:has(.ep-hero__media){
  display:grid!important;
  grid-template-columns:minmax(0,1.1fr) minmax(280px,.8fr)!important;
  gap:clamp(28px,5vw,72px)!important;
  align-items:center!important;
}

main.ep-page :is(
  .ep-material-hero,
  .ep-post-hero,
  .ep-hero,
  .ep-portfolio-hero,
  .ep-blogpost-hero,
  .ep-blog-hero,
  .ep-calc-hero,
  .ep-industries-hero,
  .ep-materials-hero
) :is(h1,h2,h3,h4,h5,strong,b,[class$="__title"],[class$="__value"]):not(:is(
  [class*="card"] *,
  .ep-inline-card *,
  .ep-note:not(.ep-note--action) *,
  .ep-faq__item *,
  .ep-price *,
  .ep-step *,
  .ep-proof *
)){
  color:var(--ep-page-white)!important;
  text-shadow:none!important;
}

main.ep-page :is(
  .ep-material-hero,
  .ep-post-hero,
  .ep-hero,
  .ep-portfolio-hero,
  .ep-blogpost-hero,
  .ep-blog-hero,
  .ep-calc-hero,
  .ep-industries-hero,
  .ep-materials-hero
) h1{
  max-width:var(--ep-hero-title-width,17ch)!important;
  margin:0 0 18px!important;
  font-size:var(--ep-hero-title-size,var(--ep-type-h1,clamp(2.625rem,4vw,3.5rem)))!important;
  line-height:1.04!important;
  letter-spacing:-.045em!important;
}

/* Material headings use a modifier, not a losing competing h1 selector. */
main.ep-page--material .ep-material-hero{
  --ep-hero-title-width:18ch;
  --ep-hero-title-size:clamp(2.5rem,3.6vw,3.25rem);
}

main.ep-page :is(
  .ep-material-hero,
  .ep-post-hero,
  .ep-hero,
  .ep-portfolio-hero,
  .ep-blogpost-hero,
  .ep-blog-hero,
  .ep-calc-hero,
  .ep-industries-hero,
  .ep-materials-hero
) :is([class$="__lead"],[class$="-lead"]){
  display:block!important;
  overflow:visible!important;
  max-width:58ch!important;
  -webkit-box-orient:initial!important;
  -webkit-line-clamp:unset!important;
  font-size:var(--ep-type-lead,1.0625rem)!important;
  line-height:1.6!important;
}

/* Six repeatable hero templates share the same shell, type scale and rhythm. */
main.ep-page--service-core :is(.ep-material-hero,.ep-post-hero,.ep-hero),
main.ep-page--niche .ep-material-hero,
main.ep-page--geo .ep-material-hero{--ep-hero-side:320px}

main.ep-page--material .ep-material-hero,
main.ep-page--industry .ep-material-hero{--ep-hero-side:150px}

main.ep-page--article .ep-blogpost-hero{--ep-hero-side:150px;--ep-hero-gap:clamp(24px,4vw,48px)}
main.ep-page.ep-market-modern .ep-material-hero{--ep-hero-side:min(40vw,430px);--ep-hero-gap:clamp(24px,4vw,48px)}

/* Services with photography: one offer and one visual, details below the hero. */
main.ep-page .ep-material-hero.ep-service-hero{
  --ep-hero-columns:minmax(0,1.12fr) minmax(0,1fr);
  --ep-hero-gap:clamp(24px,4vw,48px);
  --ep-hero-align:center;
}
main.ep-page .ep-service-hero-photo{min-width:0;margin:0}
main.ep-page .ep-service-hero-photo img{
  display:block;
  width:100%;
  height:auto;
  aspect-ratio:4/3;
  object-fit:cover;
}
main.ep-page .ep-service-hero-note{margin:16px 0 0;font-size:.875rem;line-height:1.5}

main.ep-page--article .ep-blogpost-hero{
  --ep-hero-title-width:21ch;
  --ep-hero-title-size:clamp(2.5rem,3.5vw,3.125rem);
}

main.ep-page--article .ep-blogpost-hero__lead{max-width:66ch!important}

main.ep-page :is(.ep-material-hero__icon,.ep-blogpost-hero__icon){
  width:96px;
  height:96px;
  border-radius:6px;
}

main.ep-page .ep-hero-followup{
  max-width:none;
  margin:-16px 0 40px;
}
main.ep-page :is(.ep-hero-followup,.ep-hero-details) > .ep-hero-sidecard{width:100%;max-width:none}
@media (min-width:769px){
  main.ep-page :is(.ep-hero-followup,.ep-hero-details) .ep-hero-sidecard__list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 32px}
  main.ep-page :is(.ep-hero-followup,.ep-hero-details) .ep-hero-sidecard__list li + li{margin-top:0}
}

main.ep-page--material .ep-material-summary{
  display:grid;
  gap:16px;
  margin:-32px 0 40px;
  padding:20px;
  border:1px solid var(--ep-page-line);
  border-radius:var(--ep-page-radius);
  background:var(--ep-page-white);
  color:var(--ep-page-deep);
}

main.ep-page--material .ep-material-summary .ep-kpi{margin:0}

main.ep-page :is(
  .ep-material-hero,
  .ep-post-hero,
  .ep-hero,
  .ep-portfolio-hero,
  .ep-blogpost-hero,
  .ep-blog-hero,
  .ep-calc-hero,
  .ep-industries-hero,
  .ep-materials-hero
) :is(p,li,small,span,[class$="__lead"],[class$="__text"],[class$="__note"],[class$="__meta"],[class$="__label"]):not(:is(
  [class*="card"] *,
  .ep-inline-card *,
  .ep-note:not(.ep-note--action) *,
  .ep-faq__item *,
  .ep-price *,
  .ep-step *,
  .ep-proof *
)){
  color:var(--ep-dark-copy-color,var(--ep-text-secondary-on-dark,#b9c3cb))!important;
  text-shadow:none!important;
}

main.ep-page :is(
  .ep-material-hero,
  .ep-post-hero,
  .ep-hero,
  .ep-portfolio-hero,
  .ep-blogpost-hero,
  .ep-blog-hero,
  .ep-calc-hero,
  .ep-industries-hero,
  .ep-materials-hero
) :is(.ep-kicker,.ep-eyebrow,[class$="__kicker"],[class$="__eyebrow"],[class$="-kicker"],[class$="-eyebrow"]){
  display:inline-block!important;
  width:auto!important;
  padding:0 0 0 10px!important;
  border:0!important;
  border-left:2px solid var(--ep-page-cyan)!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  color:var(--ep-page-cyan)!important;
  font-size:var(--ep-type-caption,.75rem)!important;
  font-weight:600!important;
  line-height:1.3!important;
  letter-spacing:.13em!important;
  text-transform:uppercase!important;
}

main.ep-page :is(
  .ep-material-hero,
  .ep-post-hero,
  .ep-hero,
  .ep-portfolio-hero,
  .ep-blogpost-hero,
  .ep-blog-hero,
  .ep-calc-hero,
  .ep-industries-hero,
  .ep-materials-hero
) :is(.ep-breadcrumbs,[class$="-crumbs"],[class$="__crumbs"]){
  display:inline-flex!important;
  flex-wrap:wrap!important;
  align-items:center!important;
  gap:.55rem!important;
  width:max-content!important;
  max-width:100%!important;
  margin:0 0 24px!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  color:var(--ep-text-secondary-on-dark,#b9c3cb)!important;
  font-size:var(--ep-type-caption,.75rem)!important;
  font-weight:600!important;
  line-height:1.45!important;
  letter-spacing:.035em!important;
}

main.ep-page :is(
  .ep-material-hero,
  .ep-post-hero,
  .ep-hero,
  .ep-portfolio-hero,
  .ep-blogpost-hero,
  .ep-blog-hero,
  .ep-calc-hero,
  .ep-industries-hero,
  .ep-materials-hero
) :is(.ep-breadcrumbs,[class$="-crumbs"],[class$="__crumbs"]) :is(a,span){
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  color:inherit!important;
}

main.ep-page :is(
  .ep-material-hero,
  .ep-post-hero,
  .ep-hero,
  .ep-portfolio-hero,
  .ep-blogpost-hero,
  .ep-blog-hero,
  .ep-calc-hero,
  .ep-industries-hero,
  .ep-materials-hero
) :is(.ep-breadcrumbs,[class$="-crumbs"],[class$="__crumbs"]) a{color:#77e8e6!important}

main.ep-page :is(
  .ep-material-hero,
  .ep-post-hero,
  .ep-hero,
  .ep-portfolio-hero,
  .ep-blogpost-hero,
  .ep-blog-hero,
  .ep-calc-hero,
  .ep-industries-hero,
  .ep-materials-hero
) :is(.ep-industries-kicker,.ep-materials-kicker,.ep-calc-eyebrow,.ep-detali-kicker){
  display:inline-block!important;
  width:auto!important;
  padding:0 0 0 10px!important;
  border:0!important;
  border-left:2px solid var(--ep-page-cyan)!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  color:var(--ep-page-cyan)!important;
  font-size:var(--ep-type-caption,.75rem)!important;
  font-weight:600!important;
  line-height:1.3!important;
  letter-spacing:.13em!important;
  text-transform:uppercase!important;
}

main.ep-page .ep-detali-hero-media{
  border-radius:6px!important;
}

main.ep-page.ep-detali-lp .ep-material-hero__lead{font-size:var(--ep-type-ui,.9375rem)!important;line-height:1.6!important}

main.ep-page :is(.ep-industries-hero,.ep-materials-hero,.ep-calc-hero,.ep-material-hero) > .ep-breadcrumbs{
  width:max-content!important;
  max-width:100%!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
}

main.ep-page :is(.ep-industries-hero,.ep-materials-hero,.ep-calc-hero,.ep-material-hero) > .ep-breadcrumbs a{
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
}

main.ep-page :is(.ep-industries-sidecard__list li,.ep-calc-visual-row){
  border-radius:4px!important;
}

main.ep-page :is(
  .ep-material-hero,
  .ep-post-hero,
  .ep-hero,
  .ep-portfolio-hero,
  .ep-blogpost-hero,
  .ep-blog-hero,
  .ep-calc-hero,
  .ep-industries-hero,
  .ep-materials-hero
) .ep-breadcrumbs{
  margin-bottom:24px!important;
  color:var(--ep-text-secondary-on-dark,#b9c3cb)!important;
}

main.ep-page :is(
  .ep-material-hero,
  .ep-post-hero,
  .ep-hero,
  .ep-portfolio-hero,
  .ep-blogpost-hero,
  .ep-blog-hero,
  .ep-calc-hero,
  .ep-industries-hero,
  .ep-materials-hero
) .ep-breadcrumbs a{color:#77e8e6!important}

main.ep-page :is(
  .ep-material-hero,
  .ep-post-hero,
  .ep-hero,
  .ep-portfolio-hero,
  .ep-blogpost-hero,
  .ep-blog-hero,
  .ep-calc-hero,
  .ep-industries-hero,
  .ep-materials-hero
) a:not(.ep-btn):not(.btn):not(:is(
  [class*="card"] *,
  .ep-inline-card *,
  .ep-note:not(.ep-note--action) *,
  .ep-faq__item *,
  .ep-price *,
  .ep-step *,
  .ep-proof *
)){color:#77e8e6!important}

main.ep-page :is(
  .ep-material-hero,
  .ep-post-hero,
  .ep-hero,
  .ep-portfolio-hero,
  .ep-blogpost-hero,
  .ep-blog-hero,
  .ep-calc-hero,
  .ep-industries-hero,
  .ep-materials-hero
) :is(.ep-badge,.ep-chip,.ep-pill,.ep-tag,.ep-meta):not(:is(
  [class*="card"] *,
  .ep-inline-card *,
  .ep-note:not(.ep-note--action) *,
  .ep-faq__item *,
  .ep-price *,
  .ep-step *,
  .ep-proof *
)){
  border-color:rgba(255,255,255,.22)!important;
  border-radius:3px!important;
  background:transparent!important;
  color:var(--ep-text-on-dark,#f4f7f8)!important;
}

main.ep-page :is(
  .ep-material-hero,
  .ep-post-hero,
  .ep-hero,
  .ep-portfolio-hero,
  .ep-blogpost-hero,
  .ep-blog-hero,
  .ep-calc-hero,
  .ep-industries-hero,
  .ep-materials-hero
) :is(.ep-btn--ghost,.btn--ghost):not(:is(
  [class*="card"] *,
  .ep-inline-card *,
  .ep-note:not(.ep-note--action) *,
  .ep-faq__item *,
  .ep-price *,
  .ep-step *,
  .ep-proof *
)){
  border-color:rgba(255,255,255,.52)!important;
  background:transparent!important;
  color:var(--ep-page-white)!important;
}

main.ep-page :is(
  .ep-material-hero,
  .ep-post-hero,
  .ep-hero,
  .ep-portfolio-hero,
  .ep-blogpost-hero,
  .ep-blog-hero,
  .ep-calc-hero,
  .ep-industries-hero,
  .ep-materials-hero
) :is(.ep-btn--ghost,.btn--ghost):hover:not(:is(
  [class*="card"] *,
  .ep-inline-card *,
  .ep-note:not(.ep-note--action) *,
  .ep-faq__item *,
  .ep-price *,
  .ep-step *,
  .ep-proof *
)){
  border-color:var(--ep-page-cyan)!important;
  background:rgba(25,211,209,.1)!important;
  color:var(--ep-page-cyan)!important;
}

main.ep-page :is(
  .ep-hero-sidecard,
  .ep-hero-panel,
  .ep-industries-sidecard,
  .ep-calc-hero__visual,
  .ep-calc-visual-card,
  .ep-contacts-sidebox,
  .ep-hero__media-card,
  .ep-detali-scenario,
  .ep-detali-case,
  .ep-post-hero__card,
  .mo-sidecard,
  .mp-sidecard,
  .mf-sidecard,
  .ep-turnkey-photo,
  .ep-turnkey-overlay,
  .ep-portfolio-stage__item
){
  border:1px solid var(--ep-page-line-dark)!important;
  border-radius:var(--ep-page-radius)!important;
  background:var(--ep-page-graphite)!important;
  box-shadow:none!important;
  color:var(--ep-page-white)!important;
}

main.ep-page :is(
  .ep-hero-sidecard,
  .ep-hero-panel,
  .ep-industries-sidecard,
  .ep-calc-hero__visual,
  .ep-calc-visual-card,
  .ep-contacts-sidebox,
  .ep-hero__media-card,
  .ep-detali-scenario,
  .ep-detali-case,
  .ep-post-hero__card,
  .mo-sidecard,
  .mp-sidecard,
  .mf-sidecard,
  .ep-turnkey-photo,
  .ep-turnkey-overlay,
  .ep-portfolio-stage__item
) :is(h2,h3,h4,strong,b,[class$="__title"],[class$="__value"]){color:var(--ep-page-white)!important}

main.ep-page :is(
  .ep-hero-sidecard,
  .ep-hero-panel,
  .ep-industries-sidecard,
  .ep-calc-hero__visual,
  .ep-calc-visual-card,
  .ep-contacts-sidebox,
  .ep-hero__media-card,
  .ep-detali-scenario,
  .ep-detali-case,
  .ep-post-hero__card,
  .mo-sidecard,
  .mp-sidecard,
  .mf-sidecard,
  .ep-turnkey-photo,
  .ep-turnkey-overlay,
  .ep-portfolio-stage__item
) :is(p,li,small,span,[class$="__text"],[class$="__note"],[class$="__meta"],[class$="__eyebrow"]){color:var(--ep-dark-copy-color,var(--ep-text-secondary-on-dark,#b9c3cb))!important}

main.ep-page :is(
  .ep-hero-sidecard,
  .ep-hero-panel,
  .ep-industries-sidecard,
  .ep-calc-hero__visual,
  .ep-calc-visual-card,
  .ep-contacts-sidebox,
  .ep-hero__media-card,
  .ep-detali-scenario,
  .ep-detali-case,
  .ep-post-hero__card,
  .mo-sidecard,
  .mp-sidecard,
  .mf-sidecard,
  .ep-turnkey-photo,
  .ep-turnkey-overlay,
  .ep-portfolio-stage__item
) .ep-checkgrid__item{
  border-color:var(--ep-page-line-dark)!important;
  background:rgba(255,255,255,.045)!important;
  color:var(--ep-text-on-dark,#f4f7f8)!important;
}

main.ep-page :is(
  .ep-material-hero,
  .ep-post-hero,
  .ep-portfolio-hero,
  .ep-blogpost-hero,
  .ep-blog-hero,
  .ep-calc-hero,
  .ep-industries-hero,
  .ep-materials-hero
) :is(img,picture){border-radius:6px!important}

/* Technical data inside a hero reads as one instrument strip, not bubbles. */
main.ep-page :is(
  .ep-material-hero,
  .ep-post-hero,
  .ep-blogpost-hero,
  .ep-calc-hero,
  .ep-industries-hero,
  .ep-materials-hero
) .ep-kpi{
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:0!important;
  margin-top:24px!important;
  border-top:1px solid var(--ep-page-line-dark);
}

main.ep-page :is(
  .ep-material-hero,
  .ep-post-hero,
  .ep-blogpost-hero,
  .ep-calc-hero,
  .ep-industries-hero,
  .ep-materials-hero
) .ep-kpi__item{
  min-height:0!important;
  padding:16px 18px 8px 0!important;
  border:0!important;
  border-right:1px solid var(--ep-page-line-dark)!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  color:var(--ep-page-white)!important;
}

main.ep-page :is(
  .ep-material-hero,
  .ep-post-hero,
  .ep-blogpost-hero,
  .ep-calc-hero,
  .ep-industries-hero,
  .ep-materials-hero
) .ep-kpi__item:last-child{border-right:0!important}

main.ep-page :is(
  .ep-material-hero,
  .ep-post-hero,
  .ep-blogpost-hero,
  .ep-calc-hero,
  .ep-industries-hero,
  .ep-materials-hero
) .ep-kpi__item :is(.ep-kpi__label,.ep-kpi__title,.ep-kpi__value,.ep-kpi__hint){
  color:var(--ep-text-on-dark,#f4f7f8)!important;
}

/* Component roles confirmed during acceptance: light listings and dark media. */
main.ep-page.ep-blog-lp .ep-blog-controls .ep-chip{
  border-color:var(--ep-page-line);
  background:var(--ep-page-soft);
  color:var(--ep-page-cyan-dark)!important;
}

main.ep-page.ep-blog-lp .ep-blog-controls .ep-chip:is(.is-active,:hover,:focus-visible,:active){
  border-color:var(--ep-page-cyan-dark);
  background:rgba(25,211,209,.16);
  color:var(--ep-page-deep)!important;
}

main.ep-page.ep-blog-lp .ep-blog-controls .ep-chip:disabled{
  border-color:var(--ep-page-line);
  background:var(--ep-page-soft);
  color:var(--ep-page-muted)!important;
  opacity:.65;
  cursor:not-allowed;
}

main.ep-page .ep-case-card__cta{color:var(--ep-page-cyan-dark)!important}

main.ep-page--article a.btn{color:var(--ep-page-deep)!important;text-shadow:none!important}
main.ep-page--article a.btn:is(:hover,:focus-visible,:active){color:#000!important}

main.ep-page .ep-portfolio-stage__badge{
  display:grid;
  grid-template-columns:minmax(max-content,1fr) max-content;
  align-items:center;
  border-radius:6px;
  white-space:normal;
}
main.ep-page .ep-portfolio-stage__badge span{min-width:max-content;overflow-wrap:normal;word-break:normal;white-space:nowrap}
main.ep-page.ep-portfolio-v3 .ep-portfolio-stage__badge span:first-child{--ep-dark-copy-color:var(--ep-page-white)}
main.ep-page.ep-portfolio-v3 .ep-portfolio-stage__badge span:last-child{--ep-dark-copy-color:#77e8e6;white-space:nowrap}

/* A deliberate dark commercial callout separates long light content. */
main.ep-page .ep-callout,
main.ep-page .ep-note--action,
main.ep-page .ep-calc-final{
  border:1px solid var(--ep-page-line-dark)!important;
  border-radius:var(--ep-page-radius)!important;
  background:var(--ep-page-graphite)!important;
  box-shadow:none!important;
  color:var(--ep-page-white)!important;
}

main.ep-page :is(.ep-callout,.ep-note--action,.ep-calc-final) :is(h2,h3,h4,strong,b,[class$="__title"]):not(:is(.ep-callout [class*="card"] *,.ep-note--action [class*="card"] *,.ep-calc-final [class*="card"] *)){color:var(--ep-page-white)!important}
main.ep-page :is(.ep-callout,.ep-note--action,.ep-calc-final) :is(p,li,small,span,[class$="__text"],[class$="__note"]):not(:is(.ep-callout [class*="card"] *,.ep-note--action [class*="card"] *,.ep-calc-final [class*="card"] *)){color:var(--ep-text-secondary-on-dark,#b9c3cb)!important}
main.ep-page :is(.ep-callout,.ep-note--action,.ep-calc-final) :is(.ep-btn--ghost,.btn--ghost){color:var(--ep-page-white)!important;border-color:rgba(255,255,255,.5)!important}

/* Article copy stays readable while its hero and related work remain wide. */
main.ep-page--article .ep-prose > :is(p,ul,ol,blockquote,h2,h3,h4,.ep-note,.ep-toc,.ep-table-wrap,.ep-faq){
  max-width:70ch;
  margin-left:auto;
  margin-right:auto;
}

/* Calculator: dark brand hero followed by a clean light working surface. */
main.ep-page.ep-calc-page .ep-calc-shell{
  margin-top:48px!important;
  padding:clamp(20px,4vw,44px)!important;
  border:1px solid var(--ep-page-line)!important;
  border-radius:10px!important;
  background:var(--ep-page-white)!important;
  box-shadow:var(--ep-page-shadow)!important;
  color:var(--ep-page-deep)!important;
}

main.ep-page.ep-calc-page .ep-calc-shell :is(h2,h3,strong,b){color:var(--ep-page-deep)!important}
main.ep-page.ep-calc-page .ep-calc-shell :is(p,.ep-calc-shell__lead){color:var(--ep-page-copy)!important}

main.ep-page.ep-calc-page .calc-mode{
  border:1px solid var(--ep-page-line)!important;
  border-radius:4px!important;
  background:var(--ep-page-mist)!important;
}

main.ep-page.ep-calc-page .calc-mode__btn{
  border-radius:3px!important;
  color:var(--ep-page-steel)!important;
}

main.ep-page.ep-calc-page .calc-mode__btn.is-active{
  background:var(--ep-page-cyan)!important;
  color:var(--ep-page-deep)!important;
  box-shadow:none!important;
}

main.ep-page.ep-calc-page .calc-card{
  padding:clamp(18px,3vw,32px)!important;
  border:1px solid var(--ep-page-line)!important;
  border-radius:var(--ep-page-radius)!important;
  background:var(--ep-page-mist)!important;
  box-shadow:none!important;
  color:var(--ep-page-deep)!important;
}

main.ep-page.ep-calc-page .calc-card :is(label,.calc-help,.calc-note,.calc-total .label,.calc-total .sub,.calc-breakdown .k,.sla-plate__meta,.sla-plate__sel span){
  color:var(--ep-page-copy)!important;
}

main.ep-page.ep-calc-page .calc-card :is(.calc-check span,.calc-total .value,.calc-breakdown .v,strong){color:var(--ep-page-deep)!important}
main.ep-page.ep-calc-page .calc-check,
main.ep-page.ep-calc-page :is(.calc-total,.calc-breakdown){
  border-color:var(--ep-page-line)!important;
  border-radius:6px!important;
  background:var(--ep-page-white)!important;
  color:var(--ep-page-deep)!important;
}

main.ep-page.ep-calc-page .calc-field-error{
  margin-top:.4rem;
  color:var(--ep-error,#a83232)!important;
  font-size:.8125rem!important;
  font-weight:600!important;
  line-height:1.45!important;
}

main.ep-page.ep-calc-page .sla-plate__dimensions{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
  margin:.85rem 0;
}
main.ep-page.ep-calc-page .sla-plate__dimensions label{display:grid;gap:.4rem}
main.ep-page.ep-calc-page .sla-plate:focus-visible{outline:3px solid var(--ep-page-cyan-dark);outline-offset:4px}

@media (max-width:560px){
  main.ep-page.ep-calc-page .sla-plate__dimensions{grid-template-columns:1fr}
}

/* Legal documents: explicit light document canvas. */
main.ep-page.legal{
  padding-top:clamp(112px,9vw,144px)!important;
  background:var(--ep-page-mist)!important;
  color:var(--ep-page-deep)!important;
}

main.ep-page.legal .legal__container{
  max-width:900px!important;
  margin-inline:auto!important;
  padding:clamp(24px,5vw,56px)!important;
  border:1px solid var(--ep-page-line)!important;
  border-radius:var(--ep-page-radius)!important;
  background:var(--ep-page-white)!important;
  box-shadow:var(--ep-page-shadow)!important;
  color:var(--ep-page-deep)!important;
  min-width:0;
}

main.ep-page.legal .legal__container :is(p,li,dd,.legal__note){color:var(--ep-page-copy)!important}
main.ep-page.legal .legal__container :is(h1,h2,h3,strong,b){color:var(--ep-page-deep)!important}
main.ep-page.legal .legal__container :is(h1,h2,h3,a){
  max-width:100%;
  white-space:normal;
  text-wrap:wrap;
  overflow-wrap:normal;
  word-break:normal;
  hyphens:auto;
}

main.ep-page.legal .legal__container h1{font-size:clamp(2.25rem,4vw,2.75rem)!important;line-height:1.08!important}
main.ep-page.legal .legal__container :is(p,li){max-width:72ch;line-height:1.72}
main.ep-page.legal .legal__note{padding:0!important;border:0!important;background:transparent!important}
main.ep-page.legal .legal__box{
  border:1px solid var(--ep-page-line)!important;
  border-radius:4px!important;
  background:var(--ep-page-mist)!important;
  color:var(--ep-page-deep)!important;
}

/* Brief is the single commercial route and follows the same light/dark grammar. */
.ep-brief-main{
  min-height:70vh;
  padding:clamp(108px,9vw,136px) 0 clamp(64px,8vw,104px)!important;
  background:var(--ep-page-mist)!important;
  color:var(--ep-page-deep)!important;
}

.ep-brief-shell{width:min(1040px,calc(100% - 48px))!important}
.ep-brief-crumbs{
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  color:var(--ep-page-muted)!important;
}
.ep-brief-crumbs a{color:var(--ep-page-cyan-dark)!important}
.ep-brief-intro h1{max-width:17ch!important;color:var(--ep-page-deep)!important;font-size:var(--ep-type-h1,clamp(2.625rem,4vw,3.5rem))!important;line-height:1.04!important;font-weight:700!important}
.ep-brief-intro p{color:var(--ep-page-copy)!important}
.ep-brief-intro>p:last-child{max-width:62ch;font-size:var(--ep-type-lead,1.0625rem)!important;line-height:1.6!important}
.ep-brief-intro .ep-brief-kicker{color:var(--ep-page-cyan-dark)!important}

.ep-brief-scenarios,
.ep-brief-panel,
.ep-brief-contact{
  padding:clamp(20px,3vw,32px)!important;
  border:1px solid var(--ep-page-line)!important;
  border-radius:var(--ep-page-radius)!important;
  background:var(--ep-page-white)!important;
  box-shadow:none!important;
  color:var(--ep-page-deep)!important;
}

.ep-brief-scenario-grid span{
  border:1px solid var(--ep-page-line)!important;
  border-radius:4px!important;
  background:var(--ep-page-mist)!important;
  color:var(--ep-page-deep)!important;
}

.ep-brief-scenario-grid input:checked + span{
  border-color:var(--ep-page-cyan)!important;
  background:rgba(25,211,209,.12)!important;
}

.ep-brief-scenario-grid small,
.ep-brief-field small,
.ep-brief-panel p,
.ep-brief-contact p{color:var(--ep-page-muted)!important}

.ep-brief-main :is(h1,h2,h3,h4){font-family:var(--ep-page-display)!important;font-weight:700!important}
.ep-brief-main h2{font-size:var(--ep-type-h2,clamp(1.75rem,2.8vw,2.5rem))!important;line-height:1.08!important;letter-spacing:-.035em!important}
.ep-brief-main h3{font-size:var(--ep-type-h3,clamp(1.25rem,1.6vw,1.5rem))!important;line-height:1.2!important;letter-spacing:-.02em!important}
.ep-brief-main h4{font-size:var(--ep-type-h4,1.0625rem)!important;line-height:1.3!important}
.ep-brief-main :is(label,legend,.ep-brief-field>span){font-size:var(--ep-type-label,.875rem)!important;font-weight:600!important;line-height:1.4!important}
.ep-brief-main :is(small,.ep-brief-crumbs,.ep-brief-kicker,.ep-brief-consent){font-size:var(--ep-type-caption,.75rem)!important;font-weight:400!important;line-height:1.45!important}
.ep-brief-main .ep-brief-kicker{font-weight:600!important;letter-spacing:.1em!important}
.ep-brief-main :is(input,textarea,select){font-size:1rem!important;line-height:1.4!important}

.ep-brief-field :is(input,select,textarea){
  border:1px solid rgba(74,89,105,.42)!important;
  border-radius:4px!important;
  background:var(--ep-page-white)!important;
  color:var(--ep-page-deep)!important;
}

.ep-brief-main :is(input,textarea,select):hover:not(:disabled){border-color:var(--ep-page-steel)!important}
.ep-brief-main :is(input,textarea,select):focus{border-color:var(--ep-page-cyan-dark)!important;box-shadow:0 0 0 3px rgba(25,211,209,.18)!important}
.ep-brief-main :is(input,textarea,select):disabled{background:#e7ecef!important;color:#596875!important;border-color:rgba(17,26,35,.18)!important;cursor:not-allowed;opacity:1}
.ep-brief-scenario-grid label:hover span{border-color:var(--ep-page-cyan-dark)!important;background:#eef6f6!important}
.ep-brief-scenario-grid label:active span{background:rgba(8,123,122,.12)!important}
.ep-brief-scenario-grid input:disabled + span{background:#e7ecef!important;color:#596875!important;cursor:not-allowed;opacity:.72}

.ep-brief-submit{
  padding:clamp(22px,4vw,42px)!important;
  border:1px solid var(--ep-page-line-dark)!important;
  border-radius:var(--ep-page-radius)!important;
  background:var(--ep-page-graphite)!important;
  box-shadow:none!important;
  color:var(--ep-page-white)!important;
}

.ep-brief-submit :is(p,span,strong,b){color:rgba(255,255,255,.76)!important}
.ep-brief-submit a{color:#77e8e6!important}

@media (max-width:900px){
  main.ep-page .ep-service-hero-photo{display:none}
  main.ep-page:is(.ep-page--material,.ep-page--industry) .ep-material-hero__side:has(> .ep-material-hero__icon[aria-hidden="true"]){display:none}
  main.ep-page :is(
    .ep-material-hero,
    .ep-post-hero,
    .ep-portfolio-hero,
    .ep-blogpost-hero,
    .ep-blog-hero,
    .ep-calc-hero,
    .ep-industries-hero,
    .ep-materials-hero
  ) > :is([class$="__inner"],[class$="__grid"]),
  main.ep-page .ep-hero:has(.ep-hero__media){
    grid-template-columns:1fr!important;
    gap:28px!important;
  }

  main.ep-page :is(.ep-material-hero__side,.ep-blogpost-hero__side,.ep-hero__media,.ep-industries-side,.ep-calc-hero__visual){
    max-width:none!important;
    width:100%!important;
  }
}

@media (max-width:768px){
  main.ep-page{
    padding-top:96px!important;
    padding-bottom:64px!important;
  }

  main.ep-page :is(.ep-page__container,.container),
  main.ep-page > .ep-hero,
  .ep-brief-shell{
    width:calc(100% - 28px)!important;
  }

  main.ep-page.legal .legal__container h1{font-size:2.125rem!important;line-height:1.1!important}

  main.ep-page :is(
    .ep-material-hero,
    .ep-post-hero,
    .ep-hero,
    .ep-portfolio-hero,
    .ep-blogpost-hero,
    .ep-blog-hero,
    .ep-calc-hero,
    .ep-industries-hero,
    .ep-materials-hero
  ){
    margin-bottom:40px!important;
    padding:24px 20px!important;
    border-radius:6px!important;
  }

  main.ep-page :is(
    .ep-material-hero,
    .ep-post-hero,
    .ep-hero,
    .ep-portfolio-hero,
    .ep-blogpost-hero,
    .ep-blog-hero,
    .ep-calc-hero,
    .ep-industries-hero,
    .ep-materials-hero
  )::after{top:18px!important;right:16px!important;width:150px!important;opacity:.3!important}

  main.ep-page :is(
    .ep-material-hero,
    .ep-post-hero,
    .ep-hero,
    .ep-portfolio-hero,
    .ep-blogpost-hero,
    .ep-blog-hero,
    .ep-calc-hero,
    .ep-industries-hero,
    .ep-materials-hero
  ) h1{
    max-width:none!important;
    font-size:clamp(2.125rem,8.5vw,2.5rem)!important;
  }

  main.ep-page .ep-actions,
  main.ep-page .ep-btn-row,
  main.ep-page .ep-hero__actions,
  main.ep-page .ep-calc-hero__actions{
    display:grid!important;
    grid-template-columns:1fr!important;
  }

  main.ep-page :is(.ep-actions,.ep-btn-row,.ep-hero__actions,.ep-calc-hero__actions) :is(.ep-btn,.btn){
    width:100%!important;
    min-width:0!important;
    justify-content:center!important;
    white-space:normal!important;
    overflow-wrap:anywhere;
    text-align:center;
  }

  main.ep-page--article .ep-blogpost-hero__side{display:none!important}

  main.ep-page .ep-section{margin-top:56px!important}
  main.ep-page :is(th,td){min-width:9rem}
  main.ep-page .ep-table:not(.ep-table-scroll .ep-table){
    display:block;
    max-width:100%;
    overflow-x:auto;
    -webkit-overflow-scrolling:touch;
    overscroll-behavior-inline:contain;
  }
  main.ep-page.ep-calc-page .ep-calc-shell{padding:18px!important}
  .ep-brief-main{padding-top:96px!important}
}

@media (prefers-reduced-motion:reduce){
  main.ep-page *,
  .ep-brief-main *{transition-duration:.01ms!important;animation-duration:.01ms!important}
}

/* Focused niche offer; supplementary context follows the first action. */
main.ep-page .ep-focused-hero{--ep-hero-columns:minmax(0,1fr);--ep-hero-title-width:26ch}
main.ep-page .ep-hero-details{display:grid;gap:20px;margin:0 0 40px}
main.ep-page .ep-hero-details .ep-actions{margin:0}
