/* =========================================================
EPIC LIFE BLOG ENGINE — V1.0.0
Epic Life Journal
Design: mineral / editorial / premium / performance-first
========================================================= */

/* =========================================================
01 — BASE / RESET
========================================================= */

:root{
  --ep-ink:#172025;
  --ep-deep:#0c1416;
  --ep-deep-2:#132326;
  --ep-deep-3:#1a2d31;
  --ep-blue:#7697a0;
  --ep-blue-2:#a8c1c7;
  --ep-ice:#dce8ea;
  --ep-ice-2:#edf2f1;
  --ep-paper:#f7f6f3;
  --ep-paper-2:#efefeb;
  --ep-white:#ffffff;
  --ep-muted:#617075;
  --ep-line:rgba(39,63,70,.13);
  --ep-dark-line:rgba(255,255,255,.11);
  --ep-shadow:0 24px 70px rgba(19,38,43,.10);
}

html{
  scroll-behavior:smooth;
}

body.epb-page-body,
body.epa-body{
  margin:0 !important;
  padding:0 !important;
  overflow-x:hidden;
  background:var(--ep-paper);
  color:var(--ep-ink);
  font-family:"DM Sans",Arial,sans-serif !important;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}

body.epb-page-body *,
body.epb-page-body *::before,
body.epb-page-body *::after,
body.epa-body *,
body.epa-body *::before,
body.epa-body *::after{
  box-sizing:border-box;
}

body.epb-page-body img,
body.epa-body img{
  max-width:100%;
}

body.epb-page-body a,
body.epa-body a{
  -webkit-tap-highlight-color:transparent;
}

body.epb-page-body h1,
body.epb-page-body h2,
body.epb-page-body h3,
body.epb-page-body p,
body.epa-body h1,
body.epa-body h2,
body.epa-body h3,
body.epa-body p{
  font-family:"DM Sans",Arial,sans-serif !important;
}

body.epb-page-body .site-header,
body.epb-page-body .site-footer,
body.epb-page-body header.wp-block-template-part,
body.epb-page-body footer.wp-block-template-part,
body.epa-body .site-header,
body.epa-body .site-footer,
body.epa-body header.wp-block-template-part,
body.epa-body footer.wp-block-template-part{
  display:none !important;
}

.epb-page-main,
.epa{
  width:100%;
  margin:0;
  padding:0;
}

.epb-shell,
.epa-shell,
.epx-footer__shell{
  width:min(calc(100% - clamp(40px,7vw,112px)),1380px);
  margin:0 auto;
}

.epb-instagram-icon,
.epa-instagram-icon,
.epx-header__wa,
.epx-footer__wa{
  width:19px;
  height:19px;
  flex:0 0 19px;
}

.epb-kicker,
.epa-kicker{
  margin:0 0 18px;
  color:#67818a !important;
  font-size:12px !important;
  line-height:1.1;
  font-weight:750 !important;
  letter-spacing:.16em;
  text-transform:uppercase;
}

.epb-kicker--light,
.epa-kicker--light{
  color:#a9c2c8 !important;
}

/* =========================================================
02 — HEADER GLOBAL
========================================================= */

.epx-header{
  position:fixed;
  z-index:99999;
  top:12px;
  left:50%;
  width:min(calc(100% - 32px),1380px);
  transform:translateX(-50%);
  font-family:"DM Sans",Arial,sans-serif;
}

body.admin-bar .epx-header{
  top:44px;
}

.epx-header__shell{
  position:relative;
  min-height:68px;
  display:grid;
  grid-template-columns:180px minmax(0,1fr) auto;
  gap:18px;
  align-items:center;
  padding:6px 7px 6px 18px;
  border:1px solid rgba(255,255,255,.11);
  border-radius:20px;
  background:rgba(11,20,22,.30);
  -webkit-backdrop-filter:blur(14px);
  backdrop-filter:blur(14px);
  transition:background-color .3s ease,border-color .3s ease,box-shadow .3s ease;
}

.epx-header.is-scrolled .epx-header__shell{
  border-color:rgba(255,255,255,.76);
  background:rgba(247,247,244,.94);
  box-shadow:0 16px 45px rgba(13,28,32,.10);
}

.epx-logo{
  display:flex;
  align-items:center;
  width:fit-content;
}

.epx-logo img{
  display:block;
  width:150px;
  height:auto;
  filter:brightness(0) invert(1);
  transition:filter .3s ease;
}

.epx-header.is-scrolled .epx-logo img{
  filter:none;
}

.epx-nav{
  min-width:0;
}

.epx-nav__list{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:clamp(17px,1.65vw,27px);
  margin:0;
  padding:0;
  list-style:none;
}

.epx-nav__item{
  position:relative;
  margin:0;
  padding:0;
}

.epx-nav__link{
  position:relative;
  min-height:46px;
  display:inline-flex;
  align-items:center;
  gap:6px;
  color:#fff !important;
  -webkit-text-fill-color:#fff !important;
  text-decoration:none !important;
  white-space:nowrap;
  font-size:14px !important;
  line-height:1;
  font-weight:650 !important;
  transition:color .3s ease;
}

.epx-header.is-scrolled .epx-nav__link{
  color:var(--ep-ink) !important;
  -webkit-text-fill-color:var(--ep-ink) !important;
}

.epx-nav__link::after{
  content:"";
  position:absolute;
  left:0;
  bottom:5px;
  width:100%;
  height:1px;
  background:currentColor;
  transform:scaleX(0);
  transform-origin:right;
  transition:transform .35s cubic-bezier(.16,1,.3,1);
}

.epx-nav__link:hover::after,
.epx-nav__link.is-current::after,
.epx-nav__item.is-open > .epx-nav__link::after{
  transform:scaleX(1);
  transform-origin:left;
}

.epx-nav__chevron{
  width:7px;
  height:7px;
  border-right:1.4px solid currentColor;
  border-bottom:1.4px solid currentColor;
  transform:rotate(45deg) translateY(-2px);
  transition:transform .25s ease;
}

.epx-nav__item.is-open .epx-nav__chevron{
  transform:rotate(225deg) translate(-1px,-1px);
}

.epx-header__cta{
  min-height:54px;
  display:flex;
  align-items:center;
  gap:10px;
  padding:7px 8px 7px 17px;
  border-radius:999px;
  background:#f5f6f4;
  color:#172025 !important;
  -webkit-text-fill-color:#172025 !important;
  text-decoration:none !important;
  white-space:nowrap;
  font-size:13px !important;
  font-weight:750 !important;
}

.epx-header__cta b{
  width:40px;
  height:40px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:#1b2e33;
  color:#fff !important;
  -webkit-text-fill-color:#fff !important;
  font-size:16px;
  font-weight:500;
  transition:transform .3s ease;
}

.epx-header__cta:hover b{
  transform:translateX(3px);
}

.epx-toggle{
  display:none;
}

/* Mega menu */
.epx-mega{
  position:absolute;
  z-index:20;
  top:calc(100% - 2px);
  left:50%;
  width:min(940px,82vw);
  display:grid;
  grid-template-columns:.72fr 1.28fr;
  gap:30px;
  padding:25px;
  border:1px solid rgba(255,255,255,.72);
  border-radius:25px;
  background:rgba(247,248,246,.985);
  box-shadow:0 30px 80px rgba(6,15,18,.18);
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transform:translateX(-50%) translateY(9px);
  transition:opacity .22s ease,transform .3s ease,visibility .22s ease;
}

.epx-mega__bridge{
  position:absolute;
  left:0;
  right:0;
  top:-20px;
  height:26px;
}

.epx-nav__item.is-open .epx-mega{
  opacity:1;
  visibility:visible;
  pointer-events:auto;
  transform:translateX(-50%) translateY(0);
}

.epx-mega__intro{
  padding:8px 10px;
}

.epx-mega__eyebrow{
  color:#70878e;
  font-size:12px;
  font-weight:750;
  letter-spacing:.15em;
}

.epx-mega__intro h2{
  margin:15px 0 13px;
  color:var(--ep-ink) !important;
  -webkit-text-fill-color:var(--ep-ink) !important;
  font-size:29px !important;
  line-height:1;
  font-weight:520 !important;
  letter-spacing:-.045em;
}

.epx-mega__intro p{
  margin:0 0 20px;
  color:#627176 !important;
  font-size:14px !important;
  line-height:1.5;
}

.epx-mega__intro > a{
  display:inline-flex;
  gap:8px;
  color:var(--ep-ink) !important;
  -webkit-text-fill-color:var(--ep-ink) !important;
  text-decoration:none !important;
  font-size:13px;
  font-weight:750;
}

.epx-mega__grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px;
}

.epx-mega__grid > a{
  min-height:75px;
  display:grid;
  grid-template-columns:34px minmax(0,1fr) auto;
  gap:10px;
  align-items:center;
  padding:11px 13px;
  border:1px solid rgba(50,72,79,.08);
  border-radius:14px;
  background:#fff;
  color:var(--ep-ink) !important;
  -webkit-text-fill-color:var(--ep-ink) !important;
  text-decoration:none !important;
  transition:transform .25s ease,background-color .25s ease;
}

.epx-mega__grid > a > span{
  width:32px;
  height:32px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:#edf2f2;
  color:#607d86 !important;
  -webkit-text-fill-color:#607d86 !important;
  font-size:12px;
  font-weight:750;
}

.epx-mega__grid strong{
  font-size:13px;
  line-height:1.25;
  font-weight:700;
}

.epx-mega__grid b{
  color:#718990;
  font-size:15px;
  font-weight:500;
}

@media(hover:hover){
  .epx-mega__grid > a:hover{
    transform:translateY(-2px);
    background:#f1f5f5;
  }
}

/* =========================================================
03 — BLOG HOME HERO
========================================================= */

.epb-home{
  width:100%;
  background:var(--ep-paper);
  color:var(--ep-ink);
  font-family:"DM Sans",Arial,sans-serif;
}

.epb-journal-hero{
  position:relative;
  min-height:770px;
  padding:122px 0 0;
  overflow:hidden;
  isolation:isolate;
  background:
    radial-gradient(circle at 80% 28%,rgba(118,151,160,.18),transparent 29%),
    linear-gradient(135deg,#0c1416 0%,#142428 58%,#0b1315 100%);
  color:#fff;
}

.epb-journal-hero__grid{
  position:absolute;
  inset:0;
  z-index:-3;
  opacity:.035;
  background-image:
    linear-gradient(rgba(255,255,255,.7) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.7) 1px,transparent 1px);
  background-size:82px 82px;
}

