
    :root{--green:#087e46;--deep:#143f30;--mint:#e8f2eb;--cream:#f8f8f3;--ink:#18342a;--muted:#63736a;--line:#dce5dd;--white:#fff;--shadow:0 18px 55px rgba(20,63,48,.09)}
    *{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:'DM Sans',Arial,sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}img{display:block;max-width:100%}section{scroll-margin-top:94px}.container{width:min(1190px,calc(100% - 52px));margin-inline:auto}.eyebrow{font-size:.75rem;letter-spacing:.17em;text-transform:uppercase;font-weight:800;color:var(--green);display:flex;gap:12px;align-items:center}.eyebrow:before{content:"";height:1px;width:24px;background:currentColor}.section-title{font:700 clamp(2rem,4vw,3.7rem)/1.12 'Manrope',sans-serif;letter-spacing:-.055em;margin:17px 0 19px}.section-copy{font-size:1.07rem;line-height:1.75;color:#55685c;max-width:610px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:12px;border-radius:999px;padding:15px 23px;font-weight:700;font-size:.91rem;transition:transform .2s,background .2s,box-shadow .2s;border:1px solid transparent;white-space:nowrap}.btn:hover{transform:translateY(-2px)}.btn.primary{background:var(--green);color:white;box-shadow:0 9px 22px rgba(8,126,70,.18)}.btn.primary:hover{background:#056b39}.btn.light{background:#fff;color:var(--deep)}.btn.outline{border-color:#bdd4c5;color:var(--deep)}.arrow{font-size:1.1em}
    .announcement{background:var(--deep);color:#e5f6ec;text-align:center;padding:9px 20px;font-size:.76rem;letter-spacing:.02em}.announcement a{text-decoration:underline;text-underline-offset:3px}.header{height:89px;background:#fff;position:sticky;top:0;z-index:30;border-bottom:1px solid #edf0ed}.nav{height:100%;display:flex;align-items:center;justify-content:space-between;gap:25px}.brand{display:block;width:170px;flex:none}.brand img{width:100%;height:auto}.menu{display:flex;gap:27px;align-items:center;margin-left:auto}.menu a{font-weight:700;font-size:.85rem;color:#314c3d}.menu a:hover{color:var(--green)}.nav-actions{display:flex;gap:12px;align-items:center}.nav-actions .btn{padding:12px 19px;font-size:.82rem}.menu-toggle{display:none;border:0;background:none;color:var(--deep);font-size:1.5rem}
    .hero{position:relative;overflow:hidden;background:#e9f1e9}.hero-grid{min-height:640px;display:grid;grid-template-columns:53% 47%;align-items:stretch}.hero-content{padding:92px 8% 80px max(26px,calc((100vw - 1190px)/2));position:relative;z-index:2}.hero h1{font:700 clamp(2.75rem,5.2vw,5.65rem)/1.065 'Manrope',sans-serif;letter-spacing:-.07em;margin:25px 0;color:#163c2e;max-width:670px}.hero h1 em{font-style:normal;color:var(--green)}.hero p{font-size:1.09rem;line-height:1.72;color:#4c6656;max-width:480px;margin:0 0 32px}.hero-buttons{display:flex;gap:13px;flex-wrap:wrap}.hero-photo{position:relative;min-height:560px;overflow:hidden}.hero-photo img{width:100%;height:100%;object-fit:cover;object-position:50% 57%}.hero-photo:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(233,241,233,.26),transparent 33%)}.hero-caption{position:absolute;bottom:27px;left:29px;z-index:2;background:rgba(255,255,255,.91);padding:14px 19px;border-radius:13px;backdrop-filter:blur(12px);color:#22543e;font-size:.82rem;font-weight:700}.hero-stamp{display:flex;align-items:center;gap:12px;margin-top:47px;color:#527262;font-weight:700;font-size:.76rem;letter-spacing:.055em;text-transform:uppercase}.hero-stamp i{width:32px;height:32px;border:1px solid #9cbdab;border-radius:50%;display:grid;place-items:center;font-style:normal;color:var(--green)}
    .quick{position:relative;z-index:4;margin-top:-27px}.quick-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.quick-card{display:flex;align-items:center;gap:16px;background:#fff;padding:21px 24px;border-radius:17px;box-shadow:var(--shadow);border:1px solid #ebefea}.quick-icon{width:45px;height:45px;display:grid;place-items:center;border-radius:14px;background:var(--mint);font-size:1.4rem;color:var(--green);flex:none}.quick-card strong{font-size:.89rem}.quick-card p{margin:4px 0 0;color:var(--muted);font-size:.79rem}.intro{padding:127px 0 111px}.split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(48px,8vw,130px);align-items:center}.intro-visual{position:relative}.intro-visual>img{height:560px;width:100%;object-fit:cover;border-radius:24px}.visual-badge{position:absolute;right:-24px;bottom:-24px;background:var(--green);color:white;border-radius:19px;padding:27px 31px;box-shadow:var(--shadow)}.visual-badge span{display:block;font-size:2.25rem;font-family:Manrope;font-weight:800;letter-spacing:-.07em}.visual-badge small{font-size:.8rem}.intro .section-copy{margin-bottom:28px}.value-list{display:grid;gap:15px;margin-top:28px}.value-list div{display:flex;gap:11px;align-items:center;font-size:.92rem;font-weight:600}.check{width:24px;height:24px;display:grid;place-items:center;border-radius:50%;background:var(--mint);color:var(--green);font-weight:900}
    .services{background:white;padding:107px 0 111px}.section-head{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:38px}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:17px}.service-card{border:1px solid var(--line);border-radius:19px;padding:30px 28px;min-height:230px;transition:transform .2s,box-shadow .2s;background:#fff}.service-card:hover{transform:translateY(-4px);box-shadow:var(--shadow)}.service-number{display:flex;justify-content:space-between;align-items:center;color:var(--green);font-weight:700;font-size:.76rem}.service-glyph{font-size:1.55rem}.service-card h3{margin:34px 0 10px;font:800 1.12rem/1.3 Manrope;letter-spacing:-.035em}.service-card p{margin:0;color:var(--muted);line-height:1.6;font-size:.86rem}.service-more{margin-top:26px;padding:24px 28px;background:#f3f8f4;border-radius:17px;display:flex;gap:18px;align-items:center;justify-content:space-between;color:#496759;font-size:.9rem;line-height:1.55}.service-more strong{color:var(--deep)}
    .departments{padding:108px 0;background:#f0f4ee}.department-grid{display:grid;grid-template-columns:1.12fr .88fr .88fr;gap:18px;margin-top:40px}.dept{height:420px;position:relative;border-radius:19px;overflow:hidden;background:#d6ded8}.dept img{height:100%;width:100%;object-fit:cover;transition:transform .5s}.dept:hover img{transform:scale(1.035)}.dept:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(7,42,27,.8),transparent 55%)}.dept-label{position:absolute;z-index:2;left:27px;bottom:25px;color:white}.dept-label small{display:block;color:#bde4ca;font-size:.68rem;text-transform:uppercase;letter-spacing:.16em;margin-bottom:8px}.dept-label strong{font:700 1.45rem/1.2 Manrope;letter-spacing:-.04em}
    .heritage{padding:112px 0;background:#fff}.heritage .split{gap:70px}.heritage-photo{position:relative}.heritage-photo img{border-radius:22px;width:100%;height:460px;object-fit:cover}.heritage-photo:after{content:"Dal 1972";position:absolute;bottom:20px;left:21px;border-radius:999px;padding:12px 22px;background:white;color:var(--green);font-weight:800;font-size:.82rem}.heritage blockquote{border-left:3px solid var(--green);margin:27px 0 0;padding:5px 0 5px 23px;color:var(--deep);line-height:1.7;font-size:1.03rem}
    .novamedi{padding:92px 0;background:var(--deep);color:#fff;position:relative;overflow:hidden}.novamedi:before{content:"✳";font-size:460px;line-height:1;position:absolute;right:-120px;top:-150px;color:rgba(255,255,255,.025)}.novamedi .container{position:relative;display:grid;grid-template-columns:1fr auto;align-items:center;gap:60px}.novamedi .eyebrow{color:#a3dcb9}.novamedi .section-title{max-width:700px}.novamedi p{max-width:660px;color:#c8dace;line-height:1.7;font-size:1rem}.novamedi .btn{box-shadow:none}
    .gallery{padding:103px 0;background:#fff}.gallery-grid{display:grid;grid-template-columns:1.35fr .8fr .8fr;grid-template-rows:210px 210px;gap:14px;margin-top:36px}.gallery-grid img{width:100%;height:100%;object-fit:cover;border-radius:15px}.gallery-grid img:first-child{grid-row:span 2}.gallery-grid img:nth-child(2){grid-column:span 2}.gallery-grid img:nth-child(3){grid-column:span 1}.gallery-grid img:nth-child(4){grid-column:span 1}
    .contact{background:var(--cream);padding:107px 0}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:start}.contact-details{display:grid;gap:21px;margin-top:35px}.contact-item{display:flex;gap:19px;align-items:start}.contact-item .quick-icon{background:#e2eee5}.contact-item b{display:block;margin-bottom:5px;font-size:.96rem}.contact-item p,.contact-item a{font-size:.94rem;line-height:1.55;color:#5a6b60;margin:0}.contact-item a:hover{text-decoration:underline}.hours{background:white;border-radius:24px;padding:37px 40px;box-shadow:var(--shadow);border:1px solid var(--line)}.hours h3{font:800 1.55rem Manrope;letter-spacing:-.04em;margin:0 0 7px}.hours>p{font-size:.86rem;color:var(--muted);margin:0 0 29px}.hour-row{display:flex;justify-content:space-between;gap:15px;padding:17px 0;border-top:1px solid var(--line);font-size:.93rem}.hour-row strong{color:var(--deep)}.hour-row em{font-style:normal;color:var(--green);font-weight:700}.hour-row .closed{color:#86928a}.hours .btn{margin-top:30px;width:100%}.location-link{display:flex;align-items:center;justify-content:space-between;margin-top:19px;padding:19px 22px;background:#e5eee7;border-radius:13px;font-size:.88rem;font-weight:700;color:var(--green)}
    .footer{background:#112f24;color:#fff;padding:65px 0 27px}.footer-main{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:60px}.footer-logo{width:178px;background:#fff;border-radius:11px;padding:8px 10px}.footer p{color:#b7cec0;line-height:1.7;font-size:.86rem;max-width:350px}.footer h4{font:800 .86rem Manrope;margin:7px 0 20px}.footer a{display:block;margin:12px 0;font-size:.85rem;color:#c4d6ca}.footer a:hover{color:#fff}.footer-bottom{border-top:1px solid rgba(255,255,255,.15);margin-top:55px;padding-top:23px;display:flex;justify-content:space-between;gap:20px;color:#90ae9b;font-size:.74rem}.wa-float{position:fixed;bottom:24px;right:24px;z-index:40;display:flex;align-items:center;gap:9px;padding:14px 18px;border-radius:999px;background:#1fa65d;color:white;font-weight:800;font-size:.83rem;box-shadow:0 8px 35px rgba(7,65,36,.28)}.wa-float:hover{background:#138747}
    @media(max-width:1020px){.menu{gap:15px}.hero-grid{grid-template-columns:55% 45%}.hero-content{padding-left:32px;padding-right:35px}.service-grid{grid-template-columns:repeat(2,1fr)}.department-grid{grid-template-columns:1fr 1fr}.dept:first-child{grid-row:span 2;height:auto}.dept{height:260px}.contact-grid{gap:30px}}
    @media(max-width:760px){.container{width:min(100% - 36px,540px)}.announcement{font-size:.68rem}.header{height:74px}.brand{width:138px}.nav-actions>.btn{display:none}.menu-toggle{display:block}.menu{display:none;position:absolute;left:0;right:0;top:74px;background:white;padding:22px 25px 29px;border-top:1px solid var(--line);box-shadow:0 18px 25px rgba(20,63,48,.08);flex-direction:column;align-items:flex-start;gap:21px}.menu.open{display:flex}.hero-grid{display:flex;flex-direction:column}.hero-content{padding:55px 24px 47px}.hero h1{font-size:clamp(2.65rem,10vw,4rem)}.hero-photo{height:365px;min-height:0}.hero-stamp{margin-top:32px}.quick{margin-top:18px}.quick-grid{grid-template-columns:1fr;gap:9px}.quick-card{padding:16px 19px}.intro,.services,.departments,.heritage,.gallery,.contact{padding:76px 0}.split,.contact-grid{grid-template-columns:1fr;gap:43px}.intro-visual{order:2}.intro-visual>img{height:400px}.visual-badge{right:12px;bottom:-14px;padding:18px 23px}.section-title{font-size:clamp(2.1rem,8vw,3rem)}.section-head{display:block}.service-grid{grid-template-columns:1fr;gap:11px}.service-card{min-height:0;padding:24px}.service-card h3{margin:20px 0 9px}.service-more{display:block}.service-more .btn{margin-top:17px}.department-grid{grid-template-columns:1fr 1fr;gap:10px}.dept:first-child{grid-column:span 2;grid-row:auto;height:300px}.dept{height:230px}.dept-label{left:17px;bottom:17px}.dept-label strong{font-size:1.1rem}.heritage .split{gap:35px}.heritage-photo img{height:330px}.novamedi{padding:70px 0}.novamedi .container{grid-template-columns:1fr;gap:25px}.gallery-grid{grid-template-columns:1fr 1fr;grid-template-rows:repeat(3,170px);gap:9px}.gallery-grid img:first-child{grid-column:span 2;grid-row:auto}.gallery-grid img:nth-child(2){grid-column:span 2}.gallery-grid img:nth-child(3),.gallery-grid img:nth-child(4){grid-column:auto}.hours{padding:29px 25px}.footer-main{grid-template-columns:1fr 1fr;gap:25px}.footer-main>div:first-child{grid-column:span 2}.footer-bottom{display:block}.wa-float{right:14px;bottom:14px;padding:13px 15px}.wa-float .wa-label{display:none}}
    @media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}}
  
/* Multi-page extensions */
.inner-hero{padding:86px 0 74px;background:#e9f1e9;position:relative;overflow:hidden}.inner-hero .container{position:relative;z-index:1}.inner-hero h1{font:800 clamp(2.8rem,5vw,5.15rem)/1.08 Manrope,sans-serif;letter-spacing:-.065em;max-width:790px;margin:22px 0}.inner-hero p{max-width:650px;font-size:1.12rem;color:#50685b;line-height:1.7}.breadcrumb{font-size:.8rem;color:#6e8576;font-weight:700;margin-bottom:26px}.breadcrumb a{color:var(--green)}.inner-hero:after{content:'✳';font:500 450px/1 Arial;position:absolute;right:-80px;top:-170px;color:rgba(8,126,70,.048)}.page-section{padding:92px 0}.page-section.white{background:#fff}.page-section.soft{background:#f0f4ee}.page-cards{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;margin-top:36px}.page-card{padding:30px;border:1px solid var(--line);background:#fff;border-radius:20px}.page-card h3{font:800 1.21rem Manrope;letter-spacing:-.04em;margin:0 0 12px}.page-card p{color:var(--muted);font-size:.93rem;line-height:1.68;margin:0}.page-card .mini{display:inline-block;margin-bottom:20px;color:var(--green);letter-spacing:.13em;font-size:.7rem;text-transform:uppercase;font-weight:800}.text-link{display:inline-flex;margin-top:23px;color:var(--green);font-weight:800;font-size:.87rem}.feature-split{display:grid;grid-template-columns:1fr 1fr;gap:65px;align-items:center}.feature-split img{width:100%;height:470px;object-fit:cover;border-radius:23px}.feature-split p{color:var(--muted);line-height:1.8}.feature-split ul{padding-left:18px;color:#546c5b;line-height:1.9}.notice{background:#e6f0e9;color:#355e45;padding:24px 29px;border-radius:15px;line-height:1.65}.info-band{background:var(--deep);color:#fff;padding:65px 0}.info-band .container{display:flex;align-items:center;justify-content:space-between;gap:35px}.info-band h2{font:800 2.1rem Manrope;letter-spacing:-.06em;margin:0 0 10px}.info-band p{color:#bfd8c8;margin:0;line-height:1.6}.faq{display:grid;grid-template-columns:.7fr 1.3fr;gap:65px}.faq details{border-bottom:1px solid var(--line);padding:22px 0}.faq summary{font-weight:800;cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:15px}.faq summary:after{content:'+';color:var(--green);font-size:1.3rem}.faq details[open] summary:after{content:'−'}.faq details p{color:var(--muted);line-height:1.7;font-size:.9rem}.contact-map{border-radius:20px;overflow:hidden;height:300px;background:#dfebe0;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:18px;color:#2d5b41;text-align:center;padding:25px}.contact-map strong{font:800 1.45rem Manrope}.contact-map a{font-weight:800;color:var(--green)}.footer-links{display:flex;gap:12px;flex-wrap:wrap}
@media(max-width:760px){.inner-hero{padding:55px 0}.page-section{padding:70px 0}.page-cards,.feature-split,.faq{grid-template-columns:1fr;gap:24px}.feature-split img{height:300px}.info-band .container{display:block}.info-band .btn{margin-top:23px}.page-card{padding:25px}.contact-map{height:230px}}

.line-icon{width:33px;height:33px;display:block}.pict-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:17px;margin-top:38px}.pict-card{background:#fff;border:1px solid #dce8e0;border-radius:21px;padding:27px 24px;min-height:242px;transition:box-shadow .2s,transform .2s}.pict-card:hover{box-shadow:var(--shadow);transform:translateY(-3px)}.pict-icon{width:64px;height:64px;display:grid;place-items:center;color:var(--green);background:#e7f2ea;border-radius:18px;margin-bottom:25px}.pict-card h3{font:800 1.1rem/1.3 Manrope;letter-spacing:-.035em;margin:0 0 11px}.pict-card p{font-size:.88rem;line-height:1.68;color:#63736a;margin:0}.macro-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:17px;margin-top:38px}.macro-card{border-radius:22px;padding:32px 29px;background:#f2f7f2;border:1px solid #dce8e0;min-height:380px;display:flex;flex-direction:column;align-items:flex-start;transition:transform .2s,box-shadow .2s}.macro-card:hover{transform:translateY(-4px);box-shadow:var(--shadow)}.macro-card span{font-size:.7rem;font-weight:800;letter-spacing:.15em;color:var(--green)}.macro-card h3{font:800 1.5rem/1.18 Manrope;letter-spacing:-.05em;margin:16px 0 9px}.macro-card p{font-size:.9rem;line-height:1.7;color:#64756a;margin:0}.macro-card strong{margin-top:auto;padding-top:24px;color:var(--green);font-size:.89rem}.reviews{background:#eef4ed;padding:91px 0}.review-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:17px;margin-top:32px}.review-grid blockquote{background:white;border-radius:20px;padding:27px;margin:0;min-height:180px;display:flex;flex-direction:column}.review-grid p{font:700 1.13rem/1.5 Manrope;letter-spacing:-.025em;margin:17px 0}.review-grid footer{font-size:.73rem;color:#7b8e81;margin-top:auto}.review-stars{color:#12854b;font-size:.9rem;letter-spacing:.13em}.reviews .text-link{margin-top:26px}.booking-actions{display:flex;gap:13px;flex-wrap:wrap;margin-top:26px}
@media(max-width:1060px){.pict-grid{grid-template-columns:repeat(3,1fr)}.menu{gap:14px}.menu a{font-size:.78rem}.nav-actions .btn{padding:11px 14px}}
@media(max-width:760px){.pict-grid{grid-template-columns:repeat(2,1fr);gap:11px}.pict-card{padding:22px 19px;min-height:235px}.pict-icon{width:54px;height:54px;border-radius:15px;margin-bottom:21px}.line-icon{width:29px;height:29px}.macro-grid,.review-grid{grid-template-columns:1fr}.macro-card{min-height:295px}.reviews{padding:75px 0}.review-grid blockquote{min-height:0}}
@media(max-width:410px){.pict-grid{grid-template-columns:1fr}.pict-card{min-height:0}}

/* V3 — bounded identity/header refinements */
.header .brand{width:120px;height:100%;display:flex;align-items:center;justify-content:flex-start;overflow:hidden;flex:none}
.header .brand img{height:76px;width:auto;max-width:none;object-fit:contain}
.header .menu a{text-transform:uppercase;letter-spacing:.065em;font-size:.75rem}
.footer-logo{background:transparent!important;padding:0!important;border-radius:0!important;filter:grayscale(1) invert(1) contrast(50);mix-blend-mode:screen}
@media(max-width:1060px){.header .menu a{font-size:.69rem;letter-spacing:.03em}}
@media(max-width:760px){.header .brand{width:105px}.header .brand img{height:63px}.header .menu a{font-size:.82rem;letter-spacing:.06em}}

/* V4: floating photo labels removed, concise contact icons */
.hero-caption,.visual-badge,.dept-label{display:none!important}
.heritage-photo:after{content:none!important;display:none!important}
.icon-button{width:46px;height:46px;min-width:46px;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;background:var(--green);color:#fff;border:0;box-shadow:0 5px 18px rgba(8,126,70,.16);vertical-align:middle;transition:transform .2s,background .2s}
.icon-button:hover{transform:translateY(-2px);background:#056b39}
.icon-button svg{display:block}
.nav-actions .icon-button{width:44px;height:44px;min-width:44px}
.wa-float.icon-button{position:fixed;right:24px;bottom:24px;width:54px;height:54px;min-width:54px;padding:0;z-index:40;background:#1fa65d;border-radius:50%;box-shadow:0 8px 30px rgba(7,65,36,.25)}
.wa-float.icon-button:hover{background:#138747}
@media(max-width:760px){.wa-float.icon-button{right:14px;bottom:14px}}

/* V5 — contacts page only, arranged to supplied reference */
.contacts-v5{padding-top:72px;padding-bottom:74px}
.contacts-v5 .contact-grid{align-items:start;gap:clamp(40px,7vw,100px)}
.contacts-v5 .contact-details{margin-top:0;gap:28px}
.contacts-v5 .contact-item{align-items:center;gap:20px}
.contacts-v5 .contact-item .quick-icon{height:52px;width:52px;min-width:52px;border-radius:17px;font-size:1.35rem}
.contacts-v5 .contact-item b{font-size:1rem;margin-bottom:8px}
.contacts-v5 .contact-item p,.contacts-v5 .contact-item a{font-size:.98rem}
.contacts-v5 .wa-contact-symbol svg{height:26px;width:26px;stroke-width:2.2}
.contacts-v5 .contact-actions{display:flex;gap:16px;align-items:center;flex-wrap:wrap;margin-top:43px}
.contacts-v5 .contact-actions .btn{min-height:48px;padding-inline:25px}
.contacts-v5 .contact-actions .icon-button{width:48px;height:48px;min-width:48px}
.contacts-v5 .hours{padding:39px 39px 42px}
.contacts-v5 .hours .hour-row{padding:22px 0}
.novamedi-contact-band{background:#20523d;border-top:1px solid rgba(255,255,255,.17)}
@media(max-width:760px){.contacts-v5{padding-top:47px;padding-bottom:65px}.contacts-v5 .contact-grid{gap:45px}.contacts-v5 .contact-actions{gap:12px;margin-top:33px}.contacts-v5 .contact-details{gap:23px}.contacts-v5 .hours{padding:29px 25px}}

/* V6 — unified visual system: one Mellini green and one pale-green surface */
:root{--green:#087e46;--deep:#183b2d;--mint:#e7f2ea;--cream:#fafbf9;--ink:#1c392c;--muted:#627469;--line:#dce9df;--shadow:0 16px 42px rgba(13,75,42,.065)}
body{background:var(--cream);color:var(--ink)}
.announcement{background:var(--mint);color:var(--deep);border-bottom:1px solid var(--line);font-size:.78rem;padding:10px 20px}
.announcement a{color:var(--green)}
.header{border-bottom:1px solid var(--line)}
.header .menu{gap:clamp(15px,1.8vw,26px)}
.header .menu a{font-size:.85rem;letter-spacing:.045em;font-weight:700;color:var(--ink)}
.header .menu a:hover{color:var(--green)}
.hero{background:var(--mint)}
.hero h1{font-size:clamp(2.65rem,4.5vw,4.85rem);color:var(--ink)}
.hero h1 em{color:var(--green)}
.hero-photo:after{background:linear-gradient(90deg,rgba(231,242,234,.24),transparent 33%)}
.section-title{font-size:clamp(1.9rem,3.15vw,2.95rem);line-height:1.17;letter-spacing:-.045em;margin:14px 0 18px}
.section-copy{font-size:1rem;line-height:1.75}
.eyebrow{font-size:.72rem;letter-spacing:.15em}
.page-section{padding:82px 0}
.page-section.soft,.departments,.reviews{background:var(--mint)}
.pict-icon,.quick-icon,.contact-item .quick-icon,.macro-card{background:var(--mint)}
.pict-card h3{font-size:1.07rem}
.pict-card p{font-size:.87rem}
.pict-grid{margin-top:32px;gap:15px}
.macro-card{min-height:350px}
.macro-card h3{font-size:1.36rem}
.info-band,.novamedi-contact-band{background:var(--mint);color:var(--ink);border-top:1px solid var(--line)}
.info-band h2{color:var(--ink);font-size:clamp(1.4rem,2.25vw,1.85rem);letter-spacing:-.04em}
.info-band p{color:var(--muted);font-size:.92rem}
.info-band .btn.light{background:var(--green);color:#fff;box-shadow:none}
.novamedi{background:var(--mint);color:var(--ink)}
.novamedi .eyebrow{color:var(--green)}
.novamedi p{color:var(--muted)}
.novamedi .btn.light{background:var(--green);color:#fff}
.novamedi:before{color:rgba(8,126,70,.055)}
.footer{background:var(--green);color:#fff}
.footer p,.footer a{color:rgba(255,255,255,.87)}
.footer-bottom{color:rgba(255,255,255,.73);border-top-color:rgba(255,255,255,.28)}
.footer-logo{filter:grayscale(1) invert(1) contrast(50);mix-blend-mode:screen}
.btn.primary,.icon-button{background:var(--green)}
.btn.primary:hover,.icon-button:hover{background:#076a3b}
.btn.outline{border-color:#bed9c6}
.hours{box-shadow:0 12px 40px rgba(14,74,43,.055)}
@media(max-width:1060px){.header .menu a{font-size:.79rem;letter-spacing:.025em}.header .menu{gap:14px}}
@media(max-width:760px){.header .menu a{font-size:.86rem;letter-spacing:.045em}.section-title{font-size:clamp(1.9rem,7vw,2.55rem)}.hero h1{font-size:clamp(2.5rem,9vw,3.65rem)}.page-section{padding:68px 0}.info-band{padding:48px 0}.pict-grid{margin-top:27px}}

/* V7 — visual parity with Nova Medi: neutral cream, dark forest, sage surfaces and serif headings */
:root{--green:#194d3a;--deep:#194d3a;--mint:#e7eee6;--cream:#faf9f4;--ink:#244437;--muted:#66756a;--line:#dfe4db;--shadow:0 12px 38px rgba(36,68,55,.06)}
body{background:var(--cream);color:var(--ink);font-family:Arial,Helvetica,sans-serif}
.header{background:var(--cream);height:83px;border-bottom:1px solid var(--line)}
.header .menu a{font-family:Arial,Helvetica,sans-serif;font-size:.76rem;font-weight:700;letter-spacing:.105em;color:var(--ink)}
.header .menu{gap:clamp(16px,2vw,28px)}
.announcement{background:#f4f4ee;color:var(--ink);border-bottom:1px solid var(--line)}
.announcement a{color:var(--deep)}
.hero{background:var(--cream)}
.hero h1{font-family:Georgia,'Times New Roman',serif;font-weight:400;letter-spacing:-.035em;line-height:1.075;font-size:clamp(3.1rem,5.15vw,5.15rem);color:var(--ink)}
.hero h1 em{color:var(--green)}
.hero p,.section-copy{color:var(--muted);font-size:1.02rem;line-height:1.72}
.section-title{font-family:Georgia,'Times New Roman',serif;font-weight:400;letter-spacing:-.033em;line-height:1.12;font-size:clamp(2.3rem,3.9vw,3.55rem);margin:15px 0 20px}
.eyebrow{color:var(--deep);letter-spacing:.16em;font-weight:700;font-size:.73rem}
.page-section,.intro,.services,.heritage,.gallery,.contact{background:var(--cream)}
.page-section.white,.services,.heritage,.gallery{background:#fff}
.page-section.soft,.departments,.reviews,.novamedi{background:var(--mint)}
.quick-card,.service-card,.pict-card,.page-card,.hours,.review-grid blockquote{background:var(--cream);border-color:var(--line);box-shadow:none}
.pict-icon,.quick-icon,.contact-item .quick-icon,.macro-card,.check{background:var(--mint);color:var(--green)}
.pict-card h3,.service-card h3,.macro-card h3,.page-card h3,.hours h3,.footer h4{font-family:Georgia,'Times New Roman',serif;font-weight:400;letter-spacing:-.02em}
.pict-card h3{font-size:1.32rem}.service-card h3{font-size:1.38rem}.macro-card h3{font-size:1.75rem}.page-card h3{font-size:1.42rem}
.hours h3{font-size:1.75rem}.review-grid p{font-family:Georgia,'Times New Roman',serif;font-weight:400;font-size:1.28rem}
.info-band,.novamedi-contact-band{background:var(--mint);border-top:1px solid var(--line);color:var(--ink)}
.info-band h2{font-family:Georgia,'Times New Roman',serif;font-weight:400;letter-spacing:-.025em;font-size:clamp(1.85rem,2.6vw,2.55rem)}
.info-band p,.novamedi p{color:var(--muted)}
.novamedi:before{color:rgba(36,68,55,.045)}
.btn{font-family:Arial,Helvetica,sans-serif;font-size:.84rem;font-weight:700;box-shadow:none!important}
.btn.primary,.info-band .btn.light,.novamedi .btn.light,.icon-button,.wa-float.icon-button{background:var(--green);color:#fff}
.btn.primary:hover,.info-band .btn.light:hover,.novamedi .btn.light:hover,.icon-button:hover,.wa-float.icon-button:hover{background:#123d2c}
.btn.outline{border-color:#cbd8cd;color:var(--ink)}
.visual-badge,.service-more,.notice,.location-link{background:var(--mint);color:var(--ink)}
.service-more strong,.text-link,.review-stars,.contact-map a{color:var(--green)}
.footer{background:var(--green);color:#fff}
.footer-logo{filter:grayscale(1) invert(1) contrast(50);mix-blend-mode:screen}
.icon-button{display:inline-flex;align-items:center;justify-content:center;border-radius:50%;padding:0;line-height:1;flex:none}
.icon-button .wa-symbol,.wa-contact-symbol .wa-symbol{width:23px;height:23px;display:block;stroke-width:1.7;overflow:visible}
.wa-float.icon-button .wa-symbol{width:25px;height:25px}
.contact-item .wa-symbol{width:25px;height:25px;stroke-width:1.7}
.wa-text-cta{width:48px;height:48px;min-width:48px;vertical-align:middle}
.booking-actions{align-items:center}
.wa-float.icon-button{box-shadow:0 7px 21px rgba(25,77,58,.15)}
@media(max-width:1060px){.header .menu a{font-size:.72rem;letter-spacing:.065em}.header .menu{gap:14px}}
@media(max-width:760px){.header{height:74px}.header .menu a{font-size:.81rem;letter-spacing:.095em}.hero h1{font-size:clamp(2.85rem,10vw,4rem)}.section-title{font-size:clamp(2.2rem,8vw,3.05rem)}.page-section{padding:68px 0}.wa-text-cta{width:46px;height:46px;min-width:46px}}

/* V11: exact Nova Medi forest/sage palette already established in V7; icon harmonization */
:root{--green:#194d3a;--deep:#194d3a;--mint:#e7eee6;--cream:#faf9f4;--ink:#244437;--muted:#66756a;--line:#dfe4db}
.quick-icon,.pict-icon,.icon-button,.contact-item .quick-icon{display:inline-flex;align-items:center;justify-content:center;line-height:1;text-align:center}
.quick-icon svg,.pict-icon svg,.icon-button svg,.contact-item .quick-icon svg{display:block;flex:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;transform:none}
.icon-button .wa-symbol,.wa-contact-symbol .wa-symbol,.contact-item .wa-symbol{width:23px;height:23px;stroke-width:1.7;overflow:visible}
.wa-float.icon-button .wa-symbol{width:25px;height:25px}
.contacts-v5 .wa-contact-symbol svg{width:25px;height:25px;stroke-width:1.7}
.line-icon{stroke-width:1.7}
.header .brand img,.footer-logo{background:transparent}

/* V12: footer-only typographic refinement to match the Nova Medi visual hierarchy */
.footer-main h4{font-family:Arial,Helvetica,sans-serif;font-size:1.05rem;font-weight:700;line-height:1.4;letter-spacing:0;margin:7px 0 18px;color:#fff}
.footer-main>div:not(:first-child) a{font-family:Arial,Helvetica,sans-serif;font-size:.96rem;line-height:1.55;font-weight:400}
.footer-main p{font-family:Arial,Helvetica,sans-serif;font-size:.96rem;line-height:1.65}

/* V13: Nova Medi footer section labels and faithful white logo rendering. */
.footer-main h4{border-top:1px solid rgba(255,255,255,.32);padding-top:17px;margin:0 0 22px;text-transform:uppercase;letter-spacing:.18em;font-size:.91rem;font-weight:700;line-height:1.45;color:rgba(255,255,255,.86)}
.footer-logo{filter:brightness(0) invert(1)!important;mix-blend-mode:normal!important}

/* V14: La farmacia photographic gallery only */
.pharmacy-photo-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:14px}
.pharmacy-photo-grid img{display:block;width:100%;height:330px;min-width:0;object-fit:cover;border-radius:5px;grid-column:span 4}
.pharmacy-photo-grid img:nth-child(-n+2),.pharmacy-photo-grid img:nth-child(n+6){grid-column:span 6;height:365px}
@media(max-width:760px){.pharmacy-photo-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.pharmacy-photo-grid img,.pharmacy-photo-grid img:nth-child(-n+2),.pharmacy-photo-grid img:nth-child(n+6){grid-column:span 1;height:255px}.pharmacy-photo-grid img:first-child{grid-column:span 2;height:320px}}
@media(max-width:480px){.pharmacy-photo-grid{grid-template-columns:1fr}.pharmacy-photo-grid img,.pharmacy-photo-grid img:nth-child(-n+2),.pharmacy-photo-grid img:nth-child(n+6),.pharmacy-photo-grid img:first-child{grid-column:1;height:auto;aspect-ratio:4/3}}

/* V17: keep the homepage quick links below, not across, the hero photograph. */
@media(min-width:761px){.quick{margin-top:24px}}

/* V18: consistent section-heading scale for the homepage feature blocks. */
.services .section-title,.novamedi .section-title,.reviews .section-title{font-size:clamp(2.3rem,3.9vw,3.55rem)}
@media(max-width:760px){.services .section-title,.novamedi .section-title,.reviews .section-title{font-size:clamp(2.2rem,8vw,3.05rem)}}

/* V19 — Nova Medi-inspired backgrounds, typography and square-edged panels. */
:root{--cream:#faf9f4;--mint:#e7eee6;--line:#dfe4db}
body{background:#fff}
.announcement,.header{background:#fff}
.hero{background:var(--cream)}
.inner-hero{background:var(--mint)}
.page-section,.page-section.white,.services,.contact{background:#fff}
.page-section.soft,.reviews,.novamedi{background:var(--mint)}
.reviews{background:var(--cream)}
.services{background:#fff}
.quick{background:#fff}
.services .macro-card{background:var(--cream)}
.novamedi{background:var(--mint)}
.novamedi:before{content:"";background:url('assets/logo-mark.png') center/contain no-repeat;right:-60px;top:8px;width:350px;height:330px;opacity:.075;pointer-events:none}
.inner-hero:after{content:"";background:url('assets/logo-mark.png') center/contain no-repeat;right:-48px;top:-56px;width:360px;height:350px;opacity:.07;pointer-events:none}
.section-title,.services .section-title,.novamedi .section-title,.reviews .section-title{font-family:Georgia,'Times New Roman',serif;font-size:clamp(2.3rem,3.9vw,3.55rem);font-weight:400;letter-spacing:-.033em;line-height:1.12}
.section-copy,.hero p,.inner-hero p,.feature-split p,.novamedi p{font-family:Arial,Helvetica,sans-serif;line-height:1.7;color:var(--muted)}
.eyebrow{font-family:Arial,Helvetica,sans-serif;font-size:.79rem;font-weight:700;letter-spacing:.17em}
.eyebrow:before{display:none}
.btn,.quick-card,.service-card,.service-more,.dept,.intro-visual>img,.heritage-photo img,.gallery-grid img,.hours,.location-link,.page-card,.feature-split img,.notice,.contact-map,.pict-card,.pict-icon,.quick-icon,.macro-card,.review-grid blockquote,.pharmacy-photo-grid img,.visual-badge,.hero-caption{border-radius:0}
.icon-button,.wa-float.icon-button,.hero-stamp i,.check{border-radius:50%}
.contacts-v5 .contact-item .quick-icon{border-radius:0}
.btn.primary{box-shadow:none}
.macro-card,.pict-card,.page-card,.service-card,.quick-card,.review-grid blockquote,.hours{box-shadow:none}
.page-card,.pict-card,.service-card,.macro-card{border:1px solid var(--line)}
.contact-map{background:var(--mint)}
@media(max-width:760px){.section-title,.services .section-title,.novamedi .section-title,.reviews .section-title{font-size:clamp(2.2rem,8vw,3.05rem)}.inner-hero:after{width:230px;height:230px;right:-90px;top:-15px}.novamedi:before{width:250px;height:240px;right:-90px;top:20px}}

/* V20 — adjustments limited to contacts, pharmacy introduction and medicine requests. */
.contacts-v5 .hours{background:var(--mint);height:calc(4 * 52px + 3 * 28px);padding:20px 29px;display:flex;flex-direction:column;justify-content:space-between;box-shadow:none}
.contacts-v5 .hours h3,.contacts-v5 .hours > p{margin-bottom:0}
.contacts-v5 .hours .hour-row{padding:9px 0}
.page-section:has(> .feature-split > img[src$="banco.webp"]) .feature-split,
.page-section:has(> .feature-split > img[src$="prenotazione-v10.webp"]) .feature-split{align-items:stretch}
.page-section .feature-split > img[src$="banco.webp"],
.page-section .feature-split > img[src$="prenotazione-v10.webp"]{height:100%;min-height:0;width:100%;object-fit:cover;align-self:stretch}
.page-section:has(> .container > .page-cards > .page-card:nth-child(3)) .page-cards{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.page-section:has(> .container > .page-cards > .page-card:nth-child(3)) .page-card{background:#fff;padding:25px 23px;min-width:0}
@media(max-width:760px){
  .contacts-v5 .hours{height:auto;padding:29px 25px;gap:7px}
  .contacts-v5 .hours > p{margin-bottom:12px}
  .page-section .feature-split > img[src$="banco.webp"],
  .page-section .feature-split > img[src$="prenotazione-v10.webp"]{height:300px}
  .page-section:has(> .container > .page-cards > .page-card:nth-child(3)) .page-cards{grid-template-columns:1fr;gap:12px}
}

/* V21 — compact booking steps and clearer reviews; Nova Medi as final home band. */
.page-section.soft:has(.page-cards > .page-card:nth-child(3)){padding-top:52px;padding-bottom:55px}
.page-section.soft:has(.page-cards > .page-card:nth-child(3)) .page-cards{margin-top:24px}
.reviews{background:#f7f8f4;padding:57px 0 61px}
.reviews .review-grid{margin-top:24px}
.reviews .review-grid blockquote{background:var(--green);border:1px solid var(--green);min-height:142px;padding:22px 26px;color:#fff}
.reviews .review-grid p{color:#fff;margin:11px 0;font-size:1.2rem}
.reviews .review-grid footer{color:rgba(255,255,255,.83)}
.novamedi{padding:55px 0 58px}
.novamedi:before{display:none;content:none}
.novamedi .section-title{font-size:clamp(1.85rem,2.6vw,2.55rem);margin:12px 0 13px}
.novamedi p{margin:0}
@media(max-width:760px){
  .page-section.soft:has(.page-cards > .page-card:nth-child(3)){padding-top:43px;padding-bottom:45px}
  .reviews{padding:48px 0 50px}
  .reviews .review-grid blockquote{min-height:0}
  .novamedi{padding:46px 0 49px}
}

/* V22 — light sage cards for homepage customer reviews. */
.reviews .review-grid blockquote{background:var(--mint);border-color:#cbd8cd;color:var(--ink)}
.reviews .review-grid p{color:var(--ink)}
.reviews .review-grid footer{color:var(--muted)}

/* V23 — homepage surface rhythm modelled on Nova Medi, without changing other pages. */
.hero{background:#fff}
.hero-photo:after{background:none}
.hero h1{font-size:clamp(2.95rem,4.75vw,4.85rem);line-height:1.08}
.hero h1 em{font-style:italic;font-weight:400;color:#699b7b}
.services{background:var(--mint)}
.services .macro-card{background:#fff}
.reviews{background:#fff}
@media(max-width:760px){.hero h1{font-size:clamp(2.7rem,9vw,3.65rem)}}

/* V25: solo scorrimento orizzontale delle foto in La farmacia. */
.pharmacy-gallery-carousel{display:flex;align-items:center;gap:12px;min-width:0}
.pharmacy-gallery-track{display:flex;gap:16px;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scroll-behavior:smooth;scrollbar-width:thin;min-width:0;flex:1;padding:4px 0 12px}
.pharmacy-gallery-track img{display:block;flex:none;width:auto;height:440px;max-width:none;aspect-ratio:3/4;object-fit:cover;scroll-snap-align:start;border-radius:0}
.pharmacy-gallery-arrow{display:grid;place-items:center;flex:none;width:38px;height:52px;border:1px solid currentColor;background:transparent;color:inherit;font:normal 36px/1 Georgia,serif;cursor:pointer;touch-action:manipulation}
.pharmacy-gallery-arrow:hover{background:rgba(0,0,0,.06)}
.pharmacy-gallery-arrow:focus-visible,.pharmacy-gallery-track:focus-visible{outline:2px solid currentColor;outline-offset:3px}
@media(max-width:760px){.pharmacy-gallery-carousel{gap:7px}.pharmacy-gallery-track{gap:10px}.pharmacy-gallery-track img{height:330px}.pharmacy-gallery-arrow{width:29px;height:44px;font-size:28px}}
@media(max-width:480px){.pharmacy-gallery-track img{height:290px}}

/* V27 — sostituzione cromatica limitata alle superfici bianche della V25.
   Le bande e i riquadri verde salvia restano nelle stesse posizioni. */
:root{--cream:#faf9f3}
body,.announcement,.header,.hero,.quick,.reviews,.page-section,.page-section.white,.contact,.gallery,.heritage{background:var(--cream)}
.quick-card,.service-card,.pict-card,.page-card,.hours,.services .macro-card{background:var(--cream)}
.page-section:has(> .container > .page-cards > .page-card:nth-child(3)) .page-card{background:var(--cream)}
@media(max-width:760px){.header .menu{background:var(--cream)}}
/* Homepage: la descrizione della sezione reparti sta su una riga, se c'è spazio. */
.services .section-copy{max-width:none;white-space:nowrap}
@media(max-width:900px){.services .section-copy{white-space:normal}}
/* Allineamento delle due fotografie: bordo superiore sulla prima riga del testo,
   bordo inferiore al termine del blocco, con ritaglio centrale come nei riferimenti. */
.page-section:has(.feature-split>img[src="assets/la-farmacia-v25.png"]) .feature-split,
.page-section:has(.feature-split>img[src="assets/prenotazione-farmaci-v25.jpg"]) .feature-split{align-items:stretch}
.page-section .feature-split>img[src="assets/la-farmacia-v25.png"],
.page-section .feature-split>img[src="assets/prenotazione-farmaci-v25.jpg"]{height:100%;min-height:0;width:100%;object-fit:cover;object-position:center;align-self:stretch}
@media(max-width:760px){.page-section .feature-split>img[src="assets/la-farmacia-v25.png"],.page-section .feature-split>img[src="assets/prenotazione-farmaci-v25.jpg"]{height:300px}}

/* V28 — solo impaginazione delle fotografie in homepage e La farmacia. */
@media(min-width:761px){
  .hero-grid{grid-template-columns:42% 58%}
  .hero-content{min-width:0;padding-right:clamp(28px,2.5vw,46px)}
  .hero h1{font-size:clamp(2.95rem,4.6vw,4.65rem)}
  .hero-content p{max-width:100%;overflow-wrap:normal}
  .page-section:has(.feature-split>img[src="assets/la-farmacia-v25.png"]) .feature-split{align-items:stretch}
  .page-section .feature-split>img[src="assets/la-farmacia-v25.png"]{height:0;min-height:100%;max-height:none;object-fit:cover;object-position:50% 50%;align-self:stretch}
}

/* V29 — crop La farmacia ancorato al bordo superiore: conserva i triangoli marroni del soffitto. */
.page-section .feature-split>img[src="assets/la-farmacia-v25.png"]{object-position:50% 0%}

/* V30: area di foto misurata sul riquadro 660×523 dello screenshot allegato.
   Il rapporto più orizzontale mostra sia il soffitto sia la scritta Mellini. */
@media(min-width:761px){
  .page-section .feature-split>img[src="assets/la-farmacia-v25.png"]{
    width:100%;height:auto;min-height:0;max-height:none;
    aspect-ratio:660/523;object-fit:cover;object-position:50% 0%;align-self:start;
  }
}
/* Una riga su desktop; a schermi stretti consentiamo un ritorno a capo leggibile. */
.page-section .single-line-intro{max-width:none;white-space:nowrap}
@media(max-width:1100px){.page-section .single-line-intro{white-space:normal}}

/* V31 — solo posizione interna dell'immagine: frame e allineamenti invariati. */
@media(min-width:761px){.page-section .feature-split>img[src="assets/la-farmacia-v25.png"]{object-position:50% 35%}}
