/* TVL Blog Inner — Figma frame 1279:169 @ 1425×4343 */
:root {
  --design-width: 1425;
  --design-height: 4343;
  --page-width: 1425px;
  --color-primary: #f9363d;
  --color-ink: #1e1e1e;
  --font-regular: Helvetica, Arial, sans-serif;
  --font-light: "Helvetica Light", Helvetica, Arial, sans-serif;
}

*,
*::before,
*::after {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
  width: 100%;
  overflow-x: hidden;
}

body {
  margin: 0;
  font-family: var(--font-regular);
  font-weight: 400;
  background: #fff;
  color: var(--color-ink);
  -webkit-font-smoothing: antialiased;
  width: 100%;
  overflow-x: hidden;
}

img {
  display: block;
  max-width: none;
}

a {
  color: inherit;
  text-decoration: none;
}

button {
  font: inherit;
  cursor: pointer;
  border: none;
  background: none;
}

.page-shell {
  width: 100%;
  max-width: 100%;
  overflow-x: hidden;
}

.page-scaler {
  width: 100%;
  transform-origin: top left;
}

.blog-inner-page {
  position: relative;
  width: 100%;
  height: calc(var(--design-height) * 1px);
  background: #fff;
  --gutter: max(0px, (100vw - var(--page-width)) / 2);
  --footer-top: 3660px;
  --footer-height: 683px;
}

.site-header,
.blog-inner-hero,
.blog-inner-meta,
.blog-inner-article,
.blog-inner-sidebar,
.blog-inner-tags,
.section-contact-wrap {
  left: 0;
  width: 100%;
}

/* ——— Hero ——— */
.blog-inner-hero {
  position: absolute;
  top: 0;
  height: 1016px;
  z-index: 1;
  overflow: visible;
  pointer-events: none;
}

.blog-inner-hero__ellipse {
  position: absolute;
  width: 986px;
  height: 986px;
  pointer-events: none;
}

.blog-inner-hero__ellipse img {
  width: 100%;
  height: 100%;
}

.blog-inner-hero__ellipse--left {
  left: -249px;
  top: -743px;
}

.blog-inner-hero__ellipse--right {
  left: calc(33.33% + 78px);
  top: -646px;
}

.blog-inner-hero__category,
.blog-inner-hero__title,
.blog-inner-hero__lead,
.blog-inner-hero__figure {
  pointer-events: auto;
}

.blog-inner-hero__category {
  position: absolute;
  left: calc(var(--gutter) + 120px);
  top: 174px;
  margin: 0;
  font-family: var(--font-light);
  font-size: 20px;
  font-weight: 400;
  line-height: normal;
  color: var(--color-primary);
  white-space: nowrap;
}

.blog-inner-hero__title {
  position: absolute;
  left: calc(var(--gutter) + 120px);
  top: 219px;
  margin: 0;
  width: 1001px;
  max-width: calc(100% - var(--gutter) * 2 - 240px);
  font-size: 60px;
  font-weight: 400;
  line-height: normal;
  color: var(--color-ink);
}

.blog-inner-hero__lead {
  position: absolute;
  left: calc(var(--gutter) + 120px);
  top: 375px;
  margin: 0;
  width: 919px;
  max-width: calc(100% - var(--gutter) * 2 - 240px);
  font-family: var(--font-light);
  font-size: 30px;
  font-weight: 400;
  line-height: normal;
  color: var(--color-ink);
}

.blog-inner-hero__figure {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  top: 484px;
  width: 1182px;
  height: 532px;
  margin: 0;
  border-radius: 20px;
  overflow: hidden;
}

.blog-inner-hero__figure-inner {
  position: absolute;
  inset: 0;
  overflow: hidden;
  border-radius: 20px;
}

.blog-inner-hero__figure-inner img {
  position: absolute;
  width: 106.58%;
  height: 133.29%;
  left: -2.01%;
  top: -7.12%;
  object-fit: cover;
}

/* ——— Author & share ——— */
.blog-inner-meta {
  position: absolute;
  top: 1041px;
  height: 70px;
  z-index: 2;
}

.blog-inner-meta__avatar {
  position: absolute;
  left: calc(var(--gutter) + 120px);
  top: 0;
  width: 70px;
  height: 70px;
  border-radius: 50%;
  object-fit: cover;
}

.blog-inner-meta__author {
  position: absolute;
  left: calc(var(--gutter) + 8.33% + 85.25px);
  top: 13px;
}

.blog-inner-meta__name {
  margin: 0;
  font-size: 25px;
  font-weight: 400;
  line-height: normal;
  color: var(--color-ink);
}

.blog-inner-meta__role {
  margin: 8px 0 0;
  font-family: var(--font-light);
  font-size: 15px;
  font-weight: 400;
  line-height: normal;
  color: var(--color-ink);
}

