/* Chill Ink — custom styles (do not edit theme CSS) */

/*
 * Kill Artefact btn-curve slash (::after). It renders as a white diagonal bar
 * over CTAs when layout/display shifts — never intentional.
 */
.btn-curve:after,
.btn-curve:hover:after,
.btn-curve:focus-visible:after {
  content: none !important;
  display: none !important;
}

.btn-curve,
a.btn-curve,
a.btn-curve:hover,
a.btn-curve:focus-visible,
a.btn-curve:active {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  transform: none !important;
  overflow: hidden;
}

.btn-curve:hover span,
.btn-curve.btn-1:hover span {
  color: inherit;
}

/* Google Reviews */
.reviews-section {
  position: relative;
  padding: 100px 0 90px;
  overflow: hidden;
}

.reviews-section::before {
  content: "";
  position: absolute;
  left: 50%;
  top: 38%;
  transform: translateX(-50%);
  width: min(720px, 92vw);
  height: 320px;
  background: radial-gradient(ellipse at center, rgba(228, 125, 10, 0.16) 0%, transparent 72%);
  pointer-events: none;
  z-index: 0;
}

.reviews-head {
  position: relative;
  z-index: 1;
  margin-bottom: 55px;
}

.reviews-head .section-subtitle {
  margin-bottom: 12px;
}

.reviews-head .section-title {
  margin-bottom: 36px;
  margin-inline: auto;
  max-width: 100%;
  text-align: center;
}

/*
 * Reviews Google badge — static at rest and on hover (no lift, glow pulse, or layout jump).
 */
a.reviews-rating-badge,
a.reviews-rating-badge:hover,
a.reviews-rating-badge:focus,
a.reviews-rating-badge:focus-visible,
a.reviews-rating-badge:active {
  display: inline-flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 18px !important;
  transform: none !important;
  transition: none !important;
  animation: none !important;
  text-decoration: none;
  color: inherit;
}

.reviews-rating-badge {
  position: relative;
  padding: 30px 48px 26px;
  background: linear-gradient(155deg, rgba(28, 28, 28, 0.94) 0%, rgba(10, 10, 10, 0.9) 100%);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  box-shadow:
    0 0 0 1px rgba(228, 125, 10, 0.22),
    0 24px 60px rgba(0, 0, 0, 0.5),
    inset 0 1px 0 rgba(255, 255, 255, 0.07);
}

.reviews-rating-badge .reviews-rating-top {
  display: flex !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 16px 22px !important;
}

.reviews-rating-badge .reviews-stars {
  display: flex !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
}

.reviews-rating-badge .reviews-rating-value {
  display: inline-flex !important;
  align-items: center !important;
  gap: 7px !important;
}

.reviews-rating-badge .reviews-count {
  display: flex !important;
  flex-direction: column !important;
  gap: 3px !important;
}

.reviews-rating-badge .review-star-fill,
.reviews-rating-badge .review-star-fill--badge,
.reviews-rating-badge .reviews-google-chip,
.reviews-rating-badge .review-google-logo {
  display: inline-flex !important;
  flex-shrink: 0 !important;
}

.reviews-rating-badge::before {
  content: "";
  position: absolute;
  inset: 0;
  padding: 1px;
  background: linear-gradient(
    135deg,
    rgba(228, 125, 10, 0.75) 0%,
    rgba(228, 125, 10, 0.12) 35%,
    rgba(255, 255, 255, 0.08) 50%,
    rgba(228, 125, 10, 0.12) 65%,
    rgba(228, 125, 10, 0.55) 100%
  );
  -webkit-mask:
    linear-gradient(#fff 0 0) content-box,
    linear-gradient(#fff 0 0);
  mask:
    linear-gradient(#fff 0 0) content-box,
    linear-gradient(#fff 0 0);
  -webkit-mask-composite: xor;
  mask-composite: exclude;
  pointer-events: none;
}

.reviews-rating-badge__glow {
  position: absolute;
  inset: -40%;
  background: radial-gradient(circle at 50% 40%, rgba(228, 125, 10, 0.14) 0%, transparent 58%);
  opacity: 0.85;
  pointer-events: none;
  transition: none;
  transform: none;
  animation: none;
}

.reviews-rating-badge__corners::before,
.reviews-rating-badge__corners::after {
  content: "";
  position: absolute;
  width: 20px;
  height: 20px;
  border-color: rgba(228, 125, 10, 0.5);
  border-style: solid;
  pointer-events: none;
}

.reviews-rating-badge__corners::before {
  top: 12px;
  left: 12px;
  border-width: 1px 0 0 1px;
}

.reviews-rating-badge__corners::after {
  right: 12px;
  bottom: 12px;
  border-width: 0 1px 1px 0;
}

.reviews-rating-badge:hover,
.reviews-rating-badge:focus-visible {
  outline: none;
  box-shadow:
    0 0 0 1px rgba(228, 125, 10, 0.22),
    0 24px 60px rgba(0, 0, 0, 0.5),
    inset 0 1px 0 rgba(255, 255, 255, 0.07);
}

.reviews-rating-top {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: nowrap;
  gap: 16px 22px;
}

.reviews-google-chip {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: 46px;
  height: 46px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.04);
  box-shadow:
    inset 0 0 0 1px rgba(255, 255, 255, 0.1),
    0 4px 16px rgba(0, 0, 0, 0.25);
}

.reviews-rating-divider {
  width: 1px;
  height: 34px;
  background: linear-gradient(
    to bottom,
    transparent 0%,
    rgba(228, 125, 10, 0.55) 50%,
    transparent 100%
  );
  flex-shrink: 0;
}

.reviews-rating-value {
  display: inline-flex;
  align-items: center;
  flex-shrink: 0;
  gap: 7px;
  line-height: 1;
}

.reviews-rating-top .review-google-logo {
  margin-bottom: 0;
}

.reviews-rating-top .review-google-logo svg {
  width: 26px;
  height: 26px;
}

.reviews-rating-value .review-star-fill svg {
  width: 15px;
  height: 15px;
}

.review-google-logo {
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.review-google-logo svg {
  display: block;
  width: 36px;
  height: 36px;
}

.review-g-badge .review-google-logo svg {
  width: 22px;
  height: 22px;
}

.reviews-stars {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: nowrap;
  gap: 8px;
  line-height: 1;
}

.reviews-rating-badge .reviews-stars,
.reviews-rating-badge .reviews-rating-top,
.reviews-rating-badge .reviews-rating-value,
.reviews-rating-badge .reviews-count,
.reviews-rating-badge .review-star-fill,
.reviews-rating-badge .review-google-logo,
.reviews-rating-badge .reviews-google-chip {
  transition: none !important;
  transform: none !important;
  animation: none !important;
}

.review-star-fill {
  display: inline-flex;
  flex-shrink: 0;
  line-height: 1;
}

.review-star-fill svg {
  display: block;
  width: 18px;
  height: 18px;
  fill: #e47d0a;
  filter: drop-shadow(0 0 4px rgba(228, 125, 10, 0.95)) drop-shadow(0 0 10px rgba(228, 125, 10, 0.65));
  transition: none;
  transform: none;
}

.reviews-stars .review-star-fill--badge svg {
  width: 22px;
  height: 22px;
}

.review-star-fill--badge {
  display: inline-flex;
  flex-shrink: 0;
}

.review-card-stars {
  display: flex;
  align-items: center;
  margin-bottom: 14px;
  color: #e47d0a;
}

.review-card-stars svg {
  display: block;
  width: 88px;
  height: 14px;
  filter: drop-shadow(0 0 4px rgba(228, 125, 10, 0.95)) drop-shadow(0 0 10px rgba(228, 125, 10, 0.65));
}

.review-card-stars .review-star-fill svg {
  width: 14px;
  height: 14px;
}

.reviews-aggregate {
  font-family: "Oswald", sans-serif;
  font-size: 34px;
  font-weight: 500;
  line-height: 1;
  letter-spacing: 1px;
  background: linear-gradient(180deg, #fff 0%, rgba(255, 255, 255, 0.78) 100%);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
}

.reviews-count {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 3px;
  margin: 0;
  text-align: left;
}

.reviews-count-num {
  font-family: "Oswald", sans-serif;
  font-size: 22px;
  font-weight: 500;
  color: #fff;
  letter-spacing: 1px;
  line-height: 1;
}

.reviews-count-text {
  font-family: "Barlow", sans-serif;
  font-size: 11px;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 2.4px;
  color: rgba(255, 255, 255, 0.48);
  line-height: 1.2;
}

@media (max-width: 575px) {
  .reviews-rating-badge {
    padding: 24px 28px 22px;
    gap: 16px;
  }

  .reviews-rating-top {
    gap: 12px 16px;
  }

  .reviews-aggregate {
    font-size: 30px;
  }

  .reviews-count-num {
    font-size: 20px;
  }
}

.reviews-grid {
  display: grid;
  gap: 24px;
  margin-bottom: 45px;
}

@media (min-width: 1200px) {
  .reviews-grid {
    grid-template-columns: repeat(3, 1fr);
  }
}

@media (min-width: 768px) and (max-width: 1199px) {
  .reviews-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 767px) {
  .reviews-grid {
    grid-template-columns: 1fr;
  }
}

@media (prefers-reduced-motion: reduce) {
  a.reviews-rating-badge,
  a.reviews-rating-badge:hover,
  a.reviews-rating-badge:focus-visible {
    transition: none !important;
    transform: none !important;
  }
}

.review-card {
  position: relative;
  background: #101010;
  border: 1px solid rgba(255, 255, 255, 0.06);
  padding: 36px 30px 30px;
  height: 100%;
  display: flex;
  flex-direction: column;
  transition: border-color 0.35s ease, box-shadow 0.35s ease;
  overflow: hidden;
}

@media (max-width: 575px) {
  .review-card {
    padding: 30px 24px 24px;
  }
}

.review-card:hover {
  border-color: rgba(228, 125, 10, 0.55);
  box-shadow: 0 12px 40px rgba(0, 0, 0, 0.45);
}

.review-quote {
  position: absolute;
  top: 18px;
  right: 20px;
  width: 52px;
  opacity: 0.15;
  pointer-events: none;
}

.review-quote img,
.review-quote svg {
  width: 100%;
  height: auto;
}

.review-card-header {
  display: flex;
  align-items: center;
  gap: 14px;
  margin-bottom: 18px;
}

.review-avatar {
  width: 48px;
  height: 48px;
  border-radius: 50%;
  background: #e47d0a;
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: "Oswald", sans-serif;
  font-weight: 500;
  font-size: 15px;
  flex-shrink: 0;
  border: 2px solid rgba(255, 255, 255, 0.08);
}

.review-meta {
  flex: 1;
  min-width: 0;
}

.review-name {
  font-family: "Barlow", sans-serif;
  font-size: 15px;
  font-weight: 500;
  color: #fff;
  margin: 0 0 3px;
  line-height: 1.3;
}

.review-country {
  font-size: 13px;
  color: rgba(255, 255, 255, 0.45);
  margin: 0;
}

.review-g-badge {
  width: 24px;
  height: 24px;
  flex-shrink: 0;
  opacity: 0.85;
}

.review-g-badge .review-google-logo {
  margin-bottom: 0;
}

.review-text {
  color: rgba(255, 255, 255, 0.7);
  font-size: 14px;
  line-height: 1.75;
  flex: 1;
  margin: 0;
  padding-left: 18px;
  border-left: 1px solid #e47d0a;
  display: -webkit-box;
  -webkit-line-clamp: 8;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
}

.review-card-link {
  display: inline-block;
  margin-top: 16px;
  min-height: 44px;
  padding-top: 4px;
  font-size: 0.8125rem;
  font-weight: 600;
  line-height: 1.4;
  text-decoration: none;
  color: #e47d0a;
  border-bottom: 1px solid rgba(228, 125, 10, 0.45);
  transition: color 0.2s ease, border-color 0.2s ease;
  align-self: flex-start;
}

.review-card-link:hover,
.review-card-link:focus-visible {
  color: #fff;
  border-color: #fff;
  outline: none;
}

.reviews-footer {
  text-align: center;
}

.reviews-footer .btn-curve {
  display: inline-block;
}

/* Landing pricing table */
.landing-pricing-table .menu-list .item .price {
  color: #e47d0a;
}

/* Piercing prices page V2 */
.pp-page {
  background: #0a0a0a;
  overflow-x: hidden;
  position: relative;
}

.pp-page::before {
  content: "";
  position: fixed;
  inset: 0;
  pointer-events: none;
  z-index: 0;
  opacity: 0.028;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}

.pp-page > * {
  position: relative;
  z-index: 1;
}

.pp-section--base {
  background: #0a0a0a;
}

.pp-section--lift {
  background: #0b0b0b;
  border-top: 1px solid rgba(255, 255, 255, 0.06);
  border-bottom: 1px solid rgba(255, 255, 255, 0.06);
}

.pp-section--warm {
  background: #101010;
}

body.pp-lightbox-open {
  overflow: hidden;
}

.pp-container {
  width: min(1240px, calc(100% - 48px));
  margin: 0 auto;
}

.pp-eyebrow {
  margin: 0 0 18px;
  font-family: "Oswald", sans-serif;
  font-size: 12px;
  font-weight: 400;
  letter-spacing: 5px;
  text-transform: uppercase;
  color: #e47d0a;
}

.pp-section-title {
  margin: 0 0 22px;
  font-family: "Oswald", sans-serif;
  font-size: clamp(2.125rem, 4vw, 3.75rem);
  font-weight: 500;
  line-height: 1.08;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: #fff;
}

.pp-section-title__outline {
  color: transparent;
  -webkit-text-stroke: 1px #e47d0a;
  opacity: 0.9;
}

.pp-lead {
  margin: 0;
  max-width: 62ch;
  font-size: clamp(1rem, 1.35vw, 1.1875rem);
  line-height: 1.75;
  color: rgba(255, 255, 255, 0.72);
}

/* Hero */
.pp-hero {
  position: relative;
  overflow: hidden;
  min-height: clamp(650px, 76vh, 880px);
  display: grid;
  align-items: end;
  padding: 164px 0 104px;
  isolation: isolate;
}

.pp-hero__media {
  position: absolute;
  inset: 0;
  z-index: -2;
}

.pp-hero__img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 35%;
}

.pp-hero__overlay {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(180deg, rgba(6, 6, 6, 0.42) 0%, rgba(6, 6, 6, 0.55) 38%, rgba(6, 6, 6, 0.82) 68%, rgba(6, 6, 6, 0.96) 100%),
    linear-gradient(90deg, rgba(6, 6, 6, 0.9) 0%, rgba(6, 6, 6, 0.28) 52%, rgba(6, 6, 6, 0.62) 100%);
}

.pp-hero__content {
  position: relative;
  z-index: 1;
}

.pp-hero__copy {
  max-width: 720px;
}

/* Hero is above the fold — never hide copy behind scroll-reveal opacity */
.pp-hero__copy.animate-box {
  opacity: 1;
  visibility: visible;
}

.pp-hero__title {
  margin: 0 0 26px;
  font-family: "Oswald", sans-serif;
  font-size: clamp(2.75rem, 6vw, 5.25rem);
  font-weight: 500;
  line-height: 0.98;
  letter-spacing: 0.5px;
  text-transform: uppercase;
  text-wrap: balance;
  color: #fff;
}

.pp-hero__desc {
  margin: 0 0 38px;
  max-width: 54ch;
  font-size: clamp(1.0625rem, 1.5vw, 1.1875rem);
  line-height: 1.75;
  color: rgba(255, 255, 255, 0.86);
}

.pp-hero__actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 14px 18px;
}

.pp-hero__cta-primary {
  min-width: 230px;
  filter: drop-shadow(0 12px 26px rgba(0, 0, 0, 0.28));
}

.pp-hero__actions .btn-whatsapp.pp-hero__cta-primary {
  filter: drop-shadow(0 12px 26px rgba(0, 0, 0, 0.28));
}

.pp-hero__cta-secondary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  padding: 12px 26px;
  font-family: "Oswald", sans-serif;
  font-size: 14px;
  letter-spacing: 3px;
  text-transform: uppercase;
  color: #fff;
  text-decoration: none;
  border: 1px solid rgba(255, 255, 255, 0.42);
  background: rgba(8, 8, 8, 0.24);
  transition: color 0.35s ease, border-color 0.35s ease, background 0.35s ease;
}

.pp-hero__cta-secondary:hover,
.pp-hero__cta-secondary:focus-visible {
  color: #e47d0a;
  border-color: rgba(228, 125, 10, 0.75);
  background: rgba(228, 125, 10, 0.1);
  outline: none;
}

.pp-hero__note {
  margin: 22px 0 0;
  font-family: "Oswald", sans-serif;
  font-size: 10px;
  font-weight: 400;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.5);
}

/* Trust strip */
.pp-trust {
  overflow: hidden;
  border-top: 1px solid rgba(255, 255, 255, 0.11);
  border-bottom: 1px solid rgba(255, 255, 255, 0.11);
  background: #101010;
}

.pp-trust__list {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 0;
  margin: 0;
  padding: 0;
  list-style: none;
}

.pp-trust__item {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  min-height: 76px;
  padding: 22px 14px;
  font-family: "Oswald", sans-serif;
  font-size: 14px;
  line-height: 1.35;
  letter-spacing: 1.6px;
  text-transform: uppercase;
  text-align: center;
  color: rgba(255, 255, 255, 0.9);
  border-right: 1px solid rgba(255, 255, 255, 0.09);
}

.pp-trust__item:last-child {
  border-right: 0;
}

.pp-trust__marker {
  flex: 0 0 5px;
  width: 5px;
  height: 5px;
  background: #e47d0a;
  transform: rotate(45deg);
}

/* Prices section */
.pp-prices {
  padding: 112px 0 88px;
  scroll-margin-top: 96px;
}

.pp-prices__intro {
  max-width: 820px;
  margin-bottom: 42px;
}

.pp-cat-nav {
  position: sticky;
  top: 88px;
  z-index: 20;
  margin: 0 0 48px;
  padding: 14px 0;
  background: linear-gradient(180deg, rgba(10, 10, 10, 0.98) 70%, rgba(10, 10, 10, 0));
  backdrop-filter: blur(8px);
}

.pp-cat-nav__list {
  display: flex;
  flex-wrap: nowrap;
  gap: 10px;
  margin: 0;
  padding: 0 2px 8px;
  list-style: none;
  overflow-x: auto;
  scrollbar-width: none;
}

.pp-cat-nav__list::-webkit-scrollbar {
  display: none;
}

.pp-cat-nav__link {
  flex: 0 0 auto;
  padding: 12px 22px;
  font-family: "Oswald", sans-serif;
  font-size: 13px;
  letter-spacing: 3px;
  text-transform: uppercase;
  text-decoration: none;
  color: rgba(255, 255, 255, 0.62);
  border: 1px solid rgba(255, 255, 255, 0.1);
  transition: color 0.25s ease, border-color 0.25s ease, background 0.25s ease;
}

.pp-cat-nav__link:hover,
.pp-cat-nav__link:focus-visible,
.pp-cat-nav__link.is-active {
  color: #fff;
  border-color: rgba(228, 125, 10, 0.55);
  background: rgba(228, 125, 10, 0.12);
  outline: none;
}

.pp-price-board {
  display: grid;
  gap: 68px;
}

.pp-price-board__row {
  display: grid;
  gap: 36px;
}

.pp-price-board__row--split {
  grid-template-columns: minmax(0, 1.35fr) minmax(280px, 0.85fr);
  align-items: start;
  gap: 56px;
}

.pp-price-board__row--face {
  grid-template-columns: minmax(0, 1fr) minmax(280px, 0.72fr);
  align-items: stretch;
  gap: 40px;
}

.pp-price-board__aside {
  display: grid;
  gap: 28px;
}

.pp-price-block {
  padding: 38px 0 8px;
  border-top: 1px solid rgba(255, 255, 255, 0.16);
  scroll-margin-top: 150px;
}

.pp-price-block__head {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 12px 18px;
  margin-bottom: 32px;
}

.pp-price-block__index {
  font-family: "Oswald", sans-serif;
  font-size: 13px;
  letter-spacing: 3px;
  color: #e47d0a;
}

.pp-price-block__title {
  margin: 0;
  font-family: "Oswald", sans-serif;
  font-size: clamp(2rem, 3vw, 2.75rem);
  font-weight: 500;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: #fff;
}

.pp-price-block__count {
  margin-left: auto;
  font-size: 13px;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.58);
}

.pp-price-rows {
  margin: 0;
}

.pp-price-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(24px, 1.4fr) auto;
  align-items: baseline;
  gap: 14px;
  padding: 19px 8px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.12);
  transition: background 0.35s ease;
  animation: pp-row-in 0.55s ease both;
  animation-delay: calc(var(--pp-row-i, 0) * 0.03s);
}

.pp-price-row:hover {
  background: rgba(255, 255, 255, 0.035);
}

.pp-price-row__name {
  margin: 0;
  font-family: "Barlow", sans-serif;
  font-size: clamp(1.0625rem, 1.2vw, 1.125rem);
  line-height: 1.55;
  color: rgba(255, 255, 255, 0.9);
  word-break: break-word;
}

.pp-price-row__line {
  margin: 0;
  height: 1px;
  align-self: center;
  background: linear-gradient(90deg, rgba(255, 255, 255, 0.08), rgba(228, 125, 10, 0.28));
}

.pp-price-row__amount {
  margin: 0;
  min-width: 5.5em;
  text-align: right;
  font-family: "Oswald", sans-serif;
  font-size: clamp(1.125rem, 1.3vw, 1.25rem);
  font-weight: 600;
  letter-spacing: 0.5px;
  color: #efaa82;
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}

.pp-price-lip-cols {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0 72px;
}

.pp-price-figure {
  margin: 0;
  overflow: hidden;
  min-height: 220px;
}

.pp-price-figure img {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 220px;
  object-fit: cover;
}

.pp-price-figure--studio img {
  min-height: 100%;
}

.pp-price-block__cta {
  margin-top: 28px;
}

.pp-price-block__guide {
  display: inline-flex;
  margin-top: 24px;
  padding-bottom: 5px;
  font-family: "Oswald", sans-serif;
  font-size: 12px;
  letter-spacing: 2px;
  text-transform: uppercase;
  text-decoration: none;
  color: rgba(255, 255, 255, 0.82);
  border-bottom: 1px solid rgba(228, 125, 10, 0.6);
  transition: color 0.3s ease, border-color 0.3s ease;
}

.pp-price-block__guide:hover,
.pp-price-block__guide:focus-visible {
  color: #e47d0a;
  border-color: #e47d0a;
  outline: none;
}

.pp-price-note {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  min-height: 440px;
  padding: 48px 42px;
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, 0.1);
  background:
    linear-gradient(145deg, rgba(228, 125, 10, 0.16), rgba(16, 16, 16, 0) 56%),
    #101010;
}

.pp-price-note::before {
  content: "";
  position: absolute;
  top: 36px;
  right: 36px;
  width: 74px;
  height: 74px;
  border-top: 1px solid rgba(228, 125, 10, 0.5);
  border-right: 1px solid rgba(228, 125, 10, 0.5);
}

.pp-price-note__index {
  position: absolute;
  top: 34px;
  left: 40px;
  font-family: "Oswald", sans-serif;
  font-size: 13px;
  letter-spacing: 3px;
  color: rgba(228, 125, 10, 0.78);
}

.pp-price-note__eyebrow {
  margin: 0 0 14px;
  font-family: "Oswald", sans-serif;
  font-size: 11px;
  letter-spacing: 3px;
  color: #e47d0a;
}

.pp-price-note__title {
  margin: 0 0 18px;
  max-width: 12ch;
  font-family: "Oswald", sans-serif;
  font-size: clamp(2rem, 3vw, 3rem);
  line-height: 1.08;
  text-transform: uppercase;
  text-wrap: balance;
  color: #fff;
}

.pp-price-note__text {
  margin: 0 0 24px;
  max-width: 38ch;
  font-size: 16px;
  line-height: 1.7;
  color: rgba(255, 255, 255, 0.74);
}

.pp-price-note__link {
  align-self: flex-start;
  font-family: "Oswald", sans-serif;
  font-size: 13px;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: #fff;
  text-decoration: none;
  border-bottom: 1px solid rgba(228, 125, 10, 0.7);
  padding-bottom: 5px;
}

.pp-price-note__link:hover,
.pp-price-note__link:focus-visible {
  color: #e47d0a;
  outline: none;
}

@keyframes pp-row-in {
  from {
    opacity: 0;
    transform: translateY(8px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* Piercing price guide — answer-first content */
body[data-page-key="piercing-prices"] .pp-hero__img {
  object-position: center 52%;
}

body[data-page-key="piercing-prices"] .pp-hero__overlay {
  background:
    linear-gradient(180deg, rgba(6, 6, 6, 0.28) 0%, rgba(6, 6, 6, 0.46) 42%, rgba(6, 6, 6, 0.9) 82%, #0a0a0a 100%),
    linear-gradient(90deg, rgba(6, 6, 6, 0.96) 0%, rgba(6, 6, 6, 0.64) 42%, rgba(6, 6, 6, 0.12) 76%, rgba(6, 6, 6, 0.5) 100%);
}

.pp-overview {
  padding: 112px 0 106px;
  scroll-margin-top: 90px;
}

.pp-overview__head {
  max-width: 960px;
}

.pp-overview__answer {
  max-width: 46ch;
  margin: 0 0 24px;
  font-size: clamp(1.3rem, 2.1vw, 1.78rem);
  font-weight: 500;
  line-height: 1.55;
  color: #fff;
  text-wrap: balance;
}

.pp-snapshot {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin-top: 58px;
  border-top: 1px solid rgba(255, 255, 255, 0.14);
  border-bottom: 1px solid rgba(255, 255, 255, 0.14);
}

.pp-snapshot__item {
  min-width: 0;
  padding: 34px 28px 32px;
  border-right: 1px solid rgba(255, 255, 255, 0.1);
  background: linear-gradient(150deg, rgba(228, 125, 10, 0.055), transparent 56%);
}

.pp-snapshot__item:last-child {
  border-right: 0;
}

.pp-snapshot__value {
  display: block;
  margin-bottom: 22px;
  font-family: "Oswald", sans-serif;
  font-size: clamp(2rem, 3.5vw, 3rem);
  line-height: 1;
  color: #efaa82;
}

.pp-snapshot__label {
  margin: 0 0 9px;
  font-family: "Oswald", sans-serif;
  font-size: 1.22rem;
  font-weight: 500;
  letter-spacing: 1.6px;
  text-transform: uppercase;
  color: #fff;
}

.pp-snapshot__note {
  margin: 0;
  font-size: 14px;
  line-height: 1.55;
  color: rgba(255, 255, 255, 0.58);
}

.pp-overview__note {
  max-width: 900px;
  margin: 26px 0 0;
  font-size: 14px;
  line-height: 1.7;
  color: rgba(255, 255, 255, 0.58);
}

.pp-overview__note span {
  margin-right: 10px;
  color: #e47d0a;
}

.pp-included {
  padding: 116px 0 122px;
}

.pp-included__head {
  max-width: 800px;
  margin-bottom: 58px;
}

.pp-included__layout {
  display: grid;
  grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
  gap: 68px;
  align-items: start;
}

.pp-included__media {
  position: sticky;
  top: 112px;
  margin: 0;
}

.pp-included__media::before {
  content: "";
  position: absolute;
  inset: 18px -18px -18px 18px;
  z-index: -1;
  border: 1px solid rgba(228, 125, 10, 0.32);
}

.pp-included__media img {
  display: block;
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
}

.pp-included__media figcaption {
  margin-top: 16px;
  font-family: "Oswald", sans-serif;
  font-size: 10px;
  letter-spacing: 2.5px;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.46);
}

.pp-included__list {
  margin: 0;
  padding: 0;
  list-style: none;
  border-top: 1px solid rgba(255, 255, 255, 0.15);
}

.pp-included__item {
  display: grid;
  grid-template-columns: 46px minmax(0, 1fr);
  gap: 20px;
  padding: 27px 0;
  border-bottom: 1px solid rgba(255, 255, 255, 0.12);
}

.pp-included__number {
  padding-top: 5px;
  font-family: "Oswald", sans-serif;
  font-size: 11px;
  letter-spacing: 2px;
  color: #e47d0a;
}

.pp-included__item h3 {
  margin: 0 0 8px;
  font-family: "Oswald", sans-serif;
  font-size: 1.2rem;
  font-weight: 500;
  letter-spacing: 1px;
  text-transform: uppercase;
  color: #fff;
}

.pp-included__item p {
  margin: 0;
  font-size: 15px;
  line-height: 1.72;
  color: rgba(255, 255, 255, 0.68);
}

.pp-variables {
  padding: 120px 0;
}

.pp-variables__layout {
  display: grid;
  grid-template-columns: minmax(0, 1.12fr) minmax(360px, 0.88fr);
  gap: 72px;
  align-items: start;
}

.pp-variables__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1px;
  margin-top: 46px;
  background: rgba(255, 255, 255, 0.1);
  border: 1px solid rgba(255, 255, 255, 0.1);
}

.pp-variable-card {
  min-height: 232px;
  padding: 30px;
  background: #101010;
}

.pp-variable-card > span {
  display: block;
  margin-bottom: 34px;
  font-family: "Oswald", sans-serif;
  font-size: 11px;
  letter-spacing: 2px;
  color: #e47d0a;
}

.pp-variable-card h3 {
  margin: 0 0 12px;
  font-family: "Oswald", sans-serif;
  font-size: 1.12rem;
  font-weight: 500;
  letter-spacing: 0.8px;
  text-transform: uppercase;
  color: #fff;
}

.pp-variable-card p {
  margin: 0;
  font-size: 14px;
  line-height: 1.7;
  color: rgba(255, 255, 255, 0.65);
}

.pp-variables__media {
  position: sticky;
  top: 112px;
  margin: 0;
  min-height: 680px;
  overflow: hidden;
}

.pp-variables__media img {
  display: block;
  width: 100%;
  min-height: 680px;
  object-fit: cover;
  object-position: 54% center;
}

.pp-source {
  margin-top: 28px;
  padding: 24px 26px;
  border-left: 2px solid #e47d0a;
  background: rgba(228, 125, 10, 0.06);
}

.pp-source p {
  margin: 0 0 12px;
  font-size: 13px;
  line-height: 1.7;
  color: rgba(255, 255, 255, 0.64);
}

.pp-source strong {
  display: block;
  margin-bottom: 4px;
  font-family: "Oswald", sans-serif;
  letter-spacing: 1.4px;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.9);
}

.pp-source a {
  font-family: "Oswald", sans-serif;
  font-size: 11px;
  letter-spacing: 1.6px;
  text-transform: uppercase;
  color: #efaa82;
}

.pp-quote {
  padding: 116px 0 120px;
}

.pp-quote__head {
  max-width: 800px;
  margin-bottom: 56px;
}

.pp-quote__steps {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin: 0;
  padding: 0;
  list-style: none;
  border-top: 1px solid rgba(255, 255, 255, 0.15);
  border-bottom: 1px solid rgba(255, 255, 255, 0.15);
}

.pp-quote__step {
  min-height: 300px;
  padding: 36px 34px;
  border-right: 1px solid rgba(255, 255, 255, 0.12);
}

.pp-quote__step:last-child {
  border-right: 0;
}

.pp-quote__step > span {
  display: block;
  margin-bottom: 72px;
  font-family: "Oswald", sans-serif;
  font-size: 12px;
  letter-spacing: 2px;
  color: #e47d0a;
}

.pp-quote__step h3 {
  margin: 0 0 12px;
  font-family: "Oswald", sans-serif;
  font-size: 1.45rem;
  font-weight: 500;
  letter-spacing: 1px;
  text-transform: uppercase;
  color: #fff;
}

.pp-quote__step p {
  margin: 0;
  font-size: 15px;
  line-height: 1.75;
  color: rgba(255, 255, 255, 0.66);
}

.pp-quote__action {
  display: flex;
  align-items: center;
  gap: 28px;
  margin-top: 38px;
}

.pp-quote__action p {
  margin: 0;
  font-family: "Oswald", sans-serif;
  font-size: 11px;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.48);
}

.pp-gallery {
  padding: 108px 0 116px;
}

/* Keep scroll reveals visible if reduced-motion is preferred */
@media (prefers-reduced-motion: reduce) {
  .js .animate-box {
    opacity: 1;
  }
}
.js .animate-box.animated {
  opacity: 1;
}

