/* Shared editorial brand and type contract: the same three faces and the same
   transparent logo lockup used by the main page. */
:root {
  --ui: "Hanken Grotesk", system-ui, Arial, sans-serif;
  --serif: "Playfair Display", Georgia, serif;
  --serif-2: var(--serif);
}

/* Keep every editorial surface on the homepage's quiet, patient-facing rhythm. */
.news-hub-page .atlas-hero{padding-block:clamp(56px,8vw,88px) clamp(44px,6vw,68px)}
.news-hub-page .atlas-hero h1{max-width:900px;text-wrap:balance}.news-hub-page .atlas-hero p{max-width:760px;line-height:1.62}
.news-hub-page #news-hub{grid-template-columns:repeat(12,minmax(0,1fr));gap:18px;padding-block:44px 78px}
.news-hub-page #news-hub .atlas-card,.news-hub-page #news-hub .atlas-card:first-child{grid-column:span 6;min-height:300px;padding:clamp(24px,3vw,36px);background:linear-gradient(145deg,rgba(228,127,164,.09),rgba(255,255,255,.015));box-shadow:inset 0 1px 0 rgba(255,255,255,.035),0 20px 52px rgba(0,0,0,.16)}
.news-hub-page #news-hub .atlas-card:nth-of-type(n+3){grid-column:span 4;min-height:286px}.news-hub-page #news-hub .atlas-card h2{font-size:clamp(27px,3.1vw,40px);text-wrap:balance}.news-hub-page #news-hub .atlas-card:nth-of-type(n+3) h2{font-size:clamp(25px,2.4vw,33px)}.news-hub-page #news-hub .atlas-card p{line-height:1.62}
@media(max-width:780px){.news-hub-page #news-hub{grid-template-columns:1fr;padding-block:32px 56px}.news-hub-page #news-hub .atlas-card,.news-hub-page #news-hub .atlas-card:first-child,.news-hub-page #news-hub .atlas-card:nth-of-type(n+3){grid-column:auto;min-height:0}.news-hub-page #news-hub .atlas-card h2,.news-hub-page #news-hub .atlas-card:nth-of-type(n+3) h2{font-size:30px}}

.atlas-brand {
  position: relative;
  flex: 0 0 auto;
  gap: 16px;
  min-width: 0;
  isolation: isolate;
}

/* Older stories contain either a leaf substitute or one of several image
   frames. Keep that non-semantic image out of layout and render the canonical
   transparent main-page mark from this shared editorial layer. */
.atlas-brand > img {
  display: none !important;
}

.atlas-brand::before {
  content: "";
  width: 74px;
  height: 74px;
  flex: 0 0 74px;
  border-radius: 50%;
  content: "TR";
  display: grid;
  place-items: center;
  border: 1px solid rgba(239,171,193,.9);
  background: radial-gradient(circle,rgba(228,127,164,.08),transparent 68%);
  box-shadow: inset 0 0 0 4px rgba(228,127,164,.08), 0 0 18px rgba(228,127,164,.2);
  color: #efabc1;
  font: 600 29px / 1 var(--serif);
  letter-spacing: -.16em;
  padding-right: .14em;
  filter: drop-shadow(0 0 14px rgba(239, 140, 175, .34));
  mix-blend-mode: screen;
  text-shadow: 0 1px 0 #fff4f7, 0 0 12px rgba(228,127,164,.28);
}

.atlas-brand::after {
  content: "";
  position: absolute;
  left: 68px;
  bottom: 3px;
  width: 34px;
  height: 1px;
  background: linear-gradient(90deg, #ef8caf, transparent);
  opacity: .75;
}

.atlas-brand > span {
  min-width: 0;
}

.atlas-brand strong {
  display: block;
  width: 130px;
  color: var(--cream);
  font-family: var(--serif-2) !important;
  font-size: 25px !important;
  font-weight: 600 !important;
  line-height: .82 !important;
  letter-spacing: .16em !important;
  white-space: normal;
  overflow-wrap: normal;
  word-break: normal;
}

.atlas-brand small {
  margin-top: 6px;
  color: var(--faint);
  font-family: var(--ui);
  font-size: 13px;
  font-weight: 600;
  letter-spacing: .34em;
  white-space: nowrap;
}

@media (max-width: 780px) {
  .atlas-brand {
    gap: 14px;
  }

  .atlas-brand::before {
    width: 58px;
    height: 58px;
    flex-basis: 58px;
    font-size: 24px;
  }

  .atlas-brand::after {
    left: 52px;
  }

  .atlas-brand strong {
    width: 120px;
    font-size: 23px !important;
  }
}

/* Final visual consolidation for the practical story template. Keep the
   canonical asset visible, the reading column calm, and the next-call rail
   aligned without allowing localized labels to collide. */
.atlas-brand {
  gap: 16px;
  min-width: 0;
}

.atlas-brand > img {
  display: block !important;
  width: 74px !important;
  height: 74px !important;
  flex: 0 0 74px !important;
  border: 0;
  border-radius: 50%;
  object-fit: contain;
  background: transparent;
  box-shadow: none;
  filter: drop-shadow(0 0 12px rgba(223, 126, 158, .34));
  mix-blend-mode: screen;
}

.atlas-brand::before,
.atlas-brand::after { display: none !important; }

.atlas-nav {
  align-items: center;
  min-width: 0;
}

.atlas-tools {
  min-width: 0;
  justify-content: flex-end;
}

.atlas-tools a {
  min-height: 44px;
  line-height: 1.25;
  overflow-wrap: anywhere;
}

.atlas-hero h1,
.atlas-copy h2,
.atlas-aside strong { text-wrap: balance; }

.atlas-copy {
  max-width: 72ch;
}

.atlas-copy p,
.atlas-callout {
  max-width: 68ch;
}

.atlas-article {
  grid-template-columns: minmax(0, 1fr) minmax(248px, 280px);
  column-gap: clamp(32px, 5vw, 68px);
  align-items: start;
}

.atlas-article > .atlas-aside {
  width: 100%;
  max-width: 280px;
  min-width: 0;
  margin: 0;
  padding: clamp(18px, 2vw, 23px);
  border-radius: 20px;
  overflow: hidden;
  align-self: start;
  box-shadow: 0 22px 55px rgba(0, 0, 0, .16);
}

.atlas-article > .atlas-aside > .kicker,
.atlas-article > .atlas-aside > strong,
.atlas-article > .atlas-aside > p,
.atlas-article > .atlas-aside > a {
  min-width: 0;
  max-width: 100%;
}

.atlas-article > .atlas-aside > .kicker {
  margin-bottom: 13px;
  line-height: 1.45;
  overflow-wrap: anywhere;
}

.atlas-article > .atlas-aside > strong {
  margin: 0;
  font-size: clamp(22px, 2vw, 26px);
  line-height: 1.15;
}

.atlas-article > .atlas-aside > p {
  margin: 12px 0 10px;
  line-height: 1.6;
}

.atlas-article > .atlas-aside > a {
  display: flex;
  min-height: 46px;
  align-items: center;
  margin: 0;
  padding: 10px 0;
  border-top: 1px solid var(--line);
  line-height: 1.35;
  overflow-wrap: anywhere;
}

.atlas-skip-link {
  position: fixed;
  top: 12px;
  left: 12px;
  z-index: 10;
  transform: translateY(-180%);
  border: 1px solid var(--pink);
  border-radius: 999px;
  padding: 11px 16px;
  color: var(--black);
  background: var(--cream);
  font-weight: 800;
  text-decoration: none;
}

.atlas-skip-link:focus { transform: translateY(0); }

#main-content:focus { outline: none; }
#main-content:focus-visible { outline: 3px solid var(--pink); outline-offset: 8px; }

@media (max-width: 900px) {
  .atlas-nav {
    align-items: flex-start;
    flex-wrap: wrap;
    padding-block: 16px;
  }

  .atlas-tools {
    width: 100%;
    justify-content: flex-start;
  }

  .atlas-article {
    grid-template-columns: 1fr;
    row-gap: 30px;
  }

  .atlas-article > .atlas-aside {
    position: static;
    max-width: none;
  }
}

@media (max-width: 780px) {
  .atlas-brand > img {
    width: 58px !important;
    height: 58px !important;
    flex-basis: 58px !important;
  }

  .atlas-tools a { min-height: 46px; }
  .atlas-copy { max-width: none; }
}

/* The call-plan label and title are separate rows. Long localized labels such
   as “Tu siguiente llamada” no longer collide with the title beside them. */
.atlas-article {
  align-items: start;
}

.atlas-aside {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  align-content: start;
}

.atlas-aside > * {
  min-width: 0;
}

.atlas-aside > .kicker {
  display: block;
  margin: 0 0 12px;
  line-height: 1.45;
}

.atlas-aside > strong {
  display: block;
  margin: 0;
  font: 600 25px / 1.12 var(--serif);
  text-wrap: balance;
}

.atlas-aside > p {
  margin: 12px 0 8px;
}

.atlas-aside > a {
  display: flex;
  align-items: flex-start;
  min-height: 44px;
  margin: 0;
  padding: 10px 0;
  border-top: 1px solid var(--line);
  line-height: 1.35;
  overflow-wrap: anywhere;
}

/* Practical guide index: compact answers, readable copy, no internal-report feel. */
.news-hub-page .atlas-hero {
  position: relative;
  overflow: hidden;
  padding-block: clamp(58px, 8vw, 92px) clamp(48px, 6vw, 72px);
  background:
    radial-gradient(circle at 88% 10%, rgba(228, 127, 164, .15), transparent 34%),
    linear-gradient(110deg, rgba(176, 135, 92, .045), transparent 42%);
}

.news-hub-page .atlas-hero::after {
  content: "05";
  position: absolute;
  right: max(20px, calc((100vw - 1120px) / 2));
  bottom: -48px;
  color: rgba(228, 127, 164, .055);
  font: 600 clamp(150px, 24vw, 280px) / 1 var(--serif);
  pointer-events: none;
}

.news-hub-page .atlas-hero .wrap {
  position: relative;
  z-index: 1;
}

.news-hub-page .atlas-hero h1 {
  max-width: 920px;
  text-wrap: balance;
}

.news-hub-page .atlas-hero p {
  max-width: 760px;
  font-size: clamp(18px, 1.6vw, 21px);
  line-height: 1.62;
}

.news-hub-page .atlas-meta span {
  color: var(--muted);
}

.news-hub-page #news-hub {
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: 18px;
  padding-block: 48px 84px;
}

.news-hub-page #news-hub > #news-culture {
  display: none;
}

