@font-face{font-family:"Cormorant Garamond";src:url("../assets/fonts/cormorant-garamond-latin.woff2") format("woff2");font-style:normal;font-weight:400 600;font-display:swap}
@font-face{font-family:"DM Sans";src:url("../assets/fonts/dm-sans-latin.woff2") format("woff2");font-style:normal;font-weight:400 600;font-display:swap}
:root{--plum:#291533;--purple:#42264c;--gold:#d7ad59;--gold-dark:#947131;--paper:#fffcf7;--panel:#f5efe8;--ink:#665b69;--line:#e6dac8}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--paper);font-family:"DM Sans",Arial,sans-serif;font-size:16px;color:var(--ink);line-height:1.65}p{font-family:"DM Sans",Arial,sans-serif!important;color:var(--ink);font-size:1rem;font-weight:400;line-height:1.8}h1,h2,h3,h4,h5{font-family:"Cormorant Garamond",Georgia,serif!important;color:var(--purple);font-weight:500;line-height:1.08;letter-spacing:-.02em}h1{font-size:clamp(40px,4.3vw,58px)}h2{font-size:clamp(32px,3vw,43px)}h3{font-size:31px}em{font-weight:400;color:#7f5878}a{color:var(--purple)}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #997436;outline-offset:5px}img{max-width:100%;height:auto}
.skip-link{position:fixed;left:12px;top:-70px;background:white;color:var(--plum);padding:12px;z-index:2000}.skip-link:focus{top:12px}main.container{padding-top:34px}.cabeza{background:var(--plum);position:relative;z-index:1020;border-bottom:1px solid #98733750}.site-header{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:112px;padding:12px 0}.brand-home{display:flex;flex:none}.brand-logo{width:260px;height:auto;display:block}.site-header nav{display:block}.nav{flex-wrap:nowrap;gap:8px;align-items:center}.nav-link{color:#f0e4d7!important;font-size:13px;font-weight:400;padding:12px 9px;white-space:nowrap}.nav-link:hover,.nav-link[aria-current="page"]{color:#e4bb6d!important}.nav-link[aria-current="page"]{border-bottom:1px solid #d7ad59}.header-contact .btn{font-size:13px;padding:11px 18px;min-height:44px}.menu-toggle{display:none}
.btn-brand{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;padding:13px 21px;border-radius:7px;border:1px solid var(--gold);font-size:14px;font-weight:500;line-height:1.4;text-decoration:none;background:var(--gold);color:var(--plum)!important;transition:background .15s}.btn-brand:hover,.btn-brand:focus{background:#e6be73;border-color:#e6be73}.wa-symbol{font-size:19px;font-weight:400;line-height:1}.eyebrow{display:block;font-family:"DM Sans",sans-serif;font-size:10px;font-weight:500;letter-spacing:.19em;text-transform:uppercase;color:var(--gold-dark);line-height:1.6;margin-bottom:13px}.text-link{display:inline-flex;align-items:center;gap:9px;font-size:13px;font-weight:500;text-decoration:none;line-height:1.6}.text-link:hover{text-decoration:underline}.prin{padding-right:calc(var(--bs-gutter-x)*.5)!important}
.slidehome .item{background:#f5efe8!important;border-radius:20px;border:1px solid var(--line);overflow:hidden}.hero-photo{display:block;width:100%;height:520px;object-fit:cover}.hero-image{min-width:0}.hero-copy{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding:36px 26px}.hero-copy h1,.carousel-item .hero-copy h2{font-size:clamp(34px,3.5vw,47px);margin:0 0 22px;text-align:left;line-height:1.05}.hero-copy p,.carousel-item .hero-copy p{padding:0;margin-bottom:25px;text-align:left;font-size:14px;line-height:1.85}.hero-actions{display:flex;flex-direction:column;align-items:flex-start;gap:17px}.hero-actions .btn{font-size:13px;padding:12px 15px}.carousel-indicators{bottom:8px;margin-bottom:0}.carousel-indicators button[data-bs-target]{height:4px;width:25px;min-height:0;opacity:.4;border:0;background-color:var(--purple);margin:8px 4px}.carousel-indicators button.active{opacity:1}.carousel-indicators button::before{content:"";display:block;position:relative;top:-12px;width:100%;height:28px}.intro-ribbon{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:24px 3px 0;color:#837484;font-size:11px}.intro-ribbon span{display:flex;align-items:center;gap:9px}.intro-ribbon span::before{content:"✦";color:var(--gold-dark);font-size:10px}
.section-space{margin-top:56px}.section-heading{margin-bottom:26px}.section-heading h2{margin-bottom:14px}.section-heading p{font-size:14px;margin-bottom:0}.service-link{display:block;height:100%;text-decoration:none;background:var(--paper);border:1px solid var(--line);border-radius:15px;overflow:hidden;transition:border-color .15s}.service-link:hover{border-color:#b9924d}.service-photo{height:240px;width:100%;object-fit:cover;display:block}.service-copy{padding:22px 24px 24px}.service-copy h3{font-size:31px;margin-bottom:9px}.service-copy p{font-size:13px;margin-bottom:18px}.service-copy .text-link{font-size:12px}.sidebar{border-radius:0!important}.sidebar-content{display:grid;gap:24px}.cajasidebar{background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:30px}.cajasidebar h2{font-size:34px;margin-bottom:14px}.cajasidebar p{font-size:13px;margin-bottom:20px}.cajasidebar .btn{width:100%;font-size:13px}.phone-link{display:block;font-size:12px;text-align:center;margin-top:15px;text-decoration:none;color:var(--purple)}.sidebar .listado{padding:0;margin:22px 0 0}.sidebar .listado li{list-style:none;margin:0;border-top:1px solid var(--line)}.sidebar .listado li:first-child{border-top:0}.sidebar .listado li::before{content:none}.sidebar .listado li a{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:13px 0;color:var(--purple);font-size:13px}.sidebar .listado li a:hover{color:var(--gold-dark)}.sidebar .listado li span{color:var(--gold-dark)}.sidebar-photo{height:180px;width:100%;object-fit:cover;border-radius:10px;margin-bottom:22px}
.intro-panel{background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:35px}.intro-panel h2{margin-bottom:20px}.intro-panel p{font-size:14px;max-width:510px}.faq-section{margin-top:56px}.faq-section details{border-top:1px solid var(--line)}.faq-section details:last-child{border-bottom:1px solid var(--line)}.faq-section summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:21px 0;color:var(--purple);font-size:14px;cursor:pointer}.faq-section summary::-webkit-details-marker{display:none}.faq-section summary span{font-size:22px;color:var(--gold-dark)}.faq-section details[open] summary span{transform:rotate(45deg)}.faq-section details p{padding:0 20px 20px 0;font-size:13px;margin:0}
.pie{background:var(--plum);margin-top:70px;padding:35px 0 24px}.footer-inner{display:flex;align-items:center;justify-content:space-between;gap:30px}.footer-logo{width:220px;height:auto}.footer-tagline{font-family:"Cormorant Garamond",serif!important;font-size:24px;color:#ecdbc6;margin:0 0 4px}.footer-inner a{color:#dfcbb9;font-size:11px;text-decoration:none}.footer-dot{padding:0 10px;color:#89738f}.footer-inner .phone-link{margin:0;font-size:13px}.footer-note{border-top:1px solid #ae8c5030;padding-top:20px;margin:22px 0 0;color:#b5a4b4;font-size:10px;text-align:center;line-height:1.7}.mobile-contact{display:none}.page-heading{max-width:820px;margin:10px 0 35px}.page-heading h1{margin-bottom:17px}.page-heading>p{font-size:15px;max-width:760px}.profile-photo{width:100%;height:auto;border-radius:15px;border:1px solid var(--line)}.biography h2{margin-top:3px;margin-bottom:24px}.biography p{font-size:14px}.biography .btn{font-size:13px}.ritual-section{scroll-margin-top:24px;padding:0 0 34px;margin:0 0 34px;border-bottom:1px solid var(--line)}.ritual-photo{display:block;width:100%;height:380px;object-fit:cover;border-radius:15px}.ritual-section h2{font-size:39px;margin-bottom:16px}.ritual-section p{font-size:14px}.ritual-list{padding-left:18px;color:var(--ink);font-size:13px;line-height:1.8;margin-bottom:24px}.ritual-list li::marker{color:var(--gold-dark)}.service-note{background:var(--panel);padding:24px;border-radius:14px;font-size:14px}.service-note p{margin:8px 0 0;font-size:13px}.testimonial{padding:30px;background:var(--panel);border:1px solid var(--line);border-radius:15px;height:100%;margin:0}.testimonial blockquote{font-family:"Cormorant Garamond",serif;font-size:32px;line-height:1.2;color:var(--purple)}.testimonial figcaption{font-size:11px}.privacy-caption{font-size:12px;line-height:1.75;margin:24px 0;color:#827786}.contact-number{font-family:"Cormorant Garamond",serif;color:var(--purple);font-size:34px;text-decoration:none;white-space:nowrap}.consultation-steps{padding-left:25px}.consultation-steps li{padding-left:10px;margin:0 0 23px}.consultation-steps strong{font-size:15px;font-weight:500;color:var(--purple)}.consultation-steps li::marker{font-family:"Cormorant Garamond",serif;color:var(--gold-dark);font-size:25px}.consultation-steps p{font-size:13px;margin:7px 0 0}
.gallery-filters{display:flex;flex-wrap:wrap;gap:9px;margin-bottom:15px;scroll-margin-top:20px}.gallery-filters button{padding:10px 16px;min-height:44px;border:1px solid var(--line);border-radius:25px;background:transparent;color:var(--purple);font-size:12px;cursor:pointer}.gallery-filters button span{color:#857587;font-size:10px;padding-left:5px}.gallery-filters button.active{background:var(--plum);color:#f8ecd9;border-color:var(--plum)}.gallery-filters button.active span{color:var(--gold)}.gallery-status{font-size:12px;margin:0 0 20px}.gallery-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:25px}.gallery-item{margin:0;min-width:0}.gallery-item[hidden]{display:none}.gallery-open{display:block;position:relative;border-radius:12px;overflow:hidden;background:var(--panel);border:1px solid var(--line)}.gallery-photo{width:100%;height:280px;object-fit:cover;display:block}.gallery-item[data-category="mensajes"] .gallery-photo,.gallery-item[data-category="laminas"] .gallery-photo{object-fit:contain;background:#211c23}.gallery-item figcaption{font-size:10px;margin-top:9px;color:#817284}.zoom-label{position:absolute;right:10px;bottom:10px;border-radius:50%;background:#fffcf7ed;color:var(--purple);width:30px;height:30px;text-align:center;line-height:30px}.video-card{margin:0;background:var(--panel);border:1px solid var(--line);border-radius:14px;overflow:hidden}.altar-video{display:block;width:100%;height:390px;background:#211c23;object-fit:contain}.video-card figcaption{font-size:12px;padding:15px 18px}.reading-copy{max-width:780px}.reading-copy h2{margin:35px 0 17px;font-size:36px}.reading-copy p{font-size:15px}.media-pending{display:flex;align-items:center;justify-content:center;background:var(--panel);font-size:13px;color:var(--ink)}
#gallery-lightbox{padding:12px;background:var(--paper);border:0;border-radius:16px;width:min(94vw,1050px);max-height:94dvh;color:var(--purple)}#gallery-lightbox::backdrop{background:#160d20e8}.lightbox-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 4px 8px}.lightbox-toolbar p{font-size:13px;line-height:1.4;margin:0;color:var(--purple)}.lightbox-close{width:44px;height:44px;background:transparent;border:0;color:var(--purple);font-size:32px;flex:none}.lightbox-image{display:block;width:100%;height:calc(88dvh - 120px);object-fit:contain;background:#211c23;border-radius:8px}.lightbox-controls{display:flex;justify-content:space-between;gap:20px;padding-top:12px}.lightbox-controls button{min-height:44px;padding:8px 16px;border:1px solid var(--line);background:transparent;border-radius:6px;color:var(--purple);font-size:13px}
@media(min-width:1200px){.site-header nav.collapse{display:block!important}}
@media(max-width:1199px){.site-header{min-height:94px;flex-wrap:wrap;gap:12px;padding:10px 0}.brand-logo{width:240px}.menu-toggle{display:flex;flex-direction:column;justify-content:center;gap:5px;width:46px;height:46px;border:1px solid #d7ad5970;border-radius:7px;background:transparent;margin-left:auto;padding:12px}.menu-toggle span{display:block;width:20px;height:1px;background:#e0b86c}.header-contact{display:none}.site-header nav{order:3;width:100%}.site-header nav:not(.show):not(.collapsing){display:none}.site-header nav .nav{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;padding:12px 0 8px}.nav-link{text-align:center;font-size:13px;white-space:normal;min-height:44px;padding:11px 10px}.hero-photo{height:520px}.hero-copy{padding:34px}.hero-copy h1,.carousel-item .hero-copy h2{font-size:48px}.hero-copy p,.carousel-item .hero-copy p{font-size:15px}.hero-actions .btn{font-size:14px;padding:13px 21px}.sidebar{margin-top:18px}.sidebar-content{grid-template-columns:1fr 1fr}.altar-sidebar{display:none}.intro-ribbon{justify-content:center;gap:30px}.gallery-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.footer-inner{flex-wrap:wrap;justify-content:center;text-align:center}.footer-inner .phone-link{width:100%}.mobile-contact{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:1010;background:#fffcf7f7;border-top:1px solid var(--line);padding:10px max(18px,calc((100vw - 700px)/2)) calc(10px + env(safe-area-inset-bottom));box-shadow:0 -6px 25px #29153308}.mobile-contact .btn{width:100%;min-height:48px}body{padding-bottom:calc(72px + env(safe-area-inset-bottom))}.pie{margin-top:55px}}
@media(min-width:768px) and (max-width:991px){.hero-copy{padding:28px 25px}.hero-copy h1,.carousel-item .hero-copy h2{font-size:42px}.hero-photo{height:500px}.hero-copy p,.carousel-item .hero-copy p{font-size:14px}.hero-actions .btn{font-size:13px;padding:12px 17px}.gallery-photo{height:245px}.ritual-photo{height:360px}}
@media(max-width:767px){body{font-size:15px}.container{padding-left:18px;padding-right:18px}main.container{padding-top:23px}.site-header{min-height:79px;padding:7px 0}.brand-logo{width:195px}.site-header nav .nav{grid-template-columns:1fr 1fr}.nav-link{text-align:left;font-size:14px;padding:13px 14px}.hero-photo{height:285px;object-position:center 42%}.slidehome .item{border-radius:16px}.hero-copy{padding:29px 25px 37px}.hero-copy .eyebrow{font-size:9px;margin-bottom:11px}.hero-copy h1,.carousel-item .hero-copy h2{font-size:42px;line-height:1.04;margin-bottom:17px;text-align:left}.hero-copy p,.carousel-item .hero-copy p{text-align:left;font-size:14px;line-height:1.75;margin-bottom:22px}.hero-actions{gap:15px;width:100%}.hero-actions .btn{width:100%;min-height:48px}.carousel-indicators{bottom:7px}.intro-ribbon{justify-content:center;flex-wrap:wrap;gap:7px 18px;font-size:10px;padding-top:20px}.section-space{margin-top:40px}.section-heading{margin-bottom:23px}.section-heading h2{font-size:37px}.service-photo{height:250px}.service-copy{padding:22px}.service-copy h3{font-size:34px}.service-copy p{font-size:14px}.service-copy .text-link{font-size:13px}.sidebar-content{grid-template-columns:1fr}.sidebar{margin-top:16px}.cajasidebar{padding:28px}.cajasidebar p{font-size:14px}.intro-panel{padding:27px 24px}.intro-panel h2{font-size:37px}.intro-panel .btn{width:100%}.faq-section{margin-top:40px}.faq-section summary{font-size:14px;line-height:1.5;padding:19px 0}.faq-section details p{font-size:13px}.page-heading{margin:8px 0 28px}.page-heading h1{font-size:46px}.page-heading>p{font-size:14px}.biography{padding-top:10px}.biography h2{font-size:38px}.biography .btn{width:100%}.ritual-section{scroll-margin-top:15px}.ritual-photo{height:340px}.ritual-section h2{font-size:38px}.ritual-section .btn{width:100%}.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 12px}.gallery-photo{height:220px}.gallery-filters{gap:8px}.gallery-filters button{padding:10px 12px}.gallery-item figcaption{font-size:9px;line-height:1.5}.altar-video{height:400px}.footer-inner{gap:22px}.footer-logo{width:230px}.footer-tagline{font-size:24px}.footer-inner a{font-size:11px}.footer-note{font-size:10px}.footer-dot{padding:0 7px}.reading-copy p{font-size:14px}.reading-copy h2{font-size:34px}.lightbox-toolbar p{font-size:12px}.contact-number{font-size:34px}.eyebrow{font-size:9px}}
@media(min-width:576px) and (max-width:767px){.hero-photo{height:340px}.hero-copy{padding:35px 30px 40px}.service-photo{height:220px}.service-copy{padding:20px}.service-copy h3{font-size:31px}.hero-actions{flex-direction:row;align-items:center}.hero-actions .btn{width:auto}.gallery-photo{height:290px}}
@media(max-width:374px){.container{padding-left:14px;padding-right:14px}.brand-logo{width:180px}.hero-copy{padding:25px 20px 35px}.hero-copy h1,.carousel-item .hero-copy h2{font-size:37px}.hero-photo{height:260px}.contact-number{font-size:29px}.gallery-photo{height:185px}.footer-dot{padding:0 4px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}.carousel-item{transition:none!important}}
/* Controles táctiles y contraste para la lectura de etiquetas pequeñas. */
:root{--gold-dark:#846328}.carousel-indicators button[data-bs-target]{height:44px;width:44px;min-height:44px;background:transparent;position:relative;margin:0 2px}.carousel-indicators button[data-bs-target]::before{position:absolute;top:20px;left:9px;width:26px;height:4px;background:var(--purple)}

/* Acciones de consulta: identidad de WhatsApp y texto de alto contraste. */
.gallery-photo{object-fit:contain;background:#211c23}.hero-photo,.service-photo,.sidebar-photo,.ritual-photo{object-position:center bottom}
.btn-brand.btn-whatsapp{background:#25d366;border-color:#25d366;color:#073b23!important;font-weight:600;box-shadow:0 4px 14px #128c7e22}.btn-brand.btn-whatsapp:hover,.btn-brand.btn-whatsapp:focus{background:#1fbd5b;border-color:#1fbd5b;color:#073b23!important}.btn-brand.btn-whatsapp:active{background:#1bae53;border-color:#1bae53}.wa-icon{display:block;width:24px;height:24px;flex:0 0 24px;fill:currentColor}.header-contact .wa-icon{width:21px;height:21px;flex-basis:21px}.btn-whatsapp:focus-visible{outline:3px solid #075e54;outline-offset:4px}