.epb-journal-hero__word{
  position:absolute;
  z-index:-2;
  left:-35px;
  bottom:55px;
  color:transparent;
  -webkit-text-stroke:1px rgba(255,255,255,.045);
  font-size:clamp(150px,19vw,295px);
  line-height:.7;
  font-weight:800;
  letter-spacing:-.075em;
  pointer-events:none;
}

.epb-journal-hero__orbit{
  position:absolute;
  z-index:-2;
  border:1px solid rgba(174,204,211,.07);
  border-radius:50%;
}

.epb-journal-hero__orbit--one{
  width:650px;
  height:650px;
  top:-370px;
  left:-310px;
  box-shadow:0 0 0 90px rgba(180,205,211,.012);
}

.epb-journal-hero__orbit--two{
  width:440px;
  height:440px;
  right:-235px;
  bottom:95px;
}

.epb-journal-hero__shell{
  position:relative;
  min-height:648px;
  display:flex;
  flex-direction:column;
}

.epb-journal-hero__mast{
  min-height:52px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  border-top:1px solid rgba(255,255,255,.11);
  border-bottom:1px solid rgba(255,255,255,.11);
  color:rgba(255,255,255,.68) !important;
}

.epb-journal-hero__mast > div,
.epb-journal-hero__mast > a{
  display:flex;
  align-items:center;
  gap:12px;
}

.epb-journal-hero__mast strong{
  color:#fff;
  font-size:12px;
  font-weight:800;
  letter-spacing:.15em;
}

.epb-journal-hero__mast small{
  font-size:12px;
  font-weight:650;
  letter-spacing:.12em;
}

.epb-journal-hero__mast > div > span{
  width:36px;
  height:1px;
  background:#8faeb5;
}

.epb-journal-hero__mast > a{
  color:#fff !important;
  -webkit-text-fill-color:#fff !important;
  text-decoration:none !important;
  font-size:13px;
  font-weight:650;
}

.epb-journal-hero__main{
  flex:1;
  display:grid;
  grid-template-columns:1.25fr .55fr;
  gap:clamp(70px,10vw,155px);
  align-items:center;
  padding:55px 0 58px;
}

.epb-journal-hero__copy{
  position:relative;
  z-index:2;
}

.epb-journal-hero__copy h1{
  max-width:950px;
  margin:0 0 26px;
  color:#fff !important;
  -webkit-text-fill-color:#fff !important;
  font-size:clamp(66px,6.8vw,104px) !important;
  line-height:.87;
  font-weight:500 !important;
  letter-spacing:-.074em;
}

.epb-journal-hero__copy h1 em{
  color:#adc4c9 !important;
  -webkit-text-fill-color:#adc4c9 !important;
  font-style:normal;
}

.epb-journal-hero__copy > p:last-child{
  max-width:690px;
  margin:0;
  color:rgba(255,255,255,.64) !important;
  -webkit-text-fill-color:rgba(255,255,255,.64) !important;
  font-size:18px !important;
  line-height:1.55;
}

.epb-journal-index{
  align-self:stretch;
  min-height:360px;
  display:flex;
  flex-direction:column;
  padding:23px;
  border:1px solid rgba(255,255,255,.12);
  border-radius:27px;
  background:rgba(255,255,255,.035);
  -webkit-backdrop-filter:blur(9px);
  backdrop-filter:blur(9px);
}

.epb-journal-index__top{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  margin-bottom:auto;
}

.epb-journal-index__top span{
  color:#91adb4;
  font-size:12px;
  font-weight:800;
  letter-spacing:.16em;
}

.epb-journal-index__top b{
  color:rgba(255,255,255,.14);
  font-size:58px;
  line-height:.8;
  font-weight:500;
  letter-spacing:-.06em;
}

.epb-journal-index__row{
  min-height:54px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:15px;
  border-top:1px solid rgba(255,255,255,.09);
}

.epb-journal-index__row span{
  color:rgba(255,255,255,.55);
  font-size:13px;
}

.epb-journal-index__row strong{
  color:#fff;
  font-size:15px;
  font-weight:650;
}

.epb-journal-index > p{
  margin:18px 0 0;
  color:#a7bec4 !important;
  font-size:12px !important;
  line-height:1.45;
  letter-spacing:.06em;
  text-transform:uppercase;
}

/* filters */
.epb-filter-rail{
  min-height:74px;
  display:grid;
  grid-template-columns:44px minmax(0,1fr) 44px;
  gap:8px;
  align-items:center;
  border-top:1px solid rgba(255,255,255,.1);
}

.epb-filters{
  display:flex;
  align-items:center;
  gap:7px;
  overflow-x:auto;
  scrollbar-width:none;
  overscroll-behavior-inline:contain;
}

.epb-filters::-webkit-scrollbar{
  display:none;
}

.epb-filters a{
  flex:0 0 auto;
  min-height:39px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:0 17px;
  border:1px solid rgba(255,255,255,.12);
  border-radius:999px;
  color:rgba(255,255,255,.66) !important;
  -webkit-text-fill-color:rgba(255,255,255,.66) !important;
  text-decoration:none !important;
  font-size:13px;
  font-weight:650;
  transition:background .25s ease,color .25s ease,border-color .25s ease;
}

.epb-filters a.is-active,
.epb-filters a:hover{
  border-color:#eaf0ee;
  background:#eef2ef;
  color:#172025 !important;
  -webkit-text-fill-color:#172025 !important;
}

.epb-filter-arrow{
  width:40px;
  height:40px;
  display:grid;
  place-items:center;
  border:1px solid rgba(255,255,255,.13);
  border-radius:50%;
  background:transparent;
  color:#fff;
  font:inherit;
  cursor:pointer;
  transition:opacity .2s ease,background-color .2s ease;
}

.epb-filter-arrow:disabled{
  opacity:.25;
  cursor:default;
}

.epb-filter-arrow:not(:disabled):hover{
  background:rgba(255,255,255,.08);
}

/* =========================================================
04 — BLOG HOME BODY
========================================================= */

.epb-journal-body{
  padding:90px 0 100px;
}

.epb-filter-context{
  margin-bottom:60px;
  padding:20px;
  border:1px solid var(--ep-line);
  border-radius:24px;
  background:#fff;
}

.epb-filter-context__eyebrow{
  margin-bottom:14px;
  color:#70878e;
  font-size:12px;
  font-weight:750;
  letter-spacing:.15em;
}

.epb-filter-context__main{
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  gap:18px;
  align-items:center;
}

.epb-filter-context figure{
  width:70px;
  height:70px;
  margin:0;
  overflow:hidden;
  border-radius:18px;
  background:#dce5e5;
}

.epb-filter-context figure img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center top;
}

.epb-filter-context__mark{
  width:70px;
  height:70px;
  display:grid;
  place-items:center;
  border-radius:18px;
  background:#15282c;
  color:#fff;
  font-size:28px;
  font-weight:600;
}

.epb-filter-context__main > div span{
  color:#718990;
  font-size:12px;
  font-weight:700;
  letter-spacing:.11em;
  text-transform:uppercase;
}

.epb-filter-context h2{
  margin:4px 0 4px;
  color:var(--ep-ink) !important;
  font-size:29px !important;
  line-height:1;
  font-weight:520 !important;
  letter-spacing:-.04em;
}

.epb-filter-context p{
  margin:0;
  color:#617075 !important;
  font-size:14px !important;
}

.epb-filter-context__main > a{
  min-height:44px;
  display:flex;
  align-items:center;
  gap:10px;
  padding:0 15px;
  border-radius:999px;
  background:#edf2f1;
  color:#172025 !important;
  text-decoration:none !important;
  font-size:13px;
  font-weight:700;
}

.epb-section-line{
  min-height:62px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:30px;
  margin-bottom:25px;
  border-top:1px solid var(--ep-line);
  border-bottom:1px solid var(--ep-line);
}

.epb-section-line > div{
  display:flex;
  align-items:center;
  gap:14px;
}

.epb-section-line span{
  width:35px;
  height:35px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:#e8eeee;
  color:#617e86;
  font-size:12px;
  font-weight:750;
}

.epb-section-line strong{
  color:#617b83;
  font-size:12px;
  letter-spacing:.14em;
}

.epb-section-line p{
  margin:0;
  color:#718086 !important;
  font-size:13px !important;
}

/* =========================================================
05 — FEATURE ARTICLE
========================================================= */

.epb-cover-story{
  margin-bottom:105px;
}

.epb-feature{
  display:grid;
  grid-template-columns:minmax(0,1.1fr) minmax(390px,.72fr);
  min-height:610px;
  overflow:hidden;
  border-radius:30px;
  background:#14262a;
  box-shadow:var(--ep-shadow);
}

.epb-feature__media{
  position:relative;
  min-height:610px;
  overflow:hidden;
  background:#22363a;
}

.epb-feature__media img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  transition:transform .8s cubic-bezier(.16,1,.3,1),filter .5s ease;
}

.epb-feature__media::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,transparent 55%,rgba(8,17,20,.25));
  pointer-events:none;
}

.epb-feature:hover .epb-feature__media img{
  transform:scale(1.035);
}