.news-hub-page #news-hub .atlas-card,
.news-hub-page #news-hub .atlas-card:first-child,
.news-hub-page #news-hub .atlas-card:first-of-type {
  --card-accent: 228, 127, 164;
  grid-column: span 6;
  min-height: 322px;
  padding: clamp(26px, 3vw, 38px);
  border-color: rgba(var(--card-accent), .24);
  background:
    linear-gradient(180deg, rgba(var(--card-accent), .11), transparent 38%),
    linear-gradient(145deg, rgba(255, 255, 255, .025), rgba(255, 255, 255, .008));
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .035), 0 22px 60px rgba(0, 0, 0, .16);
  isolation: isolate;
}

.news-hub-page #news-hub .atlas-card:nth-of-type(n + 3) {
  grid-column: span 4;
  min-height: 310px;
}

.news-hub-page #news-hub .atlas-card[data-topic="stock"] { --card-accent: 190, 142, 105; }
.news-hub-page #news-hub .atlas-card[data-topic="identity"] { --card-accent: 130, 177, 166; }
.news-hub-page #news-hub .atlas-card[data-topic="permit"] { --card-accent: 144, 137, 190; }
.news-hub-page #news-hub .atlas-card[data-topic="prescription"] { --card-accent: 228, 127, 164; }

