@import url(https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:wght@600;700&display=swap);
@import url(https://fonts.googleapis.com/css2?family=Material+Symbols+Rounded:opsz,wght,FILL,GRAD@24,400,0,0);
@import url(https://fonts.googleapis.com/css2?family=Atkinson+Hyperlegible:wght@400;700&family=Fraunces:opsz,wght@9..144,500;9..144,650;9..144,750&display=swap);
@keyframes hero-in {
  to {
    opacity: 1;
    transform: none;
  }
}
:root {
  --forest: #243b2c;
  --green: #45634d;
  --sage: #dfe8dc;
  --cream: #f7f3ea;
  --paper: #fffdf8;
  --copper: #a85f3c;
  --copper-dark: #884729;
  --gold: #c6a15c;
  --muted: #687269;
  --line: #dedbcf;
  --shadow: 0 18px 50px rgba(36, 59, 44, 0.1);
}
* {
  box-sizing: border-box;
}
html {
  scroll-behavior: smooth;
}
body {
  margin: 0;
  color: var(--ink);
  line-height: 1.65;
  -webkit-font-smoothing: antialiased;
}
main {
  overflow: hidden;
}
a {
  color: inherit;
  text-decoration: none;
}
img {
  display: block;
  max-width: 100%;
}
h1,
h2,
h3 {
  color: var(--forest);
  line-height: 1.15;
}
h1 {
  font-size: clamp(2.55rem, 5vw, 4.7rem);
}
h2 {
  font-size: clamp(2rem, 3.5vw, 3.2rem);
}
h3 {
  font-size: 1.3rem;
}
.skip-link {
  position: fixed;
  left: 12px;
  top: -100px;
  background: #fff;
  color: #111;
  padding: 12px 18px;
  z-index: 999;
}
.skip-link:focus {
  top: 12px;
}
.site-header {
  position: sticky;
  top: 0;
  z-index: 100;
  background: rgba(255, 253, 248, 0.96);
  backdrop-filter: blur(12px);
}
.header-inner {
  margin: auto;
  gap: 28px;
}
.header-inner,
.logo,
.main-nav > ul {
  display: flex;
  align-items: center;
}
.logo {
  gap: 10px;
  line-height: 1.15;
  white-space: nowrap;
}
.main-nav > ul {
  list-style: none;
  margin: 0;
  padding: 0;
}
.main-nav a {
  display: block;
  font-weight: 700;
  text-transform: uppercase;
  padding: 14px 0;
}
.main-nav a:focus-visible,
.main-nav a:hover {
  color: var(--copper);
}
.dropdown {
  position: relative;
}
.dropdown-menu {
  display: none !important;
  position: absolute;
  top: 100%;
  left: -20px;
  min-width: 270px;
  background: #fff;
  padding: 10px !important;
  border: 1px solid var(--line);
  box-shadow: var(--shadow);
  border-radius: 10px;
  list-style: none;
  margin: 0;
}
.dropdown-menu li { list-style: none; margin: 0; padding: 0; }
.dropdown:focus-within .dropdown-menu,
.dropdown:hover .dropdown-menu {
  display: block !important;
}
.dropdown-menu a {
  padding: 10px 12px;
  text-transform: none;
  letter-spacing: 0;
  font-size: 0.9rem;
}
.dropdown-menu a:hover {
  background: var(--cream);
  border-radius: 6px;
}
.btn,
.header-cta {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  border: 2px solid var(--copper);
  color: #fff;
  font-size: 0.82rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  transition: 0.2s ease;
  cursor: pointer;
}
.btn {
  min-height: 50px;
  padding: 12px 24px;
}
.header-cta {
  white-space: nowrap;
}
.btn:focus-visible,
.btn:hover,
.header-cta:focus-visible,
.header-cta:hover {
  background: var(--copper-dark);
  border-color: var(--copper-dark);
  transform: translateY(-1px);
}
.btn-secondary {
  background: 0 0;
  border-color: rgba(255, 255, 255, 0.75);
}
.btn-secondary:hover {
  background: #fff;
  border-color: #fff;
  color: var(--forest);
}
.nav-toggle,
.nav-toggle-label {
  display: none;
}
.hero {
  display: flex;
  background:
    linear-gradient(
      90deg,
      rgba(20, 35, 25, 0.82) 0%,
      rgba(20, 35, 25, 0.6) 48%,
      rgba(20, 35, 25, 0.18) 100%
    ),
    var(--hero-img);
}
.card-kicker,
.eyebrow,
.eyebrow-hero {
  margin: 0 0 12px;
  font-size: 0.76rem;
  font-weight: 700;
  text-transform: uppercase;
}
.eyebrow-hero {
  color: #f3c97b;
}
.hero h1 {
  max-width: 800px;
  margin: 0 0 24px;
  color: #fff;
}
.hero-lead {
  margin: 0;
}
.hero-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  margin-top: 32px;
}
.trust-strip {
  position: relative;
  z-index: 3;
  background: #fff;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  box-shadow: var(--shadow);
}
.trust-strip div {
  border-right: 1px solid var(--line);
}
.trust-strip div:last-child {
  border: 0;
}
.trust-strip strong {
  display: block;
  color: var(--forest);
  font-family: "Playfair Display", Georgia, serif;
}
.trust-strip span {
  display: block;
  color: var(--muted);
  font-size: 0.85rem;
  margin-top: 4px;
}
.section-heading h2 {
  margin: 0 0 18px;
}
.section-heading > p:last-child {
  color: var(--muted);
  margin: 0;
}
.grid {
  max-width: 1184px;
  gap: 26px;
}
.grid,
.services-grid {
  margin: auto;
  display: grid;
}
.grid {
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
}
.grid-3 {
  grid-template-columns: repeat(3, 1fr);
}
.service-card {
  grid-column: span 2;
}
.card,
.card-body {
  display: flex;
  flex-direction: column;
}
.card {
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 8px;
  overflow: hidden;
  box-shadow: 0 8px 30px rgba(36, 59, 44, 0.06);
}
.card img {
  width: 100%;
  height: 225px;
  object-fit: cover;
}
.card-body {
  padding: 28px;
  flex: 1;
}
.card-body h3 {
  margin: 0 0 12px;
}
.card-body p:not(.card-kicker) {
  margin: 0;
  color: var(--muted);
}
.text-link {
  display: inline-block;
  margin-top: auto;
  padding-top: 20px;
  font-weight: 700;
}
.text-link:hover {
  text-decoration: underline;
}
.feature-section {
  margin: auto;
  display: grid;
  align-items: center;
}
.feature-image img {
  width: 100%;
  object-fit: cover;
}
.feature-copy {
  background: var(--cream);
  padding: 68px;
  position: relative;
}
.feature-copy h2 {
  margin: 0 0 22px;
}
.check-list {
  list-style: none;
  padding: 0;
  margin: 26px 0;
}
.check-list li {
  position: relative;
  border-bottom: 1px solid rgba(36, 59, 44, 0.12);
  padding: 14px 0 14px 34px;
}
.check-list li:before {
  content: "✓";
  position: absolute;
  left: 0;
  color: var(--copper);
  font-weight: 700;
}
.steps-section {
  background: var(--cream);
}
.steps {
  margin: auto;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
}
.steps > div {
  border-top: 2px solid var(--gold);
}
.steps h3 {
  margin: 12px 0;
}
.steps p {
  color: var(--muted);
}
.center {
  text-align: center;
  margin: 42px 0 0;
}
.quote-section {
  background: var(--forest);
  color: #fff;
  text-align: center;
}
.quote-section blockquote,
.stats strong,
.steps span {
  font-family: "Playfair Display", Georgia, serif;
}
.quote-section blockquote {
  margin: 0 auto 20px;
  line-height: 1.35;
  max-width: 1050px;
  font-size: clamp(2rem, 4vw, 4rem);
  letter-spacing: -0.025em;
}
.final-cta {
  background: linear-gradient(135deg, #354f3d, var(--forest));
  color: #fff;
  padding: 75px max(28px, calc((100vw - 1184px) / 2));
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 55px;
}
.final-cta h2 {
  color: #fff;
  margin: 0 0 12px;
}
.final-cta p {
  margin: 0;
  max-width: 670px;
}
.final-cta .hero-actions {
  min-width: max-content;
  margin: 0;
}
.page-banner {
  padding: 90px 28px;
  background: linear-gradient(135deg, var(--forest), #3f5b47);
  text-align: center;
  color: #fff;
}
.page-banner h1 {
  margin: 0;
  color: #fff;
}
.page-banner .eyebrow {
  color: #f3c97b;
}
.two-col {
  max-width: 1100px;
  margin: auto;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 60px;
  align-items: start;
}
.stats {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 12px;
  margin-top: 30px;
}
.stats div {
  background: var(--cream);
  padding: 18px;
  text-align: center;
  border-radius: 6px;
}
.stats strong {
  display: block;
  color: var(--forest);
  font-size: 1.5rem;
}
.precios {
  width: min(100%, 1000px);
  margin: 30px auto;
  border-collapse: collapse;
  background: #fff;
  box-shadow: 0 8px 30px rgba(36, 59, 44, 0.06);
}
.precios th {
  background: var(--forest);
  color: #fff;
}
.precios td,
.precios th {
  padding: 13px 16px;
  border: 1px solid var(--line);
  text-align: left;
}
.precios tbody tr:nth-child(even) {
  background: var(--cream);
}
.contact-form {
  display: grid;
}
.contact-form input,
.contact-form textarea {
  width: 100%;
  font: inherit;
  padding: 14px;
  border: 1px solid #b9bdb8;
  border-radius: 5px;
  background: #fff;
}
.contact-form input:focus,
.contact-form textarea:focus {
  outline: 3px solid rgba(168, 95, 60, 0.2);
  border-color: var(--copper);
}
.contact-form .btn {
  margin: 0;
}
.alt {
  background: var(--cream);
}
.section-sub,
.section-title {
  text-align: center;
}
.section-sub {
  max-width: 760px;
  margin: 0 auto 44px;
  color: var(--muted);
}
.site-footer {
  background: #17271d;
  color: #dce4dc;
  padding: 70px 28px 0;
}
.footer-inner {
  max-width: 1184px;
  margin: auto;
  display: grid;
  grid-template-columns: 1.35fr 1fr 1fr 0.75fr;
  gap: 42px;
}
.site-footer h2,
.site-footer h3 {
  color: #fff;
  margin-top: 0;
}
.site-footer h2 {
  font-size: 1.6rem;
}
.site-footer h3 {
  font-family: "DM Sans", sans-serif;
  font-size: 0.82rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}
.site-footer p {
  font-size: 0.9rem;
  color: #c7d0c8;
}
.site-footer a:hover {
  text-decoration: underline;
  color: #fff;
}
.footer-bottom {
  max-width: 1184px;
  margin: 45px auto 0;
  border-top: 1px solid rgba(255, 255, 255, 0.13);
  padding: 22px 0;
  font-size: 0.8rem;
  color: #9eaa9f;
}
.mobile-actions {
  display: none;
}
@media (max-width: 980px) {
  .header-inner {
    min-height: 76px;
  }
  .header-cta {
    margin-left: auto;
  }
  .nav-toggle-label {
    display: flex;
    width: 48px;
    height: 48px;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    gap: 5px;
    cursor: pointer;
  }
  .nav-toggle-label span {
    width: 24px;
    height: 2px;
    background: var(--forest);
  }
  .nav-toggle-label b {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
  }
  .main-nav {
    display: none;
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    background: #fff;
    border-top: 1px solid var(--line);
    box-shadow: var(--shadow);
    max-height: calc(100vh - 76px);
    overflow: auto;
  }
  .nav-toggle:checked ~ .main-nav {
    display: block;
  }
  .main-nav > ul {
    display: block;
    padding: 16px 28px 26px;
  }
  .main-nav a {
    padding: 13px 0;
    font-size: 0.9rem;
  }
  .dropdown-menu {
    display: block !important;
    position: static;
    box-shadow: none;
    border: 0;
    padding: 0 0 4px 18px !important;
  }
  .dropdown-menu a {
    padding: 8px 0;
    color: var(--muted);
  }
  .trust-strip {
    margin: -25px 28px 0;
    grid-template-columns: 1fr 1fr;
  }
  .trust-strip div:nth-child(2) {
    border-right: 0;
  }
  .trust-strip div:nth-child(-n + 2) {
    padding-bottom: 18px;
    margin-bottom: 18px;
    border-bottom: 1px solid var(--line);
  }
  .services-grid {
    grid-template-columns: 1fr 1fr;
  }
  .service-card,
  .service-card:nth-child(4),
  .service-card:nth-child(5) {
    grid-column: auto;
  }
  .feature-section {
    grid-template-columns: 1fr;
    padding: 80px 28px;
  }
  .feature-image img {
    min-height: 430px;
  }
  .feature-copy {
    margin: -65px 28px 0;
    padding: 48px;
  }
  .final-cta {
    display: block;
  }
  .final-cta .hero-actions {
    margin-top: 28px;
  }
  .footer-inner {
    grid-template-columns: 1fr 1fr;
  }
}
@media (max-width: 640px) {
  body {
    font-size: 16px;
    padding-bottom: 64px;
  }
  .header-inner {
    padding: 10px 18px;
    gap: 10px;
  }
  .logo img {
    width: 48px;
    height: 48px;
  }
  .logo span {
    font-size: 0.88rem;
  }
  .logo strong {
    font-size: 1rem;
  }
  .header-cta {
    display: none;
  }
  .hero {
    min-height: 620px;
    padding: 72px 22px;
    background:
      linear-gradient(180deg, rgba(20, 35, 25, 0.58), rgba(20, 35, 25, 0.84)),
      var(--hero-img);
    background-size: cover;
    background-position: center;
  }
  .hero h1 {
    font-size: 2.55rem;
  }
  .hero-lead {
    font-size: 1.05rem;
  }
  .hero-actions {
    display: grid;
  }
  .hero-actions .btn {
    width: 100%;
  }
  .trust-strip {
    grid-template-columns: 1fr;
    margin: -20px 18px 0;
    padding: 12px 20px;
  }
  .trust-strip div,
  .trust-strip div:nth-child(2) {
    border: 0;
    border-bottom: 1px solid var(--line);
    padding: 14px 0;
    margin: 0;
  }
  .trust-strip div:last-child {
    border: 0;
  }
  .section {
    padding: 76px 20px;
  }
  .section-heading {
    margin-bottom: 38px;
  }
  .grid-3,
  .services-grid,
  .stats,
  .steps,
  .two-col {
    grid-template-columns: 1fr;
  }
  .card img {
    height: 215px;
  }
  .feature-section {
    padding: 76px 20px;
  }
  .feature-image img {
    min-height: 320px;
  }
  .feature-copy {
    margin: -30px 12px 0;
    padding: 34px 26px;
  }
  .steps {
    gap: 10px;
  }
  .final-cta {
    padding: 62px 22px;
  }
  .footer-inner {
    grid-template-columns: 1fr;
    gap: 26px;
  }
  .site-footer {
    padding: 55px 22px 0;
  }
  .precios {
    display: block;
    overflow-x: auto;
    white-space: nowrap;
  }
  .mobile-actions {
    position: fixed;
    z-index: 120;
    left: 0;
    right: 0;
    bottom: 0;
    height: 64px;
    display: grid;
    grid-template-columns: 1fr 1fr;
    box-shadow: 0-6px 22px rgba(0, 0, 0, 0.15);
  }
  .mobile-actions a {
    display: flex;
    align-items: center;
    justify-content: center;
    background: #fff;
    color: var(--forest);
    font-weight: 700;
  }
  .mobile-actions .whatsapp {
    background: #247a42;
    color: #fff;
  }
}
@media (prefers-reduced-motion: reduce) {
  * {
    scroll-behavior: auto !important;
    transition: none !important;
  }
}
.contact-form {
  gap: 9px;
}
.contact-form label {
  font-size: 0.9rem;
  font-weight: 700;
  margin-top: 7px;
}
.contact-form .btn {
  margin-top: 12px;
}
:root {
  --forest: #26362b;
  --green: #68775f;
  --cream: #f1ecdf;
  --paper: #fbf9f4;
  --copper: #c46f4e;
  --copper-dark: #a65538;
  --gold: #bda06a;
  --ink: #28302a;
  --muted: #676b63;
  --line: #ded8ca;
}
body {
  font-family: "Atkinson Hyperlegible", "Segoe UI", sans-serif;
  background: var(--paper);
  font-size: 18px;
}
.site-header {
  background: rgba(251, 249, 244, 0.94);
  border: 0;
}
.logo span {
  font-size: 0.9rem;
}
.logo strong {
  font-size: 1.1rem;
}
.main-nav > ul {
  gap: 32px;
}
.main-nav a {
  letter-spacing: 0.12em;
}
.header-cta {
  min-height: 44px;
  padding: 10px 22px;
}
.hero {
  background:
    linear-gradient(
      90deg,
      #f1ecdf 0%,
      #f1ecdf 51%,
      rgba(241, 236, 223, 0.94) 56%,
      rgba(241, 236, 223, 0) 72%
    ),
    var(--hero-img);
  background-size: cover;
  background-position: center right;
}
.hero-lead {
  color: #596158;
}
.hero .btn-secondary:hover {
  background: var(--forest);
}
.btn {
  border-radius: 999px;
}
.btn-dark {
  background: var(--forest);
  border-color: var(--forest);
}
.trust-strip {
  border-radius: 0;
  box-shadow: none;
  color: #fff;
  padding: 24px 0;
}
.trust-strip strong {
  color: #fff;
  font-size: 1.1rem;
}
.trust-strip span {
  color: #cfd8cf;
}
.trust-strip div {
  border-color: rgba(255, 255, 255, 0.18);
  padding: 0 32px;
}
.section {
  padding: 125px 32px;
}
.section-heading {
  max-width: 1256px;
  text-align: left;
  margin: 0 auto 64px;
  display: grid;
  grid-template-columns: 0.8fr 1.2fr;
  column-gap: 70px;
}
.section-heading .eyebrow {
  grid-column: 1;
}
.section-heading h2 {
  grid-column: 1;
  letter-spacing: -0.03em;
}
.section-heading > p:last-child {
  grid-column: 2;
  grid-row: 1 / span 2;
  align-self: end;
  max-width: 600px;
  padding-bottom: 14px;
}
.services-grid {
  max-width: 1256px;
  grid-template-columns: repeat(2, 1fr);
  gap: 54px 30px;
}
.service-card,
.service-card:nth-child(4),
.service-card:nth-child(5) {
  grid-column: auto;
}
.service-card {
  border: 0;
  border-radius: 0;
  box-shadow: none;
  background: 0 0;
  display: grid;
  grid-template-columns: 1fr 1fr;
  align-items: center;
}
.service-card img {
  height: 360px;
}
.service-card .card-body {
  padding: 34px;
}
.service-card:nth-child(3) {
  grid-column: 1/-1;
  grid-template-columns: 1.2fr 0.8fr;
}
.service-card:nth-child(3) img {
  height: 460px;
}
.text-link {
  color: var(--forest);
  border-bottom: 1px solid var(--forest);
  width: max-content;
  padding-bottom: 3px;
}
.feature-section {
  max-width: none;
  padding: 0;
  grid-template-columns: 1fr 1fr;
  background: #e6dfd0;
}
.feature-image img {
  border-radius: 0;
  min-height: 760px;
}
.feature-copy {
  margin: 0;
  border-radius: 0;
  background: 0 0;
  padding: 100px max(50px, calc((100vw - 1256px) / 2)) 100px 90px;
}
.feature-copy h2 {
  font-size: clamp(2.7rem, 4vw, 4.6rem);
  letter-spacing: -0.035em;
}
.steps-section {
  background: var(--paper);
}
.steps {
  max-width: 1256px;
  gap: 0;
  border-top: 1px solid var(--line);
}
.steps > div {
  border: 0;
  border-right: 1px solid var(--line);
  padding: 42px;
}
.steps > div:last-child {
  border-right: 0;
}
.steps span {
  color: var(--copper);
  font-size: 1.5rem;
}
.quote-section {
  background: #b7c0ab;
  padding: 120px 32px;
}
.quote-section p {
  color: #4b594d;
}
.blog-preview {
  background: #f1ecdf;
}
.blog-preview .grid {
  gap: 22px;
}
.blog-preview .card {
  border: 0;
  border-radius: 0;
  box-shadow: none;
  background: 0 0;
}
.blog-preview .card img {
  height: 310px;
}
.blog-preview .card-body {
  padding: 24px 0;
  min-height: auto;
}
.final-cta {
  background: var(--copper);
  padding-top: 90px;
  padding-bottom: 90px;
}
.final-cta .eyebrow {
  color: #f5d4c7;
}
.final-cta .btn {
  background: var(--forest);
  border-color: var(--forest);
}
.final-cta .btn-secondary {
  background: 0 0;
  border-color: #fff;
}
.site-footer {
  background: #202c23;
}
@media (max-width: 980px) {
  .hero {
    background:
      linear-gradient(
        90deg,
        rgba(241, 236, 223, 0.96),
        rgba(241, 236, 223, 0.82)
      ),
      var(--hero-img);
    background-size: cover;
  }
  .section-heading {
    display: block;
  }
  .section-heading > p:last-child {
    padding: 0;
  }
  .services-grid {
    grid-template-columns: 1fr;
  }
  .service-card:nth-child(3) {
    grid-column: auto;
  }
  .feature-copy {
    padding: 60px 42px;
  }
  .trust-strip {
    grid-template-columns: 1fr 1fr;
  }
}
@media (max-width: 640px) {
  .hero {
    min-height: 650px;
    padding: 70px 22px;
    background:
      linear-gradient(
        180deg,
        rgba(241, 236, 223, 0.92),
        rgba(241, 236, 223, 0.97)
      ),
      var(--hero-img);
    background-size: cover;
  }
  .hero h1 {
    font-size: 3.05rem;
  }
  .hero-content {
    padding: 0;
  }
  .trust-strip {
    margin: 0;
    grid-template-columns: 1fr;
  }
  .service-card,
  .service-card:nth-child(3) {
    display: block;
  }
  .service-card img,
  .service-card:nth-child(3) img {
    height: 270px;
  }
  .service-card .card-body {
    padding: 26px 4px 10px;
  }
  .section {
    padding: 82px 20px;
  }
  .feature-section {
    grid-template-columns: 1fr;
  }
  .feature-image img {
    min-height: 420px;
  }
  .feature-copy {
    margin: 0;
    padding: 55px 24px;
  }
  .steps > div {
    border-right: 0;
    border-bottom: 1px solid var(--line);
    padding: 32px 6px;
  }
  .quote-section {
    padding: 80px 24px;
  }
  .blog-preview .card img {
    height: 240px;
  }
}
.residence-spotlight {
  max-width: 1256px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1.25fr 0.75fr;
  background: var(--forest);
  color: #fff;
  min-height: 590px;
}
.residence-photo {
  position: relative;
  overflow: hidden;
}
.residence-photo img {
  width: 100%;
  height: 100%;
  min-height: 590px;
  object-fit: cover;
  transition: transform 1.2s cubic-bezier(0.2, 0.7, 0.2, 1);
}
.residence-spotlight:hover .residence-photo img {
  transform: scale(1.035);
}
.photo-note {
  position: absolute;
  left: 22px;
  bottom: 20px;
  background: rgba(251, 249, 244, 0.9);
  padding: 8px 13px;
  border-radius: 999px;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}
.residence-copy {
  padding: 70px 55px;
  align-self: center;
}
.residence-copy h3 {
  color: #fff;
  font-size: clamp(2.5rem, 4vw, 4.6rem);
  margin: 0 0 22px;
}
.residence-copy > p:not(.card-kicker) {
  color: #dce4dc;
}
.residence-benefits {
  list-style: none;
  padding: 0;
  margin: 28px 0 34px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
}
.residence-benefits li {
  font-size: 0.86rem;
  padding-top: 12px;
  border-top: 1px solid rgba(255, 255, 255, 0.2);
  display: grid;
  grid-template-columns: 25px 1fr;
  align-items: center;
  gap: 8px;
}
.residence-copy .btn {
  background: #fff;
  border-color: #fff;
  color: var(--forest);
}
.other-services-heading {
  max-width: 1256px;
  margin: 100px auto 38px;
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 30px;
}
.other-services-heading p {
  margin: 0;
}
.other-services-heading h3 {
  margin: 0;
  font-size: 2rem;
  max-width: 520px;
}
.other-services {
  max-width: 1256px;
  margin: auto;
  border-top: 1px solid var(--line);
}
.other-services a {
  display: grid;
  align-items: center;
  gap: 25px;
  transition:
    padding 0.3s ease,
    background 0.3s ease;
}
.other-services a:hover {
  background: #f1ecdf;
  padding: 26px;
  background: var(--cream);
  transform: translateY(-3px);
  box-shadow: var(--shadow);
}
.other-services h4,
.other-services span {
  color: var(--copper);
  font-family: "Playfair Display", serif;
  font-size: 1.2rem;
}
.other-services h4 {
  color: var(--forest);
  font-size: 1.5rem;
  margin: 0 0 4px;
}
.other-services p {
  margin: 0;
  color: var(--muted);
}
.other-services b {
  font-size: 1.5rem;
  color: var(--copper);
}
.feature-no-image {
  max-width: none;
  background: #e6dfd0;
  grid-template-columns: 1.15fr 0.85fr;
  padding: 100px max(32px, calc((100vw - 1256px) / 2));
}
.feature-no-image .feature-copy {
  padding: 0 90px 0 0;
}
.facility-facts {
  display: grid;
  background: rgba(38, 54, 43, 0.16);
}
.facility-facts > div {
  background: #e6dfd0;
  padding: 38px;
}
.facility-facts strong {
  display: block;
  font-size: clamp(3rem, 5vw, 5.2rem);
  line-height: 1;
}
.facility-facts span {
  display: block;
  margin-top: 8px;
  color: var(--muted);
  text-transform: uppercase;
  letter-spacing: 0.1em;
  font-size: 0.76rem;
}
.hero-content > * {
  opacity: 0;
  transform: translateY(24px);
  animation: hero-in 0.8s cubic-bezier(0.2, 0.7, 0.2, 1) forwards;
}
.hero-content .eyebrow-hero {
  animation-delay: 0.08s;
}
.hero-content h1 {
  animation-delay: 0.18s;
}
.hero-content .hero-lead {
  animation-delay: 0.3s;
}
.hero-content .hero-actions {
  animation-delay: 0.42s;
}
.motion-ready .reveal {
  opacity: 0;
  transform: translateY(42px);
  transition:
    opacity 0.75s cubic-bezier(0.2, 0.7, 0.2, 1) var(--reveal-delay, 0ms),
    transform 0.75s cubic-bezier(0.2, 0.7, 0.2, 1) var(--reveal-delay, 0ms);
}
.motion-ready .reveal.is-visible {
  opacity: 1;
  transform: none;
}
.site-header {
  transition:
    min-height 0.3s ease,
    box-shadow 0.3s ease;
}
.site-header.is-scrolled {
  box-shadow: 0 10px 30px rgba(38, 54, 43, 0.09);
}
@media (max-width: 900px) {
  .residence-spotlight {
    grid-template-columns: 1fr;
  }
  .residence-photo img {
    min-height: 430px;
  }
  .residence-copy {
    padding: 50px 36px;
  }
  .feature-no-image {
    grid-template-columns: 1fr;
    padding: 80px 32px;
  }
  .feature-no-image .feature-copy {
    padding: 0 0 50px;
  }
  .other-services-heading {
    display: block;
  }
}
@media (max-width: 640px) {
  .residence-photo img {
    min-height: 300px;
  }
  .residence-copy {
    padding: 42px 24px;
  }
  .residence-benefits {
    grid-template-columns: 1fr;
  }
  .other-services-heading {
    margin-top: 75px;
  }
  .other-services a {
    grid-template-columns: 40px 1fr 20px;
    gap: 12px;
    padding: 24px 2px;
  }
  .other-services p {
    font-size: 0.9rem;
  }
  .feature-no-image {
    padding: 70px 22px;
  }
  .facility-facts > div {
    padding: 28px;
  }
  .motion-ready .reveal {
    transform: translateY(26px);
  }
}
@media (prefers-reduced-motion: reduce) {
  .hero-content > * {
    animation: none;
  }
  .hero-content > *,
  .motion-ready .reveal {
    opacity: 1;
    transform: none;
  }
  .residence-photo img {
    transition: none;
  }
}
.material-symbols-rounded {
  font-family: "Material Symbols Rounded";
  font-weight: 400;
  font-style: normal;
  font-size: 26px;
  line-height: 1;
  letter-spacing: normal;
  text-transform: none;
  display: inline-block;
  white-space: nowrap;
  word-wrap: normal;
  direction: ltr;
  -webkit-font-feature-settings: "liga";
  -webkit-font-smoothing: antialiased;
  font-feature-settings: "liga";
}
.trust-strip > div {
  display: grid;
  grid-template-columns: 38px 1fr;
  align-items: center;
}
.trust-strip i {
  grid-row: 1 / span 2;
  color: #e0bd80;
  font-size: 28px;
}
.trust-strip span,
.trust-strip strong {
  grid-column: 2;
}
.residence-benefits i {
  font-size: 21px;
}
.other-services a > i,
.step-icon {
  display: grid;
  place-items: center;
  border-radius: 50%;
}
.other-services a > i {
  width: 48px;
  height: 48px;
  border: 1px solid var(--line);
  font-size: 24px;
  transition:
    background 0.3s ease,
    color 0.3s ease,
    transform 0.3s ease;
}
.other-services a:hover > i {
  background: var(--forest);
  color: #fff;
  background: var(--copper);
  transform: rotate(-6deg);
  background: var(--leaf);
  color: var(--forest);
}
.steps > div {
  position: relative;
}
.step-icon {
  width: 54px;
  height: 54px;
  margin-bottom: 28px;
  background: #e6dfd0;
  font-size: 27px;
}
@media (max-width: 640px) {
  .other-services a {
    grid-template-columns: 36px 44px 1fr 18px;
  }
  .other-services a > i {
    width: 40px;
    height: 40px;
    font-size: 21px;
  }
  .trust-strip > div {
    grid-template-columns: 36px 1fr;
  }
}
:root {
  --forest: #173b32;
  --green: #2f6a57;
  --cream: #e8efe7;
  --paper: #f8faf6;
  --copper: #d35c73;
  --copper-dark: #a93e56;
  --gold: #f2c66d;
  --ink: #153029;
  --muted: #586a62;
  --line: #cddbd2;
  --shadow: 0 22px 65px rgba(23, 59, 50, 0.13);
}
.facility-facts strong,
.logo,
.residence-copy h3,
h1,
h2,
h3,
h4 {
  font-family: "Fraunces", Georgia, serif;
}
.card-kicker,
.eyebrow,
.eyebrow-hero {
  letter-spacing: 0.17em;
}
.btn,
.card-kicker,
.eyebrow,
.eyebrow-hero,
.header-cta,
.main-nav a {
  font-family: "Atkinson Hyperlegible", sans-serif;
}
.btn:hover,
.header-cta:hover {
  transform: translateY(-2px);
}
.site-header {
  background: rgba(248, 250, 246, 0.94);
}
.hero h1,
.logo,
.quote-section p {
  color: var(--forest);
}
.main-nav a {
  font-size: 0.76rem;
}
.header-cta {
  border-radius: 14px 14px 14px 3px;
}
.hero {
  min-height: 760px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(420px, 0.88fr);
  align-items: center;
  gap: 70px;
  padding: 80px max(32px, calc((100vw - 1256px) / 2));
  background: linear-gradient(135deg, #edf4eb 0, #f8faf6 62%);
  position: relative;
  isolation: isolate;
}
.hero::after {
  content: "";
  grid-column: 2;
  grid-row: 1;
  width: 100%;
  height: 640px;
  background: var(--hero-img) center/cover;
  border-radius: 50% 50% 20px 20px/34% 34% 20px 20px;
  z-index: -1;
}
.hero::before {
  content: "SENIORS CLUB";
  position: absolute;
  right: 16px;
  bottom: 25px;
  font:
    750 clamp(4rem, 9vw, 9rem)/1 "Fraunces",
    serif;
  letter-spacing: -0.06em;
  z-index: -2;
}
.hero-content {
  grid-column: 1;
  grid-row: 1;
  max-width: 680px;
  padding: 0;
}
.hero h1 {
  font-size: clamp(3.9rem, 6.4vw, 6.8rem);
  line-height: 0.94;
  letter-spacing: -0.055em;
}
.hero h1 em {
  display: block;
  font-weight: 500;
}
.hero-lead {
  color: var(--ink);
  font-size: 1.17rem;
  max-width: 570px;
}
.hero-address {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-top: 28px !important;
  color: var(--muted) !important;
  font-size: 0.86rem !important;
}
.hero-address i {
  font-size: 20px;
}
.trust-strip {
  max-width: none;
  margin: 0;
  padding: 28px max(32px, calc((100vw - 1256px) / 2));
}
.feature-copy h2,
.section-heading h2 {
  color: var(--forest);
  font-weight: 650;
}
.section-heading h2 {
  font-size: clamp(2.8rem, 4.7vw, 5rem);
  line-height: 1;
}
.section-heading > p:last-child {
  font-size: 1.12rem;
}
.residence-spotlight {
  border-radius: 36px 36px 36px 8px;
  overflow: hidden;
  box-shadow: var(--shadow);
}
.residence-photo img {
  border-radius: 0 48%0 0/0 32%0 0;
}
.photo-note {
  background: var(--gold);
  color: var(--forest);
}
.residence-copy .btn {
  color: #fff;
}
.other-services {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
  border: 0;
}
.other-services a {
  grid-template-columns: 56px 1fr 28px;
  padding: 26px;
  border: 1px solid var(--line);
  border-radius: 24px 24px 24px 6px;
  background: #fff;
}
.other-services a > i {
  border: 0;
  background: #dfeadf;
  background: #e5ebcf;
  color: var(--green);
}
.feature-no-image {
  background: #dfeadf;
}
.facility-facts {
  gap: 12px;
  background: 0 0;
}
.facility-facts > div {
  border-radius: 28px 28px 28px 7px;
}
.hero h1 em {
  color: var(--green);
}
.quote-section {
  background: var(--gold);
}
.blog-preview {
  background: #edf4eb;
}
.blog-preview .card img {
  border-radius: 38px 38px 8px 8px;
}
.final-cta {
  background: var(--green);
}
:focus-visible {
  outline: 3px solid var(--gold);
  outline-offset: 4px;
}
@media (max-width: 980px) {
  .hero {
    grid-template-columns: 1fr;
    gap: 40px;
    padding-top: 65px;
  }
  .hero-content {
    grid-row: 1;
  }
  .hero::after {
    grid-column: 1;
    grid-row: 2;
    height: 520px;
  }
  .hero::before {
    display: none;
  }
  .other-services {
    grid-template-columns: 1fr;
  }
}
@media (max-width: 640px) {
  body {
    font-size: 17px;
  }
  .hero {
    min-height: auto;
    padding: 52px 20px 40px;
  }
  .hero h1 {
    font-size: 3.7rem;
  }
  .hero::after {
    height: 390px;
    border-radius: 50% 50% 16px 16px/30% 30% 16px 16px;
    box-shadow:
      12px 14px 0#b8d2ba,
      -7px 7px 0 var(--gold);
  }
  .hero-address {
    align-items: flex-start;
  }
  .residence-spotlight {
    border-radius: 24px 24px 24px 6px;
  }
  .other-services a,
  .other-services a:hover {
    padding: 20px;
  }
  .facility-facts > div {
    border-radius: 20px 20px 20px 5px;
  }
}
:root {
  --forest: #304b32;
  --green: #66762e;
  --leaf: #8ead3b;
  --cream: #edf1df;
  --paper: #f7f5ec;
  --copper: #72523a;
  --copper-dark: #533b2b;
  --gold: #a7c64a;
  --ink: #263628;
  --muted: #65705d;
  --line: #d7ddc6;
  --shadow: 0 22px 65px rgba(48, 75, 50, 0.14);
}
.site-header {
  background: rgba(247, 245, 236, 0.96);
  border-bottom: 1px solid rgba(102, 118, 46, 0.16);
}
.header-inner {
  max-width: 1320px;
  min-height: 116px;
  padding: 8px 32px;
}
.logo {
  min-width: 148px;
}
.logo img {
  width: 132px;
  height: 96px;
  object-fit: contain;
}
.main-nav {
  margin-left: auto;
}
.main-nav a {
  color: var(--forest);
}
.btn,
.header-cta {
  background: var(--copper);
  border-color: var(--copper);
  box-shadow: 0 8px 0 rgba(83, 59, 43, 0.13);
}
.btn:hover,
.header-cta:hover {
  background: var(--copper-dark);
  border-color: var(--copper-dark);
}
.hero {
  background: linear-gradient(135deg, #edf1df 0, #f7f5ec 62%);
}
.hero::after {
  box-shadow:
    24px 26px 0#b7c98b,
    -14px 14px 0 var(--copper);
}
.hero::before {
  color: rgba(102, 118, 46, 0.08);
}
.card-kicker,
.eyebrow,
.eyebrow-hero,
.facility-facts strong,
.hero-address i {
  color: var(--green);
}
.trust-strip {
  background: var(--forest);
}
.trust-strip i {
  color: var(--leaf);
}
.photo-note {
  background: var(--leaf);
}
.residence-copy {
  background: var(--forest);
}
.residence-copy .btn {
  background: var(--copper);
  border-color: var(--copper);
}
.residence-benefits i {
  color: #c3d77f;
}
.other-services a:hover {
  background: #edf1df;
}
.feature-no-image,
.step-icon {
  background: #e2e8cc;
}
.facility-facts > div {
  background: var(--paper);
}
.step-icon {
  color: var(--copper);
}
.quote-section {
  background: var(--leaf);
  color: var(--forest);
}
.blog-preview {
  background: #edf1df;
}
.final-cta {
  background: var(--forest);
}
:focus-visible {
  outline-color: var(--leaf);
}
.hero .btn-secondary {
  background: 0 0;
  border-color: var(--copper);
  color: var(--copper-dark);
  box-shadow: none;
}
.hero .btn-secondary:hover {
  background: var(--copper);
  border-color: var(--copper);
  color: #fff;
}
@media (max-width: 980px) {
  .header-inner {
    min-height: 96px;
  }
  .logo {
    min-width: auto;
  }
  .logo img {
    width: 104px;
    height: 76px;
  }
}
@media (max-width: 640px) {
  .header-inner {
    padding: 6px 18px;
    min-height: 88px;
  }
  .logo img {
    width: 94px;
    height: 70px;
  }
  .hero::after {
    box-shadow:
      12px 14px 0#b7c98b,
      -7px 7px 0 var(--copper);
  }
}
.blog-banner {
  padding-bottom: 100px;
}
.blog-banner > p:last-child {
  max-width: 620px;
  margin: 18px auto 0;
  color: #e8efdf;
}
.blog-library {
  max-width: 1320px;
  margin: auto;
}
.blog-library-head {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 38px;
  color: var(--muted);
}
.blog-grid-full {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 42px 24px;
}
.blog-card {
  min-width: 0;
}
.blog-card-image {
  display: block;
  overflow: hidden;
  border-radius: 28px 28px 7px 7px;
  aspect-ratio: 4/3;
  background: var(--cream);
}
.blog-card-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.7s cubic-bezier(0.2, 0.7, 0.2, 1);
}
.blog-card:hover img {
  transform: scale(1.04);
}
.blog-card-copy {
  padding: 22px 5px;
}
.blog-card-copy h2 {
  font-size: 1.65rem;
  margin: 8px 0 12px;
}
.blog-card-copy > p:not(.blog-meta) {
  color: var(--muted);
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.blog-meta {
  font-size: 0.78rem;
  color: var(--green);
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
.blog-card-featured {
  grid-column: 1/-1;
  display: grid;
  grid-template-columns: 1.25fr 0.75fr;
  gap: 44px;
  align-items: center;
  margin-bottom: 32px;
}
.blog-card-featured .blog-card-image {
  aspect-ratio: 16/9;
}
.blog-card-featured .blog-card-copy h2 {
  font-size: clamp(2.5rem, 4vw, 4.4rem);
  line-height: 1;
}
.article-page {
  background: var(--paper);
}
.article-hero {
  max-width: 1060px;
  margin: auto;
  padding: 100px 28px 55px;
  text-align: center;
}
.article-hero h1 {
  font-size: clamp(3rem, 6vw, 6rem);
  line-height: 0.98;
  margin: 18px 0 28px;
}
.article-deck {
  max-width: 780px;
  margin: 0 auto 22px;
  color: var(--muted);
  font-size: 1.2rem;
}
.article-cover {
  max-width: 1180px;
  margin: 0 auto;
  padding: 0 28px;
}
.article-cover img {
  width: 100%;
  max-height: 680px;
  object-fit: cover;
  border-radius: 48% 48% 18px 18px/24% 24% 18px 18px;
}
.article-layout {
  max-width: 1050px;
  margin: 80px auto 120px;
  padding: 0 28px;
  display: grid;
  grid-template-columns: 220px 1fr;
  gap: 70px;
}
.article-layout aside {
  position: sticky;
  top: 150px;
  align-self: start;
  border-top: 3px solid var(--leaf);
  padding-top: 18px;
  color: var(--muted);
  font-size: 0.9rem;
}
.article-layout aside a {
  display: block;
  margin-top: 20px;
  color: var(--copper);
  font-weight: 700;
}
.article-body {
  font-size: 1.12rem;
  line-height: 1.85;
}
.article-body > p {
  margin: 0 0 1.55em;
}
.article-body > p:first-child::first-letter {
  float: left;
  font:
    650 5.5rem/0.72 "Fraunces",
    serif;
  color: var(--green);
  padding: 12px 10px 0 0;
}
.article-cta {
  margin-top: 70px;
  padding: 42px;
  background: var(--cream);
  border-radius: 30px 30px 30px 7px;
}
.article-cta h2 {
  margin-top: 0;
}
.article-cta .btn {
  margin-top: 12px;
}
@media (max-width: 900px) {
  .blog-grid-full {
    grid-template-columns: 1fr 1fr;
  }
  .article-layout,
  .blog-card-featured {
    grid-template-columns: 1fr;
  }
  .article-layout aside {
    position: static;
  }
  .article-cover img {
    border-radius: 28px;
  }
}
@media (max-width: 640px) {
  .blog-grid-full {
    grid-template-columns: 1fr;
  }
  .blog-card-featured {
    display: block;
  }
  .blog-card-featured .blog-card-copy h2 {
    font-size: 2rem;
  }
  .article-hero {
    padding-top: 70px;
  }
  .article-cover {
    padding: 0 18px;
  }
  .article-layout {
    margin-top: 55px;
    padding: 0 20px;
    gap: 35px;
  }
  .article-cta {
    padding: 28px 22px;
  }
}
.gallery-hero {
  max-width: 1320px;
  margin: auto;
  padding: 105px 32px 80px;
  display: grid;
  grid-template-columns: 1.1fr 0.9fr;
  gap: 90px;
  align-items: end;
}
.gallery-hero h1 {
  font-size: clamp(3.5rem, 7vw, 7.4rem);
  line-height: 0.88;
  letter-spacing: -0.055em;
  margin: 0;
}
.gallery-hero h1 em {
  display: block;
  color: var(--green);
  font-weight: 500;
}
.gallery-hero > p {
  max-width: 540px;
  margin: 0 0 12px;
  color: var(--muted);
  font-size: 1.12rem;
}
.gallery-section {
  max-width: 1320px;
  margin: auto;
  padding: 0 32px 120px;
}
.gallery-status {
  border-top: 1px solid var(--line);
  padding: 22px 0 36px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  color: var(--muted);
  font-size: 0.85rem;
}
.gallery-status > div {
  display: flex;
  align-items: center;
  gap: 8px;
}
.gallery-status i {
  color: var(--leaf);
  font-size: 20px;
}
.gallery-status a {
  color: var(--copper);
  font-weight: 700;
}
.facebook-gallery {
  columns: 4 250px;
  column-gap: 16px;
}
.gallery-item {
  position: relative;
  width: 100%;
  margin: 0 0 16px;
  padding: 0;
  border: 0;
  background: var(--cream);
  overflow: hidden;
  cursor: zoom-in;
  break-inside: avoid;
  border-radius: 22px 22px 22px 5px;
  text-align: left;
}
.gallery-item img {
  width: 100%;
  height: auto;
  transition:
    transform 0.65s cubic-bezier(0.2, 0.7, 0.2, 1),
    filter 0.3s ease;
}
.gallery-item::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(transparent 55%, rgba(23, 59, 50, 0.76));
  opacity: 0;
  transition: opacity 0.3s ease;
}
.gallery-item:hover img {
  transform: scale(1.035);
  filter: saturate(1.06);
}
.gallery-item:focus-visible::after,
.gallery-item:hover::after {
  opacity: 1;
}
.gallery-item-meta {
  position: absolute;
  z-index: 2;
  left: 18px;
  right: 18px;
  bottom: 15px;
  display: flex;
  justify-content: space-between;
  gap: 10px;
  color: #fff;
  opacity: 0;
  transform: translateY(8px);
  transition: 0.3s ease;
  font-size: 0.74rem;
}
.gallery-item:focus-visible .gallery-item-meta,
.gallery-item:hover .gallery-item-meta {
  opacity: 1;
  transform: none;
}
.gallery-item-meta b {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.gallery-item-meta time {
  flex: none;
}
.gallery-empty {
  max-width: 760px;
  margin: 45px auto 0;
  padding: 75px 42px;
  text-align: center;
  background: var(--cream);
  border-radius: 42% 42% 24px 24px/18% 18% 24px 24px;
}
.gallery-empty > i {
  font-size: 58px;
  color: var(--green);
}
.gallery-empty h2 {
  font-size: clamp(2rem, 4vw, 3.4rem);
  margin: 18px 0 10px;
}
.gallery-empty p {
  color: var(--muted);
  margin: 0 auto 28px;
}
.gallery-lightbox {
  width: 100vw;
  max-width: none;
  height: 100vh;
  max-height: none;
  margin: 0;
  padding: 35px;
  border: 0;
  background: rgba(15, 27, 20, 0.96);
  color: #fff;
}
.gallery-lightbox::backdrop {
  background: rgba(15, 27, 20, 0.96);
}
.gallery-lightbox[open] {
  display: grid;
  grid-template-columns: 70px 1fr 70px;
  align-items: center;
}
.gallery-lightbox figure {
  margin: 0;
  display: grid;
  grid-template-rows: minmax(0, 1fr) auto;
  height: calc(100vh - 70px);
}
.gallery-lightbox figure > img {
  max-width: 100%;
  max-height: calc(100vh - 170px);
  margin: auto;
  object-fit: contain;
}
.gallery-lightbox figcaption {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 30px;
  max-width: 900px;
  width: 100%;
  margin: 18px auto 0;
  font-size: 0.9rem;
}
.gallery-lightbox figcaption p {
  margin: 0;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.gallery-lightbox figcaption a {
  color: #d5e68c;
  flex: none;
}
.lightbox-close,
.lightbox-nav {
  border: 0;
  background: 0 0;
  color: #fff;
  cursor: pointer;
}
.lightbox-close {
  position: absolute;
  top: 24px;
  right: 28px;
  width: 48px;
  height: 48px;
}
.lightbox-close i {
  font-size: 34px;
}
.lightbox-nav {
  width: 58px;
  height: 58px;
  border: 1px solid rgba(255, 255, 255, 0.25);
  border-radius: 50%;
}
.lightbox-nav:hover {
  background: #fff;
  color: var(--forest);
}
@media (max-width: 850px) {
  .gallery-hero {
    grid-template-columns: 1fr;
    gap: 30px;
    padding-top: 75px;
  }
  .facebook-gallery {
    columns: 3 210px;
  }
  .gallery-lightbox[open] {
    grid-template-columns: 45px 1fr 45px;
  }
  .lightbox-nav {
    width: 42px;
    height: 42px;
  }
}
@media (max-width: 560px) {
  .gallery-hero {
    padding: 58px 20px 52px;
  }
  .gallery-hero h1 {
    font-size: 4rem;
  }
  .gallery-section {
    padding: 0 16px 85px;
  }
  .gallery-status {
    gap: 18px;
  }
  .gallery-status,
  .gallery-status > div {
    align-items: flex-start;
  }
  .facebook-gallery {
    columns: 2 140px;
    column-gap: 10px;
  }
  .gallery-item {
    margin-bottom: 10px;
    border-radius: 14px 14px 14px 4px;
  }
  .gallery-item-meta {
    display: none;
  }
  .gallery-lightbox {
    padding: 18px;
  }
  .gallery-lightbox figcaption,
  .gallery-lightbox[open] {
    display: block;
  }
  .gallery-lightbox figure {
    height: calc(100vh - 36px);
    padding: 55px 0;
  }
  .gallery-lightbox figcaption p {
    white-space: normal;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
  }
  .gallery-lightbox figcaption a {
    display: inline-block;
    margin-top: 8px;
  }
  .lightbox-nav {
    position: absolute;
    bottom: 20px;
  }
  .lightbox-prev {
    left: 20px;
  }
  .lightbox-next {
    right: 20px;
  }
}

/* Navegación y lectura: versión canónica */
.main-nav > ul > li > a {
  position: relative;
}
.main-nav > ul > li > a.nav-current::after,
.main-nav > ul > li.is-current > a::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 7px;
  height: 3px;
  border-radius: 999px;
  background: var(--leaf);
}
.dropdown-menu a.nav-current {
  color: var(--forest);
  background: var(--cream);
  font-weight: 700;
}
.header-cta.nav-current {
  outline: 3px solid var(--leaf);
  outline-offset: 3px;
}
.two-col p,
.section-sub,
.article-body,
section > p {
  text-wrap: pretty;
}
section > p:not([class]) {
  max-width: 72ch;
}
@media (max-width: 980px) {
  .nav-toggle {
    display: block;
    position: absolute;
    width: 48px;
    height: 48px;
    right: 28px;
    opacity: 0;
    cursor: pointer;
  }
  .nav-toggle:focus-visible + .nav-toggle-label {
    outline: 3px solid var(--leaf);
    outline-offset: 3px;
    border-radius: 8px;
  }
  .main-nav > ul > li > a.nav-current::after,
  .main-nav > ul > li.is-current > a::after {
    left: auto;
    right: 0;
    top: 50%;
    bottom: auto;
    width: 9px;
    height: 9px;
    transform: translateY(-50%);
  }
}
@media (max-width: 640px) {
  .nav-toggle {
    right: 18px;
  }
}

/* Quiénes somos — recorrido humano y residencial */
.about-hero {
  min-height: min(760px, calc(100vh - 92px));
  display: grid;
  grid-template-columns: minmax(0, .92fr) minmax(420px, 1.08fr);
  align-items: stretch;
  background: #edf3e2;
}
.about-hero-copy {
  align-self: center;
  max-width: 680px;
  padding: clamp(70px, 9vw, 130px) clamp(28px, 7vw, 110px);
}
.about-hero h1 { margin: 14px 0 26px; font-size: clamp(3.4rem, 6.8vw, 7rem); letter-spacing: -.055em; }
.about-hero h1 em { color: var(--green); font-weight: 500; }
.about-lead { max-width: 56ch; font-size: clamp(1.08rem, 1.5vw, 1.28rem); color: #455749; }
.about-scroll { display: inline-flex; align-items: center; gap: 10px; margin-top: 28px; color: var(--forest); font-weight: 700; }
.about-scroll span { width: 38px; height: 38px; display: grid; place-items: center; border: 1px solid rgba(36,59,44,.3); border-radius: 50%; transition: transform .25s ease, background .25s ease; }
.about-scroll:hover span { transform: translateY(5px); background: var(--leaf); }
.about-hero-photo { position: relative; min-height: 620px; margin: 0; overflow: hidden; border-radius: 0 0 0 110px; }
.about-hero-photo img { width: 100%; height: 100%; object-fit: cover; transition: transform 1.2s cubic-bezier(.2,.7,.2,1); }
.about-hero-photo:hover img { transform: scale(1.025); }
.about-hero-photo figcaption { position: absolute; right: 28px; bottom: 28px; display: flex; gap: 9px; align-items: center; padding: 12px 18px; background: rgba(255,253,248,.9); backdrop-filter: blur(10px); border-radius: 999px; color: var(--forest); font-weight: 700; }
.about-story { max-width: 1240px; margin: auto; padding: clamp(95px, 12vw, 170px) 28px; display: grid; grid-template-columns: .82fr 1.18fr; gap: clamp(55px, 9vw, 145px); }
.about-story-heading { position: sticky; top: 150px; align-self: start; }
.about-story-heading h2 { margin: 12px 0 0; max-width: 12ch; }
.about-story-copy { position: relative; padding-left: 48px; border-left: 2px solid #bd8a56; }
.about-story-copy::before { content: ""; position: absolute; left: -8px; top: 0; width: 14px; height: 14px; background: var(--leaf); border-radius: 50%; box-shadow: 0 0 0 7px var(--paper); }
.about-story-copy p { margin: 0 0 28px; max-width: 64ch; font-size: 1.06rem; color: #465348; }
.about-story-copy .about-dropcap { font-size: clamp(1.28rem, 2vw, 1.58rem); line-height: 1.55; color: var(--forest); }
.about-dropcap::first-letter { float: left; margin: .08em .12em 0 0; font-family: Fraunces, serif; font-size: 4.2em; line-height: .75; color: var(--green); }
.care-path { position: relative; display: grid; grid-template-columns: minmax(280px,.78fr) minmax(0,1.22fr); gap: clamp(55px,8vw,120px); max-width: 1380px; margin: 0 auto; padding: clamp(80px,10vw,140px) clamp(28px,6vw,86px); background: var(--forest); color: #f8f4e8; border-radius: 70px 16px 70px 16px; overflow: hidden; }
.care-path::after { content: ""; position: absolute; width: 380px; height: 380px; left: -220px; bottom: -230px; border: 70px solid rgba(142,173,59,.13); border-radius: 50%; }
.care-path .eyebrow { color: #cfe27e; }
.care-path h2,.care-path h3 { color: #fffdf8; }
.care-path-intro { align-self: center; }
.care-path-intro h2 { margin: 14px 0 22px; }
.care-path-intro > p:last-child { color: #ced8cf; }
.care-path-list { position: relative; }
.care-path-list::before { content: ""; position: absolute; left: 28px; top: 32px; bottom: 32px; width: 1px; background: linear-gradient(#cfe27e,rgba(207,226,126,.12)); }
.care-principle { position: relative; display: grid; grid-template-columns: 58px 1fr; gap: 25px; padding: 25px 0; }
.care-icon { position: relative; z-index: 1; width: 58px; height: 58px; display: grid; place-items: center; border-radius: 50%; background: #f5f1df; color: var(--green); font-size: 29px; box-shadow: 0 0 0 8px var(--forest); transition: transform .3s ease, background .3s ease; }
.care-principle:hover .care-icon { transform: rotate(-6deg) scale(1.08); background: #d9e99b; }
.care-principle h3 { margin: 0 0 6px; font-size: 1.3rem; }
.care-principle p { margin: 0; color: #c8d2ca; max-width: 50ch; }
.about-home { padding: clamp(95px,12vw,170px) 28px; }
.about-home-card { position: relative; max-width: 1080px; margin: auto; padding: clamp(45px,7vw,90px); background: #eef2e2; border-radius: 18px 110px 18px 110px; text-align: center; }
.about-home-mark { position: absolute; right: 45px; top: 35px; font-size: 70px; color: rgba(69,99,77,.15); }
.about-home-card h2 { max-width: 19ch; margin: 12px auto 20px; }
.about-home-card > p:not(.eyebrow) { max-width: 66ch; margin: 0 auto; color: #4e5b50; }
.about-facts { display: grid; grid-template-columns: repeat(3,1fr); margin-top: 58px; border-top: 1px solid rgba(36,59,44,.18); }
.about-facts div { padding: 34px 20px 0; }
.about-facts div + div { border-left: 1px solid rgba(36,59,44,.18); }
.about-facts strong { display: block; font-family: Fraunces,serif; font-size: clamp(2.8rem,5vw,5rem); line-height: 1; color: var(--green); }
.about-facts span { display: block; margin-top: 8px; font-weight: 700; color: #556157; }
.about-closing { max-width: 920px; margin: 0 auto; padding: 10px 28px clamp(100px,13vw,180px); text-align: center; }
.about-closing > .material-symbols-rounded { color: var(--leaf); font-size: 40px; }
.about-closing blockquote { margin: 18px auto 25px; font-family: Fraunces,serif; font-size: clamp(2rem,4.5vw,4rem); line-height: 1.18; color: var(--forest); }
.about-closing p { max-width: 68ch; margin: 0 auto 34px; color: #59665b; }
.motion-ready .about-hero-copy .reveal { transform: translateY(30px); }
@media (max-width: 900px) {
  .about-hero { grid-template-columns: 1fr; }
  .about-hero-photo { min-height: 480px; border-radius: 0 0 70px 0; }
  .about-story,.care-path { grid-template-columns: 1fr; }
  .about-story-heading { position: static; }
  .care-path { margin: 0 18px; border-radius: 45px 12px; }
}
@media (max-width: 600px) {
  .about-hero-copy { padding: 65px 22px 55px; }
  .about-hero h1 { font-size: clamp(3.1rem,16vw,4.6rem); }
  .about-hero-photo { min-height: 390px; }
  .about-hero-photo figcaption { left: 16px; right: auto; bottom: 16px; }
  .about-story { padding-inline: 22px; }
  .about-story-copy { padding-left: 28px; }
  .care-path { padding: 65px 24px; gap: 35px; }
  .care-principle { grid-template-columns: 50px 1fr; gap: 18px; }
  .care-icon { width: 50px; height: 50px; font-size: 25px; }
  .care-path-list::before { left: 24px; }
  .about-home { padding-inline: 18px; }
  .about-home-card { border-radius: 14px 55px; padding: 55px 22px; }
  .about-home-mark { display: none; }
  .about-facts { grid-template-columns: 1fr; }
  .about-facts div + div { border-left: 0; border-top: 1px solid rgba(36,59,44,.18); margin-top: 25px; }
}
@media (prefers-reduced-motion: reduce) {
  .about-hero-photo img,.care-icon,.about-scroll span { transition: none; }
}

/* Residencia permanente — habitación propia, cuidado compartido */
.residence-page-hero { min-height: min(790px,calc(100vh - 90px)); display:grid; grid-template-columns:minmax(0,.9fr) minmax(520px,1.1fr); background:#eef3e5; }
.residence-page-intro { align-self:center; padding:clamp(70px,8vw,125px) clamp(28px,6vw,95px); }
.residence-page-intro h1 { margin:14px 0 26px; font-size:clamp(3.4rem,6.4vw,6.7rem); letter-spacing:-.055em; }
.residence-page-intro h1 em { display:inline-block; color:var(--green); font-weight:500; }
.residence-page-intro > p:not(.eyebrow) { max-width:58ch; font-size:1.12rem; color:#48584b; }
.residence-hero-actions { display:flex; align-items:center; gap:25px; flex-wrap:wrap; margin-top:34px; }
.residence-text-link { display:inline-flex; align-items:center; gap:8px; font-weight:700; color:var(--forest); }
.residence-text-link span { transition:transform .25s ease; }.residence-text-link:hover span{transform:translateY(5px)}
.residence-hero-gallery { position:relative; display:grid; grid-template-columns:1.22fr .78fr; grid-template-rows:1fr 1fr; gap:12px; min-height:650px; padding:22px 22px 22px 0; }
.residence-hero-gallery figure { margin:0; overflow:hidden; border-radius:12px; }
.residence-hero-gallery .residence-hero-main { grid-row:1 / 3; border-radius:0 0 0 100px; }
.residence-hero-gallery img { width:100%; height:100%; object-fit:cover; transition:transform 1s cubic-bezier(.2,.7,.2,1); }
.residence-hero-gallery figure:hover img { transform:scale(1.035); }
.residence-gallery-note { position:absolute; left:28px; bottom:42px; display:flex; align-items:baseline; gap:9px; padding:14px 20px; background:rgba(255,253,248,.92); backdrop-filter:blur(10px); border-radius:999px; color:var(--forest); font-weight:700; }
.residence-gallery-note b { font-family:Fraunces,serif; font-size:2rem; color:var(--green); }
.residence-room-story { max-width:1240px; margin:auto; padding:clamp(100px,12vw,170px) 28px; display:grid; grid-template-columns:.85fr 1.15fr; gap:clamp(55px,9vw,140px); }
.residence-story-title { align-self:start; position:sticky; top:150px; }.residence-story-title h2{max-width:13ch;margin:12px 0 0}
.residence-story-copy { padding-left:45px; border-left:2px solid #b88352; }.residence-story-copy p{max-width:62ch;margin:0 0 28px;color:#4a584d}
.residence-story-copy .residence-story-lead { font-size:clamp(1.3rem,2vw,1.58rem); line-height:1.55; color:var(--forest); }
.room-choice { padding:clamp(90px,11vw,150px) clamp(22px,5vw,75px); background:var(--forest); color:#e8eee8; }
.room-choice-heading { max-width:900px; margin:0 auto 62px; text-align:center; }.room-choice .eyebrow{color:#d2e484}.room-choice h2,.room-choice h3{color:#fff}
.room-choice-heading p:last-child{max-width:68ch;margin:20px auto 0;color:#cbd6cd}
.room-comparison { max-width:1160px; margin:auto; display:grid; grid-template-columns:1fr 1fr; gap:18px; align-items:stretch; }
.room-option { position:relative; padding:clamp(35px,5vw,64px); border:1px solid rgba(255,255,255,.16); border-radius:18px 70px 18px 18px; background:#304b39; overflow:hidden; transition:transform .3s ease,border-color .3s ease; }
.room-option:hover{transform:translateY(-7px);border-color:#d2e484}.room-option-private{background:#f4f1df;color:#435044;border-radius:70px 18px 18px 18px}.room-option-private h3{color:var(--forest)}
.room-option-top{display:flex;align-items:center;gap:12px;color:#d2e484}.room-option-private .room-option-top{color:var(--green)}.room-option-top span{font-size:34px}.room-option-top p{margin:0;font-size:.78rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em}
.room-option h3{margin:28px 0 20px;font-size:clamp(2rem,3.2vw,3.25rem)}.room-option>p{color:#cbd6cd}.room-option-private>p{color:#58665b}
.room-option ul{list-style:none;padding:25px 0 0;margin:28px 0 0;border-top:1px solid rgba(255,255,255,.16)}.room-option-private ul{border-color:rgba(36,59,44,.15)}.room-option li{display:flex;gap:10px;margin:13px 0}.room-option li span{color:#d2e484}.room-option-private li span{color:var(--green)}
.room-choice-note{max-width:850px;margin:32px auto 0;display:flex;align-items:flex-start;justify-content:center;gap:10px;text-align:center;color:#cbd6cd}
.residence-care{max-width:1280px;margin:auto;padding:clamp(100px,12vw,170px) 28px}.residence-care-heading{display:grid;grid-template-columns:.8fr 1.2fr;gap:45px;align-items:end;margin-bottom:65px}.residence-care-heading h2{margin:10px 0 0}.residence-care-heading>p:last-child{color:#5a675d}
.residence-care-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.residence-care-grid article{padding:42px 28px}.residence-care-grid article+article{border-left:1px solid var(--line)}.residence-care-grid article>span{font-size:38px;color:var(--green)}.residence-care-grid h3{margin:20px 0 12px}.residence-care-grid p{color:#5c695f}
.residence-life{display:grid;grid-template-columns:1.05fr .95fr;max-width:1380px;margin:auto;background:#edf2e2;border-radius:18px 90px 18px 90px;overflow:hidden}.residence-life-photos{display:grid;grid-template-columns:1fr 1fr;gap:10px;min-height:600px}.residence-life-photos img{width:100%;height:100%;object-fit:cover}.residence-life-photos img:last-child{margin-top:70px;height:calc(100% - 70px)}
.residence-life-copy{align-self:center;padding:clamp(50px,7vw,95px)}.residence-life-copy h2{margin:12px 0 24px}.residence-life-copy>p:not(.eyebrow){color:#4f5d52}
.residence-includes{display:grid;grid-template-columns:1fr 1fr;gap:13px;list-style:none;padding:28px 0 0;margin:28px 0 0;border-top:1px solid rgba(36,59,44,.17)}.residence-includes li{display:flex;align-items:center;gap:9px;font-weight:700;color:var(--forest)}.residence-includes span{color:var(--green)}
.residence-visit{max-width:950px;margin:auto;padding:clamp(105px,13vw,180px) 28px;text-align:center}.residence-visit>.material-symbols-rounded{font-size:48px;color:var(--leaf)}.residence-visit h2{margin:16px auto 22px;max-width:20ch}.residence-visit>p:not(.eyebrow){max-width:62ch;margin:0 auto 35px;color:#5b685e}
@media(max-width:1000px){.residence-page-hero{grid-template-columns:1fr}.residence-hero-gallery{padding:0 20px 20px;min-height:560px}.residence-room-story,.residence-life{grid-template-columns:1fr}.residence-story-title{position:static}.residence-care-heading{grid-template-columns:1fr}.residence-care-grid{grid-template-columns:1fr 1fr}.residence-care-grid article:nth-child(3){border-left:0;border-top:1px solid var(--line)}.residence-care-grid article:nth-child(4){border-top:1px solid var(--line)}}
@media(max-width:680px){.residence-page-intro{padding:65px 22px}.residence-page-intro h1{font-size:clamp(3.1rem,16vw,4.8rem)}.residence-hero-gallery{grid-template-columns:1fr 1fr;grid-template-rows:360px 180px;min-height:0}.residence-hero-gallery .residence-hero-main{grid-column:1 / 3;grid-row:auto;border-radius:0 0 55px 0}.residence-gallery-note{left:35px;bottom:215px}.residence-room-story{padding-inline:22px}.residence-story-copy{padding-left:25px}.room-comparison{grid-template-columns:1fr}.room-option,.room-option-private{border-radius:14px 48px 14px 14px}.residence-care-grid{grid-template-columns:1fr}.residence-care-grid article+article{border-left:0;border-top:1px solid var(--line)}.residence-life{margin:0 16px;border-radius:14px 55px}.residence-life-photos{min-height:420px}.residence-life-copy{padding:52px 24px}.residence-includes{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.residence-hero-gallery img,.room-option,.residence-text-link span{transition:none}}

/* Menú de servicios — elegir por momento, tiempo y lugar */
.services-menu-hero{min-height:min(730px,calc(100vh - 90px));display:grid;grid-template-columns:.92fr 1.08fr;background:#edf3e3}.services-menu-copy{align-self:center;padding:clamp(70px,8vw,125px) clamp(28px,7vw,110px)}.services-menu-copy h1{margin:14px 0 26px;font-size:clamp(3.4rem,6vw,6.4rem);letter-spacing:-.055em}.services-menu-copy>p:not(.eyebrow){max-width:58ch;font-size:1.12rem;color:#4c5b4e}.services-menu-scroll{display:inline-flex;align-items:center;gap:10px;margin-top:28px;font-weight:700;color:var(--forest)}.services-menu-scroll span{width:38px;height:38px;display:grid;place-items:center;border:1px solid rgba(36,59,44,.3);border-radius:50%;transition:transform .25s ease}.services-menu-scroll:hover span{transform:translateY(5px)}
.services-menu-photo{position:relative;overflow:hidden;border-radius:0 0 0 105px}.services-menu-photo img{width:100%;height:100%;object-fit:cover;transition:transform 1.1s ease}.services-menu-photo:hover img{transform:scale(1.025)}.services-menu-photo>p{position:absolute;right:28px;bottom:28px;display:flex;align-items:center;gap:9px;margin:0;padding:13px 18px;background:rgba(255,253,248,.92);backdrop-filter:blur(10px);border-radius:999px;color:var(--forest);font-weight:700}.services-menu-photo>p span{color:var(--green)}
.service-primary{max-width:1320px;margin:auto;padding:clamp(100px,12vw,170px) 28px;display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(55px,8vw,120px);align-items:center}.service-primary-photo{position:relative;height:680px}.service-primary-photo img{width:100%;height:100%;object-fit:cover;border-radius:18px 100px 18px 18px}.service-primary-photo>span{position:absolute;top:25px;left:25px;padding:10px 16px;background:var(--leaf);border-radius:999px;color:var(--forest);font-size:.76rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.service-primary-copy h2{margin:12px 0 16px}.service-primary-copy .service-intro{font-family:Fraunces,serif;font-size:clamp(1.45rem,2.4vw,2rem);line-height:1.4;color:var(--forest)}.service-primary-copy>p:not(.eyebrow):not(.service-intro){color:#566359}.service-primary-copy ul{list-style:none;padding:25px 0;margin:28px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.service-primary-copy li{display:flex;align-items:center;gap:11px;margin:13px 0;font-weight:700}.service-primary-copy li span{color:var(--green)}
.service-alternatives{padding:clamp(90px,11vw,150px) max(24px,calc((100vw - 1240px)/2));background:var(--forest);color:#dbe4dc}.service-alternatives-heading{display:grid;grid-template-columns:.9fr 1.1fr;gap:50px;align-items:end;margin-bottom:65px}.service-alternatives .eyebrow{color:#d2e484}.service-alternatives h2,.service-alternatives h3{color:#fff}.service-alternatives-heading h2{margin:10px 0 0}.service-alternatives-heading>p{color:#c9d4cb}
.service-path{display:grid;grid-template-columns:66px minmax(220px,.72fr) minmax(320px,1.28fr) 54px;gap:28px;align-items:center;padding:38px 0;border-top:1px solid rgba(255,255,255,.17);transition:padding .3s ease,background .3s ease}.service-path:last-child{border-bottom:1px solid rgba(255,255,255,.17)}.service-path:hover{padding-left:18px;padding-right:18px;background:rgba(255,255,255,.04)}.service-path-marker{width:58px;height:58px;display:grid;place-items:center;border-radius:50%;background:#f3f0df;color:var(--green)}.service-path-marker span{font-size:29px}.service-path-question>span{font-size:.75rem;color:#d2e484;text-transform:uppercase;letter-spacing:.07em;font-weight:800}.service-path-question h3{margin:7px 0 0;font-size:clamp(1.7rem,2.5vw,2.6rem)}.service-path-copy p{margin:0;color:#d0d9d2}.service-path-copy .service-detail{margin-top:10px;color:#aebcb1;font-size:.9rem}.service-path>a{width:50px;height:50px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.25);border-radius:50%;color:#fff;transition:background .25s ease,color .25s ease}.service-path>a:hover{background:#d2e484;color:var(--forest)}
.service-choice-help{padding:clamp(100px,13vw,180px) 28px}.service-choice-help>div{max-width:970px;margin:auto;padding:clamp(48px,7vw,88px);text-align:center;background:#edf2e2;border-radius:18px 90px}.service-choice-help>div>.material-symbols-rounded{font-size:48px;color:var(--green)}.service-choice-help h2{max-width:18ch;margin:14px auto 20px}.service-choice-help>div>p:not(.eyebrow){max-width:68ch;margin:0 auto;color:#566359}.service-choice-actions{display:flex;align-items:center;justify-content:center;gap:28px;flex-wrap:wrap;margin-top:34px}.service-choice-actions>a:last-child{display:inline-flex;align-items:center;gap:7px;font-weight:700;color:var(--forest)}
@media(max-width:950px){.services-menu-hero,.service-primary{grid-template-columns:1fr}.services-menu-photo{min-height:520px;border-radius:0 0 70px 0}.service-primary-photo{height:560px}.service-alternatives-heading{grid-template-columns:1fr}.service-path{grid-template-columns:58px 1fr 48px}.service-path-copy{grid-column:2/4}.service-path>a{grid-column:3;grid-row:1}}
@media(max-width:620px){.services-menu-copy{padding:65px 22px}.services-menu-copy h1{font-size:clamp(3.1rem,15vw,4.6rem)}.services-menu-photo{min-height:390px}.services-menu-photo>p{left:16px;right:auto;bottom:16px;font-size:.78rem}.service-primary{padding-inline:20px}.service-primary-photo{height:460px}.service-primary-photo img{border-radius:14px 55px 14px 14px}.service-alternatives{padding-inline:22px}.service-path{grid-template-columns:50px 1fr 42px;gap:16px}.service-path-marker{width:48px;height:48px}.service-path-copy{grid-column:1/4;padding-left:66px}.service-path>a{width:42px;height:42px}.service-choice-help{padding-inline:16px}.service-choice-help>div{padding:55px 22px;border-radius:14px 55px}}
@media(prefers-reduced-motion:reduce){.services-menu-photo img,.services-menu-scroll span,.service-path,.service-path>a{transition:none}}

/* Presentación interactiva de los cinco servicios */
.services-stage{position:relative;min-height:calc(100svh - 92px);padding:28px 28px 52px;background:#162b21;color:#fff;display:grid;grid-template-rows:auto minmax(520px,1fr) auto;gap:20px}.services-stage-heading{display:flex;align-items:end;justify-content:space-between;gap:40px;max-width:1500px;width:100%;margin:auto}.services-stage-heading .eyebrow{color:#d3e78a}.services-stage-heading h1{margin:4px 0 0;color:#fff;font-size:clamp(2.1rem,3.8vw,4.1rem)}.services-stage-heading>p{max-width:40ch;margin:0 0 8px;color:#c5d2c8;text-align:right}
.services-deck{position:relative;isolation:isolate;display:flex;gap:0;max-width:1600px;width:100%;min-height:0;margin:auto;overflow:hidden;border-radius:18px 18px 72px 18px;background:#2e4938}.services-deck::before{content:"";position:absolute;z-index:0;inset:0;background:url('../images/gallery/b8d2d802-90f7-422e-a70c-f6fa2f6840eb.jpg') center/cover no-repeat;will-change:transform,filter;transition:transform 1.25s cubic-bezier(.16,1,.3,1),filter .7s cubic-bezier(.16,1,.3,1)}.services-deck:hover::before{transform:scale(1.018);filter:saturate(1.06)}.service-slide{position:relative;z-index:1;min-width:0;flex:1;overflow:hidden;background-color:transparent;will-change:flex;transition:flex .82s cubic-bezier(.16,1,.3,1)}.service-slide+.service-slide{border-left:8px solid #edf1e4}.service-slide-primary{flex:1.85}.service-slide::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(13,28,20,.25) 12%,rgba(13,28,20,.88) 92%);transition:background .58s cubic-bezier(.16,1,.3,1),filter .58s cubic-bezier(.16,1,.3,1)}.service-slide:nth-child(1)::before{background:linear-gradient(180deg,rgba(39,73,48,.28) 12%,rgba(17,35,24,.88) 92%)}.service-slide:nth-child(2)::before{background:linear-gradient(180deg,rgba(102,73,44,.34) 12%,rgba(41,31,21,.9) 92%)}.service-slide:nth-child(3)::before{background:linear-gradient(180deg,rgba(91,111,47,.3) 12%,rgba(27,48,29,.9) 92%)}.service-slide:nth-child(4)::before{background:linear-gradient(180deg,rgba(93,67,57,.36) 12%,rgba(45,31,21,.9) 92%)}.service-slide:nth-child(5)::before{background:linear-gradient(180deg,rgba(48,87,82,.34) 12%,rgba(18,43,40,.91) 92%)}.service-slide::after{content:"";position:absolute;inset:0;border:1px solid rgba(255,255,255,.13);pointer-events:none}.service-slide-content,.service-slide-number{transition:transform .62s cubic-bezier(.16,1,.3,1)}.service-slide:hover .service-slide-content,.service-slide:focus-within .service-slide-content{transform:translateY(-5px)}.service-slide:hover .service-slide-number,.service-slide:focus-within .service-slide-number{transform:translateY(3px)}.service-slide:hover::before,.service-slide:focus-within::before{filter:saturate(1.12);background-color:rgba(201,226,113,.08)}
.services-deck:hover .service-slide{flex:1}.services-deck .service-slide:hover,.services-deck .service-slide:focus-within{flex:2.75}.service-slide>a{position:relative;z-index:1;display:flex;flex-direction:column;justify-content:space-between;width:100%;height:100%;min-height:520px;padding:26px;color:#fff;outline-offset:-5px}.service-slide-number{align-self:flex-start;padding:8px 11px;border:1px solid rgba(255,255,255,.45);border-radius:999px;font-size:.65rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap}.service-slide-primary .service-slide-number{background:#cce47c;border-color:#cce47c;color:#193024}
.service-slide-content{max-width:510px}.service-slide-icon{font-size:36px;color:#d3e78a}.service-slide-context{margin:14px 0 7px;font-size:.69rem;font-weight:800;letter-spacing:.075em;text-transform:uppercase;color:#d3e78a;white-space:nowrap}.service-slide h2{margin:0;color:#fff;font-size:clamp(1.65rem,2.7vw,3.2rem);line-height:1.02;letter-spacing:-.035em}.service-slide-details{max-height:0;opacity:0;overflow:hidden;transform:translateY(16px);transition:max-height .55s ease,opacity .35s ease,transform .5s ease}.service-slide-primary .service-slide-details,.service-slide:hover .service-slide-details,.service-slide:focus-within .service-slide-details{max-height:190px;opacity:1;transform:none}.services-deck:hover .service-slide-primary:not(:hover):not(:focus-within) .service-slide-details{max-height:0;opacity:0;transform:translateY(16px)}.service-slide-details p{max-width:43ch;margin:18px 0 17px;color:#edf3ee;line-height:1.5}.service-slide-details>span{display:inline-flex;align-items:center;gap:8px;font-size:.78rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:#d3e78a}.service-slide-details i{font-style:normal;font-size:20px;transition:transform .25s ease}.service-slide:hover .service-slide-details i{transform:translateX(5px)}
.services-stage-hint{display:flex;justify-content:center;align-items:center;gap:8px;margin:0;color:#aebeb2;font-size:.78rem}.services-stage-hint span{font-size:19px}
@media(min-width:1051px){.services-deck{align-self:stretch;height:100%;margin:0 auto}.service-slide>a{min-height:0}}
@media(max-width:1050px){.services-stage{min-height:auto;display:block;padding:24px 20px 45px}.services-stage-heading{align-items:flex-start;margin-bottom:25px}.services-deck{height:auto;display:grid;grid-template-columns:1fr 1fr;overflow:visible;border-radius:0}.service-slide,.service-slide-primary,.services-deck:hover .service-slide,.services-deck .service-slide:hover,.services-deck .service-slide:focus-within{min-height:420px;flex:none;border-radius:12px}.service-slide-primary{grid-column:1/3}.service-slide>a{min-height:420px}.service-slide-details,.service-slide-primary .service-slide-details,.services-deck:hover .service-slide-primary:not(:hover):not(:focus-within) .service-slide-details{max-height:190px;opacity:1;transform:none}.services-stage-hint{margin-top:18px}}
@media(max-width:1050px){.service-slide+.service-slide{border-left:0;border-top:8px solid #edf1e4}.service-slide:nth-child(3),.service-slide:nth-child(5){border-left:8px solid #edf1e4}}
@media(max-width:650px){.services-stage-heading{display:block}.services-stage-heading>p{margin:12px 0 0;text-align:left}.services-deck{grid-template-columns:1fr;gap:0}.service-slide+.service-slide,.service-slide:nth-child(3),.service-slide:nth-child(5){border-left:0;border-top:8px solid #edf1e4}.service-slide-primary{grid-column:auto}.service-slide,.service-slide-primary{min-height:390px}.service-slide>a{min-height:390px;padding:22px}.service-slide h2{font-size:2.5rem}.service-slide-context{white-space:normal}.service-slide-details p{font-size:.93rem}.services-stage-hint{display:none}}
@media(prefers-reduced-motion:reduce){.services-deck::before,.service-slide,.service-slide::before,.service-slide-content,.service-slide-number,.service-slide-details,.service-slide-details i{transition:none}}

/* Sistema visual de marca — coherente con la hoja membretada */
:root{
  --forest:#4b4033;
  --green:#718632;
  --leaf:#9fbe37;
  --cream:#eef3e2;
  --paper:#fbfaf6;
  --copper:#66503b;
  --copper-dark:#493929;
  --gold:#9fbe37;
  --ink:#3f3a32;
  --muted:#716f65;
  --line:#dde4ce;
  --brand-mist:#edf2e2;
  --brand-trunk:#5b4936;
  --shadow:0 20px 55px rgba(77,65,49,.11);
}
body{background-color:var(--paper);color:var(--ink);background-image:url('../images/brand-branch-watermark.svg');background-repeat:no-repeat;background-position:right -150px bottom -210px;background-size:min(62vw,820px) auto;background-attachment:fixed}
h1,h2,h3{color:var(--brand-trunk)}
.eyebrow,.eyebrow-hero,.card-kicker{color:var(--green);letter-spacing:.13em}
.site-header{background:rgba(251,250,246,.97);border-bottom:1px solid rgba(91,73,54,.13);box-shadow:0 8px 28px rgba(91,73,54,.045)}
.site-header.is-scrolled{background:rgba(251,250,246,.985);box-shadow:0 12px 32px rgba(91,73,54,.09)}
.main-nav a{color:var(--brand-trunk)}.main-nav a:hover,.main-nav a:focus-visible{color:var(--green)}
.main-nav>ul>li>a.nav-current::after,.main-nav>ul>li.is-current>a::after{background:var(--leaf)}
.btn,.header-cta{background:var(--brand-trunk);border-color:var(--brand-trunk);box-shadow:0 7px 0 rgba(91,73,54,.12)}.btn:hover,.header-cta:hover{background:#3f3327;border-color:#3f3327}
.page-banner{position:relative;overflow:hidden;background-color:#dfe7d1;background-image:linear-gradient(115deg,#8ba22f,#687d2c 62%,#5b4936);color:#fff}.page-banner::after{content:"";position:absolute;width:370px;height:270px;right:-80px;bottom:-145px;background:url('../images/brand-branch-watermark.svg') center/contain no-repeat;filter:brightness(0) invert(1);opacity:.13;pointer-events:none}.page-banner>*{position:relative;z-index:1}.page-banner h1{color:#fff}.page-banner .eyebrow{color:#f2f5e8}
.alt,.blog-preview,.about-home-card,.residence-life,.service-choice-help>div,.gallery-empty{background-color:var(--brand-mist);background-image:url('../images/brand-branch-watermark.svg');background-repeat:no-repeat;background-position:right -190px bottom -185px;background-size:520px auto}
.card{background:rgba(255,255,255,.88);border:1px solid rgba(113,134,50,.14);box-shadow:0 14px 38px rgba(91,73,54,.075)}.card:hover{border-color:rgba(159,190,55,.55);box-shadow:0 20px 48px rgba(91,73,54,.12)}
.quote-section{background-color:#dce7bb;background-image:url('../images/brand-branch-watermark.svg');background-repeat:no-repeat;background-position:right -180px bottom -185px;background-size:520px auto;color:var(--brand-trunk)}
.trust-strip,.residence-copy,.final-cta,.care-path,.room-choice{background-color:var(--brand-trunk)}
.services-stage{background-color:#ecefe3;background-image:linear-gradient(180deg,#f4f5ed,#e5ead8);color:var(--ink)}.services-stage-heading h1{color:var(--brand-trunk)}.services-stage-heading .eyebrow{color:var(--green)}.services-stage-heading>p{color:var(--muted)}.services-stage-hint{color:#77796c}
.service-slide{background-color:transparent}.service-slide-primary .service-slide-number{background:var(--leaf);border-color:var(--leaf);color:var(--brand-trunk)}.service-slide-icon,.service-slide-context,.service-slide-details>span{color:#d6e986}
.site-footer{position:relative;overflow:hidden;background-color:#5b4936;background-image:url('../images/brand-word-pattern.svg');color:#f5f2e9}.site-footer::after{content:"";position:absolute;width:500px;height:350px;right:-130px;bottom:-190px;background:url('../images/brand-branch-watermark.svg') center/contain no-repeat;filter:brightness(0) invert(1);opacity:.09;pointer-events:none}.footer-inner,.footer-bottom{position:relative;z-index:1}.footer-brand img{width:150px;height:110px;object-fit:contain;background:#fff;border-radius:3px;padding:8px}.site-footer h2,.site-footer h3{color:#fff}.site-footer a:hover{color:#d4e77e}
@media(max-width:700px){body{background-size:110vw auto;background-position:right -160px bottom -80px}.page-banner::after{width:260px}.alt,.blog-preview,.about-home-card,.residence-life,.service-choice-help>div,.gallery-empty{background-size:380px auto}.footer-brand img{width:132px;height:96px}}

.facility-plans{margin-top:clamp(70px,9vw,120px);padding-top:clamp(60px,7vw,90px);border-top:1px solid var(--line)}.facility-plans .section-heading{max-width:800px;margin:0 auto 45px;text-align:center}.facility-plans-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.facility-plans-grid figure{margin:0;padding:16px;background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow)}.facility-plans-grid img{width:100%;aspect-ratio:1.8/1;object-fit:contain;background:#fff}.facility-plans-grid figcaption{padding:14px 5px 3px;color:var(--brand-trunk);font-weight:800;text-align:center}.facility-plans-grid figure:last-child{background:#111}.facility-plans-grid figure:last-child figcaption{color:#fff}
@media(max-width:760px){.facility-plans-grid{grid-template-columns:1fr}.facility-plans-grid figure:last-child{background:#111}}

/* Footer limpio: la identidad acompaña, no compite */
.site-footer{
  padding:72px 32px 0;
  background:#f2f4e9;
  background-image:none;
  color:var(--ink);
  border-top:6px solid var(--leaf);
}
.site-footer::after{
  width:420px;
  height:290px;
  right:-105px;
  bottom:-145px;
  background:url('../images/brand-branch-watermark.svg') center/contain no-repeat;
  filter:none;
  opacity:.48;
}
.footer-inner{
  max-width:1240px;
  grid-template-columns:1.35fr 1fr 1fr .72fr;
  gap:clamp(34px,5vw,72px);
  align-items:start;
}
.footer-brand img{
  width:164px;
  height:122px;
  padding:0;
  background:transparent;
  border-radius:0;
  object-fit:contain;
}
.site-footer h2,.site-footer h3{color:var(--brand-trunk)}
.site-footer h3{margin:10px 0 20px;color:var(--green);font-size:.75rem;letter-spacing:.13em}
.site-footer p{margin:0;color:#5f6259;line-height:1.72}
.site-footer a{color:var(--brand-trunk);text-decoration-thickness:1px;text-underline-offset:4px}
.site-footer a:hover{color:var(--green)}
.footer-bottom{max-width:1240px;margin-top:52px;border-top:1px solid #d8deca;color:#7a7d72;padding:22px 0 26px}
.footer-admin-link{float:right;color:#8b8f82!important;font-size:.68rem;letter-spacing:.04em;opacity:.72;text-decoration:none!important;transition:opacity .2s ease,color .2s ease}.footer-admin-link:hover{opacity:1;color:var(--green)!important}
.article-body h2,.article-body h3{margin:2.1em 0 .65em;color:var(--brand-trunk)}.article-body ul,.article-body ol{padding-left:1.35em;margin:1.1em 0}.article-body blockquote{margin:1.5em 0;padding:.3em 1.2em;border-left:3px solid var(--green);font-family:var(--serif);font-size:1.28em;color:var(--brand-trunk)}.article-body table{width:100%;border-collapse:collapse;margin:1.6em 0;font-size:.93em}.article-body th,.article-body td{border:1px solid #d8deca;padding:.7em;text-align:left}.article-body th{background:#eef3df;color:var(--brand-trunk)}.article-body a{color:var(--green)}.article-photo-gallery{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin:2em 0}.article-photo-gallery img{width:100%;aspect-ratio:1.35;object-fit:cover;border-radius:8px}
@media(max-width:980px){.footer-inner{grid-template-columns:1fr 1fr}.footer-brand{grid-column:1/3}.site-footer::after{opacity:.3}}
@media(max-width:640px){.site-footer{padding:52px 22px 0}.footer-inner{grid-template-columns:1fr;gap:34px}.footer-brand{grid-column:auto}.footer-brand img{width:145px;height:108px}.footer-bottom{margin-top:40px}.footer-admin-link{float:none;display:block;width:max-content;margin-top:9px}.site-footer::after{width:300px;right:-130px;opacity:.25}}

/* Portada: una ventana para descubrir la casa, no una fotografía estática. */
.hero-discovery{grid-column:2;grid-row:1;z-index:2;align-self:end;display:grid;gap:10px;padding:0 22px 34px;margin-top:auto}.hero-discovery-card{display:grid;grid-template-columns:34px minmax(0,1fr) 18px;gap:10px;align-items:center;padding:13px 14px;border:1px solid rgba(255,255,255,.6);border-radius:17px 17px 17px 4px;background:rgba(30,42,24,.77);box-shadow:0 10px 25px rgba(34,37,22,.19);backdrop-filter:blur(10px);color:#fff;text-decoration:none;transform:translateX(0);transition:transform .45s cubic-bezier(.2,.8,.2,1),background .35s ease,box-shadow .35s ease}.hero-discovery-card>span.material-symbols-rounded{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:#d9ed7b;color:#506d25;font-size:19px}.hero-discovery-card small,.hero-discovery-card strong,.hero-discovery-card em{display:block}.hero-discovery-card small{color:#d9ed7b;font-family:"Atkinson Hyperlegible",sans-serif;font-size:.62rem;letter-spacing:.1em;text-transform:uppercase}.hero-discovery-card strong{font-family:"Fraunces",Georgia,serif;font-size:1rem;font-weight:600;line-height:1.14;margin-top:2px}.hero-discovery-card em{max-height:0;overflow:hidden;font-style:normal;color:#f4f7ed;font-size:.73rem;line-height:1.35;opacity:0;transition:max-height .45s ease,opacity .3s ease,margin .3s ease}.hero-discovery-card>b{font-size:1.05rem;color:#d9ed7b}.hero-discovery-card:hover,.hero-discovery-card:focus-visible{background:rgba(80,109,37,.95);transform:translateX(-12px) scale(1.02);box-shadow:0 17px 30px rgba(34,37,22,.29)}.hero-discovery-card:hover em,.hero-discovery-card:focus-visible em{max-height:35px;opacity:1;margin-top:5px}.hero-discovery-card:nth-child(1){animation:hero-discovery-in .7s .95s cubic-bezier(.2,.8,.2,1) both}.hero-discovery-card:nth-child(2){animation:hero-discovery-in .7s 1.08s cubic-bezier(.2,.8,.2,1) both}.hero-discovery-card:nth-child(3){animation:hero-discovery-in .7s 1.21s cubic-bezier(.2,.8,.2,1) both}.hero-discovery-gallery{animation-name:hero-discovery-in,hero-discovery-breathe!important;animation-duration:.7s,4.8s!important;animation-delay:1.21s,2.3s!important;animation-iteration-count:1,infinite!important}@keyframes hero-discovery-in{from{opacity:0;transform:translateX(38px)}to{opacity:1;transform:translateX(0)}}@keyframes hero-discovery-breathe{0%,100%{box-shadow:0 10px 25px rgba(34,37,22,.19)}50%{box-shadow:0 13px 31px rgba(202,225,109,.46)}}
@media(max-width:980px){.hero-discovery{grid-column:1;grid-row:2;padding:0 16px 28px;margin-top:-188px;z-index:3}.hero-discovery-card{background:rgba(30,42,24,.86)}}
@media(max-width:640px){.hero-discovery{position:relative;margin-top:-112px;padding:0 10px 18px;gap:7px}.hero-discovery-card{padding:10px 11px;grid-template-columns:30px minmax(0,1fr) 15px;border-radius:14px 14px 14px 3px}.hero-discovery-card>span.material-symbols-rounded{width:30px;height:30px;font-size:17px}.hero-discovery-card strong{font-size:.9rem}.hero-discovery-card small{font-size:.56rem}.hero-discovery-card:hover,.hero-discovery-card:focus-visible{transform:translateX(-4px)}.hero-discovery-card em{display:none}}
@media(prefers-reduced-motion:reduce){.hero-discovery-card,.hero-discovery-gallery{animation:none!important;transition:none!important}.hero-discovery-card:hover,.hero-discovery-card:focus-visible{transform:none}}

/* Atlas de bienvenida: la navegación comienza dentro de la historia de la casa. */
.home-atlas{--atlas-ink:#40392c;--atlas-lime:#cfe66d;position:relative;display:grid;grid-template-columns:minmax(330px,.88fr) minmax(520px,1.12fr);grid-template-rows:1fr auto;min-height:max(720px,calc(100svh - 74px));padding:clamp(38px,7vw,94px) max(28px,calc((100vw - 1256px)/2)) 31px;overflow:hidden;isolation:isolate;background:#eff2e3}.atlas-texture{position:absolute;z-index:-3;border-radius:50%;filter:blur(2px);pointer-events:none}.atlas-texture-one{width:56vw;height:56vw;right:-18vw;top:-24vw;background:radial-gradient(circle at 44% 48%,rgba(213,233,120,.72),rgba(213,233,120,0) 62%);animation:atlas-drift 14s ease-in-out infinite alternate}.atlas-texture-two{width:42vw;height:42vw;left:-21vw;bottom:-27vw;background:radial-gradient(circle,rgba(124,161,55,.3),rgba(124,161,55,0) 67%);animation:atlas-drift 16s -5s ease-in-out infinite alternate-reverse}.atlas-photos{grid-column:2;grid-row:1;position:relative;min-height:520px;z-index:-1}.atlas-photo{position:absolute;margin:0;overflow:hidden;box-shadow:0 28px 80px rgba(51,55,29,.22);transition:opacity .75s cubic-bezier(.2,.8,.2,1),transform .85s cubic-bezier(.2,.8,.2,1),filter .75s ease}.atlas-photo img{width:100%;height:100%;object-fit:cover}.atlas-photo-main{width:77%;height:78%;right:3%;top:1%;border-radius:48% 48% 20px 20px/34% 34% 20px 20px;filter:saturate(.9) contrast(1.02)}.atlas-photo-main::after{content:"";position:absolute;inset:0;background:linear-gradient(130deg,rgba(57,75,24,.08),transparent 50%,rgba(235,246,172,.22))}.atlas-photo-side{width:37%;height:43%;left:0;bottom:3%;border:10px solid rgba(248,250,239,.72);border-radius:18px 18px 18px 3px;transform:rotate(-7deg);filter:blur(.35px) saturate(.76)}.atlas-photo-detail{width:29%;height:35%;right:0;bottom:0;border:8px solid rgba(64,57,44,.85);border-radius:50% 50% 12px 12px/35% 35% 12px 12px;transform:rotate(7deg);filter:blur(.6px) saturate(.8)}.home-atlas[data-photo="vida"] .atlas-photo-main{transform:translate(-7%,3%) scale(1.04);filter:saturate(1.05)}.home-atlas[data-photo="vida"] .atlas-photo-side{opacity:.25;transform:translate(15%,6%) rotate(-12deg)}.home-atlas[data-photo="cuidado"] .atlas-photo-main{transform:translate(-12%,1%) scale(1.05);filter:hue-rotate(-8deg) saturate(.75)}.home-atlas[data-photo="cuidado"] .atlas-photo-detail{opacity:1;transform:translate(-75%,-37%) rotate(-4deg) scale(1.55);filter:blur(0)}.home-atlas[data-photo="servicios"] .atlas-photo-main{transform:translate(-4%,-4%) scale(1.04);filter:saturate(.77) hue-rotate(9deg)}.home-atlas[data-photo="servicios"] .atlas-photo-side{opacity:1;transform:translate(19%,-28%) rotate(4deg) scale(1.18);filter:blur(0)}.home-atlas[data-photo="visita"] .atlas-photo-main{transform:translate(-2%,0) scale(1.02);filter:brightness(1.08) saturate(1.1)}.home-atlas[data-photo="visita"] .atlas-photo-side{transform:translate(16%,-8%) rotate(-2deg);filter:blur(1.3px)}.atlas-copy{grid-column:1;grid-row:1;align-self:center;position:relative;z-index:2;max-width:620px}.atlas-copy .eyebrow-hero{color:#66802f}.atlas-count{font-size:.72rem;font-weight:700;letter-spacing:.13em;color:#748061;margin:0 0 17px}.atlas-copy h1{margin:0;color:var(--atlas-ink);font-size:clamp(3.7rem,6.7vw,7.45rem);line-height:.9;letter-spacing:-.065em;max-width:680px}.atlas-copy h1 em{display:block;color:#769332;font-weight:500}.atlas-lead{max-width:500px;color:#4e5146;font-size:clamp(1.02rem,1.5vw,1.2rem);line-height:1.6;margin:27px 0}.atlas-action{display:inline-flex;align-items:center;gap:13px;border-radius:30px 30px 30px 5px;padding:13px 18px;background:#54432f;color:#fff;font-size:.87rem;font-weight:700;text-decoration:none;box-shadow:0 10px 0 rgba(84,67,47,.13);transition:transform .28s ease,box-shadow .28s ease}.atlas-action span{color:var(--atlas-lime);font-size:1.25rem}.atlas-action:hover{transform:translateY(-3px);box-shadow:0 14px 0 rgba(84,67,47,.1)}.atlas-nav{grid-column:1/3;grid-row:2;display:grid;grid-template-columns:repeat(5,1fr);gap:9px;z-index:3;margin-top:18px}.atlas-nav button{position:relative;min-height:82px;border:1px solid rgba(93,104,61,.22);border-radius:12px 12px 12px 3px;padding:12px;background:rgba(251,252,245,.46);color:#5b604f;text-align:left;cursor:pointer;backdrop-filter:blur(8px);transition:transform .35s cubic-bezier(.2,.8,.2,1),background .35s ease,color .35s ease}.atlas-nav button:hover,.atlas-nav button:focus-visible,.atlas-nav button.is-active{background:#566d2c;color:#fff;transform:translateY(-7px)}.atlas-nav button span,.atlas-nav button b,.atlas-nav button small{display:block}.atlas-nav button span{font-size:.64rem;letter-spacing:.1em;opacity:.72}.atlas-nav button b{font-family:"Fraunces",Georgia,serif;font-size:1.03rem;margin:4px 0 2px}.atlas-nav button small{font-size:.67rem;line-height:1.25}.atlas-orbit{position:absolute;right:29%;top:9%;width:125px;height:125px;border:1px solid rgba(105,135,43,.32);border-radius:50%;z-index:-1;animation:atlas-spin 15s linear infinite}.atlas-orbit span{position:absolute;color:#8ba742;font-size:18px}.atlas-orbit span:nth-child(1){top:-9px;left:50%}.atlas-orbit span:nth-child(2){right:-9px;top:57%}.atlas-orbit span:nth-child(3){bottom:-9px;left:29%}.atlas-prompt{position:absolute;right:max(28px,calc((100vw - 1256px)/2));top:30px;display:flex;align-items:center;gap:6px;color:#6d755f;font-size:.72rem}.atlas-prompt span{font-size:17px;color:#78962f}@keyframes atlas-drift{to{transform:translate(5%,8%) scale(1.12)}}@keyframes atlas-spin{to{transform:rotate(360deg)}}
@media(max-width:980px){.home-atlas{grid-template-columns:1fr;grid-template-rows:auto 390px auto;min-height:auto;padding-top:58px}.atlas-copy{grid-column:1;grid-row:1}.atlas-photos{grid-column:1;grid-row:2;min-height:390px;margin-top:20px}.atlas-nav{grid-column:1;grid-row:3;grid-template-columns:repeat(5,minmax(132px,1fr));overflow-x:auto;padding:11px 2px 8px;margin-top:0}.atlas-nav button{min-height:76px}.atlas-prompt{display:none}.atlas-orbit{right:7%;top:33%}}
@media(max-width:640px){.home-atlas{padding:42px 18px 20px;grid-template-rows:auto 310px auto}.atlas-copy h1{font-size:clamp(3.45rem,15vw,4.8rem)}.atlas-lead{margin:18px 0;font-size:.98rem}.atlas-photos{min-height:310px}.atlas-photo-main{width:82%;height:83%;right:1%}.atlas-photo-side{width:43%;height:42%;border-width:6px}.atlas-photo-detail{width:32%;height:33%;border-width:5px}.atlas-nav{margin-left:-3px;margin-right:-3px;gap:7px}.atlas-nav button{min-width:138px;padding:10px}.atlas-orbit{width:88px;height:88px;top:42%;right:1%}}
@media(prefers-reduced-motion:reduce){.atlas-texture,.atlas-orbit{animation:none}.atlas-photo,.atlas-nav button{transition:none}.atlas-nav button:hover,.atlas-nav button:focus-visible{transform:none}}

/* Profundidad e introducción orgánica del Atlas. */
.home-atlas{--atlas-x:0px;--atlas-y:0px}.atlas-photos{transform:translate3d(calc(var(--atlas-x) * -.42),calc(var(--atlas-y) * -.42),0);transition:transform .45s cubic-bezier(.2,.8,.2,1)}.atlas-copy{transform:translate3d(calc(var(--atlas-x) * .14),calc(var(--atlas-y) * .14),0);transition:transform .45s cubic-bezier(.2,.8,.2,1)}.atlas-tree{position:absolute;left:-18px;bottom:-150px;width:min(31vw,390px);z-index:-1;opacity:.34;transform:translate3d(calc(var(--atlas-x) * -.25),calc(var(--atlas-y) * -.18),0);transition:transform .55s cubic-bezier(.2,.8,.2,1);pointer-events:none}.atlas-tree svg{width:100%;height:auto;overflow:visible}.atlas-tree-trunk{fill:#5b4936;transform-origin:50% 100%;animation:atlas-tree-rise 1.5s .16s cubic-bezier(.22,.8,.22,1) both}.atlas-leaves path{fill:#9fbe43;transform-box:fill-box;transform-origin:center;opacity:0;animation:atlas-leaf-grow .7s cubic-bezier(.2,.9,.25,1) forwards}.atlas-leaves path:nth-child(1){animation-delay:.7s}.atlas-leaves path:nth-child(2){animation-delay:.82s}.atlas-leaves path:nth-child(3){animation-delay:.94s}.atlas-leaves path:nth-child(4){animation-delay:1.06s}.atlas-leaves path:nth-child(5){animation-delay:1.18s}.atlas-leaves path:nth-child(6){animation-delay:1.3s}.atlas-leaves path:nth-child(7){animation-delay:1.42s}.atlas-leaves path:nth-child(8){animation-delay:1.54s}.atlas-copy h1{animation:atlas-title-in 1.05s .44s cubic-bezier(.16,.92,.3,1) both}.atlas-copy .eyebrow-hero,.atlas-count{animation:atlas-fade-up .7s .2s cubic-bezier(.2,.8,.2,1) both}.atlas-lead{animation:atlas-fade-up .7s .98s cubic-bezier(.2,.8,.2,1) both}.atlas-action{animation:atlas-fade-up .7s 1.12s cubic-bezier(.2,.8,.2,1) both}.atlas-copy h1.is-changing{animation:atlas-title-switch .48s cubic-bezier(.2,.8,.2,1)}.atlas-photo{display:block;color:#fff;text-decoration:none;cursor:pointer}.atlas-photo span{position:absolute;left:13px;bottom:11px;max-width:calc(100% - 26px);padding:6px 9px;border-radius:8px 8px 8px 2px;background:rgba(34,42,20,.72);backdrop-filter:blur(6px);font-family:"Atkinson Hyperlegible",sans-serif;font-size:.69rem;font-weight:700;line-height:1.25;opacity:0;transform:translateY(7px);transition:opacity .25s ease,transform .25s ease}.atlas-photo-main span{font-size:.76rem}.atlas-photo:hover span,.atlas-photo:focus-visible span{opacity:1;transform:translateY(0)}.atlas-photo:hover{filter:brightness(1.08) saturate(1.08)!important}.atlas-photo:focus-visible{outline:3px solid var(--atlas-lime);outline-offset:5px}.home-atlas[data-photo="vida"] .atlas-photo-side span,.home-atlas[data-photo="servicios"] .atlas-photo-detail span{opacity:1;transform:translateY(0)}@keyframes atlas-tree-rise{from{opacity:0;transform:scaleY(.25)}to{opacity:1;transform:scaleY(1)}}@keyframes atlas-leaf-grow{0%{opacity:0;transform:scale(.15) rotate(-18deg)}65%{opacity:1;transform:scale(1.12) rotate(5deg)}100%{opacity:1;transform:scale(1) rotate(0)}}@keyframes atlas-title-in{from{opacity:0;transform:translateY(58px) rotate(2deg);filter:blur(9px)}to{opacity:1;transform:translateY(0) rotate(0);filter:blur(0)}}@keyframes atlas-title-switch{0%{opacity:.2;transform:translateY(14px);filter:blur(5px)}100%{opacity:1;transform:translateY(0);filter:blur(0)}}@keyframes atlas-fade-up{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:980px){.atlas-tree{width:330px;left:-96px;bottom:-126px;opacity:.22}.atlas-photo span{opacity:1;transform:none}.atlas-photos,.atlas-copy{transform:none!important}}
@media(max-width:640px){.atlas-tree{width:225px;left:-82px;bottom:45px;opacity:.18}.atlas-photo span{left:7px;bottom:7px;padding:4px 6px;font-size:.57rem}.atlas-photo-main span{font-size:.62rem}}
@media(prefers-reduced-motion:reduce){.atlas-tree-trunk,.atlas-leaves path,.atlas-copy h1,.atlas-copy .eyebrow-hero,.atlas-count,.atlas-lead,.atlas-action{animation:none}.atlas-photos,.atlas-copy,.atlas-tree{transform:none!important;transition:none!important}}

/* Intro de marca: breve, silenciosa y siempre omisible. */
.site-intro{position:fixed;inset:0;z-index:1000;background:#f4f6ea;overflow:hidden;transition:opacity .85s ease,visibility .85s step-end}.site-intro-video{display:block;width:100vw;height:100svh;object-fit:cover;object-position:center}.site-intro::after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 50% 50%,transparent 58%,rgba(47,58,25,.11) 100%);pointer-events:none}.site-intro.is-finished{opacity:0;visibility:hidden;pointer-events:none}.intro-active .site-header{position:relative;z-index:1001;background:rgba(248,250,246,.82);backdrop-filter:blur(12px)}@media(prefers-reduced-motion:reduce){.site-intro{display:none}}

/* Admisiones 2026 — cotizador guiado */
.admissions-hero{min-height:660px;display:grid;grid-template-columns:.92fr 1.08fr;background:#eef2e3}.admissions-hero-copy{align-self:center;padding:clamp(75px,9vw,130px) clamp(28px,7vw,110px)}.admissions-hero-copy h1{margin:14px 0 25px;font-size:clamp(3.3rem,6vw,6.1rem);letter-spacing:-.055em}.admissions-hero-copy>p:not(.eyebrow){max-width:58ch;color:#555d51;font-size:1.1rem}.admissions-hero-photo{position:relative;min-height:590px;margin:0;overflow:hidden;border-radius:0 0 0 100px}.admissions-hero-photo img{width:100%;height:100%;object-fit:cover}.admissions-hero-photo figcaption{position:absolute;right:25px;bottom:25px;padding:12px 17px;background:rgba(251,250,246,.92);border-radius:999px;color:var(--brand-trunk);font-size:.82rem;font-weight:800}
.quote-section-wrap{padding:clamp(90px,11vw,150px) 28px;background:var(--paper)}.quote-heading{max-width:840px;margin:0 auto 55px;text-align:center}.quote-heading h2{margin:10px 0 18px}.quote-heading>p:last-child{max-width:68ch;margin:auto;color:var(--muted)}.quote-builder{max-width:1240px;margin:auto;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(340px,.85fr);gap:22px;align-items:start}.quote-form{padding:clamp(30px,5vw,58px);background:#fff;border:1px solid var(--line);border-radius:22px 70px 22px 22px;box-shadow:var(--shadow)}.quote-step{padding:0 0 36px;margin:0 0 36px;border:0;border-bottom:1px solid var(--line)}.quote-step:last-of-type{margin-bottom:24px}.quote-step legend{display:flex;align-items:center;gap:12px;width:100%;margin:0 0 22px;padding:0;font-family:Fraunces,serif;font-size:1.35rem;font-weight:650;color:var(--brand-trunk)}.quote-step legend>span{width:34px;height:34px;display:grid;place-items:center;flex:none;border-radius:50%;background:var(--leaf);font-family:Atkinson Hyperlegible,sans-serif;font-size:.9rem;font-weight:800;color:var(--brand-trunk)}
.quote-mode-options{display:grid;grid-template-columns:1fr 1fr;gap:12px}.quote-mode-options label,.quote-care-options label{cursor:pointer}.quote-mode-options input,.quote-care-options input{position:absolute;opacity:0;pointer-events:none}.quote-mode-card{display:grid;grid-template-columns:42px 1fr;align-items:center;column-gap:12px;padding:20px;border:2px solid #e2e5da;border-radius:14px;transition:border-color .2s ease,background .2s ease,transform .2s ease}.quote-mode-card i{grid-row:1/3;font-size:31px;color:var(--green)}.quote-mode-card b,.quote-mode-card small{grid-column:2}.quote-mode-card small,.quote-care-options small{color:var(--muted)}.quote-mode-options input:checked+.quote-mode-card{border-color:var(--leaf);background:#f0f5df;transform:translateY(-2px)}.quote-mode-options input:focus-visible+.quote-mode-card,.quote-care-options input:focus-visible+span{outline:3px solid var(--leaf);outline-offset:3px}
.quote-select-label{display:block;margin-bottom:8px;color:var(--muted);font-size:.83rem;font-weight:700}.quote-select-wrap{position:relative}.quote-select-wrap select{width:100%;min-height:58px;padding:0 52px 0 17px;appearance:none;border:2px solid #dfe3d5;border-radius:12px;background:#fbfcf8;color:var(--ink);font:700 1rem Atkinson Hyperlegible,sans-serif;cursor:pointer}.quote-select-wrap select:focus{border-color:var(--leaf);outline:3px solid rgba(159,190,55,.2)}.quote-select-wrap>span{position:absolute;right:16px;top:50%;transform:translateY(-50%);color:var(--green);pointer-events:none}
.quote-days-control{display:flex;align-items:center;gap:0}.quote-days-control button{width:52px;height:52px;border:1px solid var(--line);background:#f1f4e8;color:var(--brand-trunk);font-size:1.55rem;cursor:pointer}.quote-days-control button:first-child{border-radius:12px 0 0 12px}.quote-days-control input{width:80px;height:52px;border:1px solid var(--line);border-left:0;border-right:0;text-align:center;font:800 1.1rem Atkinson Hyperlegible,sans-serif}.quote-days-control button:last-of-type{border-radius:0 12px 12px 0}.quote-days-control>span{margin-left:12px;color:var(--muted);font-weight:700}.quote-days-control input::-webkit-inner-spin-button{appearance:none}
.quote-care-options{display:grid;gap:10px}.quote-care-options label>span{display:grid;padding:16px 18px;border:2px solid #e2e5da;border-radius:12px}.quote-care-options input:checked+span{border-color:var(--leaf);background:#f2f6e5}.quote-care-options small{margin-top:3px}.quote-furniture{display:grid;grid-template-columns:22px 32px 1fr;align-items:center;gap:10px;padding:18px;background:#f4f5ef;border-radius:12px;cursor:pointer}.quote-furniture input{width:20px;height:20px;accent-color:var(--green)}.quote-furniture>.material-symbols-rounded{color:var(--green)}.quote-furniture span:last-child{display:grid}.quote-furniture small{color:var(--muted)}
.quote-result{position:sticky;top:145px;padding:clamp(32px,5vw,52px);background:var(--brand-trunk);color:#f5f3eb;border-radius:70px 22px 22px 22px;box-shadow:0 24px 65px rgba(91,73,54,.22);overflow:hidden}.quote-result::after{content:"";position:absolute;width:330px;height:230px;right:-135px;bottom:-110px;background:url('../images/brand-branch-watermark.svg') center/contain no-repeat;filter:brightness(0) invert(1);opacity:.08;pointer-events:none}.quote-result>*{position:relative;z-index:1}.quote-result .eyebrow{color:#d6e886}.quote-price{display:flex;align-items:baseline;gap:8px;margin:12px 0 28px}.quote-price>span{font-size:.85rem;font-weight:800;color:#d6e886}.quote-price strong{font-family:Fraunces,serif;font-size:clamp(3.6rem,6vw,6rem);line-height:.9;color:#fff}.quote-price small{color:#d9ddd5}.quote-summary{padding:20px 0;border-top:1px solid rgba(255,255,255,.18);border-bottom:1px solid rgba(255,255,255,.18)}.quote-summary p{display:flex;justify-content:space-between;gap:20px;margin:10px 0;font-size:.88rem}.quote-summary span{color:#bdc7be}.quote-summary b{text-align:right;color:#fff}.quote-includes{display:grid;gap:8px;padding:23px 0}.quote-includes>b{margin-bottom:3px;color:#fff}.quote-includes>span{display:flex;align-items:center;gap:8px;color:#d7ddd7;font-size:.88rem}.quote-includes i{font-size:18px;color:#d6e886}.quote-special-note{display:flex;gap:10px;padding:14px;background:rgba(214,232,134,.12);border:1px solid rgba(214,232,134,.3);border-radius:10px}.quote-special-note>span{color:#d6e886}.quote-special-note p{margin:0;font-size:.85rem}.quote-disclaimer{color:#bfc7c0;font-size:.76rem}.quote-whatsapp{width:100%;gap:8px;margin-top:8px;background:var(--leaf);border-color:var(--leaf);color:var(--brand-trunk);box-shadow:none}.quote-whatsapp:hover{background:#b3cf50;border-color:#b3cf50;color:var(--brand-trunk)}
.admissions-explainer{max-width:1240px;margin:auto;padding:clamp(95px,12vw,160px) 28px}.admissions-explainer>div:first-child{display:grid;grid-template-columns:.7fr 1.3fr;gap:30px;align-items:end;margin-bottom:55px}.admissions-explainer h2{margin:10px 0 0}.admissions-steps{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.admissions-steps article{padding:38px 25px}.admissions-steps article+article{border-left:1px solid var(--line)}.admissions-steps article>span{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:var(--cream);color:var(--green);font-weight:800}.admissions-steps h3{margin:18px 0 8px}.admissions-steps p{color:var(--muted);margin:0}.admissions-plans{max-width:1240px;margin:0 auto clamp(100px,12vw,160px);padding:clamp(80px,9vw,120px) 28px 0}
[hidden]{display:none!important}
@media(max-width:980px){.admissions-hero{grid-template-columns:1fr}.admissions-hero-photo{min-height:500px;border-radius:0 0 70px 0}.quote-builder{grid-template-columns:1fr}.quote-result{position:relative;top:auto}.admissions-steps{grid-template-columns:1fr 1fr}.admissions-steps article:nth-child(3){border-left:0;border-top:1px solid var(--line)}.admissions-steps article:nth-child(4){border-top:1px solid var(--line)}}
@media(max-width:620px){.admissions-hero-copy{padding:65px 22px}.admissions-hero-copy h1{font-size:clamp(3.05rem,15vw,4.5rem)}.admissions-hero-photo{min-height:390px}.admissions-hero-photo figcaption{left:16px;right:auto;bottom:16px}.quote-section-wrap{padding-inline:16px}.quote-form{padding:30px 20px;border-radius:14px 45px 14px 14px}.quote-mode-options{grid-template-columns:1fr}.quote-result{padding:40px 24px;border-radius:45px 14px 14px}.admissions-explainer>div:first-child{grid-template-columns:1fr}.admissions-steps{grid-template-columns:1fr}.admissions-steps article+article{border-left:0;border-top:1px solid var(--line)}.admissions-plans{padding-inline:18px}}

/* Cotizador por fechas — lógica inspirada en el modelo Makana */
.quote-step-help{margin:-10px 0 18px;color:var(--muted);font-size:.9rem}
.quote-date-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.quote-date-grid label{display:grid;gap:7px;color:var(--muted);font-size:.82rem;font-weight:700}
.quote-date-grid input{width:100%;min-height:55px;padding:0 14px;border:2px solid #dfe3d5;border-radius:12px;background:#fbfcf8;color:var(--ink);font:700 1rem Atkinson Hyperlegible,sans-serif}
.quote-date-grid input:focus{border-color:var(--leaf);outline:3px solid rgba(159,190,55,.2)}
.quote-duration-readout{display:grid;grid-template-columns:30px auto 1fr;align-items:center;gap:8px;margin-top:14px;padding:12px 14px;background:#f0f5df;border-radius:10px;color:var(--brand-trunk)}
.quote-duration-readout>span{color:var(--green)}
.quote-duration-readout small{justify-self:end;color:var(--muted)}
.quote-breakdown{display:grid;gap:9px;padding:22px 0;border-bottom:1px solid rgba(255,255,255,.18)}
.quote-breakdown>b{margin-bottom:2px;color:#d6e886}
.quote-breakdown p{display:flex;justify-content:space-between;gap:20px;margin:0;color:#d7ddd7;font-size:.86rem}
.quote-breakdown strong{color:#fff;text-align:right}
.quote-breakdown .quote-breakdown-total{margin-top:7px;padding-top:12px;border-top:1px dashed rgba(255,255,255,.22);font-size:.95rem}
.quote-care-evolution{display:grid;grid-template-columns:28px 1fr;gap:10px;margin-top:14px;padding:15px 16px;background:#f4f5ef;border-left:3px solid var(--leaf);border-radius:4px 10px 10px 4px}.quote-care-evolution>span{color:var(--green);font-size:22px}.quote-care-evolution p{margin:0;color:#65695f;font-size:.86rem;line-height:1.5}.quote-care-evolution b{display:block;margin-bottom:2px;color:var(--brand-trunk)}
@media(max-width:620px){.quote-date-grid{grid-template-columns:1fr}.quote-duration-readout{grid-template-columns:28px 1fr}.quote-duration-readout small{grid-column:1/3;justify-self:start}}

/* Contacto — agenda y conversación */
.contact-hero{min-height:700px;display:grid;grid-template-columns:1.02fr .98fr;background:#eef2e3;overflow:hidden}.contact-hero-copy{align-self:center;padding:clamp(80px,9vw,135px) clamp(28px,7vw,110px)}.contact-hero-copy h1{max-width:760px;margin:13px 0 25px;font-size:clamp(3.5rem,6.4vw,6.8rem);letter-spacing:-.06em;line-height:.93}.contact-hero-copy h1 em{color:var(--green);font-weight:450}.contact-hero-copy>p:not(.eyebrow){max-width:57ch;color:#555d51;font-size:1.08rem}.contact-hero-photo{position:relative;min-height:620px;margin:0;overflow:hidden;border-radius:0 0 0 130px}.contact-hero-photo::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,rgba(53,45,34,.3))}.contact-hero-photo img{width:100%;height:100%;object-fit:cover}.contact-hero-photo figcaption{position:absolute;z-index:1;right:28px;bottom:28px;display:flex;align-items:center;gap:8px;padding:12px 17px;background:rgba(252,251,247,.94);border-radius:999px;color:var(--brand-trunk);font-weight:800}.contact-hero-photo figcaption span{color:var(--green)}
.visit-rhythm{display:flex;align-items:center;gap:16px;margin-top:34px}.visit-rhythm>span{display:grid}.visit-rhythm b{font-family:Fraunces,serif;font-size:2.1rem;color:var(--brand-trunk)}.visit-rhythm small{color:var(--muted);font-size:.76rem;text-transform:uppercase;letter-spacing:.08em}.visit-rhythm>i{color:var(--leaf)}
.contact-planner{display:grid;grid-template-columns:minmax(290px,.72fr) minmax(520px,1.28fr);gap:clamp(45px,8vw,120px);max-width:1320px;margin:auto;padding:clamp(100px,12vw,170px) 28px}.contact-planner-intro{padding-top:20px}.contact-planner-intro h2{margin:10px 0 20px}.contact-planner-intro>p:last-of-type{color:var(--muted)}.contact-facts{display:grid;gap:3px;margin-top:40px;border-top:1px solid var(--line)}.contact-facts p{display:grid;grid-template-columns:35px 1fr;column-gap:10px;margin:0;padding:19px 0;border-bottom:1px solid var(--line)}.contact-facts span{grid-row:1/3;color:var(--green)}.contact-facts b{color:var(--brand-trunk)}.contact-facts small{margin-top:3px;color:var(--muted);line-height:1.4}
.contact-form-shell{padding:clamp(28px,5vw,58px);background:#fff;border:1px solid var(--line);border-radius:24px 82px 24px 24px;box-shadow:0 28px 80px rgba(91,73,54,.13)}.contact-alert{display:flex;gap:10px;margin-bottom:25px;padding:15px 17px;border-radius:12px}.contact-alert p{margin:0}.contact-alert-success{background:#eef5df;color:#526126}.contact-alert-error{background:#f7e9e4;color:#7b3e32}.contact-intent,.visit-time-options{margin:0;padding:0;border:0}.contact-intent legend,.visit-time-options legend{margin-bottom:12px;font-weight:800;color:var(--brand-trunk)}.contact-intent{display:grid;grid-template-columns:1fr 1fr;gap:11px;margin-bottom:31px}.contact-intent legend{grid-column:1/3}.contact-intent label{cursor:pointer}.contact-intent input,.visit-time-options input{position:absolute;opacity:0;pointer-events:none}.contact-intent label>span{height:100%;display:grid;grid-template-columns:35px 1fr;column-gap:9px;padding:18px;border:2px solid #e3e6db;border-radius:15px;transition:.2s ease}.contact-intent i{grid-row:1/3;color:var(--green)}.contact-intent b,.contact-intent small{grid-column:2}.contact-intent small{margin-top:3px;color:var(--muted);line-height:1.35}.contact-intent input:checked+span{border-color:var(--leaf);background:#f1f5e4;transform:translateY(-2px)}.contact-intent input:focus-visible+span,.visit-time-options input:focus-visible+span{outline:3px solid rgba(159,190,55,.35);outline-offset:2px}
.contact-field-grid{display:grid;grid-template-columns:1fr 1fr;gap:17px}.contact-field-wide{grid-column:1/3}.contact-planner-form label>span:first-child,.contact-date>span{display:block;margin-bottom:7px;color:var(--brand-trunk);font-size:.86rem;font-weight:800}.contact-planner-form input[type=text],.contact-planner-form input[type=email],.contact-planner-form input[type=tel],.contact-planner-form input[type=date],.contact-planner-form textarea{width:100%;padding:14px 15px;border:2px solid #e1e4d9;border-radius:11px;background:#fbfcf8;color:var(--ink);font:inherit}.contact-planner-form input:focus,.contact-planner-form textarea:focus{border-color:var(--leaf);outline:3px solid rgba(159,190,55,.16)}.visit-fields{margin:28px 0;padding:24px;background:#f4f6ed;border-radius:15px}.contact-date{display:block}.visit-time-options{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:18px}.visit-time-options legend{grid-column:1/3;font-size:.86rem}.visit-time-options label>span{display:grid;padding:14px 16px;border:2px solid #dfe3d5;border-radius:11px;background:#fff;cursor:pointer}.visit-time-options b{font-family:Fraunces,serif;font-size:1.25rem}.visit-time-options small{color:var(--muted)}.visit-time-options input:checked+span{border-color:var(--leaf);background:#eef4da}.visit-time-options input:disabled+span{cursor:not-allowed;opacity:.42}.visit-date-message{margin:12px 0 0;color:var(--muted);font-size:.8rem}.contact-message{display:block;margin-top:22px}.contact-message small{color:var(--muted);font-weight:400}.contact-submit{gap:8px;margin-top:20px}.contact-confirmation-note{margin:12px 0 0;color:var(--muted);font-size:.78rem}.contact-honeypot{position:absolute!important;left:-9999px!important}
.contact-location{max-width:1320px;margin:0 auto clamp(100px,12vw,170px);display:grid;grid-template-columns:.78fr 1.22fr;gap:55px;align-items:center;padding:clamp(48px,7vw,85px);background:var(--brand-trunk) url('../images/brand-word-pattern.svg') center/520px;color:#fff;border-radius:24px 100px 24px 24px}.contact-location h2{margin:10px 0 15px;color:#fff}.contact-location p{color:#d8ddd7}.contact-location .eyebrow{color:#d6e886}.contact-location-right{display:grid;gap:18px}.contact-map{overflow:hidden;min-height:270px;border:1px solid rgba(255,255,255,.2);border-radius:15px 45px 15px 15px;background:#e8ede0}.contact-map iframe{display:block;width:100%;height:270px;border:0}.contact-location-actions{display:flex;flex-wrap:wrap;align-items:center;gap:13px}.contact-location-actions>a:not(.btn){display:flex;align-items:center;gap:9px;color:#fff}.contact-location-actions>a:not(.btn) span{color:#d6e886}

/* Blog — cuaderno editorial */
.journal-hero{display:grid;grid-template-columns:1.35fr .65fr;gap:55px;align-items:end;max-width:1380px;margin:auto;padding:clamp(105px,13vw,190px) 30px 75px}.journal-hero-title h1{max-width:1040px;margin:13px 0 0;font-size:clamp(3.7rem,7.2vw,7.7rem);line-height:.91;letter-spacing:-.062em}.journal-hero-title h1 em{color:var(--green);font-weight:450}.journal-hero-note{display:grid;grid-template-columns:38px 1fr;gap:12px;padding:24px 0;border-top:3px solid var(--leaf);border-bottom:1px solid var(--line)}.journal-hero-note span{color:var(--green);font-size:31px}.journal-hero-note p{margin:0;color:var(--muted)}
.journal-feature{max-width:1380px;margin:0 auto clamp(100px,11vw,155px);padding:0 30px;display:grid;grid-template-columns:1.15fr .85fr;min-height:560px}.journal-feature-image{overflow:hidden;border-radius:18px 0 0 72px}.journal-feature-image img{width:100%;height:100%;object-fit:cover;transition:transform .8s ease}.journal-feature-image:hover img{transform:scale(1.025)}.journal-feature-copy{display:flex;flex-direction:column;justify-content:center;padding:clamp(42px,6vw,80px);background:#eef2e3;border-radius:0 72px 18px 0}.journal-kicker{display:flex;justify-content:space-between;gap:15px;color:var(--green);font-size:.76rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.journal-kicker span{color:var(--brand-trunk)}.journal-feature-copy h2{margin:16px 0 22px;font-size:clamp(2.5rem,4vw,4.5rem);line-height:1}.journal-feature-copy h2 a{color:inherit}.journal-feature-copy>p:not(.journal-kicker){color:var(--muted)}.journal-feature-foot{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:25px;padding-top:18px;border-top:1px solid rgba(91,73,54,.2);font-size:.83rem}.journal-feature-foot>span{color:var(--muted)}
.journal-library{padding:clamp(90px,11vw,150px) max(28px,calc((100vw - 1320px)/2));background:#f1f3ea}.journal-library-head{display:grid;grid-template-columns:1fr minmax(280px,420px);gap:35px;align-items:end}.journal-library-head h2{margin:9px 0 0}.journal-search{height:56px;display:flex;align-items:center;gap:8px;padding:0 15px;background:#fff;border:1px solid var(--line);border-radius:999px}.journal-search span{color:var(--green)}.journal-search input{width:100%;border:0;outline:0;background:transparent;font:inherit}.journal-topics{display:flex;flex-wrap:wrap;gap:8px;margin:38px 0 42px}.journal-topics button{padding:10px 15px;border:1px solid #cfd5c4;border-radius:999px;background:transparent;color:var(--brand-trunk);font:700 .82rem Atkinson Hyperlegible,sans-serif;cursor:pointer;transition:.2s ease}.journal-topics button:hover,.journal-topics button.is-active{border-color:var(--brand-trunk);background:var(--brand-trunk);color:#fff}.journal-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}.journal-card{min-width:0;background:#fff;border-radius:15px 45px 15px 15px;overflow:hidden;box-shadow:0 13px 35px rgba(91,73,54,.07);transition:transform .25s ease,box-shadow .25s ease}.journal-card:hover{transform:translateY(-6px);box-shadow:0 22px 50px rgba(91,73,54,.13)}.journal-card-image{display:block;height:245px;overflow:hidden}.journal-card-image img{width:100%;height:100%;object-fit:cover;transition:transform .6s ease}.journal-card:hover img{transform:scale(1.035)}.journal-card-copy{padding:24px 25px 27px}.journal-card-meta{display:flex;justify-content:space-between;gap:12px;margin:0;color:var(--muted);font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em}.journal-card-meta span{color:var(--green)}.journal-card h3{margin:13px 0 12px;font-size:1.55rem;line-height:1.1}.journal-card h3 a{color:inherit}.journal-card-copy>p:not(.journal-card-meta){display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:3;color:var(--muted);font-size:.9rem}.journal-card-copy>a{display:flex;justify-content:space-between;margin-top:20px;padding-top:13px;border-top:1px solid var(--line);color:var(--brand-trunk);font-size:.83rem;font-weight:800}.journal-card[hidden]{display:none}.journal-empty{padding:70px 20px;text-align:center}.journal-empty>span{font-size:42px;color:var(--green)}.journal-empty h3{margin:12px 0 7px}.journal-empty p{color:var(--muted)}.journal-cta{max-width:1320px;margin:clamp(100px,11vw,155px) auto;display:grid;grid-template-columns:1fr .75fr auto;gap:40px;align-items:center;padding:0 28px}.journal-cta h2{margin:9px 0 0}.journal-cta>p{color:var(--muted)}.journal-cta .btn{white-space:nowrap}
@media(max-width:980px){.contact-hero{grid-template-columns:1fr}.contact-hero-photo{min-height:520px;border-radius:0 0 80px 0}.contact-planner{grid-template-columns:1fr;max-width:800px}.contact-location{grid-template-columns:1fr;margin-inline:22px}.journal-hero{grid-template-columns:1fr}.journal-hero-note{max-width:560px}.journal-feature{grid-template-columns:1fr}.journal-feature-image{height:480px;border-radius:18px 72px 0 0}.journal-feature-copy{border-radius:0 0 18px 72px}.journal-grid{grid-template-columns:1fr 1fr}.journal-cta{grid-template-columns:1fr 1fr}.journal-cta .btn{grid-column:1/3;justify-self:start}}
@media(max-width:650px){.contact-hero-copy{padding:70px 22px}.contact-hero-copy h1{font-size:clamp(3.2rem,15vw,4.8rem)}.contact-hero-photo{min-height:390px}.visit-rhythm{gap:10px}.visit-rhythm b{font-size:1.7rem}.contact-planner{padding-inline:16px}.contact-form-shell{padding:28px 19px;border-radius:16px 50px 16px 16px}.contact-intent,.contact-field-grid,.visit-time-options{grid-template-columns:1fr}.contact-intent legend,.contact-field-wide,.visit-time-options legend{grid-column:1}.contact-location{grid-template-columns:1fr;padding:45px 25px;border-radius:16px 55px 16px 16px}.journal-hero{padding:85px 20px 55px}.journal-hero-title h1{font-size:clamp(3.3rem,15vw,5rem)}.journal-feature{padding-inline:16px}.journal-feature-image{height:330px}.journal-feature-copy{padding:34px 24px}.journal-feature-foot{align-items:flex-start;flex-direction:column}.journal-library{padding-inline:16px}.journal-library-head{grid-template-columns:1fr}.journal-grid{grid-template-columns:1fr}.journal-card-image{height:230px}.journal-cta{grid-template-columns:1fr;padding-inline:22px}.journal-cta .btn{grid-column:1}}
@media(prefers-reduced-motion:reduce){.journal-card,.journal-card img,.journal-feature-image img,.contact-intent label>span{transition:none!important}}

/* Navegación y ubicación — interacción refinada */
@media(min-width:981px){
  .dropdown{padding-bottom:10px;margin-bottom:-10px}
  .dropdown-menu{z-index:20;top:calc(100% - 10px);display:block!important;visibility:hidden;opacity:0;pointer-events:none;transform:translateY(10px) scale(.98);transform-origin:top left;transition:opacity .22s ease,transform .28s cubic-bezier(.2,.8,.2,1),visibility 0s linear .28s}
  .dropdown:hover .dropdown-menu,.dropdown:focus-within .dropdown-menu{visibility:visible;opacity:1;pointer-events:auto;transform:translateY(6px) scale(1);transition-delay:0s}
  .dropdown-menu a{position:relative;overflow:hidden;padding:11px 14px;transition:background .2s ease,color .2s ease,transform .2s ease}
  .dropdown-menu a::before{content:"";position:absolute;left:0;top:50%;width:5px;height:0;border-radius:99px;background:var(--leaf);transform:translateY(-50%);transition:height .2s ease}
  .dropdown-menu a:hover,.dropdown-menu a:focus-visible{background:#f1f5e5;color:var(--brand-trunk);transform:translateX(4px)}
  .dropdown-menu a:hover::before,.dropdown-menu a:focus-visible::before{height:56%}
  .main-nav>ul>li>a{position:relative;transition:color .2s ease,transform .2s ease}
  .main-nav>ul>li>a:hover{transform:translateY(-2px)}
}
.contact-location-intro{max-width:1320px;margin:0 auto;padding:clamp(65px,8vw,112px) 28px;display:grid;grid-template-columns:.82fr 1.18fr;gap:clamp(40px,8vw,130px);align-items:end;background:#eef2e3}.contact-location-intro h2{max-width:620px;margin:10px 0 0;font-size:clamp(2.6rem,4.6vw,5rem);line-height:.98}.contact-location-intro>div:last-child>p{max-width:590px;margin:0;color:var(--muted);font-size:1.08rem;line-height:1.65}.contact-location-intro .contact-location-actions{display:flex;flex-wrap:wrap;gap:15px 24px;margin-top:28px}.contact-location-intro .contact-location-actions>a{display:flex;align-items:center;gap:8px;color:var(--brand-trunk);font-weight:800}.contact-location-intro .contact-location-actions span{color:var(--green)}
.contact-map-band{position:relative;max-width:1320px;height:clamp(390px,45vw,590px);margin:0 auto clamp(100px,12vw,170px);overflow:hidden;background:#dfe7d3;border-radius:0 0 24px 80px}.contact-map-band iframe{display:block;width:100%;height:100%;border:0;filter:saturate(.85) contrast(.96)}.contact-map-band::after{content:"Giovanni Barbieri E4-51 y Raffaele Giannetti · Cumbayá";position:absolute;left:clamp(20px,4vw,50px);bottom:clamp(20px,4vw,45px);padding:12px 17px;background:rgba(255,253,248,.94);border-radius:999px;color:var(--brand-trunk);font-size:.82rem;font-weight:800;box-shadow:0 8px 25px rgba(53,45,34,.15);pointer-events:none}.contact-map-link{position:absolute;right:clamp(20px,4vw,50px);bottom:clamp(20px,4vw,45px);gap:8px}
@media(max-width:980px){.contact-location-intro{grid-template-columns:1fr}.contact-map-band{margin-inline:22px}}
@media(max-width:650px){.contact-location-intro{padding:58px 22px}.contact-location-intro h2{font-size:clamp(2.5rem,12vw,3.8rem)}.contact-map-band{height:390px;margin-inline:16px;border-radius:0 0 16px 55px}.contact-map-band::after{right:16px;left:16px;bottom:78px;text-align:center}.contact-map-link{right:16px;bottom:18px;left:16px}}

/* El resultado debe crecer con el contenido: nunca desplazar dentro de la tarjeta. */
.quote-result{height:auto!important;max-height:none!important;overflow:visible!important;scrollbar-width:auto!important}

/* Admisión formal — el siguiente paso después de cotizar */
.quote-admission-link{display:grid;grid-template-columns:28px 1fr 22px;align-items:center;gap:11px;margin-top:12px;padding:15px 16px;border:1px solid rgba(255,255,255,.25);border-radius:12px;color:#fff;transition:background .2s ease,border-color .2s ease,transform .2s ease}.quote-admission-link>span:first-child{color:#d6e886}.quote-admission-link>span:nth-child(2){display:grid;line-height:1.25}.quote-admission-link small{margin-top:3px;color:#c8d0c9}.quote-admission-link>i{font-style:normal;font-size:20px;transition:transform .2s ease}.quote-admission-link:hover{background:rgba(255,255,255,.09);border-color:#d6e886;transform:translateY(-1px)}.quote-admission-link:hover>i{transform:translateX(4px)}
.intake-hero{min-height:690px;display:grid;grid-template-columns:minmax(0,1.18fr) minmax(360px,.82fr);background:#edf2e2}.intake-hero-copy{display:flex;flex-direction:column;justify-content:center;padding:clamp(80px,10vw,145px) clamp(28px,8vw,125px);background-image:url('../images/brand-branch-watermark.svg');background-repeat:no-repeat;background-position:left -240px bottom -280px;background-size:690px auto}.intake-hero-copy h1{max-width:880px;margin:14px 0 28px;font-size:clamp(3.2rem,6vw,6.5rem);letter-spacing:-.055em}.intake-hero-copy>p:not(.eyebrow){max-width:63ch;color:#596052;font-size:1.12rem}.intake-trust{display:flex;align-items:flex-start;gap:12px;max-width:590px;margin-top:34px;padding-top:24px;border-top:1px solid #cfd8bc}.intake-trust>span{color:var(--green)}.intake-trust p{display:grid;margin:0}.intake-trust small{margin-top:4px;color:var(--muted);line-height:1.45}
.intake-before{position:relative;align-self:center;margin:55px clamp(28px,6vw,95px) 55px 0;padding:clamp(38px,5vw,64px);overflow:hidden;background:var(--brand-trunk);border-radius:90px 20px 20px;color:#fff;box-shadow:0 28px 70px rgba(91,73,54,.22)}.intake-before::after{content:"";position:absolute;width:310px;height:220px;right:-120px;bottom:-105px;background:url('../images/brand-branch-watermark.svg') center/contain no-repeat;filter:brightness(0) invert(1);opacity:.07}.intake-before>*{position:relative;z-index:1}.intake-leaf{display:grid;width:58px;height:58px;place-items:center;margin-bottom:38px;border-radius:50%;background:var(--leaf);color:var(--brand-trunk);font-size:30px}.intake-before .eyebrow{color:#d6e886}.intake-before h2{margin:5px 0 28px;color:#fff}.intake-before ul{display:grid;gap:0;margin:0;padding:0;list-style:none}.intake-before li{display:grid;grid-template-columns:36px 1fr;gap:12px;padding:16px 0;border-top:1px solid rgba(255,255,255,.15);color:#e5e8e2}.intake-before li span{color:#d6e886;font-size:.74rem;font-weight:800;letter-spacing:.08em}.intake-time{display:flex;align-items:center;gap:8px;margin:28px 0 0;color:#cbd2cc;font-size:.85rem}.intake-time span{color:#d6e886}
.intake-form-section{padding:clamp(85px,10vw,140px) 28px;background:var(--paper)}.intake-form-heading{max-width:1240px;display:grid;grid-template-columns:1.2fr .8fr;gap:45px;align-items:end;margin:0 auto 42px}.intake-form-heading h2{margin:9px 0 0}.intake-form-heading>p{max-width:48ch;margin:0;color:var(--muted)}.intake-form-frame{max-width:1240px;height:clamp(760px,82vh,980px);margin:auto;overflow:hidden;border:1px solid #d7dfc8;border-radius:20px 80px 20px 20px;background:#fff;box-shadow:0 24px 70px rgba(91,73,54,.12)}.intake-form-frame iframe{width:100%;height:100%;border:0}.intake-fallback{max-width:1240px;margin:17px auto 0;color:var(--muted);font-size:.84rem}.intake-fallback a{color:var(--green);font-weight:800;text-decoration:underline;text-underline-offset:3px}
@media(max-width:980px){.intake-hero{grid-template-columns:1fr}.intake-before{margin:0 28px 65px}.intake-form-heading{grid-template-columns:1fr}.intake-form-frame{border-radius:18px 55px 18px 18px}}
@media(max-width:620px){.intake-hero-copy{padding:68px 22px}.intake-hero-copy h1{font-size:clamp(3rem,15vw,4.5rem)}.intake-before{margin:0 16px 50px;padding:36px 25px;border-radius:55px 15px 15px}.intake-form-section{padding:70px 12px}.intake-form-heading{padding:0 10px}.intake-form-frame{height:850px;border-radius:12px 38px 12px 12px}}

/* Galería terminada — un recorrido real por la casa */
.gallery-hero{padding-bottom:52px}.gallery-hero h1{max-width:900px}.gallery-featured{max-width:1320px;display:grid;grid-template-columns:1.5fr .75fr .75fr;grid-template-rows:360px 130px;gap:12px;margin:0 auto clamp(75px,9vw,120px);padding:0 32px}.gallery-featured figure{position:relative;margin:0;overflow:hidden;background:#dfe6d2}.gallery-featured-main{grid-row:1/3;border-radius:18px 18px 18px 75px}.gallery-featured figure:nth-child(2){border-radius:18px 70px 18px 18px}.gallery-featured figure:nth-child(3){border-radius:18px}.gallery-featured img{width:100%;height:100%;object-fit:cover;transition:transform .8s cubic-bezier(.2,.7,.2,1)}.gallery-featured figure:hover img{transform:scale(1.035)}.gallery-featured figcaption{position:absolute;left:0;right:0;bottom:0;display:flex;align-items:center;gap:12px;padding:28px 24px 19px;background:linear-gradient(transparent,rgba(38,34,28,.78));color:#fff}.gallery-featured figcaption span{font-size:.67rem;font-weight:800;letter-spacing:.1em;color:#d6e886}.gallery-featured-note{display:flex;align-items:center;gap:12px;padding:20px 24px;background:var(--brand-trunk);border-radius:18px 18px 55px;color:#fff}.gallery-featured-note>span{color:#d6e886}.gallery-featured-note p{display:grid;margin:0;line-height:1.25}.gallery-featured-note small{margin-top:4px;color:#ccd3cc}.gallery-section{max-width:1400px}.gallery-status{position:sticky;top:91px;z-index:8;margin-bottom:24px;padding:17px 20px;background:rgba(251,250,246,.93);border:1px solid var(--line);border-radius:999px;backdrop-filter:blur(12px)}.facebook-gallery{columns:auto;display:grid;grid-template-columns:repeat(12,1fr);gap:14px}.gallery-item{grid-column:span 4;margin:0;aspect-ratio:4/3;border-radius:10px}.gallery-item:nth-child(7n+1),.gallery-item:nth-child(7n+5){grid-column:span 8;aspect-ratio:16/9}.gallery-item img{width:100%;height:100%;object-fit:cover}.gallery-item-meta{right:18px}.gallery-lightbox figcaption p{display:grid;gap:3px}.gallery-lightbox figcaption p>span{color:#d5e68c;font-size:.72rem;font-weight:800;letter-spacing:.1em}.gallery-lightbox figcaption p>b{font-weight:600}.gallery-lightbox figcaption a[hidden]{display:none}

/* Elegir el recorrido: instalaciones o vida compartida */
.gallery-choice{max-width:1320px;margin:0 auto clamp(72px,9vw,116px);padding:0 32px}.gallery-choice-heading{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(32px,8vw,118px);align-items:end;margin-bottom:30px}.gallery-choice-heading h2{margin:8px 0 0;color:var(--brand-trunk)}.gallery-choice-heading h2 em{color:var(--brand-leaf)}.gallery-choice-heading>p{max-width:49ch;margin:0 0 5px;color:var(--ink-soft);line-height:1.7}.gallery-choice-deck{display:flex;min-height:410px;overflow:hidden;border-radius:22px 78px 22px 78px;background:var(--brand-trunk);box-shadow:0 20px 46px rgba(61,50,35,.12)}.gallery-choice-card{position:relative;isolation:isolate;display:flex;flex:1;min-width:0;flex-direction:column;align-items:flex-start;justify-content:flex-end;gap:16px;padding:32px 34px;color:#fff;text-decoration:none;overflow:hidden;transition:flex .78s cubic-bezier(.2,.8,.2,1),filter .58s cubic-bezier(.2,.8,.2,1)}.gallery-choice-card+.gallery-choice-card{border-left:7px solid #f7f7f0}.gallery-choice-card::before,.gallery-choice-card::after{position:absolute;inset:0;content:"";z-index:-2}.gallery-choice-card::before{background:center/cover no-repeat;transform:scale(1.02);transition:transform .9s cubic-bezier(.2,.8,.2,1)}.gallery-choice-installations::before{background-image:url('../images/gallery/58a57a8d-c526-409a-a1a0-60f9a896273b.jpg')}.gallery-choice-moments::before{background-image:url('../images/gallery/ec5a1979-4d67-4d4a-9b88-a132387f0f7f.jpg')}.gallery-choice-card::after{z-index:-1;background:linear-gradient(180deg,rgba(30,39,28,.18) 0%,rgba(37,45,30,.88) 87%);transition:background .62s ease}.gallery-choice-moments::after{background:linear-gradient(180deg,rgba(69,47,31,.16) 0%,rgba(64,50,35,.89) 87%)}.gallery-choice-deck:has(.gallery-choice-card:hover) .gallery-choice-card:not(:hover){flex:.72;filter:saturate(.76) brightness(.82)}.gallery-choice-card:hover,.gallery-choice-card:focus-visible{flex:1.42;outline:0}.gallery-choice-card:hover::before,.gallery-choice-card:focus-visible::before{transform:scale(1.08)}.gallery-choice-card:hover::after,.gallery-choice-card:focus-visible::after{background:linear-gradient(180deg,rgba(30,39,28,.08) 0%,rgba(37,45,30,.92) 90%)}.gallery-choice-moments:hover::after,.gallery-choice-moments:focus-visible::after{background:linear-gradient(180deg,rgba(69,47,31,.08) 0%,rgba(64,50,35,.92) 90%)}.gallery-choice-card:focus-visible{box-shadow:inset 0 0 0 4px #d6e886}.gallery-choice-card>.material-symbols-rounded{color:#d6e886;font-size:37px;text-shadow:0 2px 14px rgba(0,0,0,.3)}.gallery-choice-number{position:absolute;top:28px;right:29px;font-size:.72rem;font-weight:800;letter-spacing:.12em;color:rgba(255,255,255,.78)}.gallery-choice-copy{display:grid;gap:7px;max-width:31ch}.gallery-choice-copy small{font-size:.71rem;font-weight:850;letter-spacing:.11em;text-transform:uppercase;color:#d6e886}.gallery-choice-copy strong{font-family:var(--font-display);font-size:clamp(2rem,3.2vw,3.2rem);line-height:.95}.gallery-choice-copy em{max-height:0;overflow:hidden;font-family:inherit;font-size:.95rem;font-style:normal;line-height:1.55;opacity:0;transition:max-height .5s ease,opacity .38s ease}.gallery-choice-card:hover .gallery-choice-copy em,.gallery-choice-card:focus-visible .gallery-choice-copy em{max-height:5em;opacity:1}.gallery-choice-arrow{position:absolute;right:28px;bottom:31px;font-size:26px;color:#d6e886;transition:transform .42s cubic-bezier(.2,.8,.2,1)}.gallery-choice-card:hover .gallery-choice-arrow,.gallery-choice-card:focus-visible .gallery-choice-arrow{transform:translateY(7px)}
@media(max-width:980px){.gallery-featured{grid-template-columns:1fr 1fr;grid-template-rows:460px 260px 110px}.gallery-featured-main{grid-column:1/3;grid-row:auto}.gallery-featured-note{grid-column:1/3}.gallery-item,.gallery-item:nth-child(7n+1),.gallery-item:nth-child(7n+5){grid-column:span 6;aspect-ratio:4/3}}
@media(max-width:620px){.gallery-hero{padding:65px 20px 38px}.gallery-featured{grid-template-columns:1fr;grid-template-rows:390px 220px 220px auto;padding:0 14px}.gallery-featured-main,.gallery-featured-note{grid-column:auto}.gallery-featured-main{border-radius:14px 14px 55px}.gallery-featured figure:nth-child(2){border-radius:14px 50px 14px 14px}.gallery-section{padding-inline:14px}.gallery-status{position:static;align-items:flex-start;border-radius:14px}.gallery-status a{font-size:.8rem}.facebook-gallery{gap:10px}.gallery-item,.gallery-item:nth-child(7n+1),.gallery-item:nth-child(7n+5){grid-column:span 12;aspect-ratio:4/3}.gallery-item:nth-child(3n+1){aspect-ratio:16/10}}
@media(prefers-reduced-motion:reduce){.gallery-featured img{transition:none}}

.moments-section{margin:clamp(85px,11vw,150px) 0 0;padding:clamp(75px,9vw,120px) max(28px,calc((100vw - 1320px)/2));background:var(--brand-trunk);color:#fff}.moments-heading{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(36px,8vw,120px);align-items:end;margin-bottom:42px}.moments-heading .eyebrow{color:#d6e886}.moments-heading h2{margin:8px 0 0;color:#fff}.moments-heading h2 em{color:#d6e886}.moments-heading>p{max-width:53ch;margin:0;color:#d8dfd7;line-height:1.7}.moments-status,.moments-waiting{display:flex;align-items:center;gap:12px;margin:0 0 22px;padding:15px 18px;border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.07);color:#fff}.moments-status>span,.moments-waiting>span{color:#d6e886}.moments-status small{color:#cbd4cc}.moments-status a,.moments-waiting a{margin-left:auto;color:#d6e886;font-size:.84rem;font-weight:800}.moments-gallery .gallery-item{border-radius:8px}.moments-waiting{justify-content:flex-start;padding:28px}.moments-waiting>span{font-size:35px}.moments-waiting b{display:block}.moments-waiting p{margin:5px 0 0;color:#d8dfd7}.moments-waiting a{align-self:center;white-space:nowrap}
@media(max-width:760px){.moments-section{padding-inline:20px}.moments-heading{grid-template-columns:1fr;gap:18px}.moments-status{align-items:flex-start;flex-wrap:wrap}.moments-status a{margin-left:0;width:100%}.moments-waiting{align-items:flex-start;flex-wrap:wrap}.moments-waiting a{margin-left:47px;width:100%}}

/* Familia de páginas de servicios — cada modalidad responde una decisión distinta */
.service-detail-hero{min-height:700px;display:grid;grid-template-columns:.92fr 1.08fr;background:#edf2e2}.service-detail-copy{align-self:center;padding:clamp(76px,9vw,135px) clamp(28px,7vw,108px)}.service-detail-copy h1{max-width:850px;margin:14px 0 27px;font-size:clamp(3.4rem,6vw,6.35rem);letter-spacing:-.055em}.service-detail-copy h1 em{display:block;color:var(--green);font-weight:500}.service-detail-copy>p:not(.eyebrow){max-width:60ch;color:#566052;font-size:1.1rem}.service-detail-actions{display:flex;align-items:center;gap:25px;margin-top:31px}.service-detail-actions>a:not(.btn){display:inline-flex;align-items:center;gap:8px;color:var(--brand-trunk);font-weight:800}.service-detail-actions>a:not(.btn) span{transition:transform .25s ease}.service-detail-actions>a:not(.btn):hover span{transform:translateY(4px)}.service-detail-photo{position:relative;min-height:650px;margin:0;overflow:hidden;border-radius:0 0 0 105px}.service-detail-photo>img{width:100%;height:100%;object-fit:cover}.service-detail-photo figcaption{position:absolute;right:26px;bottom:26px;display:grid;grid-template-columns:34px 1fr;align-items:center;gap:2px 10px;max-width:300px;padding:15px 19px;background:rgba(251,250,246,.94);border-radius:13px;color:var(--brand-trunk);box-shadow:0 12px 35px rgba(50,40,30,.13)}.service-detail-photo figcaption>span{grid-row:1/3;color:var(--green);font-size:28px}.service-detail-photo figcaption small{color:var(--muted)}
.service-answer{max-width:1240px;display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(45px,8vw,115px);align-items:start;margin:auto;padding:clamp(100px,12vw,165px) 28px}.service-answer h2{margin:10px 0 0}.service-answer>p,.service-answer>div:last-child>p{margin-top:0;color:#5d6459;font-size:1.08rem}.service-notice{display:grid;grid-template-columns:28px minmax(0,1fr);align-items:start;gap:11px;margin-top:25px;padding:17px 19px;background:#edf2e2;border-left:3px solid var(--leaf);border-radius:0 10px 10px 0}.service-notice>.material-symbols-rounded{color:var(--green);font-size:22px}.service-notice p{display:grid;gap:3px;min-width:0;margin:0!important;color:#5d6459!important;font-size:.9rem!important;line-height:1.5}.service-notice p>b{color:var(--brand-trunk)}.service-notice p>span{color:#5d6459}
.stay-ribbon{max-width:1380px;display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin:0 auto clamp(110px,12vw,165px);padding:0 28px}.stay-ribbon article{position:relative;padding:42px 30px;background:var(--brand-trunk);color:#fff}.stay-ribbon article:first-child{border-radius:70px 0 0 18px}.stay-ribbon article:last-child{border-radius:0 18px 70px 0}.stay-ribbon article+article{border-left:1px solid rgba(255,255,255,.14)}.stay-ribbon article>span{font-size:.68rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:#d6e886}.stay-ribbon article>i{display:block;margin:28px 0 17px;color:#d6e886;font-size:32px;font-style:normal}.stay-ribbon h3{margin:0 0 8px;color:#fff}.stay-ribbon p{margin:0;color:#d3d9d3}
.service-inclusions{padding:clamp(95px,11vw,150px) 28px;background:#e9eee0}.service-inclusions-heading{max-width:900px;margin:0 auto 55px;text-align:center}.service-inclusions-heading h2{margin:10px 0 0}.service-inclusions-list{max-width:1240px;display:grid;grid-template-columns:repeat(4,1fr);margin:auto;border-top:1px solid #cfd8c4;border-bottom:1px solid #cfd8c4}.service-inclusions-list article{padding:38px 28px}.service-inclusions-list article+article{border-left:1px solid #cfd8c4}.service-inclusions-list article>span{display:grid;width:48px;height:48px;place-items:center;border-radius:50%;background:var(--brand-trunk);color:#d6e886}.service-inclusions-list h3{margin:20px 0 8px}.service-inclusions-list p{margin:0;color:var(--muted)}.service-inclusions-light{background:var(--paper)}
.service-decision-band{max-width:1240px;display:flex;justify-content:space-between;align-items:end;gap:45px;margin:clamp(90px,11vw,145px) auto;padding:clamp(48px,6vw,78px);background:var(--brand-trunk);border-radius:24px 95px 24px 24px;color:#fff;overflow:hidden}.service-decision-band .eyebrow{color:#d6e886}.service-decision-band h2{max-width:800px;margin:8px 0 13px;color:#fff}.service-decision-band p:last-child{max-width:65ch;margin:0;color:#cbd2cb}.service-decision-band>.btn{flex:none;background:var(--leaf);border-color:var(--leaf);color:var(--brand-trunk);box-shadow:none}
.day-journey{padding:clamp(95px,11vw,150px) 28px;background:var(--brand-trunk);color:#fff}.day-journey-heading{max-width:850px;margin:0 auto 65px;text-align:center}.day-journey-heading .eyebrow{color:#d6e886}.day-journey-heading h2{margin:9px 0 15px;color:#fff}.day-journey-heading>p:last-child{color:#cdd4ce}.day-journey-line{max-width:1240px;display:grid;grid-template-columns:repeat(5,1fr);margin:auto;border-top:1px solid rgba(255,255,255,.2)}.day-journey-line article{position:relative;padding:36px 22px 10px}.day-journey-line article::before{content:"";position:absolute;width:11px;height:11px;left:22px;top:-6px;border-radius:50%;background:var(--leaf)}.day-journey-line time{display:block;color:#d6e886;font-weight:800}.day-journey-line article>span{display:block;margin:23px 0 16px;color:#d6e886;font-size:30px}.day-journey-line h3{margin:0 0 8px;color:#fff}.day-journey-line p{margin:0;color:#cdd4ce;font-size:.91rem}
.clinical-principle{max-width:1240px;display:grid;grid-template-columns:70px .95fr 1.05fr;gap:35px;align-items:start;margin:clamp(95px,11vw,155px) auto;padding:0 28px}.clinical-principle>span{display:grid;width:62px;height:62px;place-items:center;border-radius:50%;background:var(--leaf);color:var(--brand-trunk);font-size:30px}.clinical-principle h2{margin:8px 0 0}.clinical-principle>p{margin:28px 0 0;color:var(--muted);font-size:1.07rem}.care-assessment{padding:clamp(95px,11vw,150px) 28px;background:#e9eee0}.care-assessment-heading{max-width:850px;margin:0 auto 55px;text-align:center}.care-assessment-heading h2{margin:10px 0}.care-assessment-steps{max-width:1020px;margin:auto}.care-assessment-steps article{display:grid;grid-template-columns:58px 1fr;gap:25px;padding:28px 0;border-top:1px solid #cbd4c0}.care-assessment-steps article:last-child{border-bottom:1px solid #cbd4c0}.care-assessment-steps>article>span{display:grid;width:46px;height:46px;place-items:center;border-radius:50%;background:var(--brand-trunk);color:#d6e886;font-weight:800}.care-assessment-steps h3{margin:0 0 5px}.care-assessment-steps p{margin:0;color:var(--muted)}.clinical-inclusions{background:#f7f3ea}
.home-care-network{position:relative;max-width:1120px;min-height:700px;margin:0 auto clamp(105px,12vw,160px);padding:60px}.home-care-network::before{content:"";position:absolute;inset:85px 160px;border:1px dashed #aebb96;border-radius:50%}.home-care-center{position:absolute;left:50%;top:50%;z-index:2;width:210px;height:210px;display:grid;place-items:center;align-content:center;transform:translate(-50%,-50%);border-radius:50%;background:var(--brand-trunk);color:#fff;text-align:center;box-shadow:0 20px 55px rgba(91,73,54,.2)}.home-care-center>span{color:#d6e886;font-size:38px}.home-care-center p{margin:8px 0 0}.home-care-node{position:absolute;width:270px;padding:25px;background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow)}.home-care-node>span{color:var(--green);font-size:30px}.home-care-node h3{margin:12px 0 6px}.home-care-node p{margin:0;color:var(--muted);font-size:.9rem}.node-aux{left:0;top:20px}.node-doctor{right:0;top:20px}.node-family{left:0;bottom:20px}.node-club{right:0;bottom:20px}.home-care-scope{max-width:1240px;display:grid;grid-template-columns:1fr 1fr;gap:80px;margin:auto;padding:clamp(95px,11vw,145px) 28px;border-top:1px solid var(--line)}.home-care-scope h2{margin:8px 0}.home-care-scope>p{margin:30px 0 0;color:var(--muted);font-size:1.07rem}
.service-sibling-nav{max-width:1240px;margin:0 auto clamp(100px,12vw,155px);padding:0 28px}.service-sibling-nav>p{display:flex;align-items:center;gap:8px;padding-bottom:18px;border-bottom:1px solid var(--line);color:var(--muted);font-size:.8rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.service-sibling-nav>p span{color:var(--green)}.service-sibling-nav>div{display:grid;grid-template-columns:repeat(5,1fr)}.service-sibling-nav a{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:20px 14px;border-bottom:1px solid var(--line);color:var(--brand-trunk);font-weight:800}.service-sibling-nav a+ a{border-left:1px solid var(--line)}.service-sibling-nav a span{font-size:19px;color:var(--green);transition:transform .2s ease}.service-sibling-nav a:hover span{transform:translateX(4px)}.service-sibling-nav a[aria-current=page]{background:#edf2e2;color:var(--green)}
.service-compare{padding:clamp(85px,10vw,135px) 28px}.service-compare-heading{max-width:850px;margin:0 auto 45px;text-align:center}.service-compare-heading h2{margin:8px 0}.service-compare-grid{max-width:1120px;display:grid;grid-template-columns:repeat(3,1fr);margin:auto;border:1px solid var(--line);border-radius:20px 65px 20px 20px;overflow:hidden}.service-compare-grid article{padding:38px 32px}.service-compare-grid article+article{border-left:1px solid var(--line)}.service-compare-grid span{color:var(--green);font-size:32px}.service-compare-grid p{margin:17px 0 6px;color:var(--muted)}.service-compare-grid strong{color:var(--brand-trunk)}
@media(max-width:1000px){.service-detail-hero{grid-template-columns:1fr}.service-detail-photo{min-height:520px;border-radius:0 0 75px 0}.stay-ribbon{grid-template-columns:1fr 1fr}.stay-ribbon article:first-child{border-radius:55px 0 0}.stay-ribbon article:nth-child(2){border-radius:0 18px 0 0}.stay-ribbon article:nth-child(3){border-left:0;border-top:1px solid rgba(255,255,255,.14);border-radius:0 0 0 18px}.stay-ribbon article:last-child{border-top:1px solid rgba(255,255,255,.14);border-radius:0 0 55px}.service-inclusions-list{grid-template-columns:1fr 1fr}.service-inclusions-list article:nth-child(3){border-left:0;border-top:1px solid #cfd8c4}.service-inclusions-list article:nth-child(4){border-top:1px solid #cfd8c4}.day-journey-line{grid-template-columns:1fr 1fr}.day-journey-line article{border-top:1px solid rgba(255,255,255,.15)}.day-journey-line article::before{display:none}.clinical-principle{grid-template-columns:65px 1fr}.clinical-principle>p{grid-column:2}.service-sibling-nav>div{grid-template-columns:1fr 1fr}.service-sibling-nav a:nth-child(odd){border-left:0}.service-compare-grid{grid-template-columns:1fr}.service-compare-grid article+article{border-left:0;border-top:1px solid var(--line)}}
@media(max-width:680px){.service-detail-copy{padding:68px 22px}.service-detail-copy h1{font-size:clamp(3.1rem,15vw,4.6rem)}.service-detail-actions{align-items:flex-start;flex-direction:column}.service-detail-photo{min-height:400px}.service-detail-photo figcaption{left:16px;right:auto}.service-answer{grid-template-columns:1fr;gap:28px;padding-inline:22px}.stay-ribbon{grid-template-columns:1fr;padding-inline:16px}.stay-ribbon article,.stay-ribbon article:first-child,.stay-ribbon article:nth-child(2),.stay-ribbon article:nth-child(3),.stay-ribbon article:last-child{border:0;border-top:1px solid rgba(255,255,255,.14);border-radius:0}.stay-ribbon article:first-child{border-radius:45px 14px 0 0}.stay-ribbon article:last-child{border-radius:0 0 45px 14px}.service-inclusions-list{grid-template-columns:1fr}.service-inclusions-list article+article{border-left:0;border-top:1px solid #cfd8c4}.service-decision-band{align-items:flex-start;flex-direction:column;margin-inline:16px;padding:42px 25px;border-radius:16px 55px 16px 16px}.day-journey-line{grid-template-columns:1fr}.clinical-principle{grid-template-columns:1fr;padding-inline:22px}.clinical-principle>p{grid-column:auto;margin-top:0}.home-care-network{min-height:auto;display:grid;gap:12px;padding:50px 18px}.home-care-network::before{display:none}.home-care-center,.home-care-node{position:relative;inset:auto;width:auto;transform:none}.home-care-center{height:180px;border-radius:55px 14px}.home-care-scope{grid-template-columns:1fr;gap:15px;padding-inline:22px}.home-care-scope>p{margin-top:0}.service-sibling-nav{padding-inline:16px}.service-sibling-nav>div{grid-template-columns:1fr}.service-sibling-nav a+ a{border-left:0}.service-compare{padding-inline:16px}}
@media(prefers-reduced-motion:reduce){.service-detail-actions span,.service-sibling-nav a span{transition:none}}

/* Cotizador conectado con la lógica del Excel */
.quote-counter{display:flex;align-items:center}.quote-counter button{width:52px;height:52px;border:1px solid var(--line);background:#f0f4e5;color:var(--brand-trunk);font-size:1.45rem;cursor:pointer}.quote-counter button:first-child{border-radius:12px 0 0 12px}.quote-counter button:nth-of-type(2){border-radius:0 12px 12px 0}.quote-counter input{width:78px;height:52px;border:1px solid var(--line);border-right:0;border-left:0;text-align:center;font:800 1.05rem Atkinson Hyperlegible,sans-serif}.quote-counter input::-webkit-inner-spin-button{appearance:none}.quote-counter>span{margin-left:12px;color:var(--muted);font-weight:700}.quote-select-wrap option:disabled{color:#999}.quote-formula-note{margin:18px 0 3px;padding:13px 0;border-top:1px solid rgba(255,255,255,.18);border-bottom:1px solid rgba(255,255,255,.18);color:#d5ddd6}.quote-formula-note summary{cursor:pointer;color:#d6e886;font-size:.8rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em}.quote-formula-note p{margin:10px 0 2px;color:#c8d0c9;font-size:.78rem;line-height:1.5}.quote-result{max-height:none;overflow:hidden}.quote-breakdown p strong{white-space:nowrap}.quote-breakdown [data-breakdown-rounding-row] strong{color:#d6e886}
.quote-counter button:disabled{cursor:not-allowed;background:#f4f4f0;color:#a8aaa2}.quote-availability-note{display:flex;align-items:flex-start;gap:8px;margin:12px 2px 0;color:var(--muted);font-size:.84rem;line-height:1.45}.quote-availability-note>span{flex:none;color:var(--green);font-size:20px}
@media(max-width:980px){.quote-result{max-height:none;overflow:visible}}
/* Preguntas frecuentes: contenido visible que también facilita la comprensión del sitio. */
.search-faq { max-width: 1180px; margin: 0 auto; padding: 5rem 24px; display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: 4rem; align-items: start; }
.search-faq-heading h2 { margin: .5rem 0 0; max-width: 16ch; }
.search-faq-list { border-top: 1px solid rgba(79, 65, 48, .22); }
.search-faq details { border-bottom: 1px solid rgba(79, 65, 48, .22); }
.search-faq summary { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: 1.35rem 0; cursor: pointer; color: var(--ink, #4f4130); font-weight: 700; list-style: none; }
.search-faq summary::-webkit-details-marker { display: none; }
.search-faq summary .material-symbols-rounded { color: var(--lime, #a8c52b); transition: transform .25s ease; }
.search-faq details[open] summary .material-symbols-rounded { transform: rotate(45deg); }
.search-faq details p { margin: 0; padding: 0 2.5rem 1.35rem 0; line-height: 1.7; }
@media (max-width: 720px) { .search-faq { grid-template-columns: 1fr; gap: 2rem; padding: 3.5rem 20px; } }

/* Video de presentación: una ventana vertical a la vida diaria de la residencia. */
.home-film{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,.72fr);gap:clamp(42px,9vw,132px);align-items:center;max-width:1180px;margin:clamp(70px,9vw,120px) auto;padding:0 32px}.home-film-copy{max-width:560px}.home-film-copy .eyebrow{color:var(--brand-leaf)}.home-film-copy h2{margin:8px 0 19px;color:var(--brand-trunk)}.home-film-copy h2 em{color:var(--brand-leaf)}.home-film-copy>p:not(.eyebrow){margin:0;color:var(--ink-soft);font-size:1.08rem;line-height:1.75}.home-film-link{display:inline-flex;align-items:center;gap:10px;margin-top:28px;padding-bottom:5px;border-bottom:2px solid var(--brand-leaf);color:var(--brand-trunk);font-size:.8rem;font-weight:850;letter-spacing:.06em;text-transform:uppercase;transition:gap .35s cubic-bezier(.2,.8,.2,1),color .25s ease}.home-film-link:hover,.home-film-link:focus-visible{gap:16px;color:var(--brand-leaf);outline:0}.home-film-link .material-symbols-rounded{font-size:19px}.home-film-frame{position:relative;justify-self:center;width:min(100%,344px);margin:0;overflow:hidden;border:8px solid #fff;border-radius:20px 20px 74px;box-shadow:18px 20px 0 rgba(185,205,108,.44),0 22px 45px rgba(63,49,32,.16);background:var(--brand-trunk)}.home-film-frame video{display:block;width:100%;aspect-ratio:480/848;object-fit:cover;background:#243b2c}.home-film-frame figcaption{display:flex;align-items:center;gap:8px;padding:13px 14px;background:var(--brand-trunk);color:#fff;font-size:.78rem;font-weight:700;line-height:1.35}.home-film-frame figcaption .material-symbols-rounded{color:#d6e886;font-size:20px}@media(max-width:760px){.home-film{grid-template-columns:1fr;gap:34px;margin:70px auto;padding-inline:20px}.home-film-copy{max-width:none}.home-film-frame{justify-self:start;width:min(100%,320px);margin-left:10px}.home-film-copy>p:not(.eyebrow){font-size:1rem}}

/* Selector inicial de la galería */
.gallery-choice-moments::before{background-image:url('../images/gallery/ec5a56e3-6ebb-432b-a6c9-c6e2572ca320.jpg')}
@media(max-width:760px){.gallery-choice{padding-inline:20px}.gallery-choice-heading{grid-template-columns:1fr;gap:15px;margin-bottom:22px}.gallery-choice-heading>p{margin:0}.gallery-choice-deck{min-height:0;flex-direction:column;border-radius:18px 54px 18px 54px}.gallery-choice-card{min-height:282px;flex:none!important;padding:26px}.gallery-choice-card+.gallery-choice-card{border-top:6px solid #f7f7f0;border-left:0}.gallery-choice-copy em{max-height:5em;opacity:1}.gallery-choice-arrow{right:25px;bottom:26px}.gallery-choice-card:hover .gallery-choice-arrow,.gallery-choice-card:focus-visible .gallery-choice-arrow{transform:translateY(5px)}}

/* Acción de reproducción visible incluso antes de que aparezcan los controles nativos. */
.home-film-play{position:absolute;top:50%;left:50%;display:inline-flex;align-items:center;gap:9px;padding:11px 16px 11px 11px;border:1px solid rgba(255,255,255,.86);border-radius:999px;background:rgba(39,53,36,.91);color:#fff;font:800 .77rem/1 var(--font-body);letter-spacing:.05em;text-transform:uppercase;cursor:pointer;box-shadow:0 8px 25px rgba(0,0,0,.28);transform:translate(-50%,-50%);transition:background .25s ease,transform .32s cubic-bezier(.2,.8,.2,1)}.home-film-play:hover,.home-film-play:focus-visible{background:var(--brand-leaf);outline:3px solid #fff;outline-offset:3px;transform:translate(-50%,-50%) scale(1.06)}.home-film-play .material-symbols-rounded{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:#d6e886;color:var(--brand-trunk);font-size:23px}.home-film-play[hidden]{display:none}
.home-film-frame figcaption a{margin-left:auto;color:#d6e886;font-size:.68rem;font-weight:850;letter-spacing:.04em;text-transform:uppercase;white-space:nowrap}.home-film-frame figcaption a:hover,.home-film-frame figcaption a:focus-visible{color:#fff;text-decoration:underline;outline:0}

/* Planos: las miniaturas son la puerta de entrada al plano legible. */
.plan-card{display:block;width:100%;padding:0;border:0;background:transparent;color:inherit;cursor:zoom-in;text-align:inherit}.plan-card img{transition:transform .55s cubic-bezier(.2,.8,.2,1),filter .35s ease}.plan-card:hover img{filter:brightness(.96);transform:scale(1.018)}.plan-card:focus-visible{outline:3px solid var(--brand-leaf);outline-offset:5px}.plan-card-label{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 5px 3px;color:var(--brand-trunk);font-weight:800}.plan-card-label small{display:inline-flex;align-items:center;gap:5px;color:var(--brand-leaf);font-size:.7rem;font-weight:850;letter-spacing:.05em;text-transform:uppercase;opacity:.72;transition:opacity .25s ease}.plan-card:hover .plan-card-label small,.plan-card:focus-visible .plan-card-label small{opacity:1}.plan-card-label .material-symbols-rounded{font-size:18px}.facility-plans-grid figure:last-child .plan-card-label{color:#fff}.facility-plans-grid figure:last-child .plan-card-label small{color:#d6e886}.plan-lightbox[open]{grid-template-columns:1fr}.plan-lightbox figure{max-width:1400px;width:100%;margin-inline:auto}.plan-lightbox figure>img{width:100%;max-width:1400px;max-height:calc(100vh - 150px)}.plan-lightbox figcaption p>span{display:block;margin-bottom:4px;color:#d5e68c;font-size:.7rem;font-weight:850;letter-spacing:.1em}.plan-lightbox figcaption p>b{font-size:1.1rem}@media(max-width:620px){.plan-card-label small{font-size:.62rem}.plan-lightbox{padding:20px}.plan-lightbox figure{height:calc(100vh - 40px)}.plan-lightbox figure>img{max-height:calc(100vh - 125px)}}

/* La promesa central debe leerse como una sola voz, no como dos elementos separados. */
.quote-section{display:block;padding:clamp(78px,9vw,132px) 28px;text-align:center}.quote-inner{max-width:1080px;margin:0 auto}.quote-section blockquote{max-width:1000px;margin:0 auto;color:var(--brand-trunk);font-family:Fraunces,Georgia,serif;font-size:clamp(2.15rem,4.25vw,4.35rem);font-weight:650;line-height:1.16;letter-spacing:-.035em;text-wrap:balance}.quote-section .quote-attribution{display:flex;align-items:center;justify-content:center;gap:11px;margin:30px auto 0;color:var(--brand-trunk);font-size:.82rem;font-weight:800;letter-spacing:.06em;text-align:center}.quote-section .quote-attribution::before{width:34px;height:1px;content:"";background:var(--brand-leaf)}@media(max-width:620px){.quote-section{padding:74px 22px}.quote-section blockquote{font-size:clamp(2.05rem,10.5vw,3rem);line-height:1.18}.quote-section .quote-attribution{margin-top:23px;font-size:.74rem}}

/* Consultas: la familia elige el canal que le resulta más natural. */
.contact-submit-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:20px}.contact-submit-actions .contact-submit{margin-top:0}.contact-whatsapp-submit{gap:8px;margin-top:0;background:#2f6a4d;border-color:#2f6a4d;box-shadow:0 7px 0 rgba(47,106,77,.14)}.contact-whatsapp-submit:hover,.contact-whatsapp-submit:focus-visible{background:#24563e;border-color:#24563e}.contact-planner-form label>span:first-child small{margin-left:4px;color:var(--muted);font-size:.76rem;font-weight:500}.contact-submit-actions [hidden]{display:none}@media(max-width:650px){.contact-submit-actions{display:grid;grid-template-columns:1fr}.contact-submit-actions .btn{width:100%}}

/* Si Facebook no entrega fotos, no se ofrece una ruta que no lleva a contenido. */
.gallery-choice-deck-single .gallery-choice-card{flex:1}.gallery-choice-deck-single .gallery-choice-copy{max-width:46ch}.gallery-choice-deck-single .gallery-choice-copy em{max-height:5em;opacity:1}

/* Ajuste móvil: el Atlas se lee como una historia táctil, no como una versión comprimida del escritorio. */
@media(max-width:640px){
  .site-header{min-height:64px;padding:8px 16px}.brand-logo{max-width:132px}.header-cta{font-size:.68rem;padding:9px 10px}
  .site-intro-video{object-position:center center}.intro-active .site-header{background:rgba(248,250,246,.88)}
  .home-atlas{min-height:calc(100svh - 64px);padding:30px 16px 16px;grid-template-rows:auto 285px auto;background:linear-gradient(150deg,#f5f7eb 0%,#e9f0d7 100%)}
  .atlas-copy{padding-right:4px}.atlas-copy .eyebrow-hero{font-size:.61rem;letter-spacing:.13em}.atlas-count{margin:7px 0 12px;font-size:.64rem}.atlas-copy h1{font-size:clamp(3.15rem,14.3vw,4.35rem);line-height:.88;letter-spacing:-.06em}.atlas-lead{max-width:34ch;margin:15px 0 17px;font-size:.92rem;line-height:1.48}.atlas-action{padding:11px 14px;font-size:.77rem}
  .atlas-photos{min-height:285px;margin-top:13px}.atlas-photo-main{width:86%;height:80%;top:2%;right:0;border-radius:46% 46% 16px 16px/30% 30% 16px 16px}.atlas-photo-side{width:48%;height:41%;left:-2%;bottom:4%;border-width:5px}.atlas-photo-detail{width:35%;height:30%;right:-1%;bottom:2%;border-width:4px}.atlas-photo span{opacity:1;transform:none;max-width:88%;font-size:.58rem}.atlas-photo-main span{font-size:.67rem}
  .atlas-nav{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;margin:3px -16px -4px;padding:12px 16px 8px;gap:8px}.atlas-nav::-webkit-scrollbar{display:none}.atlas-nav button{flex:0 0 142px;min-height:74px;scroll-snap-align:start;touch-action:manipulation}.atlas-nav button.is-active{transform:translateY(-3px);box-shadow:0 9px 19px rgba(73,93,37,.2)}.atlas-nav button small{font-size:.63rem}.atlas-orbit{display:none}.atlas-tree{bottom:34px;left:-85px;opacity:.14}
  .trust-strip{display:grid!important;grid-template-columns:1fr 1fr;padding:16px!important;gap:0}.trust-strip>div{min-width:0;padding:12px 8px!important;border:0!important}.trust-strip>div:nth-child(odd){border-right:1px solid rgba(255,255,255,.15)!important}.trust-strip>div:nth-child(-n+2){border-bottom:1px solid rgba(255,255,255,.15)!important}.trust-strip strong{font-size:1rem}.trust-strip span{font-size:.67rem;line-height:1.22}
  .mobile-actions{padding-bottom:max(10px,env(safe-area-inset-bottom))}.mobile-actions a{min-height:48px;display:flex;align-items:center;justify-content:center}
}
