/* Homepage glass layer. Solid surfaces remain the fallback for older browsers. */
:root {
  --bg: #071b20;
  --bg-2: #0b252b;
  --bg-card: #143238;
  --muted: #b2c8ca;
  --red-light: #65e0cf;
  --border: rgba(210, 255, 248, .16);
  --radius-lg: 28px;
  --glass: linear-gradient(135deg, rgba(218,255,248,.13), rgba(129,218,215,.045));
  --glass-shadow: inset 0 1px 0 rgba(255,255,255,.3), inset 0 -1px 0 rgba(255,255,255,.04), 0 16px 48px rgba(0,14,20,.2);
}
html { scroll-padding-top: 110px; }
body { background: var(--bg); }
.navbar, .navbar.scrolled {
  top: 16px; left: 24px; right: 24px; max-width: 1200px; margin-inline: auto;
  padding: 12px 4px; border-radius: 100px; border: 1px solid var(--border);
  background: #153339; box-shadow: var(--glass-shadow);
}
.navbar__inner { gap: 16px; }
.logo-cross { background: rgba(111,239,215,.12); border: 1px solid var(--border); border-radius: 50%; width: 38px; height: 38px; display: grid; place-items: center; }
.nav-link, .nav-link--cta, .lang-toggle { border-radius: 100px; }
.lang-toggle { min-height: 40px; min-width: 44px; background: rgba(255,255,255,.07); }
.hero { min-height: 820px; min-height: min(940px, 100svh); padding: 150px 0 85px; background: radial-gradient(ellipse at 75% 25%, #235b5e 0%, transparent 55%), radial-gradient(ellipse at 0% 80%, #123f48 0%, transparent 60%), #071b20; }
.hero__grid { opacity: .25; }
.hero__content { max-width: 1200px; display: grid; grid-template-columns: 1.2fr .8fr; align-items: center; gap: 64px; padding-block: 20px; }
.hero__title { font-family: var(--font-sans); font-size: clamp(2.7rem,4.6vw,4.4rem); font-weight: 500; letter-spacing: -.055em; line-height: 1.12; }
.hero__subtitle { font-size: .9rem; letter-spacing: .025em; color: #d1e6e6; }
.hero__desc { max-width: 540px; font-size: 1rem; }
.hero__badge { font-size: .73rem; color: #d1f5ec; margin-bottom: 28px; border-color: var(--border); background: rgba(206,255,241,.07); }
.hero__actions { margin-bottom: 34px; }
.btn { border-radius: 100px; min-height: 50px; padding-inline: 26px; transition: transform .25s, background .25s, box-shadow .25s; }
.btn--primary, .nav-link--cta { background: linear-gradient(145deg,#b1f8e3,#66d5c4); color: #092d31; border: 1px solid #c4ffed; box-shadow: inset 0 1px 0 #e5fff5, 0 6px 24px rgba(84,213,185,.12); }
.btn--primary:hover, .btn--primary:focus-visible, .nav-link--cta:hover { background: #c4ffed; color: #092d31; }
.btn--ghost { border-color: rgba(224,255,249,.3); background: rgba(255,255,255,.055); box-shadow: var(--glass-shadow); }
.hero__stats { padding: 23px 26px; border-radius: 24px; gap: 26px; background: #16363c; border: 1px solid var(--border); box-shadow: var(--glass-shadow); width: fit-content; }
.stat__num { font-family: var(--font-sans); font-weight: 500; font-size: 1.6rem; letter-spacing: -.05em; }
.stat__label { font-size: .68rem; }
.hero__portrait { position: relative; padding: 10px; border: 1px solid rgba(223,255,248,.28); border-radius: 160px 160px 36px 36px; background: var(--glass); box-shadow: var(--glass-shadow); transform: rotate(2deg); }
.hero__portrait img { width: 100%; height: 480px; object-fit: cover; object-position: center 25%; border-radius: 150px 150px 28px 28px; }
.hero__portrait-caption { position: absolute; left: -26px; right: 26px; bottom: 30px; display: flex; align-items: center; gap: 16px; padding: 20px 24px; background: #153a3d; border: 1px solid rgba(233,255,250,.3); border-radius: 22px; box-shadow: var(--glass-shadow); transform: rotate(-2deg); }
.hero__portrait-caption strong { display: block; font-size: .95rem; font-weight: 500; }
.hero__portrait-caption small { color: #c2dedc; font-size: .75rem; }
.hero__portrait-caption > span { color: #b1f8e3; font-size: 1.8rem; }
.about, .schedule, .contact { background: radial-gradient(ellipse at 90% 30%,rgba(65,156,151,.12),transparent 65%), var(--bg-2); }
.services, .testimonials { background: radial-gradient(ellipse at 10% 60%,rgba(65,156,151,.12),transparent 65%), var(--bg); }
.section__title { letter-spacing: -.035em; }
.service-card__front, .service-card--featured .service-card__front, .testimonial-card, .contact__form, .schedule__table-wrap { background: #143238; border: 1px solid var(--border); border-radius: 26px; box-shadow: var(--glass-shadow); }
.service-card__back { border-radius: 26px; background: linear-gradient(140deg,#18695f,#104a48); border: 1px solid rgba(198,255,238,.3); }
.service-card__front::before { opacity: .4; }
.service-card__icon { border-radius: 18px; border: 1px solid var(--border); }
.schedule__table tbody tr { background: transparent; }
.about__photo { border-radius: 28px; }
.about__photo-badge { border-radius: 18px; border: 1px solid var(--border); }
.form-group input, .form-group select, .form-group textarea { border-radius: 14px; }
.footer { background: #06171c; }
@supports ((backdrop-filter: blur(20px)) or (-webkit-backdrop-filter: blur(20px))) {
  .navbar, .navbar.scrolled { background: linear-gradient(120deg,rgba(44,80,84,.78),rgba(15,44,50,.7)); backdrop-filter: blur(24px) saturate(150%); -webkit-backdrop-filter: blur(24px) saturate(150%); }
  .hero__stats, .hero__portrait-caption, .service-card__front, .service-card--featured .service-card__front, .testimonial-card, .contact__form, .schedule__table-wrap { background: var(--glass); backdrop-filter: blur(20px) saturate(130%); -webkit-backdrop-filter: blur(20px) saturate(130%); }
  .hero__portrait-caption { background: rgba(15,55,58,.78); }
}
@media (max-width: 1024px) {
  .hero__content { gap: 32px; }
  .hero__portrait img { height: 410px; }
  .navbar__inner { padding-inline: 18px; }
  .nav-list { gap: 0; }
  .nav-link { padding-inline: 10px; }
}
@media (max-width: 768px) {
  .navbar, .navbar.scrolled { top: 10px; left: 12px; right: 12px; padding-block: 8px; }
  .navbar__logo { font-size: .85rem; }
  .navbar__controls { gap: 8px; }
  .navbar__nav { top: 72px; height: auto; padding: 24px; border: 1px solid var(--border); border-radius: 26px; background: #123238; visibility: hidden; }
  .navbar__nav.open { visibility: visible; }
  .hero { min-height: auto; padding: 130px 0 70px; }
  .hero__content { grid-template-columns: 1fr; gap: 40px; }
  .hero__title { font-size: clamp(2.6rem,8vw,3.6rem); }
  .hero__portrait { max-width: 380px; width: 90%; margin-inline: auto; }
  .hero__portrait img { height: 390px; }
  .hero__stats { width: 100%; justify-content: space-between; gap: 12px; padding: 20px; flex-wrap: nowrap; }
  .hero__scroll { display: none; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
  .reveal { opacity: 1; transform: none; }
}
@media (prefers-reduced-transparency: reduce) {
  .navbar, .navbar.scrolled, .hero__stats, .hero__portrait-caption, .service-card__front, .service-card--featured .service-card__front, .testimonial-card, .contact__form, .schedule__table-wrap { background: #143238; backdrop-filter: none; -webkit-backdrop-filter: none; }
}
