* {
  box-sizing: border-box;
}

body {
  margin: 0;
  min-height: 100svh;
  overflow-x: hidden;
  -webkit-text-size-adjust: 100%;
  font-family: 'Karla', sans-serif;
}

.page-header {
  position: relative;
  background: #fff;
  border-bottom: 1px solid #E0AFDA;
  box-shadow: 2px 4px 18px 0 rgba(170, 30, 108, 0.10);
  overflow: visible;
}

.page-header::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 4px;
  background: linear-gradient(90deg, #AA1E6C 0%, #CB54A5 55%, #E0AFDA 100%);
}

.header-deck {
  max-width: 1280px;
  margin: 0 auto;
  padding: 0 32px;
}

.header-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 16px 0 8px;
  gap: 32px;
}

.brand-pod {
  display: flex;
  align-items: center;
  gap: 16px;
  text-decoration: none;
  flex-shrink: 0;
}

.brand-logo-cell {
  width: 64px;
  height: 64px;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid #E0AFDA;
  border-radius: 16px;
  box-shadow: 2px 3px 2px 0 rgba(170, 30, 108, 0.06);
  padding: 8px;
  background: #fff;
}

.brand-logo-cell img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  display: block;
}

.brand-name {
  font-size: 22px;
  font-weight: 700;
  line-height: 1.2;
  color: #AA1E6C;
  letter-spacing: 0;
}

.brand-tagline {
  font-size: 15px;
  font-weight: 400;
  line-height: 1.2;
  color: #6a2248;
  margin-top: 4px;
}

.header-credential {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-shrink: 0;
}

.credential-badge {
  font-size: 15px;
  font-weight: 700;
  color: #AA1E6C;
  background: #f9f0f5;
  border: 1px solid #E0AFDA;
  border-radius: 44px;
  padding: 8px 16px;
  line-height: 1.2;
  box-shadow: 2px 3px 2px 0 rgba(170, 30, 108, 0.06);
}

.header-nav-row {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 8px 0 16px;
}

.primary-nav {
  display: flex;
  align-items: center;
  gap: 4px;
  flex-wrap: wrap;
  justify-content: center;
  list-style: none;
  margin: 0;
  padding: 0;
}

.primary-nav li {
  display: flex;
}

.primary-nav a {
  display: flex;
  align-items: center;
  font-size: 15px;
  font-weight: 700;
  line-height: 1.2;
  color: #3d1026;
  text-decoration: none;
  padding: 8px 16px;
  border-radius: 4px;
  min-height: 44px;
  transition: color 0.1s ease-out, background-color 0.1s ease-out;
  white-space: nowrap;
}

.primary-nav a:hover {
  color: #AA1E6C;
  background: #f5e6f0;
}

.primary-nav a:focus {
  outline: none;
  filter: invert(1);
}

.nav-book-link {
  background: #AA1E6C;
  color: #fff !important;
  border-radius: 4px;
  box-shadow: 2px 4px 18px 0 rgba(170, 30, 108, 0.10);
}

.nav-book-link:hover {
  background: #8e1759 !important;
  color: #fff !important;
}

.page-footer {
  background: #1e0a14;
  color: #e8c9dc;
  padding: 32px 0 0;
}

.footer-deck {
  max-width: 1280px;
  margin: 0 auto;
  padding: 0 32px;
}

.footer-upper {
  display: grid;
  grid-template-columns: 1.4fr 1fr 1fr 1fr;
  gap: 32px;
  padding-bottom: 32px;
}

.footer-brand-col {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.footer-brand-pod {
  display: flex;
  align-items: center;
  gap: 16px;
  text-decoration: none;
}

.footer-logo-cell {
  width: 60px;
  height: 60px;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid #4a1f33;
  border-radius: 16px;
  box-shadow: 2px 3px 2px 0 rgba(203, 84, 165, 0.06);
  padding: 8px;
  background: #fff;
  flex-shrink: 0;
}

.footer-logo-cell img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  display: block;
}

.footer-brand-name {
  font-size: 22px;
  font-weight: 700;
  line-height: 1.2;
  color: #E0AFDA;
}

.footer-about {
  font-size: 15px;
  line-height: 1.8;
  color: #c4a0b8;
  margin: 0;
}

.footer-contact-link {
  font-size: 15px;
  font-weight: 700;
  color: #CB54A5;
  text-decoration: none;
  transition: color 0.1s ease-out;
}

.footer-contact-link:hover {
  color: #E0AFDA;
}

.footer-contact-link:focus {
  outline: none;
  filter: invert(1);
}

