:root {
  --ink: #17110a;
  --ink-soft: #4f4535;
  --muted: #756853;
  --cream: #fff9ec;
  --cream-2: #f7ecd2;
  --honey: #f6b81a;
  --honey-2: #ffd86b;
  --amber: #b97813;
  --leaf: #667b39;
  --white: #ffffff;
  --line: rgba(43, 30, 12, 0.12);
  --line-strong: rgba(43, 30, 12, 0.2);
  --panel: rgba(255, 255, 255, 0.74);
  --panel-soft: rgba(255, 248, 230, 0.82);
  --shadow: 0 22px 60px rgba(73, 45, 6, 0.12);
  --radius: 10px;
  --max: 1180px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  font-family: "Segoe UI", Inter, system-ui, -apple-system, BlinkMacSystemFont, sans-serif;
  color: var(--ink);
  background:
    radial-gradient(circle at 10% 8%, rgba(246, 184, 26, 0.22), transparent 21rem),
    radial-gradient(circle at 88% 18%, rgba(102, 123, 57, 0.12), transparent 24rem),
    linear-gradient(180deg, #fffaf0 0%, #f8efd8 52%, #fff8e9 100%);
  overflow-x: hidden;
}

a { color: inherit; text-decoration: none; }
img { display: block; max-width: 100%; }
button, input, textarea { font: inherit; }
h1, h2, h3, p {
  overflow-wrap: break-word;
  word-break: normal;
  hyphens: none;
}
h1 {
  margin: 14px 0;
  max-width: 15ch;
  font-size: clamp(1.9rem, 3.5vw, 3.35rem);
  line-height: 1.02;
  letter-spacing: 0;
}
h2 {
  margin: 12px 0;
  font-size: clamp(1.75rem, 3vw, 2.65rem);
  line-height: 1.03;
  letter-spacing: 0;
}
h3 { margin: 8px 0; font-size: 1.18rem; line-height: 1.25; }
p { margin: 0; }
.container { width: min(calc(100% - 32px), var(--max)); margin: 0 auto; }
.site-shell { position: relative; isolation: isolate; min-height: 100vh; }
.site-shell::before {
  content: "";
  position: fixed;
  inset: 0;
  z-index: -2;
  opacity: .22;
  pointer-events: none;
  background-image:
    linear-gradient(30deg, rgba(185, 120, 19, .16) 12%, transparent 12.5%, transparent 87%, rgba(185, 120, 19, .16) 87.5%, rgba(185, 120, 19, .16)),
    linear-gradient(150deg, rgba(185, 120, 19, .16) 12%, transparent 12.5%, transparent 87%, rgba(185, 120, 19, .16) 87.5%, rgba(185, 120, 19, .16)),
    linear-gradient(30deg, rgba(185, 120, 19, .16) 12%, transparent 12.5%, transparent 87%, rgba(185, 120, 19, .16) 87.5%, rgba(185, 120, 19, .16)),
    linear-gradient(150deg, rgba(185, 120, 19, .16) 12%, transparent 12.5%, transparent 87%, rgba(185, 120, 19, .16) 87.5%, rgba(185, 120, 19, .16));
  background-size: 92px 160px;
  background-position: 0 0, 0 0, 46px 80px, 46px 80px;
}

.bee-field { position: fixed; inset: 0; z-index: -1; overflow: hidden; pointer-events: none; }
.bee-field span {
  position: absolute;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--ink);
  box-shadow: 6px 0 0 rgba(246,184,26,.72), -6px 0 0 rgba(246,184,26,.55);
  opacity: .14;
  animation: beeDrift 18s linear infinite;
}
.bee-field span:nth-child(1) { left: 12%; top: 88%; animation-delay: 0s; }
.bee-field span:nth-child(2) { left: 70%; top: 80%; animation-delay: -7s; }
.bee-field span:nth-child(3) { left: 88%; top: 60%; animation-delay: -12s; }
@keyframes beeDrift {
  from { transform: translate3d(0, 0, 0) rotate(0deg); }
  to { transform: translate3d(-90px, -760px, 0) rotate(16deg); }
}