.news-hub-page #news-hub .atlas-card::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: 3px;
  background: rgb(var(--card-accent));
  opacity: .82;
}

.news-hub-page #news-hub .atlas-card::after {
  right: 18px;
  bottom: -25px;
  color: rgba(var(--card-accent), .075);
  font-size: 142px;
  line-height: 1;
  z-index: -1;
}

.news-hub-page #news-hub .atlas-card:hover {
  border-color: rgba(var(--card-accent), .68);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .05), 0 26px 70px rgba(0, 0, 0, .24);
}

.news-hub-page #news-hub .atlas-card:focus-visible {
  outline-color: rgb(var(--card-accent));
}

.news-hub-page #news-hub .atlas-card .kicker {
  color: rgb(var(--card-accent));
  font-size: 13px;
  line-height: 1.4;
}

.news-hub-page #news-hub .atlas-card h2 {
  max-width: 650px;
  margin-block: 18px 13px;
  font-size: clamp(29px, 3.2vw, 43px);
  text-wrap: balance;
}

.news-hub-page #news-hub .atlas-card:nth-of-type(n + 3) h2 {
  font-size: clamp(27px, 2.45vw, 35px);
}

.news-hub-page #news-hub .atlas-card p {
  position: relative;
  z-index: 1;
  max-width: 62ch;
  margin-bottom: 28px;
  color: #d1c5b8;
  font-size: 16px;
  line-height: 1.68;
}

