@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:ital,wght@0,500;0,600;1,500&display=swap');
:root{--ink:#241b17;--cocoa:#352721;--cream:#f5eee5;--paper:#fffdf9;--sand:#e8d8c4;--gold:#b57a3d;--gold-soft:#d8b184;--muted:#675b53;--line:#d9c9b7;--serif:'Playfair Display',Georgia,serif;--sans:'DM Sans',Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:92px}body{margin:0;background:var(--cream);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.6}body::selection{background:var(--gold-soft);color:var(--ink)}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.skip-link{background:var(--ink);color:#fff;left:1rem;padding:.7rem 1rem;position:fixed;top:-100px;z-index:100}.skip-link:focus{top:1rem}.site-header{align-items:center;backdrop-filter:blur(16px);background:#f5eee5e8;border-bottom:1px solid #8f704c22;display:flex;height:84px;justify-content:space-between;padding:0 clamp(1.25rem,4vw,4rem);position:sticky;top:0;z-index:50}.brand{align-items:center;display:flex;gap:.75rem;min-width:260px}.brand img{border-radius:50%;height:48px;object-fit:cover;width:48px}.brand span{font:600 1.05rem/1 var(--serif)}.brand small{color:var(--muted);display:block;font:600 .65rem/1.2 var(--sans);letter-spacing:.1em;margin-top:.3rem;text-transform:uppercase}.site-header nav{display:flex;gap:clamp(1rem,2.1vw,2rem)}.site-header nav a{color:var(--muted);font-size:.9rem;font-weight:600;position:relative}.site-header nav a::after{background:var(--gold);bottom:-.35rem;content:'';height:1px;left:0;position:absolute;transform:scaleX(0);transform-origin:left;transition:transform .25s;width:100%}.site-header nav a:hover::after,.site-header nav a:focus-visible::after{transform:scaleX(1)}.button{align-items:center;border:0;border-radius:999px;display:inline-flex;font-weight:700;gap:1.5rem;justify-content:space-between;min-height:50px;padding:.82rem 1.25rem;transition:transform .2s,box-shadow .2s}.button:hover{transform:translateY(-2px)}.button span{color:var(--gold-soft)}.header-cta,.button-dark{background:var(--ink);box-shadow:0 10px 24px #241b1722;color:#fff}.menu-button{background:transparent;border:0;display:none;padding:.5rem}.menu-button span{background:var(--ink);display:block;height:1px;margin:5px;width:24px}.menu-button b{font-size:0}.hero{display:grid;grid-template-columns:minmax(0,.92fr) minmax(420px,1.08fr);margin:auto;max-width:1500px;min-height:calc(100vh - 84px);overflow:hidden}.hero-copy{align-self:center;padding:clamp(4rem,8vw,8rem) clamp(1.25rem,5vw,5.8rem)}.eyebrow{color:var(--gold);font-size:.78rem;font-weight:700;letter-spacing:.19em;margin:0 0 1.2rem;text-transform:uppercase}.hero h1,.section-head h2,.about-copy h2,.contact-intro h2{font:500 clamp(3.7rem,6.6vw,7.4rem)/.92 var(--serif);letter-spacing:-.05em;margin:0}.hero h1 em,.section-head h2 em,.about-copy h2 em{color:var(--gold);font-weight:500}.lead{color:var(--muted);font-size:1.08rem;line-height:1.75;margin:2rem 0 0;max-width:540px}.hero-actions{align-items:center;display:flex;gap:1.6rem;margin-top:2.2rem}.text-link{font-size:.92rem;font-weight:700}.text-link span{color:var(--gold);margin-left:.45rem}.hero-meta{border-top:1px solid var(--line);display:flex;gap:2rem;margin-top:4rem;padding-top:1.3rem}.hero-meta span{color:var(--muted);font-size:.8rem}.hero-meta b{color:var(--gold);font:500 1rem var(--serif);margin-right:.5rem}.hero-media{min-height:650px;overflow:hidden;position:relative}.hero-media>img{height:100%;object-fit:cover;width:100%}.hero-media::after{background:linear-gradient(90deg,#f5eee555,transparent 26%);content:'';inset:0;position:absolute}.hero-badge{align-items:center;background:#fffdf9e8;bottom:2rem;display:flex;gap:.8rem;left:2rem;padding:.75rem 1rem;position:absolute;z-index:2}.hero-badge img{border-radius:50%;height:52px;width:52px}.hero-badge p{display:flex;flex-direction:column;font-size:.78rem;line-height:1.35;margin:0}.hero-badge b{font-family:var(--serif);font-size:1rem}.hero-badge span{color:var(--muted)}.vertical-note{color:#fff;font-size:.68rem;font-weight:700;letter-spacing:.2em;position:absolute;right:1.5rem;top:50%;transform:rotate(90deg) translateX(50%);transform-origin:right center;z-index:2}.marquee{background:var(--ink);color:#f3e7d9;overflow:hidden;padding:.9rem 0}.marquee div{align-items:center;display:flex;gap:2rem;justify-content:space-around;min-width:950px}.marquee span{font-size:.72rem;font-weight:600;letter-spacing:.16em}.marquee i{color:var(--gold-soft);font-style:normal}.section{padding:clamp(5.5rem,10vw,9rem) clamp(1.25rem,5vw,5rem)}.section-head{align-items:end;display:flex;justify-content:space-between;margin:0 auto 4rem;max-width:1400px}.section-head h2,.about-copy h2,.contact-intro h2{font-size:clamp(3rem,5vw,5.6rem)}.section-side,.section-description{color:var(--muted);max-width:390px}.carousel-controls{display:flex;gap:.5rem;margin-top:1.5rem}.carousel-controls button{background:transparent;border:1px solid var(--line);border-radius:50%;cursor:pointer;height:48px;width:48px}.carousel-controls button:hover{background:var(--ink);color:#fff}.treatment-carousel{display:flex;gap:1rem;margin:auto;max-width:1400px;overflow-x:auto;padding:0 0 1rem;scroll-behavior:smooth;scroll-snap-type:x mandatory;scrollbar-color:var(--gold) #dfd0be;scrollbar-width:thin}.treatment-card{background:var(--paper);border:1px solid var(--line);flex:0 0 min(390px,83vw);overflow:hidden;scroll-snap-align:start}.card-image{height:300px;overflow:hidden;position:relative}.card-image img{height:100%;object-fit:cover;transition:transform .55s;width:100%}.treatment-card:hover .card-image img{transform:scale(1.035)}.card-image>span{background:var(--paper);bottom:0;color:var(--gold);font:500 1.25rem var(--serif);padding:.7rem 1rem;position:absolute;right:0}.crop-room img{object-position:center 62%}.crop-soft img{object-position:74% center}.crop-detail img{object-position:center 40%;transform:scale(1.08)}.card-body{display:flex;flex-direction:column;min-height:275px;padding:1.5rem}.card-body>p{color:var(--gold);font-size:.7rem;font-weight:700;letter-spacing:.14em;margin:0;text-transform:uppercase}.card-body h3{font:500 1.65rem/1.15 var(--serif);margin:.8rem 0}.card-body>span{color:var(--muted);font-size:.94rem}.card-body a{border-top:1px solid var(--line);font-size:.85rem;font-weight:700;margin-top:auto;padding-top:1.1rem}.card-dark{background:var(--cocoa);border-color:var(--cocoa);color:#fff}.card-dark .card-image>span{background:var(--cocoa)}.card-dark .card-body>span{color:#d9ccc2}.card-dark .card-body a{border-color:#ffffff2b}.about-section{background:var(--sand);display:grid;grid-template-columns:1fr 1fr}.about-media{min-height:720px;position:relative}.about-media>img{height:100%;object-fit:cover;width:100%}.about-media>p{background:var(--paper);bottom:2rem;display:flex;flex-direction:column;left:2rem;margin:0;padding:1rem 1.3rem;position:absolute}.about-media>p span{color:var(--gold);font-size:.68rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.about-media>p b{font:500 1.15rem var(--serif)}.about-copy{align-self:center;padding:clamp(4rem,9vw,8rem)}.about-copy>p:not(.eyebrow){color:var(--muted);font-size:1.08rem;line-height:1.8;margin:2rem 0}.about-points{border-bottom:1px solid #bca88f;border-top:1px solid #bca88f;display:grid;margin:2rem 0;grid-template-columns:1fr}.about-points span{border-bottom:1px solid #bca88f;color:var(--muted);font-size:.9rem;padding:.85rem 0}.about-points span:last-child{border:0}.about-points b{color:var(--gold);font-family:var(--serif);margin-right:.8rem}.locations-section{background:var(--paper)}.location-grid{display:grid;gap:1rem;grid-template-columns:repeat(3,1fr);margin:auto;max-width:1400px}.location-grid article{background:var(--cream);border:1px solid var(--line);min-height:320px;padding:1.7rem}.location-grid article>div{display:flex;justify-content:space-between}.location-grid article>div>b{color:#8f8177;font-size:.72rem}.status{color:#8f8177;font-size:.68rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.status i{background:#4f7a5d;border-radius:50%;display:inline-block;height:7px;margin-right:.4rem;width:7px}.location-active{background:var(--cocoa)!important;color:#fff}.location-active .status,.location-active>div>b{color:var(--gold-soft)!important}.location-grid h3{font:500 clamp(2.4rem,4vw,4rem) var(--serif);margin:4.5rem 0 .2rem}.location-grid p{color:#776a61;margin:0}.location-active p{color:#d5c6bb}.location-grid a{display:block;font-size:.85rem;font-weight:700;margin-top:3.5rem}.location-grid a span{color:var(--gold-soft);float:right}.location-grid small{color:#8a7d73;display:block;margin-top:2.8rem}.contact-section{background:var(--ink);color:#fff;display:grid;gap:8vw;grid-template-columns:.85fr 1.15fr;padding:clamp(5rem,9vw,8rem)}.contact-intro>img{border:1px solid #bc8953;border-radius:50%;height:86px;margin-bottom:2rem;width:86px}.contact-intro h2{color:#fff}.contact-intro>p:not(.eyebrow){color:#cdbeb4;max-width:480px}.whatsapp-pending{border-bottom:1px solid #ffffff32;border-top:1px solid #ffffff32;display:flex;justify-content:space-between;margin-top:2.5rem;padding:1rem 0}.whatsapp-pending b{color:var(--gold-soft);font-size:.82rem}.contact-intro small{color:#9e8f86}.contact-section form{align-self:center;display:flex;flex-direction:column;gap:1.25rem}.form-row{display:grid;gap:1rem;grid-template-columns:1fr 1fr}.contact-section label{color:#e7ddd6;display:flex;flex-direction:column;font-size:.84rem;font-weight:600;gap:.45rem}.contact-section input,.contact-section select,.contact-section textarea{background:#302622;border:1px solid #6e5c51;border-radius:3px;color:#fff;min-height:52px;padding:.85rem}.contact-section textarea{resize:vertical}.contact-section input::placeholder,.contact-section textarea::placeholder{color:#978981}.contact-section input:focus,.contact-section select:focus,.contact-section textarea:focus{border-color:var(--gold-soft);outline:3px solid #d8b18433}.contact-section [aria-invalid]{border-color:#e3a192}.field-error{color:#e3a192;font-size:.75rem;min-height:1em}.form-submit{align-items:center;display:flex;gap:1rem}.button-gold{background:var(--gold);color:#fff;cursor:pointer}.form-submit p{font-size:.82rem;margin:0}.status-error{color:#e3a192}.status-info{color:#e4c49f}.status-success{color:#a8d5b5}footer{align-items:center;background:#17110f;color:#a99a91;display:flex;font-size:.78rem;gap:2rem;justify-content:space-between;padding:1.5rem clamp(1.25rem,5vw,5rem)}.footer-brand{align-items:center;color:#fff;display:flex;font-family:var(--serif);font-size:1rem;gap:.6rem}.footer-brand img{border-radius:50%;height:34px;width:34px}footer>div{display:flex;gap:1.5rem}footer>p{margin:0}footer>p span{color:var(--gold)}
.crop-real img{object-position:center 58%}.crop-yeso img{object-position:center 64%}.real-care-section{align-items:center;background:var(--cocoa);color:#fff;display:grid;gap:clamp(3rem,6vw,7rem);grid-template-columns:minmax(280px,.65fr) minmax(0,1.35fr);padding:clamp(5.5rem,9vw,9rem) clamp(1.25rem,5vw,5rem)}.real-care-copy{justify-self:end;max-width:470px}.real-care-copy h2,.social-heading h2{font:500 clamp(3rem,5vw,5.5rem)/.96 var(--serif);letter-spacing:-.045em;margin:0}.real-care-copy h2 em,.social-heading h2 em{color:var(--gold-soft);font-weight:500}.real-care-copy>p:not(.eyebrow){color:#d8cbc1;font-size:1.03rem;line-height:1.8;margin:2rem 0}.real-care-copy .text-link span{color:var(--gold-soft)}.real-care-gallery{display:grid;gap:1rem;grid-template-columns:1.08fr .92fr;grid-template-rows:1fr 1fr;height:min(690px,58vw);max-width:850px}.real-care-gallery figure{margin:0;overflow:hidden;position:relative}.real-care-gallery figure::after{background:linear-gradient(0deg,#1d1512cc,transparent 45%);content:'';inset:0;position:absolute}.real-care-gallery img{height:100%;object-fit:cover;transition:transform .6s;width:100%}.real-care-gallery figure:hover img{transform:scale(1.025)}.gallery-space{grid-row:1/3}.gallery-space img{object-position:center 62%}.gallery-process img{object-position:center 58%}.gallery-detail img{object-position:center 62%}.real-care-gallery figcaption{bottom:1rem;font-size:.82rem;font-weight:600;left:1rem;position:absolute;z-index:2}.real-care-gallery figcaption span{color:var(--gold-soft);font-family:var(--serif);margin-right:.6rem}.social-section{align-items:end;background:var(--sand);display:grid;gap:clamp(3rem,7vw,8rem);grid-template-columns:.8fr 1.2fr;padding:clamp(5.5rem,9vw,8rem) clamp(1.25rem,5vw,5rem)}.social-heading{max-width:600px}.social-heading>p:last-child{color:var(--muted);max-width:510px}.social-links{border-top:1px solid #b9a58d}.social-links>a,.social-pending{align-items:center;border-bottom:1px solid #b9a58d;display:grid;gap:1.2rem;grid-template-columns:52px 1fr auto;min-height:116px;padding:1.15rem .35rem;transition:padding .25s,background .25s}.social-links>a:hover,.social-links>a:focus-visible{background:#fff8ef;padding-left:1rem;padding-right:1rem}.social-links svg{fill:none;height:34px;stroke:var(--ink);stroke-linecap:round;stroke-linejoin:round;stroke-width:1.45;width:34px}.social-links .icon-fill{fill:var(--ink);stroke:none}.social-links span{display:flex;flex-direction:column;line-height:1.35}.social-links small{color:var(--muted);font-size:.7rem;font-style:normal;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.social-links b{font:500 1.55rem var(--serif)}.social-links em{color:var(--muted);font-size:.78rem;font-style:normal}.social-links strong{color:var(--gold);font-size:1.25rem}.social-pending{opacity:.55}.social-pending svg{stroke-dasharray:0}.social-pending strong{color:var(--muted)}
@media(max-width:1050px){.site-header nav{display:none}.menu-button{display:block;margin-left:auto}.site-header nav.is-open{background:var(--paper);box-shadow:0 20px 30px #241b1722;display:flex;flex-direction:column;left:0;padding:1.5rem;position:absolute;right:0;top:84px}.hero{grid-template-columns:1fr}.hero-media{min-height:620px}.real-care-section,.social-section{grid-template-columns:1fr}.real-care-copy{justify-self:start}.real-care-gallery{height:min(720px,88vw);max-width:none}.about-section{grid-template-columns:1fr}.about-media{min-height:580px}.location-grid{grid-template-columns:1fr}.contact-section{grid-template-columns:1fr}footer{align-items:flex-start;flex-wrap:wrap}}
@media(max-width:700px){html{scroll-padding-top:72px}.site-header{height:72px;padding:0 1rem}.brand{min-width:0}.brand img{height:42px;width:42px}.brand span{font-size:.9rem}.brand small{display:none}.header-cta{display:none}.site-header nav.is-open{top:72px}.hero-copy{padding:4.2rem 1.2rem 3rem}.hero h1{font-size:clamp(3.2rem,15vw,4.5rem)}.lead{font-size:1rem}.hero-actions{align-items:flex-start;flex-direction:column}.hero-meta{flex-direction:column;gap:.5rem;margin-top:2.5rem}.hero-media{min-height:460px}.hero-badge{bottom:1rem;left:1rem}.vertical-note{display:none}.marquee div{animation:marquee 18s linear infinite;justify-content:flex-start;padding-left:1rem}.section{padding:5rem 1.2rem}.section-head{align-items:flex-start;flex-direction:column;gap:1.5rem;margin-bottom:2.5rem}.section-head h2,.about-copy h2,.contact-intro h2,.real-care-copy h2,.social-heading h2{font-size:clamp(2.8rem,13vw,4rem)}.carousel-controls{display:none}.treatment-card{flex-basis:86vw}.card-image{height:270px}.real-care-section,.social-section{padding:4.75rem 1.2rem}.real-care-gallery{gap:.65rem;grid-template-columns:1fr 1fr;grid-template-rows:330px 220px;height:auto}.gallery-space{grid-column:1/3;grid-row:auto}.gallery-process,.gallery-detail{min-width:0}.real-care-gallery figcaption{font-size:.72rem}.social-links>a,.social-pending{gap:.8rem;grid-template-columns:42px minmax(0,1fr) auto;min-height:104px}.social-links svg{height:29px;width:29px}.social-links b{font-size:1.35rem}.social-links em{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.about-media{min-height:430px}.about-media>p{bottom:1rem;left:1rem}.about-copy{padding:4.5rem 1.2rem}.location-grid article{min-height:280px}.contact-section{padding:5rem 1.2rem}.form-row{grid-template-columns:1fr}.form-submit{align-items:flex-start;flex-direction:column}.button-gold{width:100%}.whatsapp-pending{align-items:flex-start;flex-direction:column;gap:.25rem}footer{align-items:flex-start;flex-direction:column}footer>div{flex-wrap:wrap;gap:.7rem 1.2rem}}
@keyframes marquee{to{transform:translateX(-48%)}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.marquee div{animation:none}.treatment-carousel{scroll-behavior:auto}.button,.card-image img{transition:none}}

/* Narrow-screen containment: keep grid content and navigation inside the viewport. */
@media(max-width:700px){
  body{overflow-x:hidden}
  main,.hero,.hero-copy,.hero-media,.section,.about-copy,.contact-section,.contact-section>*{min-width:0;max-width:100%}
  .site-header{max-width:100vw}
  .brand{flex:1 1 auto;overflow:hidden}
  .brand>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .menu-button{display:block;flex:0 0 44px;margin-left:.5rem;position:relative;z-index:2}
  .hero h1{font-size:clamp(2.75rem,13vw,3.65rem);overflow-wrap:normal}
  .hero-copy{overflow:hidden}
  .eyebrow{font-size:.7rem;letter-spacing:.14em;white-space:normal}
  .hero-actions .button{max-width:100%;padding-inline:1.1rem;width:auto}
}

/* Sede futura: aspecto deshabilitado hasta confirmar apertura. */
.location-disabled{background:#eee9e3!important;border-color:#d7cec5!important;color:#8d837b;filter:saturate(.45)}
.location-disabled .status,.location-disabled>div>b,.location-disabled p,.location-disabled small{color:#948a82!important}
.location-disabled h3{color:#8b8179}

/* Enfoque: pilares con una explicación breve y legible. */
.about-points span{align-items:start;display:grid;gap:.15rem .8rem;grid-template-columns:auto 1fr;padding:1rem 0}
.about-points span b{grid-row:1 / span 2;margin-right:0}
.about-points span strong{color:var(--ink);font-size:.94rem;font-weight:700}

/* Contraste WCAG: conservar la paleta cálida con tonos legibles sobre cada fondo. */
.card-image>span{color:#80502b}
.card-dark .card-image>span{color:var(--gold-soft)}
.card-dark .card-body>p,.real-care-copy>.eyebrow,.contact-intro>.eyebrow{color:var(--gold-soft)}
.about-copy>.eyebrow,.about-copy h2 em,.about-points span b{color:#80502b}
.social-heading h2 em{color:#80502b}
.button-gold{background:#95612f}
.about-points span small{color:var(--muted);font-size:.82rem;line-height:1.45}

/* Carrusel editorial del enfoque: una imagen visible por defecto y controles accesibles. */
.about-carousel{height:100%;position:relative}
.about-slide{height:100%;margin:0;opacity:0;position:absolute;inset:0;transition:opacity .45s ease;visibility:hidden}
.about-slide.is-active{opacity:1;visibility:visible}
.about-slide .about-portrait{height:100%;object-fit:cover;width:100%}
.about-carousel-controls{align-items:center;background:#fffdf9e8;bottom:2rem;display:flex;gap:.7rem;padding:.45rem .6rem;position:absolute;right:2rem;z-index:3}
.about-carousel-controls button{background:transparent;border:1px solid var(--line);border-radius:50%;color:var(--ink);cursor:pointer;height:32px;line-height:1;width:32px}
.about-carousel-controls button:hover,.about-carousel-controls button:focus-visible{background:var(--ink);color:#fff;outline:2px solid var(--gold-soft);outline-offset:2px}
.about-carousel-controls span{color:var(--muted);font-size:.75rem;font-weight:700;min-width:2.4rem;text-align:center}
@media(max-width:700px){.about-carousel-controls{bottom:1rem;right:1rem}.about-media{min-height:430px}}
@media(prefers-reduced-motion:reduce){.about-slide{transition:none}}

/* Encuadre del retrato: conserva el rostro en recortes verticales y estrechos. */
.about-slide:first-child .about-portrait{object-position:32% 30%}
.about-slide:nth-child(2) .about-portrait{object-position:50% 28%}
@media(max-width:700px){
  .about-carousel-controls{bottom:auto;right:1rem;top:1rem}
}

/* Contact and footer refinement */
.contact-intro{align-self:center}.whatsapp-pending{align-items:center;cursor:default;display:grid;gap:1rem;grid-template-columns:38px minmax(0,1fr) auto}.whatsapp-pending svg{fill:none;height:30px;stroke:var(--gold-soft);stroke-linecap:round;stroke-linejoin:round;stroke-width:1.45;width:30px}.whatsapp-pending>span{display:flex;flex-direction:column;line-height:1.25}.whatsapp-pending>span small{color:#9e8f86;font-size:.66rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.whatsapp-pending>span strong{color:#fff;font-size:.95rem}.whatsapp-pending>b{white-space:nowrap}
footer{display:grid;grid-template-columns:1fr auto 1fr;min-height:110px;padding-block:1.35rem}.footer-brand{gap:.75rem;justify-self:start}.footer-brand img{height:44px;width:44px}.footer-brand>span{font:600 1rem/1 var(--serif)}.footer-brand small{color:#9f9188;display:block;font:600 .58rem/1.25 var(--sans);letter-spacing:.09em;margin-top:.28rem;text-transform:uppercase}footer>p{justify-self:center;text-align:center}.footer-social{display:flex;gap:.55rem;justify-self:end}.footer-social>a,.footer-social>span{align-items:center;border:1px solid #ffffff24;border-radius:50%;display:flex;height:40px;justify-content:center;transition:background .2s,border-color .2s;width:40px}.footer-social>a:hover,.footer-social>a:focus-visible{background:var(--gold);border-color:var(--gold)}.footer-social>span{cursor:not-allowed;opacity:.38}.footer-social svg{fill:none;height:19px;stroke:#eadfd8;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.55;width:19px}.footer-social .icon-fill{fill:#eadfd8;stroke:none}
@media(max-width:800px){footer{grid-template-columns:1fr;justify-items:center;padding-block:2rem;row-gap:1.35rem}.footer-brand,.footer-social,footer>p{justify-self:center}.footer-brand{text-align:left}.footer-social{flex-wrap:nowrap}.whatsapp-pending{grid-template-columns:34px minmax(0,1fr)}.whatsapp-pending>b{grid-column:2;white-space:normal}}

/* Locally stored social brand marks */
.social-links>a>img{height:34px;object-fit:contain;width:34px}.whatsapp-pending{cursor:pointer}.whatsapp-pending>img{filter:invert(73%) sepia(34%) saturate(690%) hue-rotate(348deg) brightness(94%);height:30px;object-fit:contain;width:30px}.whatsapp-pending:hover,.whatsapp-pending:focus-visible{background:#ffffff08;padding-left:.65rem;padding-right:.65rem}.footer-social>a>img{filter:invert(92%) sepia(8%) saturate(267%) hue-rotate(337deg) brightness(99%);height:18px;object-fit:contain;width:18px}.footer-social>a:hover>img,.footer-social>a:focus-visible>img{filter:brightness(0) invert(1)}
@media(max-width:700px){.social-links>a>img{height:29px;width:29px}}

/* Real portrait, current location, and persistent social shortcuts. */
.about-media>.about-portrait{object-position:32% 63%}
.location-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.visually-hidden{clip:rect(0 0 0 0);clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}
.floating-social{display:grid;gap:.65rem;position:fixed;right:max(1rem,env(safe-area-inset-right));top:50%;transform:translateY(-50%);z-index:45}
.floating-social a{align-items:center;background:var(--cocoa);border:1px solid #ffffff3d;border-radius:50%;box-shadow:0 10px 24px #241b1738;display:flex;height:46px;justify-content:center;transition:background .2s,transform .2s;width:46px}
.floating-social a:hover,.floating-social a:focus-visible{background:var(--gold);outline:3px solid #f5eee5;outline-offset:2px;transform:translateX(-3px)}
.floating-social img{filter:invert(92%) sepia(8%) saturate(267%) hue-rotate(337deg) brightness(99%);height:20px;object-fit:contain;width:20px}
@media(max-width:700px){.floating-social{bottom:max(1rem,env(safe-area-inset-bottom));right:max(.75rem,env(safe-area-inset-right));top:auto;transform:none}.floating-social a{height:40px;width:40px}.floating-social img{height:18px;width:18px}}

/* Refinements requested for the public contact and location cards. */
.location-details{line-height:1.55}
.location-details span{display:block;margin-top:.35rem}
.whatsapp-pending,.whatsapp-pending:hover,.whatsapp-pending:focus-visible{background:transparent;padding-left:0;padding-right:0}
.whatsapp-action{border-radius:999px;color:var(--gold-soft);font-size:.82rem;font-weight:700;padding:.55rem .75rem;transition:background .2s,color .2s;white-space:nowrap}
.whatsapp-pending:hover .whatsapp-action,.whatsapp-pending:focus-visible .whatsapp-action{background:#ffffff12;color:#fff}

/* En móviles las ubicaciones deben leerse completas, nunca comprimidas en dos columnas. */
@media(max-width:700px){
  .location-grid{grid-template-columns:1fr}
  .location-grid article{min-width:0;overflow-wrap:anywhere}
  .location-grid h3{font-size:clamp(2.7rem,16vw,4rem);overflow-wrap:anywhere}
  .location-grid article>div{gap:1rem}
  .location-grid article>div>b{max-width:58%;text-align:right;white-space:normal}
}

/* Legibilidad reforzada para textos secundarios y usuarios con baja agudeza visual. */
:root{--gold-text:#8f5d32}
.eyebrow,.card-body>p,.about-media>p span,.status,.location-grid article>div>b,.social-links small{color:var(--gold-text)}
.site-header nav a{font-size:.95rem}
.eyebrow{font-size:.84rem}
.card-body>span,.location-grid p,.social-links em{font-size:1rem}
.card-body a,.location-grid a{font-size:.94rem}
.about-points span strong{font-size:1rem}
.about-points span small{font-size:.9rem}
.contact-section label{font-size:.92rem}
.field-error{font-size:.82rem}
footer{font-size:.84rem}
@media(max-width:700px){
  body{font-size:17px}
  .site-header nav a{font-size:1rem}
  .card-body>span,.location-grid p,.social-links em{font-size:1.02rem}
}

/* Contacto: composición equilibrada y llamada de WhatsApp claramente diferenciada. */
.contact-section{align-items:center}
.contact-intro{align-self:start;max-width:520px;padding-top:.15rem;width:100%}
.contact-intro h2{max-width:470px}
.contact-intro>p:not(.eyebrow){font-size:1.06rem;line-height:1.7}
.contact-section form{max-width:680px;width:100%}
.whatsapp-pending{background:#2d231f;border:1px solid #ffffff32;border-radius:12px;margin-top:2.2rem;padding:1rem 1.1rem}
.whatsapp-pending:hover,.whatsapp-pending:focus-visible{background:#352923;padding-left:1.1rem;padding-right:1.1rem}
.whatsapp-action{border-radius:999px;padding:.55rem .8rem}
.turnstile-wrap{align-self:center}
.form-submit .button-gold{justify-content:center;position:relative}
.form-submit .button-gold>span{position:absolute;right:1.25rem}

/* Cambio de plano visual entre Nuestro enfoque y Nuestra comunidad. */
.social-section{background:var(--paper);border-top:1px solid var(--line)}
@media(max-width:700px){
  .contact-section{align-items:stretch}
  .contact-intro{align-self:auto;padding-top:0}
  .whatsapp-pending{margin-top:1.8rem}
  .turnstile-wrap{align-self:flex-start}
  .form-submit .button-gold{width:100%}
}
.button-gold span{color:#fff}
@media(max-width:1050px){.header-cta{display:none}}

/* Contact form privacy and bot-verification controls. */
.turnstile-wrap{min-height:65px}.privacy-check{align-items:flex-start;display:grid!important;gap:.7rem!important;grid-template-columns:auto minmax(0,1fr);line-height:1.45}.privacy-check input{accent-color:var(--gold);margin-top:.25rem;min-height:18px;padding:0;width:18px}.privacy-check .field-error{grid-column:2}.form-submit [disabled]{cursor:wait;opacity:.7}
