/* Notte Più: one face, three brand colours, alternating colour chapters. */
:root{
  --night:#071d3b;
  --electric-blue:#0046d5;
  --brand-yellow:#fff200;
  --white:#fff;
  --ink:var(--night);
  --deep:var(--night);
  --paper:var(--white);
  --cream:var(--white);
  --sage:#eef3fb;
  --muted:#294568;
  --line:#c8d6ec;
  --accent:var(--brand-yellow);
  --serif:"Avenir Next",Avenir,"Helvetica Neue",-apple-system,BlinkMacSystemFont,Arial,sans-serif;
  --brand-face:"Avenir Next",Avenir,"Helvetica Neue",-apple-system,BlinkMacSystemFont,Arial,sans-serif;
  --chapter-pad:clamp(30px,7.2vw,116px);
  color-scheme:light;
}
html{scroll-padding-top:84px}
main{overflow-x:clip}
body{font-family:var(--brand-face);font-size:16px;line-height:1.6;color:var(--night);background:var(--white)}
h1,h2,h3,button,input,select,textarea{font-family:var(--brand-face)}
h1,h2{font-weight:700;letter-spacing:-.055em;text-wrap:balance}
h3{font-weight:650;letter-spacing:-.035em}
h1 em,h2 em,h3 em,em{font:inherit;font-style:normal;color:inherit}
p{line-height:1.65}
.btn,.header-cta{border-radius:2px;font-size:14px;font-weight:700;transition:background-color .24s ease,color .24s ease,border-color .24s ease,transform .18s ease}
.btn:active,.header-cta:active{transform:translateY(1px)}
.text-link{font-size:14px;font-weight:700;gap:14px}
.eyebrow{font-size:12px;letter-spacing:.04em;text-transform:none;font-weight:650}
.eyebrow:before{display:none}
header{background:var(--white);border:0;box-shadow:none;backdrop-filter:none;transition:background-color .42s ease,color .42s ease}
.header-cta{background:var(--electric-blue);border-color:var(--electric-blue);color:var(--white)}
.header-cta:hover{background:var(--night);border-color:var(--night);color:var(--white)}
.reading-progress span{background:var(--electric-blue);transition:background-color .42s ease}
body[data-color-tone="night"] .reading-progress span,body[data-color-tone="yellow"] .reading-progress span{background:var(--brand-yellow)}
body[data-color-tone="blue"] .reading-progress span{background:var(--electric-blue)}
body[data-color-tone="night"] .header-cta,body[data-color-tone="yellow"] .header-cta{background:var(--brand-yellow);border-color:var(--brand-yellow);color:var(--night)}
body[data-color-tone="night"] .header-cta:hover,body[data-color-tone="yellow"] .header-cta:hover{background:var(--white);border-color:var(--white);color:var(--night)}
body[data-color-tone="blue"] .header-cta{background:var(--night);border-color:var(--night);color:var(--white)}
.contact-float{border:0;border-radius:2px;box-shadow:none;font-size:14px;font-weight:700;transition:background-color .42s ease,color .42s ease,transform .18s ease}
body[data-color-tone="night"] .contact-float,body[data-color-tone="yellow"] .contact-float{background:var(--brand-yellow);color:var(--night)}
body[data-color-tone="blue"] .contact-float{background:var(--night);color:var(--white)}