.news-hub-page #news-hub .atlas-card .atlas-card__cta {
  position: relative;
  z-index: 1;
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  width: fit-content;
  margin-top: auto;
  color: rgb(var(--card-accent));
  font-size: 12px;
}

/* The Polish hub's desktop strip clips long localized labels on a phone. */
.news-hub-page .tr-pl-journey__inner { min-width: 0; }
.news-hub-page .tr-pl-journey a {
  min-width: 0;
  overflow-wrap: anywhere;
}

.atlas-archive {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  padding-top: 0;
}

.atlas-archive > h2 {
  grid-column: 1 / -1;
  margin: 0 0 10px;
  font: 600 clamp(28px, 4vw, 42px) / 1.08 var(--serif);
}

.atlas-archive .atlas-card,
.atlas-archive .atlas-card:first-of-type {
  min-height: 0;
  padding: 20px 22px;
  justify-content: center;
  background: linear-gradient(145deg, rgba(228, 127, 164, .055), rgba(255, 255, 255, .012));
}

.atlas-archive .atlas-card::after { display: none; }

.atlas-archive .atlas-card span:last-child {
  margin: 0;
  color: var(--cream);
  font-size: 16px;
  line-height: 1.45;
  letter-spacing: 0;
  text-transform: none;
}

.atlas-copy p,
.atlas-callout {
  font-size: clamp(17px, 1.15vw, 19px);
  line-height: 1.76;
  max-width: 68ch;
}

.atlas-aside p {
  font-size: 15px;
  line-height: 1.6;
}

@media (max-width: 780px) {
  body { font-size: 17px; }
  .wrap { width: min(100% - 24px, 1120px); }
  .atlas-index,
  .atlas-archive { grid-template-columns: 1fr; }
  .atlas-archive > h2 { grid-column: auto; }
  .atlas-card { min-height: 235px; padding: 24px; }
  .atlas-archive .atlas-card,
  .atlas-archive .atlas-card:first-of-type { min-height: 0; padding: 18px; }
  .atlas-copy p,
  .atlas-callout { font-size: 17px; line-height: 1.7; }
  .atlas-hero h1 { text-wrap: balance; }
  .atlas-article { gap: 24px; }
  .atlas-tools a { min-height: 46px; padding-inline: 15px; font-size: 12px; }
}

@media (max-width: 960px) {
  .news-hub-page #news-hub .atlas-card,
  .news-hub-page #news-hub .atlas-card:first-child,
  .news-hub-page #news-hub .atlas-card:first-of-type,
  .news-hub-page #news-hub .atlas-card:nth-of-type(n + 3) {
    grid-column: span 6;
  }

  .news-hub-page #news-hub .atlas-card:last-of-type {
    grid-column: 4 / span 6;
  }
}

@media (max-width: 680px) {
  .news-hub-page .atlas-hero::after {
    right: -18px;
    bottom: -25px;
    font-size: 145px;
  }

  .news-hub-page #news-hub {
    grid-template-columns: 1fr;
    gap: 14px;
    padding-block: 28px 58px;
  }

  .news-hub-page #news-hub .atlas-card,
  .news-hub-page #news-hub .atlas-card:first-child,
  .news-hub-page #news-hub .atlas-card:first-of-type,
  .news-hub-page #news-hub .atlas-card:nth-of-type(n + 3),
  .news-hub-page #news-hub .atlas-card:last-of-type {
    grid-column: 1;
    min-height: 0;
    padding: 25px 22px;
  }

  .news-hub-page #news-hub .atlas-card h2,
  .news-hub-page #news-hub .atlas-card:nth-of-type(n + 3) h2 {
    font-size: clamp(28px, 9vw, 36px);
  }

  .news-hub-page #news-hub .atlas-card p {
    font-size: 17px;
  }

  .news-hub-page #news-hub .atlas-card .atlas-card__cta {
    min-height: 48px;
    font-size: 12px;
  }

  .news-hub-page .tr-pl-journey__inner {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px !important;
    padding: 8px 12px !important;
    overflow: visible !important;
  }

  .news-hub-page .tr-pl-journey a {
    width: 100%;
    min-height: 50px;
    padding-inline: 10px !important;
    text-align: center;
    white-space: normal;
  }
}

