:root{
  --white:#ffffff;
  --ink:#20201f;
  --muted:#6f6b65;
  --beige:#f6efe7;
  --beige-2:#fbf8f4;
  --beige-3:#efe4d7;
  --gold:#b88a3b;
  --gold-dark:#9e742f;
  --gold-soft:#d7b980;
  --line:#e6ddd2;
  --shadow:0 18px 50px rgba(70,53,32,.10);
  --serif:"Cormorant Garamond", Georgia, serif;
  --sans:"Montserrat", Arial, sans-serif;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--white);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.6;overflow-x:hidden}
body.menu-open{overflow:hidden}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit}
button{color:inherit}

.site-header{position:sticky;top:0;z-index:100;background:rgba(255,255,255,.96);backdrop-filter:blur(12px);border-bottom:1px solid rgba(185,159,117,.16)}
.nav-shell{width:min(1480px,94%);height:108px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:38px}
.brand{display:block;flex:0 1 430px}
.brand img{width:420px;max-height:76px;object-fit:contain;object-position:left center}
.main-nav{display:flex;align-items:center;justify-content:flex-end;gap:38px;font-size:.78rem;text-transform:uppercase;letter-spacing:.075em;font-weight:500;white-space:nowrap}
.main-nav>a:not(.btn){position:relative;padding:10px 0}
.main-nav>a:not(.btn)::after{content:"";position:absolute;left:0;right:100%;bottom:3px;height:1px;background:var(--gold);transition:right .25s ease}
.main-nav>a:not(.btn):hover::after{right:0}
.btn{min-height:52px;display:inline-flex;align-items:center;justify-content:center;gap:12px;border-radius:999px;padding:0 28px;border:1px solid transparent;text-transform:uppercase;letter-spacing:.08em;font-size:.78rem;font-weight:600;transition:transform .25s ease,box-shadow .25s ease,background .25s ease}
.btn:hover{transform:translateY(-2px)}
.btn-gold{background:linear-gradient(135deg,#c7a261,#b4873c);color:#fff;box-shadow:0 9px 22px rgba(184,138,59,.22)}
.btn-gold:hover{background:linear-gradient(135deg,#ba934f,#9f742e);box-shadow:0 12px 26px rgba(184,138,59,.27)}
.btn-outline{background:rgba(255,255,255,.55);border-color:#ceb98f;color:#4f4a43;min-height:44px;font-size:.69rem;padding:0 22px}
.nav-cta svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.menu-toggle{display:none;width:44px;height:44px;border:0;background:transparent;padding:9px;cursor:pointer}
.menu-toggle span{display:block;height:1.5px;background:#302e2b;margin:6px 0;transition:.25s}

.hero{min-height:535px;display:grid;grid-template-columns:46% 54%;background:linear-gradient(90deg,#f7efe5 0%,#fbf8f4 33%,#fff 52%);overflow:hidden}
.hero-copy{padding:85px 7.5% 68px max(7.5vw,calc((100vw - 1480px)/2 + 42px));align-self:center;position:relative;z-index:2}
.hero-copy::after{content:"";position:absolute;width:410px;height:410px;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.82) 0%,rgba(255,255,255,0) 70%);left:28%;top:7%;z-index:-1}
.kicker{display:block;text-transform:uppercase;letter-spacing:.32em;font-size:.93rem;color:var(--gold);font-weight:500;margin-bottom:18px}
.kicker.small{font-size:.72rem;letter-spacing:.25em;margin-bottom:12px}
.hero h1{font-family:var(--serif);font-size:clamp(4.2rem,5.1vw,6.1rem);font-weight:500;letter-spacing:.015em;line-height:.83;margin:0 0 30px;color:#1e1e1d}
.hero p{font-size:1.05rem;line-height:1.75;margin:0 0 32px;color:#4f4c48}
.hero-btn{padding-inline:31px}
.hero-btn span{font-size:1.4rem;line-height:1}
.hero-media{position:relative;min-width:0;overflow:hidden}
.hero-media::before{content:"";position:absolute;z-index:2;inset:0 auto 0 0;width:16%;background:linear-gradient(90deg,#fbf8f4 0%,rgba(251,248,244,0) 100%);pointer-events:none}
.hero-media img{width:100%;height:100%;object-fit:cover;object-position:center center;transform:scale(1.02)}

.benefits{max-width:1420px;margin:auto;display:grid;grid-template-columns:repeat(4,1fr);background:#fff;min-height:132px}
.benefit-item{display:flex;align-items:center;gap:20px;padding:26px 34px;border-right:1px solid var(--line)}
.benefit-item:last-child{border-right:0}
.benefit-icon{width:68px;height:68px;border-radius:50%;display:grid;place-items:center;background:#fbf6ef;flex:none}
.benefit-icon svg{width:45px;height:45px;fill:none;stroke:var(--gold);stroke-width:1.35;stroke-linecap:round;stroke-linejoin:round}
.benefit-item strong{display:block;text-transform:uppercase;font-size:.79rem;line-height:1.45;letter-spacing:.025em;margin-bottom:7px}
.benefit-item span{display:block;color:var(--muted);font-size:.78rem;line-height:1.45}

.welcome{position:relative;background:linear-gradient(105deg,#f9f2e8 0%,#fffaf5 47%,#f8f1e8 100%);border-top:1px solid var(--line);overflow:hidden}
.welcome-inner{position:relative;z-index:2;width:min(1420px,92%);min-height:245px;margin:auto;display:grid;grid-template-columns:.82fr 1.06fr 1.35fr;align-items:center;gap:54px;padding:48px 0}
.welcome-watermark{position:absolute;left:-84px;top:-105px;width:430px;opacity:.035;filter:grayscale(1);pointer-events:none}
.welcome-title h2,.section-head h2,.technology h2,.promo-copy h2,.contact h2{font-family:var(--serif);font-weight:500;line-height:1.02;margin:0;color:#272624}
.welcome-title h2{font-size:3rem}
.welcome-copy p{font-size:.86rem;color:#68635c;margin:0 0 22px;max-width:520px}
.welcome-highlights{display:grid;grid-template-columns:repeat(3,1fr);gap:0}
.mini-stat{text-align:center;padding:2px 26px;border-left:1px solid rgba(201,181,148,.45)}
.mini-stat:first-child{border-left:0}
.mini-stat svg{width:43px;height:43px;fill:none;stroke:var(--gold);stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;margin:auto auto 12px}
.mini-stat strong{display:block;font-family:var(--serif);font-weight:500;font-size:1.35rem;line-height:1.1}
.mini-stat span{font-size:.78rem;color:#706b65}

.section{padding:105px 0}
.section-head{width:min(760px,90%);text-align:center;margin:0 auto 58px}
.section-head h2{font-size:clamp(2.8rem,4vw,4.3rem);margin-bottom:20px}
.section-head p{margin:0;color:var(--muted);font-size:.94rem}
.treatments{background:#fff}
.treatment-grid{width:min(1320px,92%);margin:auto;display:grid;grid-template-columns:repeat(3,1fr);gap:26px}
.treatment-card{position:relative;min-height:390px;padding:42px 38px;border:1px solid var(--line);background:#fff;box-shadow:0 16px 40px rgba(80,62,40,.055);overflow:hidden;transition:.3s ease}
.treatment-card::after{content:"";position:absolute;width:160px;height:160px;border-radius:50%;right:-70px;bottom:-70px;background:#f8f1e8}
.treatment-card:hover{transform:translateY(-6px);box-shadow:0 22px 55px rgba(80,62,40,.09)}
.treatment-card.featured{background:linear-gradient(145deg,#fbf6ef,#f3e8da);border-color:#e0c89d}
.treatment-card .number{font-family:var(--serif);font-size:1.4rem;color:var(--gold);letter-spacing:.08em}
.treatment-card h3{font-family:var(--serif);font-size:2.25rem;font-weight:500;line-height:1.05;margin:18px 0}
.treatment-card p,.treatment-card li{font-size:.88rem;color:var(--muted)}
.treatment-card ul{padding-left:18px;margin:22px 0 0}
.treatment-card li{margin:7px 0}

.technology{display:grid;grid-template-columns:1fr 1fr;min-height:650px;background:#f8f1e8}
.technology-media{overflow:hidden}
.technology-media img{width:100%;height:100%;object-fit:cover;object-position:center}
.technology-copy{padding:90px max(7vw,80px);display:flex;flex-direction:column;justify-content:center;align-items:flex-start}
.technology h2{font-size:clamp(3rem,4.3vw,4.7rem);margin-bottom:24px}
.technology-copy>p{color:var(--muted);max-width:620px;font-size:.95rem}
.check-list{display:grid;grid-template-columns:repeat(2,minmax(180px,1fr));gap:14px 24px;margin:28px 0 34px;width:100%}
.check-list span{position:relative;padding-left:28px;font-size:.84rem}
.check-list span::before{content:"✓";position:absolute;left:0;top:0;color:var(--gold);font-weight:600}

.promo-section{padding:95px 0;background:#fff}
.promo-box{width:min(1240px,92%);margin:auto;display:grid;grid-template-columns:1.2fr .8fr;align-items:center;border:1px solid #eadcc9;background:linear-gradient(125deg,#fff 0%,#fdf9f4 54%,#f2e6d5 100%);box-shadow:var(--shadow);overflow:hidden;min-height:525px}
.promo-copy{padding:60px 65px}
.promo-copy h2{font-size:clamp(3rem,4.3vw,4.7rem);max-width:720px;margin-bottom:26px}
.promo-main{font-family:var(--serif);font-size:2rem;line-height:1.2;margin:0;color:#36332f}
.promo-main strong{font-size:2.5rem;font-weight:500}
.promo-price{font-family:var(--serif);font-size:clamp(4.5rem,7vw,7rem);line-height:.9;color:var(--gold);margin:20px 0 22px}
.promo-free{font-family:var(--serif);font-size:1.7rem;margin:0 0 26px}
.promo-free strong{color:var(--gold);font-size:2.25rem;font-weight:500}
.promo-product{position:relative;align-self:stretch;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;padding:50px 40px 35px;overflow:hidden}
.product-glow{position:absolute;width:390px;height:390px;border-radius:50%;background:radial-gradient(circle,#fff 0%,rgba(255,255,255,.45) 35%,rgba(255,255,255,0) 70%);top:38px;left:50%;transform:translateX(-50%)}
.promo-product::before{content:"";position:absolute;width:310px;height:64px;border-radius:50%;background:linear-gradient(#d8bb82,#f7eaca);bottom:39px;box-shadow:0 12px 30px rgba(114,84,42,.2)}
.promo-product img{position:relative;z-index:2;height:300px;width:auto;object-fit:contain;filter:drop-shadow(0 20px 20px rgba(70,50,25,.14));margin-bottom:28px}
.promo-product span{position:relative;z-index:2;font-size:.65rem;color:#8b8277;letter-spacing:.04em}

.gallery{background:#fbf8f4}
.gallery-grid{width:min(1240px,92%);margin:auto;display:grid;grid-template-columns:1.1fr .9fr;grid-template-rows:360px 360px;gap:22px}
.gallery-card{border:0;padding:0;background:#eee;overflow:hidden;cursor:pointer;position:relative;box-shadow:0 14px 35px rgba(70,53,32,.07)}
.gallery-card.tall{grid-row:1 / 3}
.gallery-card img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}
.gallery-card:hover img{transform:scale(1.035)}
.gallery-card::after{content:"Ver imagen";position:absolute;right:18px;bottom:18px;background:rgba(255,255,255,.88);padding:8px 13px;font-size:.65rem;letter-spacing:.08em;text-transform:uppercase;color:#4b4741;opacity:0;transform:translateY(6px);transition:.25s}
.gallery-card:hover::after{opacity:1;transform:none}

.contact{background:linear-gradient(120deg,#f2e7d9,#fbf8f4 56%,#f4eadd);padding:95px 0}
.contact-inner{width:min(1240px,92%);margin:auto;display:grid;grid-template-columns:.92fr 1.08fr;gap:72px;align-items:start}
.contact-logo{width:390px;max-width:100%;margin-bottom:35px}
.contact h2{font-size:clamp(3.1rem,4.5vw,4.8rem);margin-bottom:20px}
.contact-copy>p{color:var(--muted);max-width:570px}
.contact-data{margin-top:34px;display:grid;gap:15px}
.contact-data div{padding-top:14px;border-top:1px solid rgba(189,164,123,.5)}
.contact-data strong,.contact-data span{display:block}
.contact-data strong{font-size:.72rem;text-transform:uppercase;letter-spacing:.1em;margin-bottom:4px}
.contact-data span{font-size:.84rem;color:#6e675f}
.contact-data code{font-size:.77rem;background:rgba(255,255,255,.6);padding:2px 5px}
.contact-form{background:rgba(255,255,255,.82);padding:42px;border:1px solid #e4d7c5;box-shadow:0 16px 38px rgba(80,62,40,.07)}
.field-row{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.contact-form label{display:block;margin-bottom:20px;font-size:.68rem;text-transform:uppercase;letter-spacing:.1em;font-weight:500}
.contact-form input,.contact-form select,.contact-form textarea{width:100%;margin-top:8px;border:0;border-bottom:1px solid #cdbb9f;background:transparent;color:var(--ink);padding:10px 2px;outline:none;font-size:.9rem;text-transform:none;letter-spacing:normal}
.contact-form input:focus,.contact-form select:focus,.contact-form textarea:focus{border-color:var(--gold)}
.contact-form textarea{resize:vertical}
.form-note{font-size:.68rem;color:#81786d;margin:14px 0 0}
.form-note code{font-size:.67rem}

.footer{background:#22211f;color:#d7d0c6;padding:28px 0}
.footer-inner{width:min(1420px,92%);margin:auto;display:flex;align-items:center;justify-content:space-between;gap:28px;font-size:.72rem}
.footer-brand{display:flex;align-items:center;gap:15px}
.footer-brand img{width:58px;filter:brightness(0) invert(1);opacity:.9}
.footer a{color:#fff}

.lightbox{position:fixed;z-index:300;inset:0;background:rgba(24,22,19,.88);display:none;align-items:center;justify-content:center;padding:32px}
.lightbox.open{display:flex}
.lightbox img{max-width:min(900px,90vw);max-height:88vh;object-fit:contain;box-shadow:0 20px 80px rgba(0,0,0,.35)}
.lightbox-close{position:absolute;right:30px;top:20px;width:48px;height:48px;border:0;border-radius:50%;background:rgba(255,255,255,.12);color:#fff;font-size:2rem;line-height:1;cursor:pointer}

.reveal{opacity:0;transform:translateY(18px);transition:opacity .65s ease,transform .65s ease}
.reveal.in-view{opacity:1;transform:none}
.desktop-only{display:block}

@media(max-width:1180px){
  .nav-shell{height:92px}
  .brand{flex-basis:330px}.brand img{width:320px}
  .main-nav{gap:22px;font-size:.7rem}.nav-cta{padding-inline:20px}
  .hero{grid-template-columns:43% 57%;min-height:480px}.hero-copy{padding-left:5vw;padding-right:3vw}.hero h1{font-size:4.55rem}.hero p{font-size:.92rem}
  .benefit-item{padding:22px 18px;gap:14px}.benefit-icon{width:58px;height:58px}.benefit-icon svg{width:38px;height:38px}
  .welcome-inner{grid-template-columns:.8fr 1fr 1.25fr;gap:30px}.welcome-title h2{font-size:2.55rem}.mini-stat{padding-inline:14px}
}

@media(max-width:940px){
  .nav-shell{height:82px;width:92%}.brand img{width:285px;max-height:62px}.menu-toggle{display:block;position:relative;z-index:120}
  .main-nav{position:fixed;top:82px;left:0;right:0;height:calc(100vh - 82px);background:#fff;display:flex;flex-direction:column;justify-content:flex-start;align-items:stretch;gap:0;padding:30px 6% 60px;transform:translateX(100%);transition:transform .28s ease;overflow:auto;font-size:.84rem}
  .main-nav.open{transform:none}.main-nav>a:not(.btn){padding:18px 0;border-bottom:1px solid var(--line)}.nav-cta{margin-top:24px}
  .hero{grid-template-columns:1fr;min-height:0}.hero-copy{padding:70px 7% 58px;text-align:center}.hero h1{font-size:clamp(4.1rem,12vw,6rem)}.hero-media{height:470px}.hero-media::before{display:none}.hero-btn{margin:auto}
  .benefits{grid-template-columns:repeat(2,1fr)}.benefit-item:nth-child(2){border-right:0}.benefit-item:nth-child(-n+2){border-bottom:1px solid var(--line)}
  .welcome-inner{grid-template-columns:1fr 1fr;padding:62px 0}.welcome-highlights{grid-column:1 / -1}.welcome-watermark{width:360px}
  .treatment-grid{grid-template-columns:1fr;max-width:740px}.treatment-card{min-height:0}
  .technology{grid-template-columns:1fr}.technology-media{height:510px}.technology-copy{padding:70px 7%}
  .promo-box{grid-template-columns:1fr}.promo-product{min-height:450px}.promo-product img{height:260px}
  .contact-inner{grid-template-columns:1fr}.contact-copy{max-width:700px}
}

@media(max-width:640px){
  .nav-shell{height:74px}.brand{flex-basis:auto}.brand img{width:228px;max-height:54px}.main-nav{top:74px;height:calc(100vh - 74px)}
  .hero-copy{padding:58px 6% 48px}.kicker{font-size:.75rem}.hero h1{font-size:clamp(3.45rem,16vw,5rem);line-height:.88}.hero p{font-size:.88rem}.desktop-only{display:none}.hero-media{height:330px}.hero-media img{object-position:47% center}
  .benefits{grid-template-columns:1fr}.benefit-item,.benefit-item:nth-child(2){border-right:0;border-bottom:1px solid var(--line)}.benefit-item:last-child{border-bottom:0}.benefit-item{padding:21px 7%}
  .welcome-inner{grid-template-columns:1fr;padding:58px 0;gap:28px}.welcome-title h2{font-size:2.8rem}.welcome-highlights{grid-template-columns:1fr;gap:0}.mini-stat{display:grid;grid-template-columns:48px 1fr;grid-template-rows:auto auto;text-align:left;border-left:0;border-top:1px solid var(--line);padding:18px 0}.mini-stat svg{grid-row:1 / 3;margin:0}.mini-stat strong{font-size:1.25rem}.mini-stat span{font-size:.75rem}.welcome-watermark{left:-140px;top:-20px}
  .section{padding:76px 0}.section-head{margin-bottom:38px}.section-head h2{font-size:3rem}
  .treatment-card{padding:32px 28px}.treatment-card h3{font-size:2rem}
  .technology-media{height:360px}.technology-copy{padding:60px 7%}.technology h2{font-size:3rem}.check-list{grid-template-columns:1fr}
  .promo-section{padding:70px 0}.promo-copy{padding:45px 30px}.promo-copy h2{font-size:3rem}.promo-price{font-size:5.4rem}.promo-product{min-height:390px;padding-bottom:28px}.promo-product img{height:235px}.promo-product::before{width:245px}
  .gallery-grid{grid-template-columns:1fr;grid-template-rows:auto;gap:16px}.gallery-card,.gallery-card.tall{grid-row:auto;height:480px}
  .contact{padding:72px 0}.contact h2{font-size:3.2rem}.contact-logo{width:320px}.contact-form{padding:30px 24px}.field-row{grid-template-columns:1fr;gap:0}
  .footer-inner{flex-direction:column;text-align:center}.footer-brand{flex-direction:column}
}
.social-inline a {
  color: inherit;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  gap: 5px;
}

.social-inline svg {
  fill: currentColor;
  vertical-align: middle;
}

.social-inline a:hover {
  opacity: 0.7;
}

.social-separator {
  margin: 0 6px;
}


/* ===== Ajustes septiembre 2026: beneficios, nosotros y tratamientos ===== */
.benefit-icon svg{width:44px;height:44px;fill:none;stroke:var(--gold);stroke-width:1.45;stroke-linecap:round;stroke-linejoin:round}

.welcome-inner.welcome-centered{display:flex;justify-content:center;align-items:center;min-height:260px;padding:58px 0;text-align:center}
.welcome-centered .welcome-copy{width:min(900px,92%);margin:auto}
.welcome-centered .welcome-copy p{max-width:900px;margin:10px auto 24px;font-size:clamp(.9rem,1.15vw,1.02rem);line-height:1.85;color:#5f5a54}
.welcome-centered .welcome-copy strong{color:#2c2a27;font-weight:600}
.welcome-centered .btn{cursor:pointer}

.treatment-grid{align-items:start}
.treatment-card.facial-card,.treatment-card.accordion-card{overflow:visible}
.facial-accordion{margin-top:24px;border-top:1px solid var(--line)}
.facial-item{border-bottom:1px solid var(--line);position:relative}
.facial-item summary{list-style:none;cursor:pointer;padding:15px 34px 15px 0;font-size:.84rem;color:#5e5953;line-height:1.45;position:relative;transition:color .2s ease}
.facial-item summary::-webkit-details-marker{display:none}
.facial-item summary::after{content:"+";position:absolute;right:2px;top:50%;transform:translateY(-50%);font-family:var(--serif);font-size:1.5rem;color:var(--gold);font-weight:400}
.facial-item[open] summary{color:#2b2926;font-weight:500}
.facial-item[open] summary::after{content:"−"}
.facial-item summary small{display:block;margin-top:3px;font-size:.66rem;font-weight:400;color:#8a8278;letter-spacing:.015em}
.facial-detail{padding:4px 0 20px;animation:facialOpen .24s ease}
.facial-detail>p{margin:0 0 16px;font-size:.81rem;line-height:1.72;color:#67615a}
.facial-detail>p strong{color:#3a3733}
.treatment-meta{display:grid;gap:3px;padding:10px 0;border-top:1px solid rgba(230,221,210,.72)}
.treatment-meta strong{font-size:.66rem;text-transform:uppercase;letter-spacing:.09em;color:var(--gold-dark)}
.treatment-meta span{font-size:.78rem;line-height:1.55;color:#625d57}
.treatment-whatsapp{margin-top:14px;min-height:42px;padding:0 19px;font-size:.65rem;box-shadow:none}
.treatment-disclaimer{width:min(1120px,90%);margin:34px auto 0;padding:18px 22px;border-left:2px solid var(--gold);background:#fbf7f1;color:#716a62;font-size:.74rem;line-height:1.65;text-align:left}
.treatment-disclaimer strong{color:#4b443c;font-weight:600}
.facial-item-pending{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 0;color:#736d65}
.facial-item-pending .pending-label{font-size:.84rem}
.facial-item-pending small{font-size:.62rem;text-transform:uppercase;letter-spacing:.07em;color:#a09588}
@keyframes facialOpen{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}

.about-modal{position:fixed;z-index:420;inset:0;display:none;align-items:center;justify-content:center;padding:28px;background:rgba(36,31,27,.52);backdrop-filter:blur(8px)}
.about-modal.open{display:flex}
.about-dialog{position:relative;width:min(1060px,94vw);max-height:88vh;overflow:auto;display:grid;grid-template-columns:.82fr 1.18fr;background:rgba(255,252,248,.97);border:1px solid rgba(218,194,157,.82);box-shadow:0 30px 90px rgba(47,37,27,.22)}
.about-close{position:absolute;z-index:2;right:18px;top:16px;width:42px;height:42px;border-radius:50%;border:1px solid rgba(183,138,59,.28);background:rgba(255,255,255,.86);color:#705c3a;font-size:1.8rem;line-height:1;cursor:pointer}
.about-photo-placeholder{min-height:560px;background:linear-gradient(145deg,#efe3d5,#fbf6ef);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:50px;gap:12px;color:#8d7f6d}
.about-photo-placeholder img{width:170px;max-height:170px;object-fit:contain;opacity:.38;filter:grayscale(1)}
.about-photo-placeholder span{font-family:var(--serif);font-size:1.55rem;color:#746857}
.about-photo-placeholder small{max-width:250px;font-size:.68rem;line-height:1.6}
.about-content{padding:60px 58px 54px}
.about-content h2{font-family:var(--serif);font-weight:500;font-size:clamp(2.5rem,4vw,4rem);line-height:1.02;margin:8px 0 24px;color:#292724}
.about-content p{font-size:.88rem;line-height:1.8;color:#625d56;margin:0 0 18px}
.about-content .about-signature{margin-top:28px;font-family:var(--serif);font-size:1.2rem;color:#38342f}
body.modal-open{overflow:hidden}

@media(max-width:940px){
  .welcome-inner.welcome-centered{display:flex;padding:52px 0}
  .about-dialog{grid-template-columns:1fr;max-height:90vh}
  .about-photo-placeholder{min-height:260px;padding:42px 30px}
  .about-photo-placeholder img{width:120px}
  .about-content{padding:42px 34px 38px}
}

@media(max-width:640px){
  .welcome-inner.welcome-centered{display:flex;padding:44px 0}
  .welcome-centered .welcome-copy p{font-size:.88rem;line-height:1.75}
  .facial-item summary{padding:14px 30px 14px 0}
  .facial-detail>p{font-size:.79rem}
  .about-modal{padding:12px}
  .about-dialog{width:100%;max-height:94vh}
  .about-photo-placeholder{min-height:200px;padding:34px 24px}
  .about-content{padding:34px 24px 30px}
  .about-content h2{font-size:2.55rem}
  .about-close{right:10px;top:10px}
}


/* ===== Ajuste de identidad visual: logotipo en header y Nuestra Esencia ===== */
.site-header .brand{
  flex:0 0 auto;
  display:flex;
  align-items:center;
}
.site-header .brand img{
  width:clamp(330px,25vw,455px);
  height:auto;
  max-height:82px;
  object-fit:contain;
  object-position:left center;
  filter:none;
  opacity:1;
}

.welcome-inner.welcome-brand-layout{
  width:min(1280px,92%);
  min-height:275px;
  padding:54px 0;
  display:grid;
  grid-template-columns:minmax(330px,430px) minmax(0,1fr);
  align-items:center;
  justify-content:center;
  gap:70px;
}
.welcome-logo-wrap{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  padding-right:62px;
  border-right:1px solid rgba(184,138,59,.24);
}
.welcome-logo{
  width:min(390px,100%);
  height:auto;
  object-fit:contain;
  filter:none;
  opacity:1;
  transform:scale(1.04);
  transform-origin:right center;
}
.welcome-brand-layout .welcome-copy{
  max-width:760px;
  text-align:left;
}
.welcome-brand-layout .welcome-copy p{
  max-width:760px;
  margin:0 0 24px;
  font-size:.91rem;
  line-height:1.9;
}
.welcome-brand-layout .kicker.small{
  margin-bottom:14px;
}

@media(max-width:1180px){
  .site-header .brand img{width:330px;max-height:70px}
  .welcome-inner.welcome-brand-layout{grid-template-columns:310px minmax(0,1fr);gap:46px}
  .welcome-logo-wrap{padding-right:42px}
}

@media(max-width:940px){
  .site-header .brand img{width:285px;max-height:62px}
  .welcome-inner.welcome-brand-layout{
    grid-template-columns:1fr;
    gap:30px;
    padding:54px 0;
    text-align:center;
  }
  .welcome-logo-wrap{
    justify-content:center;
    padding:0 0 30px;
    border-right:0;
    border-bottom:1px solid rgba(184,138,59,.22);
  }
  .welcome-logo{width:min(390px,80vw);transform:none}
  .welcome-brand-layout .welcome-copy{margin:auto;text-align:center}
  .welcome-brand-layout .welcome-copy p{margin-left:auto;margin-right:auto}
}

@media(max-width:640px){
  .site-header .brand img{width:225px;max-height:52px}
  .welcome-inner.welcome-brand-layout{padding:44px 0;gap:24px}
  .welcome-logo-wrap{padding-bottom:24px}
  .welcome-logo{width:min(330px,84vw)}
}


/* ===== Ajuste septiembre 2026: usar monograma JB en header y Nuestra Esencia ===== */
.site-header .brand.brand-monogram img{
  width:clamp(185px,17vw,260px);
  max-height:92px;
}

.welcome-logo-wrap.welcome-logo-wrap-monogram{
  justify-content:center;
  padding-right:54px;
}

.welcome-logo.welcome-logo-monogram{
  width:min(460px,100%);
  max-height:360px;
  object-fit:contain;
  transform:scale(1.02);
}

@media(max-width:1180px){
  .site-header .brand.brand-monogram img{width:clamp(170px,20vw,235px);max-height:84px}
  .welcome-logo.welcome-logo-monogram{width:min(420px,100%);max-height:320px}
}

@media(max-width:940px){
  .site-header .brand.brand-monogram img{width:200px;max-height:72px}
  .welcome-logo-wrap.welcome-logo-wrap-monogram{padding:0 0 30px}
  .welcome-logo.welcome-logo-monogram{width:min(320px,70vw);max-height:none;transform:none}
}

@media(max-width:640px){
  .site-header .brand.brand-monogram img{width:162px;max-height:56px}
  .welcome-logo.welcome-logo-monogram{width:min(260px,74vw)}
}


/* ===== Corrección modal Nosotros: botón interactivo y visible ===== */
.about-open-btn{
  position:relative;
  z-index:5;
  cursor:pointer;
  pointer-events:auto;
}
.about-modal{pointer-events:none}
.about-modal.open{display:flex;pointer-events:auto}
.about-dialog{pointer-events:auto}


/* ===== Modal Nosotros robusto sin dependencia de JavaScript ===== */
.about-modal:target{
  display:flex;
}
.about-open-btn{
  cursor:pointer;
}
.about-close{
  display:grid;
  place-items:center;
  text-decoration:none;
}


/* ===== Foto real en biografía ===== */
.about-photo-panel{min-height:560px;background:linear-gradient(145deg,#efe3d5,#fbf6ef);display:flex;flex-direction:column;align-items:center;justify-content:center;padding:34px 26px;gap:18px}
.about-photo-frame{width:min(100%,360px);background:rgba(255,255,255,.68);border:1px solid rgba(212,190,156,.85);box-shadow:0 20px 42px rgba(80,62,40,.10);border-radius:18px;padding:16px;display:flex;align-items:center;justify-content:center}
.about-photo-frame img{width:100%;height:auto;max-height:500px;object-fit:contain;border-radius:12px;display:block}
.about-photo-meta{text-align:center;display:grid;gap:4px}
.about-photo-meta strong{font-family:var(--serif);font-size:1.65rem;line-height:1.05;color:#40372d;font-weight:500}
.about-photo-meta span{font-size:.74rem;text-transform:uppercase;letter-spacing:.12em;color:var(--gold-dark)}

@media(max-width:940px){
  .about-photo-panel{min-height:260px;padding:32px 24px}
  .about-photo-frame{width:min(100%,280px);padding:12px}
  .about-photo-frame img{max-height:360px}
  .about-photo-meta strong{font-size:1.35rem}
}

@media(max-width:640px){
  .about-photo-panel{min-height:220px;padding:28px 18px}
  .about-photo-frame{width:min(100%,240px)}
  .about-photo-frame img{max-height:300px}
}


/* ===== Aviso de Privacidad ===== */
.footer-legal{display:flex;align-items:center;gap:18px;flex-wrap:wrap;justify-content:center}
.footer-legal p{margin:0}
.privacy-link{position:relative;font-weight:500;letter-spacing:.035em}
.privacy-link::after{content:"";position:absolute;left:0;right:100%;bottom:-3px;height:1px;background:var(--gold-soft);transition:right .2s ease}
.privacy-link:hover::after{right:0}

.privacy-consent{display:flex!important;align-items:flex-start;gap:10px;margin:4px 0 22px!important;text-transform:none!important;letter-spacing:normal!important;font-size:.72rem!important;line-height:1.55;color:#6e675f}
.privacy-consent input{width:16px!important;height:16px!important;min-width:16px;margin:3px 0 0!important;accent-color:var(--gold);border:0!important}
.privacy-consent span{display:block}
.privacy-consent a{color:var(--gold-dark);text-decoration:underline;text-underline-offset:3px}

#whatsapp-submit:disabled{
  cursor:not-allowed;
  opacity:.46;
  filter:grayscale(.18);
  box-shadow:none;
  transform:none;
}
#whatsapp-submit:disabled:hover{
  transform:none;
  box-shadow:none;
}

.privacy-modal{position:fixed;z-index:520;inset:0;display:none;align-items:center;justify-content:center;padding:26px;background:rgba(31,27,23,.60);backdrop-filter:blur(10px)}
.privacy-modal.open{display:flex}
.privacy-dialog{position:relative;width:min(1080px,95vw);max-height:91vh;overflow:auto;background:#fffdf9;border:1px solid rgba(215,185,137,.72);box-shadow:0 34px 100px rgba(40,31,22,.28)}
.privacy-close{position:sticky;float:right;z-index:4;right:18px;top:16px;margin:16px 16px -58px 0;width:42px;height:42px;border-radius:50%;border:1px solid rgba(183,138,59,.30);background:rgba(255,255,255,.94);color:#705c3a;font-size:1.8rem;line-height:1;cursor:pointer;box-shadow:0 8px 22px rgba(70,53,32,.08)}
.privacy-hero{position:relative;overflow:hidden;min-height:275px;padding:52px 8% 44px;display:flex;flex-direction:column;justify-content:center;background:linear-gradient(120deg,#f4e7d8 0%,#fffaf5 52%,#f5eadc 100%);border-bottom:1px solid #eadcca}
.privacy-hero::after{content:"JB";position:absolute;right:-12px;bottom:-100px;font-family:var(--serif);font-size:20rem;line-height:1;color:rgba(184,138,59,.055);pointer-events:none}
.privacy-hero img{width:155px;height:94px;object-fit:contain;object-position:left center;margin-bottom:14px}
.privacy-hero .kicker{margin-bottom:6px}
.privacy-hero h2{font-family:var(--serif);font-size:clamp(3.1rem,5vw,5.2rem);line-height:.95;font-weight:500;margin:0 0 14px;color:#292724}
.privacy-hero p{margin:0;color:#6f665c;font-size:.78rem;text-transform:uppercase;letter-spacing:.12em}
.privacy-content{padding:50px 8% 52px;color:#5f5952}
.privacy-content>p:first-child{font-size:.94rem;line-height:1.85;color:#4c4741;margin-top:0}
.privacy-content section{padding:28px 0;border-top:1px solid #eee3d6}
.privacy-content section:first-of-type{margin-top:32px}
.privacy-content h3{font-family:var(--serif);font-size:2rem;line-height:1.1;font-weight:500;color:#332f2a;margin:0 0 14px}
.privacy-content p,.privacy-content li{font-size:.84rem;line-height:1.8}
.privacy-content ul{margin:14px 0 0;padding-left:20px}
.privacy-content li{margin:7px 0}
.privacy-content strong{color:#37322d}
.privacy-note{margin-top:18px;padding:16px 18px;border-left:3px solid var(--gold);background:#fbf6ef;color:#665d52}
.privacy-contact{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:18px 0}
.privacy-contact a{display:grid;gap:2px;padding:16px 18px;border:1px solid #eadcca;background:#fff;transition:.2s ease}
.privacy-contact a:hover{border-color:#d2ae72;transform:translateY(-1px)}
.privacy-contact strong{font-size:.66rem;text-transform:uppercase;letter-spacing:.09em;color:var(--gold-dark)}
.privacy-contact span{font-size:.82rem;color:#5d5750;word-break:break-word}
.privacy-update{font-size:.7rem;color:#8a8177;text-transform:uppercase;letter-spacing:.08em;margin-top:10px}
.privacy-actions{display:flex;justify-content:flex-end;gap:12px;flex-wrap:wrap;margin-top:28px;padding-top:26px;border-top:1px solid #eee3d6}
body.privacy-open{overflow:hidden}

/* Página completa del Aviso de Privacidad */
.privacy-page{min-height:100vh;background:linear-gradient(140deg,#f4e8da 0%,#fff 42%,#f8f1e8 100%)}
.privacy-page-shell{width:min(1050px,92%);margin:auto;padding:44px 0 70px}
.privacy-page-top{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:28px}
.privacy-page-top img{width:190px;max-height:90px;object-fit:contain;object-position:left center}
.privacy-page-back{font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;color:#6f665c;border-bottom:1px solid #cdae75;padding-bottom:3px}
.privacy-page-card{overflow:hidden;background:rgba(255,253,249,.96);border:1px solid rgba(215,185,137,.72);box-shadow:0 28px 75px rgba(70,53,32,.10)}
.privacy-page-card .privacy-hero{min-height:250px}
.privacy-page-card .privacy-content{padding-bottom:58px}

@media(max-width:940px){
  .privacy-dialog{width:min(900px,96vw)}
  .privacy-hero{min-height:235px;padding:44px 7% 38px}
  .privacy-content{padding:42px 7% 46px}
  .privacy-contact{grid-template-columns:1fr}
  .footer-legal{flex-direction:column;gap:4px}
}

@media(max-width:640px){
  .privacy-modal{padding:10px}
  .privacy-dialog{width:100%;max-height:95vh}
  .privacy-close{right:8px;top:8px;margin:10px 10px -52px 0;width:38px;height:38px}
  .privacy-hero{min-height:220px;padding:36px 24px 32px}
  .privacy-hero img{width:120px;height:76px}
  .privacy-hero h2{font-size:3rem}
  .privacy-hero::after{font-size:13rem;bottom:-58px}
  .privacy-content{padding:34px 24px 38px}
  .privacy-content h3{font-size:1.75rem}
  .privacy-actions{justify-content:stretch}
  .privacy-actions .btn{width:100%}
  .privacy-page-shell{width:94%;padding:24px 0 42px}
  .privacy-page-top{align-items:flex-start;flex-direction:column;margin-bottom:18px}
  .privacy-page-top img{width:150px}
}
/* Título del aviso en modal y página completa */
.privacy-hero h1{font-family:var(--serif);font-size:clamp(3.1rem,5vw,5.2rem);line-height:.95;font-weight:500;margin:0 0 14px;color:#292724}
@media(max-width:640px){.privacy-hero h1{font-size:3rem}}