/* Each stop in the page has a field from the original logo's palette. */
.trust-strip{background:var(--electric-blue);color:var(--white);border:0}
.trust-strip>div{border:0}
.trust-strip span{color:var(--brand-yellow);font-size:13px;letter-spacing:0;text-transform:none}
.trust-strip strong{color:var(--white);font-size:clamp(22px,2.2vw,30px);letter-spacing:-.04em}
.trust-strip small{color:#fff;font-size:14px;letter-spacing:0;text-transform:none}
.service-highlights{min-height:78svh;align-content:center;grid-template-columns:.82fr 1.18fr;gap:8%;padding:clamp(75px,9vw,132px) var(--chapter-pad);background:var(--white);color:var(--night);border:0}
.service-intro h2{font-size:clamp(48px,6vw,84px);max-width:9ch}
.service-intro>p{max-width:34ch;margin-top:25px;color:var(--night);font-size:17px;line-height:1.6}
.service-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 clamp(22px,3.4vw,54px)}
.service-grid article{padding:20px 0 24px;border:0}
.service-grid h3{margin:0 0 9px;font-size:clamp(20px,1.8vw,25px);color:var(--night)}
.service-grid p{max-width:36ch;font-size:15px;line-height:1.6;color:var(--night)}
.collections-home{min-height:86svh;padding:clamp(72px,8vw,120px) var(--chapter-pad);background:var(--brand-yellow);color:var(--night)}
.collections-home .section-heading h2{color:var(--night);font-size:clamp(50px,7vw,94px)}
.collections-home .section-heading h2 em{color:var(--night)}
.collections-home .section-heading p{color:var(--night);font-size:17px;line-height:1.55}
.collections-home .text-link{color:var(--night)}
.category{background:var(--white);color:var(--night)}
.category.contain .category-caption{background:var(--white);color:var(--night)}
.category-caption small{font-size:12px;letter-spacing:0;text-transform:none}
.category-caption h3{font-family:var(--brand-face);font-weight:700}
.night-journey{--journey-ink:var(--white);--journey-copy:#fff;background:var(--night);color:var(--white);transition:background-color .56s ease,color .42s ease}
.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:var(--night)}
.night-journey-intro{padding:clamp(75px,9vw,130px) var(--chapter-pad) 54px}
.night-journey-intro h2{font:700 clamp(52px,7vw,96px)/.98 var(--brand-face);letter-spacing:-.06em;color:var(--journey-ink)}
.night-journey-intro h2 em{color:var(--brand-yellow)}
.night-journey[data-phase="mattino"] .night-journey-intro h2 em{color:var(--electric-blue)}
.night-journey-intro p{max-width:36ch;color:var(--journey-copy);font-size:17px}
.journey-scroll-beats:before{background:var(--brand-yellow)}
.journey-scroll-beat>span{font-size:13px;letter-spacing:0;color:var(--brand-yellow)}
.journey-scroll-beat h3{font-family:var(--brand-face);font-size:clamp(37px,4.2vw,64px);font-weight:700;letter-spacing:-.055em}
.journey-scroll-beat p{max-width:32ch;color:var(--journey-copy);font-size:16px}
.night-journey[data-phase="mattino"] .journey-scroll-beat>span{color:var(--electric-blue)}
.night-journey[data-phase="mattino"] .journey-scroll-beat h3,.night-journey[data-phase="mattino"] .journey-scroll-beat p{color:var(--night)}
.night-journey[data-phase="mattino"] .night-after{background:var(--brand-yellow);color:var(--night)}
.system-explorer{min-height:88svh;background:var(--white);color:var(--night)}
.system-intro h2{font-family:var(--brand-face);font-weight:700}
.system-intro h2 em{color:var(--electric-blue)}
.system-intro p{max-width:42ch;color:var(--night);font-size:17px}
.system-panel,.system-scene{background:#edf3ff;color:var(--night)}
.system-panel-top,.system-category{color:var(--electric-blue)}
.system-copy h3{font-family:var(--brand-face);font-weight:700}
.method{min-height:82svh;align-content:center;background:var(--electric-blue);color:var(--white)}
.method-lead h2{font-family:var(--brand-face);font-weight:700;color:var(--white)}
.method-lead h2 em{color:var(--brand-yellow)}
.method-lead p,.method-steps p{color:var(--white);font-size:16px;line-height:1.6}
.method .text-link,.method-steps h3{color:var(--white)}
.method .text-link{text-decoration-color:var(--brand-yellow);text-decoration-thickness:3px;text-underline-offset:6px}
.method-steps{border:0}
.method-steps li{border:0;padding:24px 0}
.method-steps h3{font:700 clamp(23px,2.4vw,32px)/1.2 var(--brand-face)}
.story-block{min-height:90svh;background:var(--brand-yellow);color:var(--night);grid-template-columns:50% 50%}
.story-content h2{font-family:var(--brand-face);font-weight:700;color:var(--night)}
.story-content h2 em{color:var(--electric-blue)}
.story-content p{max-width:42ch;color:var(--night);font-size:17px;line-height:1.65}
.google-reviews{min-height:78svh;display:grid;grid-template-columns:.9fr 1.1fr;align-items:center;gap:9%;padding:clamp(75px,9vw,130px) var(--chapter-pad);background:var(--night);color:var(--white);border:0}
.google-reviews h2{font:700 clamp(48px,6vw,82px)/1 var(--brand-face);letter-spacing:-.055em;color:var(--white)}
.google-reviews h2 em{color:var(--brand-yellow)}
.google-reviews p,.reviews-disclosure,.review-source{color:#fff;font-size:14px;line-height:1.6}
.reviews-score,.review-stars,.review-stars[aria-label]{color:var(--brand-yellow)}
.reviews-score strong{color:var(--white)}
.google-reviews a{color:var(--brand-yellow)}
.review-locations{background:transparent}
.review-locations button{color:var(--white)}
.review-locations button.active{background:var(--brand-yellow);color:var(--night)}
.review-controls button{border:0;background:var(--electric-blue);color:var(--white);min-height:44px;padding:10px 16px}
.review-controls button:hover{background:var(--brand-yellow);color:var(--night)}
.home-showrooms{background:var(--electric-blue);color:var(--white)}
.home-showrooms h2,.home-showrooms p,.home-showrooms .text-link,.home-locations span,.home-locations strong{color:var(--white)}
.home-showrooms h2{font:700 clamp(54px,7vw,94px)/.98 var(--brand-face)}
.home-showrooms h2 em{color:var(--brand-yellow)}
.home-showrooms-copy>p{font-size:17px}
.home-locations a{color:var(--brand-yellow);font-size:14px}
.home-showrooms .btn{background:var(--brand-yellow);border-color:var(--brand-yellow);color:var(--night)}
.social-section{background:var(--white);color:var(--night)}
.social-heading h2{font-family:var(--brand-face);font-weight:700}
.social-heading p,.social-card p{color:var(--night);font-size:15px}
.social-card{border:0;padding-top:12px}
.social-card small{font-size:12px;letter-spacing:0}
.social-card h3{font-family:var(--brand-face);font-weight:700}
.visit-teaser{background:var(--brand-yellow);color:var(--night);padding:clamp(85px,11vw,160px) 24px}
.visit-teaser h2,.visit-teaser p,.visit-teaser .text-link{color:var(--night)}
.visit-teaser h2{font:700 clamp(48px,7vw,90px)/.98 var(--brand-face)}
.visit-teaser .btn{background:var(--electric-blue);border-color:var(--electric-blue);color:var(--white)}
footer{background:var(--night);color:var(--white)}
.footer-top p{font:700 clamp(25px,3vw,42px)/1.2 var(--brand-face);letter-spacing:-.04em}

/* Section-specific entrances keep scroll motion tied to what is being revealed. */
.section-heading.reveal-on-scroll,.system-intro.reveal-on-scroll,.night-journey-intro.reveal-on-scroll,.method-lead.reveal-on-scroll,.social-heading.reveal-on-scroll{transform:none;transition:opacity .65s ease}
.category.reveal-on-scroll{opacity:1;transform:none;clip-path:inset(0 0 100% 0);transition:clip-path .75s cubic-bezier(.16,1,.3,1)}
.category.reveal-on-scroll.is-visible{clip-path:inset(0)}
.story-content.reveal-on-scroll{transition:opacity .7s ease,transform .7s cubic-bezier(.16,1,.3,1);transform:translateX(28px)}
.story-content.reveal-on-scroll.is-visible{transform:translateX(0)}
.home-showrooms-image.reveal-on-scroll{transition:opacity .7s ease,transform .8s cubic-bezier(.16,1,.3,1);transform:scale(.96)}
.home-showrooms-image.reveal-on-scroll.is-visible{transform:scale(1)}
.social-card.reveal-on-scroll{transition:opacity .5s ease,transform .65s cubic-bezier(.16,1,.3,1);transform:translateY(16px)}
.social-card.reveal-on-scroll.is-visible{transform:translateY(0)}
@media(max-width:760px){
  .service-highlights{min-height:0;grid-template-columns:1fr;gap:30px;padding:70px 6%}
  .service-intro h2{max-width:12ch}
  .service-grid{grid-template-columns:1fr;gap:0}
  .service-grid h3{font-size:22px}
  .service-grid p{font-size:15px}
  .collections-home{min-height:0;padding:75px 6%}
  .sleep-assembly{transform:scale(1,.85)}
  .collections-home .section-heading p{font-size:16px}
  .journey-scroll-beat{min-height:52svh}
  .system-explorer{min-height:0}
  .method{min-height:0}
  .story-block{min-height:0;grid-template-columns:1fr}
  .story-content{padding:62px 7%}
  .story-content p{font-size:16px}
  .google-reviews{min-height:0;grid-template-columns:1fr;gap:34px;padding:75px 6%}
  .home-showrooms-copy>p{font-size:16px}
  .visit-teaser{padding:85px 7%}
  .social-section{padding-block:75px}
  .footer-bottom{font-size:13px}
}
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}
  .category.reveal-on-scroll{clip-path:none;opacity:1}
  .story-content.reveal-on-scroll,.home-showrooms-image.reveal-on-scroll,.social-card.reveal-on-scroll{transform:none;opacity:1}
}

/* Mobile editorial rhythm: centered copy arrives in quiet, readable steps. */
@media(max-width:760px){
  .section-heading,.service-intro,.night-journey-intro,.system-intro,.method-lead,.story-content,.reviews-summary,.social-heading,.home-showrooms-copy,.visit-teaser{text-align:center}
  .section-heading{align-items:center;gap:20px}
  .section-heading>div{width:100%}
  .section-heading h2,.service-intro h2,.night-journey-intro h2,.system-intro h2,.method-lead h2,.story-content h2,.google-reviews h2,.home-showrooms h2,.social-heading h2,.visit-teaser h2{margin-inline:auto;text-wrap:balance}
  .section-heading p,.service-intro>p,.night-journey-intro p,.system-intro p,.method-lead p,.story-content p,.home-showrooms-copy>p,.social-heading p,.visit-teaser p{margin-inline:auto}
  .section-heading .text-link,.method-lead .text-link,.story-content .btn,.social-links{justify-content:center}
  .service-grid article{text-align:center}
  .service-grid p{margin-inline:auto}
  .night-content{text-align:center;align-items:center}
  .night-copy{margin-inline:auto}
  .night-copy h3{max-width:12ch;margin-inline:auto;text-wrap:balance}
  .night-copy p{margin-inline:auto}
  .night-controls{max-width:440px}
  .journey-scroll-beats{padding:10px 6% 18px}
  .journey-scroll-beats:before{display:none}
  .journey-scroll-beat{min-height:48svh;align-items:center;text-align:center;padding:58px 18px 45px}
  .journey-scroll-beat:before{left:50%;top:25px;transform:translate(-50%,-50%)}
  .journey-scroll-beat.is-current:before{transform:translate(-50%,-50%)}
  .journey-scroll-beat h3,.journey-scroll-beat p{margin-inline:auto;text-wrap:balance}
  .system-copy>div:last-child{text-align:center}
  .method-steps li{display:block;text-align:center}
  .method-steps li>span{display:block;margin:0 auto 9px}
  .method-steps p{margin-inline:auto}
  .home-locations>div{align-items:center;text-align:center}
  .home-locations strong{text-align:center}
  .social-heading{align-items:center}
  .social-card{text-align:center}
  .reviews-carousel{text-align:center}
  .review-author{justify-content:center}
  .social-track{scroll-padding-inline:12vw}
  .visit-teaser .btn{margin-inline:auto}
  .reveal-on-scroll h2,.reveal-on-scroll h3,.reveal-on-scroll>h2,.reveal-on-scroll>h3{opacity:0;transform:translateY(18px);transition:opacity .65s ease,transform .72s cubic-bezier(.16,1,.3,1)}
  .reveal-on-scroll.is-visible h2,.reveal-on-scroll.is-visible h3,.reveal-on-scroll.is-visible>h2,.reveal-on-scroll.is-visible>h3{opacity:1;transform:translateY(0)}
  .service-grid article:nth-child(2){transition-delay:.07s}
  .service-grid article:nth-child(3){transition-delay:.14s}
  .service-grid article:nth-child(4){transition-delay:.21s}
  .service-grid article:nth-child(5){transition-delay:.28s}
  .service-grid article:nth-child(6){transition-delay:.35s}
}
@media(prefers-reduced-motion:reduce){
  .reveal-on-scroll h2,.reveal-on-scroll h3,.reveal-on-scroll>h2,.reveal-on-scroll>h3{opacity:1!important;transform:none!important;transition:none!important}
}