.footer-col {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.footer-col-heading {
  font-size: 15px;
  font-weight: 700;
  line-height: 1.2;
  color: #fff;
  text-transform: uppercase;
  letter-spacing: 0;
  padding-bottom: 8px;
  border-bottom: 1px solid #3d1a2d;
}

.footer-link-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.footer-link-list a {
  font-size: 15px;
  line-height: 1.8;
  color: #c4a0b8;
  text-decoration: none;
  transition: color 0.12s ease-out;
}

.footer-link-list a:hover {
  color: #E0AFDA;
}

.footer-link-list a:focus {
  outline: none;
  filter: invert(1);
}

.footer-sub-label {
  font-size: 15px;
  font-weight: 700;
  color: #CB54A5;
  line-height: 1.2;
  margin-bottom: 4px;
}

.footer-bottom {
  border-top: 1px solid #3d1a2d;
  padding: 16px 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 8px;
}

.footer-copy {
  font-size: 15px;
  color: #8a5a73;
  line-height: 1.2;
  margin: 0;
}

.footer-legal-nav {
  display: flex;
  align-items: center;
  gap: 16px;
  list-style: none;
  margin: 0;
  padding: 0;
}

.footer-legal-nav a {
  font-size: 15px;
  color: #8a5a73;
  text-decoration: none;
  transition: color 0.12s ease-out;
}

.footer-legal-nav a:hover {
  color: #E0AFDA;
}

.footer-legal-nav a:focus {
  outline: none;
  filter: invert(1);
}

.consent-bar {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 4000;
  background: #1e0a14;
  border-bottom: 2px solid #AA1E6C;
  box-shadow: 2px 10px 48px 0 rgba(170, 30, 108, 0.12);
  transform: translateY(-100%);
  transition: transform 0.32s ease-out;
  display: none;
}

.consent-bar.visible {
  transform: translateY(0);
}

.consent-bar-deck {
  max-width: 1280px;
  margin: 0 auto;
  padding: 16px 32px;
  display: flex;
  align-items: center;
  gap: 16px;
  flex-wrap: wrap;
}

.consent-description {
  font-family: 'Karla', sans-serif;
  font-size: 15px;
  line-height: 1.8;
  color: #e8c9dc;
  margin: 0;
  flex: 1;
  min-width: 200px;
}

.consent-toggles-panel {
  display: none;
  width: 100%;
  padding: 16px 0 8px;
  gap: 16px;
  flex-wrap: wrap;
}

.consent-toggles-panel.open {
  display: flex;
}

.consent-toggle-item {
  display: flex;
  align-items: center;
  gap: 8px;
}

.consent-toggle-item input[type="checkbox"] {
  width: 20px;
  height: 20px;
  accent-color: #CB54A5;
  cursor: pointer;
}

.consent-toggle-item label {
  font-family: 'Karla', sans-serif;
  font-size: 15px;
  color: #e8c9dc;
  cursor: pointer;
  line-height: 1.2;
}

.consent-actions {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
  flex-shrink: 0;
}

.consent-btn-accept {
  font-family: 'Karla', sans-serif;
  font-size: 15px;
  font-weight: 700;
  color: #fff;
  background: transparent;
  border: 2px solid #CB54A5;
  border-radius: 4px;
  padding: 8px 16px;
  min-height: 44px;
  cursor: pointer;
  transition: background-color 0.1s ease-out, color 0.1s ease-out;
}

.consent-btn-accept:hover {
  background: #CB54A5;
  color: #fff;
}

.consent-btn-accept:focus {
  outline: none;
  filter: invert(1);
}

.consent-btn-decline {
  font-family: 'Karla', sans-serif;
  font-size: 15px;
  font-weight: 400;
  color: #c4a0b8;
  background: transparent;
  border: 2px solid #4a1f33;
  border-radius: 4px;
  padding: 8px 16px;
  min-height: 44px;
  cursor: pointer;
  transition: border-color 0.1s ease-out, color 0.1s ease-out;
}

.consent-btn-decline:hover {
  border-color: #8a5a73;
  color: #e8c9dc;
}

.consent-btn-decline:focus {
  outline: none;
  filter: invert(1);
}

.consent-btn-settings {
  font-family: 'Karla', sans-serif;
  font-size: 15px;
  font-weight: 400;
  color: #CB54A5;
  background: transparent;
  border: none;
  padding: 8px;
  min-height: 44px;
  cursor: pointer;
  text-decoration: underline;
  transition: color 0.1s ease-out;
}

.consent-btn-settings:hover {
  color: #E0AFDA;
}

.consent-btn-settings:focus {
  outline: none;
  filter: invert(1);
}

@media (max-width: 900px) {
  .footer-upper {
    grid-template-columns: 1fr 1fr;
  }

  .footer-brand-col {
    grid-column: 1 / -1;
  }
}

@media (max-width: 600px) {
  .header-deck {
    padding: 0 16px;
  }

  .header-top {
    flex-wrap: wrap;
    gap: 16px;
  }

  .header-credential {
    order: 3;
    width: 100%;
  }

  .footer-upper {
    grid-template-columns: 1fr;
  }

  .footer-brand-col {
    grid-column: auto;
  }

  .footer-deck {
    padding: 0 16px;
  }

  .footer-bottom {
    flex-direction: column;
    align-items: flex-start;
  }

  .consent-bar-deck {
    padding: 16px;
  }
}

.legal-data {
  max-width: 1280px;
  margin: 0 auto;
  padding: 32px;
  color: #2d1a26;
  line-height: 1.8;
  font-size: 15px;
}

.legal-data h1 {
  font-size: 42px;
  line-height: 1.2;
  color: #AA1E6C;
  margin-bottom: 32px;
  margin-top: 0;
  padding-bottom: 16px;
  border-bottom: 2px solid #E0AFDA;
}

.legal-data h2 {
  font-size: 30px;
  line-height: 1.2;
  color: #AA1E6C;
  margin-top: 32px;
  margin-bottom: 16px;
}

.legal-data h3 {
  font-size: 22px;
  line-height: 1.2;
  color: #CB54A5;
  margin-top: 32px;
  margin-bottom: 16px;
}

.legal-data h4 {
  font-size: 15px;
  line-height: 1.8;
  color: #CB54A5;
  font-weight: 700;
  margin-top: 16px;
  margin-bottom: 8px;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

.legal-data h5 {
  font-size: 15px;
  line-height: 1.8;
  color: #2d1a26;
  font-weight: 700;
  margin-top: 16px;
  margin-bottom: 8px;
}

.legal-data h6 {
  font-size: 15px;
  line-height: 1.8;
  color: #5a3a50;
  font-weight: 600;
  margin-top: 16px;
  margin-bottom: 8px;
}

.legal-data em,
.legal-data i {
  color: #AA1E6C;
  font-style: italic;
}

.legal-data hr {
  border: none;
  border-top: 1px solid #E0AFDA;
  margin-top: 32px;
  margin-bottom: 32px;
}

.legal-data div {
  margin-bottom: 16px;
}

.legal-data table {
  width: 100%;
  border-collapse: collapse;
  margin-top: 16px;
  margin-bottom: 32px;
  font-size: 15px;
  line-height: 1.8;
  border-radius: 4px;
  overflow: hidden;
  box-shadow: 2px 3px 2px 0 rgba(170, 30, 108, 0.06);
}

.legal-data thead {
  background-color: #AA1E6C;
  color: #fff;
}

.legal-data thead th {
  padding: 16px;
  font-weight: 700;
  text-align: left;
  font-size: 15px;
  line-height: 1.2;
  border: none;
}

.legal-data tbody tr {
  border-bottom: 1px solid #E0AFDA;
  transition: background-color 0.08s ease-out;
}

.legal-data tbody tr:last-child {
  border-bottom: none;
}

.legal-data tbody tr:nth-child(even) {
  background-color: #fdf4fa;
}

.legal-data tbody tr:hover {
  background-color: #f5e6f1;
}

.legal-data td {
  padding: 16px;
  color: #2d1a26;
  vertical-align: top;
  border: none;
}

.legal-data th {
  padding: 16px;
}

@media (max-width: 600px) {
  .legal-data {
    padding: 16px;
  }

  .legal-data h1 {
    font-size: 30px;
  }

  .legal-data h2 {
    font-size: 22px;
  }

  .legal-data h3 {
    font-size: 15px;
  }

  .legal-data table {
    display: block;
    overflow-x: auto;
  }
}

@media (min-width: 601px) and (max-width: 900px) {
  .legal-data {
    padding: 32px 16px;
  }

  .legal-data h1 {
    font-size: 42px;
  }
}

.blog-detail {
  max-width: 1280px;
  margin: 0 auto;
  overflow-x: clip;
}

.blog-detail .grad-text {
  background: linear-gradient(135deg, #CB54A5, #AA1E6C);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

.blog-detail .divider {
  display: flex;
  align-items: center;
  gap: 8px;
  justify-content: center;
  margin: 32px 0;
}

.blog-detail .divider span.line {
  display: block;
  width: 80px;
  height: 1px;
  background: #E0AFDA;
}

.blog-detail .divider span.diamond {
  display: block;
  width: 8px;
  height: 8px;
  background: #AA1E6C;
  transform: rotate(45deg);
  border-radius: 2px;
}

.blog-detail .title-block {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 32px;
  padding: 32px;
  background: #fff;
  position: relative;
}

.blog-detail .title-block .image-zone {
  position: relative;
  border-radius: 16px;
  overflow: hidden;
}

.blog-detail .title-block .image-zone img {
  width: 100%;
  height: 100%;
  min-height: 380px;
  object-fit: cover;
  display: block;
  border-radius: 16px;
}

.blog-detail .title-block .image-zone::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 55%;
  background: linear-gradient(to bottom, rgba(170, 30, 108, 0.55) 0%, transparent 100%);
  border-radius: 16px 16px 0 0;
  pointer-events: none;
}

.blog-detail .title-block .text-zone {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 16px;
  padding: 16px 0;
}

.blog-detail .title-block .text-zone .counter-row {
  display: flex;
  align-items: center;
  gap: 16px;
}

.blog-detail .title-block .text-zone .counter-row .likes-badge {
  display: flex;
  align-items: center;
  gap: 8px;
  background: #fff;
  border: 1px solid #E0AFDA;
  border-radius: 44px;
  padding: 4px 16px;
  box-shadow: 2px 3px 2px 0 rgba(170, 30, 108, 0.06);
}

.blog-detail .title-block .text-zone .counter-row .likes-badge .heart-icon {
  width: 18px;
  height: 18px;
  display: inline-block;
}

.blog-detail .title-block .text-zone .counter-row .likes-badge .heart-icon svg {
  width: 18px;
  height: 18px;
  fill: #AA1E6C;
}

.blog-detail .title-block .text-zone .counter-row .likes-num {
  font-size: 15px;
  color: #AA1E6C;
  font-weight: 600;
  line-height: 1.2;
}

.blog-detail .title-block .text-zone .author-label {
  font-size: 15px;
  color: #6e3060;
  line-height: 1.2;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  font-weight: 500;
}

.blog-detail .title-block .text-zone .article-title {
  font-size: 42px;
  line-height: 1.2;
  color: #1b0a14;
  margin: 0;
}

.blog-detail .title-block .text-zone .print-btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: #fff;
  border: 1.5px solid #CB54A5;
  border-radius: 44px;
  padding: 8px 16px;
  font-size: 15px;
  color: #AA1E6C;
  cursor: pointer;
  width: fit-content;
  transition: background 0.12s ease-out, color 0.1s ease-out;
  box-shadow: 2px 3px 2px 0 rgba(170, 30, 108, 0.06);
}

.blog-detail .title-block .text-zone .print-btn:hover {
  background: #AA1E6C;
  color: #fff;
}

.blog-detail .title-block .text-zone .print-btn svg {
  width: 16px;
  height: 16px;
  flex-shrink: 0;
}

.blog-detail .title-block .text-zone .print-btn:hover svg {
  fill: #fff;
}

.blog-detail .title-block .deco-shape {
  position: absolute;
  border-radius: 44px;
  pointer-events: none;
}

.blog-detail .title-block .deco-shape.one {
  width: 60px;
  height: 60px;
  border: 2px solid rgba(203, 84, 165, 0.18);
  bottom: 24px;
  left: calc(50% - 30px);
  transform: rotate(25deg);
  animation: geo-pulse 4s cubic-bezier(0.34, 1.56, 0.64, 1) infinite alternate;
}

.blog-detail .title-block .deco-shape.two {
  width: 30px;
  height: 30px;
  border: 2px solid rgba(170, 30, 108, 0.13);
  top: 32px;
  right: 16px;
  transform: rotate(-15deg);
  animation: geo-pulse 5.5s cubic-bezier(0.34, 1.56, 0.64, 1) infinite alternate-reverse;
}

@keyframes geo-pulse {
  from {
    opacity: 0.5;
    transform: scale(1) rotate(25deg);
  }

  to {
    opacity: 1;
    transform: scale(1.12) rotate(35deg);
  }
}

.blog-detail .article-body {
  padding: 32px;
  background: #fdf7fb;
  position: relative;
}

.blog-detail .article-body::before {
  content: "";
  position: absolute;
  inset: 0;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.75' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='200' height='200' filter='url(%23n)' opacity='0.04'/%3E%3C/svg%3E");
  opacity: 0.45;
  pointer-events: none;
  border-radius: 4px;
}

.blog-detail .article-body .body-inner {
  max-width: 680px;
  margin: 0 auto;
  position: relative;
}

.blog-detail .article-body .body-inner p {
  font-size: 15px;
  line-height: 1.8;
  color: #2a1020;
  margin: 0 0 16px 0;
}

.blog-detail .article-body .body-inner h2 {
  font-size: 30px;
  line-height: 1.2;
  background: linear-gradient(135deg, #CB54A5, #AA1E6C);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  margin: 32px 0 16px 0;
}

.blog-detail .article-body .body-inner h3 {
  font-size: 22px;
  line-height: 1.2;
  background: linear-gradient(135deg, #CB54A5, #AA1E6C);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  margin: 32px 0 8px 0;
}

.blog-detail .article-body .body-inner em {
  color: #AA1E6C;
  font-style: italic;
}

.blog-detail .article-body .body-inner strong {
  color: #1b0a14;
  font-weight: 700;
}

.blog-detail .article-body .body-inner ol {
  padding-left: 32px;
  margin: 0 0 16px 0;
}

.blog-detail .article-body .body-inner li {
  font-size: 15px;
  line-height: 1.8;
  color: #2a1020;
  margin-bottom: 8px;
}

.blog-detail .article-body .body-inner blockquote {
  margin: 32px 0;
  padding: 16px 32px;
  background: linear-gradient(135deg, rgba(224, 175, 218, 0.18), transparent);
  border-radius: 16px;
  box-shadow: 2px 4px 18px 0 rgba(170, 30, 108, 0.10);
}

.blog-detail .article-body .body-inner blockquote p {
  font-size: 22px;
  line-height: 1.8;
  color: #AA1E6C;
  font-style: italic;
  margin: 0 0 8px 0;
}

.blog-detail .article-body .body-inner blockquote cite {
  font-size: 15px;
  color: #6e3060;
  font-style: normal;
}

.blog-detail .article-body .body-inner a {
  color: #AA1E6C;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  transition: text-decoration-thickness 0.1s linear;
}

.blog-detail .article-body .body-inner a:hover {
  text-decoration-thickness: 3px;
}

.blog-detail .metrics-block {
  padding: 32px;
  background: #fff;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 32px;
  align-items: center;
  position: relative;
  overflow: hidden;
}

.blog-detail .metrics-block .bg-anim {
  position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: 0;
}

.blog-detail .metrics-block .bg-anim .zone {
  position: absolute;
  border-radius: 44px;
  filter: blur(60px);
}

.blog-detail .metrics-block .bg-anim .zone.a {
  width: 320px;
  height: 220px;
  background: rgba(224, 175, 218, 0.22);
  top: -40px;
  left: -60px;
  animation: zone-shift 9s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite alternate;
}

.blog-detail .metrics-block .bg-anim .zone.b {
  width: 260px;
  height: 180px;
  background: rgba(203, 84, 165, 0.10);
  bottom: -30px;
  right: -40px;
  animation: zone-shift 12s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite alternate-reverse;
}

@keyframes zone-shift {
  from {
    transform: translate(0, 0) scale(1);
  }

  to {
    transform: translate(40px, 20px) scale(1.15);
  }
}

.blog-detail .metrics-block .chart-area {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 16px;
  position: relative;
  z-index: 1;
}

.blog-detail .metrics-block .chart-area .donut-wrap {
  position: relative;
  width: 180px;
  height: 180px;
}

.blog-detail .metrics-block .chart-area .donut-wrap svg {
  width: 180px;
  height: 180px;
  transform: rotate(-90deg);
}

.blog-detail .metrics-block .chart-area .donut-center {
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}

.blog-detail .metrics-block .chart-area .donut-center .big-num {
  font-size: 30px;
  font-weight: 700;
  line-height: 1.2;
  color: #AA1E6C;
}

.blog-detail .metrics-block .chart-area .donut-center .small-label {
  font-size: 15px;
  color: #6e3060;
  line-height: 1.2;
}

.blog-detail .metrics-block .chart-area .legend {
  display: flex;
  flex-direction: column;
  gap: 8px;
  width: 100%;
}

.blog-detail .metrics-block .chart-area .legend .leg-item {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 15px;
  color: #2a1020;
  line-height: 1.2;
}

.blog-detail .metrics-block .chart-area .legend .leg-dot {
  width: 12px;
  height: 12px;
  border-radius: 4px;
  flex-shrink: 0;
}

.blog-detail .metrics-block .text-side {
  display: flex;
  flex-direction: column;
  gap: 16px;
  position: relative;
  z-index: 1;
}

.blog-detail .metrics-block .text-side .metrics-heading {
  font-size: 30px;
  line-height: 1.2;
  background: linear-gradient(135deg, #CB54A5, #AA1E6C);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  margin: 0;
}

.blog-detail .metrics-block .text-side .metrics-desc {
  font-size: 15px;
  line-height: 1.8;
  color: #2a1020;
  margin: 0;
}

.blog-detail .metrics-block .text-side .stat-rows {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.blog-detail .metrics-block .text-side .stat-row {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.blog-detail .metrics-block .text-side .stat-label {
  font-size: 15px;
  color: #6e3060;
  line-height: 1.2;
}

.blog-detail .metrics-block .text-side .stat-bar-track {
  width: 100%;
  height: 8px;
  background: #f0dff0;
  border-radius: 4px;
  overflow: hidden;
}

.blog-detail .metrics-block .text-side .stat-bar-fill {
  height: 100%;
  border-radius: 4px;
  background: linear-gradient(90deg, #E0AFDA, #AA1E6C);
  transition: width 0.12s ease-out;
}

.blog-detail .cta-block {
  padding: 32px;
  background: linear-gradient(160deg, #E0AFDA 0%, transparent 70%);
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 16px;
  text-align: center;
  position: relative;
}

.blog-detail .cta-block .geo-outline {
  position: absolute;
  border: 1.5px solid rgba(170, 30, 108, 0.12);
  border-radius: 44px;
  pointer-events: none;
  animation: geo-pulse 6s cubic-bezier(0.34, 1.56, 0.64, 1) infinite alternate;
}

.blog-detail .cta-block .geo-outline.big {
  width: 220px;
  height: 220px;
  top: -60px;
  right: 60px;
}

.blog-detail .cta-block .geo-outline.small {
  width: 100px;
  height: 100px;
  bottom: 16px;
  left: 80px;
  animation-duration: 8s;
}

.blog-detail .cta-block .cta-heading {
  font-size: 30px;
  line-height: 1.2;
  background: linear-gradient(135deg, #CB54A5, #AA1E6C);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  margin: 0;
  max-width: 600px;
}

.blog-detail .cta-block .cta-desc {
  font-size: 15px;
  line-height: 1.8;
  color: #2a1020;
  max-width: 540px;
  margin: 0;
}

.blog-detail .cta-block .cta-actions {
  display: flex;
  gap: 16px;
  flex-wrap: wrap;
  justify-content: center;
}

.blog-detail .cta-block .btn-primary {
  background: #AA1E6C;
  color: #fff;
  border: none;
  border-radius: 44px;
  padding: 16px 32px;
  font-size: 15px;
  cursor: pointer;
  box-shadow: 2px 4px 18px 0 rgba(170, 30, 108, 0.10);
  transition: background 0.12s ease-out, box-shadow 0.1s ease-out;
  text-decoration: none;
  display: inline-block;
}

.blog-detail .cta-block .btn-primary:hover {
  background: #8a1858;
  box-shadow: 2px 10px 48px 0 rgba(170, 30, 108, 0.12);
}

.blog-detail .cta-block .btn-secondary {
  background: #fff;
  color: #AA1E6C;
  border: 1.5px solid #CB54A5;
  border-radius: 44px;
  padding: 16px 32px;
  font-size: 15px;
  cursor: pointer;
  transition: background 0.1s ease-out, color 0.1s ease-out;
  text-decoration: none;
  display: inline-block;
}

.blog-detail .cta-block .btn-secondary:hover {
  background: #f5e6f0;
}

@media (max-width: 900px) {
  .blog-detail .title-block {
    grid-template-columns: 1fr;
  }

  .blog-detail .title-block .image-zone img {
    min-height: 260px;
  }

  .blog-detail .metrics-block {
    grid-template-columns: 1fr;
  }

  .blog-detail .title-block .text-zone .article-title {
    font-size: 30px;
  }
}

@media (max-width: 600px) {

  .blog-detail .title-block,
  .blog-detail .article-body,
  .blog-detail .metrics-block,
  .blog-detail .cta-block {
    padding: 16px;
  }

  .blog-detail .title-block .text-zone .article-title {
    font-size: 22px;
  }

  .blog-detail .metrics-block .text-side .metrics-heading,
  .blog-detail .cta-block .cta-heading {
    font-size: 22px;
  }

  .blog-detail .cta-block .cta-actions {
    flex-direction: column;
    align-items: center;
  }
}

@media print {

  .blog-detail .title-block .deco-shape,
  .blog-detail .metrics-block .bg-anim,
  .blog-detail .cta-block .geo-outline,
  .blog-detail .article-body::before,
  .blog-detail .title-block .text-zone .print-btn,
  .blog-detail .cta-block {
    display: none !important;
  }

  .blog-detail .title-block {
    grid-template-columns: 1fr;
    padding: 16px;
    box-shadow: none;
  }

  .blog-detail .metrics-block {
    grid-template-columns: 1fr;
    box-shadow: none;
  }

  .blog-detail .article-body {
    padding: 16px;
    background: #fff;
  }

  .blog-detail .article-body .body-inner {
    max-width: 100%;
  }

  .blog-detail .metrics-block .chart-area .donut-wrap svg circle {
    print-color-adjust: exact;
  }
}

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

.opening .page-root {
  max-width: 1280px;
  margin: 0 auto;
  padding: 0 32px;
}

.opening .title-block {
  padding: 32px 0 0;
}

.opening .title-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 32px;
  align-items: start;
  max-width: 1280px;
  margin: 0 auto;
  padding: 0 32px;
}

.opening .title-text-col {
  padding: 32px 0;
  position: relative;
  z-index: 1;
}

.opening .blob-layer {
  position: absolute;
  top: -32px;
  left: -32px;
  width: 280px;
  height: 280px;
  background: linear-gradient(135deg, #E0AFDA, transparent);
  border-radius: 44px;
  filter: blur(48px);
  opacity: 0.45;
  pointer-events: none;
}

.opening .blob-layer-two {
  position: absolute;
  bottom: 0;
  right: -16px;
  width: 180px;
  height: 180px;
  background: linear-gradient(135deg, #CB54A5, transparent);
  border-radius: 44px;
  filter: blur(56px);
  opacity: 0.25;
  pointer-events: none;
}

.opening .title-text-col {
  position: relative;
}

.opening .site-label {
  display: inline-block;
  font-size: 15px;
  line-height: 1.2;
  color: #AA1E6C;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  margin-bottom: 16px;
}

.opening .title-heading {
  font-size: 58px;
  line-height: 1.2;
  margin: 0 0 16px;
  background: linear-gradient(135deg, #CB54A5, #AA1E6C);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

.opening .title-sub {
  font-size: 22px;
  line-height: 1.8;
  color: #3a1a2e;
  margin: 0 0 32px;
  max-width: 420px;
}

.opening .title-actions {
  display: flex;
  flex-direction: row;
  gap: 16px;
  flex-wrap: wrap;
}

.opening .btn-primary {
  display: inline-block;
  padding: 16px 32px;
  background: #AA1E6C;
  color: #fff;
  font-size: 15px;
  line-height: 1.2;
  border-radius: 44px;
  text-decoration: none;
  box-shadow: 2px 4px 18px 0 rgba(170, 30, 108, 0.10);
  transition: box-shadow 0.12s ease-out, background 0.1s ease-out;
}

.opening .btn-primary:hover {
  background: #8f1759;
  box-shadow: 2px 10px 48px 0 rgba(170, 30, 108, 0.12);
}

.opening .btn-ghost {
  display: inline-block;
  padding: 16px 32px;
  background: transparent;
  color: #AA1E6C;
  font-size: 15px;
  line-height: 1.2;
  border-radius: 44px;
  border: 2px solid #AA1E6C;
  text-decoration: none;
  transition: background 0.1s ease-out, color 0.1s ease-out;
}

.opening .btn-ghost:hover {
  background: #AA1E6C;
  color: #fff;
}

.opening .title-image-col {
  position: relative;
}

.opening .title-img-wrap {
  border-radius: 16px;
  overflow: hidden;
  position: relative;
  box-shadow: 2px 10px 48px 0 rgba(170, 30, 108, 0.12);
}

.opening .title-img-wrap img {
  width: 100%;
  height: 480px;
  object-fit: cover;
  object-position: center;
  display: block;
}

.opening .img-tint {
  position: absolute;
  inset: 0;
  background: rgba(170, 30, 108, 0.18);
  border-radius: 16px;
  pointer-events: none;
}

.opening .img-fade-bottom {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 120px;
  background: linear-gradient(to top, #fff, transparent);
  pointer-events: none;
}

.opening .archive-section {
  padding: 64px 0 48px;
  background: linear-gradient(to top, #fff 0%, #f5e8f2 100%);
  position: relative;
}

.opening .archive-section .dots-bg {
  position: absolute;
  inset: 0;
  background-image: radial-gradient(circle, rgba(170, 30, 108, 0.07) 1px, transparent 1px), radial-gradient(circle, rgba(203, 84, 165, 0.04) 2px, transparent 2px), radial-gradient(circle, rgba(170, 30, 108, 0.05) 1.5px, transparent 1.5px);
  background-size: 28px 28px, 47px 47px, 19px 19px;
  background-position: 0 0, 14px 14px, 7px 21px;
  pointer-events: none;
}

.opening .archive-inner {
  max-width: 1280px;
  margin: 0 auto;
  padding: 0 32px;
  position: relative;
  z-index: 1;
}

.opening .archive-layout {
  display: grid;
  grid-template-columns: 1fr 2fr;
  gap: 32px;
  align-items: center;
}

.opening .archive-stat-col {
  text-align: center;
}

.opening .big-number {
  font-size: 72px;
  line-height: 1.2;
  background: linear-gradient(135deg, #CB54A5, #AA1E6C);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  display: block;
}

.opening .stat-label {
  font-size: 15px;
  line-height: 1.8;
  color: #5a2a48;
  margin-top: 8px;
  display: block;
}

.opening .archive-text-col h2 {
  font-size: 30px;
  line-height: 1.2;
  margin: 0 0 16px;
  background: linear-gradient(135deg, #CB54A5, #AA1E6C);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

.opening .archive-text-col p {
  font-size: 15px;
  line-height: 1.8;
  color: #3a1a2e;
  margin: 0 0 16px;
  max-width: 560px;
}

.opening .archive-topics {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 16px;
}

.opening .topic-tag {
  display: inline-block;
  padding: 4px 16px;
  background: rgba(170, 30, 108, 0.08);
  color: #AA1E6C;
  border-radius: 44px;
  font-size: 15px;
  line-height: 1.8;
  border: 1px solid rgba(170, 30, 108, 0.18);
}

.opening .posts-section {
  padding: 64px 0;
  background: #fff;
}

.opening .posts-inner {
  max-width: 1280px;
  margin: 0 auto;
  padding: 0 32px;
}

.opening .section-label {
  font-size: 15px;
  line-height: 1.2;
  color: #AA1E6C;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  margin-bottom: 8px;
  display: block;
}

.opening .posts-heading {
  font-size: 42px;
  line-height: 1.2;
  margin: 0 0 32px;
  background: linear-gradient(135deg, #CB54A5, #AA1E6C);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

.opening .posts-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 32px;
}

.opening .post-card {
  border-radius: 16px;
  background: #fff;
  box-shadow: 2px 3px 2px 0 rgba(170, 30, 108, 0.06);
  overflow: hidden;
  display: flex;
  flex-direction: column;
  transition: box-shadow 0.12s ease-out, transform 0.1s ease-out;
  text-decoration: none;
}

.opening .post-card:hover {
  box-shadow: 2px 10px 48px 0 rgba(170, 30, 108, 0.12);
  transform: translateY(-4px);
}

.opening .post-img-wrap {
  position: relative;
  overflow: hidden;
}

.opening .post-img-wrap img {
  width: 100%;
  height: 200px;
  object-fit: cover;
  object-position: center;
  display: block;
  transition: transform 0.15s ease-out;
}

.opening .post-card:hover .post-img-wrap img {
  transform: scale(1.04);
}

.opening .post-img-fade {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 80px;
  background: linear-gradient(to top, #fff, transparent);
  pointer-events: none;
}

.opening .post-body {
  padding: 16px;
  flex: 1;
  display: flex;
  flex-direction: column;
}

.opening .post-title {
  font-size: 22px;
  line-height: 1.2;
  color: #2a0f1e;
  margin: 0 0 8px;
  background: linear-gradient(135deg, #CB54A5, #AA1E6C);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

.opening .post-desc {
  font-size: 15px;
  line-height: 1.8;
  color: #4a2038;
  margin: 0 0 16px;
  flex: 1;
}

.opening .post-meta {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  align-items: center;
  font-size: 15px;
  line-height: 1.2;
  color: #AA1E6C;
}

.opening .post-author {
  font-size: 15px;
  color: #7a3560;
}

.opening .post-likes {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 4px;
  color: #AA1E6C;
}

.opening .heart-icon {
  width: 16px;
  height: 16px;
  display: inline-block;
}

.opening .start-section {
  padding: 64px 0;
  background: linear-gradient(160deg, #E0AFDA 0%, #fff 100%);
  position: relative;
}

.opening .start-inner {
  max-width: 1280px;
  margin: 0 auto;
  padding: 0 32px;
}

.opening .start-grid {
  display: grid;
  grid-template-columns: 3fr 2fr;
  gap: 32px;
  align-items: start;
}

.opening .start-text h2 {
  font-size: 42px;
  line-height: 1.2;
  margin: 0 0 16px;
  background: linear-gradient(135deg, #CB54A5, #AA1E6C);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

.opening .start-text p {
  font-size: 15px;
  line-height: 1.8;
  color: #3a1a2e;
  margin: 0 0 16px;
}

.opening .start-links {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin-top: 16px;
}

.opening .start-link {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 16px;
  padding: 16px;
  background: #fff;
  border-radius: 16px;
  text-decoration: none;
  box-shadow: 2px 3px 2px 0 rgba(170, 30, 108, 0.06);
  transition: box-shadow 0.12s ease-out, transform 0.1s ease-out;
}

.opening .start-link:hover {
  box-shadow: 2px 4px 18px 0 rgba(170, 30, 108, 0.10);
  transform: translateY(-2px);
}

.opening .start-link-num {
  width: 40px;
  height: 40px;
  border-radius: 44px;
  background: linear-gradient(135deg, #CB54A5, #AA1E6C);
  color: #fff;
  font-size: 22px;
  line-height: 1.2;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.opening .start-link-text {
  font-size: 15px;
  line-height: 1.2;
  color: #2a0f1e;
}

.opening .start-img-col {
  position: relative;
}

.opening .start-img-wrap {
  border-radius: 16px;
  overflow: hidden;
  box-shadow: 2px 4px 18px 0 rgba(170, 30, 108, 0.10);
}

.opening .start-img-wrap img {
  width: 100%;
  height: 360px;
  object-fit: cover;
  object-position: center;
  display: block;
}

.opening .start-img-tint {
  position: absolute;
  inset: 0;
  background: rgba(170, 30, 108, 0.12);
  border-radius: 16px;
  pointer-events: none;
}

.opening .voice-section {
  padding: 64px 0;
  background: #fff;
}

.opening .voice-inner {
  max-width: 1280px;
  margin: 0 auto;
  padding: 0 32px;
}

.opening .voice-grid {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 32px;
}

.opening .voice-heading {
  font-size: 30px;
  line-height: 1.2;
  margin: 0 0 32px;
  background: linear-gradient(135deg, #CB54A5, #AA1E6C);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  grid-column: 1 / -1;
}

.opening .voice-card {
  padding: 32px;
  border-radius: 16px;
  background: #fdf4fa;
  box-shadow: 2px 3px 2px 0 rgba(170, 30, 108, 0.06);
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.opening .voice-card-num {
  font-size: 42px;
  line-height: 1.2;
  background: linear-gradient(135deg, #CB54A5, #AA1E6C);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  display: block;
}

.opening .voice-card h4 {
  font-size: 22px;
  line-height: 1.2;
  margin: 0;
  color: #2a0f1e;
}

.opening .voice-card p {
  font-size: 15px;
  line-height: 1.8;
  color: #4a2038;
  margin: 0;
}

.opening .team-section {
  padding: 64px 0;
  background: #fdf4fa;
}

.opening .team-inner {
  max-width: 1280px;
  margin: 0 auto;
  padding: 0 32px;
}

.opening .team-layout {
  display: grid;
  grid-template-columns: 2fr 3fr;
  gap: 32px;
  align-items: start;
}

.opening .team-portraits {
  display: flex;
  flex-direction: row;
  gap: 16px;
}

.opening .portrait-wrap {
  flex: 1;
  border-radius: 16px;
  overflow: hidden;
  box-shadow: 2px 4px 18px 0 rgba(170, 30, 108, 0.10);
}

.opening .portrait-wrap img {
  width: 100%;
  aspect-ratio: 5/7;
  object-fit: cover;
  object-position: center;
  display: block;
}

.opening .team-text h2 {
  font-size: 30px;
  line-height: 1.2;
  margin: 0 0 16px;
  background: linear-gradient(135deg, #CB54A5, #AA1E6C);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

.opening .team-text p {
  font-size: 15px;
  line-height: 1.8;
  color: #3a1a2e;
  margin: 0 0 16px;
  max-width: 560px;
}

.opening .team-names {
  display: flex;
  flex-direction: column;
  gap: 16px;
  margin-top: 16px;
}

.opening .team-person {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.opening .person-name {
  font-size: 15px;
  line-height: 1.2;
  color: #AA1E6C;
  font-weight: 700;
}

.opening .person-role {
  font-size: 15px;
  line-height: 1.2;
  color: #7a3560;
}

.opening .continue-section {
  padding: 64px 0;
  background: #fff;
}

.opening .continue-inner {
  max-width: 1280px;
  margin: 0 auto;
  padding: 0 32px;
}

.opening .continue-layout {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 32px;
  align-items: center;
}

.opening .continue-text h2 {
  font-size: 42px;
  line-height: 1.2;
  margin: 0 0 16px;
  background: linear-gradient(135deg, #CB54A5, #AA1E6C);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

.opening .continue-text p {
  font-size: 15px;
  line-height: 1.8;
  color: #3a1a2e;
  margin: 0 0 16px;
  padding: 0 64px;
}

.opening .continue-links {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.opening .continue-link {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: space-between;
  padding: 16px 32px;
  background: #fdf4fa;
  border-radius: 16px;
  text-decoration: none;
  color: #2a0f1e;
  font-size: 15px;
  line-height: 1.2;
  box-shadow: 2px 3px 2px 0 rgba(170, 30, 108, 0.06);
  transition: box-shadow 0.12s ease-out, background 0.1s ease-out;
}

.opening .continue-link:hover {
  background: #f5e0f0;
  box-shadow: 2px 4px 18px 0 rgba(170, 30, 108, 0.10);
}

.opening .continue-link-arrow {
  width: 20px;
  height: 20px;
  flex-shrink: 0;
}

.opening .continue-img-wrap {
  border-radius: 16px;
  overflow: hidden;
  box-shadow: 2px 4px 18px 0 rgba(170, 30, 108, 0.10);
  position: relative;
}

.opening .continue-img-wrap img {
  width: 100%;
  height: 340px;
  object-fit: cover;
  object-position: center;
  display: block;
}

.opening .continue-img-fade {
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: 120px;
  background: linear-gradient(to right, #fff, transparent);
  pointer-events: none;
}

.opening .curl-deco {
  position: absolute;
  bottom: 16px;
  right: 32px;
  width: 80px;
  height: 80px;
  opacity: 0.08;
  pointer-events: none;
}

@media (max-width: 900px) {
  .opening .title-grid {
    grid-template-columns: 1fr;
  }

  .opening .title-img-wrap img {
    height: 300px;
  }

  .opening .archive-layout {
    grid-template-columns: 1fr;
  }

  .opening .posts-grid {
    grid-template-columns: 1fr;
  }

  .opening .start-grid {
    grid-template-columns: 1fr;
  }

  .opening .voice-grid {
    grid-template-columns: 1fr;
  }

  .opening .team-layout {
    grid-template-columns: 1fr;
  }

  .opening .continue-layout {
    grid-template-columns: 1fr;
  }

  .opening .continue-text p {
    padding: 0;
  }
}

@media (max-width: 600px) {
  .opening .title-heading {
    font-size: 42px;
  }

  .opening .title-grid,
  .opening .archive-inner,
  .opening .posts-inner,
  .opening .start-inner,
  .opening .voice-inner,
  .opening .team-inner,
  .opening .continue-inner {
    padding: 0 16px;
  }

  .opening .big-number {
    font-size: 58px;
  }

  .opening .posts-heading {
    font-size: 30px;
  }

  .opening .start-text h2,
  .opening .continue-text h2 {
    font-size: 30px;
  }

  .opening .team-portraits {
    flex-direction: column;
  }
}

@media (min-width: 900px) and (max-width: 1200px) {
  .opening .posts-grid {
    grid-template-columns: 1fr 1fr;
  }

  .opening .voice-grid {
    grid-template-columns: 1fr 1fr;
  }

  .opening .voice-heading {
    grid-column: 1 / -1;
  }
}

.blog-root {
  max-width: 1280px;
  margin: 0 auto;
  padding: 0 16px;
  overflow-x: clip;
}

.blog-root .posts-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 32px;
  padding: 32px 0;
}

.blog-root .post-card {
  background: #fff;
  border-radius: 16px;
  box-shadow: 2px 4px 18px 0 rgba(170, 30, 108, 0.10);
  overflow: hidden;
  display: flex;
  flex-direction: column;
  transition: box-shadow 0.12s ease-out, transform 0.1s ease-out;
}

.blog-root .post-card:hover {
  box-shadow: 2px 10px 48px 0 rgba(170, 30, 108, 0.12);
  transform: translateY(-2px);
}

.blog-root .post-image-wrap {
  width: 100%;
  aspect-ratio: 1 / 1;
  overflow: hidden;
  position: relative;
}

.blog-root .post-image-wrap img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.14s ease-out;
}

.blog-root .post-card:hover .post-image-wrap img {
  transform: scale(1.03);
}

.blog-root .post-body {
  padding: 16px;
  display: flex;
  flex-direction: column;
  gap: 8px;
  flex: 1;
}

.blog-root .post-author {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 8px;
}

.blog-root .post-author-dot {
  width: 8px;
  height: 8px;
  border-radius: 44px;
  background: #AA1E6C;
  flex-shrink: 0;
}

.blog-root .post-author-name {
  font-size: 15px;
  line-height: 1.2;
  color: #AA1E6C;
  font-weight: 600;
  letter-spacing: 0.06em;
}

.blog-root .post-title {
  font-size: 22px;
  line-height: 1.2;
  color: #1b0a12;
  font-weight: 700;
  background: linear-gradient(120deg, #CB54A5, #AA1E6C);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

.blog-root .post-desc {
  font-size: 15px;
  line-height: 1.8;
  color: #3a1a2a;
  flex: 1;
}

.blog-root .post-footer {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: space-between;
  padding: 8px 16px 16px;
}

.blog-root .post-likes {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 8px;
  font-size: 15px;
  color: #AA1E6C;
}

.blog-root .post-likes svg {
  width: 18px;
  height: 18px;
  fill: #AA1E6C;
}

.blog-root .post-link {
  display: inline-block;
  padding: 8px 16px;
  border-radius: 44px;
  background: #AA1E6C;
  color: #fff;
  font-size: 15px;
  line-height: 1.2;
  font-weight: 600;
  text-decoration: none;
  transition: background 0.1s linear;
}

.blog-root .post-link:hover {
  background: #CB54A5;
}

.blog-root .blog-top {
  padding: 32px 0 16px;
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.blog-root .blog-top-label {
  font-size: 15px;
  line-height: 1.2;
  color: #CB54A5;
  font-weight: 600;
  letter-spacing: 0.09em;
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 8px;
}

.blog-root .blog-top-label-dot {
  width: 8px;
  height: 8px;
  border-radius: 44px;
  background: #CB54A5;
}

.blog-root .blog-heading {
  font-size: 42px;
  line-height: 1.2;
  color: #1b0a12;
  font-weight: 700;
  background: linear-gradient(120deg, #E0AFDA, #AA1E6C);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

.blog-root .blog-heading span {
  text-decoration: underline;
  text-decoration-color: #CB54A5;
  text-underline-offset: 4px;
}

.blog-root .blog-sub {
  font-size: 15px;
  line-height: 1.8;
  color: #3a1a2a;
  max-width: 560px;
}

.blog-root .divider-double {
  display: flex;
  flex-direction: column;
  gap: 4px;
  margin: 32px 0;
}

.blog-root .divider-double span {
  display: block;
  height: 2px;
  border-radius: 4px;
}

.blog-root .divider-double span:first-child {
  background: #AA1E6C;
}

.blog-root .divider-double span:last-child {
  background: #E0AFDA;
}

.blog-root .extra-blocks {
  display: flex;
  flex-direction: column;
  gap: 32px;
  padding-bottom: 32px;
}

.blog-root .block-intro {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 32px;
  align-items: center;
  background: linear-gradient(160deg, #E0AFDA 0%, transparent 100%);
  border-radius: 16px;
  padding: 32px;
  position: relative;
  overflow: hidden;
}

.blog-root .block-intro-circles {
  position: absolute;
  top: -32px;
  right: -32px;
  width: 160px;
  height: 160px;
  pointer-events: none;
}

.blog-root .block-intro-text {
  display: flex;
  flex-direction: column;
  gap: 16px;
  position: relative;
  z-index: 1;
}

.blog-root .block-intro-text h2 {
  font-size: 30px;
  line-height: 1.2;
  color: #1b0a12;
  font-weight: 700;
  background: linear-gradient(120deg, #CB54A5, #AA1E6C);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

.blog-root .block-intro-text p {
  font-size: 15px;
  line-height: 1.8;
  color: #3a1a2a;
  margin: 0 10% 0 0;
}

.blog-root .block-intro-image {
  border-radius: 16px;
  overflow: hidden;
  box-shadow: 2px 10px 48px 0 rgba(170, 30, 108, 0.12);
  position: relative;
}

.blog-root .block-intro-image img {
  width: 100%;
  height: 320px;
  object-fit: cover;
  display: block;
}

.blog-root .block-intro-image-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(to right, #E0AFDA 0%, transparent 60%);
  border-radius: 16px;
}

.blog-root .block-tips {
  background: #fff;
  border-radius: 16px;
  box-shadow: 2px 3px 2px 0 rgba(170, 30, 108, 0.06);
  padding: 32px;
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.blog-root .block-tips h3 {
  font-size: 30px;
  line-height: 1.2;
  color: #1b0a12;
  font-weight: 700;
  background: linear-gradient(120deg, #CB54A5, #AA1E6C);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

.blog-root .tips-list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
}

.blog-root .tip-item {
  border-radius: 16px;
  background: linear-gradient(160deg, #E0AFDA 0%, transparent 100%);
  padding: 16px;
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.blog-root .tip-item h5 {
  font-size: 15px;
  line-height: 1.2;
  color: #AA1E6C;
  font-weight: 700;
  margin: 0;
}

.blog-root .tip-item p {
  font-size: 15px;
  line-height: 1.8;
  color: #3a1a2a;
  margin: 0;
}

.blog-root .block-cta {
  border-radius: 16px;
  background: #AA1E6C;
  padding: 32px;
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: space-between;
  gap: 32px;
  box-shadow: 2px 10px 48px 0 rgba(170, 30, 108, 0.12);
  position: relative;
  overflow: hidden;
}

.blog-root .block-cta-circles {
  position: absolute;
  bottom: -24px;
  left: -24px;
  width: 140px;
  height: 140px;
  pointer-events: none;
  opacity: 0.18;
}

.blog-root .block-cta-text {
  display: flex;
  flex-direction: column;
  gap: 8px;
  position: relative;
  z-index: 1;
}

.blog-root .block-cta-text h4 {
  font-size: 30px;
  line-height: 1.2;
  color: #fff;
  font-weight: 700;
  margin: 0;
}

.blog-root .block-cta-text p {
  font-size: 15px;
  line-height: 1.8;
  color: #f3d4ea;
  margin: 0;
  max-width: 480px;
}

.blog-root .block-cta-action {
  position: relative;
  z-index: 1;
  flex-shrink: 0;
}

.blog-root .cta-btn {
  display: inline-block;
  padding: 16px 32px;
  border-radius: 44px;
  background: #fff;
  color: #AA1E6C;
  font-size: 15px;
  font-weight: 700;
  text-decoration: none;
  border: none;
  cursor: pointer;
  transition: background 0.1s linear, color 0.1s linear;
  box-shadow: 2px 4px 18px 0 rgba(170, 30, 108, 0.10);
}

.blog-root .cta-btn:hover {
  background: #E0AFDA;
  color: #AA1E6C;
}

@keyframes blog-drop-in {
  from {
    opacity: 0;
    transform: translateY(-24px);
    clip-path: inset(0 0 100% 0);
  }

  to {
    opacity: 1;
    transform: translateY(0);
    clip-path: inset(0 0 0% 0);
  }
}

.blog-root .post-card {
  animation: blog-drop-in 0.14s cubic-bezier(0.34, 1.36, 0.64, 1) both;
}

.blog-root .post-card:nth-child(1) {
  animation-delay: 0.04s;
}

.blog-root .post-card:nth-child(2) {
  animation-delay: 0.09s;
}

.blog-root .post-card:nth-child(3) {
  animation-delay: 0.13s;
}

@media (max-width: 900px) {
  .blog-root .posts-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .blog-root .tips-list {
    grid-template-columns: repeat(2, 1fr);
  }

  .blog-root .block-intro {
    grid-template-columns: 1fr;
  }

  .blog-root .block-cta {
    flex-direction: column;
    align-items: flex-start;
  }

  .blog-root .blog-heading {
    font-size: 30px;
  }
}

@media (max-width: 600px) {
  .blog-root .posts-grid {
    grid-template-columns: 1fr;
  }

  .blog-root .tips-list {
    grid-template-columns: 1fr;
  }

  .blog-root .blog-heading {
    font-size: 22px;
  }

  .blog-root .block-intro {
    padding: 16px;
  }

  .blog-root .block-tips {
    padding: 16px;
  }

  .blog-root .block-cta {
    padding: 16px;
  }
}

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

.news-page .news-lead {
  background: linear-gradient(135deg, #E0AFDA 0%, #fff 60%, #f5e8f2 100%);
  padding: 64px 32px 48px;
  position: relative;
}

.news-page .news-lead::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: radial-gradient(ellipse at 50% 40%, rgba(203, 84, 165, 0.13) 0%, transparent 70%);
  pointer-events: none;
}

.news-page .news-lead-inner {
  max-width: 1280px;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  gap: 32px;
}

.news-page .news-lead-top {
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  gap: 32px;
}

.news-page .news-lead-text {
  flex: 1;
  min-width: 0;
}

.news-page .news-lead-text .label-track {
  font-size: 15px;
  line-height: 1.2;
  letter-spacing: 0.18em;
  color: #AA1E6C;
  text-transform: uppercase;
  margin-bottom: 16px;
  display: block;
}

.news-page .news-lead-text h1 {
  font-size: 58px;
  line-height: 1.2;
  background: linear-gradient(120deg, #CB54A5, #AA1E6C);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  margin: 0 0 16px;
}

.news-page .news-lead-text .lead-desc {
  font-size: 22px;
  line-height: 1.8;
  color: #3a1a2e;
  max-width: 560px;
  margin: 0;
}

.news-page .news-lead-image-wrap {
  width: 340px;
  flex-shrink: 0;
  border-radius: 16px;
  overflow: hidden;
  box-shadow: 2px 10px 48px 0 rgba(170, 30, 108, 0.12);
  position: relative;
}

.news-page .news-lead-image-wrap img {
  width: 100%;
  height: 260px;
  object-fit: cover;
  object-position: center;
  display: block;
  opacity: 0;
  transition: opacity 0.12s ease-out;
}

.news-page .news-lead-image-wrap img.loaded {
  opacity: 1;
}

.news-page .news-lead-image-wrap::after {
  content: "";
  position: absolute;
  inset: 0;
  background: radial-gradient(ellipse at 50% 50%, transparent 40%, rgba(170, 30, 108, 0.18) 100%);
  pointer-events: none;
}

.news-page .news-lead-geo {
  display: flex;
  flex-direction: row;
  gap: 32px;
  flex-wrap: wrap;
}

.news-page .news-stat {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.news-page .news-stat .stat-num {
  font-size: 42px;
  line-height: 1.2;
  color: #AA1E6C;
  font-weight: 700;
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

.news-page .news-stat .stat-label {
  font-size: 15px;
  line-height: 1.2;
  color: #5a2a48;
}

.news-page .ring-wrap {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  position: relative;
  width: 64px;
  height: 64px;
}

.news-page .ring-wrap svg {
  position: absolute;
  top: 0;
  left: 0;
  transform: rotate(-90deg);
}

.news-page .ring-wrap .ring-val {
  font-size: 15px;
  line-height: 1.2;
  color: #AA1E6C;
  font-weight: 700;
  position: relative;
  z-index: 1;
}

.news-page .chevron-divider {
  width: 100%;
  overflow: hidden;
  line-height: 0;
  margin: 0;
}

.news-page .chevron-divider svg {
  display: block;
  width: 100%;
}

.news-page .news-list {
  background: #fff;
  padding: 0 32px 64px;
}

.news-page .news-list-inner {
  max-width: 1280px;
  margin: 0 auto;
}

.news-page .news-list-heading {
  padding: 48px 0 32px;
  display: flex;
  flex-direction: row;
  align-items: flex-end;
  gap: 32px;
  border-bottom: 1px solid #e8d4e2;
  margin-bottom: 32px;
}

.news-page .news-list-heading h2 {
  font-size: 30px;
  line-height: 1.2;
  background: linear-gradient(120deg, #CB54A5, #AA1E6C);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  margin: 0;
  flex: 1;
}

.news-page .news-list-heading .punctuation {
  font-size: 72px;
  line-height: 1.2;
  color: #E0AFDA;
  opacity: 0.5;
  font-weight: 900;
  user-select: none;
}

.news-page .news-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 32px;
}

.news-page .news-card {
  border-radius: 16px;
  overflow: hidden;
  box-shadow: 2px 4px 18px 0 rgba(170, 30, 108, 0.10);
  background: #fff;
  display: flex;
  flex-direction: column;
  opacity: 0;
  transform: translateY(24px);
  transition: opacity 0.12s ease-out, transform 0.12s ease-out, box-shadow 0.1s ease-out;
}

.news-page .news-card.visible {
  opacity: 1;
  transform: translateY(0);
}

.news-page .news-card:hover {
  box-shadow: 2px 10px 48px 0 rgba(170, 30, 108, 0.12);
}

.news-page .news-card-img {
  width: 100%;
  height: 200px;
  overflow: hidden;
  position: relative;
}

.news-page .news-card-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
  opacity: 0;
  transition: opacity 0.12s ease-out, transform 0.15s ease-out;
}

.news-page .news-card-img img.loaded {
  opacity: 1;
}

.news-page .news-card:hover .news-card-img img {
  transform: scale(1.03);
}

.news-page .news-card-body {
  padding: 16px;
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.news-page .news-card-tag {
  font-size: 15px;
  line-height: 1.2;
  color: #AA1E6C;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.news-page .news-card-body h3 {
  font-size: 22px;
  line-height: 1.2;
  color: #2a0e1f;
  margin: 0;
}

.news-page .news-card-body p {
  font-size: 15px;
  line-height: 1.8;
  color: #4a2238;
  margin: 0;
  flex: 1;
}

.news-page .news-card-footer {
  padding: 8px 16px 16px;
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 8px;
}

.news-page .news-card-portrait {
  width: 40px;
  height: 40px;
  overflow: hidden;
  flex-shrink: 0;
}

.news-page .news-card-portrait img {
  width: 40px;
  height: 40px;
  object-fit: cover;
  object-position: center;
  display: block;
}

.news-page .news-card-author {
  font-size: 15px;
  line-height: 1.2;
  color: #5a2a48;
}

.news-page .news-card-link {
  margin-left: auto;
  font-size: 15px;
  line-height: 1.2;
  color: #AA1E6C;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  transition: text-decoration-thickness 0.1s ease-out;
  cursor: pointer;
}

.news-page .news-card-link:hover {
  text-decoration-thickness: 3px;
}

.news-page .news-solo {
  grid-column: 1 / -1;
  display: flex;
  flex-direction: row;
  gap: 32px;
  border-radius: 16px;
  overflow: hidden;
  box-shadow: 2px 4px 18px 0 rgba(170, 30, 108, 0.10);
  background: linear-gradient(120deg, #f9f0f6 0%, #fff 100%);
  opacity: 0;
  transform: translateY(24px);
  transition: opacity 0.12s ease-out, transform 0.12s ease-out;
}

.news-page .news-solo.visible {
  opacity: 1;
  transform: translateY(0);
}

.news-page .news-solo-img {
  width: 380px;
  flex-shrink: 0;
  overflow: hidden;
}

.news-page .news-solo-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
  min-height: 240px;
  opacity: 0;
  transition: opacity 0.12s ease-out;
}

.news-page .news-solo-img img.loaded {
  opacity: 1;
}

.news-page .news-solo-body {
  flex: 1;
  padding: 32px 32px 32px 16px;
  display: flex;
  flex-direction: column;
  gap: 16px;
  justify-content: center;
}

.news-page .news-solo-body .tag {
  font-size: 15px;
  line-height: 1.2;
  color: #AA1E6C;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.news-page .news-solo-body h3 {
  font-size: 30px;
  line-height: 1.2;
  color: #2a0e1f;
  margin: 0;
}

.news-page .news-solo-body p {
  font-size: 15px;
  line-height: 1.8;
  color: #4a2238;
  margin: 0;
  max-width: 520px;
}

.news-page .news-solo-body .solo-link {
  font-size: 15px;
  line-height: 1.2;
  color: #AA1E6C;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  transition: text-decoration-thickness 0.1s ease-out;
  align-self: flex-start;
}

.news-page .news-solo-body .solo-link:hover {
  text-decoration-thickness: 3px;
}

@media (max-width: 900px) {
  .news-page .news-lead-top {
    flex-direction: column;
  }

  .news-page .news-lead-image-wrap {
    width: 100%;
  }

  .news-page .news-lead-text h1 {
    font-size: 42px;
  }

  .news-page .news-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .news-page .news-solo {
    flex-direction: column;
  }

  .news-page .news-solo-img {
    width: 100%;
    height: 220px;
  }
}

@media (max-width: 600px) {
  .news-page .news-lead {
    padding: 32px 16px 32px;
  }

  .news-page .news-list {
    padding: 0 16px 32px;
  }

  .news-page .news-lead-text h1 {
    font-size: 30px;
  }

  .news-page .news-lead-text .lead-desc {
    font-size: 15px;
  }

  .news-page .news-grid {
    grid-template-columns: 1fr;
  }

  .news-page .news-list-heading {
    padding: 32px 0 16px;
  }

  .news-page .news-list-heading .punctuation {
    display: none;
  }

  .news-page .news-solo-body {
    padding: 16px;
  }

  .news-page .news-solo-body h3 {
    font-size: 22px;
  }
}

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

.about-author-page .author-split {
  display: grid;
  grid-template-columns: 1fr 340px;
  min-height: 0;
  max-width: 1280px;
  margin: 0 auto;
  padding: 32px 32px 0 32px;
  gap: 32px;
  align-items: start;
}

.about-author-page .author-left {
  padding: 32px 32px 32px 0;
  position: relative;
}

.about-author-page .author-left::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  border: 1px solid rgba(170, 30, 108, 0.10);
  border-radius: 16px;
  pointer-events: none;
}

.about-author-page .author-left::after {
  content: "";
  position: absolute;
  top: 6px;
  left: 6px;
  right: 6px;
  bottom: 6px;
  border: 1px solid rgba(170, 30, 108, 0.05);
  border-radius: 16px;
  pointer-events: none;
}

.about-author-page .author-eyebrow {
  font-size: 15px;
  line-height: 1.2;
  color: #AA1E6C;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  margin-bottom: 16px;
  display: block;
}

.about-author-page .author-name {
  font-size: 58px;
  line-height: 1.2;
  color: #1b0a13;
  margin: 0 0 16px 0;
  background: linear-gradient(120deg, #CB54A5, #AA1E6C);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

.about-author-page .author-role {
  font-size: 22px;
  line-height: 1.8;
  color: #3d1a2e;
  margin: 0 0 32px 0;
}

.about-author-page .author-bio {
  font-size: 15px;
  line-height: 1.8;
  color: #2e1020;
  max-width: 560px;
  margin: 0 0 32px 0;
}

.about-author-page .author-bio p {
  margin: 0 0 16px 0;
}

.about-author-page .author-bio p:last-child {
  margin-bottom: 0;
}

.about-author-page .author-stats {
  display: flex;
  flex-direction: row;
  gap: 32px;
  margin-top: 32px;
}

.about-author-page .stat-item {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.about-author-page .stat-number {
  font-size: 42px;
  line-height: 1.2;
  color: #AA1E6C;
}

.about-author-page .stat-label {
  font-size: 15px;
  line-height: 1.2;
  color: #5a2040;
}

.about-author-page .author-right {
  display: flex;
  flex-direction: column;
  gap: 16px;
  padding-top: 32px;
}

.about-author-page .author-image-wrap {
  border-radius: 16px;
  overflow: hidden;
  position: relative;
}

.about-author-page .author-image-wrap img {
  width: 100%;
  height: 420px;
  object-fit: cover;
  object-position: center;
  display: block;
  border-radius: 16px;
}

.about-author-page .deco-shape {
  position: absolute;
  border-radius: 44px;
  pointer-events: none;
  z-index: 0;
}

.about-author-page .deco-a {
  width: 120px;
  height: 120px;
  background: rgba(224, 175, 218, 0.18);
  top: -24px;
  right: -24px;
}

.about-author-page .deco-b {
  width: 64px;
  height: 64px;
  background: rgba(203, 84, 165, 0.10);
  bottom: 32px;
  left: -16px;
}

@keyframes flicker-accent {

  0%,
  100% {
    opacity: 0;
  }

  20% {
    opacity: 0.13;
  }

  40% {
    opacity: 0.04;
  }

  60% {
    opacity: 0.16;
  }

  80% {
    opacity: 0.07;
  }
}

.about-author-page .author-image-wrap .flicker-layer {
  position: absolute;
  inset: 0;
  background: #AA1E6C;
  border-radius: 16px;
  pointer-events: none;
  animation: flicker-accent 6s cubic-bezier(0.4, 0, 0.2, 1) infinite;
  z-index: 1;
}

.about-author-page .approach-band {
  background: #fff7fb;
  border-right: 4px solid #AA1E6C;
  padding: 32px 16px 32px 32px;
  border-radius: 4px;
  box-shadow: 2px 3px 2px 0 rgba(170, 30, 108, 0.06);
}

.about-author-page .approach-band .approach-label {
  font-size: 15px;
  line-height: 1.2;
  color: #AA1E6C;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  margin-bottom: 8px;
  display: block;
}

.about-author-page .approach-band .approach-text {
  font-size: 15px;
  line-height: 1.8;
  color: #2e1020;
  margin: 0;
}

.about-author-page .comparison-section {
  max-width: 1280px;
  margin: 0 auto;
  padding: 32px;
  position: relative;
}

.about-author-page .comparison-section::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: 4px;
  background: linear-gradient(180deg, #E0AFDA, transparent);
  border-radius: 4px;
}

.about-author-page .comparison-heading {
  font-size: 30px;
  line-height: 1.2;
  background: linear-gradient(120deg, #CB54A5, #AA1E6C);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  margin: 0 0 32px 0;
  text-align: center;
}

.about-author-page .comparison-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
  max-width: 900px;
  margin: 0 auto;
}

.about-author-page .comparison-col {
  border-radius: 16px;
  padding: 32px;
  box-shadow: 2px 4px 18px 0 rgba(170, 30, 108, 0.10);
}

.about-author-page .comparison-col.before {
  background: #f5f0f3;
}

.about-author-page .comparison-col.after {
  background: linear-gradient(160deg, #E0AFDA, transparent 80%), #fff7fb;
}

.about-author-page .col-label {
  font-size: 15px;
  line-height: 1.2;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  margin-bottom: 16px;
  display: block;
}

.about-author-page .comparison-col.before .col-label {
  color: #7a4060;
}

.about-author-page .comparison-col.after .col-label {
  color: #AA1E6C;
}

.about-author-page .comparison-col ul {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.about-author-page .comparison-col ul li {
  font-size: 15px;
  line-height: 1.8;
  color: #2e1020;
  padding-left: 16px;
  position: relative;
}

.about-author-page .comparison-col.before ul li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 12px;
  width: 6px;
  height: 1px;
  background: #7a4060;
}

.about-author-page .comparison-col.after ul li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 10px;
  width: 6px;
  height: 6px;
  background: #AA1E6C;
  border-radius: 50%;
}

.about-author-page .credentials-section {
  background: #AA1E6C;
  padding: 32px;
  position: relative;
  overflow: hidden;
}

.about-author-page .credentials-section .fish-scale {
  position: absolute;
  inset: 0;
  background-image: radial-gradient(circle at 50% 0%, rgba(255, 255, 255, 0.06) 30%, transparent 31%),
    radial-gradient(circle at 0% 50%, rgba(255, 255, 255, 0.06) 30%, transparent 31%),
    radial-gradient(circle at 100% 50%, rgba(255, 255, 255, 0.06) 30%, transparent 31%);
  background-size: 40px 40px;
  pointer-events: none;
  z-index: 0;
}

.about-author-page .credentials-inner {
  max-width: 1280px;
  margin: 0 auto;
  position: relative;
  z-index: 1;
}

.about-author-page .credentials-heading {
  font-size: 30px;
  line-height: 1.2;
  color: #fff;
  margin: 0 0 32px 0;
  text-align: center;
}

.about-author-page .credentials-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
}

.about-author-page .cred-card {
  background: rgba(255, 255, 255, 0.10);
  border-radius: 16px;
  padding: 32px;
  border: 1px solid rgba(255, 255, 255, 0.15);
  box-shadow: 2px 4px 18px 0 rgba(170, 30, 108, 0.10);
  transition: background 0.12s ease-out;
}

.about-author-page .cred-card:hover {
  background: rgba(255, 255, 255, 0.16);
}

.about-author-page .cred-title {
  font-size: 15px;
  line-height: 1.2;
  color: #E0AFDA;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  margin-bottom: 8px;
  display: block;
}

.about-author-page .cred-text {
  font-size: 15px;
  line-height: 1.8;
  color: #fff;
  margin: 0;
}

.about-author-page .testimonials-section {
  max-width: 1280px;
  margin: 0 auto;
  padding: 32px;
}

.about-author-page .testimonials-heading {
  font-size: 30px;
  line-height: 1.2;
  background: linear-gradient(120deg, #CB54A5, #AA1E6C);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  margin: 0 0 32px 0;
}

.about-author-page .testimonials-layout {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
  align-items: start;
}

.about-author-page .testimonial-card {
  border-radius: 16px;
  padding: 32px;
  box-shadow: 2px 10px 48px 0 rgba(170, 30, 108, 0.12);
  background: #fff;
  border: 1px solid rgba(170, 30, 108, 0.08);
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.about-author-page .testimonial-card.featured {
  background: linear-gradient(160deg, #fff7fb, #fff);
}

.about-author-page .testimonial-quote {
  font-size: 15px;
  line-height: 1.8;
  color: #2e1020;
  margin: 0;
}

.about-author-page .testimonial-person {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 16px;
}

.about-author-page .testimonial-portrait {
  width: 48px;
  height: 48px;
  border-radius: 50%;
  object-fit: cover;
  object-position: center;
  flex-shrink: 0;
}

.about-author-page .person-name {
  font-size: 15px;
  line-height: 1.2;
  color: #AA1E6C;
  display: block;
}

.about-author-page .person-detail {
  font-size: 15px;
  line-height: 1.2;
  color: #7a4060;
  display: block;
  margin-top: 4px;
}

.about-author-page .method-section {
  padding: 32px;
  background: #fff;
  position: relative;
}

.about-author-page .method-section::before {
  content: "";
  position: absolute;
  top: 0;
  left: 32px;
  right: 32px;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(170, 30, 108, 0.18), transparent);
}

.about-author-page .method-inner {
  max-width: 1280px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 360px 1fr;
  gap: 32px;
  align-items: center;
}

.about-author-page .method-image-col {
  position: relative;
}

.about-author-page .method-image-col img {
  width: 100%;
  height: 480px;
  object-fit: cover;
  object-position: center;
  border-radius: 16px;
  display: block;
  box-shadow: 2px 10px 48px 0 rgba(170, 30, 108, 0.12);
}

.about-author-page .method-text-col {
  display: flex;
  flex-direction: column;
  gap: 32px;
}

.about-author-page .method-heading {
  font-size: 42px;
  line-height: 1.2;
  background: linear-gradient(120deg, #CB54A5, #AA1E6C);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  margin: 0;
}

.about-author-page .method-body {
  font-size: 15px;
  line-height: 1.8;
  color: #2e1020;
  max-width: 520px;
  margin: 0;
}

.about-author-page .method-steps {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.about-author-page .method-step {
  display: grid;
  grid-template-columns: 32px 1fr;
  gap: 16px;
  align-items: start;
}

.about-author-page .step-num {
  width: 32px;
  height: 32px;
  border-radius: 44px;
  background: linear-gradient(135deg, #E0AFDA, #CB54A5);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 15px;
  color: #fff;
  flex-shrink: 0;
  box-shadow: 2px 3px 2px 0 rgba(170, 30, 108, 0.06);
}

.about-author-page .step-text {
  font-size: 15px;
  line-height: 1.8;
  color: #2e1020;
}

.about-author-page .method-images-row {
  display: flex;
  flex-direction: row;
  gap: 16px;
}

.about-author-page .method-images-row img {
  flex: 1;
  height: 180px;
  object-fit: cover;
  object-position: center;
  border-radius: 16px;
  display: block;
}

@keyframes clip-expand {
  from {
    clip-path: inset(50% 50% 50% 50% round 16px);
  }

  to {
    clip-path: inset(0% 0% 0% 0% round 16px);
  }
}

.about-author-page .animate-reveal {
  animation: clip-expand 0.55s cubic-bezier(0.34, 1.56, 0.64, 1) both;
}

.about-author-page .animate-reveal-delay {
  animation: clip-expand 0.55s cubic-bezier(0.34, 1.56, 0.64, 1) 0.18s both;
}

@media (max-width: 1200px) {
  .about-author-page .credentials-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 900px) {
  .about-author-page .author-split {
    grid-template-columns: 1fr;
    padding: 16px;
  }

  .about-author-page .author-right {
    padding-top: 0;
  }

  .about-author-page .author-name {
    font-size: 42px;
  }

  .about-author-page .comparison-grid {
    grid-template-columns: 1fr;
  }

  .about-author-page .credentials-grid {
    grid-template-columns: 1fr;
  }

  .about-author-page .testimonials-layout {
    grid-template-columns: 1fr;
  }

  .about-author-page .method-inner {
    grid-template-columns: 1fr;
  }

  .about-author-page .method-image-col img {
    height: 280px;
  }

  .about-author-page .author-stats {
    flex-wrap: wrap;
    gap: 16px;
  }
}

@media (max-width: 600px) {
  .about-author-page .author-name {
    font-size: 30px;
  }

  .about-author-page .method-heading {
    font-size: 30px;
  }

  .about-author-page .method-images-row {
    flex-direction: column;
  }

  .about-author-page .method-images-row img {
    height: 200px;
  }

  .about-author-page .author-left {
    padding: 16px;
  }

  .about-author-page .comparison-section,
  .about-author-page .credentials-section,
  .about-author-page .testimonials-section,
  .about-author-page .method-section {
    padding: 16px;
  }

  .about-author-page .comparison-col {
    padding: 16px;
  }

  .about-author-page .cred-card {
    padding: 16px;
  }

  .about-author-page .testimonial-card {
    padding: 16px;
  }
}

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

.consultation .page-wrap {
  max-width: 1280px;
  margin: 0 auto;
  padding: 0 32px;
}

.consultation .grad-text {
  background: linear-gradient(135deg, #CB54A5, #AA1E6C);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

.consultation .divider-geo {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 16px 0;
  overflow: hidden;
}

.consultation .divider-geo span {
  display: inline-block;
  width: 6px;
  height: 6px;
  background: #E0AFDA;
  transform: rotate(45deg);
  flex-shrink: 0;
}

.consultation .divider-geo span.accent {
  background: #AA1E6C;
  width: 8px;
  height: 8px;
}

.consultation .sweep-heading {
  position: relative;
  display: inline-block;
}

.consultation .sweep-heading::after {
  content: '';
  position: absolute;
  top: 0;
  left: -8%;
  width: 40%;
  height: 100%;
  background: linear-gradient(90deg, transparent, rgba(203, 84, 165, 0.18), transparent);
  animation: sweep-pass 1.8s cubic-bezier(0.22, 0.8, 0.44, 1) 0.3s forwards;
  pointer-events: none;
}

@keyframes sweep-pass {
  0% {
    left: -40%;
    opacity: 1;
  }

  100% {
    left: 110%;
    opacity: 0;
  }
}

.consultation .title-block {
  display: flex;
  flex-direction: row;
  min-height: 0;
  padding: 64px 0 48px;
  gap: 0;
  background: #fff;
  position: relative;
}

.consultation .title-block .image-half {
  flex: 1 1 50%;
  position: relative;
  min-height: 420px;
  overflow: hidden;
  border-radius: 4px;
}

.consultation .title-block .image-half img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
}

.consultation .title-block .image-half .img-fade {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 55%;
  background: linear-gradient(to top, rgba(170, 30, 108, 0.38), transparent);
  pointer-events: none;
}

.consultation .title-block .image-half .brand-deco {
  position: absolute;
  top: 32px;
  left: 32px;
  width: 80px;
  height: 80px;
  border-radius: 44px;
  background: rgba(170, 30, 108, 0.10);
  pointer-events: none;
}

.consultation .title-block .text-half {
  flex: 1 1 50%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 32px 48px 32px 48px;
}

.consultation .title-block .text-half h1 {
  font-size: 58px;
  line-height: 1.2;
  margin: 0;
  color: #1e0a14;
}

.consultation .diagonal-line {
  position: absolute;
  top: 0;
  right: 0;
  width: 1px;
  height: 100%;
  background: linear-gradient(to bottom, transparent, rgba(170, 30, 108, 0.18), transparent);
  transform: rotate(8deg) translateX(-60px);
  pointer-events: none;
}

.consultation .info-block {
  background: #f5eaf2;
  padding: 64px 0 72px;
  position: relative;
}

.consultation .info-block .page-wrap {
  display: grid;
  grid-template-columns: 1fr 2fr;
  gap: 32px;
  align-items: start;
}

.consultation .info-block .left-col {
  position: relative;
  padding: 32px 0;
}

.consultation .info-block .left-col h2 {
  font-size: 42px;
  line-height: 1.2;
  color: #1e0a14;
  margin: 0 0 16px;
}

.consultation .info-block .left-col .tracked {
  font-size: 15px;
  letter-spacing: 0.18em;
  color: #AA1E6C;
  text-transform: uppercase;
  margin: 0 0 8px;
  display: block;
  line-height: 1.8;
}

.consultation .info-block .left-col .space-zone {
  margin-top: 32px;
  width: 48px;
  height: 3px;
  background: linear-gradient(90deg, #AA1E6C, #E0AFDA);
  border-radius: 4px;
}

.consultation .info-block .right-col {
  display: flex;
  flex-direction: column;
  gap: 32px;
}

.consultation .info-block .right-col .para-wide {
  padding: 0 48px;
}

.consultation .info-block .right-col .para-wide p {
  font-size: 15px;
  line-height: 1.8;
  color: #2e1222;
  margin: 0 0 16px;
}

.consultation .info-block .right-col .para-wide p:last-child {
  margin-bottom: 0;
}

.consultation .info-block .right-col .para-wide a {
  color: #AA1E6C;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  transition: text-decoration-thickness 0.1s ease-out;
}

.consultation .info-block .right-col .para-wide a:hover {
  text-decoration-thickness: 3px;
}

.consultation .info-block .metrics-row {
  display: flex;
  flex-direction: row;
  gap: 16px;
  padding: 0 48px;
}

.consultation .info-block .metric-item {
  flex: 1;
  background: #fff;
  border-radius: 16px;
  padding: 32px 16px;
  box-shadow: 2px 4px 18px 0 rgba(170, 30, 108, 0.10);
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 8px;
  transition: box-shadow 0.12s ease-out;
}

.consultation .info-block .metric-item:hover {
  box-shadow: 2px 10px 48px 0 rgba(170, 30, 108, 0.12);
}

.consultation .info-block .metric-item .metric-num {
  font-size: 42px;
  line-height: 1.2;
  background: linear-gradient(135deg, #CB54A5, #AA1E6C);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  display: block;
}

.consultation .info-block .metric-item .metric-label {
  font-size: 15px;
  line-height: 1.8;
  color: #4a1e36;
  display: block;
}

.consultation .info-block .portraits-row {
  display: flex;
  flex-direction: row;
  gap: 16px;
  padding: 0 48px;
  align-items: flex-start;
}

.consultation .info-block .portrait-card {
  display: flex;
  flex-direction: row;
  gap: 16px;
  align-items: flex-start;
  flex: 1;
}

.consultation .info-block .portrait-card .portrait-img {
  width: 80px;
  flex-shrink: 0;
  aspect-ratio: 5/7;
  overflow: hidden;
  border-radius: 4px;
  box-shadow: 2px 3px 2px 0 rgba(170, 30, 108, 0.06);
}

.consultation .info-block .portrait-card .portrait-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
}

.consultation .info-block .portrait-card .portrait-text {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.consultation .info-block .portrait-card .portrait-text strong {
  font-size: 15px;
  line-height: 1.8;
  color: #1e0a14;
}

.consultation .info-block .portrait-card .portrait-text span {
  font-size: 15px;
  line-height: 1.8;
  color: #6b3a57;
}

.consultation .info-block .portrait-card .portrait-text em {
  font-size: 15px;
  line-height: 1.8;
  color: #4a1e36;
  font-style: normal;
}

.consultation .info-block .diag-deco {
  position: absolute;
  top: 0;
  left: 0;
  width: 1px;
  height: 100%;
  background: linear-gradient(to bottom, transparent, rgba(170, 30, 108, 0.12), transparent);
  transform: rotate(4deg) translateX(120px);
  pointer-events: none;
}

@media (max-width: 900px) {
  .consultation .title-block {
    flex-direction: column;
    padding: 32px 0 32px;
  }

  .consultation .title-block .image-half {
    min-height: 280px;
    flex: none;
    width: 100%;
  }

  .consultation .title-block .text-half {
    padding: 32px 16px;
  }

  .consultation .title-block .text-half h1 {
    font-size: 42px;
  }

  .consultation .info-block .page-wrap {
    grid-template-columns: 1fr;
  }

  .consultation .info-block .left-col {
    padding: 0;
  }

  .consultation .info-block .right-col .para-wide,
  .consultation .info-block .metrics-row,
  .consultation .info-block .portraits-row {
    padding: 0;
  }

  .consultation .info-block .metrics-row {
    flex-direction: column;
  }

  .consultation .info-block .portraits-row {
    flex-direction: column;
  }
}

@media (max-width: 600px) {
  .consultation .page-wrap {
    padding: 0 16px;
  }

  .consultation .title-block .text-half h1 {
    font-size: 30px;
  }

  .consultation .info-block .left-col h2 {
    font-size: 30px;
  }

  .consultation .info-block {
    padding: 32px 0 48px;
  }

  .consultation .title-block {
    padding: 16px 0 16px;
  }
}

.success-page {
  min-height: 60vh;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 32px 16px;
  background: #fff;
}

.success-page .success-wrapper {
  max-width: 560px;
  width: 100%;
  text-align: center;
  padding: 32px;
  border-radius: 16px;
  box-shadow: 2px 10px 48px 0 rgba(170, 30, 108, 0.12);
}

.success-page .success-icon {
  width: 64px;
  height: 64px;
  margin: 0 auto 32px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.success-page .success-icon svg {
  width: 64px;
  height: 64px;
}

.success-page .success-heading {
  font-size: 30px;
  line-height: 1.2;
  margin: 0 0 16px;
  background: linear-gradient(135deg, #CB54A5, #AA1E6C);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

.success-page .success-body {
  font-size: 15px;
  line-height: 1.8;
  color: #3a2030;
  margin: 0 0 32px;
}

.success-page .success-link {
  display: inline-block;
  padding: 16px 32px;
  border-radius: 44px;
  background: #AA1E6C;
  color: #fff;
  font-size: 15px;
  line-height: 1.2;
  text-decoration: none;
  transition: background 0.12s ease-out, box-shadow 0.1s ease-out;
  box-shadow: 2px 4px 18px 0 rgba(170, 30, 108, 0.10);
}

.success-page .success-link:hover {
  background: #CB54A5;
  box-shadow: 2px 10px 48px 0 rgba(170, 30, 108, 0.12);
}

.success-page .success-link:focus {
  outline: 2px solid #AA1E6C;
  outline-offset: 4px;
}

.success-page .success-link:active {
  background: #8a1558;
}

.success-page .success-divider {
  width: 48px;
  height: 4px;
  border-radius: 4px;
  background: linear-gradient(90deg, #E0AFDA, transparent);
  margin: 32px auto 0;
}

@media (max-width: 600px) {
  .success-page .success-wrapper {
    padding: 32px 16px;
  }

  .success-page .success-heading {
    font-size: 22px;
  }
}