:root{--ink:#191919;--paper:#f9f7f3;--cream:#f1ece3;--gold:#b5a084}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Montserrat,Arial,sans-serif}a{color:inherit;text-decoration:none}header{display:flex;align-items:center;justify-content:space-between;padding:27px 5%;border-bottom:1px solid #ddd5ca;gap:15px}.brand{font-size:14px;letter-spacing:.17em;font-weight:600}nav{display:flex;align-items:center;gap:25px;font-size:12px}nav a:hover,.text-link:hover{color:#8c7655}.nav-reserva{border-bottom:1px solid var(--gold);padding-bottom:6px}.hero{min-height:64vh;display:grid;place-items:center;text-align:center;background:var(--cream);padding:88px 22px}.eyebrow{font-size:10px;letter-spacing:.23em;text-transform:uppercase;color:#8f785e;font-weight:600}.hero h1{max-width:940px;font:500 clamp(55px,9vw,124px)/.93 'Cormorant Garamond',Georgia,serif;margin:24px 0 29px}.hero h1 em,h2 em{font-weight:400}.hero p:last-child{font:400 23px/1.5 'Cormorant Garamond',serif;max-width:560px}.section{max-width:1160px;margin:auto;padding:90px 24px}.section h2{font:500 clamp(43px,6vw,76px)/1.04 'Cormorant Garamond',Georgia,serif;margin:15px 0 45px}.services{border-top:1px solid #d8cfc3}.service{padding:27px 12px;border-bottom:1px solid #d8cfc3;display:grid;grid-template-columns:45px 1fr auto 30px;gap:16px;align-items:center;transition:background .2s}.service:hover,.service.featured{background:#efeae1}.service-index,.service-desc{font-size:11px;color:#8a7b69}.service-title{font:500 clamp(30px,4.5vw,49px) 'Cormorant Garamond',serif}.service-arrow{font-size:23px}.feature{background:#e9e1d5;padding:70px 24px;text-align:center}.feature h2{font:500 clamp(45px,7vw,84px)/1 'Cormorant Garamond',serif;margin:14px auto 22px}.feature p{font-size:13px;line-height:1.8}.btn{display:inline-block;padding:17px 28px;margin-top:23px;background:var(--ink);color:white;font-size:11px;letter-spacing:.12em}.contact{text-align:center;padding:90px 22px}.contact h2{font:500 61px 'Cormorant Garamond',serif;margin:14px}.contact p{font-size:13px;line-height:1.7}footer{padding:30px 5%;background:#191919;color:#f1ece3;font-size:10px;letter-spacing:.16em;display:flex;justify-content:space-between;gap:10px}@media(max-width:700px){header{padding:17px;flex-wrap:wrap}.brand{font-size:11px}nav{gap:13px;font-size:10px}.hero{min-height:58vh;padding:70px 17px}.hero h1{font-size:clamp(51px,12vw,72px)}.hero p:last-child{font-size:21px}.section{padding:64px 17px}.service{grid-template-columns:27px 1fr 22px;gap:9px}.service-desc{display:none}.service-title{font-size:37px}.feature{padding:64px 20px}.contact{padding:70px 16px}.contact h2{font-size:49px}footer{flex-direction:column;align-items:center;text-align:center}}
/* Despliegue de Comuniones inmediatamente bajo su fila */
.service-button{width:100%;border:0;border-bottom:1px solid #d8cfc3;text-align:left;font-family:inherit;color:inherit;cursor:pointer}.service-button:focus-visible{outline:2px solid var(--gold);outline-offset:-2px}.service-panel[hidden]{display:none!important}.service-panel{grid-column:1/-1;background:#e9e1d5;border-bottom:1px solid #d8cfc3}.service-panel .feature{padding:58px 22px 68px}.service-panel .feature h2{font-size:clamp(42px,6vw,83px)}@media(max-width:700px){.service-panel .feature{padding:50px 14px 58px}.service-panel .feature h2{font-size:clamp(40px,10vw,58px)}}

/* Menú hamburguesa de AFOCO STUDIO */
.site-header{position:relative;z-index:12}.header-left{display:flex;align-items:center;gap:23px}.menu-trigger{width:38px;height:38px;padding:7px;border:0;background:transparent;display:flex;flex-direction:column;justify-content:center;gap:5px;cursor:pointer;color:inherit}.menu-trigger span{display:block;width:23px;height:1.5px;background:currentColor;transition:transform .2s}.menu-trigger[aria-expanded=true] span:first-child{transform:translateY(6.5px) rotate(45deg)}.menu-trigger[aria-expanded=true] span:nth-child(2){opacity:0}.menu-trigger[aria-expanded=true] span:last-child{transform:translateY(-6.5px) rotate(-45deg)}.drawer-menu[hidden]{display:none!important}.drawer-menu{position:absolute;top:auto;left:0;width:min(360px,100vw);background:#f1ece3;z-index:11;box-shadow:2px 15px 25px #19191920;display:flex;flex-direction:column;border-right:1px solid #d8cfc3;border-bottom:1px solid #d8cfc3;padding:16px 24px 22px}.drawer-menu a{padding:15px 9px;border-bottom:1px solid #d9d0c4;font:500 29px 'Cormorant Garamond',Georgia,serif}.drawer-menu a:last-child{border-bottom:0}.drawer-menu a:hover{color:#8c7655}@media(max-width:700px){.header-left{gap:7px}.site-header{flex-wrap:nowrap}.drawer-menu{width:min(330px,100vw)}}

/* Evitar palabra aislada en la última línea del subtítulo */
.hero p:last-child{max-width:850px;text-wrap:balance}
@media(max-width:700px){.hero p:last-child{max-width:100%;text-wrap:balance}}

/* Navegación editorial responsive (desktop derecha, móvil hamburguesa) */
.site-header{display:flex;align-items:center;justify-content:space-between;z-index:30;position:relative;background:#f9f7f3}.header-left{display:flex;align-items:center}.desktop-navigation{display:flex;align-items:center;gap:clamp(15px,2.5vw,39px);font:500 clamp(17px,1.8vw,23px) 'Cormorant Garamond',Georgia,serif}.desktop-navigation a{white-space:nowrap}.nav-group{position:relative}.gallery-trigger{background:transparent;border:0;color:inherit;padding:13px 0;cursor:pointer;font:inherit}.gallery-trigger span{display:inline-block;font:normal 22px Georgia,serif;transition:transform .2s}.nav-group:hover .gallery-trigger span,.nav-group:focus-within .gallery-trigger span{transform:rotate(90deg)}.gallery-submenu{display:none;position:absolute;right:0;top:100%;min-width:205px;background:#f9f7f3;box-shadow:0 14px 22px #00000014;border:1px solid #e4ddd3;z-index:35;padding:9px 0}.gallery-submenu a{display:block;padding:15px 24px;font:400 21px Montserrat,Arial,sans-serif;font-size:14px}.gallery-submenu a:hover{background:#f1ece3}.nav-group:hover .gallery-submenu,.nav-group:focus-within .gallery-submenu,.nav-group.is-open .gallery-submenu{display:block}.menu-trigger{display:none}.drawer-menu[hidden]{display:none!important}.drawer-menu{position:absolute;top:auto;left:0;width:min(340px,100vw);background:#f1ece3;z-index:31;box-shadow:0 16px 26px #0002;padding:15px 24px;display:flex;flex-direction:column}.drawer-menu a{font:500 26px 'Cormorant Garamond',Georgia,serif;padding:12px 7px;border-bottom:1px solid #ded5c9}.mobile-nav-label{font:600 11px Montserrat,Arial,sans-serif;letter-spacing:.18em;text-transform:uppercase;color:#8f785e;margin:19px 7px 3px}.drawer-menu a:nth-of-type(2),.drawer-menu a:nth-of-type(3){padding-left:22px}.editorial-intro{text-align:center;max-width:780px;margin:0 auto;padding:95px 20px 45px}.editorial-intro h2{font:500 clamp(39px,5vw,59px)/1.08 'Cormorant Garamond',serif;margin:12px 0}.editorial-intro p:last-child{font-size:13px;line-height:1.8}.info-section{padding-top:30px;padding-bottom:20px}@media(max-width:850px){.desktop-navigation{display:none!important}.menu-trigger{display:flex!important}.site-header{padding:17px 16px}.header-left{gap:9px}.drawer-menu{width:min(340px,100vw)}}

/* Menú móvil: alineación y dimensiones uniformes para todas las páginas */
@media(max-width:850px){
 .drawer-menu:not([hidden]){display:flex!important;flex-direction:column!important;align-items:stretch!important;justify-content:flex-start!important;gap:0!important;text-align:left!important;position:absolute!important;left:0!important;right:auto!important;top:100%!important;width:min(84vw,340px)!important;max-width:340px!important;max-height:calc(100dvh - 76px)!important;overflow-y:auto!important;overflow-x:hidden!important;padding:15px 22px 22px!important;margin:0!important;box-shadow:0 12px 32px #0003,0 0 0 100vmax #19191955!important;border:1px solid #ded5c9!important;border-left:0!important;background:#f1ece3!important;z-index:100!important}
 .drawer-menu a{display:block!important;flex:none!important;width:100%!important;padding:13px 8px!important;margin:0!important;border-bottom:1px solid #d9d0c4!important;font:500 27px/1.25 'Cormorant Garamond',Georgia,serif!important;text-align:left!important;white-space:normal!important}
 .drawer-menu a:nth-of-type(2),.drawer-menu a:nth-of-type(3){padding-left:24px!important}
 .drawer-menu .mobile-nav-label{display:block!important;flex:none!important;align-self:stretch!important;width:100%!important;text-align:left!important;margin:19px 0 7px!important;padding:0 8px!important;font:600 10px/1.4 Montserrat,Arial,sans-serif!important;letter-spacing:.18em!important}
}

/* Corrección de posición del menú en iPhone / Safari: fijado al viewport */
@media(max-width:850px){
 .drawer-menu:not([hidden]){position:fixed!important;top:70px!important;left:0!important;right:auto!important;bottom:auto!important;z-index:9999!important;max-height:calc(100dvh - 70px)!important;overscroll-behavior:contain!important;}
}