/* Homepage refresh: each section adds new information, with both stores shown together. */
.flagship-hero{height:min(72svh,780px);min-height:520px;position:relative;display:block;overflow:hidden;background:var(--night);}
.mobile-hero-video{display:none}
.flagship-hero .hero-visual{position:relative;inset:auto;z-index:1;width:100%;height:100%;display:grid;grid-template-columns:1fr 1fr;gap:2px;background:var(--night);}
.flagship-hero .hero-visual:after{display:none!important}
.store-slide{position:relative;min-width:0;height:100%;overflow:hidden;background:var(--night);}
.store-slide img{width:100%;height:100%;object-fit:cover;object-position:center 53%;display:block;transition:transform .8s cubic-bezier(.2,.7,.25,1);}
.store-slide:hover img{transform:scale(1.025)}
.store-slide:after{content:"";position:absolute;inset:35% 0 0;background:linear-gradient(transparent,rgba(7,29,59,.4));pointer-events:none}
.store-slide-caption{position:absolute;z-index:2;left:0;right:0;bottom:0;display:grid;grid-template-columns:1fr auto;align-items:center;gap:6px 20px;padding:20px clamp(20px,4vw,56px);background:var(--electric-blue);color:var(--white);}
.store-slide-caption span{grid-column:1/-1;color:var(--brand-yellow);font:700 11px/1.2 var(--brand-face);letter-spacing:.12em}
.store-slide-caption strong{font:700 clamp(17px,2vw,24px)/1.2 var(--brand-face)}
.store-slide-caption a{color:var(--night);background:var(--brand-yellow);padding:12px 17px;font:700 13px/1 var(--brand-face);text-decoration:none;white-space:nowrap;}
.store-slide-caption a:hover{background:var(--white)}
.hero-showroom-panel{padding:clamp(55px,7vw,88px) 24px;background:var(--white);}
.hero-showroom-panel .hero-copy{width:min(860px,100%);}
.hero-showroom-panel .hero-copy>.eyebrow{margin-bottom:14px}
.hero-showroom-panel h1{font-size:clamp(48px,6.5vw,82px)}
.hero-showroom-panel .hero-description{max-width:40ch;font-size:18px}
.hero-showroom-panel .hero-actions{gap:12px;flex-wrap:wrap}
.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)}
.hero-showroom-panel .hero-quiet{border-color:var(--electric-blue);color:var(--electric-blue)}
.service-highlights{grid-template-columns:.8fr 1.2fr;}
.service-grid{grid-template-columns:1fr 1fr;column-gap:32px;row-gap:24px}
.service-grid article{padding-block:17px}
.service-grid h3{font-size:20px}
.service-grid p{font-size:14px}
.home-showrooms{display:none!important}
.method{display:grid;grid-template-columns:minmax(220px,.8fr) minmax(0,1.2fr);align-items:center;gap:6vw;padding:clamp(70px,9vw,125px) var(--chapter-pad);}
.method-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(14px,2vw,30px);margin:0;padding:0;}
.method-steps li{min-width:0;padding:25px 20px;border-top:1px solid rgba(255,255,255,.55);}
.method-steps li>div{width:auto;}
.method-steps li>span{display:block;margin-bottom:18px;color:var(--brand-yellow);font:700 13px/1 var(--brand-face);}
.google-reviews{background:var(--night);}
.reviews-carousel{min-width:0;background:transparent!important;color:var(--white);padding:clamp(8px,2vw,24px)!important;border:0!important;box-shadow:none!important;}
.review-slide{background:transparent!important;color:var(--white);}
.review-slide blockquote{color:var(--white)!important;font-family:var(--brand-face)!important;font-weight:500;}
.review-author a{color:var(--brand-yellow)!important;}
.review-author span,.review-source,.review-source a{color:#dbe6ff!important;}
.review-controls{border-color:rgba(255,255,255,.3)!important;}
.review-controls span{color:var(--white)!important;}
.review-controls button{background:var(--electric-blue)!important;color:var(--white)!important;padding:13px 20px!important;text-decoration:none!important;}
.review-controls button:hover{background:var(--brand-yellow)!important;color:var(--night)!important;}
.reviews-disclosure{border-color:rgba(255,255,255,.3)!important;color:#dbe6ff!important;}
@media(max-width:760px){
  body.home-immersive{--mobile-header-height:76px;}
  body.home-immersive header{position:fixed;top:0;left:0;right:0;height:var(--mobile-header-height);padding:0 5%;background:rgba(7,29,59,.22);border:0;box-shadow:none;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);}
  body.home-immersive .brand-logo{filter:drop-shadow(0 1px 8px rgba(0,0,0,.25));}
  body.home-immersive .header-cta{display:flex;margin-left:auto;background:var(--brand-yellow);border-color:var(--brand-yellow);color:var(--night);font-size:11px;padding:12px 14px;}
  body.home-immersive .menu-toggle span{background:var(--white);}
  body.home-immersive nav{position:fixed;top:var(--mobile-header-height);background:rgba(7,29,59,.97);border:0;color:var(--white);}
  body.home-immersive nav a{color:var(--white);}
  .flagship-hero{height:auto;min-height:0;max-height:none;overflow:visible;background:var(--night);padding-top:0;}
  .mobile-hero-video{display:block;width:100%;height:100svh;min-height:580px;max-height:900px;object-fit:cover;object-position:center;background:var(--night);}
  .flagship-hero .hero-visual{display:flex;position:relative;inset:auto;height:auto;min-height:0;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scroll-padding-inline:6vw;overscroll-behavior-inline:contain;scrollbar-width:thin;scrollbar-color:var(--brand-yellow) var(--night);padding:18px 6vw 24px;gap:14px;background:var(--night);}
  .store-slide{flex:0 0 86vw;height:58svh;min-height:390px;max-height:590px;scroll-snap-align:center;border:1px solid rgba(255,255,255,.14);}
  .store-slide img{height:calc(100% - 92px);}
  .store-slide-caption{min-height:92px;grid-template-columns:1fr auto;gap:4px 10px;padding:14px 15px;}
  .store-slide-caption span{font-size:9px;}
  .store-slide-caption strong{font-size:16px;}
  .store-slide-caption a{padding:11px 12px;font-size:11px;}
  .hero-showroom-panel{padding:62px 7%;}
  .hero-showroom-panel .hero-copy{align-items:center;text-align:center;}
  .hero-showroom-panel h1{font-size:clamp(43px,11vw,62px);}
  .hero-showroom-panel .hero-description{font-size:15px;}
  .hero-showroom-panel .hero-actions{justify-content:center;}
  .service-highlights{grid-template-columns:1fr;gap:24px;padding:64px 6%;}
  .service-intro h2{max-width:none;}
  .service-grid{grid-template-columns:1fr;gap:0;}
  .service-grid article{padding:22px 5px;border-top:1px solid rgba(7,29,59,.16);}
  .method{display:block;padding:68px 0 74px;overflow:hidden;}
  .method-lead{padding-inline:7%;margin-bottom:26px;}
  .method-steps{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-inline:7%;overscroll-behavior-inline:contain;scrollbar-width:thin;scrollbar-color:var(--brand-yellow) rgba(255,255,255,.18);gap:12px;margin:0;padding:0 7% 18px;}
  .method-steps li{flex:0 0 82vw;max-width:420px;min-height:190px;scroll-snap-align:center;text-align:center;padding:28px 22px;background:rgba(7,29,59,.13);border:1px solid rgba(255,255,255,.22);}
  .method-steps li>span{font-size:12px;}
  .method-steps h3{font-size:27px;}
  .method-steps p{max-width:28ch;margin-inline:auto;}
  .google-reviews{padding:68px 6%;}
  .reviews-carousel{width:100%;padding:0!important;}
  .review-slide{min-height:0;}
  .review-slide blockquote{font-size:clamp(23px,6vw,31px);margin:20px 0 26px;}
  .review-controls{gap:12px;}
  .review-controls button{padding:12px 13px!important;}
}
@media(prefers-reduced-motion:reduce){.store-slide img{transition:none} .mobile-hero-video{display:none!important}}
.reviews-score span{color:var(--brand-yellow)!important}
.google-reviews{scroll-margin-top:100px}
.moon-loader{background:#071d3b!important;color:var(--white)}
.moon-loader>span{color:var(--brand-yellow)!important}

/* Instagram Reels: four clear frames on desktop, one swipeable frame on phone. */
.social-carousel{position:relative}
.social-grid{display:flex;gap:18px;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scroll-behavior:smooth;scrollbar-width:thin;scrollbar-color:var(--electric-blue) #e6edf7;padding:8px 1px 16px;outline:none}
.social-grid:focus-visible{outline:2px solid var(--electric-blue);outline-offset:5px}
.social-grid .social-card{box-sizing:border-box;flex:0 0 calc((100% - 54px)/4);scroll-snap-align:start;scroll-snap-stop:always;min-width:0}
.social-grid .social-image{position:relative;aspect-ratio:4/5;border-radius:4px;background:#edf3ff;overflow:hidden}
.social-grid .social-image img{display:block;width:100%;height:100%;object-fit:cover}
.social-grid .reel-play{position:absolute;right:15px;bottom:15px;width:44px;height:44px;border-radius:50%;background:var(--brand-yellow);box-shadow:0 3px 14px #071d3b33;display:grid;place-items:center}
.social-grid .reel-play:after{content:"";width:0;height:0;margin-left:3px;border-top:7px solid transparent;border-bottom:7px solid transparent;border-left:10px solid var(--night)}
.social-carousel-controls{display:flex;align-items:center;justify-content:center;gap:12px;margin-top:12px}
.social-carousel-controls button{min-height:44px;padding:10px 17px;border:1px solid var(--electric-blue);border-radius:2px;background:var(--electric-blue);color:var(--white);font:700 13px var(--brand-face);cursor:pointer;transition:background-color .2s ease,color .2s ease}
.social-carousel-controls button:hover{background:var(--brand-yellow);border-color:var(--brand-yellow);color:var(--night)}
.social-carousel-controls button:focus-visible{outline:3px solid var(--brand-yellow);outline-offset:3px}
.social-position{min-width:50px;text-align:center;color:var(--muted);font-size:13px;font-variant-numeric:tabular-nums}
@media(max-width:760px){
  .social-section{overflow:hidden}
  .social-grid{gap:12px;padding:8px 7% 16px;margin-inline:0;scroll-padding-inline:7%;scrollbar-width:thin}
  .social-grid .social-card{flex:0 0 100%;scroll-snap-align:center}
  .social-grid .social-image{aspect-ratio:4/5}
  .social-carousel-controls{padding-inline:7%;justify-content:center}
}
@media(prefers-reduced-motion:reduce){.social-grid{scroll-behavior:auto}.social-grid .social-image img{transition:none}}

/* Original Reel files play in place, with the complete vertical frame visible. */
.social-grid .social-image{aspect-ratio:9/16;background:var(--night)}
.social-grid .reel-video{display:block;width:100%;height:100%;object-fit:contain;background:var(--night)}
.reel-start{position:absolute;inset:0;width:100%;height:100%;padding:0;border:0;background:transparent;cursor:pointer}
.reel-start[hidden]{display:none}
.reel-start:focus-visible{outline:3px solid var(--brand-yellow);outline-offset:-4px}
.social-grid .reel-start .reel-play{right:50%;bottom:50%;transform:translate(50%,50%);width:56px;height:56px}
.social-grid .social-card:hover h3{text-decoration:none}
.social-grid .reel-error{color:var(--night);font-weight:600}

/* Desktop typography film, controlled by the page's scroll position. */
.desktop-promo{position:relative;height:340svh;background:var(--electric-blue)}
.desktop-promo-stage{position:sticky;top:84px;height:calc(100svh - 84px);overflow:hidden;background:var(--electric-blue)}
.desktop-promo-video{display:block;width:100%;height:100%;object-fit:contain}
.desktop-promo[data-scene="1"] .desktop-promo-stage,.desktop-promo[data-scene="3"] .desktop-promo-stage{background:var(--brand-yellow)}
.promo-accessible{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
.promo-navigation{position:absolute;bottom:20px;left:5%;display:flex;gap:8px}
.promo-navigation button,.promo-visit{font-size:12px;font-weight:700;padding:10px 14px;border:1px solid var(--brand-yellow);color:var(--brand-yellow);background:var(--electric-blue);border-radius:2px;min-height:44px}
.promo-navigation button{cursor:pointer}
.promo-navigation button[aria-pressed="true"]{background:var(--brand-yellow);color:var(--night)}
.promo-navigation button:focus-visible,.promo-visit:focus-visible{outline:3px solid white;outline-offset:3px}
.promo-visit{position:absolute;right:5%;bottom:20px;text-decoration:none}
@media(max-width:1100px){.promo-navigation{left:2%;gap:5px}.promo-navigation button{padding-inline:8px;font-size:10px}.promo-visit{right:2%;font-size:11px}}
@media(max-width:760px){.desktop-promo{display:none}}
@media(prefers-reduced-motion:reduce){.desktop-promo{height:auto}.desktop-promo-stage{position:relative;top:0;height:auto;padding:65px 7% 110px}.desktop-promo-video,.promo-navigation{display:none}.promo-accessible{position:static;width:auto;height:auto;clip-path:none;color:var(--brand-yellow)}.promo-accessible h2{font-size:clamp(40px,6vw,84px);max-width:15ch}.promo-accessible p{font-size:22px;max-width:50ch}.promo-visit{left:7%;right:auto}}

.promo-cinema{position:absolute;inset:0;color:var(--brand-yellow);padding:5% 8%;display:flex;flex-direction:column;justify-content:space-between;padding-bottom:95px}
.desktop-promo[data-scene="1"] .promo-cinema,.desktop-promo[data-scene="3"] .promo-cinema{color:var(--electric-blue)}
.promo-film-label{display:flex;justify-content:space-between;font-size:clamp(12px,1.3vw,22px);font-weight:600}
.promo-film-line{font-size:clamp(48px,7.8vw,145px);font-weight:750;line-height:1.1;letter-spacing:-.045em}
.promo-film-copy p{font-size:clamp(16px,1.8vw,32px);margin-top:24px;line-height:1.4}
.promo-film-progress{height:3px;background:currentColor;opacity:.7;position:relative}
.promo-film-progress span{position:absolute;inset:-2px 0;height:7px;background:currentColor;transform-origin:left;transform:scaleX(0)}
@media(prefers-reduced-motion:reduce){.promo-cinema{display:none}}

/* Actual After Effects film, scroll-seeked on desktop. */
.desktop-promo{height:650svh}
.desktop-promo-stage{padding-bottom:78px}
.desktop-promo-video{height:100%;object-fit:contain}
.promo-scroll-hint{align-self:center;color:white;font-size:12px;margin-right:18px}
.promo-video-error{height:auto}.promo-video-error .desktop-promo-stage{height:auto;min-height:360px;padding:60px 7% 100px}.promo-video-error video{display:none}.promo-video-error .promo-accessible{position:static;width:auto;height:auto;clip-path:none;color:white}
@media(prefers-reduced-motion:reduce){.desktop-promo{height:auto}}

/* Fullscreen time-based 4K film and split showroom slideshow. */
.desktop-film{height:100svh;position:relative;background:#0046d5;overflow:hidden}
.desktop-film-video{display:block;width:100%;height:100%;object-fit:cover;object-position:center}
.film-start{position:absolute;left:50%;bottom:36px;transform:translateX(-50%);background:#fff200;color:#071d3b;padding:16px 24px;border:0;cursor:pointer}
.film-start[hidden]{display:none}
body.film-header header{position:fixed;inset:0 0 auto;height:84px;background:transparent!important;box-shadow:none;backdrop-filter:none;border:0}
body.film-header header nav a{color:white;text-shadow:0 1px 5px #071d3b}
body.film-header .header-cta{background:#fff200!important;color:#071d3b!important;border-color:#fff200}
.mobile-opening{display:none}
.showroom-slideshow{background:#0046d5;color:white}
.showroom-slides{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none}
.showroom-slides::-webkit-scrollbar{display:none}
.showroom-slide{flex:0 0 100%;min-width:0;display:grid;grid-template-columns:40% 60%;scroll-snap-align:start;scroll-snap-stop:always;min-height:560px}
.showroom-slide-copy{padding:80px 12%;display:flex;flex-direction:column;justify-content:center;align-items:flex-start}
.showroom-slide-copy .eyebrow{color:#fff200}.showroom-slide-copy h2{font-size:clamp(38px,4vw,72px);color:white;line-height:1.05;margin:15px 0 28px;overflow-wrap:normal}
.showroom-slide-copy p{font-size:clamp(17px,1.5vw,24px);line-height:1.5;color:white;margin:0 0 30px}
.showroom-slide-copy .btn{background:#fff200;color:#071d3b;border:0}
.showroom-slide>img{width:100%;height:100%;min-height:560px;object-fit:cover}
.showroom-tabs{display:flex;gap:20px;margin-top:42px}.showroom-tabs button{background:none;color:white;border:0;border-bottom:2px solid transparent;padding:12px 0;cursor:pointer;font:inherit}
.showroom-tabs button[aria-pressed=true]{color:#fff200;border-color:#fff200}
@media(max-width:760px){.desktop-film{display:none}.mobile-opening{display:block;height:100svh;background:#071d3b}.mobile-opening video{width:100%;height:100%;object-fit:cover}.showroom-slide{grid-template-columns:1fr;min-height:0}.showroom-slide>img{grid-row:1;height:300px;min-height:0}.showroom-slide-copy{padding:38px 7%}.showroom-slide-copy h2{font-size:40px}.showroom-tabs{margin-top:24px}}
@media(min-width:761px){body.home-immersive header{position:fixed;top:0;left:0;right:0;height:84px}}

/* Full-width light journey. */
.night-journey{padding:0!important;height:300svh;background:#071d3b!important}
.night-journey .night-stage{position:sticky;top:84px;height:calc(100svh - 84px);min-height:0;width:100%;max-height:none}
.night-stage>img{object-fit:cover;object-position:center;transition:filter 1.2s,transform 1.6s}
.night-journey[data-phase=sera] .night-stage>img{filter:brightness(.78) saturate(.85) sepia(.18);transform:scale(1.02)}
.night-journey[data-phase=notte] .night-stage>img{filter:brightness(.42) saturate(.65);transform:scale(1.05)}
.night-journey[data-phase=mattino] .night-stage>img{filter:brightness(1.08) saturate(.95);transform:scale(1.02)}
.night-stage:after{background:linear-gradient(90deg,rgba(7,29,59,.8),rgba(7,29,59,.06) 75%),linear-gradient(0deg,rgba(7,29,59,.65),transparent 35%)}
.night-journey[data-phase=sera] .night-atmosphere{background:linear-gradient(120deg,transparent 45%,rgba(255,210,120,.17))}
.night-journey[data-phase=notte] .night-atmosphere{background:rgba(12,34,88,.26)}
.night-journey[data-phase=mattino] .night-atmosphere{background:linear-gradient(120deg,transparent 40%,rgba(255,246,201,.23))}
.night-journey .night-content{padding:clamp(35px,6vh,80px) 6% 35px;justify-content:space-between}
.night-journey .night-copy{max-width:620px;margin-top:5vh}
.night-journey .night-copy h2{font:700 clamp(44px,5.4vw,86px)/1.05 var(--brand-face);letter-spacing:-.045em;color:white;margin:18px 0 25px}
.night-journey .night-copy p{font-size:clamp(16px,1.4vw,21px);max-width:38ch;line-height:1.55;color:white}
.night-journey .night-copy .night-current{color:#fff200;font-weight:700}
.night-controls{max-width:520px}.night-phase{font-size:16px;color:white;cursor:pointer}.night-phase:before{background:#fff200}
.rest-benefits{background:#071d3b;color:white;padding:90px 7%}
.rest-benefits-intro{display:grid;grid-template-columns:1fr 1fr;gap:25px 8%;align-items:end}.rest-benefits-intro .eyebrow{grid-column:1/-1;color:#fff200}.rest-benefits h2{color:white;font-size:clamp(38px,4.5vw,68px);line-height:1.04}.rest-benefits p{color:#fff;line-height:1.65;font-size:17px;max-width:52ch}
.comfort-illustration{max-width:1000px;margin:40px auto}.comfort-illustration svg{display:block;width:100%;height:auto}.comfort-illustration>p{text-align:center;font-size:12px;opacity:.7;max-width:none}
.comfort-point{animation:comfortPulse 3s ease-in-out infinite;transform-box:fill-box;transform-origin:center}.comfort-point:nth-child(2){animation-delay:.3s}.comfort-point:nth-child(3){animation-delay:.6s}@keyframes comfortPulse{50%{opacity:.4;transform:scale(1.6)}}
.rest-benefit-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;margin:30px 0 45px}.rest-benefit-grid article{border-top:1px solid #ffffff40;padding-top:24px}.rest-benefit-grid span{color:#fff200;font-size:14px}.rest-benefit-grid h3{color:white;font-size:26px;margin:16px 0}.rest-benefits>.btn{background:#fff200;color:#071d3b}
/* Uniform navy header requested by the brand. */
body header,body.home-immersive header,body.film-header header{background:#071d3b!important;backdrop-filter:none!important;box-shadow:none;border:0}
body header nav a,body.film-header header nav a{color:white;text-shadow:none}body header .header-cta{background:#fff200!important;color:#071d3b!important;border-color:#fff200}body header .menu-toggle span{background:white}
@media(max-width:760px){.night-journey .night-stage{top:76px;height:calc(100svh - 76px)}.night-journey .night-content{padding:35px 7% 24px;text-align:center}.night-journey .night-copy{margin:4vh auto 0}.night-journey .night-copy h2{font-size:clamp(38px,9vw,58px)}.night-journey .night-copy p{margin-inline:auto}.night-controls{width:100%;margin-inline:auto}.night-stage>img{object-position:60% center}.rest-benefits{padding:65px 7%}.rest-benefits-intro{display:block}.rest-benefits h2{margin:22px 0}.rest-benefit-grid{grid-template-columns:1fr;gap:20px}.comfort-illustration{margin:30px -4%}.rest-benefits .btn{font-size:14px}.night-phase{font-size:14px;text-align:center}}
@media(prefers-reduced-motion:reduce){.night-journey{height:auto}.night-journey .night-stage{position:relative;top:0}.night-stage>img,.night-atmosphere,.night-glow{transition:none!important}.comfort-point{animation:none}}

/* Real photograph and accessible interactive hotspots. */
.system-composer{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(300px,.8fr);gap:0;background:#071d3b;border:0;overflow:hidden}
.system-explorer .photo-explorer{position:relative;aspect-ratio:2/1;min-height:0;padding:0;overflow:hidden;background:#071d3b;border:0;transform:none}
.bed-photo-world{position:absolute;inset:0;transition:transform .8s cubic-bezier(.2,.7,.2,1);transform-origin:57% 43%}
.bed-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:fill;display:block}
.system-explorer[data-active=cuscino] .bed-photo-world{transform:scale(1.14)}
.system-explorer[data-active=letto] .bed-photo-world,.system-explorer[data-active=rete] .bed-photo-world{transform:scale(1.08)}
.bed-hotspot{position:absolute;transform:translate(-50%,-50%);border:0;background:none;display:flex;align-items:center;gap:8px;cursor:pointer;z-index:2;padding:5px;color:#071d3b;font:700 12px var(--brand-face);white-space:nowrap}
.bed-hotspot-dot{width:42px;height:42px;display:grid;place-items:center;flex-shrink:0;border-radius:50%;background:#fff200;border:2px solid white;box-shadow:0 0 0 6px #071d3b33;font-size:25px}
.bed-hotspot-label{background:#071d3b;color:white;padding:9px 12px;border-radius:3px}
.bed-hotspot.active .bed-hotspot-dot{background:#0046d5;color:white;box-shadow:0 0 0 7px #fff20080}
.bed-hotspot:focus-visible{outline:3px solid #fff200;outline-offset:4px;border-radius:5px}
.photo-explorer-hint{position:absolute;bottom:20px;left:20px;padding:10px 14px;background:#071d3b;color:white;font-size:12px;pointer-events:none}
.system-explorer .system-panel{background:#071d3b;color:white;padding:35px;min-width:0;display:flex;flex-direction:column;justify-content:center}
.system-panel-top{color:#fff200!important;border:0}.system-panel .system-copy{display:flex;flex-direction:column;gap:22px}.system-panel .system-preview{width:100%;height:150px;background:white;padding:10px}.system-panel .system-preview img{width:100%;height:100%;object-fit:contain}
.system-panel #system-label{color:#fff200}.system-panel #system-title{font-size:clamp(26px,2.6vw,42px);line-height:1.1;color:white;margin:14px 0}.system-panel #system-description{font-size:15px;color:white;line-height:1.65}.system-panel #system-link{color:#fff200;border-color:#fff200;margin-top:22px}
.system-panel .system-tabs{margin-top:28px;display:grid;grid-template-columns:repeat(4,1fr);gap:6px;background:transparent;border:0}.system-panel .system-tabs button{color:white;background:transparent;border:1px solid #ffffff50;font-size:11px;padding:12px 3px}.system-panel .system-tabs button.active{color:#071d3b;background:#fff200;border-color:#fff200}
@media(max-width:1000px){.system-composer{grid-template-columns:1fr}.system-explorer .photo-explorer{aspect-ratio:2/1}.system-explorer .system-panel{padding:30px}.system-panel .system-copy{display:grid;grid-template-columns:180px 1fr}.system-panel .system-preview{height:170px}}
@media(max-width:760px){.system-explorer .photo-explorer{aspect-ratio:1.45}.bed-hotspot-label{display:none}.bed-hotspot-dot{width:38px;height:38px}.system-panel .system-copy{display:flex}.system-panel .system-preview{height:150px}.photo-explorer-hint{bottom:12px;left:12px;font-size:11px}.system-panel{scroll-margin-top:90px}.system-panel #system-title{font-size:30px}}
@media(prefers-reduced-motion:reduce){.bed-photo-world{transition:none;transform:none!important}}
.system-composer{align-items:center}.system-panel-top{padding:0!important;margin:0 0 20px!important}.system-panel .system-copy{margin:0!important}.system-panel .system-preview{height:110px}.system-panel #system-title{font-size:30px}.system-panel .system-tabs{margin-top:20px}
@media(max-width:760px){.system-explorer .photo-explorer{aspect-ratio:2/1}.system-explorer .system-panel{padding:25px}.system-panel #system-title{font-size:28px}}

/* A photographic, visitor-controlled showroom journey. */
.choice-experience{padding:85px 6%;background:#0046d5;color:white}
.choice-heading{display:flex;justify-content:space-between;align-items:end;gap:45px;margin-bottom:45px}
.choice-heading h2{font-size:clamp(42px,5.5vw,82px);line-height:1.02;letter-spacing:-.045em;color:white;margin:0}
.choice-heading>p{font-size:20px;line-height:1.55;margin:0;max-width:27ch;color:white}
.choice-layout{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.35fr);gap:45px;align-items:stretch}
.choice-controls{display:flex;flex-direction:column;gap:12px;min-width:0}
.choice-step{display:block;width:100%;border:0;background:#073aa9;color:white;text-align:left;padding:24px 28px;cursor:pointer;font:inherit;transition:background .25s,color .25s}
.choice-step-title{display:block;font-size:clamp(26px,2.8vw,41px);font-weight:700;letter-spacing:-.035em;line-height:1.1}
.choice-step-copy{display:block;max-width:38ch;font-size:17px;line-height:1.5;margin-top:14px;color:inherit}
.choice-step.is-selected{background:#fff200;color:#071d3b}
.choice-step:hover:not(.is-selected){background:#071d3b}.choice-step:focus-visible,.choice-book:focus-visible{outline:3px solid white;outline-offset:4px}
.choice-book{align-self:flex-start;color:white;font-size:18px;font-weight:700;text-decoration:underline;text-underline-offset:6px;padding:16px 0;margin-top:5px}
.choice-visual{position:relative;min-height:610px;overflow:hidden;background:#071d3b}
.choice-frame{position:absolute;inset:0;margin:0;opacity:0;transform:scale(1.045);transition:opacity .5s,transform .8s;pointer-events:none}
.choice-frame.is-selected{opacity:1;transform:scale(1)}
.choice-frame img{width:100%;height:100%;object-fit:cover;display:block}
.choice-frame figcaption{position:absolute;bottom:0;left:0;right:0;background:#071d3b;color:white;padding:23px 28px;font-size:23px;font-weight:600;line-height:1.25}
.choice-frame[data-choice-frame="0"] img{object-position:50% 35%}.choice-frame[data-choice-frame="1"] img{object-position:50% 50%}
@media(max-width:1000px){.choice-layout{gap:24px;grid-template-columns:1fr 1fr}.choice-step{padding:20px}.choice-visual{min-height:590px}.choice-step-copy{font-size:16px}.choice-heading>p{font-size:17px}}
@media(max-width:760px){.choice-experience{padding:60px 6%}.choice-heading{display:block;margin-bottom:28px}.choice-heading h2{font-size:clamp(38px,8vw,58px)}.choice-heading>p{margin-top:22px}.choice-layout{display:flex;flex-direction:column;gap:24px}.choice-visual{min-height:0;height:360px;order:-1}.choice-step{padding:20px}.choice-step-title{font-size:28px}.choice-step-copy{max-width:none}.choice-frame figcaption{padding:18px 20px;font-size:19px}.choice-book{margin:0}.choice-controls{gap:10px}}
@media(prefers-reduced-motion:reduce){.choice-frame,.choice-step{transition:none;transform:none}}

.service-gallery{display:block!important;padding:80px 6%!important;background:white!important;color:#071d3b}
.service-gallery .service-intro{display:flex;justify-content:space-between;align-items:end;gap:40px;margin-bottom:45px;max-width:none}
.service-gallery .service-intro h2{font-size:clamp(42px,5vw,74px);line-height:1.04;color:#071d3b;margin:0}.service-gallery .service-intro>p{font-size:18px;line-height:1.5;color:#071d3b;max-width:34ch;margin:0}
.service-art-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:26px}
.service-art-grid article{display:grid;grid-template-columns:43% 57%;background:#f0f4ff;min-width:0;align-items:center;padding:20px;gap:0}
.service-art{min-width:0}.service-art img{display:block;width:100%;height:auto;transition:transform .35s}
.service-art-grid article:hover .service-art img{transform:translateY(-5px)}
.service-art-copy{padding:24px 15px}.service-art-copy h3{font-size:clamp(23px,2.1vw,32px);line-height:1.15;letter-spacing:-.025em;margin:0 0 18px;color:#071d3b}.service-art-copy p{font-size:16px;line-height:1.65;margin:0;color:#071d3b;max-width:36ch}
@media(max-width:1050px){.service-art-grid article{display:block}.service-art img{height:200px}.service-art-copy{padding:15px}.service-art-copy p{max-width:none}}
@media(max-width:760px){.service-gallery{padding:60px 6%!important}.service-gallery .service-intro{display:block;text-align:left}.service-gallery .service-intro>p{margin:22px 0 0}.service-gallery .service-intro h2{font-size:42px}.service-art-grid{grid-template-columns:1fr;gap:18px}.service-art-grid article{padding:20px}.service-art img{height:190px}.service-art-copy h3{font-size:28px}.service-art-copy{padding:15px 5px}}
@media(prefers-reduced-motion:reduce){.service-art img{transition:none!important;transform:none!important}}

.system-panel .system-copy{display:block!important}

/* Shared editorial scale. */
:root{--text-body:clamp(16px,1.15vw,19px);--text-title:clamp(36px,4.6vw,68px)}
body{font-family:var(--brand-face);font-size:16px}
h1,h2,h3{font-family:var(--brand-face);text-wrap:balance;word-break:normal;overflow-wrap:normal;letter-spacing:-.035em}
main p{word-break:normal;overflow-wrap:break-word}
.page-intro h1{font-size:clamp(44px,6vw,88px);line-height:1.07}
.page-intro p,.editorial p,.booking p,.info-page p,.section-heading p,.visit-teaser p{font-size:var(--text-body);line-height:1.6;max-width:62ch}
.section-heading h2,.service-intro h2,.system-intro h2,.choice-heading h2,.story-content h2,.visit-teaser h2,.booking h2{font-size:var(--text-title);line-height:1.08}
.product-info p,.social-card p{font-size:16px;line-height:1.5}.product-info h3,.social-card h3{font-size:clamp(22px,2vw,30px);line-height:1.2}
.eyebrow,.category-caption small,.product-info small{font-size:13px;letter-spacing:.035em;line-height:1.45}
.method-steps p,.method-steps li,.choice-step-copy{width:auto;min-width:0;max-width:48ch;white-space:normal;word-break:normal}
.info-page h2{font-size:30px}.info-page{max-width:950px}.note,.result-count{font-size:14px!important;line-height:1.5}
/* Edge-to-edge interactive bed. */
.system-explorer{padding:0!important;margin:0!important;width:100%;max-width:none;background:#071d3b}
.system-explorer .system-intro{padding:52px 6%;margin:0;background:#071d3b;color:white}.system-intro h2,.system-intro p{color:white}.system-intro h2 em{color:#fff200}
.system-composer{width:100%;min-height:calc(100svh - 84px);grid-template-columns:minmax(0,1.8fr) minmax(320px,1fr);align-items:center}
.system-explorer .photo-explorer{width:100%;aspect-ratio:2/1;align-self:center}
.system-explorer .system-panel{padding:clamp(28px,4vw,64px);align-self:stretch}
.system-panel-top,.photo-explorer-hint{display:none}
.system-panel #system-label{display:none}.system-panel #system-title{font-size:clamp(32px,3vw,48px)}.system-panel #system-description{font-size:var(--text-body)}
/* Full-screen navigation. */
body header>nav{display:none!important}body header .header-cta{margin-left:auto}
body header .menu-toggle{display:grid;grid-template-columns:auto 26px;gap:6px 14px;width:auto;min-height:44px;align-content:center;padding:10px;background:none;border:0;color:white;cursor:pointer}
.menu-toggle b{grid-row:1/3;font-size:15px;font-weight:600;align-self:center}.menu-toggle span{width:26px;height:2px}
#immersive-menu{position:fixed;inset:0;width:100%;height:100dvh;max-width:none;max-height:none;margin:0;border:0;padding:0;background:#071d3b;color:white;overflow:auto}
#immersive-menu[open]{display:flex;flex-direction:column;animation:menu-enter .3s ease-out}
#immersive-menu::backdrop{background:#071d3b}
.menu-top{display:flex;align-items:center;justify-content:space-between;padding:20px 6%;gap:24px}.menu-top img{width:190px;height:auto}.menu-close{background:transparent;color:white;border:0;display:flex;align-items:center;gap:20px;min-height:48px;font:600 16px var(--brand-face);cursor:pointer}.menu-close span{font-size:38px;font-weight:400}
.menu-body{flex:1;display:grid;grid-template-columns:1.2fr 1fr;gap:8%;padding:24px 6%;min-height:0}
#immersive-menu .immersive-links{display:flex;position:static;flex-direction:column;align-items:stretch;justify-content:center;gap:clamp(10px,2vh,22px);background:none;border:0;box-shadow:none;padding:0;max-height:none;overflow:visible}
#immersive-menu .immersive-links a{font-size:clamp(32px,4.3vw,68px);font-weight:600;letter-spacing:-.045em;line-height:1.12;color:white;padding:0;border:0;transition:color .18s,transform .18s;text-decoration:none}
#immersive-menu .immersive-links a:after{display:none}#immersive-menu .immersive-links a:hover,#immersive-menu .immersive-links a:focus-visible{color:#fff200;transform:translateX(12px)}
.menu-picture{position:relative;min-height:320px;overflow:hidden}.menu-picture img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover}.menu-picture p{position:absolute;left:0;right:0;bottom:0;margin:0;padding:22px 25px;background:#0046d5;font-size:26px;font-weight:600;color:white}.menu-picture span{font-size:15px;font-weight:400}
.menu-bottom{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:26px 6%;font-size:16px}.menu-bottom a{color:white}.menu-bottom .menu-meet{padding:16px 30px;background:#fff200;color:#071d3b;font-weight:700;text-decoration:none}
#immersive-menu a:focus-visible,#immersive-menu button:focus-visible,.menu-toggle:focus-visible{outline:3px solid #fff200;outline-offset:6px}
@keyframes menu-enter{from{opacity:0;transform:translateY(-18px)}to{opacity:1;transform:none}}
@media(max-width:970px){.system-composer{grid-template-columns:1fr;min-height:0}.system-explorer .system-panel{min-height:340px}.menu-body{grid-template-columns:1fr}.menu-picture{display:none}.menu-top img{width:160px}.menu-bottom{flex-wrap:wrap}.menu-body{padding-block:25px}#immersive-menu .immersive-links a{font-size:clamp(34px,7vw,54px)}}
@media(max-width:760px){.system-explorer .system-intro{padding:36px 6%}.system-explorer .system-panel{padding:30px 6%}.system-panel .system-tabs button{font-size:13px;min-height:44px}.page-intro h1{font-size:clamp(40px,10vw,58px)}.section-heading h2,.system-intro h2,.choice-heading h2{font-size:38px}.menu-bottom{font-size:14px;gap:20px}.menu-bottom .menu-meet{padding:14px 20px}.menu-top{padding-top:20px}.menu-toggle b{display:none}body header .menu-toggle{grid-template-columns:26px}.menu-toggle span{grid-column:1}.header-cta{font-size:12px!important}}
@media(prefers-reduced-motion:reduce){#immersive-menu[open]{animation:none}#immersive-menu .immersive-links a{transition:none;transform:none!important}}
@media(min-width:971px){.system-composer{height:calc(100svh - 84px);min-height:560px}.system-explorer .photo-explorer{height:100%;aspect-ratio:auto}.bed-photo{object-fit:cover}.bed-hotspot-label{font-size:11px;padding:8px}.system-explorer[data-active] .bed-photo-world{transform:none}}
.seo-document .menu-toggle{display:grid!important}.seo-document .moon-loader{display:none}
.bed-hotspot[data-system-part=rete]{flex-direction:row-reverse}
.bed-hotspot[data-system-part=rete] .bed-hotspot-label{max-width:160px;white-space:normal}
@media(max-width:760px){
 .service-gallery{padding:44px 5%!important}
 .service-gallery .service-intro{margin-bottom:24px}
 .service-art-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
 .service-art-grid article{padding:14px 12px;display:flex;flex-direction:column;align-items:stretch}
 .service-art img{height:100px;width:100%;object-fit:contain}
 .service-art-copy{padding:14px 0 0}
 .service-art-copy h3{font-size:20px;line-height:1.15;letter-spacing:-.025em;margin-bottom:12px;text-wrap:balance}
 .service-art-copy p{font-size:14px;line-height:1.5;max-width:none}
}
/* Menu: an opening crescent, grounded in the Notte Più identity. */
#immersive-menu{background:#0046d5;isolation:isolate}
#immersive-menu[open]{animation:menu-unfold .48s cubic-bezier(.16,1,.3,1)}
#immersive-menu .menu-top{position:relative;z-index:3;padding:22px 5%;min-height:96px;box-sizing:border-box}
#immersive-menu .menu-top>a{background:#071d3b;padding:10px 18px}
#immersive-menu .menu-top img{display:block;width:174px}
#immersive-menu .menu-close{gap:12px;padding:0;color:white}
#immersive-menu .menu-close-word{font-size:15px;font-weight:600}
#immersive-menu .menu-close-symbol{display:grid;place-items:center;width:50px;height:50px;border-radius:50%;background:#fff200;color:#071d3b;font-size:36px;line-height:1;transition:transform .25s}
#immersive-menu .menu-close:hover .menu-close-symbol{transform:rotate(90deg)}
#immersive-menu .menu-body{position:relative;display:flex;padding:0 5% 24px;flex:1;min-height:430px}
#immersive-menu .immersive-links{position:relative;z-index:2;width:66%;gap:0;justify-content:center;align-items:flex-start}
#immersive-menu .immersive-links a{display:flex;align-items:center;width:max-content;max-width:100%;padding:9px 0;color:white;transform:none;font-size:clamp(40px,5.7vw,86px);letter-spacing:-.055em;font-weight:650;line-height:1.04}
#immersive-menu .menu-link-copy{display:block}
#immersive-menu .menu-link-title{display:block;transition:transform .3s,color .2s}
#immersive-menu .menu-link-detail{display:block;font-size:14px;font-weight:400;letter-spacing:0;line-height:1.4;max-height:0;opacity:0;overflow:hidden;transition:max-height .3s,opacity .3s,margin .3s}
#immersive-menu .immersive-links .menu-selected{color:#fff200}
#immersive-menu .menu-selected .menu-link-title{transform:translateX(12px)}
#immersive-menu .menu-selected .menu-link-detail{max-height:24px;opacity:1;margin:10px 0 2px 12px}
#immersive-menu .immersive-links a:hover,#immersive-menu .immersive-links a:focus-visible{transform:none;color:#fff200}
#immersive-menu .menu-thumb{display:none}
#immersive-menu .menu-picture{display:block;position:absolute;right:0;top:-118px;bottom:0;width:43%;min-height:0;border-radius:50% 0 0 50%;background:#071d3b;overflow:hidden;z-index:0}
#immersive-menu .menu-picture img{object-position:center;opacity:1}
#immersive-menu .menu-picture #menu-preview-next{z-index:1}
#immersive-menu .menu-picture p{z-index:2;left:18%;right:0;bottom:28px;padding:18px 24px;background:#071d3b;color:white;font-size:18px;line-height:1.4;max-width:none;font-weight:500}
#immersive-menu .menu-bottom{position:relative;z-index:3;background:#071d3b;padding:18px 5%;gap:22px;font-size:15px}
#immersive-menu .menu-bottom .menu-meet{padding:17px 44px}
#immersive-menu[open] .menu-link-copy{animation:menu-link-enter .55s both cubic-bezier(.16,1,.3,1);animation-delay:calc(70ms + var(--menu-order)*45ms)}
@keyframes menu-unfold{from{clip-path:inset(0 0 100% 0)}to{clip-path:inset(0)}}
@keyframes menu-link-enter{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}
@media(max-width:970px){
 #immersive-menu .menu-top{padding:16px 6%;min-height:90px}
 #immersive-menu .menu-top>a{padding:8px 12px}#immersive-menu .menu-top img{width:140px}
 #immersive-menu .menu-close-word{display:none}
 #immersive-menu .menu-body{padding:8px 6% 20px;min-height:0;flex:1}
 #immersive-menu .menu-picture{display:none}
 #immersive-menu .immersive-links{width:100%;gap:9px;align-items:stretch}
 #immersive-menu .immersive-links a{width:100%;font-size:clamp(28px,6.7vw,45px);gap:18px;padding:7px 0;min-height:58px}
 #immersive-menu .menu-thumb{display:block;width:64px;height:58px;object-fit:cover;flex-shrink:0;border-radius:50% 0 0 50%}
 #immersive-menu .menu-link-detail{max-height:none;opacity:1;font-size:12px;margin:7px 0 0;line-height:1.35}
 #immersive-menu .menu-selected .menu-link-title{transform:none}
 #immersive-menu .menu-selected .menu-link-detail{margin:7px 0 0;max-height:none}
 #immersive-menu .menu-bottom{padding:18px 6% max(20px,env(safe-area-inset-bottom));display:grid;grid-template-columns:1fr 1fr;font-size:13px;gap:16px}
 #immersive-menu .menu-bottom .menu-meet{grid-row:1;grid-column:1/-1;text-align:center;padding:15px;font-size:17px}
 #immersive-menu .menu-bottom>a:last-child{text-align:right}
}
@media(max-width:380px){#immersive-menu .menu-thumb{width:48px;height:48px}#immersive-menu .immersive-links a{font-size:27px;gap:12px}#immersive-menu .menu-link-detail{font-size:11px}}
@media(prefers-reduced-motion:reduce){#immersive-menu[open],#immersive-menu[open] .menu-link-copy{animation:none}#immersive-menu *{transition:none!important}}
#immersive-menu .menu-close-word{background:#071d3b;padding:8px 12px}
#immersive-menu .immersive-links{inset:auto}
@media(max-height:700px) and (max-width:970px){#immersive-menu .menu-top{min-height:76px;padding-block:10px}#immersive-menu .immersive-links{gap:3px}#immersive-menu .immersive-links a{padding-block:4px;min-height:50px}#immersive-menu .menu-thumb{height:48px;width:54px}#immersive-menu .menu-body{padding-block:8px}#immersive-menu .menu-bottom{padding-block:12px}}
/* Keep the caption above the curved photo mask. */
#immersive-menu .menu-picture{overflow:visible;background:transparent}
#immersive-menu .menu-picture img{border-radius:inherit}
#immersive-menu .menu-picture #menu-photo-caption{z-index:3}