.pp-gallery .animate-box {
  opacity: 1;
  visibility: visible;
  transform: none;
}

.pp-gallery__head {
  max-width: 760px;
  margin-bottom: 52px;
}

.pp-gallery__desktop {
  display: grid;
  grid-template-columns: 58% 42%;
  gap: 20px;
  align-items: stretch;
}

.pp-gallery__main,
.pp-gallery__stack {
  display: flex;
  min-width: 0;
}

.pp-gallery__stack {
  flex-direction: column;
  gap: 20px;
}

.pp-gallery__tile {
  position: relative;
  display: block;
  width: 100%;
  margin: 0;
  padding: 0;
  border: 0;
  overflow: hidden;
  cursor: pointer;
  background: #141414;
  border-radius: 2px;
  text-align: left;
  transition: transform 0.55s cubic-bezier(0.22, 1, 0.36, 1);
}

.pp-gallery__tile:focus-visible {
  outline: 2px solid #e47d0a;
  outline-offset: 3px;
}

.pp-gallery__tile img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.65s cubic-bezier(0.22, 1, 0.36, 1);
}

.pp-gallery__tile--main {
  aspect-ratio: 4 / 5;
  animation: pp-gallery-reveal 0.7s ease both;
}

.pp-gallery__tile--stack {
  flex: 1;
  aspect-ratio: 16 / 10;
  animation: pp-gallery-reveal 0.7s ease both;
}

.pp-gallery__tile--stack:only-child {
  flex: 1;
  aspect-ratio: 4 / 5;
  min-height: 100%;
}

.pp-gallery__tile--stack:only-child img {
  min-height: 100%;
}

.pp-gallery__tile:hover img,
.pp-gallery__tile:focus-visible img {
  transform: scale(1.04);
}

.pp-gallery__index {
  position: absolute;
  top: 16px;
  left: 16px;
  z-index: 2;
  font-family: "Oswald", sans-serif;
  font-size: 11px;
  letter-spacing: 3px;
  color: rgba(255, 255, 255, 0.72);
}

.pp-gallery__tag {
  position: absolute;
  top: 16px;
  right: 16px;
  z-index: 2;
  font-family: "Oswald", sans-serif;
  font-size: 10px;
  letter-spacing: 3px;
  color: rgba(255, 255, 255, 0.82);
  background: rgba(8, 8, 8, 0.45);
  padding: 6px 10px;
  border: 1px solid rgba(255, 255, 255, 0.12);
}

.pp-gallery__shade {
  position: absolute;
  inset: auto 0 0;
  height: 42%;
  z-index: 1;
  background: linear-gradient(180deg, rgba(8, 8, 8, 0) 0%, rgba(8, 8, 8, 0.72) 100%);
  pointer-events: none;
}

.pp-gallery__caption {
  position: absolute;
  left: 16px;
  right: 16px;
  bottom: 16px;
  z-index: 2;
  font-size: 14px;
  line-height: 1.45;
  color: rgba(255, 255, 255, 0.88);
  opacity: 0;
  transform: translateY(8px);
  transition: opacity 0.45s ease, transform 0.45s ease;
}

.pp-gallery__tile:hover .pp-gallery__caption,
.pp-gallery__tile:focus-visible .pp-gallery__caption {
  opacity: 1;
  transform: translateY(0);
}

.pp-gallery__mobile {
  display: none;
}

.pp-gallery__strip {
  display: flex;
  gap: 14px;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  scroll-padding-left: 16px;
  padding: 4px 16px 8px;
  margin: 0 -16px;
  scrollbar-width: none;
  -webkit-overflow-scrolling: touch;
}

.pp-gallery__strip::-webkit-scrollbar {
  display: none;
}

.pp-gallery__tile--strip {
  flex: 0 0 85%;
  max-width: 85%;
  scroll-snap-align: start;
  aspect-ratio: 4 / 5;
  animation: pp-gallery-reveal 0.65s ease both;
}

.pp-gallery__tile--strip:nth-child(2) {
  animation-delay: 0.08s;
}

.pp-gallery__tile--strip:nth-child(3) {
  animation-delay: 0.16s;
}

@keyframes pp-gallery-reveal {
  from {
    opacity: 0;
    transform: translateY(14px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* Lightbox */
.pp-lightbox {
  position: fixed;
  inset: 0;
  z-index: 12000;
}

.pp-lightbox__backdrop {
  position: absolute;
  inset: 0;
  background: rgba(4, 4, 4, 0.92);
}

.pp-lightbox__dialog {
  position: relative;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 12px;
  width: min(1180px, calc(100% - 40px));
  height: min(88vh, 900px);
  margin: 6vh auto 0;
}

.pp-lightbox__figure {
  margin: 0;
  display: grid;
  gap: 14px;
  min-width: 0;
  max-height: 100%;
}

.pp-lightbox__img {
  display: block;
  width: 100%;
  max-height: calc(88vh - 80px);
  margin: 0 auto;
  object-fit: contain;
}

.pp-lightbox__caption {
  margin: 0;
  text-align: center;
  font-size: 15px;
  line-height: 1.5;
  color: rgba(255, 255, 255, 0.78);
}

.pp-lightbox__close,
.pp-lightbox__nav {
  border: 1px solid rgba(255, 255, 255, 0.18);
  background: rgba(255, 255, 255, 0.04);
  color: #fff;
  cursor: pointer;
  transition: border-color 0.3s ease, color 0.3s ease, background 0.3s ease;
}

.pp-lightbox__close {
  position: absolute;
  top: -52px;
  right: 0;
  width: 44px;
  height: 44px;
  font-size: 28px;
  line-height: 1;
}

.pp-lightbox__nav {
  width: 44px;
  height: 44px;
  font-size: 28px;
  line-height: 1;
}

.pp-lightbox__close:hover,
.pp-lightbox__close:focus-visible,
.pp-lightbox__nav:hover,
.pp-lightbox__nav:focus-visible {
  border-color: rgba(228, 125, 10, 0.7);
  color: #e47d0a;
  outline: none;
}

.pp-lightbox__nav[hidden] {
  display: none;
}

/* Titanium */
.pp-titanium {
  padding: 88px 0;
}

.pp-titanium__inner {
  display: grid;
  grid-template-columns: 112px minmax(0, 1fr);
  gap: 34px;
  align-items: center;
  max-width: 1020px;
  padding: 42px 48px;
  border: 1px solid rgba(228, 125, 10, 0.34);
  background: linear-gradient(120deg, rgba(228, 125, 10, 0.12), rgba(255, 255, 255, 0.015));
}

.pp-titanium__mark {
  display: grid;
  place-items: center;
  width: 96px;
  height: 96px;
  font-family: "Oswald", sans-serif;
  font-size: 2rem;
  letter-spacing: 3px;
  color: #e47d0a;
  border: 1px solid rgba(228, 125, 10, 0.5);
}

.pp-titanium__eyebrow {
  margin: 0 0 12px;
  font-family: "Oswald", sans-serif;
  font-size: 11px;
  letter-spacing: 3px;
  color: #e47d0a;
}

.pp-titanium__title {
  margin: 0 0 14px;
  font-family: "Oswald", sans-serif;
  font-size: clamp(1.75rem, 2.8vw, 2.375rem);
  letter-spacing: 2px;
  text-transform: uppercase;
  color: #fff;
}

.pp-titanium__text {
  margin: 0;
  font-size: clamp(1rem, 1.2vw, 1.125rem);
  line-height: 1.75;
  max-width: 68ch;
  color: rgba(255, 255, 255, 0.8);
}

/* Help CTA */
.pp-help {
  position: relative;
  min-height: 480px;
  display: grid;
  align-items: center;
  padding: 110px 0;
  isolation: isolate;
}

.pp-help__media {
  position: absolute;
  inset: 0;
  z-index: -2;
}

.pp-help__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 38%;
}

.pp-help__overlay {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(90deg, rgba(7, 7, 7, 0.96) 0%, rgba(7, 7, 7, 0.82) 45%, rgba(7, 7, 7, 0.54) 75%, rgba(7, 7, 7, 0.72) 100%),
    linear-gradient(180deg, rgba(7, 7, 7, 0.24), rgba(7, 7, 7, 0.58));
}

.pp-help__copy {
  max-width: 650px;
}

.pp-help__copy .pp-section-title {
  max-width: 14ch;
  text-wrap: balance;
}

.pp-help__copy .pp-lead {
  max-width: 52ch;
  color: rgba(255, 255, 255, 0.82);
}

.pp-help__cta {
  margin-top: 28px;
}

/* Location */
.pp-location {
  padding: 110px 0 120px;
}

.pp-location__grid {
  display: grid;
  grid-template-columns: minmax(0, 0.45fr) minmax(0, 0.55fr);
  gap: 64px;
  align-items: stretch;
}

.pp-location__address {
  margin: 28px 0;
  font-style: normal;
  font-size: 19px;
  line-height: 1.75;
  color: rgba(255, 255, 255, 0.9);
}

.pp-location__address strong,
.pp-location__address span {
  display: block;
}

.pp-location__address strong {
  margin-bottom: 5px;
  color: #fff;
}

.pp-location__facts {
  margin: 0 0 30px;
  padding: 0;
  list-style: none;
}

.pp-location__facts li {
  margin-bottom: 14px;
  font-size: 18px;
  line-height: 1.6;
  color: rgba(255, 255, 255, 0.78);
}

.pp-location__label {
  display: inline-block;
  min-width: 110px;
  font-family: "Oswald", sans-serif;
  font-size: 12px;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: #e47d0a;
}

.pp-location__facts a {
  color: #fff;
  text-decoration: none;
}

.pp-location__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 16px 24px;
  align-items: center;
}

.pp-location__wa {
  font-family: "Oswald", sans-serif;
  font-size: 14px;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: #fff;
  text-decoration: none;
  border: 1px solid rgba(255, 255, 255, 0.28);
  padding: 14px 22px;
  transition: border-color 0.35s ease, color 0.35s ease;
}

.pp-location__wa:hover,
.pp-location__wa:focus-visible {
  color: #e47d0a;
  border-color: rgba(228, 125, 10, 0.65);
  outline: none;
}

.pp-location__map {
  min-height: 520px;
  overflow: hidden;
  border-radius: 2px;
  box-shadow: 0 24px 60px rgba(0, 0, 0, 0.24);
}

.pp-location__map iframe {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 520px;
}

/* FAQ */
.pp-faq {
  padding: 110px 0 100px;
}

.pp-faq .animate-box {
  opacity: 1;
  visibility: visible;
  transform: none;
}

.pp-faq__grid {
  display: grid;
  grid-template-columns: minmax(0, 0.36fr) minmax(0, 0.64fr);
  gap: 56px 72px;
  align-items: start;
}

.pp-faq__intro {
  position: sticky;
  top: 110px;
}

.pp-faq__intro .pp-section-title {
  margin-bottom: 18px;
  max-width: 15ch;
  font-size: clamp(2.75rem, 3.6vw, 3.5rem);
  line-height: 1.02;
  text-wrap: balance;
}

.pp-faq__intro .pp-lead {
  max-width: 34ch;
}

.pp-faq-accordion {
  border-top: 1px solid rgba(255, 255, 255, 0.18);
}

.pp-faq-item {
  border-bottom: 1px solid rgba(255, 255, 255, 0.16);
}

.pp-faq-item__heading {
  margin: 0;
}

.pp-faq-item__trigger {
  display: grid;
  grid-template-columns: 44px minmax(0, 1fr) 28px;
  gap: 18px;
  align-items: start;
  width: 100%;
  margin: 0;
  padding: 28px 0;
  border: 0;
  background: transparent;
  text-align: left;
  cursor: pointer;
  color: rgba(255, 255, 255, 0.96);
  transition: color 0.35s ease, background 0.35s ease;
}

.pp-faq-item__trigger:hover,
.pp-faq-item__trigger:focus-visible {
  color: #fff;
  outline: none;
}

.pp-faq-item__trigger:focus-visible {
  box-shadow: inset 0 0 0 2px rgba(228, 125, 10, 0.55);
}

.pp-faq-item__index {
  font-family: "Oswald", sans-serif;
  font-size: 11px;
  letter-spacing: 3px;
  color: #e47d0a;
  padding-top: 6px;
}

.pp-faq-item__question {
  font-family: "Barlow", sans-serif;
  font-size: clamp(1.125rem, 1.8vw, 1.375rem);
  font-weight: 600;
  line-height: 1.45;
}

.pp-faq-item__icon {
  position: relative;
  width: 24px;
  height: 24px;
  margin-top: 8px;
  justify-self: end;
}

.pp-faq-item__icon::before,
.pp-faq-item__icon::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 17px;
  height: 2px;
  background: #e47d0a;
  transform: translate(-50%, -50%);
  transition: transform 0.45s ease, opacity 0.35s ease;
}

.pp-faq-item__icon::after {
  transform: translate(-50%, -50%) rotate(90deg);
}

.pp-faq-item.is-open .pp-faq-item__icon::after {
  transform: translate(-50%, -50%) rotate(90deg) scaleX(0);
  opacity: 0;
}

.pp-faq-item__panel {
  display: grid;
  grid-template-rows: 0fr;
  transition: grid-template-rows 0.55s cubic-bezier(0.22, 1, 0.36, 1);
}

.pp-faq-item.is-open .pp-faq-item__panel {
  grid-template-rows: 1fr;
}

.pp-faq-item__panel[hidden] {
  display: none;
}

.pp-faq-item.is-open .pp-faq-item__panel[hidden] {
  display: grid;
}

.pp-faq-item__panel-inner {
  overflow: hidden;
}

.pp-faq-item__panel-inner p {
  margin: 0;
  padding: 0 0 28px 62px;
  max-width: 62ch;
  font-size: clamp(1rem, 1.2vw, 1.0625rem);
  line-height: 1.8;
  color: rgba(255, 255, 255, 0.82);
}

.pp-faq__cta {
  margin-top: 36px;
  padding-top: 28px;
  border-top: 1px solid rgba(255, 255, 255, 0.08);
}

.pp-faq__cta-text {
  margin: 0 0 14px;
  font-size: 16px;
  line-height: 1.65;
  color: rgba(255, 255, 255, 0.68);
}

.pp-faq__cta-link {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  padding: 10px 22px;
  font-family: "Oswald", sans-serif;
  font-size: 13px;
  letter-spacing: 2px;
  text-transform: uppercase;
  text-decoration: none;
  color: #fff;
  border: 1px solid rgba(228, 125, 10, 0.55);
  background: rgba(228, 125, 10, 0.08);
  transition: border-color 0.35s ease, color 0.35s ease, background 0.35s ease;
}

.pp-faq__cta-link:hover,
.pp-faq__cta-link:focus-visible {
  color: #e47d0a;
  border-color: #e47d0a;
  background: rgba(228, 125, 10, 0.14);
  outline: none;
}

.piercing-hub-pricing-cta {
  margin-top: 36px;
}

@media (max-width: 1199px) {
  .pp-price-board__row--split,
  .pp-price-board__row--face {
    grid-template-columns: 1fr;
  }

  .pp-price-note {
    min-height: 360px;
  }

  .pp-gallery__desktop {
    display: none;
  }

  .pp-gallery__mobile {
    display: block;
  }

  .pp-faq__grid {
    grid-template-columns: 1fr;
    gap: 40px;
  }

  .pp-faq__intro {
    position: static;
  }

  .pp-variables__layout {
    grid-template-columns: 1fr;
  }

  .pp-variables__media {
    position: static;
    min-height: 0;
    aspect-ratio: 16 / 9;
  }

  .pp-variables__media img {
    min-height: 0;
    height: 100%;
  }
}

@media (max-width: 991px) {
  .pp-trust__list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .pp-trust__item:nth-child(2n) {
    border-right: 0;
  }

  .pp-trust__item:nth-child(-n+3) {
    border-bottom: 1px solid rgba(255, 255, 255, 0.06);
  }

  .pp-cat-nav {
    top: 72px;
  }

  .pp-price-lip-cols {
    grid-template-columns: 1fr;
    gap: 0;
  }

  .pp-location__grid {
    grid-template-columns: 1fr;
  }

  .pp-titanium__inner {
    grid-template-columns: 88px minmax(0, 1fr);
    padding: 36px;
  }

  .pp-titanium__mark {
    width: 78px;
    height: 78px;
  }

  .pp-location__map {
    min-height: 400px;
  }

  .pp-location__map iframe {
    min-height: 400px;
  }

  .pp-snapshot {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .pp-snapshot__item:nth-child(2) {
    border-right: 0;
  }

  .pp-snapshot__item:nth-child(-n+2) {
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
  }

  .pp-included__layout {
    grid-template-columns: 1fr;
    gap: 52px;
  }

  .pp-included__media {
    position: static;
    max-width: 760px;
  }

  .pp-quote__step {
    padding: 32px 26px;
  }
}

@media (max-width: 767px) {
  .pp-container {
    width: calc(100% - 32px);
  }

  .pp-hero {
    min-height: 620px;
    padding: 124px 0 78px;
  }

  .pp-hero__title {
    font-size: clamp(2.625rem, 13vw, 4rem);
    line-height: 1;
  }

  .pp-hero__desc {
    margin-bottom: 30px;
    font-size: 1.0625rem;
  }

  .pp-hero__actions {
    align-items: stretch;
    gap: 12px;
  }

  .pp-hero__actions .btn-whatsapp.pp-hero__cta-primary,
  .pp-hero__cta-secondary {
    width: 100%;
  }

  .pp-prices {
    padding: 76px 0 64px;
  }

  .pp-overview,
  .pp-included,
  .pp-variables,
  .pp-quote {
    padding-top: 78px;
    padding-bottom: 82px;
  }

  .pp-overview__answer {
    font-size: 1.28rem;
  }

  .pp-snapshot {
    grid-template-columns: 1fr;
    margin-top: 42px;
  }

  .pp-snapshot__item,
  .pp-snapshot__item:nth-child(2) {
    padding: 27px 22px;
    border-right: 0;
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
  }

  .pp-snapshot__item:last-child {
    border-bottom: 0;
  }

  .pp-snapshot__value {
    margin-bottom: 14px;
    font-size: 2.25rem;
  }

  .pp-included__head,
  .pp-quote__head {
    margin-bottom: 42px;
  }

  .pp-included__media::before {
    inset: 10px -8px -10px 8px;
  }

  .pp-included__item {
    grid-template-columns: 34px minmax(0, 1fr);
    gap: 12px;
    padding: 23px 0;
  }

  .pp-variables__layout {
    gap: 46px;
  }

  .pp-variables__grid {
    grid-template-columns: 1fr;
    margin-top: 38px;
  }

  .pp-variable-card {
    min-height: 0;
    padding: 26px 24px 28px;
  }

  .pp-variable-card > span {
    margin-bottom: 24px;
  }

  .pp-variables__media {
    aspect-ratio: 4 / 5;
  }

  .pp-source {
    padding: 22px;
  }

  .pp-quote__steps {
    grid-template-columns: 1fr;
  }

  .pp-quote__step {
    min-height: 0;
    padding: 30px 4px 32px;
    border-right: 0;
    border-bottom: 1px solid rgba(255, 255, 255, 0.12);
  }

  .pp-quote__step:last-child {
    border-bottom: 0;
  }

  .pp-quote__step > span {
    margin-bottom: 28px;
  }

  .pp-quote__action {
    align-items: stretch;
    flex-direction: column;
    gap: 18px;
  }

  .pp-quote__action .btn-curve {
    width: 100%;
    text-align: center;
  }

  .pp-gallery {
    padding: 72px 0 80px;
  }

  .pp-gallery__tile--strip {
    flex-basis: 86%;
    max-width: 86%;
  }

  .pp-trust__list {
    display: flex;
    overflow-x: auto;
    scrollbar-width: none;
  }

  .pp-trust__list::-webkit-scrollbar {
    display: none;
  }

  .pp-trust__item {
    flex: 0 0 auto;
    min-width: 58%;
    border-right: 1px solid rgba(255, 255, 255, 0.06);
    border-bottom: 0;
    font-size: 12px;
    letter-spacing: 1.3px;
    padding: 18px 16px;
  }

  .pp-price-block {
    padding-top: 30px;
  }

  .pp-price-block__head {
    margin-bottom: 22px;
  }

  .pp-price-block__count {
    width: 100%;
    margin-left: 31px;
  }

  .pp-price-row {
    gap: 10px;
    padding: 18px 2px;
  }

  .pp-price-row__amount {
    min-width: 4.8em;
  }

  .pp-price-note {
    min-height: 380px;
    padding: 42px 28px 34px;
  }

  .pp-price-note__index {
    top: 28px;
    left: 28px;
  }

  .pp-price-note::before {
    top: 28px;
    right: 28px;
    width: 56px;
    height: 56px;
  }

  .pp-price-note__title {
    max-width: 14ch;
    font-size: 2.25rem;
  }

  .pp-titanium__inner {
    grid-template-columns: 1fr;
    gap: 24px;
    padding: 30px 26px;
  }

  .pp-titanium__mark {
    width: 64px;
    height: 64px;
    font-size: 1.5rem;
  }

  .pp-help {
    min-height: 520px;
  }

  .pp-help__media img {
    object-position: 62% center;
  }

  .pp-help__overlay {
    background: linear-gradient(180deg, rgba(7, 7, 7, 0.56) 0%, rgba(7, 7, 7, 0.88) 56%, rgba(7, 7, 7, 0.97) 100%);
  }

  .pp-help__copy {
    align-self: end;
  }

  .pp-help__copy .pp-section-title {
    max-width: 16ch;
  }

  .pp-help,
  .pp-location,
  .pp-faq,
  .pp-titanium {
    padding-top: 80px;
    padding-bottom: 80px;
  }

  .pp-faq-item__trigger {
    grid-template-columns: 36px minmax(0, 1fr) 24px;
    gap: 12px;
    padding: 22px 0;
  }

  .pp-faq-item__question {
    font-size: 1.125rem;
  }

  .pp-faq__intro .pp-section-title {
    max-width: 12ch;
    font-size: clamp(2.5rem, 12vw, 3.5rem);
  }

  .pp-faq-item__panel-inner p {
    padding-left: 48px;
    padding-bottom: 22px;
    font-size: 1rem;
  }

  .pp-faq {
    padding-bottom: 108px;
  }

  .pp-faq__cta {
    margin-bottom: 12px;
  }

  .pp-location__grid {
    gap: 44px;
  }

  .pp-location__address {
    font-size: 17px;
  }

  .pp-location__actions {
    align-items: stretch;
  }

  .pp-location__actions .btn-curve,
  .pp-location__wa {
    width: 100%;
    text-align: center;
    justify-content: center;
  }

  .pp-lightbox__dialog {
    width: calc(100% - 24px);
    grid-template-columns: 1fr;
    grid-template-rows: auto 1fr auto;
    height: auto;
    margin-top: 12vh;
  }

  .pp-lightbox__nav {
    position: absolute;
    bottom: -58px;
  }

  .pp-lightbox__nav--prev {
    left: calc(50% - 52px);
  }

  .pp-lightbox__nav--next {
    right: calc(50% - 52px);
  }
}

@media (prefers-reduced-motion: reduce) {
  .pp-price-row,
  .pp-gallery__tile,
  .pp-gallery__tile--main,
  .pp-gallery__tile--stack,
  .pp-gallery__tile--strip {
    animation: none;
  }

  .pp-gallery__tile img,
  .pp-gallery__caption,
  .pp-gallery__tile,
  .pp-faq-item__panel,
  .pp-faq-item__icon::before,
  .pp-faq-item__icon::after {
    transition: none;
  }
}

/* Landing process steps */
.landing-process-steps .process-step {
  text-align: center;
  padding: 20px 15px;
}

.landing-process-steps .process-step-icon {
  width: 60px;
  height: 60px;
  border: 1px solid #e47d0a;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto 16px;
  color: #e47d0a;
  font-size: 22px;
}

.landing-process-steps .process-step h5 {
  font-family: "Oswald", sans-serif;
  color: #fff;
  margin-bottom: 10px;
}

.landing-process-steps .process-step p {
  color: rgba(255, 255, 255, 0.65);
  font-size: 14px;
  margin: 0;
}

/* Landing gallery placeholder */
.landing-gallery-placeholder {
  min-height: 200px;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px dashed rgba(228, 125, 10, 0.4);
  color: rgba(255, 255, 255, 0.4);
  padding: 40px;
  text-align: center;
}

/* Navel piercing landing — answer-first SEO/GEO content */
.navel-page {
  --navel-ink: #090909;
  --navel-panel: #111;
  --navel-panel-soft: #151515;
  --navel-line: rgba(255, 255, 255, 0.11);
  --navel-muted: rgba(255, 255, 255, 0.68);
  --navel-orange: #e47d0a;
  background: var(--navel-ink);
  color: #fff;
}

.navel-page section {
  position: relative;
  border-top: 1px solid var(--navel-line);
}

.navel-page p,
.navel-page li,
.navel-page dd {
  color: var(--navel-muted);
  font-size: 16px;
  line-height: 1.8;
}

.navel-title {
  max-width: 900px;
  margin: 0 0 28px;
  font-family: "Oswald", sans-serif;
  font-size: clamp(2.25rem, 4.8vw, 4.25rem);
  font-weight: 500;
  line-height: 1.04;
  letter-spacing: 0.5px;
  text-transform: uppercase;
  color: #fff;
  text-wrap: balance;
}

.navel-lead {
  max-width: 70ch;
  margin-bottom: 22px;
  font-size: clamp(1.05rem, 1.4vw, 1.22rem) !important;
  line-height: 1.75 !important;
  color: rgba(255, 255, 255, 0.82) !important;
}

.navel-section-head {
  max-width: 920px;
  margin-bottom: 54px;
}

.navel-section-head--center {
  margin-right: auto;
  margin-left: auto;
  text-align: center;
}

.navel-section-head--center .navel-title,
.navel-section-head--center .navel-lead {
  margin-right: auto;
  margin-left: auto;
}

.navel-split {
  display: grid;
  grid-template-columns: minmax(0, 1.08fr) minmax(320px, 0.92fr);
  align-items: center;
  gap: clamp(48px, 8vw, 110px);
}

.navel-split--intro {
  align-items: start;
}

.navel-inline-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 18px 30px;
  margin-top: 34px;
}

.navel-text-link {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding-bottom: 5px;
  font-family: "Oswald", sans-serif;
  font-size: 14px;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: #fff;
  border-bottom: 1px solid var(--navel-orange);
}

.navel-text-link:hover,
.navel-text-link:focus-visible {
  color: var(--navel-orange);
}

.navel-text-link--muted {
  color: rgba(255, 255, 255, 0.7);
  border-color: rgba(255, 255, 255, 0.28);
}

.navel-facts {
  position: relative;
  padding: clamp(30px, 4vw, 48px);
  background: linear-gradient(145deg, #171717, #0e0e0e);
  border: 1px solid rgba(228, 125, 10, 0.3);
}

.navel-facts::before {
  position: absolute;
  top: -1px;
  left: 34px;
  width: 72px;
  height: 3px;
  content: "";
  background: var(--navel-orange);
}

.navel-facts__label,
.navel-aftercare-panel__label {
  margin: 0 0 24px;
  font-family: "Oswald", sans-serif;
  font-size: 12px !important;
  letter-spacing: 4px;
  color: var(--navel-orange) !important;
}

.navel-facts__list {
  margin: 0;
}

.navel-facts__list > div {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 24px;
  padding: 15px 0;
  border-bottom: 1px solid var(--navel-line);
}

.navel-facts__list dt {
  font-size: 14px;
  font-weight: 400;
  color: rgba(255, 255, 255, 0.55);
}

.navel-facts__list dd {
  margin: 0;
  font-family: "Oswald", sans-serif;
  font-size: 15px;
  line-height: 1.4;
  text-align: right;
  color: #fff;
}

.navel-facts__note {
  margin: 24px 0 0;
  font-size: 13px !important;
  line-height: 1.65 !important;
}

.navel-anatomy,
.navel-healing,
.navel-location {
  background: #0d0d0d;
}

.navel-card-grid {
  display: grid;
  gap: 18px;
}

.navel-card-grid--three {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.navel-card-grid--four {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

@media (min-width: 992px) {
  .navel-card-grid--four {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}

.navel-card {
  min-height: 270px;
  padding: 34px;
  background: var(--navel-panel);
  border: 1px solid var(--navel-line);
  transition: border-color 0.3s ease, box-shadow 0.3s ease;
}

.navel-card:hover {
  border-color: rgba(228, 125, 10, 0.5);
  box-shadow: 0 12px 32px rgba(0, 0, 0, 0.28);
}

.navel-card__number {
  display: block;
  margin-bottom: 38px;
  font-family: "Oswald", sans-serif;
  font-size: 14px;
  letter-spacing: 2px;
  color: var(--navel-orange);
}

.navel-card h3,
.navel-timeline h3,
.navel-healing-stages h3,
.navel-price__details h3 {
  margin: 0 0 12px;
  font-family: "Oswald", sans-serif;
  font-size: 22px;
  font-weight: 500;
  line-height: 1.25;
  text-transform: uppercase;
  color: #fff;
}

.navel-card p {
  margin: 0;
  font-size: 15px;
}

.navel-note {
  margin-top: 24px;
  padding: 24px 28px;
  color: rgba(255, 255, 255, 0.72);
  background: rgba(228, 125, 10, 0.08);
  border-left: 3px solid var(--navel-orange);
}

.navel-note strong {
  color: #fff;
}

.navel-timeline {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin: 0;
  padding: 0;
  list-style: none;
  counter-reset: navel-step;
}

.navel-timeline > li {
  position: relative;
  padding: 0 30px 0 0;
}

.navel-timeline > li:not(:last-child)::after {
  position: absolute;
  top: 24px;
  right: 0;
  left: 60px;
  height: 1px;
  content: "";
  background: linear-gradient(90deg, var(--navel-orange), rgba(228, 125, 10, 0.14));
}

.navel-timeline > li > span {
  position: relative;
  z-index: 1;
  display: grid;
  width: 48px;
  height: 48px;
  margin-bottom: 28px;
  place-items: center;
  font-family: "Oswald", sans-serif;
  color: #fff;
  background: #111;
  border: 1px solid var(--navel-orange);
  border-radius: 50%;
}

.navel-timeline p {
  margin: 0;
  font-size: 14px;
}

.navel-price {
  overflow: hidden;
  background:
    radial-gradient(circle at 12% 20%, rgba(228, 125, 10, 0.15), transparent 32%),
    #101010;
}

.navel-price__grid {
  display: grid;
  grid-template-columns: minmax(0, 0.9fr) minmax(360px, 1.1fr);
  align-items: center;
  gap: clamp(50px, 8vw, 110px);
}

.navel-price__amount {
  display: flex;
  align-items: flex-end;
  gap: 16px;
  margin: 12px 0 24px;
}

.navel-price__amount span {
  padding-bottom: 10px;
  font-family: "Oswald", sans-serif;
  font-size: 13px;
  letter-spacing: 3px;
  color: var(--navel-orange);
}

.navel-price__amount strong {
  font-family: "Oswald", sans-serif;
  font-size: clamp(3.4rem, 7vw, 6.5rem);
  font-weight: 500;
  line-height: 0.9;
  color: #fff;
}

.navel-price__main .btn-curve {
  margin-top: 24px;
}

.navel-price__details {
  padding: clamp(32px, 5vw, 54px);
  background: #080808;
  border: 1px solid var(--navel-line);
}

.navel-check-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0 32px;
  margin: 24px 0 0;
  padding: 0;
  list-style: none;
}

.navel-check-list li {
  position: relative;
  padding: 14px 0 14px 24px;
  font-size: 14px;
  border-bottom: 1px solid var(--navel-line);
}

.navel-check-list li::before {
  position: absolute;
  top: 22px;
  left: 2px;
  width: 6px;
  height: 6px;
  content: "";
  background: var(--navel-orange);
  transform: rotate(45deg);
}

.navel-price__small,
.navel-disclosure {
  margin: 24px 0 0;
  font-size: 13px !important;
  line-height: 1.7 !important;
  color: rgba(255, 255, 255, 0.5) !important;
}

.navel-media-grid {
  display: grid;
  grid-template-columns: 1.35fr 0.65fr;
  gap: 18px;
}

.navel-media-card {
  position: relative;
  min-height: 470px;
  margin: 0;
  overflow: hidden;
  background: #111;
}

.navel-media-card img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.6s ease;
}

.navel-media-card:hover img {
  transform: scale(1.025);
}

.navel-media-card figcaption {
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 30px;
  padding: 54px 26px 24px;
  background: linear-gradient(transparent, rgba(0, 0, 0, 0.92));
}

.navel-media-card figcaption strong {
  font-family: "Oswald", sans-serif;
  font-size: 18px;
  font-weight: 500;
  text-transform: uppercase;
  color: #fff;
}

.navel-media-card figcaption span {
  max-width: 280px;
  font-size: 13px;
  line-height: 1.5;
  text-align: right;
  color: rgba(255, 255, 255, 0.68);
}

.navel-healing-grid {
  display: grid;
  grid-template-columns: 1fr 0.9fr;
  gap: clamp(42px, 7vw, 90px);
}

.navel-healing-stages {
  margin: 0;
  padding: 0;
  list-style: none;
}

.navel-healing-stages li {
  display: grid;
  grid-template-columns: 110px 1fr;
  gap: 24px;
  padding: 0 0 30px;
}

.navel-healing-stages li:not(:last-child) {
  margin-bottom: 30px;
  border-bottom: 1px solid var(--navel-line);
}

.navel-healing-stages > li > span {
  font-family: "Oswald", sans-serif;
  font-size: 12px;
  letter-spacing: 2px;
  color: var(--navel-orange);
}

.navel-healing-stages p {
  margin: 0;
  font-size: 14px;
}

.navel-aftercare-panel {
  align-self: start;
  padding: clamp(30px, 4vw, 46px);
  background: var(--navel-panel-soft);
  border: 1px solid var(--navel-line);
}

.navel-aftercare-panel > div + div {
  margin-top: 32px;
  padding-top: 28px;
  border-top: 1px solid var(--navel-line);
}

.navel-aftercare-panel ul {
  margin: 0;
  padding-left: 20px;
}

.navel-aftercare-panel li {
  padding: 5px 0;
  font-size: 14px;
}

.navel-medical-note {
  margin: 32px 0 0;
  padding: 18px;
  font-size: 12px !important;
  line-height: 1.65 !important;
  background: rgba(228, 125, 10, 0.07);
  border-left: 2px solid var(--navel-orange);
}

.navel-studio-photo {
  position: relative;
  height: 680px;
  overflow: hidden;
}

.navel-studio-photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 44%;
}

.navel-studio-photo__caption {
  position: absolute;
  right: 20px;
  bottom: 20px;
  left: 20px;
  padding: 10px 14px;
  margin: 0;
  background: rgba(0, 0, 0, 0.8);
  border-left: 2px solid var(--navel-orange);
  backdrop-filter: blur(10px);
}

.navel-studio-photo__caption strong {
  display: block;
  font-family: "Oswald", sans-serif;
  font-size: 11px;
  letter-spacing: 3px;
  color: #fff;
}

.navel-studio-photo__caption span {
  display: block;
  margin-top: 5px;
  font-size: 11px;
  line-height: 1.5;
  color: rgba(255, 255, 255, 0.68);
}

.navel-feature-list {
  margin: 32px 0 0;
  padding: 0;
  list-style: none;
}

.navel-feature-list li {
  display: grid;
  grid-template-columns: minmax(150px, 0.7fr) 1fr;
  gap: 24px;
  padding: 18px 0;
  border-bottom: 1px solid var(--navel-line);
}

.navel-feature-list strong {
  font-family: "Oswald", sans-serif;
  font-weight: 500;
  text-transform: uppercase;
  color: #fff;
}

.navel-feature-list span {
  font-size: 14px;
  color: var(--navel-muted);
}

.navel-location__grid {
  display: grid;
  grid-template-columns: 0.85fr 1.15fr;
  align-items: stretch;
  gap: 24px;
}

.navel-location__details,
.navel-location__map {
  min-width: 0;
}

.navel-location__details {
  padding: clamp(28px, 4vw, 46px);
  background: var(--navel-panel);
  border: 1px solid var(--navel-line);
}

.navel-location-card {
  display: grid;
  grid-template-columns: 90px 1fr;
  gap: 18px;
  padding: 18px 0;
  border-bottom: 1px solid var(--navel-line);
}

.navel-location-card span {
  font-family: "Oswald", sans-serif;
  font-size: 11px;
  letter-spacing: 2px;
  color: var(--navel-orange);
}

.navel-location-card strong,
.navel-location-card a {
  font-weight: 500;
  color: #fff;
}

.navel-location__details > p {
  margin: 28px 0 0;
  font-size: 14px;
}

.navel-location__map .map-embed,
.navel-location__map iframe {
  width: 100%;
  height: 100%;
  min-height: 520px;
}

.navel-final {
  text-align: center;
  background:
    linear-gradient(rgba(4, 4, 4, 0.78), rgba(4, 4, 4, 0.94)),
    url("/assets/img/navel/navel-cta-v2.webp") center center / cover no-repeat;
}

.navel-final__inner {
  max-width: 820px;
  margin: 0 auto;
}

.navel-final__inner .navel-title {
  margin-right: auto;
  margin-left: auto;
}

.navel-final__inner > p:not(.pp-eyebrow) {
  max-width: 650px;
  margin: 0 auto 30px;
  font-size: 18px;
}

.navel-final__meta {
  display: block;
  margin-top: 26px;
  font-family: "Oswald", sans-serif;
  font-size: 11px;
  letter-spacing: 2.5px;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.5);
}