/* Keep every practical story on one shared reading baseline. The aside is a
   compact action rail, never a second article column that can drift upward or
   widen when a localized label wraps. */
.atlas-article {
  grid-template-columns: minmax(0, 1fr) minmax(240px, 280px);
  column-gap: clamp(36px, 5vw, 64px);
  align-items: start;
}

.atlas-article > .atlas-copy,
.atlas-article > .atlas-aside {
  align-self: start;
  min-width: 0;
}

.atlas-article > .atlas-aside {
  position: sticky;
  inset-block-start: clamp(20px, 4vh, 32px);
  height: max-content;
  width: 100%;
  max-width: 280px;
  justify-self: stretch;
  box-sizing: border-box;
  overflow: hidden;
}

.atlas-article > .atlas-aside > .kicker {
  max-inline-size: 100%;
  margin: 0 0 14px;
  font: 800 13px / 1.3 var(--ui);
  letter-spacing: .1em;
  overflow-wrap: break-word;
  text-wrap: pretty;
}

.atlas-article > .atlas-aside > strong {
  max-inline-size: 100%;
  margin: 0;
  font: 600 clamp(22px, 2vw, 25px) / 1.16 var(--serif);
  overflow-wrap: anywhere;
  text-wrap: balance;
}

.atlas-article > .atlas-aside > p {
  margin: 12px 0 10px;
  font: 15px / 1.55 var(--ui);
}

.atlas-article > .atlas-aside > a {
  min-width: 0;
  min-height: 44px;
  margin: 0;
  padding: 10px 0;
  border-top: 1px solid var(--line);
  line-height: 1.35;
  overflow-wrap: anywhere;
}

@media (max-width: 780px) {
  .atlas-article {
    grid-template-columns: 1fr;
    row-gap: 32px;
  }

  .atlas-article > .atlas-aside {
    position: static;
    inset-block-start: auto;
    width: 100%;
    max-width: none;
    justify-self: stretch;
  }
}

/* Final shared Atlas contract for guides and articles. */
:root {
  --atlas-content: 1120px;
  --atlas-measure: 70ch;
  --atlas-rail: 272px;
  --atlas-gutter: clamp(34px, 5.5vw, 72px);
}

body,
button,
input,
textarea,
select {
  font-family: var(--ui);
}

.atlas-nav {
  min-width: 0;
  align-items: center;
}

.atlas-brand,
.atlas-brand > span,
.atlas-brand strong {
  min-width: 0;
}

.atlas-brand > img {
  display: block !important;
  width: 74px !important;
  height: 74px !important;
  flex: 0 0 74px !important;
  border: 0;
  border-radius: 50%;
  background: transparent;
  object-fit: contain;
  filter: drop-shadow(0 0 12px rgba(223, 126, 158, .34));
  mix-blend-mode: screen;
}

.atlas-brand::before,
.atlas-brand::after {
  display: none !important;
  content: none !important;
}

.atlas-tools {
  min-width: 0;
  justify-content: flex-end;
}

.atlas-tools a {
  min-height: 44px;
  line-height: 1.25;
  overflow-wrap: anywhere;
}

.atlas-hero h1,
.atlas-copy h2,
.atlas-aside strong {
  text-wrap: balance;
}

.atlas-hero p,
.atlas-copy p,
.atlas-callout,
.atlas-aside p {
  text-wrap: pretty;
}

.atlas-article {
  grid-template-columns: minmax(0, 1fr) minmax(240px, var(--atlas-rail));
  column-gap: var(--atlas-gutter);
  align-items: start;
}

.atlas-article > .atlas-copy,
.atlas-article > .atlas-aside {
  min-width: 0;
  align-self: start;
}

.atlas-copy {
  width: 100%;
  max-width: var(--atlas-measure);
}

.atlas-copy p,
.atlas-callout {
  max-width: var(--atlas-measure);
}

.atlas-copy h2 {
  margin-block: clamp(42px, 5vw, 58px) 16px;
}

.atlas-copy h2:first-child {
  margin-top: 0;
}

.atlas-copy figure {
  margin: 30px 0;
}

.atlas-copy figure img,
.atlas-copy > img {
  display: block;
  width: auto;
  max-width: 100%;
  height: auto;
  max-height: 560px;
  margin-inline: auto;
  object-fit: contain;
  border-radius: 14px;
}

