.site-header {
  align-items: center;
  display: flex;
  gap: 18px;
  height: 72px;
  justify-content: space-between;
  left: 0;
  padding: 0 clamp(18px, 4vw, 54px);
  position: fixed;
  right: 0;
  top: 0;
  transition: background .25s ease, border-color .25s ease, backdrop-filter .25s ease;
  z-index: 50;
}
.site-header.scrolled, .site-header.open {
  backdrop-filter: blur(18px);
  background: rgba(9,9,11,0.78);
  border-bottom: 1px solid var(--border);
}
.brand { font-weight: 800; letter-spacing: .22em; }
.nav { align-items: center; display: flex; gap: 24px; font-size: .88rem; }
.nav form { display: inline; }
.menu-button { display: none; background: transparent; border: 1px solid var(--border); border-radius: 999px; color: var(--text); padding: 9px 14px; }

.hero {
  min-height: 92svh;
  overflow: hidden;
  padding: 128px clamp(20px, 7vw, 96px) 84px;
  position: relative;
}
.hero > img {
  height: 100%;
  inset: 0;
  object-fit: cover;
  opacity: .74;
  position: absolute;
  width: 100%;
}
.hero::after, .profile-hero::after {
  background: linear-gradient(90deg, rgba(9,9,11,.94), rgba(9,9,11,.48), rgba(9,9,11,.9)), linear-gradient(0deg, var(--bg), transparent 34%);
  content: "";
  inset: 0;
  position: absolute;
}
.hero-content {
  max-width: 720px;
  min-height: 56vh;
  position: relative;
  z-index: 1;
  display: grid;
  align-content: center;
}
h1, h2 {
  font-family: "Cormorant Garamond", Georgia, serif;
  font-weight: 600;
  letter-spacing: 0;
  line-height: .96;
  margin: 0;
}
.hero h1 { font-size: clamp(4.2rem, 12vw, 9.5rem); max-width: 780px; }
.hero p:not(.eyebrow), .split-band p, .story p { color: var(--muted); font-size: clamp(1rem, 2vw, 1.18rem); max-width: 620px; }
.hero-search {
  align-items: end;
  background: rgba(17,17,19,.78);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  box-shadow: var(--shadow);
  display: grid;
  gap: 14px;
  grid-template-columns: 1fr auto;
  margin: 34px 0 14px;
  max-width: 630px;
  padding: 12px;
}
.section { padding: var(--space-8) clamp(18px, 5vw, 72px); }
.section-head {
  align-items: end;
  display: flex;
  justify-content: space-between;
  margin-bottom: 26px;
}
.section h2, .page-hero h1, .dash-main h1 { font-size: clamp(2.4rem, 6vw, 4.8rem); }
.profile-grid {
  display: grid;
  gap: clamp(12px, 2vw, 24px);
  grid-template-columns: repeat(4, minmax(0, 1fr));
}
.profile-card {
  aspect-ratio: 4 / 5.4;
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: 22px;
  box-shadow: var(--shadow-soft);
  overflow: hidden;
  position: relative;
}
.profile-card img {
  filter: saturate(.92) contrast(1.05);
  height: 100%;
  object-fit: cover;
  transition: transform .5s ease;
  width: 100%;
}
.profile-card:hover img { transform: scale(1.035); }
.profile-glow {
  background: linear-gradient(0deg, rgba(0,0,0,.92), rgba(0,0,0,.36) 48%, transparent);
  inset: 0;
  position: absolute;
}
.profile-info {
  bottom: 0;
  display: grid;
  gap: 2px;
  left: 0;
  padding: 22px;
  position: absolute;
  right: 0;
}
.profile-info strong { font-family: "Cormorant Garamond"; font-size: 2rem; line-height: 1; text-transform: uppercase; }
.profile-info small, .profile-info em { color: var(--muted); font-style: normal; }
.profile-info b { color: var(--salmon-2); font-size: .78rem; margin-top: 6px; }

.featured-profile-list {
  display: grid;
  gap: 16px;
  grid-template-columns: 1fr;
  margin-inline: auto;
  max-width: 1180px;
}

