/* Original lightweight adaptations inspired by React Bits visual patterns. */
.reveal-ready{opacity:0;transform:translateY(24px);transition:opacity .85s ease,transform .85s cubic-bezier(.2,.7,.2,1);transition-delay:var(--reveal-delay,0ms)}.reveal-ready.is-visible,.reveal-ready:focus-within{opacity:1;transform:none}.text-reveal{filter:blur(5px);transform:translateY(13px);transition:opacity 1s ease,filter 1s ease,transform 1s ease}.text-reveal.is-visible{filter:blur(0)}
.light-card{position:relative;isolation:isolate}.light-card::before{content:'';position:absolute;inset:0;border-radius:inherit;pointer-events:none;background:radial-gradient(320px circle at var(--light-x,50%) var(--light-y,30%),#ecd29a24,transparent 75%);opacity:0;transition:opacity .45s;z-index:4}.light-card:hover::before,.light-card:focus-within::before{opacity:1}.venue-grid .place-card{transition:box-shadow .4s,border-color .4s}.venue-grid .place-card:hover{box-shadow:0 20px 45px #153d2b33;border-color:#c2a566}.photo-button img{transition:transform 1.1s cubic-bezier(.2,.7,.2,1)!important}.photo-button:hover img{transform:scale(1.055)!important}.photo-button:focus-visible img{transform:scale(1.025)}.button.gold{position:relative;overflow:hidden;isolation:isolate}.button.gold::after{content:'';position:absolute;top:-60%;bottom:-60%;width:35%;left:-65%;background:linear-gradient(90deg,transparent,#fff8,transparent);transform:skewX(-20deg);pointer-events:none}.button.gold:hover::after,.button.gold:focus-visible::after{animation:gold-sheen .9s ease-out}.contact-box{transition:box-shadow .4s}.contact-box:focus-within{box-shadow:0 22px 55px #051d1855,0 0 0 1px #dac28c}.hero-arrival{animation:hero-arrival 1.2s ease both}.gallery-arrival{animation:gallery-arrival .4s ease both}@keyframes gold-sheen{to{left:150%}}@keyframes hero-arrival{from{opacity:0;filter:blur(6px);transform:translateY(16px)}to{opacity:1;filter:blur(0);transform:none}}@keyframes gallery-arrival{from{opacity:.3;transform:scale(.985)}to{opacity:1;transform:scale(1)}}
@media(hover:none){.light-card::before{display:none}.photo-button:hover img{transform:none!important}}
@media(prefers-reduced-motion:reduce){.reveal-ready,.text-reveal{opacity:1;transform:none;filter:none;transition:none}.hero-arrival,.gallery-arrival,.button.gold::after{animation:none!important}.photo-button img,.venue-grid .place-card,.light-card::before{transition:none!important}.photo-button:hover img,.photo-button:focus-visible img{transform:none!important}}
/* Quiet, coordinated movement with readable content throughout. */
html{scroll-behavior:smooth;scroll-padding-top:120px}
.reveal-ready{transform:translateY(16px);transition:opacity .65s ease,transform .65s cubic-bezier(.22,.61,.36,1),box-shadow .35s ease,border-color .35s ease}
.text-reveal{filter:none;transition:opacity .7s ease,transform .7s cubic-bezier(.22,.61,.36,1)}
.text-reveal:focus-within{filter:none}
.button.gold::after{display:none}
.button{box-shadow:0 5px 16px #102d1d16;transition:background-color .25s ease,color .25s ease,border-color .25s ease,transform .25s ease,box-shadow .25s ease}
.button:hover{box-shadow:0 8px 22px #102d1d24;transform:translateY(-2px)}
.header-call,.contact-email,.branch-photo span,.photo-count{transition:background-color .25s ease,color .25s ease,border-color .25s ease,box-shadow .25s ease}
.branch-card,.service-card,.partner-card{transition:box-shadow .35s ease,border-color .35s ease,background-color .35s ease}
.branch-card:hover,.branch-card:focus-within{box-shadow:0 12px 28px #17382b26;border-color:#b99c60}
.branch-photo img,.service-card>img{transition:transform .8s cubic-bezier(.22,.61,.36,1)}
.partner-card{border-color:#baa67b80;box-shadow:0 5px 18px #6958340d}
.partner-card img{width:100%;max-width:195px;height:82px;object-fit:contain}
.alternative-brand-logo{box-shadow:none;border-color:#b9ae8e66}
#gallery-dialog[open]{animation:dialog-enter .28s ease-out}
#gallery-dialog::backdrop{background:#071f18c9;backdrop-filter:blur(4px)}
#gallery-thumbnails button{transition:border-color .2s,opacity .2s;opacity:.7}
#gallery-thumbnails button:hover,#gallery-thumbnails button[aria-pressed=true]{opacity:1}
:where(a,button,summary,select):focus-visible{outline:2px solid #b58a43;outline-offset:4px}
@keyframes dialog-enter{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
@media(hover:hover){.service-card:hover>img{transform:scale(1.035)}}
@media(max-width:700px){html{scroll-padding-top:110px}.contact-email{font-size:16px;max-width:100%}.alternative-brand-logo{max-width:calc(100% - 30px)}.agreement-consult{gap:16px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.reveal-ready,.text-reveal{opacity:1;filter:none;transform:none}.branch-photo:hover img,.service-card:hover>img{transform:none}}
/* Original identity supplied by the client and prevention offer. */
header .header-logo.original-brand{width:190px;height:108px;object-fit:contain;border-radius:3px}
.contact-logo.original-brand{width:300px;max-width:100%;height:auto;mix-blend-mode:normal;filter:none;border-radius:5px;margin-bottom:28px}
.welcome-logo.original-brand{width:min(460px,80vw);height:auto;max-height:48vh;border-radius:6px;filter:drop-shadow(0 12px 28px #061c1840)}
.cremation-offer{display:grid;grid-template-columns:1.2fr 1fr auto;align-items:center;gap:32px;padding:38px 7%;background:linear-gradient(110deg,#f4ead5,#ded5b9);border-block:1px solid #bca16a;color:#193c2e}
.cremation-offer .eyebrow{font-size:10px;letter-spacing:2px;color:#715b32;margin:0 0 10px}.cremation-offer h2{font:36px/1.15 'Libre Caslon Display',Georgia,serif;margin:0 0 10px}.cremation-offer p{font-size:14px;margin:0;line-height:1.6}.cremation-price{border-left:1px solid #bba776;padding-left:30px}.cremation-price>span{display:block;font-size:12px;line-height:1.6}.cremation-price p{font:52px/1.25 'Libre Caslon Display',Georgia,serif;margin:3px 0 9px}.cremation-price small{font:16px Arial,sans-serif}.cremation-offer .button{white-space:nowrap}
@media(max-width:850px){.cremation-offer{grid-template-columns:1fr 1fr;gap:24px}.cremation-offer .button{grid-column:1/-1;justify-self:start}}
@media(max-width:550px){.cremation-offer{grid-template-columns:1fr;padding:30px 7%}.cremation-price{border-left:0;border-top:1px solid #bba776;padding:18px 0 0}.cremation-offer h2{font-size:32px}.cremation-offer .button{width:100%}header .header-logo.original-brand{width:165px;height:94px}}
/* The original vector emblem, integrated into the established palette. */
header .header-logo.original-brand{width:220px;height:104px;border-radius:0;background:none}
.contact-logo.original-brand{width:310px;height:auto;border-radius:0;background:none;margin-bottom:24px}
.welcome-logo.original-brand{width:min(620px,85vw);max-height:45vh;border-radius:0;background:none;filter:drop-shadow(0 3px 12px #061c1880)}
.welcome-tagline{font-size:clamp(12px,1.7vw,19px);letter-spacing:2px;margin-top:12px}
.plan .cremation-offer{position:relative;isolation:isolate;overflow:hidden;margin:30px 0 24px;padding:32px 36px;grid-template-columns:1.2fr 1fr;gap:22px 36px;background:#193c2e;color:#f5edda;border:1px solid #bfa87370;border-radius:12px;box-shadow:0 12px 30px #18372a18}
.plan .cremation-offer::before{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#143729f5,#143729dd),url('assets/cremacion.jpg') center/cover}
.plan .cremation-offer .eyebrow{color:#e5c98e}.plan .cremation-offer h2{color:#fff0d5;font-size:34px}.plan .cremation-offer p{color:#dbe4d9}.plan .cremation-price{grid-column:2;grid-row:1/3;align-self:center;border-color:#c6ac7255;padding-left:36px}.plan .cremation-price p{color:#f1d69d;font-size:54px}.plan .cremation-price>span{color:#dbe4d9;max-width:290px}.plan .cremation-offer .button{grid-column:1;justify-self:start;background:#e7d09e;color:#163729;border-color:#e7d09e;min-height:44px;font-size:14px;box-shadow:none}.plan .cremation-offer .button:hover{background:#fff0cc;color:#163729}
@media(max-width:650px){header .header-logo.original-brand{width:195px;height:92px}.plan .cremation-offer{padding:26px;grid-template-columns:1fr;gap:20px}.plan .cremation-price{grid-column:auto;grid-row:auto;border-left:0;border-top:1px solid #c6ac7255;padding:18px 0 0}.plan .cremation-offer h2{font-size:29px}.plan .cremation-offer .button{grid-column:auto;width:100%}.contact-logo.original-brand{width:260px}}
/* Compact opening lockup: symbol, name and tagline read as one unit. */
.welcome-logo.original-brand{max-height:42vh}.welcome-tagline{margin-top:4px;line-height:1.35}@media(max-width:650px){.welcome-tagline{margin-top:4px}}
.branch-inquiry-logo{height:190px;background:#f4efdf;display:flex;align-items:center;justify-content:center;padding:30px}.branch-inquiry-logo img{width:100%;max-width:240px;height:auto}.branch-inquiry .branch-caption h4{font-size:25px}.branch-inquiry .branch-caption p{color:#dbe4d9;font-size:13px;line-height:1.6;margin:12px 0}.branch-inquiry .button{font-size:12px;min-height:42px;padding:10px 15px}.plan>.cremation-offer{margin:0 0 32px}@media(max-width:700px){.branch-inquiry-logo{height:100%;min-height:165px;padding:18px}.branch-inquiry .branch-caption h4{font-size:21px}.branch-inquiry .button{width:100%}}
.prevention-highlight{display:grid;grid-template-columns:1.2fr 1fr auto;align-items:center;gap:32px;padding:32px 7%;background:linear-gradient(110deg,#d9dfcb,#c9d2bc);border-block:1px solid #a8b398;color:#1c4031}.prevention-highlight .eyebrow{font-size:10px;letter-spacing:2px;color:#655735;margin:0 0 9px}.prevention-highlight h2{font:32px/1.15 'Libre Caslon Display',Georgia,serif;margin:0 0 8px}.prevention-highlight p{font-size:13px;line-height:1.6;margin:0;color:#41583f}.prevention-amount{padding-left:30px;border-left:1px solid #9fae8d}.prevention-amount>span{font-size:12px}.prevention-amount strong{display:block;font:46px/1.25 'Libre Caslon Display',Georgia,serif;color:#204632}.prevention-amount small{font:14px Arial,sans-serif}.prevention-amount p{font-size:11px;max-width:280px;margin-top:5px}.prevention-highlight .button{font-size:14px;white-space:nowrap}@media(max-width:850px){.prevention-highlight{grid-template-columns:1fr 1fr;gap:20px}.prevention-highlight .button{grid-column:1/-1;justify-self:start}}@media(max-width:550px){.prevention-highlight{grid-template-columns:1fr;padding:28px 7%}.prevention-amount{border-left:0;border-top:1px solid #9fae8d;padding:16px 0 0}.prevention-highlight .button{width:100%;grid-column:auto}}
.unified-prevention{gap:36px;padding-block:32px}.unified-prevention h2{font-size:clamp(25px,2.6vw,36px);line-height:1.2}.unified-prevention .prevention-amount>span{font-size:14px;font-weight:600}.unified-prevention .prevention-amount strong{font-size:43px;margin:8px 0}.unified-prevention .price-from{font:12px Arial,sans-serif}.unified-prevention .button{box-shadow:0 5px 18px #14372916}#gallery-source[hidden]{display:none!important}.branch-photo[data-gallery="parque-sjl"] img{object-position:center 45%}@media(max-width:550px){.unified-prevention{gap:18px}.unified-prevention h2{font-size:29px}}
/* Larger, readable type in the prevention highlight. */
.unified-prevention{grid-template-columns:1.15fr 1fr auto;padding-block:36px;gap:30px}.unified-prevention .eyebrow{font-size:12px;letter-spacing:1.7px}.unified-prevention h2{font-size:clamp(32px,3vw,44px);line-height:1.2}.unified-prevention .prevention-amount>span{font-size:21px;font-weight:600;line-height:1.4}.unified-prevention .prevention-amount strong{font-size:62px;line-height:1.2;margin:10px 0}.unified-prevention .price-from{font-size:16px}.unified-prevention .prevention-amount small{font-size:19px}.unified-prevention .prevention-amount p{font-size:15px;line-height:1.6;max-width:360px;color:#344c36}.unified-prevention .button{font-size:16px;min-height:52px}
@media(max-width:1100px){.unified-prevention{grid-template-columns:1fr 1fr}.unified-prevention .button{grid-column:1/-1;justify-self:start}}
@media(max-width:550px){.unified-prevention{grid-template-columns:1fr;gap:20px;padding-block:30px}.unified-prevention h2{font-size:34px}.unified-prevention .prevention-amount>span{font-size:20px}.unified-prevention .prevention-amount strong{font-size:56px}.unified-prevention .prevention-amount small{font-size:18px}.unified-prevention .prevention-amount p{font-size:15px}.unified-prevention .button{grid-column:auto;width:100%}}
/* Touch navigation must remain native and responsive. */
.partner-track{touch-action:pan-x pan-y;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;overflow-anchor:none}.partner-card{flex-shrink:0}
@media(pointer:coarse){html{scroll-behavior:auto}.reveal-ready,.text-reveal{opacity:1!important;transform:none!important;filter:none!important;transition:none!important}.light-card::before{display:none}.hero-arrival,.gallery-arrival{animation:none}.hero{background-attachment:scroll}.photo-button:hover img,.branch-photo:hover img,.service-card:hover>img,.plan article:hover .plan-photo img{transform:none!important}#gallery-dialog::backdrop{backdrop-filter:none}.welcome-skip{backdrop-filter:none}}
@media(max-width:700px){#gallery-dialog{width:calc(100% - 24px);max-height:calc(100dvh - 24px);overflow-y:auto;overscroll-behavior:contain;padding:18px}#gallery-dialog .gallery-header{position:sticky;top:-18px;z-index:5;background:#f4efe2;padding:12px 0;gap:12px}#gallery-title{font-size:25px}#close-gallery{flex-shrink:0;min-width:65px}#gallery-image{max-height:44dvh;object-fit:contain}#gallery-thumbnails{touch-action:pan-x;display:flex;gap:8px}#gallery-thumbnails button{min-width:60px;min-height:48px}.gallery-footer{display:flex;flex-wrap:wrap;gap:14px}.wa-consult{bottom:max(12px,env(safe-area-inset-bottom))}.contact .contact-logo.original-brand{height:auto}nav.open{max-height:calc(100dvh - 106px);overflow-y:auto}}
/* Stable intro geometry: no zoom, blur or viewport reflow during opening. */
.brand-welcome{height:var(--welcome-height,100svh);max-height:none;box-sizing:border-box;transition:opacity .25s ease;background:#193c2e}.welcome-scene{height:100%;width:100%;background:#193c2e}.welcome-scene::before{background:linear-gradient(90deg,#071b2255,#102d2440),url('assets/hero-ia.png') center/cover no-repeat;opacity:0;transition:opacity .35s ease}.welcome-ready .welcome-scene::before{opacity:1}.welcome-logo.original-brand{aspect-ratio:600/218;object-fit:contain;animation:none;filter:none;opacity:0;transition:opacity .35s ease;width:min(620px,85vw);height:auto;max-height:none}.welcome-tagline{animation:none;opacity:0;transition:opacity .35s ease}.welcome-ready .welcome-logo,.welcome-ready .welcome-tagline{opacity:1}.welcome-skip{backdrop-filter:none}.welcome-scene::before,.welcome-scene::after{animation:none;transform:none}@media(max-width:650px){.welcome-scene{padding:24px}.welcome-logo.original-brand{width:100%;max-width:480px}.welcome-tagline{font-size:13px;line-height:1.5;letter-spacing:1.3px;max-width:100%;margin-top:10px}.welcome-skip{bottom:24px;right:24px}}@media(prefers-reduced-motion:reduce){.brand-welcome,.welcome-logo,.welcome-tagline,.welcome-scene::before{transition:none}}
