:root{
  --bg: #0b0b10;;
  --text-primary: rgba(255, 255, 255, 0.92);
  --text-secondary: rgba(0, 0, 0, 0.92);
  --pink: #f7b7cf;
  --pink-bg: rgba(247, 183, 207, 0.25);
  --pill-bg: rgba(247, 183, 207, 0.22);
  --pill-bg-hover: rgba(247, 183, 207, 0.32);
  --pill-border: rgba(247, 183, 207, 0.55);
  --pill-bg-light: rgba(255, 255, 255, 0.72);
  --pill-bg-light-hover: rgba(255, 255, 255, 0.85);
  --pill-border-light: rgba(0, 0, 0, 0.18);
  --font-playfair: "Playfair", serif;
  --font-allura: "Allura", cursive;
  --font-montserrat: "Montserrat", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  --container: 1100px;
}

*{
  box-sizing:border-box
}
html,body{
  height:100%
}
html{
  scroll-behavior:smooth;
  scroll-snap-type:y mandatory;
  scroll-padding-top: 0px;
}
body{
  margin:0;
  font-family: var(--font-montserrat);
  color:var(--text-primary);
  line-height:1.5;
}

/* Scroll reveal (sections) */
section.reveal{
  opacity: 0;
  transform: translateY(18px);
  transition: opacity 2000ms ease, transform 2000ms ease;
  will-change: opacity, transform;
}
section.reveal.is-visible{
  opacity: 1;
  transform: translateY(0);
}

/* Generics */
h1,h2,h3,h4,h5,p {
  margin: 0
}
a{
  color:inherit
}

.section-title{
  text-align: center;
  font-family: var(--font-allura);
  font-size: 50px;
}

.bg-pink{
  background: var(--pink-bg);
}

.container{
  max-width:var(--container);
  margin:0 auto;
  padding:0 20px
}

.pill-link{
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 10px 14px;
  border-radius: 999px;
  text-decoration: none;
  background: var(--pill-bg);
  border: 1px solid var(--pill-border);
  color: var(--text-primary);
  backdrop-filter: blur(6px);
}
.pill-link:hover{
  background: var(--pill-bg-hover);
}
.pill-link--black{
  color: var(--text-secondary);
}
.pill-link--black .pill-link__icon{
  filter: brightness(0);
}
.pill-link__icon{
  flex: 0 0 auto;
  width: 28px;
  height: 28px;
  display: block;
}
.pill-link__text{
  font-family: var(--font-montserrat);
  font-weight: 600;
  letter-spacing: .2px;
}

.regular-section {
    padding: 100px 0px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--text-secondary);
}

/* Hero */
.hero{
  height: 100dvh;
  overflow:hidden;
  position: relative;
  isolation: isolate;
  display:flex;
  align-items:center;
  justify-content:center;
  background-image:url("./assets/images/header-image.jpg");
  background-size:cover;
  background-position:center;
}
.hero::before{
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(11,11,16,.35);
  z-index: 0;
  pointer-events: none;
}
.hero-inner {
  height: 100%;
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  text-align: center;
}
.hero-inner div {
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}
.hero-logo{
  width: min(150px, 70vw);
  height: auto;
  object-fit: contain;
  filter: drop-shadow(0 10px 24px rgba(0,0,0,.35));
}
.hero-title{
  text-transform: uppercase;
  font-size: 100px;
  font-family: var(--font-playfair);
  font-weight: 700;
  font-style: normal;
}
.hero-subtitle{
  margin: -60px 0px 0px 0px;
  font-size: 100px;
  font-family: var(--font-allura);
  font-weight: 400;
  font-style: normal;
}

.book-appointment-text{
  font-size: 50px;
  font-family: var(--font-allura);
  font-weight: 500;
}

@media screen and (max-width: 720px) {
  .hero-title{
    font-size: 50px;
  }
  .hero-subtitle{
    margin: -30px 0px 0px 0px;
    font-size: 50px;
  }
}
@media screen and (min-width: 2000px) {
  .hero-title{
    font-size: 170px;
  }
  .hero-subtitle{
    margin: -100px 0px 0px 0px;
    font-size: 170px;
  }
}

/* About me */
.about-me-inner {
  width: 100%;
  display: flex;
  align-items: center;
  gap: 30px;
}

.about-me-profile {
  height: 250px;
  width: 250px;
  border:1px solid pink;
  border-radius: 100%;
  overflow: hidden;
}
.about-me-profile__image{
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  object-position: 50% 10%;
}

.about-me-text-container {
  flex: 1;
}

@media screen and (max-width: 1200px) {
  .about-me-inner {
    flex-direction: column;
    justify-content: center;
  }
  
}

/* Social media */
.social-media-inner{
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 18px;
}
.social-media-links{
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 12px;
}

/* Ubicacion */
.location-inner{
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 18px;
  width: 100%;
}
.location-actions{
  display: flex;
  justify-content: center;
  gap: 12px;
  flex-wrap: wrap;
}
.location-map__frame{
  width: 100%;
  height: 420px;
  border: 0;
  border-radius: 18px;
  overflow: hidden;
  background: rgba(255,255,255,.6);
}
.location-note{
  text-align: center;
  max-width: 60ch;
  color: var(--text-secondary);
}
.location-address{
  text-align: center;
  max-width: 60ch;
  color: var(--text-secondary);
}
.location-address strong{
  font-weight: 700;
}

@media screen and (max-width: 900px) {
  .location-map__frame{
    height: 360px;
  }
}

/* Touch devices: avoid scroll-snap fighting map gestures */
@media (pointer: coarse) {
  html{
    scroll-snap-type: none;
  }
}

/* Galeria */
.galeria-inner{
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 18px;
}
.instagram-profile-embed{
  width: min(520px, 100%);
}
.instagram-profile-embed__frame{
  width: 100%;
  height: 480px;
  border: 0;
  border-radius: 18px;
  overflow: hidden;
  background: rgba(255,255,255,.6);
}
.instagram-profile-embed__fallback{
  margin-top: 12px;
  display: flex;
  gap: 10px;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  color: var(--text-secondary);
}

@media screen and (max-width: 400px) {
  .instagram-profile-embed__frame {
    height: 400px;
  }
}


.footer{
  padding:26px 0;
  border-top:1px solid var(--line);
  background: rgba(11,11,16,.55);
}
.footer-inner{
  display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;
}
.footer-small{margin:0;color:var(--muted);font-size: 13px}
.footer a{color:var(--muted);text-decoration:none}
.footer a:hover{color:var(--text)}

@media (prefers-reduced-motion: reduce){
  .hero::before{transform:none}
  *{transition:none !important}
  html{scroll-behavior:auto}
  section.reveal{opacity:1;transform:none}
}