.epb-feature__image-label{
  position:absolute;
  z-index:2;
  left:22px;
  top:22px;
  min-height:36px;
  display:inline-flex;
  align-items:center;
  padding:0 13px;
  border-radius:999px;
  background:rgba(14,25,28,.62);
  -webkit-backdrop-filter:blur(8px);
  backdrop-filter:blur(8px);
  color:#fff;
  font-size:12px;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.epb-feature__body{
  position:relative;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  padding:clamp(34px,4vw,56px);
  color:#fff;
}

.epb-feature__body::before{
  content:"01";
  position:absolute;
  top:30px;
  right:32px;
  color:rgba(255,255,255,.08);
  font-size:94px;
  line-height:.8;
  font-weight:600;
  letter-spacing:-.07em;
}

.epb-card__meta{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  margin-bottom:13px;
  color:#718890;
  font-size:12px;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.epb-feature .epb-card__meta{
  color:#94afb6;
}

.epb-feature__title{
  position:relative;
  z-index:2;
  margin:0 0 17px;
  font-size:clamp(39px,3.7vw,58px) !important;
  line-height:.98;
  font-weight:500 !important;
  letter-spacing:-.055em;
}

.epb-feature__title a{
  color:#fff !important;
  -webkit-text-fill-color:#fff !important;
  text-decoration:none !important;
}

.epb-feature__excerpt{
  max-width:560px;
  margin:0 0 25px;
  color:rgba(255,255,255,.62) !important;
  -webkit-text-fill-color:rgba(255,255,255,.62) !important;
  font-size:16px !important;
  line-height:1.55;
}

.epb-card__signals{
  display:flex;
  gap:14px;
  margin-bottom:18px;
  color:#758a90;
  font-size:12px;
}

.epb-feature .epb-card__signals{
  color:#8fa7ad;
}

.epb-card__footer{
  min-height:47px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  padding-top:16px;
  border-top:1px solid rgba(39,63,70,.11);
  color:#728188;
  font-size:12px;
}

.epb-feature .epb-card__footer{
  border-top-color:rgba(255,255,255,.10);
  color:#829aa0;
}

.epb-feature__read,
.epb-card__read{
  display:flex;
  align-items:center;
  gap:9px;
  color:#172025 !important;
  text-decoration:none !important;
  font-size:13px;
  font-weight:750;
}

.epb-feature__read{
  color:#fff !important;
  -webkit-text-fill-color:#fff !important;
}

.epb-feature__read b,
.epb-card__read b{
  font-size:17px;
  font-weight:500;
  transition:transform .25s ease;
}

.epb-feature__read:hover b,
.epb-card__read:hover b{
  transform:translate(3px,-3px);
}

.epb-media-fallback{
  width:100%;
  height:100%;
  min-height:300px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:5px;
  background:
    radial-gradient(circle at 70% 30%,rgba(151,187,195,.18),transparent 26%),
    linear-gradient(145deg,#15272b,#0d1719);
  color:#fff;
}

.epb-media-fallback b{
  font-size:36px;
  letter-spacing:-.04em;
}

.epb-media-fallback i{
  color:#9fb9bf;
  font-size:12px;
  font-style:normal;
  letter-spacing:.18em;
}

/* =========================================================
06 — EDITORIAL HEAD / PERSPECTIVES
========================================================= */

.epb-editorial-head{
  margin-bottom:42px;
}

.epb-editorial-head h2{
  max-width:800px;
  margin:0;
  color:#172025 !important;
  -webkit-text-fill-color:#172025 !important;
  font-size:clamp(48px,5vw,74px) !important;
  line-height:.95;
  font-weight:500 !important;
  letter-spacing:-.059em;
}

.epb-editorial-head h2 em{
  color:#7697a0 !important;
  -webkit-text-fill-color:#7697a0 !important;
  font-style:normal;
}

.epb-editorial-head--split{
  display:grid;
  grid-template-columns:1.08fr .55fr;
  gap:clamp(50px,8vw,120px);
  align-items:end;
}

.epb-editorial-head--split > p{
  max-width:480px;
  margin:0;
  color:#5e6e72 !important;
  font-size:17px !important;
  line-height:1.55;
}

.epb-perspectives{
  margin-bottom:110px;
}

.epb-perspectives__list{
  border-top:1px solid var(--ep-line);
}

.epb-perspective{
  min-height:96px;
  display:grid;
  grid-template-columns:52px minmax(0,1fr) 180px 42px;
  gap:18px;
  align-items:center;
  padding:8px 4px;
  border-bottom:1px solid var(--ep-line);
  color:#172025 !important;
  -webkit-text-fill-color:#172025 !important;
  text-decoration:none !important;
  transition:padding .3s ease,background-color .3s ease;
}

.epb-perspective > span{
  width:41px;
  height:41px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:#e7eded;
  color:#637f87 !important;
  -webkit-text-fill-color:#637f87 !important;
  font-size:12px;
  font-weight:750;
}

.epb-perspective strong{
  font-size:clamp(24px,2.3vw,34px);
  line-height:1;
  font-weight:520;
  letter-spacing:-.04em;
}

.epb-perspective small{
  color:#75868b !important;
  -webkit-text-fill-color:#75868b !important;
  font-size:13px;
  font-weight:600;
}

.epb-perspective i{
  width:40px;
  height:40px;
  display:grid;
  place-items:center;
  border:1px solid var(--ep-line);
  border-radius:50%;
  color:#637e86 !important;
  -webkit-text-fill-color:#637e86 !important;
  font-size:17px;
  font-style:normal;
  transition:transform .25s ease,background-color .25s ease;
}

@media(hover:hover){
  .epb-perspective:hover{
    padding-left:15px;
    padding-right:15px;
    background:#edf2f1;
  }

  .epb-perspective:hover i{
    transform:translate(3px,-3px);
    background:#fff;
  }
}

/* =========================================================
07 — LATEST GRID / CARDS
========================================================= */

.epb-latest{
  margin-bottom:105px;
}

.epb-grid{
  display:grid;
  grid-template-columns:repeat(12,minmax(0,1fr));
  gap:14px;
}

.epb-card{
  grid-column:span 4;
  min-width:0;
  overflow:hidden;
  border:1px solid rgba(39,63,70,.1);
  border-radius:24px;
  background:#fff;
  box-shadow:0 12px 38px rgba(31,50,55,.045);
  transition:transform .35s ease,box-shadow .35s ease;
}

.epb-grid > .epb-card:nth-of-type(1),
.epb-grid > .epb-card:nth-of-type(2){
  grid-column:span 6;
}

.epb-card__media{
  position:relative;
  height:275px;
  display:block;
  overflow:hidden;
  background:#dfe6e5;
}

.epb-grid > .epb-card:nth-of-type(1) .epb-card__media,
.epb-grid > .epb-card:nth-of-type(2) .epb-card__media{
  height:330px;
}

.epb-card__media img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  transform:scale(1.01);
  transition:transform .75s cubic-bezier(.16,1,.3,1),filter .45s ease;
}

.epb-card__body{
  min-height:330px;
  display:flex;
  flex-direction:column;
  padding:22px;
}

.epb-card__title{
  margin:0 0 12px;
  color:#172025 !important;
  font-size:clamp(25px,2vw,32px) !important;
  line-height:1.02;
  font-weight:520 !important;
  letter-spacing:-.042em;
}

.epb-card__title a{
  color:#172025 !important;
  -webkit-text-fill-color:#172025 !important;
  text-decoration:none !important;
}

.epb-card__excerpt{
  margin:0 0 20px;
  color:#627075 !important;
  font-size:14px !important;
  line-height:1.5;
}

.epb-card__body .epb-card__signals{
  margin-top:auto;
}

@media(hover:hover){
  .epb-card:hover{
    transform:translateY(-4px);
    box-shadow:0 20px 48px rgba(31,50,55,.08);
  }

  .epb-card:hover .epb-card__media img{
    transform:scale(1.055);
  }
}

.epb-inline-cta{
  grid-column:1 / -1;
  min-height:245px;
  display:grid;
  grid-template-columns:180px minmax(0,1fr) auto;
  gap:30px;
  align-items:center;
  padding:34px;
  border-radius:26px;
  background:
    radial-gradient(circle at 85% 0%,rgba(137,174,183,.18),transparent 28%),
    linear-gradient(135deg,#14272b,#0d1719);
  color:#fff;
}

.epb-inline-cta > span{
  color:#91adb4;
  font-size:12px;
  font-weight:800;
  letter-spacing:.15em;
}

.epb-inline-cta h3{
  max-width:680px;
  margin:0 0 10px;
  color:#fff !important;
  -webkit-text-fill-color:#fff !important;
  font-size:clamp(29px,3vw,43px) !important;
  line-height:1;
  font-weight:500 !important;
  letter-spacing:-.045em;
}

.epb-inline-cta p{
  max-width:620px;
  margin:0;
  color:rgba(255,255,255,.6) !important;
  font-size:15px !important;
  line-height:1.5;
}

.epb-inline-cta > a{
  min-height:56px;
  display:flex;
  align-items:center;
  gap:15px;
  padding:0 8px 0 19px;
  border-radius:999px;
  background:#f3f5f2;
  color:#172025 !important;
  -webkit-text-fill-color:#172025 !important;
  text-decoration:none !important;
  white-space:nowrap;
  font-size:13px;
  font-weight:750;
}

.epb-inline-cta > a b{
  width:41px;
  height:41px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:#1c3035;
  color:#fff !important;
  -webkit-text-fill-color:#fff !important;
}

.epb-pagination{
  min-height:80px;
  display:grid;
  grid-template-columns:1fr auto 1fr;
  gap:20px;
  align-items:center;
  margin-top:28px;
  border-top:1px solid var(--ep-line);
  border-bottom:1px solid var(--ep-line);
}

.epb-pagination a{
  color:#172025 !important;
  text-decoration:none !important;
  font-size:14px;
  font-weight:700;
}

.epb-pagination a:last-child{
  text-align:right;
}

.epb-pagination > span{
  color:#71858b;
  font-size:13px;
}

.epb-empty{
  min-height:330px;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:center;
  padding:35px;
  border:1px solid var(--ep-line);
  border-radius:26px;
  background:#edf2f1;
}

.epb-empty > span{
  margin-bottom:16px;
  color:#718990;
  font-size:12px;
  font-weight:750;
  letter-spacing:.15em;
}

.epb-empty h3{
  max-width:690px;
  margin:0 0 12px;
  font-size:clamp(35px,4vw,55px) !important;
  line-height:1;
  font-weight:500 !important;
  letter-spacing:-.05em;
}

.epb-empty p{
  max-width:570px;
  margin:0;
  color:#617075 !important;
  font-size:16px !important;
  line-height:1.5;
}

/* =========================================================
08 — VOICES
========================================================= */

.epb-voices{
  margin-bottom:105px;
  padding:80px 0 0;
  border-top:1px solid var(--ep-line);
}

.epb-voices__rail{
  display:grid;
  grid-template-columns:repeat(6,minmax(200px,1fr));
  gap:10px;
  overflow-x:auto;
  padding-bottom:8px;
  scrollbar-width:none;
}

.epb-voices__rail::-webkit-scrollbar{
  display:none;
}

.epb-voice{
  min-width:0;
  color:#172025 !important;
  text-decoration:none !important;
}

.epb-voice figure{
  position:relative;
  height:330px;
  margin:0 0 16px;
  overflow:hidden;
  border-radius:22px;
  background:#becaca;
}

.epb-voice figure img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center top;
  filter:saturate(.92) contrast(1.02);
  transition:transform .7s cubic-bezier(.16,1,.3,1),filter .4s ease;
}

.epb-voice figure span{
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,transparent 60%,rgba(10,19,21,.22));
}

.epb-voice small{
  display:block;
  min-height:34px;
  color:#718990 !important;
  font-size:12px;
  line-height:1.35;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.epb-voice h3{
  min-height:48px;
  margin:4px 0 12px;
  color:#172025 !important;
  font-size:21px !important;
  line-height:1.05;
  font-weight:550 !important;
  letter-spacing:-.035em;
}

.epb-voice > div > span{
  display:flex;
  align-items:center;
  gap:8px;
  color:#607b83;
  font-size:13px;
  font-weight:700;
}

.epb-voice > div > span b{
  transition:transform .25s ease;
}

@media(hover:hover){
  .epb-voice:hover figure img{
    transform:scale(1.05);
    filter:saturate(.97) contrast(1.02);
  }
  .epb-voice:hover > div > span b{
    transform:translate(3px,-3px);
  }
}

/* =========================================================
09 — INSTAGRAM / ENDNOTE
========================================================= */

.epb-instagram{
  min-height:310px;
  display:grid;
  grid-template-columns:120px minmax(0,1fr) auto;
  gap:35px;
  align-items:center;
  padding:42px;
  overflow:hidden;
  border-radius:29px;
  background:
    radial-gradient(circle at 90% 10%,rgba(148,184,192,.18),transparent 28%),
    linear-gradient(135deg,#17292d,#0d1719);
  color:#fff;
}

.epb-instagram__mark{
  width:104px;
  height:104px;
  display:grid;
  place-items:center;
  border:1px solid rgba(255,255,255,.13);
  border-radius:50%;
  color:#b0c6cb;
  font-size:42px;
  font-weight:600;
}

.epb-instagram > div:nth-child(2) > span{
  color:#91adb4;
  font-size:12px;
  font-weight:750;
  letter-spacing:.15em;
}

.epb-instagram h2{
  margin:10px 0 10px;
  color:#fff !important;
  -webkit-text-fill-color:#fff !important;
  font-size:clamp(37px,4vw,57px) !important;
  line-height:.96;
  font-weight:500 !important;
  letter-spacing:-.055em;
}

.epb-instagram h2 em{
  color:#adc4c9 !important;
  -webkit-text-fill-color:#adc4c9 !important;
  font-style:normal;
}

.epb-instagram p{
  margin:0;
  color:rgba(255,255,255,.6) !important;
  font-size:15px !important;
}

.epb-instagram > a{
  min-height:55px;
  display:flex;
  align-items:center;
  gap:10px;
  padding:0 18px;
  border:1px solid rgba(255,255,255,.13);
  border-radius:999px;
  background:rgba(255,255,255,.06);
  color:#fff !important;
  -webkit-text-fill-color:#fff !important;
  text-decoration:none !important;
  white-space:nowrap;
  font-size:13px;
  font-weight:700;
}

.epb-instagram > a b{
  font-size:17px;
}

.epb-endnote{
  min-height:76px;
  display:grid;
  grid-template-columns:220px 1fr;
  gap:30px;
  align-items:center;
  margin-top:50px;
  border-top:1px solid var(--ep-line);
  border-bottom:1px solid var(--ep-line);
}

.epb-endnote span{
  color:#6d858c;
  font-size:12px;
  font-weight:750;
  letter-spacing:.14em;
}

.epb-endnote p{
  margin:0;
  color:#758388 !important;
  font-size:13px !important;
  line-height:1.45;
}

/* =========================================================
10 — ARTICLE PROGRESS + HERO
========================================================= */

.epa-progress{
  position:fixed;
  z-index:100000;
  top:0;
  left:0;
  width:100%;
  height:3px;
  background:transparent;
  pointer-events:none;
}

body.admin-bar .epa-progress{
  top:32px;
}

.epa-progress span{
  display:block;
  width:0;
  height:100%;
  background:#9eb8be;
  transition:width .08s linear;
}

.epa-hero{
  position:relative;
  min-height:820px;
  padding:122px 0 72px;
  overflow:hidden;
  isolation:isolate;
  background:
    radial-gradient(circle at 78% 27%,rgba(117,155,165,.17),transparent 28%),
    linear-gradient(135deg,#0c1416,#15272a 58%,#0a1214);
  color:#fff;
}

.epa-hero__grid-bg{
  position:absolute;
  z-index:-3;
  inset:0;
  opacity:.03;
  background-image:
    linear-gradient(rgba(255,255,255,.7) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.7) 1px,transparent 1px);
  background-size:80px 80px;
}

.epa-hero__word{
  position:absolute;
  z-index:-2;
  left:-30px;
  bottom:-30px;
  color:transparent;
  -webkit-text-stroke:1px rgba(255,255,255,.035);
  font-size:clamp(180px,24vw,360px);
  line-height:.7;
  font-weight:800;
  letter-spacing:-.08em;
}

.epa-hero__orbit{
  position:absolute;
  z-index:-2;
  border:1px solid rgba(177,205,212,.07);
  border-radius:50%;
}

.epa-hero__orbit--one{
  width:650px;
  height:650px;
  left:-350px;
  top:-360px;
  box-shadow:0 0 0 90px rgba(177,205,212,.012);
}

.epa-hero__meta{
  min-height:54px;
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:10px;
  border-top:1px solid rgba(255,255,255,.1);
  border-bottom:1px solid rgba(255,255,255,.1);
  color:rgba(255,255,255,.56) !important;
  font-size:12px;
}

.epa-hero__meta a{
  color:#dfe9e9 !important;
  -webkit-text-fill-color:#dfe9e9 !important;
  text-decoration:none !important;
  font-weight:650;
}

.epa-back-blog{
  display:flex;
  gap:7px;
}

.epa-meta-dot{
  color:#73919a;
}

.epa-hero__layout{
  display:grid;
  grid-template-columns:minmax(0,1.05fr) minmax(420px,.72fr);
  gap:clamp(45px,7vw,105px);
  align-items:center;
  padding-top:50px;
}

.epa-hero__copy h1{
  max-width:850px;
  margin:0 0 22px;
  color:#fff !important;
  -webkit-text-fill-color:#fff !important;
  font-size:clamp(54px,5.8vw,88px) !important;
  line-height:.91;
  font-weight:500 !important;
  letter-spacing:-.067em;
}

.epa-hero__dek{
  max-width:690px;
  margin:0 0 28px;
  color:rgba(255,255,255,.64) !important;
  -webkit-text-fill-color:rgba(255,255,255,.64) !important;
  font-size:18px !important;
  line-height:1.55;
}

.epa-hero__byline{
  display:flex;
  align-items:center;
  gap:12px;
}

.epa-hero__byline img,
.epa-hero__byline-mark{
  width:52px;
  height:52px;
  flex:0 0 52px;
  border-radius:50%;
  object-fit:cover;
  object-position:center top;
  background:#d5dfdf;
}

.epa-hero__byline-mark{
  display:grid;
  place-items:center;
  color:#172025;
  font-size:21px;
  font-weight:650;
}

.epa-hero__byline > div{
  display:flex;
  flex-direction:column;
  gap:2px;
}

.epa-hero__byline span,
.epa-hero__byline small{
  color:#88a5ac;
  font-size:12px;
}

.epa-hero__byline strong{
  color:#fff;
  font-size:14px;
  font-weight:650;
}

.epa-hero__media{
  position:relative;
  height:590px;
  margin:0;
  overflow:hidden;
  border-radius:70px 27px 27px 27px;
  background:#23363a;
  box-shadow:0 28px 80px rgba(0,0,0,.16);
}

.epa-hero__media img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
}

.epa-hero__media::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,transparent 55%,rgba(6,13,15,.65));
}