.atlas-aside {
  width: 100%;
  max-width: var(--atlas-rail);
  box-sizing: border-box;
  border-radius: 18px;
  overflow: hidden;
  box-shadow: 0 22px 55px rgba(0, 0, 0, .2);
}

.atlas-aside > .kicker {
  margin-bottom: 14px;
  line-height: 1.45;
  overflow-wrap: anywhere;
}

.atlas-aside > strong {
  max-width: 100%;
  margin: 0;
  font-size: clamp(22px, 2vw, 27px);
  line-height: 1.14;
  overflow-wrap: anywhere;
}

.atlas-aside > p {
  margin: 13px 0 11px;
  font-size: 15px;
  line-height: 1.62;
}

.atlas-aside > a {
  display: flex;
  min-height: 46px;
  align-items: center;
  margin: 0;
  padding: 10px 0;
  border-top: 1px solid var(--line);
  line-height: 1.38;
  overflow-wrap: anywhere;
}

/* Editorial cards carry the reader's next step, not internal metrics. */
.news-hub-page #news-hub .atlas-card::after,
.news-hub-page #news-hub .atlas-card > .atlas-meta,
.news-hub-page #news-hub .atlas-card > [data-provenance],
.news-hub-page #news-hub .atlas-card > [class*="metric"],
.news-hub-page #news-hub .atlas-card > [class*="source"] {
  display: none !important;
}

.news-hub-page #news-hub .atlas-card img {
  width: auto;
  max-width: 100%;
  height: auto;
  object-fit: contain;
}

@media (max-width: 920px) {
  .atlas-nav {
    align-items: flex-start;
    flex-wrap: wrap;
  }

  .atlas-tools {
    width: 100%;
    justify-content: flex-start;
  }

  .atlas-article {
    grid-template-columns: minmax(0, 1fr) minmax(220px, var(--atlas-rail));
    column-gap: 30px;
  }
}

@media (max-width: 760px) {
  .atlas-brand > img {
    width: 58px !important;
    height: 58px !important;
    flex-basis: 58px !important;
  }

  .atlas-tools a {
    min-height: 46px;
  }

  .atlas-article {
    grid-template-columns: 1fr;
    row-gap: 32px;
  }

  .atlas-article > .atlas-aside {
    position: static;
    width: 100%;
    max-width: none;
  }

  .atlas-copy p,
  .atlas-callout {
    font-size: 17px;
    line-height: 1.72;
  }
}

/* Story imagery is supportive, attributable site photography—not a product claim. */
.news-hub-page #news-hub .atlas-card__image {
  display: block;
  object-position: center 42%;
  background: #121216;
}
.news-hub-page #news-hub .atlas-card__image + .kicker { display: block; }
.news-hub-page .news-route strong,
.news-hub-page .atlas-card__cta { font-family: var(--ui, "Hanken Grotesk", system-ui, sans-serif); }

/* Final shared editorial/article closeout: keep v2 on the main-site lockup,
   calm display/body/UI roles, and one non-colliding localized rail. */
:root {
  --atlas-display: var(--tr-font-display, var(--serif, Georgia, serif));
  --atlas-body: var(--tr-font-body, var(--ui, system-ui, sans-serif));
  --atlas-measure: 70ch;
  --atlas-rail: 17rem;
  --atlas-gutter: clamp(2rem, 5vw, 4.5rem);
}

body,
button,
input,
textarea,
select { font-family: var(--atlas-body) !important; }

.atlas-nav {
  min-width: 0;
  flex-wrap: wrap;
  align-items: center;
  gap: clamp(1rem, 2vw, 1.75rem);
}

.atlas-nav > .atlas-brand {
  display: inline-flex;
  align-items: center;
  flex: 0 1 auto;
  gap: 14px;
  min-width: 0;
  max-width: 100%;
}

.atlas-nav > .atlas-brand > span {
  display: block;
  min-width: 0;
  max-width: 100%;
}

