.header-top-bar{background-color:#2e4a47;color:#fff;padding:10px 0;font-size:14px}.top-bar-contact{color:#fff!important;font-weight:500}.top-bar-contact a:hover{color:#28a745!important}.top-bar-icons{display:flex;justify-content:flex-end;gap:15px}.top-bar-icon,.top-bar-icons{color:#fff;align-items:center}.top-bar-icon{font-size:16px;transition:color .3s ease;text-decoration:none;display:inline-flex;justify-content:center;width:30px;height:30px}.top-bar-icon:hover{color:#c5d5d5}.header-main-nav{background-color:#4a6b6b;padding:0;box-shadow:0 2px 4px rgba(0,0,0,.1)}.main-nav-left,.main-nav-right{display:flex;justify-content:center;height:100%}.nav-link-custom{color:#fff;font-size:40px;letter-spacing:.5px;text-transform:uppercase;transition:background-color .3s ease;border:none;white-space:nowrap}.nav-link-custom.active,.nav-link-custom:hover{background-color:rgba(74,107,107,.25);color:#fff}.dropdown-toggle.nav-link-custom:after{margin-left:.4em;vertical-align:middle}.center-logo-link{text-decoration:none;display:inline-block}.center-logo{color:#fff;font-size:2rem;font-weight:700;margin:0;text-transform:uppercase;letter-spacing:2px;text-shadow:2px 2px 4px rgba(0,0,0,.3)}.center-logo-img{width:150px}.cart-nav-item{display:flex;align-items:center;padding-left:10px}.dropdown-menu{background-color:#fff;border:1px solid #ddd;border-radius:4px;box-shadow:0 4px 8px rgba(0,0,0,.15);margin-top:0;padding:.5rem 0}.dropdown-item{color:#333;padding:10px 20px;font-size:14px;transition:background-color .2s ease,color .2s ease}.dropdown-item:hover{background-color:#eef7f6;color:#4a6b6b}.dropdown-item.active,.dropdown-item:active{background-color:#4a6b6b;color:#fff}.dropdown-submenu{position:relative;width:100%}.dropdown-submenu>.dropdown-menu{top:0;left:100%;margin-top:-6px;margin-left:-1px;border-radius:.25rem;display:none}.dropdown-submenu.submenu-left>.dropdown-menu{left:auto;right:100%;margin-left:0;margin-right:-1px}.dropdown-submenu.submenu-left>.dropdown-toggle:after{transform:rotate(90deg)}.dropdown-submenu>.dropdown-toggle:after{transform:rotate(-90deg);position:absolute;right:15px;top:50%;margin-top:-2px}.dropdown-submenu:focus-within>.dropdown-menu,.dropdown-submenu:hover>.dropdown-menu{display:block}.header-info{background-color:#f8f9fa;padding:12px 0;border-bottom:1px solid #e0e0e0;font-size:13px;color:#666}.header-info i{margin-right:8px;color:#4a6b6b}.header-search{background-color:#fff;padding:15px 0;border-bottom:1px solid #e0e0e0}.react-autosuggest__container{position:relative}.react-autosuggest__input{width:100%;padding:12px 20px;border:2px solid #4a6b6b;border-radius:25px;font-size:15px;outline:none;transition:border-color .3s ease}.react-autosuggest__input:focus{border-color:#3d5c5c;box-shadow:0 0 0 3px rgba(74,107,107,.1)}.react-autosuggest__suggestions-container{position:absolute;width:100%;z-index:1000;margin-top:5px}.react-autosuggest__suggestions-list{margin:0;padding:0;list-style:none;background-color:#fff;border:1px solid #ddd;border-radius:8px;box-shadow:0 4px 12px rgba(0,0,0,.15);max-height:400px;overflow-y:auto}.react-autosuggest__suggestion{padding:12px 15px;cursor:pointer;transition:background-color .2s ease}.react-autosuggest__suggestion--highlighted,.react-autosuggest__suggestion:hover{background-color:#f5f5f5}.react-autosuggest__suggestion-match{font-weight:700;color:#4a6b6b}.mobile-nav{background-color:#4a6b6b;box-shadow:0 2px 4px rgba(0,0,0,.1)}.mobile-logo{color:#fff;font-size:1.5rem;font-weight:700;margin:0;text-transform:uppercase;letter-spacing:1px}.obituary-cart-host{position:relative;z-index:10050}.mini-cart-open,.mini-menu-open{position:fixed;top:0;left:0;width:100vw;height:100vh;z-index:9999;background-color:rgba(0,0,0,.5)}.hidden-mini-cart,.hidden-mini-menu{display:none;position:fixed;top:0;right:-100%;height:100vh;z-index:9999;transition:right .3s ease}.mini-cart,.mini-menu{width:min(360px,86vw)!important;max-width:360px!important;height:100vh;background-color:#fff;box-shadow:-8px 0 28px rgba(0,0,0,.18);position:relative;color:inherit;z-index:10000;margin-left:auto}.drawer-backdrop{position:fixed;top:0;left:0;width:100vw;height:100vh;background-color:hsla(0,0%,100%,0);z-index:9998;opacity:0;pointer-events:none;transition:opacity .3s ease}.mini-cart-open .drawer-backdrop,.mini-menu-open .drawer-backdrop{opacity:1;pointer-events:auto}.header.fixed-mobile-header{position:fixed;top:0;left:0;right:0;z-index:1000;background-color:#4a6b6b}@media(max-width:767px){.header-top-bar{font-size:12px;padding:6px 0}.mini-cart,.mini-menu{width:min(320px,88vw)!important;max-width:320px!important}.header-main-nav{display:none}}@media(min-width:768px)and (max-width:991px){.nav-link-custom{font-size:12px;padding:.8rem .6rem}.center-logo{font-size:1.5rem}}@media(min-width:992px){.nav-link-custom{font-size:13px}}.text-teal{color:#4a6b6b}.bg-teal{background-color:#4a6b6b}.border-teal{border-color:#4a6b6b}.header{transition:height .35s ease,box-shadow .35s ease}.center-logo-img{max-height:95px;transition:max-height .35s ease}.mini-cart,.mini-menu{position:fixed;top:0;width:min(360px,86vw);max-width:360px;height:100%;background:#fff;z-index:1100;transition:transform .3s ease-in-out;overflow-y:auto}.hidden-mini-menu .mini-menu{transform:translateX(-100%)}.mini-menu-open .mini-menu{transform:translateX(0);left:0}.hidden-mini-cart .mini-cart{transform:translateX(100%);right:0}.mini-cart-open .mini-cart{transform:translateX(0);right:0}.center-logo-img{padding:10px 0}.nav-link-custom{font-weight:600;letter-spacing:1px}.menu-list{list-style:none;padding:0;margin-top:20px}.menu-item{border-bottom:1px solid #eee}.menu-item a{display:block;padding:15px 0;color:#1a2928;font-weight:600;text-decoration:none}.menu-item-group{padding:15px 0;border-bottom:1px solid #eee}.menu-group-title{display:block;font-size:.8rem;color:#888;margin-bottom:10px;letter-spacing:1px}.menu-sub-list{list-style:none;padding-left:15px}.menu-sub-list li a{padding:8px 0;font-weight:500;font-size:.95rem}.active-link{color:#c5a059!important}.header{transition:all .35s ease}.header-main-nav{padding:30px 0;transition:padding .35s ease}.center-logo-img{width:155px;height:auto;transition:all .35s ease}.nav-link-custom{font-size:15px;padding:1rem .8rem;transition:all .35s ease}.header.scrolled .header-main-nav{padding:0}.header.scrolled .center-logo-img{width:110px}.header.scrolled .nav-link-custom{font-size:11.1px;padding:.7rem .56rem}.header.scrolled{box-shadow:0 2px 8px rgba(0,0,0,.15)}.funeral-footer{background-color:#2d4543;color:#fff;padding:3rem 0 0;font-family:Arial,sans-serif;margin-top:auto}.footer-left-section{padding:2rem 3rem;background-color:#2d4543}.footer-logo-section{margin-bottom:2rem;text-align:left}.footer-logo{max-width:300px;height:auto;padding:1rem;border-radius:4px}.footer-grief-support{margin-top:2rem}.grief-support-title{font-size:1.25rem;font-weight:400;color:#fff!important;margin-bottom:1rem;line-height:1.4}.footer-grief-support .grief-support-text,.funeral-footer .grief-support-text,.grief-support-text{color:#fff!important}.grief-support-form{margin-top:1rem}.grief-email-input{width:100%;max-width:300px;padding:10px 15px;border:none;border-radius:4px;font-size:.9rem;background-color:#fff;color:#333;transition:box-shadow .3s ease}.grief-email-input:focus{outline:none;box-shadow:0 0 0 3px hsla(0,0%,100%,.2)}.grief-email-input::-moz-placeholder{color:#999}.grief-email-input:-ms-input-placeholder{color:#999}.grief-email-input::placeholder{color:#999}.footer-center-section{padding:2rem 3rem;background-color:#2d4543;border-left:1px solid hsla(0,0%,100%,.1);border-right:1px solid hsla(0,0%,100%,.1)}.footer-location-info{height:100%}.footer-section-title{font-size:1.25rem;font-weight:600;color:#fff;margin-bottom:1.5rem;letter-spacing:.5px}.location-details{gap:1.25rem}.location-item{display:flex;gap:1rem;align-items:flex-start}.location-icon{color:#fff;flex-shrink:0;margin-top:2px}.location-text{font-size:.9rem;line-height:1.6;color:#e0e0e0}.location-text strong{color:#fff;font-weight:600}.footer-social-icons{display:flex;gap:1rem;margin-top:1.5rem;flex-wrap:wrap}.social-icon{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;background-color:hsla(0,0%,100%,.1);border-radius:50%;color:#fff;transition:all .3s ease;text-decoration:none}.social-icon:hover{background-color:hsla(0,0%,100%,.2);color:#fff;transform:translateY(-2px)}.social-icon svg{width:18px;height:18px}.footer-right-section{padding:2rem 3rem;background-color:#2d4543;display:flex;align-items:flex-start;justify-content:flex-end}.footer-navigation{width:100%}.footer-nav-list{list-style:none;display:flex;flex-direction:column;gap:.5rem}.footer-nav-item,.footer-nav-list{padding:0;margin:0}.footer-nav-item a{color:#fff;text-decoration:none;font-size:1rem;font-weight:400;transition:all .3s ease;display:inline-block;padding:.4rem 0;letter-spacing:.3px}.footer-nav-item a:hover{color:#b8d4d2;padding-left:5px}@media(max-width:991px){.footer-center-section,.footer-left-section,.footer-right-section{border-left:none;border-right:none;border-bottom:1px solid hsla(0,0%,100%,.1)}.footer-right-section{border-bottom:none}.footer-logo{max-width:250px}.footer-section-title,.grief-support-title{font-size:1.15rem}}@media(max-width:767px){.funeral-footer{padding:2rem 0 0}.footer-center-section,.footer-left-section,.footer-right-section{padding:2rem 1.5rem}.footer-logo{max-width:220px}.grief-support-title{font-size:1.1rem}.grief-support-text{font-size:.85rem}.grief-email-input{max-width:100%}.footer-section-title{font-size:1.1rem}.location-text{font-size:.85rem}.footer-nav-item a{font-size:.95rem}.footer-social-icons{gap:.75rem}.social-icon{width:36px;height:36px}}@media(max-width:575px){.footer-center-section,.footer-left-section,.footer-right-section{padding:1.5rem 1rem}.footer-logo{max-width:200px}.grief-support-title{font-size:1rem}.grief-support-text{font-size:.8rem;line-height:1.6}.grief-email-input{padding:8px 12px;font-size:.85rem}.footer-section-title{font-size:1rem}.location-item{gap:.75rem}.location-text{font-size:.8rem}.footer-nav-item a{font-size:.9rem}.social-icon{width:34px;height:34px}.social-icon svg{width:16px;height:16px}}@media(max-width:400px){.footer-logo{max-width:180px}.footer-section-title,.grief-support-title{font-size:.95rem}.footer-nav-item a{font-size:.85rem}}@media(prefers-color-scheme:dark){.footer-center-section,.footer-left-section,.footer-right-section,.funeral-footer{background-color:#1a2725}}@media print{.funeral-footer{page-break-inside:avoid}.footer-center-section,.footer-left-section,.footer-right-section,.funeral-footer{background-color:#fff;color:#000}.footer-nav-item a,.footer-section-title,.grief-support-title,.location-text strong{color:#000}.grief-support-text,.location-text{color:#333}.footer-social-icons,.grief-email-input{display:none}}.obituary-page .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}.wrapper:has(.obituary-page),body.obituary-detail-page .wrapper{padding-top:0!important}.obituary-page{--obit-forest:#1e3a4c;--obit-moss:#3d6b82;--obit-rose:#8f3f48;--obit-gold:#c4a574;--obit-gold-soft:#d9c4a0;--obit-ink:#1c2a33;--obit-muted:#5a6b75;--obit-line:rgba(30,58,76,0.12);--obit-paper:#f3f6f8;--obit-panel:#fff;--obit-mist:#e7eef2;--obit-slate:#2c4556;--obit-accent:#4a90a4;--obit-display:"Cormorant Garamond","Palatino Linotype",Palatino,serif;--obit-sans:"Outfit","Helvetica Neue",Arial,sans-serif;min-height:100vh;margin-top:0;background:linear-gradient(120deg,rgba(74,144,164,.08),transparent 42%),linear-gradient(180deg,#eef3f6,var(--obit-paper) 40%,#f7fafb);color:var(--obit-ink);font-family:var(--obit-sans);padding-bottom:0}.loading-container{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--obit-paper)}.error-text,.loading-text{font-size:18px;color:var(--obit-muted)}.error-container{text-align:center;padding:2rem}.obituary-sticky-top{position:sticky;top:0;z-index:120;background:rgba(255,252,247,.9);backdrop-filter:blur(16px);border-bottom:1px solid rgba(184,149,90,.22)}.obituary-header{padding:8px 18px}.header-content{max-width:1120px;display:flex;justify-content:space-between;align-items:center;gap:16px}.header-title{margin:0;font-family:var(--obit-display);font-size:18px;font-weight:500;letter-spacing:.04em;color:var(--obit-forest)}.header-actions{display:flex;align-items:center;gap:12px}.home-button{border:0;background:transparent;color:var(--obit-forest);font-family:var(--obit-sans);font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;cursor:pointer}.home-button:hover{color:var(--obit-gold)}.tribute-sticky-bar{padding:6px 14px 8px;border-top:1px solid rgba(184,149,90,.16);background:linear-gradient(180deg,rgba(255,252,247,.5),rgba(247,243,236,.85))}.tribute-sticky-bar--bottom{display:none;position:fixed;left:0;right:0;bottom:0;z-index:130;border-top:1px solid var(--obit-line);background:hsla(0,0%,100%,.96);backdrop-filter:blur(12px);box-shadow:0 -8px 28px rgba(24,35,31,.08);padding:10px 12px calc(10px + env(safe-area-inset-bottom, 0px))}.tribute-commerce-actions{display:flex;flex-direction:column;gap:6px;width:100%}.tribute-commerce-actions--band,.tribute-commerce-actions--compact,.tribute-commerce-actions--hero,.tribute-commerce-actions--inline,.tribute-commerce-actions--sticky-inner{flex-direction:row;flex-wrap:wrap;align-items:center}.tribute-commerce-actions--sticky-inner{max-width:1180px;margin:0 auto;justify-content:center;gap:8px}.tribute-cta{display:inline-flex;align-items:center;justify-content:center;gap:7px;border:1px solid transparent;cursor:pointer;font-family:var(--obit-sans);font-weight:600;font-size:12px;letter-spacing:.05em;text-transform:uppercase;line-height:1.2;padding:10px 14px;border-radius:2px;transition:transform .25s ease,background-color .25s ease,border-color .25s ease,color .25s ease;white-space:nowrap}.tribute-cta:hover{transform:translateY(-1px)}.tribute-cta-flowers{background:var(--obit-rose);border-color:var(--obit-rose);color:#fff}.tribute-cta-flowers:hover{background:#7d343c;border-color:#7d343c}.tribute-cta-tree{background:var(--obit-moss);border-color:var(--obit-moss);color:#fff}.tribute-cta-tree:hover{background:#254a3b;border-color:#254a3b}.tribute-cta-gift{background:var(--obit-forest);border-color:var(--obit-forest);color:#fff}.tribute-cta-gift:hover{background:#0f2921;border-color:#0f2921;color:#fff}.obit-hero .tribute-cta-gift{border-color:#e8d5a8;color:#16352c;background:#f3e6c8}.obit-hero .tribute-cta-gift:hover{background:#fff;border-color:#fff;color:#16352c}.tribute-commerce-actions--stack .tribute-cta{width:100%}.tribute-commerce-actions--inline .tribute-cta,.tribute-commerce-actions--sticky-inner .tribute-cta{padding:9px 14px;font-size:13px}.tribute-cta--compact{padding:8px 12px!important;font-size:12px!important}.tribute-commerce-actions--band .tribute-cta,.tribute-commerce-actions--hero .tribute-cta{flex:1 1 140px;min-height:42px;font-size:12px}.tribute-commerce-actions--sticky-bottom{flex-wrap:nowrap;gap:6px}.tribute-commerce-actions--sticky-bottom .tribute-cta{flex:1 1 0;min-width:0;padding:11px 6px;font-size:11px;gap:4px}.tribute-commerce-actions--sticky-bottom .tribute-cta span{overflow:hidden;text-overflow:ellipsis}.obit-hero{position:relative;min-height:min(56vh,480px);display:grid;align-items:end;overflow:hidden;color:#faf7f1}.obit-hero-media{position:absolute;inset:0}.obit-hero-image{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;-o-object-position:center 28%;object-position:center 28%;transform:scale(1.05);filter:saturate(.92) contrast(1.04);animation:obitHeroDrift 22s ease-in-out infinite alternate}.obit-hero-scrim{position:absolute;inset:0;background:linear-gradient(180deg,rgba(8,16,14,.55),rgba(8,16,14,.45) 32%,rgba(8,16,14,.88)),linear-gradient(90deg,rgba(8,16,14,.55),rgba(8,16,14,.2) 60%),radial-gradient(ellipse at 30% 80%,rgba(184,149,90,.12),transparent 45%)}.obit-hero-inner{position:relative;z-index:1;width:min(880px,calc(100% - 40px));margin:0 auto 36px;padding-top:72px;animation:obitRise 1.05s cubic-bezier(.22,1,.36,1) both}.obit-brand{margin:0 0 10px;font-family:var(--obit-sans);font-size:11px;font-weight:700;letter-spacing:.28em;text-transform:uppercase;color:#f3e6c8;text-shadow:0 1px 12px rgba(0,0,0,.45)}.obit-ornament{display:flex;align-items:center;justify-content:flex-start;gap:10px;margin:0 0 10px;max-width:180px}.obit-ornament--soft{margin:4px 0 16px;opacity:.85}.obit-ornament--dark{margin:0 auto 10px;justify-content:center}.obit-ornament-line{flex:1;height:1px;background:linear-gradient(90deg,transparent,var(--obit-gold-soft),transparent)}.obit-ornament--dark .obit-ornament-line{background:linear-gradient(90deg,transparent,var(--obit-gold),transparent)}.obit-ornament-diamond{width:7px;height:7px;border:1px solid var(--obit-gold-soft);transform:rotate(45deg);flex-shrink:0}.obit-ornament--dark .obit-ornament-diamond{border-color:var(--obit-gold);background:rgba(184,149,90,.15)}.obit-kicker{margin:0 0 6px;font-size:clamp(16px,2vw,22px);font-style:italic;font-weight:400;letter-spacing:.02em;text-shadow:0 2px 18px rgba(0,0,0,.45)}.obit-kicker,.obit-name{font-family:var(--obit-display);color:#fff}.obit-name{margin:0 0 8px;font-size:clamp(32px,5.5vw,56px);font-weight:500;line-height:1.05;letter-spacing:-.018em;text-wrap:balance;text-shadow:0 2px 24px rgba(0,0,0,.5)}.obit-dates{margin:0;font-size:13px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:#f2efe8;text-shadow:0 1px 12px rgba(0,0,0,.45)}.obit-hero .tribute-commerce-actions--hero{margin-bottom:14px;max-width:620px}.obit-hero .tribute-cta{box-shadow:0 12px 36px rgba(0,0,0,.22);backdrop-filter:blur(4px)}.obit-hero-share{display:flex;gap:12px}.obit-share-btn{width:42px;height:42px;border-radius:50%;border:1px solid rgba(212,185,138,.45);background:hsla(0,0%,100%,.08);color:#fff;display:inline-flex;align-items:center;justify-content:center;text-decoration:none;cursor:pointer;transition:background .25s ease,border-color .25s ease,transform .25s ease}.obit-share-btn:hover{background:rgba(184,149,90,.28);border-color:var(--obit-gold-soft);transform:translateY(-1px)}.obit-shell{width:min(1120px,calc(100% - 32px));margin:-28px auto 48px;position:relative;z-index:2;display:grid;grid-template-columns:280px minmax(0,1fr);gap:20px;align-items:start}.obit-aside{display:flex;flex-direction:column;gap:12px}.obit-portrait{background:var(--obit-panel);border:1px solid rgba(184,149,90,.22);padding:12px;box-shadow:0 12px 32px rgba(20,28,25,.06);animation:obitRise .9s cubic-bezier(.22,1,.36,1) .12s both}.profile-photo-wrapper{width:100%;height:300px;background:linear-gradient(180deg,#f7f3ec,#ebe6dc);display:flex;align-items:center;justify-content:center;overflow:hidden;margin-bottom:10px;border:1px solid rgba(184,149,90,.18)}.profile-photo{display:block;max-width:100%;max-height:100%;width:auto;height:auto;-o-object-fit:contain;object-fit:contain;-o-object-position:center;object-position:center}.obit-memory-link{width:100%;margin-bottom:8px;border:1px solid rgba(184,149,90,.45);background:transparent;color:var(--obit-forest);font-family:var(--obit-sans);font-size:11px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;padding:10px 12px;cursor:pointer;transition:background .25s ease,color .25s ease,border-color .25s ease}.obit-memory-link:hover{background:var(--obit-forest);border-color:var(--obit-forest);color:#fff}.add-tribute-form,.condolence-item,.honor-memory-band,.obit-section,.obituary-grief-support-section,.service-cards,.stats-section{background:var(--obit-panel);border:1px solid rgba(184,149,90,.16);box-shadow:0 10px 34px rgba(20,28,25,.04)}.obituary-grief-support-section,.stats-section{padding:14px}.honor-memory-title,.obit-section-title,.obituary-grief-support-title,.service-title,.stats-title,.tribute-title{font-family:var(--obit-display);color:var(--obit-forest);font-weight:600}.stats-title{margin:0 0 12px;font-size:18px}.stats-list{display:flex;flex-direction:column;gap:10px}.stat-row{display:flex;justify-content:space-between;gap:12px;font-size:14px;color:var(--obit-muted)}.stat-number{font-weight:700;color:var(--obit-forest)}.obituary-grief-support-title{margin:0 0 8px;font-size:18px}.obituary-grief-support-text{margin:0 0 14px;font-size:14px;line-height:1.55;color:#2f3b35}.grief-email-input,.tribute-input,.tribute-textarea{width:100%;border:1px solid var(--obit-line);background:#fbfcfb;color:var(--obit-ink);font-family:var(--obit-sans);font-size:15px;padding:12px 14px;border-radius:0}.grief-email-input:focus,.tribute-input:focus,.tribute-textarea:focus{outline:2px solid rgba(63,107,86,.25);border-color:var(--obit-moss)}.grief-email-input::-moz-placeholder,.tribute-input::-moz-placeholder,.tribute-textarea::-moz-placeholder{color:#5a6660;opacity:1}.grief-email-input:-ms-input-placeholder,.tribute-input:-ms-input-placeholder,.tribute-textarea:-ms-input-placeholder{color:#5a6660;opacity:1}.grief-email-input::placeholder,.tribute-input::placeholder,.tribute-textarea::placeholder{color:#5a6660;opacity:1}.obit-main{display:flex;flex-direction:column;gap:14px;animation:obitRise .85s ease .15s both}.obit-section{padding:22px 24px 24px}.obit-section-title{margin:0 0 12px;font-size:24px;font-weight:500;line-height:1.2;letter-spacing:-.01em}.biography-text{font-size:16px;line-height:1.65;color:var(--obit-ink);max-width:68ch}.biography-text p{margin:0 0 .75em}.content-image-wrapper{margin:0 0 12px}.content-image{width:100%;max-height:420px;-o-object-fit:cover;object-fit:cover;display:block}.honor-memory-band{padding:20px 22px;background:linear-gradient(145deg,rgba(184,149,90,.1),rgba(47,90,72,.06) 48%,rgba(143,63,72,.06)),var(--obit-panel);text-align:center;border-color:rgba(184,149,90,.28)}.honor-memory-band-copy{margin-bottom:12px}.honor-memory-title{margin:0 0 6px;font-size:24px;font-weight:500}.honor-memory-text{margin:0 auto;max-width:46ch;font-size:14px;line-height:1.5;color:#2f3b35}.obit-social-proof{margin:8px auto 0;max-width:46ch;font-size:13px;font-weight:600;color:var(--obit-forest)}.honor-memory-secondary{margin-top:12px;border:0;background:transparent;color:var(--obit-forest);font-family:var(--obit-sans);font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;text-decoration:underline;cursor:pointer}.honor-memory-secondary:hover{color:var(--obit-rose)}.order-paths{display:grid;grid-template-columns:1fr 1fr;gap:10px}.order-path{display:flex;align-items:center;gap:12px;text-align:left;border:1px solid rgba(184,149,90,.22);background:var(--obit-panel);padding:14px;cursor:pointer;transition:border-color .2s ease,transform .2s ease}.order-path:hover{transform:translateY(-1px);border-color:rgba(184,149,90,.55)}.order-path--flowers{border-left:3px solid var(--obit-rose)}.order-path--trees{border-left:3px solid var(--obit-moss)}.order-path-copy{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}.order-path-copy strong{font-size:14px;color:var(--obit-ink);font-weight:700}.order-path-copy em{font-style:normal;font-size:12px;color:#3f4a44}.order-path-action{font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--obit-forest);white-space:nowrap}.order-path--flowers .order-path-action{color:var(--obit-rose)}.featured-tributes{background:var(--obit-panel);border:1px solid rgba(184,149,90,.18);padding:22px 18px 20px;box-shadow:0 10px 34px rgba(20,28,25,.04);overflow:visible}.featured-tributes-header{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:14px;flex-wrap:wrap}.featured-tributes-header .obit-section-title{margin:0;max-width:100%;overflow:visible;white-space:normal;overflow-wrap:anywhere;word-break:break-word;line-height:1.25;color:var(--obit-slate)!important}.featured-tributes-sub{margin:6px 0 0;font-size:13px;color:#3f4a44;max-width:48ch}.featured-tributes-quick{display:flex;gap:6px;flex-wrap:wrap}.featured-tributes-loading{margin:0;font-size:13px;color:#3f4a44}.featured-tributes-grid{display:grid;gap:10px}.featured-tributes-grid,.featured-tributes-grid--shop{grid-template-columns:repeat(4,minmax(0,1fr))}.memorial-shop-filters{display:flex;gap:6px;margin-bottom:10px;flex-wrap:wrap}.memorial-shop-filter{border:1px solid rgba(184,149,90,.35);background:transparent;color:var(--obit-forest);font-family:var(--obit-sans);font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:7px 12px;cursor:pointer}.memorial-shop-filter.is-active{background:var(--obit-forest);border-color:var(--obit-forest);color:#fff}.memorial-added-toast{margin:0 0 10px;padding:8px 10px;background:#edf5f0;border:1px solid rgba(63,107,86,.25);color:#16352c;font-size:13px;font-weight:600}.memorial-shop-footer{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.featured-tribute-card{position:relative;display:flex;flex-direction:column;border:1px solid rgba(184,149,90,.2);background:#fffcf7;padding:0;text-align:left;overflow:hidden;transition:transform .2s ease,border-color .2s ease}.featured-tribute-card:hover{transform:translateY(-2px);border-color:rgba(184,149,90,.55)}.featured-tribute-media{position:relative;display:flex;align-items:center;justify-content:center;width:100%;aspect-ratio:1/1;padding:12px;border:0;background:#f7f3ec;cursor:pointer;overflow:hidden}.featured-tribute-name-btn{border:0;background:transparent;padding:0;text-align:left;font:inherit;font-size:13px;font-weight:700;color:var(--obit-ink);line-height:1.3;cursor:pointer}.featured-add-btn{margin-top:6px;width:100%;border:0;padding:9px 10px;font-family:var(--obit-sans);font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;cursor:pointer;color:#fff;background:var(--obit-rose)}.featured-add-btn.is-tree{background:var(--obit-moss)}.featured-add-btn:hover{opacity:.92}.memorial-cart-fab{position:fixed;right:max(16px,env(safe-area-inset-right,0));bottom:max(20px,env(safe-area-inset-bottom,0));z-index:140;width:58px;height:58px;border:0;border-radius:50%;background:var(--obit-forest,#1e3a4c);color:#fff;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 12px 28px rgba(15,23,42,.28);transition:transform .2s ease,background-color .2s ease,box-shadow .2s ease}.memorial-cart-fab:hover{transform:translateY(-2px);background:var(--obit-slate,#2c4556);box-shadow:0 16px 34px rgba(15,23,42,.32)}.memorial-cart-fab:focus-visible{outline:2px solid #c4a574;outline-offset:3px}.memorial-cart-fab-count{position:absolute;top:-2px;right:-2px;min-width:22px;height:22px;padding:0 6px;border-radius:999px;background:var(--obit-rose,#8f3f48);color:#fff;font-family:var(--obit-sans,"Outfit",sans-serif);font-size:11px;font-weight:700;line-height:22px;text-align:center;box-shadow:0 2px 8px rgba(143,63,72,.35)}.obituary-page.has-memorial-cart .tribute-sticky-bar--bottom{bottom:0}.social-proof-toast{position:fixed;left:16px;bottom:24px;z-index:145;display:flex;align-items:stretch;max-width:min(360px,calc(100vw - 28px));background:#fffcf7;border:1px solid rgba(184,149,90,.35);box-shadow:0 14px 40px rgba(20,28,25,.16);animation:socialProofIn .35s ease both}@media(max-width:991px){.social-proof-toast{bottom:84px}.obituary-page.has-memorial-cart .memorial-cart-fab{bottom:calc(78px + env(safe-area-inset-bottom, 0px))}.obituary-page.has-memorial-cart .social-proof-toast{bottom:84px;max-width:min(300px,calc(100vw - 96px))}}.social-proof-toast-main{flex:1;display:flex;gap:10px;align-items:flex-start;border:0;background:transparent;text-align:left;padding:12px 8px 12px 12px;cursor:pointer;font-family:var(--obit-sans)}.social-proof-toast-icon{width:34px;height:34px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;background:#edf5f0;color:var(--obit-moss)}.social-proof-toast--flower .social-proof-toast-icon{background:#f8eef0;color:var(--obit-rose)}.social-proof-toast--gift .social-proof-toast-icon{background:#eef2f0;color:var(--obit-forest)}.social-proof-toast-copy{display:flex;flex-direction:column;gap:2px;min-width:0}.social-proof-toast-copy strong{font-size:13px;font-weight:700;color:var(--obit-ink);line-height:1.3}.social-proof-toast-copy em{font-style:normal;font-size:12px;color:#445049}.social-proof-toast-cta{margin-top:4px;font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--obit-rose)}.social-proof-toast--tree .social-proof-toast-cta{color:var(--obit-moss)}.social-proof-toast-close{border:0;background:transparent;color:#66736c;font-size:20px;line-height:1;padding:8px 10px;cursor:pointer}.social-proof-toast-close:hover{color:var(--obit-ink)}@keyframes socialProofIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@media(prefers-reduced-motion:reduce){.social-proof-toast{animation:none}}.featured-tribute-badge{position:absolute;top:8px;left:8px;z-index:1;padding:3px 7px;font-size:10px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;background:rgba(255,252,247,.95);color:var(--obit-forest)}.featured-tribute-badge.is-flower{color:var(--obit-rose)}.featured-tribute-image{width:100%;height:100%;max-width:100%;max-height:100%;-o-object-fit:contain;object-fit:contain;-o-object-position:center;object-position:center;display:block;background:transparent}.featured-tribute-body{display:flex;flex-direction:column;gap:4px;padding:10px}.featured-tribute-name{font-size:13px;font-weight:700;color:var(--obit-ink);line-height:1.3}.featured-tribute-price{font-size:12px;font-weight:600;color:var(--obit-forest)}.featured-tribute-cta{margin-top:2px;font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--obit-rose)}.featured-tribute-card--tree .featured-tribute-cta{color:var(--obit-moss)}.service-tribute-note{margin:0 0 8px;font-size:12px;font-weight:600;color:#2f3b35}.services-list{display:flex;flex-direction:column;gap:12px}.obituary-page .services-section.obit-section{margin-top:0;background:transparent;border:none;box-shadow:none;padding:0}.obituary-page .services-section .obit-section-title{margin-bottom:10px;padding:0 2px}.obituary-page .service-cards{overflow:hidden;background:var(--obit-panel);border:1px solid rgba(184,149,90,.22);border-radius:0;box-shadow:0 10px 34px rgba(20,28,25,.04);backdrop-filter:none}.obituary-page .service-header{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:16px 18px;background:linear-gradient(180deg,#fffcf7,#f7f3ec);border-bottom:1px solid rgba(184,149,90,.2)}.obituary-page .service-title{margin:0;font-family:var(--obit-display);font-size:20px;font-weight:500;letter-spacing:-.01em;text-transform:none;color:var(--obit-forest)}.obituary-page .email-details-btn{display:inline-flex;align-items:center;gap:6px;border:1px solid rgba(184,149,90,.45);border-radius:2px;background:transparent;color:var(--obit-forest);font-family:var(--obit-sans);font-size:11px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;padding:8px 12px;cursor:pointer;transition:background .2s ease,border-color .2s ease,color .2s ease}.obituary-page .email-details-btn:hover{background:rgba(184,149,90,.12);border-color:var(--obit-gold);color:var(--obit-forest)}.obituary-page .email-details-btn .email-icon{display:inline-flex}.obituary-page .service-details{padding:14px 18px;display:flex;flex-direction:column;gap:8px;background:transparent}.obituary-page .service-detail-item{display:flex;align-items:flex-start;gap:10px;font-size:14px;line-height:1.45;color:#2a3530;font-weight:500}.obituary-page .detail-icon{color:var(--obit-gold);flex-shrink:0;margin-top:2px}.service-pending-note{margin:0;color:#3f4a44;font-weight:500}.obituary-page .service-tribute-actions{padding:12px 18px 14px;border-top:1px solid rgba(184,149,90,.18);background:linear-gradient(180deg,#faf7f1,#f3efe6)}.tribute-header{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-bottom:12px}.tribute-header-main{display:flex;align-items:baseline;gap:12px}.tribute-title{margin:0}.tribute-count{background:transparent;color:var(--obit-forest);border:1px solid rgba(184,149,90,.45);padding:4px 12px;font-size:11px;font-weight:600;letter-spacing:.1em;text-transform:uppercase}.tribute-header-actions{display:flex;justify-content:flex-end;flex:1 1 auto}.tree-banner{margin-bottom:8px;padding:10px 12px;background:#edf5f0;border:1px solid rgba(63,107,86,.18)}.flower-banner{background:#f8eef0;border-color:rgba(168,75,85,.18)}.gift-banner{background:#eef2f0}.tree-banner-content{display:flex;align-items:center;gap:10px;color:#16352c;font-size:14px;font-weight:700}.flower-banner .tree-banner-content{color:#7a3038}.add-tribute-form{padding:14px;margin:10px 0 14px;display:flex;flex-direction:column;gap:8px}.tribute-actions{display:flex;justify-content:flex-start}.condolences-list{display:flex;flex-direction:column;gap:10px}.no-condolences{text-align:center;color:#3f4a44;padding:20px 14px;margin:0;font-weight:500}.condolence-item{padding:12px;display:flex;gap:10px}.condolence-avatar{width:46px;height:46px;border-radius:50%;background:linear-gradient(145deg,var(--obit-forest),#2a4f41);color:#fff;display:flex;align-items:center;justify-content:center;font-family:var(--obit-display);font-weight:500;font-size:18px;flex-shrink:0;border:1px solid rgba(184,149,90,.35)}.condolence-content{flex:1;min-width:0}.condolence-header{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-bottom:6px}.condolence-author{margin:0;font-size:16px;font-weight:700;color:var(--obit-ink)}.condolence-date{font-size:12px;color:#445049;font-weight:600}.type-badge{gap:6px;padding:4px 10px;font-weight:700;margin-bottom:8px}.badge-tree{background:#edf5f0;color:var(--obit-moss)}.badge-flower{background:#f8eef0;color:var(--obit-rose)}.badge-gift{background:#eef2f0;color:var(--obit-forest)}.badge-message{background:var(--obit-mist);color:var(--obit-muted)}.condolence-message{margin:0;font-size:15px;line-height:1.6;color:var(--obit-ink)}.tree-visual{margin-top:12px;padding:14px;display:flex;gap:12px;align-items:flex-start;background:#f4f7f5;border:1px solid var(--obit-line)}.tree-visual-icon{color:var(--obit-moss);flex-shrink:0}.flower-visual .tree-visual-icon{color:var(--obit-rose)}.tree-visual-text strong{display:block;margin-bottom:4px;color:var(--obit-forest)}.tree-visual-subtext{margin:0;font-size:13px;color:var(--obit-muted)}.music-controls{display:flex;gap:8px}.music-control-btn{width:34px;height:34px;border-radius:50%;border:1px solid var(--obit-line);background:#fff;cursor:pointer;display:inline-flex;align-items:center;justify-content:center}.music-control-btn:hover{border-color:var(--obit-moss);color:var(--obit-moss)}@keyframes obitHeroDrift{0%{transform:scale(1.04) translateZ(0)}to{transform:scale(1.08) translate3d(0,-1.5%,0)}}@keyframes obitRise{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}@media(prefers-reduced-motion:reduce){.obit-hero-image,.obit-hero-inner,.obit-main,.obit-portrait{animation:none!important;transform:none!important}}.profile-photo-wrapper .gallery-custom-slider,.profile-photo-wrapper .gallery-slider-container{width:100%;height:100%;position:relative;overflow:hidden;background:var(--obit-mist)}.profile-photo-wrapper .gallery-slider-image{position:absolute;inset:0;width:100%;height:100%;-o-object-fit:contain;object-fit:contain;-o-object-position:center;object-position:center;opacity:0;transition:opacity .5s ease;background:var(--obit-mist)}.profile-photo-wrapper .gallery-slider-image.active{opacity:1;z-index:1}.profile-photo-wrapper .gallery-nav-btn{position:absolute;top:50%;transform:translateY(-50%);z-index:2;width:34px;height:34px;border:0;border-radius:50%;background:rgba(24,35,31,.55);color:#fff;cursor:pointer}.profile-photo-wrapper .gallery-nav-prev{left:8px}.profile-photo-wrapper .gallery-nav-next{right:8px}.profile-photo-wrapper .gallery-slider-pagination{position:absolute;left:50%;bottom:10px;transform:translateX(-50%);display:flex;gap:6px;z-index:2}.profile-photo-wrapper .gallery-pagination-dot{width:8px;height:8px;border-radius:50%;border:0;background:hsla(0,0%,100%,.55);cursor:pointer;padding:0}.profile-photo-wrapper .gallery-pagination-dot.active{background:#fff}@media(max-width:991px){.obit-shell{grid-template-columns:1fr;margin-top:-20px;margin-bottom:36px}.tribute-sticky-bar--top{display:none}.tribute-sticky-bar--bottom{display:block}.obituary-page{padding-bottom:calc(96px + env(safe-area-inset-bottom, 0px))}.yt-sticky-widget{bottom:88px!important}.obit-hero{min-height:min(48vh,400px)}.obit-hero-inner{margin-bottom:24px;padding-top:56px}.profile-photo-wrapper{height:260px}.tribute-commerce-actions--band,.tribute-commerce-actions--hero{flex-direction:column}.tribute-commerce-actions--band .tribute-cta,.tribute-commerce-actions--hero .tribute-cta{width:100%;flex:none}.tribute-header-actions{width:100%;justify-content:flex-start}.service-header{flex-direction:column;align-items:flex-start}.order-paths{grid-template-columns:1fr}.featured-tributes-grid,.featured-tributes-grid--shop{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:575px){.obit-shell{width:calc(100% - 20px);gap:12px}.honor-memory-band,.obit-section{padding:16px 14px}.honor-memory-title,.obit-section-title{font-size:20px}.obit-hero-inner{width:calc(100% - 24px);margin-bottom:18px;padding-top:48px}.profile-photo-wrapper{height:240px}.featured-tributes-grid{grid-template-columns:1fr 1fr;gap:8px}.featured-tribute-media{padding:8px}}.ref-top-commerce .ref-commerce-links{max-width:1120px;margin:0 auto;justify-content:center}.ref-commerce-links{display:flex;flex-wrap:wrap;gap:10px 18px;align-items:center}.ref-commerce-links button{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:transparent;color:inherit;font-family:var(--obit-sans);font-size:13px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;text-decoration:underline;text-underline-offset:4px;cursor:pointer;padding:4px 0}.ref-commerce-links button:hover{color:var(--obit-accent)}.ref-commerce-links--hero{justify-content:center;gap:10px;margin-top:22px;position:relative;z-index:2}.ref-commerce-links--hero button{text-decoration:none;border-radius:8px;padding:12px 18px;color:#fff;min-width:148px;letter-spacing:.06em}.ref-commerce-links--hero .ref-cta-flowers{background:#c4a574}.ref-commerce-links--hero .ref-cta-tree{background:#5d7a4c}.ref-commerce-links--hero .ref-cta-card,.ref-commerce-links--hero .ref-cta-gift{background:hsla(0,0%,100%,.14);border:1px solid hsla(0,0%,100%,.4)}.ref-commerce-links--hero button:hover{color:#fff;filter:brightness(1.08)}.ref-top-commerce{background:#fff;border-top:0}.ref-top-commerce .ref-commerce-links button{color:var(--obit-slate)}.ref-hero{position:relative;min-height:min(78vh,760px);display:flex;flex-direction:column;justify-content:flex-end;overflow:visible;padding-bottom:28px}.obituary-page .ref-hero,.obituary-page .ref-hero a,.obituary-page .ref-hero h1,.obituary-page .ref-hero h2,.obituary-page .ref-hero h3,.obituary-page .ref-hero p,.obituary-page .ref-hero span,.obituary-page .ref-hero strong,.ref-hero{color:#fff!important}.obituary-page .ref-hero .ref-panel,.obituary-page .ref-hero .ref-panel a,.obituary-page .ref-hero .ref-panel h3,.obituary-page .ref-hero .ref-panel input,.obituary-page .ref-hero .ref-panel label,.obituary-page .ref-hero .ref-panel p,.obituary-page .ref-hero .ref-panel span,.obituary-page .ref-hero .ref-panel strong{color:var(--obit-ink)!important}.obituary-page .ref-hero .ref-panel h3{color:var(--obit-slate)!important}.obituary-page .ref-hero .ref-panel p{color:var(--obit-muted)!important}.obituary-page .ref-hero .ref-follow-form button,.obituary-page .ref-hero .ref-panel-actions a,.obituary-page .ref-hero .ref-panel-actions button{color:#fff!important}.obituary-page .ref-hero .ref-panel-actions .ref-panel-action-secondary,.obituary-page .ref-hero .ref-panel-actions button.ref-panel-action-secondary{background:#fff!important;border-color:rgba(30,58,76,.18)!important;color:var(--obit-slate)!important}.obituary-page .ref-hero .ref-panel-close,.obituary-page .ref-hero .ref-panel-close svg{color:var(--obit-slate)!important}.obituary-page .ref-hero .ref-panel .print-format-card,.obituary-page .ref-hero .ref-panel .print-format-card li,.obituary-page .ref-hero .ref-panel .print-format-card span,.obituary-page .ref-hero .ref-panel .print-format-card strong,.obituary-page .ref-hero .ref-panel .print-include-option,.obituary-page .ref-hero .ref-panel .print-include-option span{color:var(--obit-ink)!important}.obituary-page .ref-hero .ref-panel .print-format-card>span{color:var(--obit-muted)!important}.obituary-page .ref-hero .ref-panel .print-format-card{background:#fff!important;border-color:rgba(30,58,76,.16)!important}.obituary-page .ref-hero .ref-panel .print-format-card.is-selected{border-color:var(--obit-slate)!important}.ref-hero .ref-hero-media{overflow:hidden;border-radius:0}.ref-hero-media{position:absolute;inset:0}.ref-hero-image{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;-o-object-position:center;object-position:center;transform:scale(1.04);animation:obitHeroDrift 18s ease-in-out infinite alternate}.ref-hero-video{display:block;background:#0b1218;transform:none;animation:none}.ref-hero-scrim{position:absolute;inset:0;background:linear-gradient(180deg,rgba(6,10,14,.55),rgba(6,10,14,.35) 40%,rgba(6,10,14,.88)),radial-gradient(ellipse at center,rgba(6,10,14,.2) 0,rgba(6,10,14,.55) 100%)}.ref-hero-top{position:relative;z-index:2;display:flex;justify-content:space-between;align-items:center;gap:12px;padding:18px 22px 0;align-self:stretch;position:absolute;top:0;left:0;right:0;margin:0}.ref-back-link{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;border-radius:999px;border:1px solid hsla(0,0%,100%,.35);background:rgba(12,22,30,.42);color:#fff;text-decoration:none;font-size:13px;font-weight:600;backdrop-filter:blur(8px);flex-shrink:0;max-width:min(100%,52vw)}.ref-back-short{display:none}.ref-back-link:hover{background:rgba(12,22,30,.62);color:#fff}.ref-toolbar-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.ref-toolbar-actions button,.ref-toolbar-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;display:inline-flex;align-items:center;justify-content:center;gap:6px;border:1px solid hsla(0,0%,100%,.35);background:rgba(12,22,30,.5);color:#fff;border-radius:999px;padding:8px 12px;min-height:36px;font-family:var(--obit-sans);font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;cursor:pointer;backdrop-filter:blur(10px);transition:background-color .2s ease,border-color .2s ease,transform .2s ease}.ref-toolbar-actions button:hover,.ref-toolbar-btn:hover{background:rgba(12,22,30,.72);border-color:hsla(0,0%,100%,.55)}.ref-toolbar-btn.is-active{background:rgba(196,165,116,.92);border-color:rgba(196,165,116,.95);color:#16352c}.ref-toolbar-btn svg{flex-shrink:0}.ref-panel-wrap{position:absolute;top:64px;right:22px;z-index:12;width:min(380px,calc(100% - 32px))}.ref-panel{background:#fff;color:var(--obit-ink);border:1px solid rgba(30,58,76,.12);border-radius:16px;padding:18px;box-shadow:0 20px 44px rgba(12,24,32,.28)}.ref-panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:6px}.ref-panel h3{margin:0;font-family:var(--obit-display);font-size:22px;line-height:1.2;color:var(--obit-slate)}.ref-panel-close{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:32px;height:32px;border:0;border-radius:50%;background:#eef2f5;color:var(--obit-slate);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0}.ref-panel-close:hover{background:#e2e8ee}.ref-panel p{margin:0 0 14px;color:var(--obit-muted);font-size:14px;line-height:1.5}.ref-panel-actions{display:flex;flex-wrap:wrap;gap:8px}.ref-follow-form button,.ref-panel-actions a,.ref-panel-actions button{-webkit-appearance:none;-moz-appearance:none;appearance:none;display:inline-flex;align-items:center;justify-content:center;gap:6px;border:1px solid transparent;background:var(--obit-slate);color:#fff;border-radius:10px;padding:10px 12px;font-size:13px;font-weight:600;text-decoration:none;cursor:pointer;font-family:var(--obit-sans)}.ref-follow-form button:hover,.ref-panel-actions a:hover,.ref-panel-actions button:hover{filter:brightness(1.05)}.ref-panel-action-secondary{background:#fff!important;border-color:rgba(30,58,76,.18)!important;color:var(--obit-slate)!important}.ref-follow-form{display:flex;gap:8px}.ref-follow-form input{flex:1;min-width:0;border:1px solid rgba(30,58,76,.18);border-radius:10px;padding:10px 12px;font-size:14px;color:var(--obit-ink);background:#fff}.ref-follow-form input::-moz-placeholder{color:#80909a}.ref-follow-form input:-ms-input-placeholder{color:#80909a}.ref-follow-form input::placeholder{color:#80909a}.ref-hero-card{position:relative;z-index:2;width:min(720px,calc(100% - 40px));margin:96px auto 0;text-align:center;padding:72px 16px 24px;animation:obitRise .8s ease both}.ref-hero-brand{margin:0 0 18px;font-size:12px;font-weight:700;letter-spacing:.18em;text-align:center}.ref-hero-brand,.ref-hero-kicker{text-transform:uppercase;color:#fff!important}.ref-hero-kicker{margin:0 0 10px;font-family:var(--obit-sans);font-size:13px;font-weight:600;letter-spacing:.22em}.ref-hero-title{margin:0}.ref-nameplate{display:flex;flex-direction:column;align-items:center;gap:18px;margin:12px 0 0}.ref-family-name,.ref-given-name{margin:0;font-family:var(--obit-display);font-size:clamp(2.6rem,7vw,4.8rem);font-weight:600;letter-spacing:.03em;line-height:1.05;text-align:center;color:#fff!important;text-shadow:0 2px 18px rgba(0,0,0,.65),0 0 2px rgba(0,0,0,.8);max-width:100%;word-break:break-word}.ref-portrait-ring{width:min(220px,56vw);height:min(220px,56vw);border-radius:50%;overflow:hidden;border:4px solid hsla(0,0%,100%,.95);box-shadow:0 18px 40px rgba(0,0,0,.35);background:#1a2a34;position:relative;z-index:1;flex-shrink:0}.ref-portrait-ring .gallery-custom-slider,.ref-portrait-ring .gallery-slider-container,.ref-portrait-ring .gallery-slider-image,.ref-portrait-ring img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;-o-object-position:center top;object-position:center top}.ref-portrait-ring .gallery-custom-slider{position:relative}.ref-portrait-ring .gallery-slider-image{position:absolute;inset:0;opacity:0}.ref-portrait-ring .gallery-slider-image.active{opacity:1}.ref-portrait-ring .gallery-nav-btn,.ref-portrait-ring .gallery-slider-pagination{display:none}.ref-hero-meta{margin:16px 0 0;padding:10px 16px;display:grid;gap:4px;justify-items:center}.ref-hero-dates{font-size:16px;letter-spacing:.04em}.ref-hero-dates,.ref-hero-location{margin:0;color:#fff!important;text-shadow:0 2px 12px rgba(0,0,0,.7)}.ref-hero-location{font-size:15px}.ref-section-nav{position:sticky;top:0;z-index:90;overflow:visible;padding:0;background:hsla(0,0%,100%,.96);border-bottom:1px solid var(--obit-line);backdrop-filter:blur(12px)}.ref-section-nav-track{display:flex;justify-content:center;gap:28px;padding:14px 16px;width:100%}#featured-tributes,#memorial-book,#memorial-pictures,#obituary-text,#services,#tribute-list,.featured-tributes,.ref-guestbook,.ref-memorial-book,.ref-memorial-pictures,.ref-obituary-block,.ref-services{scroll-margin-top:4.5rem}.ref-section-nav a{color:var(--obit-muted);text-decoration:none;font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;padding-bottom:4px;border-bottom:2px solid transparent}.ref-section-nav a:hover{color:var(--obit-slate);border-bottom-color:var(--obit-accent)}.ref-page{width:min(980px,calc(100% - 32px));margin:0 auto 56px;display:grid;gap:28px;padding-top:40px}.ref-section-heading{margin:0 0 18px;font-family:var(--obit-display);font-size:clamp(1.8rem,3.4vw,2.6rem);font-weight:600;color:var(--obit-slate);letter-spacing:.01em}.ref-services-heading{text-align:center}.ref-services-list{display:grid;gap:16px}.ref-service-card{display:grid;grid-template-columns:minmax(140px,1.1fr) auto minmax(220px,1.5fr) minmax(160px,200px);gap:18px 22px;align-items:center;background:#fff;border-radius:16px;padding:22px 24px;box-shadow:0 8px 24px rgba(28,42,51,.05);border:1px solid rgba(30,58,76,.08)}.ref-service-card--empty{grid-template-columns:1fr auto}.ref-service-title{margin:0;font-family:var(--obit-display);font-size:clamp(1.5rem,2.6vw,2rem);font-weight:600;color:var(--obit-slate)!important;line-height:1.15}.ref-service-datecol{display:grid;justify-items:center;gap:8px}.ref-service-dateblock{width:84px;min-height:88px;border-radius:12px;background:linear-gradient(180deg,#4a5d6a,#3a4c58 22%,#eef2f5 0,#eef2f5);color:var(--obit-ink);display:grid;justify-items:center;align-content:start;padding:8px 8px 10px;box-shadow:inset 0 0 0 1px rgba(30,58,76,.08)}.ref-service-month{font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:#fff;margin-bottom:10px}.ref-service-day{font-family:var(--obit-sans);font-size:32px;font-weight:700;line-height:1;color:#4a5560}.ref-service-weekday{font-size:13px;font-weight:600;color:#5b7ea6}.ref-service-body{display:grid;gap:8px;align-content:start}.ref-service-meta,.ref-service-place{margin:0;display:flex;align-items:flex-start;gap:8px;color:#6b7785!important;font-size:14px;line-height:1.45}.ref-service-meta svg,.ref-service-place svg{flex-shrink:0;margin-top:2px;color:#7a8ea3}.ref-service-place a{color:inherit;text-decoration:none}.ref-service-place a:hover{color:var(--obit-accent);text-decoration:underline}.ref-service-past{margin:2px 0 0;font-size:12px;font-weight:600;color:#9aa4af!important}.ref-service-cal{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:none;padding:0;margin-top:2px;color:#4a90a4;font-family:var(--obit-sans);font-size:14px;font-weight:600;text-decoration:underline;text-underline-offset:3px;cursor:pointer;justify-self:start}.ref-service-side{display:grid;gap:10px;align-content:center}.ref-service-directions-btn,.ref-service-flowers-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;display:inline-flex;align-items:center;justify-content:center;gap:8px;width:100%;border-radius:10px;padding:12px 14px;font-family:var(--obit-sans);font-size:13px;font-weight:700;cursor:pointer}.ref-service-flowers-btn{border:0;background:#c4a574;color:#fff}.ref-service-flowers-btn:hover{filter:brightness(1.05)}.ref-service-directions-btn{border:1px solid #d5dde3;background:#fff;color:#5b6a75}.ref-service-directions-btn:hover{border-color:var(--obit-accent);color:var(--obit-accent)}.ref-cal-wrap,.ref-dir-wrap{position:relative}.ref-cal-menu,.ref-dir-form{position:absolute;top:calc(100% + 8px);left:0;z-index:8;min-width:180px;background:#fff;border:1px solid var(--obit-line);border-radius:12px;box-shadow:0 12px 28px rgba(28,42,51,.12);padding:10px;display:grid;gap:8px}.ref-dir-wrap .ref-dir-form{left:auto;right:0;width:min(240px,70vw)}.ref-cal-menu a,.ref-cal-menu button,.ref-dir-form a,.ref-dir-form button{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:#f4f7f9;color:var(--obit-slate);text-align:left;padding:8px 10px;border-radius:8px;font-family:var(--obit-sans);font-size:13px;font-weight:600;text-decoration:none;cursor:pointer}.ref-dir-form label{display:grid;gap:4px;font-size:12px;font-weight:600;color:var(--obit-muted)}.ref-dir-form input{border:1px solid var(--obit-line);border-radius:8px;padding:8px 10px;font-size:14px}.ref-guestbook,.ref-obituary-block{background:var(--obit-panel);border-radius:16px;padding:28px 26px;box-shadow:0 10px 30px rgba(28,42,51,.05);border:1px solid rgba(30,58,76,.06)}.obituary-page .ref-guestbook .ref-section-heading,.obituary-page .ref-obituary-block .ref-section-heading,.obituary-page .ref-services .ref-section-heading{color:var(--obit-slate)!important}.obituary-page .biography-text,.obituary-page .biography-text p{color:var(--obit-ink)!important;font-size:17px;line-height:1.7}.ref-obituary-heading-row{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:8px}.ref-obituary-heading-row .ref-section-heading{margin:0}.ref-listen-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid var(--obit-line);background:#fff;color:var(--obit-slate);border-radius:999px;padding:8px 14px;font-family:var(--obit-sans);font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;cursor:pointer}.ref-listen-btn:hover{border-color:var(--obit-accent);color:var(--obit-accent)}.ref-store-prompt{margin:22px 0 0;color:var(--obit-muted);font-size:15px}.ref-store-prompt button{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:none;padding:0;color:var(--obit-accent);font:inherit;text-decoration:underline;cursor:pointer}.ref-guestbook{overflow:visible;padding-top:8px}.gb-header{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:12px 18px;margin-bottom:20px;padding-top:8px}.gb-header .ref-section-heading{margin:0;line-height:1.2}.ref-guestbook .ref-commerce-links{gap:8px 14px}.ref-guestbook .ref-commerce-links button{color:var(--obit-slate)!important;text-decoration:none;border:1px solid var(--obit-line);border-radius:999px;padding:8px 14px;background:#fff}.ref-guestbook .ref-commerce-links .ref-cta-flowers{background:#c4a574;border-color:#c4a574;color:#fff!important}.ref-guestbook .ref-commerce-links .ref-cta-tree{background:#5d7a4c;border-color:#5d7a4c;color:#fff!important}.gb-stats{display:flex;flex-wrap:wrap;gap:10px 16px;margin:0;color:var(--obit-muted);font-size:14px}.gb-stats span{display:inline-flex;align-items:center;gap:6px}.gb-tribute-board{margin:0 0 22px;padding:18px 16px;border:1px solid rgba(30,58,76,.1);border-radius:16px;background:linear-gradient(180deg,#f8fbf9,#fff)}.gb-tribute-board--empty{text-align:center}.gb-tribute-board-header{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:10px 16px;margin-bottom:14px}.gb-tribute-board-title{margin:0;font-family:var(--obit-display);font-size:clamp(1.35rem,2.6vw,1.75rem);font-weight:600;color:var(--obit-slate)!important}.gb-tribute-board-copy{margin:0 0 14px;color:var(--obit-muted)!important;font-size:14px;line-height:1.45}.gb-tribute-board-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:8px}.gb-tribute-board-cta{-webkit-appearance:none;-moz-appearance:none;appearance:none;display:inline-flex;align-items:center;gap:7px;border:0;border-radius:999px;padding:10px 14px;font-family:var(--obit-sans);font-size:12px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:#fff;cursor:pointer}.gb-tribute-board-cta--flower{background:var(--obit-rose)}.gb-tribute-board-cta--tree{background:var(--obit-moss)}.gb-tribute-list{list-style:none;margin:0;padding:0;display:grid;gap:10px}.gb-tribute-item{display:flex;align-items:flex-start;gap:12px;padding:12px;border-radius:12px;background:#fff;border:1px solid rgba(30,58,76,.08)}.gb-tribute-icon{width:36px;height:36px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;background:#edf5f0;color:var(--obit-moss)}.gb-tribute-item--flower .gb-tribute-icon{background:#f8eef0;color:var(--obit-rose)}.gb-tribute-item--gift .gb-tribute-icon{background:#eef2f0;color:var(--obit-forest)}.gb-tribute-copy{min-width:0;font-size:14px;line-height:1.4;color:var(--obit-ink)}.gb-tribute-copy strong{color:var(--obit-slate)}.gb-tribute-product{display:block;margin-top:3px;font-style:normal;font-size:13px;color:var(--obit-muted)}.gb-tribute-date{display:block;margin-top:4px;font-size:12px;color:#7a8791}.gb-share-card{background:#f7f9fb;border:1px solid var(--obit-line);border-radius:18px;padding:28px 24px;margin-bottom:22px}.gb-share-title{margin:0 0 8px;font-family:var(--obit-display);font-size:clamp(1.6rem,3vw,2rem);font-weight:600;color:var(--obit-slate)!important}.gb-share-copy{margin:0 0 18px;color:var(--obit-muted)!important;font-size:15px;line-height:1.55;max-width:52ch}.obituary-page .gb-share-card .tribute-input,.obituary-page .gb-share-card .tribute-textarea{width:100%;display:block;box-sizing:border-box;border:1px solid #d5dde3;border-radius:12px;background:#fff;color:var(--obit-ink)!important;font-family:var(--obit-sans);font-size:15px;margin:0 0 12px;padding:12px 14px}.obituary-page .gb-share-card .tribute-textarea{min-height:120px;resize:vertical}.gb-form-actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:4px}.gb-action-btn,.gb-submit-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:999px;padding:11px 16px;font-family:var(--obit-sans);font-size:13px;font-weight:600;cursor:pointer}.gb-action-btn{border:1px solid #d5dde3;background:#fff;color:var(--obit-slate)}.gb-action-btn:hover{border-color:var(--obit-accent);color:var(--obit-accent)}.gb-action-btn.is-active{border-color:#d4a017;background:#fff8e8;color:#8a6500}.gb-action-candle-thumb{width:22px;height:22px;border-radius:50%;-o-object-fit:cover;object-fit:cover;display:block}.gb-candle-picker{margin-top:14px;padding:14px 12px 12px;border:1px solid rgba(30,58,76,.1);border-radius:14px;background:#fafcfd}.gb-candle-picker-label{margin:0 0 12px;font-size:13px;font-weight:600;color:var(--obit-muted)!important}.gb-candle-options{display:flex;flex-wrap:wrap;gap:12px;justify-content:flex-start}.gb-candle-option{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:88px;height:88px;padding:4px;border-radius:50%;border:4px solid #d5dde3;background:#fff;cursor:pointer;transition:border-color .2s ease,transform .2s ease,box-shadow .2s ease;overflow:hidden}.gb-candle-option img{width:100%;height:100%;border-radius:50%;-o-object-fit:cover;object-fit:cover;display:block}.gb-candle-option:hover{border-color:#9aa8b5;transform:translateY(-1px)}.gb-candle-option.is-selected{border-color:#2563eb;box-shadow:0 0 0 2px rgba(37,99,235,.18)}.gb-submit-btn{border:0;background:var(--obit-slate);color:#fff;margin-left:auto}.gb-submit-btn:hover{background:var(--obit-forest)}.gb-photo-note{margin:10px 0 0;font-size:13px}.gb-photo-note,.gb-visits{color:var(--obit-muted)!important}.gb-visits{margin:0 0 16px;font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.gb-candle-badge{display:inline-flex;align-items:center;gap:6px;margin:0 0 8px;padding:4px 10px;border-radius:999px;background:#fff8e8;color:#8a6500;font-size:12px;font-weight:600}.obituary-page .ref-guestbook .gb-entries{-moz-column-count:3;column-count:3;-moz-column-gap:18px;column-gap:18px;width:100%}.obituary-page .ref-guestbook .gb-entry{-moz-column-break-inside:avoid;break-inside:avoid;page-break-inside:avoid;display:block;width:100%;margin:0 0 18px;padding:22px 20px 18px;background:#fff;border:1px solid rgba(30,58,76,.08);border-radius:10px;box-shadow:0 6px 18px rgba(28,42,51,.05)}.obituary-page .ref-guestbook .gb-entry-message{margin:0 0 16px;color:#2f3b44!important;font-family:var(--obit-sans);font-size:15px;line-height:1.55;white-space:pre-wrap;word-break:break-word}.obituary-page .ref-guestbook .gb-entry-footer{display:flex;align-items:center;gap:12px}.obituary-page .ref-guestbook .gb-entry-avatar{width:42px;height:42px;border-radius:50%;background:#fff4df;color:#b8860b;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;overflow:hidden}.obituary-page .ref-guestbook .gb-entry-avatar--candle{background:#fff;border:1px solid rgba(30,58,76,.1);padding:0}.obituary-page .ref-guestbook .gb-entry-candle-img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;display:block}.obituary-page .ref-guestbook .gb-entry-meta{min-width:0}.obituary-page .ref-guestbook .gb-entry-author{margin:0;color:#5b6a82!important;font-family:var(--obit-sans);font-size:13px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;line-height:1.25}.obituary-page .ref-guestbook .gb-entry-date{display:block;margin-top:2px;color:#9ba5b4!important;font-family:var(--obit-sans);font-size:12px;font-weight:500;line-height:1.3}.obituary-page .ref-guestbook .gb-entry-tribute{display:flex;align-items:flex-start;gap:10px;margin:0 0 14px;padding:10px 12px;border-radius:8px;background:#f4f7f9}.obituary-page .ref-guestbook .gb-entry-tribute .tree-visual-text{min-width:0}.obituary-page .ref-guestbook .gb-entry-tribute .tree-visual-text strong{display:block;font-size:13px;color:var(--obit-slate)}.obituary-page .ref-guestbook .gb-entry-tribute .tree-visual-subtext{margin:2px 0 0;font-size:12px;color:var(--obit-muted)!important}.obituary-page .ref-guestbook .no-condolences{margin:0;padding:24px 16px;text-align:center;color:var(--obit-muted)!important;border:1px dashed var(--obit-line);border-radius:14px;background:#fafcfd;-moz-column-span:all;column-span:all}@media(max-width:991px){.obituary-page .ref-guestbook .gb-entries{-moz-column-count:2;column-count:2;-moz-column-gap:14px;column-gap:14px}}@media(max-width:640px){.obituary-page .ref-guestbook .gb-entries{-moz-column-count:1;column-count:1}}@media(max-width:575px){.gb-share-card{padding:20px 16px}.gb-form-actions{flex-direction:column;align-items:stretch}.gb-submit-btn{margin-left:0;width:100%}.gb-candle-options{gap:10px;justify-content:center}.gb-candle-option{width:76px;height:76px}.gb-header{flex-direction:column;align-items:flex-start}}.ref-memorial-book{background:transparent;border:0;box-shadow:none;border-radius:0;padding:0}.ref-memorial-pictures{background:var(--obit-panel);border-radius:16px;padding:28px 26px;box-shadow:0 10px 30px rgba(28,42,51,.05);border:1px solid rgba(30,58,76,.06)}.mb-card{display:grid;grid-template-columns:minmax(220px,38%) 1fr;gap:28px 40px;align-items:center;overflow:hidden;border:1px solid rgba(30,58,76,.08);border-radius:16px;box-shadow:0 18px 40px rgba(15,23,42,.08);background:#fff}.mb-book-stage{display:flex;align-items:center;justify-content:center;min-height:320px;padding:28px 24px;background:#d1d5db}.mb-hardcover{-webkit-appearance:none;-moz-appearance:none;appearance:none;position:relative;width:min(220px,100%);border:0;padding:0;background:transparent;cursor:pointer;perspective:900px;filter:drop-shadow(0 18px 28px rgba(0,0,0,.35));transition:transform .25s ease}.mb-hardcover:hover{transform:translateY(-4px) scale(1.02)}.mb-hardcover-spine{position:absolute;left:-10px;top:4%;bottom:4%;width:14px;border-radius:4px 0 0 4px;background:linear-gradient(90deg,rgba(0,0,0,.35),hsla(0,0%,100%,.15) 35%,rgba(0,0,0,.25)),linear-gradient(180deg,#3f4f5c,#1f2933);box-shadow:inset -2px 0 4px rgba(0,0,0,.25)}.mb-hardcover-face{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;width:100%;aspect-ratio:100/129.4;padding:14% 10% 12%;overflow:hidden;border-radius:2px 6px 6px 2px;color:#1f2937;text-align:center;background:linear-gradient(180deg,transparent,transparent 48%,hsla(0,0%,100%,.55) 62%,#fff 78%),radial-gradient(ellipse at 50% 18%,#ffe7b0 0,#f4b86a 18%,#7ea7c9 42%,#9bb8d0 58%,#c5d4e0 100%);box-shadow:inset 0 0 0 1px hsla(0,0%,100%,.35),8px 0 18px rgba(0,0,0,.22)}.mb-hardcover-glow{position:absolute;inset:0;background:radial-gradient(circle at 62% 12%,hsla(0,0%,100%,.55),transparent 22%),linear-gradient(180deg,hsla(0,0%,100%,.08),transparent 40%);pointer-events:none}.mb-hardcover-photo{position:relative;z-index:1;width:58%;aspect-ratio:1;margin-bottom:12%;border-radius:4px;overflow:hidden;border:3px solid hsla(0,0%,100%,.92);box-shadow:0 10px 24px rgba(0,0,0,.35);background:#111}.mb-hardcover-photo img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;display:block}.mb-hardcover-dates,.mb-hardcover-kicker,.mb-hardcover-name{position:relative;z-index:1;display:block;color:#1f2937!important}.mb-hardcover-kicker{margin:0 0 6px;font-size:10px;letter-spacing:.16em;text-transform:uppercase}.mb-hardcover-name{margin:0 0 4px;font-family:var(--obit-display);font-size:clamp(16px,2.4vw,22px);font-weight:600;line-height:1.15}.mb-hardcover-dates{font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:#4b5563!important}.mb-body{display:flex;flex-direction:column;justify-content:center;padding:28px 28px 28px 0}.mb-kicker{margin:0 0 6px;font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:#64748b!important}.mb-name{margin:0 0 16px;font-family:var(--obit-display);font-size:clamp(28px,3.4vw,40px);font-weight:600;color:var(--obit-slate)!important;line-height:1.1}.mb-share-prompt,.mb-text{margin:0 0 14px;color:var(--obit-muted)!important;font-size:15px;line-height:1.55;max-width:48ch}.mb-actions{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:16px}.mb-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border-radius:12px;padding:11px 20px;font-family:var(--obit-sans);font-size:14px;font-weight:600;cursor:pointer;transition:background .2s ease,border-color .2s ease,color .2s ease}.mb-btn--view{border:1px solid #d1d5db;background:#fff;color:#374151}.mb-btn--view:hover{background:#f3f4f6}.mb-btn--buy{border:0;background:#64748b;color:#fff}.mb-btn--buy:hover{background:#475569}.mb-share-block{margin-top:8px;padding-top:16px;border-top:1px solid rgba(30,58,76,.08)}.mb-share-title{margin:0 0 6px;font-size:15px;font-weight:700;color:var(--obit-slate)!important}.mb-share-link{-webkit-appearance:none;-moz-appearance:none;appearance:none;align-self:flex-start;border:1px solid #d1d5db;background:#fff;border-radius:12px;padding:10px 16px;color:#374151;font-family:var(--obit-sans);font-size:14px;font-weight:600;text-decoration:none;cursor:pointer;transition:background .2s ease}.mb-share-link:hover{background:#f3f4f6}.mb-viewer-overlay{position:fixed;inset:0;z-index:230;background:#d1d5db;padding:24px 16px}.mb-viewer,.mb-viewer-overlay{display:flex;align-items:center;justify-content:center}.mb-viewer{position:relative;width:min(560px,100%);min-height:min(78vh,760px)}.mb-viewer-close{-webkit-appearance:none;-moz-appearance:none;appearance:none;position:fixed;top:20px;right:20px;z-index:2;width:40px;height:40px;border:0;border-radius:999px;background:#fff;color:#111;font-size:18px;line-height:1;box-shadow:0 4px 14px rgba(0,0,0,.16);cursor:pointer}.mb-viewer-close:hover{opacity:.7}.mb-viewer-arrow{-webkit-appearance:none;-moz-appearance:none;appearance:none;position:fixed;top:50%;z-index:2;width:40px;height:40px;margin-top:-20px;border:0;border-radius:999px;background:#fff;color:#111;font-size:28px;line-height:1;box-shadow:0 4px 14px rgba(0,0,0,.16);cursor:pointer}.mb-viewer-arrow--prev{left:12px;padding-right:2px}.mb-viewer-arrow--next{right:12px;padding-left:2px}.mb-viewer-arrow:hover:not(:disabled){opacity:.7}.mb-viewer-arrow:disabled{opacity:.35;cursor:default}.mb-flip-page{position:relative;width:min(420px,78vw);aspect-ratio:100/129.4;background:#fff;border-radius:2px 8px 8px 2px;box-shadow:0 24px 60px rgba(0,0,0,.28),10px 0 24px rgba(0,0,0,.16);overflow:hidden}.mb-flip-spine{position:absolute;left:0;top:0;bottom:0;width:10px;z-index:2;background:linear-gradient(90deg,rgba(0,0,0,.18),hsla(0,0%,100%,.2) 45%,rgba(0,0,0,.08));pointer-events:none}.mb-flip-cover{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;padding:14% 10% 12%;text-align:center;color:#1f2937;background:linear-gradient(180deg,transparent,transparent 48%,hsla(0,0%,100%,.55) 62%,#fff 78%),radial-gradient(ellipse at 50% 18%,#ffe7b0 0,#f4b86a 18%,#7ea7c9 42%,#9bb8d0 58%,#c5d4e0 100%)}.mb-flip-cover-art{width:58%;aspect-ratio:1;margin-bottom:12%;border-radius:4px;overflow:hidden;border:4px solid #fff;box-shadow:0 10px 24px rgba(0,0,0,.28);background:#111}.mb-flip-cover-art img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;display:block}.mb-flip-kicker{font-size:12px;letter-spacing:.16em;text-transform:uppercase}.mb-flip-kicker,.mb-flip-title{margin:0 0 6px;color:#1f2937!important}.mb-flip-title{font-family:var(--obit-display);font-size:clamp(22px,3vw,34px);font-weight:600;line-height:1.15}.mb-flip-dates{margin:0;font-size:13px;letter-spacing:.06em;text-transform:uppercase;color:#4b5563!important}.mb-flip-entry{height:100%;display:flex;flex-direction:column;justify-content:space-between;padding:12% 11%;background:linear-gradient(180deg,#fffefb,#f7f3ea)}.mb-flip-message{margin:0;flex:1;font-family:var(--obit-display);font-size:clamp(16px,2vw,20px);line-height:1.55;color:#2f3b44!important}.mb-flip-meta{display:flex;align-items:center;gap:10px;margin-top:24px;color:var(--obit-slate)}.mb-flip-candle{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;background:#fff;color:#c2410c;overflow:hidden;border:1px solid rgba(30,58,76,.1)}.mb-flip-candle-img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;display:block}.mb-flip-meta strong{display:block;text-transform:uppercase;letter-spacing:.04em;font-size:13px}.mb-flip-meta span{display:block;color:#9ba5b4;font-size:12px}.mb-viewer-count{margin:0;color:hsla(0,0%,100%,.85)!important;font-size:13px}.mb-modal-overlay{position:fixed;inset:0;z-index:220;background:rgba(10,16,22,.62);display:flex;align-items:center;justify-content:center;padding:20px}.mb-modal{position:relative;width:min(560px,100%);background:#f7f3ea;border-radius:16px;padding:28px 24px 20px;box-shadow:0 24px 60px rgba(0,0,0,.28)}.mb-modal--buy{background:#fff}.mb-modal-close{position:absolute;top:12px;right:12px;border:0;background:transparent;font-size:20px;cursor:pointer;color:var(--obit-muted)}.mb-buy-title{margin:0 0 8px;font-family:var(--obit-display);font-size:28px;color:var(--obit-slate)!important}.mb-buy-copy{margin:0 0 16px;color:var(--obit-muted)!important;line-height:1.5}.mb-buy-form{display:grid;gap:12px}.mb-buy-form label{display:grid;gap:6px;font-size:13px;font-weight:600;color:var(--obit-muted)}.mb-buy-form input,.mb-buy-form textarea{border:1px solid #d5dde3;border-radius:10px;padding:10px 12px;font-family:var(--obit-sans);font-size:14px;color:var(--obit-ink)}.mp-header{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:16px}.mp-header .ref-section-heading{margin:0}.mp-count{font-size:13px;font-weight:600}.mp-count,.mp-empty{margin:0;color:var(--obit-muted)!important}.mp-empty{padding:28px 16px;text-align:center;border:1px dashed var(--obit-line);border-radius:12px;background:#fafcfd}.mp-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.mp-tile{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;padding:0;border-radius:12px;overflow:hidden;background:#e7eef2;cursor:pointer;aspect-ratio:1}.mp-tile img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;display:block;transition:transform .25s ease}.mp-tile:hover img{transform:scale(1.04)}.mp-lightbox{position:fixed;inset:0;z-index:230;background:rgba(6,10,14,.88);display:flex;align-items:center;justify-content:center;padding:24px}.mp-lightbox-inner{position:relative;width:min(920px,100%);max-height:90vh}.mp-lightbox-inner img{width:100%;max-height:80vh;-o-object-fit:contain;object-fit:contain;display:block;border-radius:10px;background:#111}.mp-lightbox-close,.mp-lightbox-nav{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:hsla(0,0%,100%,.14);color:#fff;cursor:pointer}.mp-lightbox-close{position:absolute;top:-8px;right:-8px;z-index:2;width:36px;height:36px;border-radius:50%;font-size:18px}.mp-lightbox-nav{position:absolute;top:50%;transform:translateY(-50%);width:42px;height:42px;border-radius:50%;font-size:28px;line-height:1}.mp-lightbox-prev{left:8px}.mp-lightbox-next{right:8px}.mp-lightbox-count{margin:10px 0 0;text-align:center;color:hsla(0,0%,100%,.8)!important;font-size:13px}@media(max-width:991px){.mb-card{grid-template-columns:1fr}.mb-book-stage{min-height:280px;border-radius:16px 16px 0 0}.mb-body{padding:8px 22px 24px}.mp-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:575px){.ref-memorial-pictures{padding:18px 14px}.mb-hardcover{width:min(180px,72%)}.mb-name{font-size:28px}.mb-actions{flex-direction:column;align-items:stretch}.mp-grid{grid-template-columns:1fr 1fr;gap:8px}}.ref-bottom-commerce .ref-commerce-links{justify-content:center}.ref-bottom-commerce .ref-commerce-links button{background:var(--obit-slate);color:#fff;border-radius:999px;padding:10px 14px;text-decoration:none}@media(max-width:991px){.ref-nameplate{gap:12px}.ref-family-name,.ref-given-name{font-size:clamp(2.2rem,9vw,3.4rem)}.ref-hero{min-height:min(72vh,680px);padding-bottom:calc(72px + env(safe-area-inset-bottom, 0px))}.ref-hero-card{width:min(720px,calc(100% - 28px));margin-top:64px;padding:56px 12px 20px}.ref-portrait-ring{width:min(200px,42vw);height:min(200px,42vw)}.ref-commerce-links--hero{width:100%;justify-content:center}.ref-commerce-links--hero button{min-width:0;flex:1 1 140px;max-width:220px}.ref-section-nav{top:0}.ref-section-nav-track{gap:16px;justify-content:flex-start;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding:12px 16px}.ref-section-nav-track::-webkit-scrollbar{display:none}.ref-section-nav a{flex:0 0 auto;white-space:nowrap}#featured-tributes,#memorial-book,#memorial-pictures,#obituary-text,#services,#tribute-list,.featured-tributes,.ref-guestbook,.ref-memorial-book,.ref-memorial-pictures,.ref-obituary-block,.ref-services{scroll-margin-top:4.25rem}.ref-page{width:min(920px,calc(100% - 28px));gap:22px;padding-top:28px;margin-bottom:40px}.ref-service-card{grid-template-columns:1fr;justify-items:stretch;gap:14px;padding:18px}.ref-service-datecol{justify-self:start}.ref-service-side{grid-template-columns:1fr 1fr}.featured-tributes{padding:20px 16px 18px}.featured-tributes-header{flex-direction:column;align-items:stretch;gap:8px}.featured-tributes-grid,.featured-tributes-grid--shop{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.featured-tribute-body{padding:10px 8px 12px}.featured-tribute-name,.featured-tribute-name-btn{font-size:12px}.featured-add-btn{padding:8px;font-size:10px}.memorial-shop-footer{gap:8px}.memorial-shop-footer .tribute-cta{flex:1 1 auto;min-width:0}.obituary-sticky-top .tribute-sticky-bar--top{display:none}.ref-panel-wrap{top:72px;right:14px;left:auto;width:min(340px,calc(100% - 28px))}}@media(max-width:767px){.ref-back-full{display:none}.ref-back-short{display:inline}.ref-back-link{max-width:none;font-size:12px;padding:7px 11px}.ref-hero-top{padding:12px 12px 0;align-items:flex-start;gap:8px}.ref-toolbar-actions{justify-content:flex-end;flex-wrap:nowrap;max-width:min(62%,240px);gap:5px;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding-bottom:2px}.ref-toolbar-actions::-webkit-scrollbar{display:none}.ref-toolbar-actions button{flex:0 0 auto;padding:7px 9px;font-size:10px;letter-spacing:.04em}.ref-hero{min-height:auto;justify-content:flex-end}.ref-hero-card{margin-top:56px;padding:48px 10px 16px}.ref-hero-brand{margin-bottom:10px;font-size:11px;letter-spacing:.14em}.ref-hero-kicker{margin-bottom:6px;font-size:11px;letter-spacing:.16em}.ref-nameplate{gap:10px;margin-top:6px}.ref-portrait-ring{width:min(168px,44vw);height:min(168px,44vw);border-width:3px}.ref-hero-meta{margin-top:10px;padding:6px 10px}.ref-hero-dates{font-size:14px}.ref-hero-location{font-size:13px}.ref-commerce-links--hero{margin-top:14px;gap:8px}.ref-commerce-links--hero button{flex:1 1 calc(50% - 8px);max-width:none;min-width:0;padding:11px 12px;font-size:12px}.featured-tributes-grid,.featured-tributes-grid--shop{grid-template-columns:repeat(2,minmax(0,1fr))}.order-paths,.ref-service-side{grid-template-columns:1fr}.tribute-sticky-bar--bottom .ref-commerce-links{gap:8px;justify-content:stretch}.tribute-sticky-bar--bottom .ref-commerce-links button{flex:1 1 auto;text-align:center;padding:10px 12px;font-size:11px}}@media(max-width:575px){.ref-hero-top{padding:10px 10px 0}.ref-toolbar-actions{max-width:62%}.ref-toolbar-actions button{padding:6px 8px;font-size:9px}.ref-hero-card{width:calc(100% - 20px);margin-top:52px;padding:44px 8px 14px}.ref-family-name,.ref-given-name{font-size:clamp(2rem,10.5vw,2.8rem)}.ref-portrait-ring{width:min(148px,46vw);height:min(148px,46vw)}.ref-panel-wrap{left:10px;right:10px;width:auto;top:64px}.ref-page{width:calc(100% - 16px);gap:16px;padding-top:20px}.ref-section-heading{font-size:clamp(1.55rem,7vw,2rem);margin-bottom:14px}.featured-tributes,.ref-guestbook,.ref-memorial-pictures,.ref-obituary-block{padding:16px 12px;border-radius:12px}.featured-tributes-sub{font-size:12px}.memorial-shop-filter{padding:6px 10px;font-size:10px}.featured-tribute-media{padding:6px}.featured-tribute-body{padding:8px 6px 10px;gap:3px}.featured-add-btn{margin-top:4px;padding:8px 6px}.ref-bottom-commerce .ref-commerce-links button{padding:10px 12px;font-size:11px}.social-proof-toast{left:10px;right:10px;max-width:none}}@media(min-width:992px){.featured-tributes-grid,.featured-tributes-grid--shop{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.ref-page{width:min(980px,calc(100% - 48px))}.ref-hero{min-height:min(78vh,760px)}}.ref-panel--print{max-width:420px}.print-format-options{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:0 0 14px}.print-format-card{-webkit-appearance:none;-moz-appearance:none;appearance:none;text-align:left;border:1.5px solid rgba(30,58,76,.16);background:#fff;border-radius:12px;padding:12px;cursor:pointer;color:var(--obit-ink,#1e3a4c);font-family:var(--obit-sans);transition:border-color .15s ease,box-shadow .15s ease}.print-format-card:hover{border-color:rgba(30,58,76,.35)}.print-format-card.is-selected{border-color:var(--obit-slate,#1e3a4c);box-shadow:0 0 0 1px var(--obit-slate,#1e3a4c)}.print-format-card strong{display:block;font-size:14px;margin-bottom:4px}.print-format-card>span{display:block;font-size:12px;line-height:1.4;color:var(--obit-muted,#5a6f7d);margin-bottom:8px}.print-format-card ul{margin:0;padding:0 0 0 16px;font-size:12px;color:var(--obit-ink,#1e3a4c);line-height:1.45}.print-include-options{display:grid;grid-template-columns:1fr 1fr;gap:8px 12px;margin:0 0 16px;padding:12px;border-radius:12px;background:rgba(30,58,76,.04)}.print-include-option{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--obit-ink,#1e3a4c);cursor:pointer;margin:0}.print-include-option input{width:16px;height:16px;accent-color:var(--obit-slate,#1e3a4c)}.print-submit-btn{min-width:120px}@media(max-width:520px){.print-format-options,.print-include-options{grid-template-columns:1fr}}@media print{@page{margin:.6in;size:auto}body,html{color:#111!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}.application,.container,.main,.obituary-page,.wrapper,body,html{background:#fff!important;width:100%!important;height:auto!important;overflow:visible!important}.application,.container,.main,.obituary-page,.wrapper{display:block!important;position:static!important;float:none!important;max-width:none!important;min-height:0!important;margin:0!important;padding:0!important;transform:none!important}.add-tribute-btn,.calendar-menu,.candle-picker,.cart-drawer,.directions-panel,.featured-tributes,.funeral-footer,.gallery-nav-btn,.gallery-slider-pagination,.gb-entry-actions,.gb-form-actions,.gb-share-card,.guestbook-photo-uploader,.header,.header-main-nav,.hidden-mini-cart,.memorial-cart-fab,.mini-cart-open,.navbar,.obituary-cart-host,.obituary-page .btn,.obituary-page button,.obituary-sticky-top,.order-paths,.ref-back-link,.ref-commerce-links,.ref-hero-top,.ref-listen-btn,.ref-memorial-book,.ref-panel-wrap,.ref-section-nav,.ref-store-prompt,.ref-toolbar-actions,.service-actions,.social-proof-toast,.tribute-sticky-bar,.yt-sticky-widget,nav.ref-section-nav{display:none!important}.obituary-page,.obituary-page *{box-shadow:none!important;text-shadow:none!important;animation:none!important;transition:none!important;backdrop-filter:none!important;filter:none!important}.ref-hero,.ref-page{display:block!important;width:100%!important;max-width:7in!important;margin:0 auto!important;padding:0!important;float:none!important}.ref-hero{position:static!important;min-height:0!important;height:auto!important;background:#fff!important;overflow:visible!important;justify-content:flex-start!important;page-break-after:avoid;-moz-column-break-after:avoid;break-after:avoid;border-bottom:1px solid #ccc;padding-bottom:14px!important;margin-bottom:18px!important}.obituary-page .ref-hero,.obituary-page .ref-hero *,.ref-hero{color:#111!important}.ref-hero-media{position:static!important;inset:auto!important;display:block!important;width:100%!important;height:1.4in!important;margin:0 0 12px!important;padding:0!important;overflow:hidden!important;border-radius:0!important}.ref-hero-media video,.ref-hero-scrim,.ref-hero-video{display:none!important}.ref-hero-image,.ref-hero-media img{height:1.4in!important;-o-object-fit:cover!important;object-fit:cover!important;-o-object-position:center!important;object-position:center!important;opacity:.45!important}.ref-hero-card,.ref-hero-image,.ref-hero-media img{position:static!important;display:block!important;width:100%!important;transform:none!important}.ref-hero-card{max-width:none!important;margin:0!important;padding:0!important;background:transparent!important;text-align:center!important}.ref-hero-brand{margin:0 0 4px!important;font-weight:700!important;letter-spacing:.14em!important}.ref-hero-brand,.ref-hero-kicker{font-size:9pt!important;text-transform:uppercase!important;line-height:1.3!important}.ref-hero-kicker{margin:0 0 8px!important;font-weight:600!important;letter-spacing:.16em!important}.ref-nameplate{display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;gap:6px!important;margin:0 0 8px!important;padding:0!important;width:100%!important;text-align:center!important}.ref-nameplate .ref-portrait-ring{order:1}.ref-nameplate .ref-given-name{order:2}.ref-nameplate .ref-family-name{order:3}.obituary-page .ref-family-name,.obituary-page .ref-given-name,.ref-family-name,.ref-given-name{display:block!important;width:100%!important;max-width:100%!important;margin:0!important;padding:0!important;font-size:22pt!important;line-height:1.15!important;font-weight:600!important;letter-spacing:.02em!important;text-align:center!important;color:#111!important;word-break:normal!important;overflow-wrap:anywhere!important}.ref-portrait-ring{position:relative!important;display:block!important;width:1.35in!important;height:1.35in!important;min-width:1.35in!important;min-height:1.35in!important;max-width:1.35in!important;max-height:1.35in!important;margin:4px auto!important;padding:0!important;border:1.5pt solid #111!important;border-radius:50%!important;overflow:hidden!important;background:#fff!important;flex-shrink:0!important}.ref-portrait-ring .gallery-custom-slider,.ref-portrait-ring .gallery-slider-container,.ref-portrait-ring .gallery-slider-image,.ref-portrait-ring .gallery-slider-image.active,.ref-portrait-ring img{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;-o-object-fit:cover!important;object-fit:cover!important;-o-object-position:center top!important;object-position:center top!important;opacity:1!important;border-radius:50%!important}.ref-hero-meta{width:100%!important;margin:6px 0 0!important;background:transparent!important;border:0!important;grid-template-columns:none!important}.ref-hero-dates,.ref-hero-location,.ref-hero-meta{display:block!important;padding:0!important;text-align:center!important}.ref-hero-dates,.ref-hero-location{margin:2px 0!important;font-size:11pt!important;line-height:1.35!important;color:#111!important}.ref-page{display:block!important;gap:0!important;padding-top:0!important;margin-top:0!important}.ref-guestbook,.ref-memorial-pictures,.ref-obituary-block,.ref-services{display:block!important;width:100%!important;margin:0 0 16px!important;padding:0!important;background:transparent!important;border:none!important;color:#111!important;float:none!important}.ref-obituary-heading-row{display:block!important;margin:0 0 10px!important;padding:0!important}.ref-obituary-heading-row h2,.ref-section-heading,.ref-services-heading,.tribute-title{display:block!important;width:100%!important;margin:0 0 10px!important;padding:0 0 6px!important;border-bottom:1px solid #bbb!important;color:#111!important;font-size:14pt!important;line-height:1.25!important;text-align:left!important}.ref-services-heading{text-align:left!important}.content-image-wrapper{margin:0 auto 12px!important;padding:0!important;float:none!important}.content-image,.content-image-wrapper,.content-image-wrapper img{display:block!important;width:100%!important;max-width:3.2in!important}.content-image,.content-image-wrapper img{max-height:3.2in!important;height:auto!important;margin:0 auto!important;-o-object-fit:contain!important;object-fit:contain!important}.biography-text,.obituary-content,.obituary-content p,.ref-obituary-block .biography-text,.ref-obituary-block .biography-text p,.ref-obituary-block p{color:#111!important;font-size:11pt!important;line-height:1.5!important;text-align:left!important;margin:0 0 8px!important;max-width:none!important}.gb-column,.gb-entries,.gb-masonry,.ref-memorial-pictures-grid,.ref-services-list{display:block!important;width:100%!important;-moz-columns:1!important;column-count:1!important;gap:0!important;grid-template-columns:none!important}.ref-service-card{grid-template-columns:none!important}.gb-entry,.ref-service-card,.tribute-card{display:block!important;width:100%!important;-moz-column-break-inside:avoid;break-inside:avoid;page-break-inside:avoid;border:1px solid #ccc!important;background:#fff!important;color:#111!important;margin:0 0 8px!important;padding:8px 10px!important;border-radius:0!important}.gb-entry *,.ref-service-card *,.tribute-card *{color:#111!important}.ref-memorial-pictures img{max-width:100%!important;max-height:2.8in!important;height:auto!important;-o-object-fit:contain!important;object-fit:contain!important}a[href]:after{content:none!important}img{max-width:100%!important;page-break-inside:avoid}body.print-no-cover .ref-hero-media,body.print-simple .ref-hero-media,html.print-no-cover .ref-hero-media,html.print-simple .ref-hero-media{display:none!important;height:0!important;margin:0!important;padding:0!important;overflow:hidden!important}body.print-no-guestbook .ref-guestbook,body.print-no-pictures .ref-memorial-pictures,body.print-no-services .ref-services,body.print-simple .ref-guestbook,body.print-simple .ref-memorial-pictures,body.print-simple .ref-services,html.print-no-guestbook .ref-guestbook,html.print-no-pictures .ref-memorial-pictures,html.print-no-services .ref-services,html.print-simple .ref-guestbook,html.print-simple .ref-memorial-pictures,html.print-simple .ref-services{display:none!important}}@media(prefers-reduced-motion:reduce){.ref-hero-card,.ref-hero-image{animation:none!important;transform:none!important}}.all-obituaries-page{min-height:100vh;background-color:#f8f9fa}.obituaries-header-banner{background:linear-gradient(135deg,#355555,#4a6b6b);color:#fff;text-align:center}.page-title{font-size:3rem;font-weight:700;margin-bottom:15px;text-transform:uppercase;letter-spacing:2px}.page-subtitle{font-size:1.2rem;font-weight:300;opacity:.9}.obituaries-content{max-width:1400px;padding:0 20px 80px}.search-section{margin-top:40px}.search-wrapper-large{width:100%}.search-input-large{padding:15px 50px 15px 25px;font-size:1.1rem;border:2px solid #ddd;transition:all .3s ease;box-shadow:0 2px 8px rgba(0,0,0,.05)}.search-input-large:focus{border-color:#3498db;box-shadow:0 4px 12px rgba(52,152,219,.2);outline:none}.search-icon-large{right:20px;top:50%;transform:translateY(-50%);color:#666;cursor:pointer;transition:color .3s ease}.search-icon-large:hover{color:#3498db}.results-count{font-size:1rem;margin-bottom:20px}.obituaries-grid{margin-top:30px}.obituary-card{background:hsla(0,0%,100%,0);border-radius:12px;overflow:hidden;transition:all .3s ease;box-shadow:0 2px 8px rgba(0,0,0,.08);height:100%;display:flex;flex-direction:column}.obituary-card:hover{transform:translateY(-8px);box-shadow:0 8px 24px rgba(0,0,0,.15)}.obituary-image-wrapper{position:relative;width:100%;height:300px;overflow:hidden;background-color:#f0f0f0}.obituary-image{position:absolute;top:0;left:0;width:100%;height:100%;-o-object-fit:cover;object-fit:cover;transition:transform .3s ease;display:block}.obituary-card:hover .obituary-image{transform:scale(1.05)}.obituary-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.6);display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .3s ease;z-index:5}.obituary-card:hover .obituary-overlay{opacity:1}.view-obituary-text{color:#fff;font-size:1rem;font-weight:600;text-transform:uppercase;letter-spacing:1px}.obituary-info{padding:20px;text-align:center;flex-grow:1;display:flex;flex-direction:column;justify-content:center}.obituary-name{font-size:1.3rem;font-weight:700;color:#2c3e50;margin-bottom:8px;text-transform:uppercase;letter-spacing:.5px;line-height:1.3}.obituary-dates{font-size:.95rem;color:#7f8c8d;margin-bottom:5px;font-weight:500}.obituary-location{font-size:.9rem;color:#95a5a6;margin-bottom:0;font-style:italic}.pagination-wrapper{margin-top:40px;margin-bottom:20px}.pagination{margin:0}.pagination .page-item{margin:0 3px}.pagination .page-link{border:2px solid #ddd;color:#2c3e50;font-weight:600;padding:10px 15px;border-radius:8px;transition:all .3s ease;font-size:1rem;min-width:45px;text-align:center;display:flex;align-items:center;justify-content:center}.pagination .page-link:hover{background-color:#3498db;border-color:#3498db;color:#fff;transform:translateY(-2px)}.pagination .page-item.active .page-link{background-color:#2c3e50;border-color:#2c3e50;color:#fff;font-weight:700}.pagination .page-item.disabled .page-link{background-color:#f8f9fa;border-color:#ddd;color:#ccc;cursor:not-allowed}.pagination .page-item.disabled .page-link:hover{transform:none;background-color:#f8f9fa;border-color:#ddd;color:#ccc}.page-info-text{color:#666;font-size:.95rem;font-weight:500;margin:0}.spinner-border{width:3rem;height:3rem}.alert{border-radius:12px;padding:30px}@media(max-width:1200px){.page-title{font-size:2.5rem}.obituary-image-wrapper{height:280px}}@media(max-width:768px){.obituaries-header-banner{padding:60px 0 40px;margin-bottom:30px}.page-title{font-size:2rem}.page-subtitle{font-size:1rem}.search-input-large{padding:12px 45px 12px 20px;font-size:1rem}.search-icon-large{right:15px}.obituary-name{font-size:1.1rem}.obituaries-content{padding-bottom:50px}.obituary-image-wrapper{height:250px}.pagination{flex-wrap:wrap}.pagination .page-link{padding:8px 12px;font-size:.9rem;min-width:40px}.pagination .page-item{margin:2px}}@media(max-width:576px){.page-title{font-size:1.5rem}.page-subtitle{font-size:.9rem}.obituary-info{padding:15px}.obituary-name{font-size:1rem}.obituary-dates{font-size:.85rem}.obituary-location{font-size:.8rem}.obituary-image-wrapper{height:220px}.pagination .page-link{padding:6px 10px;font-size:.85rem;min-width:35px}.page-info-text{font-size:.85rem}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.obituary-card{animation:fadeInUp .5s ease-out forwards}.obituaries-grid .col-xs-12:first-child .obituary-card{animation-delay:.05s}.obituaries-grid .col-xs-12:nth-child(2) .obituary-card{animation-delay:.1s}.obituaries-grid .col-xs-12:nth-child(3) .obituary-card{animation-delay:.15s}.obituaries-grid .col-xs-12:nth-child(4) .obituary-card{animation-delay:.2s}.obituaries-grid .col-xs-12:nth-child(5) .obituary-card{animation-delay:.25s}.obituaries-grid .col-xs-12:nth-child(6) .obituary-card{animation-delay:.3s}.obituaries-grid .col-xs-12:nth-child(7) .obituary-card{animation-delay:.35s}.obituaries-grid .col-xs-12:nth-child(8) .obituary-card{animation-delay:.4s}.pagination .page-item{animation:fadeInUp .3s ease-out forwards}.pagination .page-item:first-child{animation-delay:.05s}.pagination .page-item:nth-child(2){animation-delay:.1s}.pagination .page-item:nth-child(3){animation-delay:.15s}.pagination .page-item:nth-child(4){animation-delay:.2s}.pagination .page-item:nth-child(5){animation-delay:.25s}.pagination .page-item:nth-child(6){animation-delay:.3s}.pagination .page-item:nth-child(7){animation-delay:.35s}.immediate-popup{position:fixed;bottom:24px;right:24px;width:320px;background:linear-gradient(180deg,#4b6f6d,#3e5f5c);color:#fff;padding:28px 24px 24px;box-shadow:0 12px 30px rgba(0,0,0,.35);z-index:9999;animation:slideUp .5s ease-out;font-family:Oswald,sans-serif}.immediate-popup h2{margin:0 0 12px;font-size:26px;font-weight:700;color:#fff}.immediate-popup p{font-size:16px;line-height:1.5;margin-bottom:18px;color:#fff}.popup-phone{font-family:Playfair Display,serif;font-size:26px;font-weight:700;text-align:center;margin-bottom:18px}.popup-phone a{color:#fff;text-decoration:none}.popup-dismiss{width:100%;padding:10px;background:transparent;border:1px solid hsla(0,0%,100%,.4);color:#cfdedd;font-size:15px;cursor:pointer}.popup-dismiss:hover{background:hsla(0,0%,100%,.1)}.popup-close{position:absolute;top:10px;right:10px;background:#a54658;border:none;color:#fff;width:28px;height:28px;border-radius:50%;font-size:18px;cursor:pointer;line-height:1}:root{--primary-color:#2d5f5d;--secondary-color:#5a9fd4;--text-dark:#212529;--text-muted:#6c757d;--bg-light:#f8f9fa;--white:#fff;--border-color:#dee2e6}.hero{position:relative;width:100%;margin-bottom:4rem;min-height:620px;border-radius:4px;overflow:hidden;display:flex;flex-direction:column;justify-content:space-between}.hero__bg{background:radial-gradient(ellipse at 30% 0,rgba(196,160,148,.18) 0,transparent 55%),radial-gradient(ellipse at 80% 100%,rgba(32,49,28,.18) 0,transparent 50%),linear-gradient(160deg,#469898,#0b4646 40%,#4a6b6b);z-index:0}.hero__bg,.hero__floral{position:absolute;inset:0}.hero__floral{z-index:1;opacity:.13;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='800' height='600'%3E%3Cdefs%3E%3Cstyle%3E.f{fill:none;stroke:%23d4c4b0;stroke-width:1.2}%3C/style%3E%3C/defs%3E%3Ccircle cx='80' cy='120' r='55' class='f'/%3E%3Ccircle cx='80' cy='120' r='38' class='f'/%3E%3Ccircle cx='80' cy='120' r='22' class='f'/%3E%3Ccircle cx='80' cy='120' r='10' class='f'/%3E%3Cellipse cx='80' cy='65' rx='18' ry='28' class='f' transform='rotate(-20 80 65)'/%3E%3Cellipse cx='130' cy='90' rx='18' ry='28' class='f' transform='rotate(55 130 90)'/%3E%3Cellipse cx='135' cy='145' rx='18' ry='28' class='f' transform='rotate(110 135 145)'/%3E%3Cellipse cx='90' cy='178' rx='18' ry='28' class='f' transform='rotate(165 90 178)'/%3E%3Cellipse cx='32' cy='165' rx='18' ry='28' class='f' transform='rotate(210 32 165)'/%3E%3Cellipse cx='22' cy='110' rx='18' ry='28' class='f' transform='rotate(265 22 110)'/%3E%3Cpath d='M80 175q-10 75-20 145' class='f'/%3E%3Cellipse cx='55' cy='240' rx='25' ry='12' class='f' transform='rotate(-35 55 240)'/%3E%3Cellipse cx='72' cy='290' rx='25' ry='12' class='f' transform='rotate(20 72 290)'/%3E%3Ccircle cx='720' cy='480' r='65' class='f'/%3E%3Ccircle cx='720' cy='480' r='45' class='f'/%3E%3Ccircle cx='720' cy='480' r='26' class='f'/%3E%3Ccircle cx='720' cy='480' r='12' class='f'/%3E%3Cellipse cx='720' cy='415' rx='20' ry='32' class='f' transform='rotate(-15 720 415)'/%3E%3Cellipse cx='778' cy='448' rx='20' ry='32' class='f' transform='rotate(50 778 448)'/%3E%3Cellipse cx='782' cy='515' rx='20' ry='32' class='f' transform='rotate(110 782 515)'/%3E%3Cellipse cx='728' cy='548' rx='20' ry='32' class='f' transform='rotate(168 728 548)'/%3E%3Cellipse cx='664' cy='530' rx='20' ry='32' class='f' transform='rotate(220 664 530)'/%3E%3Cellipse cx='652' cy='462' rx='20' ry='32' class='f' transform='rotate(275 652 462)'/%3E%3Cpath d='M720 415q15-75 30-145' class='f'/%3E%3Cellipse cx='748' cy='360' rx='25' ry='12' class='f' transform='rotate(30 748 360)'/%3E%3Cellipse cx='742' cy='310' rx='25' ry='12' class='f' transform='rotate(-25 742 310)'/%3E%3Ccircle cx='680' cy='80' r='28' class='f'/%3E%3Ccircle cx='680' cy='80' r='16' class='f'/%3E%3Cellipse cx='680' cy='52' rx='10' ry='16' class='f'/%3E%3Cellipse cx='705' cy='67' rx='10' ry='16' class='f' transform='rotate(60 705 67)'/%3E%3Cellipse cx='702' cy='97' rx='10' ry='16' class='f' transform='rotate(120 702 97)'/%3E%3Cellipse cx='676' cy='108' rx='10' ry='16' class='f' transform='rotate(180 676 108)'/%3E%3Cellipse cx='652' cy='94' rx='10' ry='16' class='f' transform='rotate(240 652 94)'/%3E%3Cellipse cx='652' cy='64' rx='10' ry='16' class='f' transform='rotate(300 652 64)'/%3E%3Cellipse cx='400' cy='30' rx='8' ry='15' class='f' transform='rotate(30 400 30)'/%3E%3Cellipse cx='430' cy='15' rx='6' ry='12' class='f' transform='rotate(-20 430 15)'/%3E%3Cellipse cx='370' cy='20' rx='6' ry='12' class='f' transform='rotate(60 370 20)'/%3E%3Cellipse cx='200' cy='570' rx='9' ry='16' class='f' transform='rotate(-40 200 570)'/%3E%3Cellipse cx='230' cy='588' rx='6' ry='11' class='f' transform='rotate(15 230 588)'/%3E%3Cellipse cx='175' cy='585' rx='6' ry='11' class='f' transform='rotate(-70 175 585)'/%3E%3C/svg%3E");background-size:cover;background-position:50%}.hero__vignette{position:absolute;inset:0;z-index:2;background:radial-gradient(ellipse at center,transparent 30%,rgba(10,10,10,.6) 100%)}.hero__border{position:absolute;inset:20px;border:1px solid rgba(184,168,138,.25);border-radius:2px;z-index:3;pointer-events:none}.hero__corner{position:absolute;width:40px;height:40px;z-index:4}.hero__corner:after,.hero__corner:before{content:"";position:absolute;background:var(--muted-gold);opacity:.5}.hero__corner--tl{top:20px;left:20px}.hero__corner--tl:before{top:0;left:0;width:20px;height:1px}.hero__corner--tl:after{top:0;left:0;width:1px;height:20px}.hero__corner--tr{top:20px;right:20px}.hero__corner--tr:before{top:0;right:0;width:20px;height:1px}.hero__corner--tr:after{top:0;right:0;width:1px;height:20px}.hero__corner--bl{bottom:20px;left:20px}.hero__corner--bl:before{bottom:0;left:0;width:20px;height:1px}.hero__corner--bl:after{bottom:0;left:0;width:1px;height:20px}.hero__corner--br{bottom:20px;right:20px}.hero__corner--br:before{bottom:0;right:0;width:20px;height:1px}.hero__corner--br:after{bottom:0;right:0;width:1px;height:20px}.hero__content{position:relative;z-index:5;padding:70px 70px 0;animation:fadeUp 1.1s ease both}.hero__eyebrow{font-family:Jost,sans-serif;font-size:.72rem;font-weight:400;letter-spacing:.22em;text-transform:uppercase;color:var(--muted-gold);margin-bottom:1.2rem;opacity:.85}.hero__h1{font-family:Cormorant Garamond,serif;font-size:2.6rem;font-weight:300;line-height:1.18;color:#fff;letter-spacing:.01em;margin-bottom:1.6rem;max-width:680px}.hero__h1 em{font-style:italic;color:var(--dusty-rose)}.hero__divider{width:60px;height:1px;background:linear-gradient(90deg,var(--muted-gold),transparent);margin-bottom:1.5rem}.hero__desc{font-size:.96rem;font-weight:300;line-height:1.8;color:rgba(245,240,234,.72);max-width:560px;letter-spacing:.02em}.hero__bottom{position:relative;z-index:5;padding:0 70px 55px;animation:fadeUp 1.3s ease .2s both}.hero__h2{font-family:Cormorant Garamond,serif;font-size:1.1rem;font-weight:400;font-style:italic;color:var(--muted-gold);letter-spacing:.06em;margin-bottom:1.4rem;opacity:.9}.hero__actions{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.75rem}.action-card{display:flex;align-items:center;gap:.9rem;padding:1rem 1.2rem;background:rgba(245,240,234,.04);border:1px solid rgba(184,168,138,.18);border-radius:2px;cursor:pointer;transition:background .28s,border-color .28s,transform .2s;text-decoration:none}.action-card:hover{background:rgba(245,240,234,.09);border-color:rgba(184,168,138,.4);transform:translateY(-2px)}.action-card__icon{width:32px;height:32px;flex-shrink:0;display:flex;align-items:center;justify-content:center}.action-card__icon svg{width:20px;height:20px;stroke:var(--dusty-rose);fill:none;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}.action-card__text{font-size:.84rem;font-weight:400;color:rgba(245,240,234,.8);letter-spacing:.03em;line-height:1.4}.action-card__arrow{margin-left:auto;font-size:.75rem;color:var(--muted-gold);opacity:.5;transition:opacity .2s,transform .2s}.action-card:hover .action-card__arrow{opacity:1;transform:translateX(3px)}.hero__badge{position:absolute;top:38px;right:54px;z-index:6;gap:.15rem;animation:fadeIn 1.5s ease both}.badge__ring,.hero__badge{display:flex;flex-direction:column;align-items:center}.badge__ring{width:64px;height:64px;border-radius:50%;border:1px solid rgba(184,168,138,.3);justify-content:center;background:rgba(30,31,29,.6);backdrop-filter:blur(8px)}.badge__num{font-family:Cormorant Garamond,serif;font-size:1.35rem;font-weight:300;color:var(--warm-white);line-height:1}.badge__label{font-size:.48rem;letter-spacing:.15em;text-transform:uppercase;color:var(--muted-gold);opacity:.8}.badge__sub{font-size:.55rem;letter-spacing:.12em;text-transform:uppercase;color:rgba(245,240,234,.45)}@keyframes fadeUp{0%{opacity:0;transform:translateY(22px)}to{opacity:1;transform:translateY(0)}}@media(max-width:640px){.hero__bottom,.hero__content{padding-left:36px;padding-right:36px}.hero__content{padding-top:50px}.hero__bottom{padding-bottom:40px}.hero__badge{top:22px;right:28px}.hero__actions{grid-template-columns:1fr}}.homepage{font-family:Georgia,Times New Roman,serif;color:var(--text-dark);line-height:1.6}.hero-banner-section{position:relative;width:100%;margin-bottom:3rem}.hero-slide-bg{position:relative;height:750px;background-size:cover;background-position:50%}.hero-overlay{top:0;left:0;height:100%;background:linear-gradient(180deg,rgba(0,0,0,.2),rgba(0,0,0,.4))}.hero-content,.hero-overlay{position:absolute;width:100%}.hero-content{top:50%;left:50%;transform:translate(-50%,-50%);text-align:center;z-index:2;padding:0 20px}.hero-title{font-family:Georgia,Times New Roman,serif;font-size:5rem;font-weight:400;margin-bottom:2rem;text-shadow:2px 2px 8px rgba(0,0,0,.5)}.hero-cta-button,.hero-title{color:var(--white);letter-spacing:2px}.hero-cta-button{background-color:rgba(45,95,93,.9);border:2px solid var(--white);padding:12px 40px;font-size:.9rem;font-weight:600;border-radius:50px;transition:all .3s ease;text-transform:uppercase}.hero-cta-button:hover{background-color:#2d5f5d;transform:translateY(-2px);box-shadow:0 8px 20px rgba(0,0,0,.3)}.tributes-section-wrapper{background-color:var(--white);padding:3rem 0}.tributes-header{margin-bottom:2rem;padding-bottom:1rem;border-bottom:1px solid var(--border-color)}.tributes-title{font-family:Georgia,Times New Roman,serif;font-size:2rem;font-weight:600;color:var(--text-dark);margin:0}.search-wrapper{position:relative;width:100%;max-width:350px}.search-input{padding:10px 45px 10px 20px;border:1px solid var(--border-color);border-radius:50px;font-size:.9rem}.search-input:focus{border-color:var(--text-muted);box-shadow:0 0 0 .2rem rgba(108,117,125,.15)}.search-icon{position:absolute;right:15px;color:var(--text-muted)}.search-icon:hover{color:var(--text-dark)}.tributes-carousel-wrapper{margin-top:2rem}.tributes-carousel{position:relative;padding:0 50px}.carousel-nav-btn{position:absolute;top:35%;transform:translateY(-50%);width:45px;height:45px;border-radius:50%;background-color:var(--white);border:1px solid var(--border-color);display:flex;align-items:center;justify-content:center;z-index:10;cursor:pointer;transition:all .3s ease;box-shadow:0 2px 8px rgba(0,0,0,.1);padding:0}.carousel-nav-btn:hover:not(:disabled){background-color:var(--bg-light);box-shadow:0 4px 12px rgba(0,0,0,.15);border-color:var(--text-muted)}.carousel-nav-btn:disabled{opacity:.3;cursor:not-allowed}.carousel-nav-prev{left:0}.carousel-nav-next{right:0}.tribute-cards-row{margin:0 -10px}.tribute-card-col{padding:0 10px}.tribute-card{cursor:pointer;transition:all .3s ease;height:100%}.tribute-card:hover{transform:translateY(-5px)}.tribute-image-wrapper{position:relative;width:100%;padding-bottom:100%;overflow:hidden;border-radius:4px;box-shadow:0 2px 8px rgba(0,0,0,.1);background-color:var(--bg-light)}.tribute-image{position:absolute;top:0;left:0;width:100%;height:100%;-o-object-fit:cover;object-fit:cover;transition:transform .3s ease}.tribute-card:hover .tribute-image{transform:scale(1.05)}.tribute-name{font-size:.85rem;font-weight:700;letter-spacing:.5px;margin-top:.75rem;margin-bottom:.25rem;color:var(--text-dark);line-height:1.3;text-transform:uppercase}.tribute-date{margin-bottom:.15rem}.tribute-date,.tribute-location{font-size:.75rem;color:var(--text-muted);font-family:Arial,sans-serif}.tribute-location{margin-bottom:0}.tributes-action-btn{background-color:transparent;border:2px solid var(--text-dark);color:var(--text-dark);padding:10px 30px;font-size:.8rem;font-weight:700;letter-spacing:1.5px;border-radius:50px;transition:all .3s ease;text-transform:uppercase}.tributes-action-btn:hover{background-color:var(--text-dark);color:var(--white);transform:translateY(-2px);box-shadow:0 4px 12px rgba(0,0,0,.2)}.welcome-section{background-color:var(--bg-light);padding:4rem 0}.welcome-image-wrapper{width:100%;height:100%}.welcome-image{width:100%;height:auto;-o-object-fit:cover;object-fit:cover;border-radius:8px;box-shadow:0 4px 16px rgba(0,0,0,.1)}.welcome-content{padding-left:3rem}.welcome-label{font-size:.75rem;letter-spacing:2px;font-weight:600;color:var(--text-muted);margin-bottom:.5rem;text-transform:uppercase;font-family:Arial,sans-serif}.welcome-title{font-family:Georgia,Times New Roman,serif;font-size:2rem;font-weight:600;color:var(--text-dark);line-height:1.3;margin-bottom:1.5rem}.welcome-text{font-size:1rem;line-height:1.8;color:var(--text-dark);margin-bottom:1.25rem;font-family:Arial,sans-serif}.welcome-link{color:var(--secondary-color);text-decoration:none;transition:color .3s ease;font-weight:600}.welcome-link:hover{color:#4a8fc4;text-decoration:underline}.welcome-cta-btn{background-color:var(--secondary-color);border:none;color:var(--white);padding:12px 35px;font-size:.9rem;font-weight:700;letter-spacing:1px;border-radius:4px;transition:all .3s ease;text-transform:uppercase;margin-top:1rem}.welcome-cta-btn:hover{background-color:#4a8fc4;transform:translateY(-2px);box-shadow:0 6px 16px rgba(90,159,212,.3)}.services-grid-section{margin:0;padding:0}.service-grid-item{padding:0}.service-card-link{display:block;text-decoration:none;height:100%}.service-card{position:relative;height:400px;overflow:hidden;background-size:cover;background-position:50%;transition:all .3s ease;cursor:pointer}.service-card-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(180deg,rgba(0,0,0,.3),rgba(0,0,0,.6));transition:background .3s ease}.service-card:hover .service-card-overlay{background:linear-gradient(180deg,rgba(0,0,0,.4),rgba(0,0,0,.7))}.service-card-content{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);text-align:center;z-index:2;width:100%}.service-card-title{font-family:Georgia,Times New Roman,serif;font-size:2.5rem;font-weight:400;color:var(--white);margin:0;text-shadow:2px 2px 8px rgba(0,0,0,.6);transition:all .3s ease}.service-card:hover .service-card-title{transform:scale(1.05);text-shadow:3px 3px 10px rgba(0,0,0,.8)}.testimonials-section{background-color:#d5e6e4!important;padding:4rem 0}.testimonials-header{margin-bottom:2rem}.testimonials-title{font-family:Georgia,Times New Roman,serif;font-size:2rem;font-weight:600;color:var(--text-dark);margin-bottom:.5rem}.testimonials-subtitle{font-size:.75rem;letter-spacing:2px;color:var(--text-muted);text-transform:uppercase;font-family:Arial,sans-serif}.testimonial-card{background-color:var(--white);padding:2.5rem;border-radius:8px;box-shadow:0 2px 12px rgba(0,0,0,.08)}.testimonial-text{font-size:1rem;line-height:1.8;color:var(--text-dark);font-style:italic;margin-bottom:0;font-family:Arial,sans-serif}.testimonial-btn{background-color:transparent;border:2px solid var(--primary-color);color:var(--primary-color);padding:10px 30px;font-size:.85rem;font-weight:600;border-radius:4px;transition:all .3s ease}.testimonial-btn:hover{background-color:var(--primary-color);color:var(--white);transform:translateY(-2px);box-shadow:0 4px 12px rgba(45,95,93,.3)}.google-reviews-section{background-color:var(--white);padding:3rem 0}.google-reviews-title{font-family:Georgia,Times New Roman,serif;font-size:1.75rem;font-weight:600;color:var(--text-dark);margin-bottom:1rem}.qr-code-wrapper{display:inline-block;padding:1rem;background-color:var(--white);border:2px solid var(--border-color);border-radius:8px;box-shadow:0 2px 8px rgba(0,0,0,.1)}.qr-code-image{width:200px;height:200px;display:block}.location-info,.location-section{background-color:var(--bg-light)}.location-info{padding:3rem;height:400px;display:flex;flex-direction:column;justify-content:center}.location-title{font-family:Georgia,Times New Roman,serif;font-size:2rem;font-weight:600;color:var(--text-dark);margin-bottom:2rem}.location-details{display:flex;flex-direction:column;gap:1.5rem}.location-detail-item{display:flex;gap:1rem;align-items:flex-start}.location-detail-item svg{color:var(--primary-color);flex-shrink:0;margin-top:2px}.location-detail-item p{font-size:.95rem;line-height:1.6;color:var(--text-dark);font-family:Arial,sans-serif}.location-map{height:400px}.location-map iframe{width:100%;height:100%;border:none}.view-services-cta{background-color:var(--white);padding:3rem 0}.view-services-btn{background-color:var(--primary-color);border:none;color:var(--white);padding:15px 50px;font-size:.9rem;font-weight:700;letter-spacing:2px;border-radius:4px;transition:all .3s ease;text-transform:uppercase}.view-services-btn:hover{background-color:#234948;transform:translateY(-2px);box-shadow:0 6px 16px rgba(45,95,93,.3)}@media(max-width:991px){.hero-title{font-size:3rem}.tributes-carousel{padding:0 40px}.welcome-content{padding-left:2rem}.service-card{height:350px}.service-card-title{font-size:2rem}.location-info{padding:2rem;height:auto}}@media(max-width:767px){.hero-title{font-size:2.5rem}.hero-cta-button{padding:10px 30px;font-size:.8rem}.tributes-title{font-size:1.5rem;margin-bottom:1rem}.search-wrapper{max-width:100%;margin-top:1rem}.tributes-carousel{padding:0 35px}.carousel-nav-btn{width:40px;height:40px}.tributes-action-btn{font-size:.7rem;padding:8px 20px}.welcome-section{padding:3rem 0}.welcome-content{padding-left:0;margin-top:2rem}.welcome-title{font-size:1.75rem}.service-card{height:300px}.service-card-title{font-size:1.75rem}.testimonials-title{font-size:1.5rem}.testimonial-card{padding:2rem}.location-info{padding:2rem;margin-bottom:0}.location-map{height:350px}}@media(max-width:575px){.hero-slide-bg{height:550px}.hero-title{font-size:2rem;letter-spacing:1px}.hero-cta-button{padding:8px 25px;font-size:.75rem;letter-spacing:1.5px}.tributes-section-wrapper{padding:2rem 0}.tributes-title{font-size:1.25rem}.tributes-carousel{padding:0 30px}.carousel-nav-btn{width:35px;height:35px}.tribute-name{font-size:.75rem}.tribute-date,.tribute-location{font-size:.7rem}.tributes-action-btn{font-size:.65rem;padding:7px 15px;margin:.25rem;letter-spacing:1px}.welcome-section{padding:2rem 0}.welcome-title{font-size:1.5rem}.welcome-text{font-size:.95rem}.service-card{height:250px;margin-bottom:0}.service-card-title{font-size:1.5rem}.testimonials-section{padding:3rem 0}.testimonials-title{font-size:1.25rem}.testimonial-card{padding:1.5rem}.testimonial-text{font-size:.9rem}.google-reviews-section{padding:2rem 0}.google-reviews-title{font-size:1.25rem}.qr-code-image{width:150px;height:150px}.location-title{font-size:1.5rem}.location-info{padding:1.5rem}.location-detail-item p{font-size:.85rem}.location-map{height:300px}.view-services-cta{padding:2rem 0}.view-services-btn{padding:12px 35px;font-size:.8rem;letter-spacing:1.5px}}@media(max-width:400px){.hero-title{font-size:1.75rem}.tributes-title{font-size:1.1rem}.tribute-card-col{padding:0 5px}.service-card-title,.welcome-title{font-size:1.35rem}.testimonials-title{font-size:1.15rem}.location-title{font-size:1.35rem}}@media print{.carousel-nav-btn,.hero-banner-section,.testimonial-btn,.tributes-action-btn,.view-services-btn,.welcome-cta-btn{display:none}.homepage{color:#000}.service-card-overlay{background:rgba(0,0,0,.5)}}.products-shop-page{background:#f8f9fa;min-height:100vh;width:100%;overflow-x:hidden}.products-shop-page,.products-shop-page *{box-sizing:border-box}.obit-banner{min-height:300px}.obit-banner-content{padding:44px 24px 40px;max-width:680px}.obit-banner-photo-ring{width:120px;height:120px;margin-bottom:18px}.obit-banner-label{font-size:12px;margin:0 0 7px}.obit-banner-name{font-size:34px;margin:0 0 8px}.obit-banner-dates,.obit-banner-quote{font-size:14px;margin:0 0 16px}.obit-banner-quote{max-width:520px}.obit-banner-divider:after,.obit-banner-divider:before{width:50px}.obit-banner-skeleton{min-height:240px;gap:14px;padding:40px 24px}.obit-skeleton-circle{width:110px;height:110px}.obit-skeleton-line{height:13px}.obit-skeleton-line.wide{width:260px}.obit-skeleton-line.medium{width:190px}.obit-skeleton-line.narrow{width:130px}.products-shop-container{display:flex;max-width:1600px;margin:0 auto;background:#f8f9fa;min-height:100vh}.categories-sidebar{width:240px;flex-shrink:0;background:#fff;border-right:1px solid #e9ecef;padding:16px 0 32px;position:sticky;top:0;height:100vh;overflow-y:auto;margin-top:8em}.sidebar-heading{font-size:10px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#9ca3af;padding:0 20px 12px;border-bottom:1px solid #f3f4f6;margin-bottom:6px}.category-item{width:100%;display:flex;align-items:center;gap:10px;padding:10px 20px;background:none;border:none;border-left:3px solid transparent;text-align:left;transition:background .15s,border-color .15s,color .15s;position:relative}.category-item:hover{background:#f0fdf4;border-left-color:#86efac}.category-item.active{background:#f0fdf4;border-left-color:#2d6a4f}.category-icon-wrap{width:22px;display:flex;align-items:center;justify-content:center;color:#9ca3af;flex-shrink:0;transition:color .15s}.category-item.active .category-icon-wrap,.category-item:hover .category-icon-wrap{color:#2d6a4f}.category-label{flex:1;font-size:13.5px;color:#374151;font-family:Inter,Helvetica Neue,sans-serif;line-height:1.4}.category-item.active .category-label{font-weight:600;color:#1a3d2f}.category-arrow{color:#d1d5db;opacity:0;transition:opacity .15s,color .15s;flex-shrink:0}.category-item.active .category-arrow,.category-item:hover .category-arrow{opacity:1;color:#2d6a4f}.categories-sidebar::-webkit-scrollbar{width:4px}.categories-sidebar::-webkit-scrollbar-track{background:#f3f4f6}.categories-sidebar::-webkit-scrollbar-thumb{background:#d1fae5;border-radius:4px}.products-main-content{flex:1;padding:36px 44px;background:#fff;margin-top:7em}.shop-search-bar{display:flex;align-items:center;gap:10px;background:#f9fafb;border:1.5px solid #e5e7eb;border-radius:10px;padding:10px 14px;margin-bottom:12px;transition:border-color .2s,box-shadow .2s}.shop-search-bar:focus-within{border-color:#2d6a4f;box-shadow:0 0 0 3px rgba(45,106,79,.08);background:#fff}.shop-search-icon{color:#9ca3af;flex-shrink:0}.shop-search-input{flex:1;border:none;background:transparent;font-size:14px;color:#111827;outline:none;font-family:Inter,Helvetica Neue,sans-serif}.shop-search-input::-moz-placeholder{color:#b0b8c4}.shop-search-input:-ms-input-placeholder{color:#b0b8c4}.shop-search-input::placeholder{color:#b0b8c4}.shop-search-clear{background:none;border:none;color:#9ca3af;font-size:18px;line-height:1;cursor:pointer;padding:0 2px;transition:color .15s}.shop-search-clear:hover{color:#374151}.memorial-banner{margin-bottom:12px}.memorial-banner-content{background:linear-gradient(135deg,#1b4332,#40916c);border-radius:12px;padding:28px 32px;color:#fff}.memorial-banner-header{display:flex;align-items:center;gap:14px;margin-bottom:10px}.memorial-banner-title{font-size:24px;font-weight:700;margin:0 0 3px;font-family:Georgia,serif;letter-spacing:-.01em}.memorial-banner-subtitle{font-size:14px;color:hsla(0,0%,100%,.82);margin:0}.memorial-banner-description{font-size:13.5px;color:hsla(0,0%,100%,.75);margin:0;line-height:1.55}.memorial-filters{margin-bottom:28px}.memorial-filters-content{background:#f9fafb;border:1px solid #e5e7eb;border-radius:10px;padding:18px 22px}.memorial-filters-title{font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#6b7280;margin:0 0 12px}.memorial-filters-buttons{display:flex;flex-wrap:wrap;gap:8px}.filter-btn{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;border:1.5px solid #e5e7eb;background:#fff;border-radius:8px;font-size:13.5px;font-weight:500;color:#374151;cursor:pointer;transition:all .18s;font-family:Inter,sans-serif}.filter-btn:hover{border-color:#2d6a4f;background:#f0fdf4;color:#1a3d2f}.filter-btn.active{background:#2d6a4f;border-color:#2d6a4f;color:#fff}.filter-btn-tree.active{background:#40916c;border-color:#40916c}.filter-btn-flower.active{background:#be3455;border-color:#be3455}.filter-btn-gift.active{background:#6d3aad;border-color:#6d3aad}.products-grid{gap:24px;margin-top:8px}.product-card{border:1px solid #e9ecef;border-radius:10px;transition:box-shadow .22s,transform .22s,border-color .22s}.product-card:hover{box-shadow:0 6px 24px rgba(45,106,79,.1);transform:translateY(-3px);border-color:#86efac}.wishlist-badge{z-index:2}.product-image-wrapper{padding-bottom:100%;background:#f8f9fa;border-bottom:1px solid #f3f4f6}.product-image{transition:transform .3s}.product-card:hover .product-image{transform:scale(1.04)}.product-info{padding:16px;gap:8px}.product-name{font-size:14.5px;color:#111827;margin:0}.product-name-link:hover .product-name{color:#2d6a4f}.product-brand{color:#9ca3af}.variant-select{border:1.5px solid #e5e7eb;border-radius:7px;color:#374151;background:#fff;transition:border-color .18s;font-family:Inter,sans-serif;-webkit-appearance:auto;-moz-appearance:auto;appearance:auto}.variant-select:hover{border-color:#40916c}.variant-select:focus{border-color:#2d6a4f;box-shadow:0 0 0 3px rgba(45,106,79,.08)}.price-label{font-size:11px;color:#9ca3af;font-weight:500;text-transform:uppercase;letter-spacing:.04em}.product-price{font-size:17px;color:#1a3d2f}.product-rating{gap:4px;font-size:12.5px;color:#6b7280}.rating-star{color:#f59e0b;font-size:13px}.rating-value{font-weight:600;color:#374151}.add-to-cart-btn{margin-top:auto;width:100%;padding:10px 18px;background:#2d6a4f;color:#fff;border:none;border-radius:8px;font-size:13.5px;font-weight:600;cursor:pointer;transition:background .18s,transform .15s;letter-spacing:.03em;font-family:Inter,sans-serif}.add-to-cart-btn:hover{background:#1b4332;transform:translateY(-1px)}.add-to-cart-btn:active{transform:none}.products-empty-state{text-align:center;padding:72px 24px;background:#f9fafb;border-radius:12px;border:1px dashed #e5e7eb}.empty-icon{color:#d1d5db;margin:0 auto 14px;display:block}.empty-title{font-size:20px;font-weight:600;color:#374151;margin:0 0 6px;font-family:Georgia,serif}.empty-description{font-size:14px;color:#9ca3af;margin:0}.products-count{text-align:center;margin-top:28px;padding-top:20px;border-top:1px solid #f3f4f6;font-size:13px;color:#9ca3af;font-family:Inter,sans-serif}@media(max-width:1024px){.hide-sidebar-on-mobile{display:none!important}.products-shop-container{flex-direction:column}.categories-sidebar{width:100%;height:auto;position:static;padding:12px 16px;display:flex;flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;gap:8px;border-right:none;border-bottom:1px solid #e9ecef;margin-top:0}.categories-sidebar::-webkit-scrollbar{display:none}.sidebar-heading{display:none}.category-item{flex:0 0 auto;width:auto;padding:8px 16px;border:1.5px solid #e5e7eb;border-radius:20px;background:#fff;white-space:nowrap}.category-item.active{border-color:#2d6a4f;background:#f0fdf4}.category-arrow{display:none}.category-item-skeleton{flex:0 0 auto;width:130px;margin:0;border-radius:20px}.products-main-content{padding:22px 20px;margin-top:0}.memorial-filters-buttons{flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding-bottom:4px}.memorial-filters-buttons::-webkit-scrollbar{display:none}.filter-btn{flex:0 0 auto;white-space:nowrap}.products-grid{grid-template-columns:repeat(2,1fr);gap:16px}}@media(max-width:640px){.products-main-content{padding:14px}.products-grid{grid-template-columns:repeat(2,1fr);gap:12px}.memorial-banner-content{padding:18px 20px}.memorial-banner-title{font-size:20px}}@keyframes sidebar-shimmer{0%{background-position:-400px 0}to{background-position:400px 0}}.category-item-skeleton{height:38px;margin:3px 12px;border-radius:8px;background:linear-gradient(90deg,#f3f4f6 25%,#e9ebee 50%,#f3f4f6 75%);background-size:400px 100%;animation:sidebar-shimmer 1.3s ease-in-out infinite}.category-item:focus,.filter-btn:focus,.shop-search-input:focus{outline:2px solid #2d6a4f;outline-offset:2px}@media(prefers-reduced-motion:reduce){.add-to-cart-btn,.category-item,.filter-btn,.product-card,.product-image{transition:none}}.products-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;padding:0;margin:0}.product-card{background:#fff;border:1px solid #ede9e4;border-radius:14px;overflow:hidden;display:flex;flex-direction:column;position:relative;transition:box-shadow .25s ease,transform .25s ease,border-color .25s ease;box-shadow:0 2px 8px rgba(0,0,0,.04)}.product-card:hover{box-shadow:0 10px 30px rgba(80,60,40,.12);transform:translateY(-4px);border-color:#c8b8a2}.product-type-badge{position:absolute;top:12px;left:12px;z-index:3;font-size:10px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:3px 10px;border-radius:20px;color:#fff;background:rgba(45,106,79,.85);backdrop-filter:blur(4px)}.product-type-badge.type-flower{background:rgba(190,52,85,.82)}.product-type-badge.type-gift{background:rgba(109,58,173,.82)}.wishlist-badge{position:absolute;top:10px;right:10px;z-index:10;background:hsla(0,0%,100%,.92);border-radius:50%;width:34px;height:34px;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 8px rgba(0,0,0,.1);transition:transform .2s ease,background .2s ease}.wishlist-badge:hover{background:#fff;transform:scale(1.12)}.product-image-link{display:block}.product-image-wrapper{width:100%;padding-bottom:88%;position:relative;overflow:hidden;background:#f5f0eb}.product-image{position:absolute;inset:0;width:100%;height:100%;-o-object-fit:cover;object-fit:cover;transition:transform .4s ease}.product-card:hover .product-image{transform:scale(1.06)}.product-image-overlay{position:absolute;inset:0;background:rgba(40,28,18,.35);display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .3s ease}.product-card:hover .product-image-overlay{opacity:1}.view-text{color:#fff;font-size:13px;font-weight:600;letter-spacing:.05em;text-transform:uppercase;border:1.5px solid hsla(0,0%,100%,.7);padding:7px 18px;border-radius:20px;backdrop-filter:blur(4px)}.product-info{padding:18px 16px 16px;display:flex;flex-direction:column;gap:6px;flex:1;text-align:center}.product-name-link{text-decoration:none}.product-name{font-family:Georgia,serif;font-size:15px;font-weight:600;color:#2c1810;line-height:1.45;margin:0 0 2px;min-height:42px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;transition:color .2s ease}.product-name-link:hover .product-name{color:#7d4f2b}.product-brand{font-size:12px;color:#a89080;margin:0;font-style:italic}.variant-selector{width:100%;margin:4px 0}.variant-select{width:100%;padding:8px 12px;border:1.5px solid #e5ddd5;border-radius:8px;font-size:13px;color:#5a4030;background:#faf8f5;cursor:pointer;transition:border-color .18s,box-shadow .18s;font-family:Georgia,serif}.variant-select:hover{border-color:#b8956a}.variant-select:focus{outline:none;border-color:#8b6340;box-shadow:0 0 0 3px rgba(139,99,64,.1)}.product-price-wrapper{display:flex;align-items:baseline;justify-content:center;gap:5px;margin:2px 0}.price-label{font-size:12px;color:#a89080;font-weight:400;font-family:Georgia,serif}.product-price{font-family:Georgia,serif;font-size:19px;font-weight:700;color:#3d2812}.product-rating{display:flex;align-items:center;justify-content:center;gap:3px;margin:2px 0}.rating-star{color:#d4a851;font-size:14px}.rating-value{font-size:13px;font-weight:700;color:#4a3020}.rating-count{font-size:12px;color:#a89080}.send-love-btn{display:flex;align-items:center;justify-content:center;gap:7px;width:100%;margin-top:auto;padding:11px 20px;background:linear-gradient(135deg,#8b3a52,#c0555a);color:#fff;border:none;border-radius:50px;font-family:Georgia,serif;font-size:14px;font-weight:600;letter-spacing:.04em;cursor:pointer;transition:all .25s ease;box-shadow:0 3px 10px rgba(139,58,82,.25)}.send-love-btn:hover{background:linear-gradient(135deg,#7a2e43,#a8474c);transform:translateY(-2px);box-shadow:0 6px 18px rgba(139,58,82,.38)}.send-love-btn:active{transform:translateY(0)}.send-love-btn:focus{outline:none;box-shadow:0 0 0 3px rgba(139,58,82,.3)}@keyframes shimmer{0%{background-position:-600px 0}to{background-position:600px 0}}.skeleton-shimmer{background:linear-gradient(90deg,#f0ebe5 25%,#e8e0d8 50%,#f0ebe5 75%);background-size:600px 100%;animation:shimmer 1.4s ease-in-out infinite}.skeleton-card{pointer-events:none;border-color:#ede9e4!important;box-shadow:none!important;transform:none!important}.skeleton-image-wrapper{width:100%;padding-bottom:88%}.skeleton-image-wrapper,.skeleton-line{background:linear-gradient(90deg,#f0ebe5 25%,#e8e0d8 50%,#f0ebe5 75%);background-size:600px 100%;animation:shimmer 1.4s ease-in-out infinite}.skeleton-line{border-radius:6px}.skeleton-title{height:16px;width:80%;margin:6px auto 4px}.skeleton-subtitle{height:12px;width:55%;margin:0 auto}.skeleton-price{height:20px;width:40%;margin:6px auto}.skeleton-btn{height:40px;border-radius:50px;margin-top:10px;background:linear-gradient(90deg,#f0ebe5 25%,#e8e0d8 50%,#f0ebe5 75%);background-size:600px 100%;animation:shimmer 1.4s ease-in-out infinite}@media(max-width:1399px){.products-grid{grid-template-columns:repeat(3,1fr)}}@media(max-width:1023px){.products-grid{grid-template-columns:repeat(2,1fr);gap:16px}.product-info{padding:14px 12px 12px}.product-name{font-size:14px}}@media(max-width:639px){.products-grid{grid-template-columns:repeat(2,1fr);gap:6px}.product-card{max-width:380px;margin:0 auto}}.send-love-btn:focus-visible{outline:2px solid #8b3a52;outline-offset:2px}.product-card:focus-within{outline:2px solid #c8b8a2;outline-offset:2px}@media(prefers-reduced-motion:reduce){.product-card,.product-image,.send-love-btn,.skeleton-btn,.skeleton-image-wrapper,.skeleton-line{transition:none;animation:none}.product-card:hover,.product-card:hover .product-image{transform:none}}@media print{.send-love-btn,.wishlist-badge{display:none}.products-grid{grid-template-columns:repeat(3,1fr);gap:12px}.product-card{-moz-column-break-inside:avoid;break-inside:avoid;border:1px solid #ccc}}.memorial-product-page{background-color:#f9f6f1;min-height:100vh;overflow-x:hidden;width:100%;box-sizing:border-box}.memorial-product-page *{box-sizing:border-box}.obit-banner{position:relative;width:100%;min-height:340px;background:linear-gradient(180deg,rgba(20,12,6,.72),rgba(30,18,10,.85)),url(/images/forest-background.jpg) 50%/cover no-repeat;display:flex;align-items:center;justify-content:center;overflow:hidden}.obit-banner:before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at center,transparent 30%,rgba(10,5,2,.55) 100%);pointer-events:none}.obit-banner-overlay{position:absolute;inset:0;background:linear-gradient(180deg,transparent,rgba(15,8,4,.3))}.obit-banner-content{position:relative;z-index:2;text-align:center;color:#fff;padding:52px 24px 48px;max-width:700px;margin:0 auto;display:flex;flex-direction:column;align-items:center;gap:0}.obit-banner-photo-ring{width:130px;height:130px;border-radius:50%;padding:4px;background:linear-gradient(145deg,#d4a87a,#f0d4a8,#b8864a);box-shadow:0 0 0 3px rgba(212,168,122,.35),0 8px 28px rgba(0,0,0,.55);margin-bottom:22px;flex-shrink:0}.obit-banner-photo{width:100%;height:100%;border-radius:50%;-o-object-fit:cover;object-fit:cover;display:block}.obit-banner-label{font-size:13px;font-weight:400;letter-spacing:.18em;text-transform:uppercase;color:rgba(255,230,190,.85);margin:0 0 8px;font-family:Georgia,serif}.obit-banner-name{font-family:Georgia,serif;font-size:38px;font-weight:700;color:#fff;margin:0 0 10px;line-height:1.2;text-shadow:0 2px 12px rgba(0,0,0,.45)}.obit-banner-dates{display:flex;align-items:center;justify-content:center;gap:10px;font-size:15px;color:rgba(255,230,190,.8);margin:0 0 20px;font-family:Georgia,serif;font-style:italic}.obit-date-sep{opacity:.6;font-style:normal}.obit-banner-quote{font-family:Georgia,serif;font-size:14.5px;color:rgba(255,240,215,.82);line-height:1.75;font-style:italic;max-width:560px;margin:0 0 18px}.obit-banner-divider{display:flex;align-items:center;gap:10px;color:rgba(212,168,122,.75)}.obit-banner-divider:after,.obit-banner-divider:before{content:"";display:block;width:60px;height:1px;background:linear-gradient(90deg,transparent,rgba(212,168,122,.6))}.obit-banner-divider:after{background:linear-gradient(90deg,rgba(212,168,122,.6),transparent)}.obit-banner-heart{color:#d4a87a}@keyframes banner-shimmer{0%{background-position:-600px 0}to{background-position:600px 0}}.obit-banner-skeleton{width:100%;min-height:300px;background:#1e140a;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;padding:48px 24px}.obit-skeleton-circle{width:130px;height:130px;border-radius:50%;background:linear-gradient(90deg,#2e1e10 25%,#3d2a18 50%,#2e1e10 75%);background-size:600px 100%;animation:banner-shimmer 1.4s ease-in-out infinite}.obit-skeleton-lines{display:flex;flex-direction:column;align-items:center;gap:10px}.obit-skeleton-line{border-radius:6px;background:linear-gradient(90deg,#2e1e10 25%,#3d2a18 50%,#2e1e10 75%);background-size:600px 100%;animation:banner-shimmer 1.4s ease-in-out infinite;height:14px}.obit-skeleton-line.wide{width:280px}.obit-skeleton-line.medium{width:200px}.obit-skeleton-line.narrow{width:140px}@keyframes prod-shimmer{0%{background-position:-700px 0}to{background-position:700px 0}}.product-skeleton-wrapper{max-width:1200px;margin:0 auto;padding:60px 24px}.product-skeleton-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px;background:#fff;border-radius:12px;padding:40px;box-shadow:0 1px 4px rgba(0,0,0,.08)}.product-skeleton-image{width:100%;padding-bottom:90%;border-radius:10px;background:linear-gradient(90deg,#f0ebe5 25%,#e5ddd5 50%,#f0ebe5 75%);background-size:700px 100%;animation:prod-shimmer 1.4s ease-in-out infinite}.product-skeleton-details{display:flex;flex-direction:column;gap:16px;padding-top:8px}.ps-line{border-radius:6px;background:linear-gradient(90deg,#f0ebe5 25%,#e5ddd5 50%,#f0ebe5 75%);background-size:700px 100%;animation:prod-shimmer 1.4s ease-in-out infinite}.ps-title{height:28px;width:75%}.ps-subtitle{height:18px;width:45%}.ps-price{height:36px;width:35%}.ps-btn{height:52px;border-radius:50px;margin-top:8px;background:linear-gradient(90deg,#f0ebe5 25%,#e5ddd5 50%,#f0ebe5 75%);background-size:700px 100%;animation:prod-shimmer 1.4s ease-in-out infinite}.memorial-send-love-btn{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;padding:17px 28px;background:linear-gradient(135deg,#8b3a52,#c0555a);color:#fff;border:none;border-radius:50px;font-size:16px;font-weight:600;font-family:Georgia,serif;letter-spacing:.04em;cursor:pointer;transition:all .25s ease;box-shadow:0 4px 16px rgba(139,58,82,.3)}.memorial-send-love-btn:hover{background:linear-gradient(135deg,#7a2e43,#a8474c);transform:translateY(-2px);box-shadow:0 8px 24px rgba(139,58,82,.42)}.memorial-send-love-btn:disabled{background:#d5c8c2;box-shadow:none;cursor:not-allowed;transform:none}.memorial-send-love-btn:focus{outline:none;box-shadow:0 0 0 3px rgba(139,58,82,.3)}.memorial-hero-section{position:relative;width:100%;height:500px;background-image:url(/images/forest-background.jpg);background-size:cover;background-position:50%;overflow:hidden}.memorial-hero-overlay,.memorial-hero-section{display:flex;align-items:center;justify-content:center}.memorial-hero-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.3)}.memorial-hero-content{text-align:center;color:#fff;z-index:10;padding:20px}.memorial-hero-subtitle{font-size:18px;font-weight:300;margin-bottom:8px;letter-spacing:1px;opacity:.95}.memorial-hero-name{font-size:48px;font-weight:700;margin:0 0 8px;font-family:Georgia,serif}.memorial-hero-dates{font-size:20px;font-weight:400;margin-bottom:32px;opacity:.9}.memorial-profile-image{width:150px;height:150px;margin:0 auto 32px;border-radius:50%;border:4px solid #fff;overflow:hidden;box-shadow:0 8px 24px rgba(0,0,0,.3)}.profile-img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.memorial-hero-title{font-size:36px;font-weight:600;margin:0;font-family:Georgia,serif;text-shadow:0 2px 8px rgba(0,0,0,.3)}.memorial-content-wrapper{max-width:1200px;margin:0 auto;padding:60px 24px}.memorial-product-grid{display:grid;grid-template-columns:1fr;gap:60px;background:#fff;border-radius:8px;padding:40px;box-shadow:0 1px 3px rgba(0,0,0,.1)}@media(min-width:1024px){.memorial-product-grid{grid-template-columns:1fr 1fr}}.memorial-image-section{display:flex;flex-direction:column;align-items:center}.memorial-tree-image{width:100%;max-width:400px;height:auto;border-radius:8px;margin-bottom:32px}.partnership-badge{text-align:center;margin-top:24px}.partnership-label{font-size:14px;color:#6b7280;font-weight:500;margin-bottom:12px}.partnership-logo-wrapper{display:flex;justify-content:center;margin-bottom:12px}.partnership-logo-circle{width:64px;height:64px;background:linear-gradient(135deg,#8b3a52,#c0555a);border-radius:50%;display:flex;align-items:center;justify-content:center}.tree-logo-icon{width:40px;height:40px;color:#fff}.partnership-name{font-size:14px;font-weight:600;color:#1f2937;margin:0}.to-word{font-style:italic;font-weight:400}.memorial-details-section{display:flex;flex-direction:column;gap:24px}.memorial-product-header{border-bottom:1px solid #e5e7eb;padding-bottom:16px}.memorial-product-title{font-size:24px;font-weight:600;color:#1f2937;margin:0 0 12px;font-family:Georgia,serif}.memorial-pricing{display:flex;align-items:center;gap:12px}.price-strikethrough{font-size:20px;color:#9ca3af;text-decoration:line-through}.price-current{font-size:28px;font-weight:700;color:#8b3a52}.memorial-highlights-list{list-style:none;padding:0;margin:0}.memorial-highlight-item{font-size:15px;color:#4b5563;line-height:1.8;margin-bottom:8px}.memorial-variants-section{margin:16px 0}.memorial-variants-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.memorial-variant-btn{padding:12px 16px;border:2px solid #c0555a;border-radius:8px;background:#fff;color:#8b3a52;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease;text-align:center}.memorial-variant-btn:hover{background:#fdf2f4;border-color:#8b3a52}.memorial-variant-btn.active{background:linear-gradient(135deg,#8b3a52,#c0555a);border-color:transparent;color:#fff;box-shadow:0 3px 10px rgba(139,58,82,.3)}.memorial-checkout-btn{width:100%;padding:16px 24px;background:#0d9488;color:#fff;border:none;border-radius:6px;font-size:16px;font-weight:600;letter-spacing:.5px;cursor:pointer;transition:background .2s ease;text-transform:uppercase}.memorial-checkout-btn:hover{background:#0f766e}.memorial-checkout-btn:disabled{background:#cbd5e1;cursor:not-allowed}.memorial-faq-section{max-width:1200px;margin:0 auto 60px;padding:60px 24px;background:#fff;border-radius:8px;box-shadow:0 1px 3px rgba(0,0,0,.1)}.faq-title{font-size:32px;font-weight:600;color:#1f2937;text-align:center;margin:0 0 40px;font-family:Georgia,serif}.faq-list{max-width:800px;margin:0 auto}.faq-item{border-bottom:1px solid #e5e7eb;padding:20px 0}.faq-item:last-child{border-bottom:none}.faq-question-btn{width:100%;display:flex;justify-content:space-between;align-items:center;background:none;border:none;padding:0;text-align:left;cursor:pointer;gap:16px}.faq-question-text{font-size:16px;font-weight:500;color:#1f2937;flex:1}.faq-icon{width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:#f3f4f6;color:#6b7280;font-size:24px;flex-shrink:0}.faq-answer{margin-top:16px;padding:16px 20px;background:#f9fafb;border-radius:8px;animation:fadeIn .3s ease}.faq-answer p{font-size:15px;color:#4b5563;line-height:1.7;margin:0}.sympathy-cta-section{max-width:800px;margin:0 auto 80px;padding:48px 24px;text-align:center;background:#fff;border-radius:8px;box-shadow:0 1px 3px rgba(0,0,0,.1)}.sympathy-cta-title{font-size:24px;font-weight:600;color:#1f2937;margin:0 0 12px;font-family:Georgia,serif}.sympathy-cta-subtitle{font-size:16px;color:#6b7280;margin:0 0 28px}.sympathy-cta-btn{display:inline-block;padding:14px 32px;background:#fff;border:2px solid #0d9488;color:#0d9488;border-radius:50px;font-size:15px;font-weight:600;text-decoration:none;transition:all .2s ease}.sympathy-cta-btn:hover{background:#0d9488;color:#fff;transform:translateY(-2px);box-shadow:0 4px 12px rgba(13,148,136,.3)}@media(max-width:1024px){.obit-banner-name{font-size:30px}.memorial-product-grid{padding:32px}.memorial-variants-grid{grid-template-columns:repeat(2,1fr)}.product-skeleton-grid{grid-template-columns:1fr;gap:28px}}@media(max-width:640px){.obit-banner-photo-ring{width:100px;height:100px}.obit-banner-name{font-size:26px}.obit-banner-quote{font-size:13px}.memorial-content-wrapper{padding:40px 16px}.memorial-product-grid{padding:24px;gap:32px}.memorial-variants-grid{grid-template-columns:1fr}.memorial-variant-btn{padding:14px 20px}.faq-title{font-size:26px}.sympathy-cta-title{font-size:20px}.product-skeleton-grid{grid-template-columns:1fr;gap:20px;padding:24px}}@media print{.memorial-checkout-btn,.memorial-hero-section,.sympathy-cta-section{display:none}.memorial-product-grid{box-shadow:none}}.faq-question-btn:focus,.memorial-checkout-btn:focus,.memorial-variant-btn:focus,.sympathy-cta-btn:focus{outline:2px solid #0d9488;outline-offset:2px}@media(prefers-contrast:high){.memorial-variant-btn{border-width:3px}.faq-icon{background:#374151;color:#fff}}@media(prefers-reduced-motion:reduce){.faq-answer,.sympathy-cta-btn{animation:none;transition:none}.sympathy-cta-btn:hover{transform:none}}.order-success-page{min-height:100vh;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;align-items:center;padding:40px 0}.success-card{background:#fff;border-radius:16px;padding:60px 40px;text-align:center;box-shadow:0 20px 60px rgba(0,0,0,.3);animation:slideUp .5s ease-out}@keyframes slideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.success-icon{margin-bottom:30px;animation:scaleIn .5s ease-out .2s both}@keyframes scaleIn{0%{transform:scale(0)}to{transform:scale(1)}}.success-icon svg{color:#28a745;filter:drop-shadow(0 4px 8px rgba(40,167,69,.3))}.success-title{font-size:32px;font-weight:700;color:#212529;margin-bottom:15px;animation:fadeIn .5s ease-out .3s both}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.success-message{font-size:16px;color:#6c757d;margin-bottom:30px;line-height:1.6;animation:fadeIn .5s ease-out .4s both}.order-details{background:#f8f9fa;border-radius:8px;padding:20px;margin:30px 0;animation:fadeIn .5s ease-out .5s both}.detail-item{display:flex;justify-content:space-between;align-items:center;padding:10px 0}.detail-label{font-weight:500;color:#6c757d;font-size:14px}.detail-value{font-weight:600;color:#212529;font-size:14px}.info-box{background:#e7f3ff;border-left:4px solid #0570de;border-radius:4px;padding:20px;margin:30px 0;text-align:left;animation:fadeIn .5s ease-out .6s both}.info-box h5{font-size:16px;font-weight:600;color:#0570de;margin-bottom:15px}.info-box ul{list-style:none;padding:0;margin:0}.info-box li{color:#495057;font-size:14px;position:relative;padding:8px 0 8px 25px}.info-box li:before{content:"✓";position:absolute;left:0;color:#28a745;font-weight:700}.action-buttons{margin:40px 0 30px;display:flex;gap:15px;justify-content:center;flex-wrap:wrap;animation:fadeIn .5s ease-out .7s both}.action-buttons button{padding:12px 30px;font-size:16px;font-weight:600;border-radius:6px;transition:all .2s ease;border:none;cursor:pointer}.action-buttons button:hover{transform:translateY(-2px);box-shadow:0 4px 12px rgba(0,0,0,.2)}.support-text{margin-top:20px;animation:fadeIn .5s ease-out .8s both}.support-text p{font-size:14px;color:#6c757d;margin:0}.support-text a{color:#0570de;text-decoration:none;font-weight:600;transition:color .2s ease}.support-text a:hover{color:#0458b3;text-decoration:underline}@media(max-width:768px){.success-card{padding:40px 20px}.success-title{font-size:24px}.success-message{font-size:14px}.action-buttons{flex-direction:column}.action-buttons button{width:100%}.detail-item{flex-direction:column;align-items:flex-start;gap:5px}}@media(max-width:576px){.order-success-page{padding:20px 0}.success-card{padding:30px 15px}.success-icon svg{width:60px;height:60px}.success-title{font-size:20px}.info-box{padding:15px}}.add-product-form{max-width:900px;margin:0 auto;padding:24px;background:#fff}.form-title{font-size:24px;font-weight:700;margin-bottom:20px}.input{width:100%;padding:10px 12px;border-radius:8px;border:1px solid #d1d5db;font-size:14px}.input:focus{outline:none;border-color:#0f766e}.grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.section{margin-top:24px}.variant-box{border:1px solid #e5e7eb;padding:16px;border-radius:14px;margin-bottom:14px;background:#f9fafb}.btn-primary{background:#0f766e;padding:12px;border-radius:10px;font-weight:600;border:none;cursor:pointer}.btn-primary:hover{background:#115e59}.btn-secondary{background:transparent;border:1px dashed #0f766e;color:#0f766e;padding:8px 12px;border-radius:8px;cursor:pointer;font-size:14px}.btn-secondary:hover{background:#ecfeff}.checkbox-row{gap:24px;margin-top:10px}.checkbox-row label{display:flex;gap:8px;align-items:center}.order-summary-container{position:sticky;top:20px}.order-summary-card{background:#fff;border-radius:12px;padding:24px;box-shadow:0 4px 20px rgba(0,0,0,.08);border:1px solid #edf2f7}.summary-title{font-size:18px;font-weight:700;color:#1a202c;margin-bottom:20px;border-bottom:1px solid #edf2f7;padding-bottom:12px}.items-list{max-height:400px;overflow-y:auto;margin-bottom:20px}.summary-item{display:flex;align-items:flex-start;padding:12px 0;border-bottom:1px solid #f7fafc}.item-image-wrapper{flex-shrink:0;margin-right:12px}.item-image{width:50px;height:50px;-o-object-fit:cover;object-fit:cover;border-radius:8px;background:#f7fafc}.item-info{flex-grow:1}.item-name{font-size:14px;font-weight:600;color:#2d3748;margin:0;line-height:1.4}.item-quantity{font-size:12px;color:#718096;margin:2px 0}.remove-item-btn{background:none;border:none;color:#e53e3e;font-size:11px;font-weight:600;padding:0;cursor:pointer;text-transform:uppercase;transition:color .2s}.remove-item-btn:hover{color:#c53030;text-decoration:underline}.item-price-total{font-weight:600;color:#1a202c;font-size:14px}.cost-breakdown{background:#f8fafc;padding:16px;border-radius:8px}.cost-row{display:flex;justify-content:space-between;margin-bottom:8px;font-size:14px;color:#4a5568}.free-text{color:#38a169;font-weight:700}.total-divider{height:1px;background:#e2e8f0;margin:12px 0}.grand-total{font-size:18px;font-weight:800;color:#1a202c;margin-bottom:0}.trust-footer{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:20px;font-size:13px;color:#3182ce;font-weight:600}.extra-small{font-size:11px}.obituary-list-container{max-width:1400px;margin:0 auto;padding:20px}.list-header{border-radius:4px;box-shadow:0 1px 3px rgba(0,0,0,.1)}.header-content h1{color:#333}.btn-add{padding:12px 24px;background:#4caf50;border-radius:4px;font-weight:500;transition:background .3s}.btn-add:hover{background:#45a049}.list-content{border-radius:4px;box-shadow:0 1px 3px rgba(0,0,0,.1)}.obituary-table{width:100%;border-collapse:collapse}.obituary-table thead{background:#f8f9fa}.obituary-table th{padding:15px 20px;text-align:left;font-size:13px;font-weight:600;color:#666;text-transform:uppercase;letter-spacing:.5px;border-bottom:2px solid #e0e0e0}.obituary-table tbody tr{border-bottom:1px solid #e0e0e0;transition:background .2s}.obituary-table tbody tr:hover{background:#f8f9fa}.obituary-table td{padding:15px 20px;font-size:14px;color:#333}.name-cell{font-weight:500}.name-cell strong{margin-bottom:3px}.maiden-name{font-size:12px;color:#666;font-weight:400;font-style:italic;display:block}.status-badge{display:inline-block;padding:4px 12px;border-radius:12px}.status-badge.published{background:#e8f5e9;color:#2e7d32}.status-badge.draft{background:#fff3e0;color:#f57c00}.btn-action{padding:6px 12px;border-radius:4px;font-weight:500;margin-right:5px;transition:all .2s}.btn-edit{background:#2196f3}.btn-edit:hover{background:#1976d2}.btn-delete{background:#f44336}.btn-delete:hover{background:#d32f2f}.loading-state{padding:60px 20px}.loading-state p{color:#666}.empty-state{padding:60px 20px}.empty-icon{font-size:64px;opacity:.3}.empty-state h3{font-size:20px;color:#333}.empty-state p{color:#666}.btn-add-large{padding:14px 28px;background:#4caf50;border-radius:4px;font-weight:500;transition:background .3s}.btn-add-large:hover{background:#45a049}.list-footer{padding:15px 30px;border-radius:4px;box-shadow:0 1px 3px rgba(0,0,0,.1)}.list-footer p{color:#666;font-weight:500}@media(max-width:768px){.list-header{flex-direction:column;text-align:center;gap:15px}.btn-add{width:100%}.obituary-table td,.obituary-table th{padding:10px 15px}}.obituary-form-container{max-width:900px;margin:0 auto;padding:20px}.form-header{background:#fff;padding:25px 30px;border-radius:4px 4px 0 0;border-bottom:1px solid #e0e0e0;display:flex;justify-content:space-between;align-items:center}.form-header h1{font-size:24px;font-weight:600;color:#333}.publish-status{display:flex;align-items:center;gap:8px}.publish-status input[type=checkbox]{width:18px;height:18px;cursor:pointer}.publish-status label{font-size:13px;color:#666;cursor:pointer}.obituary-form{background:#fff;padding:0 30px 30px;border-radius:0 0 4px 4px}.form-section{padding:25px 0;border-bottom:1px solid #e0e0e0}.section-title{font-size:16px;font-weight:600;color:#333;margin-bottom:15px}.form-row{grid-template-columns:repeat(4,1fr);margin-bottom:15px}.form-field label{color:#333;margin-bottom:6px}.form-field input[type=date],.form-field input[type=text],.form-field select,.form-field textarea{width:100%;padding:8px 12px;border:1px solid #ccc;border-radius:3px;font-size:13px;font-family:inherit;transition:border-color .2s}.form-field input:focus,.form-field select:focus,.form-field textarea:focus{border-color:#2196f3}.form-field input::-moz-placeholder,.form-field textarea::-moz-placeholder{color:#999}.form-field input:-ms-input-placeholder,.form-field textarea:-ms-input-placeholder{color:#999}.form-field input::placeholder,.form-field textarea::placeholder{color:#999}.form-field textarea{line-height:1.5}.field-note{font-size:11px;color:#666;font-style:italic;margin-top:4px;line-height:1.4}.checkbox-wrapper{display:flex;align-items:center;gap:6px;margin-top:6px}.checkbox-wrapper input[type=checkbox]{width:16px;height:16px;cursor:pointer}.checkbox-wrapper label{font-size:12px;color:#666;cursor:pointer;margin:0;font-weight:400}.checkbox-row{gap:20px}.checkbox-label{gap:6px;font-size:13px;color:#333}.checkbox-label input[type=checkbox]{width:16px;height:16px}.radio-group{display:flex;flex-direction:column;gap:10px}.radio-group.inline{flex-direction:row;gap:20px}.radio-label{display:flex;align-items:center;gap:6px;font-size:13px;color:#333;cursor:pointer}.radio-label input[type=radio]{width:16px;height:16px;cursor:pointer}.file-upload-row{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;margin-top:15px}.file-upload-field{display:flex;flex-direction:column}.file-upload-field label{font-size:13px;font-weight:600;color:#333;margin-bottom:6px}.file-input-wrapper{position:relative}.file-input-wrapper input[type=file]{display:none}.file-label{display:block;padding:8px 12px;background:#ff9800;color:#fff;border-radius:3px;font-size:13px;font-weight:500;text-align:center;cursor:pointer;transition:background .2s;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.file-label:hover{background:#f57c00}.form-actions{gap:10px;padding-top:25px;margin-top:25px;border-top:1px solid #e0e0e0}.btn-cancel,.btn-save{padding:12px 32px;border-radius:4px;font-size:14px;font-weight:500;transition:all .2s}.btn-cancel{background:#f5f5f5;color:#666}.btn-cancel:hover{background:#e0e0e0}.btn-save{background:#4caf50}.btn-save:hover{background:#45a049}@media(max-width:768px){.obituary-form-container{padding:10px}.form-header{flex-direction:column;text-align:center;gap:15px}.obituary-form{padding:0 20px 20px}.file-upload-row,.form-row{grid-template-columns:1fr}.checkbox-row,.radio-group.inline{flex-direction:column;gap:10px}.form-actions{flex-direction:column-reverse}.btn-cancel,.btn-save{width:100%}}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;color:#333}.dashboard,body{background:#f5f5f5}.dashboard{min-height:100vh;padding-top:2rem}.toast{position:fixed;bottom:20px;right:20px;padding:15px 25px;border-radius:4px;box-shadow:0 4px 12px rgba(0,0,0,.15);z-index:10000;animation:slideIn .3s ease;font-weight:500}.toast-success{background:#4caf50;color:#fff}.toast-error{background:#f44336;color:#fff}.product-list-container{max-width:1400px;margin:0 auto;padding:20px}.list-header{background:#fff;padding:30px;border-radius:12px;margin-bottom:20px;display:flex;justify-content:space-between;align-items:center;box-shadow:0 2px 8px rgba(0,0,0,.08)}.header-content h1{font-size:20px;color:#1a1a1a;margin-bottom:2px}.header-content p{font-size:14px;color:#666;font-weight:400}.btn-add{padding:12px 28px;background:linear-gradient(135deg,#4caf50,#45a049);color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 12px rgba(76,175,80,.3)}.btn-add:hover{transform:translateY(-2px);box-shadow:0 6px 16px rgba(76,175,80,.4)}.btn-add:active{transform:translateY(0)}.list-content{background:#fff;border-radius:12px;box-shadow:0 2px 8px rgba(0,0,0,.08);overflow:hidden}.table-wrapper{overflow-x:auto}.product-table{width:100%;border-collapse:collapse;background:#fff}.product-table thead{background:linear-gradient(135deg,#f8f9fa,#e9ecef)}.product-table th{padding:16px 20px;text-align:left;font-size:12px;font-weight:700;color:#495057;text-transform:uppercase;letter-spacing:.5px;border-bottom:2px solid #dee2e6;white-space:nowrap}.product-table tbody tr{border-bottom:1px solid #f1f3f5;transition:all .2s ease}.product-table tbody tr:hover{background:#f8f9fa;transform:scale(1.002)}.product-table tbody tr:last-child{border-bottom:none}.product-table td{padding:16px 20px;font-size:14px;color:#212529;vertical-align:middle}.image-cell{width:80px}.product-thumbnail{width:60px;height:60px;-o-object-fit:cover;object-fit:cover;border-radius:8px;border:2px solid #f1f3f5;box-shadow:0 2px 4px rgba(0,0,0,.1);transition:all .3s ease}.product-thumbnail:hover{transform:scale(1.1);box-shadow:0 4px 12px rgba(0,0,0,.15)}.no-image{width:60px;height:60px;background:linear-gradient(135deg,#f1f3f5,#e9ecef);border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:10px;color:#adb5bd;font-weight:600;text-align:center;border:2px dashed #dee2e6}.name-cell strong{display:block;margin-bottom:4px;font-weight:600;color:#212529;font-size:14px}.brand-name{font-size:12px;color:#6c757d;font-weight:400;font-style:italic;display:block}.type-badge{display:inline-flex;align-items:center;padding:6px 12px;border-radius:20px;font-size:12px;font-weight:600;letter-spacing:.3px}.badge-tree{background:linear-gradient(135deg,#d4edda,#c3e6cb);color:#155724;border:1px solid #c3e6cb}.badge-flower{background:linear-gradient(135deg,#f8d7da,#f5c6cb);color:#721c24;border:1px solid #f5c6cb}.badge-gift{background:linear-gradient(135deg,#d1ecf1,#bee5eb);color:#0c5460;border:1px solid #bee5eb}.badge-default{background:linear-gradient(135deg,#e2e3e5,#d6d8db);color:#383d41;border:1px solid #d6d8db}.price-cell{font-weight:700;color:#28a745;font-size:15px}.center{text-align:center}.status-badge{display:inline-flex;align-items:center;padding:6px 12px;border-radius:20px;font-size:12px;font-weight:600;letter-spacing:.3px}.status-badge.active{background:linear-gradient(135deg,#d4edda,#c3e6cb);color:#155724;border:1px solid #c3e6cb}.status-badge.active:before{content:"●";margin-right:6px;color:#28a745}.status-badge.inactive{background:linear-gradient(135deg,#f8d7da,#f5c6cb);color:#721c24;border:1px solid #f5c6cb}.status-badge.inactive:before{content:"●";margin-right:6px;color:#dc3545}.action-cell{white-space:nowrap}.btn-action{padding:8px 16px;border:none;border-radius:6px;font-size:13px;font-weight:600;cursor:pointer;margin-right:8px;transition:all .2s ease;display:inline-flex;align-items:center;gap:6px}.btn-edit{background:linear-gradient(135deg,#2196f3,#1976d2);color:#fff;box-shadow:0 2px 8px rgba(33,150,243,.3)}.btn-edit:hover{transform:translateY(-2px);box-shadow:0 4px 12px rgba(33,150,243,.4)}.btn-delete{background:linear-gradient(135deg,#f44336,#d32f2f);color:#fff;box-shadow:0 2px 8px rgba(244,67,54,.3)}.btn-delete:hover{transform:translateY(-2px);box-shadow:0 4px 12px rgba(244,67,54,.4)}.btn-action:active{transform:translateY(0)}.loading-state{text-align:center;padding:80px 20px}.spinner{border:4px solid #f3f3f3;border-top-color:#4caf50;width:50px;height:50px;animation:spin 1s linear infinite;margin:0 auto 20px}.loading-state p{color:#6c757d;font-size:14px;font-weight:500}.empty-state{padding:80px 20px}.empty-icon{font-size:72px;margin-bottom:20px;opacity:.4;filter:grayscale(100%)}.empty-state h3{font-size:22px;color:#212529;margin-bottom:10px;font-weight:600}.empty-state p{color:#6c757d;margin-bottom:30px;font-size:14px}.btn-add-large{padding:16px 32px;background:linear-gradient(135deg,#4caf50,#45a049);color:#fff;border:none;border-radius:8px;font-size:15px;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 12px rgba(76,175,80,.3)}.btn-add-large:hover{transform:translateY(-2px);box-shadow:0 6px 16px rgba(76,175,80,.4)}.list-footer{background:#fff;padding:20px 30px;border-radius:12px;margin-top:20px;box-shadow:0 2px 8px rgba(0,0,0,.08);text-align:right}.list-footer p{font-size:14px;color:#6c757d;font-weight:600}@media(max-width:1200px){.product-table td,.product-table th{padding:12px 15px;font-size:13px}}@media(max-width:768px){.product-list-container{padding:15px}.list-header{flex-direction:column;text-align:center;gap:15px;padding:20px}.btn-add{width:100%}.product-table td,.product-table th{padding:10px 12px;font-size:12px}.no-image,.product-thumbnail{width:50px;height:50px}.btn-action{padding:6px 12px;font-size:12px}.empty-icon{font-size:56px}.empty-state h3{font-size:18px}}@media(max-width:480px){.header-content h1{font-size:16px}.table-wrapper{overflow-x:scroll}.product-table{min-width:800px}}.product-form-container{max-width:1000px;margin:0 auto;padding:20px}.form-header{background:linear-gradient(135deg,#fff,#f8f9fa);padding:30px;border-radius:12px 12px 0 0;border-bottom:3px solid #e9ecef;box-shadow:0 2px 4px rgba(0,0,0,.05)}.form-header h1{font-size:28px;font-weight:700;color:#212529;margin:0}.product-form{background:#fff;padding:0 30px 30px;border-radius:0 0 12px 12px;box-shadow:0 4px 12px rgba(0,0,0,.08)}.form-section{padding:30px 0;border-bottom:2px solid #f1f3f5}.form-section:last-of-type{border-bottom:none}.section-title{font-size:18px;color:#212529;padding-bottom:10px;border-bottom:2px solid #4caf50;display:inline-block}.form-row,.section-header,.section-title{margin-bottom:20px}.form-row{grid-template-columns:repeat(3,1fr);gap:20px}.form-field{display:flex;flex-direction:column}.form-field.full-width{grid-column:1/-1}.form-field label{font-size:13px;font-weight:600;color:#495057;margin-bottom:8px;display:block}.form-field input[type=number],.form-field input[type=text],.form-field select,.form-field textarea{width:100%;padding:10px 14px;border:2px solid #dee2e6;border-radius:8px;font-size:14px;font-family:inherit;transition:all .3s ease;background:#fff}.form-field input:focus,.form-field select:focus,.form-field textarea:focus{outline:none;border-color:#4caf50;box-shadow:0 0 0 3px rgba(76,175,80,.1)}.form-field input::-moz-placeholder,.form-field textarea::-moz-placeholder{color:#adb5bd;font-style:italic}.form-field input:-ms-input-placeholder,.form-field textarea:-ms-input-placeholder{color:#adb5bd;font-style:italic}.form-field input::placeholder,.form-field textarea::placeholder{color:#adb5bd;font-style:italic}.form-field textarea{resize:vertical;line-height:1.6;min-height:100px}.form-field select{cursor:pointer}.checkbox-row{display:flex;gap:30px;flex-wrap:wrap}.checkbox-label{display:flex;align-items:center;gap:8px;font-size:14px;color:#495057;cursor:pointer;font-weight:500;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.checkbox-label input[type=checkbox]{width:18px;height:18px;cursor:pointer;accent-color:#4caf50}.btn-add-small{padding:8px 16px;background:linear-gradient(135deg,#2196f3,#1976d2);color:#fff;border:none;border-radius:6px;font-size:13px;font-weight:600;cursor:pointer;transition:all .2s ease;box-shadow:0 2px 6px rgba(33,150,243,.3)}.btn-add-small:hover{transform:translateY(-2px);box-shadow:0 4px 10px rgba(33,150,243,.4)}.btn-remove{padding:8px 12px;background:linear-gradient(135deg,#f44336,#d32f2f);color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:13px;font-weight:600;transition:all .2s ease;box-shadow:0 2px 6px rgba(244,67,54,.3)}.btn-remove:hover{transform:translateY(-2px);box-shadow:0 4px 10px rgba(244,67,54,.4)}.highlight-row{display:flex;gap:10px;margin-bottom:12px}.highlight-row input{flex:1}.variant-card{border:2px solid #e9ecef;border-radius:12px;padding:20px;margin-bottom:20px;background:linear-gradient(135deg,#fff,#f8f9fa);transition:all .3s ease}.variant-card:hover{border-color:#4caf50;box-shadow:0 4px 12px rgba(0,0,0,.08)}.variant-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;padding-bottom:12px;border-bottom:2px solid #e9ecef}.variant-header h4{font-size:16px;font-weight:600;color:#212529;margin:0}.variant-actions{display:flex;align-items:center;gap:15px}.variant-fields{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.existing-images,.new-images-preview{margin-bottom:20px}.existing-images h4,.new-images-preview h4{font-size:14px;font-weight:600;color:#495057;margin-bottom:12px}.image-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:15px;margin-top:15px}.image-item{position:relative;aspect-ratio:1;border-radius:8px;overflow:hidden;border:2px solid #e9ecef;transition:all .3s ease}.image-item:hover{border-color:#4caf50;box-shadow:0 4px 12px rgba(0,0,0,.1);transform:scale(1.02)}.image-item img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;display:block}.btn-remove-image{position:absolute;top:8px;right:8px;background:rgba(244,67,54,.95);color:#fff;border:none;border-radius:50%;width:28px;height:28px;cursor:pointer;font-size:16px;font-weight:700;display:flex;align-items:center;justify-content:center;transition:all .2s ease;box-shadow:0 2px 6px rgba(0,0,0,.2)}.btn-remove-image:hover{background:#d32f2f;transform:scale(1.1)}.form-field input[type=file]{padding:10px;border:2px dashed #dee2e6;border-radius:8px;cursor:pointer;transition:all .3s ease}.form-field input[type=file]:hover{border-color:#4caf50;background:rgba(76,175,80,.05)}.new-images-preview p{color:#4caf50;font-weight:600;font-size:14px;margin-bottom:10px}.form-actions{display:flex;justify-content:flex-end;gap:15px;padding-top:30px;margin-top:30px;border-top:2px solid #e9ecef}.btn-cancel,.btn-save{padding:14px 36px;border:none;border-radius:8px;font-size:15px;font-weight:600;cursor:pointer;transition:all .3s ease}.btn-cancel{background:linear-gradient(135deg,#f8f9fa,#e9ecef);color:#495057;border:2px solid #dee2e6}.btn-cancel:hover{background:linear-gradient(135deg,#e9ecef,#dee2e6);transform:translateY(-2px);box-shadow:0 4px 10px rgba(0,0,0,.1)}.btn-save{background:linear-gradient(135deg,#4caf50,#45a049);color:#fff;box-shadow:0 4px 12px rgba(76,175,80,.3)}.btn-save:hover{transform:translateY(-2px);box-shadow:0 6px 16px rgba(76,175,80,.4)}.btn-cancel:disabled,.btn-save:disabled{opacity:.6;cursor:not-allowed;transform:none}@media(max-width:992px){.form-row,.variant-fields{grid-template-columns:repeat(2,1fr)}}@media(max-width:768px){.product-form-container{padding:15px}.form-header{padding:20px}.form-header h1{font-size:22px}.product-form{padding:0 20px 20px}.form-section{padding:20px 0}.form-row,.variant-fields{grid-template-columns:1fr}.checkbox-row{flex-direction:column;gap:15px}.image-grid{grid-template-columns:repeat(2,1fr)}.section-header{flex-direction:column;align-items:flex-start;gap:15px}.btn-add-small{width:100%}.variant-header{flex-direction:column;align-items:flex-start;gap:10px}.variant-actions{width:100%;justify-content:space-between}.form-actions{flex-direction:column-reverse}.btn-cancel,.btn-save{width:100%}}@media(max-width:480px){.image-grid{grid-template-columns:1fr}.form-header h1{font-size:20px}.section-title{font-size:16px}}.send-flowers-page{min-height:100vh;background-color:#f8f9fa}.hero-section{background:linear-gradient(135deg,#2c5f4f,#1a3a2e);color:#fff;border-bottom:4px solid #8b6f47}.hero-title{font-family:Playfair Display,Georgia,serif;font-size:3rem;font-weight:700;margin-bottom:20px;letter-spacing:1px}.hero-subtitle{font-size:1.2rem;font-weight:300;opacity:.95;margin:0}.instructions-section{padding:50px 0;background-color:#fff;margin-bottom:40px}.instructions-box{background-color:#f8f9fa;border:1px solid #ddd;border-radius:8px;padding:30px;box-shadow:0 2px 8px rgba(0,0,0,.05)}.instructions-intro{font-size:1rem;line-height:1.6;color:#333;margin-bottom:25px;text-align:center}.instructions-list{list-style:none;padding:0;margin:0}.instructions-list li{position:relative;padding-left:30px;margin-bottom:15px;font-size:.95rem;line-height:1.6;color:#444}.instructions-list li:before{content:"•";position:absolute;left:10px;color:#2c5f4f;font-size:1.5rem;line-height:1;top:-2px}.services-section{padding:20px 0 0}.section-title{font-family:Playfair Display,Georgia,serif;font-size:2rem;font-weight:700;color:#2c3e50;margin-bottom:10px}.section-subtitle{font-size:1rem;color:#666;margin-bottom:30px}.search-wrapper{max-width:500px}.search-input{padding:12px 45px 12px 20px;border:2px solid #ddd;border-radius:25px}.search-input:focus{border-color:#2c5f4f;box-shadow:0 0 0 .2rem rgba(44,95,79,.15)}.search-icon{right:20px;top:50%;transform:translateY(-50%);color:#666;cursor:pointer;transition:color .3s ease}.search-icon:hover{color:#2c5f4f}.services-list{background-color:#fff;border-radius:8px;overflow:hidden;box-shadow:0 2px 8px rgba(0,0,0,.08)}.service-card{padding:20px;border-bottom:1px solid #e9ecef;transition:background-color .2s ease}.service-card:last-child{border-bottom:none}.service-card:hover{background-color:#f8f9fa}.service-image-wrapper{width:100%;max-width:120px;aspect-ratio:1;overflow:hidden;border-radius:4px;border:2px solid #e9ecef}.service-image{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;display:block}.service-details{padding:0 20px}.service-name{font-family:Playfair Display,Georgia,serif;font-size:1.3rem;font-weight:700;color:#2c3e50;margin-bottom:8px;line-height:1.3}.service-type{font-size:.9rem;color:#666;margin-bottom:4px;text-transform:uppercase;letter-spacing:.5px;font-weight:600}.service-date,.service-time{font-size:.95rem;color:#555;margin-bottom:4px}.service-unavailable{font-size:.9rem;color:#999;font-style:italic;margin-bottom:0}.service-actions{display:flex;flex-direction:column;align-items:flex-end;gap:10px;padding:0 15px}.service-location{font-size:.9rem;color:#666;font-weight:500;text-align:right}.send-flowers-btn{background-color:#2c5f4f;border:2px solid #2c5f4f;border-radius:25px;padding:10px 28px;font-size:.9rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:#fff;transition:all .3s ease;white-space:nowrap;box-shadow:0 2px 4px rgba(44,95,79,.2)}.send-flowers-btn:hover{background-color:#1a3a2e;border-color:#1a3a2e;box-shadow:0 4px 8px rgba(44,95,79,.3);transform:translateY(-1px)}.send-flowers-btn:active{transform:translateY(0);box-shadow:0 2px 4px rgba(44,95,79,.2)}.pagination-wrapper{display:flex;align-items:center;justify-content:center;gap:20px;margin-top:30px}.pagination-btn{color:#2c5f4f;text-decoration:none;font-weight:600;padding:8px 16px;transition:color .3s ease}.pagination-btn:hover:not(:disabled){color:#1a3a2e;text-decoration:underline}.pagination-btn:disabled{color:#ccc;cursor:not-allowed}.pagination-info{font-size:.95rem;color:#666}@media(max-width:991px){.hero-title{font-size:2.5rem}.service-name{font-size:1.2rem}.service-actions{align-items:center;margin-top:15px}.service-location{text-align:center}}@media(max-width:767px){.hero-title{font-size:2rem}.hero-subtitle{font-size:1rem}.instructions-section{padding:30px 0}.instructions-box{padding:20px}.section-title{font-size:1.6rem}.service-card{padding:15px}.service-details{padding:15px 0 0}.service-image-wrapper{max-width:100px}.service-name{font-size:1.1rem}.service-date,.service-time,.service-type{font-size:.85rem}.service-actions{width:100%;flex-direction:row;justify-content:space-between;align-items:center;margin-top:15px;padding:0}.service-location{text-align:left;flex:1}.send-flowers-btn{padding:8px 20px;font-size:.85rem}.search-wrapper{max-width:100%}.pagination-wrapper{gap:10px}.pagination-btn{padding:6px 12px;font-size:.9rem}.pagination-info{font-size:.85rem}}@media(max-width:480px){.hero-title{font-size:1.75rem}.hero-subtitle{font-size:.95rem}.section-title{font-size:1.4rem}.instructions-intro{font-size:.95rem}.instructions-list li{font-size:.9rem}.service-image-wrapper{max-width:80px}.service-name{font-size:1rem}.service-actions{flex-direction:column;align-items:flex-start;gap:8px}.send-flowers-btn{width:100%;text-align:center}}.text-center{text-align:center}.py-5{padding-top:3rem!important;padding-bottom:3rem!important}.mt-3{margin-top:1rem!important}.mt-4{margin-top:1.5rem!important}.mb-4{margin-bottom:1.5rem!important}.homepage-settings{padding:20px;max-width:1400px;margin:0 auto}.admin-page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px;padding-bottom:20px;border-bottom:2px solid #e5e7eb}.admin-page-header h1{font-size:28px;font-weight:700;color:#1f2937;margin:0}.alert{padding:15px 20px;border-radius:8px;margin-bottom:20px;font-size:14px;animation:slideIn .3s ease}.alert-success{background-color:#d1fae5;color:#065f46;border-left:4px solid #10b981}.alert-error{background-color:#fee2e2;color:#991b1b;border-left:4px solid #ef4444}@keyframes slideIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.settings-tabs{display:flex;gap:8px;margin-bottom:30px;border-bottom:2px solid #e5e7eb;overflow-x:auto;padding-bottom:2px}.tab-btn{padding:12px 24px;background:none;border:none;border-bottom:3px solid transparent;color:#6b7280;font-weight:600;font-size:14px;cursor:pointer;transition:all .3s ease;white-space:nowrap}.tab-btn:hover{color:#1f2937;background-color:#f9fafb}.tab-btn.active{color:#2563eb;border-bottom-color:#2563eb;background-color:#eff6ff}.settings-content{margin-bottom:30px}.admin-card{background:#fff;border-radius:12px;padding:30px;box-shadow:0 1px 3px rgba(0,0,0,.1);margin-bottom:20px}.admin-card h2{font-size:22px;font-weight:700;color:#1f2937;margin-bottom:25px;padding-bottom:15px;border-bottom:2px solid #e5e7eb}.admin-card h3{font-size:16px;font-weight:600;color:#374151;margin-bottom:15px}.form-section{margin-bottom:35px;padding-bottom:25px;border-bottom:1px solid #e5e7eb}.form-section:last-child{border-bottom:none}.form-section h3{font-size:18px;font-weight:600;color:#1f2937}.form-group,.form-section h3{margin-bottom:20px}.form-group label{display:block;font-size:14px;font-weight:600;color:#374151;margin-bottom:8px}.form-group small{display:block;font-size:12px;color:#6b7280;margin-top:5px}.form-control{width:100%;padding:10px 14px;border:1px solid #d1d5db;border-radius:6px;font-size:14px;color:#1f2937;transition:all .2s ease}.form-control:focus{outline:none;border-color:#2563eb;box-shadow:0 0 0 3px rgba(37,99,235,.1)}textarea.form-control{resize:vertical;min-height:80px}select.form-control{cursor:pointer}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:15px}.form-group-toggle{margin-bottom:25px;padding:15px;background-color:#f9fafb;border-radius:8px}.form-group-toggle label{display:flex;align-items:center;font-size:15px;font-weight:600;color:#1f2937;cursor:pointer}.form-group-toggle input[type=checkbox]{width:20px;height:20px;margin-right:10px;cursor:pointer}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:25px}.service-editor,.slide-editor{background-color:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;padding:20px;margin-bottom:20px}.slide-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.slide-header h3{margin:0;font-size:16px;font-weight:600;color:#1f2937}.btn-admin{padding:10px 20px;border:none;border-radius:6px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease;display:inline-flex;align-items:center;gap:8px}.btn-admin:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background-color:#2563eb;color:#fff}.btn-primary:hover:not(:disabled){background-color:#1d4ed8;box-shadow:0 4px 12px rgba(37,99,235,.3)}.btn-secondary{background-color:#6b7280;color:#fff}.btn-secondary:hover:not(:disabled){background-color:#4b5563}.btn-danger{background-color:#ef4444;color:#fff}.btn-danger:hover:not(:disabled){background-color:#dc2626}.btn-sm{padding:6px 12px;font-size:13px}.btn-lg{padding:14px 28px;font-size:16px}.settings-footer{position:sticky;bottom:0;background:#fff;padding:20px;border-top:2px solid #e5e7eb;box-shadow:0 -4px 12px rgba(0,0,0,.05);display:flex;justify-content:flex-end;z-index:10}.admin-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px;color:#6b7280}.spinner{width:40px;height:40px;border:4px solid #e5e7eb;border-top-color:#2563eb;border-radius:50%;animation:spin .8s linear infinite;margin-bottom:15px}@keyframes spin{to{transform:rotate(1turn)}}@media(max-width:768px){.homepage-settings{padding:15px}.admin-page-header{flex-direction:column;align-items:flex-start;gap:15px}.admin-page-header h1{font-size:22px}.settings-tabs{gap:4px}.tab-btn{padding:10px 16px;font-size:13px}.admin-card{padding:20px}.admin-card h2{font-size:18px}.form-row{grid-template-columns:1fr}.section-header,.slide-header{flex-direction:column;align-items:flex-start;gap:10px}.settings-footer{padding:15px}.btn-lg{width:100%;justify-content:center}}@media(max-width:480px){.admin-page-header h1{font-size:20px}.tab-btn{padding:8px 12px;font-size:12px}.admin-card{padding:15px}.form-control{font-size:16px}}:root{--primary-color:#2563eb;--primary-hover:#1d4ed8;--success-color:#10b981;--danger-color:#ef4444;--gray-50:#f9fafb;--gray-100:#f3f4f6;--gray-200:#e5e7eb;--gray-300:#d1d5db;--gray-400:#9ca3af;--gray-500:#6b7280;--gray-600:#4b5563;--gray-700:#374151;--gray-800:#1f2937;--gray-900:#111827}.section-desc{font-size:13px;color:#6b7280;margin:4px 0 0}.empty-state{text-align:center;padding:40px 20px;color:#9ca3af;border:2px dashed #e5e7eb;border-radius:8px;margin-top:16px}.custom-section-editor{border:1px solid #e5e7eb;border-radius:10px;padding:20px;margin-bottom:20px;background:#fafafa;transition:opacity .2s}.custom-section-editor.section-disabled{opacity:.6}.custom-section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid #e5e7eb}.custom-section-title{display:flex;align-items:center;gap:8px}.section-badge{background:#1d4ed8;color:#fff;font-size:12px;font-weight:600;padding:3px 10px;border-radius:20px}.section-layout-badge{background:#e5e7eb;color:#374151;text-transform:capitalize}.section-layout-badge,.section-status-badge{font-size:11px;padding:3px 8px;border-radius:4px}.section-status-badge{font-weight:500}.section-status-badge.active{background:#d1fae5;color:#065f46}.section-status-badge.inactive{background:#fee2e2;color:#991b1b}.custom-section-actions{display:flex;gap:6px;align-items:center}.btn-admin.btn-icon{width:32px;height:32px;padding:0;font-size:16px;border:1px solid #d1d5db;background:#fff;border-radius:6px;cursor:pointer;display:flex;align-items:center;justify-content:center}.btn-admin.btn-icon:disabled{opacity:.35;cursor:not-allowed}.btn-admin.btn-icon:hover:not(:disabled){background:#f3f4f6}.layout-selector{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:8px}.layout-option{border:2px solid #e5e7eb;border-radius:8px;padding:12px 8px;text-align:center;cursor:pointer;background:#fff;transition:all .15s;display:flex;flex-direction:column;gap:4px}.layout-option:hover{border-color:#93c5fd;background:#eff6ff}.layout-option.selected{border-color:#2563eb;background:#eff6ff}.layout-option-label{font-weight:600;font-size:13px;color:#1f2937}.layout-option-desc{font-size:11px;color:#6b7280;line-height:1.3}.alignment-buttons{display:flex;gap:6px;margin-top:6px}.align-btn{flex:1;padding:7px 6px;border:2px solid #e5e7eb;border-radius:6px;background:#fff;cursor:pointer;font-size:12px;font-weight:500;color:#374151;transition:all .15s}.align-btn:hover{border-color:#93c5fd;background:#eff6ff}.align-btn.selected{border-color:#2563eb;background:#eff6ff;color:#1d4ed8}.form-row.two-col{display:grid;grid-template-columns:1fr 1fr;gap:16px}.form-row.three-col{display:grid;grid-template-columns:1fr 1fr 1fr;gap:16px}.form-section-divider{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:#9ca3af;padding:12px 0 6px;border-top:1px solid #f3f4f6;margin-top:10px}.rich-text-editor{border:1px solid #d1d5db;border-radius:8px;overflow:hidden;background:#fff}.rich-text-toolbar{display:flex;align-items:center;gap:4px;padding:8px 10px;background:#f9fafb;border-bottom:1px solid #e5e7eb;flex-wrap:wrap}.rte-btn{padding:5px 9px;border:1px solid #e5e7eb;border-radius:4px;background:#fff;cursor:pointer;font-size:13px;color:#374151;transition:all .1s;min-width:30px;text-align:center}.rte-btn:hover{background:#eff6ff;border-color:#93c5fd}.rte-btn:active{background:#dbeafe}.rte-select{padding:4px 8px;border:1px solid #e5e7eb;border-radius:4px;background:#fff;font-size:12px;color:#374151;cursor:pointer}.rte-divider{width:1px;height:22px;background:#e5e7eb;margin:0 4px}.rich-text-body{min-height:150px;padding:14px 16px;font-size:14px;line-height:1.6;color:#1f2937;outline:none}.rich-text-body:empty:before{content:attr(data-placeholder);color:#9ca3af;pointer-events:none}.color-input-wrapper{display:flex;align-items:center;gap:8px;margin-top:6px}.form-control-color{width:44px;height:38px;padding:2px;border:1px solid #d1d5db;border-radius:6px;cursor:pointer;background:#fff}.color-hex{flex:1}.img-preview-sm{margin-top:8px;border:1px solid #e5e7eb;border-radius:6px;overflow:hidden;max-width:200px;max-height:120px}.img-preview-sm img{width:100%;height:120px;-o-object-fit:cover;object-fit:cover}.add-section-bottom{text-align:center;padding:16px 0 0}.form-range{width:100%;margin:6px 0 4px;accent-color:#2563eb}.range-value-display{display:flex;align-items:center;gap:6px;margin-top:4px;color:#6b7280;font-size:13px}.rte-btn-link{background:#eff6ff;border-color:#93c5fd;color:#1d4ed8}@media(max-width:768px){.layout-selector{grid-template-columns:repeat(2,1fr)}.form-row.three-col,.form-row.two-col{grid-template-columns:1fr}}*{margin:0;padding:0;box-sizing:border-box}.blog-list-container{min-height:100vh;background-color:#f5f5f5;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif}.blog-header{background:linear-gradient(135deg,#4a6b6b,#3a5555);color:#f5f5f5;padding:4rem 2rem;box-shadow:0 4px 6px rgba(0,0,0,.1)}.header-content{max-width:1400px;margin:0 auto}.site-title{font-size:3rem;font-weight:700;margin-bottom:.5rem;letter-spacing:-1px}.site-subtitle{font-size:1.2rem;opacity:.9;font-weight:300}.blog-content{max-width:1400px;margin:0 auto;padding:3rem 2rem;display:grid;grid-template-columns:280px 1fr;gap:3rem}.sidebar{background-color:#fff;padding:2rem;border-radius:12px;box-shadow:0 2px 8px rgba(74,107,107,.1);height:-moz-fit-content;height:fit-content;position:sticky;top:2rem}.sidebar-title{color:#4a6b6b;font-size:1.1rem;font-weight:600;margin-bottom:1rem;text-transform:uppercase;letter-spacing:.5px}.search-section{margin-bottom:2.5rem}.search-input{width:100%;padding:.75rem 1rem;border:2px solid #e0e0e0;border-radius:8px;font-size:.95rem;transition:all .3s ease}.search-input:focus{outline:none;border-color:#4a6b6b;box-shadow:0 0 0 3px rgba(74,107,107,.1)}.categories-section{margin-bottom:2.5rem}.categories-list{list-style:none}.category-item{padding:.75rem 1rem;margin-bottom:.5rem;border-radius:8px;cursor:pointer;transition:all .3s ease;color:#333;font-weight:500}.category-item:hover{background-color:#f5f5f5;color:#4a6b6b;transform:translateX(4px)}.category-item.active{background-color:#4a6b6b;color:#f5f5f5}.about-section{padding-top:1.5rem;border-top:2px solid #f0f0f0}.about-text{color:#666;line-height:1.6;font-size:.9rem}.main-content{flex:1}.results-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;padding-bottom:1rem;border-bottom:3px solid #4a6b6b}.results-title{color:#4a6b6b;font-size:2rem;font-weight:700}.results-count{color:#666;font-size:.95rem;font-weight:500}.blog-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:2rem}.blog-card{background-color:#fff;border-radius:12px;overflow:hidden;box-shadow:0 4px 12px rgba(74,107,107,.08);transition:all .3s ease;display:flex;flex-direction:column}.blog-card:hover{transform:translateY(-8px);box-shadow:0 12px 24px rgba(74,107,107,.15)}.blog-image-wrapper{position:relative;width:100%;height:220px;overflow:hidden}.blog-image{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;transition:transform .3s ease}.blog-card:hover .blog-image{transform:scale(1.05)}.blog-category-badge{position:absolute;top:1rem;right:1rem;background-color:#4a6b6b;color:#f5f5f5;padding:.4rem 1rem;border-radius:20px;font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.blog-card-content{padding:1.5rem;display:flex;flex-direction:column;flex:1}.blog-title{color:#2c2c2c;font-size:1.4rem;font-weight:700;margin-bottom:1rem;line-height:1.3;transition:color .3s ease}.blog-card:hover .blog-title{color:#4a6b6b}.blog-excerpt{color:#666;line-height:1.6;margin-bottom:1.5rem;flex:1;font-size:.95rem}.blog-meta{display:flex;justify-content:space-between;align-items:center;padding-top:1rem;border-top:1px solid #f0f0f0;margin-bottom:1rem}.blog-author-info{display:flex;flex-direction:column;gap:.25rem}.author-name{color:#4a6b6b;font-weight:600;font-size:.9rem}.blog-date{color:#999;font-size:.85rem}.read-time{color:#666;font-size:.85rem;font-weight:500}.read-more-btn{background-color:#4a6b6b;color:#f5f5f5;border:none;padding:.85rem 1.5rem;border-radius:8px;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center;gap:.5rem}.read-more-btn:hover{background-color:#3a5555;transform:translateX(4px)}.arrow{font-size:1.2rem;transition:transform .3s ease}.read-more-btn:hover .arrow{transform:translateX(4px)}.no-results{text-align:center;padding:4rem 2rem;color:#666}.no-results h3{color:#4a6b6b;font-size:1.5rem;margin-bottom:.5rem}.blog-footer{background-color:#4a6b6b;color:#f5f5f5;text-align:center;padding:2rem;margin-top:4rem}@media(max-width:1024px){.blog-content{grid-template-columns:1fr}.sidebar{position:static}.blog-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}}@media(max-width:768px){.site-title{font-size:2rem}.site-subtitle{font-size:1rem}.blog-content{padding:2rem 1rem}.blog-grid{grid-template-columns:1fr}.results-header{flex-direction:column;align-items:flex-start;gap:.5rem}}.blog-page-container{min-height:100vh;background-color:#f5f5f5;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif}.blog-nav{background-color:#4a6b6b;box-shadow:0 2px 8px rgba(0,0,0,.1);position:sticky;top:0;z-index:100}.nav-content{max-width:1200px;margin:0 auto;padding:1.25rem 2rem;justify-content:space-between}.back-btn,.nav-content{display:flex;align-items:center}.back-btn{background-color:transparent;color:#f5f5f5;border:2px solid #f5f5f5;padding:.6rem 1.25rem;border-radius:8px;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .3s ease;gap:.5rem}.back-btn:hover{background-color:#f5f5f5;color:#4a6b6b}.arrow-left{font-size:1.2rem;transition:transform .3s ease}.back-btn:hover .arrow-left{transform:translateX(-4px)}.nav-title{color:#f5f5f5;font-size:1.4rem;font-weight:700;letter-spacing:-.5px}.blog-article{max-width:1200px;margin:0 auto}.article-header{background-color:#fff;margin:2rem;border-radius:16px;overflow:hidden;box-shadow:0 4px 12px rgba(74,107,107,.1)}.article-header-content{padding:3rem 3rem 2rem}.breadcrumb{display:flex;align-items:center;gap:.5rem;margin-bottom:1.5rem;font-size:.9rem;color:#666}.breadcrumb-link{color:#4a6b6b;cursor:pointer;transition:color .3s ease}.breadcrumb-link:hover{color:#3a5555;text-decoration:underline}.breadcrumb-separator{color:#999}.breadcrumb-current{color:#333;font-weight:600}.article-title{color:#2c2c2c;font-size:2.8rem;font-weight:800;line-height:1.2;margin-bottom:2rem;letter-spacing:-1px}.article-meta{justify-content:space-between;padding-top:1.5rem;border-top:2px solid #f0f0f0}.article-meta,.author-section{display:flex;align-items:center}.author-section{gap:1rem}.author-avatar{width:50px;height:50px;border-radius:50%;background:linear-gradient(135deg,#4a6b6b,#3a5555);color:#f5f5f5;display:flex;align-items:center;justify-content:center;font-size:1.3rem;font-weight:700}.author-details{display:flex;flex-direction:column;gap:.25rem}.author-name{color:#2c2c2c;font-weight:700;font-size:1rem}.meta-info{display:flex;align-items:center;gap:.5rem;font-size:.9rem;color:#666}.meta-separator{color:#999}.category-badge{background-color:#4a6b6b;color:#f5f5f5;padding:.6rem 1.5rem;border-radius:25px;font-size:.85rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px}.featured-image-wrapper{width:100%;height:450px;overflow:hidden}.featured-image{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.article-body{margin:2rem;display:grid;grid-template-columns:250px 1fr;gap:3rem;align-items:start}.table-of-contents{background-color:#fff;padding:1.5rem;border-radius:12px;box-shadow:0 2px 8px rgba(74,107,107,.1);position:sticky;top:100px;transition:all .3s ease}.toc-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;padding-bottom:1rem;border-bottom:2px solid #4a6b6b}.toc-header h3{color:#4a6b6b;font-size:1rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px}.toc-toggle{background-color:#4a6b6b;color:#f5f5f5;border:none;width:28px;height:28px;border-radius:50%;cursor:pointer;font-size:1.2rem;display:flex;align-items:center;justify-content:center;transition:all .3s ease}.toc-toggle:hover{background-color:#3a5555}.toc-list{list-style:none}.toc-item{padding:.75rem .5rem;margin-bottom:.5rem;color:#666;cursor:pointer;border-radius:6px;transition:all .3s ease;font-size:.9rem;line-height:1.4}.toc-item:hover{background-color:#f5f5f5;color:#4a6b6b;padding-left:1rem}.article-content{background-color:#fff;padding:3rem;border-radius:12px;box-shadow:0 2px 8px rgba(74,107,107,.1)}.content-paragraph{color:#333;line-height:1.8;font-size:1.1rem;margin-bottom:1.5rem;text-align:justify}.content-heading{color:#4a6b6b;font-size:1.8rem;font-weight:700;margin-top:2.5rem;margin-bottom:1.25rem;padding-bottom:.75rem;border-bottom:3px solid #4a6b6b}.code-block{background-color:#1e1e1e;border-radius:10px;overflow:hidden;margin:2rem 0;box-shadow:0 4px 12px rgba(0,0,0,.2)}.code-header{background-color:#2d2d2d;padding:.75rem 1.5rem;border-bottom:1px solid #3d3d3d}.code-language{color:#4a6b6b;font-size:.85rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.code-block pre{margin:0;padding:1.5rem;overflow-x:auto}.code-block code{color:#d4d4d4;font-family:Courier New,monospace;font-size:.95rem;line-height:1.6}.content-list{margin:1.5rem 0;padding-left:2rem}.content-list li{color:#333;line-height:1.8;font-size:1.05rem;margin-bottom:1rem;position:relative}.content-list li::marker{color:#4a6b6b;font-weight:700}.tags-section{margin-top:3rem;padding-top:2rem;border-top:2px solid #f0f0f0}.tags-title{color:#4a6b6b;font-size:1rem;font-weight:700;margin-bottom:1rem;text-transform:uppercase;letter-spacing:.5px}.tags-container{display:flex;flex-wrap:wrap;gap:.75rem}.tag{background-color:#f5f5f5;color:#4a6b6b;padding:.5rem 1rem;border-radius:20px;font-size:.9rem;font-weight:600;border:2px solid #4a6b6b;transition:all .3s ease;cursor:pointer}.tag:hover{background-color:#4a6b6b;color:#f5f5f5}.related-posts{max-width:1200px;margin:3rem auto;padding:0 2rem}.related-title{color:#4a6b6b;font-size:2rem;font-weight:700;margin-bottom:2rem;padding-bottom:1rem;border-bottom:3px solid #4a6b6b}.related-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2rem}.related-card{background-color:#fff;border-radius:12px;overflow:hidden;box-shadow:0 4px 12px rgba(74,107,107,.08);cursor:pointer;transition:all .3s ease}.related-card:hover{transform:translateY(-8px);box-shadow:0 12px 24px rgba(74,107,107,.15)}.related-image{width:100%;height:200px;-o-object-fit:cover;object-fit:cover;transition:transform .3s ease}.related-card:hover .related-image{transform:scale(1.05)}.related-content{padding:1.5rem}.related-category{display:inline-block;background-color:#4a6b6b;color:#f5f5f5;padding:.3rem .8rem;border-radius:15px;font-size:.75rem;font-weight:600;text-transform:uppercase;margin-bottom:.75rem;letter-spacing:.5px}.related-post-title{color:#2c2c2c;font-size:1.2rem;font-weight:700;line-height:1.3;transition:color .3s ease}.related-card:hover .related-post-title{color:#4a6b6b}.article-footer{background-color:#4a6b6b;color:#f5f5f5;text-align:center;padding:2rem;margin-top:3rem}@media(max-width:1024px){.article-body{grid-template-columns:1fr}.table-of-contents{position:static;order:-1}}@media(max-width:768px){.nav-content{padding:1rem}.nav-title{font-size:1.1rem}.article-header-content{padding:2rem 1.5rem 1.5rem}.article-title{font-size:1.8rem}.article-meta{flex-direction:column;align-items:flex-start;gap:1rem}.featured-image-wrapper{height:250px}.article-content{padding:2rem 1.5rem}.content-paragraph{font-size:1rem}.content-heading{font-size:1.4rem}.related-grid{grid-template-columns:1fr}}