:root{--ivory:#f7f3ee;--plum:#593743;--clay:#c38f82;--sand:#ded0c3;--ink:#292625;--cream:#fffdf9;--max:1180px;--serif:"Cormorant Garamond",Georgia,serif;--sans:Manrope,system-ui,sans-serif;color:var(--ink);background:var(--ivory);font-family:var(--sans);font-synthesis:none;scroll-behavior:smooth}*{box-sizing:border-box}body{margin:0;min-width:320px;line-height:1.65}body.menu-open{overflow:hidden}a{color:inherit}button,a{font:inherit}.wrap{width:min(calc(100% - 40px),var(--max));margin:auto}.skip{position:fixed;z-index:99;left:1rem;top:-5rem;padding:.8rem 1rem;background:var(--plum);color:#fff}.skip:focus{top:1rem}.topbar{background:var(--plum);color:#fff;font-size:.78rem}.topbar__in{min-height:34px;display:flex;align-items:center;justify-content:center;gap:1.5rem}.topbar__in a{font-weight:700}.header{position:sticky;top:0;z-index:30;background:rgba(247,243,238,.94);border-bottom:1px solid transparent;backdrop-filter:blur(12px)}.header.is-scrolled{border-color:rgba(89,55,67,.13)}.header__in{height:88px;display:flex;align-items:center;gap:2rem}.brand{display:flex;align-items:center;gap:.8rem;text-decoration:none;color:var(--plum);font-family:var(--serif);font-size:1.3rem;font-weight:600;line-height:1}.brand small{display:block;margin-top:.25rem;font:600 .57rem/1 var(--sans);letter-spacing:.15em;text-transform:uppercase}.brand__mark{width:50px;aspect-ratio:1;display:grid;place-items:center;border:1px solid var(--clay);border-radius:50% 45% 52% 42%;font:600 1.05rem/1 var(--serif);transform:rotate(-4deg)}.nav{display:flex;align-items:center;gap:1.6rem;margin-left:auto}.nav a{text-decoration:none;font-size:.84rem;font-weight:600}.nav a:not(.nav__cta):hover{color:var(--clay)}.nav__cta{padding:.7rem 1rem;border:1px solid var(--plum);border-radius:999px}.langs{display:flex;gap:.2rem;border-left:1px solid var(--sand);padding-left:1rem}.langs button{border:0;background:none;padding:.35rem;color:#6e6663;font-size:.68rem;font-weight:700;cursor:pointer}.langs button[aria-pressed=true]{color:var(--plum);text-decoration:underline;text-underline-offset:4px}.menu{display:none}.hero{overflow:hidden;padding:clamp(5rem,10vw,9rem) 0 7rem}.hero__grid{display:grid;grid-template-columns:1.08fr .92fr;align-items:center;gap:clamp(3rem,7vw,8rem)}.eyebrow{margin:0 0 1.1rem;color:var(--clay);font-size:.72rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase}h1,h2,h3{margin-top:0;color:var(--plum);font-family:var(--serif);font-weight:500;line-height:.98}h1{max-width:10ch;margin-bottom:1.8rem;font-size:clamp(3.8rem,7vw,6.8rem);letter-spacing:-.045em}h2{font-size:clamp(3rem,5.2vw,5.3rem);letter-spacing:-.035em}h3{font-size:2rem}.lead{max-width:40rem;margin:0 0 2rem;font-size:clamp(1.05rem,1.7vw,1.22rem);color:#5d5551}.actions{display:flex;flex-wrap:wrap;align-items:center;gap:1rem}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:.8rem 1.25rem;border-radius:999px;text-decoration:none;font-size:.8rem;font-weight:700;letter-spacing:.02em;transition:.2s}.btn:hover{transform:translateY(-2px)}.btn--primary{background:var(--plum);color:#fff}.btn--text{border-bottom:1px solid var(--plum);border-radius:0;padding-inline:.35rem}.btn--outline{border:1px solid var(--plum)}.facts{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin:3.4rem 0 0;padding:0;list-style:none}.facts li{display:flex;gap:.65rem;align-items:flex-start;border-top:1px solid var(--sand);padding-top:1rem;font-size:.76rem}.facts b{color:var(--clay);font-size:.65rem}.hero__art{position:relative;min-height:600px;display:grid;place-items:center}.orb{position:absolute;border-radius:48% 52% 40% 60%}.orb--a{inset:3% 5% 12% 10%;background:var(--sand);transform:rotate(7deg)}.orb--b{width:55%;height:55%;right:-8%;bottom:0;background:var(--clay);opacity:.58;transform:rotate(-15deg)}.monogram{position:relative;z-index:2;width:min(73%,380px);aspect-ratio:.85;display:grid;place-content:center;text-align:center;border:1px solid rgba(89,55,67,.4);border-radius:48% 52% 45% 55%;background:rgba(247,243,238,.5);backdrop-filter:blur(4px);transform:rotate(-3deg)}.monogram em{font:500 clamp(5rem,10vw,9rem)/.8 var(--serif);color:var(--plum)}.monogram small{margin-top:1rem;font-size:.65rem;letter-spacing:.22em;text-transform:uppercase}.hero__art>p{position:absolute;z-index:3;right:0;bottom:4%;max-width:15rem;margin:0;padding:1.2rem;background:var(--cream);font:500 1.2rem/1.25 var(--serif);color:var(--plum)}.section{padding:clamp(5.5rem,10vw,9rem) 0}.split{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(3rem,8vw,9rem)}.section__intro h2{max-width:8ch}.prose{font-size:1.05rem}.prose p{max-width:43rem}.signature{margin-top:2.4rem;color:var(--plum);font:500 2.2rem/1 var(--serif)}.signature small{display:block;margin-top:.5rem;font:600 .65rem/1 var(--sans);letter-spacing:.15em;text-transform:uppercase}.services{background:#eee4da}.section__head{display:grid;grid-template-columns:1fr .8fr;gap:4rem;align-items:end;margin-bottom:4rem}.section__head h2{max-width:10ch;margin-bottom:0}.section__head>p{max-width:34rem}.cards{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:rgba(89,55,67,.15);border:1px solid rgba(89,55,67,.15)}.card{position:relative;min-height:355px;padding:clamp(2rem,4vw,3.5rem);background:var(--cream)}.card>span{position:absolute;right:2rem;top:2rem;color:var(--clay);font-size:.7rem}.card__icon{width:48px;height:48px;display:grid;place-items:center;margin-bottom:3rem;border:1px solid var(--sand);border-radius:50%;color:var(--plum);font-size:1.5rem}.card h3{margin-bottom:1rem}.card p{max-width:30rem;color:#655d59}.card a{display:inline-block;margin-top:1rem;color:var(--plum);font-size:.75rem;font-weight:700;text-underline-offset:5px}.experience__grid,.location__grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(3rem,8vw,9rem);align-items:center}.experience__art{position:relative;min-height:600px;background:var(--plum);overflow:hidden}.experience__art:before,.experience__art:after{content:"";position:absolute;border-radius:50%;background:var(--clay);opacity:.5}.experience__art:before{width:330px;height:330px;left:-90px;top:-90px}.experience__art:after{width:180px;height:180px;right:-30px;bottom:50px}.arch{position:absolute;inset:12% 18%;display:grid;place-items:center;border:1px solid rgba(255,255,255,.5);border-radius:180px 180px 25px 25px;color:#fff}.arch span{font:500 6rem/1 var(--serif)}.experience__art i{position:absolute;left:12%;bottom:8%;width:40%;height:1px;background:rgba(255,255,255,.5)}.experience h2{max-width:10ch}.checks{margin:2.2rem 0 0;padding:0;list-style:none}.checks li{padding:1rem 0 1rem 2rem;border-bottom:1px solid var(--sand);position:relative}.checks li:before{content:"✦";position:absolute;left:0;color:var(--clay)}.location{background:var(--cream)}.location h2{margin-bottom:1.5rem}.location address{display:flex;flex-direction:column;margin:2rem 0;font-style:normal}.schedule{display:flex;flex-direction:column;margin-bottom:2rem}.schedule b{color:var(--plum)}.map-card{position:relative;min-height:520px;background:var(--sand);overflow:hidden}.map-lines{position:absolute;inset:0;background:linear-gradient(42deg,transparent 43%,rgba(89,55,67,.18) 44%,rgba(89,55,67,.18) 45%,transparent 46%),linear-gradient(-22deg,transparent 60%,rgba(89,55,67,.14) 61%,rgba(89,55,67,.14) 62%,transparent 63%)}.pin{position:absolute;left:52%;top:43%;width:66px;height:66px;display:grid;place-items:center;border-radius:50% 50% 50% 0;background:var(--plum);color:#fff;font:500 1.1rem var(--serif);transform:rotate(-45deg)}.map-card p{position:absolute;left:2rem;bottom:2rem;margin:0;color:var(--plum);font:600 3rem/1 var(--serif)}.map-card small{display:block;margin-top:.5rem;font:600 .65rem var(--sans);letter-spacing:.12em;text-transform:uppercase}.contact{padding:clamp(5rem,10vw,8rem) 0;background:var(--plum);color:#fff;text-align:center}.contact .eyebrow{color:var(--sand)}.contact h2{max-width:12ch;margin:0 auto 1.5rem;color:#fff}.contact p{max-width:42rem;margin:0 auto 2.5rem}.actions--center{justify-content:center}.btn--light{background:var(--ivory);color:var(--plum)}.btn--light-outline{border:1px solid rgba(255,255,255,.55);color:#fff}.footer{padding:4rem 0 1.5rem;background:#252120;color:#e8ddd4}.footer__grid{display:grid;grid-template-columns:1.3fr .7fr .7fr;gap:2rem}.brand--footer{color:#fff}.footer__grid>div:not(.brand){display:flex;flex-direction:column;gap:.35rem;font-size:.85rem}.footer__grid b{margin-bottom:.6rem;color:#fff}.footer__grid a{text-decoration:none}.footer__bottom{display:flex;justify-content:space-between;margin-top:3rem;padding-top:1.3rem;border-top:1px solid rgba(255,255,255,.12);font-size:.7rem}.reveal{opacity:0;transform:translateY(18px);transition:opacity .7s,transform .7s}.reveal.visible{opacity:1;transform:none}.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}:focus-visible{outline:3px solid var(--clay);outline-offset:4px}@media(max-width:900px){.header__in{height:76px}.menu{display:flex;margin-left:auto;gap:.6rem;align-items:center;border:0;background:none;font-size:.75rem;font-weight:700}.menu i,.menu i:after{display:block;width:22px;height:1px;background:var(--plum);content:""}.menu i:after{transform:translateY(6px)}.nav{position:fixed;inset:110px 0 auto;display:none;flex-direction:column;align-items:flex-start;padding:2rem;background:var(--ivory);border-bottom:1px solid var(--sand)}.nav.open{display:flex}.langs{margin-left:0}.hero__grid,.split,.experience__grid,.location__grid{grid-template-columns:1fr}.hero__art{min-height:500px}.section__head{grid-template-columns:1fr;gap:1rem}.footer__grid{grid-template-columns:1fr 1fr}.brand--footer{grid-column:1/-1}}@media(max-width:620px){.wrap{width:min(calc(100% - 28px),var(--max))}.topbar__in{justify-content:space-between;gap:.5rem}.topbar__in span{max-width:220px}.brand{font-size:1.05rem}.brand__mark{width:42px}.langs{padding-left:.5rem}.langs button{padding:.25rem}.hero{padding-top:4rem}.facts,.cards{grid-template-columns:1fr}.facts{gap:1.5rem}.hero__art{min-height:420px}.monogram{width:75%}.hero__art>p{font-size:1rem}.card{min-height:0}.experience__art,.map-card{min-height:430px}.footer__grid{grid-template-columns:1fr}.footer__bottom{flex-direction:column;gap:.5rem}}@media(prefers-reduced-motion:reduce){:root{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}.btn{transition:none}}

/* Ajustes consolidados */
.brand__mark {
  border-radius: 50%;
  transform: none;
}

.monogram {
  transform: none;
}

.card {
  min-height: 300px;
  padding: clamp(1.75rem, 3vw, 2.75rem);
}

.card__icon {
  width: 52px;
  height: 52px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 2rem;
  line-height: 1;
  text-align: center;
}

.card__icon svg {
  width: 27px;
  height: 27px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.7;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.card h3 {
  margin-bottom: 0.8rem;
}

.card a {
  margin-top: 0.65rem;
}

.section__head {
  align-items: center;
}

.services-note {
  position: relative;
  align-self: center;
  max-width: 34rem;
  margin: 0;
  padding: 1.5rem 1.5rem 1.5rem 4.5rem;
  border: 1px solid rgba(89, 55, 67, 0.14);
  border-radius: 1rem;
  background: rgba(255, 253, 249, 0.72);
}

.services-note::before {
  content: "✦";
  position: absolute;
  top: 1.35rem;
  left: 1.4rem;
  width: 2rem;
  height: 2rem;
  display: grid;
  place-items: center;
  border: 1px solid var(--clay);
  border-radius: 50%;
  color: var(--plum);
  font-size: 0.9rem;
  line-height: 1;
}

.services-note__link {
  display: inline-block;
  margin-top: 0.6rem;
  color: var(--plum);
  font-size: 0.78rem;
  font-weight: 700;
  text-decoration-thickness: 1px;
  text-underline-offset: 4px;
}

.services-note__link:hover {
  color: var(--clay);
}

@media (max-width: 900px) {
  .header__in {
    gap: 1rem;
  }

  .menu {
    order: -1;
    flex: 0 0 auto;
    margin-left: 0;
    margin-right: 0.25rem;
  }

  .brand {
    min-width: 0;
    margin-right: auto;
  }

  .hero__art {
    min-height: clamp(360px, 60vw, 460px);
  }
}

@media (max-width: 620px) {
  .header__in {
    gap: 0.55rem;
  }

  .hero {
    padding: 2rem 0 3.5rem;
  }

  .section {
    padding: 2.75rem 0;
  }

  .contact {
    padding: 2.5rem 0;
  }

  .card {
    min-height: 0;
    padding: 1.75rem;
  }

  .card__icon {
    margin-bottom: 1.5rem;
  }

  .services-note {
    padding: 1.25rem 1.25rem 1.25rem 4rem;
  }

  .hero__art {
    display: none;
  }
}