.atlas-nav > .atlas-brand > img {
  display: block !important;
  width: clamp(54px, 6vw, 68px) !important;
  height: clamp(54px, 6vw, 68px) !important;
  flex: 0 0 clamp(54px, 6vw, 68px) !important;
  aspect-ratio: 1;
  border: 0 !important;
  border-radius: 50% !important;
  background: transparent !important;
  clip-path: circle(49% at 50% 50%) !important;
  -webkit-mask-image: radial-gradient(circle at 50% 50%, #000 0 48%, transparent 50%);
  mask-image: radial-gradient(circle at 50% 50%, #000 0 48%, transparent 50%);
  filter: drop-shadow(0 0 12px rgba(223, 126, 158, .34)) !important;
  mix-blend-mode: screen !important;
  object-fit: contain !important;
}

.atlas-nav > .atlas-brand::before,
.atlas-nav > .atlas-brand::after {
  display: none !important;
  content: none !important;
}

.atlas-nav > .atlas-brand strong {
  display: block;
  max-width: 15ch;
  color: var(--cream);
  font-family: var(--atlas-display) !important;
  font-size: clamp(1.08rem, 1rem + .5vw, 1.42rem) !important;
  font-weight: 600 !important;
  line-height: .98 !important;
  letter-spacing: .14em !important;
  white-space: nowrap;
}

.atlas-nav > .atlas-brand small {
  display: block;
  max-width: 28ch;
  margin-top: 5px;
  color: var(--faint);
  font-family: var(--atlas-body) !important;
  font-size: .8125rem;
  font-weight: 700;
  letter-spacing: .2em;
  line-height: 1.25;
  white-space: nowrap;
}

.atlas-tools {
  display: flex;
  flex: 0 1 auto;
  min-width: 0;
  justify-content: flex-end;
  gap: 8px;
}

.atlas-tools a {
  min-width: 0;
  min-height: 44px;
  padding: 9px 13px;
  font-family: var(--atlas-body) !important;
  font-size: .8125rem;
  font-weight: 700;
  letter-spacing: .09em;
  line-height: 1.25;
  text-align: center;
  white-space: normal;
  overflow-wrap: anywhere;
}

.atlas-hero {
  padding-block: clamp(3.5rem, 7vw, 5.5rem) clamp(2.75rem, 5vw, 4.25rem);
}

.atlas-hero .wrap,
.atlas-article,
.atlas-copy,
.atlas-aside { min-width: 0; }

.atlas-hero .kicker,
.atlas-meta { font-family: var(--atlas-body) !important; }

body .atlas-hero h1 {
  max-width: 20ch;
  margin-block: 1rem 1.15rem;
  color: var(--cream);
  font-family: var(--atlas-display) !important;
  font-size: clamp(2.75rem, 5.4vw, 4.75rem) !important;
  font-weight: 600 !important;
  line-height: 1.01;
  letter-spacing: -.04em;
  text-wrap: balance;
}

body .atlas-hero p {
  max-width: 68ch;
  color: var(--muted);
  font-family: var(--atlas-body) !important;
  font-size: clamp(1.05rem, 1rem + .25vw, 1.22rem) !important;
  line-height: 1.65;
  text-wrap: pretty;
}

.atlas-article {
  grid-template-columns: minmax(0, 1fr) minmax(15rem, var(--atlas-rail));
  column-gap: var(--atlas-gutter);
  align-items: start;
  padding-block: clamp(3.25rem, 6vw, 4.5rem) 5rem;
}

.atlas-article > .atlas-copy,
.atlas-article > .atlas-aside {
  align-self: start;
  min-width: 0;
}

.atlas-copy {
  width: 100%;
  max-width: var(--atlas-measure);
}

body .atlas-copy h2 {
  max-width: 28ch !important;
  margin-block: clamp(2.75rem, 5vw, 3.75rem) 1rem;
  color: var(--cream);
  font-family: var(--atlas-display) !important;
  font-size: clamp(1.85rem, 3vw, 2.7rem) !important;
  font-weight: 600 !important;
  line-height: 1.08;
  letter-spacing: -.025em;
  text-wrap: balance;
}

body .atlas-copy h2:first-child { margin-top: 0; }

body .atlas-copy p,
body .atlas-copy li,
body .atlas-callout {
  max-width: var(--atlas-measure);
  color: #d8ccbe;
  font-family: var(--atlas-body) !important;
  font-size: clamp(1rem, .97rem + .18vw, 1.12rem) !important;
  line-height: 1.75;
  text-wrap: pretty;
}

body .atlas-copy p { margin-bottom: 1.25rem; }
body .atlas-callout { overflow-wrap: anywhere; }

.atlas-article > .atlas-aside {
  position: sticky;
  inset-block-start: 1.25rem;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  align-content: start;
  width: 100%;
  max-width: var(--atlas-rail);
  height: fit-content;
  box-sizing: border-box;
  min-inline-size: 0;
  padding: clamp(1rem, 2vw, 1.35rem);
  overflow: visible;
}

.atlas-article > .atlas-aside > * {
  width: 100%;
  max-width: 100%;
  min-width: 0;
  min-inline-size: 0;
  white-space: normal;
}

.atlas-article > .atlas-aside > .kicker {
  margin: 0 0 .75rem;
  font-family: var(--atlas-body) !important;
  font-size: .8125rem;
  line-height: 1.45;
  overflow-wrap: anywhere;
  text-wrap: pretty;
}

.atlas-article > .atlas-aside > strong {
  display: block;
  margin: 0;
  color: var(--cream);
  font-family: var(--atlas-display) !important;
  font-size: clamp(1.4rem, 1.2rem + .45vw, 1.7rem) !important;
  font-weight: 600 !important;
  line-height: 1.15;
  overflow-wrap: anywhere;
  text-wrap: balance;
}

.atlas-article > .atlas-aside > p {
  margin: .75rem 0 .65rem;
  color: var(--muted);
  font-family: var(--atlas-body) !important;
  font-size: .95rem !important;
  line-height: 1.6;
  overflow-wrap: anywhere;
  text-wrap: pretty;
}

.atlas-article > .atlas-aside > a {
  display: flex;
  align-items: flex-start;
  min-width: 0;
  min-height: 46px;
  margin: 0;
  padding: .65rem 0;
  border-top: 1px solid var(--line);
  font-family: var(--atlas-body) !important;
  font-size: .9rem;
  font-weight: 700;
  line-height: 1.4;
  overflow-wrap: anywhere;
  word-break: normal;
  hyphens: auto;
  text-wrap: pretty;
}

body .news-hub-page .atlas-hero::after,
body .news-hub-page #news-hub .atlas-card::after { display: none !important; }

body .news-hub-page #news-hub .atlas-card,
body .news-hub-page #news-hub .atlas-card:first-child,
body .news-hub-page #news-hub .atlas-card:first-of-type { min-height: 0; }

body .news-hub-page #news-hub .atlas-card h2 {
  max-width: 24ch;
  font-family: var(--atlas-display) !important;
  font-size: clamp(1.75rem, 2.7vw, 2.65rem) !important;
  line-height: 1.08;
}

body .news-hub-page #news-hub .atlas-card p {
  font-family: var(--atlas-body) !important;
  font-size: 1rem !important;
  line-height: 1.65;
}

