:root{--green:#063a2a;--green2:#03271d;--gold:#b78933;--gold2:#d6b466;--cream:#f7f2e9;--cream2:#eee6d9;--ink:#172620;--muted:#6d746f;--white:#fff;--line:#ded4c4;--shadow:0 14px 38px rgba(25,39,32,.10)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Arial,Helvetica,sans-serif;color:var(--ink);line-height:1.65;background:#fff}a{color:inherit}img{max-width:100%;display:block}.container{width:min(1200px,calc(100% - 44px));margin:auto}
h1,h2,h3{font-family:Georgia,"Times New Roman",serif;line-height:1.12;font-weight:500}.eyebrow{text-transform:uppercase;letter-spacing:.19em;font-size:.76rem;font-weight:700;color:var(--gold2)}.eyebrow--dark{color:#9c742d}.gold-rule{width:135px;height:1px;background:linear-gradient(90deg,var(--gold),#e0c78f,var(--gold));margin:22px 0}.gold-rule--center{margin:18px auto 0}
.top-strip{background:var(--green2);color:#fff;font-size:.82rem}.top-strip__inner{min-height:38px;display:flex;align-items:center;justify-content:flex-end;gap:22px;flex-wrap:wrap}.top-strip a{text-decoration:none}
.site-header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.97);border-bottom:1px solid #e8e0d5;backdrop-filter:blur(12px)}.nav{min-height:88px;display:flex;align-items:center;justify-content:space-between;gap:25px}.brand img{width:300px;height:68px;object-fit:contain;object-position:left center}.menu{display:flex;gap:26px;align-items:center}.menu a{text-decoration:none;text-transform:uppercase;font-size:.78rem;letter-spacing:.05em;font-weight:700}.menu a:hover{color:var(--gold)}.menu-call{background:var(--green);color:white;padding:11px 15px;border-radius:4px}.menu-toggle{display:none;background:none;border:1px solid var(--line);padding:9px 12px}
.photo-hero{min-height:610px;display:flex;align-items:center;background:linear-gradient(90deg,rgba(247,242,233,.98) 0%,rgba(247,242,233,.91) 47%,rgba(247,242,233,.24) 76%,rgba(5,37,27,.06) 100%),url('/assets/hero-fiori.jpg') right center/56% 100% no-repeat,var(--cream)}.photo-hero__content{padding:80px 22px}.photo-hero__content h1{font-size:clamp(3.2rem,6vw,5.8rem);color:var(--green);margin:10px 0 0;max-width:760px}.lead{font-family:Georgia,serif;font-size:1.25rem;max-width:610px;color:#39443f}.hero-actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:30px}.btn{display:inline-block;border-radius:4px;padding:13px 20px;text-decoration:none;font-weight:700;border:1px solid transparent;cursor:pointer}.btn-green{background:var(--green);color:#fff}.btn-gold{background:var(--gold);color:#13261e}.btn-cream{background:rgba(255,255,255,.66);border-color:var(--gold);color:#815d1c}
.section{padding:78px 0}.section-head{text-align:center;max-width:790px;margin:0 auto 42px}.section-head h2{font-size:clamp(2.3rem,4vw,3.5rem);color:var(--green);margin:6px 0}.services-section{background:#fffdf9}.photo-services{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.photo-service{background:#fff;border:1px solid #e3d9ca;box-shadow:var(--shadow);overflow:hidden}.photo-service img{width:100%;height:215px;object-fit:cover}.photo-service>div{padding:23px}.photo-service h3{font-size:1.55rem;color:var(--green);margin:0 0 8px}.photo-service p{margin:0;color:#555f5a}
.about-photo{background:var(--green);color:#fff}.about-grid{display:grid;grid-template-columns:1fr 1fr;align-items:stretch}.about-copy{padding:55px 60px 55px 0}.about-copy h2{font-size:clamp(2.5rem,4vw,3.6rem);margin:8px 0 20px}.about-copy p{color:#edf2ee}.about-image img{width:100%;height:100%;min-height:480px;object-fit:cover}.check-list{list-style:none;padding:0;margin:25px 0}.check-list li{padding:8px 0 8px 25px;position:relative}.check-list li:before{content:'✓';position:absolute;left:0;color:var(--gold2)}
.obituaries-home{background:linear-gradient(90deg,#f7f2e9,#fff,#f7f2e9)}.home-necro-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}.home-necro-card,.memory-card{background:#fff;border:1px solid #dfd3bf;box-shadow:var(--shadow);text-decoration:none}.home-necro-card img{width:100%;height:230px;object-fit:cover;object-position:center top}.home-necro-card div{padding:18px}.home-necro-card h3{font-size:1.45rem;color:var(--green);margin:0 0 6px}.home-necro-card p{font-size:.9rem;color:var(--muted)}.home-necro-card a{color:#8b651f;text-decoration:none}.memory-card{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:30px;color:var(--green)}.memory-card span{font-size:3rem;margin-bottom:12px}.memory-card strong{font-family:Georgia,serif;font-size:1.5rem}.memory-card small{margin-top:8px;color:var(--muted)}
.gallery-strip{display:grid;grid-template-columns:repeat(4,1fr)}.gallery-strip__item{height:270px;overflow:hidden}.gallery-strip img{width:100%;height:100%;object-fit:cover;transition:.5s}.gallery-strip__item:hover img{transform:scale(1.04)}
.contact-band{background:var(--green2);color:#fff}.contact-band__grid{display:grid;grid-template-columns:1fr 1fr .85fr}.contact-band__grid>div:first-child{padding:50px 45px 50px 0}.contact-band h2{font-size:2.5rem;margin:7px 0 22px}.contact-band a{text-decoration:none}.contact-photo img{width:100%;height:100%;min-height:400px;object-fit:cover}.map-card{background:#efe9df;color:var(--green);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:35px;gap:25px;font-family:Georgia,serif;font-size:1.25rem}
.necro-hero{padding:90px 0;text-align:center;background:linear-gradient(rgba(3,39,29,.73),rgba(3,39,29,.73)),url('/assets/servizio-fiori.jpg') center/cover;color:white}.necro-hero h1{font-size:clamp(3.5rem,7vw,6rem);margin:8px 0}.necro-list-section{background:var(--cream)}.notice{background:#fff;border-left:4px solid var(--gold);padding:16px 18px;margin-bottom:25px}.toolbar{max-width:560px;margin:0 auto 32px}.toolbar input,input,textarea{width:100%;padding:14px;border:1px solid #cfc4b3;border-radius:4px;font:inherit;background:#fff}.necro-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.necro-card{background:#fff;border:1px solid #ddd1bd;box-shadow:var(--shadow)}.necro-card__photo img{width:100%;height:340px;object-fit:cover;object-position:center top}.necro-card__body{padding:24px}.necro-card h2{font-size:2rem;color:var(--green);margin:0 0 6px}.meta{color:#887354}
.detail-hero{background:var(--green2);color:#fff;padding:22px 0}.detail-hero a{text-decoration:none}.detail-section{background:linear-gradient(90deg,#f5efe5,#fff)}.obit-detail{display:grid;grid-template-columns:370px 1fr;gap:48px;align-items:start}.portrait{width:100%;border:10px solid #fff;outline:1px solid #c9a45d;box-shadow:var(--shadow)}.obit-paper{background:#fff;padding:46px 48px;border:1px solid #ded2c0;box-shadow:var(--shadow);min-height:550px}.obit-paper h1{font-size:clamp(3rem,5vw,5rem);color:var(--green);margin:5px 0 8px}.dates{font-family:Georgia,serif;color:#9a7126;font-size:1.25rem}.obit-text{font-family:Georgia,serif;font-size:1.18rem}.info-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin:28px 0}.info{background:#faf6ef;border-left:2px solid var(--gold);padding:16px}.info strong{display:block;color:var(--green);margin-bottom:5px}.badge{display:inline-block;background:#efe3cc;color:#755316;padding:5px 9px;border-radius:999px;font-size:.8rem}.qrbox{background:var(--green2);color:#fff;text-align:center;padding:24px;margin-top:24px}.qrbox canvas,.qrbox img{background:#fff;padding:10px;max-width:100%;margin:15px auto}.condolences-section{background:var(--cream)}.columns{display:grid;grid-template-columns:1.2fr .8fr;gap:28px}.form{background:#fff;border:1px solid #ded2c0;padding:28px}.row{display:grid;grid-template-columns:1fr 1fr;gap:15px}.group{margin-bottom:16px}.group label{display:block;font-weight:700;color:var(--green);margin-bottom:6px}textarea{min-height:150px}.check{display:flex;gap:10px}.check input{width:auto;margin-top:6px}.condolence-aside{background:var(--green);color:white;display:flex;flex-direction:column;justify-content:center;text-align:center;padding:40px}.condolence-aside span{font-size:4rem}.condolence-aside h3{font-size:2rem}
.site-footer{background:#111816;color:#dce4df;padding:44px 0 20px}.footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:28px}.footer-brand img{width:280px;background:white;padding:8px}.site-footer a{text-decoration:none}.site-footer strong{color:#fff}.footer-bottom{border-top:1px solid rgba(255,255,255,.12);margin-top:28px;padding-top:18px;text-align:center;font-size:.82rem}.floating-call,.floating-whatsapp{position:fixed;right:16px;z-index:70;text-decoration:none;font-weight:700;border-radius:999px;box-shadow:0 8px 24px rgba(0,0,0,.2)}.floating-call{bottom:16px;background:var(--gold);color:#173026;padding:12px 16px}.floating-whatsapp{bottom:68px;background:#fff;color:var(--green);padding:11px 15px;border:1px solid #ddd}.empty{text-align:center;background:#fff;border:1px dashed #ccbfa9;padding:32px}
@media(max-width:980px){.menu-toggle{display:block}.menu{display:none;position:absolute;left:0;right:0;top:126px;background:#fff;padding:22px;flex-direction:column;box-shadow:0 15px 30px rgba(0,0,0,.12)}.menu.is-open{display:flex}.photo-services{grid-template-columns:repeat(2,1fr)}.home-necro-grid{grid-template-columns:repeat(2,1fr)}.about-grid,.contact-band__grid,.obit-detail,.columns{grid-template-columns:1fr}.about-copy{padding:45px 0}.contact-band__grid>div:first-child{padding:45px 0}.necro-grid{grid-template-columns:repeat(2,1fr)}.footer-grid{grid-template-columns:1fr 1fr}.photo-hero{background-size:75% 100%;background-position:right center}}
@media(max-width:620px){.container{width:min(100% - 26px,1200px)}.top-strip__inner{justify-content:center;gap:8px;padding:6px 0}.brand img{width:220px;height:58px}.site-header .nav{min-height:78px}.menu{top:116px}.photo-hero{min-height:560px;background:linear-gradient(rgba(247,242,233,.94),rgba(247,242,233,.87)),url('/assets/hero-fiori.jpg') center/cover}.photo-hero__content{padding:55px 0}.photo-hero__content h1{font-size:3.1rem}.photo-services,.home-necro-grid,.necro-grid,.footer-grid,.info-grid,.row{grid-template-columns:1fr}.gallery-strip{grid-template-columns:1fr 1fr}.gallery-strip__item{height:190px}.obit-paper{padding:28px 22px}.necro-card__photo img{height:360px}}

.sede-authentic-gallery{background:#fffdf9}
.real-office-grid{display:grid;grid-template-columns:1.25fr 1fr 1fr;gap:18px}
.real-office-grid figure{margin:0;background:#fff;border:1px solid #dfd3bf;box-shadow:var(--shadow);overflow:hidden}
.real-office-grid img{width:100%;height:320px;object-fit:cover}
.real-office-grid figure:first-child img{object-position:center 48%}
.real-office-grid figcaption{padding:13px 16px;font-family:Georgia,"Times New Roman",serif;color:var(--green);font-size:1.05rem}
@media(max-width:980px){.real-office-grid{grid-template-columns:1fr 1fr}.real-office-grid figure:first-child{grid-column:1/-1}}
@media(max-width:620px){.real-office-grid{grid-template-columns:1fr}.real-office-grid figure:first-child{grid-column:auto}.real-office-grid img{height:260px}}