@media (max-width: 991px) {
  .navel-split,
  .navel-price__grid,
  .navel-healing-grid,
  .navel-location__grid {
    grid-template-columns: 1fr;
  }

  .navel-card-grid--three {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .navel-timeline {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 48px 24px;
  }

  .navel-media-grid {
    grid-template-columns: 1fr 1fr;
  }

  .navel-media-card {
    min-height: 390px;
  }

  .navel-studio-photo {
    height: 580px;
  }
}

@media (max-width: 767px) {
  .navel-page .section-padding {
    padding-top: 82px;
    padding-bottom: 82px;
  }

  .navel-page p,
  .navel-page li,
  .navel-page dd {
    font-size: 15px;
  }

  .navel-section-head {
    margin-bottom: 38px;
  }

  .navel-card-grid--three,
  .navel-timeline,
  .navel-media-grid {
    grid-template-columns: 1fr;
  }

  .navel-card {
    min-height: 0;
  }

  .navel-card__number {
    margin-bottom: 24px;
  }

  .navel-timeline {
    gap: 0;
  }

  .navel-timeline > li {
    display: grid;
    grid-template-columns: 48px 1fr;
    gap: 20px;
    padding: 0 0 38px;
  }

  .navel-timeline > li > span {
    margin: 0;
  }

  .navel-timeline > li:not(:last-child)::after {
    top: 48px;
    bottom: 0;
    left: 24px;
    width: 1px;
    height: auto;
    background: linear-gradient(var(--navel-orange), rgba(228, 125, 10, 0.14));
  }

  .navel-price__amount {
    align-items: baseline;
  }

  .navel-check-list {
    grid-template-columns: 1fr;
  }

  .navel-media-card {
    min-height: 360px;
  }

  .navel-media-card figcaption {
    display: block;
  }

  .navel-media-card figcaption span {
    display: block;
    margin-top: 8px;
    text-align: left;
  }

  .navel-healing-stages li {
    grid-template-columns: 1fr;
    gap: 10px;
  }

  .navel-studio-photo {
    height: 500px;
  }

  .navel-feature-list li,
  .navel-location-card {
    grid-template-columns: 1fr;
    gap: 8px;
  }

  .navel-location__map .map-embed,
  .navel-location__map iframe {
    min-height: 420px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .navel-card,
  .navel-media-card img {
    transition: none;
  }
}

/* Navel landing — cinematic editorial layer */
body[data-page-key="piercing-navel"] .pp-hero {
  --hero-x: 0px;
  --hero-y: 0px;
  min-height: clamp(700px, 92vh, 900px);
  overflow: hidden;
}

body[data-page-key="piercing-navel"] .pp-hero__img {
  transform: scale(1.055) translate3d(var(--hero-x), var(--hero-y), 0);
  transition: transform 0.8s cubic-bezier(0.2, 0.75, 0.25, 1);
}

body[data-page-key="piercing-navel"] .pp-hero__overlay {
  background:
    radial-gradient(circle at 72% 44%, rgba(228, 125, 10, 0.13), transparent 26%),
    linear-gradient(180deg, rgba(4, 4, 4, 0.3), rgba(4, 4, 4, 0.58) 48%, #090909 100%),
    linear-gradient(90deg, rgba(4, 4, 4, 0.94), rgba(4, 4, 4, 0.25) 58%, rgba(4, 4, 4, 0.7));
}

.navel-hero-orb {
  position: absolute;
  z-index: 0;
  display: block;
  border: 1px solid rgba(228, 125, 10, 0.26);
  border-radius: 50%;
  pointer-events: none;
  filter: drop-shadow(0 0 24px rgba(228, 125, 10, 0.14));
}

.navel-hero-orb--one {
  top: 13%;
  right: 9%;
  width: clamp(250px, 32vw, 500px);
  aspect-ratio: 1;
  animation: navel-orbit-drift 12s ease-in-out infinite alternate;
}

.navel-hero-orb--two {
  right: 31%;
  bottom: 5%;
  width: clamp(90px, 12vw, 190px);
  aspect-ratio: 1;
  border-color: rgba(255, 255, 255, 0.17);
  animation: navel-orbit-drift 8s ease-in-out 1s infinite alternate-reverse;
}

.navel-hero-grain {
  position: absolute;
  inset: -30%;
  z-index: 0;
  opacity: 0.1;
  pointer-events: none;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.55'/%3E%3C/svg%3E");
  animation: navel-grain 0.28s steps(2) infinite;
}

.navel-hero-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 12px 28px;
  margin-top: 34px;
  padding-top: 22px;
  max-width: 670px;
  border-top: 1px solid rgba(255, 255, 255, 0.16);
}

.navel-hero-meta span {
  font-family: "Oswald", sans-serif;
  font-size: 11px;
  letter-spacing: 1.7px;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.56);
}

.navel-hero-meta strong {
  margin-right: 5px;
  font-size: 13px;
  font-weight: 500;
  color: #fff;
}

.navel-hero-scroll {
  position: absolute;
  right: 5.5%;
  bottom: 42px;
  z-index: 2;
  display: flex;
  align-items: center;
  gap: 14px;
  font-family: "Oswald", sans-serif;
  font-size: 10px;
  letter-spacing: 3px;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.65);
  transform: rotate(90deg) translateX(-100%);
  transform-origin: right bottom;
}

.navel-hero-scroll i {
  position: relative;
  display: block;
  width: 62px;
  height: 1px;
  overflow: hidden;
  background: rgba(255, 255, 255, 0.24);
}

.navel-hero-scroll i::after {
  position: absolute;
  inset: 0;
  content: "";
  background: #e47d0a;
  transform: translateX(-100%);
  animation: navel-scroll-line 2.2s ease-in-out infinite;
}

@keyframes navel-orbit-drift {
  to { transform: translate3d(18px, -16px, 0) rotate(8deg); }
}

@keyframes navel-grain {
  0% { transform: translate3d(0, 0, 0); }
  25% { transform: translate3d(2%, -3%, 0); }
  50% { transform: translate3d(-3%, 2%, 0); }
  75% { transform: translate3d(3%, 4%, 0); }
  100% { transform: translate3d(-2%, -2%, 0); }
}

@keyframes navel-scroll-line {
  0%, 15% { transform: translateX(-100%); }
  55%, 100% { transform: translateX(100%); }
}

.navel-section-nav {
  position: sticky;
  top: 86px;
  z-index: 70;
  height: 60px;
  background: rgba(7, 7, 7, 0.91);
  border-top: 1px solid rgba(255, 255, 255, 0.08);
  border-bottom: 1px solid rgba(255, 255, 255, 0.12);
  backdrop-filter: blur(16px);
}

.navel-section-nav__inner {
  position: relative;
  display: flex;
  align-items: center;
  gap: clamp(18px, 2.5vw, 34px);
  height: 100%;
  overflow-x: auto;
  scrollbar-width: none;
}

.navel-section-nav__inner::-webkit-scrollbar { display: none; }

.navel-section-nav__label {
  flex: 0 0 auto;
  padding-right: 18px;
  font-family: "Oswald", sans-serif;
  font-size: 10px;
  letter-spacing: 3px;
  color: #e47d0a;
  border-right: 1px solid rgba(255, 255, 255, 0.14);
}

.navel-section-nav a {
  position: relative;
  flex: 0 0 auto;
  font-family: "Oswald", sans-serif;
  font-size: 11px;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.5);
  transition: color 0.25s ease;
}

.navel-section-nav a::after {
  position: absolute;
  right: 0;
  bottom: -20px;
  left: 0;
  height: 2px;
  content: "";
  background: #e47d0a;
  transform: scaleX(0);
  transition: transform 0.25s ease;
}

.navel-section-nav a.is-active,
.navel-section-nav a:hover,
.navel-section-nav a:focus-visible {
  color: #fff;
}

.navel-section-nav a.is-active::after { transform: scaleX(1); }

.navel-section-nav__progress {
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  height: 1px;
  pointer-events: none;
  background: transparent;
}