/* Planos */
.plans-hero { min-height: 46vh; display: grid; place-items: end start; padding: 150px 6vw 70px; background: radial-gradient(circle at 75% 20%, rgba(213,166,104,.12), transparent 30%), #09090a; }
.plans-hero > div { max-width: 820px; }
.plans-hero h1 { max-width: 760px; margin: 10px 0 18px; font: 600 clamp(3rem, 7vw, 6.2rem)/.9 "Cormorant Garamond", serif; }
.plans-hero > div > p:last-child { max-width: 620px; color: #aaa6a2; font-size: 17px; line-height: 1.7; }
.plans-section { padding: 72px 6vw 110px; background: #0d0d0f; }
.plans-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 280px), 1fr)); gap: 22px; max-width: 1180px; margin: 0 auto; align-items: stretch; }
.plan-card { position: relative; display: flex; flex-direction: column; min-height: 510px; padding: 30px; overflow: hidden; border: 1px solid #29282a; border-radius: 22px; background: linear-gradient(145deg, #171719, #101012); box-shadow: 0 22px 70px rgba(0,0,0,.24); }
.plan-card.is-featured { border-color: rgba(215,169,108,.62); background: radial-gradient(circle at 90% 0, rgba(215,169,108,.14), transparent 35%), linear-gradient(145deg, #1a1817, #111113); transform: translateY(-8px); }
.plan-highlight { position: absolute; top: 18px; right: 18px; padding: 7px 10px; border-radius: 99px; color: #e6c99c; background: rgba(215,169,108,.12); font-size: 10px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.plan-card header p { color: #d8ad75; font-size: 11px; font-weight: 700; letter-spacing: .18em; text-transform: uppercase; }
.plan-card h2 { margin: 9px 0; font: 600 2.5rem/1 "Cormorant Garamond", serif; }
.plan-card header > span { display: block; min-height: 52px; color: #aaa6a2; line-height: 1.6; }
.plan-price { display: flex; align-items: baseline; gap: 6px; margin: 28px 0; }
.plan-price small { color: #d8ad75; }
.plan-price strong { font: 600 2.45rem/1 Inter, sans-serif; }
.plan-price span { color: #8e8b88; font-size: 12px; }
.plan-card ul { display: grid; gap: 13px; margin: 0 0 30px; padding: 0; list-style: none; color: #dad7d3; }
.plan-card li { display: flex; gap: 10px; line-height: 1.45; }
.plan-card li span { color: #d8ad75; }
.plan-card .btn, .plan-card form { width: 100%; margin-top: auto; }
.plan-card form .btn { width: 100%; }
.plan-card .btn[disabled] { opacity: .55; cursor: default; }
.plans-empty { max-width: 680px; margin: 0 auto; padding: 50px; border: 1px solid #27272a; border-radius: 22px; text-align: center; background: #131315; }
.plans-grid-dashboard { max-width: none; margin-top: 30px; }
.plan-dashboard { width: 100%; }
.dash-page-header p:last-child { color: #999; }
.current-plan-card { display: flex; justify-content: space-between; gap: 24px; align-items: center; margin-top: 28px; padding: 28px; border: 1px solid rgba(215,169,108,.4); border-radius: 20px; background: radial-gradient(circle at 90%, rgba(215,169,108,.12), transparent 40%), #141416; }
.current-plan-card span, .current-plan-card p { color: #999; }
.current-plan-card h2 { margin: 5px 0; font: 600 2.2rem "Cormorant Garamond", serif; }
.current-plan-card > strong { font-size: 1.7rem; color: #e2bf8c; white-space: nowrap; }
.current-plan-card > strong small { color: #999; font-size: 11px; font-weight: 400; }
.plan-request-notice { display: flex; gap: 8px 24px; flex-wrap: wrap; margin-top: 16px; padding: 15px 18px; border-radius: 12px; background: rgba(215,169,108,.1); color: #d7b47f; }
.plan-manual-note { margin: 12px 2px 0; color: #7f7c79; font-size: 12px; line-height: 1.5; }

@media (max-width: 680px) {
  .plans-hero { min-height: 40vh; padding: 125px 22px 52px; }
  .plans-section { padding: 40px 18px 70px; }
  .plan-card, .plan-card.is-featured { min-height: auto; padding: 24px; transform: none; }
  .current-plan-card { align-items: flex-start; flex-direction: column; }
}

.featured-profile-list .profile-card {
  aspect-ratio: auto;
  display: grid;
  grid-template-columns: minmax(240px, .66fr) minmax(0, 1.34fr);
  min-height: 292px;
  transition: border-color .3s ease, box-shadow .3s ease, transform .3s ease;
}

.featured-profile-list .profile-card::after {
  background: linear-gradient(90deg, transparent, rgba(232,154,134,.72), transparent);
  content: "";
  height: 1px;
  left: 18%;
  opacity: .45;
  position: absolute;
  right: 18%;
  top: 0;
  z-index: 3;
}

.featured-profile-list .profile-card:hover {
  border-color: rgba(232,154,134,.25);
  box-shadow: 0 24px 60px rgba(0,0,0,.42), 0 0 0 1px rgba(232,154,134,.04) inset;
  transform: translateY(-3px);
}

.featured-profile-list .profile-card > img {
  height: 100%;
  min-height: 292px;
  object-position: center 28%;
}

.featured-profile-list .profile-glow {
  background: linear-gradient(90deg, transparent 20%, rgba(9,9,11,.2) 47%, rgba(9,9,11,.96) 64%);
  z-index: 1;
}

.featured-profile-list .profile-info {
  align-content: center;
  align-self: stretch;
  background: linear-gradient(135deg, rgba(20,20,23,.82), rgba(12,12,14,.98));
  bottom: auto;
  display: grid;
  gap: 7px;
  grid-column: 2;
  left: auto;
  padding: clamp(24px, 4vw, 44px);
  position: relative;
  right: auto;
  z-index: 2;
}

.featured-profile-list .profile-info strong {
  font-size: clamp(2rem, 3.6vw, 3.35rem);
  letter-spacing: -.02em;
  line-height: .9;
}

.featured-profile-list .profile-info small,
.featured-profile-list .profile-info em {
  font-size: 13px;
}

.featured-profile-list .profile-info b {
  justify-self: start;
  margin-top: 3px;
}

.profile-card-description {
  color: #c9c5c1;
  display: -webkit-box;
  font-family: Inter, system-ui, sans-serif;
  font-size: clamp(.86rem, 1.2vw, .96rem);
  font-weight: 400;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  line-height: 1.58;
  margin-top: 10px;
  max-width: 680px;
  overflow: hidden;
}

.profile-card-link {
  align-items: center;
  color: var(--salmon-2);
  display: flex;
  font-size: 11px;
  font-weight: 800;
  gap: 10px;
  letter-spacing: .13em;
  margin-top: 11px;
  text-transform: uppercase;
}

.profile-card-link i {
  font-size: 17px;
  font-style: normal;
  transition: transform .25s ease;
}

.featured-profile-list .profile-card:hover .profile-card-link i {
  transform: translateX(4px);
}

.featured-profile-list .profile-card:hover .profile-card-link {
  color: #ffd1c4;
}
.split-band {
  align-items: center;
  background: var(--bg-2);
  border-block: 1px solid var(--border);
  display: grid;
  gap: 24px;
  grid-template-columns: 1fr 1.2fr auto;
  padding: var(--space-7) clamp(18px, 5vw, 72px);
}
.page-hero {
  padding: 138px clamp(18px, 5vw, 72px) 38px;
}
.compact { min-height: 330px; display: grid; align-content: end; }
.filters {
  align-items: center;
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  display: grid;
  gap: 12px;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  margin-bottom: 28px;
  padding: 14px;
}
.check { align-items: center; display: flex; gap: 9px; }
.check input { width: auto; }
.pagination { display: flex; gap: 10px; justify-content: center; margin-top: 32px; }
.empty { color: var(--muted); grid-column: 1 / -1; }

.profile-hero {
  min-height: 84svh;
  overflow: hidden;
  padding: 130px clamp(18px, 6vw, 86px) 74px;
  position: relative;
}
.profile-hero > img { height: 100%; inset: 0; object-fit: cover; position: absolute; width: 100%; }
.profile-hero-info { max-width: 760px; position: relative; z-index: 1; top: 24vh; }
.profile-hero h1 { font-size: clamp(4.8rem, 15vw, 11rem); text-transform: uppercase; }
.hero-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 28px; }
.profile-layout { align-items: start; display: grid; gap: 34px; grid-template-columns: minmax(0, 1.6fr) minmax(280px, .7fr); }
.gallery {
  display: grid;
  gap: 12px;
  grid-template-columns: repeat(3, 1fr);
}
.gallery-item {
  aspect-ratio: 4 / 5;
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: 18px;
  cursor: zoom-in;
  overflow: hidden;
  padding: 0;
}
.gallery-item:first-child { grid-column: span 2; grid-row: span 2; }
.gallery-item img { height: 100%; object-fit: cover; width: 100%; }
.story { margin-top: 42px; max-width: 760px; }
.story p:last-child { color: var(--text); font-family: "Cormorant Garamond"; font-size: clamp(1.65rem, 4vw, 2.4rem); line-height: 1.15; }
.info-panel {
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  padding: 22px;
  position: sticky;
  top: 92px;
}
.info-panel h2 { font-size: 2.1rem; margin-bottom: 18px; }
dl { display: grid; gap: 12px; margin: 0 0 22px; }
dl div { border-bottom: 1px solid var(--border); display: flex; justify-content: space-between; padding-bottom: 10px; gap: 18px; }
dt { color: var(--muted); } dd { margin: 0; text-align: right; }
.chips { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 22px; }
.chips span { border: 1px solid var(--border); border-radius: 999px; color: var(--muted); padding: 7px 11px; }
.mobile-cta { display: none; }
.lightbox, .age-gate {
  align-items: center;
  background: rgba(0,0,0,.86);
  inset: 0;
  justify-content: center;
  padding: 20px;
  position: fixed;
  z-index: 90;
}
.lightbox:not([hidden]), .age-gate:not([hidden]) { display: flex; }
.lightbox img { max-height: 84vh; border-radius: 18px; }
.lightbox button { position: fixed; right: 20px; top: 20px; }
.modal { background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius); max-width: 430px; padding: 30px; text-align: center; }
.modal h2 { font-size: 2.6rem; }
.modal-actions { display: flex; gap: 10px; justify-content: center; margin-top: 22px; }

.auth-screen { min-height: 100svh; display: grid; place-items: center; padding: 96px 18px 40px; }
.auth-card, .dash-main {
  background: linear-gradient(180deg, rgba(255,255,255,.055), rgba(255,255,255,.02));
  border: 1px solid var(--border);
  border-radius: var(--radius);
  box-shadow: var(--shadow);
}
.auth-card { display: grid; gap: 16px; max-width: 520px; padding: 30px; width: 100%; }
.auth-card h1 { font-size: 4rem; }
.segmented { display: grid; gap: 8px; }
.segmented label { background: rgba(255,255,255,.04); border: 1px solid var(--border); border-radius: var(--radius-sm); padding: 12px; }

.dashboard {
  display: grid;
  gap: 20px;
  grid-template-columns: 230px minmax(0, 1fr);
  min-height: 100svh;
  padding: 100px clamp(14px, 3vw, 40px) 42px;
}
.dash-nav {
  align-self: start;
  background: var(--bg-2);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  display: grid;
  gap: 10px;
  padding: 18px;
  position: sticky;
  top: 92px;
}
.dash-nav a, .dash-nav button { border-radius: var(--radius-sm); padding: 10px; text-align: left; }
.dash-nav a.is-active { background: rgba(232,154,134,.1); color: var(--salmon-2); }
.admin-nav a { color: var(--muted); }
.admin-nav a:hover { background: rgba(255,255,255,.045); color: var(--salmon-2); }
.dash-main { padding: clamp(18px, 4vw, 34px); }
.status-line { color: var(--muted); margin: 8px 0 20px; }
.status-line span { color: var(--salmon-2); }
.form-grid { display: grid; gap: 14px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.span-2 { grid-column: span 2; }
.actions-row { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 20px; }
.upload-box, .link-box { align-items: center; display: grid; gap: 12px; grid-template-columns: 1fr auto auto; margin-bottom: 24px; }
.media-grid { display: grid; gap: 14px; grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)); }
.media-grid article { background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius-sm); overflow: hidden; }
.media-grid img { aspect-ratio: 4/5; object-fit: cover; width: 100%; }
.media-grid div { display: grid; gap: 8px; padding: 12px; }
.stat-grid { display: grid; gap: 14px; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); }
.stat-grid article { background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius-sm); padding: 20px; }
.stat-grid strong { color: var(--salmon-2); display: block; font-size: 2.4rem; }
.stat-grid span { color: var(--muted); }

.advertiser-profile-main { display: grid; gap: 20px; }
.advertiser-page-header { align-items: end; display: flex; gap: 20px; justify-content: space-between; }
.advertiser-page-header h1 { font-size: clamp(2.8rem, 6vw, 5rem); }
.advertiser-page-header p:last-child { color: var(--muted); margin-bottom: 0; }
.profile-progress-card { background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius-sm); padding: 16px 18px; }
.profile-progress-card > div:first-child { display: flex; justify-content: space-between; }
.profile-progress-card span, .profile-progress-card p { color: var(--muted); font-size: 12px; }
.profile-progress-card strong { color: var(--salmon-2); }
.profile-progress-track { background: rgba(255,255,255,.06); border-radius: 99px; height: 7px; margin-top: 11px; overflow: hidden; }
.profile-progress-track span { background: linear-gradient(90deg, var(--salmon-3), var(--salmon-2)); display: block; height: 100%; }
.profile-progress-card p { margin: 9px 0 0; }
.profile-review-alert { background: rgba(255,120,120,.07); border: 1px solid rgba(255,120,120,.2); border-radius: var(--radius-sm); padding: 16px 18px; }
.profile-review-alert strong { color: #ffb0b0; }
.profile-review-alert p { color: var(--muted); margin: 6px 0 0; }
.advertiser-profile-grid { align-items: start; display: grid; gap: 20px; grid-template-columns: minmax(0, 1.4fr) minmax(300px, .6fr); }
.advertiser-profile-form { display: grid; gap: 16px; }
.advertiser-form-section { background: rgba(255,255,255,.025); border: 1px solid var(--border); border-radius: var(--radius-sm); display: grid; gap: 18px; padding: 20px; }
.advertiser-form-section > header { align-items: center; display: flex; gap: 11px; }
.advertiser-form-section > header > span { align-items: center; background: rgba(232,154,134,.1); border-radius: 9px; color: var(--salmon-2); display: flex; font-size: 11px; font-weight: 800; height: 34px; justify-content: center; width: 34px; }
.advertiser-form-section header strong, .advertiser-form-section header small { display: block; }
.advertiser-form-section header small { color: var(--muted); font-size: 11px; margin-top: 2px; }
.advertiser-form-section label > small { color: var(--muted); font-size: 10px; }
.advertiser-preview { display: grid; gap: 12px; position: sticky; top: 92px; }
.advertiser-preview-heading { display: flex; justify-content: space-between; }
.advertiser-preview-heading span { font-size: 12px; font-weight: 800; text-transform: uppercase; }
.advertiser-preview-heading small { color: var(--muted); }
.advertiser-preview article { background: #101012; border: 1px solid var(--border); border-radius: 18px; overflow: hidden; }
.advertiser-preview article > img { aspect-ratio: 4 / 4.2; object-fit: cover; width: 100%; }
.advertiser-preview article > div { padding: 20px; }
.advertiser-preview article span { color: var(--muted); font-size: 11px; }
.advertiser-preview article h2 { font-size: 2.25rem; margin: 7px 0 10px; }
.advertiser-preview article p { color: var(--muted); display: -webkit-box; font-size: 13px; -webkit-box-orient: vertical; -webkit-line-clamp: 4; line-height: 1.55; overflow: hidden; }
.advertiser-preview article b { color: var(--salmon-2); font-size: 11px; text-transform: uppercase; }
.photo-order-actions { display: flex; gap: 12px; justify-content: space-between; }
.admin-table { display: grid; gap: 12px; }
.admin-table article { align-items: center; background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius-sm); display: grid; gap: 12px; grid-template-columns: 70px 1fr auto auto auto minmax(330px, auto); padding: 10px; }
.admin-table img { aspect-ratio: 1; border-radius: var(--radius-sm); object-fit: cover; width: 70px; }
.admin-table span { color: var(--muted); display: block; }
.admin-table form { display: flex; gap: 8px; }
.ops-main { display: grid; gap: 22px; }
.ops-hero {
  align-items: end;
  display: flex;
  gap: 18px;
  justify-content: space-between;
}
.ops-hero h1 { font-size: clamp(3.4rem, 8vw, 7rem); }
.ops-actions { display: flex; flex-wrap: wrap; gap: 10px; }
.ops-stats { grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); }
.ops-stats article {
  background: linear-gradient(160deg, rgba(232,154,134,.08), rgba(255,255,255,.025));
  min-height: 124px;
}
.ops-grid {
  display: grid;
  gap: 16px;
  grid-template-columns: 1.25fr .75fr;
}
.ops-card {
  background: rgba(23,23,26,.76);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  box-shadow: var(--shadow-soft);
  overflow: hidden;
}
.ops-card-head {
  align-items: center;
  border-bottom: 1px solid var(--border);
  display: flex;
  gap: 14px;
  justify-content: space-between;
  padding: 18px 20px;
}
.ops-card-head h2 {
  font-family: Inter, sans-serif;
  font-size: 1rem;
  font-weight: 700;
}
.ops-card-head span, .ops-row small, .timeline span, .crm-list span, .schedule-list span, .schedule-list p {
  color: var(--muted);
}
.span-wide { grid-column: 1 / -1; }
.ops-table { display: grid; }
.ops-row {
  align-items: center;
  border-bottom: 1px solid var(--border);
  display: grid;
  gap: 12px;
  grid-template-columns: minmax(170px, 1fr) repeat(5, minmax(72px, .3fr));
  padding: 14px 20px;
}
.ops-row:last-child { border-bottom: 0; }
.ops-row-head {
  color: var(--muted);
  font-size: .78rem;
  font-weight: 700;
  text-transform: uppercase;
}
.ops-row strong { display: grid; gap: 2px; }
.ops-row span:not(:first-child) {
  background: rgba(255,255,255,.045);
  border: 1px solid var(--border);
  border-radius: 999px;
  justify-self: start;
  min-width: 48px;
  padding: 5px 9px;
  text-align: center;
}
.timeline { display: grid; }
.timeline article {
  border-bottom: 1px solid var(--border);
  display: grid;
  gap: 3px;
  padding: 14px 18px;
}
.timeline article:last-child { border-bottom: 0; }
.ops-form {
  align-items: end;
  background: rgba(23,23,26,.76);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  display: grid;
  gap: 12px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  padding: 18px;
}
.ops-form .btn { align-self: end; }
.crm-list, .schedule-list { display: grid; }
.crm-list article, .schedule-list article {
  align-items: center;
  border-bottom: 1px solid var(--border);
  display: grid;
  gap: 14px;
  padding: 16px 20px;
}
.crm-list article { grid-template-columns: minmax(220px, 1fr) minmax(360px, .8fr); }
.crm-list p, .schedule-list p { margin: 5px 0 0; }
.crm-list form, .schedule-list form {
  align-items: center;
  display: grid;
  gap: 8px;
  grid-template-columns: 1fr 1fr auto;
}
.schedule-list article { grid-template-columns: 92px minmax(220px, 1fr) minmax(240px, .6fr); }
.schedule-list time {
  background: rgba(232,154,134,.12);
  border: 1px solid var(--border-strong);
  border-radius: var(--radius-sm);
  color: var(--salmon-2);
  font-weight: 800;
  padding: 10px;
  text-align: center;
}
.schedule-list article.completed time { background: rgba(120,220,170,.10); border-color: rgba(120,220,170,.22); color: #A7E8C1; }
.schedule-list article.canceled time, .schedule-list article.no_show time { background: rgba(255,120,120,.10); border-color: rgba(255,120,120,.22); color: #ffb0b0; }
.toast { background: var(--surface); border: 1px solid var(--border-strong); border-radius: 999px; box-shadow: var(--shadow-soft); left: 50%; padding: 12px 18px; position: fixed; top: 86px; transform: translateX(-50%); z-index: 80; }
.toast.error { border-color: rgba(255,120,120,.3); color: #ffb0b0; }
.footer { align-items: center; border-top: 1px solid var(--border); color: var(--muted); display: flex; gap: 24px; justify-content: space-between; padding: 32px clamp(18px, 5vw, 72px); }
.footer nav { display: flex; flex-wrap: wrap; gap: 16px; }
.footer strong { color: var(--text); letter-spacing: .2em; }

@media (max-width: 900px) {
  .menu-button { display: block; }
  .nav {
    background: rgba(9,9,11,.96);
    border: 1px solid var(--border);
    border-radius: var(--radius);
    display: none;
    padding: 18px;
    position: absolute;
    right: 16px;
    top: 78px;
    width: min(320px, calc(100vw - 32px));
  }
  .site-header.open .nav { display: grid; }
  .profile-grid { display: flex; overflow-x: auto; padding-bottom: 8px; scroll-snap-type: x mandatory; }
  .profile-card { flex: 0 0 47%; min-width: 160px; scroll-snap-align: start; }
  .filters { grid-template-columns: 1fr 1fr; }
  .split-band, .profile-layout, .dashboard, .ops-grid { grid-template-columns: 1fr; }
  .info-panel, .dash-nav { position: static; }
  .upload-box, .link-box { grid-template-columns: 1fr; }
  .admin-table article { grid-template-columns: 60px 1fr; }
  .admin-table form { grid-column: 1 / -1; flex-wrap: wrap; }
  .ops-hero { align-items: start; flex-direction: column; }
  .ops-form, .crm-list article, .schedule-list article { grid-template-columns: 1fr; }
  .crm-list form, .schedule-list form { grid-template-columns: 1fr; }
  .ops-row { grid-template-columns: minmax(150px, 1fr) repeat(5, minmax(48px, auto)); overflow-x: auto; }
}

@media (max-width: 560px) {
  .site-header { height: 64px; padding-inline: 14px; }
  .brand { letter-spacing: .16em; }
  .hero { min-height: 90svh; padding: 104px 16px 58px; }
  .hero h1 { font-size: 4.3rem; }
  .hero-search { grid-template-columns: 1fr; }
  .section { padding: 56px 16px; }
  .section-head { align-items: start; gap: 12px; flex-direction: column; }
  .profile-card { flex-basis: 72%; border-radius: 18px; }
  .filters { grid-template-columns: 1fr; }
  .profile-hero { min-height: 82svh; padding: 104px 16px 62px; }
  .profile-hero-info { top: 22vh; }
  .profile-hero h1 { font-size: 4.4rem; }
  .gallery { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; }
  .gallery-item, .gallery-item:first-child { flex: 0 0 82%; grid-column: auto; grid-row: auto; scroll-snap-align: start; }
  .mobile-cta {
    background: linear-gradient(180deg, transparent, rgba(9,9,11,.96) 28%);
    bottom: 0;
    display: block;
    left: 0;
    padding: 22px 16px 14px;
    position: fixed;
    right: 0;
    z-index: 40;
  }
  .mobile-cta button { background: linear-gradient(135deg, var(--salmon), var(--salmon-3)); border: 0; border-radius: 999px; color: #160f0d; font-weight: 800; min-height: 52px; text-transform: uppercase; width: 100%; }
  .footer { align-items: start; flex-direction: column; padding-bottom: 88px; }
  .form-grid, .span-2 { grid-template-columns: 1fr; grid-column: auto; }
  .ops-form .span-2 { grid-column: auto; }
  .ops-row { font-size: .86rem; padding-inline: 12px; }
  .ops-card-head { align-items: start; flex-direction: column; }
}

/* Premium public profile */
.lux-profile {
  background: #070707;
  color: var(--text);
  overflow: clip;
}
.lux-profile .btn {
  letter-spacing: 0;
}
.lux-hero {
  min-height: 82svh;
  overflow: hidden;
  position: relative;
  display: grid;
  align-items: end;
  padding: 120px clamp(20px, 6vw, 88px) 70px;
}
.lux-hero-image {
  height: 100%;
  inset: 0;
  object-fit: cover;
  object-position: center;
  position: absolute;
  transform: scale(1.02);
  animation: heroSettle 1.1s cubic-bezier(.2,.8,.2,1) forwards;
  width: 100%;
}
.lux-hero-shade {
  background:
    radial-gradient(circle at 70% 35%, transparent 0, rgba(7,7,7,.24) 34%, rgba(7,7,7,.78) 78%),
    linear-gradient(90deg, rgba(7,7,7,.92), rgba(7,7,7,.42) 46%, rgba(7,7,7,.72)),
    linear-gradient(0deg, #070707 0, rgba(7,7,7,.22) 42%, rgba(7,7,7,.58) 100%);
  inset: 0;
  position: absolute;
}
.lux-hero-content {
  max-width: 760px;
  position: relative;
  z-index: 1;
}
.reveal-in {
  animation: revealIn .72s cubic-bezier(.2,.8,.2,1) both .1s;
}
.lux-kicker {
  color: var(--salmon);
  font-size: .78rem;
  font-weight: 800;
  letter-spacing: .22em;
  margin: 0 0 12px;
  text-transform: uppercase;
}
.lux-badges, .lux-card-status {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 14px;
}
.lux-badges span, .lux-card-status span {
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(255,255,255,.10);
  border-radius: 999px;
  color: var(--text);
  font-size: .75rem;
  font-weight: 700;
  padding: 7px 11px;
}
.active-dot::before {
  background: #9EE7B2;
  border-radius: 999px;
  content: "";
  display: inline-block;
  height: 7px;
  margin-right: 7px;
  width: 7px;
}
.lux-hero h1 {
  font-size: clamp(4rem, 11vw, 9rem);
  line-height: .86;
  max-width: 980px;
  text-transform: uppercase;
}
.lux-hero-meta, .lux-microcopy {
  color: var(--muted);
  font-size: clamp(.98rem, 1.3vw, 1.08rem);
  margin: 18px 0 0;
}
.lux-hero-actions {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 28px;
}
.lux-microcopy {
  font-size: .9rem;
  margin-top: 12px;
}
.profile-anchor-nav {
  backdrop-filter: blur(18px);
  background: rgba(7,7,7,.78);
  border-block: 1px solid var(--border);
  display: flex;
  gap: clamp(18px, 4vw, 54px);
  justify-content: center;
  overflow-x: auto;
  padding: 17px 18px;
  position: sticky;
  top: 72px;
  z-index: 20;
}
.profile-anchor-nav a {
  color: var(--muted);
  font-size: .76rem;
  font-weight: 800;
  letter-spacing: .16em;
  position: relative;
  text-transform: uppercase;
  white-space: nowrap;
}
.profile-anchor-nav a::after {
  background: var(--salmon);
  bottom: -5px;
  content: "";
  height: 1px;
  left: 0;
  position: absolute;
  transform: scaleX(0);
  transform-origin: left;
  transition: transform .25s ease;
  width: 100%;
}
.profile-anchor-nav a:hover::after { transform: scaleX(1); }
.lux-section {
  margin-inline: auto;
  max-width: 1360px;
  padding: clamp(58px, 8vw, 108px) clamp(18px, 5vw, 72px);
}
.lux-intro {
  align-items: start;
  display: grid;
  gap: clamp(28px, 5vw, 72px);
  grid-template-columns: minmax(0, 1.45fr) minmax(320px, .72fr);
}
.lux-copy h2, .lux-section-head h2, .lux-about h2, .lux-final-cta h2 {
  font-size: clamp(2.8rem, 7vw, 6rem);
}
.lux-copy p:last-child, .lux-about p, .lux-final-cta p {
  color: var(--muted);
  font-size: clamp(1.08rem, 1.7vw, 1.28rem);
  line-height: 1.75;
  max-width: 760px;
}
.lux-contact-card {
  background: #121212;
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 24px;
  box-shadow: 0 28px 80px rgba(0,0,0,.32);
  padding: clamp(22px, 3vw, 34px);
  position: sticky;
  top: 154px;
}
.lux-contact-card h2 {
  font-size: clamp(2.2rem, 4vw, 3.7rem);
  text-transform: uppercase;
}
.lux-contact-card > p, .lux-contact-card small {
  color: var(--muted);
}
.lux-contact-card dl {
  margin: 22px 0;
}
.lux-contact-card dl div {
  align-items: start;
  border-color: rgba(255,255,255,.07);
}
.lux-contact-card dt {
  font-size: .72rem;
  font-weight: 800;
  letter-spacing: .14em;
  text-transform: uppercase;
}
.lux-contact-card dd {
  color: var(--text);
}
.lux-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 22px;
}
.lux-chips span {
  border: 1px solid var(--border);
  border-radius: 999px;
  color: var(--muted);
  padding: 7px 11px;
}
.lux-favorite-link {
  margin: 16px auto 10px;
  text-align: center;
  width: 100%;
}
.lux-section-head {
  margin-bottom: 28px;
}
.editorial-gallery {
  display: grid;
  gap: 14px;
  grid-auto-flow: dense;
  grid-template-columns: repeat(6, minmax(0, 1fr));
}
.editorial-photo {
  background: #111;
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 22px;
  cursor: zoom-in;
  min-height: 320px;
  overflow: hidden;
  padding: 0;
}
.editorial-photo img {
  height: 100%;
  object-fit: cover;
  object-position: center;
  transition: transform 600ms cubic-bezier(.2,.8,.2,1), filter 600ms cubic-bezier(.2,.8,.2,1);
  width: 100%;
}
.editorial-photo:hover img {
  filter: saturate(1.04);
  transform: scale(1.015);
}
.editorial-photo.photo-1 { grid-column: span 4; grid-row: span 2; min-height: 680px; }
.editorial-photo.photo-2, .editorial-photo.photo-3 { grid-column: span 2; min-height: 333px; }
.editorial-photo.photo-4 { grid-column: span 2; min-height: 430px; }
.editorial-photo.photo-5 { grid-column: span 4; min-height: 430px; }
.lux-info-grid {
  display: grid;
  gap: 14px;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
}
.lux-info-grid article, .trust-bar article {
  background: #111;
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 18px;
  padding: 22px;
}
.lux-info-grid span, .trust-bar span {
  color: var(--salmon);
  display: block;
  font-size: .72rem;
  font-weight: 800;
  letter-spacing: .16em;
  margin-bottom: 10px;
  text-transform: uppercase;
}
.lux-info-grid strong {
  font-size: 1.12rem;
}
.lux-about > div {
  max-width: 760px;
}
.trust-bar {
  display: grid;
  gap: 14px;
  grid-template-columns: repeat(4, 1fr);
}
.trust-bar p {
  color: var(--muted);
  margin: 0;
}
.lux-final-cta {
  background: #101010;
  border-block: 1px solid var(--border);
  margin-top: 36px;
  max-width: none;
  text-align: center;
}
.lux-final-cta form {
  margin-top: 24px;
}
.profile-mobile-cta {
  display: none;
}
.lux-lightbox {
  align-items: center;
  background: rgba(0,0,0,.96);
  inset: 0;
  justify-content: center;
  padding: 28px;
  position: fixed;
  z-index: 100;
}
.lux-lightbox:not([hidden]) { display: flex; }
.lux-lightbox img {
  border-radius: 18px;
  max-height: 86vh;
  max-width: min(1180px, 86vw);
  object-fit: contain;
}
.lux-lightbox button {
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 999px;
  color: var(--text);
  cursor: pointer;
  padding: 12px 16px;
  position: fixed;
}
.lightbox-close { right: 24px; top: 24px; }
.lightbox-prev { left: 24px; top: 50%; transform: translateY(-50%); }
.lightbox-next { right: 24px; top: 50%; transform: translateY(-50%); }
.lux-lightbox span {
  bottom: 24px;
  color: var(--muted);
  left: 50%;
  position: fixed;
  transform: translateX(-50%);
}
.reveal-on-scroll {
  opacity: 0;
  transform: translateY(22px);
  transition: opacity 650ms cubic-bezier(.2,.8,.2,1), transform 650ms cubic-bezier(.2,.8,.2,1);
}
.reveal-on-scroll.is-visible {
  opacity: 1;
  transform: translateY(0);
}
@keyframes revealIn {
  from { opacity: 0; transform: translateY(22px); }
  to { opacity: 1; transform: translateY(0); }
}
@keyframes heroSettle {
  to { transform: scale(1); }
}

@media (max-width: 1024px) {
  .lux-intro { grid-template-columns: 1fr; }
  .lux-contact-card { position: static; }
  .trust-bar { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 760px) {
  .profile-anchor-nav {
    justify-content: start;
    top: 64px;
  }
  .lux-hero {
    min-height: 74svh;
    padding: 96px 18px 42px;
  }
  .lux-hero h1 {
    font-size: clamp(3.4rem, 18vw, 5.4rem);
  }
  .lux-hero-actions {
    align-items: stretch;
    flex-direction: column;
    max-width: 360px;
  }
  .lux-hero-actions .btn {
    width: 100%;
  }
  .lux-section {
    padding: 54px 18px;
  }
  .editorial-gallery {
    display: flex;
    gap: 12px;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
  }
  .editorial-photo,
  .editorial-photo.photo-1,
  .editorial-photo.photo-2,
  .editorial-photo.photo-3,
  .editorial-photo.photo-4,
  .editorial-photo.photo-5 {
    flex: 0 0 84%;
    min-height: 520px;
    scroll-snap-align: start;
  }
  .trust-bar { grid-template-columns: 1fr; }
  .profile-mobile-cta {
    align-items: center;
    backdrop-filter: blur(18px);
    background: rgba(10,10,10,.92);
    border-top: 1px solid var(--border);
    bottom: 0;
    display: grid;
    gap: 10px;
    grid-template-columns: 54px 1fr;
    left: 0;
    padding: 10px 14px calc(10px + env(safe-area-inset-bottom));
    position: fixed;
    right: 0;
    z-index: 45;
  }
  .profile-mobile-cta button {
    border-radius: 999px;
    cursor: pointer;
    font-weight: 800;
    min-height: 52px;
  }
  .profile-mobile-cta form:first-child button {
    background: rgba(255,255,255,.06);
    border: 1px solid var(--border);
    color: var(--text);
    width: 54px;
  }
  .profile-mobile-cta form:last-child button {
    background: linear-gradient(135deg, var(--salmon), var(--salmon-3));
    border: 0;
    color: #160f0d;
    text-transform: uppercase;
    width: 100%;
  }
  .lux-lightbox {
    padding: 16px;
  }
  .lux-lightbox img {
    max-width: 96vw;
  }
  .lightbox-prev, .lightbox-next {
    bottom: 20px;
    top: auto;
    transform: none;
  }
  .lightbox-prev { left: 18px; }
  .lightbox-next { right: 18px; }
}

@media (max-width: 430px) {
  .lux-hero { min-height: 72svh; }
  .editorial-photo,
  .editorial-photo.photo-1,
  .editorial-photo.photo-2,
  .editorial-photo.photo-3,
  .editorial-photo.photo-4,
  .editorial-photo.photo-5 {
    flex-basis: 88%;
    min-height: 460px;
  }
}

/* Profile page structural repair */
.has-profile-page {
  background: #080809;
}
.has-profile-page .site-header {
  position: sticky;
  top: 0;
  background: rgba(8,8,9,.88);
  backdrop-filter: blur(18px);
  border-bottom: 1px solid rgba(255,255,255,.06);
}
.profile-page,
.profile-page *,
.profile-page *::before,
.profile-page *::after {
  box-sizing: border-box;
}
.profile-page {
  --profile-bg: #080809;
  --profile-card: #111113;
  --profile-elevated: #161618;
  --profile-text: #F5F2EE;
  --profile-muted: #98989F;
  --profile-accent: #E58C76;
  --profile-border: rgba(255,255,255,.07);
  background: var(--profile-bg);
  color: var(--profile-text);
  overflow-x: hidden;
}
.profile-page img {
  display: block;
  max-width: 100%;
}
.profile-container {
  width: min(100% - 48px, 1320px);
  margin-inline: auto;
}
.profile-eyebrow {
  color: var(--profile-accent);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .16em;
  margin: 0 0 14px;
  text-transform: uppercase;
}
.profile-btn {
  align-items: center;
  border-radius: 14px;
  cursor: pointer;
  display: inline-flex;
  font-size: .78rem;
  font-weight: 800;
  height: 52px;
  justify-content: center;
  letter-spacing: 0;
  padding: 0 26px;
  text-transform: uppercase;
  transition: transform .2s ease, background .2s ease, border-color .2s ease;
  width: auto;
}
.profile-btn:hover {
  transform: translateY(-1px);
}
.profile-btn-primary {
  background: var(--profile-accent);
  border: 1px solid transparent;
  color: #17100d;
}
.profile-btn-secondary {
  background: rgba(255,255,255,.04);
  border: 1px solid rgba(255,255,255,.18);
  color: var(--profile-text);
}
.profile-hero {
  display: grid;
  align-items: end;
  min-height: 620px;
  height: min(78vh, 820px);
  overflow: hidden;
  position: relative;
  width: 100%;
}
.profile-hero-image {
  height: 100%;
  inset: 0;
  object-fit: cover;
  object-position: center;
  position: absolute;
  width: 100%;
}
.profile-hero-overlay {
  background:
    linear-gradient(90deg, rgba(0,0,0,.72) 0%, rgba(0,0,0,.18) 54%, rgba(0,0,0,.34) 100%),
    linear-gradient(180deg, rgba(0,0,0,.05) 20%, rgba(0,0,0,.30) 55%, rgba(0,0,0,.88) 100%);
  inset: 0;
  position: absolute;
}
.profile-hero-content {
  max-width: 700px;
  padding: 56px;
  position: relative;
  z-index: 1;
}
.profile-badges,
.profile-card-status {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 14px;
}
.profile-badges span,
.profile-card-status span {
  align-items: center;
  backdrop-filter: blur(12px);
  background: rgba(255,255,255,.10);
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 999px;
  color: var(--profile-text);
  display: inline-flex;
  font-size: 12px;
  font-weight: 700;
  gap: 7px;
  padding: 8px 12px;
}
.profile-badges i,
.profile-card-status i {
  background: #98e7ad;
  border-radius: 999px;
  display: inline-block;
  height: 7px;
  width: 7px;
}
.profile-hero h1 {
  font-family: "Cormorant Garamond", Georgia, serif;
  font-size: clamp(52px, 7vw, 110px);
  font-weight: 600;
  letter-spacing: 0;
  line-height: .92;
  margin: 0;
  max-width: 700px;
}
.profile-hero-meta,
.profile-help {
  color: var(--profile-muted);
  font-size: 1rem;
  line-height: 1.5;
  margin: 16px 0 0;
}
.profile-hero-actions {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 28px;
}
.profile-help {
  font-size: .9rem;
  margin-top: 12px;
}
.profile-tabs {
  background: #080809;
  border-bottom: 1px solid var(--profile-border);
}
.profile-tabs .profile-container {
  display: flex;
  gap: 28px;
  overflow-x: auto;
  padding-block: 18px;
}
.profile-tabs a {
  color: var(--profile-muted);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .14em;
  text-transform: uppercase;
  white-space: nowrap;
}
.profile-tabs a:hover {
  color: var(--profile-accent);
}
.profile-overview,
.profile-gallery,
.profile-details,
.profile-about,
.profile-trust,
.profile-final-cta {
  padding-block: 96px;
}
.profile-overview-grid {
  align-items: start;
  display: grid;
  gap: 64px;
  grid-template-columns: minmax(0, 1.6fr) minmax(320px, .8fr);
}
.profile-copy,
.profile-copy * {
  min-width: 0;
}
.profile-copy h2,
.profile-section-head h2,
.profile-about h2,
.profile-final-card h2 {
  font-family: "Cormorant Garamond", Georgia, serif;
  font-size: clamp(42px, 5vw, 76px);
  font-weight: 600;
  line-height: .98;
  margin: 0;
}
.profile-copy p:not(.profile-eyebrow),
.profile-about p,
.profile-final-card p {
  color: var(--profile-muted);
  font-size: 18px;
  line-height: 1.7;
  margin: 24px 0 0;
  max-width: 720px;
}
.profile-contact-card {
  background: var(--profile-card);
  border: 1px solid var(--profile-border);
  border-radius: 24px;
  box-shadow: 0 24px 70px rgba(0,0,0,.28);
  max-width: 380px;
  padding: 22px;
  position: sticky;
  top: 110px;
  width: 100%;
}
.profile-contact-card > img {
  aspect-ratio: 16 / 10;
  border-radius: 16px;
  margin-bottom: 20px;
  object-fit: cover;
  width: 100%;
}
.profile-contact-card h2 {
  font-family: "Cormorant Garamond", Georgia, serif;
  font-size: 42px;
  line-height: 1;
  margin: 0;
}
.profile-contact-card > p,
.profile-contact-card small {
  color: var(--profile-muted);
  display: block;
  margin-top: 8px;
}
.profile-card-status {
  margin-top: 16px;
}
.profile-card-facts {
  border-block: 1px solid var(--profile-border);
  display: grid;
  gap: 0;
  margin: 20px 0;
}
.profile-card-facts div {
  display: grid;
  gap: 5px;
  padding: 14px 0;
}
.profile-card-facts div + div {
  border-top: 1px solid var(--profile-border);
}
.profile-card-facts span,
.profile-details-grid span,
.profile-trust-grid span {
  color: var(--profile-accent);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .14em;
  text-transform: uppercase;
}
.profile-card-facts strong {
  color: var(--profile-text);
}
.profile-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 20px;
}
.profile-chips span {
  border: 1px solid var(--profile-border);
  border-radius: 999px;
  color: var(--profile-muted);
  font-size: 13px;
  padding: 7px 10px;
}
.profile-contact-card .profile-btn {
  width: 100%;
}
.profile-save-link {
  background: none;
  border: 0;
  color: var(--profile-accent);
  cursor: pointer;
  display: block;
  font-weight: 800;
  margin: 16px auto 8px;
  padding: 0;
}
.profile-section-head {
  margin-bottom: 28px;
}
.profile-gallery-grid {
  display: grid;
  gap: 16px;
  grid-template-columns: repeat(12, minmax(0, 1fr));
}
.profile-gallery-item {
  background: var(--profile-card);
  border: 1px solid var(--profile-border);
  border-radius: 18px;
  cursor: zoom-in;
  overflow: hidden;
  padding: 0;
}
.profile-gallery-item img {
  height: 100%;
  object-fit: cover;
  object-position: center center;
  transition: transform .45s ease;
  width: 100%;
}
.profile-gallery-item:hover img {
  transform: scale(1.02);
}
.profile-gallery-item.item-1 { aspect-ratio: 4 / 5; grid-column: span 7; }
.profile-gallery-item.item-2 { aspect-ratio: 16 / 10; grid-column: span 5; }
.profile-gallery-item.item-3 { aspect-ratio: 16 / 10; grid-column: span 5; }
.profile-gallery-item.item-4 { aspect-ratio: 4 / 5; grid-column: span 7; }
.profile-gallery-item.item-5 { aspect-ratio: 16 / 8; grid-column: span 12; }
.profile-details-grid {
  display: grid;
  gap: 16px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
.profile-details-grid article,
.profile-trust-grid article {
  background: var(--profile-card);
  border: 1px solid var(--profile-border);
  border-radius: 18px;
  min-width: 0;
  padding: 22px;
}
.profile-details-grid strong {
  display: block;
  font-size: 18px;
  margin-top: 10px;
}
.profile-about .profile-container {
  max-width: 1320px;
}
.profile-about p {
  max-width: 720px;
}
.profile-trust-grid {
  display: grid;
  gap: 16px;
  grid-template-columns: repeat(4, minmax(0, 1fr));
}
.profile-trust-grid p {
  color: var(--profile-muted);
  line-height: 1.6;
  margin: 10px 0 0;
}
.profile-final-card {
  background: var(--profile-card);
  border: 1px solid var(--profile-border);
  border-radius: 24px;
  padding: 64px;
  text-align: center;
}
.profile-final-card p {
  margin-inline: auto;
}
.profile-final-card form {
  margin-top: 28px;
}
.profile-mobile-cta {
  display: none;
}
.profile-lightbox {
  align-items: center;
  background: rgba(0,0,0,.96);
  inset: 0;
  justify-content: center;
  padding: 24px;
  position: fixed;
  z-index: 140;
}
.profile-lightbox:not([hidden]) {
  display: flex;
}
.profile-lightbox img {
  max-height: 90vh;
  max-width: 90vw;
  object-fit: contain;
}
.profile-lightbox button {
  background: rgba(255,255,255,.08);
  border: 1px solid rgba(255,255,255,.16);
  border-radius: 999px;
  color: var(--profile-text);
  cursor: pointer;
  padding: 12px 16px;
  position: fixed;
}
.profile-lightbox .lightbox-close { right: 24px; top: 24px; }
.profile-lightbox .lightbox-prev { left: 24px; top: 50%; transform: translateY(-50%); }
.profile-lightbox .lightbox-next { right: 24px; top: 50%; transform: translateY(-50%); }
.profile-lightbox span {
  bottom: 24px;
  color: var(--profile-muted);
  left: 50%;
  position: fixed;
  transform: translateX(-50%);
}

@media (max-width: 1024px) {
  .profile-overview-grid {
    gap: 36px;
    grid-template-columns: 1fr;
  }
  .profile-contact-card {
    max-width: none;
    position: static;
  }
  .profile-details-grid,
  .profile-trust-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 768px) {
  .has-profile-page {
    padding-bottom: calc(74px + env(safe-area-inset-bottom));
  }
  .profile-container {
    width: min(100% - 32px, 1320px);
  }
  .profile-hero {
    height: 75svh;
    min-height: 580px;
  }
  .profile-hero-content {
    padding: 24px;
  }
  .profile-hero h1 {
    font-size: clamp(42px, 13vw, 64px);
    max-width: 100%;
  }
  .profile-hero-actions {
    align-items: stretch;
    flex-direction: column;
    max-width: 360px;
  }
  .profile-btn {
    width: 100%;
  }
  .profile-overview,
  .profile-gallery,
  .profile-details,
  .profile-about,
  .profile-trust,
  .profile-final-cta {
    padding-block: 64px;
  }
  .profile-gallery-grid {
    display: grid;
    gap: 12px;
    grid-template-columns: 1fr;
  }
  .profile-gallery-item.item-1,
  .profile-gallery-item.item-2,
  .profile-gallery-item.item-3,
  .profile-gallery-item.item-4,
  .profile-gallery-item.item-5 {
    aspect-ratio: 4 / 5;
    grid-column: auto;
  }
  .profile-details-grid,
  .profile-trust-grid {
    grid-template-columns: 1fr;
  }
  .profile-final-card {
    padding: 36px 20px;
  }
  .profile-mobile-cta {
    align-items: center;
    backdrop-filter: blur(18px);
    background: rgba(8,8,9,.92);
    border-top: 1px solid var(--profile-border);
    bottom: 0;
    display: grid;
    gap: 10px;
    grid-template-columns: 54px 1fr;
    left: 0;
    padding: 10px 16px calc(10px + env(safe-area-inset-bottom));
    position: fixed;
    right: 0;
    z-index: 120;
  }
  .profile-mobile-cta button {
    border-radius: 14px;
    cursor: pointer;
    font-weight: 800;
    height: 52px;
  }
  .profile-mobile-cta form:first-child button {
    background: rgba(255,255,255,.06);
    border: 1px solid var(--profile-border);
    color: var(--profile-text);
    width: 54px;
  }
  .profile-mobile-cta form:last-child button {
    background: var(--profile-accent);
    border: 0;
    color: #17100d;
    text-transform: uppercase;
    width: 100%;
  }
}

@media (max-width: 480px) {
  .profile-container {
    width: min(100% - 32px, 1320px);
  }
  .profile-tabs .profile-container {
    gap: 20px;
  }
  .profile-copy h2,
  .profile-section-head h2,
  .profile-about h2,
  .profile-final-card h2 {
    font-size: 42px;
  }
}

/* Lista editorial de perfis na página inicial */
@media (max-width: 900px) {
  .profile-grid.featured-profile-list {
    display: grid;
    overflow: visible;
    padding-bottom: 0;
    scroll-snap-type: none;
  }

  .featured-profile-list .profile-card {
    flex: none;
    grid-template-columns: minmax(200px, .72fr) minmax(0, 1.28fr);
    min-height: 280px;
    min-width: 0;
    scroll-snap-align: none;
    width: 100%;
  }

  .featured-profile-list .profile-card > img {
    min-height: 280px;
  }
}

@media (max-width: 680px) {
  .featured-profile-list { gap: 14px; }

  .featured-profile-list .profile-card {
    display: block;
    min-height: 0;
  }

  .featured-profile-list .profile-card > img {
    aspect-ratio: 4 / 3.7;
    height: auto;
    min-height: 0;
    width: 100%;
  }

  .featured-profile-list .profile-glow {
    background: linear-gradient(0deg, #101012 0%, rgba(16,16,18,.78) 22%, transparent 56%);
  }

  .featured-profile-list .profile-info {
    background: #101012;
    gap: 6px;
    padding: 20px 18px 22px;
  }

  .featured-profile-list .profile-info strong {
    font-size: clamp(1.95rem, 10vw, 2.8rem);
  }

  .profile-card-description {
    -webkit-line-clamp: 4;
    margin-top: 9px;
  }

  .profile-card-link { margin-top: 12px; }
}

@media (max-width: 900px) {
  .advertiser-profile-grid { grid-template-columns: 1fr; }
  .advertiser-preview { position: static; }
}

@media (max-width: 560px) {
  .advertiser-page-header { align-items: start; flex-direction: column; }
  .advertiser-page-header .btn { width: 100%; }
  .advertiser-form-section { padding: 16px; }
}

/* Responsividade consolidada */
html, body { max-width: 100%; overflow-x: clip; }
.dash-main, .plan-dashboard, .advertiser-profile-main, .advertiser-profile-grid, .admin-table { min-width: 0; }
img, video, iframe { max-width: 100%; }

@media (max-width: 900px) {
  .dashboard { gap: 14px; padding: 80px 14px 28px; }
  .dash-nav {
    align-items: center;
    display: flex;
    gap: 7px;
    margin-inline: -2px;
    overflow-x: auto;
    padding: 10px;
    position: sticky;
    scrollbar-width: none;
    top: 70px;
    z-index: 20;
  }
  .dash-nav::-webkit-scrollbar { display: none; }
  .dash-nav > strong { flex: 0 0 auto; padding: 0 8px; }
  .dash-nav a, .dash-nav form { flex: 0 0 auto; }
  .dash-nav form { margin-left: auto; }
  .dash-nav button { white-space: nowrap; }
  .dash-main { padding: 22px; }
  .advertiser-profile-grid { grid-template-columns: minmax(0, 1fr); }
  .advertiser-preview { position: static; }
  .plans-grid-dashboard { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 620px) {
  .dashboard { padding: 72px 10px 20px; }
  .dash-nav { top: 64px; }
  .dash-nav > strong { display: none; }
  .dash-main { border-radius: 16px; padding: 18px 14px; }
  .dash-main h1, .advertiser-page-header h1 { overflow-wrap: anywhere; font-size: clamp(2.35rem, 13vw, 3.4rem); }
  .form-grid { grid-template-columns: minmax(0, 1fr); }
  .form-grid .span-2 { grid-column: 1; }
  .actions-row, .upload-box, .link-box { align-items: stretch; }
  .actions-row .btn, .upload-box .btn, .link-box .btn { justify-content: center; width: 100%; }
  .media-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 9px; }
  .media-grid div { padding: 9px; }
  .photo-order-actions { gap: 6px; }
  .plans-grid-dashboard { grid-template-columns: 1fr; }
  .plan-card { width: 100%; }
  .current-plan-card { padding: 20px; }
  .toast { max-width: calc(100vw - 24px); text-align: center; width: max-content; }
  .footer { align-items: flex-start; flex-direction: column; }
}

@media (max-width: 380px) {
  .media-grid { grid-template-columns: 1fr; }
  .stat-grid { grid-template-columns: 1fr; }
  .modal-actions { align-items: stretch; flex-direction: column; }
}

/* Acesso administrativo ao painel da anunciante */
.admin-impersonation-banner { align-items: center; display: flex; gap: 18px; justify-content: space-between; min-height: 46px; padding: 7px max(18px, env(safe-area-inset-left)); position: fixed; inset: 0 0 auto; z-index: 150; border-bottom: 1px solid rgba(231,192,109,.28); background: #17130c; color: #f3dfb3; box-shadow: 0 8px 26px rgba(0,0,0,.34); }
.admin-impersonation-banner > div { min-width: 0; }
.admin-impersonation-banner strong, .admin-impersonation-banner span { display: inline; font-size: 12px; }
.admin-impersonation-banner span { margin-left: 8px; color: #bcae91; }
.admin-impersonation-banner form { margin: 0; }
.admin-impersonation-banner button { min-height: 32px; padding: 0 13px; border: 1px solid rgba(243,223,179,.28); border-radius: 9px; background: rgba(255,255,255,.05); color: #f3dfb3; cursor: pointer; font-size: 11px; font-weight: 800; white-space: nowrap; }
.is-impersonating .site-header { top: 46px; }
.is-impersonating .dashboard { padding-top: 150px; }
.impersonation-locked-card p { margin: 0; color: var(--muted); font-size: 13px; line-height: 1.6; }

@media (max-width: 620px) {
  .admin-impersonation-banner { align-items: stretch; flex-direction: column; gap: 7px; padding: 9px 12px; }
  .admin-impersonation-banner strong, .admin-impersonation-banner span { display: block; }
  .admin-impersonation-banner span { margin: 2px 0 0; }
  .admin-impersonation-banner button { width: 100%; }
  .is-impersonating .site-header { top: 88px; }
  .is-impersonating .dashboard { padding-top: 166px; }
}
