*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--color-primary: #730202;--color-primary-dark: #5a0101;--color-primary-light: #8b1a1a;--color-black: #000;--color-white: #fff;--color-gray-100: #f5f5f5;--color-gray-200: #e8e8e8;--color-gray-300: #d4d4d4;--color-gray-400: #9e9e9e;--color-gray-500: #6b6b6b;--color-gray-600: #4a4a4a;--color-gray-700: #333;--color-gray-800: #1a1a1a;--color-text: #333;--color-text-light: #555;--color-bg-dark: #1a1a1a;--color-bg-footer: #333;--color-bg-cta: #730202;--font-heading: "Epilogue", sans-serif;--font-body: "Source Sans 3", "Source Sans Pro", sans-serif;--font-accent: "Montserrat", sans-serif;--max-width: 1200px;--header-height: 80px;--shadow-sm: 0 1px 3px rgba(0,0,0,.12);--shadow-md: 0 4px 12px rgba(0,0,0,.15);--shadow-lg: 0 8px 30px rgba(0,0,0,.2);--radius-sm: 4px;--radius-md: 8px;--radius-lg: 16px;--transition: .3s ease}html{scroll-behavior:smooth;font-size:16px}body{font-family:var(--font-body);color:var(--color-text);line-height:1.7;background:var(--color-white);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}img{max-width:100%;height:auto;display:block}a{color:var(--color-primary);text-decoration:none;transition:color var(--transition)}a:hover,a:focus{color:var(--color-primary-dark)}a:focus-visible{outline:3px solid var(--color-primary);outline-offset:2px}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);color:var(--color-primary);line-height:1.3;font-weight:700}h1{font-size:clamp(1.75rem,4vw,2.5rem);margin-bottom:1rem}h2{font-size:clamp(1.5rem,3vw,2rem);margin-bottom:.75rem}h3{font-size:clamp(1.25rem,2.5vw,1.5rem);margin-bottom:.5rem}p{margin-bottom:1rem}ul,ol{padding-left:1.5rem;margin-bottom:1rem}.container{max-width:var(--max-width);margin:0 auto;padding:0 1.5rem}.section{padding:4rem 0}.section--gray{background:var(--color-gray-100)}.section--dark{background:var(--color-bg-dark);color:var(--color-white)}.section--dark h2,.section--dark h3{color:var(--color-white)}.section--primary{background:var(--color-primary);color:var(--color-white)}.section--primary h2,.section--primary h3{color:var(--color-white)}.text-center{text-align:center}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.btn{display:inline-flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;border-radius:var(--radius-sm);font-family:var(--font-body);font-size:.95rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;cursor:pointer;transition:all var(--transition);border:2px solid transparent;text-decoration:none;line-height:1.2}.btn--primary{background:var(--color-primary);color:var(--color-white);border-color:var(--color-primary)}.btn--primary:hover,.btn--primary:focus{background:var(--color-primary-dark);border-color:var(--color-primary-dark);color:var(--color-white)}.btn--outline{background:transparent;color:var(--color-primary);border-color:var(--color-primary)}.btn--outline:hover,.btn--outline:focus{background:var(--color-primary);color:var(--color-white)}.btn--green{background:#0e6e2c;color:var(--color-white);border-color:#0e6e2c}.btn--green:hover,.btn--green:focus{background:#0a5a23;border-color:#0a5a23;color:var(--color-white)}.btn--white{background:var(--color-white);color:var(--color-primary);border-color:var(--color-white)}.btn--white:hover,.btn--white:focus{background:var(--color-gray-100);color:var(--color-primary-dark)}.btn-group{display:flex;gap:1rem;flex-wrap:wrap;justify-content:center;margin:1.5rem 0}.header{position:sticky;top:0;z-index:1000;background:var(--color-white);box-shadow:var(--shadow-sm)}.header__top{background:var(--color-gray-800);color:var(--color-white);padding:.35rem 0;font-size:.8rem}.header__top-inner{display:flex;justify-content:flex-end;align-items:center;gap:1rem;max-width:var(--max-width);margin:0 auto;padding:0 1.5rem}.header__top a{color:var(--color-white);font-size:.8rem}.header__top a:hover{color:var(--color-gray-300)}.lang-switch{display:flex;align-items:center;gap:.5rem}.lang-switch a{display:flex;align-items:center;gap:.25rem;padding:.15rem .4rem;border-radius:3px;font-size:.75rem;text-transform:uppercase}.lang-switch a.active{background:var(--color-primary);color:var(--color-white)}.header__main{display:flex;justify-content:space-between;align-items:center;max-width:var(--max-width);margin:0 auto;padding:.5rem 1.5rem}.header__logo{display:flex;align-items:center}.header__logo img{height:60px;width:auto}.nav{display:flex;align-items:center}.nav__list{display:flex;list-style:none;gap:0;padding:0;margin:0;flex-wrap:wrap}.nav__item{position:relative}.nav__link{display:block;padding:.5rem .7rem;color:var(--color-gray-700);font-size:.85rem;font-weight:500;font-family:var(--font-accent);text-transform:uppercase;letter-spacing:.3px;white-space:nowrap;transition:color var(--transition)}.nav__link:hover,.nav__link:focus,.nav__link--active{color:var(--color-primary)}.nav__link--active{border-bottom:2px solid var(--color-primary)}.nav__dropdown{display:none;position:absolute;top:100%;left:0;background:var(--color-white);box-shadow:var(--shadow-md);min-width:220px;z-index:100;border-top:2px solid var(--color-primary);list-style:none;padding:0}.nav__item:hover .nav__dropdown,.nav__item:focus-within .nav__dropdown{display:block}.nav__dropdown .nav__link{padding:.5rem 1rem;font-size:.8rem}.nav__dropdown .nav__link:hover{background:var(--color-gray-100)}.nav__toggle{display:none;background:none;border:none;padding:.5rem;cursor:pointer;flex-direction:column;gap:5px}.nav__toggle span{display:block;width:28px;height:3px;background:var(--color-gray-700);transition:var(--transition);border-radius:2px}@media(max-width:1024px){.nav__toggle{display:flex}.nav__list{display:none;position:absolute;top:100%;left:0;right:0;background:var(--color-white);flex-direction:column;box-shadow:var(--shadow-md);padding:1rem 0;z-index:999}.nav__list.is-open{display:flex}.nav__dropdown{position:static;box-shadow:none;border:none;padding-left:1rem}.nav__item:hover .nav__dropdown{display:block}.nav__link{padding:.75rem 1.5rem}}.hero{position:relative;min-height:400px;display:flex;align-items:center;justify-content:center;text-align:center;color:var(--color-white);overflow:hidden}.hero__bg{position:absolute;inset:0;z-index:0}.hero__bg img{width:100%;height:100%;object-fit:cover}.hero__overlay{position:absolute;inset:0;background:#0000008c;z-index:1}.hero__content{position:relative;z-index:2;max-width:800px;padding:3rem 1.5rem}.hero__badge{display:inline-block;margin-bottom:1.5rem}.hero__badge img{height:100px;width:auto;margin:0 auto}.hero h1{color:var(--color-white);text-shadow:1px 1px 4px rgba(0,0,0,.3)}.hero p{font-size:1.1rem;line-height:1.6;margin-bottom:1.5rem;text-shadow:1px 1px 3px rgba(0,0,0,.3)}.card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem;margin:2rem 0}.card{position:relative;overflow:hidden;border-radius:var(--radius-md);box-shadow:var(--shadow-sm);transition:transform var(--transition),box-shadow var(--transition);background:var(--color-white)}.card:hover{transform:translateY(-4px);box-shadow:var(--shadow-md)}.card__image{position:relative;aspect-ratio:16/10;overflow:hidden}.card__image img{width:100%;height:100%;object-fit:cover;transition:transform var(--transition)}.card:hover .card__image img{transform:scale(1.05)}.card__overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.7) 0%,transparent 60%);display:flex;align-items:flex-end;padding:1.5rem}.card__title{color:var(--color-white);font-size:1.25rem;font-weight:700;font-family:var(--font-heading)}.card__body{padding:1.5rem}.content-block{display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:center;margin:3rem 0}.content-block--reverse{direction:rtl}.content-block--reverse>*{direction:ltr}.content-block__text h2,.content-block__text h3{margin-bottom:1rem}.content-block__image{border-radius:var(--radius-md);overflow:hidden;box-shadow:var(--shadow-md)}.content-block__image img{width:100%;height:100%;object-fit:cover}@media(max-width:768px){.content-block{grid-template-columns:1fr;gap:1.5rem}.content-block--reverse{direction:ltr}}.gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1rem;margin:2rem 0}.gallery__item{position:relative;aspect-ratio:4/3;overflow:hidden;border-radius:var(--radius-md);cursor:pointer}.gallery__item img{width:100%;height:100%;object-fit:cover;transition:transform var(--transition)}.gallery__item:hover img{transform:scale(1.08)}.lightbox{display:none;position:fixed;inset:0;background:#000000e6;z-index:10000;justify-content:center;align-items:center}.lightbox.is-open{display:flex}.lightbox__close{position:absolute;top:1rem;right:1rem;background:none;border:none;color:#fff;font-size:2rem;cursor:pointer;padding:.5rem;line-height:1}.lightbox__img{max-width:90vw;max-height:85vh;object-fit:contain}.locations{padding:3rem 0}.locations__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1rem}.location-card{background:var(--color-white);border-radius:var(--radius-md);padding:1.5rem;box-shadow:var(--shadow-sm);transition:box-shadow var(--transition)}.location-card:hover{box-shadow:var(--shadow-md)}.location-card h4{color:var(--color-primary);font-size:1rem;margin-bottom:.5rem}.location-card p{font-size:.9rem;color:var(--color-gray-600);margin-bottom:.25rem}.location-card a{font-size:.9rem}.cta-banner{background:var(--color-primary);color:var(--color-white);text-align:center;padding:3rem 1.5rem;position:relative;overflow:hidden}.cta-banner:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-primary-dark) 100%)}.cta-banner>*{position:relative;z-index:1}.cta-banner h2,.cta-banner h3{color:var(--color-white);font-family:var(--font-heading);margin-bottom:1.5rem}.contact-form{max-width:600px;margin:2rem auto}.form-group{margin-bottom:1.25rem}.form-group label{display:block;margin-bottom:.35rem;font-weight:600;font-size:.9rem}.form-group input,.form-group textarea{width:100%;padding:.75rem;border:1px solid var(--color-gray-300);border-radius:var(--radius-sm);font-family:var(--font-body);font-size:1rem;transition:border-color var(--transition)}.form-group input:focus,.form-group textarea:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #7302021a}.form-group textarea{min-height:120px;resize:vertical}.form-group .required:after{content:" *";color:var(--color-primary)}.form-checkbox{display:flex;align-items:flex-start;gap:.5rem}.form-checkbox input[type=checkbox]{width:auto;margin-top:.25rem}.form-checkbox label{font-size:.85rem;font-weight:400}.footer{background:var(--color-gray-100);border-top:1px solid var(--color-gray-200)}.footer__main{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem;max-width:var(--max-width);margin:0 auto;padding:2.5rem 1.5rem;text-align:center}.footer__col h4{font-size:.85rem;color:var(--color-gray-600);margin-bottom:.5rem;text-transform:uppercase;letter-spacing:.5px}.footer__col p,.footer__col a{font-size:.9rem;color:var(--color-gray-600)}.footer__col a:hover{color:var(--color-primary)}.footer__social{display:flex;justify-content:center;gap:.75rem;margin-top:.5rem}.footer__social a{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;background:var(--color-gray-200);color:var(--color-gray-600);transition:all var(--transition)}.footer__social a:hover{background:var(--color-primary);color:var(--color-white)}.footer__bottom{background:var(--color-primary);color:var(--color-white);text-align:center;padding:.75rem 1.5rem;font-size:.8rem}.footer__bottom a{color:var(--color-white);text-decoration:underline}.footer__bottom a:hover{color:var(--color-gray-200)}.footer__credit{background:var(--color-gray-800);color:var(--color-gray-400);text-align:center;padding:.5rem;font-size:.75rem}.footer__credit a{color:var(--color-gray-300);text-decoration:underline}.whatsapp-float{position:fixed;bottom:1.5rem;right:1.5rem;z-index:999;width:56px;height:56px;border-radius:50%;background:#25d366;display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow-md);transition:transform var(--transition)}.whatsapp-float:hover{transform:scale(1.1)}.whatsapp-float svg{width:30px;height:30px;fill:#fff}.obituary-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:1.5rem;margin:2rem 0}.obituary-card{text-align:center;padding:1.5rem;background:var(--color-white);border-radius:var(--radius-md);box-shadow:var(--shadow-sm)}.obituary-card__avatar{width:80px;height:80px;border-radius:50%;background:var(--color-gray-200);margin:0 auto 1rem;display:flex;align-items:center;justify-content:center}.obituary-card__avatar svg{width:40px;height:40px;fill:var(--color-gray-400)}.obituary-card h3{font-size:1rem;margin-bottom:.5rem}.obituary-card p{font-size:.85rem;color:var(--color-gray-500)}.map-container{width:100%;aspect-ratio:16/9;border-radius:var(--radius-md);overflow:hidden;margin:2rem 0}.map-container iframe{width:100%;height:100%;border:0}.hours{text-align:center;padding:2rem}.hours h2{margin-bottom:.5rem}.hours p{font-size:1.1rem;color:var(--color-gray-600)}.service-list{list-style:none;padding:0;margin:1.5rem 0}.service-list li{padding:.5rem 0 .5rem 1.5rem;position:relative;border-bottom:1px solid var(--color-gray-200);font-size:.95rem}.service-list li:before{content:"✓";position:absolute;left:0;color:var(--color-primary);font-weight:700}.video-container{position:relative;padding-bottom:56.25%;height:0;overflow:hidden;border-radius:var(--radius-md);margin:2rem 0;box-shadow:var(--shadow-md)}.video-container iframe{position:absolute;top:0;left:0;width:100%;height:100%;border:0}@media(max-width:768px){.section{padding:2.5rem 0}.hero{min-height:300px}.footer__main{grid-template-columns:1fr;text-align:center}.card-grid{grid-template-columns:1fr}.gallery{grid-template-columns:repeat(2,1fr)}.locations__grid{grid-template-columns:1fr}}@media(max-width:480px){.gallery{grid-template-columns:1fr}.btn-group{flex-direction:column;align-items:center}}
