:root {
  --brand: #0b6b63;
  --brand-dark: #064d48;
  --brand-deep: #033d39;
  --brand-light: #dff3ef;
  --accent: #df735d;
  --accent-light: #fff0eb;
  --ink: #173532;
  --text: #536b68;
  --muted: #647b77;
  --cream: #f8f7f2;
  --line: #dce7e4;
  --white: #fff;
  --whatsapp: #20b866;
  --shadow: 0 20px 60px rgba(12, 73, 67, .11);
  --radius-lg: 32px;
  --radius-md: 22px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 96px; }
body { color: var(--text); font-family: "DM Sans", sans-serif; font-size: 1rem; line-height: 1.75; overflow-x: hidden; }
body, .navbar { background: var(--white); }
h1, h2, h3, h4, .navbar-brand { color: var(--ink); font-family: "Manrope", sans-serif; letter-spacing: -.035em; }
h1 { font-size: clamp(2.55rem, 5vw, 4.65rem); font-weight: 800; line-height: 1.06; }
h2 { font-size: clamp(2rem, 3.5vw, 3.15rem); font-weight: 800; line-height: 1.14; }
h3 { font-size: 1.28rem; font-weight: 750; line-height: 1.3; }
p { font-size: 1.08rem; }
p:last-child { margin-bottom: 0; }
a { color: var(--brand); }
.section-space { padding: 110px 0; }
.skip-link { background: var(--brand-deep); color: #fff; left: 1rem; padding: .7rem 1rem; position: fixed; top: -100px; z-index: 9999; }
.skip-link:focus { top: 1rem; }

.topbar { background: var(--brand-deep); color: rgba(255,255,255,.88); font-size: .94rem; padding: .55rem 0; }
.topbar a { color: #fff; font-weight: 600; text-decoration: none; }
.navbar { border-bottom: 1px solid rgba(11,107,99,.08); padding: .85rem 0; transition: box-shadow .25s ease, padding .25s ease; }
.navbar.scrolled { box-shadow: 0 8px 30px rgba(17, 61, 57, .08); padding: .6rem 0; }
.navbar-brand, .footer-brand { align-items: center; color: var(--ink); display: inline-flex; font-size: 1.15rem; gap: .7rem; line-height: 1.05; text-decoration: none; }
.navbar-brand strong, .footer-brand strong { color: var(--brand); }
.navbar-brand small { color: var(--muted); display: block; font-family: "DM Sans", sans-serif; font-size: .82rem; font-weight: 600; letter-spacing: .045em; margin-top: .27rem; text-transform: uppercase; }
.brand-mark { align-items: center; background: var(--brand); border-radius: 12px; color: white; display: inline-flex; font-size: 1.25rem; height: 44px; justify-content: center; transform: rotate(-5deg); width: 44px; }
.brand-mark i { transform: rotate(5deg); }
.navbar .nav-link { color: #385955; font-size: 1rem; font-weight: 600; padding: .65rem .75rem !important; }
.navbar .nav-link:hover, .navbar .nav-link:focus { color: var(--brand); }
.navbar-toggler { border: 0; box-shadow: none !important; }

.btn { border-radius: 12px; font-weight: 700; letter-spacing: -.01em; padding: .75rem 1.2rem; transition: transform .2s ease, box-shadow .2s ease, background .2s ease; }
.btn:hover { transform: translateY(-2px); }
.btn-lg { border-radius: 14px; font-size: 1rem; padding: .95rem 1.45rem; }
.btn-whatsapp { background: var(--whatsapp); border-color: var(--whatsapp); box-shadow: 0 10px 24px rgba(32,184,102,.22); color: #fff; }
.btn-whatsapp:hover, .btn-whatsapp:focus { background: #159c54; border-color: #159c54; color: #fff; }
.btn-outline-brand { border: 1px solid var(--brand); color: var(--brand); }
.btn-outline-brand:hover { background: var(--brand); color: #fff; }
.text-link { align-items: center; color: var(--brand); display: inline-flex; font-weight: 700; gap: .3rem; text-decoration: none; }
.text-link i { font-size: 1.25em; transition: transform .2s ease; }
.text-link:hover i { transform: translateX(4px); }

.hero { background: linear-gradient(120deg, #f5faf8 0%, #fff 52%, #f9f5ee 100%); min-height: 730px; overflow: hidden; padding: 88px 0 90px; position: relative; }
.hero .container { z-index: 2; }
.hero-shape { border-radius: 50%; position: absolute; }
.hero-shape-one { background: rgba(11,107,99,.055); height: 560px; right: -270px; top: -180px; width: 560px; }
.hero-shape-two { border: 1px solid rgba(223,115,93,.15); bottom: -120px; height: 360px; left: -180px; width: 360px; }
.eyebrow, .section-tag { align-items: center; color: var(--brand); display: flex; font-size: .88rem; font-weight: 800; gap: .65rem; letter-spacing: .09em; margin-bottom: 1rem; text-transform: uppercase; }
.eyebrow span { background: var(--accent); border-radius: 50%; height: 8px; position: relative; width: 8px; }
.eyebrow span::after { border: 1px solid rgba(223,115,93,.45); border-radius: 50%; content: ""; inset: -5px; position: absolute; }
.hero h1 em { color: var(--brand); font-style: normal; position: relative; }
.hero h1 em::after { background: url("../img/underline.svg") center/100% 100% no-repeat; bottom: -9px; content: ""; height: 15px; left: 0; position: absolute; width: 100%; }
.hero-lead { font-size: 1.25rem; line-height: 1.72; margin: 1.6rem 0; max-width: 610px; }
.hero-checks { display: grid; gap: .65rem; margin: 0; }
.hero-checks li { color: #304f4c; font-weight: 600; }
.hero-checks i { color: var(--brand); font-size: 1.12rem; margin-right: .65rem; }
.microcopy { color: var(--muted); font-size: .95rem; margin: .8rem 0 0 .25rem; }
.hero-visual { margin: 0 auto; max-width: 520px; min-height: 570px; position: relative; }
.hero-photo-wrap { border: 10px solid #fff; border-radius: 48% 48% 24px 24px; box-shadow: var(--shadow); height: 545px; margin-left: auto; overflow: hidden; position: relative; width: 80%; }
.hero-photo-wrap::after { background: linear-gradient(180deg, transparent 55%, rgba(3,61,57,.18)); content: ""; inset: 0; position: absolute; }
.hero-photo-wrap img { height: 100%; object-fit: cover; object-position: 53% 52%; width: 100%; }
.floating-card { align-items: center; backdrop-filter: blur(14px); background: rgba(255,255,255,.94); border: 1px solid rgba(255,255,255,.8); border-radius: 16px; box-shadow: 0 16px 40px rgba(8,63,58,.15); display: flex; gap: .75rem; padding: .8rem 1rem; position: absolute; }
.floating-card strong, .floating-card small { display: block; }
.floating-card strong { color: var(--ink); font-size: .95rem; }
.floating-card small { color: var(--muted); font-size: .82rem; line-height: 1.35; margin-top: .1rem; }
.card-laser { left: 0; top: 73px; }
.icon-badge { align-items: center; background: var(--accent-light); border-radius: 10px; color: var(--accent); display: flex; font-size: 1.1rem; height: 38px; justify-content: center; width: 38px; }
.card-location { bottom: 58px; right: -5px; }
.pulse-dot { background: var(--whatsapp); border-radius: 50%; box-shadow: 0 0 0 6px rgba(32,184,102,.13); height: 10px; margin: 0 .3rem; width: 10px; }
.experience-badge { align-items: center; background: var(--brand); border: 6px solid #fff; border-radius: 50%; bottom: 8px; color: #fff; display: flex; flex-direction: column; height: 145px; justify-content: center; left: 14px; padding: 1rem; position: absolute; text-align: center; width: 145px; }
.experience-badge strong { font-family: "Manrope", sans-serif; font-size: 1.15rem; }
.experience-badge span { font-size: .82rem; line-height: 1.35; }

.trust-strip { margin-top: -36px; position: relative; z-index: 4; }
.trust-strip .container { background: #fff; border: 1px solid var(--line); border-radius: 18px; box-shadow: 0 14px 50px rgba(16,79,73,.09); overflow: hidden; }
.trust-item { align-items: center; display: flex; gap: .9rem; justify-content: center; min-height: 96px; padding: 1rem 1.4rem; }
.trust-item + .trust-item { border-left: 1px solid var(--line); }
.trust-item > i { color: var(--brand); font-size: 1.65rem; }
.trust-item strong, .trust-item small { display: block; }
.trust-item strong { color: var(--ink); font-size: 1rem; }
.trust-item small { color: var(--muted); font-size: .86rem; line-height: 1.4; }

.intro-section { padding-bottom: 90px; }
.intro-section h2 { max-width: 550px; }
.lead-copy { color: #3e5c58; font-size: 1.2rem; }
.alert-signs { display: flex; flex-wrap: wrap; gap: .6rem; margin: 1.4rem 0; }
.alert-signs span { background: var(--accent-light); border-radius: 100px; color: #784035; font-size: .94rem; font-weight: 700; padding: .45rem .85rem; }
.alert-signs i { margin-right: .35rem; }
.medical-alert { border-left: 3px solid var(--accent); color: #765d58; font-size: .95rem; padding-left: 1rem; }

.treatments-section { background: var(--cream); }
.section-heading { max-width: 760px; }
.section-heading > p { font-size: 1.16rem; margin: 1rem auto 0; max-width: 650px; }
.treatment-card { background: #fff; border: 1px solid rgba(11,107,99,.08); border-radius: var(--radius-md); box-shadow: 0 12px 36px rgba(20,70,65,.06); overflow: hidden; transition: transform .3s ease, box-shadow .3s ease; }
.treatment-card:hover { box-shadow: 0 24px 55px rgba(20,70,65,.12); transform: translateY(-7px); }
.treatment-image { height: 255px; overflow: hidden; position: relative; }
.treatment-image::after { background: linear-gradient(180deg, transparent 50%, rgba(4,52,48,.25)); content: ""; inset: 0; position: absolute; }
.treatment-image img { height: 100%; object-fit: cover; transition: transform .5s ease; width: 100%; }
.treatment-card:hover .treatment-image img { transform: scale(1.035); }
.treatment-card:first-child .treatment-image img { object-position: center 64%; }
.treatment-image span { background: rgba(255,255,255,.94); border-radius: 100px; bottom: 12px; color: var(--ink); font-size: .8rem; font-weight: 700; left: 14px; padding: .35rem .7rem; position: absolute; z-index: 2; }
.treatment-body { padding: 1.6rem; position: relative; }
.treatment-number { color: rgba(11,107,99,.13); font-family: "Manrope", sans-serif; font-size: 2.6rem; font-weight: 800; line-height: 1; position: absolute; right: 1.4rem; top: 1.2rem; }
.treatment-body h3 { padding-right: 2.7rem; }
.treatment-body p { font-size: 1rem; line-height: 1.72; }
.mini-list { border-top: 1px solid var(--line); list-style: none; margin: 1.15rem 0; padding: 1rem 0 0; }
.mini-list li { font-size: 1rem; line-height: 1.6; margin: .5rem 0; padding-left: 1.1rem; position: relative; }
.mini-list li::before { background: var(--brand); border-radius: 50%; content: ""; height: 5px; left: 0; position: absolute; top: .65rem; width: 5px; }
.card-link { align-items: center; color: var(--brand); display: inline-flex; font-size: 1rem; font-weight: 700; gap: .4rem; text-decoration: none; }
.card-link:hover { color: var(--brand-dark); }
.image-note { color: var(--muted); font-size: .95rem; }

.laser-section { background: #fff; }
.laser-panel { background: linear-gradient(135deg, var(--brand-deep), #087268); border-radius: var(--radius-lg); color: rgba(255,255,255,.76); overflow: hidden; padding: 70px; position: relative; }
.laser-panel h2 { color: #fff; }
.laser-lead { font-size: 1.16rem; }
.section-tag-light { color: #94dfd6; }
.laser-orb { border: 1px solid rgba(255,255,255,.08); border-radius: 50%; position: absolute; }
.laser-orb-one { height: 500px; left: -200px; top: -180px; width: 500px; }
.laser-orb-two { bottom: -120px; height: 360px; right: -100px; width: 360px; }
.laser-illustration { align-items: center; display: flex; height: 420px; justify-content: center; position: relative; }
.laser-device { align-items: center; background: linear-gradient(145deg, #fff, #d9e7e4); border-radius: 34px 34px 16px 16px; box-shadow: 0 25px 60px rgba(0,0,0,.28); color: var(--brand); display: flex; font-size: 3.4rem; height: 190px; justify-content: center; position: relative; transform: rotate(-12deg); width: 122px; z-index: 3; }
.laser-device::before { background: #b7cbc7; border-radius: 8px 8px 3px 3px; bottom: -45px; content: ""; height: 52px; position: absolute; width: 45px; }
.laser-beam { background: linear-gradient(180deg, rgba(255,91,72,.9), transparent); bottom: -160px; clip-path: polygon(38% 0, 62% 0, 100% 100%, 0 100%); filter: blur(2px); height: 120px; position: absolute; width: 85px; }
.laser-rings { align-items: center; bottom: 28px; display: flex; justify-content: center; position: absolute; }
.laser-rings span { border: 1px solid rgba(255,126,105,.45); border-radius: 50%; position: absolute; }
.laser-rings span:nth-child(1) { height: 80px; width: 180px; }
.laser-rings span:nth-child(2) { height: 125px; width: 270px; }
.laser-rings span:nth-child(3) { height: 175px; width: 350px; }
.laser-caption { background: rgba(255,255,255,.12); border: 1px solid rgba(255,255,255,.18); border-radius: 100px; bottom: 0; color: #fff; font-size: .9rem; font-weight: 700; padding: .55rem 1rem; position: absolute; }
.benefit-item { align-items: flex-start; background: rgba(255,255,255,.07); border: 1px solid rgba(255,255,255,.1); border-radius: 14px; display: flex; gap: .75rem; height: 100%; padding: .9rem; }
.benefit-item > i { color: #91e1d5; font-size: 1.25rem; }
.benefit-item strong, .benefit-item small { display: block; }
.benefit-item strong { color: #fff; font-size: .96rem; }
.benefit-item small { color: rgba(255,255,255,.8); font-size: .9rem; line-height: 1.55; margin-top: .15rem; }
.laser-disclaimer { color: rgba(255,255,255,.78); font-size: .94rem; line-height: 1.6; margin: 1.2rem 0; }
.laser-panel .btn-light { color: var(--brand-deep); }

.process-section { padding-top: 95px; }
.process-section .col-lg-4 > p { max-width: 380px; }
.process-list { position: relative; }
.process-list::before { border-left: 1px dashed #aaccc7; bottom: 55px; content: ""; left: 37px; position: absolute; top: 55px; }
.process-item { align-items: flex-start; display: flex; gap: 1.5rem; padding: 0 0 2.3rem; position: relative; }
.process-item:last-child { padding-bottom: 0; }
.process-icon { align-items: center; background: var(--brand-light); border: 8px solid #fff; border-radius: 20px; color: var(--brand); display: flex; flex: 0 0 76px; font-size: 1.5rem; height: 76px; justify-content: center; position: relative; z-index: 2; }
.process-icon span { align-items: center; background: var(--accent); border: 2px solid #fff; border-radius: 50%; color: #fff; display: flex; font-size: .8rem; height: 26px; justify-content: center; position: absolute; right: -6px; top: -6px; width: 26px; }
.process-item h3 { margin-top: .5rem; }
.process-item p { font-size: 1rem; line-height: 1.7; margin: 0; }

.professional-section { background: var(--cream); }
.professional-card { background: #fff; border-radius: var(--radius-lg); box-shadow: var(--shadow); overflow: hidden; }
.professional-visual { align-items: center; background: linear-gradient(145deg, var(--brand), var(--brand-deep)); color: rgba(255,255,255,.75); display: flex; flex-direction: column; height: 100%; justify-content: center; min-height: 540px; overflow: hidden; position: relative; }
.professional-visual::before, .professional-visual::after { border: 1px solid rgba(255,255,255,.09); border-radius: 50%; content: ""; position: absolute; }
.professional-visual::before { height: 400px; width: 400px; }
.professional-visual::after { height: 300px; width: 300px; }
.professional-monogram { align-items: center; background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.2); border-radius: 50%; color: #fff; display: flex; font-family: "Manrope", sans-serif; font-size: 4.3rem; font-weight: 800; height: 190px; justify-content: center; letter-spacing: -.09em; position: relative; width: 190px; z-index: 2; }
.professional-line { background: var(--accent); height: 3px; margin: 1.5rem 0 .7rem; position: relative; width: 40px; z-index: 2; }
.professional-visual > span { font-size: .86rem; letter-spacing: .07em; position: relative; text-transform: uppercase; z-index: 2; }
.professional-copy { padding: 4.5rem; }
.professional-copy > p { font-size: 1.12rem; }
.professional-copy blockquote { border-left: 3px solid var(--accent); color: #385a56; font-size: 1.09rem; font-style: italic; margin: 1.6rem 0; padding-left: 1.2rem; }
.professional-values { display: flex; flex-wrap: wrap; gap: .5rem 1rem; }
.professional-values span { color: var(--ink); font-size: .94rem; font-weight: 600; }
.professional-values i { color: var(--brand); margin-right: .3rem; }

.map-card { background: #eef7f4; border-radius: var(--radius-lg); height: 410px; overflow: hidden; position: relative; }
.map-grid { background-image: linear-gradient(rgba(11,107,99,.07) 1px, transparent 1px), linear-gradient(90deg, rgba(11,107,99,.07) 1px, transparent 1px); background-size: 38px 38px; inset: 0; position: absolute; transform: rotate(-8deg) scale(1.2); }
.map-card::after { border: 2px dashed rgba(11,107,99,.22); border-radius: 48% 52% 42% 58%; content: ""; height: 280px; left: 17%; position: absolute; top: 15%; transform: rotate(-9deg); width: 65%; }
.map-pin { align-items: center; background: #fff; border-radius: 100px; box-shadow: 0 8px 24px rgba(11,65,61,.12); color: var(--ink); display: flex; font-size: .84rem; font-weight: 700; gap: .45rem; padding: .5rem .75rem; position: absolute; z-index: 2; }
.map-pin span { background: var(--accent); border-radius: 50%; height: 7px; width: 7px; }
.pin-main { background: var(--brand); color: #fff; font-size: .96rem; left: 42%; padding: .7rem 1rem; top: 42%; }
.pin-main i { color: #fff; font-size: 1.1rem; }
.pin-one { bottom: 18%; right: 8%; }
.pin-two { right: 7%; top: 22%; }
.pin-three { left: 6%; top: 26%; }
.service-area-section h2 { max-width: 600px; }
.service-area-section p { font-size: 1.12rem; }
.service-area-question { color: var(--ink); font-weight: 700; margin-top: 1.5rem; }

.faq-section { background: #f7faf9; }
.accordion { --bs-accordion-border-color: transparent; --bs-accordion-btn-focus-box-shadow: none; }
.accordion-item { background: transparent; border-bottom: 1px solid var(--line); }
.accordion-button { background: transparent !important; color: var(--ink) !important; font-size: 1.06rem; font-weight: 700; padding: 1.45rem .4rem; box-shadow: none !important; }
.accordion-button::after { background-image: none; border: 1px solid #b9ceca; border-radius: 50%; color: var(--brand); content: "+"; font-family: "DM Sans", sans-serif; font-size: 1.1rem; height: 28px; line-height: 25px; text-align: center; transform: none; width: 28px; }
.accordion-button:not(.collapsed)::after { content: "−"; transform: none; }
.accordion-body { font-size: 1rem; line-height: 1.75; padding: 0 3.5rem 1.4rem .4rem; }

.final-cta { background: linear-gradient(135deg, #0a675f, #064a45); color: rgba(255,255,255,.75); overflow: hidden; padding: 95px 0; position: relative; }
.final-cta::before, .final-cta::after { border: 1px solid rgba(255,255,255,.08); border-radius: 50%; content: ""; position: absolute; }
.final-cta::before { height: 450px; left: -200px; top: -200px; width: 450px; }
.final-cta::after { bottom: -250px; height: 520px; right: -180px; width: 520px; }
.final-cta h2 { color: #fff; margin: 1rem 0; }
.final-cta p { font-size: 1.16rem; margin: 0 auto 1.7rem; max-width: 700px; }
.cta-icon { align-items: center; background: rgba(255,255,255,.1); border: 1px solid rgba(255,255,255,.16); border-radius: 50%; color: #fff; display: inline-flex; font-size: 1.5rem; height: 58px; justify-content: center; width: 58px; }
.btn-whatsapp-inverse { background: #fff; border-color: #fff; color: var(--brand-deep); box-shadow: 0 14px 30px rgba(0,0,0,.13); }
.btn-whatsapp-inverse:hover { background: #edfffa; border-color: #edfffa; color: var(--brand-deep); }
.final-cta small { color: rgba(255,255,255,.8); display: block; font-size: .88rem; margin-top: 1rem; }

.site-footer { background: #052f2c; color: rgba(255,255,255,.76); font-size: .96rem; padding: 70px 0 28px; }
.footer-brand { color: #fff; font-size: 1.25rem; }
.site-footer .brand-mark { height: 40px; width: 40px; }
.site-footer h2 { color: #fff; font-family: "DM Sans", sans-serif; font-size: .9rem; font-weight: 700; letter-spacing: .07em; margin-bottom: 1rem; text-transform: uppercase; }
.site-footer .col-lg-5 > p { max-width: 430px; }
.footer-professional { color: rgba(255,255,255,.75); }
.site-footer ul { list-style: none; margin: 0; padding: 0; }
.site-footer li { margin: .43rem 0; }
.site-footer a { color: rgba(255,255,255,.62); text-decoration: none; }
.site-footer a:hover { color: #fff; }
.footer-whatsapp { align-items: center; display: flex; gap: .8rem; }
.footer-whatsapp > i { align-items: center; background: var(--whatsapp); border-radius: 12px; color: #fff; display: flex; font-size: 1.35rem; height: 44px; justify-content: center; width: 44px; }
.footer-whatsapp small { display: block; font-size: .8rem; }
.footer-whatsapp span { color: #fff; font-weight: 700; }
.footer-divider { background: rgba(255,255,255,.09); height: 1px; margin: 3rem 0 1.4rem; }
.footer-bottom { align-items: flex-start; display: flex; gap: 2rem; justify-content: space-between; }
.credits { font-size: .82rem; line-height: 1.6; max-width: 650px; text-align: right; }
.footer-disclaimer { border-top: 1px solid rgba(255,255,255,.08); font-size: .8rem; line-height: 1.6; margin-top: 1.2rem; padding-top: 1rem; text-align: center; }

.whatsapp-float { align-items: center; bottom: 22px; display: flex; gap: .65rem; position: fixed; right: 22px; text-decoration: none; z-index: 1050; }
.float-label { background: #fff; border: 1px solid #e2ece9; border-radius: 12px; box-shadow: 0 10px 30px rgba(10,67,62,.13); color: var(--ink); font-size: .88rem; font-weight: 700; line-height: 1.3; padding: .6rem .8rem; text-align: right; }
.float-label small { color: var(--muted); display: block; font-size: .8rem; font-weight: 500; }
.float-icon { align-items: center; background: var(--whatsapp); border: 4px solid #fff; border-radius: 50%; box-shadow: 0 8px 25px rgba(32,184,102,.33); color: #fff; display: flex; font-size: 1.6rem; height: 62px; justify-content: center; position: relative; width: 62px; }
.float-icon::after { animation: floatPulse 2.2s infinite; border: 1px solid rgba(32,184,102,.55); border-radius: 50%; content: ""; inset: -5px; position: absolute; }
.toast { background: #fff; box-shadow: var(--shadow); color: var(--ink); }

.reveal { opacity: 0; transform: translateY(22px); transition: opacity .65s ease, transform .65s ease; }
.reveal.visible { opacity: 1; transform: none; }
.reveal-delay-1 { transition-delay: .1s; }
.reveal-delay-2 { transition-delay: .2s; }
@keyframes floatPulse { 0%, 100% { opacity: .9; transform: scale(1); } 70% { opacity: 0; transform: scale(1.3); } }

@media (max-width: 1199.98px) {
  .hero { min-height: auto; }
  .laser-panel { padding: 55px 42px; }
  .professional-copy { padding: 3.2rem; }
}

@media (max-width: 991.98px) {
  .section-space { padding: 82px 0; }
  .navbar-collapse { background: #fff; border-radius: 0 0 16px 16px; box-shadow: 0 15px 30px rgba(10,70,65,.08); margin: .7rem -12px -.7rem; padding: 1rem; }
  .hero { padding-top: 65px; }
  .hero-copy { text-align: center; }
  .hero-lead { margin-left: auto; margin-right: auto; }
  .hero-checks { justify-content: center; }
  .hero-checks li { text-align: left; }
  .hero-copy .d-flex { justify-content: center; }
  .hero-visual { margin-top: 1rem; }
  .trust-item { justify-content: flex-start; }
  .trust-item + .trust-item { border-left: 0; border-top: 1px solid var(--line); }
  .laser-illustration { height: 350px; }
  .laser-rings span:nth-child(3) { width: 300px; }
  .professional-visual { min-height: 380px; }
  .process-section .col-lg-4 { margin-bottom: 1rem; }
}

@media (max-width: 767.98px) {
  h1 { font-size: 2.65rem; }
  h2 { font-size: 2rem; }
  .section-space { padding: 68px 0; }
  .hero { padding: 52px 0 78px; }
  .hero-visual { min-height: 500px; }
  .hero-photo-wrap { height: 475px; width: 88%; }
  .experience-badge { height: 125px; left: 0; width: 125px; }
  .card-location { right: 0; }
  .trust-strip { margin-top: -26px; }
  .treatment-image { height: 285px; }
  .laser-panel { border-radius: 22px; margin-left: -4px; margin-right: -4px; padding: 46px 22px; }
  .laser-illustration { height: 320px; }
  .professional-copy { padding: 2.2rem 1.5rem; }
  .map-card { height: 340px; }
  .footer-bottom { display: block; }
  .credits { margin-top: 1rem; text-align: left; }
  .float-label { display: none; }
  .whatsapp-float { bottom: 14px; right: 14px; }
  .float-icon { height: 58px; width: 58px; }
}

@media (max-width: 575.98px) {
  h1 { font-size: 2.3rem; }
  .hero-copy .btn-lg { width: 100%; }
  .hero-visual { min-height: 450px; }
  .hero-photo-wrap { border-width: 7px; height: 425px; width: 91%; }
  .floating-card { padding: .65rem .75rem; }
  .card-laser { left: -3px; top: 55px; }
  .card-location { bottom: 38px; }
  .experience-badge { bottom: -5px; }
  .treatment-image { height: 250px; }
  .process-item { gap: 1rem; }
  .process-icon { flex-basis: 66px; height: 66px; }
  .process-list::before { left: 32px; }
  .professional-visual { min-height: 310px; }
  .professional-monogram { font-size: 3.4rem; height: 150px; width: 150px; }
  .map-card { height: 310px; }
  .map-pin { font-size: .8rem; }
  .pin-main { font-size: .86rem; left: 36%; }
  .final-cta { padding: 75px 0; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; scroll-behavior: auto !important; transition-duration: .01ms !important; }
  .reveal { opacity: 1; transform: none; }
}
