@font-face{font-family:Glacial Indifference;src:url(/fonts/GlacialIndifference-Regular.otf)format("opentype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Glacial Indifference;src:url(/fonts/GlacialIndifference-Bold.otf)format("opentype");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:Glacial Indifference;src:url(/fonts/GlacialIndifference-Italic.otf)format("opentype");font-weight:400;font-style:italic;font-display:swap}@font-face{font-family:Sloop Script;src:url(/fonts/sloopscript.ttf)format("truetype");font-weight:400;font-style:italic;font-display:swap}:root{--color-beige:#d3c5ba;--color-beige-light:#e8ded6;--color-beige-dark:#b8a99c;--color-purple:#603f8b;--color-purple-light:#7b5ba6;--color-purple-dark:#4a2f6b;--color-black:#040505;--color-white:#fff;--color-grey-light:#f5f2ef;--color-grey:#8a8a8a;--color-grey-dark:#555;--font-heading:"Glacial Indifference", "Helvetica Neue", Arial, sans-serif;--font-body:"Glacial Indifference", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-logo:"Sloop Script", cursive;--max-width:1200px;--header-height:80px;--transition:.3s ease;--shadow-sm:0 1px 3px #04050514;--shadow-md:0 4px 12px #0405051a;--shadow-lg:0 8px 24px #0405051f;--radius-sm:4px;--radius-md:8px;--radius-lg:12px}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font-body);color:var(--color-black);background-color:var(--color-white);font-size:16px;font-weight:400;line-height:1.6}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);letter-spacing:.05em;color:var(--color-black);font-weight:400;line-height:1.3}h1{font-size:2.5rem}h2{font-size:2rem}h3{font-size:1.5rem}h4{font-size:1.25rem}p{color:var(--color-grey-dark);margin-bottom:1rem}a{color:var(--color-purple);transition:color var(--transition);text-decoration:none}a:hover{color:var(--color-purple-dark)}img{max-width:100%;height:auto;display:block}ul,ol{list-style:none}button{cursor:pointer;font-family:var(--font-body);background:0 0;border:none}input,textarea,select{font-family:var(--font-body);font-size:1rem}.container{max-width:var(--max-width);margin:0 auto;padding:0 1.5rem}.section{padding:3.5rem 0}.section--beige{background-color:var(--color-grey-light)}.section--dark{background-color:var(--color-black);color:var(--color-white)}.section--dark h2,.section--dark h3,.section--dark p{color:var(--color-white)}.text-center{text-align:center}.btn{font-family:var(--font-heading);letter-spacing:.1em;text-transform:uppercase;border-radius:var(--radius-sm);transition:all var(--transition);text-align:center;padding:.75rem 2rem;font-size:.9rem;display:inline-block}.btn--primary{background-color:var(--color-purple);color:var(--color-white)}.btn--primary:hover{background-color:var(--color-purple-dark);color:var(--color-white)}.btn--secondary{color:var(--color-purple);border:1px solid var(--color-purple);background-color:#0000}.btn--secondary:hover{background-color:var(--color-purple);color:var(--color-white)}.btn--beige{background-color:var(--color-beige);color:var(--color-black)}.btn--beige:hover{background-color:var(--color-beige-dark)}.divider{background:linear-gradient(to right, transparent, var(--color-purple-light), transparent);width:360px;max-width:90%;height:1px;margin:1.5rem auto}.page-header{text-align:center;background-color:var(--color-grey-light);padding:2.5rem 0 1.5rem}.page-header h1{margin-bottom:.5rem}.page-header p{color:var(--color-grey);max-width:600px;margin:0 auto;font-size:1.1rem}.form-group{margin-bottom:1.25rem}.form-group label{letter-spacing:.05em;text-transform:uppercase;color:var(--color-grey-dark);margin-bottom:.4rem;font-size:.85rem;display:block}.form-group input,.form-group textarea,.form-group select{border:1px solid var(--color-beige);border-radius:var(--radius-sm);background:var(--color-white);width:100%;color:var(--color-black);transition:border-color var(--transition);padding:.75rem 1rem}.form-group input:focus,.form-group textarea:focus,.form-group select:focus{border-color:var(--color-purple);outline:none}.form-group textarea{resize:vertical;min-height:120px}@media (width<=768px){h1{font-size:2rem}h2{font-size:1.5rem}h3{font-size:1.25rem}.section{padding:2.5rem 0}.page-header{padding:2rem 0 1.25rem}}@media (width<=480px){h1{font-size:1.75rem}.container{padding:0 1rem}}@media print{body.printing-tributes *{visibility:hidden}body.printing-tributes .funeral-detail__name,body.printing-tributes .funeral-detail__image,body.printing-tributes .tribute-feed,body.printing-tributes .funeral-detail__name *,body.printing-tributes .tribute-feed *{visibility:visible}body.printing-tributes .funeral-detail__name{font-size:1.5rem;position:absolute;top:1rem;left:1rem}body.printing-tributes .funeral-detail__image{object-fit:cover;border-radius:6px;width:120px;height:120px;position:absolute;top:3.5rem;left:1rem}body.printing-tributes .tribute-feed{padding:0 1rem;position:absolute;top:10.5rem;left:0;right:0}body.printing-tributes .tribute-feed__print,body.printing-tributes .tribute-item__delete,body.printing-tributes .header,body.printing-tributes .footer,body.printing-tributes .tribute-form-wrapper{display:none!important}}.header{height:var(--header-height);background:var(--color-white);box-shadow:var(--shadow-sm);z-index:100;position:fixed;top:0;left:0;right:0}.header__inner{justify-content:space-between;align-items:center;height:100%;display:flex}.header__logo img{width:auto;height:55px}.header__nav{align-items:center;gap:2rem;display:flex}.header__nav a{font-family:var(--font-heading);letter-spacing:.08em;text-transform:uppercase;color:var(--color-black);transition:color var(--transition);padding:.25rem 0;font-size:.85rem;text-decoration:none;position:relative}.header__nav a:after{content:"";background-color:var(--color-purple);width:0;height:1px;transition:width var(--transition);position:absolute;bottom:-2px;left:0}.header__nav a:hover,.header__nav a.active{color:var(--color-purple)}.header__nav a:hover:after,.header__nav a.active:after{width:100%}.header__hamburger{z-index:101;flex-direction:column;gap:5px;padding:.5rem;display:none}.header__hamburger span{background-color:var(--color-black);width:24px;height:2px;transition:all var(--transition);display:block}.header__hamburger.active span:first-child{transform:rotate(45deg)translateY(5px)translate(5px)}.header__hamburger.active span:nth-child(2){opacity:0}.header__hamburger.active span:nth-child(3){transform:rotate(-45deg)translateY(-5px)translate(5px)}@media (width<=900px){.header__hamburger{display:flex}.header__nav{background:var(--color-white);width:280px;height:100vh;box-shadow:var(--shadow-lg);transition:right var(--transition);flex-direction:column;justify-content:center;gap:1.5rem;position:fixed;top:0;right:-100%}.header__nav.open{right:0}.header__nav a{font-size:1rem}}.footer{background-color:var(--color-black);color:var(--color-white);padding:4rem 0 1.5rem}.footer__grid{grid-template-columns:1.5fr 1fr 1fr 1fr;gap:3rem;margin-bottom:3rem;display:grid}.footer__logo{border-radius:var(--radius-sm);width:200px;height:auto;margin-bottom:1rem}.footer__brand p{color:var(--color-beige);font-size:.9rem;line-height:1.6}.footer h4{font-family:var(--font-heading);letter-spacing:.1em;text-transform:uppercase;color:var(--color-beige);margin-bottom:1rem;font-size:.85rem}.footer__links nav{flex-direction:column;gap:.5rem;display:flex}.footer__links a,.footer__contact a{color:var(--color-white);opacity:.8;transition:opacity var(--transition);font-size:.9rem}.footer__links a:hover,.footer__contact a:hover{opacity:1;color:var(--color-beige)}.footer__contact p{color:#fffc;margin-bottom:.5rem;font-size:.9rem}.footer__phone{margin-bottom:.5rem;font-size:1.1rem;font-weight:700;display:block}.footer__locations p{color:#fffc;margin-bottom:.25rem;font-size:.9rem}.footer__bottom{text-align:center;border-top:1px solid #ffffff1a;padding-top:1.5rem}.footer__bottom p{color:#ffffff80;font-size:.8rem}@media (width<=900px){.footer__grid{grid-template-columns:1fr 1fr;gap:2rem}}@media (width<=480px){.footer__grid{grid-template-columns:1fr;gap:2rem}}.hero{background:var(--color-grey-light);color:var(--color-black);justify-content:center;align-items:center;padding:4.5rem 0;display:flex;position:relative}.hero__overlay{display:none}.hero__content{text-align:center;z-index:1;flex-direction:column;justify-content:center;align-items:center;display:flex;position:relative}.hero__watermark{opacity:.15;pointer-events:none;z-index:0;width:420px;height:auto;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.hero:after{content:"";background:linear-gradient(to right, transparent, var(--color-beige-dark), transparent);height:1px;position:absolute;bottom:0;left:0;right:0}.hero h1{font-family:var(--font-heading);letter-spacing:.15em;text-transform:uppercase;color:var(--color-black);margin-bottom:.5rem;font-size:2.5rem}.hero__tagline{color:var(--color-purple-dark);letter-spacing:.05em;margin-bottom:0;font-size:1rem}.hero__actions{flex-wrap:wrap;justify-content:center;gap:1rem;display:flex}.hero__phone{border-color:var(--color-purple)!important;color:var(--color-purple)!important}.hero__phone:hover{background-color:var(--color-purple)!important;color:var(--color-white)!important}.home__monogram{opacity:.6;width:80px;height:auto;margin:0 auto 1.5rem}.home__services-grid{grid-template-columns:repeat(3,1fr);gap:2rem;margin-top:2.5rem;display:grid}.home__service-card{background:var(--color-grey-light);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);padding:2.5rem 2rem}.home__service-card h3{margin-bottom:.75rem;font-size:1.15rem}.home__service-card p{margin-bottom:0;font-size:.9rem}.home__locations{flex-wrap:wrap;justify-content:center;gap:3rem;display:flex}.home__location{text-align:center}.home__location h4{letter-spacing:.08em;font-size:1.1rem}.home__guides-grid{grid-template-columns:repeat(3,1fr);gap:1.5rem;margin-top:2rem;display:grid}.home__guide-card{text-align:left;background:var(--color-grey-light);border-radius:var(--radius-md);color:inherit;transition:border-color var(--transition), box-shadow var(--transition);border:1px solid #0000;flex-direction:column;padding:2rem;text-decoration:none;display:flex}.home__guide-card:hover{border-color:var(--color-beige);box-shadow:var(--shadow-sm)}.home__guide-card h3{color:var(--color-black);margin-bottom:.75rem;font-size:1.1rem}.home__guide-card p{flex:1;font-size:.85rem;line-height:1.6}.home__guide-link{letter-spacing:.05em;text-transform:uppercase;color:var(--color-purple);margin-top:.75rem;font-size:.8rem}.home__areas-section{background:linear-gradient(135deg,#e8dff0 0%,#d4c4e3 50%,#c9b8d9 100%)}.home__map{border-radius:var(--radius-md);width:100%;max-width:900px;box-shadow:var(--shadow-md);margin:0 auto 2rem}.home__areas-grid{flex-wrap:wrap;justify-content:center;gap:.6rem;max-width:700px;margin:0 auto;display:flex}.home__area-tag{background:var(--color-grey-light);color:var(--color-grey-dark);letter-spacing:.02em;border-radius:20px;padding:.4rem 1rem;font-size:.85rem;display:inline-block}.home__carousel-section{background:var(--color-white);padding:2rem 0;overflow:hidden}.home__carousel{overflow:hidden;-webkit-mask-image:linear-gradient(90deg,#0000,#000 5% 95%,#0000);mask-image:linear-gradient(90deg,#0000,#000 5% 95%,#0000)}.home__carousel-track{gap:1rem;width:max-content;animation:160s linear infinite carousel-scroll;display:flex}.home__carousel-item{flex-shrink:0;height:180px;position:relative}.home__carousel-img{border-radius:var(--radius-sm);object-fit:cover;flex-shrink:0;width:auto;height:180px}.home__carousel-expand{color:#fff;cursor:pointer;opacity:0;background:#00000080;border:none;border-radius:50%;justify-content:center;align-items:center;width:30px;height:30px;transition:opacity .2s;display:flex;position:absolute;top:.4rem;right:.4rem}.home__carousel-item:hover .home__carousel-expand{opacity:1}.home__carousel-expand:hover{background:#603f8bcc}@keyframes carousel-scroll{0%{transform:translate(0)}to{transform:translate(-50%)}}.home__carousel{cursor:grab}.home__carousel--dragging{cursor:grabbing}.home__carousel--dragging .home__carousel-track{pointer-events:none}.home__carousel:hover .home__carousel-track{animation-play-state:paused}@media (width<=768px){.home__carousel-img{height:130px}}.home__cta{background:var(--color-white);color:var(--color-black)}.home__cta h2{color:var(--color-black)}.home__cta p{color:var(--color-grey-dark)}@media (width<=768px){.hero{padding:2rem 0}.hero h1{font-size:1.75rem}.hero__watermark{width:250px}.home__services-grid,.home__guides-grid{grid-template-columns:1fr}}.home__lightbox{z-index:1100;cursor:pointer;background:#000000d9;justify-content:center;align-items:center;padding:2rem;display:flex;position:fixed;inset:0}.home__lightbox-img{object-fit:contain;border-radius:var(--radius-md);max-width:90vw;max-height:85vh}.home__lightbox-close{color:#fff;cursor:pointer;background:#ffffff26;border:none;border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;font-size:1.5rem;display:flex;position:absolute;top:1.5rem;right:1.5rem}.home__lightbox-close:hover{background:#ffffff4d}.about__story{grid-template-columns:1fr 1fr;align-items:center;gap:3rem;display:grid}.about__story-content h2{text-align:left}.about__story-photo{border-radius:var(--radius-md);object-fit:contain;width:280px;margin:0 auto;display:block}.about__story-caption{text-align:center;color:var(--color-grey);margin-top:.5rem;margin-bottom:0;font-size:.8rem}.about__values-grid{grid-template-columns:repeat(3,1fr);gap:2rem;display:grid}.about__value-card{background:var(--color-white);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);padding:2.5rem 2rem}.about__value-card h3{color:var(--color-purple);margin-bottom:.75rem;font-size:1.15rem}.about__value-card p{margin-bottom:0;font-size:.9rem}.about__gallery{grid-template-columns:1fr 1fr;gap:1rem;display:grid}.about__gallery img{object-fit:cover;border-radius:var(--radius-md);width:100%;height:220px}.about__team-grid{grid-template-columns:repeat(3,1fr);gap:2rem;display:grid}.about__team-member{text-align:center}.about__team-photo{background-color:var(--color-grey-light);border-radius:50%;justify-content:center;align-items:center;width:160px;height:160px;margin:0 auto 1.25rem;display:flex;overflow:hidden}.about__team-photo .about__placeholder-icon{width:36px}.about__team-member h4{margin-bottom:.25rem}.about__team-role{color:var(--color-grey);margin-bottom:0;font-size:.9rem}@media (width<=768px){.about__story{grid-template-columns:1fr}.about__story-content h2{text-align:center}.about__story-content .divider{margin-left:auto;margin-right:auto}.about__gallery,.about__values-grid,.about__team-grid{grid-template-columns:1fr}}.services__valid-date{color:var(--color-purple);letter-spacing:.03em;margin-top:.5rem;font-size:.85rem}.services__preplanning-section{padding:0}.services__preplanning-bar{background:var(--color-white);border-left:3px solid var(--color-purple);border-radius:var(--radius-sm);align-items:center;gap:1.5rem;max-width:900px;margin:2rem auto;padding:1rem 1.5rem;display:flex}.services__preplanning-text{color:var(--color-grey-dark);flex:1;font-size:.85rem;line-height:1.6}.services__preplanning-text strong{color:var(--color-black)}.services__preplanning-link{font-family:var(--font-heading);letter-spacing:.08em;text-transform:uppercase;color:var(--color-purple);white-space:nowrap;border:1px solid var(--color-purple);border-radius:var(--radius-sm);transition:all var(--transition);padding:.4rem 1rem;font-size:.8rem}.services__preplanning-link:hover{background:var(--color-purple);color:var(--color-white)}.services__grid{grid-template-columns:repeat(2,1fr);gap:2rem;display:grid}.services__card{background:var(--color-white);border:1px solid var(--color-beige);border-radius:var(--radius-md);transition:box-shadow var(--transition);flex-direction:column;padding:2rem;display:flex}.services__card:hover{box-shadow:var(--shadow-md)}.services__card-header{justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1rem;display:flex}.services__card-header h3{font-size:1.2rem}.services__price{font-family:var(--font-heading);color:var(--color-purple);white-space:nowrap;letter-spacing:.02em;font-size:1.25rem;font-weight:700}.services__price small{letter-spacing:.05em;text-transform:uppercase;opacity:.7;font-size:.7rem;font-weight:400}.services__description{color:var(--color-grey-dark);margin-bottom:1.5rem;font-size:.9rem}.services__category{margin-bottom:1.25rem}.services__category h4{letter-spacing:.1em;text-transform:uppercase;color:var(--color-purple);border-bottom:1px solid var(--color-beige-light);margin-bottom:.5rem;padding-bottom:.35rem;font-size:.75rem;font-weight:700}.services__category ul{list-style:none}.services__item{color:var(--color-grey-dark);margin-bottom:.35rem;padding-left:1.25rem;font-size:.82rem;line-height:1.5;position:relative}.services__item--included:before{content:"✓";color:var(--color-purple);font-size:.75rem;font-weight:700;position:absolute;left:0}.services__item--excluded{color:var(--color-grey)}.services__item--excluded:before{content:"—";color:var(--color-grey);font-size:.75rem;position:absolute;left:0}.services__item-note{color:var(--color-grey);font-size:.78rem;font-style:italic}.services__notes{background:var(--color-grey-light);border-radius:var(--radius-sm);margin-top:.5rem;margin-bottom:1.25rem;padding:.75rem 1rem}.services__notes p{color:var(--color-grey);margin-bottom:.25rem;font-size:.78rem;line-height:1.4}.services__notes p:last-child{margin-bottom:0}.services__prepaid-option{border-radius:var(--radius-sm);border:1px dashed var(--color-beige-dark);background:linear-gradient(135deg,#f3eff7,#ebe4f2);justify-content:space-between;align-items:center;margin-bottom:1.25rem;padding:.6rem 1rem;display:flex}.services__prepaid-label{color:var(--color-purple);letter-spacing:.02em;font-size:.8rem;font-weight:700}.services__prepaid-fee{color:var(--color-grey-dark);font-size:.78rem}.services__card-footer{border-top:1px solid var(--color-beige-light);justify-content:space-between;align-items:center;margin-top:auto;padding-top:1.25rem;display:flex}.services__total{font-family:var(--font-heading);color:var(--color-black);letter-spacing:.02em;font-size:1.1rem;font-weight:700}.services__enquire-btn{padding:.5rem 1.5rem;font-size:.8rem}.services__coffin-section{max-width:800px;margin:0 auto}.services__coffin-table{border:1px solid var(--color-beige);border-radius:var(--radius-md);margin-bottom:1.5rem;overflow:hidden}.services__coffin-header{background:var(--color-purple);color:var(--color-white);letter-spacing:.08em;text-transform:uppercase;grid-template-columns:1.8fr 80px 1.5fr 1.5fr;padding:.75rem 1.25rem;font-size:.75rem;font-weight:700;display:grid}.services__coffin-row{border-bottom:1px solid var(--color-beige-light);grid-template-columns:1.8fr 80px 1.5fr 1.5fr;align-items:center;padding:.75rem 1.25rem;font-size:.85rem;display:grid}.services__coffin-row:last-child{border-bottom:none}.services__coffin-row:nth-child(odd){background:var(--color-white)}.services__coffin-row:nth-child(2n){background:#f5f2ef80}.services__coffin-thumb{cursor:pointer}.services__coffin-thumb img{object-fit:cover;border-radius:var(--radius-sm);border:1px solid var(--color-beige);width:60px;height:40px;transition:opacity .2s}.services__coffin-thumb:hover img{opacity:.8}.services__lightbox{z-index:1100;cursor:pointer;background:#000000d9;justify-content:center;align-items:center;padding:2rem;display:flex;position:fixed;inset:0}.services__lightbox-content{text-align:center;cursor:default}.services__lightbox-img{object-fit:contain;border-radius:var(--radius-md);background:var(--color-white);max-width:80vw;max-height:70vh;padding:1rem}.services__lightbox-name{color:var(--color-white);margin-top:1rem;font-size:.95rem;font-weight:600}.services__lightbox-close{color:#fff;cursor:pointer;background:#ffffff26;border:none;border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;font-size:1.5rem;display:flex;position:absolute;top:1.5rem;right:1.5rem}.services__lightbox-close:hover{background:#ffffff4d}.services__coffin-name{color:var(--color-black);font-weight:700}.services__coffin-desc{color:var(--color-grey-dark)}.services__coffin-note{color:var(--color-purple);font-size:.8rem}.services__coffin-footnote{color:var(--color-grey);margin-top:1rem;font-size:.85rem}.services__disclaimer{max-width:700px;margin:0 auto}.services__disclaimer p{font-size:.9rem}@media (width<=768px){.services__grid{grid-template-columns:1fr}.services__preplanning-bar{flex-direction:column;align-items:flex-start;gap:.75rem}.services__prepaid-option{text-align:center;flex-direction:column;gap:.25rem}.services__card-header{flex-direction:column;gap:.25rem}.services__card-footer{flex-direction:column;align-items:flex-start;gap:1rem}.services__coffin-header{display:none}.services__coffin-row{grid-template-columns:60px 1fr;gap:.25rem .75rem;padding:1rem 1.25rem}.services__coffin-name{grid-column:2}.services__coffin-thumb{grid-area:1/1/4;align-items:center;display:flex}.services__coffin-thumb img{width:50px;height:35px}.services__coffin-desc,.services__coffin-note{grid-column:2;font-size:.8rem}.services__coffin-note{font-size:.75rem}}.funeral-card{background:var(--color-white);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);transition:transform var(--transition), box-shadow var(--transition);color:inherit;border:2px solid #b09fc5;text-decoration:none;display:block;overflow:hidden}.funeral-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.funeral-card__image{background:var(--color-grey-light);width:100%;height:200px;position:relative;overflow:hidden}.funeral-card__image img{object-fit:cover;width:100%;height:100%}.funeral-card__fallback{background:var(--color-grey-light);object-fit:cover!important}.funeral-card__badge{background:var(--color-purple);color:var(--color-white);letter-spacing:.08em;text-transform:uppercase;border-radius:var(--radius-sm);padding:.25rem .75rem;font-size:.7rem;position:absolute;top:.75rem;right:.75rem}.funeral-card__content{padding:1.25rem}.funeral-card__content h3{color:var(--color-black);margin-bottom:.75rem;font-size:1.15rem}.funeral-card__details p{color:var(--color-grey);margin-bottom:.25rem;font-size:.85rem}.funeral-card__date{color:var(--color-grey-dark);font-weight:700}.funeral-card__location{align-items:flex-start;gap:.35rem;display:flex}.funeral-card__location svg{color:var(--color-purple);flex-shrink:0;margin-top:.2em}.funeral-card__livestream{letter-spacing:.05em;text-transform:uppercase;color:var(--color-purple);border:1px solid var(--color-purple);border-radius:var(--radius-sm);margin-top:.75rem;padding:.2rem .6rem;font-size:.75rem;display:inline-block}.funerals__search-section{background-color:var(--color-white);border-bottom:1px solid var(--color-beige-light);padding:2rem 0}.funerals__search{max-width:500px;margin:0 auto}.funerals__search-input{border:1px solid var(--color-beige);border-radius:var(--radius-sm);width:100%;font-size:1rem;font-family:var(--font-body);background:var(--color-white);color:var(--color-black);transition:border-color var(--transition);padding:.75rem 1.25rem}.funerals__search-input:focus{border-color:var(--color-purple);outline:none}.funerals__search-input::placeholder{color:var(--color-grey)}.funerals__grid{grid-template-columns:repeat(3,1fr);gap:2rem;display:grid}.funerals__empty{text-align:center;color:var(--color-grey);padding:2rem 0;font-size:1rem}.funerals__loading{color:var(--color-grey);font-size:1rem}@media (width<=992px){.funerals__grid{grid-template-columns:repeat(2,1fr)}}@media (width<=576px){.funerals__grid{grid-template-columns:1fr}}.tribute-form-wrapper{border-top:1px solid var(--color-beige);margin-top:1.5rem;padding-top:1.25rem}.tribute-form__title{letter-spacing:.1em;text-transform:uppercase;color:var(--color-grey);margin-bottom:.75rem;font-size:.7rem;font-weight:700}.tribute-form{background:0 0;padding:0}.tribute-form .form-group{margin-bottom:.75rem}.tribute-form .form-group label{font-size:.75rem}.tribute-form .form-group input,.tribute-form .form-group textarea{padding:.6rem .75rem;font-size:.85rem}.tribute-form__count{text-align:right;color:var(--color-grey);margin-top:.15rem;font-size:.7rem;display:block}.tribute-form .btn{padding:.5rem 1.5rem;font-size:.75rem}.tribute-form__error{color:#c0392b;border-radius:var(--radius-sm);background:#fdf0ef;margin-bottom:.75rem;padding:.6rem .75rem;font-size:.8rem}.tribute-form__success{color:#27ae60;border-radius:var(--radius-sm);background:#edf9f0;margin-bottom:.75rem;padding:.6rem .75rem;font-size:.8rem}.tribute-feed{max-width:800px;margin:0 auto}.tribute-feed__header{justify-content:center;align-items:center;gap:1.5rem;margin-bottom:1.5rem;display:flex;position:relative}.tribute-feed__title{text-align:center;justify-content:center;align-items:center;gap:.5rem;margin-bottom:0;font-size:1.75rem;display:flex}.tribute-feed__print{letter-spacing:.08em;text-transform:uppercase;color:var(--color-grey);border:1px solid var(--color-beige);border-radius:var(--radius-sm);transition:all var(--transition);padding:.3rem .75rem;font-size:.7rem;position:absolute;right:0}.tribute-feed__print:hover{color:var(--color-purple);border-color:var(--color-purple)}.tribute-feed__count{background:var(--color-beige);min-width:22px;height:22px;color:var(--color-grey-dark);border-radius:11px;justify-content:center;align-items:center;padding:0 .4rem;font-size:.7rem;font-weight:700;display:inline-flex}.tribute-feed__empty{text-align:center;color:var(--color-grey);padding:1rem 0;font-size:.9rem;font-style:italic}.tribute-feed__list{flex-direction:column;display:flex}.tribute-item{border-bottom:1px solid var(--color-beige-light);padding:1rem 0}.tribute-item:last-child{border-bottom:none}.tribute-item__header{justify-content:space-between;align-items:baseline;margin-bottom:.35rem;display:flex}.tribute-item__header strong{color:var(--color-black);font-size:.9rem}.tribute-item__date{color:var(--color-grey);font-size:.75rem}.tribute-item p{color:var(--color-grey-dark);margin-bottom:0;font-size:.85rem;line-height:1.6}.tribute-item__delete{color:#c0392b;opacity:.6;transition:opacity var(--transition);margin-top:.35rem;padding:.15rem 0;font-size:.7rem}.tribute-item__delete:hover{opacity:1}.funeral-detail .section:first-child{padding-top:1.25rem}.funeral-detail__back{letter-spacing:.05em;text-transform:uppercase;color:var(--color-grey);transition:color var(--transition);font-size:.8rem;display:inline-block}.funeral-detail__back:hover{color:var(--color-purple)}.funeral-detail__name{margin-top:.25rem;font-size:2rem}.funeral-detail__layout{grid-template-columns:1fr 1fr;align-items:start;gap:3rem;display:grid}.funeral-detail__image{border-radius:var(--radius-md);object-fit:cover;width:100%;max-height:500px}.funeral-detail__image--fallback{object-fit:cover;background:var(--color-grey-light);max-height:350px}.funeral-detail__info{margin-bottom:1.5rem}.funeral-detail__info-row{border-bottom:1px solid var(--color-beige-light);flex-direction:column;padding:.75rem 0;display:flex}.funeral-detail__info-row:last-child{border-bottom:none}.funeral-detail__label{letter-spacing:.1em;text-transform:uppercase;color:var(--color-grey);margin-bottom:.2rem;font-size:.7rem;font-weight:700}.funeral-detail__livestream-btn{margin-top:.25rem;padding:.4rem 1.25rem;font-size:.8rem;display:inline-block}.funeral-detail__description{margin-bottom:1.5rem}.funeral-detail__description p{font-size:.9rem;line-height:1.7}@media (width<=768px){.funeral-detail__layout{grid-template-columns:1fr;gap:1.5rem}.funeral-detail__name{font-size:1.5rem}}.reviews__summary{text-align:center;margin-bottom:2.5rem}.reviews__summary-rating{justify-content:center;align-items:center;gap:.75rem;margin-bottom:.5rem;display:flex}.reviews__rating-number{font-family:var(--font-heading);color:var(--color-black);font-size:3rem;font-weight:700;line-height:1}.reviews__rating-stars{gap:2px;display:flex}.reviews__rating-count{color:var(--color-grey);margin-bottom:.5rem;font-size:.9rem}.reviews__links{justify-content:center;align-items:center;gap:.75rem;display:flex}.reviews__link-divider{color:var(--color-beige);font-size:.8rem}.reviews__google-link{letter-spacing:.05em;text-transform:uppercase;color:var(--color-purple);font-size:.8rem}.reviews__google-link:hover{color:var(--color-purple-dark)}.reviews__grid{grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:1.5rem;display:grid}.reviews__card{background:var(--color-white);border:1px solid var(--color-beige-light);border-radius:var(--radius-md);transition:box-shadow var(--transition);padding:1.5rem}.reviews__card:hover{box-shadow:var(--shadow-sm)}.reviews__card-header{justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1rem;display:flex}.reviews__card-author{align-items:center;gap:.75rem;display:flex}.reviews__avatar{object-fit:cover;border-radius:50%;width:36px;height:36px}.reviews__avatar--placeholder{background:var(--color-beige);color:var(--color-grey-dark);justify-content:center;align-items:center;font-size:.9rem;font-weight:700;display:flex}.reviews__card-author strong{color:var(--color-black);font-size:.9rem;display:block}.reviews__card-date{color:var(--color-grey);font-size:.75rem;display:block}.reviews__card-stars{flex-shrink:0;gap:1px;display:flex}.reviews__card-text{color:var(--color-grey-dark);margin-bottom:0;font-size:.85rem;line-height:1.7}@media (width<=576px){.reviews__grid{grid-template-columns:1fr}.reviews__card-header{flex-direction:column}.reviews__rating-number{font-size:2.5rem}}.preplanning__options{flex-direction:column;gap:2rem;display:flex}.preplanning__card{background:var(--color-white);border:1px solid var(--color-beige);border-radius:var(--radius-md);padding:2rem;position:relative}.preplanning__card--featured{border-color:var(--color-purple);border-width:2px}.preplanning__featured-badge{letter-spacing:.08em;text-transform:uppercase;color:var(--color-white);background:var(--color-purple);border-radius:var(--radius-sm);margin-bottom:1rem;padding:.25rem .75rem;font-size:.7rem;display:inline-block}.preplanning__card h3{margin-bottom:.5rem;font-size:1.3rem}.preplanning__summary{color:var(--color-grey-dark);margin-bottom:1.5rem;font-size:.95rem}.preplanning__detail{margin-bottom:1.25rem}.preplanning__detail h4{letter-spacing:.1em;text-transform:uppercase;color:var(--color-purple);border-bottom:1px solid var(--color-beige-light);margin-bottom:.5rem;padding-bottom:.35rem;font-size:.75rem;font-weight:700}.preplanning__detail p{font-size:.85rem;line-height:1.6}.preplanning__pros,.preplanning__cons{list-style:none}.preplanning__pros li,.preplanning__cons li{color:var(--color-grey-dark);margin-bottom:.35rem;padding-left:1.25rem;font-size:.83rem;line-height:1.5;position:relative}.preplanning__pros li:before{content:"✓";color:#27ae60;font-size:.75rem;font-weight:700;position:absolute;left:0}.preplanning__cons li:before{content:"!";color:var(--color-grey);font-size:.7rem;font-weight:700;position:absolute;left:.15rem}.preplanning__best-for{color:var(--color-grey-dark);background:var(--color-grey-light);border-radius:var(--radius-sm);margin-top:1rem;padding:.75rem 1rem;font-size:.85rem;line-height:1.5}.preplanning__best-for strong{color:var(--color-black)}.preplanning__card-cta{margin-top:1.5rem}.preplanning__comparison{border:1px solid var(--color-beige);border-radius:var(--radius-md);max-width:800px;margin:2rem auto 0;overflow:hidden}.preplanning__comp-header{background:var(--color-purple);color:var(--color-white);letter-spacing:.06em;text-transform:uppercase;grid-template-columns:1.8fr 1fr 1fr 1fr;padding:.75rem 1.25rem;font-size:.75rem;font-weight:700;display:grid}.preplanning__comp-header span:not(:first-child){text-align:center}.preplanning__comp-row{border-bottom:1px solid var(--color-beige-light);grid-template-columns:1.8fr 1fr 1fr 1fr;align-items:center;padding:.6rem 1.25rem;font-size:.83rem;display:grid}.preplanning__comp-row:last-child{border-bottom:none}.preplanning__comp-row:nth-child(odd){background:var(--color-white)}.preplanning__comp-row:nth-child(2n){background:#f5f2ef80}.preplanning__comp-label{color:var(--color-black);font-size:.82rem;font-weight:700}.preplanning__comp-value{text-align:center;color:var(--color-grey-dark)}.preplanning__comp-yes{color:#27ae60;font-weight:700}.preplanning__comp-no{color:#c0392b}@media (width<=768px){.preplanning__comparison{-webkit-overflow-scrolling:touch;border-radius:var(--radius-md);overflow-x:auto}.preplanning__comp-header,.preplanning__comp-row{grid-template-columns:1.6fr 1fr 1fr 1fr;min-width:500px;padding:.6rem 1rem;font-size:.75rem}.preplanning__comp-label{font-size:.75rem}}.guides__section{max-width:800px;margin:0 auto}.guides__steps{flex-direction:column;gap:1.5rem;margin-top:2rem;display:flex}.guides__step{align-items:flex-start;gap:1.25rem;display:flex}.guides__step-number{background:var(--color-purple);width:36px;min-width:36px;height:36px;color:var(--color-white);font-family:var(--font-heading);border-radius:50%;justify-content:center;align-items:center;font-size:.9rem;font-weight:700;display:flex}.guides__step h4{color:var(--color-black);margin-bottom:.35rem;font-size:1rem}.guides__step p{margin-bottom:0;font-size:.85rem;line-height:1.6}.guides__checklist{grid-template-columns:1fr 1fr;gap:1.5rem;margin-top:2rem;display:grid}.guides__check-item{background:var(--color-grey-light);border-radius:var(--radius-md);padding:1.5rem}.guides__check-item h4{color:var(--color-black);margin-bottom:.5rem;font-size:.95rem}.guides__check-item p{margin-bottom:0;font-size:.83rem;line-height:1.6}.guides__notify-toggle{letter-spacing:.04em;text-transform:uppercase;color:var(--color-purple);cursor:pointer;background:0 0;border:none;margin-top:.75rem;padding:0;font-size:.78rem;font-weight:600;display:inline-block}.guides__notify-toggle:hover{text-decoration:underline}.guides__notify-list{columns:2;column-gap:2rem;margin-top:1rem;padding-left:1.25rem;list-style:outside}.guides__notify-list li{color:var(--color-grey-dark);break-inside:avoid;font-size:.82rem;line-height:1.8}@media (width<=768px){.guides__notify-list{columns:1}}.guides__support-grid{grid-template-columns:repeat(3,1fr);gap:1.5rem;display:grid}.guides__support-card{background:var(--color-white);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);padding:1.5rem}.guides__support-card h4{margin-bottom:.5rem;font-size:.95rem}.guides__support-card a{color:var(--color-purple);margin-bottom:.25rem;font-size:1.25rem;font-weight:700;display:block}.guides__support-card p{color:var(--color-grey);margin-bottom:0;font-size:.8rem}@media (width<=768px){.guides__checklist,.guides__support-grid{grid-template-columns:1fr}}.contact__layout{grid-template-columns:1fr 380px;align-items:start;gap:3rem;display:grid}.contact__form-col h2{text-align:left}.contact__form-col .divider{margin-left:0}.contact__success{background-color:var(--color-grey-light);border-radius:var(--radius-md);text-align:center;padding:3rem 2rem}.contact__success h3{color:var(--color-purple);margin-bottom:.75rem}.contact__success p{max-width:400px;margin:0 auto 1.5rem}.contact__info-card{background-color:var(--color-grey-light);border-radius:var(--radius-md);top:calc(var(--header-height) + 2rem);padding:2rem;position:sticky}.contact__info-card h3{text-align:left}.contact__info-card .divider{margin-left:0}.contact__info-item{margin-bottom:1.25rem}.contact__info-label{letter-spacing:.08em;text-transform:uppercase;color:var(--color-grey);margin-bottom:.25rem;font-size:.75rem;display:block}.contact__info-value{color:var(--color-black);font-size:1rem}a.contact__info-value:hover{color:var(--color-purple)}.contact__locations{margin-bottom:1.5rem}.contact__locations-list{margin-top:.5rem}.contact__locations-list li{color:var(--color-black);justify-content:space-between;align-items:center;gap:1rem;padding:.35rem 0;font-size:.95rem;display:flex}.contact__directions-link{letter-spacing:.04em;text-transform:uppercase;color:var(--color-purple);white-space:nowrap;font-size:.75rem;font-weight:600;text-decoration:none}.contact__directions-link:hover{text-decoration:underline}.contact__urgent{border-top:1px solid var(--color-beige);margin-top:.5rem;padding-top:1.5rem}.contact__urgent p{margin-bottom:1rem;font-size:.85rem}@media (width<=768px){.contact__layout{grid-template-columns:1fr}.contact__info-card{position:static}}.login-page{background-color:var(--color-grey-light);justify-content:center;align-items:center;min-height:100vh;padding:2rem;display:flex}.login__card{background:var(--color-white);border-radius:var(--radius-md);box-shadow:var(--shadow-md);text-align:center;width:100%;max-width:420px;padding:3rem 2.5rem}.login__brand{letter-spacing:.1em;text-transform:uppercase;color:var(--color-grey);margin-bottom:1.5rem;font-size:.8rem}.login__card h2{font-size:1.5rem}.login__form{text-align:left}.login__error{color:#c0392b;text-align:center;border-radius:var(--radius-sm);background-color:#fdf0ef;margin-bottom:1rem;padding:.5rem;font-size:.85rem}.login__submit{width:100%;margin-top:.5rem}.admin__modal-overlay{z-index:1000;background:#0009;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.admin__modal{background:var(--color-white);border-radius:var(--radius-md);width:90%;max-width:460px;padding:2rem;box-shadow:0 8px 32px #00000040}.admin__modal h3{color:var(--color-black);margin-bottom:.75rem;font-size:1.2rem}.admin__modal p{color:var(--color-grey-dark);margin-bottom:.75rem;font-size:.9rem}.admin__modal-prompt{margin-top:1.25rem}.admin__modal-input{border:1px solid var(--color-beige-dark);border-radius:var(--radius-sm);box-sizing:border-box;width:100%;margin-bottom:1.25rem;padding:.6rem .85rem;font-size:1rem}.admin__modal-actions{gap:.75rem;display:flex}.admin__topbar{background-color:var(--color-black);padding:1rem 0}.admin__topbar-inner{justify-content:space-between;align-items:center;display:flex}.admin__title{color:var(--color-white);letter-spacing:.08em;text-transform:uppercase;font-size:1.25rem}.admin__topbar-right{align-items:center;gap:1rem;display:flex}.admin__user{color:var(--color-grey);font-size:.85rem}.admin__logout{border-color:var(--color-grey);color:var(--color-grey);padding:.4rem 1rem;font-size:.75rem}.admin__logout:hover{background-color:var(--color-white);border-color:var(--color-white);color:var(--color-black)}.admin__tabs{background-color:var(--color-white);border-bottom:1px solid var(--color-beige-light)}.admin__tabs .container{gap:0;display:flex}.admin__tab{letter-spacing:.05em;text-transform:uppercase;color:var(--color-grey);cursor:pointer;transition:all var(--transition);background:0 0;border:none;border-bottom:2px solid #0000;padding:1rem 1.5rem;font-size:.85rem}.admin__tab:hover{color:var(--color-black)}.admin__tab--active{color:var(--color-purple);border-bottom-color:var(--color-purple)}.admin__content{background-color:var(--color-grey-light);min-height:calc(100vh - 160px);padding:2rem 0 4rem}.admin__funerals-header{justify-content:space-between;align-items:center;margin-bottom:2rem;display:flex}.admin__funerals-header h2{font-size:1.5rem}.admin__form-card{background:var(--color-white);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);margin-bottom:2rem;padding:2rem}.admin__form-card h3{margin-bottom:1.5rem}.admin__form-grid{grid-template-columns:1fr 1fr;gap:0 1.5rem;display:grid}.admin__file-input{padding:.5rem 0;font-size:.85rem;border:none!important}.admin__file-note{color:var(--color-grey);margin-top:.25rem;margin-bottom:0;font-size:.8rem}.admin__current-image{align-items:center;gap:1rem;margin-bottom:.75rem;display:flex}.admin__current-image-preview{object-fit:cover;border-radius:var(--radius-sm);border:1px solid var(--color-beige);width:80px;height:56px}.admin__remove-image-btn{color:#c0392b;border-radius:var(--radius-sm);cursor:pointer;background:0 0;border:1px solid #c0392b;padding:.3rem .75rem;font-size:.78rem}.admin__remove-image-btn:hover{color:var(--color-white);background:#c0392b}.admin__undo-link{color:var(--color-purple);cursor:pointer;background:0 0;border:none;padding:0;font-size:.8rem;text-decoration:underline}.admin__crop-editor{margin-top:1rem}.admin__crop-header{justify-content:space-between;align-items:center;margin-bottom:.5rem;display:flex}.admin__crop-label{color:var(--color-grey);font-size:.78rem}.admin__crop-frame{border:2px dashed var(--color-beige);border-radius:var(--radius-sm);cursor:grab;-webkit-user-select:none;user-select:none;width:300px;height:200px;position:relative;overflow:hidden}.admin__crop-frame:active{cursor:grabbing;border-color:var(--color-purple)}.admin__crop-img{object-fit:cover;pointer-events:none;width:100%;height:100%}.admin__photo-grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:1rem;display:grid}.admin__photo-card{border-radius:var(--radius-sm);box-shadow:var(--shadow-sm);position:relative;overflow:hidden}.admin__photo-img{object-fit:cover;width:100%;height:120px;display:block}.admin__photo-remove{color:#fff;cursor:pointer;background:#0009;border:none;border-radius:50%;justify-content:center;align-items:center;width:26px;height:26px;font-size:1.1rem;line-height:1;display:flex;position:absolute;top:.35rem;right:.35rem}.admin__photo-remove:hover{background:#c0392b}.btn--disabled{opacity:.6;pointer-events:none}.admin__photo-card{cursor:grab}.admin__photo-card--dragging{opacity:.4}.admin__photo-card--dragover{outline:2px dashed var(--color-purple);outline-offset:2px}.admin__photo-img{cursor:pointer}.admin__lightbox{z-index:1100;background:#000000d9;justify-content:center;align-items:center;padding:2rem;display:flex;position:fixed;inset:0}.admin__lightbox-img{object-fit:contain;border-radius:var(--radius-md);max-width:90vw;max-height:85vh}.admin__lightbox-close{color:#fff;cursor:pointer;background:#ffffff26;border:none;border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;font-size:1.5rem;display:flex;position:absolute;top:1.5rem;right:1.5rem}.admin__lightbox-close:hover{background:#ffffff4d}.admin__form-actions{gap:1rem;margin-top:1rem;display:flex}.admin__search-bar{margin-bottom:1.5rem}.admin__search-input{border:1px solid var(--color-beige);border-radius:var(--radius-md);background:var(--color-white);width:100%;padding:.75rem 1rem;font-size:.9rem}.admin__search-input:focus{border-color:var(--color-purple);outline:none}.admin__section-label{letter-spacing:.08em;text-transform:uppercase;color:var(--color-grey);margin-bottom:.75rem;font-size:.8rem;font-weight:700}.admin__funerals-list{background:var(--color-white);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);overflow:hidden}.admin__funeral-row{border-bottom:1px solid var(--color-beige-light);transition:background-color var(--transition);justify-content:space-between;align-items:center;padding:1rem 1.5rem;display:flex}.admin__funeral-row:last-child{border-bottom:none}.admin__funeral-row:hover{background-color:var(--color-grey-light)}.admin__funeral-info{align-items:center;gap:1rem;display:flex}.admin__funeral-thumb{border-radius:var(--radius-sm);flex-shrink:0;width:48px;height:48px;overflow:hidden}.admin__funeral-thumb img{object-fit:cover;width:100%;height:100%}.admin__funeral-thumb-empty{background-color:var(--color-beige-light);width:100%;height:100%}.admin__funeral-info h4{margin-bottom:.15rem;font-size:1rem}.admin__funeral-meta{color:var(--color-grey);margin-bottom:0;font-size:.8rem}.admin__funeral-actions{flex-shrink:0;gap:.5rem;display:flex}.admin__action-btn{padding:.35rem 1rem;font-size:.75rem}.admin__delete-btn{letter-spacing:.05em;text-transform:uppercase;font-size:.75rem;font-family:var(--font-heading);color:#c0392b;border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition);background:0 0;border:1px solid #c0392b;padding:.35rem 1rem}.admin__delete-btn:hover{color:var(--color-white);background-color:#c0392b}.admin__loading,.admin__empty{text-align:center;color:var(--color-grey);padding:3rem 0}.admin__pricing-grid{grid-template-columns:1fr 1fr;gap:0 2rem;display:grid}.admin__pricing-input{align-items:center;display:flex}.admin__pricing-prefix{background:var(--color-grey-light);border:1px solid var(--color-beige);border-radius:var(--radius-sm) 0 0 var(--radius-sm);color:var(--color-grey-dark);border-right:none;padding:.75rem;font-size:.9rem;font-weight:700}.admin__pricing-input input{flex:1;border-radius:0 var(--radius-sm) var(--radius-sm) 0!important}@media (width<=768px){.admin__topbar-inner{text-align:center;flex-direction:column;gap:.75rem}.admin__form-grid{grid-template-columns:1fr}.admin__funeral-row{flex-direction:column;align-items:flex-start;gap:1rem}.admin__funeral-actions{width:100%}}