.blog-inner-meta__share {
  position: absolute;
  right: calc(var(--gutter) + 120px);
  top: 6px;
  text-align: right;
}

.blog-inner-meta__share-label {
  margin: 0 0 12px;
  font-size: 16px;
  font-weight: 400;
  line-height: normal;
  color: var(--color-ink);
}

.blog-inner-meta__social {
  display: flex;
  justify-content: flex-end;
  gap: 11px;
}

.blog-inner-meta__social-link {
  position: relative;
  display: block;
  width: 37px;
  height: 37px;
}

.blog-inner-meta__social-bg {
  width: 37px;
  height: 37px;
}

.blog-inner-meta__social-icon {
  position: absolute;
  opacity: 0.6;
  object-fit: cover;
}

.blog-inner-meta__social-icon--linkedin {
  width: 16px;
  height: 16px;
  left: 11px;
  top: 11px;
}

.blog-inner-meta__social-icon--x {
  width: 14px;
  height: 14px;
  left: 12px;
  top: 12px;
}

.blog-inner-meta__social-icon--facebook,
.blog-inner-meta__social-icon--link {
  width: 18px;
  height: 18px;
  left: 10px;
  top: 10px;
}

/* ——— Article body ——— */
.blog-inner-article {
  position: absolute;
  top: 0;
  height: 100%;
  z-index: 1;
  pointer-events: none;
}

.blog-inner-article__heading,
.blog-inner-article__text,
.blog-inner-article__figure {
  pointer-events: auto;
}

.blog-inner-article__heading {
  position: absolute;
  left: calc(var(--gutter) + 120px);
  margin: 0;
  width: 667px;
  font-size: 35px;
  font-weight: 400;
  line-height: normal;
  color: var(--color-ink);
}

.blog-inner-article__text {
  position: absolute;
  left: calc(var(--gutter) + 120px);
  margin: 0;
  width: 667px;
  font-family: var(--font-light);
  font-size: 22px;
  font-weight: 400;
  line-height: normal;
  color: var(--color-ink);
}

.blog-inner-article__heading--intro {
  top: 1181px;
}

.blog-inner-article__text--intro {
  top: 1237px;
}

.blog-inner-article__heading--audience {
  top: 1427px;
}

.blog-inner-article__text--audience {
  top: 1483px;
}

.blog-inner-article__heading--positioning {
  top: 1686px;
}

.blog-inner-article__text--positioning {
  top: 1742px;
}

.blog-inner-article__figure {
  position: absolute;
  left: calc(var(--gutter) + 29.17% + 37.87px);
  transform: translateX(-50%);
  top: 1901px;
  width: 667px;
  height: 320px;
  margin: 0;
  border-radius: 20px;
  overflow: hidden;
}

.blog-inner-article__figure img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 20px;
}

.blog-inner-article__heading--experience {
  top: 2283px;
}

.blog-inner-article__text--experience {
  top: 2339px;
}

.blog-inner-article__heading--stories {
  top: 2498px;
}

.blog-inner-article__text--stories {
  top: 2554px;
  white-space: pre-wrap;
}

.blog-inner-article__heading--conclusion {
  top: 2713px;
}

.blog-inner-article__text--conclusion {
  top: 2769px;
}

/* ——— Sidebar ——— */
.blog-inner-sidebar {
  position: absolute;
  top: 0;
  height: 100%;
  z-index: 2;
  pointer-events: none;
}

.blog-inner-sidebar__related,
.blog-inner-sidebar__newsletter {
  pointer-events: auto;
}

.blog-inner-sidebar__related-wrap {
  position: absolute;
  left: calc(var(--gutter) + 58.33% + 65.75px);
  top: 1192px;
  width: 406px;
  height: 641px;
  overflow: hidden;
}

.blog-inner-sidebar__related {
  position: absolute;
  width: 108.85%;
  height: 105.79%;
  left: -4.18%;
  top: -2.97%;
  object-fit: cover;
}

.blog-inner-sidebar__newsletter {
  position: absolute;
  left: calc(var(--gutter) + 58.33% + 49.75px);
  top: 1843px;
  width: 440px;
  height: 248px;
  object-fit: cover;
}

/* ——— Tags ——— */
.blog-inner-tags {
  position: absolute;
  top: 2999px;
  left: calc(var(--gutter) + 120px);
  z-index: 2;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 12px 16px;
  max-width: calc(100% - var(--gutter) * 2 - 240px);
}

.blog-inner-tags__title {
  margin: 0 8px 0 0;
  font-size: 30px;
  font-weight: 400;
  line-height: normal;
  color: var(--color-ink);
  white-space: nowrap;
}

.blog-inner-tags__list {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  align-items: center;
}

