:root {
  --unic-black: #0a0a0a;
  --unic-dark: #151515;
  --unic-silver: #c4c4c4;
  --unic-light: #f4f4f2;
  --unic-white: #fff;
  --unic-border: rgba(0, 0, 0, .12);
}

html {
  scroll-behavior: smooth;
}

body {
  margin: 0;
  font-family: "Montserrat", sans-serif;
  color: var(--unic-dark);
  background: var(--unic-white);
  padding-bottom: 0;
}

h1,
h2,
h3 {
  font-family: "Playfair Display", serif;
  font-weight: 600;
}

h1 {
  font-size: clamp(2.8rem, 10vw, 5.8rem);
  line-height: .98;
}

h2 {
  font-size: clamp(2.1rem, 5vw, 3.5rem);
  line-height: 1.08;
}

h3 {
  font-size: 1.45rem;
}

p {
  line-height: 1.75;
}

.site-header {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  z-index: 1000;
}

.navbar {
  padding: 1.1rem 0;
}

.brand-name {
  font-size: 1.35rem;
  letter-spacing: .28em;
  font-weight: 700;
  line-height: 1;
}

.brand-subtitle {
  font-size: .55rem;
  letter-spacing: .22em;
  opacity: .75;
  margin-top: .35rem;
}

.nav-link {
  font-size: .78rem;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.hero-section {
  position: relative;
  min-height: 100svh;
  display: flex;
  align-items: center;
  color: var(--unic-white);
  background:
    linear-gradient(120deg, rgba(0, 0, 0, .94), rgba(0, 0, 0, .68)),
    radial-gradient(circle at 80% 30%, #555, #090909 55%);
  overflow: hidden;
}

.hero-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(0, 0, 0, .3), transparent);
  pointer-events: none;
}

.min-vh-75 {
  min-height: 75svh;
}

.eyebrow {
  display: inline-block;
  margin-bottom: 1rem;
  font-size: .7rem;
  font-weight: 700;
  letter-spacing: .2em;
  text-transform: uppercase;
  color: #8d8d8d;
}

.hero-section .eyebrow {
  color: var(--unic-silver);
}

.hero-section h1 em {
  font-weight: 500;
  color: var(--unic-silver);
}

.hero-text {
  max-width: 650px;
  font-size: 1rem;
  color: rgba(255, 255, 255, .84);
}

.hero-location {
  font-size: .75rem;
  letter-spacing: .15em;
  text-transform: uppercase;
  color: var(--unic-silver);
}