.epa-hero__media figcaption{
  position:absolute;
  z-index:2;
  left:22px;
  right:22px;
  bottom:22px;
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:15px;
}

.epa-hero__media figcaption span{
  color:#a8c0c6;
  font-size:12px;
  font-weight:750;
  letter-spacing:.13em;
}

.epa-hero__media figcaption strong{
  max-width:52%;
  color:#fff;
  text-align:right;
  font-size:14px;
  font-weight:650;
}

.epa-hero__media-fallback{
  width:100%;
  height:100%;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:5px;
  background:
    radial-gradient(circle at 70% 25%,rgba(145,182,191,.2),transparent 28%),
    linear-gradient(145deg,#172a2e,#0b1517);
}

.epa-hero__media-fallback b{
  color:#fff;
  font-size:44px;
}

.epa-hero__media-fallback i{
  color:#9fb8be;
  font-size:12px;
  font-style:normal;
  letter-spacing:.18em;
}

/* =========================================================
11 — ARTICLE READING AREA
========================================================= */

.epa-reading-zone{
  padding:90px 0 105px;
  background:var(--ep-paper);
}

.epa-reading-grid{
  display:grid;
  grid-template-columns:minmax(0,790px) minmax(270px,330px);
  gap:clamp(55px,8vw,120px);
  align-items:start;
  justify-content:center;
}

.epa-article{
  min-width:0;
}

.epa-article__mast{
  min-height:48px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  margin-bottom:38px;
  border-top:1px solid var(--ep-line);
  border-bottom:1px solid var(--ep-line);
  color:#72868c;
  font-size:12px;
  font-weight:750;
  letter-spacing:.13em;
}

.epa-content{
  color:#2a3437;
  font-size:18px;
  line-height:1.78;
}

.epa-content > *:first-child{
  margin-top:0 !important;
}

.epa-content p{
  margin:0 0 1.45em !important;
  color:#394548 !important;
  font-size:18px !important;
  line-height:1.78 !important;
  font-weight:400 !important;
}

.epa-content > p:first-of-type{
  color:#172025 !important;
  font-size:21px !important;
  line-height:1.65 !important;
}

.epa-content h2{
  scroll-margin-top:120px;
  margin:2em 0 .65em !important;
  color:#172025 !important;
  -webkit-text-fill-color:#172025 !important;
  font-size:clamp(35px,4vw,48px) !important;
  line-height:1.02 !important;
  font-weight:520 !important;
  letter-spacing:-.05em !important;
}

.epa-content h3{
  scroll-margin-top:120px;
  margin:1.8em 0 .55em !important;
  color:#172025 !important;
  -webkit-text-fill-color:#172025 !important;
  font-size:clamp(27px,3vw,34px) !important;
  line-height:1.08 !important;
  font-weight:550 !important;
  letter-spacing:-.04em !important;
}

.epa-content h4{
  margin:1.6em 0 .5em !important;
  color:#172025 !important;
  font-size:22px !important;
  line-height:1.15;
}

.epa-content a{
  color:#416872 !important;
  text-decoration:underline;
  text-decoration-thickness:1px;
  text-underline-offset:3px;
}

.epa-content strong{
  color:#172025;
  font-weight:700;
}

.epa-content ul,
.epa-content ol{
  margin:0 0 1.6em !important;
  padding-left:1.35em !important;
  color:#394548;
  font-size:18px;
  line-height:1.7;
}

.epa-content li{
  margin-bottom:.5em;
  padding-left:.2em;
}

.epa-content blockquote{
  position:relative;
  margin:2.1em 0 !important;
  padding:28px 30px 28px 34px !important;
  border:0 !important;
  border-left:3px solid #7898a2 !important;
  border-radius:0 19px 19px 0;
  background:#e8eeee;
}

.epa-content blockquote p{
  margin:0 !important;
  color:#243437 !important;
  font-size:22px !important;
  line-height:1.45 !important;
  font-weight:500 !important;
  letter-spacing:-.02em;
}

.epa-content img{
  height:auto;
  border-radius:22px;
}

.epa-content figure{
  margin:2.2em 0 !important;
}

.epa-content figcaption{
  margin-top:9px;
  color:#738388;
  font-size:12px;
  line-height:1.45;
}

.epa-content table{
  width:100%;
  margin:2em 0;
  border-collapse:collapse;
  font-size:15px;
}

.epa-content th,
.epa-content td{
  padding:13px 12px;
  border-bottom:1px solid var(--ep-line);
  text-align:left;
}

.epa-content th{
  color:#172025;
  font-weight:700;
  background:#edf2f1;
}

.epa-content iframe,
.epa-content video{
  max-width:100%;
}

.epa-mid-cta{
  position:relative;
  margin:42px 0 !important;
  padding:32px !important;
  overflow:hidden;
  border-radius:24px;
  background:
    radial-gradient(circle at 90% 0%,rgba(141,178,187,.2),transparent 28%),
    linear-gradient(135deg,#15282c,#0d1719);
  color:#fff;
}

.epa-mid-cta > span{
  display:block;
  margin-bottom:12px;
  color:#91adb4;
  font-size:12px;
  font-weight:800;
  letter-spacing:.15em;
}

.epa-mid-cta h3{
  max-width:650px;
  margin:0 0 11px !important;
  color:#fff !important;
  -webkit-text-fill-color:#fff !important;
  font-size:32px !important;
  line-height:1.03 !important;
  font-weight:520 !important;
}

.epa-mid-cta p{
  max-width:620px;
  margin:0 0 20px !important;
  color:rgba(255,255,255,.62) !important;
  font-size:15px !important;
  line-height:1.5 !important;
}

.epa-mid-cta a{
  min-height:48px;
  width:fit-content;
  display:inline-flex;
  align-items:center;
  gap:12px;
  padding:0 17px;
  border-radius:999px;
  background:#f4f5f2;
  color:#172025 !important;
  text-decoration:none !important;
  font-size:13px;
  font-weight:750;
}

.epa-mid-cta a b{
  color:#172025;
}

.epa-disclaimer{
  display:grid;
  grid-template-columns:130px 1fr;
  gap:25px;
  margin-top:55px;
  padding:22px 0;
  border-top:1px solid var(--ep-line);
  border-bottom:1px solid var(--ep-line);
}

.epa-disclaimer strong{
  color:#617d85;
  font-size:12px;
  letter-spacing:.13em;
  text-transform:uppercase;
}

.epa-disclaimer p{
  margin:0 !important;
  color:#718086 !important;
  font-size:13px !important;
  line-height:1.5;
}

/* =========================================================
12 — READER TOOLS
========================================================= */

.epa-tools__sticky{
  position:sticky;
  top:115px;
  display:flex;
  flex-direction:column;
  gap:11px;
}

body.admin-bar .epa-tools__sticky{
  top:145px;
}

.epa-tools__toc,
.epa-tools__rating,
.epa-tools__share,
.epa-tools__stats,
.epa-tools__cta{
  border:1px solid var(--ep-line);
  border-radius:20px;
  background:#fff;
}

.epa-tools__toc{
  overflow:hidden;
}

.epa-tools__toc summary{
  min-height:70px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:15px;
  padding:0 18px;
  list-style:none;
  cursor:pointer;
}

.epa-tools__toc summary::-webkit-details-marker{
  display:none;
}

.epa-tools__toc summary span{
  display:flex;
  flex-direction:column;
  gap:2px;
}

.epa-tools__toc summary small,
.epa-tools__rating > small,
.epa-tools__share > small{
  color:#718990;
  font-size:12px;
  font-weight:750;
  letter-spacing:.12em;
}

.epa-tools__toc summary strong,
.epa-tools__rating > strong,
.epa-tools__share > strong{
  color:#172025;
  font-size:15px;
  font-weight:650;
}

.epa-tools__toc summary b{
  width:32px;
  height:32px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:#edf2f1;
  color:#607c84;
  font-size:18px;
  font-weight:500;
  transition:transform .25s ease;
}

.epa-tools__toc[open] summary b{
  transform:rotate(45deg);
}

.epa-toc{
  display:flex;
  flex-direction:column;
  gap:0;
  padding:0 18px 16px;
}

.epa-toc a{
  position:relative;
  padding:9px 0 9px 14px;
  border-left:1px solid #d8e1e1;
  color:#69797e !important;
  text-decoration:none !important;
  font-size:13px;
  line-height:1.35;
  transition:color .2s ease,border-color .2s ease;
}

.epa-toc a.is-subheading{
  padding-left:25px;
  font-size:12px;
}

.epa-toc a.is-active{
  border-left-color:#5f818a;
  color:#172025 !important;
  font-weight:700;
}

.epa-toc__empty{
  color:#75858a;
  font-size:13px;
}

.epa-tools__rating,
.epa-tools__share{
  padding:18px;
}

.epa-tools__rating > strong,
.epa-tools__share > strong{
  display:block;
  margin-top:3px;
}

.epa-rating__stars{
  display:flex;
  gap:2px;
  margin:13px 0 8px;
}

.epa-rating__stars button{
  width:30px;
  height:30px;
  padding:0;
  border:0;
  background:transparent;
  color:#ced7d7;
  font:inherit;
  font-size:22px;
  cursor:pointer;
}

.epa-rating__stars button.is-preview,
.epa-rating__stars button.is-selected{
  color:#65848c;
}

.epa-rating__stars button:disabled{
  cursor:default;
}

#epa-rating-summary,
.epa-rating__message{
  display:block;
  color:#77868b;
  font-size:12px;
  line-height:1.4;
}

.epa-rating__message{
  min-height:17px;
  margin-top:4px;
  color:#56747c;
}

.epa-tools__share > div{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  margin-top:13px;
}

.epa-tools__share a,
.epa-tools__share button{
  min-height:36px;
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:0 10px;
  border:1px solid var(--ep-line);
  border-radius:999px;
  background:#f7f7f4;
  color:#172025 !important;
  font:inherit;
  text-decoration:none !important;
  font-size:12px;
  font-weight:650;
  cursor:pointer;
}

.epa-instagram-icon{
  width:15px;
  height:15px;
}

.epa-tools__stats{
  min-height:52px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  padding:0 16px;
  color:#6f8187;
  font-size:12px;
}

.epa-tools__cta{
  padding:20px;
  background:
    radial-gradient(circle at 90% 0%,rgba(141,178,187,.17),transparent 30%),
    linear-gradient(145deg,#17292d,#0e181a);
  color:#fff;
}

.epa-tools__cta > span{
  color:#91adb4;
  font-size:12px;
  font-weight:750;
  letter-spacing:.14em;
}

.epa-tools__cta h2{
  margin:12px 0 10px;
  color:#fff !important;
  -webkit-text-fill-color:#fff !important;
  font-size:27px !important;
  line-height:1.02;
  font-weight:520 !important;
  letter-spacing:-.04em;
}

.epa-tools__cta p{
  margin:0 0 17px;
  color:rgba(255,255,255,.6) !important;
  font-size:13px !important;
  line-height:1.5;
}

.epa-tools__cta a{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  min-height:46px;
  padding:0 14px;
  border-radius:999px;
  background:#f4f5f2;
  color:#172025 !important;
  -webkit-text-fill-color:#172025 !important;
  text-decoration:none !important;
  font-size:12px;
  font-weight:750;
}

/* =========================================================
13 — EXPERT
========================================================= */

.epa-expert{
  padding:18px 0 95px;
  background:var(--ep-paper);
}

.epa-expert__card{
  min-height:540px;
  display:grid;
  grid-template-columns:minmax(330px,.72fr) 1.28fr;
  overflow:hidden;
  border-radius:30px;
  background:#dce8e9;
}

.epa-expert__visual{
  position:relative;
  min-height:540px;
  overflow:hidden;
  background:#bdcbcc;
}

.epa-expert__visual figure{
  width:100%;
  height:100%;
  margin:0;
}

.epa-expert__visual img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  object-position:center top;
}

.epa-expert__visual::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,transparent 55%,rgba(10,20,22,.25));
}

