/* Multi-page additions */
.page-hero{position:relative;color:#fff;text-align:center;background:#0B3B6F;overflow:hidden;isolation:isolate;padding:clamp(150px,18vw,190px) 18px clamp(48px,7vw,80px)}
.page-hero-in{max-width:860px;margin:0 auto}
.page-hero h1{margin:0;font-family:inherit;font-size:clamp(30px,6.4vw,72px);line-height:1.05;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:#fff;text-wrap:balance}
.page-hero p{margin:18px auto 0;max-width:30ch;font-size:clamp(19px,2.4vw,26px);line-height:1.3;font-weight:600;color:#fff;text-wrap:pretty}
.page-hero .z54{margin-bottom:18px}
nav a[aria-current="page"]{border-bottom:2px solid #CE0E2D;padding-bottom:3px}
.menu-btn{display:none;background:transparent;border:1.5px solid var(--nav-color);color:var(--nav-color);font-weight:600;min-height:44px;padding:0 16px;border-radius:0}
.foot-nav{display:flex;flex-wrap:wrap;justify-content:center;gap:10px 28px}
.foot-nav a{color:#fff;font-size:16px;font-weight:600;border-bottom:2px solid transparent;padding:6px 0}
.foot-nav a:hover{color:#fff;border-bottom-color:#CE0E2D}
.home-intro{padding:clamp(52px,8vw,100px) 0 clamp(8px,2vw,24px);overflow-x:hidden}
.home-intro-in{max-width:1200px;margin:0 auto;padding:0 18px}
.home-intro .z37{padding:0 clamp(0px,3vw,48px) 0 0}
.z26.left{justify-content:flex-start;margin-bottom:0}
.z38.big{font-size:clamp(28px,4.4vw,44px)}
.more-link{display:flex;justify-content:center;margin:clamp(24px,4vw,40px) 0 0}
.z56.lead{margin-top:0}
.cta-band .z76{text-align:center}
.cta-row{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;margin-top:clamp(26px,4vw,38px)}
.z58:hover{box-shadow:0 14px 34px rgba(11,59,111,.14);transform:translateY(-3px)}
.z58 .z68:hover,.z8:hover{background:#CE0E2D;color:#fff}
#faq{padding-top:0}
@media(max-width:960px){
  .menu-btn{display:inline-flex;align-items:center}
  .menu-btn{font-size:14px}
  header nav#main-nav{display:none!important}
  body.menu-open header nav#main-nav{display:flex!important;position:absolute;top:100%;left:0;right:0;flex-direction:column;align-items:stretch;gap:0;background:#FBFAF9;padding:6px 18px 14px;box-shadow:0 12px 24px rgba(9,28,50,.18)}
  body.menu-open header nav#main-nav a{color:#0B3B6F;font-size:19px!important;padding:14px 0!important;border-bottom:1px solid #E4E1DC}
  body.menu-open header nav#main-nav a[aria-current="page"]{border-bottom:1px solid #E4E1DC;box-shadow:inset 3px 0 0 #CE0E2D;padding-left:12px!important}
  .page-hero{padding-top:130px}
  #video-toggle{top:108px}
}

/* Heroes: one image per page, slow zoom + scroll parallax */
.page-hero::before{content:"";position:absolute;inset:-10% 0;z-index:-2;background:url(hero-poster-8bb7d47bb191.webp) center/cover;translate:0 var(--hy,0px);animation:heroZoom 2.6s cubic-bezier(.16,.7,.2,1) both}
.page-hero::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(8,36,63,.7),rgba(8,36,63,.88))}
.hero-chi::before{background-image:url(pasted-1790095539730-0-4e7a6a60dc7d.webp);background-position:center 40%}
.hero-immobili::before{background-image:url("Modern_living_room_interior_phot..._2K_20260922183326-f53998fe28b2.webp")}
.hero-ask::before{background-image:url(Agent_handing_keys_to_client_2K_20260922183331-3825ef71ea98.webp);background-position:center 35%}
.hero-ask{padding-bottom:clamp(130px,15vw,200px)}
.hero-ask::after{background:linear-gradient(180deg,rgba(8,36,63,.74) 0%,rgba(8,36,63,.86) 50%,rgba(8,36,63,.6) 78%,rgba(255,255,255,.85) 96%,#FFFFFF 100%)}
.page-hero-in{translate:0 var(--hty,0px);opacity:var(--hto,1)}
.page-hero-in>*{animation:riseIn 1s cubic-bezier(.16,.7,.2,1) both}
.page-hero-in>*:nth-child(2){animation-delay:.12s}.page-hero-in>*:nth-child(3){animation-delay:.24s}
/* Keep the playing video at a fixed size from its first frame. */
.z11{animation:none;scale:1}
.z14>*{animation:riseIn 1.1s cubic-bezier(.16,.7,.2,1) both}.z14>*:nth-child(2){animation-delay:.15s}.z14>*:nth-child(3){animation-delay:.3s}
@keyframes heroZoom{from{scale:1.16}to{scale:1}}
@keyframes riseIn{from{opacity:0;translate:0 26px}to{opacity:1;translate:0 0}}
/* Chiedi a noi: chat card overlaps the hero instead of a hard cut */
.hero-ask+.z21 .z72{position:relative;z-index:1;box-sizing:border-box;width:calc(100% - 28px);max-width:860px;margin-top:clamp(-150px,-11vw,-90px);background:#fff;border-radius:28px;box-shadow:0 30px 80px rgba(8,36,63,.2);padding:clamp(30px,4vw,52px) clamp(18px,4vw,52px) clamp(24px,3vw,36px)}
/* Photos: soft load + clip reveal + parallax */
.photo-reveal-frame{background:linear-gradient(110deg,#ebe7e1 30%,#f5f2ee 50%,#ebe7e1 70%) 0 0/300% 100%;animation:shimmer 1.6s linear infinite}
.photo-reveal-frame.is-loaded{animation:none;background:#EFEDE9}
html.js .photo-reveal-frame .section-photo{opacity:0;filter:blur(14px);transition:opacity .9s ease,filter 1.1s ease}
html.js .photo-reveal-frame.is-loaded .section-photo{opacity:1;filter:none}
@keyframes shimmer{to{background-position:-300% 0}}
/* Scroll reveals */
html.js .rv{opacity:0;translate:0 34px;transition:opacity .9s ease,translate 1s cubic-bezier(.16,.7,.2,1)}
html.js .rv.in{opacity:1;translate:0 0}
/* Footer reveal parallax */
.z1{box-shadow:0 40px 70px rgba(4,18,33,.45)}
.z92{position:sticky;bottom:0;z-index:1;overflow:hidden}
.z92.no-reveal{position:relative}
.z93{will-change:transform,opacity}
/* Omnipresent assistant */
.ask-widget{position:fixed;right:clamp(14px,2.4vw,28px);bottom:clamp(14px,2.4vw,28px);z-index:70;display:flex;flex-direction:column;align-items:flex-end;gap:12px;font-family:'IBM Plex Sans',system-ui,sans-serif;transition:opacity .3s,translate .3s}
.ask-widget.is-hidden{opacity:0;translate:0 20px;pointer-events:none}
.ask-fab{display:flex;align-items:center;gap:10px;min-height:56px;padding:0 22px 0 18px;border:0;border-radius:999px;background:#0B3B6F;color:#fff;font-size:17px;font-weight:600;box-shadow:0 14px 34px rgba(8,36,63,.35);transition:background .2s,scale .2s;animation:fabIn .7s .6s cubic-bezier(.16,.7,.2,1) both}
.ask-fab:hover{background:#CE0E2D;scale:1.03}
.ask-fab-dot{display:grid;place-items:center;flex:none;width:30px;height:30px;border-radius:50%;background:#CE0E2D;font-size:16px;line-height:0;position:relative}
.ask-fab:hover .ask-fab-dot{background:#fff;color:#CE0E2D}
.ask-fab-dot::after{content:"";position:absolute;inset:-4px;border-radius:50%;border:2px solid #CE0E2D;animation:ping 2.4s 1.4s ease-out 3}
.ask-widget.open .ask-fab{display:none}
@keyframes fabIn{from{opacity:0;translate:0 24px}to{opacity:1;translate:0 0}}
@keyframes ping{from{opacity:.9;scale:1}to{opacity:0;scale:1.9}}
.ask-teaser{position:relative;max-width:260px;background:#fff;color:#15181C;border:1px solid #E4E1DC;border-radius:20px 20px 6px 20px;padding:14px 40px 14px 16px;font-size:16px;line-height:1.45;box-shadow:0 14px 34px rgba(8,36,63,.18);cursor:pointer;animation:fabIn .5s cubic-bezier(.16,.7,.2,1) both}
.ask-teaser button{position:absolute;top:6px;right:6px;width:32px;height:32px;border:0;background:transparent;color:#5C6470;font-size:20px;line-height:1}
.ask-panel{display:flex;flex-direction:column;width:min(400px,calc(100vw - 28px));height:min(620px,calc(100dvh - 120px));background:#FBFAF9;border-radius:24px;box-shadow:0 30px 80px rgba(8,36,63,.35);overflow:hidden;transform-origin:bottom right;opacity:0;scale:.92;translate:0 16px;visibility:hidden;transition:opacity .28s,scale .35s cubic-bezier(.16,.7,.2,1),translate .35s cubic-bezier(.16,.7,.2,1),visibility 0s .35s}
.ask-widget.open .ask-panel{opacity:1;scale:1;translate:0 0;visibility:visible;transition-delay:0s}
.ask-head{display:flex;align-items:flex-start;gap:12px;padding:18px 14px 16px 20px;background:#0B3B6F;color:#fff;border-bottom:3px solid #CE0E2D}
.ask-head>div{flex:1}
.ask-title{font-family:'Source Serif 4',Georgia,serif;font-size:21px;font-weight:600}
.ask-sub{font-size:14px;color:rgba(255,255,255,.85);margin-top:2px}
.ask-close{flex:none;display:grid;place-items:center;padding:0;width:44px;height:44px;border:0;border-radius:50%;background:rgba(255,255,255,.12);color:#fff;line-height:0}
.ask-close:hover{background:#CE0E2D}
.ask-log{flex:1;overflow-y:auto;overscroll-behavior:contain;display:flex;flex-direction:column;gap:12px;padding:18px 16px;scrollbar-width:none}
.ask-log .message{font-size:16px;padding:12px 16px;max-width:88%;animation:riseIn .45s cubic-bezier(.16,.7,.2,1) both}
.ask-log .reply-slot{min-height:0;width:auto}
.ask-thinking{display:flex;align-items:center;gap:10px;color:#0B3B6F;font-size:15px}
.ask-sugg{display:flex;flex-wrap:wrap;gap:8px;padding:0 16px 12px}
.ask-sugg button{background:#fff;border:1px solid #a4b5c9;color:#0B3B6F;font-size:14px;font-weight:500;padding:8px 13px;border-radius:999px;min-height:40px}
.ask-sugg button:hover{border-color:#0B3B6F}
.ask-form{margin:0 12px;min-height:58px;padding:6px 6px 6px 16px;box-shadow:none}
.ask-form button{width:44px;height:44px;font-size:24px}
.ask-note{margin:10px 16px 14px;font-size:13px;color:#5C6470;text-align:center}
.ask-note a{text-decoration:underline}
@media(max-width:560px){.ask-fab{min-height:52px;font-size:16px;padding:0 18px 0 14px}.ask-widget.open{right:0;bottom:0;left:0}.ask-panel{width:100%;height:min(86dvh,640px);border-radius:22px 22px 0 0}}
@media(prefers-reduced-motion:reduce){.page-hero::before,.z11,.page-hero-in>*,.z14>*,.ask-fab,.ask-fab-dot::after{animation:none!important}html.js .rv{opacity:1;translate:none}}

.chat-spark{display:grid;place-items:center;line-height:0;font-size:22px}
.ask-head{align-items:center}
.chat-spark svg,.ask-fab-dot svg,.ask-close svg{display:block}

/* Responsive refinements for the supplied multi-page site. */
*,*::before,*::after{scrollbar-width:none;-ms-overflow-style:none}
*::-webkit-scrollbar{display:none;width:0;height:0}
.menu-btn{position:relative;flex:none;justify-content:center;align-items:center;width:44px;height:44px;padding:0;line-height:0}
.menu-btn svg{display:block;width:22px;height:22px}
.menu-btn .menu-close-icon{display:none}
body.menu-open .menu-btn .menu-open-icon{display:none}
body.menu-open .menu-btn .menu-close-icon{display:block}
.ask-panel{line-height:1.5;position:absolute;bottom:calc(100% + 12px)}
.ask-widget.open .ask-panel{position:relative;bottom:auto}
.ask-log{min-height:0}
.ask-head,.ask-sugg,.ask-form,.ask-note{flex-shrink:0}
.ask-log>.message{flex-shrink:0}
.ask-form{width:calc(100% - 24px);gap:8px}
.ask-note{overflow-wrap:anywhere}
.ask-log::-webkit-scrollbar,#property-dialog::-webkit-scrollbar{display:none;width:0;height:0}
#property-dialog{scrollbar-width:none}
@media(max-width:960px){
  .z4{order:0}
  header a.z8{order:1;margin-left:auto}
  .menu-btn{display:inline-flex;order:2}
  header nav#main-nav{order:3}
  body.menu-open{--nav-bg:#FBFAF9;--nav-color:#0B3B6F;--nav-shadow:0 1px 12px #091c3214}
  body.menu-open .z5{filter:none}
  body.menu-open header nav#main-nav{max-height:calc(100dvh - 98px);overflow-y:auto;overscroll-behavior:contain;scrollbar-width:none}
  header a.z8{flex:none;min-height:44px;padding:10px 12px}
}
@media(max-width:700px){
  .z31,.z48{flex-direction:column;flex-wrap:nowrap;gap:26px}
  .z32,.z37,.z49{width:100%;min-width:0;flex:none}
  .z48 .z32{order:-1}
  .z37,.z49{padding:0 18px}
  .home-intro .z37{padding:0}
  .z39,.z47,.z50{font-size:18px}
  .z30{gap:60px}
  .z62{padding:20px}
  .z60{max-width:calc(100% - 28px);white-space:normal;line-height:1.4}
  .z86,.z90{padding:20px 16px;gap:12px}
  .z89{font-size:20px}
  .z83{overflow-wrap:anywhere}
  .z93{padding-bottom:100px}
}
@media(max-width:560px){
  html{scroll-padding-top:92px}
  .z2{margin-bottom:-86px}
  .z3{min-height:86px;padding:10px 14px;gap:8px!important}
  header img.z5{height:66px!important}
  header a.z8{font-size:13px!important;padding-left:10px!important;padding-right:10px!important;gap:6px}
  .z8 .z9{font-size:17px}
  body.menu-open header nav#main-nav{max-height:calc(100dvh - 86px)}
  .page-hero{padding-top:132px}
  .page-hero h1{font-size:clamp(30px,8vw,44px);letter-spacing:.025em;line-height:1.12}
  .page-hero p{font-size:19px;line-height:1.45}
  .z10{min-height:clamp(520px,78svh,640px)}
  .z14{padding-top:162px;padding-bottom:32px}
  .z15{font-size:clamp(29px,7.7vw,42px);line-height:1.12}
  #video-toggle{top:100px;right:14px}
  .z17,.cta-row{width:100%;gap:12px}
  .z17>a,.cta-row>a{justify-content:center;text-align:center;max-width:100%;padding:14px 18px;font-size:17px;min-height:52px}
  .cta-row>a{width:100%;line-height:1.4}
  .cta-row .z19{flex:none}
  .hero-ask+.z21 .z72{width:calc(100% - 28px);border-radius:20px;padding:28px 16px}
  .chat-form input{font-size:16px}
  .chat-suggestions button{font-size:14px;min-height:44px;padding:9px 12px}
  .message{padding:12px 14px;font-size:16px}
  #chat-messages.is-active{height:clamp(260px,40svh,360px)}
  .reply-slot{min-height:130px}
  #property-dialog{width:calc(100% - 24px);max-height:calc(100dvh - 24px);margin:auto;border-radius:12px}
  .z105{width:44px;height:44px;top:10px;right:10px}
  .z106{padding:22px 18px}
  .z111{grid-template-columns:repeat(2,minmax(0,1fr))}
  .z112{padding:16px 8px}
  .z113{font-size:12px;letter-spacing:.08em}
  .z115{font-size:17px}
  .z117{padding:22px 14px}
  .z120{flex-direction:column}
  .z120>a{justify-content:center;width:100%;padding:12px 10px;font-size:16px;min-height:52px}
  .z124{font-size:16px;line-height:1.4}
  .ask-widget.open .ask-panel{height:min(640px,calc(100dvh - 16px));max-height:calc(100dvh - 16px);padding-bottom:env(safe-area-inset-bottom)}
  .ask-fab{min-height:48px;font-size:15px;padding:0 16px 0 12px}
  .ask-teaser{font-size:15px;max-width:min(260px,calc(100vw - 28px))}
}
@media(max-height:500px){
  .ask-sugg{display:none}
  .ask-head{padding-top:8px;padding-bottom:8px}
  .ask-note{margin:6px 16px 8px}
}

/* Stable mobile scrolling: no scroll-driven zoom, clipping or footer layers. */
@media(max-width:960px),(pointer:coarse){
  .page-hero::before,.z11{animation:none;scale:1;translate:none}
  .page-hero-in,.z14{translate:none;opacity:1}
  .photo-reveal-frame{animation:none}
  html.js .photo-reveal-frame .section-photo{filter:none;transition:opacity .3s ease}
  .z92{position:relative}
  .z93{will-change:auto;transform:none;opacity:1}
  .z1{box-shadow:none}
  .z58:hover{transform:none}
}
