:root{--primary-color:#8b6f47;--secondary-color:#f5f1eb;--accent-color:#d4a574;--text-dark:#5d4e37;--text-light:#8b7355;--bg-light:#faf8f5;--botanical-green:#7d8471;--soft-peach:#e8d5c4}*{-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none}html{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;-ms-text-size-adjust:100%;text-size-adjust:100%;touch-action:manipulation}body{font-family:Playfair Display,Georgia,serif;line-height:1.7;color:var(--text-dark);background:linear-gradient(135deg,var(--secondary-color) 0,var(--bg-light) 100%);margin:0;padding:0;overflow-x:hidden}button,input,select,textarea{font-size:16px!important}@media (max-width:768px){input,select,textarea{font-size:16px!important}}.navbar-dark{background-color:var(--primary-color)!important;box-shadow:0 2px 10px rgba(128,0,32,.3)}.navbar-brand{color:var(--secondary-color)!important;font-family:Playfair Display,Times New Roman,serif}.navbar-brand:hover{color:#d2b48c!important}.nav-link,.navbar-nav .nav-link{color:var(--secondary-color)!important;font-weight:600;margin:0 5px;transition:color .3s ease;text-decoration:none;font-size:1.1rem;letter-spacing:.5px;white-space:nowrap}.nav-link:hover,.navbar-nav .nav-link:hover{color:#d2b48c!important;text-decoration:none}.navbar-toggler{border-color:var(--secondary-color)}.navbar-toggler-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28245, 245, 220, 1%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e")}main{z-index:1}.content-wrapper,main{padding-top:0;position:relative}.content-wrapper{width:100%;overflow-x:hidden}.hero-section-with-image{height:calc(var(--vh, 1vh) * 100);min-height:100vh;width:100vw;position:relative;display:flex;align-items:stretch;overflow:hidden;background:linear-gradient(135deg,var(--soft-peach) 0,var(--secondary-color) 50%,var(--bg-light) 100%);margin:0;padding:0}.hero-section-with-image:after{content:"";position:absolute;bottom:0;left:0;right:0;height:60px;pointer-events:none;z-index:19;background:linear-gradient(0deg,rgba(0,0,0,.1) 0,transparent)}.hero-section-with-image .hero-carousel .carousel-indicators{position:absolute;bottom:15px;left:50%;transform:translateX(-50%);z-index:20;margin:0}.hero-section-with-image{height:100vh;height:100dvh;min-height:-webkit-fill-available}.hero-video-container{position:absolute;top:0;left:0;right:0;bottom:0;z-index:1;opacity:.4;overflow:hidden;width:100%;height:100%}.hero-background-video{width:100%;height:100%;object-fit:cover;object-position:center;z-index:1;filter:sepia(20%) saturate(110%) brightness(.9)}.hero-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(135deg,rgba(139,111,71,.6),rgba(93,78,55,.4));display:flex;align-items:center;width:100%;z-index:2;padding:40px 0 20px}.hero-title{font-size:3.5rem;font-weight:400;font-style:italic;color:var(--text-dark);text-shadow:none;letter-spacing:1px;margin-bottom:20px}.hero-subtitle{font-size:1.3rem;font-weight:300;color:var(--text-light);text-shadow:none;letter-spacing:2px;text-transform:uppercase;margin-bottom:30px}.hero-carousel{max-width:100%;margin:0 auto;position:relative}.obituary-carousel-container{height:auto;position:relative;touch-action:pan-x;overscroll-behavior:contain;overscroll-behavior-y:none}.obituary-carousel-container .obituary-carousel{height:auto;position:relative;display:flex;align-items:center;touch-action:pan-x;-webkit-overflow-scrolling:touch;overscroll-behavior-y:none}.obituary-carousel-container .carousel-inner{height:auto;touch-action:pan-x;overscroll-behavior-x:contain;overscroll-behavior-y:none;-webkit-overflow-scrolling:touch}.hero-carousel .obituary-slide{transition:all .5s ease-in-out}.hero-carousel .obituary-slide .col-md-4{max-width:250px;margin:0 auto;transition:all .3s ease}.hero-carousel .obituary-slide .col-md-4:hover{z-index:10}.obituary-card,.obituary-card-female{animation:fadeInUp .6s ease-out;animation-fill-mode:both}.obituary-card-female:nth-child(2),.obituary-card:nth-child(2){animation-delay:.1s}.obituary-card-female:nth-child(3),.obituary-card:nth-child(3){animation-delay:.2s}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.hero-carousel .carousel-control-next,.hero-carousel .carousel-control-prev{width:4%;color:var(--accent-color);opacity:.4;transition:all .3s ease;z-index:15}.hero-carousel .carousel-control-next:hover,.hero-carousel .carousel-control-prev:hover{opacity:.7;transform:scale(1.05)}.hero-carousel .carousel-control-next-icon,.hero-carousel .carousel-control-prev-icon{background-color:rgba(212,165,116,.6);border-radius:50%;padding:12px;box-shadow:0 3px 10px rgba(139,111,71,.2);transition:all .3s ease;backdrop-filter:blur(10px);border:2px solid rgba(255,255,255,.2)}.hero-carousel .carousel-control-next-icon:hover,.hero-carousel .carousel-control-prev-icon:hover{background-color:var(--accent-color);box-shadow:0 8px 25px rgba(139,111,71,.4);transform:scale(1.05)}.hero-carousel .carousel-indicators{position:fixed!important;bottom:15px!important;left:50%!important;transform:translateX(-50%)!important;margin-bottom:0!important;z-index:25!important;width:auto!important}.hero-carousel .carousel-indicators button{background-color:rgba(212,165,116,.6);width:5px;height:5px;border-radius:50%;opacity:.7;box-shadow:0 1px 3px rgba(139,111,71,.3);transition:all .3s ease;border:1px solid rgba(255,255,255,.3);backdrop-filter:blur(5px);margin:0 2px}.hero-carousel .carousel-indicators button:hover{opacity:.9;transform:scale(1.2);box-shadow:0 4px 15px rgba(139,111,71,.4)}.hero-carousel .carousel-indicators button.active{opacity:1;background-color:white;box-shadow:0 4px 15px rgba(255,255,255,.4);transform:scale(1.3);border-color:var(--accent-color)}.obituary-section{background:linear-gradient(135deg,var(--bg-light) 0,var(--secondary-color) 100%);position:relative}.obituary-section:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background-image:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100"><path d="M20,20 Q30,10 40,20 Q50,30 60,20 Q70,10 80,20" fill="none" stroke="%23D4A574" stroke-width="0.5" opacity="0.2"/></svg>');background-size:200px 200px;pointer-events:none}.obituary-carousel{max-width:1000px;margin:0 auto}.obituary-slide{min-height:auto}.obituary-card{background:rgba(255,255,255,.95);border:1px solid rgba(212,165,116,.3);border-radius:12px;box-shadow:0 4px 15px rgba(139,111,71,.2);transition:all .4s cubic-bezier(.4,0,.2,1);max-width:min(180px,90vw);width:100%;height:auto;aspect-ratio:5/7;max-height:min(260px,35vh);margin:10px auto;backdrop-filter:blur(10px);cursor:pointer;position:relative;overflow:hidden;display:flex;flex-direction:column}.obituary-card:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(212,165,116,.1),transparent);transition:left .6s ease}.obituary-card:hover:before{left:100%}.obituary-card:hover{transform:translateY(-8px) scale(1.02);box-shadow:0 12px 30px rgba(139,111,71,.3);border-color:var(--accent-color);background:rgba(255,255,255,.98)}.obituary-photo{width:40px;height:40px;margin:0 auto;border-radius:50%;overflow:hidden}.photo-placeholder{width:100%;height:100%;background:linear-gradient(135deg,var(--primary-color) 0,var(--accent-color) 100%);border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--secondary-color);font-size:1.5rem}.photo-placeholder:before{content:"👤";font-size:1.5rem}.obituary-dates{font-style:italic;font-size:.8rem}.obituary-card .card-title{font-size:1rem;font-weight:600}.obituary-card .card-text{font-size:.85rem;line-height:1.3}.obituary-card .btn{font-size:.8rem;padding:.25rem .75rem}.obituary-card-female{background:linear-gradient(145deg,rgba(250,248,245,.95),rgba(245,242,237,.98));border:1px solid rgba(212,175,140,.4);border-radius:12px;box-shadow:0 6px 20px rgba(139,111,71,.15);font-family:Playfair Display,serif;backdrop-filter:blur(12px)}.obituary-card-female,.obituary-card-male{transition:all .4s cubic-bezier(.4,0,.2,1);max-width:min(180px,90vw);width:100%;height:auto;aspect-ratio:5/7;max-height:min(260px,35vh);margin:10px auto;position:relative;cursor:pointer;overflow:hidden;display:flex;flex-direction:column}.obituary-card-male{background:rgba(255,255,255,.95);border:1px solid rgba(212,165,116,.3);border-radius:12px;box-shadow:0 4px 15px rgba(139,111,71,.2);backdrop-filter:blur(10px)}.obituary-card-male:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(212,165,116,.1),transparent);transition:left .6s ease}.obituary-card-male:hover:before{left:100%}.obituary-card-male:hover{transform:translateY(-8px) scale(1.02);box-shadow:0 12px 30px rgba(139,111,71,.3);border-color:var(--accent-color);background:rgba(255,255,255,.98)}.obituary-card-female:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(45deg,transparent 30%,rgba(212,165,116,.1) 50%,transparent 70%);opacity:0;transition:opacity .4s ease;pointer-events:none}.obituary-card-female:hover:before{opacity:1}.obituary-card-female:hover{transform:translateY(-10px) scale(1.03);box-shadow:0 15px 40px rgba(139,111,71,.25);border-color:var(--accent-color);background:linear-gradient(145deg,rgba(250,248,245,.98),rgba(245,242,237,1))}.memorial-header{text-align:center;margin-bottom:clamp(4px,1.5vh,8px);position:relative;flex-shrink:0}.floral-corner{position:absolute;width:clamp(16px,3vw,20px);height:clamp(16px,3vw,20px);display:flex;align-items:center;justify-content:center}.floral-corner svg{width:100%;height:100%}.floral-icon{color:#d4af8c;opacity:.8;transition:all .3s ease}.obituary-card-female:hover .floral-icon{opacity:1;transform:scale(1.1)}.floral-corner.top-left{top:-5px;left:clamp(6px,2vw,10px)}.floral-corner.top-right{top:-5px;right:clamp(6px,2vw,10px);transform:scaleX(-1)}.floral-corner.bottom-left{bottom:-5px;left:clamp(6px,2vw,10px);transform:scaleY(-1)}.floral-corner.bottom-right{bottom:-5px;right:clamp(6px,2vw,10px);transform:scale(-1)}.memorial-title{font-style:italic;font-size:clamp(.6rem,1.2vh,.7rem);color:#8b4513;font-weight:400;margin-bottom:clamp(0px,.2vh,1px);line-height:1.2}.memory-text{font-size:clamp(.7rem,1.4vh,.8rem);font-weight:700;letter-spacing:clamp(.5px,.15vw,1px);color:#654321;margin-bottom:clamp(2px,.5vh,3px);line-height:1.1}.memorial-photo-frame{display:flex;justify-content:center;margin:clamp(4px,1.5vh,8px) 0;position:relative;flex-shrink:0}.photo-decorations{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:clamp(55px,12vh,70px);height:clamp(55px,12vh,70px);pointer-events:none}.photo-decoration{position:absolute;color:#d4af8c;opacity:.6}.photo-decoration svg{width:clamp(10px,2vh,12px);height:clamp(10px,2vh,12px)}.photo-decoration.left{left:-10px;top:50%;transform:translateY(-50%) rotate(-15deg)}.photo-decoration.right{right:-10px;top:50%;transform:translateY(-50%) rotate(15deg)}.memorial-photo-placeholder{width:clamp(40px,9vh,50px);height:clamp(48px,10.8vh,60px);border-radius:clamp(24px,5.4vh,30px);border:2px solid #d4af8c;display:flex;align-items:center;justify-content:center;color:var(--secondary-color);font-size:clamp(1rem,2vh,1.2rem);position:relative;flex-shrink:0}.memorial-photo-placeholder.female{background:linear-gradient(135deg,var(--primary-color) 0,var(--accent-color) 100%)}.memorial-photo-placeholder.male{background:linear-gradient(135deg,#8b6f47,#a0845c)}.memorial-photo-placeholder:before{content:"👤";font-size:1.2rem}.photo-placeholder-female:after{content:"";position:absolute;top:-5px;left:-5px;right:-5px;bottom:-5px;border:1px solid #d4af8c;border-radius:55px}.memorial-name{text-align:center;font-size:clamp(.75rem,1.6vh,.9rem);font-weight:600;color:#654321;margin:clamp(4px,1.5vh,8px) 0 clamp(2px,.7vh,4px);font-style:italic;line-height:1.2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:0 4px;flex-shrink:0}.memorial-dates{margin-bottom:clamp(4px,1vh,8px)}.memorial-service{text-align:center;font-size:clamp(.5rem,1vh,.55rem);color:#654321;line-height:1.2;margin-bottom:clamp(4px,1.5vh,8px);border-top:1px solid #d4af8c;border-bottom:1px solid #d4af8c;padding:clamp(2px,.7vh,4px) 0;flex-shrink:0}.service-text{font-weight:600}.service-text,.service-time{margin-bottom:clamp(1px,.3vh,2px)}.service-location{font-weight:500}.memorial-footer{position:relative;height:20px}.memorial-button{font-size:.6rem;padding:.2rem .5rem;border-color:#8b4513;color:#8b4513;font-weight:500}.memorial-button:hover{background-color:#8b4513;border-color:#8b4513;color:white}.obituary-carousel .carousel-control-next,.obituary-carousel .carousel-control-prev{display:flex!important;width:4%;color:var(--accent-color);opacity:.4;transition:all .3s ease;z-index:15}.obituary-carousel .carousel-control-prev{left:-50px}.obituary-carousel .carousel-control-next{right:-50px}.obituary-carousel .carousel-control-next:hover,.obituary-carousel .carousel-control-prev:hover{opacity:.7;transform:scale(1.05)}.obituary-carousel .carousel-control-next-icon,.obituary-carousel .carousel-control-prev-icon{background-color:rgba(139,111,71,.6);border-radius:50%;padding:10px;width:25px;height:25px;box-shadow:0 2px 8px rgba(139,111,71,.2);transition:all .3s ease;backdrop-filter:blur(10px);border:2px solid rgba(255,255,255,.2)}.obituary-carousel .carousel-control-next-icon:hover,.obituary-carousel .carousel-control-prev-icon:hover{background-color:var(--accent-color);box-shadow:0 8px 25px rgba(139,111,71,.4);transform:scale(1.05)}.obituary-carousel .carousel-indicators button{background-color:var(--primary-color);width:12px;height:12px;border-radius:50%}@media (max-width:768px){body{overscroll-behavior-y:none;-webkit-overflow-scrolling:touch;position:relative}.hero-section-with-image{height:100vh;height:calc(var(--vh, 1vh) * 100);width:100vw;min-height:100vh;min-height:calc(var(--vh, 1vh) * 100);max-height:100vh;max-height:calc(var(--vh, 1vh) * 100);overflow:hidden;overscroll-behavior-y:none}.hero-section-with-image .hero-carousel .carousel-indicators{position:fixed!important;bottom:10px!important;left:50%!important;transform:translateX(-50%)!important;z-index:25!important}.hero-overlay{height:100vh;height:calc(var(--vh, 1vh) * 100);min-height:100vh;min-height:calc(var(--vh, 1vh) * 100);display:flex;align-items:flex-start;justify-content:center;padding-top:20px}.hero-overlay .container{height:auto;max-height:calc(var(--vh, 1vh) * 90);display:flex;align-items:flex-start;padding:0 10px 10px}.hero-overlay .row{width:100%;height:100%;margin:0;align-items:center}.hero-background-video{filter:sepia(15%) saturate(100%) brightness(.8)}.hero-carousel{height:auto;max-height:70vh;max-height:calc(var(--vh, 1vh) * 70);overflow:visible;margin-top:10px}.hero-carousel,.hero-carousel .carousel-inner{touch-action:pan-x;overscroll-behavior-y:none;-webkit-overflow-scrolling:touch}.hero-carousel .obituary-slide{padding:10px;display:flex;justify-content:center;align-items:center;touch-action:pan-x;overscroll-behavior-y:none}.hero-carousel .obituary-slide .row{width:100%;margin:0;justify-content:center;touch-action:pan-x}.hero-carousel .obituary-card,.hero-carousel .obituary-card-female,.hero-carousel .obituary-card-load-more,.hero-carousel .obituary-card-male{max-width:min(320px,85vw);width:100%;margin:20px auto;max-height:min(448px,55vh);overflow:visible;transform:scale(1.1);box-shadow:0 8px 25px rgba(139,111,71,.3);touch-action:pan-x;overscroll-behavior-y:none;-webkit-overflow-scrolling:touch}.hero-carousel .carousel-control-next,.hero-carousel .carousel-control-prev{width:6%;opacity:.2;transition:opacity .3s ease}.hero-carousel .carousel-control-next:hover,.hero-carousel .carousel-control-prev:hover{opacity:.5}.hero-carousel .carousel-control-next-icon,.hero-carousel .carousel-control-prev-icon{padding:8px;width:28px;height:28px}.hero-carousel .carousel-indicators{position:fixed!important;bottom:10px!important;left:50%!important;transform:translateX(-50%)!important;margin-bottom:0!important;padding:0!important;width:auto!important;z-index:25!important}.hero-carousel .carousel-indicators button{width:3px;height:3px;margin:0 2px;border-radius:50%;touch-action:manipulation;min-width:18px;min-height:18px;display:flex;align-items:center;justify-content:center;position:relative;border:1px solid rgba(255,255,255,.2)}.hero-carousel .carousel-indicators button:before{content:"";width:3px;height:3px;border-radius:50%;background-color:inherit;position:absolute}.hero-title{font-size:2rem;line-height:1.1;margin-bottom:8px}.hero-subtitle{font-size:.9rem;letter-spacing:1px;margin-bottom:12px}.hero-leaf-decoration{display:none!important}.btn-botanical,.btn-botanical-outline{font-size:.9rem;padding:10px 20px;margin:5px;width:100%;max-width:200px}.hero-address-text{font-size:.8rem!important;letter-spacing:1px!important;line-height:1.3;padding:0 15px}.hero-location-text{font-size:1rem!important;line-height:1.3;padding:0 15px}.section-title{font-size:2rem}.section-subtitle{font-size:.8rem;letter-spacing:2px}.hero-overlay .container{padding-left:20px;padding-right:20px}.obituary-carousel-container{height:auto}.obituary-carousel .carousel-control-next,.obituary-carousel .carousel-control-prev{display:none!important}.obituary-carousel{-webkit-overflow-scrolling:touch}.obituary-carousel,.obituary-carousel .carousel-inner{touch-action:pan-x;overscroll-behavior-y:none;overflow-y:hidden}.obituary-carousel .carousel-item{touch-action:pan-x;overscroll-behavior-y:none}}@media (max-width:576px){.hero-section-with-image{width:100vw;min-height:100vh;min-height:calc(var(--vh, 1vh) * 100);max-height:100vh;max-height:calc(var(--vh, 1vh) * 100);position:relative;align-items:center;overflow:hidden}.hero-overlay,.hero-section-with-image{height:100vh;height:calc(var(--vh, 1vh) * 100);display:flex}.hero-overlay{width:100%;position:absolute;top:0;left:0;right:0;bottom:0;z-index:2;align-items:flex-start;padding-top:30px}.hero-title{font-size:1.5rem;line-height:1;margin-bottom:3px}.section-subtitle{font-size:.75rem;letter-spacing:1px;margin-bottom:8px}.hero-carousel{max-height:55vh;max-height:calc(var(--vh, 1vh) * 55);padding:0 15px;touch-action:pan-x}.hero-carousel .obituary-slide{padding:5px;display:flex;justify-content:center;align-items:center}.hero-carousel .obituary-card,.hero-carousel .obituary-card-female,.hero-carousel .obituary-card-male{max-width:min(280px,85vw);width:95%;margin:20px auto;max-height:min(392px,50vh);transform:scale(1.05);box-shadow:0 6px 20px rgba(139,111,71,.25)}.hero-carousel .memorial-description{-webkit-line-clamp:2;line-clamp:2}.memorial-service{display:none}.hero-carousel .carousel-indicators{position:fixed!important;bottom:8px!important;left:50%!important;transform:translateX(-50%)!important;margin-bottom:0!important;padding:0!important;width:auto!important;z-index:25!important}.hero-carousel .carousel-indicators button{width:2px;height:2px;margin:0 2px;min-width:16px;min-height:16px;border:1px solid rgba(255,255,255,.2)}.hero-carousel .carousel-indicators button:before{width:2px;height:2px}}.logo-shadow{transition:filter .3s ease,transform .3s ease}.logo-shadow:hover{filter:drop-shadow(3px 3px 6px rgba(0,0,0,.4))!important;transform:scale(1.05)}.custom-navbar{z-index:1050}.custom-navbar .container{flex-wrap:nowrap}.custom-navbar nav,.nav-contact-link{white-space:nowrap}.nav-contact-link{color:var(--secondary-color)!important;text-decoration:none;font-weight:400;font-size:.85rem;transition:all .3s ease;opacity:.9;padding:8px 12px;border-radius:6px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);display:inline-flex;align-items:center;justify-content:center;min-width:40px}.nav-contact-link:hover{color:#d2b48c!important;opacity:1;background:rgba(255,255,255,.12);border-color:rgba(210,180,140,.4);transform:translateY(-2px)}.sidenav-toggle{background:none;border:none;color:var(--secondary-color);font-size:1.5rem;padding:8px;border-radius:4px;transition:background-color .3s ease}.sidenav-toggle:hover{background-color:rgba(245,245,220,.1)}.sidenav-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background-color:rgba(0,0,0,.5);z-index:1040;opacity:0;visibility:hidden;transition:all .3s ease}.sidenav-overlay.active{opacity:1;visibility:visible}.sidenav{position:fixed;top:0;right:-300px;width:300px;height:100%;background:linear-gradient(180deg,var(--primary-color) 0,var(--accent-color) 100%);z-index:1050;transition:right .3s ease;box-shadow:-2px 0 10px rgba(0,0,0,.3);display:flex;flex-direction:column}.sidenav.active{right:0}.sidenav-header{padding:20px;border-bottom:1px solid rgba(245,245,220,.2);display:flex;justify-content:space-between;align-items:center;background:rgba(0,0,0,.1)}.sidenav-close{background:none;border:none;color:var(--secondary-color);font-size:1.5rem;padding:8px;border-radius:4px;transition:background-color .3s ease}.sidenav-close:hover{background-color:rgba(245,245,220,.1)}.sidenav-nav{flex:1;padding:20px 0}.sidenav-link{display:flex;align-items:center;padding:15px 25px;color:var(--secondary-color)!important;text-decoration:none;font-weight:500;font-size:1.1rem;transition:all .3s ease;border-left:3px solid transparent}.sidenav-link:hover{background-color:rgba(245,245,220,.1);border-left-color:var(--secondary-color);padding-left:30px}.sidenav-icon{margin-right:15px;font-size:1.2rem;width:20px}.sidenav-footer{padding:20px;border-top:1px solid rgba(245,245,220,.2);background:rgba(0,0,0,.1)}.sidenav-contact{display:flex;align-items:center;padding:10px 12px;color:var(--secondary-color)!important;text-decoration:none;font-size:.85rem;font-weight:400;transition:all .3s ease;opacity:.85;border-radius:4px;background:rgba(255,255,255,.03)}.sidenav-contact:hover{color:#d2b48c!important;opacity:1;background:rgba(255,255,255,.08)}.section-header{text-align:center;margin-bottom:60px;position:relative}.section-title{font-family:Playfair Display,serif;font-size:2.5rem;font-weight:400;font-style:italic;color:var(--text-dark);margin-bottom:10px;letter-spacing:1px}.section-subtitle{font-size:.9rem;letter-spacing:3px;text-transform:uppercase;color:var(--text-light);font-weight:300;margin-bottom:20px}.section-ornament{width:60px;height:2px;background:linear-gradient(90deg,transparent 0,var(--accent-color) 50%,transparent 100%);margin:0 auto;position:relative}.section-ornament:before{content:"✿";position:absolute;top:-8px;left:50%;transform:translateX(-50%);color:var(--accent-color);font-size:16px;background:var(--bg-light);padding:0 10px}.btn-botanical{background:linear-gradient(135deg,var(--accent-color) 0,var(--primary-color) 100%);border:none;color:white;font-family:Playfair Display,serif;font-weight:400;letter-spacing:1px;padding:12px 30px;border-radius:25px;transition:all .3s ease;box-shadow:0 4px 15px rgba(139,111,71,.3)}.btn-botanical:hover{transform:translateY(-2px);box-shadow:0 6px 20px rgba(139,111,71,.4);color:white}.btn-botanical-outline{background:transparent;border:2px solid var(--accent-color);color:var(--text-dark);font-family:Playfair Display,serif;font-weight:400;letter-spacing:1px;padding:10px 28px;border-radius:25px;transition:all .3s ease}.btn-botanical-outline:hover{background:var(--accent-color);color:white;transform:translateY(-1px)}.services-section{position:relative;z-index:1;clear:both;margin-top:0}@media (max-width:768px){.services-section{margin-top:0;padding-top:20px}}.obituary-card .card-body,.obituary-card-female .card-body,.obituary-card-male .card-body{flex:1;display:flex;flex-direction:column;padding:clamp(.3rem,1vh,.5rem);min-height:0;overflow:hidden}.memorial-description{flex:1;font-size:clamp(.6rem,1.2vh,.7rem);line-height:1.3;color:#8b6f47;text-align:center;margin-top:clamp(4px,1.5vh,8px);padding:0 clamp(4px,1vw,8px);overflow:hidden;display:-webkit-box;-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical;text-overflow:ellipsis;min-height:0}.memorial-flowers-footer{display:flex;align-items:center;justify-content:center;gap:clamp(4px,1vw,8px);margin-top:auto;padding-top:clamp(2px,.5vh,4px);flex-shrink:0;min-height:0}.memorial-tree{color:#d4af8c;opacity:.7;flex-shrink:0}.memorial-tree svg{width:clamp(10px,2vh,14px);height:clamp(10px,2vh,14px)}.memorial-leaf-line{display:flex;align-items:center;gap:clamp(2px,.5vw,4px);flex-shrink:0}.memorial-mini-leaf{color:#d4af8c;opacity:.6}.memorial-mini-leaf svg{width:clamp(8px,1.5vh,10px);height:clamp(8px,1.5vh,10px)}@media (max-height:600px){.memorial-flowers-footer{display:none}.memorial-description{-webkit-line-clamp:2;line-clamp:2}}@media (max-height:500px){.photo-decorations{display:none}.memorial-description{-webkit-line-clamp:1;line-clamp:1}}.memorial-name-frame{margin:clamp(4px,1.5vh,8px) 0 clamp(2px,.7vh,4px);flex-shrink:0}.memorial-name-text{font-size:clamp(.7rem,1.4vh,.8rem);font-weight:600;color:#654321;margin:0}.memorial-dates,.memorial-name-text{text-align:center;font-style:italic;line-height:1.2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:0 4px}.memorial-dates{font-size:clamp(.55rem,1.1vh,.65rem);color:#8b4513;margin-bottom:clamp(2px,.7vh,4px);flex-shrink:0}@media (min-width:769px){.obituary-carousel .carousel-control-next,.obituary-carousel .carousel-control-prev{display:flex!important;align-items:center;justify-content:center;width:4%;opacity:.5;transition:all .3s ease;z-index:15}.obituary-carousel .carousel-control-prev{left:-50px}.obituary-carousel .carousel-control-next{right:-50px}.obituary-carousel .carousel-control-next:hover,.obituary-carousel .carousel-control-prev:hover{opacity:.8;transform:scale(1.1)}.obituary-carousel .carousel-control-next-icon,.obituary-carousel .carousel-control-prev-icon{background-color:rgba(139,111,71,.7);border-radius:50%;padding:12px;width:30px;height:30px;box-shadow:0 3px 10px rgba(139,111,71,.3);transition:all .3s ease;backdrop-filter:blur(10px);border:2px solid rgba(255,255,255,.2)}.obituary-carousel .carousel-control-next-icon:hover,.obituary-carousel .carousel-control-prev-icon:hover{background-color:var(--accent-color);box-shadow:0 8px 25px rgba(139,111,71,.4);transform:scale(1.1)}}@media (min-width:992px){.sidenav,.sidenav-overlay{display:none}}@media (min-width:1200px){.obituary-card,.obituary-card-female,.obituary-card-male{max-width:220px;max-height:308px}}@media (min-width:1920px){.obituary-card,.obituary-card-female,.obituary-card-male{max-width:240px;max-height:336px}}@media (max-height:500px) and (orientation:landscape){.obituary-card,.obituary-card-female,.obituary-card-male{max-height:min(280px,70vh)}.memorial-header{margin-bottom:2px}.memorial-photo-frame{margin:2px 0}.memorial-description{-webkit-line-clamp:1;line-clamp:1;margin-top:2px}.floral-corner{display:none}}.floating-action-buttons{position:fixed;bottom:20px;left:20px;display:flex;flex-direction:column;gap:12px;z-index:1000}.floating-btn{width:56px;height:56px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--secondary-color);background:var(--primary-color);box-shadow:0 4px 12px rgba(0,0,0,.3);transition:all .3s ease;text-decoration:none;border:2px solid rgba(255,255,255,.2)}.floating-btn:hover{transform:scale(1.1);box-shadow:0 6px 20px rgba(0,0,0,.4);color:#d2b48c;background:var(--accent-color)}.floating-btn-phone{background:linear-gradient(135deg,var(--primary-color) 0,var(--accent-color) 100%)}.floating-btn-flowers{background:linear-gradient(135deg,#7d8471,#8b6f47)}@media (max-width:768px){.floating-action-buttons{bottom:15px;left:15px;gap:12px}.floating-btn{width:64px;height:64px}.floating-btn svg{font-size:1.5rem!important}.floating-btn-flowers svg{font-size:1.8rem!important}}