.hero-image {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

.hero-overlay {
  background:
    linear-gradient(90deg,
      rgba(0, 0, 0, .90) 0%,
      rgba(0, 0, 0, .65) 45%,
      rgba(0, 0, 0, .20) 100%);
}

.btn {
  border-radius: 0;
  font-size: .78rem;
  font-weight: 700;
  letter-spacing: .06em;
  text-transform: uppercase;
  padding: .95rem 1.25rem;
}

.btn-whatsapp {
  color: #fff;
  background: #25d366;
  border-color: #25d366;
}

.btn-whatsapp:hover {
  color: #fff;
  background: #1fbd5b;
  border-color: #1fbd5b;
}

.btn-silver {
  color: #111;
  background: var(--unic-silver);
  border-color: var(--unic-silver);
}

.whatsapp-icon {
  display: inline-block;
  width: 1.1em;
  height: 1.1em;
  margin-right: .45em;
  vertical-align: -.15em;
  background: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M20.5 3.5A11.8 11.8 0 0 0 12.1 0C5.6 0 .3 5.3.3 11.8c0 2.1.6 4.1 1.6 5.8L.2 24l6.6-1.7a11.8 11.8 0 0 0 5.3 1.3h.1c6.5 0 11.8-5.3 11.8-11.8 0-3.1-1.2-6.1-3.5-8.3Zm-8.4 18.1h-.1c-1.7 0-3.3-.5-4.7-1.3l-.3-.2-3.9 1 1-3.8-.2-.4a9.7 9.7 0 1 1 8.2 4.7Zm5.3-7.3c-.3-.2-1.8-.9-2.1-1s-.5-.2-.7.2c-.2.3-.8 1-1 1.2-.2.2-.4.3-.7.1-1.9-.9-3.1-1.7-4.3-3.8-.3-.5.3-.5.9-1.7.1-.2 0-.4 0-.6 0-.2-.7-1.6-.9-2.2-.2-.6-.5-.5-.7-.5h-.6c-.2 0-.6.1-.9.4-.3.3-1.1 1.1-1.1 2.7s1.1 3.1 1.3 3.3c.2.2 2.2 3.4 5.4 4.7 2 .8 2 .6 2.4.6.4 0 1.8-.7 2-1.4.3-.7.3-1.3.2-1.4-.1-.1-.3-.2-.6-.3Z'/%3E%3C/svg%3E") center / contain no-repeat;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M20.5 3.5A11.8 11.8 0 0 0 12.1 0C5.6 0 .3 5.3.3 11.8c0 2.1.6 4.1 1.6 5.8L.2 24l6.6-1.7a11.8 11.8 0 0 0 5.3 1.3h.1c6.5 0 11.8-5.3 11.8-11.8 0-3.1-1.2-6.1-3.5-8.3Zm-8.4 18.1h-.1c-1.7 0-3.3-.5-4.7-1.3l-.3-.2-3.9 1 1-3.8-.2-.4a9.7 9.7 0 1 1 8.2 4.7Zm5.3-7.3c-.3-.2-1.8-.9-2.1-1s-.5-.2-.7.2c-.2.3-.8 1-1 1.2-.2.2-.4.3-.7.1-1.9-.9-3.1-1.7-4.3-3.8-.3-.5.3-.5.9-1.7.1-.2 0-.4 0-.6 0-.2-.7-1.6-.9-2.2-.2-.6-.5-.5-.7-.5h-.6c-.2 0-.6.1-.9.4-.3.3-1.1 1.1-1.1 2.7s1.1 3.1 1.3 3.3c.2.2 2.2 3.4 5.4 4.7 2 .8 2 .6 2.4.6.4 0 1.8-.7 2-1.4.3-.7.3-1.3.2-1.4-.1-.1-.3-.2-.6-.3Z'/%3E%3C/svg%3E") center / contain no-repeat;
}

.hero-photo-placeholder,
.service-photo-placeholder,
.offer-image-placeholder {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  min-height: 460px;
  color: rgba(255, 255, 255, .5);
  border: 1px solid rgba(255, 255, 255, .2);
  background: linear-gradient(145deg, #292929, #0d0d0d);
  text-align: center;
  letter-spacing: .15em;
  font-size: .7rem;
}

.hero-photo-placeholder small,
.service-photo-placeholder small {
  max-width: 220px;
  margin-top: .75rem;
  font-size: .62rem;
  letter-spacing: .04em;
}

.section-padding {
  padding: 5rem 0;
}

.trust-section {
  background: var(--unic-light);
}

.section-heading p {
  max-width: 650px;
  margin: 1rem auto 0;
  color: #666;
}

.trust-card {
  height: 100%;
  padding: 1.75rem;
  border-top: 1px solid #999;
  background: #fff;
}

.trust-card p {
  color: #666;
  font-size: .9rem;
}

.card-number {
  margin-bottom: 1.25rem;
  color: #999;
  font-size: .7rem;
  font-weight: 700;
  letter-spacing: .15em;
}

.offers-section {
  background: #fff;
}

.offer-card {
  height: 100%;
  border: 1px solid var(--unic-border);
  background: #fff;
  box-shadow: 0 12px 35px rgba(0, 0, 0, .05);
}

.offer-image-placeholder {
  min-height: 240px;
  color: #777;
  background: linear-gradient(145deg, #e5e5e5, #aaa);
}

.offer-content {
  padding: 1.5rem;
}

.offer-tag {
  font-size: .65rem;
  font-weight: 700;
  letter-spacing: .18em;
  color: #777;
}

.offer-card h3 {
  margin: .35rem 0 0;
}

.price {
  white-space: nowrap;
  font-family: "Playfair Display", serif;
  font-size: 1.7rem;
}

.offer-card p {
  color: #666;
}

.services-section {
  background: var(--unic-light);
}

.service-photo-placeholder {
  min-height: 560px;
  color: #777;
  border-color: #bbb;
  background: linear-gradient(145deg, #d9d9d9, #8e8e8e);
}

.service-list {
  margin: 2rem 0;
}

.service-item {
  padding: 1.15rem 0;
  border-top: 1px solid #cfcfcf;
}

.service-item:last-child {
  border-bottom: 1px solid #cfcfcf;
}

.service-item h3 {
  margin-bottom: .35rem;
  font-size: 1.25rem;
}

.service-item p {
  margin: 0;
  color: #666;
  font-size: .9rem;
}

.experience-section {
  color: #fff;
  background:
    linear-gradient(rgba(0, 0, 0, .9), rgba(0, 0, 0, .9)),
    radial-gradient(circle at center, #555, #050505 65%);
}

.experience-section .eyebrow {
  color: var(--unic-silver);
}

.experience-text {
  max-width: 800px;
  margin: 1.5rem auto 2rem;
  font-family: "Playfair Display", serif;
  font-size: clamp(1.4rem, 3vw, 2rem);
  color: rgba(255, 255, 255, .9);
}

.experience-points {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: .7rem;
}

.experience-points span {
  padding: .65rem 1rem;
  border: 1px solid #555;
  font-size: .7rem;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: #ccc;
}

.faq-section {
  background: #fff;
}

.accordion-item {
  border-color: #ddd;
}

.accordion-button {
  padding: 1.25rem 0;
  font-weight: 600;
  background: #fff;
  box-shadow: none !important;
}

.accordion-body {
  padding: 0 0 1.25rem;
  color: #666;
  font-size: .9rem;
}

.final-cta {
  background: var(--unic-light);
}

.cta-panel {
  padding: 4rem 1.25rem;
  background: var(--unic-black);
  color: #fff;
}

.cta-panel .eyebrow {
  color: var(--unic-silver);
}

.cta-panel p {
  color: #bbb;
}

.site-footer {
  padding: 2.5rem 0 6rem;
  background: #050505;
  color: #999;
}

.site-footer .brand-name {
  color: #fff;
}

.site-footer .brand-subtitle {
  color: #aaa;
}

.whatsapp-float {
  position: fixed;
  right: 1rem;
  bottom: 1rem;
  z-index: 1100;
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 52px;
  padding: .75rem 1rem;
  color: #fff;
  background: #25d366;
  text-decoration: none;
  box-shadow: 0 8px 25px rgba(0, 0, 0, .25);
  font-size: .78rem;
  font-weight: 700;
  letter-spacing: .03em;
}

.whatsapp-float:hover {
  color: #fff;
  background: #1fbd5b;
}

.whatsapp-float .whatsapp-icon {
  width: 1.35rem;
  height: 1.35rem;
}

.whatsapp-float-text {
  display: inline;
}

@media (max-width: 575.98px) {
  .section-padding {
    padding: 4rem 0;
  }

  .hero-section {
    min-height: 92svh;
  }

  .hero-section h1 {
    font-size: 3.15rem;
  }

  .hero-text {
    font-size: .95rem;
  }

  .whatsapp-float {
    left: 1rem;
    right: 1rem;
    bottom: .75rem;
  }

  .whatsapp-float-text {
    margin-left: .15rem;
  }
}

@media (min-width: 992px) {
  .site-footer {
    padding-bottom: 2.5rem;
  }
}