.blog-inner-tag {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 8px 16px;
  border-radius: 134px;
  background: #f4f4f4;
  font-family: var(--font-light);
  font-size: 20px;
  font-weight: 400;
  line-height: 1.3;
  color: var(--color-ink);
  white-space: nowrap;
}

.blog-inner-tag--active {
  background: var(--color-primary);
  color: #f9f9f9;
}

/* ——— Contact (shared with Blog listing) ——— */
.section-contact-wrap {
  position: absolute;
  top: 3196px;
  height: 820px;
  z-index: 3;
  overflow: visible;
}

.section-contact-wrap::before {
  content: "";
  position: absolute;
  left: 0;
  width: 100%;
  top: 0;
  height: 464px;
  background: #fff;
  z-index: 0;
  pointer-events: none;
}

.section-contact-wrap__title {
  position: absolute;
  z-index: 1;
  left: 50%;
  transform: translateX(-50%);
  top: 0;
  margin: 0;
  font-size: 50px;
  font-weight: 400;
  line-height: 1;
  white-space: nowrap;
  text-align: center;
  color: var(--color-ink);
}

.section-contact-wrap__title .accent {
  color: var(--color-primary);
}

.section-contact-wrap__subtitle {
  position: absolute;
  z-index: 1;
  left: 50%;
  transform: translateX(-50%);
  top: 63px;
  margin: 0;
  width: 867px;
  text-align: center;
  font-family: var(--font-light);
  font-size: 25px;
  font-weight: 400;
  line-height: 1.3;
  color: var(--color-ink);
}

.section-contact {
  position: absolute;
  top: 167px;
  left: 0;
  z-index: 1;
  width: 100%;
  height: 545px;
  overflow: visible;
}

.contact-panel {
  position: absolute;
  left: calc(var(--gutter) + 120px);
  top: 0;
  width: 1200px;
  height: 545px;
  z-index: 2;
}

.contact-panel__shell {
  position: absolute;
  inset: 0;
  border: 2px solid rgba(0, 0, 0, 0.08);
  border-radius: 50px;
  background: #fff;
  overflow: hidden;
}

.contact-panel__mask {
  position: absolute;
  left: 52px;
  top: 0;
  width: 1148px;
  height: 545px;
}

.contact-panel__mask img {
  width: 100%;
  height: 100%;
}

.contact-panel__character {
  position: absolute;
  left: 33px;
  top: 12px;
  width: 496px;
  height: 533px;
  border-radius: 30px;
  overflow: hidden;
}

.contact-panel__character img {
  width: 100%;
  height: 139.36%;
  object-fit: cover;
  object-position: center top;
  margin-top: 2.02%;
}

.contact-form-card {
  position: absolute;
  left: 567px;
  top: 28px;
  width: 552px;
  height: 488px;
  padding: 34px 40px 28px;
  border-radius: 30px;
  background: #fff;
  box-shadow: 0 0 4px rgba(0, 0, 0, 0.15);
}

.contact-form-card label {
  display: block;
  margin-bottom: 5px;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.31;
  color: #0b0c38;
}

.contact-form-card .field + .field {
  margin-top: 24px;
}

.contact-form-card input,
.contact-form-card select {
  width: 100%;
  height: 39.133px;
  box-sizing: border-box;
  border: none;
  border-radius: 15px;
  background: #f9f9f9;
  padding: 0 16px;
  font-family: var(--font-light);
  font-size: 15px;
  font-weight: 400;
  line-height: 39px;
  color: var(--color-ink);
}

.contact-form-card input::placeholder,
.contact-form-card textarea::placeholder {
  color: #000;
  opacity: 0.5;
}

.contact-form-card select {
  appearance: none;
  line-height: normal;
  padding: 0 40px 0 16px;
  background-color: #f9f9f9;
  background-image: url("../../../img/f0d73.png");
  background-repeat: no-repeat;
  background-position: right 16px center;
  background-size: 12px;
}

.contact-form-card select:invalid {
  color: #000;
  opacity: 0.5;
}

.contact-form-card textarea {
  width: 100%;
  height: 84.022px;
  min-height: 84.022px;
  box-sizing: border-box;
  border: none;
  border-radius: 15px;
  background: #f9f9f9;
  padding: 10px 16px;
  font-family: var(--font-light);
  font-size: 15px;
  font-weight: 400;
  line-height: 1.25;
  color: var(--color-ink);
  resize: none;
}

.contact-form-card__submit {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  width: 100%;
  height: 41.596px;
  margin-top: 24px;
  border-radius: 348px;
  background: var(--color-primary);
  color: #fff;
  font-size: 17px;
  font-weight: 400;
  line-height: normal;
}

.contact-form-card__submit img {
  width: 16px;
  height: 16px;
  object-fit: cover;
}
