:root {
  --brand-cream: #fff;
  --brand-bg-elevated: #fcfaf6;
  --brand-bg-soft: #f6f3ee;
  --brand-orange: #e4ac59;
  --brand-orange-soft: #e8bc78;
  --brand-gold: #efba64;
  --brand-gold-bright: #fdd990;
  --brand-chip: #f0ba59;
  --brand-chip-foreground: #1d140d;
  --brand-ink: #180f09;
  --brand-muted: #5b544c;
  --brand-coral: #ff9782;
  --brand-brown: #501c06;
  --border: #e2e8f0;
  --gradient-gold: linear-gradient(135deg, #f9d28a, #d6963b 50%, #aa691b);
  --gradient-gold-soft: linear-gradient(135deg, #e8bc78, #bd8130);
  --shadow-gold: 0 12px 30px -10px #d0903373;
  --shadow-card: 0 25px 50px -12px rgba(0, 0, 0, 0.2);
  --radius: 10px;
}

*, *::before, *::after { box-sizing: border-box; }
html { color-scheme: light; background: #fff; }
body {
  margin: 0;
  min-width: 320px;
  color: var(--brand-ink);
  background: #fff;
  font-family: "Montserrat", ui-sans-serif, system-ui, sans-serif;
  -webkit-font-smoothing: antialiased;
}
body::before {
  content: "";
  position: fixed;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  opacity: .18;
  mix-blend-mode: multiply;
  background-image:
    radial-gradient(55% 38% at 88% 8%, rgba(239, 186, 100, .2), transparent 70%),
    radial-gradient(45% 32% at 8% 92%, rgba(239, 186, 100, .16), transparent 70%),
    url("assets/organic-gold-lines.svg");
  background-repeat: no-repeat;
  background-size: cover;
}
img { display: block; max-width: 100%; }
button, a { font: inherit; }
a { color: inherit; text-decoration: none; }
button { color: inherit; }
h1, h2, h3, p { margin-top: 0; }
h1, h2 { font-family: "Plus Jakarta Sans", "Montserrat", sans-serif; letter-spacing: -.02em; }
h2 { font-weight: 300; }
h2 em, h1 span { font-style: normal; font-weight: 500; color: #b87927; }
svg { width: 100%; height: 100%; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.section { position: relative; overflow: hidden; }
.section__header { text-align: center; margin: 0 auto; }
.section__header p { color: var(--brand-muted); line-height: 1.7; }
.section-tag {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  padding: 12px 28px;
  border: 1px solid rgba(239, 186, 100, .55);
  border-radius: 999px;
  background: var(--brand-chip);
  box-shadow: 0 10px 22px -18px rgba(24, 15, 9, .6);
  color: var(--brand-chip-foreground);
  font-size: 12.48px;
  font-weight: 600;
  letter-spacing: .28em;
  line-height: 1;
}
.section-tag--dark { color: var(--brand-gold-bright); background: rgba(239, 186, 100, .1); }
.button {
  display: inline-flex;
  min-height: 52px;
  align-items: center;
  justify-content: center;
  gap: 14px;
  border: 0;
  cursor: pointer;
  background: var(--gradient-gold);
  color: var(--brand-ink);
  box-shadow: var(--shadow-gold);
  font-size: 13.6px;
  font-weight: 700;
  transition: filter 150ms cubic-bezier(.4, 0, .2, 1), transform 150ms cubic-bezier(.4, 0, .2, 1);
}
.button:hover { filter: brightness(1.08); transform: scale(1.02); }
.button:focus-visible, .video-card:focus-visible, .accordion button:focus-visible, .post-card:focus-visible { outline: 3px solid var(--brand-coral); outline-offset: 4px; }
.button--pill { min-height: 56px; padding: 8px 28px 8px 8px; border-radius: 999px; }
.button__icon { display: inline-flex; width: 40px; height: 40px; align-items: center; justify-content: center; flex: 0 0 40px; padding: 10px; border-radius: 50%; background: var(--brand-ink); color: var(--brand-gold-bright); }
.button--wide, .button--rect { padding: 16px 32px; border-radius: 14px; font-size: 15.2px; }
.button--wide { width: 100%; }
.button--full { width: 100%; }

/* 1. Hero */
.hero { min-height: 838px; background: #fff; overflow: hidden; }
.hero__inner { position: relative; z-index: 2; max-width: 1400px; min-height: 838px; margin: 0 auto; padding: 72px 64px 96px; display: grid; grid-template-columns: 580px 1fr; align-items: center; }
.hero__content { width: 576px; }
.hero__logo { width: 220px; height: 98px; margin: 0 0 24px; object-fit: cover; object-position: center 44%; mix-blend-mode: multiply; }
.eyebrow { margin-bottom: 18px; color: #9a641f; font-size: 11px; font-weight: 700; letter-spacing: .28em; }
.hero h1 { max-width: 576px; margin-bottom: 24px; font-size: 45.72px; font-weight: 200; line-height: 1.05; }
.hero h1 span { background: var(--gradient-gold); background-clip: text; -webkit-background-clip: text; color: transparent; }
.hero__lead { max-width: 520px; margin-bottom: 30px; color: var(--brand-muted); font-size: 16px; line-height: 1.75; }
.hero__trust { display: flex; max-width: 576px; flex-wrap: wrap; gap: 12px 18px; margin-top: 34px; color: #4f473f; font-size: 11px; font-weight: 600; }
.hero__trust span { display: inline-flex; align-items: center; gap: 7px; white-space: nowrap; }
.hero__trust i { display: grid; width: 19px; height: 19px; place-items: center; border: 1px solid rgba(239, 186, 100, .8); border-radius: 50%; color: #a56d25; font-style: normal; }
.hero__image { position: absolute; z-index: 1; inset: 0 0 0 auto; width: min(69.2vw, 942px); height: 838px; }
.hero__image picture { display: block; width: 100%; height: 100%; }
.hero__image::before, .hero__image::after { content: ""; position: absolute; z-index: 2; pointer-events: none; }
.hero__image::before { inset: 0 auto 0 0; width: 36%; background: linear-gradient(90deg, #fff 3%, rgba(255, 255, 255, .86) 32%, transparent); }
.hero__image::after { inset: auto 0 0; height: 14%; width: 100%; background: linear-gradient(transparent, #fff); }
.hero__image img { width: 100%; height: 100%; object-fit: cover; object-position: 64% 47%; }

/* 2. Resultados */
.results { min-height: 652px; padding: 80px 64px 56px; background: rgba(255, 255, 255, .96); }
.results__header { max-width: 920px; }
.results h2 { margin: 22px 0 14px; font-size: 48px; line-height: 1.25; }
.results__header p { max-width: 760px; margin: 0 auto; }
.cases { max-width: 1217px; height: 302px; margin: 38px auto 0; overflow: hidden; }
.cases__track { display: flex; width: max-content; gap: 32px; animation: marquee-left 40s linear infinite; }
.case-card { display: grid; width: 680px; height: 302px; grid-template-columns: 1fr 1fr; overflow: hidden; border: 1px solid rgba(239, 186, 100, .2); border-radius: 18px; background: var(--brand-bg-elevated); box-shadow: var(--shadow-card); }
.case-frame { position: relative; height: 300px; overflow: hidden; }
.case-frame + .case-frame { border-left: 1px solid rgba(239, 186, 100, .28); }
.case-frame img { width: 100%; height: 200%; max-width: none; object-fit: cover; }
.case-frame--before img { transform: translateY(0); }
.case-frame--after img { transform: translateY(-50%); }
.case-frame span { position: absolute; bottom: 16px; left: 16px; padding: 8px 12px; border-radius: 999px; background: rgba(24, 15, 9, .82); color: #fff; font-size: 10px; font-weight: 700; letter-spacing: .18em; backdrop-filter: blur(8px); }
.results-proof__heading { max-width: 760px; margin: 72px auto 0; text-align: center; }
.results-proof__heading span { color: var(--brand-brown); font-size: 10px; font-weight: 700; letter-spacing: .24em; }
.results-proof__heading h3 { margin: 14px 0 0; font-family: "Plus Jakarta Sans", sans-serif; font-size: 30px; font-weight: 300; line-height: 1.25; }
.results-proof { max-width: 1217px; margin: 32px auto 0; display: grid; grid-template-columns: .78fr .78fr 1.24fr; gap: 24px; align-items: stretch; }
.result-proof-card { display: flex; min-width: 0; flex-direction: column; overflow: hidden; border: 1px solid rgba(239, 186, 100, .24); border-radius: 20px; background: var(--brand-bg-elevated); box-shadow: var(--shadow-card); }
.result-proof-card__media { position: relative; flex: 1; overflow: hidden; background: var(--brand-ink); }
.result-proof-card--video .result-proof-card__media { aspect-ratio: 9 / 16; }
.result-proof-card__media video, .result-proof-card__media img { display: block; width: 100%; height: 100%; object-fit: cover; }
.result-proof-card--patient .result-proof-card__media { min-height: 520px; }
.result-proof-card--patient img { object-position: 43% center; }
.result-proof-card__badge { position: absolute; z-index: 2; top: 16px; left: 16px; padding: 8px 11px; border: 1px solid rgba(239, 186, 100, .38); border-radius: 999px; background: rgba(24, 15, 9, .82); color: #fff; font-size: 9px; font-weight: 700; letter-spacing: .14em; backdrop-filter: blur(8px); pointer-events: none; }
.result-proof-card__copy { min-height: 112px; padding: 20px 22px 22px; display: grid; gap: 8px; align-content: start; }
.result-proof-card__copy strong { font-family: "Plus Jakarta Sans", sans-serif; font-size: 17px; font-weight: 600; }
.result-proof-card__copy p { margin: 0; color: var(--brand-muted); font-size: 12px; line-height: 1.55; }
.medical-note { margin: 24px auto 0; text-align: center; color: #777067; font-size: 10px; }
@keyframes marquee-left { from { transform: translateX(0); } to { transform: translateX(calc(-50% - 16px)); } }

/* 3. Planejamento */
.planning { min-height: 664px; padding: 96px 64px; }
.planning__inner { max-width: 1217px; min-height: 472px; margin: 0 auto; display: grid; grid-template-columns: 576.5px 576.5px; gap: 64px; align-items: center; }
.planning__gallery { display: grid; grid-template-columns: repeat(2, 280px); gap: 16px; }
.planning__gallery img { width: 280px; height: 467px; border: 1px solid rgba(239, 186, 100, .2); border-radius: 18px; object-fit: cover; box-shadow: var(--shadow-card); }
.planning__content h2 { margin: 24px 0 0; padding-left: 20px; border-left: 2px solid var(--brand-gold); font-size: 40px; line-height: 1.05; }
.info-card { margin: 32px 0 28px; padding: 30px 32px; border: 1px solid rgba(239, 186, 100, .2); border-left: 2px solid var(--brand-gold); border-radius: 18px; background: var(--brand-bg-elevated); box-shadow: var(--shadow-card); }
.info-card p { margin: 0; color: var(--brand-muted); line-height: 1.75; }

/* 4. Consulta */
.consultation { min-height: 844px; padding: 8px 64px 80px; }
.consultation__panel { position: relative; max-width: 1217px; min-height: 756px; margin: 0 auto; padding: 64px; display: grid; grid-template-columns: 520px 440px; justify-content: space-between; gap: 70px; overflow: hidden; border: 1px solid rgba(239, 186, 100, .4); border-radius: 40px; background: radial-gradient(circle at 10% 5%, rgba(239, 186, 100, .28), transparent 31%), radial-gradient(circle at 95% 90%, rgba(239, 186, 100, .18), transparent 30%), var(--brand-ink); color: #fff; }
.consultation__copy { align-self: center; }
.consultation__copy h2 { margin: 24px 0; font-size: 45.6px; line-height: 1.22; }
.consultation__copy h2 em { color: var(--brand-gold-bright); }
.consultation__copy > p { color: #d8d0c8; line-height: 1.75; }
.check-list { display: grid; gap: 10px; margin: 22px 0 28px; padding: 0; list-style: none; color: #eee5db; font-size: 13px; }
.check-list li { position: relative; padding-left: 24px; }
.check-list li::before { content: "✓"; position: absolute; left: 0; color: var(--brand-gold); font-weight: 800; }
.video-card { position: relative; width: 440px; height: 626px; align-self: center; padding: 0; overflow: hidden; border: 1px solid rgba(239, 186, 100, .35); border-radius: 24px; background: #000; color: #fff; cursor: pointer; box-shadow: 0 32px 80px rgba(0, 0, 0, .35); }
.video-card img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 45%; }
.video-card__shade { position: absolute; inset: 0; background: linear-gradient(transparent 45%, rgba(0, 0, 0, .8)); }
.video-card__play { position: absolute; top: 50%; left: 50%; display: grid; width: 80px; height: 80px; padding: 24px; place-items: center; transform: translate(-50%, -50%); border: 4px solid rgba(253, 217, 144, .3); border-radius: 50%; background: var(--brand-gold); color: var(--brand-ink); box-shadow: 0 12px 40px rgba(0, 0, 0, .35); }
.video-card__play svg { fill: currentColor; stroke: none; }
.video-card__label { position: absolute; right: 0; bottom: 28px; left: 0; font-size: 12px; font-weight: 600; letter-spacing: .16em; }

/* 5. Indicações */
.indications { min-height: 951px; }
.indications__inner { position: relative; z-index: 2; max-width: 1400px; min-height: 951px; margin: 0 auto; padding: 112px 64px; }
.indications__background { position: absolute; z-index: 0; top: 0; right: 0; width: 55%; height: 100%; background: radial-gradient(circle at 70% 50%, rgba(239, 186, 100, .38), transparent 56%), url("Imagens/GERADAS/procedimento-background.png") right center / contain no-repeat; opacity: .38; mix-blend-mode: multiply; }
.indications__inner > * { max-width: 760px; }
.indications h2 { margin: 24px 0 20px; font-size: 54.4px; font-weight: 500; line-height: 1.05; }
.indications__intro { color: var(--brand-muted); line-height: 1.7; }
.indications__list { display: grid; gap: 12px; margin: 28px 0 26px; }
.indication-card { display: flex; gap: 20px; padding: 18px 20px; border: 1px solid rgba(239, 186, 100, .2); border-radius: 18px; background: rgba(252, 250, 246, .9); backdrop-filter: blur(9px); }
.indication-card > span { display: grid; width: 44px; height: 44px; flex: 0 0 44px; place-items: center; border-radius: 50%; background: var(--gradient-gold-soft); color: var(--brand-ink); font-size: 11px; font-weight: 700; }
.indication-card h3 { margin: 1px 0 5px; font-size: 15px; }
.indication-card p { margin: 0; color: var(--brand-muted); font-size: 13px; line-height: 1.5; }

/* 6. Institucional */
.care { min-height: 585px; padding: 64px; }
.care__card { max-width: 1217px; min-height: 457px; margin: 0 auto; padding: 52px 64px; border: 1px solid rgba(239, 186, 100, .25); border-radius: 22px; background: var(--brand-bg-elevated); box-shadow: var(--shadow-card); }
.care__card > img { width: 228px; height: 82px; margin-bottom: 24px; object-fit: cover; object-position: center 42%; mix-blend-mode: multiply; }
.care h2 { max-width: 900px; margin-bottom: 16px; font-size: 32px; line-height: 1.4; }
.care__card > p { max-width: 760px; margin-bottom: 30px; color: var(--brand-muted); line-height: 1.7; }
.care__chips { display: flex; flex-wrap: wrap; gap: 12px; }
.care__chips span { padding: 13px 20px; border: 1px solid rgba(239, 186, 100, .3); border-radius: 999px; background: #fff; color: #655d55; font-size: 12px; font-weight: 600; }

/* 7. Prática */
.practice { min-height: 1382px; padding: 112px 64px; }
.practice__header { max-width: 860px; margin-bottom: 52px; }
.practice h2 { margin: 22px 0 14px; font-size: 48px; line-height: 1.25; }
.practice__grid { max-width: 1100px; margin: 0 auto; display: grid; grid-template-columns: repeat(2, 530px); gap: 40px; }
.practice-card { position: relative; height: 947px; overflow: hidden; border: 1px solid rgba(239, 186, 100, .2); border-radius: 18px; background: var(--brand-bg-elevated); box-shadow: var(--shadow-card); transition: transform .2s, border-color .2s; }
.practice-card:hover { transform: scale(1.01); border-color: rgba(239, 186, 100, .6); }
.practice-card img { width: 100%; height: 100%; object-fit: cover; }
.practice-card--second img { height: 75%; object-position: 50% center; }
.practice-card::after { content: ""; position: absolute; inset: 45% 0 0; background: linear-gradient(transparent, rgba(24, 15, 9, .94)); }
.practice-card--second::after { inset: 40% 0 0; }
.practice-card > div { position: absolute; z-index: 2; right: 38px; bottom: 42px; left: 38px; color: #fff; }
.practice-card > div span { color: var(--brand-gold-bright); font-size: 10px; font-weight: 700; letter-spacing: .24em; }
.practice-card h3 { margin: 16px 0 0; font-family: "Plus Jakarta Sans", sans-serif; font-size: 28px; font-weight: 300; line-height: 1.35; }

/* 8. Jornada */
.journey { min-height: 1099px; }
.journey__inner { max-width: 1345px; min-height: 1099px; margin: 0 auto; padding: 112px 64px; display: grid; grid-template-columns: 473px 696px; gap: 48px; }
.journey__copy { align-self: center; max-width: 448px; }
.journey h2 { margin: 24px 0; font-size: 54.4px; line-height: 1.05; }
.journey__copy > p { color: var(--brand-muted); line-height: 1.75; }
.journey__steps { display: grid; gap: 10px; margin: 28px 0; }
.journey__steps span { display: flex; align-items: center; gap: 14px; font-size: 13px; font-weight: 600; }
.journey__steps b { display: grid; width: 36px; height: 36px; place-items: center; border-radius: 50%; background: var(--brand-bg-soft); color: #a36b23; font-size: 10px; }
.journey__gallery { display: grid; grid-template-columns: repeat(6, 1fr); grid-template-rows: 563px 291px; gap: 20px; align-self: center; }
.journey__gallery img { width: 100%; height: 100%; border: 1px solid rgba(239, 186, 100, .2); border-radius: 18px; object-fit: cover; box-shadow: var(--shadow-card); }
.journey__main-one { grid-column: 1 / 4; }
.journey__main-two { grid-column: 4 / 7; }
.journey__gallery img:nth-child(3) { grid-column: 1 / 3; }
.journey__gallery img:nth-child(4) { grid-column: 3 / 5; }
.journey__gallery img:nth-child(5) { grid-column: 5 / 7; }

/* 9. Especialista */
.specialist { min-height: 927px; padding: 112px 64px; }
.specialist__inner { max-width: 1217px; margin: 0 auto; display: grid; grid-template-columns: 562px 591px; gap: 64px; align-items: center; }
.specialist__photo { position: relative; width: 562px; height: 703px; }
.specialist__photo > img { width: 100%; height: 100%; border: 1px solid rgba(239, 186, 100, .2); border-radius: 18px; object-fit: cover; box-shadow: var(--shadow-card); }
.specialist__badge { position: absolute; right: 24px; bottom: 24px; width: 280px; padding: 20px; display: grid; gap: 6px; border: 1px solid rgba(239, 186, 100, .25); border-radius: 14px; background: rgba(252, 250, 246, .95); backdrop-filter: blur(10px); }
.specialist__badge strong { font-family: "Plus Jakarta Sans", sans-serif; font-size: 18px; }
.specialist__badge span { color: var(--brand-brown); font-size: 12px; font-weight: 600; }
.specialist__badge small { color: var(--brand-muted); }
.specialist h2 { margin: 24px 0; font-size: 51.2px; line-height: 1.1; }
.specialist__copy p { max-width: 448px; color: var(--brand-muted); line-height: 1.75; }
.specialist blockquote { max-width: 448px; margin: 24px 0 28px; padding: 18px 0 18px 20px; border-left: 2px solid var(--brand-gold); color: #6d501f; font-family: "Plus Jakarta Sans", sans-serif; font-size: 18px; font-style: italic; line-height: 1.5; }

/* 10. Instagram */
.instagram { min-height: 1338px; padding: 112px 64px; }
.instagram__inner { max-width: 1200px; margin: 0 auto; }
.instagram__header { max-width: 800px; }
.instagram h2 { margin: 22px 0 38px; font-size: 48px; line-height: 1.1; }
.profile-card { width: 760px; min-height: 174px; margin: 0 auto 22px; padding: 20px 28px; display: grid; grid-template-columns: 80px 1fr auto; gap: 20px; align-items: center; border: 1px solid rgba(239, 186, 100, .25); border-radius: 18px; background: var(--brand-bg-elevated); box-shadow: 0 14px 35px rgba(0, 0, 0, .08); }
.profile-card img { width: 80px; height: 80px; border: 2px solid var(--brand-gold); border-radius: 50%; object-fit: cover; }
.profile-card div { display: grid; gap: 5px; }
.profile-card strong { font-family: "Plus Jakarta Sans", sans-serif; font-size: 17px; }
.profile-card span, .profile-card p { color: var(--brand-muted); font-size: 11px; }
.profile-card p { margin: 4px 0 0; line-height: 1.45; }
.profile-card a { padding: 11px 18px; border-radius: 10px; background: var(--gradient-gold); font-size: 11px; font-weight: 700; }
.instagram__grid { width: 760px; margin: 0 auto; display: grid; grid-template-columns: repeat(4, 184px); gap: 8px; }
.post-card { width: 184px; height: 327px; overflow: hidden; border-radius: 14px; background: #eee; transition: transform .3s; }
.post-card:hover { transform: translateY(-4px); }
.post-card img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s; }
.post-card:hover img { transform: scale(1.05); }

/* 11. Contato */
.contact { min-height: 463px; padding: 80px 64px; background: linear-gradient(110deg, #dba75c 0%, #efba64 50%, #f5cf82 100%); }
.contact__inner { max-width: 1217px; margin: 0 auto; display: grid; grid-template-columns: repeat(2, 576.5px); gap: 64px; align-items: center; }
.contact__copy { display: grid; grid-template-columns: 64px 1fr; gap: 22px; align-items: start; }
.contact__icon { width: 64px; height: 64px; padding: 14px; border-radius: 50%; background: var(--brand-ink); color: var(--brand-gold-bright); }
.contact .section-tag { background: rgba(255, 255, 255, .45); }
.contact h2 { margin: 20px 0 0; font-size: 41.6px; font-weight: 600; line-height: 1.15; }
.contact h2 em { color: var(--brand-brown); }
.contact__action > p { margin-bottom: 24px; color: #3c2918; line-height: 1.7; }
.button--dark { min-width: 350px; min-height: 76px; justify-content: flex-start; padding: 0 40px 0 12px; border-radius: 999px; background: #140b05; color: #fff; box-shadow: 0 12px 40px rgba(0, 0, 0, .45), inset 0 0 0 1px rgba(255, 255, 255, .1); font-size: 16px; text-transform: uppercase; }
.button--dark .button__icon { width: 58px; height: 58px; flex-basis: 58px; background: var(--gradient-gold); color: var(--brand-ink); }
.contact__action small { display: block; margin-top: 13px; color: rgba(24, 15, 9, .67); font-size: 10px; }

/* 12. FAQ */
.faq { min-height: 1358px; padding: 112px 64px; }
.faq__inner { max-width: 1100px; margin: 0 auto; }
.faq__header { max-width: 760px; margin-bottom: 48px; }
.faq h2 { margin: 22px 0 0; font-size: 48px; line-height: 1.1; }
.accordion { width: 972px; margin: 0 auto; display: grid; gap: 14px; }
.accordion__item { overflow: hidden; border: 1px solid rgba(239, 186, 100, .2); border-radius: 18px; background: var(--brand-bg-elevated); }
.accordion__item button { width: 100%; min-height: 84px; padding: 22px 32px; display: flex; align-items: center; justify-content: space-between; gap: 24px; border: 0; background: transparent; text-align: left; font-weight: 600; cursor: pointer; }
.accordion__item button i { display: grid; width: 36px; height: 36px; flex: 0 0 36px; place-items: center; border-radius: 50%; background: var(--gradient-gold); font-size: 20px; font-style: normal; font-weight: 400; }
.accordion__content { padding: 0 88px 28px 32px; }
.accordion__content p { margin: 0; color: var(--brand-muted); line-height: 1.7; }

.footer { min-height: 300px; padding: 58px 24px; display: flex; flex-direction: column; align-items: center; text-align: center; background: var(--brand-ink); color: #fff; }
.footer img { width: 220px; height: 92px; margin-bottom: 12px; object-fit: cover; object-position: center 42%; border-radius: 4px; }
.footer p { margin-bottom: 8px; color: #d8d0c8; font-size: 12px; }
.footer__legal { max-width: 560px; opacity: .65; line-height: 1.6; }
.footer a { margin-top: 18px; color: var(--brand-gold); font-size: 11px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; }
.floating-contact { position: fixed; z-index: 20; right: 24px; bottom: 24px; min-width: 130px; height: 50px; padding: 0 18px 0 12px; display: flex; align-items: center; gap: 9px; border-radius: 999px; background: #140b05; color: #fff; box-shadow: 0 10px 35px rgba(0, 0, 0, .35); font-size: 12px; font-weight: 700; }
.floating-contact svg { width: 25px; height: 25px; color: var(--brand-gold-bright); }

.modal { width: min(440px, calc(100vw - 32px)); max-height: calc(100vh - 32px); padding: 0; overflow: visible; border: 1px solid rgba(239, 186, 100, .5); border-radius: 24px; background: var(--brand-ink); box-shadow: 0 40px 100px rgba(0, 0, 0, .6); }
.modal::backdrop { background: rgba(10, 5, 2, .82); backdrop-filter: blur(6px); }
.modal video { display: block; width: 100%; max-height: calc(100vh - 32px); border-radius: 24px; background: #000; }
.modal__close { position: absolute; z-index: 2; top: -14px; right: -14px; display: grid; width: 42px; height: 42px; place-items: center; border: 2px solid #fff; border-radius: 50%; background: var(--brand-gold); color: var(--brand-ink); box-shadow: 0 10px 30px rgba(0, 0, 0, .4); font-size: 28px; cursor: pointer; }
.modal--contact { padding: 42px; overflow: hidden; background: var(--brand-bg-elevated); color: var(--brand-ink); }
.modal--contact h2 { margin: 24px 0 16px; font-size: 30px; }
.modal--contact p { color: var(--brand-muted); line-height: 1.7; }

@media (max-width: 1279px) {
  .hero__inner { grid-template-columns: minmax(500px, 1fr) 1fr; }
  .planning__inner, .contact__inner { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .planning__gallery { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .planning__gallery img { width: 100%; }
  .practice__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .journey__inner { grid-template-columns: minmax(380px, 473px) minmax(0, 696px); }
  .specialist__inner { grid-template-columns: minmax(450px, 562px) minmax(0, 591px); }
  .specialist__photo { width: 100%; }
}

@media (max-width: 1023px) {
  .hero { min-height: 960px; background: var(--brand-ink); color: #fff; }
  .hero__image { position: relative; width: 100%; height: 560px; }
  .hero__image::before { inset: auto 0 0; width: 100%; height: 42%; background: linear-gradient(transparent, var(--brand-ink)); }
  .hero__image::after { display: none; }
  .hero__image img { object-position: 50% 34%; }
  .hero__inner { min-height: 400px; margin-top: -175px; padding: 0 24px 64px; display: block; }
  .hero__content { width: 100%; max-width: 600px; }
  .hero__logo { display: none; }
  .hero h1 { color: #fff; }
  .hero__lead, .hero__trust { color: #d7cfc7; }
  .results-proof { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .result-proof-card--patient { grid-column: 1 / -1; }
  .result-proof-card--patient .result-proof-card__media { min-height: 520px; }
  .planning__inner, .specialist__inner, .contact__inner { grid-template-columns: 1fr; }
  .planning__inner { gap: 48px; }
  .consultation__panel { grid-template-columns: minmax(0, 1fr) 360px; gap: 36px; padding: 48px; }
  .video-card { width: 360px; }
  .practice__grid { grid-template-columns: 1fr 1fr; }
  .journey__inner { grid-template-columns: 1fr; }
  .journey__copy { max-width: 700px; }
  .specialist__photo { justify-self: center; max-width: 562px; }
  .contact__inner { gap: 32px; }
  .accordion { width: 100%; }
}

@media (max-width: 767px) {
  .section-tag { padding: 11px 20px; font-size: 9.5px; letter-spacing: .22em; }
  .hero { min-height: 1026px; }
  .hero__image { height: 608px; }
  .hero__inner { min-height: 418px; margin-top: -148px; padding-bottom: 56px; }
  .eyebrow { font-size: 9px; }
  .hero h1 { margin-bottom: 18px; font-size: 31px; line-height: 1.08; }
  .hero__lead { margin-bottom: 24px; font-size: 14px; line-height: 1.65; }
  .hero__trust { display: grid; grid-template-columns: 1fr 1fr; gap: 10px 14px; margin-top: 25px; font-size: 9px; }
  .hero__trust span:last-child { grid-column: 1 / -1; }

  .results { min-height: 560px; padding: 64px 24px 24px; }
  .results h2 { margin-top: 18px; font-size: 32px; line-height: 1.25; }
  .results__header p { font-size: 12px; }
  .cases { width: calc(100vw - 24px); height: 240px; margin-top: 28px; }
  .case-card { width: 520px; height: 240px; }
  .case-frame { height: 238px; }
  .results-proof__heading { margin-top: 48px; }
  .results-proof__heading h3 { font-size: 24px; }
  .results-proof { display: flex; width: 100%; gap: 16px; overflow-x: auto; scroll-snap-type: x mandatory; overscroll-behavior-inline: contain; padding: 4px 2px 14px; }
  .result-proof-card { flex: 0 0 min(82vw, 330px); scroll-snap-align: center; }
  .result-proof-card--patient { grid-column: auto; }
  .result-proof-card--patient .result-proof-card__media { min-height: 0; aspect-ratio: 9 / 16; }
  .result-proof-card__copy { min-height: 104px; padding: 18px; }
  .medical-note { font-size: 8px; }

  .planning { min-height: 865px; padding: 40px 24px 64px; }
  .planning__inner { gap: 36px; }
  .planning__gallery { gap: 9px; }
  .planning__gallery img { height: auto; aspect-ratio: 3 / 5; }
  .planning__content h2 { margin-top: 20px; font-size: 22.4px; line-height: 1.05; }
  .info-card { margin: 24px 0; padding: 22px; }
  .info-card p { font-size: 13px; }

  .consultation { min-height: 930px; padding: 8px 24px 80px; }
  .consultation__panel { min-height: 842px; padding: 36px 24px; grid-template-columns: 1fr; gap: 28px; border-radius: 28px; }
  .consultation__copy { display: contents; }
  .consultation__copy .section-tag, .consultation__copy h2, .consultation__copy > p, .check-list { grid-column: 1; }
  .consultation__copy h2 { margin: 18px 0 0; font-size: 28px; line-height: 1.22; }
  .consultation__copy > p { margin: 0; font-size: 13px; line-height: 1.6; }
  .check-list { margin: 0; font-size: 11px; }
  .video-card { grid-row: 3; width: 275px; height: 392px; justify-self: center; }
  .video-card__play { width: 64px; height: 64px; padding: 18px; }
  .consultation .button--wide { grid-row: 7; }

  .indications { min-height: 1012px; }
  .indications__inner { min-height: 1012px; padding: 56px 24px 80px; }
  .indications__background { width: 100%; opacity: .19; background-position: right bottom; }
  .indications h2 { margin-top: 20px; font-size: 35.2px; line-height: 1.05; }
  .indications__intro { font-size: 13px; }
  .indications__list { margin-top: 22px; }
  .indication-card { padding: 15px; gap: 14px; }
  .indication-card > span { width: 38px; height: 38px; flex-basis: 38px; }
  .indication-card h3 { font-size: 13px; }
  .indication-card p { font-size: 11px; }

  .care { min-height: 787px; padding: 64px 24px; }
  .care__card { min-height: 659px; padding: 42px 26px; }
  .care__card > img { width: 190px; }
  .care h2 { font-size: 28px; line-height: 1.35; }
  .care__card > p { font-size: 13px; }
  .care__chips { display: grid; grid-template-columns: 1fr; }
  .care__chips span { text-align: center; }

  .practice { min-height: 1483px; padding: 80px 24px; }
  .practice__header { margin-bottom: 36px; }
  .practice h2 { font-size: 32px; line-height: 1.25; }
  .practice__header p { font-size: 13px; }
  .practice__grid { width: 100%; grid-template-columns: 1fr; gap: 24px; }
  .practice-card { width: 100%; height: 570px; }
  .practice-card--second { height: 515px; }
  .practice-card > div { right: 24px; bottom: 28px; left: 24px; }
  .practice-card h3 { font-size: 22px; }

  .journey { min-height: 1350px; }
  .journey__inner { min-height: 1350px; padding: 80px 24px; gap: 48px; }
  .journey h2 { margin-top: 20px; font-size: 38.4px; line-height: 1.05; }
  .journey__copy > p { font-size: 13px; }
  .journey__gallery { grid-template-rows: 260px 188px; gap: 10px; }
  .journey__gallery img { border-radius: 12px; }

  .specialist { min-height: 1303px; padding: 80px 24px; }
  .specialist__inner { gap: 48px; }
  .specialist__photo { width: 100%; height: auto; aspect-ratio: 4 / 5; }
  .specialist__badge { right: 14px; bottom: 14px; width: 235px; padding: 16px; }
  .specialist h2 { margin-top: 20px; font-size: 38.4px; line-height: 1.1; }
  .specialist__copy p { font-size: 13px; }
  .specialist blockquote { font-size: 15px; }

  .instagram { min-height: 1132px; padding: 80px 24px; }
  .instagram h2 { margin: 18px 0 30px; font-size: 35.2px; line-height: 1.1; }
  .profile-card { width: 100%; min-height: 154px; padding: 16px; grid-template-columns: 64px 1fr; gap: 14px; }
  .profile-card img { width: 64px; height: 64px; }
  .profile-card p { display: none; }
  .profile-card a { grid-column: 1 / -1; text-align: center; }
  .instagram__grid { width: 278px; grid-template-columns: repeat(2, 135px); gap: 8px; }
  .post-card { width: 135px; height: 242px; }
  .post-card:nth-child(n+5) { display: none; }

  .contact { min-height: 501px; padding: 64px 24px; }
  .contact__copy { grid-template-columns: 52px 1fr; gap: 14px; }
  .contact__icon { width: 52px; height: 52px; padding: 12px; }
  .contact h2 { font-size: 30.4px; line-height: 1.15; }
  .contact__action > p { font-size: 13px; }
  .button--dark { width: 100%; min-width: 0; min-height: 70px; padding-right: 20px; font-size: 13px; }

  .faq { min-height: 1250px; padding: 80px 24px; }
  .faq__header { margin-bottom: 36px; }
  .faq h2 { font-size: 35.2px; line-height: 1.1; }
  .accordion__item button { min-height: 76px; padding: 18px; font-size: 13px; }
  .accordion__item button i { width: 32px; height: 32px; flex-basis: 32px; }
  .accordion__content { padding: 0 56px 22px 18px; }
  .accordion__content p { font-size: 12px; }
  .floating-contact { right: 14px; bottom: 14px; min-width: 50px; width: 50px; padding: 0 12px; }
  .floating-contact span { display: none; }
  .modal--contact { padding: 36px 24px; }
}

@media (max-width: 374px) {
  .hero__trust { grid-template-columns: 1fr; }
  .hero__trust span:last-child { grid-column: auto; }
  .journey h2, .specialist h2 { font-size: 34px; }
  .instagram__grid { width: 100%; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .post-card { width: 100%; height: auto; aspect-ratio: 9 / 16; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; }
  .cases__track { animation: none; }
}