.epa-expert__fallback{
  width:100%;
  height:100%;
  display:grid;
  place-items:center;
  background:linear-gradient(145deg,#172a2e,#0c1618);
  color:#adc4c9;
  font-size:120px;
  font-weight:600;
}

.epa-expert__vertical{
  position:absolute;
  z-index:2;
  left:18px;
  bottom:18px;
  color:#fff;
  font-size:12px;
  font-weight:800;
  letter-spacing:.15em;
}

.epa-expert__content{
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:clamp(35px,6vw,80px);
}

.epa-expert__topline{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  margin-bottom:28px;
  color:#68828a;
  font-size:12px;
  font-weight:750;
  letter-spacing:.13em;
}

.epa-expert__content h2{
  margin:0 0 9px;
  color:#172025 !important;
  font-size:clamp(43px,5vw,69px) !important;
  line-height:.94;
  font-weight:500 !important;
  letter-spacing:-.06em;
}

.epa-expert__role{
  margin:0 0 18px;
  color:#5f7d85 !important;
  font-size:14px !important;
  font-weight:750 !important;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.epa-expert__bio{
  max-width:650px;
  margin:0 0 25px;
  color:#56686d !important;
  font-size:16px !important;
  line-height:1.55;
}

.epa-expert__actions{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}

.epa-expert__actions a{
  min-height:49px;
  display:inline-flex;
  align-items:center;
  gap:11px;
  padding:0 16px;
  border:1px solid rgba(39,63,70,.13);
  border-radius:999px;
  color:#172025 !important;
  text-decoration:none !important;
  font-size:13px;
  font-weight:700;
}

.epa-expert__actions a:last-child{
  border-color:#17292d;
  background:#17292d;
  color:#fff !important;
  -webkit-text-fill-color:#fff !important;
}

.epa-expert__more{
  margin-top:34px;
  padding-top:22px;
  border-top:1px solid rgba(39,63,70,.13);
}

.epa-expert__more > span{
  display:block;
  margin-bottom:12px;
  color:#6b838a;
  font-size:12px;
  font-weight:750;
  letter-spacing:.13em;
}

.epa-expert__more > div{
  display:flex;
  flex-direction:column;
}

.epa-expert__more a{
  min-height:48px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:15px;
  border-top:1px solid rgba(39,63,70,.09);
  color:#172025 !important;
  text-decoration:none !important;
  font-size:14px;
  font-weight:600;
}

/* =========================================================
14 — RELATED / FINAL ARTICLE
========================================================= */

.epa-related{
  padding:95px 0;
  background:linear-gradient(180deg,#dce8ea,#edf2f1);
}

.epa-related__head{
  margin-bottom:40px;
}

.epa-related__head h2{
  max-width:820px;
  margin:0;
  color:#172025 !important;
  font-size:clamp(46px,5vw,70px) !important;
  line-height:.95;
  font-weight:500 !important;
  letter-spacing:-.058em;
}

.epa-related__head h2 em{
  color:#7697a0 !important;
  font-style:normal;
}

.epa-related__grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:12px;
}

.epa-related__grid .epb-card{
  grid-column:auto;
}

.epa-related__grid .epb-card__media{
  height:260px;
}

.epa-final{
  padding:17px;
  background:#edf2f1;
}

.epa-final__card{
  min-height:450px;
  display:grid;
  grid-template-columns:1fr auto;
  gap:60px;
  align-items:end;
  padding:clamp(38px,6vw,82px);
  overflow:hidden;
  border-radius:30px;
  background:
    radial-gradient(circle at 90% 0%,rgba(137,176,185,.18),transparent 30%),
    linear-gradient(135deg,#14272b,#0c1517);
  color:#fff;
}

.epa-final__card h2{
  max-width:830px;
  margin:0 0 17px;
  color:#fff !important;
  -webkit-text-fill-color:#fff !important;
  font-size:clamp(48px,5.2vw,78px) !important;
  line-height:.94;
  font-weight:500 !important;
  letter-spacing:-.061em;
}

.epa-final__card h2 em{
  color:#adc4c9 !important;
  -webkit-text-fill-color:#adc4c9 !important;
  font-style:normal;
}

.epa-final__card p:not(.epa-kicker){
  max-width:600px;
  margin:0;
  color:rgba(255,255,255,.62) !important;
  font-size:16px !important;
  line-height:1.55;
}

.epa-final__card > a{
  min-height:58px;
  display:flex;
  align-items:center;
  gap:15px;
  padding:0 9px 0 19px;
  border-radius:999px;
  background:#f4f5f2;
  color:#172025 !important;
  -webkit-text-fill-color:#172025 !important;
  text-decoration:none !important;
  white-space:nowrap;
  font-size:13px;
  font-weight:750;
}

.epa-final__card > a span{
  width:41px;
  height:41px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:#1b2f34;
  color:#fff;
}

/* =========================================================
15 — FOOTER
========================================================= */

.epx-footer{
  position:relative;
  padding:82px 0 24px;
  overflow:hidden;
  background:#0a1214;
  color:#fff;
  font-family:"DM Sans",Arial,sans-serif;
}

.epx-footer__word{
  position:absolute;
  right:-35px;
  bottom:-62px;
  color:transparent;
  -webkit-text-stroke:1px rgba(255,255,255,.038);
  font-size:clamp(170px,25vw,390px);
  line-height:.7;
  font-weight:800;
  letter-spacing:-.08em;
  pointer-events:none;
}

.epx-footer__top{
  display:grid;
  grid-template-columns:1.1fr .64fr;
  gap:clamp(70px,10vw,155px);
  align-items:end;
}

.epx-footer__logo img{
  width:166px;
  height:auto;
  filter:brightness(0) invert(1);
}

.epx-footer__eyebrow{
  margin:25px 0 13px !important;
  color:#78969e !important;
  font-size:12px !important;
  font-weight:800 !important;
  letter-spacing:.16em;
}

.epx-footer__intro h2{
  max-width:760px;
  margin:0 0 18px;
  color:#fff !important;
  -webkit-text-fill-color:#fff !important;
  font-size:clamp(45px,4.6vw,68px) !important;
  line-height:.94;
  font-weight:500 !important;
  letter-spacing:-.058em;
}

.epx-footer__intro h2 em{
  color:#abc3c9 !important;
  -webkit-text-fill-color:#abc3c9 !important;
  font-style:normal;
}

.epx-footer__description{
  max-width:600px;
  margin:0 !important;
  color:rgba(255,255,255,.56) !important;
  font-size:16px !important;
  line-height:1.55;
}

.epx-footer__cta-card{
  padding:27px;
  border:1px solid rgba(255,255,255,.09);
  border-radius:24px;
  background:rgba(255,255,255,.025);
}

.epx-footer__cta-card > span{
  color:#819fa7;
  font-size:12px;
  font-weight:800;
  letter-spacing:.14em;
}

.epx-footer__cta-card h3{
  margin:15px 0 10px;
  color:#fff !important;
  -webkit-text-fill-color:#fff !important;
  font-size:31px !important;
  line-height:1;
  font-weight:520 !important;
  letter-spacing:-.04em;
}

.epx-footer__cta-card p{
  margin:0 0 20px !important;
  color:rgba(255,255,255,.55) !important;
  font-size:14px !important;
  line-height:1.5;
}

.epx-footer__cta-card > a{
  min-height:55px;
  display:flex;
  align-items:center;
  gap:10px;
  padding:0 8px 0 17px;
  border-radius:999px;
  background:#f4f5f2;
  color:#172025 !important;
  -webkit-text-fill-color:#172025 !important;
  text-decoration:none !important;
  font-size:13px;
  font-weight:750;
}

.epx-footer__cta-card > a b{
  width:39px;
  height:39px;
  display:grid;
  place-items:center;
  margin-left:auto;
  border-radius:50%;
  background:#1c3035;
  color:#fff !important;
  -webkit-text-fill-color:#fff !important;
}

.epx-footer__divider{
  height:1px;
  margin:55px 0 45px;
  background:rgba(255,255,255,.09);
}

.epx-footer__columns{
  display:grid;
  grid-template-columns:.65fr 1fr .8fr .85fr;
  gap:clamp(30px,5vw,75px);
}

.epx-footer__columns > div{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
}

.epx-footer__heading{
  margin:0 0 18px !important;
  color:#829da5 !important;
  font-size:12px !important;
  font-weight:800 !important;
  letter-spacing:.14em;
  text-transform:uppercase;
}

.epx-footer__columns a{
  margin-bottom:10px;
  color:rgba(255,255,255,.68) !important;
  -webkit-text-fill-color:rgba(255,255,255,.68) !important;
  text-decoration:none !important;
  font-size:13px;
  line-height:1.4;
  transition:color .2s ease;
}

.epx-footer__columns a:hover{
  color:#fff !important;
  -webkit-text-fill-color:#fff !important;
}

.epx-footer__team{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:8px 18px;
  margin-top:45px;
  padding:22px 0;
  border-top:1px solid rgba(255,255,255,.08);
  border-bottom:1px solid rgba(255,255,255,.08);
}

.epx-footer__team > span{
  margin-right:10px;
  color:#78969e;
  font-size:12px;
  font-weight:800;
  letter-spacing:.15em;
}

.epx-footer__team a{
  color:rgba(255,255,255,.63) !important;
  text-decoration:none !important;
  font-size:12px;
}

.epx-footer__bottom{
  min-height:82px;
  display:grid;
  grid-template-columns:1fr auto auto;
  gap:35px;
  align-items:center;
  color:rgba(255,255,255,.43);
  font-size:12px;
}

.epx-footer__bottom > div:first-child{
  display:flex;
  flex-direction:column;
  gap:4px;
}

.epx-footer__bottom strong{
  color:rgba(255,255,255,.72);
  font-size:12px;
}

.epx-footer__bottom > div:nth-child(2){
  display:flex;
  gap:18px;
}

.epx-footer__bottom a{
  color:rgba(255,255,255,.5) !important;
  text-decoration:none !important;
  font-size:12px;
}

/* =========================================================
16 — LEAD MODAL
========================================================= */

body.epb-modal-open{
  overflow:hidden !important;
}

.epb-lead-modal{
  position:fixed;
  z-index:100500;
  inset:0;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:24px;
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transition:opacity .25s ease,visibility .25s ease;
}

.epb-lead-modal.is-open{
  opacity:1;
  visibility:visible;
  pointer-events:auto;
}

.epb-lead-modal__backdrop{
  position:absolute;
  inset:0;
  background:rgba(6,13,15,.72);
  -webkit-backdrop-filter:blur(8px);
  backdrop-filter:blur(8px);
}

.epb-lead-modal__dialog{
  position:relative;
  width:min(100%,650px);
  max-height:min(780px,calc(100vh - 38px));
  overflow:auto;
  padding:31px;
  border:1px solid rgba(255,255,255,.75);
  border-radius:27px;
  background:#f7f6f3;
  box-shadow:0 35px 110px rgba(0,0,0,.24);
  transform:translateY(12px) scale(.985);
  transition:transform .3s cubic-bezier(.16,1,.3,1);
}

.epb-lead-modal.is-open .epb-lead-modal__dialog{
  transform:none;
}

.epb-lead-modal__close{
  position:absolute;
  top:14px;
  right:14px;
  width:39px;
  height:39px;
  display:grid;
  place-items:center;
  padding:0;
  border:1px solid var(--ep-line);
  border-radius:50%;
  background:#fff;
  color:#172025;
  font:inherit;
  font-size:22px;
  cursor:pointer;
}

.epb-lead-modal__topline{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  padding-right:50px;
}

.epb-lead-modal__topline p{
  margin:0 !important;
  color:#67818a !important;
  font-size:12px !important;
  font-weight:800 !important;
  letter-spacing:.15em;
}

.epb-lead-modal__topline span{
  color:#849498;
  font-size:12px;
}

.epb-lead-modal__dialog h2{
  max-width:520px;
  margin:18px 0 10px;
  color:#172025 !important;
  font-size:clamp(37px,5vw,54px) !important;
  line-height:.98;
  font-weight:500 !important;
  letter-spacing:-.055em;
}

.epb-lead-modal__subtitle{
  max-width:520px;
  margin:0 0 25px !important;
  color:#617075 !important;
  font-size:15px !important;
  line-height:1.5;
}

.epb-lead-form{
  display:flex;
  flex-direction:column;
  gap:15px;
}

.epb-lead-row{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
}

.epb-lead-field{
  position:relative;
  display:flex;
  flex-direction:column;
  gap:7px;
}

.epb-lead-field > span{
  color:#43565b;
  font-size:12px;
  font-weight:700;
}

.epb-lead-field > span b{
  color:#67818a;
}

.epb-lead-field input,
.epb-lead-field textarea{
  width:100%;
  min-height:51px;
  padding:12px 14px;
  border:1px solid rgba(39,63,70,.15) !important;
  border-radius:14px !important;
  outline:none;
  background:#fff !important;
  color:#172025 !important;
  -webkit-text-fill-color:#172025 !important;
  font:inherit !important;
  font-size:14px !important;
  box-shadow:none !important;
  transition:border-color .2s ease,box-shadow .2s ease;
}

.epb-lead-field textarea{
  min-height:105px;
  resize:vertical;
  padding-bottom:30px;
}

.epb-lead-field input:focus,
.epb-lead-field textarea:focus{
  border-color:#7898a2 !important;
  box-shadow:0 0 0 3px rgba(120,152,162,.10) !important;
}

.epb-lead-field input.is-error{
  border-color:#9d5b5b !important;
}

.epb-field-error{
  min-height:0;
  color:#8f5454;
  font-size:12px;
}

.epb-char-count{
  position:absolute;
  right:11px;
  bottom:8px;
  color:#8a999c;
  font-size:12px;
}

.epb-lead-helper{
  margin:0 !important;
  color:#718086 !important;
  font-size:12px !important;
  line-height:1.45;
}

.epb-lead-submit{
  min-height:56px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  padding:0 8px 0 18px;
  border:0;
  border-radius:999px;
  background:#172b30;
  color:#fff;
  font:inherit;
  font-size:13px;
  font-weight:750;
  cursor:pointer;
}

.epb-lead-submit > span:last-child{
  width:41px;
  height:41px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:rgba(255,255,255,.11);
}

.epb-lead-submit:disabled{
  opacity:.68;
  cursor:wait;
}

.epb-lead-privacy{
  margin:0 !important;
  color:#879498 !important;
  font-size:12px !important;
  line-height:1.45;
}

.epb-lead-privacy a{
  color:#526f77 !important;
}

/* =========================================================
17 — REVEAL
========================================================= */

.epb-animations-ready .epb-reveal{
  opacity:0;
  transform:translateY(20px);
  transition:opacity .7s ease,transform .8s cubic-bezier(.16,1,.3,1);
}

.epb-animations-ready .epb-reveal.is-visible{
  opacity:1;
  transform:none;
}

/* =========================================================
18 — TABLET
========================================================= */

@media(max-width:1120px){
  .epx-header__shell{
    grid-template-columns:145px 1fr auto;
  }

  .epx-logo img{
    width:132px;
  }

  .epx-nav__list{
    gap:14px;
  }

  .epx-nav__link{
    font-size:12px !important;
  }

  .epx-header__cta > span{
    display:none;
  }

  .epx-header__cta{
    width:54px;
    padding:0;
    justify-content:center;
  }

  .epx-header__cta .epx-header__wa{
    display:none;
  }

  .epx-header__cta b{
    width:42px;
    height:42px;
  }

  .epb-journal-hero__main{
    grid-template-columns:1fr .46fr;
    gap:55px;
  }

  .epb-voices__rail{
    grid-template-columns:repeat(6,220px);
  }

  .epa-reading-grid{
    grid-template-columns:minmax(0,720px) 285px;
    gap:48px;
  }
}

/* =========================================================
19 — MOBILE NAV / GLOBAL
========================================================= */

@media(max-width:980px){
  body.admin-bar .epx-header{
    top:58px;
  }

  .epx-header{
    top:8px;
    width:calc(100% - 18px);
  }

  .epx-header__shell{
    min-height:62px;
    grid-template-columns:1fr auto;
    gap:10px;
    padding:6px 7px 6px 14px;
    border-radius:17px;
  }

  .epx-logo img{
    width:130px;
  }

  .epx-header.is-scrolled .epx-logo img,
  .epx-header:has(.epx-nav.is-open) .epx-logo img{
    filter:none;
  }

  .epx-header:has(.epx-nav.is-open) .epx-header__shell{
    background:rgba(247,247,244,.98);
    border-color:rgba(255,255,255,.8);
  }

  .epx-header__cta{
    display:none;
  }

  .epx-toggle{
    position:relative;
    z-index:30;
    width:48px;
    height:48px;
    display:grid;
    place-items:center;
    padding:0;
    border:0;
    border-radius:50%;
    background:#f5f6f4;
    cursor:pointer;
  }

  .epx-toggle span{
    position:absolute;
    width:19px;
    height:1.5px;
    background:#172025;
    transition:transform .28s ease;
  }

  .epx-toggle span:first-child{
    transform:translateY(-4px);
  }

  .epx-toggle span:last-child{
    transform:translateY(4px);
  }

  .epx-toggle.is-active span:first-child{
    transform:rotate(45deg);
  }

  .epx-toggle.is-active span:last-child{
    transform:rotate(-45deg);
  }

  .epx-nav{
    position:absolute;
    z-index:25;
    top:calc(100% + 8px);
    left:0;
    right:0;
    max-height:calc(100vh - 100px);
    overflow:auto;
    padding:15px;
    border:1px solid rgba(255,255,255,.8);
    border-radius:22px;
    background:#f7f7f4;
    box-shadow:0 25px 70px rgba(9,20,23,.16);
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transform:translateY(-6px);
    transition:opacity .2s ease,transform .25s ease,visibility .2s ease;
  }

  .epx-nav.is-open{
    opacity:1;
    visibility:visible;
    pointer-events:auto;
    transform:none;
  }

  .epx-nav__list{
    display:block;
  }

  .epx-nav__item{
    width:100%;
    border-bottom:1px solid rgba(39,63,70,.09);
  }

  .epx-nav__link{
    width:100%;
    min-height:52px;
    justify-content:space-between;
    color:#172025 !important;
    -webkit-text-fill-color:#172025 !important;
    font-size:17px !important;
  }

  .epx-nav__link::after{
    display:none;
  }

  .epx-mega{
    position:static;
    width:100%;
    display:none;
    grid-template-columns:1fr;
    gap:10px;
    padding:0 0 15px;
    border:0;
    border-radius:0;
    background:transparent;
    box-shadow:none;
    opacity:1;
    visibility:visible;
    pointer-events:auto;
    transform:none;
  }

  .epx-nav__item.is-open .epx-mega{
    display:grid;
    transform:none;
  }

  .epx-mega__bridge,
  .epx-mega__intro{
    display:none;
  }

  .epx-mega__grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:7px;
  }

  .epx-mega__grid > a{
    min-height:74px;
    grid-template-columns:30px 1fr;
    padding:10px;
    border-radius:13px;
    background:#eef2f1;
  }

  .epx-mega__grid > a > b{
    display:none;
  }

  .epx-mega__grid strong{
    font-size:12px;
  }

  body.epx-menu-open{
    overflow:hidden;
  }
}

/* =========================================================
20 — MOBILE BLOG / ARTICLE
========================================================= */

@media(max-width:767px){
  .epb-shell,
  .epa-shell,
  .epx-footer__shell{
    width:calc(100% - 30px);
  }

  .epb-journal-hero{
    min-height:auto;
    padding:100px 0 0;
  }

  .epb-journal-hero__shell{
    min-height:auto;
  }

  .epb-journal-hero__grid{
    background-size:47px 47px;
  }

  .epb-journal-hero__word{
    left:-12px;
    bottom:95px;
    font-size:95px;
  }

  .epb-journal-hero__orbit--one{
    width:350px;
    height:350px;
    top:-220px;
    left:-240px;
  }

  .epb-journal-hero__orbit--two{
    display:none;
  }

  .epb-journal-hero__mast{
    min-height:47px;
  }

  .epb-journal-hero__mast > a span,
  .epb-journal-hero__mast small{
    display:none;
  }

  .epb-journal-hero__main{
    display:flex;
    flex-direction:column;
    gap:28px;
    align-items:stretch;
    padding:48px 0 40px;
  }

  .epb-journal-hero__copy h1{
    font-size:clamp(49px,13.5vw,61px) !important;
  }

  .epb-journal-hero__copy > p:last-child{
    font-size:15px !important;
  }

  .epb-journal-index{
    min-height:260px;
    padding:18px;
    border-radius:20px;
  }

  .epb-journal-index__top b{
    font-size:48px;
  }

  .epb-filter-rail{
    min-height:68px;
    grid-template-columns:35px minmax(0,1fr) 35px;
  }

  .epb-filter-arrow{
    width:34px;
    height:34px;
  }

  .epb-filters a{
    min-height:36px;
    padding:0 14px;
    font-size:12px;
  }

  .epb-journal-body{
    padding:65px 0 75px;
  }

  .epb-filter-context{
    margin-bottom:40px;
    padding:16px;
    border-radius:19px;
  }

  .epb-filter-context__main{
    grid-template-columns:auto 1fr;
    gap:12px;
  }

  .epb-filter-context__main > a{
    grid-column:1 / -1;
    width:100%;
    justify-content:space-between;
  }

  .epb-filter-context figure,
  .epb-filter-context__mark{
    width:58px;
    height:58px;
    border-radius:15px;
  }

  .epb-filter-context h2{
    font-size:23px !important;
  }

  .epb-section-line{
    min-height:57px;
    margin-bottom:17px;
  }

  .epb-section-line > p{
    display:none;
  }

  .epb-cover-story{
    margin-bottom:75px;
  }

  .epb-feature{
    display:flex;
    flex-direction:column;
    min-height:0;
    border-radius:22px;
  }

  .epb-feature__media{
    min-height:0;
    height:430px;
  }

  .epb-feature__body{
    min-height:430px;
    padding:23px;
  }

  .epb-feature__body::before{
    top:21px;
    right:22px;
    font-size:68px;
  }

  .epb-feature__title{
    font-size:37px !important;
  }

  .epb-feature__excerpt{
    font-size:14px !important;
  }

  .epb-editorial-head,
  .epb-editorial-head--split{
    display:block;
    margin-bottom:28px;
  }

  .epb-editorial-head h2{
    font-size:clamp(39px,11vw,48px) !important;
  }

  .epb-editorial-head--split > p{
    margin-top:17px;
    font-size:15px !important;
  }

  .epb-perspectives{
    margin-bottom:75px;
  }

  .epb-perspective{
    min-height:83px;
    grid-template-columns:38px 1fr 35px;
    gap:10px;
  }

  .epb-perspective > span{
    width:35px;
    height:35px;
  }

  .epb-perspective strong{
    font-size:20px;
  }

  .epb-perspective small{
    display:none;
  }

  .epb-perspective i{
    width:34px;
    height:34px;
  }

  .epb-latest{
    margin-bottom:75px;
  }

  .epb-grid{
    display:flex;
    gap:10px;
    overflow-x:auto;
    margin-left:-15px;
    margin-right:-15px;
    padding:0 15px 9px;
    scroll-snap-type:x mandatory;
    scrollbar-width:none;
  }

  .epb-grid::-webkit-scrollbar{
    display:none;
  }

  .epb-card,
  .epb-grid > .epb-card:nth-of-type(1),
  .epb-grid > .epb-card:nth-of-type(2){
    flex:0 0 84vw;
    max-width:350px;
    grid-column:auto;
    scroll-snap-align:start;
    border-radius:20px;
  }

  .epb-card__media,
  .epb-grid > .epb-card:nth-of-type(1) .epb-card__media,
  .epb-grid > .epb-card:nth-of-type(2) .epb-card__media{
    height:290px;
  }

  .epb-card__body{
    min-height:315px;
    padding:18px;
  }

  .epb-card__title{
    font-size:25px !important;
  }

  .epb-inline-cta{
    flex:0 0 90vw;
    max-width:390px;
    min-height:410px;
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    justify-content:flex-end;
    gap:17px;
    padding:24px;
    scroll-snap-align:start;
  }

  .epb-inline-cta h3{
    font-size:32px !important;
  }

  .epb-inline-cta > a{
    width:100%;
    justify-content:space-between;
  }

  .epb-pagination{
    min-height:70px;
    grid-template-columns:1fr auto 1fr;
  }

  .epb-pagination a{
    font-size:12px;
  }

  .epb-voices{
    margin-bottom:75px;
    padding-top:60px;
  }

  .epb-voices__rail{
    grid-template-columns:repeat(6,235px);
  }

  .epb-voice figure{
    height:325px;
  }

  .epb-instagram{
    min-height:480px;
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    justify-content:flex-end;
    gap:20px;
    padding:25px;
    border-radius:23px;
  }

  .epb-instagram__mark{
    width:76px;
    height:76px;
    margin-bottom:auto;
    font-size:31px;
  }

  .epb-instagram h2{
    font-size:40px !important;
  }

  .epb-instagram > a{
    width:100%;
    justify-content:space-between;
    white-space:normal;
  }

  .epb-endnote{
    display:block;
    padding:19px 0;
  }

  .epb-endnote span{
    display:block;
    margin-bottom:8px;
  }

  /* Article */
  .epa-hero{
    min-height:auto;
    padding:101px 0 62px;
  }

  .epa-hero__grid-bg{
    background-size:46px 46px;
  }

  .epa-hero__word{
    font-size:125px;
    bottom:20px;
  }

  .epa-hero__meta{
    min-height:50px;
    gap:7px;
    font-size:12px;
  }

  .epa-hero__meta .epa-meta-dot:nth-of-type(n+3),
  .epa-hero__meta span:nth-last-child(-n+4){
    display:none;
  }

  .epa-hero__layout{
    display:flex;
    flex-direction:column;
    gap:30px;
    padding-top:38px;
  }

  .epa-hero__copy h1{
    font-size:clamp(46px,12.5vw,58px) !important;
  }

  .epa-hero__dek{
    font-size:15px !important;
  }

  .epa-hero__media{
    width:100%;
    height:470px;
    border-radius:55px 22px 22px 22px;
  }

  .epa-reading-zone{
    padding:65px 0 75px;
  }

  .epa-reading-grid{
    display:flex;
    flex-direction:column;
    gap:35px;
  }

  .epa-article{
    order:1;
  }

  .epa-tools{
    order:2;
  }

  .epa-tools__sticky{
    position:static;
  }

  .epa-article__mast{
    margin-bottom:28px;
  }

  .epa-content,
  .epa-content p,
  .epa-content ul,
  .epa-content ol{
    font-size:17px !important;
  }

  .epa-content > p:first-of-type{
    font-size:19px !important;
  }

  .epa-content h2{
    font-size:36px !important;
  }

  .epa-content h3{
    font-size:28px !important;
  }

  .epa-content blockquote{
    padding:22px !important;
  }

  .epa-content blockquote p{
    font-size:20px !important;
  }

  .epa-mid-cta{
    margin:34px 0 !important;
    padding:23px !important;
    border-radius:20px;
  }

  .epa-mid-cta h3{
    font-size:29px !important;
  }

  .epa-disclaimer{
    grid-template-columns:1fr;
    gap:8px;
  }

  .epa-expert{
    padding:9px 0 70px;
  }

  .epa-expert__card{
    display:flex;
    flex-direction:column;
    min-height:0;
    border-radius:23px;
  }

  .epa-expert__visual{
    min-height:470px;
  }

  .epa-expert__content{
    padding:25px;
  }

  .epa-expert__topline{
    flex-wrap:wrap;
    margin-bottom:23px;
  }

  .epa-expert__content h2{
    font-size:42px !important;
  }

  .epa-expert__actions{
    flex-direction:column;
  }

  .epa-expert__actions a{
    width:100%;
    justify-content:space-between;
  }

  .epa-related{
    padding:70px 0;
  }

  .epa-related__head h2{
    font-size:40px !important;
  }

  .epa-related__grid{
    display:flex;
    gap:10px;
    overflow-x:auto;
    margin-left:-15px;
    margin-right:-15px;
    padding:0 15px 8px;
    scroll-snap-type:x mandatory;
    scrollbar-width:none;
  }

  .epa-related__grid::-webkit-scrollbar{
    display:none;
  }

  .epa-related__grid .epb-card{
    flex:0 0 84vw;
    max-width:350px;
    scroll-snap-align:start;
  }

  .epa-final{
    padding:9px;
  }

  .epa-final__card{
    min-height:590px;
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    justify-content:flex-end;
    gap:28px;
    padding:26px;
    border-radius:23px;
  }

  .epa-final__card h2{
    font-size:42px !important;
  }

  .epa-final__card > a{
    width:100%;
    justify-content:space-between;
  }

  /* Footer */
  .epx-footer{
    padding:62px 0 20px;
  }

  .epx-footer__top{
    display:block;
  }

  .epx-footer__intro{
    margin-bottom:38px;
  }

  .epx-footer__intro h2{
    font-size:43px !important;
  }

  .epx-footer__cta-card{
    padding:22px;
  }

  .epx-footer__divider{
    margin:42px 0 35px;
  }

  .epx-footer__columns{
    grid-template-columns:repeat(2,1fr);
    gap:35px 18px;
  }

  .epx-footer__team{
    align-items:flex-start;
  }

  .epx-footer__team > span{
    flex-basis:100%;
  }

  .epx-footer__bottom{
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    gap:15px;
    padding-top:22px;
  }

  .epx-footer__bottom > div:nth-child(2){
    flex-direction:column;
    gap:7px;
  }

  /* Modal */
  .epb-lead-modal{
    align-items:flex-end;
    padding:10px;
  }

  .epb-lead-modal__dialog{
    width:100%;
    max-height:calc(100svh - 20px);
    padding:24px 18px 20px;
    border-radius:24px;
  }

  .epb-lead-row{
    grid-template-columns:1fr;
  }

  .epb-lead-modal__dialog h2{
    font-size:39px !important;
  }
}

@media(max-width:390px){
  .epb-shell,
  .epa-shell,
  .epx-footer__shell{
    width:calc(100% - 26px);
  }

  .epb-journal-hero__copy h1{
    font-size:47px !important;
  }

  .epb-feature__media{
    height:390px;
  }

  .epb-feature__body{
    min-height:410px;
  }

  .epb-card,
  .epb-grid > .epb-card:nth-of-type(1),
  .epb-grid > .epb-card:nth-of-type(2),
  .epa-related__grid .epb-card{
    flex-basis:86vw;
  }

  .epa-hero__copy h1{
    font-size:44px !important;
  }

  .epa-hero__media{
    height:430px;
  }

  .epx-footer__columns{
    grid-template-columns:1fr;
  }
}

/* =========================================================
21 — REDUCED MOTION
========================================================= */

@media(prefers-reduced-motion:reduce){
  html{
    scroll-behavior:auto;
  }

  .epb-animations-ready .epb-reveal{
    opacity:1 !important;
    transform:none !important;
  }

  .epb-page-body *,
  .epb-page-body *::before,
  .epb-page-body *::after,
  .epa-body *,
  .epa-body *::before,
  .epa-body *::after{
    animation:none !important;
    transition:none !important;
    scroll-behavior:auto !important;
  }
}

/* Forminator opcional usado apenas como fonte de registro do lead. */
.epb-forminator-source{
  position:absolute !important;
  width:1px !important;
  height:1px !important;
  overflow:hidden !important;
  clip:rect(0 0 0 0) !important;
  clip-path:inset(50%) !important;
  white-space:nowrap !important;
  opacity:0 !important;
  pointer-events:none !important;
}
