/* Homepage hero: real Vinci photography, with copy on the room's open wall. */
.flagship-hero{
  position:relative;display:flex;align-items:center;isolation:isolate;overflow:hidden;
  min-height:clamp(640px,calc(100svh - 82px),850px);height:auto;max-height:none;
  color:var(--ink);background:#e8e9e6
}
.flagship-hero:after,.flagship-hero:before{display:none}
.flagship-hero .hero-visual{position:absolute;inset:0;z-index:-1;min-height:0;height:100%;background:#e8e9e6}
.flagship-hero .hero-visual:after{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(90deg,rgba(255,255,255,.84) 0%,rgba(255,255,255,.73) 27%,rgba(255,255,255,.36) 43%,rgba(255,255,255,0) 62%),linear-gradient(0deg,rgba(13,38,48,.11),transparent 24%)
}
.flagship-hero .hero-photo{width:100%;height:100%;object-fit:cover;object-position:55% 52%;transform:scale(1.04) translateY(calc(var(--hero-drift,0px)*.18));animation:campaignImageIn 1.2s cubic-bezier(.33,1,.68,1) both}
.flagship-hero .hero-copy{
  position:relative;z-index:1;width:min(49%,690px);padding:clamp(72px,9vw,130px) 2% clamp(88px,10vw,145px) clamp(28px,7.5vw,120px);
  align-items:flex-start;justify-content:center;animation:campaignCopyIn .72s cubic-bezier(.22,1,.36,1) both
}
.flagship-hero h1{max-width:620px;font-size:clamp(68px,8vw,118px);line-height:.91;letter-spacing:-.075em;margin:0 0 25px;text-wrap:balance;color:#102e39}
.flagship-hero h1 em{color:#176a75;font-weight:450}
.flagship-hero .hero-copy>p{max-width:435px;color:#334d54;font-size:16px;line-height:1.72;margin:0 0 29px}
.flagship-hero .hero-actions{gap:12px 23px;align-items:center}
.flagship-hero .hero-actions .btn{background:#102e39;border-color:#102e39;color:#fff}
.flagship-hero .hero-actions .btn:hover{background:#176a75;border-color:#176a75}
.flagship-hero .hero-quiet{color:#102e39;border-color:rgba(16,46,57,.45)}
.flagship-hero .hero-quiet:hover,.flagship-hero .hero-quiet:focus-visible{color:#176a75;border-color:#176a75}
.flagship-hero .hero-visual{animation:campaignShutter .9s cubic-bezier(.76,0,.24,1) both}
.flagship-hero h1{animation:campaignCopyIn .72s .08s cubic-bezier(.22,1,.36,1) both}
.flagship-hero .hero-actions{animation:campaignCopyIn .72s .18s cubic-bezier(.22,1,.36,1) both}

/* The scene changes only when the visitor chooses a moment or a bed component. */
.night-copy.phase-entering,.system-copy.part-entering{animation:detailReveal .24s cubic-bezier(.2,.8,.2,1) both}
@keyframes detailReveal{from{opacity:.22;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}

/* A clearly labelled, interactive axonometric illustration explains the four-part system. */
.system-scene{display:grid;place-items:center;min-height:645px;background:#f1f3ef;perspective:1200px;cursor:grab}
.system-scene:after{display:none}
.sleep-assembly{height:min(100%,645px);width:auto;max-width:100%;overflow:visible;transform:perspective(1200px) rotateX(var(--model-tilt-y,0deg)) rotateY(var(--model-tilt-x,0deg)) scale(1.14,.9);transform-style:preserve-3d;transition:transform .22s ease-out}
.model-part{opacity:.76;transform-box:fill-box;transform-origin:center;transition:transform .24s ease-out,opacity .24s ease-out,filter .24s ease-out}
.system-explorer[data-active=letto] .model-part[data-model-part=letto],.system-explorer[data-active=rete] .model-part[data-model-part=rete],.system-explorer[data-active=materasso] .model-part[data-model-part=materasso],.system-explorer[data-active=cuscino] .model-part[data-model-part=cuscino]{opacity:1;transform:translateY(-8px);filter:drop-shadow(0 8px 9px rgba(16,46,57,.22))}
.system-scene-note{left:50%;right:auto;bottom:12px;width:max-content;max-width:88%;transform:translateX(-50%);text-align:center;color:#40565c;background:#f1f3ef;text-shadow:none;font-size:9px;letter-spacing:1.25px;line-height:1.5;padding:4px 8px}
.system-copy.part-entering{animation-duration:.24s}

@media(max-width:760px){
  .flagship-hero{display:flex;flex-direction:column;align-items:stretch;min-height:0;height:auto}
  .flagship-hero .hero-copy{width:100%;padding:clamp(46px,9vw,74px) 6% 32px;background:#f4f4f0}
  .flagship-hero h1{font-size:clamp(58px,10vw,82px);margin-bottom:18px}
  .flagship-hero .hero-copy>p{max-width:540px;font-size:15px;margin-bottom:23px}
  .flagship-hero .hero-visual{position:relative;inset:auto;z-index:0;width:100%;height:clamp(330px,66vw,510px);min-height:0}
  .flagship-hero .hero-visual:after{background:linear-gradient(0deg,rgba(11,36,46,.2),transparent 35%)}
  .flagship-hero .hero-photo{object-position:53% 56%}
  .flagship-hero .hero-photo{transform:scale(1.025) translateY(calc(var(--hero-drift,0px)*.1))}
  .system-scene{min-height:0;height:clamp(370px,96vw,480px)}
  .sleep-assembly{height:100%;max-height:100%;transform:scale(1.25,.85)}
  .system-scene-note{font-size:8px;letter-spacing:.8px}
}
@media(max-width:480px){
  .flagship-hero .hero-copy{padding:42px 6% 25px}
  .flagship-hero h1{font-size:clamp(54px,13vw,68px);margin-bottom:16px}
  .flagship-hero .hero-copy>p{font-size:14px;line-height:1.65}
  .flagship-hero .hero-actions{align-items:flex-start;flex-direction:column;gap:10px}
  .flagship-hero .hero-visual{height:310px}
}
@media(prefers-reduced-motion:reduce){
  .flagship-hero .hero-visual,.flagship-hero .hero-photo,.flagship-hero .hero-copy,.flagship-hero h1,.flagship-hero .hero-actions,.night-copy,.system-copy,.model-part{animation:none!important;opacity:1;transform:none!important;filter:none!important;clip-path:none!important;transition:none!important}
}

/* Electric blue and logo yellow sharpen the existing Notte Più identity. */
:root{--electric-blue:#0046d5;--brand-yellow:#fff200}
.flagship-hero h1 .hero-title-window{display:block;position:relative;height:1em;line-height:1;overflow:hidden;padding-bottom:.06em;margin-bottom:-.06em}
.flagship-hero h1 .hero-title-track{display:flex;flex-direction:column;transform:translate3d(0,0,0);transition:transform .72s cubic-bezier(.16,1,.3,1);will-change:transform}
.flagship-hero h1 .hero-title-track[data-index="1"]{transform:translate3d(0,-33.3333%,0)}
.flagship-hero h1 .hero-title-track[data-index="2"]{transform:translate3d(0,-66.6667%,0)}
.flagship-hero h1 .hero-title-slide{display:block;flex:0 0 1em;height:1em;line-height:1em;color:var(--brand-yellow);white-space:nowrap}
.hero-slide-controls{display:flex;align-items:center;gap:7px;margin:-13px 0 27px}
.hero-slide-choice{min-height:36px;padding:8px 11px;border:0;background:transparent;color:#fff;border-radius:2px;font:700 10px/1 "Avenir Next","Helvetica Neue",Arial,sans-serif;letter-spacing:.09em;cursor:pointer;transition:color .18s ease,background .18s ease,transform .14s ease}
.hero-slide-choice:hover{color:var(--brand-yellow)}
.hero-slide-choice:active,.hero-slide-pause:active{transform:scale(.97)}
.hero-slide-choice.active{background:var(--brand-yellow);color:var(--electric-blue)}
.hero-slide-pause{margin-left:auto;border:0;padding:8px 0;background:transparent;color:#fff;text-decoration:underline;text-underline-offset:4px;font:650 10px/1.2 "Avenir Next","Helvetica Neue",Arial,sans-serif;cursor:pointer;transition:color .18s ease}
.hero-slide-pause:hover{color:var(--brand-yellow)}
.hero-slide-controls button:focus-visible{outline:3px solid var(--brand-yellow);outline-offset:3px}
.flagship-hero .hero-copy>.hero-description{min-height:4.8em;transition:opacity .2s ease}
.flagship-hero .hero-slide-choice.active{background:var(--brand-yellow);color:var(--electric-blue)}
.flagship-hero .hero-actions .btn{background:var(--electric-blue);border-color:var(--electric-blue);color:#fff}
.flagship-hero .hero-actions .btn:hover{background:#003fbd;border-color:#003fbd}
.trust-strip{background:var(--electric-blue);color:#fff}
.trust-strip>div{border-color:#ffffff58}
.trust-strip span{color:var(--brand-yellow);font-size:9px;font-weight:800;letter-spacing:1.6px;margin-bottom:10px}
.trust-strip strong{color:#fff}
.trust-strip small{color:#e7efff}
@media(max-width:760px){
 .hero-slide-controls{margin:-8px 0 22px}
 .hero-slide-choice{color:var(--electric-blue)}
 .hero-slide-choice:hover{color:#003fbd}
 .flagship-hero .hero-slide-choice.active{background:var(--electric-blue);color:#fff}
 .hero-slide-pause{color:#243d46}
 .hero-slide-pause:hover{color:var(--electric-blue)}
 .flagship-hero h1 .hero-title-slide{color:var(--electric-blue)}
 .flagship-hero .hero-copy>.hero-description{min-height:5.1em}
}
@media(prefers-reduced-motion:reduce){
 .flagship-hero h1 .hero-title-track{transition:none;will-change:auto}
 .hero-slide-choice,.hero-slide-pause,.flagship-hero .hero-copy>.hero-description{transition:none}
}

/* Sitewide Notte Più palette: midnight, electric blue, logo yellow, white. */
:root{--night:#071d3b;--electric-blue:#0046d5;--brand-yellow:#fff200;--white:#fff;--ink:var(--night);--deep:var(--night);--paper:var(--white);--cream:var(--white);--sage:var(--white);--cyan:var(--electric-blue);--cyan-dark:var(--electric-blue);--muted:#334967;--line:#d4def0;--accent:var(--brand-yellow)}
body{background:var(--white);color:var(--night)}
header{background:rgba(255,255,255,.97);color:var(--night);border-color:var(--line)}
nav a,.brand-name,.brand-caption{color:var(--night)}
nav a:after{background:var(--electric-blue)}
.header-cta,.btn,.filter.active{background:var(--electric-blue);border-color:var(--electric-blue);color:var(--white)}
.header-cta:hover,.btn:hover{background:var(--night);border-color:var(--night);color:var(--white)}
a,.text-link{color:var(--electric-blue)}
.text-link:hover,.text-link:focus-visible{color:var(--night);border-color:var(--brand-yellow)}
:focus-visible{outline-color:var(--electric-blue)}

/* White is the shared canvas; deep-blue bands mark key brand moments. */
.section,.collections-home,.system-explorer,.method,.social-section,.catalogue,.gallery-grid,.locations,.editorial,.info-page,.service-highlights{background:var(--white);color:var(--night)}
.night-journey,.home-showrooms,footer{background:var(--night);color:var(--white)}
.page-intro{background:var(--night);color:var(--white);border:0}
.page-intro .breadcrumb,.page-intro p{color:#e7edff}
.page-intro .eyebrow,.night-journey .eyebrow,.home-showrooms .eyebrow,footer .eyebrow{color:var(--brand-yellow)}
.page-intro h1 em{color:var(--brand-yellow)}
.night-journey{background:var(--night);color:var(--white)}
.night-journey-intro p{color:#e7edff}
.night-stage{background:var(--night);color:var(--white)}
.night-stage:after{background:linear-gradient(90deg,rgba(7,29,59,.9),rgba(7,29,59,.32) 66%,rgba(7,29,59,.12)),linear-gradient(0deg,rgba(7,29,59,.78),transparent 48%)}
.night-atmosphere,.night-journey[data-phase=notte] .night-atmosphere{background-color:rgba(0,70,213,.24)}
.night-copy,.night-content{color:var(--white)}
.night-copy .eyebrow,.night-copy h2 em{color:var(--brand-yellow)}
.night-copy p{color:#e7edff}
.trust-strip{background:var(--electric-blue);color:var(--white);border:0}
.trust-strip>div,.trust-strip>div:last-child{border-color:#ffffff55}
.trust-strip span{color:var(--brand-yellow)}
.trust-strip strong{color:var(--white)}
.trust-strip small{color:#edf2ff}
.flagship-hero h1,.flagship-hero h1 .hero-title-slide{color:var(--electric-blue)}
.flagship-hero h1 em{color:var(--night)}
.flagship-hero .hero-copy>p{color:var(--night)}
.flagship-hero .eyebrow{color:var(--electric-blue)}
.flagship-hero .eyebrow:before{background:var(--brand-yellow)}
.hero-slide-choice{color:var(--electric-blue)}
.hero-slide-choice.active,.flagship-hero .hero-slide-choice.active{background:var(--brand-yellow);color:var(--night)}
.hero-slide-pause{color:var(--night)}
.hero-slide-controls button:focus-visible{outline-color:var(--brand-yellow)}
.visit-teaser{background:var(--electric-blue);color:var(--white)}
.visit-teaser h2,.visit-teaser p,.visit-teaser .text-link{color:var(--white)}
.visit-teaser .eyebrow{color:var(--brand-yellow)}
.home-showrooms{background:var(--night);color:var(--white)}
.home-showrooms h2,.home-showrooms p,.home-showrooms .text-link{color:var(--white)}
.home-showrooms .eyebrow{color:var(--brand-yellow)}
.home-showrooms h2 em{color:var(--brand-yellow)}
.home-showrooms .btn,.btn.light{background:var(--brand-yellow);border-color:var(--brand-yellow);color:var(--night)}
.home-showrooms .btn:hover,.btn.light:hover{background:var(--white);border-color:var(--white);color:var(--night)}
footer{border-top:4px solid var(--brand-yellow);color:var(--white)}
footer .brand{background:transparent}
footer .brand-name,footer .brand-caption,footer a{color:var(--white)}
.footer-bottom{border-color:#ffffff38;color:#dbe5fa}
.service-highlights{border-block:1px solid var(--line)}
.service-intro h2 em,.official-models h2 em{color:var(--electric-blue)}
.service-intro>p,.official-models>div>p,.service-grid p{color:var(--muted)}
.service-grid article>span{color:var(--electric-blue)}
.service-grid article{border-color:var(--line)}
.official-models,.official-models ul,.official-lines,.official-models li,.official-lines article{border-color:var(--line)}
.official-lines p{color:var(--muted)}
.google-reviews{background:var(--white);color:var(--night);border-block:1px solid var(--line)}
.reviews-score,.review-stars{color:var(--electric-blue)}
.review-controls button{border-color:var(--electric-blue);color:var(--electric-blue)}
.review-controls button:hover{background:var(--electric-blue);color:var(--white)}
.reviews-disclosure,.review-source,.review-locations{color:var(--muted)}
.system-panel,.system-scene{background:#f3f7ff;color:var(--night)}
.system-panel-top{color:var(--electric-blue);border-color:var(--line)}
.system-scene-note{background:#f3f7ff;color:var(--night)}
.system-tabs button,.quiz-option{background:var(--white);border-color:var(--line);color:var(--night)}
.system-tabs button[aria-selected=true],.quiz-option[aria-pressed=true]{background:var(--electric-blue);border-color:var(--electric-blue);color:var(--white)}
.system-tabs button:hover,.quiz-option:hover{border-color:var(--electric-blue);color:var(--electric-blue)}
.system-tabs button[aria-selected=true]:hover,.quiz-option[aria-pressed=true]:hover{color:var(--white)}
.product-card,.product-detail{background:var(--white);color:var(--night);border-color:var(--line)}
.product-info p,.product-info small,.product-detail p{color:var(--muted)}
.filter{color:var(--night);border-color:var(--line)}
.filter:hover:not(.active){border-color:var(--electric-blue);color:var(--electric-blue)}
.search,.booking input,.booking select,.booking textarea{color:var(--night);border-color:#8398bb;background:var(--white)}
.booking{background:#f3f7ff;color:var(--night)}
.booking p,.booking label{color:var(--night)}
.booking input::placeholder,.booking textarea::placeholder{color:#536782}
.booking input:focus,.booking select:focus,.booking textarea:focus{outline:2px solid var(--electric-blue);outline-offset:2px}
.locations,.editorial,.info-page{color:var(--night)}
.locations p,.editorial p,.info-page p,.location p{color:var(--muted)}
.location,.hours,.filters{border-color:var(--line)}
.contact-float{background:var(--brand-yellow);border-color:var(--brand-yellow);color:var(--night)}
.contact-float:hover{background:var(--electric-blue);border-color:var(--electric-blue);color:var(--white)}
.social-section{color:var(--night);border-color:var(--line)}
.social-heading p,.social-card p{color:var(--muted)}
.category.contain{background:#f3f7ff}
.category.contain:after{background:linear-gradient(0deg,#f3f7ff,transparent 45%)}
.category.contain .category-caption{color:var(--night)}
.gallery-item span{background:var(--white);color:var(--night)}
.breadcrumb,.result-count{color:var(--muted)}
.story-block,.booking{background:#f3f7ff;color:var(--night)}
.story-content p{color:var(--muted)}
.product-card{border:1px solid var(--line);padding-bottom:20px}
.product-image,.detail-image,.social-image{background:#f3f7ff}
.social-card small,.social-swipe{color:var(--muted)}
.social-links a{color:var(--electric-blue)}
.social-image span{background:var(--brand-yellow);color:var(--night)}
.review-locations{background:#edf2fb}
.review-locations button{color:var(--night)}
.review-locations button.active{background:var(--electric-blue);color:var(--white)}
.quiz,.dialog,.product-modal{background:var(--white);color:var(--night)}
.modal-close{background:var(--brand-yellow);color:var(--night)}
.seo-product-list strong,.seo-location-links strong{color:var(--night)}
.seo-product-list span,.seo-location-links span{color:var(--muted)}
@media(max-width:760px){
  .flagship-hero .hero-copy{background:var(--white)}
  .hero-slide-choice{color:var(--electric-blue)}
  .hero-slide-pause{color:var(--night)}
  .trust-strip>div,.trust-strip>div:first-child,.trust-strip>div:last-child{border-color:#ffffff55}
}

@media(min-width:1100px){.locations{grid-template-columns:repeat(3,minmax(0,1fr));gap:32px}}
.story-image img{width:100%;height:100%;object-fit:cover;object-position:center}

/* The original Notte Più logo moves from electric blue into its real yellow and cyan colours. */
.moon-loader{position:fixed;inset:0;z-index:10000;display:grid;place-content:center;justify-items:center;gap:13px;background:#fff;color:#071d3b;transition:opacity .38s ease,visibility .38s ease}
.moon-loader.is-done{opacity:0;visibility:hidden;pointer-events:none}
.loader-logo{position:relative;width:min(270px,76vw);aspect-ratio:1763/591;overflow:hidden}
.loader-logo img{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:contain}
.loader-logo-base{filter:none}
.loader-logo-color{clip-path:inset(0 100% 0 0);animation:logo-reveal 1.25s cubic-bezier(.22,.7,.25,1) .12s forwards}
.moon-loader>span{font-size:10px;font-weight:800;letter-spacing:.2em;color:#071d3b;text-transform:uppercase}
@keyframes logo-reveal{to{clip-path:inset(0 0 0 0)}}
@media(prefers-reduced-motion:reduce){.moon-loader,.loader-logo-color{transition:none!important;animation:none!important}.loader-logo-color{clip-path:none}}
@media(max-width:760px){.loader-logo{width:min(248px,78vw)}.moon-loader>span{font-size:9px;letter-spacing:.12em}}

/* Keep review accents and keyboard focus inside the blue brand palette. */
.reviews-score span,.review-stars{color:var(--electric-blue)}
.review-locations button:focus-visible,.google-reviews a:focus-visible,.review-controls button:focus-visible{outline-color:var(--electric-blue)}

/* The opening scene introduces the two real Notte Più showrooms. */
.flagship-hero .hero-visual{overflow:hidden}
.flagship-hero .hero-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transform:scale(1);animation:none;transition:opacity .85s ease,transform 7s cubic-bezier(.2,.7,.25,1)}
.flagship-hero .hero-photo.is-active{opacity:1;transform:scale(1.045)}
.flagship-hero .hero-photo[data-hero-photo="0"]{object-position:50% 50%}
.flagship-hero .hero-location-card{position:absolute;z-index:2;right:clamp(18px,3.4vw,52px);bottom:clamp(18px,3.4vw,48px);width:min(365px,calc(50% - 46px));padding:20px 24px 21px;background:var(--white);color:var(--night);border-left:5px solid var(--brand-yellow);box-shadow:0 12px 36px #071d3b38}
.hero-location-card>span{display:block;margin:0 0 8px;color:var(--electric-blue);font-size:9px;font-weight:850;letter-spacing:.17em}
.hero-location-card>strong{display:block;font-size:clamp(19px,2.15vw,27px);line-height:1.12;letter-spacing:-.035em}
.hero-location-card>p{margin:8px 0 13px;color:#334967;font-size:12px;line-height:1.5}
.hero-location-card>a{display:inline-block;color:var(--electric-blue);font-size:11px;font-weight:800;letter-spacing:.02em;text-decoration:underline;text-decoration-color:var(--brand-yellow);text-decoration-thickness:2px;text-underline-offset:4px}
.hero-location-card>a:hover{color:var(--night)}
.hero-location-card>a:focus-visible{outline:3px solid var(--electric-blue);outline-offset:4px}
@media(max-width:760px){
 .flagship-hero .hero-photo[data-hero-photo="0"]{object-position:50% 50%}
 .flagship-hero .hero-location-card{right:14px;bottom:14px;width:min(290px,calc(100% - 28px));padding:14px 16px 15px;border-left-width:4px}
 .hero-location-card>span{font-size:8px;margin-bottom:5px}
 .hero-location-card>strong{font-size:20px}
 .hero-location-card>p{font-size:11px;margin:6px 0 9px}
 .hero-location-card>a{font-size:10px}
}
@media(prefers-reduced-motion:reduce){.flagship-hero .hero-photo{transition:none;transform:none!important}.flagship-hero .hero-photo.is-active{transform:none}}

/* Full-viewport photography stays clean; all showroom copy follows beneath it. */
.flagship-hero{display:block;position:relative;width:100%;height:calc(100svh - 82px);min-height:520px;max-height:none;margin:0;overflow:hidden;background:var(--night)}
.flagship-hero .hero-visual{position:absolute;inset:0;width:100%;height:100%;min-height:0;background:var(--night);animation:none}
.flagship-hero .hero-visual:after{content:"";display:block;position:absolute;inset:0;pointer-events:none;background:linear-gradient(0deg,rgba(7,29,59,.2),transparent 42%)}
.flagship-hero .hero-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 38%;opacity:0;transform:scale(1);animation:none;transition:opacity .85s ease,transform 7s cubic-bezier(.2,.7,.25,1)}
.flagship-hero .hero-photo.is-active{opacity:1;transform:scale(1.045)}
.flagship-hero .hero-photo[data-hero-photo="0"]{object-position:50% 50%}
.hero-showroom-panel{display:flex;justify-content:center;padding:clamp(52px,7vw,92px) clamp(22px,6vw,90px) clamp(58px,7.5vw,100px);background:var(--white);color:var(--night);border-bottom:1px solid var(--line)}
.hero-showroom-panel .hero-copy{display:flex;width:min(720px,100%);height:auto;min-height:0;padding:0;flex-direction:column;align-items:center;justify-content:flex-start;text-align:center;background:transparent;color:var(--night);animation:campaignCopyIn .7s cubic-bezier(.22,1,.36,1) both}
.hero-showroom-panel .hero-copy>.eyebrow{color:var(--electric-blue);margin-bottom:17px}
.hero-showroom-panel h1{max-width:100%;margin:0 0 16px;color:var(--night);font-size:clamp(48px,6vw,78px);line-height:.99;letter-spacing:-.065em}
.hero-showroom-panel h1 em{color:var(--electric-blue);font-style:normal}
.hero-showroom-panel .hero-copy>.hero-description{width:min(620px,100%);min-height:0;margin:0 auto 20px;color:#334967;font-size:16px;line-height:1.7;transition:opacity .2s ease}
.hero-showroom-panel .hero-location-card{position:static;top:auto;right:auto;bottom:auto;width:min(560px,100%);margin:0 0 17px;padding:18px 22px;background:#f3f7ff;color:var(--night);border:0;border-left:4px solid var(--brand-yellow);box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none;text-align:left}
.hero-showroom-panel .hero-location-card>span{color:var(--electric-blue);font-size:9px}
.hero-showroom-panel .hero-location-card>strong{color:var(--night);font-size:21px}
.hero-showroom-panel .hero-location-card>p{margin:7px 0 10px;color:#334967;font-size:12px;line-height:1.55}
.hero-showroom-panel .hero-location-card>a{color:var(--electric-blue);font-size:11px;text-decoration-color:var(--brand-yellow)}
.hero-showroom-panel .hero-location-card>a:hover{color:var(--night)}
.hero-showroom-panel .hero-slide-controls{justify-content:center;gap:8px;margin:2px 0 19px}
.hero-showroom-panel .hero-slide-choice{min-height:42px;padding:11px 16px;color:var(--electric-blue);border:1px solid var(--line);background:var(--white);font-size:11px;letter-spacing:.04em}
.hero-showroom-panel .hero-slide-choice.active{background:var(--brand-yellow);border-color:var(--brand-yellow);color:var(--night)}
.hero-showroom-panel .hero-slide-choice:hover{color:var(--night);border-color:var(--electric-blue)}
.hero-showroom-panel .hero-actions{justify-content:center;align-items:center}
.hero-showroom-panel .hero-actions .btn{background:var(--electric-blue);border-color:var(--electric-blue);color:var(--white)}
.hero-showroom-panel .hero-actions .btn:hover{background:var(--night);border-color:var(--night);color:var(--white)}
.hero-showroom-panel .hero-quiet{color:var(--night);border-color:#8398bb}
.hero-showroom-panel .hero-quiet:hover,.hero-showroom-panel .hero-quiet:focus-visible{color:var(--electric-blue);border-color:var(--electric-blue)}
@media(max-width:760px){
 .flagship-hero{height:calc(100svh - 76px);min-height:430px}
 .flagship-hero .hero-photo[data-hero-photo="0"]{object-position:50% 50%}
 .hero-showroom-panel{padding:45px 20px 58px}
 .hero-showroom-panel .hero-copy{width:100%}
 .hero-showroom-panel .hero-copy>.eyebrow{margin-bottom:13px}
 .hero-showroom-panel h1{font-size:clamp(45px,12vw,66px)}
 .hero-showroom-panel .hero-copy>.hero-description{font-size:14px;line-height:1.65}
 .hero-showroom-panel .hero-location-card{padding:15px 17px}
 .hero-showroom-panel .hero-actions{align-items:center}
}
@media(prefers-reduced-motion:reduce){.flagship-hero .hero-photo{transition:none;transform:none!important}.flagship-hero .hero-photo.is-active{transform:none}.hero-showroom-panel .hero-copy{animation:none}}

/* Full-screen showroom opening: the places stay the subject of the photograph. */
.flagship-hero{height:calc(100svh - 82px);min-height:620px;max-height:none;display:flex;position:relative;isolation:isolate;overflow:hidden;background:var(--night);color:var(--white)}
.flagship-hero .hero-visual{position:absolute;z-index:0;inset:0;width:100%;height:100%;min-height:0;background:var(--night);animation:none}
.flagship-hero .hero-visual:after{content:"";display:block;position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,rgba(7,29,59,.94) 0%,rgba(7,29,59,.79) 30%,rgba(7,29,59,.28) 62%,rgba(7,29,59,.08) 100%),linear-gradient(0deg,rgba(7,29,59,.45),transparent 38%)}
.flagship-hero .hero-copy{position:relative;z-index:1;width:min(53%,760px);height:100%;min-height:0;padding:clamp(54px,8vw,112px) 3% clamp(54px,8vw,112px) clamp(28px,7.5vw,120px);justify-content:center;background:transparent;color:var(--white)}
.flagship-hero .hero-copy>.eyebrow{color:var(--brand-yellow)}
.flagship-hero h1{max-width:680px;color:var(--white);font-size:clamp(66px,8.5vw,122px);line-height:.94}
.flagship-hero h1 em{color:var(--brand-yellow);font-style:normal}
.flagship-hero .hero-copy>p,.flagship-hero .hero-copy>.hero-description{color:#f1f5ff;text-shadow:0 1px 14px #071d3b66}
.flagship-hero .hero-slide-choice{color:var(--white)}
.flagship-hero .hero-slide-choice.active{background:var(--brand-yellow);color:var(--night)}
.flagship-hero .hero-slide-pause{color:var(--white)}
.flagship-hero .hero-actions .btn{background:var(--brand-yellow);border-color:var(--brand-yellow);color:var(--night)}
.flagship-hero .hero-actions .btn:hover{background:var(--white);border-color:var(--white);color:var(--night)}
.flagship-hero .hero-quiet{color:var(--white);border-color:#ffffffb0}
.flagship-hero .hero-quiet:hover,.flagship-hero .hero-quiet:focus-visible{color:var(--brand-yellow);border-color:var(--brand-yellow)}
.flagship-hero .hero-location-card{top:clamp(22px,4vw,48px);right:clamp(22px,5vw,80px);bottom:auto;background:rgba(7,29,59,.91);color:var(--white);border-left-color:var(--brand-yellow);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
.hero-location-card>span{color:var(--brand-yellow)}
.hero-location-card>strong{color:var(--white)}
.hero-location-card>p{color:#edf2ff}
.hero-location-card>a{color:var(--brand-yellow);text-decoration-color:var(--white)}
.hero-location-card>a:hover{color:var(--white)}
@media(max-width:760px){
 .flagship-hero{display:block;height:calc(100svh - 76px);min-height:520px;max-height:none}
 .flagship-hero .hero-visual{position:absolute;z-index:0;inset:0;width:100%;height:100%;min-height:0}
 .flagship-hero .hero-visual:after{background:linear-gradient(0deg,rgba(7,29,59,.97) 0%,rgba(7,29,59,.83) 34%,rgba(7,29,59,.28) 68%,rgba(7,29,59,.12) 100%)}
 .flagship-hero .hero-photo[data-hero-photo="0"]{object-position:50% 50%}
 .flagship-hero .hero-copy{width:100%;height:100%;min-height:0;padding:35px 22px 100px;justify-content:flex-end;background:transparent;color:var(--white)}
 .flagship-hero h1{font-size:clamp(55px,12vw,74px);color:var(--white)}
 .flagship-hero .hero-copy>p,.flagship-hero .hero-copy>.hero-description{color:#f1f5ff}
 .flagship-hero .hero-slide-choice{color:var(--white)}
 .flagship-hero .hero-slide-choice.active{background:var(--brand-yellow);color:var(--night)}
 .flagship-hero .hero-slide-pause{color:var(--white)}
 .flagship-hero .hero-actions{align-items:flex-start}
 .flagship-hero .hero-quiet{color:var(--white)}
 .flagship-hero .hero-location-card{left:auto;right:14px;top:14px;bottom:auto;width:min(255px,calc(100% - 28px));padding:14px 17px 15px;background:rgba(7,29,59,.94);border-left-width:4px}
 .hero-location-card>span{color:var(--brand-yellow)}
 .hero-location-card>strong{font-size:20px}
 .hero-location-card>p{font-size:11px;margin:6px 0 9px;color:#edf2ff}
 .hero-location-card>a{font-size:10px;color:var(--brand-yellow)}
}
@media(max-width:480px){.flagship-hero{height:calc(100svh - 76px);min-height:500px}.flagship-hero .hero-copy{padding:30px 20px 96px}.flagship-hero .hero-copy>p{font-size:14px;line-height:1.55;margin-bottom:17px}.flagship-hero .hero-actions{gap:8px}}
@media(prefers-reduced-motion:reduce){.flagship-hero .hero-photo{transition:none;transform:none!important}.flagship-hero .hero-photo.is-active{transform:none}}

/* Su mobile conserva tutta la facciata; il campo sfocato usa la stessa foto reale. */
@media(max-width:760px){
 .flagship-hero .hero-visual::before{content:"";position:absolute;z-index:0;inset:-22px;background-position:center;background-size:cover;filter:blur(22px) brightness(.68);transform:scale(1.04)}
 .flagship-hero .hero-visual[data-location="0"]::before{background-image:url("assets/civitanova-via-martiri-hero.jpg")}
 .flagship-hero .hero-visual[data-location="1"]::before{background-image:url("assets/tolentino-la-rancia-hero.jpg")}
 .flagship-hero .hero-visual::after{background:none}
 .flagship-hero .hero-photo{object-fit:contain;object-position:center;transform:none}
 .flagship-hero .hero-photo.is-active{transform:none}
}

/* Slideshow mobile compatto: l’intera vetrina resta leggibile senza tagli. */
@media(max-width:760px){.flagship-hero{height:min(68svh,600px);min-height:430px}.flagship-hero .hero-visual{inset:0;height:100%;min-height:0}}
@media(max-width:480px){.flagship-hero{height:min(68svh,560px);min-height:420px}}


/* Real showroom photography stays clear; site copy remains below the image. */
.flagship-hero .hero-visual:after{display:none!important;background:none!important}
@media(min-width:761px){
 .flagship-hero .hero-photo{object-fit:cover;object-position:center center;filter:none!important;transform:none!important;transition:opacity .65s ease}
 .flagship-hero .hero-photo.is-active{transform:none!important}
}

/* Mobile showroom opener: one complete storefront, with its address on a clear blue lower-third. */
@media(max-width:760px){
 header{position:sticky;top:0;z-index:100;background:#fff}
 .flagship-hero{height:auto;min-height:0;max-height:none;aspect-ratio:auto;background:var(--night)}
 .flagship-hero .hero-visual{position:relative;inset:auto;z-index:0;width:100%;height:auto;min-height:0;aspect-ratio:16/9;background:var(--night)}
 .flagship-hero .hero-visual:before{content:none!important;display:none!important}
 .flagship-hero .hero-visual:after{content:none!important;display:none!important;background:none!important}
 .flagship-hero .hero-photo{object-fit:cover!important;object-position:center center!important;filter:none!important;transform:none!important}
 .flagship-hero .hero-photo.is-active{transform:none!important}
 .hero-showroom-panel{position:relative;padding:34px 20px 46px}
 .hero-showroom-panel .hero-copy{width:100%;align-items:flex-start;text-align:left}
 .hero-showroom-panel .hero-copy>.eyebrow{margin-bottom:14px}
 .hero-showroom-panel h1{font-size:clamp(47px,12vw,64px);margin-bottom:13px}
 .hero-showroom-panel .hero-copy>.hero-description{font-size:14px;line-height:1.6;margin:0 0 18px;text-align:left}
 .hero-showroom-panel .hero-location-card{position:absolute;z-index:4;top:0;left:16px;right:16px;bottom:auto;transform:translateY(calc(-100% - 34px));display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;column-gap:12px;row-gap:3px;width:auto;margin:0;padding:10px 14px;background:var(--night);color:#fff;border:0;border-left:4px solid var(--brand-yellow);border-radius:2px;box-shadow:0 10px 24px #071d3b30;text-align:left}
 .hero-showroom-panel .hero-location-card>span{grid-column:1/-1;color:var(--brand-yellow);font-size:8px;margin:0}
 .hero-showroom-panel .hero-location-card>strong{grid-column:1;grid-row:2;color:#fff;font-size:17px;line-height:1.1}
 .hero-showroom-panel .hero-location-card>p{grid-column:1/-1;grid-row:3;margin:0;color:#eef3ff;font-size:10px;line-height:1.35}
 .hero-showroom-panel .hero-location-card>a{grid-column:2;grid-row:2;color:var(--brand-yellow);font-size:9px;text-decoration-color:#fff;white-space:nowrap}
 .hero-showroom-panel .hero-slide-controls{justify-content:flex-start;gap:8px;margin:0 0 16px}
 .hero-showroom-panel .hero-slide-choice{min-height:38px;padding:9px 13px}
 .hero-showroom-panel .hero-actions{justify-content:flex-start;align-items:flex-start;gap:10px 18px}
}
@media(max-width:390px){
 .hero-showroom-panel{padding-inline:17px}
 .hero-showroom-panel .hero-location-card{left:12px;right:12px;padding:9px 11px}
 .hero-showroom-panel .hero-location-card>p{font-size:9px}
}
@media(prefers-reduced-motion:reduce){
 .flagship-hero .hero-photo{transition:none;transform:none!important}
 .flagship-hero .hero-photo.is-active{transform:none!important}
}

/* Scroll-linked brand story: one pinned scene, three clear moments, native page scrolling. */
.night-journey{--journey-ink:var(--white);--journey-copy:#e7edff;background:var(--night);transition:background-color .65s,color .65s}
.night-journey[data-phase=notte]{background:var(--electric-blue)}
.night-journey[data-phase=mattino]{background:var(--brand-yellow);color:var(--night);--journey-ink:var(--night);--journey-copy:#142b4b}
.night-journey-intro h2{color:var(--journey-ink);transition:color .55s}
.night-journey-intro h2 em{color:var(--brand-yellow);transition:color .55s}
.night-journey[data-phase=mattino] .night-journey-intro h2 em{color:var(--electric-blue)}
.night-journey-intro p{color:var(--journey-copy);transition:color .55s}
.journey-scroll-track{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(270px,.65fr);gap:clamp(35px,6vw,100px);align-items:start;padding:0 clamp(25px,7vw,120px)}
.journey-scroll-track .night-stage{position:sticky;top:calc(var(--header-height,82px) + 20px);height:min(78svh,780px);min-height:560px;align-self:start}
.journey-scroll-beats{position:relative;display:flex;flex-direction:column}
.journey-scroll-beats:before{content:"";position:absolute;left:5px;top:13%;bottom:13%;width:2px;background:linear-gradient(var(--brand-yellow),rgba(255,255,255,.35),var(--brand-yellow));transform-origin:top;opacity:.85}
.journey-scroll-beat{position:relative;display:flex;min-height:72svh;flex-direction:column;justify-content:center;padding:60px 0 60px 38px;opacity:.46;transition:opacity .45s,transform .55s cubic-bezier(.2,.8,.2,1);transform:translateY(14px)}
.journey-scroll-beat:before{content:"";position:absolute;left:0;top:50%;width:12px;height:12px;border-radius:50%;background:var(--night);border:2px solid var(--brand-yellow);transform:translate(-4px,-50%);transition:background .35s,box-shadow .35s}
.journey-scroll-beat.is-current{opacity:1;transform:translateY(0)}
.journey-scroll-beat.is-current:before{background:var(--brand-yellow);box-shadow:0 0 0 7px rgba(255,226,0,.18),0 0 22px rgba(255,226,0,.65)}
.journey-scroll-beat>span{color:var(--brand-yellow);font-size:10px;font-weight:750;letter-spacing:.16em}
.journey-scroll-beat h3{margin:22px 0;font:500 clamp(38px,4.1vw,64px)/1.02 var(--serif);letter-spacing:-.045em;color:var(--journey-ink)}
.journey-scroll-beat p{max-width:260px;color:var(--journey-copy);font-size:14px;line-height:1.7}
.night-journey[data-phase=mattino] .journey-scroll-beat>span{color:var(--electric-blue)}
.night-journey[data-phase=mattino] .journey-scroll-beat:before{background:var(--brand-yellow)}
.night-journey[data-phase=mattino] .journey-scroll-beat.is-current:before{background:var(--electric-blue);border-color:var(--electric-blue);box-shadow:0 0 0 7px rgba(0,70,213,.17),0 0 22px rgba(0,70,213,.4)}
.night-journey[data-phase=mattino] .night-after{background:var(--brand-yellow);color:var(--night)}
.night-journey[data-phase=mattino] .night-after .text-link{color:var(--night)}
.night-after{transition:background-color .55s,color .55s}
@media(max-width:760px){
 .journey-scroll-track{display:flex;flex-direction:column;gap:0;padding:0}
 .journey-scroll-track .night-stage{position:relative;top:auto;width:100%;height:clamp(470px,125vw,620px);min-height:0}
 .journey-scroll-beats{padding:10px 7% 18px}
 .journey-scroll-beats:before{left:5px;top:8%;bottom:8%}
 .journey-scroll-beat{min-height:48svh;padding:50px 10px 50px 34px}
 .journey-scroll-beat h3{font-size:clamp(42px,10vw,58px)}
 .journey-scroll-beat p{font-size:13px}
}
@media(prefers-reduced-motion:reduce){
 .night-journey,.night-journey-intro h2,.night-journey-intro h2 em,.night-journey-intro p,.journey-scroll-beat,.journey-scroll-beat:before,.night-after{transition:none!important}
 .journey-scroll-beat{opacity:1;transform:none}
}
