*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}body{font-family:'Lato',sans-serif;background:#fdf8f4;color:#3a2e2e;line-height:1.7}a{text-decoration:none;color:inherit}img{max-width:100%}.navbar{background:rgba(255,255,255,0.97);border-bottom:1px solid #e8d8cc;position:sticky;top:0;z-index:100;box-shadow:0 2px 12px rgba(0,0,0,0.07)}.nav-inner{max-width:1100px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;padding:16px 24px}.nav-logo{font-family:'Playfair Display',serif;font-size:1.25rem;color:#7b4f3c;font-weight:600}.nav-links{list-style:none;display:flex;gap:28px}.nav-links a{font-size:.95rem;color:#5c3d2e;font-weight:600;letter-spacing:.03em;padding:4px 0;border-bottom:2px solid transparent;transition:all .2s}.nav-links a:hover,.nav-links a.active{color:#a0522d;border-bottom-color:#a0522d}.hero{position:relative;min-height:100vh;display:flex;align-items:center;justify-content:center;text-align:center;overflow:hidden}.hero-bg-photo{position:absolute;inset:0;z-index:0}.hero-portrait{width:100%;height:100%;object-fit:cover;object-position:top center;filter:brightness(.45) saturate(.8)}.hero-bg-fallback{position:absolute;inset:0;background:linear-gradient(135deg,#2c1a0e 0%,#5c3317 40%,#8b4513 70%,#a0522d 100%)}.hero-bg-overlay{position:absolute;inset:0;background:linear-gradient(to bottom,rgba(20,10,5,.5) 0%,rgba(44,26,14,.7) 60%,rgba(44,26,14,.95) 100%)}.hero-content{position:relative;z-index:1;padding:40px 24px;max-width:750px}.hero-script{font-family:'Playfair Display',serif;font-style:italic;font-size:1.3rem;color:#f5d9c0;margin-bottom:10px;letter-spacing:.05em}.hero-name{font-family:'Playfair Display',serif;font-size:clamp(3rem,8vw,5.5rem);color:#fff;font-weight:600;line-height:1.1;text-shadow:2px 4px 20px rgba(0,0,0,.4);margin-bottom:16px}.hero-dates{font-size:1.05rem;color:#f5d9c0;letter-spacing:.08em;margin-bottom:20px}.hero-quote{font-family:'Playfair Display',serif;font-style:italic;font-size:1.15rem;color:#ffe4cc;margin-bottom:36px}.hero-buttons{display:flex;gap:16px;justify-content:center;flex-wrap:wrap}.btn{display:inline-block;padding:13px 28px;border-radius:50px;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .25s;border:none;letter-spacing:.03em}.btn-primary{background:#a0522d;color:#fff;box-shadow:0 4px 15px rgba(160,82,45,.4)}.btn-primary:hover{background:#8b4513;transform:translateY(-2px)}.btn-secondary{background:transparent;color:#fff;border:2px solid rgba(255,255,255,.7)}.btn-secondary:hover{background:rgba(255,255,255,.15);transform:translateY(-2px)}.btn-secondary-dark{display:inline-block;padding:13px 28px;border-radius:50px;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .25s;border:2px solid #a0522d;color:#a0522d;background:transparent}.btn-secondary-dark:hover{background:#a0522d;color:#fff;transform:translateY(-2px)}.portrait-section{padding:70px 24px;background:#fdf8f4}.container{max-width:1100px;margin:0 auto}.portrait-inner{display:grid;grid-template-columns:340px 1fr;gap:56px;align-items:center}@media(max-width:820px){.portrait-inner{grid-template-columns:1fr}}.portrait-frame{text-align:center}.portrait-frame img{width:300px;height:380px;object-fit:cover;object-position:top center;border-radius:20px;border:6px solid #c8956b;box-shadow:0 12px 40px rgba(160,82,45,.3);display:block;margin:0 auto}.portrait-frame.no-photo img{display:none}.portrait-candles{font-size:1.8rem;margin-top:14px;letter-spacing:8px}.candle-row{text-align:left;font-size:1.8rem;margin-bottom:16px;letter-spacing:8px}.section-title{font-family:'Playfair Display',serif;font-size:2.2rem;color:#5c3317;margin-bottom:16px}.section-text{max-width:680px;color:#6b4c3b;font-size:1.05rem;margin-bottom:8px}.links-section{padding:20px 24px 70px;background:#fdf8f4}.quick-links{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:24px}.quick-card{background:#fff;border-radius:16px;padding:32px 24px;text-align:center;border:1px solid #e8d4c0;box-shadow:0 4px 20px rgba(160,82,45,.08);transition:all .25s;display:block}.quick-card:hover{transform:translateY(-6px);box-shadow:0 12px 30px rgba(160,82,45,.15);border-color:#c8956b}.quick-icon{font-size:2.5rem;margin-bottom:14px}.quick-card h3{font-family:'Playfair Display',serif;font-size:1.3rem;color:#5c3317;margin-bottom:8px}.quick-card p{color:#7b5c4d;font-size:.95rem}.page-hero{background:linear-gradient(135deg,#3d1f0e,#7b3f1c);padding:60px 24px;text-align:center}.page-hero h1{font-family:'Playfair Display',serif;font-size:clamp(2rem,5vw,3rem);color:#fff;margin-bottom:10px}.page-hero p{color:#f5d9c0;font-size:1.05rem;font-style:italic}.about-section{padding:60px 24px}.about-grid{display:grid;grid-template-columns:300px 1fr;gap:48px;align-items:start}@media(max-width:768px){.about-grid{grid-template-columns:1fr}}.about-photo-box{border-radius:16px;overflow:hidden;height:320px;border:3px solid #c8956b;box-shadow:0 8px 24px rgba(160,82,45,.2)}.about-photo-box img{width:100%;height:100%;object-fit:cover;object-position:top center}.about-photo-box.no-photo{display:flex;align-items:center;justify-content:center;background:#f0e4d7;color:#a0714f;font-size:3rem}.about-details-box{background:#fff;border-radius:14px;padding:24px;margin-top:20px;border:1px solid #e8d4c0}.about-details-box h3{font-family:'Playfair Display',serif;color:#5c3317;margin-bottom:12px}.about-details-box ul{list-style:none}.about-details-box li{padding:6px 0;border-bottom:1px solid #f0e4d7;font-size:.95rem;color:#6b4c3b}.about-text-col h2{font-family:'Playfair Display',serif;font-size:2rem;color:#5c3317;margin-bottom:20px}.about-bio{color:#5c3d2e;font-size:1.05rem;margin-bottom:16px}.about-edit-note{background:#fff8f2;border-left:4px solid #c8956b;padding:12px 16px;border-radius:0 8px 8px 0;color:#7b5c4d;font-size:.95rem}.about-quote{font-family:'Playfair Display',serif;font-style:italic;font-size:1.4rem;color:#a0522d;border-left:4px solid #a0522d;padding:16px 24px;margin-top:28px;background:#fff8f2;border-radius:0 12px 12px 0}.gallery-section{padding:60px 24px}.slideshow-wrapper{position:relative;max-width:800px;margin:0 auto 48px}.slideshow{background:#2c1a0e;border-radius:20px;overflow:hidden;aspect-ratio:16/9;position:relative}.slide{display:none;width:100%;height:100%}.slide.active{display:flex;align-items:center;justify-content:center}.slide img{width:100%;height:100%;object-fit:cover}.slide-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;color:#c8956b;font-size:3rem;padding:40px;text-align:center;height:100%}.slide-placeholder p{font-size:1rem;margin-top:12px;font-family:'Lato',sans-serif;color:#a07050}.slide-btn{position:absolute;top:50%;transform:translateY(-50%);background:rgba(255,255,255,.85);border:none;border-radius:50%;width:44px;height:44px;font-size:1.1rem;cursor:pointer;transition:all .2s;z-index:5}.slide-btn:hover{background:#fff;box-shadow:0 4px 12px rgba(0,0,0,.2)}.prev{left:12px}.next{right:12px}.slide-dots{text-align:center;margin-top:14px}.dot{display:inline-block;width:10px;height:10px;border-radius:50%;background:#c8956b;margin:0 4px;cursor:pointer;opacity:.5;transition:opacity .2s}.dot.active{opacity:1}.upload-section{text-align:center;margin-bottom:48px;background:#fff;border-radius:16px;padding:40px 24px;border:1px solid #e8d4c0}.upload-section h2{font-family:'Playfair Display',serif;color:#5c3317;margin-bottom:10px}.upload-section p{color:#7b5c4d;margin-bottom:24px}.upload-label{display:inline-block;background:#a0522d;color:#fff;padding:14px 32px;border-radius:50px;cursor:pointer;font-weight:600;font-size:1rem;transition:all .25s}.upload-label:hover{background:#8b4513;transform:translateY(-2px)}.upload-note{font-size:.85rem;color:#a07050;margin-top:12px}.photo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:16px}.photo-grid-empty{grid-column:1/-1;text-align:center;color:#a07050;padding:40px;background:#fff;border-radius:12px;border:2px dashed #e8d4c0}.photo-thumb{border-radius:12px;overflow:hidden;aspect-ratio:1;cursor:pointer;box-shadow:0 4px 12px rgba(0,0,0,.1)}.photo-thumb img{width:100%;height:100%;object-fit:cover;transition:transform .3s}.photo-thumb:hover img{transform:scale(1.05)}.guestbook-section{padding:60px 24px}.guestbook-form-card{background:#fff;border-radius:20px;padding:40px 36px;border:1px solid #e8d4c0;box-shadow:0 6px 30px rgba(160,82,45,.1);margin-bottom:56px}.guestbook-form-card h2{font-family:'Playfair Display',serif;color:#5c3317;margin-bottom:8px}.form-subtitle{color:#7b5c4d;margin-bottom:28px;font-size:.95rem}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:20px}@media(max-width:600px){.form-row{grid-template-columns:1fr}}.form-group{margin-bottom:20px}.form-group label{display:block;font-weight:600;color:#5c3317;margin-bottom:8px;font-size:.9rem;letter-spacing:.03em}.form-group input,.form-group textarea{width:100%;padding:12px 16px;border:1.5px solid #e0cfc4;border-radius:10px;font-family:'Lato',sans-serif;font-size:.97rem;color:#3a2e2e;background:#fdf8f4;transition:border-color .2s;resize:vertical}.form-group input:focus,.form-group textarea:focus{outline:none;border-color:#a0522d;background:#fff}.flower-picker{display:flex;flex-wrap:wrap;gap:10px;margin-top:8px}.flower-btn{padding:8px 16px;border-radius:50px;border:1.5px solid #e0cfc4;background:#fdf8f4;cursor:pointer;font-size:.9rem;transition:all .2s}.flower-btn:hover,.flower-btn.active{border-color:#a0522d;background:#fff0e8;color:#a0522d;font-weight:600}.message-type-tabs{display:flex;gap:10px;margin-bottom:12px;flex-wrap:wrap}.msg-tab{padding:8px 18px;border-radius:50px;border:1.5px solid #e0cfc4;background:#fdf8f4;cursor:pointer;font-size:.9rem;transition:all .2s}.msg-tab:hover,.msg-tab.active{border-color:#a0522d;background:#fff0e8;color:#a0522d;font-weight:600}.btn-submit{width:100%;padding:16px;font-size:1rem;border-radius:12px;margin-top:8px}.entries-section h2{font-family:'Playfair Display',serif;color:#5c3317;margin-bottom:24px}.entries-list{display:flex;flex-direction:column;gap:20px}.entry-card{background:#fff;border-radius:16px;padding:24px 28px;border:1px solid #e8d4c0;box-shadow:0 4px 15px rgba(160,82,45,.07)}.entry-header{display:flex;align-items:center;gap:14px;margin-bottom:14px;flex-wrap:wrap}.entry-avatar{background:linear-gradient(135deg,#f5d9c0,#e8a87c);width:46px;height:46px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.4rem;flex-shrink:0}.entry-header strong{display:block;color:#3a2e2e;font-size:1rem}.entry-relation{display:inline-block;font-size:.8rem;color:#a07050;background:#fff0e8;padding:2px 10px;border-radius:50px;margin-left:8px}.entry-date{display:block;font-size:.82rem;color:#aaa;margin-top:2px}.entry-flower{font-size:1.8rem;margin-left:auto}.entry-message{color:#5c3d2e;line-height:1.75;font-size:.97rem;margin-bottom:12px}.entry-tag{display:inline-block;font-size:.78rem;padding:3px 12px;border-radius:50px}.kind-tag{background:#e8f5e9;color:#388e3c}.memory-tag{background:#fff8e1;color:#f9a825}.condolence-tag{background:#ede7f6;color:#7b1fa2}.footer{background:#2c1a0e;color:#f5d9c0;text-align:center;padding:28px 24px;font-size:.95rem;letter-spacing:.03em}@media(max-width:768px){.nav-links{gap:16px}.hero-buttons{flex-direction:column;align-items:center}.guestbook-form-card{padding:28px 20px}}