:root{--ink:#17222b;--muted:#687681;--paper:#fff;--soft:#f3f6f7;--line:#dfe6e8;--green:#4c9a4e;--red:#cf4238;--navy:#263744;--green-dark:#397a3b;--shadow:0 24px 70px rgba(23,34,43,.14)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.65 'DM Sans',sans-serif}body,button,input,select,textarea{font-family:'DM Sans',sans-serif}h1,h2,h3{font-family:'Manrope',sans-serif;line-height:1.04;letter-spacing:-.045em;margin:0}h1{font-size:clamp(3rem,7vw,7.2rem);max-width:950px}h2{font-size:clamp(2.1rem,4.6vw,4.8rem)}h3{font-size:1.35rem}p{margin:0 0 1rem;color:var(--muted)}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}button{cursor:pointer}::selection{background:var(--red);color:#fff}.wrap{width:min(1240px,calc(100% - 10vw));margin:auto}.eyebrow,.kicker{color:var(--red);font-size:.7rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase}.eyebrow{display:flex;align-items:center;gap:.8rem;margin-bottom:1.6rem}.eyebrow:before{content:'';width:30px;height:2px;background:var(--green)}.lead{font-size:1.12rem;line-height:1.8;max-width:660px}.button{display:inline-flex;align-items:center;justify-content:center;gap:.35rem;padding:.48rem .85rem;background:var(--red);border:1px solid var(--red);color:#fff;font-weight:700;font-size:.68rem;letter-spacing:.06em;line-height:1.15;border-radius:2px;transition:.2s;width:auto!important;max-width:max-content;white-space:nowrap}.button:hover{background:var(--ink);border-color:var(--ink);transform:translateY(-1px)}.button span{font-size:.85rem;opacity:.9}.button svg{display:none!important}.button:hover{background:var(--ink);border-color:var(--ink);transform:translateY(-2px)}.button-ghost{background:#fff;color:var(--ink);border-color:#fff}.button-ghost:hover{background:var(--green);border-color:var(--green);color:#fff}.button-ghost:hover{background:var(--green);border-color:var(--green);color:#fff}.button-small{padding:.42rem .75rem;font-size:.64rem}.text-link{color:var(--red);font-weight:800;font-size:.88rem}.text-link span{font-size:1.1rem}.brand{display:flex;align-items:center}.brand-logo{display:block;width:205px;height:58px;object-fit:contain;object-position:left center;border-radius:3px}nav{position:fixed;z-index:20;top:0;left:0;right:0;background:rgba(255,255,255,.96);border-bottom:1px solid rgba(23,34,43,.08);transition:.25s}.is-scrolled nav{box-shadow:0 8px 30px rgba(23,34,43,.1)}.nav-inner{display:flex;align-items:center;justify-content:space-between;width:min(1400px,calc(100% - 8vw));margin:auto;padding:1.1rem 0}.site-menu{display:flex;align-items:center;gap:2rem}.menu-links{display:flex;gap:1.45rem}.menu-links a{font-size:.8rem;font-weight:700;color:var(--muted);transition:.2s}.menu-links a:hover,.menu-links a.active{color:var(--ink)}.menu-toggle{display:none;border:0;background:var(--navy);border-radius:50%;width:48px;height:48px;padding:0;color:#fff}.menu-toggle span{display:block;width:24px;height:2px;background:currentColor;margin:4px auto}.menu-toggle b{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}main{padding-top:80px}.hero{min-height:calc(100svh - 0px);position:relative;display:grid;align-items:end;padding:11rem 0 5.5rem;overflow:hidden;background:var(--navy);color:#fff}.hero .wrap{position:relative;z-index:2}.hero h1{color:#fff;max-width:1000px}.hero h1 em{color:#b8d9b4;font-style:normal}.hero-copy{max-width:640px;margin-top:2rem}.hero-copy p{color:rgba(255,255,255,.8)}.hero-actions{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:2rem}.hero .button-ghost{color:var(--ink)}.hero-image{position:absolute;inset:0}.hero-image img{width:100%;height:100%;object-fit:cover;object-position:center;opacity:.7}.hero-image:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(23,34,43,.92),rgba(23,34,43,.25) 78%),linear-gradient(0deg,rgba(23,34,43,.72),transparent 58%)}.hero-note{position:absolute;right:5vw;bottom:4rem;border-left:2px solid var(--red);padding-left:1rem;font-size:.75rem;color:rgba(255,255,255,.72);max-width:230px}.hero-rule{position:absolute;left:0;right:0;bottom:0;height:8px;background:linear-gradient(90deg,var(--green) 0 62%,var(--red) 62%)}section{padding:8rem 0}.section-head{display:flex;justify-content:space-between;gap:2rem;align-items:end;margin-bottom:3.5rem}.section-head>div{max-width:760px}.split{display:grid;grid-template-columns:1fr 1fr;gap:8vw;align-items:center}.image-frame{overflow:hidden;background:#dfe6e2}.image-frame img{width:100%;height:100%;object-fit:cover}.image-tall{aspect-ratio:4/5}.image-wide{aspect-ratio:16/10}.surface-dark{background:var(--navy);color:#fff}.surface-dark p{color:rgba(255,255,255,.68)}.surface-dark .eyebrow{color:#b8d9b4}.surface-dark .eyebrow:before{background:var(--red)}.cards-3{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line)}.service-card{background:var(--paper);padding:2.2rem;min-height:285px}.surface-dark .service-card{background:#304654}.service-card .number{color:var(--red);font:700 .78rem 'Manrope';display:block;margin-bottom:4rem}.service-card p{margin-top:1rem}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:rgba(255,255,255,.2);border:1px solid rgba(255,255,255,.2)}.stat{background:rgba(255,255,255,.06);padding:1.5rem}.stat strong{display:block;color:#fff;font:800 2.5rem/1 'Manrope'}.stat span{color:rgba(255,255,255,.65);font-size:.78rem}.property-grid,.site-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.3rem}.unit-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2.5rem 1.75rem}.unit-card{display:block}.unit-card-image{display:block;position:relative;width:100%;aspect-ratio:1/1;border-radius:32px;overflow:hidden;background:#e1e5df}.unit-card-image img{width:100%;height:100%;object-fit:cover;transition:transform .6s}.unit-card:hover .unit-card-image img{transform:scale(1.05)}.unit-card-badge{position:absolute;top:20px;left:20px;background:#fff;color:var(--ink);font-size:.85rem;font-weight:600;padding:.5rem 1rem;border-radius:32px}.unit-card-body{margin-top:.85rem;display:flex;flex-direction:column;gap:.4rem}.unit-card-type{display:flex;align-items:center;gap:.4rem;font-size:.68rem;color:var(--muted)}.unit-card-type svg{width:13px;height:13px;color:var(--green);flex:none}.unit-card-name{margin:0;font-size:.68rem;font-weight:600;letter-spacing:.04em;color:var(--muted)}.unit-card-head{display:flex;justify-content:space-between;align-items:baseline;gap:.75rem;margin-top:.1rem}.unit-card-head h2{font-size:.98rem;font-weight:600;margin:0;line-height:1.2;color:var(--ink)}.unit-card-price{font-size:.85rem;font-weight:700;color:var(--ink);white-space:nowrap}.unit-card-details{display:flex;flex-wrap:wrap;gap:.7rem;margin-top:.2rem}.unit-card-detail{display:flex;align-items:center;gap:.3rem;font-size:.68rem;color:var(--muted)}.unit-card-detail svg{width:13px;height:13px;flex:none}@media(max-width:900px){.unit-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:680px){.unit-grid{grid-template-columns:1fr}}.property-card{background:#fff;border:1px solid var(--line);transition:.3s}.property-card:hover{transform:translateY(-5px);box-shadow:var(--shadow)}.property-image{display:block;position:relative;aspect-ratio:1.25;overflow:hidden;background:#e1e5df}.property-image img{width:100%;height:100%;object-fit:cover;transition:.5s}.property-card:hover .property-image img{transform:scale(1.04)}.status{position:absolute;top:1rem;left:1rem;padding:.35rem .55rem;background:#fff;color:var(--ink);font-size:.68rem;font-weight:800;text-transform:uppercase;letter-spacing:.07em}.status-in-costruzione,.status-in-corso,.status-disponibile,.status-terminata{border-left:3px solid var(--green)}.status-prossimo,.status-venduto,.status-prenotato{border-left:3px solid var(--red)}.property-body{padding:1.5rem}.property-body .kicker{font-size:.63rem;margin-bottom:.7rem}.property-body h2{font-size:1.55rem;margin-bottom:1.2rem}.property-meta{display:flex;flex-wrap:wrap;gap:.5rem;color:var(--muted);font-size:.78rem;padding-bottom:1.2rem;border-bottom:1px solid var(--line)}.property-meta span+span:before{content:'·';margin-right:.5rem}.property-foot{display:flex;justify-content:space-between;align-items:center;padding-top:1rem}.property-foot strong{font:700 .9rem 'Manrope'}.filters{display:grid;grid-template-columns:repeat(4,1fr);gap:.8rem;padding:1rem;background:var(--soft);border:1px solid var(--line);margin-bottom:2rem}.filters label{font-size:.7rem;color:var(--muted);font-weight:700}.filters select,.filters input,.form-field input,.form-field select,.form-field textarea{display:block;width:100%;border:1px solid var(--line);background:#fff;color:var(--ink);padding:.8rem;margin-top:.5rem;font-size:.9rem;box-sizing:border-box}.result-count{color:var(--muted);font-size:.85rem;margin-bottom:1.2rem}.empty-state{grid-column:1/-1;background:var(--soft);padding:3rem;border:1px dashed var(--line)}.page-intro{padding:7rem 0 4rem}.page-intro+section{padding-top:1.5rem}.page-intro h1{max-width:950px}.page-intro .lead{margin-top:1.7rem}.detail-hero{display:grid;grid-template-columns:1.05fr .95fr;min-height:0;max-height:min(62vh,480px);overflow:hidden}.detail-hero .detail-image{min-height:0;height:100%}.detail-hero .detail-copy{padding:2.4rem max(4vw,2.2rem);overflow:auto}.detail-image img{width:100%;height:100%;object-fit:cover}.detail-copy{padding:5rem max(5vw,3rem);display:flex;justify-content:center;flex-direction:column;background:var(--navy);color:#fff}.detail-copy p{color:rgba(255,255,255,.7)}.detail-copy h1{font-size:clamp(2.9rem,5.4vw,5.8rem);margin-bottom:1.6rem}.detail-copy .eyebrow{color:#b8d9b4}.detail-facts{display:grid;grid-template-columns:repeat(2,1fr);gap:1.3rem 2rem;border-top:1px solid rgba(255,255,255,.2);margin-top:2rem;padding-top:1.5rem}.detail-facts strong{display:block;font:700 1.2rem 'Manrope'}.detail-facts span{font-size:.72rem;color:rgba(255,255,255,.55)}.gallery{display:grid;grid-template-columns:repeat(4,1fr);gap:.8rem;margin-top:3rem}.gallery a{display:block;aspect-ratio:1;overflow:hidden;background:#dde2db;cursor:zoom-in}.gallery a:first-child{grid-column:span 2;grid-row:span 2}.gallery img{width:100%;height:100%;object-fit:cover;transition:.4s}.gallery a:hover img{transform:scale(1.04)}.unit-list{display:grid;gap:.8rem}.unit{display:grid;grid-template-columns:1.2fr 1fr 1fr auto;gap:1rem;align-items:center;background:#fff;border:1px solid var(--line);padding:1.2rem}.unit strong{font-family:'Manrope'}.unit small{display:block;color:var(--muted)}.unit .price{color:var(--green-dark);font-weight:800}.unit-spotlight-list{display:flex;flex-direction:column}.unit-spotlight{display:grid;grid-template-columns:1fr 1fr;gap:4rem;padding:5rem 0;border-bottom:1px solid var(--line);align-items:center;scroll-margin-top:100px}.unit-spotlight:last-child{border-bottom:0}.unit-spotlight.is-reverse .unit-spotlight-image{order:2}.unit-spotlight.is-reverse .unit-spotlight-copy{order:1}.unit-spotlight-thumbs{display:grid;grid-template-columns:repeat(3,1fr);gap:.6rem}.unit-spotlight-thumbs a{display:block;aspect-ratio:1;overflow:hidden;background:#e1e5df;cursor:zoom-in}.unit-spotlight-thumbs img{width:100%;height:100%;object-fit:cover;transition:.4s}.unit-spotlight-thumbs a:hover img{transform:scale(1.06)}@media(max-width:900px){.unit-spotlight.is-reverse .unit-spotlight-image,.unit-spotlight.is-reverse .unit-spotlight-copy{order:0}}/* —— Unit detail pages —— */
.unit-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.08fr);min-height:0;height:auto;max-height:none;overflow:visible;align-items:start}
.unit-hero-image{min-height:0;overflow:hidden;background:#e1e5df}
.unit-hero > .unit-hero-media{min-height:640px;height:640px;max-height:none;overflow:visible;background:#dfe6e2}
.unit-hero-image img{width:100%;height:100%;object-fit:cover;object-position:center}
.unit-hero-copy{padding:2rem clamp(1.35rem,2.4vw,2rem) 2.4rem;display:flex;flex-direction:column;justify-content:flex-start;background:var(--navy);color:#fff;overflow:visible;gap:.5rem;min-height:640px;height:auto;box-sizing:border-box}
.unit-hero-copy p{color:rgba(255,255,255,.72);font-size:.9rem;margin-bottom:0;line-height:1.55}
.unit-hero-copy .eyebrow{color:#b8d9b4;margin-bottom:.35rem}
.unit-breadcrumb{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem;font-size:.7rem;color:rgba(255,255,255,.5);margin-bottom:.45rem}
.unit-breadcrumb a{color:rgba(255,255,255,.8);transition:.2s}
.unit-breadcrumb a:hover{color:#fff}
.unit-hero-copy h1{font-size:clamp(1.75rem,2.7vw,2.25rem);margin:0 0 .15rem;line-height:1.1}
.unit-hero-building{display:block;font-size:.84rem;color:rgba(255,255,255,.58);margin-bottom:.4rem}
.unit-hero-specs{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:.4rem .85rem;padding:.65rem 0;border-top:1px solid rgba(255,255,255,.18);border-bottom:1px solid rgba(255,255,255,.18);margin:.4rem 0}
.unit-hero-specs .unit-spec{color:rgba(255,255,255,.78);font-size:.78rem;line-height:1.35;min-width:0;overflow-wrap:anywhere;white-space:normal}
.unit-hero-specs .unit-spec:before{background:rgba(255,255,255,.5)}
.unit-hero-price{font-size:1.5rem;font-weight:300;letter-spacing:-.02em;margin:.1rem 0 .65rem}
.unit-hero-actions{display:flex;flex-wrap:wrap;gap:.7rem;margin-top:auto}
.unit-hero-actions .button{padding:.45rem .8rem;font-size:.66rem;font-weight:700;gap:.3rem}
.button svg,.unit-hero-actions .button svg,.cta-band .button svg{width:13px;height:13px;flex:none}
.button-ghost svg{width:13px;height:13px}
.unit-section{padding:3.8rem 0}
.unit-section h2{font-size:clamp(1.7rem,3.2vw,2.6rem);margin-bottom:.6rem}
.unit-section .lead{margin-bottom:0}
.gallery.unit-gallery{grid-template-columns:repeat(4,1fr);gap:.75rem;margin-top:1.6rem}
.gallery.unit-gallery a{aspect-ratio:4/3}
.gallery.unit-gallery a:first-child{grid-column:auto;grid-row:auto}
.pertinenze-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.6rem;margin-top:2rem}
.pertinenza-card{background:#fff;border:1px solid var(--line);display:flex;flex-direction:column}
.pertinenza-card-image{aspect-ratio:3/4;overflow:hidden;background:var(--soft);cursor:zoom-in;display:grid;place-items:center;padding:1rem}
.pertinenza-card-image img{width:100%;height:100%;object-fit:contain;object-position:center}
.pertinenza-card-body{padding:1.25rem 1.4rem;border-top:1px solid var(--line)}
.pertinenza-tag{display:inline-block;background:var(--green);color:#fff;font-size:.65rem;font-weight:800;text-transform:uppercase;letter-spacing:.1em;padding:.35rem .65rem;margin-bottom:.7rem}
.pertinenza-card-body h4{font:700 1.2rem 'Manrope';margin-bottom:.25rem}
.pertinenza-card-body span{color:var(--muted);font-size:.85rem;line-height:1.45;display:block}
.plan-frame{margin-top:1.8rem;background:#fff;border:1px solid var(--line);padding:1.2rem;cursor:zoom-in;overflow:visible}
.plan-frame img{display:block;width:auto;max-width:100%;height:auto;max-height:min(88vh,980px);object-fit:contain;margin:auto;object-position:center}
.units-picker{display:grid;grid-template-columns:repeat(2,1fr);gap:1.25rem;margin-top:2.2rem}
.unit-pick{display:grid;grid-template-columns:140px 1fr;gap:0;background:#fff;border:1px solid var(--line);transition:.25s;overflow:hidden}
.unit-pick:hover{transform:translateY(-3px);box-shadow:var(--shadow)}
.unit-pick-image{aspect-ratio:1;overflow:hidden;background:#e1e5df}
.unit-pick-image img{width:100%;height:100%;object-fit:cover}
.unit-pick-body{padding:1.15rem 1.25rem;display:flex;flex-direction:column;justify-content:center;gap:.35rem}
.unit-pick-kicker{font-size:.62rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--red)}
.unit-pick-body h3{font:700 1.2rem/1.15 'Manrope';margin:0}
.unit-pick-meta{font-size:.82rem;color:var(--muted);margin:0}
.unit-pick-price{font-weight:800;font-size:1.05rem;margin-top:.3rem}
.unit-pick-cta{font-size:.72rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--red);margin-top:.4rem}
.more-units{padding:4.2rem 0;background:var(--soft);border-top:1px solid var(--line)}
.more-units-head{display:flex;justify-content:space-between;align-items:end;gap:1.5rem;margin-bottom:1.8rem}
.more-units-head h2{font-size:clamp(1.6rem,3vw,2.4rem)}
.more-units-nav{display:flex;gap:.6rem}
.more-units-nav button{width:44px;height:44px;border:1px solid var(--line);background:#fff;color:var(--ink);display:grid;place-items:center;transition:.2s}
.more-units-nav button:hover{background:var(--ink);border-color:var(--ink);color:#fff}
.more-units-nav svg{width:16px;height:16px}
.more-units-rail{display:flex;gap:1.25rem;overflow-x:auto;padding-bottom:.5rem;scroll-snap-type:x mandatory;scroll-behavior:smooth;-webkit-overflow-scrolling:touch}
.more-units-rail::-webkit-scrollbar{height:5px}
.more-units-rail::-webkit-scrollbar-thumb{background:var(--line)}
.more-unit-card{flex:0 0 280px;scroll-snap-align:start;background:#fff;border:1px solid var(--line);transition:.3s}
.more-unit-card:hover{transform:translateY(-4px);box-shadow:var(--shadow)}
.more-unit-image{aspect-ratio:4/3;overflow:hidden;background:#e1e5df}
.more-unit-image img{width:100%;height:100%;object-fit:cover;transition:.5s}
.more-unit-card:hover .more-unit-image img{transform:scale(1.05)}
.more-unit-body{padding:1.05rem 1.15rem}
.more-unit-kicker{font-size:.63rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--red)}
.more-unit-body h4{font:700 1.1rem 'Manrope';margin:.45rem 0 .25rem}
.more-unit-body p{font-size:.78rem;margin-bottom:.65rem}
.more-unit-price{font-weight:800;color:var(--ink);font-size:.92rem}
@media(max-width:900px){
.unit-hero{grid-template-columns:1fr;height:auto;max-height:none}
.unit-hero-image{aspect-ratio:16/10;max-height:42vh}
.unit-hero-copy{padding:2.2rem 7vw}
.pertinenze-grid,.units-picker{grid-template-columns:1fr}
.gallery.unit-gallery{grid-template-columns:repeat(2,1fr)}
.unit-pick{grid-template-columns:110px 1fr}
}
@media(max-width:680px){.more-unit-card{flex-basis:240px}.gallery.unit-gallery{grid-template-columns:1fr 1fr}}
.unit-spotlight-image{aspect-ratio:4/3;overflow:hidden;background:#e1e5df}.unit-spotlight-image img{width:100%;height:100%;object-fit:cover;transition:transform 1s}.unit-spotlight-image:hover img{transform:scale(1.05)}.unit-spotlight-copy{display:flex;flex-direction:column;gap:1.3rem}.unit-spotlight-eyebrow{font-size:.65rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--muted)}.unit-spotlight-title{font-size:clamp(2rem,3.6vw,2.8rem);font-weight:300;letter-spacing:-.02em;color:var(--ink);margin:0}.unit-spotlight-copy p{font-size:1.05rem;font-weight:300;color:var(--muted);max-width:32rem;line-height:1.7}.unit-spotlight-specs{display:grid;grid-template-columns:1fr 1fr;gap:.7rem 2rem;padding:1.4rem 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.unit-spec{display:flex;align-items:center;gap:.6rem;font-size:.85rem;color:var(--muted);font-weight:300}.unit-spec:before{content:'';width:4px;height:4px;border-radius:50%;background:var(--muted);flex:none}.unit-spotlight-energy{display:flex;align-items:center;gap:.5rem;color:var(--green-dark);font-size:.66rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase}.unit-spotlight-energy svg{width:16px;height:16px}.unit-spotlight-foot{display:flex;flex-wrap:wrap;align-items:center;gap:1.6rem;margin-top:.2rem}.unit-spotlight-price{font-size:1.9rem;font-weight:300;letter-spacing:-.02em;color:var(--ink)}.unit-spotlight-cta{display:inline-flex;align-items:center;gap:.6rem;font-size:.72rem;text-transform:uppercase;letter-spacing:.12em;border-bottom:1px solid var(--ink);padding-bottom:.35rem;color:var(--ink);transition:opacity .3s}.unit-spotlight-cta:hover{opacity:.5}.unit-spotlight-cta svg{width:13px;height:13px}.unit-spotlight-plan{display:inline-flex;align-items:center;gap:.5rem;font-size:.68rem;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);transition:color .3s}.unit-spotlight-plan:hover{color:var(--ink)}.unit-spotlight-plan svg{width:14px;height:14px}@media(max-width:900px){.unit-spotlight{grid-template-columns:1fr;gap:1.8rem;padding:3rem 0}.unit-spotlight-specs{grid-template-columns:1fr 1fr}}.prose{max-width:760px}.prose p{font-size:1.08rem;line-height:1.85}.feature-list{list-style:none;padding:0;margin:2rem 0;display:grid;gap:.7rem}.feature-list li{border-top:1px solid var(--line);padding:.8rem 0}.feature-list li:before{content:'+';color:var(--red);font-weight:800;margin-right:.7rem}.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:0}.step{padding:1.5rem;border-top:2px solid var(--green)}.step b{color:var(--red);font:700 .8rem 'Manrope'}.step h3{margin:.8rem 0}.form-layout{display:grid;grid-template-columns:.75fr 1.25fr;gap:6vw;align-items:start}.form-box{background:var(--soft);padding:2rem;border:1px solid var(--line)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.form-field.full{grid-column:1/-1}.form-field label{font-size:.78rem;font-weight:700}.form-field textarea{min-height:150px;resize:vertical}.checkbox{display:flex;align-items:flex-start;gap:.6rem;font-size:.78rem;color:var(--muted);margin:1.1rem 0}.checkbox input{margin-top:.35rem}.form-message{font-size:.85rem;margin-top:1rem}.form-message.success{color:var(--green-dark)}.contact-list{display:grid;gap:1.4rem;margin-top:2rem}.contact-list a,.contact-list div{display:block;padding-bottom:1rem;border-bottom:1px solid var(--line)}.contact-list b{display:block;font:700 .72rem 'Manrope';text-transform:uppercase;letter-spacing:.1em;color:var(--red);margin-bottom:.2rem}.map{min-height:340px;background:#d8ded7;display:grid;place-items:center;color:var(--muted);text-align:center;padding:2rem}.cta-band{background:var(--green);color:#fff;padding:5rem 0}.cta-band p{color:rgba(255,255,255,.82)}.cta-band .eyebrow{color:#fff}.cta-band .eyebrow:before{background:var(--red)}footer{background:var(--navy);color:#fff;padding:4rem 0 1.5rem}.footer-main{width:min(1240px,calc(100% - 10vw));margin:auto;display:grid;grid-template-columns:2fr 1fr 1fr;gap:4rem}.footer-main p{max-width:300px;margin-top:1.5rem;color:rgba(255,255,255,.55);font-size:.88rem}.footer-main h3{font-size:.8rem;letter-spacing:.1em;text-transform:uppercase;color:#b8d9b4;margin-bottom:1rem}.footer-main>div>a:not(.brand){display:block;color:rgba(255,255,255,.62);font-size:.86rem;margin:.5rem 0}.footer-bottom{width:min(1240px,calc(100% - 10vw));margin:3rem auto 0;padding-top:1.2rem;border-top:1px solid rgba(255,255,255,.14);display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;color:rgba(255,255,255,.42);font-size:.72rem}.footer-credit{color:var(--green);font-weight:700;transition:color .2s}.footer-credit:hover{color:#fff}.float-contact,.float-contact.float-whatsapp{position:fixed;right:2.75rem;bottom:2.4rem;z-index:60;width:58px;height:58px;padding:0;border-radius:50%;display:inline-flex!important;align-items:center;justify-content:center;background:#25d366!important;color:#fff!important;box-shadow:0 10px 28px rgba(18,140,70,.38),0 2px 8px rgba(0,0,0,.18);letter-spacing:0;font-size:0;line-height:0;transition:transform .25s cubic-bezier(.23,1,.32,1),box-shadow .25s ease,filter .2s ease}.float-contact:hover,.float-contact:focus-visible{transform:translateY(-3px) scale(1.04);filter:brightness(1.05);outline:none}.float-contact svg{width:30px;height:30px;display:block}.float-whatsapp-label{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}@media(max-width:680px){.float-contact,.float-contact.float-whatsapp{right:1.75rem;bottom:1.9rem;width:54px;height:54px}.float-contact svg{width:28px;height:28px}}[data-reveal]{opacity:0;transform:translateY(22px);transition:opacity .7s ease,transform .7s ease}[data-reveal].is-visible{opacity:1;transform:none}.lightbox{border:0;padding:0;width:min(92vw,1100px);background:#101512}.lightbox::backdrop{background:rgba(10,14,11,.9)}.lightbox img{width:100%;max-height:82vh;object-fit:contain}.lightbox button{position:absolute;border:0;background:rgba(255,255,255,.9);color:var(--ink);font-size:2rem;width:42px;height:42px;line-height:1}.lightbox-close{top:1rem;right:1rem}.lightbox-prev{top:50%;left:1rem}.lightbox-next{top:50%;right:1rem}@media(max-width:900px){.site-menu{gap:1rem}.menu-links{gap:.8rem}.property-grid,.site-grid{grid-template-columns:repeat(2,1fr)}.split,.detail-hero,.form-layout{grid-template-columns:1fr}.form-layout>.form-box{order:-1}.detail-copy{padding:4rem 7vw}.cards-3{grid-template-columns:1fr}.steps{grid-template-columns:repeat(2,1fr)}}@media(max-width:680px){.wrap,.footer-main,.footer-bottom,.nav-inner{width:min(100% - 2.4rem,1240px)}main{padding-top:70px}.nav-inner{padding:.8rem 0}.brand-logo{width:170px;height:50px}.menu-toggle{display:block}.site-menu{position:absolute;top:100%;left:0;right:0;background:#fff;border-bottom:1px solid var(--line);padding:1.5rem 1.2rem;display:none;align-items:stretch;flex-direction:column}.menu-open .site-menu{display:flex}.menu-links{display:flex;flex-direction:column;gap:0}.menu-links a{padding:.75rem 0;border-bottom:1px solid var(--line)}.hero{min-height:720px;padding:7rem 0 4rem}.hero-note{display:none}section{padding:5.5rem 0}.page-intro{padding:2.75rem 0 2rem}.page-intro+section{padding-top:1rem}.section-head{display:block;margin-bottom:2rem}.section-head .button{margin-top:1.5rem}.property-grid,.site-grid,.form-grid{grid-template-columns:1fr}.filters{grid-template-columns:1fr 1fr}.gallery{grid-template-columns:repeat(2,1fr)}.gallery a:first-child{grid-column:span 2;grid-row:span 1}.detail-hero{min-height:0}.detail-image{aspect-ratio:1.15}.unit{grid-template-columns:1fr 1fr}.unit .button{grid-column:1/-1}.footer-main{grid-template-columns:1fr 1fr;gap:2.5rem 1.5rem}.footer-main>div:first-child{grid-column:1/-1}.cta-band{padding:3.5rem 0}}

.status-kicker{color:var(--red);font:700 .72rem/1.2 Manrope,sans-serif;letter-spacing:.14em;text-transform:uppercase;margin-bottom:.8rem;display:block}
.direct-project-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem}
@media(max-width:900px){.direct-project-grid{grid-template-columns:1fr}}

/* —— Unit hero stack (no cropped split) —— */
.unit-hero-image.is-split{display:none}
.unit-hero-media{/* overridden below for 2x2 grid */}
.unit-hero-stack{position:relative;width:100%;height:100%;min-height:min(56vh,520px)}
.unit-hero-card{/* base set in 2x2 block */}
.unit-hero-card img{width:100%;height:100%;object-fit:cover;object-position:center}
.unit-hero-card.is-plan img{object-fit:contain;background:#f7f8f6;padding:4%}
.unit-hero-card-label{position:absolute;left:12px;bottom:12px;background:rgba(23,34,43,.82);color:#fff;font-size:.65rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:.35rem .55rem;border-radius:6px}
/* plan duo */
.plan-duo{display:grid;grid-template-columns:1.1fr .9fr;gap:1.25rem;margin-top:1.6rem;align-items:stretch}
.plan-duo .plan-frame{margin-top:0;max-height:none}
.plan-duo .plan-frame img{max-height:min(72vh,760px)}
.plan-stack{display:grid;gap:1.1rem}
.plan-caption{margin:0 0 .4rem;font-size:.68rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.72)}
.plan-facts{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.14);padding:1.4rem 1.5rem;display:flex;flex-direction:column;gap:.85rem;justify-content:center}
.surface-dark .plan-facts{color:#fff}
.plan-facts h3{font:700 1.05rem/1.25 Manrope,sans-serif;margin:0}
.plan-facts ul{margin:0;padding:0;list-style:none;display:grid;gap:.45rem}
.plan-facts li{font-size:.88rem;color:rgba(255,255,255,.78);padding-left:1rem;position:relative}
.plan-facts li:before{content:'';position:absolute;left:0;top:.55em;width:5px;height:5px;border-radius:50%;background:var(--green)}
.plan-facts .plan-fact-row{display:flex;justify-content:space-between;gap:1rem;border-top:1px solid rgba(255,255,255,.12);padding-top:.7rem;font-size:.9rem}
.plan-facts .plan-fact-row strong{color:#fff}
/* —— Pertinenze: plan highlight cards side by side —— */
.pertinenze-grid{grid-template-columns:1fr 1fr;gap:1.1rem;margin-top:1.5rem}
.pertinenza-card{display:grid;grid-template-columns:minmax(0,1fr);min-height:0;background:#fff;border:1px solid rgba(23,34,43,.1);border-radius:16px;overflow:hidden;box-shadow:0 10px 30px rgba(23,34,43,.05)}
.pertinenza-card-image{display:block;aspect-ratio:5/4;max-height:300px;padding:.75rem;background:#f4f6f5;cursor:zoom-in}
.pertinenza-card-image img{width:100%;height:100%;object-fit:contain;object-position:center}
.pertinenza-card-body{padding:1rem 1.15rem 1.2rem;display:flex;flex-direction:column;gap:.3rem;border-top:1px solid var(--line)}
.pertinenza-tag{display:inline-block;align-self:flex-start;font-size:.65rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#fff;background:var(--green);padding:.3rem .55rem;border-radius:6px}
.pertinenza-card-body h4{margin:0;font:700 1.05rem/1.25 Manrope,sans-serif;color:var(--ink)}
.pertinenza-card-body p{margin:0;color:var(--muted);font-size:.84rem;line-height:1.5}
.pertinenza-meta{display:flex;flex-wrap:wrap;gap:.35rem .7rem;margin-top:.4rem}
.pertinenza-meta span{font-size:.72rem;font-weight:700;color:var(--ink);background:rgba(23,34,43,.06);padding:.25rem .5rem;border-radius:999px}

/* —— Pertinenze shop: plan + listino —— */
.pertinenze-shop-layout{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(280px,.9fr);gap:1.5rem;margin-top:1.6rem;align-items:start}
.pertinenze-shop-plan{display:block;background:#eef1ef;border:1px solid var(--line);border-radius:18px;overflow:hidden;cursor:zoom-in;min-height:280px}
.pertinenze-shop-plan img{width:100%;height:auto;max-height:min(68vh,620px);object-fit:contain;object-position:center;display:block;background:#f4f6f5;transition:opacity .25s}
.pertinenze-shop-plan.is-fullsheet img{width:100%;height:min(52vh,520px);max-height:min(52vh,520px);object-fit:contain;object-position:center bottom}
.pertinenze-shop-panel{background:#fff;border:1px solid var(--line);border-radius:18px;padding:1.25rem 1.2rem 1.4rem;box-shadow:0 12px 36px rgba(23,34,43,.06);display:flex;flex-direction:column;gap:.85rem}
.pertinenze-shop-kicker{font-size:.68rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--red)}
.pertinenze-shop-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.45rem}
.pertinenze-shop-list button{width:100%;display:grid;grid-template-columns:1fr auto;grid-template-rows:auto auto;gap:.15rem .8rem;text-align:left;border:1px solid var(--line);background:#fafbfa;border-radius:12px;padding:.85rem .95rem;cursor:pointer;transition:border-color .2s,background .2s,transform .2s;font:inherit;color:inherit}
.pertinenze-shop-list button:hover,.pertinenze-shop-list button.is-active{border-color:rgba(196,48,43,.45);background:#fff7f6;transform:translateY(-1px)}
.pertinenze-shop-list .psi-label{grid-column:1;font:700 .95rem/1.25 Manrope,sans-serif;color:var(--ink)}
.pertinenze-shop-list .psi-detail{grid-column:1;font-size:.78rem;color:var(--muted);line-height:1.4}
.pertinenze-shop-list .psi-price{grid-column:2;grid-row:1/span 2;align-self:center;font:700 .92rem/1 Manrope,sans-serif;color:var(--green-dark);white-space:nowrap}
.pertinenze-shop-note{margin:0;font-size:.78rem;color:var(--muted);line-height:1.5}
.pertinenze-shop-panel .button,.pertinenze-shop-panel a.button{width:auto!important;display:inline-flex;padding:.5rem .85rem;font-size:.7rem;margin-top:.4rem}
.pertinenze-shop-cta{display:inline-flex;align-items:center;gap:.35rem;margin-top:.45rem;padding:0;border:0;background:none;color:var(--ink);font:600 .78rem/1.3 Manrope,sans-serif;letter-spacing:.02em;border-bottom:1px solid rgba(23,34,43,.35);padding-bottom:.2rem;width:fit-content;transition:color .2s,border-color .2s}
.pertinenze-shop-cta span{font-size:.85rem;opacity:.7}
.pertinenze-shop-cta:hover{color:var(--red);border-color:var(--red)}
.pertinenze-shop-list button{padding:.55rem .7rem;border-radius:8px}
.pertinenze-shop-list .psi-label{font:650 .82rem/1.25 Manrope,sans-serif}
.pertinenze-shop-list .psi-detail{font-size:.7rem}
.pertinenze-shop-list .psi-price{font:650 .78rem/1 Manrope,sans-serif}
@media(max-width:900px){
.pertinenze-shop-layout{grid-template-columns:1fr;gap:1.1rem}
.pertinenze-shop-plan img{max-height:min(52vh,420px)}
.pertinenze-shop-plan.is-fullsheet img{height:min(46vh,420px);max-height:min(46vh,420px)}
}
@media(max-width:680px){
.pertinenze-shop-panel{padding:1rem .9rem 1.15rem}
.pertinenze-shop-list .psi-price{font-size:.85rem}
}

/* Hero media: absolute 2x2 so card width % is of the media panel */
.unit-hero-card img{width:100%;height:100%;object-fit:cover;object-position:center;transition:transform .55s cubic-bezier(.23,1,.32,1)}
.unit-hero-card.is-plan img{object-fit:contain;background:#f7f8f6;padding:2.5%}
.unit-hero-media{
  --card-overlap:9%;
  --card-w:48%;
  position:relative;
  display:block;
  padding:0;
  min-height:640px;
  height:640px;
  max-height:none;
  background:#dfe6e2;
  overflow:visible;
  perspective:1200px;
}
.unit-hero > .unit-hero-media{min-height:640px;height:640px;max-height:none;overflow:visible;background:#dfe6e2}
.unit-hero-back{position:absolute;top:1rem;left:1rem;z-index:30;width:38px;height:38px;border-radius:50%;background:rgba(255,255,255,.88);backdrop-filter:blur(6px);display:flex!important;align-items:center;justify-content:center;color:var(--ink);box-shadow:0 4px 16px rgba(0,0,0,.18);transition:background .2s,transform .2s}
.unit-hero-back:hover,.unit-hero-back:focus-visible{background:#fff;transform:translateX(-2px)}
.unit-hero-back svg{width:16px;height:16px;flex:none}
@media(max-width:680px){.unit-hero-back{width:34px;height:34px;top:.7rem;left:.7rem}.unit-hero-back svg{width:14px;height:14px}}
.back-to-top{position:fixed;left:1.75rem;bottom:1.9rem;z-index:60;width:46px;height:46px;border-radius:50%;background:rgba(23,34,43,.72);backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;color:#fff;box-shadow:0 10px 28px rgba(0,0,0,.22);opacity:0;visibility:hidden;transform:translateY(10px);transition:opacity .25s,transform .25s,visibility .25s,background .2s}
.back-to-top.is-visible{opacity:1;visibility:visible;transform:translateY(0)}
.back-to-top:hover,.back-to-top:focus-visible{background:rgba(23,34,43,.9)}
.back-to-top svg{width:20px;height:20px}
@media(max-width:680px){.back-to-top{left:1rem;bottom:1.25rem;width:40px;height:40px}.back-to-top svg{width:18px;height:18px}}
.unit-hero-card{
  position:absolute;
  width:var(--card-w);
  height:auto;
  max-width:none;
  min-height:0;
  aspect-ratio:3/4;
  border-radius:16px;
  overflow:hidden;
  background:#fff;
  box-shadow:0 18px 48px rgba(23,34,43,.24),0 2px 0 rgba(255,255,255,.35) inset;
  border:2px solid rgba(255,255,255,.92);
  cursor:zoom-in;
  transition:transform .45s cubic-bezier(.23,1,.32,1),box-shadow .45s,filter .35s;
  will-change:transform;
  transform-origin:center center;
}
.unit-hero-card.is-c1,.unit-hero-card.is-c2,.unit-hero-card.is-c3,.unit-hero-card.is-c4,
.unit-hero-card.is-back,.unit-hero-card.is-front{
  width:var(--card-w);height:auto;max-width:none;aspect-ratio:3/4;
}
/* Prospetto (c1) davanti e più grande; garage/cantina (c4) dietro, solo intravisto */
.unit-hero-card.is-c1{
  left:8%;top:6%;width:58%;z-index:6;
  transform:rotate(-2.5deg);
  animation:unitCardIn .75s cubic-bezier(.22,1,.36,1) both, unitFloatC1 5.8s ease-in-out .75s infinite;
}
.unit-hero-card.is-c2{
  right:4%;top:3%;left:auto;width:42%;z-index:3;
  transform:rotate(3deg);
  animation:unitCardIn .75s cubic-bezier(.22,1,.36,1) .08s both, unitFloatC2 6.2s ease-in-out .83s infinite;
}
.unit-hero-card.is-c3{
  left:4%;bottom:4%;top:auto;width:40%;z-index:2;
  transform:rotate(2deg);
  animation:unitCardIn .75s cubic-bezier(.22,1,.36,1) .16s both, unitFloatC3 5.5s ease-in-out .91s infinite;
  filter:brightness(.96);
}
.unit-hero-card.is-c4{
  right:5%;bottom:6%;top:auto;left:auto;width:36%;z-index:1;
  transform:rotate(-3deg) translate(4%,4%);
  animation:unitCardIn .75s cubic-bezier(.22,1,.36,1) .24s both, unitFloatC4 6.6s ease-in-out .99s infinite;
  filter:brightness(.93);
  opacity:.92;
}
.unit-hero-card.is-back{
  left:5%;top:8%;z-index:2;
  transform:rotate(-5deg) translate(var(--card-overlap),var(--card-overlap));
}
.unit-hero-card.is-front{
  right:5%;bottom:6%;top:auto;left:auto;z-index:5;
  transform:rotate(-3.5deg) translate(calc(var(--card-overlap) * -1),calc(var(--card-overlap) * -1));
}
@keyframes unitCardIn{
  from{opacity:0;filter:blur(3px)}
  to{opacity:1;filter:blur(0)}
}
@keyframes unitFloatC1{0%,100%{transform:rotate(-2.5deg)}50%{transform:rotate(-1.8deg) translate(0,-1.5%)}}
@keyframes unitFloatC2{0%,100%{transform:rotate(3deg)}50%{transform:rotate(3.6deg) translate(0,-1%)}}
@keyframes unitFloatC3{0%,100%{transform:rotate(2deg)}50%{transform:rotate(1.4deg) translate(0,1%)}}
@keyframes unitFloatC4{0%,100%{transform:rotate(-3deg) translate(4%,4%)}50%{transform:rotate(-3.4deg) translate(4%,3%)}}
.unit-hero-media:hover .unit-hero-card,
.unit-hero-media:focus-within .unit-hero-card{
  animation-play-state:paused;
  filter:brightness(.92);
}
.unit-hero-card:hover,.unit-hero-card:focus-visible{
  z-index:12;
  filter:brightness(1) !important;
  box-shadow:0 28px 70px rgba(23,34,43,.34),0 0 0 1px rgba(23,34,43,.06);
}
.unit-hero-card.is-c1:hover,.unit-hero-card.is-c1:focus-visible{transform:rotate(-1deg) scale(1.06);z-index:12}
.unit-hero-card.is-c2:hover,.unit-hero-card.is-c2:focus-visible{transform:rotate(1.5deg) scale(1.06);z-index:12}
.unit-hero-card.is-c3:hover,.unit-hero-card.is-c3:focus-visible{transform:rotate(1deg) scale(1.06);filter:none;z-index:12}
.unit-hero-card.is-c4:hover,.unit-hero-card.is-c4:focus-visible{transform:rotate(-1.5deg) scale(1.08);filter:none;opacity:1;z-index:12}
.unit-hero-card:hover img,.unit-hero-card:focus-visible img{transform:scale(1.04)}
.unit-hero-card-label{position:absolute;left:12px;bottom:12px;background:rgba(23,34,43,.82);color:#fff;font-size:.65rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:.35rem .55rem;border-radius:6px;z-index:2}
@media (prefers-reduced-motion:reduce){
  .unit-hero-card,.unit-hero-card.is-c1,.unit-hero-card.is-c2,.unit-hero-card.is-c3,.unit-hero-card.is-c4{animation:none !important;opacity:1;filter:none}
  .unit-hero-card img{transition:none}
}

/* —— Venduta ribbon —— */
.unit-card-image{position:relative;overflow:hidden}
.unit-card.is-sold .unit-card-image:after{
  content:'Venduta';
  position:absolute;top:14%;left:-36%;right:-36%;
  background:var(--red);color:#fff;
  font:800 1.15rem/1 Manrope,sans-serif;letter-spacing:.2em;text-transform:uppercase;
  text-align:center;padding:1.15rem 0;
  transform:rotate(-28deg);box-shadow:0 10px 28px rgba(207,66,56,.42);
  pointer-events:none;z-index:3
}
.unit-card.is-sold .unit-card-image img{filter:grayscale(1) brightness(.98);transition:filter .35s ease}
.unit-card.is-sold .unit-card-badge{opacity:0}
.more-unit-card.is-sold{position:relative}
.more-unit-card.is-sold .more-unit-image{position:relative;overflow:hidden}
.more-unit-card.is-sold .more-unit-image:after{
  content:'Venduta';position:absolute;top:20%;left:-30%;right:-30%;
  background:var(--red);color:#fff;font:800 .92rem/1 Manrope,sans-serif;
  letter-spacing:.16em;text-transform:uppercase;text-align:center;padding:.85rem 0;
  transform:rotate(-28deg);box-shadow:0 8px 22px rgba(207,66,56,.35);z-index:2
}
.more-unit-card.is-sold .more-unit-image img{filter:grayscale(1) brightness(.98)}
.unit-pick.is-sold .unit-pick-image img{filter:grayscale(1) brightness(.98)}
.unit-pick.is-sold .sold-badge{
  inset:auto;top:18%;left:-30%;right:-30%;bottom:auto;
  background:var(--red);color:#fff;
  font:800 .95rem/1 Manrope,sans-serif;letter-spacing:.16em;
  text-align:center;padding:.9rem 0;width:auto;
  transform:rotate(-28deg);box-shadow:0 8px 22px rgba(207,66,56,.35)
}
.unit-pick.is-sold{opacity:1}

/* —— Expandable tech features —— */
.unit-feature{cursor:pointer;transition:border-color .2s,background .2s}
.unit-feature summary,.unit-feature-head{list-style:none;display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;cursor:pointer}
.unit-feature summary::-webkit-details-marker{display:none}
.unit-feature-head h4,.unit-feature summary h4{margin:0;flex:1}
.unit-feature-toggle{flex:none;width:28px;height:28px;border-radius:50%;border:1px solid currentColor;display:grid;place-items:center;opacity:.7;transition:transform .25s,opacity .2s}
.unit-feature-toggle:before{content:'+';font:700 1.1rem/1 Manrope,sans-serif}
.unit-feature[open] .unit-feature-toggle:before,.unit-feature.is-open .unit-feature-toggle:before{content:'–'}
.unit-feature-extra{display:none;margin-top:.85rem;padding-top:.85rem;border-top:1px solid rgba(23,34,43,.1);font-size:.86rem;line-height:1.6;color:var(--muted)}
.unit-feature[open] .unit-feature-extra,.unit-feature.is-open .unit-feature-extra{display:block}
.surface-dark .unit-feature-extra{border-top-color:rgba(255,255,255,.14);color:rgba(255,255,255,.72)}
.surface-dark .unit-feature-toggle{color:#fff;border-color:rgba(255,255,255,.35)}

@media(max-width:900px){
.unit-hero-card.is-back{inset:16% auto 8% 4%;width:48%}
.unit-hero-card.is-front{inset:5% 4% auto auto;width:52%}
.plan-duo{grid-template-columns:1fr}
.plan-duo .plan-frame img{max-height:min(62vh,520px)}
.pertinenza-card-image{max-height:260px;aspect-ratio:auto;max-height:280px}
}
@media(max-width:680px){
.unit-hero-card{border-radius:14px}
.unit-hero-card.is-back{inset:18% auto 6% 2%;width:52%;transform:rotate(-6deg)}
.unit-hero-card.is-front{inset:4% 2% auto auto;width:56%;transform:rotate(2.5deg)}
.pertinenze-grid{grid-template-columns:1fr 1fr;gap:.75rem}
.pertinenza-card-image{max-height:160px;padding:.5rem}
.pertinenza-card-body{padding:.75rem .8rem .9rem}
.pertinenza-card-body h4{font-size:.92rem}
.pertinenza-card-body p{font-size:.75rem}
.unit-card.is-sold .unit-card-image:after{font-size:1rem;padding:1.05rem 0;left:-38%;right:-38%}
}
@media(max-width:420px){
.pertinenze-grid{grid-template-columns:1fr}
.pertinenza-card-image{max-height:220px}
}


@media(max-width:680px){

}

@media(max-width:900px){
.unit-hero{height:auto;max-height:none;min-height:0;align-items:start}
.unit-hero-copy{min-height:0;height:auto;padding:2rem 7vw 2.4rem}
.unit-hero-actions{margin-top:1.5rem!important}
.unit-hero-card,.unit-hero-card.is-c1,.unit-hero-card.is-c2,.unit-hero-card.is-c3,.unit-hero-card.is-c4{width:var(--card-w);height:auto;aspect-ratio:3/4}
}
@media(max-width:680px){
.unit-hero-card{border-radius:12px}
.unit-hero-card-label{font-size:.58rem;left:8px;bottom:8px;padding:.28rem .45rem}
.unit-hero-specs{grid-template-columns:1fr}
}

/* Vicinanza servizi */
.vicinity-layout{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:1.5rem;margin-top:1.5rem;align-items:stretch}
.vicinity-map{display:block;border:1px solid var(--line);border-radius:14px;overflow:hidden;background:#e8ece9;min-height:240px;position:relative}
.vicinity-map iframe,.vicinity-map img{width:100%;height:100%;min-height:260px;border:0;display:block;object-fit:cover}
.vicinity-map-link{position:absolute;left:12px;bottom:12px;background:rgba(23,34,43,.88);color:#fff;font-size:.68rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:.4rem .65rem;border-radius:6px}
.vicinity-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.55rem}
.vicinity-list li{display:flex;justify-content:space-between;gap:1rem;align-items:baseline;padding:.75rem 0;border-bottom:1px solid var(--line)}
.vicinity-list li:last-child{border-bottom:0}
.vicinity-list span{color:var(--muted);font-size:.88rem}
.vicinity-list strong{font:700 .9rem/1.2 Manrope,sans-serif;color:var(--ink);white-space:nowrap}
.building-tech{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-top:1.6rem}
.building-tech article{background:#fff;border:1px solid var(--line);border-radius:12px;padding:1.15rem 1.1rem}
.building-tech h4{margin:0 0 .45rem;font-size:.95rem}
.building-tech p{margin:0;font-size:.86rem;line-height:1.55;color:var(--muted)}
@media(max-width:900px){
  .vicinity-layout{grid-template-columns:1fr}
  .building-tech{grid-template-columns:1fr}
  .unit-hero-card.is-c1{width:62%;left:5%;top:4%}
  .unit-hero-card.is-c2{width:40%}
  .unit-hero-card.is-c3{width:38%}
  .unit-hero-card.is-c4{width:34%}
}
@media(max-width:680px){
  .cta-band .button,.unit-section .button{width:auto!important}
}
/* Mobile unit hero: ventaglio di card sovrapposte (stesso stile del desktop), altezza compatta e senza regole duplicate in conflitto */
@media(max-width:900px){
  .unit-hero-media,.unit-hero > .unit-hero-media{min-height:520px;height:520px;max-height:none;--card-overlap:8%;--card-w:52%}
  .unit-hero-card.is-c1{width:62%;left:5%;top:4%}
  .unit-hero-card.is-c2{width:40%}
  .unit-hero-card.is-c3{width:38%}
  .unit-hero-card.is-c4{width:34%}
}
@media(max-width:680px){
  .unit-hero-media,.unit-hero > .unit-hero-media{min-height:520px;height:520px;--card-overlap:7%;--card-w:56%}
  .unit-hero-card{border-radius:12px}
  .unit-hero-card-label{font-size:.58rem;left:8px;bottom:8px;padding:.28rem .45rem}
  .unit-hero-card.is-c1{width:70%;left:4%;top:5%;z-index:6}
  .unit-hero-card.is-c2{width:44%;right:3%;top:2%}
  .unit-hero-card.is-c3{width:42%;left:3%;bottom:3%}
  .unit-hero-card.is-c4{width:36%;right:4%;bottom:5%;opacity:.88}
}

/* DETAIL HERO MOBILE FIX: foto e testi scorrono insieme */
@media(max-width:900px){
  .detail-hero{min-height:0!important;max-height:none!important;height:auto;overflow:visible!important;display:flex;flex-direction:column}
  .detail-hero .detail-image{position:relative;height:auto;min-height:0;aspect-ratio:4/3;flex:none}
  .detail-hero .detail-image img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
  .detail-hero .detail-copy{overflow:visible!important;padding:2.2rem 7vw 2.8rem;flex:none}
}

.surface-dark .vicinity-list span{color:rgba(255,255,255,.68)}
.surface-dark .vicinity-list strong{color:#fff}
.surface-dark .vicinity-list li{border-bottom-color:rgba(255,255,255,.16)}
.surface-dark .building-tech article{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.14)}
.surface-dark .building-tech h4{color:#fff}
.surface-dark .building-tech p{color:rgba(255,255,255,.68)}

/* —— Cookie consent banner —— */
.cookie-banner{position:fixed;left:0;right:0;bottom:0;z-index:80;background:var(--navy);color:#fff;padding:1.3rem max(4vw,1.2rem);display:flex;flex-wrap:wrap;gap:1rem 1.6rem;align-items:center;justify-content:space-between;box-shadow:0 -12px 40px rgba(0,0,0,.25);max-height:60vh;overflow-y:auto;height:auto!important;min-height:0!important}
.cookie-banner-copy{flex:1 1 420px;min-width:0}
.cookie-banner-copy p{margin:0;font-size:.85rem;line-height:1.55;color:rgba(255,255,255,.82)}
.cookie-banner-copy a{color:#fff;text-decoration:underline;text-underline-offset:2px}
.cookie-banner-actions{display:flex;gap:.7rem;flex:none;flex-wrap:wrap}
.cookie-banner-actions .button{width:auto!important;padding:.6rem 1rem;font-size:.72rem}
.cookie-banner-actions .button-ghost{background:transparent;border-color:rgba(255,255,255,.4);color:#fff}
.cookie-banner-actions .button-ghost:hover{background:rgba(255,255,255,.12);border-color:#fff}
@media(max-width:680px){.cookie-banner{flex-direction:column;align-items:stretch;padding:1.2rem}.cookie-banner-copy{flex:none!important}.cookie-banner-actions{justify-content:stretch;flex:none!important}.cookie-banner-actions .button{flex:1}}

/* —— Map consent overlay (Google Maps gated behind cookie choice) —— */
.vicinity-map,.map{position:relative}
.map-consent-overlay{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.8rem;text-align:center;background:var(--soft);padding:1.5rem;z-index:2}
.map-consent-overlay p{margin:0;font-size:.8rem;color:var(--muted);max-width:26rem}
.map-consent-overlay button{border:1px solid var(--ink);background:var(--ink);color:#fff;font:700 .74rem 'Manrope',sans-serif;letter-spacing:.04em;padding:.6rem 1.1rem;cursor:pointer;transition:.2s}
.map-consent-overlay button:hover{background:var(--red);border-color:var(--red)}


/* Pertinenze: overview generale sopra il crop dedicato */
.pertinenza-stack{display:flex;flex-direction:column;gap:10px;}
.pertinenza-overview{margin:0;border-radius:10px;overflow:hidden;background:#f3f1ec;border:1px solid rgba(0,0,0,.06);}
.pertinenza-overview img{display:block;width:100%;height:auto;max-height:220px;object-fit:contain;background:#f7f6f2;}
.pertinenza-overview figcaption{font-size:11px;padding:6px 10px;color:#5a6570;letter-spacing:.02em;}
@media (max-width:640px){
  .pertinenza-overview img{max-height:160px;}
}
/* Virtual tour showcase — loaded only after the visitor asks to enter */
.virtual-tour-showcase{background:#eef0eb;padding-top:clamp(72px,8vw,120px);padding-bottom:clamp(72px,8vw,120px)}
.virtual-tour-intro{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:32px;margin-bottom:34px}
.virtual-tour-intro h2{max-width:780px;margin:.35rem 0 .65rem;font-size:clamp(2.4rem,5vw,5.4rem);line-height:.94;letter-spacing:-.055em}
.virtual-tour-intro .lead{max-width:650px;margin:0}
.virtual-tour-stage{position:relative;min-height:clamp(430px,63vw,760px);overflow:hidden;border-radius:26px;background:#141817;box-shadow:0 32px 80px rgba(20,29,24,.18);isolation:isolate}
.virtual-tour-stage:fullscreen{border-radius:0;min-height:100vh;background:#111}
.virtual-tour-preview{position:absolute;inset:0;display:grid;place-items:center;border:0;width:100%;padding:0;overflow:hidden;background:#111;cursor:pointer;color:#fff;text-align:center}
.virtual-tour-preview::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(4,8,6,.08),rgba(4,8,6,.25) 45%,rgba(4,8,6,.78));z-index:1}
.virtual-tour-preview img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .9s cubic-bezier(.2,.75,.25,1),filter .5s}
.virtual-tour-preview:hover img{transform:scale(1.025);filter:saturate(1.04)}
.virtual-tour-launch-copy{position:relative;z-index:2;display:flex;flex-direction:column;align-items:center;gap:13px;padding:28px;transform:translateY(12%)}
.virtual-tour-play{display:grid;place-items:center;width:88px;height:88px;border-radius:50%;background:rgba(255,255,255,.95);color:#164d39;font-size:28px;line-height:1;box-shadow:0 14px 45px rgba(0,0,0,.26);transition:transform .25s,background .25s}
.virtual-tour-preview:hover .virtual-tour-play{transform:scale(1.08);background:#fff}
.virtual-tour-launch-copy strong{font-size:clamp(1.35rem,2.5vw,2.15rem);letter-spacing:-.025em}
.virtual-tour-launch-copy small{font-size:.8rem;letter-spacing:.08em;text-transform:uppercase;opacity:.82}
.virtual-tour-stage iframe{position:absolute;inset:0 0 52px;width:100%;height:calc(100% - 52px);border:0;background:#111;z-index:2}
.virtual-tour-toolbar{position:absolute;left:0;right:0;bottom:0;z-index:4;display:none;align-items:center;justify-content:flex-end;gap:8px;height:52px;padding:7px 12px;background:#151b18;border-top:1px solid rgba(255,255,255,.12)}
.virtual-tour-stage.is-running .virtual-tour-toolbar{display:flex}
.virtual-tour-stage:fullscreen iframe,.virtual-tour-stage.is-fullscreen iframe{inset:0;width:100%;height:100%}
.virtual-tour-stage:fullscreen .virtual-tour-toolbar,.virtual-tour-stage.is-fullscreen .virtual-tour-toolbar{left:auto;right:16px;bottom:16px;width:auto;height:auto;padding:0;background:transparent;border:0;pointer-events:none}
.virtual-tour-stage:fullscreen .virtual-tour-toolbar>*:not([data-tour-fullscreen]),.virtual-tour-stage.is-fullscreen .virtual-tour-toolbar>*:not([data-tour-fullscreen]){display:none!important}
.virtual-tour-stage:fullscreen [data-tour-fullscreen],.virtual-tour-stage.is-fullscreen [data-tour-fullscreen]{display:block!important;pointer-events:auto;background:rgba(10,14,12,.84);box-shadow:0 10px 35px rgba(0,0,0,.3);backdrop-filter:blur(14px)}
.virtual-tour-control{border:1px solid rgba(255,255,255,.34);border-radius:999px;background:rgba(12,16,14,.68);color:#fff;padding:10px 15px;font:700 12px/1 inherit;letter-spacing:.02em;backdrop-filter:blur(10px);cursor:pointer;text-decoration:none}
.virtual-tour-control:hover{background:#fff;color:#15201a}
.virtual-tour-universe{margin-right:auto;background:#fff;color:#161616;border-color:#fff}.virtual-tour-universe strong{color:#4f46e5;letter-spacing:.08em}.virtual-tour-universe:hover{background:#f1f0ff;color:#161616}
@media(max-width:760px){.virtual-tour-intro{grid-template-columns:1fr;align-items:start}.virtual-tour-stage{min-height:68vh;border-radius:18px}.virtual-tour-play{width:72px;height:72px;font-size:22px}.virtual-tour-stage iframe{bottom:56px;height:calc(100% - 56px)}.virtual-tour-toolbar{height:56px;padding:8px 10px;justify-content:flex-end}.virtual-tour-control{padding:8px 10px;font-size:9px}.virtual-tour-universe{margin-right:auto}.virtual-tour-toolbar [data-tour-external]{display:none!important}.virtual-tour-stage:fullscreen .virtual-tour-toolbar,.virtual-tour-stage.is-fullscreen .virtual-tour-toolbar{right:10px;bottom:max(10px,env(safe-area-inset-bottom))}}

/* Sales desk: confronto unità, riepilogo e consultazione TV */
.unit-configurator{background:#edf1ee;padding:clamp(4.5rem,8vw,8rem) 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.uc-heading{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr);gap:4rem;align-items:end;margin-bottom:2.2rem}.uc-heading h2{margin:.35rem 0 0}.uc-heading>p{margin:0;color:var(--muted);line-height:1.7}
.uc-layout{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(340px,.75fr);background:#fff;border:1px solid #d7ddda;box-shadow:0 24px 70px rgba(29,46,39,.11)}
.uc-visual{position:relative;min-height:620px;background:#dfe5e1;overflow:hidden}.uc-visual>img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover;transition:opacity .25s ease}.uc-visual:after{content:'';position:absolute;inset:45% 0 0;background:linear-gradient(transparent,rgba(18,29,25,.86))}
.uc-visual-caption{position:absolute;z-index:2;left:clamp(1.5rem,4vw,3.2rem);right:2rem;bottom:2.5rem;color:#fff;display:grid;gap:.25rem}.uc-visual-caption span{font:700 .68rem Manrope,sans-serif;letter-spacing:.16em;text-transform:uppercase;color:#b8d9b4}.uc-visual-caption strong{font:700 clamp(2rem,3vw,3.2rem) Manrope,sans-serif}.uc-visual-caption small{font-size:1rem;color:rgba(255,255,255,.76)}
.uc-panel{padding:2rem;min-width:0}.uc-subtitle{font:800 .68rem Manrope,sans-serif;letter-spacing:.14em;text-transform:uppercase;color:var(--red);margin:0 0 .8rem}.uc-units,.uc-accessories{display:grid;gap:.55rem;margin-bottom:1.8rem}
.uc-unit,.uc-accessory{appearance:none;width:100%;border:1px solid #dbe0dd;background:#fff;padding:.9rem 1rem;display:flex;align-items:center;justify-content:space-between;gap:1rem;text-align:left;color:var(--ink);cursor:pointer;transition:border-color .2s,background .2s,transform .2s}.uc-unit:hover,.uc-accessory:hover{border-color:var(--green);transform:translateX(2px)}.uc-unit.is-active{background:var(--navy);border-color:var(--navy);color:#fff}.uc-unit.is-sold{opacity:.48;cursor:not-allowed}.uc-unit span,.uc-accessory span{display:grid;gap:.2rem}.uc-unit small,.uc-accessory small{font-size:.72rem;color:var(--muted)}.uc-unit.is-active small{color:rgba(255,255,255,.68)}.uc-unit b,.uc-accessory b{font:700 .78rem Manrope,sans-serif;white-space:nowrap}.uc-accessory{position:relative}.uc-accessory input{width:18px;height:18px;accent-color:var(--green);flex:none}.uc-accessory span{margin-right:auto}
.uc-total{border-top:2px solid var(--navy);padding:1.2rem 0;display:flex;align-items:flex-end;justify-content:space-between;gap:1rem}.uc-total>span{font:700 .78rem Manrope,sans-serif;text-transform:uppercase;letter-spacing:.08em}.uc-total small{display:block;font:400 .67rem DM Sans,sans-serif;text-transform:none;letter-spacing:0;color:var(--muted);margin-top:.35rem}.uc-total strong{font:800 clamp(1.6rem,2.2vw,2.2rem) Manrope,sans-serif;color:var(--red);white-space:nowrap}.uc-actions{display:grid;grid-template-columns:1fr 1fr;gap:.7rem}.uc-actions .button{text-align:center;justify-content:center;padding-inline:1rem}
.plan-frame{aspect-ratio:16/9;display:grid;place-items:center;overflow:hidden}.plan-frame img,.plan-duo .plan-frame img{width:100%;height:100%;max-height:none;object-fit:contain}.plan-frame .plan-caption{position:absolute}.pertinenze-shop-plan,.pertinenze-shop-plan.is-fullsheet{aspect-ratio:16/9;min-height:0}.pertinenze-shop-plan img,.pertinenze-shop-plan.is-fullsheet img{width:100%;height:100%;max-height:none;object-fit:contain;object-position:center}
.project-plan-overview{margin:2rem 0 2.8rem;display:grid;grid-template-columns:minmax(220px,.42fr) minmax(0,1.58fr);gap:1.2rem;align-items:stretch}.project-plan-copy{background:#fff;color:var(--ink);padding:clamp(1.4rem,3vw,2.4rem);display:flex;flex-direction:column;justify-content:center}.project-plan-copy>span,.project-plan-step span{font:800 .65rem Manrope,sans-serif;letter-spacing:.14em;text-transform:uppercase;color:var(--red)}.project-plan-copy h3{font-size:clamp(1.6rem,2.6vw,2.5rem);margin:.65rem 0}.project-plan-copy p{font-size:.9rem;line-height:1.65;color:var(--muted)}.project-plan-frame{aspect-ratio:16/9;background:#f2f4f2;border:1px solid var(--line);overflow:hidden;cursor:zoom-in;display:grid;place-items:center}.project-plan-frame img{width:100%;height:100%;object-fit:contain}.project-plan-step{grid-column:1/-1;border-top:1px solid rgba(255,255,255,.22);padding-top:.9rem}.surface-dark .project-plan-copy{background:#f5f5f1}.surface-dark .project-plan-frame{background:#fff}.property-residenza-bramante .unit-hero-card:not(.is-plan) img{transform:scale(1.28);object-position:center}.lightbox.is-bramante-exterior .lightbox-stage figure{overflow:hidden}.lightbox.is-bramante-exterior .lightbox-stage figure img{object-fit:cover;transform:scale(1.22);object-position:center}

/* Local SEO hubs: nuove costruzioni e costruttore Pesaro */
.local-seo-hero{min-height:680px;position:relative;display:flex;align-items:flex-end;overflow:hidden;background:var(--navy);color:#fff;padding:8rem 0 5rem}.local-seo-hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.local-seo-scrim{position:absolute;inset:0;background:linear-gradient(90deg,rgba(18,29,37,.94),rgba(18,29,37,.34) 78%),linear-gradient(0deg,rgba(18,29,37,.72),transparent 60%)}.local-seo-heading{position:relative;z-index:1}.local-seo-heading>p{color:#b8d9b4;font-size:.72rem;font-weight:800;letter-spacing:.15em;text-transform:uppercase}.local-seo-heading h1{font-size:clamp(3.2rem,7vw,7rem);max-width:850px}.local-seo-heading>span{display:block;max-width:680px;margin-top:1.4rem;font-size:1.12rem;line-height:1.75;color:rgba(255,255,255,.82)}.local-answer{padding:6.5rem 0}.local-project-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.4rem}.local-project-grid-three{grid-template-columns:repeat(3,1fr)}.surface-dark .local-project-grid .property-card{color:var(--ink)}.local-comparison{background:var(--soft)}.local-table-wrap{overflow-x:auto;border:1px solid var(--line);background:#fff}.local-table{width:100%;border-collapse:collapse;min-width:720px}.local-table th,.local-table td{text-align:left;padding:1.1rem 1.2rem;border-bottom:1px solid var(--line);vertical-align:top}.local-table th{font:800 .72rem 'Manrope';letter-spacing:.08em;text-transform:uppercase;background:var(--navy);color:#fff}.local-table td:first-child{font-weight:800;color:var(--ink)}.local-table tr:last-child td{border-bottom:0}.local-source-note{margin-top:2rem;padding:1rem 1.2rem;border-left:3px solid var(--red);background:var(--soft);font-size:.86rem}.local-source-note a{text-decoration:underline}.local-light-link{display:inline-block;margin-left:1rem;color:#b8d9b4}.local-faq-list{max-width:900px;margin-top:2.5rem;border-top:1px solid var(--line)}.local-faq-list details{border-bottom:1px solid var(--line);padding:1.2rem 0}.local-faq-list summary{cursor:pointer;list-style:none;font:700 1.05rem 'Manrope';display:flex;justify-content:space-between;gap:1rem}.local-faq-list summary::-webkit-details-marker{display:none}.local-faq-list summary:after{content:'+';color:var(--red);font-size:1.4rem}.local-faq-list details[open] summary:after{content:'−'}.local-faq-list p{max-width:760px;margin:.9rem 0 0}.local-checklist{list-style:none;margin:0;padding:0}.local-checklist li{padding:1.1rem 0;border-bottom:1px solid var(--line);color:var(--muted)}.local-checklist li:first-child{border-top:1px solid var(--line)}.local-checklist strong{color:var(--ink)}
@media(max-width:900px){.local-project-grid,.local-project-grid-three{grid-template-columns:1fr}.local-seo-hero{min-height:600px}.local-light-link{display:block;margin:1rem 0 0}}
@media(max-width:680px){.local-seo-hero{min-height:560px;padding:6rem 0 3.5rem}.local-seo-heading h1{font-size:clamp(2.65rem,14vw,4.4rem)}.local-answer{padding:4rem 0}.local-table th,.local-table td{padding:.9rem}}
.lightbox{inset:0!important;width:100vw!important;height:100dvh!important;max-width:none!important;max-height:none!important;margin:0!important;padding:0!important;border:0!important;background:#101713!important;color:#fff;overflow:hidden}.lightbox::backdrop{background:#101713}.lightbox[open]{display:grid;grid-template-columns:minmax(0,1fr) clamp(290px,24vw,390px)}
.lightbox-stage{position:relative;min-width:0;min-height:0;background:#0b100d;display:grid;place-items:center}.lightbox-stage figure{position:absolute;inset:4.7rem 5rem 3rem;margin:0;display:grid;grid-template-rows:minmax(0,1fr) auto;place-items:center;min-height:0}.lightbox-stage figure img{width:100%;height:100%;max-height:none!important;object-fit:contain;image-rendering:auto}.lightbox-stage figcaption{font-size:.78rem;color:rgba(255,255,255,.62);padding-top:.75rem;text-align:center}
.lightbox-toolbar{position:absolute;z-index:5;top:0;left:0;right:0;height:4rem;display:flex;align-items:center;justify-content:flex-end;gap:.55rem;padding:0 1rem;background:linear-gradient(rgba(4,8,6,.82),transparent)}.lightbox-toolbar [data-lb-counter]{margin-right:auto;color:rgba(255,255,255,.62);font:700 .7rem Manrope,sans-serif;letter-spacing:.14em}.lightbox button{position:static;border:1px solid rgba(255,255,255,.25);background:rgba(20,31,26,.82);color:#fff;width:44px;height:44px;border-radius:50%;display:grid;place-items:center;font-size:1.45rem;cursor:pointer}.lightbox-close,.lightbox-full{position:static!important}.lightbox-prev,.lightbox-next{position:absolute!important;z-index:4;top:50%!important;transform:translateY(-50%);font-size:2.1rem!important}.lightbox-prev{left:1.2rem!important}.lightbox-next{right:1.2rem!important}
.lightbox button[hidden]{display:none}.lightbox-side{background:#fff;color:var(--ink);padding:2.1rem 1.4rem;overflow:auto}.lightbox-side-kicker{font:800 .65rem Manrope,sans-serif;text-transform:uppercase;letter-spacing:.15em;color:var(--red)}.lightbox-side h3{font-size:1.65rem;margin:.4rem 0 1.4rem}.lightbox-side>p{font-size:.72rem;color:var(--muted);line-height:1.5;margin:1.3rem .2rem 0}.lightbox-choices{display:grid;gap:.55rem}.lightbox .lb-choice{position:static;border:1px solid #dce1de;border-radius:0;background:#fff;color:var(--ink);padding:.9rem;width:100%;height:auto;line-height:1.25;font-size:inherit;display:flex;justify-content:space-between;gap:.8rem;text-align:left;align-items:center;cursor:pointer;transition:.2s}.lightbox .lb-choice:hover,.lightbox .lb-choice.is-active{border-color:var(--green);background:#edf6ed}.lb-choice span{display:grid;gap:.2rem;font-weight:700}.lb-choice small{font-weight:400;color:var(--muted)}.lb-choice b{font:700 .72rem Manrope,sans-serif;white-space:nowrap}
@media(max-width:900px){.uc-heading,.uc-layout,.project-plan-overview{grid-template-columns:1fr}.uc-heading{gap:1.2rem}.uc-visual{min-height:470px}.project-plan-step{grid-column:1}.lightbox[open]{grid-template-columns:1fr;grid-template-rows:minmax(0,1fr) auto}.lightbox-side{padding:1rem;max-height:34vh}.lightbox-side h3,.lightbox-side>p{display:none}.lightbox-choices{display:flex;overflow-x:auto}.lb-choice{min-width:220px}.lightbox-stage figure{inset:4.5rem 3.5rem 1.5rem}.lightbox-prev{left:.6rem!important}.lightbox-next{right:.6rem!important}}
@media(max-width:680px){.unit-configurator{padding:4rem 0}.uc-visual{min-height:360px}.uc-panel{padding:1.2rem}.uc-actions{grid-template-columns:1fr}.uc-unit,.uc-accessory{padding:.8rem}.uc-total{align-items:flex-start;flex-direction:column}.plan-frame,.pertinenze-shop-plan,.pertinenze-shop-plan.is-fullsheet{aspect-ratio:4/3}.lightbox-stage figure{inset:4.2rem 3rem 1rem}.lightbox-side{max-height:38vh}.lightbox-toolbar{height:3.7rem}.lightbox button{width:40px;height:40px}.lb-choice{min-width:200px}}
/* Residenza Bramante 2026-09: piante intere, pertinenze, riepilogo di tutte le unità, schermo intero */
.bp-plans{display:grid;gap:1.2rem;margin-top:2.4rem}.bp-plans.is-double{grid-template-columns:1fr 1fr}
.bp-plan{margin:0;background:#fff;padding:clamp(.8rem,2vw,1.6rem);display:grid;gap:.8rem}.bp-plan a{display:block;cursor:zoom-in}.bp-plan img{display:block;width:100%;height:auto;object-fit:contain}
.bp-plan figcaption{font:800 .65rem Manrope,sans-serif;letter-spacing:.14em;text-transform:uppercase;color:var(--red)}
.bp-facts{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:1px;margin-top:1.2rem;background:rgba(255,255,255,.18);border:1px solid rgba(255,255,255,.18)}
.bp-fact{background:var(--navy);padding:1.3rem 1.2rem;display:flex;flex-direction:column;gap:.3rem}.bp-fact>span{font:800 .62rem Manrope,sans-serif;letter-spacing:.14em;text-transform:uppercase;color:#b8d9b4;margin-bottom:.35rem}
.bp-fact strong{font-size:1.25rem;font-weight:600;color:#fff}.bp-fact small{font-size:.8rem;color:rgba(255,255,255,.66);margin-bottom:.35rem}.bp-fact ul{margin:.15rem 0 0;padding-left:1.15rem;font-size:1.12rem;font-weight:600;line-height:1.45;color:#fff}
.bp-fact-price strong{font-size:1.7rem;color:#fff}.bp-fact-price{background:#1d2b35}
.bp-pert{display:grid;gap:1.2rem;margin-top:2.2rem}.bp-pert-item{margin:0;border:1px solid var(--line);background:#fff;display:grid;grid-template-columns:minmax(0,2.2fr) minmax(220px,.8fr)}
.bp-pert-item a{display:block;background:#f6f8f8;padding:clamp(.6rem,1.6vw,1.2rem);cursor:zoom-in}.bp-pert-item img{display:block;width:100%;height:auto}
.bp-pert-item figcaption{padding:1.4rem;display:flex;flex-direction:column;justify-content:center;gap:.45rem;border-left:1px solid var(--line)}.bp-pert-item figcaption strong{font-size:1.2rem;color:var(--ink)}.bp-pert-item figcaption small{font-size:.85rem;color:var(--muted);line-height:1.5}
.bp-tag{align-self:flex-start;background:var(--red);color:#fff;font:800 .64rem Manrope,sans-serif;letter-spacing:.12em;text-transform:uppercase;padding:.35rem .6rem}
.bp-riepilogo{background:var(--soft)}.bp-riepilogo-head{display:flex;justify-content:space-between;align-items:flex-end;gap:2rem;flex-wrap:wrap}.bp-riepilogo-actions,.bp-hero-actions{display:flex;flex-wrap:wrap;gap:.6rem}
.bp-riepilogo .button-ghost{border-color:var(--ink)}
.bp-table{margin-top:2.4rem;background:#fff;border:1px solid var(--line)}.bp-row{display:grid;grid-template-columns:1.7fr .8fr 1.1fr 1.1fr 1.1fr 1fr;align-items:center;border-top:1px solid var(--line);color:var(--ink);transition:background .2s}
.bp-row:first-child{border-top:0}a.bp-row:hover{background:#f7faf7}.bp-cell{padding:1.1rem 1rem;font-size:.92rem}.bp-head{background:var(--navy)}.bp-head .bp-cell{color:#fff;font:800 .62rem Manrope,sans-serif;letter-spacing:.13em;text-transform:uppercase;padding:.9rem 1rem}
.bp-unit strong{display:block;font-size:1.08rem}.bp-unit small{display:block;color:var(--muted);font-size:.76rem;margin-top:.15rem}.bp-price{font-weight:800;font-size:1.05rem;text-align:right}.bp-head .bp-cell:last-child{text-align:right}
.bp-row.is-current{background:#edf6ed;box-shadow:inset 4px 0 0 var(--green)}.bp-row.is-current .bp-unit strong:after{content:'Stai guardando';margin-left:.6rem;font:800 .56rem Manrope,sans-serif;letter-spacing:.12em;text-transform:uppercase;color:var(--green-dark);vertical-align:middle}
.bp-table-foot{display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;padding:1rem;border-top:1px solid var(--line);font-size:.8rem;color:var(--muted)}
.bp-gallery{grid-template-columns:repeat(4,1fr)}.bp-gallery a{aspect-ratio:4/3}.bp-gallery a:first-child{grid-column:span 2;grid-row:span 2;aspect-ratio:auto}.bp-gallery img{width:100%;height:100%;object-fit:cover;transition:transform .6s}
.lightbox .lightbox-stage figure img{cursor:zoom-in}
.lightbox.is-full[open]{grid-template-columns:1fr!important;grid-template-rows:1fr!important;background:#000!important}
.lightbox.is-full .lightbox-side{display:none}
.lightbox.is-full .lightbox-stage{background:#000}
.lightbox.is-full .lightbox-stage figure{inset:0}
.lightbox.is-full .lightbox-stage figcaption{position:absolute;bottom:.8rem;left:0;right:0;opacity:.7}
.lightbox.is-full .lightbox-stage figure img{cursor:zoom-out}
.lightbox.is-full .lightbox-toolbar{background:transparent}
@media(max-width:1000px){.bp-facts{grid-template-columns:1fr 1fr}.bp-fact-comp{grid-column:1/-1}.bp-pert-item{grid-template-columns:1fr}.bp-pert-item figcaption{border-left:0;border-top:1px solid var(--line)}}
@media(max-width:820px){.bp-plans.is-double{grid-template-columns:1fr}.bp-head{display:none}.bp-row{grid-template-columns:1fr 1fr;padding:.4rem 0}.bp-cell{padding:.45rem 1rem}.bp-unit,.bp-price{grid-column:1/-1}.bp-price{text-align:left;font-size:1.25rem}.bp-cell[data-label]:not(.bp-unit):before{content:attr(data-label);display:block;font:800 .56rem Manrope,sans-serif;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-bottom:.15rem}.bp-gallery{grid-template-columns:repeat(2,1fr)}.bp-gallery a:first-child{grid-row:span 1;aspect-ratio:16/9}}
@media(max-width:560px){.bp-facts{grid-template-columns:1fr}}
.bp-zero{display:flex;align-items:center;gap:1.4rem;margin-top:1.8rem;background:var(--green);color:#fff;padding:1.1rem 1.4rem}.bp-zero strong{font-size:2.6rem;font-weight:800;letter-spacing:-.03em;line-height:1}.bp-zero span{font-size:.95rem;line-height:1.5;color:rgba(255,255,255,.9)}.bp-zero b{display:block;font:800 .68rem Manrope,sans-serif;letter-spacing:.14em;text-transform:uppercase;color:#fff;margin-bottom:.2rem}
.unit-hero-extra{display:none!important}.bp-gallery a.is-plan{background:#fff}.bp-gallery a.is-plan img{object-fit:contain;padding:.4rem}
.bp-gallery{grid-auto-rows:clamp(130px,14vw,220px);grid-auto-flow:dense}.bp-gallery a,.bp-gallery a:first-child{aspect-ratio:auto!important;height:100%}.bp-gallery a:first-child{grid-column:span 2;grid-row:span 2}
@media(max-width:820px){.bp-gallery{grid-auto-rows:clamp(120px,34vw,200px)}}
.bp-price small{display:block;font:700 .66rem/1.35 Manrope,sans-serif;color:var(--muted);margin-top:.25rem;letter-spacing:.02em}
/* Loreto Living (via Scaroni) 2026-09: listino pertinenze orizzontale */
.bp-pert-list{list-style:none;margin:.2rem 0 0;padding:0;display:grid;gap:.1rem}.bp-pert-list li{display:grid;grid-template-columns:1fr auto auto;gap:1rem;align-items:baseline;padding:.55rem 0;border-bottom:1px solid var(--line);font-size:.95rem;color:var(--ink)}
.bp-pert-list li b{font-weight:700}.bp-pert-list li strong{font-size:1rem;font-weight:800;min-width:6.5rem;text-align:right}
.bp-pert-inline{margin-top:1.2rem;background:#fff;border:1px solid var(--line);padding:1.1rem 1.2rem;display:grid;grid-template-columns:minmax(200px,.6fr) 1.4fr;gap:1.2rem;align-items:start}
.bp-pert-inline .bp-pert-list{grid-template-columns:1fr 1fr;column-gap:2rem}
@media(max-width:820px){.bp-pert-inline,.bp-pert-inline .bp-pert-list{grid-template-columns:1fr}}
.bp-pert-inline .bp-tag{justify-self:start;align-self:start}
.bp-plans.is-sheet .bp-plan img,.bp-pert-item a.is-fullsheet img{width:auto;max-width:100%;height:auto;max-height:min(78vh,920px);margin-inline:auto}
.bp-plans.is-sheet .bp-plan.is-wide img{width:100%;max-width:100%;height:auto;max-height:none;object-fit:contain}
.bp-pert-item a.is-fullsheet{display:flex;align-items:center;justify-content:center}

/* Leggibilita: menu, pulsanti, etichette e testo corrente */
:root{--muted:#3c4a54}
body{font-size:17.5px;line-height:1.7}
p{color:var(--muted)}
.lead{font-size:1.22rem;line-height:1.75;color:#2a3842}
.eyebrow,.kicker,.section-label{font-family:'Manrope',sans-serif;font-size:.86rem;font-weight:800;letter-spacing:.08em;line-height:1.35}
.menu-links a{font-family:'Manrope',sans-serif;font-size:.86rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:#17222b;line-height:1.3}
.menu-links a:hover,.menu-links a.active{color:var(--red)}
.button,.button-small{font-family:'Manrope',sans-serif;font-size:.95rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;line-height:1.25;padding:.9rem 1.2rem;background:#c23128;border-color:#c23128}
.button-small{font-size:.84rem;padding:.72rem 1rem}
.button-ghost{background:#fff;color:#17222b;border-color:#fff}
.button-ghost:hover{background:var(--green);border-color:var(--green);color:#fff}
.hero-actions{gap:1rem;margin-top:1.8rem}
.text-link{font-family:'Manrope',sans-serif;font-size:1.02rem;font-weight:800;letter-spacing:.01em}
.local-seo-heading>p{font-family:'Manrope',sans-serif;font-size:.92rem;letter-spacing:.1em;color:#e7f6e4}
.local-seo-heading>span{font-size:1.28rem;line-height:1.65;color:rgba(255,255,255,.96);margin-top:1.15rem}
.property-body{padding:1.7rem 1.6rem 1.8rem}
.property-body .kicker{font-size:.8rem;letter-spacing:.08em;margin-bottom:.85rem}
.property-body h3{font-size:1.65rem;line-height:1.2;letter-spacing:-.02em;margin-bottom:.7rem}
.property-body p{font-size:1.05rem;line-height:1.65;color:#2c3a44}
.status{font-size:.78rem;padding:.45rem .7rem;letter-spacing:.06em}
.surface-dark p,.cta-band p{color:rgba(255,255,255,.94)}
.local-table th{font-size:.84rem;letter-spacing:.06em;padding:1rem 1.15rem}
.local-table td{font-size:1.02rem;line-height:1.55;color:#2c3a44;padding:1.15rem}
.local-table td:first-child{color:#17222b}
.local-faq-list summary{font-size:1.2rem;line-height:1.35}
.local-faq-list p{font-size:1.05rem;line-height:1.7;color:#2c3a44}
.footer-main h3{font-size:.86rem;letter-spacing:.08em}
.footer-main p,.footer-main>div>a:not(.brand){font-size:1rem;color:rgba(255,255,255,.9)}
.footer-bottom{font-size:.84rem;color:rgba(255,255,255,.72)}
.unit-hero-actions .button{padding:.75rem 1rem;font-size:.84rem;font-weight:800}
.uc-actions .button{min-width:0;max-width:100%!important;white-space:normal;text-align:center;overflow-wrap:anywhere}
.property-via-mazza .unit-hero-actions{align-items:stretch}
.property-via-mazza .unit-hero-actions .button{flex:1 1 180px;max-width:100%}
.cookie-banner-actions .button{font-size:.84rem;padding:.7rem 1rem}
.filters label{font-size:.82rem}
@media(max-width:680px){
  .button,.button-small{white-space:normal;text-align:center}
  .hero-actions .button{width:100%;max-width:100%}
  .local-seo-heading>span{font-size:1.08rem}
  .menu-links a{font-size:1.05rem;padding:1rem 0}
}

/* Footer ordinato: identita, azienda, immobili e contatti in colonne distinte */
footer{padding:4.5rem 0 1.5rem}
.footer-main{grid-template-columns:minmax(260px,1.55fr) repeat(3,minmax(150px,.75fr));gap:clamp(2rem,4vw,4.5rem);align-items:start}
.footer-main p{max-width:330px;margin:1.25rem 0 0;color:rgba(255,255,255,.72);font-size:.92rem;line-height:1.65}
.footer-main>div>a:not(.brand):not(.footer-cta){color:rgba(255,255,255,.78);font-size:.9rem;margin:.62rem 0;line-height:1.45}
.footer-main>div>a:hover{color:#fff}
.footer-brand .brand{display:inline-flex}
.footer-brand .brand-logo{filter:brightness(0) invert(1)}
.footer-cta{display:inline-flex;margin-top:1.4rem;padding:.65rem .9rem;border:1px solid rgba(255,255,255,.35);color:#fff;font:700 .78rem/1.2 'Manrope',sans-serif;text-transform:uppercase;letter-spacing:.08em}
.footer-contacts p{margin:.9rem 0 1.1rem;font-size:.88rem}
.footer-bottom{margin-top:3.2rem;align-items:center;color:rgba(255,255,255,.58);font-size:.76rem}
.footer-bottom a{color:rgba(255,255,255,.74)}
@media(max-width:1020px){.footer-main{grid-template-columns:1.35fr 1fr 1fr}.footer-contacts{grid-column:2/4}}
@media(max-width:680px){.footer-main{grid-template-columns:1fr 1fr}.footer-contacts{grid-column:auto}.footer-bottom{display:grid;justify-items:start}}
