@font-face{font-family:Editorial;src:url('/assets/serif.woff2') format('woff2');font-style:normal;font-weight:100 900;font-display:swap}
@font-face{font-family:Editorial;src:url('/assets/serif-italic.woff2') format('woff2');font-style:italic;font-weight:100 900;font-display:swap}
@font-face{font-family:Sans;src:url('/assets/sans.woff2') format('woff2');font-style:normal;font-weight:100 900;font-display:swap}
:root{--cream:#f8f5ee;--ink:#242321;--red:#850e18;--rule:#cda7a0;--muted:#645d59;--gutter:clamp(20px,3cqw,44px)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;color:var(--ink);background:var(--cream);font-family:Editorial,Georgia,serif}.page{max-width:1440px;margin:auto;container-type:inline-size}h1,h2,h3,p,figure,blockquote,dl,dd{margin:0}h1,h2,h3{font-weight:350}h1,h2,h3{letter-spacing:-.04em}h1,h2{line-height:1.02}em{font-weight:inherit;color:var(--red)}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button{cursor:pointer}button{border:0}button,a{-webkit-tap-highlight-color:transparent}img{display:block;max-width:100%;object-fit:cover}figure{min-width:0}address{font-style:normal}[hidden]{display:none!important}.mobile-copy{display:none!important}.eyebrow{font:400 12px/1.5 Sans,Arial,sans-serif;letter-spacing:3px;text-transform:uppercase;color:var(--red)}.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.skip-link{position:fixed;top:8px;left:8px;z-index:40;background:var(--cream);padding:12px;font:16px Sans,Arial,sans-serif;transform:translateY(-160%)}.skip-link:focus{transform:none}:focus-visible{outline:3px solid #1157ba;outline-offset:5px}#main:focus{outline:none}.button{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:13px 28px;border:1px solid var(--red);border-radius:999px;background:var(--red);color:var(--cream);font:400 16px/1.3 Sans,Arial,sans-serif;text-align:center;transition:background-color 160ms,color 160ms}.button:hover{background:#650812}.button-outline{background:transparent;color:var(--red)}.button-outline:hover{background:#efe3dc}.button-light{background:var(--cream);border-color:var(--cream);color:var(--red)}.button-light:hover{background:#eee4d9;border-color:#eee4d9}.button-outline-light{background:transparent;color:var(--cream);border-color:var(--cream)}.button-outline-light:hover{background:#ffffff15}.text-link{display:inline-block;background:none;color:var(--red);font:400 16px/1.4 Sans,Arial,sans-serif;text-decoration:underline;text-underline-offset:5px;padding:8px 0;min-height:40px}
/* Shared navigation and footer. */
.site-header{display:flex;align-items:center;gap:24px;height:clamp(84px,8.2cqw,116px);padding:0 5.1%;background:var(--cream)}.brand{display:flex;align-items:center;gap:13px;white-space:nowrap}.brand img{width:clamp(50px,5.2cqw,74px);height:auto;aspect-ratio:1;clip-path:circle(48% at 50% 50%)}.brand-name{display:block;font-size:clamp(24px,2.6cqw,37px);line-height:1.05;letter-spacing:-.8px}.brand-subtitle{display:block;text-align:center;font:8px/1.2 Sans,Arial,sans-serif;letter-spacing:4px;margin-top:8px}.desktop-nav{display:flex;align-items:center;gap:clamp(16px,2cqw,29px);margin-left:auto;white-space:nowrap}.desktop-nav a{font:14px/1.4 Sans,Arial,sans-serif;padding:12px 0}.desktop-nav [aria-current=page]{text-decoration:underline;text-underline-offset:6px;text-decoration-color:var(--red)}.header-book{white-space:nowrap;padding:11px 24px}.language-toggle{background:none;white-space:nowrap;padding:12px 0;font:12px Sans,Arial,sans-serif}.lang-en{color:var(--red)}.menu-button{display:none}.mobile-menu[hidden]{display:none}.site-footer{display:grid;grid-template-columns:46% 22% 32%;gap:0;padding:35px 5% 20px;background:var(--cream);color:var(--ink)}.footer-brand{display:flex;gap:14px;align-items:flex-start;padding-top:5px;max-width:100%;width:max-content}.footer-brand img{width:64px;height:64px;clip-path:circle(48% at 50% 50%)}.footer-brand>span{font-size:clamp(24px,2.3cqw,34px);padding-top:9px;line-height:1;white-space:nowrap}.footer-brand small{display:block;font:8px/1.2 Sans,Arial,sans-serif;letter-spacing:4px;text-align:center;margin-top:12px}.footer-links{display:flex;flex-direction:column;align-items:flex-start;gap:0;padding:0 20px}.footer-links .eyebrow,.footer-contact>.eyebrow{font-size:12px;letter-spacing:2.5px;margin-bottom:10px}.footer-links>a{font:16px/1.4 Sans,Arial,sans-serif;padding:3px 0}.footer-contact{border-left:1px solid var(--rule);padding-left:clamp(20px,5cqw,70px);font:16px/1.45 Sans,Arial,sans-serif}.footer-phone{display:block}.footer-directions{margin-top:12px;min-height:40px;font-size:14px;padding:9px 22px}.footer-bottom{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:16px;border-top:1px solid var(--rule);margin-top:30px;padding-top:15px;font:12px/1.5 Sans,Arial,sans-serif}.footer-place{letter-spacing:2px}.preview-credit{font-size:14px}.footer-bottom .text-link{font-size:14px;min-height:40px;padding:9px 0}
/* Approved home composition. */
.home-hero{display:grid;grid-template-columns:47% 53%;margin:0 2.8%;background:var(--red);color:var(--cream);overflow:hidden;border-radius:4px}.hero-copy{padding:8.5cqw 1.5cqw 4.4cqw 5.3cqw;align-self:center}.hero-copy .eyebrow{color:var(--cream);font-size:12px;letter-spacing:3px;margin-bottom:24px}.hero-copy h1{font-size:clamp(40px,5.85cqw,84px);line-height:1.03;letter-spacing:-.04em;white-space:nowrap}.hero-copy h1 em{color:inherit}.hero-description{font:400 clamp(16px,1.8cqw,25px)/1.4 Sans,Arial,sans-serif;margin-top:28px}.hero-actions{display:flex;flex-direction:column;align-items:flex-start;gap:14px;margin-top:30px}.hero-actions .button{width:70%;min-width:220px}.hero-venue-link{font:16px/1.4 Sans,Arial,sans-serif;text-decoration:underline;text-underline-offset:6px;padding:8px;min-height:40px}.hero-image{display:block;min-width:0}.hero-image img{width:100%;height:100%;object-position:center top}.hero-caption-row{display:flex;justify-content:space-between;align-items:center;gap:20px;margin:0 2.8%;padding:19px 2.5%;border-bottom:1px solid var(--rule);font:14px/1.5 Sans,Arial,sans-serif}.hero-caption-row>p:first-child{font-size:12px;letter-spacing:3px;text-transform:uppercase}.occasion-section{padding:30px 4.8% 24px}.occasion-header{display:grid;grid-template-columns:49% 51%;align-items:end;gap:0;margin:0 0 26px}.occasion-header h2{font-size:clamp(35px,4.6cqw,64px);letter-spacing:-.05em;white-space:nowrap}.occasion-tabs{display:flex;padding-left:16px}.occasion-tabs button{flex:1;min-width:0;min-height:46px;background:none;border-bottom:1px solid #dcc6bb;padding:10px 8px;color:var(--ink);font:clamp(12px,1.18cqw,17px)/1.35 Sans,Arial,sans-serif}.occasion-tabs [aria-selected=true]{color:var(--red);border-bottom:3px solid var(--red)}.occasion-panel{display:grid;grid-template-columns:59% 41%;grid-template-areas:'photo heading' 'photo details';align-items:center}.occasion-panel-heading{grid-area:heading;padding:30px 0 0 3.6cqw;align-self:end}.occasion-panel-heading h3{font-size:clamp(44px,6.2cqw,86px);line-height:.98;letter-spacing:-.055em}.occasion-panel-image{grid-area:photo;width:100%;height:100%;min-height:320px;aspect-ratio:1.64;object-position:center top}.occasion-panel-details{grid-area:details;padding:25px 0 28px 3.6cqw;align-self:start}.occasion-panel-details p{font:clamp(16px,1.8cqw,25px)/1.45 Sans,Arial,sans-serif;margin-bottom:28px}.occasion-panel-details .button{min-width:65%}.home-venue{margin:0 2.8%}.home-venue>.venue-image{width:100%;height:auto;aspect-ratio:2.85;object-position:center 48%}.home-venue-copy{display:flex;justify-content:space-between;align-items:center;gap:30px;padding:22px 2.5% 25px;border-bottom:1px solid var(--rule)}.home-venue-copy h2{font-size:clamp(36px,4.1cqw,58px);margin:8px 0 5px;letter-spacing:-.045em}.home-venue-copy p:not(.eyebrow){font-size:clamp(18px,1.85cqw,26px);line-height:1.4}.home-venue-copy>.button{flex-shrink:0;min-width:22%}.reviews-section{margin:0 2.8%;padding:25px 2.5% 20px}.reviews-label{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:15px}.review-disclosure{display:flex;align-items:center;gap:14px;color:var(--muted);font:12px/1.4 Sans,Arial,sans-serif}.review-stars{font:14px/1 Sans,Arial,sans-serif;letter-spacing:2px;color:var(--red)}.featured-reviews{min-height:155px}.featured-review{position:relative;padding-right:22%}.featured-review blockquote{font-size:clamp(28px,3.6cqw,49px);line-height:1.04;letter-spacing:-.035em;max-width:950px}.review-byline{font:16px/1.5 Sans,Arial,sans-serif;margin:14px 0 0 18px;color:var(--muted)}.review-source{position:absolute;right:0;top:40%;font-size:16px}.reviews-bottom{display:flex;justify-content:flex-end;align-items:center;gap:20px}.review-dots{display:flex;gap:0}.review-dot{display:flex;align-items:center;justify-content:center;width:44px;height:44px;background:none}.review-dot span{width:8px;height:8px;border-radius:50%;background:#968475}.review-dot[aria-pressed=true] span{background:var(--red)}.reviews-motion-note{font:14px/1.4 Sans,Arial,sans-serif;color:var(--muted);margin-right:auto}.review-enter{animation:review-in 350ms ease both}@keyframes review-in{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}.home-appointment{display:flex;align-items:center;justify-content:space-between;gap:30px;background:var(--red);color:var(--cream);padding:35px 6%}.home-appointment h2{font-size:clamp(40px,5.5cqw,76px);white-space:nowrap;letter-spacing:-.045em}.home-appointment em{color:inherit}.home-appointment>div{display:flex;gap:22px;min-width:48%}.home-appointment .button{flex:1;min-width:0}
/* Shared native dialog. */
#details-dialog{border:1px solid var(--rule);border-radius:12px;background:var(--cream);color:var(--ink);width:min(620px,92vw);max-height:86dvh;padding:38px 30px}#details-dialog::backdrop{background:#1d1010aa}.close-dialog{position:absolute;right:9px;top:7px;width:44px;height:44px;background:none;font:34px Sans,Arial,sans-serif}#dialog-content h2{font-size:40px;margin-bottom:20px}#dialog-content p{font:16px/1.5 Sans,Arial,sans-serif;margin-bottom:16px}.modal-open{overflow:hidden}
@media(max-width:1099px){.site-header{height:76px;position:sticky;top:0;z-index:20;padding:0 4%;gap:14px;border-bottom:1px solid #e6d7cd}.menu-button{display:flex;flex-direction:column;justify-content:center;gap:6px;width:44px;min-width:44px;height:44px;padding:8px;background:none}.menu-button span{width:26px;height:1px;background:var(--ink)}.site-header .brand{margin:auto;gap:12px}.brand img{width:54px;height:54px}.brand-name{font-size:28px}.brand-subtitle{font-size:7px;letter-spacing:3px}.desktop-nav,.language-toggle{display:none}.header-book{width:54px;height:54px;min-height:54px;padding:0;border-radius:50%;font-size:14px;flex-shrink:0}.header-book .desktop-copy{display:none!important}.header-book .mobile-copy{display:block!important}html:lang(es) .header-book{font-size:11px;letter-spacing:-.2px}.mobile-menu:not([hidden]){position:fixed;z-index:19;top:76px;left:0;right:0;display:flex;flex-direction:column;background:var(--cream);padding:12px 5% 20px;border-bottom:1px solid var(--rule);box-shadow:0 10px 18px #24101412;max-height:calc(100dvh - 76px);overflow:auto}.mobile-menu a,.mobile-menu button{font:18px/1.4 Sans,Arial,sans-serif;color:var(--red);background:none;padding:12px;text-align:left}.hero-copy{padding-top:5.5cqw}.hero-copy .eyebrow{font-size:11px;letter-spacing:2px}.hero-copy h1{font-size:5.7cqw}.hero-description{margin-top:22px}.hero-actions{margin-top:24px;gap:9px}.hero-actions .button{width:83%;min-width:0}.hero-caption-row{padding-inline:2%;font-size:12px}.hero-caption-row>p:first-child{letter-spacing:2px}.occasion-header{grid-template-columns:1fr;margin-bottom:22px;gap:18px}.occasion-header h2{font-size:44px}.occasion-tabs{padding:0}.occasion-tabs button{font-size:16px}.occasion-panel-heading h3{font-size:5.9cqw}.occasion-panel-image{min-height:310px}.occasion-panel-details .button{padding-inline:20px}.home-venue-copy{align-items:flex-start}.home-venue-copy h2{font-size:38px}.home-venue-copy p:not(.eyebrow){font-size:18px}.home-venue-copy>.button{margin-top:27px}.review-disclosure{max-width:55%;font-size:12px}.featured-reviews{min-height:170px}.featured-review{padding-right:20%}.featured-review blockquote{font-size:35px}.home-appointment{padding:30px 5%;gap:20px}.home-appointment h2{font-size:44px}.home-appointment>div{gap:12px;min-width:50%}.home-appointment .button{padding-inline:16px}.site-footer{grid-template-columns:43% 23% 34%;padding-inline:5%}.footer-brand img{width:48px;height:48px}.footer-brand{gap:10px}.footer-brand>span{font-size:24px}.footer-brand small{font-size:7px;letter-spacing:3px}.footer-links{padding-left:15px}.footer-contact{padding-left:25px;font-size:14px}.footer-links>a{font-size:15px}.footer-place{font-size:11px;letter-spacing:1px}}
@media(max-width:760px){html{scroll-padding-top:82px}.desktop-copy{display:none!important}.mobile-copy{display:block!important}.site-header{height:72px;padding:0 4%;gap:8px}.site-header .brand{gap:10px}.brand img{width:49px;height:49px}.brand-name{font-size:clamp(17px,4.7vw,26px);letter-spacing:-.6px}.brand-subtitle{font-size:6px;letter-spacing:3px;margin-top:6px}.header-book{width:50px;height:50px;min-height:50px;font-size:13px}.mobile-menu:not([hidden]){top:72px;max-height:calc(100dvh - 72px)}.button{font-size:17px;min-height:48px;padding:12px 24px}.eyebrow{font-size:12px;letter-spacing:3px}.home-hero{display:flex;flex-direction:column;margin:0;border-radius:0}.hero-image{order:-1}.hero-image img{height:auto;aspect-ratio:1.15;object-position:center top}.hero-copy{padding:22px 7% 24px;width:100%}.hero-copy .eyebrow{font-size:12px;letter-spacing:3px;margin-bottom:8px}.hero-copy h1{font-size:clamp(40px,12.5vw,66px);line-height:1.02;letter-spacing:-.05em;white-space:nowrap}.hero-description{font-size:clamp(17px,4.25vw,22px);line-height:1.45;margin-top:24px}.hero-description br{display:none}.hero-actions{margin-top:17px;gap:11px;width:100%}.hero-actions .button{width:100%;min-height:48px}.hero-venue-link{display:flex;align-items:center;justify-content:center;border:1px solid var(--cream);border-radius:999px;min-height:48px;width:100%;padding:12px 22px;font-size:17px;text-decoration:none}.hero-caption-row{display:block;margin:0;padding:22px 7% 0;border:0}.hero-caption-row>p:first-child{font-size:11px;letter-spacing:2.4px;line-height:1.5}.occasion-section{padding:14px 4% 23px}.occasion-header{display:block;margin:0 0 30px}.occasion-header h2{font-size:clamp(31px,8.7vw,46px);letter-spacing:-.055em;white-space:nowrap;margin:0 2% 10px}.occasion-tabs{display:flex}.occasion-tabs button{font-size:13px;padding:10px 5px;min-height:48px}.occasion-panel{display:flex;flex-direction:column}.occasion-panel-heading{width:100%;padding:0 2% 12px;align-self:auto}.occasion-panel-heading .eyebrow{margin-bottom:10px}.occasion-panel-heading h3{font-size:clamp(34px,8.8vw,47px);line-height:1.02;letter-spacing:-.05em}.occasion-panel-heading h3 br{display:none}.occasion-panel-image{width:100%;height:auto;min-height:0;aspect-ratio:1.62;object-position:center top}.occasion-panel-details{padding:10px 1% 0;width:100%;text-align:center}.occasion-panel-details p{font-size:17px;line-height:1.35;margin-bottom:15px}.occasion-panel-details p br{display:none}.occasion-panel-details .button{width:100%;font-size:18px}.home-venue{margin:0}.home-venue>.venue-image{aspect-ratio:2.08;object-position:center}.home-venue-copy{display:block;padding:16px 5% 28px;border:0}.home-venue-copy h2{font-size:clamp(32px,8.4vw,47px);letter-spacing:-.06em;margin:9px 0}.home-venue-copy p:not(.eyebrow){font:17px/1.45 Sans,Arial,sans-serif;color:var(--muted)}.home-venue-copy>.button{width:100%;margin-top:17px}.reviews-section{margin:0;padding:30px 6% 26px;border-top:1px solid var(--rule)}.reviews-label{display:block;margin-bottom:14px}.review-disclosure{max-width:none;font-size:11px;gap:8px;margin-top:10px;line-height:1.4;flex-wrap:wrap}.review-stars{font-size:12px}.featured-reviews{min-height:250px}.featured-review{padding:0}.featured-review blockquote{font-size:clamp(29px,7.8vw,40px);line-height:1.08;letter-spacing:-.045em}.review-byline{font-size:15px;margin:18px 0}.review-source{position:static;font-size:16px}.reviews-bottom{justify-content:center;flex-direction:column;gap:5px;margin-top:5px}.reviews-motion-note{margin-right:0;text-align:center}.review-dots{justify-content:center}.home-appointment{display:block;padding:30px 6% 28px}.home-appointment h2{font-size:clamp(37px,10.8vw,58px);letter-spacing:-.045em;margin-bottom:24px;white-space:nowrap}.home-appointment>div{display:flex;flex-direction:column;gap:12px}.home-appointment .button{width:100%;min-height:50px;font-size:17px}.site-footer{display:flex;flex-direction:column;align-items:center;padding:24px 6% 20px;text-align:center}.footer-brand{flex-direction:column;align-items:center;gap:12px;padding:0}.footer-brand img{width:52px;height:52px}.footer-brand>span{font-size:25px;padding:0}.footer-brand small{font-size:7px;letter-spacing:3px;margin-top:10px}.footer-contact{order:1;border:0;padding:0;margin-top:22px;width:100%;font-size:16px;line-height:1.4}.footer-contact>.eyebrow{display:none}.footer-directions{width:66%;min-height:42px;font-size:15px;margin-top:12px}.footer-links{order:2;display:grid;grid-template-columns:1fr 1fr;gap:1px 24px;padding:14px 16% 15px;margin-top:22px;border-top:1px solid var(--rule);width:100%;text-align:left}.footer-links .eyebrow{display:none}.footer-links>a{font-size:16px;padding:6px 0}.footer-bottom{order:3;display:flex;justify-content:center;flex-wrap:wrap;width:100%;gap:8px 22px;padding-top:18px;margin-top:0}.footer-place{width:100%;font-size:11px;letter-spacing:2px}.preview-credit,.footer-bottom .text-link{font-size:14px}.footer-bottom .text-link{min-height:36px;padding:7px 0}#details-dialog{padding:40px 23px 24px}#dialog-content h2{font-size:34px}}
@media(max-width:380px){.site-header{padding-inline:10px;gap:5px}.menu-button{min-width:34px;width:34px;padding:4px}.site-header .brand{gap:6px}.brand img{width:40px;height:40px}.brand-name{font-size:17px}.brand-subtitle{font-size:5px;letter-spacing:2.4px}.header-book{width:46px;height:46px;min-height:46px;font-size:12px}html:lang(es) .header-book{font-size:10px}.hero-copy{padding-inline:6%}.hero-copy h1{font-size:12.1vw}.hero-caption-row>p:first-child{font-size:10px;letter-spacing:1.8px}.occasion-header h2{font-size:8.55vw}.occasion-tabs button{font-size:12px}.footer-links{padding-inline:12%}.home-appointment h2{font-size:10.5vw}}
html:lang(es) .hero-copy h1{font-size:5.05cqw}html:lang(es) .occasion-header h2{font-size:4.1cqw}html:lang(es) .home-appointment h2{font-size:4.6cqw}
@media(min-width:1100px){html:lang(es) .site-header{gap:15px}html:lang(es) .desktop-nav{gap:18px}html:lang(es) .desktop-nav a{font-size:13px}html:lang(es) .header-book{padding-inline:18px;font-size:14px}}
@media(max-width:760px){html:lang(es) .hero-copy h1{font-size:10.6vw}html:lang(es) .occasion-header h2{font-size:8vw}html:lang(es) .home-appointment h2{font-size:9.3vw}html:lang(es) .hero-copy .eyebrow{font-size:12px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}

/* Let copy establish the desktop hero height without portrait intrinsic sizing. */
@media(min-width:761px){.hero-image{position:relative}.hero-image img{position:absolute;inset:0;width:100%;height:100%}}

.home-hero :focus-visible,.home-appointment :focus-visible{outline-color:var(--cream);outline-offset:5px}

@media(min-width:761px) and (max-width:1099px){html:lang(es) .hero-copy h1{font-size:4.45cqw;letter-spacing:-.045em}}