.navel-section-nav__progress i {
  display: block;
  width: 100%;
  height: 100%;
  background: linear-gradient(90deg, #e47d0a, #ffb35e);
  transform: scaleX(0);
  transform-origin: left;
}

.navel-page section { scroll-margin-top: 150px; }

.navel-intro {
  overflow: hidden;
  background:
    radial-gradient(circle at 84% 24%, rgba(228, 125, 10, 0.1), transparent 24%),
    #090909;
}

.navel-intro::before,
.navel-process::before,
.navel-healing::before {
  position: absolute;
  top: 35px;
  right: 4vw;
  font-family: "Oswald", sans-serif;
  font-size: clamp(7rem, 18vw, 16rem);
  font-weight: 600;
  line-height: 1;
  color: rgba(255, 255, 255, 0.018);
  pointer-events: none;
}

.navel-intro::before { content: "01"; }
.navel-process::before { content: "03"; }
.navel-healing::before { content: "06"; }

.navel-facts {
  box-shadow: 0 34px 90px rgba(0, 0, 0, 0.42), inset 0 1px rgba(255, 255, 255, 0.04);
  transform: rotate(1.2deg);
}

.navel-facts__list > div:hover dd { color: #e47d0a; }

.navel-anatomy {
  background:
    linear-gradient(115deg, rgba(228, 125, 10, 0.055), transparent 42%),
    #0b0b0b;
}

.navel-anatomy-story {
  display: grid;
  grid-template-columns: minmax(320px, 0.82fr) minmax(420px, 1.18fr);
  gap: clamp(50px, 8vw, 120px);
  align-items: start;
}

.navel-anatomy-visual {
  position: sticky;
  top: 185px;
}

.navel-anatomy-visual__frame {
  position: relative;
  display: grid;
  min-height: 520px;
  overflow: hidden;
  place-items: center;
  background:
    radial-gradient(circle at 50% 50%, rgba(228, 125, 10, 0.11), transparent 38%),
    linear-gradient(145deg, #151515, #080808);
  border: 1px solid rgba(255, 255, 255, 0.11);
  box-shadow: 0 35px 100px rgba(0, 0, 0, 0.38);
}

.navel-anatomy-visual__frame::before {
  position: absolute;
  inset: 18px;
  content: "";
  border: 1px solid rgba(255, 255, 255, 0.06);
}

.navel-anatomy-visual__orbit {
  position: absolute;
  border: 1px solid rgba(228, 125, 10, 0.42);
  border-radius: 48% 52% 54% 46%;
}

.navel-anatomy-visual__orbit--outer {
  width: 270px;
  height: 330px;
  animation: navel-anatomy-orbit 12s linear infinite;
}

.navel-anatomy-visual__orbit--inner {
  width: 145px;
  height: 190px;
  border-color: rgba(255, 255, 255, 0.23);
  animation: navel-anatomy-orbit 9s linear infinite reverse;
}

.navel-anatomy-visual__jewel {
  position: absolute;
  width: 28px;
  height: 28px;
  background: radial-gradient(circle at 34% 30%, #fff, #ffc77f 20%, #e47d0a 48%, #512500 72%);
  border: 3px solid #d88a36;
  border-radius: 50%;
  box-shadow: 0 0 34px rgba(228, 125, 10, 0.7);
}

.navel-anatomy-visual__line {
  position: absolute;
  width: 1px;
  height: 140px;
  background: linear-gradient(transparent, #e47d0a, transparent);
}

.navel-anatomy-visual__frame strong {
  position: absolute;
  bottom: 34px;
  left: 34px;
  font-family: "Oswald", sans-serif;
  font-size: 74px;
  font-weight: 400;
  line-height: 1;
  color: rgba(255, 255, 255, 0.1);
  transition: color 0.35s ease;
}

.navel-anatomy-visual__frame small {
  position: absolute;
  right: 30px;
  bottom: 42px;
  font-family: "Oswald", sans-serif;
  font-size: 11px;
  letter-spacing: 4px;
  color: #e47d0a;
}

.navel-anatomy-visual > p {
  margin: 18px 0 0;
  font-family: "Oswald", sans-serif;
  font-size: 11px;
  letter-spacing: 2.2px;
  text-align: center;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.38);
}

@keyframes navel-anatomy-orbit { to { transform: rotate(360deg); } }

.navel-card-grid--story {
  display: grid;
  grid-template-columns: 1fr;
  gap: 26px;
}

.navel-card-grid--story .navel-card {
  min-height: 320px;
  padding: clamp(32px, 5vw, 58px);
  opacity: 0.34;
  transform: translateX(22px);
  transition: opacity 0.45s ease, transform 0.45s ease, border-color 0.45s ease, background 0.45s ease;
}

.navel-card-grid--story .navel-card.is-active {
  opacity: 1;
  transform: translateX(0);
  background: linear-gradient(135deg, rgba(228, 125, 10, 0.1), #111 46%);
  border-color: rgba(228, 125, 10, 0.5);
}

.navel-process {
  overflow: hidden;
  background: #070707;
}

.navel-timeline li small {
  display: block;
  margin-bottom: 14px;
  font-family: "Oswald", sans-serif;
  font-size: 9px;
  letter-spacing: 2.2px;
  color: #e47d0a;
}

.navel-timeline > li {
  opacity: 0.2;
  transform: translateY(26px);
  transition: opacity 0.6s ease var(--step-delay), transform 0.6s ease var(--step-delay);
}

.navel-timeline > li.is-visible {
  opacity: 1;
  transform: translateY(0);
}

.navel-timeline > li.is-visible > span {
  color: #080808;
  background: #e47d0a;
  box-shadow: 0 0 35px rgba(228, 125, 10, 0.25);
}

.navel-price {
  min-height: 850px;
  display: grid;
  align-items: center;
  isolation: isolate;
  background:
    radial-gradient(circle at 17% 50%, rgba(228, 125, 10, 0.2), transparent 30%),
    linear-gradient(110deg, #171008, #080808 48%, #0e0e0e);
}

.navel-price__grid { position: relative; z-index: 2; }

.navel-price__ring {
  position: absolute;
  z-index: 0;
  display: block;
  aspect-ratio: 1;
  border: 1px solid rgba(228, 125, 10, 0.17);
  border-radius: 50%;
  pointer-events: none;
}

.navel-price__ring--one {
  top: -24%;
  left: -11%;
  width: 620px;
  box-shadow: inset 0 0 120px rgba(228, 125, 10, 0.035);
}

.navel-price__ring--two {
  right: -5%;
  bottom: -38%;
  width: 500px;
  border-color: rgba(255, 255, 255, 0.08);
}

.navel-price__amount strong {
  position: relative;
  color: transparent;
  -webkit-text-stroke: 1px #fff;
  text-shadow: 0 0 60px rgba(228, 125, 10, 0.24);
}

.navel-price__details {
  background: rgba(7, 7, 7, 0.76);
  box-shadow: 0 40px 100px rgba(0, 0, 0, 0.45);
  backdrop-filter: blur(14px);
  transform: rotate(-1deg);
}

.navel-jewelry {
  background:
    linear-gradient(180deg, #080808, transparent 18%, transparent 82%, #080808),
    #111;
}

.navel-jewelry__head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 50px;
  margin-bottom: 44px;
}

.navel-jewelry__head .navel-section-head { margin-bottom: 0; }

.navel-jewelry-filters {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 8px;
  padding-bottom: 8px;
}

.navel-jewelry-filters button {
  padding: 10px 14px;
  font-family: "Oswald", sans-serif;
  font-size: 10px;
  letter-spacing: 1.6px;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.55);
  cursor: pointer;
  background: transparent;
  border: 1px solid rgba(255, 255, 255, 0.14);
  transition: color 0.25s ease, background 0.25s ease, border-color 0.25s ease;
}

.navel-jewelry-filters button.is-active,
.navel-jewelry-filters button:hover,
.navel-jewelry-filters button:focus-visible {
  color: #090909;
  background: #e47d0a;
  border-color: #e47d0a;
}

.navel-media-grid {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  grid-auto-rows: 230px;
  gap: 14px;
}

.navel-media-card {
  min-height: 0;
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.32);
}

.navel-media-card--hero { grid-column: 1 / 8; grid-row: 1 / 3; }
.navel-media-card--portrait { grid-column: 8 / 13; grid-row: 1 / 3; }
.navel-media-card--detail-one { grid-column: 1 / 6; grid-row: 3; }
.navel-media-card--detail-two { grid-column: 6 / 13; grid-row: 3; }

.navel-media-card--portrait img { object-position: 76% 50%; }
.navel-media-card--detail-one img { object-position: 44% 72%; transform: scale(1.3); }
.navel-media-card--detail-two img { object-position: 25% 28%; transform: scale(1.35); }
.navel-media-card--detail-one:hover img { transform: scale(1.34); }
.navel-media-card--detail-two:hover img { transform: scale(1.39); }

.navel-media-card[hidden] { display: none; }

.navel-media-grid[data-active-filter]:not([data-active-filter="all"]) {
  grid-auto-rows: 420px;
}

.navel-media-grid[data-active-filter]:not([data-active-filter="all"]) .navel-media-card:not([hidden]) {
  grid-column: span 6;
  grid-row: auto;
}

.navel-jewelry__footer {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 40px;
  margin-top: 26px;
}

.navel-jewelry__footer .navel-disclosure {
  max-width: 760px;
  margin-top: 0;
}

.navel-healing {
  background:
    linear-gradient(90deg, rgba(255, 255, 255, 0.018) 1px, transparent 1px) 0 0 / 80px 80px,
    linear-gradient(rgba(255, 255, 255, 0.018) 1px, transparent 1px) 0 0 / 80px 80px,
    #0b0b0b;
}

.navel-healing-stages li {
  position: relative;
  padding-left: 18px;
}

.navel-healing-stages li::before {
  position: absolute;
  top: 6px;
  bottom: 30px;
  left: 0;
  width: 2px;
  content: "";
  background: linear-gradient(#e47d0a, rgba(228, 125, 10, 0.05));
}

.navel-aftercare-panel {
  box-shadow: 0 35px 90px rgba(0, 0, 0, 0.4);
  transform: translateY(40px);
}

.navel-safety {
  background:
    radial-gradient(circle at 15% 45%, rgba(228, 125, 10, 0.1), transparent 32%),
    #070707;
}

.navel-studio-photo { transform: rotate(-1.5deg); }

.navel-reviews {
  overflow: hidden;
  background: #e47d0a;
  color: #0a0a0a;
}

.navel-reviews .pp-eyebrow,
.navel-reviews .navel-title { color: #090909; }

.navel-reviews .pp-eyebrow { opacity: 0.7; }

.navel-reviews__marquee {
  position: absolute;
  top: 30px;
  left: 0;
  width: max-content;
  opacity: 0.08;
  pointer-events: none;
  animation: navel-marquee 28s linear infinite;
}

.navel-reviews__marquee span {
  font-family: "Oswald", sans-serif;
  font-size: clamp(5rem, 12vw, 10rem);
  font-weight: 600;
  white-space: nowrap;
}

@keyframes navel-marquee { to { transform: translateX(-50%); } }

.navel-reviews__head {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 40px;
  margin-bottom: 54px;
}

.navel-review-score {
  flex: 0 0 190px;
  color: #090909;
  text-align: right;
}

.navel-review-score strong {
  display: block;
  font-family: "Oswald", sans-serif;
  font-size: 74px;
  font-weight: 500;
  line-height: 0.9;
}

.navel-review-score span {
  display: block;
  margin: 10px 0 5px;
  letter-spacing: 4px;
}

.navel-review-score small {
  font-family: "Oswald", sans-serif;
  font-size: 9px;
  letter-spacing: 1.5px;
}

.navel-review-grid {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
}

.navel-review-card {
  display: flex;
  min-height: 390px;
  padding: 28px;
  flex-direction: column;
  background: #0c0c0c;
  border: 1px solid rgba(255, 255, 255, 0.13);
  box-shadow: 0 20px 55px rgba(67, 30, 0, 0.24);
  transition: border-color 0.35s ease, box-shadow 0.35s ease;
}

.navel-review-card:nth-child(even) { transform: translateY(26px); }
.navel-review-card:hover {
  border-color: rgba(228, 125, 10, 0.45);
  box-shadow: 0 20px 55px rgba(67, 30, 0, 0.32);
}

.navel-review-card__top {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.navel-review-card__top > span {
  display: grid;
  width: 44px;
  height: 44px;
  place-items: center;
  font-family: "Oswald", sans-serif;
  font-size: 12px;
  color: #0a0a0a;
  background: #e47d0a;
  border-radius: 50%;
}

.navel-review-card__top small {
  font-size: 10px;
  letter-spacing: 2px;
  color: #e47d0a;
}

.navel-review-card blockquote {
  margin: 34px 0 auto;
  font-family: "Barlow", sans-serif;
  font-size: 16px;
  font-weight: 300;
  line-height: 1.65;
  color: rgba(255, 255, 255, 0.78);
}

.navel-review-card footer {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  margin-top: 28px;
  padding-top: 18px;
  border-top: 1px solid rgba(255, 255, 255, 0.1);
}

.navel-review-card footer strong {
  font-family: "Oswald", sans-serif;
  font-size: 12px;
  font-weight: 500;
  letter-spacing: 1px;
  text-transform: uppercase;
  color: #fff;
}

.navel-review-card footer span {
  font-size: 11px;
  color: rgba(255, 255, 255, 0.4);
}

.navel-review-words {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 10px;
  margin-top: 66px;
}

.navel-review-words span {
  padding: 9px 15px;
  font-family: "Oswald", sans-serif;
  font-size: 10px;
  letter-spacing: 1.8px;
  text-transform: uppercase;
  color: #090909;
  border: 1px solid rgba(9, 9, 9, 0.45);
  border-radius: 30px;
}

.navel-location {
  background:
    radial-gradient(circle at 84% 42%, rgba(228, 125, 10, 0.12), transparent 30%),
    linear-gradient(135deg, #080808 0%, #12100d 100%);
}

.navel-location__map {
  overflow: hidden;
  box-shadow: 0 35px 90px rgba(0, 0, 0, 0.45);
  transform: translateY(28px);
}

.navel-final {
  min-height: 760px;
  display: grid;
  align-items: center;
  background:
    radial-gradient(circle at 50% 45%, rgba(228, 125, 10, 0.18), transparent 26%),
    linear-gradient(rgba(4, 4, 4, 0.68), rgba(4, 4, 4, 0.94)),
    url("/assets/img/navel/navel-cta-v2.webp") center center / cover no-repeat;
}

.navel-final__inner::before {
  display: block;
  width: 110px;
  height: 110px;
  margin: 0 auto 34px;
  content: "";
  border: 1px solid rgba(228, 125, 10, 0.6);
  border-radius: 50%;
  box-shadow: 0 0 50px rgba(228, 125, 10, 0.15), inset 0 0 30px rgba(228, 125, 10, 0.08);
  animation: navel-final-pulse 3s ease-in-out infinite;
}

@keyframes navel-final-pulse {
  50% { transform: scale(1.07); box-shadow: 0 0 80px rgba(228, 125, 10, 0.28), inset 0 0 36px rgba(228, 125, 10, 0.12); }
}

.navel-mobile-cta { display: none; }

@media (max-width: 1100px) {
  .navel-section-nav { top: 80px; }
  .navel-anatomy-story { grid-template-columns: minmax(280px, 0.78fr) minmax(360px, 1.22fr); gap: 46px; }
  .navel-review-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
  .navel-review-card:nth-child(even) { transform: none; }
}

@media (max-width: 991px) {
  .navel-hero-scroll { display: none; }
  .navel-section-nav { top: 78px; }
  .navel-anatomy-story { grid-template-columns: 1fr; }
  .navel-anatomy-visual { position: relative; top: auto; }
  .navel-anatomy-visual__frame { min-height: 420px; }
  .navel-card-grid--story { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .navel-card-grid--story .navel-card { min-height: 280px; padding: 28px; opacity: 1; transform: none; }
  .navel-jewelry__head { display: block; }
  .navel-jewelry-filters { justify-content: flex-start; margin-top: 28px; }
  .navel-media-grid { grid-auto-rows: 210px; }
}

@media (max-width: 767px) {
  body[data-page-key="piercing-navel"] { padding-bottom: 76px; }
  body[data-page-key="piercing-navel"] .sticky-whatsapp { display: none; }
  body[data-page-key="piercing-navel"] .pp-hero { min-height: 710px; }
  body[data-page-key="piercing-navel"] .pp-hero__img { transform: scale(1.08); }
  .navel-hero-orb--one { top: 24%; right: -30%; width: 340px; }
  .navel-hero-orb--two { display: none; }
  .navel-hero-meta { display: none; }

  .navel-section-nav { top: 78px; height: 52px; }
  .navel-section-nav__inner { gap: 22px; padding-right: 16px; padding-left: 16px; }
  .navel-section-nav__label { display: none; }
  .navel-section-nav a::after { bottom: -17px; }
  .navel-page section { scroll-margin-top: 136px; }

  .navel-intro::before,
  .navel-process::before,
  .navel-healing::before { font-size: 8rem; }
  .navel-facts { transform: none; }

  .navel-anatomy-visual__frame { min-height: 360px; }
  .navel-anatomy-visual__orbit--outer { width: 205px; height: 255px; }
  .navel-anatomy-visual__orbit--inner { width: 112px; height: 150px; }
  .navel-card-grid--story { grid-template-columns: 1fr; }
  .navel-card-grid--story .navel-card { min-height: 0; }

  .navel-timeline li small { margin-top: 3px; }
  .navel-price { min-height: 0; }
  .navel-price__ring--one { width: 360px; }
  .navel-price__details { transform: none; }

  .navel-jewelry-filters { flex-wrap: nowrap; overflow-x: auto; padding-bottom: 8px; scrollbar-width: none; }
  .navel-jewelry-filters button { flex: 0 0 auto; }
  .navel-media-grid,
  .navel-media-grid[data-active-filter]:not([data-active-filter="all"]) {
    display: grid;
    grid-template-columns: 1fr;
    grid-auto-rows: 360px;
  }
  .navel-media-card,
  .navel-media-grid[data-active-filter]:not([data-active-filter="all"]) .navel-media-card:not([hidden]) {
    grid-column: 1;
    grid-row: auto;
  }
  .navel-media-card--detail-one img,
  .navel-media-card--detail-two img { transform: scale(1.18); }
  .navel-jewelry__footer { display: block; }
  .navel-jewelry__footer .navel-text-link { margin-top: 18px; }

  .navel-aftercare-panel { transform: none; }
  .navel-studio-photo { transform: none; }

  .navel-reviews__head { align-items: flex-start; }
  .navel-review-score { flex-basis: 100px; }
  .navel-review-score strong { font-size: 52px; }
  .navel-review-score small { display: block; line-height: 1.45; }
  .navel-review-grid {
    grid-template-columns: none;
    grid-auto-flow: column;
    grid-auto-columns: 86%;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
  }
  .navel-review-card { min-height: 370px; scroll-snap-align: start; }
  .navel-review-words { justify-content: flex-start; margin-top: 38px; }
  .navel-location__map { transform: none; }
  .navel-final { min-height: 680px; }
  .navel-final__inner::before { width: 82px; height: 82px; }

  .navel-mobile-cta {
    position: fixed;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 150;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    min-height: 72px;
    padding: 10px 12px 10px 16px;
    background: rgba(8, 8, 8, 0.96);
    border-top: 1px solid rgba(255, 255, 255, 0.14);
    backdrop-filter: blur(16px);
    opacity: 0;
    pointer-events: none;
    transform: translateY(110%);
    transition: opacity 0.3s ease, transform 0.3s ease;
  }
  .navel-mobile-cta.is-visible { opacity: 1; pointer-events: auto; transform: translateY(0); }
  .navel-mobile-cta > span { display: flex; flex-direction: column; }
  .navel-mobile-cta small { font-family: "Oswald", sans-serif; font-size: 8px; letter-spacing: 2px; color: #e47d0a; }
  .navel-mobile-cta strong { font-family: "Oswald", sans-serif; font-size: 20px; font-weight: 500; color: #fff; }
  .navel-mobile-cta a {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    min-height: 50px;
    padding: 10px 16px;
    font-family: "Oswald", sans-serif;
    font-size: 11px;
    letter-spacing: 1.2px;
    text-transform: uppercase;
    color: #071009;
    background: #25d366;
  }
}

@media (prefers-reduced-motion: reduce) {
  .navel-hero-orb,
  .navel-hero-grain,
  .navel-hero-scroll i::after,
  .navel-anatomy-visual__orbit,
  .navel-reviews__marquee,
  .navel-final__inner::before { animation: none; }
  body[data-page-key="piercing-navel"] .pp-hero__img,
  .navel-card-grid--story .navel-card,
  .navel-timeline > li,
  .navel-review-card { transition: none; }
}

/* Navel refinements — every decorative element must carry meaning */
.navel-anatomy-checklist {
  padding: clamp(34px, 4vw, 52px);
  background:
    linear-gradient(145deg, rgba(228, 125, 10, 0.08), transparent 42%),
    #111;
  border: 1px solid rgba(255, 255, 255, 0.12);
  box-shadow: 0 35px 90px rgba(0, 0, 0, 0.34);
}

.navel-anatomy-checklist__eyebrow {
  margin: 0 0 18px;
  font-family: "Oswald", sans-serif;
  font-size: 10px !important;
  letter-spacing: 3px;
  color: #e47d0a !important;
}

.navel-anatomy-checklist h3 {
  max-width: 360px;
  margin: 0 0 34px;
  font-family: "Oswald", sans-serif;
  font-size: clamp(1.8rem, 3vw, 2.6rem);
  font-weight: 500;
  line-height: 1.1;
  text-transform: uppercase;
  color: #fff;
}

.navel-anatomy-checklist ol {
  margin: 0;
  padding: 0;
  list-style: none;
}

.navel-anatomy-checklist li {
  display: grid;
  grid-template-columns: 42px 1fr;
  gap: 18px;
  padding: 20px 0;
  border-top: 1px solid rgba(255, 255, 255, 0.1);
}

.navel-anatomy-checklist li > span {
  font-family: "Oswald", sans-serif;
  font-size: 12px;
  letter-spacing: 1px;
  color: #e47d0a;
}

.navel-anatomy-checklist li strong,
.navel-anatomy-checklist li small {
  display: block;
}

.navel-anatomy-checklist li strong {
  margin-bottom: 5px;
  font-family: "Oswald", sans-serif;
  font-size: 16px;
  font-weight: 500;
  text-transform: uppercase;
  color: #fff;
}

.navel-anatomy-checklist li small {
  font-size: 13px;
  line-height: 1.55;
  color: rgba(255, 255, 255, 0.58);
}

.navel-anatomy-checklist__note {
  margin: 26px 0 0;
  padding: 18px 0 0;
  font-size: 13px !important;
  line-height: 1.65 !important;
  color: rgba(255, 255, 255, 0.54) !important;
  border-top: 1px solid rgba(228, 125, 10, 0.35);
}

.navel-jewelry__head {
  display: block;
}

.navel-jewelry-filters {
  justify-content: flex-start;
  margin-top: 30px;
  padding-bottom: 0;
}

.navel-jewelry-filters__label {
  display: inline-flex;
  align-items: center;
  margin-right: 8px;
  padding-right: 18px;
  font-family: "Oswald", sans-serif;
  font-size: 10px;
  letter-spacing: 2.3px;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.6);
  border-right: 1px solid rgba(255, 255, 255, 0.18);
}

.navel-reviews-anchor {
  scroll-margin-top: 150px;
}

.navel-final__inner::before {
  display: none;
  content: none;
}

.navel-final__proof {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 8px;
  margin-top: 28px;
}

.navel-final__proof span {
  padding: 8px 13px;
  font-family: "Oswald", sans-serif;
  font-size: 9px;
  letter-spacing: 1.7px;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.72);
  background: rgba(0, 0, 0, 0.36);
  border: 1px solid rgba(255, 255, 255, 0.18);
}

@media (max-width: 767px) {
  .navel-anatomy-checklist { padding: 30px 24px; }
  .navel-jewelry-filters { margin-top: 24px; }
  .navel-jewelry-filters__label { flex: 0 0 auto; }
  .navel-final__proof { gap: 6px; }

  body[data-page-key="piercing-navel"] .pp-hero__copy {
    width: 100%;
    min-width: 0;
  }

  body[data-page-key="piercing-navel"] .pp-hero__title,
  body[data-page-key="piercing-navel"] .pp-hero__desc,
  body[data-page-key="piercing-navel"] .pp-hero .pp-eyebrow {
    max-width: 100%;
    overflow-wrap: anywhere;
  }

  body[data-page-key="piercing-navel"] .pp-hero__actions .btn-whatsapp.pp-hero__cta-primary,
  body[data-page-key="piercing-navel"] .pp-hero__cta-secondary {
    box-sizing: border-box;
    min-width: 0;
    max-width: 100%;
  }

  html[lang="de"] body[data-page-key="piercing-navel"] .pp-hero__title {
    font-size: 2.15rem;
    hyphens: auto;
    letter-spacing: 0;
  }
}

/* Sticky WhatsApp */
.sticky-whatsapp {
  position: fixed;
  bottom: 30px;
  right: 30px;
  width: 56px;
  height: 56px;
  border-radius: 50%;
  background: #25D366;
  color: #fff;
  z-index: 101;
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  visibility: hidden;
  transform: translateY(20px);
  transition: opacity 400ms linear, visibility 400ms linear, transform 400ms linear;
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.35);
}

.sticky-whatsapp:hover,
.sticky-whatsapp:focus {
  display: flex;
  color: #fff;
  background: #20bd5a;
  transform: translateY(0);
}

.sticky-whatsapp.is-visible {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}

.sticky-whatsapp svg {
  width: 28px;
  height: 28px;
}

/* Scroll-to-top: sit above WhatsApp, no overlap */
.progress-wrap {
  bottom: 100px !important;
  right: 33px !important;
}

/* Footer social icons */
.footer-social-icons {
  display: flex;
  align-items: center;
  gap: 14px;
  margin-top: 15px;
}

.footer-social-icons a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  color: #fff;
  font-size: 18px;
  transition: color 0.3s ease;
}

.footer-social-icons a:hover,
.footer-social-icons a:focus {
  color: #e47d0a;
}

.footer-social-icons .icon-tiktok {
  width: 18px;
  height: 18px;
}

.footer-explore .footer-social-icons {
  margin-top: 20px;
}

/* Hero video (disabled while site.heroVideo is null) */
.banner-header.hero-video-wrap {
  position: relative;
  overflow: hidden;
}

.banner-header.hero-video-wrap .hero-video {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  z-index: 0;
  pointer-events: none;
}

.banner-header.hero-video-wrap .container {
  position: relative;
  z-index: 2;
}

/* Shared WhatsApp CTA button — also beat theme a:hover { display: inline-block } */
a.btn-whatsapp,
a.btn-whatsapp:hover,
a.btn-whatsapp:focus-visible,
a.btn-whatsapp:active,
.btn-whatsapp,
.btn-whatsapp:hover,
.btn-whatsapp:focus-visible,
.btn-whatsapp:active {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  gap: 10px;
  transform: none !important;
}

.btn-whatsapp {
  min-height: 48px;
  padding: 12px 24px;
  font-family: "Oswald", sans-serif;
  font-size: 14px;
  font-weight: 500;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  text-decoration: none;
  color: #fff;
  background: #25D366;
  border: 1px solid rgba(255, 255, 255, 0.14);
  border-radius: 3px;
  transition: background-color 0.22s ease, box-shadow 0.22s ease;
}

.btn-whatsapp:hover {
  background: #20BD5A;
  color: #fff;
  box-shadow: 0 6px 18px rgba(37, 211, 102, 0.32);
}

.btn-whatsapp:focus-visible {
  outline: 2px solid #fff;
  outline-offset: 2px;
}

.btn-whatsapp:active {
  transform: translateY(0);
  box-shadow: 0 2px 8px rgba(37, 211, 102, 0.25);
}

.btn-whatsapp__icon {
  display: inline-flex;
  width: 21px;
  height: 21px;
  flex-shrink: 0;
}

.btn-whatsapp__icon svg {
  width: 100%;
  height: 100%;
}

.btn-whatsapp__label {
  line-height: 1.2;
  text-align: center;
}

.btn-whatsapp__arrow {
  font-size: 0.75rem;
  line-height: 1;
  opacity: 0.92;
  transition: transform 0.22s ease;
}

.btn-whatsapp:hover .btn-whatsapp__arrow,
.btn-whatsapp:focus-visible .btn-whatsapp__arrow {
  transform: none;
}

@media (prefers-reduced-motion: reduce) {
  .btn-whatsapp {
    transition: background-color 0.15s ease;
  }

  .btn-whatsapp:hover,
  .btn-whatsapp:active {
    transform: none;
  }

  .btn-whatsapp:hover .btn-whatsapp__arrow,
  .btn-whatsapp:focus-visible .btn-whatsapp__arrow {
    transform: none;
  }
}

/* Homepage hero — Faz 1.2 */
.banner-header.home-hero {
  height: auto;
  min-height: max(720px, 92vh);
  padding: clamp(108px, 12vh, 140px) 0 clamp(56px, 8vh, 80px);
  overflow: visible;
}

.banner-header.home-hero.full-height {
  height: auto;
  min-height: max(720px, 92vh);
}

.banner-header.home-hero .container {
  position: relative;
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: max(560px, calc(92vh - clamp(108px, 12vh, 140px) - clamp(56px, 8vh, 80px)));
}

.banner-header.home-hero .row {
  width: 100%;
  margin-inline: auto;
}

.banner-header.home-hero .hero-copy {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 100%;
  max-width: min(100%, 58rem);
  margin-inline: auto;
  text-align: center;
}

.banner-header.home-hero .hero-title {
  margin: 0 0 20px;
  width: 100%;
  font-family: "Oswald", sans-serif;
  font-weight: 500;
  text-transform: uppercase;
  line-height: 1.05;
  text-wrap: balance;
}

.banner-header.home-hero .hero-title__context {
  display: block;
  margin: 0 auto 18px;
  max-width: 36rem;
  font-family: "Barlow", sans-serif;
  font-size: clamp(0.8125rem, 1.1vw, 1.0625rem);
  font-weight: 500;
  line-height: 1.45;
  letter-spacing: 0.02em;
  text-transform: none;
  color: rgba(228, 125, 10, 0.96);
  -webkit-text-stroke: 0.75px rgba(255, 255, 255, 0.42);
  paint-order: stroke fill;
}

.banner-header.home-hero .hero-title__primary {
  display: block;
  font-size: clamp(2.75rem, 6.5vw, 4.6875rem);
  letter-spacing: 0.08em;
  color: #fff;
  -webkit-text-stroke: 0;
}

.banner-header.home-hero .hero-title__outline {
  display: block;
  font-size: clamp(2.75rem, 6.5vw, 4.6875rem);
  letter-spacing: 0.06em;
  color: transparent;
  -webkit-text-stroke: 1px rgba(228, 125, 10, 0.92);
}

.banner-header.home-hero .hero-desc {
  margin: 0 0 24px;
  max-width: min(100%, 48.75rem);
  font-size: clamp(1rem, 1.4vw, 1.125rem);
  line-height: 1.65;
  color: rgba(255, 255, 255, 0.9);
  text-wrap: balance;
}

.banner-header.home-hero .hero-trust {
  display: inline-flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 10px 14px;
  margin: 0 0 26px;
  padding: 12px 20px;
  min-height: 52px;
  max-width: 100%;
  text-decoration: none;
  background: rgba(6, 6, 6, 0.52);
  border: 1px solid rgba(228, 125, 10, 0.52);
  border-radius: 3px;
  transition: border-color 0.22s ease, background-color 0.22s ease;
}

.banner-header.home-hero .hero-trust:hover,
.banner-header.home-hero .hero-trust:focus-visible {
  background: rgba(10, 10, 10, 0.62);
  border-color: rgba(228, 125, 10, 0.75);
  outline: 2px solid rgba(228, 125, 10, 0.5);
  outline-offset: 2px;
}

.banner-header.home-hero .hero-trust__leading {
  display: inline-flex;
  align-items: center;
  gap: 9px;
}

.banner-header.home-hero .hero-trust__google-logo {
  display: inline-flex;
  width: 22px;
  height: 22px;
  flex-shrink: 0;
}

.banner-header.home-hero .hero-trust__google-logo svg {
  width: 100%;
  height: 100%;
}

.banner-header.home-hero .hero-trust__source {
  font-family: "Barlow", sans-serif;
  font-size: 0.875rem;
  font-weight: 500;
  letter-spacing: 0.02em;
  color: rgba(255, 255, 255, 0.9);
}

.banner-header.home-hero .hero-trust__divider {
  width: 1px;
  height: 16px;
  background: rgba(255, 255, 255, 0.24);
  flex-shrink: 0;
}

.banner-header.home-hero .hero-trust__metrics {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

.banner-header.home-hero .hero-trust__score {
  font-family: "Oswald", sans-serif;
  font-size: 1.375rem;
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0.02em;
  color: #fff;
}

.banner-header.home-hero .hero-trust__stars {
  display: inline-flex;
  align-items: center;
  gap: 2px;
  line-height: 1;
}

.banner-header.home-hero .hero-trust__star {
  display: inline-flex;
  width: 15px;
  height: 15px;
}

.banner-header.home-hero .hero-trust__star svg {
  width: 100%;
  height: 100%;
  fill: #e47d0a;
}

.banner-header.home-hero .hero-trust__count {
  font-family: "Barlow", sans-serif;
  font-size: 0.875rem;
  line-height: 1.3;
  color: rgba(255, 255, 255, 0.92);
}

.banner-header.home-hero .hero-trust__footer {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

.banner-header.home-hero .hero-trust__count-num {
  font-weight: 600;
}

.banner-header.home-hero .hero-trust__arrow {
  font-size: 0.8125rem;
  line-height: 1;
  color: rgba(228, 125, 10, 0.95);
}

.banner-header.home-hero .hero-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  justify-content: center;
  gap: 12px;
  width: 100%;
  max-width: 560px;
  margin: 0 0 24px;
}

.banner-header.home-hero .hero-actions .btn-whatsapp.hero-cta-primary,
.banner-header.home-hero .hero-cta-secondary {
  flex: 1 1 220px;
  min-height: 56px;
  max-width: 270px;
  margin: 0;
}

.banner-header.home-hero .hero-actions .btn-whatsapp.hero-cta-primary {
  min-width: 250px;
  padding: 14px 30px;
}

.banner-header.home-hero .hero-cta-secondary {
  background: rgba(0, 0, 0, 0.28);
  border: 1px solid rgba(255, 255, 255, 0.38);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transform: none;
}

.banner-header.home-hero .hero-cta-secondary::after {
  background: rgba(228, 125, 10, 0.18);
}

.banner-header.home-hero .hero-cta-secondary span {
  color: #fff;
}

.banner-header.home-hero .hero-cta-secondary:hover,
.banner-header.home-hero .hero-cta-secondary:focus-visible {
  display: inline-flex;
  border-color: rgba(228, 125, 10, 0.65);
  outline: 2px solid rgba(228, 125, 10, 0.45);
  outline-offset: 2px;
  transform: none;
}

.banner-header.home-hero .hero-cta-secondary:hover span,
.banner-header.home-hero .hero-cta-secondary:focus-visible span {
  color: #fff;
}

.banner-header.home-hero .hero-quick {
  width: 100%;
  max-width: 640px;
  margin: 0 0 18px;
  padding-top: 18px;
  border-top: 1px solid rgba(255, 255, 255, 0.14);
}

.banner-header.home-hero .hero-quick__list {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 6px 0;
  margin: 0;
  padding: 0;
  list-style: none;
}

.banner-header.home-hero .hero-quick__item {
  display: flex;
  align-items: center;
}

.banner-header.home-hero .hero-quick__item:not(:last-child)::after {
  content: "·";
  margin: 0 10px;
  color: rgba(255, 255, 255, 0.35);
  font-size: 0.875rem;
  line-height: 1;
}

.banner-header.home-hero .hero-quick__link {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  min-height: 44px;
  padding: 4px 2px;
  font-family: "Barlow", sans-serif;
  font-size: clamp(0.8125rem, 1.1vw, 0.9375rem);
  font-weight: 500;
  line-height: 1.3;
  color: rgba(255, 255, 255, 0.82);
  text-decoration: none;
  transition: color 0.2s ease;
  transform: none;
}

.banner-header.home-hero .hero-quick__link:hover,
.banner-header.home-hero .hero-quick__link:focus-visible {
  display: inline-flex;
  color: #e47d0a;
  text-decoration: underline;
  text-underline-offset: 3px;
  outline: none;
  transform: none;
}

.banner-header.home-hero .hero-quick__link:focus-visible {
  outline: 2px solid rgba(228, 125, 10, 0.55);
  outline-offset: 2px;
  border-radius: 2px;
}

.banner-header.home-hero .hero-quick__arrow {
  font-size: 0.6875rem;
  line-height: 1;
  opacity: 0.75;
}

.banner-header.home-hero .hero-location {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  margin: 0;
  font-family: "Barlow", sans-serif;
  font-size: 0.8125rem;
  letter-spacing: 0.02em;
  color: rgba(255, 255, 255, 0.68);
}

.banner-header.home-hero .hero-location__icon {
  font-size: 0.75rem;
  color: rgba(228, 125, 10, 0.8);
}

.services .content .date .services-index {
  display: block;
  font-size: 70px;
  font-weight: 500;
  margin-bottom: 0;
  font-family: "Oswald", sans-serif;
  color: transparent;
  -webkit-text-stroke: 1px #e47d0a;
}

/* Home services — layout, badges, landing chips */
.services .service-row {
  align-items: stretch;
}

.services .service-row__content {
  display: flex;
  align-items: center;
  align-self: stretch;
  min-height: 0;
}

.services .service-row__content .content {
  width: 100%;
}

.services .content .cont h3 {
  margin: 0 0 0.75rem;
  font-family: "Oswald", sans-serif;
  font-size: 1.75rem;
  font-weight: 500;
  line-height: 1.2;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: #fff;
}

.service-badge {
  display: inline-block;
  margin: 0 0 0.875rem;
  padding: 0.375rem 0.625rem;
  font-size: 0.8125rem;
  font-weight: 500;
  line-height: 1.35;
  color: rgba(255, 255, 255, 0.92);
  background: rgba(228, 125, 10, 0.14);
  border: 1px solid rgba(228, 125, 10, 0.45);
  border-radius: 3px;
}

.service-links {
  margin: 1rem 0 0;
}

.service-links:not(:has(.service-links__chip)) {
  display: none;
}

.service-links__list {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.service-links__chip {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 0.5rem 0.875rem;
  font-family: "Barlow", sans-serif;
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 1.25;
  text-decoration: none;
  color: #fff;
  background: transparent;
  border: 1px solid rgba(228, 125, 10, 0.75);
  border-radius: 3px;
  transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}

.service-links__chip:hover {
  color: #fff;
  background: rgba(228, 125, 10, 0.18);
  border-color: #e47d0a;
}

.service-links__chip:focus-visible {
  outline: 2px solid #fff;
  outline-offset: 2px;
  border-color: #e47d0a;
}

.service-cta {
  margin: 1.5rem 0 0;
  padding: 0;
}

.service-cta__link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  padding: 0.75rem 1.375rem;
  font-family: "Barlow", sans-serif;
  font-size: 0.9375rem;
  font-weight: 600;
  line-height: 1.25;
  letter-spacing: 0.02em;
  text-decoration: none;
  text-transform: uppercase;
  color: #fff;
  background: #e47d0a;
  border: 1px solid #e47d0a;
  border-radius: 3px;
  transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}

.service-cta__link:hover {
  color: #fff;
  background: #c96d08;
  border-color: #c96d08;
}

.service-cta__link:focus-visible {
  outline: 2px solid #fff;
  outline-offset: 2px;
  border-color: #e47d0a;
}

.service-cta__arrow {
  margin-left: 0.25rem;
}

/* Home hygiene — vertical centering + trust badges */
.home-hygiene .hygiene-row {
  align-items: stretch;
}

.home-hygiene .hygiene-row__media {
  display: flex;
  align-items: center;
  align-self: stretch;
}

.home-hygiene .hygiene-row__media img {
  width: 100%;
  height: auto;
  display: block;
}

.home-hygiene .hygiene-row__content {
  display: flex;
  align-items: center;
  align-self: stretch;
  min-height: 0;
}

.home-hygiene .hygiene-row__inner {
  width: 100%;
}

.hygiene-badges {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin: 1.25rem 0 0;
  padding: 0;
  list-style: none;
}

.hygiene-badges:not(:has(.hygiene-badge)) {
  display: none;
}

.hygiene-badge {
  display: inline-block;
  padding: 0.375rem 0.625rem;
  font-size: 0.8125rem;
  font-weight: 500;
  line-height: 1.35;
  color: rgba(255, 255, 255, 0.92);
  background: rgba(228, 125, 10, 0.14);
  border: 1px solid rgba(228, 125, 10, 0.45);
  border-radius: 3px;
}

@media screen and (max-width: 991px) {
  .home-hygiene .hygiene-row__media,
  .home-hygiene .hygiene-row__content {
    align-items: flex-start;
  }

  .home-hygiene .hygiene-row__media {
    margin-bottom: 1.5rem;
  }
}

/* Site FAQ accordion (vanilla — no jQuery) */
.faq-accordion__item {
  border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}

.faq-accordion__item:last-child {
  border-bottom: none;
}

.faq-accordion__heading {
  margin: 0;
  font: inherit;
}

.faq-accordion__button {
  display: block;
  width: 100%;
  margin: 0;
  padding: 1.25rem 2.75rem 1.25rem 0;
  font-family: "Barlow", sans-serif;
  font-size: 0.9375rem;
  font-weight: 500;
  line-height: 1.45;
  text-align: left;
  color: rgba(255, 255, 255, 0.72);
  background: transparent;
  border: none;
  cursor: pointer;
  position: relative;
  transition: color 0.2s ease;
}

.faq-accordion__button:hover {
  color: #fff;
}

.faq-accordion__button:focus-visible {
  outline: 2px solid #fff;
  outline-offset: 2px;
}

.faq-accordion__button[aria-expanded="true"] {
  color: #fff;
}

.faq-accordion__button::after {
  content: "+";
  position: absolute;
  top: 50%;
  right: 0.25rem;
  transform: translateY(-50%);
  font-size: 1.125rem;
  line-height: 1;
  color: rgba(255, 255, 255, 0.35);
  transition: color 0.2s ease, transform 0.2s ease;
}

.faq-accordion__button[aria-expanded="true"]::after {
  content: "−";
  color: #e47d0a;
}

.faq-accordion__panel {
  padding: 0 0 1.25rem;
}

.faq-accordion__answer {
  font-size: 0.9375rem;
  line-height: 1.65;
  color: rgba(255, 255, 255, 0.72);
}

.home-hygiene-faq {
  margin-top: 2rem;
}

.home-hygiene-faq__title {
  margin: 0 0 1rem;
  font-family: "Oswald", sans-serif;
  font-size: 1.375rem;
  font-weight: 500;
  line-height: 1.25;
  letter-spacing: 0.03em;
  text-transform: uppercase;
  color: #fff;
}

.home-hygiene-faq .faq-accordion__button {
  padding-top: 1rem;
  padding-bottom: 1rem;
  font-size: 0.875rem;
}

.home-hygiene-faq .faq-accordion__panel {
  padding-bottom: 1rem;
}

@media screen and (max-width: 767px) {
  .faq-accordion__button {
    min-height: 48px;
    padding-right: 2.5rem;
    font-size: 1rem;
  }

  .home-hygiene-faq__title {
    font-size: 1.25rem;
  }
}

/* Home pricing — divider lines in gap; factor descriptions, piercing note */
.line-vr-section:has(+ .home-pricing),
.home-pricing + .line-vr-section {
  margin: 0 auto;
}

.home-pricing {
  position: relative;
  z-index: 2;
}

.home-pricing .pricing-row {
  align-items: stretch;
}

.home-pricing .pricing-row__media {
  display: flex;
  align-items: center;
  align-self: stretch;
}

.home-pricing .pricing-row__content {
  display: flex;
  align-items: center;
  align-self: stretch;
  min-height: 0;
}

.home-pricing .pricing-row__inner {
  width: 100%;
}

.home-pricing-faq {
  margin-top: 1.25rem;
}

.home-pricing .pricing-factor__title {
  color: #fff;
  font-weight: 600;
}

.home-pricing .pricing-factor__text {
  margin: 0 0 0.75rem;
  font-size: 0.875rem;
  line-height: 1.55;
  color: rgba(255, 255, 255, 0.62);
}

.home-pricing .menu-list .flex .title.pricing-factor__title {
  color: #fff;
  font-weight: 600;
  padding-bottom: 0.35rem;
}

.pricing-piercing-inline {
  margin: 1.25rem 0 0;
  font-size: 0.875rem;
  line-height: 1.55;
  color: rgba(255, 255, 255, 0.72);
}

.pricing-piercing-inline__link {
  display: inline;
  margin-left: 0.25rem;
  font-weight: 600;
  text-decoration: none;
  color: #e47d0a;
  border-bottom: 1px solid rgba(228, 125, 10, 0.45);
  transition: color 0.2s ease, border-color 0.2s ease;
}

.pricing-piercing-inline__link:hover {
  color: #fff;
  border-color: #fff;
}

.pricing-piercing-inline__link:focus-visible {
  outline: 2px solid #fff;
  outline-offset: 2px;
}

.pricing-outro {
  margin-bottom: 0;
  font-size: 0.9375rem;
  line-height: 1.55;
  color: rgba(255, 255, 255, 0.82);
}

.pricing-outro__link {
  display: inline-block;
  margin-left: 0.35rem;
  font-weight: 600;
  text-decoration: none;
  color: #e47d0a;
  border-bottom: 1px solid rgba(228, 125, 10, 0.55);
}

.pricing-outro__link:hover {
  color: #fff;
  border-color: #fff;
}

.pricing-outro__link:focus-visible {
  outline: 2px solid #fff;
  outline-offset: 2px;
}

@media screen and (max-width: 991px) {
  .home-pricing .pricing-row__media,
  .home-pricing .pricing-row__content {
    align-items: flex-start;
  }

  .home-pricing .pricing-row__media {
    margin-bottom: 0;
  }
}

@media screen and (max-width: 767px) {
  .pricing-outro__link {
    display: inline-block;
    margin-top: 0.5rem;
    margin-left: 0;
  }
}

@media screen and (max-width: 991px) {
  .services .service-row__content {
    align-items: flex-start;
    margin-top: 1.5rem;
  }
}

@media screen and (max-width: 767px) {
  .services .content .cont h3 {
    font-size: 1.5rem;
  }

  .service-links__chip {
    min-height: 44px;
    font-size: 0.9375rem;
  }

  .service-cta__link {
    width: 100%;
    min-height: 48px;
    padding: 0.875rem 1.25rem;
    font-size: 1rem;
  }
}

@media screen and (max-width: 991px) {
  .banner-header.home-hero .hero-copy {
    max-width: min(100%, 45rem);
  }
}

@media screen and (max-width: 767px) {
  .banner-header.home-hero {
    min-height: auto;
    padding: 104px 0 56px;
  }

  .banner-header.home-hero .container {
    min-height: auto;
  }

  .banner-header.home-hero .hero-title__context {
    font-size: 0.8125rem;
  }

  .banner-header.home-hero .hero-actions {
    flex-direction: column;
    max-width: 320px;
  }

  .banner-header.home-hero .hero-actions .btn-whatsapp.hero-cta-primary,
  .banner-header.home-hero .hero-cta-secondary {
    flex: 1 1 auto;
    width: 100%;
    max-width: 320px;
  }

  .banner-header.home-hero .hero-trust {
    width: 100%;
    max-width: 340px;
    padding: 11px 16px;
    gap: 8px 10px;
  }

  .banner-header.home-hero .hero-trust__divider--count {
    display: none;
  }

  .banner-header.home-hero .hero-trust__footer {
    flex: 1 0 100%;
    justify-content: center;
  }

  .banner-header.home-hero .hero-quick__list {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 4px 12px;
    justify-items: center;
  }

  .banner-header.home-hero .hero-quick__item {
    width: 100%;
    justify-content: center;
  }

  .banner-header.home-hero .hero-quick__item::after {
    content: none;
  }
}

@media screen and (min-width: 768px) {
  .banner-header.home-hero .hero-title__context {
    font-size: clamp(0.9375rem, 1.1vw, 1.0625rem);
  }
}

/* ── Language switcher ─────────────────────────────────────────────── */

.navbar-container {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  width: 100%;
}

.navbar-toolbar {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-left: auto;
}

.lang-switch-nav-item {
  display: flex;
  align-items: center;
}

.lang-switch {
  position: relative;
  flex-shrink: 0;
}

.lang-switch__trigger {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 44px;
  min-width: 44px;
  padding: 6px 12px;
  margin: 0;
  border: none;
  border-radius: 0;
  background: transparent;
  color: #fff;
  font-family: inherit;
  font-size: 0.875rem;
  font-weight: 500;
  letter-spacing: 0.04em;
  line-height: 1;
  cursor: pointer;
  list-style: none;
  transition: color 0.2s ease;
  flex-shrink: 0;
}

.lang-switch__trigger::-webkit-details-marker {
  display: none;
}

.lang-switch__trigger::marker {
  content: "";
}

.lang-switch__trigger:hover {
  color: #e8c97a;
}

.lang-switch__trigger:focus {
  outline: none;
}

.lang-switch__trigger:focus-visible {
  outline: 2px solid #e47d0a;
  outline-offset: 2px;
}

.lang-switch[open] .lang-switch__trigger,
.lang-switch.is-open .lang-switch__trigger {
  color: #e8c97a;
}

.lang-switch__flag {
  display: block;
  width: 20px;
  height: 14px;
  flex-shrink: 0;
  border-radius: 1px;
  object-fit: cover;
  transition: none;
}

.lang-switch__code,
.lang-switch__chevron,
.lang-switch__option-name,
.lang-switch__option-code,
.lang-switch__option-check {
  display: block;
  flex-shrink: 0;
}

.lang-switch__code {
  font-size: 0.8125rem;
  font-weight: 600;
  letter-spacing: 0.06em;
}

.lang-switch__chevron {
  width: 10px;
  height: 10px;
  flex-shrink: 0;
  opacity: 0.75;
  transition: transform 0.2s ease;
}

.lang-switch[open] .lang-switch__chevron,
.lang-switch.is-open .lang-switch__chevron {
  transform: rotate(180deg);
}

.lang-switch__panel {
  position: absolute;
  top: calc(100% + 4px);
  right: 0;
  z-index: 1055;
  width: 220px;
  min-width: 220px;
  max-width: calc(100vw - 24px);
  margin: 0;
  padding: 6px;
  border: 1px solid rgba(228, 125, 10, 0.22);
  border-radius: 4px;
  background: #141414;
  box-shadow: 0 12px 32px rgba(0, 0, 0, 0.45);
  list-style: none;
  animation: lang-switch-in 0.18s ease;
}

.lang-switch__panel::before {
  content: "";
  position: absolute;
  top: -8px;
  left: 0;
  right: 0;
  height: 8px;
}

.lang-switch__item {
  display: block;
  width: 100%;
}

.lang-switch__option {
  display: flex;
  align-items: center;
  gap: 10px;
  width: 100%;
  min-height: 46px;
  padding: 8px 10px;
  border-radius: 3px;
  border: 2px solid transparent;
  box-sizing: border-box;
  color: #f2f2f2;
  text-decoration: none;
}

.lang-switch__option:hover {
  background: rgba(255, 255, 255, 0.06);
  color: #fff;
}

.lang-switch__option:focus {
  outline: none;
}

.lang-switch__option:focus-visible {
  background: rgba(255, 255, 255, 0.06);
  border-color: rgba(228, 125, 10, 0.55);
}

.lang-switch--mobile .lang-switch__panel {
  right: 0;
}

@keyframes lang-switch-in {
  from {
    opacity: 0;
    transform: translateY(-4px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.lang-switch__option-name {
  flex: 1;
  min-width: 0;
  font-size: 0.9375rem;
  font-weight: 400;
  white-space: nowrap;
}

.lang-switch a.lang-switch__option {
  display: flex;
}

.lang-switch__option-code {
  min-width: 20px;
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: 0.08em;
  color: rgba(255, 255, 255, 0.55);
  text-align: right;
}

.lang-switch__option-check {
  width: 14px;
  height: 14px;
  color: #e47d0a;
  text-align: center;
  line-height: 14px;
  font-size: 0.75rem;
}

.lang-switch__option--current {
  background: rgba(228, 125, 10, 0.1);
}

.lang-switch__option--current .lang-switch__option-code {
  color: #e47d0a;
}

.lang-switch__option--current:hover,
.lang-switch__option--current:focus-visible {
  background: rgba(228, 125, 10, 0.16);
}

.lang-switch__list {
  margin: 0;
  padding: 0;
  list-style: none;
}

.lang-switch__fallback {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: 6px;
}

.lang-switch__fallback-link {
  padding: 4px 8px;
  border: 1px solid rgba(255, 255, 255, 0.2);
  border-radius: 2px;
  color: #fff;
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: 0.06em;
  text-decoration: none;
}

.lang-switch__fallback-link--current {
  border-color: #e47d0a;
  color: #e47d0a;
}

@media screen and (max-width: 767.98px) {
  .lang-switch--mobile .lang-switch__trigger {
    padding: 6px 10px;
    gap: 7px;
  }

  .lang-switch--mobile .lang-switch__chevron {
    display: none;
  }

  .lang-switch--mobile .lang-switch__code {
    font-size: 0.75rem;
  }

  .lang-switch--mobile .lang-switch__flag {
    width: 18px;
    height: 13px;
  }
}

@media screen and (max-width: 359.98px) {
  .navbar-toolbar {
    gap: 8px;
  }

  .lang-switch--mobile .lang-switch__trigger {
    padding: 6px 8px;
  }
}

@media screen and (min-width: 768px) {
  .lang-switch--desktop .lang-switch__panel {
    right: 0;
  }
}

/* ── Home story (hero altı editoryal bölüm) ─────────────────────────── */

.home-story {
  padding: clamp(4.5rem, 7vw, 9rem) 0;
  overflow: hidden;
}

.home-story__intro {
  display: grid;
  gap: clamp(2.5rem, 4vw, 3.5rem);
  align-items: start;
}

.home-story__eyebrow {
  margin: 0 0 1rem;
  color: #e47d0a;
  font-size: clamp(0.8125rem, 1.2vw, 0.9375rem);
  font-weight: 600;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.home-story__title {
  margin: 0 0 1.25rem;
  color: #fff;
  font-size: clamp(2.375rem, 5.5vw, 4.5rem);
  font-weight: 600;
  line-height: 1.08;
  letter-spacing: -0.02em;
}

.home-story__title-primary {
  display: block;
}

.home-story__title-accent {
  display: block;
  color: transparent;
  -webkit-text-stroke: 1px rgba(228, 125, 10, 0.85);
}

.home-story__lead {
  margin: 0 0 1rem;
  max-width: 42rem;
  color: #f2f2f2;
  font-size: clamp(1.0625rem, 1.6vw, 1.3125rem);
  line-height: 1.65;
}

.home-story__body {
  margin: 0 0 1.5rem;
  max-width: 40rem;
  color: rgba(255, 255, 255, 0.78);
  font-size: clamp(1rem, 1.2vw, 1.0625rem);
  line-height: 1.75;
}

.home-story__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem 1.5rem;
  margin-bottom: 1.25rem;
}

.home-story a.home-story__action {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  min-height: 44px;
  padding: 0.25rem 0;
  border-bottom: 1px solid rgba(228, 125, 10, 0.45);
  color: #e8c97a;
  font-size: 0.9375rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-decoration: none;
  transition: color 0.2s ease, border-color 0.2s ease;
}

.home-story__action:hover,
.home-story__action:focus-visible {
  color: #fff;
  border-color: #e47d0a;
  outline: none;
}

.home-story__action:focus-visible {
  box-shadow: 0 2px 0 0 #e47d0a;
}

.home-story__action-arrow {
  font-size: 0.875rem;
  line-height: 1;
}

.home-story__location-note {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  margin: 0;
  color: rgba(255, 255, 255, 0.55);
  font-size: 0.875rem;
}

.home-story__location-icon {
  color: #e47d0a;
  font-size: 0.875rem;
}

.home-story__media {
  display: grid;
  gap: 1rem;
  position: relative;
}

.home-story__deco {
  position: absolute;
  pointer-events: none;
  user-select: none;
}

.home-story__deco--galata {
  top: -0.5rem;
  right: -0.25rem;
  z-index: 0;
  color: rgba(255, 255, 255, 0.04);
  font-size: clamp(3.5rem, 10vw, 7rem);
  font-weight: 700;
  letter-spacing: 0.08em;
  line-height: 1;
}

.home-story__deco--label {
  top: 1rem;
  left: -0.75rem;
  z-index: 2;
  color: rgba(228, 125, 10, 0.55);
  font-size: 0.625rem;
  font-weight: 600;
  letter-spacing: 0.2em;
  writing-mode: vertical-rl;
  text-orientation: mixed;
  transform: rotate(180deg);
}

.home-story__figure {
  margin: 0;
}

.home-story__figure--main {
  position: relative;
  z-index: 1;
}

.home-story__image {
  display: block;
  width: 100%;
  transition: transform 0.35s ease;
}

.home-story__image--main {
  max-height: 640px;
  aspect-ratio: 4 / 5;
  object-fit: cover;
  object-position: center top;
  filter: grayscale(100%);
}

.home-story__figure--main:hover .home-story__image--main {
  transform: scale(1.015);
}

.home-story__caption {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 0.5rem 1rem;
  margin-top: 0.75rem;
  padding-top: 0.75rem;
  border-top: 1px solid rgba(255, 255, 255, 0.1);
  color: rgba(255, 255, 255, 0.6);
  font-size: 0.8125rem;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.home-story__caption-label {
  color: #e47d0a;
}

.home-story__pillars {
  display: grid;
  gap: 1rem;
  margin: clamp(4.5rem, 6vw, 6.5rem) 0 0;
}

.home-story__pillar {
  position: relative;
  margin: 0;
  padding: 1.5rem 1.25rem 1.625rem;
  border: 1px solid rgba(228, 125, 10, 0.16);
  border-radius: 2px;
  background: linear-gradient(145deg, rgba(255, 255, 255, 0.03), rgba(255, 255, 255, 0.01));
  overflow: hidden;
  transition:
    border-color 0.35s ease,
    box-shadow 0.35s ease,
    opacity 0.35s ease;
}

.home-story__pillar::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 2px;
  background: linear-gradient(90deg, #e47d0a, rgba(228, 125, 10, 0.15));
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform 0.45s cubic-bezier(0.22, 1, 0.36, 1);
}

.home-story__pillar-glow {
  position: absolute;
  inset: auto -20% -45% -20%;
  height: 70%;
  background: radial-gradient(ellipse at center, rgba(228, 125, 10, 0.14), transparent 68%);
  opacity: 0;
  transition: opacity 0.4s ease;
  pointer-events: none;
}

.home-story__pillar:hover,
.home-story__pillar:focus-within {
  border-color: rgba(228, 125, 10, 0.42);
  box-shadow: 0 18px 40px rgba(0, 0, 0, 0.28);
}

.home-story__pillar:hover::before,
.home-story__pillar:focus-within::before {
  transform: scaleX(1);
}

.home-story__pillar:hover .home-story__pillar-glow,
.home-story__pillar:focus-within .home-story__pillar-glow {
  opacity: 1;
}

.home-story__pillars:hover .home-story__pillar:not(:hover):not(:focus-within) {
  opacity: 0.72;
}

.home-story__pillar-eyebrow {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  margin: 0 0 0.875rem;
  color: #e47d0a;
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.home-story__pillar-index {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 2rem;
  color: rgba(228, 125, 10, 0.85);
  font-size: 0.875rem;
  transition: transform 0.35s cubic-bezier(0.22, 1, 0.36, 1), color 0.35s ease;
}

.home-story__pillar:hover .home-story__pillar-index,
.home-story__pillar:focus-within .home-story__pillar-index {
  transform: scale(1.08);
  color: #e8c97a;
}

.home-story__pillar-title {
  margin: 0 0 0.75rem;
  color: #fff;
  font-size: clamp(1.4375rem, 2.2vw, 1.875rem);
  font-weight: 600;
  line-height: 1.25;
  transition: color 0.3s ease;
}

.home-story__pillar:hover .home-story__pillar-title,
.home-story__pillar:focus-within .home-story__pillar-title {
  color: #f8f4ea;
}

.home-story__pillar-text {
  margin: 0;
  max-width: 34rem;
  color: rgba(255, 255, 255, 0.72);
  font-size: clamp(0.9375rem, 1.1vw, 1.0625rem);
  line-height: 1.7;
}

@media screen and (min-width: 768px) {
  .home-story__intro {
    grid-template-columns: minmax(0, 1.08fr) minmax(0, 0.92fr);
    gap: clamp(2rem, 4vw, 3.5rem);
  }

  .home-story__pillars {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1.25rem;
  }
}

@media screen and (min-width: 1200px) {
  .home-story__intro {
    grid-template-columns: minmax(0, 1.15fr) minmax(0, 0.85fr);
  }

  .home-story__image--main {
    max-height: 680px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .home-story__image,
  .home-story a.home-story__action,
  .home-story__pillar {
    transition: none;
  }

  .home-story__figure--main:hover .home-story__image--main,
  .home-story__pillar:hover,
  .home-story__pillar:focus-within {
    transform: none;
  }
}

/* ── Home process timeline ──────────────────────────────────────────── */

.home-process {
  --process-accent: #e47d0a;
  --process-accent-line: rgba(228, 125, 10, 0.42);
  --process-accent-soft: rgba(228, 125, 10, 0.12);
}

.home-process__grid {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
}

.home-process .section-head {
  position: sticky;
  top: 120px;
  align-self: start;
}

@media screen and (max-width: 991px) {
  .home-process .section-head {
    position: static;
  }
}

.home-process .process-callout {
  margin-top: 1.75rem;
  padding: 1.25rem 1.125rem 1.375rem;
  border: 1px solid var(--process-accent-line);
  border-radius: 2px;
  background: linear-gradient(145deg, var(--process-accent-soft), rgba(255, 255, 255, 0.02));
}

.home-process .process-callout__title {
  margin: 0 0 0.625rem;
  color: #fff;
  font-size: clamp(1.125rem, 1.6vw, 1.375rem);
  font-weight: 600;
  line-height: 1.3;
}

.home-process .process-callout__text {
  margin: 0 0 0.75rem;
  color: rgba(255, 255, 255, 0.74);
  font-size: 0.9375rem;
  line-height: 1.65;
}

.home-process .process-callout__travel {
  margin: 0 0 1rem;
  color: var(--process-accent);
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 1.6;
}

.home-process .process-callout__cta {
  width: 100%;
  max-width: 100%;
}

@media screen and (min-width: 768px) {
  .home-process .process-callout__cta {
    width: auto;
    max-width: 100%;
  }
}

.home-process .process-rail {
  margin: 0;
  padding: 0;
  list-style: none;
}

.home-process .process-step {
  position: relative;
  display: grid;
  grid-template-columns: 2.75rem minmax(0, 1fr);
  gap: 0 1.125rem;
  padding: 0 0 2rem;
}

.home-process .process-step:last-child {
  padding-bottom: 0;
}

.home-process .process-step:not(:last-child)::before {
  content: "";
  position: absolute;
  top: 2.75rem;
  left: 1.375rem;
  bottom: 0;
  width: 1px;
  background: linear-gradient(180deg, var(--process-accent), var(--process-accent-line));
  transform: translateX(-50%);
  pointer-events: none;
}

.home-process .process-step__num {
  position: relative;
  z-index: 1;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.75rem;
  height: 2.75rem;
  border: 1px solid var(--process-accent-line);
  border-radius: 999px;
  background: rgba(0, 0, 0, 0.35);
  color: var(--process-accent);
  font-size: 0.8125rem;
  font-weight: 600;
  letter-spacing: 0.08em;
  line-height: 1;
}

.home-process .process-step__body {
  min-width: 0;
  padding-top: 0.125rem;
}

.home-process .process-step__title {
  margin: 0 0 0.5rem;
  color: #fff;
  font-size: clamp(1.25rem, 1.8vw, 1.5rem);
  font-weight: 600;
  line-height: 1.25;
}

.home-process .process-step__text {
  margin: 0 0 0.5rem;
  max-width: 52ch;
  color: rgba(255, 255, 255, 0.78);
  font-size: clamp(0.9375rem, 1.1vw, 1.0625rem);
  line-height: 1.7;
}

.home-process .process-step__meta {
  margin: 0;
  color: var(--process-accent);
  font-size: 0.8125rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  line-height: 1.45;
}

@media screen and (min-width: 768px) {
  .home-process .process-step {
    grid-template-columns: 3rem minmax(0, 1fr);
    gap: 0 1.25rem;
    padding-bottom: 2.25rem;
  }

  .home-process .process-step:not(:last-child)::before {
    top: 3rem;
    left: 1.5rem;
  }

  .home-process .process-step__num {
    width: 3rem;
    height: 3rem;
    font-size: 0.875rem;
  }
}

/* ── Home booking composer (WhatsApp) ─────────────────────────────────── */

.appointment .col-md-5,
.appointment .col-md-6 {
  min-width: 0;
}

.appointment .row {
  min-width: 0;
}

.appointment__phone {
  margin-top: 1.5rem;
}

.appointment .booking-box {
  max-width: 100%;
  min-width: 0;
  overflow: visible;
}

.booking-box .booking-composer {
  margin: 0;
  max-width: 100%;
  overflow: visible;
}

.booking-composer {
  display: flex;
  flex-direction: column;
  gap: 1.125rem;
  min-width: 0;
  max-width: 100%;
  overflow: visible;
}

.booking-composer__grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1rem;
  min-width: 0;
}

.booking-composer__field {
  min-width: 0;
}

.booking-composer__field--full {
  grid-column: 1 / -1;
}

.booking-composer__when {
  min-width: 0;
  overflow: visible;
}

.booking-composer__date {
  position: relative;
  min-width: 0;
  overflow: visible;
}

.booking-composer__date-input-wrap {
  position: relative;
  display: flex;
  align-items: center;
  gap: 0.5rem;
  min-width: 0;
  overflow: visible;
}

.booking-composer__date .booking-composer__date-input {
  flex: 1;
  min-width: 0;
  height: 48px;
  min-height: 48px;
  max-height: 48px;
  margin: 0;
  box-sizing: border-box;
}

.booking-composer__date-toggle {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: 48px;
  height: 48px;
  min-width: 48px;
  min-height: 48px;
  max-width: 48px;
  max-height: 48px;
  padding: 0;
  box-sizing: border-box;
  color: rgba(255, 255, 255, 0.9);
  background: rgba(0, 0, 0, 0.35);
  border: 1px solid rgba(255, 255, 255, 0.28);
  border-radius: 3px;
  cursor: pointer;
  transition: border-color 0.2s ease, background-color 0.2s ease, color 0.2s ease;
}

.booking-composer__date-toggle:hover {
  border-color: rgba(228, 125, 10, 0.75);
  background: rgba(228, 125, 10, 0.12);
  color: #fff;
}

.booking-composer__date-toggle:focus-visible {
  outline: 2px solid #fff;
  outline-offset: 2px;
}

.booking-composer__date-toggle:disabled {
  opacity: 0.45;
  cursor: not-allowed;
}

.booking-composer__calendar {
  position: absolute;
  z-index: 1050;
  top: calc(100% + 0.5rem);
  left: 0;
  right: 0;
  width: 100%;
  box-sizing: border-box;
  padding: 0.875rem;
  background: #161616;
  border: 1px solid rgba(255, 255, 255, 0.18);
  border-radius: 6px;
  box-shadow: 0 12px 32px rgba(0, 0, 0, 0.45);
}

.booking-composer__calendar.is-above {
  top: auto;
  bottom: calc(100% + 0.5rem);
}

.booking-composer__calendar-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.5rem;
  margin-bottom: 0.75rem;
}

.booking-composer__calendar-title {
  flex: 1;
  font-family: "Oswald", sans-serif;
  font-size: 0.9375rem;
  font-weight: 500;
  letter-spacing: 0.04em;
  text-align: center;
  text-transform: uppercase;
  color: #fff;
}

.booking-composer__calendar-nav {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  padding: 0;
  font-size: 1.25rem;
  line-height: 1;
  color: rgba(255, 255, 255, 0.9);
  background: rgba(255, 255, 255, 0.06);
  border: 1px solid rgba(255, 255, 255, 0.16);
  border-radius: 3px;
  cursor: pointer;
  transition: border-color 0.2s ease, background-color 0.2s ease;
}

.booking-composer__calendar-nav:hover {
  border-color: rgba(228, 125, 10, 0.75);
  background: rgba(228, 125, 10, 0.12);
}

.booking-composer__calendar-nav:focus-visible {
  outline: 2px solid #fff;
  outline-offset: 2px;
}

.booking-composer__calendar-weekdays,
.booking-composer__calendar-grid {
  display: grid;
  grid-template-columns: repeat(7, minmax(0, 1fr));
  gap: 0.25rem;
}

.booking-composer__calendar-weekdays {
  margin-bottom: 0.375rem;
}

.booking-composer__calendar-weekday {
  font-size: 0.6875rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-align: center;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.55);
}

.booking-composer__calendar-day {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 0;
  min-height: 36px;
  padding: 0;
  font-family: "Barlow", sans-serif;
  font-size: 0.875rem;
  font-weight: 500;
  color: rgba(255, 255, 255, 0.92);
  background: transparent;
  border: 1px solid transparent;
  border-radius: 3px;
  cursor: pointer;
  transition: background-color 0.15s ease, border-color 0.15s ease, color 0.15s ease;
}

.booking-composer__calendar-day:hover:not(:disabled) {
  background: rgba(255, 255, 255, 0.08);
  border-color: rgba(255, 255, 255, 0.12);
}

.booking-composer__calendar-day.is-outside {
  color: rgba(255, 255, 255, 0.35);
}

.booking-composer__calendar-day.is-today {
  border-color: rgba(228, 125, 10, 0.55);
}

.booking-composer__calendar-day.is-selected {
  color: #fff;
  background: rgba(228, 125, 10, 0.22);
  border-color: rgba(228, 125, 10, 0.85);
}

.booking-composer__calendar-day.is-disabled,
.booking-composer__calendar-day:disabled {
  color: rgba(255, 255, 255, 0.22);
  cursor: not-allowed;
}

.booking-composer__calendar-day:focus-visible {
  outline: 2px solid #fff;
  outline-offset: 1px;
}

.booking-composer__fieldset {
  margin: 0;
  padding: 0;
  border: 0;
  min-width: 0;
}

.booking-composer__legend {
  margin: 0 0 0.5rem;
  padding: 0;
  font-family: "Oswald", sans-serif;
  font-size: 0.8125rem;
  font-weight: 500;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.92);
}

.booking-composer__label {
  display: block;
  margin: 0 0 0.375rem;
  font-size: 0.875rem;
  font-weight: 500;
  color: rgba(255, 255, 255, 0.88);
}

.booking-composer__segmented {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.5rem;
}

.booking-composer__segmented--compact {
  gap: 0.375rem;
}

.booking-composer__segmented--compact .booking-composer__segment {
  padding: 0.5rem 0.375rem;
}

.booking-composer__segmented--compact .booking-composer__segment span {
  white-space: nowrap;
  font-size: 0.8125rem;
}

.booking-composer__fieldset > .booking-composer__label {
  width: 100%;
}

.booking-composer__segment {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  margin: 0;
  padding: 0.5rem 0.75rem;
  border: 1px solid rgba(255, 255, 255, 0.28);
  border-radius: 3px;
  background: rgba(0, 0, 0, 0.25);
  cursor: pointer;
  transition: border-color 0.2s ease, background-color 0.2s ease;
}

.booking-composer__segment input {
  position: absolute;
  opacity: 0;
  width: 1px;
  height: 1px;
  pointer-events: none;
}

.booking-composer__segment span {
  font-size: 0.875rem;
  font-weight: 500;
  color: rgba(255, 255, 255, 0.9);
  text-align: center;
  overflow-wrap: anywhere;
}

.booking-composer__segment:has(input:checked) {
  border-color: rgba(228, 125, 10, 0.85);
  background: rgba(228, 125, 10, 0.14);
}

.booking-composer__segment:has(input:focus-visible) {
  outline: 2px solid #fff;
  outline-offset: 2px;
}

.booking-composer__select,
.booking-composer__input {
  display: block;
  width: 100%;
  max-width: 100%;
  min-height: 48px;
  padding: 0.625rem 0.75rem;
  font-family: "Barlow", sans-serif;
  font-size: 1rem;
  line-height: 1.4;
  color: #fff;
  background: rgba(0, 0, 0, 0.35);
  border: 1px solid rgba(255, 255, 255, 0.28);
  border-radius: 3px;
  appearance: none;
}

.booking-composer__select {
  padding-right: 2rem;
  background-image: linear-gradient(45deg, transparent 50%, rgba(255, 255, 255, 0.75) 50%),
    linear-gradient(135deg, rgba(255, 255, 255, 0.75) 50%, transparent 50%);
  background-position: calc(100% - 18px) calc(50% + 2px), calc(100% - 12px) calc(50% + 2px);
  background-size: 6px 6px, 6px 6px;
  background-repeat: no-repeat;
}

.booking-composer__select:focus-visible,
.booking-composer__input:focus-visible {
  outline: 2px solid #fff;
  outline-offset: 2px;
  border-color: rgba(228, 125, 10, 0.75);
}

.booking-composer__select:disabled,
.booking-composer__input:disabled {
  opacity: 0.45;
  cursor: not-allowed;
}

.booking-composer__checkbox {
  display: flex;
  align-items: flex-start;
  gap: 0.625rem;
  margin-top: 0.625rem;
  font-size: 0.9375rem;
  color: rgba(255, 255, 255, 0.88);
  cursor: pointer;
}

.booking-composer__checkbox input {
  width: 1.125rem;
  height: 1.125rem;
  margin-top: 0.125rem;
  flex-shrink: 0;
  accent-color: #e47d0a;
}

.booking-composer__submit {
  display: flex;
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
  margin-top: 0.25rem;
}

@media screen and (min-width: 768px) {
  .booking-composer__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media screen and (max-width: 767px) {
  .booking-box {
    padding: 1.75rem 1.125rem;
  }

  .booking-composer__select,
  .booking-composer__input {
    font-size: 16px;
  }
}

/* Footer — internal link nav + NAP */
.footer-nav ul {
  list-style: none;
  padding: 0;
  margin: 0;
}

.footer-nav a {
  color: rgba(255, 255, 255, 0.7);
  padding: 4px 0;
  display: inline-block;
}

.footer-nav a:hover,
.footer-nav a:focus-visible {
  color: #e47d0a;
}

.footer-nav li {
  margin-bottom: 10px;
}

.footer-contact a {
  color: rgba(255, 255, 255, 0.7);
}

.footer-contact a:hover,
.footer-contact a:focus-visible {
  color: #e47d0a;
}

.footer-hours {
  margin-top: 28px;
}

/* Footer CTA layer */
.footer-cta {
  padding: 80px 0 60px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

.footer-cta__row {
  align-items: center;
}

.footer-cta__heading {
  font-family: "Oswald", sans-serif;
  font-size: 36px;
  color: #fff;
  text-transform: uppercase;
  letter-spacing: 1px;
  margin-bottom: 16px;
}

.footer-cta__text {
  color: rgba(255, 255, 255, 0.7);
  font-size: 15px;
  line-height: 1.8;
  overflow-wrap: break-word;
}

.footer-google-card,
.footer-google-card:hover,
.footer-google-card:focus-visible {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  padding: 32px 24px;
  background: #101010;
  border: 1px solid rgba(228, 125, 10, 0.35);
  position: relative;
  text-decoration: none;
  color: inherit;
  transition: border-color 0.35s ease, box-shadow 0.35s ease;
  max-width: 100%;
  width: 100%;
  transform: none;
  box-sizing: border-box;
}

.footer-google-card > span {
  display: block;
  align-self: center;
  max-width: 100%;
}

.footer-google-card > .footer-google-card__logo {
  display: flex;
}

.footer-google-card::before,
.footer-google-card::after {
  content: "";
  position: absolute;
  width: 24px;
  height: 24px;
  border-color: #e47d0a;
  border-style: solid;
  pointer-events: none;
}

.footer-google-card::before {
  top: 12px;
  left: 12px;
  border-width: 1px 0 0 1px;
}

.footer-google-card::after {
  right: 12px;
  bottom: 12px;
  border-width: 0 1px 1px 0;
}

.footer-google-card:hover,
.footer-google-card:focus-visible {
  border-color: rgba(228, 125, 10, 0.8);
  box-shadow: 0 12px 48px rgba(228, 125, 10, 0.18);
}

.footer-google-card__logo {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 56px;
  height: 56px;
  border-radius: 50%;
  background: #fff;
  flex-shrink: 0;
}

.footer-google-card__logo svg {
  display: block;
  width: 40px;
  height: 40px;
}

.footer-google-card__rating {
  font-family: "Oswald", sans-serif;
  font-size: 48px;
  font-weight: 700;
  color: #fff;
  line-height: 1;
  margin: 12px 0 8px;
}

.footer-google-card__stars {
  display: block;
  color: #e47d0a;
}

.footer-google-card__stars svg {
  display: block;
  width: 120px;
  max-width: 100%;
  height: auto;
  filter: drop-shadow(0 0 4px rgba(228, 125, 10, 0.95)) drop-shadow(0 0 10px rgba(228, 125, 10, 0.65));
}

.footer-google-card__label {
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 2px;
  color: rgba(255, 255, 255, 0.5);
  margin-top: 12px;
}

.footer-google-card__count {
  font-size: 14px;
  color: #fff;
  margin-top: 4px;
}

.footer-google-card__link {
  font-size: 13px;
  color: #e47d0a;
  margin-top: 16px;
  font-weight: 600;
}

.footer-google-card:hover .footer-google-card__link,
.footer-google-card:focus-visible .footer-google-card__link {
  color: #e47d0a;
}

.footer-cta__col--wa {
  text-align: center;
}

.footer-cta .btn-whatsapp.footer-cta__wa {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 10px;
  padding: 18px 36px;
  background: #25d366;
  color: #fff;
  font-weight: 600;
  min-height: 56px;
  max-width: 100%;
}

.footer-cta .btn-whatsapp.footer-cta__wa:hover,
.footer-cta .btn-whatsapp.footer-cta__wa:focus-visible {
  background: #1eb855;
  color: #fff;
}

@media screen and (max-width: 991px) {
  .footer-cta__col {
    margin-bottom: 40px;
  }

  .footer-cta__col:last-child {
    margin-bottom: 0;
  }

  .footer-google-card {
    max-width: 320px;
    margin-left: auto;
    margin-right: auto;
  }

  .footer-cta__heading {
    font-size: 28px;
  }
}

@media screen and (max-width: 767px) {
  .footer-column-wrap {
    margin-bottom: 36px;
  }

  .footer-column-wrap:last-child {
    margin-bottom: 0;
  }
}

@media screen and (max-width: 575px) {
  .footer-cta {
    padding: 56px 0 40px;
  }

  .footer-google-card {
    padding: 24px 16px;
  }

  .footer-google-card__rating {
    font-size: 40px;
  }

  .footer-cta .btn-whatsapp.footer-cta__wa {
    width: 100%;
    padding: 18px 20px;
  }

  .footer-cta__text,
  .footer-cta__heading,
  .footer-contact,
  .footer-nav,
  .footer-hours {
    overflow-wrap: break-word;
  }
}

@media (prefers-reduced-motion: reduce) {
  .footer-google-card {
    transition: none;
    transform: none;
  }

  .footer-google-card:hover,
  .footer-google-card:focus-visible {
    transform: none;
  }
}

/* Skip link — visible on keyboard focus only */
.skip-link {
  position: absolute;
  left: -9999px;
  top: 0;
  z-index: 100000;
  padding: 12px 20px;
  background: #e47d0a;
  color: #fff;
  font-weight: 600;
  text-decoration: none;
}

.skip-link:focus {
  left: 0;
  outline: 2px solid #fff;
  outline-offset: 2px;
}

.lang-switch__option-note {
  display: block;
  margin-top: 2px;
  font-size: 11px;
  color: rgba(255, 255, 255, 0.45);
}

/* Ear piercing detail — shares the established long-form piercing system */
body[data-page-key="piercing-ear"] .pp-hero {
  --hero-x: 0px;
  --hero-y: 0px;
  min-height: clamp(700px, 92vh, 900px);
  overflow: hidden;
}

body[data-page-key="piercing-ear"] .pp-hero__img {
  object-position: center center;
  transform: scale(1.055) translate3d(var(--hero-x), var(--hero-y), 0);
  transition: transform 0.8s cubic-bezier(0.2, 0.75, 0.25, 1);
}

body[data-page-key="piercing-ear"] .pp-hero__overlay {
  background:
    radial-gradient(circle at 77% 42%, rgba(228, 125, 10, 0.11), transparent 25%),
    linear-gradient(180deg, rgba(4, 4, 4, 0.26), rgba(4, 4, 4, 0.52) 48%, #090909 100%),
    linear-gradient(90deg, rgba(4, 4, 4, 0.96), rgba(4, 4, 4, 0.3) 58%, rgba(4, 4, 4, 0.58));
}

.ear-placement-grid .navel-card {
  min-height: 270px;
}

.ear-placement-grid .navel-card__number {
  color: var(--navel-orange);
}

.ear-price__details {
  align-self: stretch;
}

.ear-price-list {
  margin: 24px 0 0;
}

.ear-price-list > div {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 24px;
  padding: 12px 0;
  border-bottom: 1px solid var(--navel-line);
}

.ear-price-list dt {
  font-size: 13px;
  color: rgba(255, 255, 255, 0.72);
}

.ear-price-list dd {
  margin: 0;
  font-family: "Oswald", sans-serif;
  font-size: 15px;
  letter-spacing: 1px;
  white-space: nowrap;
  color: #fff;
}

.ear-price__included-title {
  margin-top: 34px;
}

.ear-price__included {
  grid-template-columns: 1fr;
}

.ear-price__included li {
  padding-top: 10px;
  padding-bottom: 10px;
}

.ear-media-grid .navel-media-card--hero img {
  object-position: 52% 54%;
}

.ear-media-grid .navel-media-card--portrait img {
  object-position: 52% 56%;
}

.ear-media-grid .navel-media-card--detail-one img {
  object-position: 50% 54%;
  transform: scale(1.12);
}

.ear-media-grid .navel-media-card--detail-two img {
  object-position: 50% 54%;
  transform: scale(1.16);
}

.ear-media-grid .navel-media-card--detail-one:hover img {
  transform: scale(1.18);
}

.ear-media-grid .navel-media-card--detail-two:hover img {
  transform: scale(1.22);
}

.ear-source-note {
  margin: 20px 0 0;
  padding-top: 18px;
  font-size: 11px !important;
  line-height: 1.65 !important;
  color: rgba(255, 255, 255, 0.48) !important;
  border-top: 1px solid rgba(255, 255, 255, 0.1);
}

.ear-source-note strong {
  color: rgba(255, 255, 255, 0.76);
}

.ear-source-note a {
  color: var(--navel-orange);
}

.ear-page .navel-studio-photo img {
  object-position: center 52%;
}

.ear-final {
  background:
    radial-gradient(circle at 50% 45%, rgba(228, 125, 10, 0.14), transparent 27%),
    linear-gradient(rgba(4, 4, 4, 0.7), rgba(4, 4, 4, 0.95)),
    url("/assets/img/ear/ear-cta-v1.webp") center center / cover no-repeat;
}

/* Nose piercing detail — original Chill Ink editorial image set */
body[data-page-key="piercing-nose"] .pp-hero {
  --hero-x: 0px;
  --hero-y: 0px;
  min-height: clamp(700px, 92vh, 900px);
  overflow: hidden;
}

body[data-page-key="piercing-nose"] .pp-hero__img {
  object-position: center center;
  transform: scale(1.04) translate3d(var(--hero-x), var(--hero-y), 0);
  transition: transform 0.8s cubic-bezier(0.2, 0.75, 0.25, 1);
}

body[data-page-key="piercing-nose"] .pp-hero__overlay {
  background:
    radial-gradient(circle at 77% 43%, rgba(228, 125, 10, 0.1), transparent 25%),
    linear-gradient(180deg, rgba(4, 4, 4, 0.22), rgba(4, 4, 4, 0.5) 48%, #090909 100%),
    linear-gradient(90deg, rgba(4, 4, 4, 0.97), rgba(4, 4, 4, 0.3) 58%, rgba(4, 4, 4, 0.5));
}

.nose-page .navel-studio-photo img {
  object-position: center 50%;
}

.nose-final {
  background:
    radial-gradient(circle at 50% 45%, rgba(228, 125, 10, 0.14), transparent 27%),
    linear-gradient(rgba(4, 4, 4, 0.7), rgba(4, 4, 4, 0.95)),
    url("/assets/img/nose/nose-cta-v1.webp") center center / cover no-repeat;
}

body[data-page-key="piercing-face"] .pp-hero { --hero-x: 0px; --hero-y: 0px; min-height: clamp(700px, 92vh, 900px); overflow: hidden; }
body[data-page-key="piercing-face"] .pp-hero__img { object-position: center center; transform: scale(1.04) translate3d(var(--hero-x), var(--hero-y), 0); transition: transform .8s cubic-bezier(.2,.75,.25,1); }
body[data-page-key="piercing-face"] .pp-hero__overlay { background: radial-gradient(circle at 77% 43%, rgba(228,125,10,.1), transparent 25%), linear-gradient(180deg,rgba(4,4,4,.22),rgba(4,4,4,.5) 48%,#090909 100%), linear-gradient(90deg,rgba(4,4,4,.97),rgba(4,4,4,.3) 58%,rgba(4,4,4,.5)); }
.face-page .navel-studio-photo img { object-position: center 50%; }
.face-final { background: radial-gradient(circle at 50% 45%,rgba(228,125,10,.14),transparent 27%), linear-gradient(rgba(4,4,4,.7),rgba(4,4,4,.95)), url("/assets/img/face/face-cta-v1.webp") center/cover no-repeat; }

@media (max-width: 991px) {
  .ear-placement-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 767px) {
  body[data-page-key="piercing-ear"] {
    padding-bottom: 76px;
  }

  body[data-page-key="piercing-ear"] .sticky-whatsapp {
    display: none;
  }

  body[data-page-key="piercing-ear"] .pp-hero {
    min-height: 740px;
  }

  body[data-page-key="piercing-ear"] .pp-hero__img {
    object-position: 64% center;
    transform: scale(1.08);
  }

  body[data-page-key="piercing-ear"] .pp-hero__copy {
    width: 100%;
    min-width: 0;
  }

  body[data-page-key="piercing-ear"] .pp-hero__title,
  body[data-page-key="piercing-ear"] .pp-hero__desc,
  body[data-page-key="piercing-ear"] .pp-hero .pp-eyebrow {
    max-width: 100%;
    overflow-wrap: anywhere;
  }

  body[data-page-key="piercing-ear"] .pp-hero__actions .btn-whatsapp.pp-hero__cta-primary,
  body[data-page-key="piercing-ear"] .pp-hero__cta-secondary {
    box-sizing: border-box;
    min-width: 0;
    max-width: 100%;
  }

  body[data-page-key="piercing-nose"] {
    padding-bottom: 76px;
  }

  body[data-page-key="piercing-nose"] .sticky-whatsapp {
    display: none;
  }

  body[data-page-key="piercing-nose"] .pp-hero {
    min-height: 740px;
  }

  body[data-page-key="piercing-nose"] .pp-hero__img {
    object-position: 66% center;
    transform: scale(1.08);
  }

  body[data-page-key="piercing-nose"] .pp-hero__copy {
    width: 100%;
    min-width: 0;
  }

  body[data-page-key="piercing-nose"] .pp-hero__title,
  body[data-page-key="piercing-nose"] .pp-hero__desc,
  body[data-page-key="piercing-nose"] .pp-hero .pp-eyebrow {
    max-width: 100%;
    overflow-wrap: anywhere;
  }

  body[data-page-key="piercing-nose"] .pp-hero__actions .btn-whatsapp.pp-hero__cta-primary,
  body[data-page-key="piercing-nose"] .pp-hero__cta-secondary {
    box-sizing: border-box;
    min-width: 0;
    max-width: 100%;
  }

  body[data-page-key="piercing-face"] { padding-bottom: 76px; }
  body[data-page-key="piercing-face"] .sticky-whatsapp { display: none; }
  body[data-page-key="piercing-face"] .pp-hero { min-height: 740px; }
  body[data-page-key="piercing-face"] .pp-hero__img { object-position: 66% center; transform: scale(1.08); }
  body[data-page-key="piercing-face"] .pp-hero__copy { width: 100%; min-width: 0; }
  body[data-page-key="piercing-face"] .pp-hero__title,
  body[data-page-key="piercing-face"] .pp-hero__desc,
  body[data-page-key="piercing-face"] .pp-hero .pp-eyebrow { max-width: 100%; overflow-wrap: anywhere; }
  body[data-page-key="piercing-face"] .pp-hero__actions .btn-whatsapp.pp-hero__cta-primary,
  body[data-page-key="piercing-face"] .pp-hero__cta-secondary { box-sizing: border-box; min-width: 0; max-width: 100%; }

  .ear-placement-grid {
    grid-template-columns: 1fr;
  }

  .ear-placement-grid .navel-card {
    min-height: 0;
  }

  .ear-price-list > div {
    gap: 14px;
  }

  .ear-media-grid .navel-media-card--detail-one img,
  .ear-media-grid .navel-media-card--detail-two img {
    transform: scale(1.08);
  }
}

@media (prefers-reduced-motion: reduce) {
  body[data-page-key="piercing-ear"] .pp-hero__img,
  body[data-page-key="piercing-nose"] .pp-hero__img,
  body[data-page-key="piercing-face"] .pp-hero__img {
    transition: none;
  }
}
/* Tattoo Istanbul conversion landing page */
.tattoo-lp{--ti-orange:#ef7d00;--ti-ink:#0b0b0b;--ti-panel:#121212;--ti-line:#2a2a2a;background:var(--ti-ink);color:#aaa;overflow:hidden}.tattoo-lp h1,.tattoo-lp h2,.tattoo-lp h3{color:#fff;margin:0;font-family:"Oswald",sans-serif;text-transform:uppercase}.tattoo-lp h2{font-size:clamp(44px,5.4vw,86px);line-height:.98;letter-spacing:-.025em}.tattoo-lp h3{font-size:24px}.tattoo-kicker{color:var(--ti-orange)!important;font-family:"Oswald",sans-serif;font-size:14px!important;font-weight:500;letter-spacing:.25em;margin:0 0 28px;text-transform:uppercase}.tattoo-section{padding:130px 0;border-top:1px solid var(--ti-line)}.tattoo-grid{display:grid;grid-template-columns:1fr 1fr;gap:8vw;align-items:center}.tattoo-copy{font-size:19px;line-height:1.8;margin:34px 0}.tattoo-copy--large{color:#d2d2d2;font-size:24px;line-height:1.65;margin:0}.tattoo-callout{border-left:2px solid var(--ti-orange);color:#888;margin-top:32px;padding:8px 0 8px 24px}.tattoo-heading{display:grid;grid-template-columns:1.2fr .8fr;gap:8vw;align-items:end;margin-bottom:64px}.tattoo-heading>p{font-size:18px;line-height:1.75;margin:0}.tattoo-hero{min-height:920px;position:relative;display:flex;align-items:center;background:#080808}.tattoo-hero__media{position:absolute;inset:0 0 0 48%;overflow:hidden}.tattoo-hero__media img{width:100%;height:100%;object-fit:cover;object-position:center 45%}.tattoo-hero__media:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#080808 0%,rgba(8,8,8,.65) 18%,rgba(8,8,8,.08) 70%),linear-gradient(0deg,#080808 0%,transparent 28%)}.tattoo-hero__inner{position:relative;z-index:1;padding-top:80px}.tattoo-hero h1{font-size:clamp(68px,8.2vw,142px);line-height:.88;max-width:880px;letter-spacing:-.045em}.tattoo-hero__lead{font-size:21px;line-height:1.65;max-width:650px;color:#c6c6c6;margin:34px 0}.tattoo-actions{display:flex;align-items:center;gap:18px;flex-wrap:wrap}a.tattoo-btn,a.tattoo-btn:hover,a.tattoo-btn:focus-visible,a.tattoo-btn:active{display:inline-flex;align-items:center;justify-content:center;transform:none}.tattoo-btn{gap:12px;flex-wrap:nowrap;white-space:nowrap;min-height:58px;padding:0 28px;font:500 15px/1 "Oswald",sans-serif;letter-spacing:.08em;text-transform:uppercase;transition:background .25s,color .25s,border-color .25s}.tattoo-btn span{display:inline-flex;align-items:center;line-height:1}.tattoo-btn--primary{background:var(--ti-orange);color:#080808!important}.tattoo-btn--primary:hover{background:#fff;color:#080808!important}.tattoo-btn--ghost{border:1px solid #555;color:#fff!important}.tattoo-btn--ghost:hover{border-color:var(--ti-orange);color:var(--ti-orange)!important}.tattoo-text-link{color:#fff!important;text-transform:uppercase;font-family:"Oswald",sans-serif;letter-spacing:.08em}.tattoo-hero__note{font-size:13px;margin:22px 0 55px;color:#818181}.tattoo-hero__note::first-letter{color:var(--ti-orange)}.tattoo-hero__trust{display:flex;gap:0;max-width:760px;border-top:1px solid #333;padding-top:24px}.tattoo-hero__trust div{display:flex;flex-direction:column;padding:0 42px;border-right:1px solid #333}.tattoo-hero__trust div:first-child{padding-left:0}.tattoo-hero__trust div:last-child{border:0}.tattoo-hero__trust strong{color:#fff;font:500 20px "Oswald",sans-serif;letter-spacing:.08em}.tattoo-hero__trust span{font-size:12px;margin-top:6px}.tattoo-answer{background:#0e0e0e}.tattoo-grid--answer{align-items:start}.tattoo-style-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.tattoo-style-card{background:#111;border:1px solid #242424;position:relative;min-width:0}.tattoo-style-card img{width:100%;height:420px;object-fit:cover;filter:saturate(.85);transition:.5s}.tattoo-style-card:hover img{filter:saturate(1.1);transform:scale(1.015)}.tattoo-style-card>div{padding:28px}.tattoo-style-card span,.tattoo-brief-grid span,.tattoo-process-list>article>span,.tattoo-factor-list span{color:var(--ti-orange);font:500 14px "Oswald",sans-serif;letter-spacing:.15em}.tattoo-style-card h3{margin:12px 0}.tattoo-style-card p{line-height:1.65;margin:0}.tattoo-brief{background:#111}.tattoo-brief-grid{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid #333;margin-bottom:44px}.tattoo-brief-grid article{padding:38px 30px;border-right:1px solid #333}.tattoo-brief-grid article:last-child{border:0}.tattoo-brief-grid h3{font-size:28px;margin:48px 0 16px}.tattoo-brief-grid p{line-height:1.7;margin:0}.tattoo-process__visual{height:760px}.tattoo-process__visual img,.tattoo-hygiene img,.tattoo-visit>div>img{width:100%;height:100%;object-fit:cover}.tattoo-process-list{margin-top:45px}.tattoo-process-list article{display:grid;grid-template-columns:55px 1fr;gap:22px;padding:26px 0;border-top:1px solid #333}.tattoo-process-list article p{line-height:1.65;margin:10px 0 0}.tattoo-pricing{background:#111}.tattoo-factor-list{list-style:none;padding:0;margin:0;border-top:1px solid #333}.tattoo-factor-list li{display:grid;grid-template-columns:55px 1fr;padding:28px 0;border-bottom:1px solid #333;color:#ddd;font:400 21px "Oswald",sans-serif;text-transform:uppercase}.tattoo-checks{list-style:none;padding:0;margin:32px 0 0;display:grid;grid-template-columns:1fr 1fr;gap:12px}.tattoo-checks li{border:1px solid #333;padding:16px;color:#ccc}.tattoo-hygiene img,.tattoo-visit>div>img{height:650px;object-fit:cover}.tattoo-visit{background:#111}.tattoo-faq .faq-list{max-width:980px;margin:auto}.tattoo-final{position:relative;text-align:center;padding:160px 0;min-height:680px;display:flex;align-items:center}.tattoo-final__image{position:absolute;inset:0;background:linear-gradient(rgba(0,0,0,.64),rgba(0,0,0,.86)),url('/assets/img/work/contact-blackwork.jpg') center/cover}.tattoo-final .container{position:relative}.tattoo-final h2{max-width:1050px;margin:auto}.tattoo-final p:not(.tattoo-kicker){font-size:20px;max-width:760px;line-height:1.7;margin:32px auto}.tattoo-final small{display:block;margin-top:44px;letter-spacing:.2em;color:#888}.tattoo-lp .reviews-section{border-top:1px solid var(--ti-line);background:#0b0b0b}
@media(max-width:991px){.tattoo-section{padding:90px 0}.tattoo-grid,.tattoo-heading{grid-template-columns:1fr;gap:48px}.tattoo-hero{min-height:860px;align-items:flex-end;padding-bottom:55px}.tattoo-hero__media{inset:0}.tattoo-hero__media:after{background:linear-gradient(0deg,#080808 10%,rgba(8,8,8,.72) 48%,rgba(8,8,8,.12) 100%)}.tattoo-hero__inner{padding-top:160px}.tattoo-style-grid{grid-template-columns:1fr 1fr}.tattoo-brief-grid{grid-template-columns:1fr 1fr}.tattoo-brief-grid article:nth-child(2){border-right:0}.tattoo-brief-grid article:nth-child(-n+2){border-bottom:1px solid #333}.tattoo-process__visual{height:620px}}
@media(max-width:575px){.tattoo-lp h2{font-size:42px}.tattoo-hero{min-height:780px}.tattoo-hero h1{font-size:60px}.tattoo-hero__lead{font-size:17px}.tattoo-btn{width:100%}.tattoo-hero__trust{display:grid;grid-template-columns:repeat(3,1fr)}.tattoo-hero__trust div{padding:0 12px}.tattoo-hero__trust strong{font-size:15px}.tattoo-hero__trust span{font-size:10px}.tattoo-heading{margin-bottom:42px}.tattoo-style-grid,.tattoo-brief-grid{grid-template-columns:1fr}.tattoo-style-card img{height:430px}.tattoo-brief-grid article{border-right:0;border-bottom:1px solid #333!important}.tattoo-brief-grid article:last-child{border-bottom:0!important}.tattoo-process__visual,.tattoo-hygiene img,.tattoo-visit>div>img{height:480px}.tattoo-checks{grid-template-columns:1fr}.tattoo-copy--large{font-size:20px}.tattoo-final{padding:110px 0;min-height:600px}}
/* Shared tattoo intent pages */
.tattoo-service-hero .tattoo-hero__media{inset:0 0 0 52%}.tattoo-service-work img{height:360px}.tattoo-service-work>div{padding:20px 24px}.tattoo-service-support{width:100%;height:620px;object-fit:cover}.tattoo-service-lp .tattoo-hero__trust{margin-top:55px}
/* Fine line flagship landing */
.fine-lp{--fl-bg:#090909;--fl-panel:#101010;--fl-soft:#161616;--fl-line:#2c2c2c;--fl-text:#aaa;--fl-hot:#ef7d00;background:var(--fl-bg);color:var(--fl-text);overflow:hidden}.fine-lp h1,.fine-lp h2,.fine-lp h3{font-family:"Oswald",sans-serif;color:#fff;text-transform:uppercase;margin:0}.fine-lp h2{font-size:clamp(46px,6vw,92px);line-height:.96;letter-spacing:-.035em}.fine-lp h3{font-size:24px}.fine-kicker{font:500 13px "Oswald",sans-serif!important;letter-spacing:.25em;color:var(--fl-hot)!important;text-transform:uppercase;margin:0 0 28px}.fine-section{padding:140px 0;border-top:1px solid var(--fl-line)}.fine-split,.fine-head{display:grid;grid-template-columns:1fr 1fr;gap:9vw;align-items:start}.fine-head{align-items:end;margin-bottom:66px}.fine-head>p{font-size:18px;line-height:1.75;margin:0}.fine-lead-copy{font-size:clamp(22px,2.2vw,32px);line-height:1.55;color:#d0d0d0;margin:0}.fine-copy{font-size:18px;line-height:1.8;margin:32px 0}.fine-note{border-left:2px solid var(--fl-hot);padding:8px 0 8px 25px;margin-top:38px;color:#888;font-size:16px;line-height:1.7}.fine-progress{position:fixed;z-index:9999;left:0;top:0;width:100%;height:2px;background:transparent;pointer-events:none}.fine-progress span{display:block;width:100%;height:100%;background:var(--fl-hot);transform:scaleX(0);transform-origin:left}.fine-hero{min-height:940px;display:flex;align-items:center;position:relative;background:#080808}.fine-hero__image{position:absolute;inset:0 0 0 48%;overflow:hidden}.fine-hero__image img{width:100%;height:100%;object-fit:cover;object-position:center}.fine-hero__veil{position:absolute;inset:0;background:linear-gradient(90deg,#080808 0%,#080808 35%,rgba(8,8,8,.66) 53%,rgba(8,8,8,.05) 85%),linear-gradient(0deg,#080808 0%,transparent 25%)}.fine-hero__line{position:absolute;width:42vw;height:42vw;border:1px solid rgba(239,125,0,.35);border-radius:48% 52% 60% 40%;right:-14vw;top:8%;transform:rotate(20deg)}.fine-hero__content{position:relative;z-index:2;padding-top:90px}.fine-hero h1{font-size:clamp(78px,10.5vw,178px);line-height:.82;letter-spacing:-.055em;max-width:980px}.fine-hero__lead{font-size:21px;line-height:1.65;color:#c5c5c5;max-width:620px;margin:40px 0 34px}.fine-actions{display:flex;gap:16px;flex-wrap:wrap}a.fine-btn,a.fine-btn:hover,a.fine-btn:focus-visible,a.fine-btn:active{display:inline-flex;align-items:center;justify-content:center;transform:none}.fine-btn{gap:12px;flex-wrap:nowrap;white-space:nowrap;min-height:62px;padding:0 30px;font:500 14px/1 "Oswald",sans-serif;text-transform:uppercase;letter-spacing:.1em;transition:background .25s,color .25s,border-color .25s}.fine-btn span{display:inline-flex;align-items:center;line-height:1}.fine-btn--hot{background:var(--fl-hot);color:#080808!important}.fine-btn--hot:hover{background:#fff;color:#080808!important}.fine-btn--quiet{color:#fff!important;border:1px solid #4a4a4a}.fine-btn--quiet:hover{border-color:var(--fl-hot);color:var(--fl-hot)!important}.fine-btn.is-disabled{opacity:.5;pointer-events:none}.fine-hero__note{font-size:12px;letter-spacing:.08em;margin-top:25px}.fine-scroll{position:absolute;z-index:3;bottom:38px;left:50%;transform:translateX(-50%);color:#777!important;font-size:11px;letter-spacing:.16em;text-transform:uppercase;display:flex;align-items:center;gap:14px}.fine-scroll span{width:42px;height:1px;background:var(--fl-hot)}.fine-intro{background:#0e0e0e}.fine-filters{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:34px}.fine-filter{background:transparent;border:1px solid #333;color:#888;padding:13px 20px;font:500 12px "Oswald",sans-serif;letter-spacing:.12em;text-transform:uppercase;cursor:pointer}.fine-filter.is-active,.fine-filter:hover{background:var(--fl-hot);border-color:var(--fl-hot);color:#090909}.fine-gallery{display:grid;grid-template-columns:repeat(12,1fr);gap:22px}.fine-work{grid-column:span 4;background:#111;border:1px solid #242424;transition:opacity .3s,transform .3s}.fine-work:nth-child(2),.fine-work:nth-child(5){transform:translateY(52px)}.fine-work.is-hidden{display:none}.fine-work__image{height:480px;overflow:hidden}.fine-work__image img{width:100%;height:100%;object-fit:cover;transition:transform .6s}.fine-work:hover img{transform:scale(1.035)}.fine-work__copy{padding:28px}.fine-work__copy span,.fine-scale-card>span,.fine-process-list>article>span{color:var(--fl-hot);font:500 13px "Oswald",sans-serif;letter-spacing:.15em}.fine-work__copy h3{margin:10px 0}.fine-work__copy p{line-height:1.65;margin:0}.fine-scale{background:#111}.fine-scale__sticky{position:sticky;top:130px}.fine-scale__sticky>p:not(.fine-kicker){font-size:18px;line-height:1.75;margin:32px 0}.fine-line-demo{display:flex;flex-direction:column;gap:18px;margin-top:44px}.fine-line-demo i{display:block;background:var(--fl-hot);height:1px;width:35%}.fine-line-demo i:nth-child(2){height:2px;width:60%}.fine-line-demo i:nth-child(3){height:3px;width:85%}.fine-scale-card{padding:42px 0;border-top:1px solid #333}.fine-scale-card h3{font-size:34px;margin:18px 0}.fine-scale-card p{font-size:17px;line-height:1.7;margin:0}.fine-truths{list-style:none;padding:28px;background:#0b0b0b;border:1px solid #2c2c2c}.fine-truths li{padding:12px 0;border-bottom:1px solid #252525}.fine-truths li:last-child{border:0}.fine-placement-grid{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid #2d2d2d}.fine-placement-grid article{padding:40px 30px;min-height:290px;border-right:1px solid #2d2d2d}.fine-placement-grid article:last-child{border:0}.fine-placement-grid span{color:var(--fl-hot);font:500 13px "Oswald",sans-serif}.fine-placement-grid h3{margin:72px 0 18px}.fine-placement-grid p{line-height:1.7;margin:0}.fine-process{background:#0d0d0d}.fine-process__grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:8vw;align-items:start}.fine-process__visual{position:sticky;top:105px;height:760px}.fine-process__visual img{width:100%;height:100%;object-fit:cover}.fine-process__visual p{position:absolute;left:25px;bottom:25px;background:#090909;color:#fff;padding:18px 22px;font:500 18px "Oswald",sans-serif;text-transform:uppercase}.fine-process-list{margin-top:46px}.fine-process-list article{display:grid;grid-template-columns:55px 1fr;gap:20px;padding:30px 0;border-top:1px solid #303030}.fine-process-list h3{margin-bottom:12px}.fine-process-list p{line-height:1.7;margin:0}.fine-brief{background:#14100c}.fine-brief-builder{display:grid;grid-template-columns:1.2fr .8fr;gap:30px}.fine-brief__options{border:1px solid #3a2d21;background:#0d0c0b}.fine-brief fieldset{padding:30px;border:0;border-bottom:1px solid #34291f;margin:0}.fine-brief fieldset:last-child{border:0}.fine-brief legend{color:#fff;font:500 21px "Oswald",sans-serif;text-transform:uppercase;margin:0 0 18px}.fine-brief legend span{color:var(--fl-hot);font-size:12px;margin-right:18px}.fine-brief fieldset>div{display:flex;gap:9px;flex-wrap:wrap}.fine-brief fieldset button{background:#151515;border:1px solid #383838;color:#aaa;padding:11px 15px;cursor:pointer}.fine-brief fieldset button.is-selected{background:var(--fl-hot);border-color:var(--fl-hot);color:#090909}.fine-brief__result{position:sticky;top:120px;align-self:start;background:#090909;border:1px solid #47321e;padding:38px}.fine-brief__result output{display:block;min-height:210px;color:#ddd;font-size:18px;line-height:1.7;white-space:pre-line;margin-bottom:30px}.fine-brief__result .fine-btn{width:100%}.fine-brief__result small{display:block;margin-top:18px}.fine-pricing ol{list-style:none;margin:0;padding:0;border-top:1px solid #333}.fine-pricing li{display:grid;grid-template-columns:55px 1fr;padding:28px 0;border-bottom:1px solid #333;color:#ddd;font:400 21px "Oswald",sans-serif;text-transform:uppercase}.fine-pricing li span{color:var(--fl-hot);font-size:13px}.fine-text-link{color:#fff!important;font:500 14px "Oswald",sans-serif;letter-spacing:.1em;text-transform:uppercase;border-bottom:1px solid var(--fl-hot);padding-bottom:5px}.fine-healing{background:#101010}.fine-timeline{display:grid;grid-template-columns:repeat(4,1fr);position:relative}.fine-timeline:before{content:"";position:absolute;left:0;right:0;top:9px;height:1px;background:#3b3b3b}.fine-timeline article{position:relative;padding:40px 28px 0 0}.fine-timeline article:before{content:"";position:absolute;top:3px;left:0;width:13px;height:13px;background:var(--fl-hot);border-radius:50%}.fine-timeline span{color:var(--fl-hot);font:500 13px "Oswald",sans-serif;letter-spacing:.12em}.fine-timeline h3{margin:18px 0}.fine-timeline p{line-height:1.7}.fine-hygiene ul,.fine-location ul{list-style:none;padding:0;margin:30px 0}.fine-hygiene li,.fine-location li{padding:14px 0;border-bottom:1px solid #2d2d2d}.fine-hygiene__image,.fine-location__image{height:680px}.fine-hygiene__image img,.fine-location__image img{width:100%;height:100%;object-fit:cover}.fine-location{background:#101010}.fine-faq__accordion{max-width:980px;margin:auto}.fine-final{position:relative;min-height:720px;text-align:center;display:flex;align-items:center;padding:130px 0}.fine-final__image{position:absolute;inset:0;background:linear-gradient(rgba(0,0,0,.66),rgba(0,0,0,.88)),url('/assets/img/work/minimal/minimal-05.webp') center/cover}.fine-final .container{position:relative}.fine-final h2{font-size:clamp(56px,7vw,110px);max-width:1050px;margin:auto}.fine-final p:not(.fine-kicker){font-size:20px;line-height:1.7;max-width:760px;margin:30px auto}.fine-final small{display:block;margin-top:40px;letter-spacing:.18em}.fine-lp [data-fine-reveal]{opacity:0;transform:translateY(28px);transition:opacity .75s ease,transform .75s cubic-bezier(.2,.7,.2,1)}.fine-lp [data-fine-reveal].is-visible{opacity:1;transform:none}.fine-lp .reviews-section{background:#090909;border-top:1px solid #2c2c2c}
@media(prefers-reduced-motion:reduce){.fine-lp [data-fine-reveal]{opacity:1;transform:none;transition:none}.fine-progress{display:none}.fine-work__image img{transition:none}}
@media(max-width:991px){.fine-section{padding:95px 0}.fine-split,.fine-head,.fine-process__grid,.fine-brief-builder{grid-template-columns:1fr;gap:50px}.fine-hero{min-height:880px;align-items:flex-end;padding-bottom:75px}.fine-hero__image{inset:0}.fine-hero__veil{background:linear-gradient(0deg,#080808 7%,rgba(8,8,8,.82) 55%,rgba(8,8,8,.12) 100%)}.fine-hero__content{padding-top:160px}.fine-gallery{grid-template-columns:1fr 1fr}.fine-work{grid-column:auto}.fine-work:nth-child(2),.fine-work:nth-child(5){transform:none}.fine-placement-grid{grid-template-columns:1fr 1fr}.fine-placement-grid article:nth-child(2){border-right:0}.fine-placement-grid article:nth-child(-n+2){border-bottom:1px solid #2d2d2d}.fine-scale__sticky,.fine-process__visual,.fine-brief__result{position:relative;top:auto}.fine-process__visual{height:620px}.fine-timeline{grid-template-columns:1fr 1fr;gap:40px}.fine-timeline:before{display:none}.fine-timeline article{border-top:1px solid #333}.fine-hygiene__image,.fine-location__image{height:560px}}
@media(max-width:575px){.fine-section{padding:78px 0}.fine-lp h2{font-size:44px}.fine-hero{min-height:790px}.fine-hero h1{font-size:68px}.fine-hero__lead{font-size:17px}.fine-actions,.fine-btn{width:100%}.fine-scroll{display:none}.fine-gallery,.fine-placement-grid,.fine-timeline{grid-template-columns:1fr}.fine-work__image{height:455px}.fine-placement-grid article{border-right:0;border-bottom:1px solid #2d2d2d!important}.fine-placement-grid article:last-child{border-bottom:0!important}.fine-brief fieldset{padding:24px 18px}.fine-brief fieldset button{font-size:13px}.fine-process__visual,.fine-hygiene__image,.fine-location__image{height:470px}.fine-final{min-height:620px;padding:90px 0}.fine-final h2{font-size:52px}}
/* Fine line visual refinement: controlled type, editorial rhythm, cinematic media */
.fine-lp h2{font-size:clamp(34px,3.7vw,58px);line-height:1.05;letter-spacing:-.022em;max-width:720px}.fine-lp h3{font-size:21px;line-height:1.2}.fine-section{padding:112px 0}.fine-hero{min-height:860px}.fine-hero h1{font-size:clamp(58px,6.8vw,102px);line-height:.92;letter-spacing:-.035em;max-width:720px}.fine-hero__lead{font-size:18px;max-width:560px;margin:30px 0}.fine-hero__image{inset:8% 3% 7% 53%;border:1px solid rgba(255,255,255,.12)}.fine-hero__image img{object-position:center}.fine-hero__veil{background:linear-gradient(90deg,#080808 0%,#080808 44%,rgba(8,8,8,.72) 57%,rgba(8,8,8,.08) 84%),linear-gradient(0deg,#080808 0%,transparent 18%)}.fine-hero__line{width:28vw;height:28vw;right:-7vw;top:16%}.fine-hero__detail{position:absolute;z-index:2;right:39%;bottom:8%;width:168px;margin:0;background:#0a0a0a;border:1px solid #343434;padding:7px;transform:rotate(-2deg)}.fine-hero__detail img{display:block;width:100%;height:160px;object-fit:cover}.fine-hero__detail figcaption{padding:8px 4px 2px;color:#777;font:500 9px "Oswald",sans-serif;letter-spacing:.12em;text-transform:uppercase}.fine-marquee{overflow:hidden;border-top:1px solid #30251b;border-bottom:1px solid #30251b;background:#e97800;color:#090909}.fine-marquee>div{display:flex;align-items:center;gap:34px;width:max-content;padding:15px 0;animation:fineMarquee 26s linear infinite}.fine-marquee span{font:500 13px "Oswald",sans-serif;letter-spacing:.18em}.fine-marquee i{font-style:normal}@keyframes fineMarquee{to{transform:translateX(-50%)}}.fine-film{height:min(80vh,760px);min-height:580px;position:relative;display:flex;align-items:flex-end;overflow:hidden;border-top:1px solid #2b2b2b;border-bottom:1px solid #2b2b2b}.fine-film__media{position:absolute;inset:0}.fine-film video{width:100%;height:100%;object-fit:cover;object-position:center 44%;filter:saturate(.75) contrast(1.05)}.fine-film__media:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.15),rgba(0,0,0,.7)),linear-gradient(0deg,rgba(0,0,0,.82),transparent 55%)}.fine-film__copy{position:relative;z-index:1;width:min(90%,620px);margin:0 7vw 7vw auto;padding:38px;border:1px solid rgba(255,255,255,.2);background:rgba(8,8,8,.68);backdrop-filter:blur(10px)}.fine-film__copy span{color:var(--fl-hot);font:500 12px "Oswald",sans-serif;letter-spacing:.22em}.fine-film__copy h2{font-size:clamp(38px,4.5vw,66px);margin:18px 0}.fine-film__copy p{font-size:17px;line-height:1.6;margin:0}.fine-head{grid-template-columns:.9fr .65fr;gap:7vw}.fine-intro .fine-split{grid-template-columns:.85fr 1fr}.fine-gallery{gap:16px}.fine-work{background:transparent;border:0}.fine-work__image{height:430px;border:1px solid #292929}.fine-work__copy{padding:22px 4px 30px}.fine-scale-card{padding:34px 0}.fine-scale-card h3{font-size:28px}.fine-placement-grid{gap:14px;border:0}.fine-placement-grid article{min-height:250px;border:1px solid #2d2d2d!important;background:linear-gradient(145deg,#121212,#0c0c0c);transition:border-color .3s,box-shadow .3s}.fine-placement-grid article:hover{border-color:#71400d!important;box-shadow:0 16px 36px rgba(0,0,0,.35)}.fine-placement-grid h3{margin:54px 0 16px}.fine-process__visual{height:680px}.fine-process-list article{padding:24px 0}.fine-brief__options{box-shadow:0 25px 80px rgba(0,0,0,.32)}.fine-timeline article{padding-right:38px}.fine-final h2{font-size:clamp(42px,5.2vw,76px);line-height:1.02}
@media(prefers-reduced-motion:reduce){.fine-marquee>div{animation:none}}
@media(max-width:991px){.fine-section{padding:86px 0}.fine-hero{min-height:820px}.fine-hero__image{inset:0}.fine-hero__detail{right:6%;bottom:5%;width:130px}.fine-hero__detail img{height:120px}.fine-hero__veil{background:linear-gradient(0deg,#080808 4%,rgba(8,8,8,.88) 58%,rgba(8,8,8,.18) 100%)}.fine-film__copy{margin:0 5vw 5vw auto}.fine-head{grid-template-columns:1fr}.fine-work__image{height:410px}}
@media(max-width:575px){.fine-lp h2{font-size:34px}.fine-hero h1{font-size:54px;max-width:350px}.fine-hero__detail{display:none}.fine-film{min-height:620px}.fine-film__copy{width:calc(100% - 30px);margin:0 15px 15px;padding:25px}.fine-film__copy h2{font-size:37px}.fine-marquee>div{padding:12px 0}.fine-work__image{height:410px}.fine-final h2{font-size:40px}}

/* Fine line flagship — final hierarchy and hero layering */
.fine-lp h2{font-size:clamp(32px,3.2vw,50px)}
.fine-hero h1{font-size:clamp(54px,5.8vw,86px);line-height:.94;max-width:650px}
.fine-hero__image{z-index:1}
.fine-hero__image img{display:block}
.fine-hero__veil{z-index:2;background:linear-gradient(90deg,#080808 0%,#080808 36%,rgba(8,8,8,.55) 51%,rgba(8,8,8,0) 74%),linear-gradient(0deg,#080808 0%,transparent 17%)}
.fine-hero__line{z-index:2}
.fine-hero__content{z-index:3}
.fine-hero__detail{z-index:4}
@media(max-width:991px){.fine-hero__veil{background:linear-gradient(0deg,#080808 3%,rgba(8,8,8,.9) 52%,rgba(8,8,8,.12) 100%)}}
@media(max-width:575px){.fine-hero h1{font-size:50px;line-height:.96}.fine-lp h2{font-size:32px}}

/* Fine line uses the proven piercing detail system */
body[data-page-key="tattoo-fine-line"] .pp-hero__img{object-position:center 48%}
body[data-page-key="tattoo-fine-line"] .pp-hero__overlay{background:linear-gradient(90deg,rgba(4,4,4,.96),rgba(4,4,4,.52) 52%,rgba(4,4,4,.16)),linear-gradient(0deg,#080808 0%,transparent 28%)}
.fine-design-visual{overflow:hidden}
.fine-design-visual img{display:block;width:100%;height:620px;object-fit:cover;border:1px solid rgba(255,255,255,.1)}
.fine-work-grid{grid-template-columns:repeat(12,minmax(0,1fr));gap:18px}
.fine-work-grid .navel-media-card{grid-column:span 5;min-height:520px}
.fine-work-grid .navel-media-card:nth-child(3n+1){grid-column:span 7;min-height:650px}
.fine-work-grid .navel-media-card:nth-child(3n+2){margin-top:72px}
.fine-work-grid .navel-media-card img{filter:saturate(.88) contrast(1.04)}
.fine-work-grid .navel-media-card:hover img{filter:saturate(1.08) contrast(1.02);transform:scale(1.035)}
.fine-work-grid{grid-template-columns:repeat(12,minmax(0,1fr))}
.fine-work-grid .navel-media-card,.fine-work-grid .navel-media-card:nth-child(3n+1){min-height:470px;margin-top:0}
.fine-work-grid .navel-media-card--hero{grid-column:1 / 8;grid-row:1 / 3;min-height:958px}
.fine-work-grid .navel-media-card--portrait{grid-column:8 / 13;grid-row:1 / 3;min-height:958px}
.fine-work-grid .navel-media-card--detail-one{grid-column:1 / 6;grid-row:3;min-height:470px}
.fine-work-grid .navel-media-card--detail-two{grid-column:6 / 13;grid-row:3;min-height:470px}
.fine-work-grid .navel-media-card img{object-position:center center}
.fine-work-grid .navel-media-card--hero img{object-position:center 48%}
.fine-work-grid .navel-media-card--portrait img{object-position:center 52%}
.fine-work-grid .navel-media-card--detail-one img,.fine-work-grid .navel-media-card--detail-two img{object-position:center center;transform:none}
.fine-work-grid .navel-media-card--detail-one:hover img,.fine-work-grid .navel-media-card--detail-two:hover img{transform:scale(1.035)}
.fine-placement-cards{grid-template-columns:repeat(4,minmax(0,1fr))}
.fine-placement-cards .navel-card{min-height:310px}
.fine-consultation{background:linear-gradient(120deg,#080808,#15100b)}
.fine-why-us{background:radial-gradient(circle at 85% 20%,rgba(228,125,10,.1),transparent 28%),#090909}
.fine-line-final{background:linear-gradient(rgba(4,4,4,.7),rgba(4,4,4,.94)),url('/assets/img/work/minimal/minimal-05-v1.webp') center/cover no-repeat}
@media(max-width:991px){.fine-placement-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:991px){.fine-work-grid{grid-template-columns:1fr 1fr}.fine-work-grid .navel-media-card,.fine-work-grid .navel-media-card--hero,.fine-work-grid .navel-media-card--portrait,.fine-work-grid .navel-media-card--detail-one,.fine-work-grid .navel-media-card--detail-two{grid-column:auto;grid-row:auto;min-height:540px}}
@media(max-width:767px){body[data-page-key="tattoo-fine-line"]{padding-bottom:76px}body[data-page-key="tattoo-fine-line"] .pp-hero{min-height:740px}body[data-page-key="tattoo-fine-line"] .pp-hero__img{object-position:62% center}.fine-work-grid{grid-template-columns:1fr}.fine-work-grid .navel-media-card,.fine-work-grid .navel-media-card:nth-child(3n+1),.fine-work-grid .navel-media-card--hero{grid-column:auto;min-height:460px;margin-top:0}.fine-placement-cards{grid-template-columns:1fr}.fine-design-visual img{height:480px}}

/* Stable fine-line portfolio: intentional 2x2 composition without row overflow */
.fine-work-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:560px;gap:18px}
.fine-work-grid .navel-media-card,
.fine-work-grid .navel-media-card:nth-child(3n+1),
.fine-work-grid .navel-media-card:nth-child(3n+2),
.fine-work-grid .navel-media-card--hero,
.fine-work-grid .navel-media-card--portrait,
.fine-work-grid .navel-media-card--detail-one,
.fine-work-grid .navel-media-card--detail-two{grid-column:auto;grid-row:auto;min-height:0;height:560px;margin:0}
.fine-work-grid .navel-media-card img,
.fine-work-grid .navel-media-card--hero img,
.fine-work-grid .navel-media-card--portrait img,
.fine-work-grid .navel-media-card--detail-one img,
.fine-work-grid .navel-media-card--detail-two img{width:100%;height:100%;object-fit:cover;object-position:center;transform:none}
@media(max-width:767px){.fine-work-grid{grid-template-columns:1fr;grid-auto-rows:460px}.fine-work-grid .navel-media-card,.fine-work-grid .navel-media-card:nth-child(3n+1),.fine-work-grid .navel-media-card:nth-child(3n+2),.fine-work-grid .navel-media-card--hero,.fine-work-grid .navel-media-card--portrait,.fine-work-grid .navel-media-card--detail-one,.fine-work-grid .navel-media-card--detail-two{height:460px}}
body[data-page-key="tattoo-fine-line"] .pp-hero{overflow:hidden}

/* Tattoo-only experience system: every interaction explains a design decision */
.fine-experience{overflow:hidden;background:radial-gradient(circle at 82% 18%,rgba(228,125,10,.12),transparent 28%),#080808}
.fine-experience__stage{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(420px,.95fr);gap:clamp(40px,6vw,90px);align-items:stretch}
.fine-experience__visual{position:relative;min-height:720px;overflow:hidden;background:#111;border:1px solid rgba(255,255,255,.1)}
.fine-experience__visual:after{position:absolute;inset:0;content:"";pointer-events:none;background:linear-gradient(180deg,transparent 55%,rgba(0,0,0,.75))}
.fine-experience__visual img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transform:scale(1.035);transition:opacity .55s ease,transform .8s cubic-bezier(.2,.7,.2,1)}
.fine-experience__visual img.is-active{opacity:1;transform:scale(1)}
.fine-experience__counter{position:absolute;z-index:2;right:25px;bottom:22px;font:400 13px "Oswald",sans-serif;letter-spacing:.2em;color:rgba(255,255,255,.55)}
.fine-experience__counter b{font-size:38px;font-weight:400;color:#fff}
.fine-experience__content{display:flex;flex-direction:column;min-width:0}
.fine-experience__tabs{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));margin-bottom:54px;border-bottom:1px solid rgba(255,255,255,.14)}
.fine-experience__tabs button{position:relative;padding:15px 5px 20px;font:400 11px "Oswald",sans-serif;letter-spacing:.08em;text-transform:uppercase;color:rgba(255,255,255,.42);cursor:pointer;background:transparent;border:0}
.fine-experience__tabs button span{display:block;margin-bottom:8px;font-size:10px;color:#e47d0a}
.fine-experience__tabs button:after{position:absolute;right:0;bottom:-1px;left:0;height:2px;content:"";background:#e47d0a;transform:scaleX(0);transition:transform .25s ease}
.fine-experience__tabs button.is-active,.fine-experience__tabs button:hover,.fine-experience__tabs button:focus-visible{color:#fff}
.fine-experience__tabs button.is-active:after{transform:scaleX(1)}
.fine-experience__panel{animation:finePanelIn .42s ease both}
.fine-experience__panel h3{max-width:560px;margin:0 0 28px;font:500 clamp(2rem,3.2vw,3.25rem)/1.04 "Oswald",sans-serif;text-transform:uppercase;color:#fff}
.fine-experience__panel>p:not(.pp-eyebrow){max-width:58ch;font-size:17px;line-height:1.8;color:rgba(255,255,255,.67)}
.fine-experience__panel strong{display:block;margin-top:38px;font:500 11px "Oswald",sans-serif;letter-spacing:.2em;text-transform:uppercase;color:#e47d0a}
.fine-experience__panel>span{display:block;margin-top:10px;font-size:14px;line-height:1.7;color:#fff}
@keyframes finePanelIn{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}

.fine-placement-explorer{display:grid;grid-template-columns:minmax(250px,.42fr) minmax(0,1fr);min-height:520px;border:1px solid rgba(255,255,255,.12);background:#0a0a0a}
.fine-placement-explorer__choices{display:flex;flex-direction:column;border-right:1px solid rgba(255,255,255,.12)}
.fine-placement-explorer__choices button{display:grid;grid-template-columns:45px 1fr;align-items:center;flex:1;padding:24px 28px;text-align:left;font:500 15px "Oswald",sans-serif;text-transform:uppercase;color:rgba(255,255,255,.5);cursor:pointer;background:transparent;border:0;border-bottom:1px solid rgba(255,255,255,.1);transition:background .25s,color .25s}
.fine-placement-explorer__choices button:last-child{border-bottom:0}
.fine-placement-explorer__choices button span{font-size:11px;color:#e47d0a}
.fine-placement-explorer__choices button.is-active{color:#fff;background:linear-gradient(90deg,rgba(228,125,10,.16),transparent);box-shadow:inset 3px 0 #e47d0a}
.fine-placement-explorer__result{padding:clamp(36px,5vw,72px)}
.fine-placement-explorer__result article{animation:finePanelIn .35s ease both}
.fine-placement-explorer__result h3{max-width:670px;margin:0 0 22px;font:500 clamp(2rem,3.4vw,3.4rem)/1.05 "Oswald",sans-serif;text-transform:uppercase;color:#fff}
.fine-placement-explorer__result article>p:not(.pp-eyebrow){max-width:68ch;font-size:17px;line-height:1.8;color:rgba(255,255,255,.68)}
.fine-placement-explorer__result dl{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;margin:42px 0 0;background:rgba(255,255,255,.1)}
.fine-placement-explorer__result dl div{padding:20px;background:#0c0c0c}
.fine-placement-explorer__result dt{margin-bottom:10px;font:500 10px "Oswald",sans-serif;letter-spacing:.16em;text-transform:uppercase;color:#e47d0a}
.fine-placement-explorer__result dd{margin:0;font-size:13px;line-height:1.55;color:#fff}

.fine-brief-builder{display:block;grid-template-columns:none;background:radial-gradient(circle at 20% 20%,rgba(228,125,10,.12),transparent 30%),#100c08}
.fine-brief-builder__grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(340px,.85fr);gap:24px;align-items:start}
.fine-brief-builder__questions{background:#090909;border:1px solid rgba(255,255,255,.13)}
.fine-brief-builder fieldset{margin:0;padding:30px;border:0;border-bottom:1px solid rgba(255,255,255,.1)}
.fine-brief-builder fieldset:last-child{border-bottom:0}
.fine-brief-builder legend{padding:0;margin:0 0 18px;font:500 18px "Oswald",sans-serif;text-transform:uppercase;color:#fff}
.fine-brief-builder legend span{margin-right:16px;font-size:11px;color:#e47d0a}
.fine-brief-builder fieldset div{display:flex;flex-wrap:wrap;gap:8px}
.fine-brief-builder fieldset button{padding:11px 14px;font-size:13px;color:rgba(255,255,255,.62);cursor:pointer;background:#111;border:1px solid rgba(255,255,255,.14);transition:.2s}
.fine-brief-builder fieldset button:hover,.fine-brief-builder fieldset button:focus-visible,.fine-brief-builder fieldset button.is-selected{color:#080808;background:#e47d0a;border-color:#e47d0a}
.fine-brief-builder__result{position:sticky;top:170px;padding:38px;background:rgba(8,8,8,.9);border:1px solid rgba(228,125,10,.35);box-shadow:0 30px 90px rgba(0,0,0,.35)}
.fine-brief-builder__result output{display:block;min-height:220px;white-space:pre-line;font-size:16px;line-height:1.75;color:rgba(255,255,255,.78)}
.fine-brief-builder__result .btn-curve{display:inline-block;margin-top:24px}
.fine-brief-builder__result .btn-curve.is-disabled{opacity:.42;pointer-events:none}
.fine-brief-builder__result small{display:block;margin-top:20px;font-size:12px;color:rgba(255,255,255,.45)}

@media(prefers-reduced-motion:reduce){.fine-experience__visual img,.fine-experience__panel,.fine-placement-explorer__result article{transition:none;animation:none}}
@media(max-width:991px){.fine-experience__stage,.fine-brief-builder__grid{grid-template-columns:1fr}.fine-experience__visual{min-height:620px}.fine-brief-builder__result{position:relative;top:auto}.fine-placement-explorer{grid-template-columns:1fr}.fine-placement-explorer__choices{display:grid;grid-template-columns:repeat(2,1fr);border-right:0;border-bottom:1px solid rgba(255,255,255,.12)}.fine-placement-explorer__choices button{min-height:90px}.fine-placement-explorer__result dl{grid-template-columns:1fr}}
@media(max-width:575px){.fine-experience__visual{min-height:490px}.fine-experience__tabs{grid-template-columns:repeat(5,minmax(0,1fr));margin-bottom:38px}.fine-experience__tabs button{min-width:0;font-size:9px;letter-spacing:.02em}.fine-experience__panel h3,.fine-placement-explorer__result h3{font-size:30px}.fine-placement-explorer__choices{grid-template-columns:1fr}.fine-placement-explorer__choices button{min-height:68px;padding:18px 20px}.fine-placement-explorer__result{padding:30px 22px}.fine-brief-builder fieldset{padding:24px 18px}.fine-brief-builder__result{padding:28px 22px}}

/* Fine-line conversion contact system */
body:has([data-contact-dock]) .sticky-whatsapp,
body:has([data-contact-dock]) .navel-mobile-cta{display:none!important}
body[data-page-key="tattoo-fine-line"] .sticky-whatsapp,
body[data-page-key="tattoo-fine-line"] .navel-mobile-cta{display:none!important}
body[data-page-key="tattoo-walkin"] .sticky-whatsapp,
body[data-page-key="tattoo-prices"] .sticky-whatsapp,
body[data-page-key="tattoo-travel-guide"] .sticky-whatsapp{display:none!important}
.service-hub .reviews-section .section-title{max-width:100%;margin-inline:auto;text-align:center}
.service-hub .reviews-head .section-subtitle{text-align:center}
.tattoo-evidence{background:linear-gradient(180deg,#0a0a0a,#0d0b09 55%,#090909)}
.tattoo-evidence .navel-studio-photo{width:100%;min-width:0;height:auto!important;aspect-ratio:3/2}
.tattoo-evidence .navel-studio-photo img{display:block;max-width:100%;width:100%;height:100%;object-fit:cover}
.tattoo-evidence__cards{margin-top:clamp(38px,6vw,80px)}
.fine-contact-dock{position:fixed;z-index:100;right:0;bottom:0;left:0;padding:0 20px;pointer-events:none;opacity:0;visibility:hidden;transform:translateY(100%);transition:opacity .3s,visibility .3s,transform .4s cubic-bezier(.2,.75,.2,1)}
.fine-contact-dock.is-visible{pointer-events:auto;opacity:1;visibility:visible;transform:none}
.fine-contact-dock__inner{display:flex;align-items:center;justify-content:space-between;gap:30px;width:min(100%,1232px);min-height:78px;margin:auto;padding:12px 18px 12px 24px;background:rgba(8,8,8,.94);border:1px solid rgba(255,255,255,.16);border-bottom:0;box-shadow:0 -20px 60px rgba(0,0,0,.4);backdrop-filter:blur(15px)}
.fine-contact-dock__inner>div:first-child{display:flex;flex-direction:column;gap:4px}
.fine-contact-dock__inner>div:first-child span{font:500 14px "Oswald",sans-serif;letter-spacing:.15em;color:#fff}
.fine-contact-dock__inner>div:first-child small{font-size:11px;color:rgba(255,255,255,.48)}
.fine-contact-dock__actions{display:flex;gap:8px}
.fine-contact-dock__actions button,.fine-contact-dock__mobile{min-height:48px;padding:0 18px;font:500 11px "Oswald",sans-serif;letter-spacing:.1em;text-transform:uppercase;color:#fff;cursor:pointer;background:#111;border:1px solid rgba(255,255,255,.16);transition:.2s}
.fine-contact-dock__actions button:first-child{color:#080808;background:#e47d0a;border-color:#e47d0a}
.fine-contact-dock__actions button:hover,.fine-contact-dock__actions button:focus-visible{color:#080808;background:#fff;border-color:#fff}
.fine-contact-dock__mobile{display:none}

.fine-contact-drawer{position:fixed;z-index:10001;inset:0;display:flex;justify-content:flex-end;visibility:hidden}
.fine-contact-drawer[hidden]{display:none}
.fine-contact-drawer.is-open{visibility:visible}
.fine-contact-drawer__backdrop{position:absolute;inset:0;padding:0;cursor:pointer;background:rgba(0,0,0,.72);border:0;opacity:0;transition:opacity .26s}
.fine-contact-drawer.is-open .fine-contact-drawer__backdrop{opacity:1}
.fine-contact-drawer__panel{position:relative;z-index:1;width:min(100%,560px);height:100%;overflow-y:auto;padding:clamp(30px,4vw,56px);background:radial-gradient(circle at 90% 10%,rgba(228,125,10,.13),transparent 25%),#0a0a0a;border-left:1px solid rgba(255,255,255,.14);box-shadow:-40px 0 100px rgba(0,0,0,.45);transform:translateX(100%);transition:transform .34s cubic-bezier(.2,.75,.2,1);outline:0}
.fine-contact-drawer.is-open .fine-contact-drawer__panel{transform:none}
.fine-contact-drawer__head{display:flex;align-items:flex-start;justify-content:space-between;gap:24px}
.fine-contact-drawer__head h2{margin:0;font:500 clamp(2.3rem,4vw,3.8rem)/1 "Oswald",sans-serif;text-transform:uppercase;color:#fff}
.fine-contact-drawer__close{display:grid;flex:0 0 44px;width:44px;height:44px;padding:0;place-items:center;font-size:27px;line-height:1;color:#fff;cursor:pointer;background:transparent;border:1px solid rgba(255,255,255,.2)}
.fine-contact-drawer__lead{margin:28px 0 32px;font-size:15px!important;line-height:1.7!important;color:rgba(255,255,255,.58)!important}
.fine-contact-options{display:grid;gap:9px}
.fine-contact-options>a{display:grid;grid-template-columns:35px 1fr auto;align-items:center;gap:15px;padding:18px;color:#fff;background:#101010;border:1px solid rgba(255,255,255,.11);transition:.2s}
.fine-contact-options>a:hover,.fine-contact-options>a:focus-visible,.fine-contact-options>a.is-recommended{background:rgba(228,125,10,.09);border-color:rgba(228,125,10,.55)}
.fine-contact-options>a>span{font:500 10px "Oswald",sans-serif;color:#e47d0a}
.fine-contact-options strong{display:block;font:500 15px "Oswald",sans-serif;text-transform:uppercase;color:#fff}
.fine-contact-options small{display:block;margin-top:4px;font-size:11px;line-height:1.45;color:rgba(255,255,255,.45)}
.fine-contact-options>a>b{font-weight:400;color:#e47d0a}
.fine-contact-drawer__direct{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:28px}
.fine-contact-drawer__direct a{padding:16px;border-bottom:1px solid rgba(255,255,255,.14)}
.fine-contact-drawer__direct span{display:block;font:500 9px "Oswald",sans-serif;letter-spacing:.18em;color:#e47d0a}
.fine-contact-drawer__direct strong{display:block;margin-top:6px;font-size:13px;color:#fff}
.fine-contact-drawer__proof{display:flex;flex-wrap:wrap;gap:9px 18px;margin-top:34px;padding-top:24px;border-top:1px solid rgba(255,255,255,.1)}
.fine-contact-drawer__proof span{font-size:10px;letter-spacing:.08em;color:rgba(255,255,255,.45)}
.fine-contact-is-open{overflow:hidden}
body[data-page-key="tattoo-fine-line"] .progress-wrap{bottom:100px!important}

@media(max-width:767px){.fine-contact-dock{padding:0}.fine-contact-dock__inner{min-height:66px;padding:8px 12px 8px 16px;border-right:0;border-left:0}.fine-contact-dock__inner>div:first-child,.fine-contact-dock__actions{display:none}.fine-contact-dock__mobile{display:flex;align-items:center;justify-content:space-between;width:100%;min-height:50px;padding:0 18px;color:#080808;background:#e47d0a;border:0}.fine-contact-drawer__panel{width:100%;padding:28px 18px 90px;border-left:0}.fine-contact-drawer__direct{grid-template-columns:1fr}.fine-contact-options>a{padding:16px 14px}body:has([data-contact-dock]) .progress-wrap{bottom:82px!important}}
@media(prefers-reduced-motion:reduce){.fine-contact-dock,.fine-contact-drawer__backdrop,.fine-contact-drawer__panel{transition:none}}

/* Rich service hubs: Tattoo + Piercing */
.service-hub{--hub-accent:#e47d0a;background:#090909;color:#fff;overflow:hidden}
.service-hub--piercing{--hub-accent:#d98a2b}
.service-hub h1,.service-hub h2,.service-hub h3{margin-top:0;font-family:"Oswald",sans-serif;text-transform:uppercase;color:#fff}
.service-hub h2{max-width:800px;font-size:clamp(34px,4.35vw,64px);font-weight:500;line-height:1;letter-spacing:-.022em}
.service-hub-kicker{margin:0 0 24px!important;font:500 11px/1.2 "Oswald",sans-serif!important;letter-spacing:.23em;text-transform:uppercase;color:var(--hub-accent)!important}
.service-hub-hero{position:relative;display:flex;align-items:flex-end;min-height:min(940px,94vh);padding:190px 0 90px;background:#080808}
.service-hub-hero__media{position:absolute;inset:0;overflow:hidden}
.service-hub-hero__media img{width:100%;height:100%;object-fit:cover;object-position:center 38%;filter:saturate(.82) contrast(1.05);transform:scale(1.015);animation:hubHeroIn 1.2s cubic-bezier(.2,.75,.2,1) both}
.service-hub-hero__media:after{position:absolute;inset:0;content:"";background:linear-gradient(90deg,rgba(4,4,4,.94) 0%,rgba(4,4,4,.72) 43%,rgba(4,4,4,.2) 77%),linear-gradient(0deg,#090909 0%,transparent 45%)}
.service-hub-hero__media span{position:absolute;z-index:1;right:7vw;bottom:12%;width:170px;height:170px;border:1px solid rgba(228,125,10,.38);border-radius:50%;box-shadow:0 0 90px rgba(228,125,10,.14)}
.service-hub-hero__content{position:relative;z-index:2}
.service-hub-hero h1{max-width:900px;margin:0;font-size:clamp(50px,6vw,82px);font-weight:500;line-height:.94;letter-spacing:-.035em}
.service-hub-hero__lead{max-width:700px;margin:34px 0 0!important;font-size:clamp(17px,1.6vw,22px)!important;line-height:1.65!important;color:rgba(255,255,255,.72)!important}
.service-hub-actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:38px}
/* Beat theme a:hover{display:inline-block} which breaks flex centering on hover */
a.service-hub-btn,
a.service-hub-btn:hover,
a.service-hub-btn:focus-visible,
a.service-hub-btn:active{
  display:inline-flex !important;
  align-items:center;
  justify-content:center;
  transform:none !important;
}
.service-hub-btn{
  gap:10px;
  flex-wrap:nowrap;
  white-space:nowrap;
  min-height:58px;
  padding:0 28px;
  font:500 12px/1 "Oswald",sans-serif;
  letter-spacing:.1em;
  text-transform:uppercase;
  border:1px solid rgba(255,255,255,.25);
  transition:background .25s,color .25s,border-color .25s,box-shadow .25s;
}
.service-hub-btn span{
  display:inline-flex;
  align-items:center;
  line-height:1;
}
.service-hub-btn:hover,.service-hub-btn:focus-visible{outline:none}
.service-hub-btn--primary{color:#090909!important;background:var(--hub-accent,#e47d0a);border-color:var(--hub-accent,#e47d0a)}
.service-hub-btn--primary:hover,.service-hub-btn--primary:focus-visible{background:#fff;border-color:#fff}
.service-hub-btn--ghost{color:#fff!important;background:rgba(0,0,0,.22);backdrop-filter:blur(8px)}
.service-hub-btn--ghost:hover,.service-hub-btn--ghost:focus-visible{border-color:rgba(255,255,255,.55);box-shadow:0 0 0 1px rgba(255,255,255,.08)}
.service-hub-hero__note{margin:24px 0 0!important;font:400 10px "Oswald",sans-serif!important;letter-spacing:.15em;text-transform:uppercase;color:rgba(255,255,255,.5)!important}
@keyframes hubHeroIn{from{opacity:.4;transform:scale(1.08)}to{opacity:1;transform:scale(1.015)}}
.service-hub-trust{border-top:1px solid rgba(255,255,255,.11);border-bottom:1px solid rgba(255,255,255,.11);background:#0b0b0b}
.service-hub-trust .container{display:grid;grid-template-columns:repeat(4,1fr)}
.service-hub-trust .container>div{padding:25px 22px;border-right:1px solid rgba(255,255,255,.1)}
.service-hub-trust .container>div:last-child{border-right:0}
.service-hub-trust strong,.service-hub-trust span{display:block}.service-hub-trust strong{font:500 18px "Oswald",sans-serif;color:#fff}.service-hub-trust span{margin-top:5px;font-size:10px;letter-spacing:.11em;text-transform:uppercase;color:rgba(255,255,255,.43)}
.service-hub-section{padding:clamp(90px,10vw,150px) 0;border-bottom:1px solid rgba(255,255,255,.08)}
.service-hub-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(50px,8vw,130px);align-items:start}
.service-hub-copy{font-size:17px!important;line-height:1.85!important;color:rgba(255,255,255,.66)!important}.service-hub-copy--large{font-size:clamp(19px,2vw,27px)!important;line-height:1.6!important;color:rgba(255,255,255,.78)!important}
.service-hub-text-link{display:inline-block;margin-top:28px;padding-bottom:8px;font:500 11px "Oswald",sans-serif;letter-spacing:.14em;text-transform:uppercase;color:#fff!important;border-bottom:1px solid var(--hub-accent)}
.service-hub-heading{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(280px,.55fr);gap:60px;align-items:end;margin-bottom:60px}.service-hub-heading>p{max-width:48ch;margin:0 0 8px!important;font-size:15px;line-height:1.75;color:rgba(255,255,255,.56)}
.service-hub-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.service-hub-card{position:relative;display:grid;grid-template-columns:minmax(160px,.8fr) 1.2fr;min-height:310px;color:#fff!important;background:#0d0d0d;border:1px solid rgba(255,255,255,.11);overflow:hidden;transition:border-color .3s,background .3s,box-shadow .3s}
.service-hub-card:hover{border-color:rgba(228,125,10,.55);background:#111;box-shadow:0 16px 40px rgba(0,0,0,.35)}
.service-hub-card__media{position:relative;overflow:hidden}.service-hub-card__media img{width:100%;height:100%;object-fit:cover;filter:saturate(.78);transition:transform .6s,filter .4s}.service-hub-card:hover img{transform:scale(1.045);filter:saturate(1)}
.service-hub-card__media span{position:absolute;top:18px;left:18px;display:grid;width:37px;height:37px;place-items:center;font:500 10px "Oswald",sans-serif;color:#090909;background:var(--hub-accent)}
.service-hub-card>div:last-child{display:flex;flex-direction:column;padding:38px 34px}.service-hub-card h3{font-size:28px;font-weight:500;line-height:1.05}.service-hub-card p{font-size:14px;line-height:1.65;color:rgba(255,255,255,.55)}.service-hub-card b{margin-top:auto;font:500 10px "Oswald",sans-serif;letter-spacing:.12em;text-transform:uppercase;color:var(--hub-accent)}
.service-hub-process{background:linear-gradient(120deg,#0b0b0b,#100c08)}.service-hub-process__sticky{position:sticky;top:130px}.service-hub-process__sticky img{display:block;width:100%;height:430px;margin-top:45px;object-fit:cover;filter:saturate(.75)}
.service-hub-step-list article{display:grid;grid-template-columns:58px 1fr;gap:24px;padding:34px 0;border-top:1px solid rgba(255,255,255,.13)}.service-hub-step-list article:last-child{border-bottom:1px solid rgba(255,255,255,.13)}.service-hub-step-list>article>span{font:500 12px "Oswald",sans-serif;color:var(--hub-accent)}.service-hub-step-list h3{margin-bottom:12px;font-size:27px;font-weight:500}.service-hub-step-list p{margin:0!important;font-size:15px;line-height:1.75;color:rgba(255,255,255,.56)}
.service-hub-proof-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:rgba(255,255,255,.12)}.service-hub-proof-grid article{min-height:200px;padding:30px;background:#0c0c0c}.service-hub-proof-grid span{font:500 11px "Oswald",sans-serif;color:var(--hub-accent)}.service-hub-proof-grid p{margin:55px 0 0!important;font:500 19px/1.4 "Oswald",sans-serif!important;text-transform:uppercase;color:#fff!important}
.service-hub-split__media img{width:100%;height:660px;object-fit:cover}.service-hub-split ul{padding:0;margin:36px 0 0;list-style:none}.service-hub-split li{padding:14px 0;border-bottom:1px solid rgba(255,255,255,.11);font-size:13px;color:rgba(255,255,255,.73)}
.service-hub-price{background:radial-gradient(circle at 15% 20%,rgba(228,125,10,.12),transparent 27%),#0b0b0b}
.service-hub-faq-list details{border-top:1px solid rgba(255,255,255,.14)}.service-hub-faq-list details:last-child{border-bottom:1px solid rgba(255,255,255,.14)}.service-hub-faq-list summary{display:flex;justify-content:space-between;gap:20px;padding:25px 0;font:500 18px "Oswald",sans-serif;text-transform:uppercase;color:#fff;cursor:pointer;list-style:none}.service-hub-faq-list summary::-webkit-details-marker{display:none}.service-hub-faq-list summary span{color:var(--hub-accent);transition:transform .2s}.service-hub-faq-list details[open] summary span{transform:rotate(45deg)}.service-hub-faq-list details p{max-width:68ch;padding:0 45px 26px 0;margin:0!important;font-size:14px;line-height:1.75;color:rgba(255,255,255,.58)}
.service-hub-cta{position:relative;padding:clamp(100px,14vw,190px) 0;text-align:center;background:radial-gradient(circle at 50% 35%,rgba(228,125,10,.16),transparent 32%),#080808}.service-hub-cta h2{max-width:930px;margin:0 auto;font-size:clamp(48px,7vw,105px)}.service-hub-cta>div>p:not(.service-hub-kicker){max-width:720px;margin:32px auto!important;font-size:18px;line-height:1.75;color:rgba(255,255,255,.64)}.service-hub-cta .service-hub-btn{margin-top:10px}.service-hub-cta small{display:block;margin-top:34px;font:400 10px "Oswald",sans-serif;letter-spacing:.16em;text-transform:uppercase;color:rgba(255,255,255,.43)}
@media(max-width:991px){.service-hub-hero{min-height:820px}.service-hub-grid,.service-hub-heading{grid-template-columns:1fr}.service-hub-card{grid-template-columns:1fr}.service-hub-card__media{height:300px}.service-hub-process__sticky{position:relative;top:auto}.service-hub-proof-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:767px){.service-hub-hero{min-height:760px;padding:150px 0 70px}.service-hub-hero__media:after{background:linear-gradient(0deg,#090909 3%,rgba(4,4,4,.78) 58%,rgba(4,4,4,.32))}.service-hub-hero h1{font-size:clamp(48px,15vw,74px)}.service-hub-hero__media span{display:none}.service-hub-actions{align-items:stretch;flex-direction:column}.service-hub-btn{width:100%}.service-hub-trust .container{grid-template-columns:repeat(2,1fr)}.service-hub-trust .container>div:nth-child(2){border-right:0}.service-hub-trust .container>div:nth-child(-n+2){border-bottom:1px solid rgba(255,255,255,.1)}.service-hub-card-grid{grid-template-columns:1fr}.service-hub-card__media{height:260px}.service-hub-proof-grid{grid-template-columns:1fr}.service-hub-proof-grid article{min-height:150px}.service-hub-proof-grid p{margin-top:35px!important}.service-hub-split__media img{height:480px}}
@media(prefers-reduced-motion:reduce){.service-hub-hero__media img{animation:none}.service-hub-card,.service-hub-card img{transition:none}}

/* Tattoo hub follows the approved fine-line editorial rhythm. */
.tattoo-hub-nav{position:sticky;top:0;z-index:30}
.tattoo-hub-language,.tattoo-hub-original{background:#0e0e0e;border-bottom:1px solid rgba(255,255,255,.1)}
.tattoo-hub-language .navel-section-head{max-width:980px;margin-bottom:60px}
.tattoo-hub-style-grid article{min-height:320px}
.tattoo-hub-style-link{display:block;color:inherit;text-decoration:none;height:100%}
.tattoo-hub-style-link:hover h3{color:var(--pp-accent,#c9a962)}
.tattoo-hub-original .navel-title{font-size:clamp(36px,4.35vw,64px)}
.service-hub .fine-experience,.service-hub .fine-brief-builder{border-bottom:1px solid rgba(255,255,255,.1)}
@media(max-width:767px){.service-hub-hero h1{font-size:clamp(44px,12vw,60px);line-height:.98}.service-hub h2{font-size:clamp(32px,10vw,48px)}.tattoo-hub-style-grid article{min-height:auto}.tattoo-hub-nav,.piercing-hub-nav{top:0}}

/* Piercing hub depth — same editorial rhythm as tattoo hub. */
.piercing-hub-nav{position:sticky;top:0;z-index:30}
.piercing-hub-placements,.piercing-hub-anatomy,.piercing-hub-jewelry{background:#0e0e0e;border-bottom:1px solid rgba(255,255,255,.1)}
.piercing-hub-placements .navel-section-head{max-width:980px;margin-bottom:60px}
.piercing-hub-placement-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.piercing-hub-placement-card{display:grid;grid-template-columns:minmax(0,1fr);overflow:hidden;border:1px solid rgba(255,255,255,.12);background:#111;text-decoration:none;color:inherit;transition:border-color .25s ease,transform .25s ease}
.piercing-hub-placement-card:hover{border-color:rgba(217,138,43,.55);box-shadow:0 12px 28px rgba(0,0,0,.28)}
.piercing-hub-placement-card img{width:100%;aspect-ratio:3/2;object-fit:cover;display:block}
.piercing-hub-placement-card div{padding:28px 28px 32px}
.piercing-hub-placement-card span{display:block;margin-bottom:14px;font-size:11px;letter-spacing:.18em;color:rgba(255,255,255,.52)}
.piercing-hub-placement-card h3{margin:0 0 12px;font-size:clamp(24px,2.2vw,34px);line-height:1.05;color:#fff}
.piercing-hub-placement-card p{margin:0 0 18px;color:rgba(255,255,255,.72);line-height:1.65}
.piercing-hub-placement-card b{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--hub-accent,#d98a2b)}
.piercing-hub-jewelry .navel-split{align-items:center;gap:48px}
.piercing-hub-jewelry__media img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:2px}
.piercing-hub-anatomy .navel-title{font-size:clamp(36px,4.35vw,64px)}
.service-hub--piercing .pp-location{border-top:1px solid rgba(255,255,255,.1)}
.service-hub--piercing .fine-brief-builder__result small a{color:var(--hub-accent,#d98a2b);text-decoration:underline;text-underline-offset:3px}
@media(max-width:991px){.piercing-hub-placement-grid{grid-template-columns:1fr}.piercing-hub-jewelry .navel-split{grid-template-columns:1fr}}
@media(max-width:767px){.piercing-hub-placement-card div{padding:22px 20px 26px}}

/* About page — hub/landing visual language */
.visually-hidden{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.about-page{--hub-accent:#e47d0a;background:#0b0b0b;color:#fff}
.blog-page{--hub-accent:#e47d0a;background:#0b0b0b;color:#fff}
.blog-page .blog2{border-top:1px solid rgba(255,255,255,.1)}
.blog-page .blog2 .h5{font-size:inherit;margin:0 0 12px}
.blog-page .blog2 .h5 a{color:#fff}
.blog-page .widget-title .h6{margin:0;font-size:inherit}
.about-story{background:#0e0e0e;border-bottom:1px solid rgba(255,255,255,.1)}
.about-story__grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:clamp(32px,5vw,72px);align-items:center}
.about-story__accent{display:block;color:var(--hub-accent,#d98a2b)}
.about-story__body{margin:20px 0 0;color:rgba(255,255,255,.72);line-height:1.7;font-size:clamp(16px,1.15vw,18px)}
.about-story__media{margin:0;position:relative}
.about-story__media img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block;border-radius:2px}
.about-story__media figcaption{position:absolute;left:16px;bottom:16px;padding:8px 12px;background:rgba(0,0,0,.65);font-size:11px;letter-spacing:.14em;text-transform:uppercase}
.about-pillars{background:#0b0b0b;border-bottom:1px solid rgba(255,255,255,.1)}
.about-pillars__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.about-values{background:#0e0e0e;border-bottom:1px solid rgba(255,255,255,.1)}
.about-values__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-top:48px}
.about-values__card{padding:28px 24px 32px;border:1px solid rgba(255,255,255,.12);background:#111;min-height:100%}
.about-values__card span{display:block;margin-bottom:16px;font-size:12px;letter-spacing:.18em;color:var(--hub-accent,#d98a2b)}
.about-values__card h3{margin:0 0 12px;font-size:clamp(22px,2vw,28px);line-height:1.15;color:#fff}
.about-values__card p{margin:0;color:rgba(255,255,255,.72);line-height:1.65}
.about-team{background:#0b0b0b;border-bottom:1px solid rgba(255,255,255,.1)}
.about-team-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin-top:48px;max-width:880px}
.about-team-card{display:flex;flex-direction:column;border:1px solid rgba(255,255,255,.12);background:#111;overflow:hidden;min-height:100%}
.about-team-card__media{margin:0}
.about-team-card__media img{width:100%;aspect-ratio:3/4;object-fit:cover;display:block}
.about-team-card__placeholder{display:flex;align-items:center;justify-content:center;aspect-ratio:3/4;background:linear-gradient(160deg,#1a1a1a,#101010);border-bottom:1px solid rgba(255,255,255,.08)}
.about-team-card__placeholder span{font-family:Oswald,sans-serif;font-size:clamp(64px,8vw,96px);line-height:1;color:rgba(217,138,43,.55);letter-spacing:.04em}
.about-team-card__body{padding:24px 22px 28px;flex:1}
.about-team-card__body h3{margin:0 0 6px;font-size:clamp(24px,2vw,30px);color:#fff}
.about-team-card__role{margin:0 0 14px;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--hub-accent,#d98a2b)}
.about-team-card__body p:last-child{margin:0;color:rgba(255,255,255,.72);line-height:1.65}
.about-visit{background:#0e0e0e;border-bottom:1px solid rgba(255,255,255,.1)}
.about-visit__grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(28px,4vw,56px);align-items:start}
.about-visit__list{margin:28px 0 0;padding:0}
.about-visit__list li{display:flex;gap:14px;align-items:flex-start;margin-bottom:16px;color:rgba(255,255,255,.82);line-height:1.5}
.about-visit__list .ti-location-pin,.about-visit__list .ti-time,.about-visit__list .ti-mobile{margin-top:3px;color:var(--hub-accent,#d98a2b)}
.about-visit__list a{color:inherit;text-decoration:underline;text-underline-offset:3px}
.about-visit__actions{margin-top:28px;flex-wrap:wrap}
.about-visit__map{border:1px solid rgba(255,255,255,.12);overflow:hidden;border-radius:2px;min-height:280px}
.about-visit__map iframe{display:block;min-height:320px}
.about-final{border-top:1px solid rgba(255,255,255,.1)}
.about-final__actions{justify-content:center;margin-top:8px}
@media(max-width:991px){
  .about-story__grid,.about-visit__grid{grid-template-columns:1fr}
  .about-pillars__grid,.about-values__grid,.about-team-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:767px){
  .about-pillars__grid,.about-values__grid,.about-team-grid{grid-template-columns:1fr}
  .about-values__card,.about-team-card__body{padding:22px 20px 26px}
  .about-visit__actions .service-hub-btn{width:100%;justify-content:center;min-height:48px}
}

/* Gallery page */
.gallery-page{background:#0b0b0b;color:#fff}
.gallery-hero{border-bottom:1px solid rgba(255,255,255,.1)}
.gallery-filters{display:flex;flex-wrap:wrap;gap:10px;margin-top:32px}
.gallery-filter{min-height:44px;padding:10px 16px;border:1px solid rgba(255,255,255,.18);background:transparent;color:rgba(255,255,255,.78);font-size:12px;letter-spacing:.12em;text-transform:uppercase;cursor:pointer;transition:border-color .2s ease,color .2s ease,background .2s ease}
.gallery-filter.is-active,.gallery-filter:hover,.gallery-filter:focus-visible{border-color:rgba(217,138,43,.7);color:#fff;background:rgba(217,138,43,.12);outline:none}
.gallery-grid-section{background:#0e0e0e}
.gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.gallery-grid__item{display:block;overflow:hidden;border:1px solid rgba(255,255,255,.1);background:#111;aspect-ratio:4/3}
.gallery-grid__item.is-hidden{display:none}
.gallery-grid__item img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .35s ease}
.gallery-grid__item:hover img{transform:scale(1.04)}
.gallery-cta{margin-top:48px;text-align:center}
.gallery-cta p{margin:16px 0 0;color:rgba(255,255,255,.55);font-size:13px;letter-spacing:.08em}
@media(max-width:991px){.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:575px){.gallery-grid{grid-template-columns:1fr}}

/* Contact page — hub hero + conversion sections */
.contact-page{--hub-accent:#e47d0a;background:#0b0b0b;color:#fff}
.contact-channels{background:#0b0b0b;border-bottom:1px solid rgba(255,255,255,.1)}
.contact-channels__grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;margin-top:8px}
a.contact-channel,
a.contact-channel:hover,
a.contact-channel:focus-visible,
a.contact-channel:active{
  display:flex !important;
  flex-direction:column;
  align-items:flex-start;
  min-height:100%;
  padding:28px 24px 26px;
  border:1px solid rgba(255,255,255,.12);
  background:#111;
  color:inherit;
  text-decoration:none;
  transform:none !important;
  transition:border-color .25s ease,box-shadow .25s ease;
}
.contact-channel--primary{border-color:rgba(228,125,10,.45);background:linear-gradient(160deg,rgba(228,125,10,.1),#111 55%)}
.contact-channel:hover,
.contact-channel:focus-visible{
  border-color:rgba(228,125,10,.55);
  box-shadow:0 12px 36px rgba(0,0,0,.35);
  outline:none;
}
.contact-channel__index{
  display:block;
  margin-bottom:18px;
  font:500 11px/1 "Oswald",sans-serif;
  letter-spacing:.18em;
  color:var(--hub-accent,#d98a2b);
}
.contact-channel h3{
  margin:0 0 12px;
  font-size:clamp(22px,2vw,28px);
  line-height:1.15;
  color:#fff;
}
.contact-channel p{
  margin:0 0 22px;
  flex:1;
  color:rgba(255,255,255,.7);
  line-height:1.65;
  font-size:15px;
}
.contact-channel__cta{
  display:inline-flex;
  align-items:center;
  gap:8px;
  font:500 11px/1 "Oswald",sans-serif;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:#fff;
}
.contact-channel__cta b{color:var(--hub-accent,#d98a2b);font-weight:500}
.contact-tips{background:#0e0e0e;border-bottom:1px solid rgba(255,255,255,.1)}
.contact-tips__list{
  list-style:none;
  margin:0;
  padding:0;
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:20px 28px;
}
.contact-tips__list li{
  display:flex;
  gap:16px;
  align-items:flex-start;
  padding:22px 20px;
  border:1px solid rgba(255,255,255,.1);
  background:#101010;
}
.contact-tips__list li>span{
  flex-shrink:0;
  font:500 12px/1 "Oswald",sans-serif;
  letter-spacing:.16em;
  color:var(--hub-accent,#d98a2b);
}
.contact-tips__list h3{
  margin:0 0 8px;
  font-size:clamp(18px,1.6vw,22px);
  color:#fff;
}
.contact-tips__list p{
  margin:0;
  color:rgba(255,255,255,.68);
  line-height:1.65;
  font-size:15px;
}
.contact-tips__actions{margin-top:36px}
.contact-visit{background:#0b0b0b;border-bottom:1px solid rgba(255,255,255,.1)}
.contact-visit__grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(28px,4vw,56px);align-items:start}
.contact-visit__list{margin:28px 0 0;padding:0}
.contact-visit__list li{display:flex;gap:14px;align-items:flex-start;margin-bottom:20px}
.contact-visit__list .ti-location-pin,
.contact-visit__list .ti-mobile,
.contact-visit__list .ti-email,
.contact-visit__list .ti-time{margin-top:4px;color:var(--hub-accent,#d98a2b)}
.contact-visit__list strong{display:block;margin-bottom:4px;font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.55)}
.contact-visit__list p{margin:0;color:rgba(255,255,255,.85);line-height:1.5}
.contact-visit__list a{color:inherit;text-decoration:underline;text-underline-offset:3px}
.contact-visit__actions{margin-top:28px;flex-wrap:wrap}
.contact-visit__map{border:1px solid rgba(255,255,255,.12);overflow:hidden;border-radius:2px;min-height:280px}
.contact-visit__map iframe{display:block;min-height:360px;width:100%}
.contact-paths{background:#0e0e0e;border-bottom:1px solid rgba(255,255,255,.1)}
.contact-paths__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
a.contact-path,
a.contact-path:hover,
a.contact-path:focus-visible,
a.contact-path:active{
  display:flex !important;
  flex-direction:column;
  align-items:flex-start;
  min-height:100%;
  padding:32px 28px;
  border:1px solid rgba(255,255,255,.12);
  background:#111;
  color:inherit;
  text-decoration:none;
  transform:none !important;
  transition:border-color .25s ease,box-shadow .25s ease;
}
.contact-path:hover,
.contact-path:focus-visible{
  border-color:rgba(228,125,10,.55);
  box-shadow:0 12px 36px rgba(0,0,0,.35);
  outline:none;
}
.contact-path h3{margin:0 0 12px;font-size:clamp(26px,2.4vw,34px);line-height:1.1;color:#fff}
.contact-path p{margin:0 0 24px;flex:1;color:rgba(255,255,255,.68);line-height:1.65;font-size:15px}
.contact-path>span{
  display:inline-flex;
  align-items:center;
  gap:8px;
  font:500 11px/1 "Oswald",sans-serif;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:#fff;
}
.contact-path>span b{color:var(--hub-accent,#d98a2b);font-weight:500}
@media(max-width:991px){
  .contact-channels__grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .contact-visit__grid,.contact-paths__grid{grid-template-columns:1fr}
}
@media(max-width:767px){
  .contact-channels__grid,.contact-tips__list{grid-template-columns:1fr}
  .contact-channel,.contact-tips__list li,.contact-path{padding:22px 20px}
  .contact-visit__actions .service-hub-btn,
  .contact-tips__actions .service-hub-btn,
  .gallery-cta .btn-curve{width:100%;min-height:48px;justify-content:center}
}

/* Footer agency credit — Offensive Creative */
.footer-bottom-inner {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 18px;
}

.footer-credit-badge {
  --fc-pink: #e42386;
  --fc-yellow: #fdc32e;
  --fc-blue: #53a4db;
  display: inline-flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 10px;
  max-width: 100%;
  padding: 14px 16px 12px;
  text-decoration: none;
  color: rgba(255, 255, 255, 0.72);
  background:
    linear-gradient(135deg, rgba(228, 35, 134, 0.08) 0%, rgba(83, 164, 219, 0.05) 52%, rgba(253, 195, 46, 0.06) 100%),
    rgba(255, 255, 255, 0.035);
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 14px;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.06),
    0 10px 28px rgba(0, 0, 0, 0.22);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  transition:
    transform 0.35s cubic-bezier(0.2, 0.75, 0.2, 1),
    border-color 0.35s ease,
    box-shadow 0.35s ease,
    background 0.35s ease;
}

.footer-credit-badge:hover,
.footer-credit-badge:focus-visible {
  transform: translateY(-3px);
  color: rgba(255, 255, 255, 0.88);
  border-color: rgba(228, 35, 134, 0.42);
  background:
    linear-gradient(135deg, rgba(228, 35, 134, 0.14) 0%, rgba(83, 164, 219, 0.08) 52%, rgba(253, 195, 46, 0.1) 100%),
    rgba(255, 255, 255, 0.05);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.08),
    0 16px 36px rgba(0, 0, 0, 0.28),
    0 0 0 1px rgba(228, 35, 134, 0.12),
    0 0 28px rgba(228, 35, 134, 0.18),
    0 0 42px rgba(83, 164, 219, 0.12);
  outline: none;
}

.footer-credit-meta {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

.footer-credit-label {
  font-family: "Oswald", sans-serif;
  font-size: 10px;
  font-weight: 500;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.52);
  transition: color 0.35s ease;
}

.footer-credit-badge:hover .footer-credit-label,
.footer-credit-badge:focus-visible .footer-credit-label {
  color: rgba(255, 255, 255, 0.78);
}

.footer-credit-dot {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--fc-pink);
  box-shadow:
    0 0 0 0 rgba(228, 35, 134, 0.55),
    0 0 10px rgba(228, 35, 134, 0.45);
  animation: footerCreditPulse 2.4s ease-in-out infinite;
}

.footer-credit-brand {
  display: block;
  line-height: 0;
}

.footer-credit-logo-wrap {
  display: block;
  overflow: hidden;
}

.footer-credit-logo {
  display: block;
  width: min(200px, 72vw);
  height: auto;
  max-height: 56px;
  object-fit: contain;
  object-position: left center;
  filter: drop-shadow(0 2px 10px rgba(0, 0, 0, 0.28));
  transition: filter 0.35s ease, transform 0.35s ease;
}

.footer-credit-badge:hover .footer-credit-logo,
.footer-credit-badge:focus-visible .footer-credit-logo {
  filter:
    drop-shadow(0 0 10px rgba(228, 35, 134, 0.28))
    drop-shadow(0 0 18px rgba(253, 195, 46, 0.18))
    drop-shadow(0 4px 14px rgba(0, 0, 0, 0.32));
  transform: translateY(-1px);
}

@keyframes footerCreditPulse {
  0%,
  100% {
    transform: scale(1);
    box-shadow:
      0 0 0 0 rgba(228, 35, 134, 0.55),
      0 0 10px rgba(228, 35, 134, 0.45);
  }

  50% {
    transform: scale(1.08);
    box-shadow:
      0 0 0 6px rgba(228, 35, 134, 0),
      0 0 14px rgba(253, 195, 46, 0.35);
  }
}

@media (max-width: 767px) {
  .footer-bottom-inner {
    gap: 16px;
  }

  .footer-credit-badge {
    width: 100%;
    max-width: 320px;
    padding: 12px 14px 10px;
  }

  .footer-credit-logo {
    width: min(180px, 100%);
  }
}

@media (prefers-reduced-motion: reduce) {
  .footer-credit-badge,
  .footer-credit-logo {
    transition: none;
  }

  .footer-credit-dot {
    animation: none;
  }

  .footer-credit-badge:hover,
  .footer-credit-badge:focus-visible {
    transform: none;
  }
}

/* Legal pages */
.legal-page {
  padding: 140px 0 96px;
  color: rgba(255, 255, 255, 0.86);
}

.legal-page__header {
  max-width: 720px;
  margin: 0 0 40px;
}

.legal-page__eyebrow {
  margin: 0 0 12px;
  font-family: "Oswald", sans-serif;
  font-size: 0.8125rem;
  font-weight: 500;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.55);
}

.legal-page__title {
  margin: 0 0 16px;
  font-family: "Oswald", sans-serif;
  font-weight: 500;
  font-size: clamp(2.25rem, 5vw, 3.75rem);
  line-height: 1.05;
  text-transform: uppercase;
  color: #fff;
}

.legal-page__intro {
  margin: 0;
  max-width: 54ch;
  font-size: clamp(1.0625rem, 1.5vw, 1.1875rem);
  line-height: 1.55;
  color: rgba(255, 255, 255, 0.72);
}

.legal-page__body {
  max-width: 760px;
}

.legal-page__body > *:first-child {
  margin-top: 0;
}

.legal-page__body h2 {
  margin: 2.25rem 0 0.85rem;
  font-family: "Oswald", sans-serif;
  font-size: clamp(1.25rem, 2vw, 1.5rem);
  font-weight: 500;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: #fff;
}

.legal-page__body h3 {
  margin: 1.75rem 0 0.65rem;
  font-family: "Oswald", sans-serif;
  font-size: 1.0625rem;
  font-weight: 500;
  color: #fff;
}

.legal-page__body p,
.legal-page__body li {
  font-size: 1rem;
  line-height: 1.7;
  color: rgba(255, 255, 255, 0.78);
}

.legal-page__body p {
  margin: 0 0 1rem;
}

.legal-page__body ul,
.legal-page__body ol {
  margin: 0 0 1.15rem;
  padding-left: 1.25rem;
}

.legal-page__body li + li {
  margin-top: 0.35rem;
}

.legal-page__body a {
  color: #fff;
  text-decoration: underline;
  text-underline-offset: 0.18em;
}

.legal-page__body a:hover,
.legal-page__body a:focus-visible {
  color: rgba(255, 255, 255, 0.82);
}

.legal-page__body table {
  width: 100%;
  margin: 1.25rem 0 1.5rem;
  border-collapse: collapse;
  font-size: 0.9375rem;
}

.legal-page__body th,
.legal-page__body td {
  padding: 0.75rem 0.85rem;
  border: 1px solid rgba(255, 255, 255, 0.12);
  vertical-align: top;
  text-align: left;
}

.legal-page__body th {
  background: rgba(255, 255, 255, 0.06);
  color: #fff;
  font-weight: 600;
}

.legal-page__body td {
  color: rgba(255, 255, 255, 0.78);
}

.legal-page__nav {
  margin-top: 48px;
  padding-top: 28px;
  border-top: 1px solid rgba(255, 255, 255, 0.1);
}

.legal-page__nav ul {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 18px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.legal-page__nav a {
  color: rgba(255, 255, 255, 0.7);
  text-decoration: none;
  font-size: 0.9375rem;
}

.legal-page__nav a:hover,
.legal-page__nav a:focus-visible {
  color: #fff;
  text-decoration: underline;
  text-underline-offset: 0.18em;
}

.footer-bottom-legal {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 12px;
  width: 100%;
}

.footer-legal-nav ul {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 14px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.footer-legal-nav a,
.footer-legal-nav__btn {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  padding: 0;
  border: 0;
  background: none;
  color: rgba(255, 255, 255, 0.7);
  font: inherit;
  font-size: 0.875rem;
  line-height: 1.3;
  text-decoration: none;
  cursor: pointer;
}

.footer-legal-nav a:hover,
.footer-legal-nav a:focus-visible,
.footer-legal-nav__btn:hover,
.footer-legal-nav__btn:focus-visible {
  color: #fff;
}

/* Cookie consent */
.cookie-consent {
  position: fixed;
  inset: auto 0 0 0;
  z-index: 12000;
  padding: 16px;
  pointer-events: none;
}

.cookie-consent__banner,
.cookie-consent__panel-inner {
  pointer-events: auto;
  width: min(100%, 1120px);
  margin: 0 auto;
  background:
    linear-gradient(180deg, rgba(28, 28, 28, 0.96) 0%, rgba(16, 16, 16, 0.98) 100%);
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 16px;
  box-shadow: 0 18px 48px rgba(0, 0, 0, 0.45);
  color: rgba(255, 255, 255, 0.86);
}

.cookie-consent__banner {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  gap: 18px 24px;
  padding: 20px 22px;
}

.cookie-consent__copy {
  flex: 1 1 280px;
  min-width: 0;
}

.cookie-consent__title {
  margin: 0 0 8px;
  font-family: "Oswald", sans-serif;
  font-size: 1.125rem;
  font-weight: 500;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: #fff;
}

.cookie-consent__body {
  margin: 0;
  font-size: 0.9375rem;
  line-height: 1.55;
  color: rgba(255, 255, 255, 0.72);
}

.cookie-consent__body a {
  color: #fff;
  text-decoration: underline;
  text-underline-offset: 0.16em;
}

.cookie-consent__actions,
.cookie-consent__panel-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.cookie-consent__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 46px;
  padding: 0 16px;
  border-radius: 999px;
  border: 1px solid transparent;
  font: inherit;
  font-size: 0.875rem;
  font-weight: 600;
  line-height: 1.2;
  cursor: pointer;
  transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}

.cookie-consent__btn--primary {
  background: #fff;
  color: #111;
}

.cookie-consent__btn--primary:hover,
.cookie-consent__btn--primary:focus-visible {
  background: rgba(255, 255, 255, 0.9);
}

.cookie-consent__btn--ghost {
  background: transparent;
  border-color: rgba(255, 255, 255, 0.22);
  color: #fff;
}

.cookie-consent__btn--ghost:hover,
.cookie-consent__btn--ghost:focus-visible {
  border-color: rgba(255, 255, 255, 0.45);
  background: rgba(255, 255, 255, 0.05);
}

.cookie-consent__panel {
  position: fixed;
  inset: 0;
  z-index: 12001;
  display: grid;
  place-items: end center;
  padding: 16px;
  background: rgba(0, 0, 0, 0.55);
  pointer-events: auto;
}

.cookie-consent__panel[hidden] {
  display: none;
}

.cookie-consent__panel-inner {
  width: min(100%, 640px);
  max-height: min(86vh, 720px);
  overflow: auto;
  padding: 22px;
  margin-bottom: 0;
}

.cookie-consent__panel-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 18px;
}

.cookie-consent__panel-title {
  margin: 0;
  font-family: "Oswald", sans-serif;
  font-size: 1.375rem;
  font-weight: 500;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: #fff;
}

.cookie-consent__close {
  width: 44px;
  height: 44px;
  border: 0;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.06);
  color: #fff;
  font-size: 1.5rem;
  line-height: 1;
  cursor: pointer;
}

.cookie-consent__close:hover,
.cookie-consent__close:focus-visible {
  background: rgba(255, 255, 255, 0.12);
}

.cookie-consent__pref {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  padding: 14px 0;
  border-top: 1px solid rgba(255, 255, 255, 0.1);
}

.cookie-consent__pref:last-child {
  border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}

.cookie-consent__pref-title {
  margin: 0 0 6px;
  font-weight: 600;
  color: #fff;
}

.cookie-consent__pref-desc {
  margin: 0;
  font-size: 0.875rem;
  line-height: 1.5;
  color: rgba(255, 255, 255, 0.68);
}

.cookie-consent__switch {
  position: relative;
  flex: 0 0 auto;
  width: 48px;
  height: 28px;
  margin-top: 2px;
}

.cookie-consent__switch input {
  position: absolute;
  opacity: 0;
  inset: 0;
  margin: 0;
  cursor: pointer;
}

.cookie-consent__switch input:disabled {
  cursor: not-allowed;
}

.cookie-consent__switch-ui {
  display: block;
  width: 48px;
  height: 28px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.18);
  transition: background-color 0.2s ease;
}

.cookie-consent__switch-ui::after {
  content: "";
  position: absolute;
  top: 3px;
  left: 3px;
  width: 22px;
  height: 22px;
  border-radius: 50%;
  background: #fff;
  transition: transform 0.2s ease;
}

.cookie-consent__switch input:checked + .cookie-consent__switch-ui {
  background: #2f9e6b;
}

.cookie-consent__switch input:checked + .cookie-consent__switch-ui::after {
  transform: translateX(20px);
}

.cookie-consent__switch input:focus-visible + .cookie-consent__switch-ui {
  outline: 2px solid #fff;
  outline-offset: 2px;
}

.cookie-consent__note {
  margin: 14px 0 18px;
  font-size: 0.8125rem;
  line-height: 1.5;
  color: rgba(255, 255, 255, 0.55);
}

@media (max-width: 767.98px) {
  .legal-page {
    padding: 120px 0 72px;
  }

  .legal-page__body {
    overflow-x: auto;
  }

  .legal-page__body table {
    min-width: 560px;
  }

  .cookie-consent {
    padding: 12px;
  }

  .cookie-consent__banner {
    padding: 16px;
  }

  .cookie-consent__actions {
    width: 100%;
  }

  .cookie-consent__actions .cookie-consent__btn {
    flex: 1 1 calc(50% - 10px);
  }

  .cookie-consent__actions .cookie-consent__btn--primary {
    flex: 1 1 100%;
  }

  .cookie-consent__panel {
    place-items: end stretch;
  }
}

@media (min-width: 992px) {
  .footer-bottom-inner {
    flex-direction: row;
    align-items: flex-end;
    justify-content: space-between;
  }

  .footer-bottom-legal {
    max-width: 70%;
  }
}

@media (prefers-reduced-motion: reduce) {
  .cookie-consent__btn,
  .cookie-consent__switch-ui,
  .cookie-consent__switch-ui::after {
    transition: none;
  }
}