@media (max-width: 960px) {
  .atlas-nav { align-items: flex-start; }
  .atlas-tools {
    flex: 1 1 100%;
    width: 100%;
    justify-content: flex-start;
  }
  .atlas-article {
    grid-template-columns: 1fr;
    row-gap: 2rem;
  }
  .atlas-article > .atlas-aside {
    position: static;
    max-width: none;
  }
}

@media (max-width: 760px) {
  .atlas-nav {
    flex-direction: column;
    align-items: stretch;
    padding-block: 1rem;
  }
  .atlas-brand,
  .atlas-tools { width: 100%; }
  .atlas-tools { gap: 6px; }
  .atlas-tools a {
    flex: 0 1 auto;
    min-height: 46px;
  }
}

@media (max-width: 560px) {
  .wrap { width: min(100% - 24px, 1120px); }
  .atlas-brand { gap: 12px; }
  .atlas-nav > .atlas-brand > img {
    width: 54px !important;
    height: 54px !important;
    flex-basis: 54px !important;
  }
  .atlas-nav > .atlas-brand strong {
    font-size: 1.08rem !important;
    letter-spacing: .12em !important;
  }
  .atlas-nav > .atlas-brand small {
    font-size: .8125rem;
    letter-spacing: .16em;
  }
  body .atlas-hero h1 {
    max-width: 24ch;
    font-size: clamp(2.35rem, 12vw, 3.5rem) !important;
  }
  body .atlas-hero p { font-size: 1rem !important; }
  body .atlas-copy h2 {
    max-width: 25ch !important;
    font-size: clamp(1.75rem, 8vw, 2.25rem) !important;
  }
  body .atlas-copy p,
  body .atlas-copy li,
  body .atlas-callout {
    font-size: 1rem !important;
    line-height: 1.72;
  }
  .atlas-article > .atlas-aside { border-radius: 1rem; }
}