.topbar {
  position: sticky;
  top: 0;
  z-index: 50;
  border-bottom: 1px solid var(--line);
  background: rgba(255, 249, 236, 0.86);
  backdrop-filter: blur(18px);
}
.nav { display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 8px 0; }
.brand { display: flex; align-items: center; gap: 12px; min-width: 54px; }
.brand img { width: 450px; height: 138px; object-fit: contain; border-radius: 0; border: 0; box-shadow: none; }
.brand strong { display: block; font-weight: 900; color: var(--ink); }
.brand small { display: block; color: var(--amber); font-size: .74rem; font-weight: 800; text-transform: uppercase; letter-spacing: 0; }
.nav-links { display: flex; align-items: center; justify-content: center; flex: 1; gap: 2px; color: var(--ink-soft); font-size: .92rem; }
.nav-links a { padding: 10px 12px; border-radius: 999px; transition: background .2s ease, color .2s ease; white-space: nowrap; }
.nav-links a:hover, .nav-links a.active { color: var(--ink); background: rgba(246,184,26,.22); }
.nav-actions { display: flex; align-items: center; justify-content: flex-end; min-width: 48px; }
.admin-bee {
  display: grid;
  place-items: center;
  width: 42px;
  height: 42px;
  border: 1px solid rgba(185,120,19,.22);
  border-radius: 50%;
  background: rgba(246,184,26,.18);
  font-size: 1.15rem;
}
.menu-toggle { display: none; width: 46px; height: 46px; border: 1px solid var(--line-strong); border-radius: 50%; background: #fff4d5; color: var(--ink); cursor: pointer; }
.mobile-panel { display: none; }

.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  padding: 12px 22px;
  border: 1px solid transparent;
  border-radius: 999px;
  font-weight: 850;
  line-height: 1.1;
  cursor: pointer;
  transition: transform .22s ease, box-shadow .22s ease, background .22s ease;
}
.btn:hover { transform: translateY(-2px); }
.btn-primary, .btn-wa {
  background: linear-gradient(135deg, var(--ink), #3a2a13);
  color: #fff8df;
  box-shadow: 0 16px 32px rgba(23,17,10,.18);
}
.btn-secondary {
  border-color: rgba(185,120,19,.24);
  background: rgba(255,255,255,.68);
  color: var(--ink);
}
.btn-gold {
  background: linear-gradient(135deg, var(--honey), var(--honey-2));
  color: #4a2c08;
  box-shadow: 0 16px 32px rgba(185,120,19,.18);
}
.btn-danger { border-color: rgba(185,28,28,.28); background: #fff0ed; color: #8d1f16; }

.hero { padding: 62px 0 42px; }
.hero.compact { padding: 58px 0 26px; }
.themed-hero {
  position: relative;
  overflow: hidden;
  background:
    linear-gradient(90deg, rgba(255,249,236,.66), rgba(255,249,236,.42)),
    url("../img/home-banner.png") center / cover;
  border-bottom: 1px solid rgba(185,120,19,.12);
}
.about-hero { background-position: center 42%; }
.atendimento-hero { background-position: center 58%; }
.tratamentos-hero, .produtos-hero { background-position: center 50%; }
.blog-hero, .contato-hero { background-position: center 46%; }
.hero-grid { display: grid; grid-template-columns: minmax(0, .95fr) minmax(340px, 1.05fr); gap: clamp(28px, 5vw, 64px); align-items: center; }
.home-hero {
  position: relative;
  min-height: min(680px, calc(100vh - 72px));
  display: grid;
  align-items: center;
  padding: 72px 0;
  overflow: hidden;
  background: #1c1307;
}
.home-hero-media,
.home-hero-media img,
.home-hero-overlay {
  position: absolute;
  inset: 0;
}
.home-hero-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}
.home-hero-overlay {
  background:
    linear-gradient(90deg, rgba(10, 7, 3, .78) 0%, rgba(23, 17, 10, .56) 38%, rgba(23, 17, 10, .18) 68%, rgba(23, 17, 10, .28) 100%),
    linear-gradient(180deg, rgba(0,0,0,.12), rgba(0,0,0,.34));
}
.home-hero-content {
  position: relative;
  z-index: 1;
}
.home-hero .hero-copy {
  max-width: 560px;
  color: #fff8e8;
}
.home-hero .hero-copy h1 {
  max-width: 13ch;
  color: #fff8e8;
  text-shadow: 0 12px 32px rgba(0,0,0,.38);
}
.home-hero .hero-copy p {
  color: #f1dfbd;
}
.themed-hero .section-head p {
  color: #3a2a13;
  font-weight: 600;
}
.home-hero .pill {
  color: var(--honey-2);
  background: rgba(246,184,26,.18);
  border-color: rgba(255,216,107,.28);
}
.home-hero .stats span {
  color: #fff2cf;
  background: rgba(255,255,255,.12);
  border-color: rgba(255,255,255,.18);
}
.home-hero .btn-wa {
  background: linear-gradient(135deg, var(--honey), var(--honey-2));
  color: var(--ink);
  box-shadow: 0 16px 34px rgba(0,0,0,.18);
}
.home-hero .btn-secondary {
  color: #fff8e8;
  border-color: rgba(255,255,255,.32);
  background: rgba(255,255,255,.1);
}
.hero-copy p,
.section-head p,
.section-copy p,
.lead,
.card p,
.quote-card p,
.product-card p,
.article-card p,
.rich-text,
.mini-panel p,
.contact-item p {
  color: var(--muted);
  line-height: 1.72;
  font-size: 1rem;
}
.hero-copy h1 { max-width: 14ch; font-size: clamp(2.1rem, 4.15vw, 3.7rem); }
.hero-copy > p { max-width: 34rem; font-size: 1rem; }
.pill, .eyebrow, .mini-tag {
  display: inline-flex;
  align-items: center;
  width: fit-content;
  padding: 8px 13px;
  border: 1px solid rgba(185,120,19,.2);
  border-radius: 999px;
  background: rgba(246,184,26,.16);
  color: var(--amber);
  font-size: .76rem;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: 0;
}
.actions, .stats { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; }
.actions { margin-top: 28px; }
.stats { margin-top: 24px; }
.stats span {
  padding: 10px 13px;
  border: 1px solid rgba(185,120,19,.18);
  border-radius: 999px;
  background: rgba(255,255,255,.6);
  color: var(--ink-soft);
  font-size: .9rem;
  font-weight: 700;
}

.hero-art { min-height: 430px; display: grid; place-items: center; }
.premium-card {
  position: relative;
  width: min(430px, 100%);
  padding: 18px;
  border: 1px solid rgba(185,120,19,.18);
  border-radius: 28px 28px 80px 28px;
  background:
    linear-gradient(180deg, rgba(255,255,255,.82), rgba(255,244,213,.82)),
    radial-gradient(circle at 70% 10%, rgba(246,184,26,.2), transparent 16rem);
  box-shadow: var(--shadow);
}
.premium-card::before {
  content: "";
  position: absolute;
  inset: -20px -18px auto auto;
  width: 120px;
  height: 120px;
  border-radius: 50%;
  background: linear-gradient(135deg, var(--honey), var(--honey-2));
  opacity: .34;
  z-index: -1;
}
.premium-card img {
  width: 100%;
  aspect-ratio: 1 / 1;
  object-fit: cover;
  border-radius: 22px 22px 64px 22px;
  border: 1px solid rgba(185,120,19,.16);
}
.glass-note {
  position: absolute;
  max-width: 210px;
  padding: 13px 15px;
  border: 1px solid rgba(185,120,19,.16);
  border-radius: 16px;
  background: rgba(255, 252, 245, .9);
  box-shadow: 0 16px 34px rgba(73,45,6,.1);
}
.glass-note small { display: block; color: var(--amber); font-weight: 900; text-transform: uppercase; margin-bottom: 5px; }
.glass-note strong { color: var(--ink-soft); font-size: .9rem; line-height: 1.35; }
.n1 { top: 28px; left: -24px; }
.n2 { right: -22px; top: 43%; }
.n3 { left: 26px; bottom: -20px; }

.section { padding: 58px 0; }
.split, .feature-split { display: grid; grid-template-columns: minmax(0, 1fr) minmax(320px, 1fr); gap: 32px; align-items: center; }
.section-head { max-width: 820px; margin: 0 auto 32px; text-align: center; }
.section-head h1 { margin-left: auto; margin-right: auto; max-width: 18ch; font-size: clamp(1.95rem, 3.5vw, 3.2rem); }
.section-copy { max-width: 620px; }
.feature-panel,
.card,
.quote-card,
.product-card,
.article-card,
.mini-panel,
.contact-item,
.form-box,
.cta-box,
.empty-state,
.portrait-card,
.disclaimer {
  border: 1px solid rgba(185,120,19,.16);
  border-radius: var(--radius);
  background: var(--panel);
  box-shadow: var(--shadow);
}
.feature-panel, .card, .quote-card, .mini-panel, .contact-item, .form-box, .cta-box, .empty-state, .disclaimer { padding: 24px; }
.card-grid { display: grid; gap: 20px; }
.card-grid.three { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.card-grid.four { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.card-grid.five { grid-template-columns: repeat(5, minmax(0, 1fr)); }
.card-grid.one { grid-template-columns: 1fr; }
.card {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 12px;
  min-height: 240px;
}
.card .btn { margin-top: auto; }
.treatment-home-card { text-align: center; align-items: center; }
.treatment-home-card .btn { align-self: center; background: linear-gradient(135deg, var(--honey), var(--honey-2)); color: #4a2c08; }
.centered-card { text-align: center; align-items: center; }
.treatment-card {
  overflow: hidden;
  padding-top: 0;
}
.treatment-card-media {
  width: calc(100% + 48px);
  max-width: none;
  margin: 0 -24px 10px;
  aspect-ratio: 16 / 9;
  object-fit: cover;
  background: #eadcbf;
}
.section-action { margin-top: 24px; }
.link-arrow { color: var(--amber); font-weight: 900; }
.link-arrow::after { content: " →"; }
.list { list-style: none; margin: 18px 0 0; padding: 0; display: grid; gap: 12px; }
.list li { display: flex; gap: 10px; align-items: flex-start; color: var(--muted); line-height: 1.58; }
.list span {
  display: inline-grid;
  place-items: center;
  width: 24px;
  height: 24px;
  flex: 0 0 24px;
  border-radius: 50%;
  color: var(--ink);
  background: var(--honey);
  font-weight: 900;
}
.glow-band {
  background: linear-gradient(90deg, rgba(246,184,26,.2), rgba(102,123,57,.12));
  border-block: 1px solid rgba(185,120,19,.12);
}
.benefit-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
.benefit {
  min-height: 150px;
  padding: 22px;
  border: 1px solid rgba(185,120,19,.14);
  border-radius: var(--radius);
  background: rgba(255,255,255,.62);
}
.benefit strong { display: block; margin-bottom: 8px; color: var(--ink); }
.benefit span { display: block; color: var(--muted); line-height: 1.62; }
.testimonial-track { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
.stars { color: var(--amber); margin-bottom: 12px; letter-spacing: 2px; }
.quote-card strong, .quote-card span { display: block; }
.quote-card span { color: var(--muted); margin-top: 4px; }
.cta-box {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 20px;
  align-items: center;
  background: linear-gradient(135deg, #1f1609, #4b310c);
  color: #fff9ea;
}
.cta-box p { color: #eadbbd; }
.cta-box .eyebrow { background: rgba(246,184,26,.16); color: var(--honey-2); border-color: rgba(255,216,107,.2); }
.cta-box h2 { font-size: clamp(1.75rem, 4vw, 3rem); }
.cta-box .btn-wa { background: linear-gradient(135deg, var(--honey), var(--honey-2)); color: var(--ink); box-shadow: none; }
.center-actions { justify-content: center; }

.product-card, .article-card { overflow: hidden; display: flex; flex-direction: column; min-height: 100%; }
.product-card img, .article-card img, .portrait-card img, .article-hero {
  width: 100%;
  aspect-ratio: 16 / 10;
  object-fit: cover;
  background: #eadcbf;
}
.product-card div, .article-card div { padding: 20px; flex: 1; }
.product-card .btn { margin: 0 20px 20px; }
.product-card .btn-wa {
  background: linear-gradient(135deg, var(--honey), var(--honey-2));
  color: #4a2c08;
  box-shadow: 0 16px 30px rgba(185,120,19,.18);
}
.article-card h2 {
  max-width: 100%;
  font-size: clamp(1.08rem, 1.45vw, 1.32rem);
  line-height: 1.15;
}
.price { display: block; color: var(--amber); margin-top: 12px; font-size: 1.15rem; }
.portrait-card { overflow: hidden; }
.portrait-card img { aspect-ratio: 4 / 5; }
.timeline { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px; }
.timeline .card { border-radius: 18px; }
.step { display: grid; place-items: center; width: 42px; height: 42px; border-radius: 50%; background: var(--honey); color: var(--ink); font-weight: 900; }
.map-link { justify-content: center; text-align: center; }
.unit-city {
  width: 100%;
  text-align: center;
  font-size: 1.32rem;
}
.contact-item .map-link,
.card .map-link {
  align-self: center;
}
.contact-stack { display: grid; gap: 14px; }
.form-box { display: grid; gap: 14px; }
.input, .textarea {
  width: 100%;
  margin-top: 7px;
  padding: 14px 16px;
  border: 1px solid rgba(185,120,19,.22);
  border-radius: var(--radius);
  background: rgba(255,255,255,.74);
  color: var(--ink);
  outline: none;
}
.textarea { min-height: 140px; resize: vertical; }
.textarea.tall { min-height: 260px; }
.input:focus, .textarea:focus { border-color: var(--amber); box-shadow: 0 0 0 4px rgba(246,184,26,.16); }
.narrow { max-width: 850px; }
.article-page h1 { max-width: 18ch; font-size: clamp(2.05rem, 4.2vw, 3.85rem); }
.article-content {
  opacity: 1;
  transform: none;
}
.article-hero { border-radius: var(--radius); border: 1px solid rgba(185,120,19,.16); margin: 26px 0; }
.rich-text { font-size: 1.08rem; }
.about-layout { align-items: start; }
.about-left { display: grid; gap: 16px; align-self: start; justify-items: center; }
.therapist-portrait { width: min(50%, 260px); justify-self: center; }
.therapist-portrait img { aspect-ratio: 4 / 5; }
.professional-info { width: min(100%, 520px); }
.about-cta { margin: 30px auto 0; }
.product-grid-five .product-card h2,
.product-showcase .product-card h3 { font-size: 1rem; }
.product-grid-five .product-card p,
.product-showcase .product-card p { font-size: .92rem; }
.product-specs { list-style: none; padding: 0; margin: 14px 0 0; display: grid; gap: 7px; color: var(--muted); font-size: .88rem; }
.product-specs li::before { content: "•"; color: var(--amber); margin-right: 7px; }
.product-note { margin-bottom: 28px; }
.payment-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(340px, .95fr);
  gap: 28px;
  align-items: start;
}
.payment-panel {
  border: 1px solid rgba(185,120,19,.16);
  border-radius: 14px;
  background: rgba(255,255,255,.78);
  box-shadow: var(--shadow);
  padding: 28px;
  text-align: center;
}
.payment-success {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: #5d4b2d;
  font-size: 1.45rem;
  font-weight: 900;
}
.payment-lead {
  margin: 10px auto 18px;
  max-width: 540px;
  color: var(--ink-soft);
}
.payment-tabs {
  display: grid;
  grid-template-columns: 1fr 1fr;
  margin: 18px 0 0;
  border: 1px solid rgba(185,120,19,.16);
  border-bottom: 0;
  border-radius: 10px 10px 0 0;
  overflow: hidden;
}
.payment-tabs strong {
  padding: 12px;
  background: rgba(255,249,236,.9);
  color: var(--ink-soft);
  font-size: .92rem;
}
.payment-tabs strong:first-child {
  background: #fff;
  color: var(--ink);
}
.pix-box {
  display: grid;
  gap: 18px;
  justify-items: center;
  padding: 28px 18px;
  border: 1px solid rgba(185,120,19,.16);
  background: #fff;
}
.qr-code-image {
  width: 260px;
  height: 260px;
  object-fit: contain;
  padding: 10px;
  border: 1px solid rgba(43,30,12,.12);
  border-radius: 10px;
  background: #fff;
  box-shadow: 0 14px 34px rgba(23,17,10,.12);
}
.qr-placeholder {
  position: relative;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 9px;
  width: 190px;
  height: 190px;
  padding: 14px;
  border: 8px solid #f7f1e3;
  background:
    linear-gradient(45deg, #111 25%, transparent 25% 50%, #111 50% 75%, transparent 75%) 0 0 / 22px 22px,
    #fff;
  box-shadow: 0 14px 34px rgba(23,17,10,.12);
}
.qr-placeholder span {
  display: block;
  width: 48px;
  height: 48px;
  border: 8px solid #111;
  background: #fff;
}
.qr-placeholder span:nth-child(2),
.qr-placeholder span:nth-child(3) { visibility: hidden; }
.qr-placeholder strong {
  position: absolute;
  inset: 50% auto auto 50%;
  transform: translate(-50%, -50%);
  padding: 8px 10px;
  border-radius: 999px;
  background: var(--honey);
  color: var(--ink);
  font-size: .82rem;
}
.pix-copy {
  min-height: 86px;
  text-align: center;
  resize: none;
}
.payment-summary {
  margin: 20px auto 0;
  max-width: 560px;
  padding: 18px;
  border: 1px solid rgba(185,120,19,.14);
  border-radius: var(--radius);
  background: rgba(247,236,210,.55);
}
.payment-summary p {
  margin: 0 0 8px;
  color: var(--ink-soft);
}
.payment-form h2 {
  max-width: none;
  margin-top: 4px;
  font-size: clamp(1.5rem, 2.4vw, 2.25rem);
}
.testimonial-images { text-align: center; }
.testimonial-images img {
  width: 72px;
  height: 72px;
  object-fit: cover;
  border-radius: 50%;
  margin: 0 auto 14px;
  border: 2px solid rgba(246,184,26,.5);
}
.social-proof .section-head { text-align: center; }
.contact-row { display: grid; gap: 6px; }
.contact-form-title {
  max-width: 100%;
  font-size: clamp(1.14rem, 1.85vw, 1.58rem);
  line-height: 1.15;
  white-space: nowrap;
}
.address-item {
  align-items: start;
}
.address-item .map-link {
  width: fit-content;
  margin-top: 8px;
  align-self: flex-start;
}

.footer {
  position: relative;
  padding: 84px 0 28px;
  border-top: 0;
  background: #161006;
  color: #fff7e6;
  overflow: hidden;
}
.footer::before {
  content: "";
  position: absolute;
  inset: 0 0 auto;
  height: 72px;
  background:
    radial-gradient(140% 82px at 18% -10px, #fffaf0 0 60%, transparent 61%),
    radial-gradient(130% 76px at 72% -18px, #fffaf0 0 62%, transparent 63%);
  opacity: .98;
  pointer-events: none;
}
.footer::after {
  content: "";
  position: absolute;
  inset: 74px auto 0 0;
  width: 100%;
  opacity: .18;
  background:
    radial-gradient(circle at 18% 78%, transparent 0 150px, rgba(246,184,26,.75) 151px 153px, transparent 154px),
    radial-gradient(circle at 62% 48%, transparent 0 190px, rgba(246,184,26,.62) 191px 193px, transparent 194px);
  pointer-events: none;
}
.footer-line {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(260px, .8fr) minmax(320px, 1fr) minmax(250px, .8fr);
  align-items: center;
  gap: 48px;
}
.footer-brand img { width: 338px; height: 144px; object-fit: contain; border-radius: 0; }
.footer-addresses,
.footer-contact {
  max-width: 560px;
  width: 100%;
}
.footer-contact { justify-self: end; }
.footer-addresses h2,
.footer-contact h2 {
  max-width: none;
  margin: 0 0 18px;
  color: #fff8df;
  font-size: 1.45rem;
}
.footer-addresses p,
.footer-contact p {
  margin: 0 0 10px;
  font-weight: 700;
}
.footer-bottom {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  margin-top: 54px;
  padding-top: 24px;
  border-top: 1px solid rgba(246,184,26,.22);
  text-align: center;
}
.footer-bottom > div { flex: 1; }
.footer-bottom p { margin: 0 0 6px; }
.footer-bottom small { color: #d8c8a8; }
.footer-admin-bee {
  display: grid;
  place-items: center;
  width: 42px;
  height: 42px;
  border: 1px solid rgba(246,184,26,.32);
  border-radius: 50%;
  background: rgba(246,184,26,.12);
  font-size: 1.15rem;
  opacity: .76;
}
.footer p, .copyright { color: #d8c8a8; line-height: 1.65; }
.footer a { color: #ffe08a; }
.reveal { opacity: 0; transform: translateY(16px); transition: opacity .65s ease, transform .65s ease; }
.reveal.visible { opacity: 1; transform: translateY(0); }

.admin-body {
  color: #fff7e6;
  background:
    linear-gradient(90deg, rgba(9,9,9,.50), rgba(9,9,9,.50)),
    url("../img/home-banner.png") center / cover fixed;
}
.admin-shell { min-height: 100vh; display: grid; grid-template-columns: 260px minmax(0, 1fr); }
.admin-login-page .admin-shell {
  grid-template-columns: 1fr;
  place-items: center;
  padding: 40px 24px;
}
.admin-sidebar {
  padding: 24px;
  border-right: 1px solid rgba(255,255,255,.18);
  background: rgba(16,16,14,.8);
  backdrop-filter: blur(18px);
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.admin-sidebar a { padding: 12px 14px; border-radius: var(--radius); background: rgba(255,255,255,.08); }
.admin-logo { color: var(--honey); font-weight: 900; margin-bottom: 10px; }
.admin-content { width: 100%; max-width: 1180px; margin: 0 auto; padding: 32px; }
.login-card {
  width: min(520px, 100%);
  margin: 0;
  padding: 34px 36px 36px;
  border: 1px solid rgba(255,255,255,.42);
  border-radius: 22px;
  background:
    linear-gradient(180deg, rgba(255,249,236,.96), rgba(247,236,210,.92));
  color: var(--ink);
  box-shadow: 0 32px 90px rgba(0,0,0,.34);
  backdrop-filter: blur(14px);
}
.login-brand {
  display: grid;
  justify-items: center;
  gap: 8px;
  margin-bottom: 22px;
  text-align: center;
}
.login-brand img {
  width: 210px;
  height: 86px;
  object-fit: contain;
}
.login-card h1 {
  max-width: 100%;
  margin: 0;
  font-size: clamp(1.85rem, 4vw, 2.7rem);
  line-height: 1.05;
  white-space: nowrap;
}
.login-card form { display: grid; gap: 14px; }
.login-card label {
  color: var(--ink);
  font-weight: 700;
}
.login-card .btn-primary {
  margin-top: 2px;
  background: linear-gradient(135deg, var(--honey), var(--honey-2));
  color: #3a2a13;
  box-shadow: 0 16px 34px rgba(185,120,19,.22);
}
.admin-head { display: flex; justify-content: space-between; align-items: center; gap: 16px; margin-bottom: 22px; }
.admin-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.admin-card, .table-card { border: 1px solid rgba(255,255,255,.22); border-radius: var(--radius); background: rgba(23,19,13,.86); backdrop-filter: blur(10px); }
.admin-card { padding: 22px; display: grid; gap: 8px; }
.admin-card span, .table-row span { color: #d8c8a8; }
.table-row { display: flex; justify-content: space-between; gap: 18px; align-items: center; padding: 16px; border-bottom: 1px solid rgba(255,255,255,.12); }
.table-row:last-child { border-bottom: 0; }
.table-row > div:first-child {
  display: grid;
  gap: 7px;
  min-width: 0;
}
.table-row strong,
.table-row span {
  display: block;
  line-height: 1.35;
}
.table-row span {
  overflow-wrap: anywhere;
}
.row-actions { display: flex; gap: 8px; align-items: center; }
.row-actions form { margin: 0; }
.admin-form { max-width: 860px; color: var(--ink); }
.admin-divider {
  width: 100%;
  margin: 18px 0 4px;
  border: 0;
  border-top: 1px solid rgba(43,30,12,.14);
}
.admin-form label,
.admin-form h1,
.admin-form h2,
.admin-form h3,
.admin-form p {
  color: var(--ink);
}
.flash { padding: 14px 16px; border-radius: var(--radius); background: rgba(250,204,21,.14); border: 1px solid rgba(250,204,21,.28); margin-bottom: 18px; }
.password-field { position: relative; display: block; }
.password-field .input { padding-right: 52px; }
.password-toggle {
  position: absolute;
  right: 8px;
  top: 50%;
  width: 38px;
  height: 38px;
  border: 0;
  border-radius: 50%;
  background: rgba(246,184,26,.22);
  color: var(--ink);
  cursor: pointer;
  transform: translateY(-50%);
}

@media (max-width: 1040px) {
  .nav-links { gap: 0; font-size: .88rem; }
  .nav-links a { padding-inline: 9px; }
  .brand img { width: 300px; height: 104px; }
  .hero-grid { grid-template-columns: 1fr; }
  .hero-art { min-height: auto; }
  h1 { max-width: 18ch; }
}

@media (max-width: 900px) {
  .nav-links { display: none; }
  .menu-toggle { display: grid; place-items: center; }
  .mobile-panel {
    position: absolute;
    left: 16px;
    right: 16px;
    top: 76px;
    padding: 14px;
    border: 1px solid var(--line);
    border-radius: 18px;
    background: rgba(255,249,236,.98);
    box-shadow: var(--shadow);
  }
  .mobile-panel.open { display: grid; gap: 6px; }
  .mobile-panel a { padding: 12px; border-radius: 12px; background: rgba(246,184,26,.12); color: var(--ink); }
  .split, .feature-split, .cta-box { grid-template-columns: 1fr; }
  .payment-layout { grid-template-columns: 1fr; }
  .glass-note { position: static; max-width: none; margin-top: 10px; }
  .card-grid.three, .card-grid.four, .card-grid.five, .benefit-grid, .testimonial-track, .timeline, .admin-grid { grid-template-columns: 1fr 1fr; }
  .home-hero {
    min-height: 620px;
  }
  .home-hero-overlay {
    background: linear-gradient(180deg, rgba(10,7,3,.72), rgba(23,17,10,.34) 48%, rgba(10,7,3,.78));
  }
  .home-hero .hero-copy {
    max-width: 100%;
  }
}

@media (max-width: 680px) {
  .container { width: min(calc(100% - 24px), var(--max)); }
  .hero { padding-top: 58px; }
  .hero.compact { padding-top: 54px; }
  .home-hero {
    min-height: 590px;
    padding: 46px 0;
  }
  h1, .hero-copy h1, .section-head h1 { max-width: 100%; font-size: clamp(2rem, 10vw, 3rem); line-height: 1.06; }
  .card-grid.three, .card-grid.four, .card-grid.five, .benefit-grid, .testimonial-track, .timeline, .admin-grid { grid-template-columns: 1fr; }
  .footer-line { grid-template-columns: 1fr; gap: 28px; text-align: left; }
  .footer-contact { justify-self: start; }
  .footer-bottom { align-items: flex-start; text-align: left; flex-direction: column; }
  .footer-brand img { width: 240px; height: 104px; }
  .therapist-portrait { width: min(100%, 260px); }
  .brand img { width: 220px; height: 82px; }
  .contact-form-title { white-space: normal; }
  .actions, .btn, .cta-box .btn { width: 100%; }
  .premium-card { border-radius: 22px; }
  .premium-card img { border-radius: 18px; }
  .admin-shell { grid-template-columns: 1fr; }
  .admin-sidebar { border-right: 0; border-bottom: 1px solid rgba(255,255,255,.12); }
  .admin-content { padding: 20px; }
  .table-row, .admin-head { align-items: flex-start; flex-direction: column; }
  .row-actions { width: 100%; flex-wrap: wrap; }
}
