@font-face{font-family:VillaSerif;src:local("Baskerville"),local("Palatino Linotype"),local("Book Antiqua");font-display:swap}
:root{color-scheme:dark;--paper:#fff8eb;--muted:#e3d7c5;--gold:#d7b57e;--ink:#211c17;--edge:clamp(1.4rem,4.7vw,6rem)}
*{box-sizing:border-box}html{scroll-behavior:smooth;background:var(--ink);scrollbar-color:#b79669 #211c17}body{margin:0;color:var(--paper);font:400 16px/1.55 Arial,Helvetica,sans-serif;-webkit-font-smoothing:antialiased}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit}a:focus-visible,button:focus-visible{outline:2px solid var(--gold);outline-offset:8px}button{cursor:pointer}::selection{background:#d7b57e;color:#211c17}
.skip-link{position:fixed;z-index:100;top:-100px;left:1rem;padding:.8rem 1.2rem;background:var(--paper);color:var(--ink)}.skip-link:focus{top:1rem}
.stage{position:fixed;inset:0;overflow:hidden;background:#211c17;z-index:0}.stage canvas,.stage-poster,.stage-transition-video{width:100%;height:100%;position:absolute;inset:0;object-fit:cover}.stage-transition-video{opacity:0;pointer-events:none;z-index:3}.stage canvas{z-index:2}.stage-poster{z-index:4}.stage-poster{transition:opacity .7s}.stage.ready .stage-poster{opacity:0}.stage-shade{position:absolute;z-index:5;inset:0;background:linear-gradient(180deg,rgba(16,13,10,.44) 0%,transparent 32%,rgba(16,13,10,.09) 55%,rgba(16,13,10,.58) 100%);pointer-events:none}.caption-shade{position:absolute;z-index:5;inset:0;background:linear-gradient(90deg,#171009b8,transparent 72%);pointer-events:none}.stage.intro-view .caption-shade{background:radial-gradient(ellipse 80% 72% at 50% 44%,#171009a8,transparent 100%)}
.site-header{position:fixed;z-index:20;top:0;left:0;width:100%;display:flex;align-items:center;justify-content:space-between;padding:clamp(1.5rem,3.2vh,2.6rem) var(--edge);gap:2rem;background:linear-gradient(#17120d40,transparent)}
.wordmark{display:flex;flex-direction:column;align-items:center;line-height:1;flex:none;width:128px;text-shadow:0 1px 14px #17120d50}.wordmark>span:first-child{font:400 29px/1 Georgia,serif;letter-spacing:.19em;padding-left:.19em}.wordmark-home{font-size:12px;letter-spacing:.53em;margin-top:8px;padding-left:.53em}.top-nav{display:flex;gap:2.5rem}.top-nav a{font-size:14px;position:relative;padding:.75rem .1rem;letter-spacing:.025em}.top-nav a:after{content:"";position:absolute;height:1px;background:var(--gold);left:0;right:0;bottom:.25rem;transform:scaleX(0);transform-origin:left;transition:transform .35s}.top-nav a:hover:after,.top-nav a[aria-current]:after{transform:scaleX(1)}.edition{font-size:12px;letter-spacing:.19em;text-align:right;line-height:1.7}.edition>span{display:block;font-size:12px;letter-spacing:.11em;opacity:.75}
#journey{position:relative;z-index:2}.chapter{position:relative;min-height:200vh;min-height:200svh;pointer-events:none}.chapter-intro{min-height:155vh;min-height:155svh}.chapter-kitchen{min-height:245vh;min-height:245svh}.chapter-living{min-height:245vh;min-height:245svh}.chapter-night{min-height:230vh;min-height:230svh}.chapter-end{min-height:115vh;min-height:115svh}.caption{position:fixed;left:var(--edge);bottom:clamp(7rem,14vh,12rem);max-width:550px;opacity:0;visibility:hidden;transform:translate3d(0,18px,0);will-change:opacity,transform;pointer-events:none;text-shadow:0 2px 24px #160e0766}.caption.is-visible{visibility:visible}.eyebrow{font-size:12px;font-weight:400;text-transform:uppercase;letter-spacing:.2em;margin:0 0 1.5rem;display:flex;align-items:center;gap:1.1rem}.eyebrow span{color:var(--gold);font-variant-numeric:tabular-nums}.caption h1,.caption h2{font-family:VillaSerif,"Baskerville",Georgia,serif;font-weight:400;line-height:1.06;letter-spacing:-.045em;margin:0 0 1.35rem}.caption h2{font-size:clamp(3.1rem,5.7vw,6.1rem)}.caption em{font-weight:400;color:#fff4dd}.room-description{font-size:clamp(1rem,1.2vw,1.125rem);max-width:345px;line-height:1.75;color:var(--muted);margin:0 0 1.65rem;text-wrap:pretty}.product-note{font-size:12px;letter-spacing:.12em;line-height:1.7;color:#e2d2b8;max-width:360px;margin:0}.intro-caption{left:50%;top:43%;bottom:auto;transform:translate3d(-50%,-35%,0);width:min(1050px,90vw);max-width:none;text-align:center}.intro-caption .eyebrow{justify-content:center}.intro-caption h1{font-size:clamp(3.5rem,7.5vw,8.2rem);line-height:1.02;margin-bottom:1.3rem}.intro-description{font-size:14px;letter-spacing:.055em;margin:0;color:#f0e5d5}.scroll-invitation{position:fixed;bottom:20vh;left:50%;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:.7rem;pointer-events:auto;text-transform:uppercase;letter-spacing:.2em;font-size:12px;z-index:3}.scroll-track{width:1px;height:44px;background:#ffffff50;overflow:hidden;display:block}.scroll-track i{display:block;width:1px;height:16px;background:#fff7e8;animation:scroll-cue 2.4s ease-in-out infinite}@keyframes scroll-cue{0%{transform:translateY(-18px)}65%,100%{transform:translateY(46px)}}
.end-caption{left:50%;bottom:26vh;max-width:900px;width:90vw;text-align:center;transform:translate3d(-50%,18px,0)}.end-caption .eyebrow{justify-content:center}.end-caption h2{font-size:clamp(3rem,5.8vw,6.3rem)}.restart-link{display:inline-flex;align-items:center;gap:1.6rem;margin-top:1rem;padding:.7rem 0;border-bottom:1px solid #fff7e870;font-size:14px;letter-spacing:.03em;pointer-events:auto}.restart-link span{font-size:20px}.concept-note{font-size:12px;color:#e0d1b9;line-height:1.7;margin-top:2.5rem}
.journey-controls{position:fixed;z-index:20;bottom:0;left:0;width:100%;display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:1.7rem var(--edge);background:linear-gradient(transparent,#17120d35);pointer-events:none}.chapter-status{display:flex;gap:.8rem;align-items:center;font-size:12px;letter-spacing:.045em;min-height:44px}.chapter-status>span:first-child{font-variant-numeric:tabular-nums;color:var(--gold)}.status-rule{width:32px;height:1px;background:#bca078;display:inline-block}.journey-controls button{pointer-events:auto;background:transparent;border:0;padding:10px 0 10px 10px;display:flex;align-items:center;gap:.6rem;font-size:12px;min-height:44px;color:#e7ddcf}.journey-controls button svg{height:20px;width:20px}.journey-progress{position:fixed;z-index:30;bottom:0;left:0;right:0;height:2px;background:#ffffff1a}.journey-progress span{display:block;height:100%;background:#d7b57e;transform:scaleX(0);transform-origin:left;will-change:transform}
body.reduced-motion .scroll-track i{animation:none;transform:translateY(14px)}
@media(min-width:1800px){.caption{max-width:650px}.room-description{max-width:400px}}
@media(max-height:650px) and (min-width:760px){.site-header{padding-top:1rem}.caption{bottom:5rem}.caption h2{font-size:2.7rem;margin-bottom:.7rem}.eyebrow{margin-bottom:.6rem}.room-description{font-size:14px;margin-bottom:.7rem;max-width:330px}.scroll-invitation{bottom:16vh}.journey-controls{padding-top:.5rem;padding-bottom:.5rem}.intro-caption h1{font-size:4.5rem}}
@media(max-width:760px){:root{--edge:1.4rem}.site-header{gap:1rem;padding-top:max(1.3rem,env(safe-area-inset-top));align-items:center}.wordmark{width:105px}.wordmark>span:first-child{font-size:24px}.wordmark-home{font-size:12px;margin-top:7px}.top-nav{gap:1rem}.top-nav a{font-size:14px}.edition{display:none}.caption{bottom:8.5rem;left:var(--edge);max-width:calc(100vw - 2.8rem)}.caption h2{font-size:clamp(2.7rem,11vw,4.5rem);line-height:1.09}.eyebrow{font-size:12px;margin-bottom:1.1rem}.room-description{font-size:16px;max-width:300px;line-height:1.65;margin-bottom:1.3rem}.product-note{max-width:300px;line-height:1.8}.intro-caption{left:50%;top:40%;bottom:auto;width:94vw;max-width:none}.intro-caption h1{font-size:clamp(2.8rem,10.6vw,4.6rem);line-height:1.12;letter-spacing:-.055em}.intro-description{font-size:13px;max-width:260px;margin:auto}.intro-caption .eyebrow{font-size:12px;letter-spacing:.14em}.scroll-invitation{bottom:21vh;bottom:21svh}.journey-controls{padding-bottom:max(1rem,env(safe-area-inset-bottom));padding-top:.5rem}.chapter-status{font-size:12px;gap:.5rem}.status-rule{width:20px}.journey-controls button span{display:none}.journey-controls button{padding:10px}.end-caption{left:50%;bottom:26vh;max-width:none;width:90vw}.end-caption h2{font-size:clamp(2.5rem,9.5vw,4rem)}.concept-note{font-size:12px}.stage-shade{background:linear-gradient(180deg,#130f0b50,transparent 30%,#130f0b20 45%,#130f0bbb 100%)}.chapter-intro{min-height:135svh}.chapter-kitchen,.chapter-living{min-height:220svh}.chapter-night{min-height:210svh}.chapter-end{min-height:115svh}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.scroll-track i{animation:none}.top-nav a:after,.stage-poster{transition:none}}

/* Keep captions clear of navigation on short landscape screens. */
@media(max-height:500px){.site-header{padding-top:.75rem;padding-bottom:.75rem}.caption{bottom:4.75rem}.caption h2{font-size:2rem;line-height:1.05;margin-bottom:.6rem}.eyebrow{margin-bottom:.5rem}.room-description{font-size:1rem;line-height:1.4;margin-bottom:.6rem;max-width:420px}.product-note{font-size:.75rem}.intro-caption{top:34%;bottom:auto}.intro-caption h1{font-size:2.8rem}.scroll-invitation{bottom:16vh}.scroll-track{height:22px}.journey-controls{padding-top:.25rem;padding-bottom:.25rem}.end-caption{bottom:5rem}.concept-note{margin-top:1rem}.restart-link{margin-top:0}}
/* Villa, suite and showroom */
[hidden]{display:none!important}.wordmark{width:150px}.wordmark img{display:block;width:100%;height:auto}.top-nav{gap:1.8rem}.chapter-portals{min-height:190svh}.chapter-wardrobe{min-height:230svh}.after-journey .site-header{background:#211c17f5}.editorial,.contact-section,.business-footer{position:relative;z-index:5;background:var(--ink)}.editorial{padding:7rem var(--edge)}.editorial-heading{display:grid;grid-template-columns:1.1fr 1fr;gap:1rem 6rem;align-items:end;margin-bottom:3rem}.editorial-heading .eyebrow{grid-column:1/-1}.editorial h2,.contact-section h2{font:400 clamp(2.8rem,5vw,5rem)/1.08 VillaSerif,Georgia,serif;letter-spacing:-.035em;margin:0}.editorial h2 em,.contact-section h2 em{font-weight:400;color:#e6c79d}.editorial-heading>p:last-child{max-width:480px;color:var(--muted);font-size:1.05rem;line-height:1.8;margin:0}.decor-scene{margin:0}.decor-scene img{display:block;width:100%;height:auto;max-height:80vh;object-fit:cover}.decor-scene figcaption{font-size:.75rem;color:var(--muted);margin-top:1rem}.decor-list{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem;margin-top:2rem;border-top:1px solid #ffffff25;padding-top:1.5rem}.decor-list span{display:block;font-size:.75rem;letter-spacing:.1em;color:var(--gold);margin-bottom:.75rem}.decor-list a{font-size:1rem;border-bottom:1px solid #ffffff40}.film-section{padding-top:2rem}.film-section h2{margin-bottom:1rem}.film-intro{max-width:560px;color:var(--muted);font-size:1.05rem;line-height:1.8;margin:0 0 2rem}.film-section video{display:block;width:100%;aspect-ratio:16/9;background:#17120c}.film-caption{display:flex;justify-content:space-between;gap:1rem;align-items:center;color:var(--muted);font-size:.875rem}.film-caption a{white-space:nowrap;border-bottom:1px solid}.contact-section{background:#ebe0cd;color:#30261d;display:grid;grid-template-columns:1.2fr 1fr;gap:7vw;padding:7rem var(--edge)}.contact-section h2 em{color:#755432}.contact-section p{max-width:480px}.contact-section .eyebrow{color:#755432}.contact-section address{font-style:normal;line-height:1.8;font-size:1.125rem}.contact-phone{font:400 clamp(2rem,3vw,3rem)/1.4 Georgia,serif;display:block;margin:1rem 0}.contact-link{display:block;width:fit-content;border-bottom:1px solid #75543255;padding:.3rem 0;margin:.6rem 0}.small-copy{font-size:.875rem}.business-footer{display:flex;align-items:center;justify-content:space-between;gap:3rem;padding:3.5rem var(--edge);font-size:.875rem;color:var(--muted)}.business-footer>img{width:160px;height:auto}.business-footer nav{display:flex;flex-wrap:wrap;gap:1rem}.business-footer button{background:none;border:0;padding:0;text-decoration:underline;font-size:inherit}dialog{background:#f3ebdf;color:#30261d;border:1px solid #a88960;width:min(540px,90vw);padding:2rem;line-height:1.7}dialog::backdrop{background:#0009}dialog h2{font:2rem Georgia,serif;margin-top:0}dialog a{text-decoration:underline}dialog button{padding:.65rem 1.5rem;background:#30261d;color:#fff;border:0;margin-top:1rem}.legal-page{max-width:850px;padding:3rem 1.5rem 6rem;margin:auto}.legal-page h1{font:3rem Georgia,serif}.legal-page h2{font:1.6rem Georgia,serif;margin-top:2.5rem}.legal-page a{color:var(--gold);text-decoration:underline}.legal-page p,.legal-page li{font-size:1rem;line-height:1.8}.legal-back{display:inline-block;margin:1rem 0}.legal-note{border-left:2px solid var(--gold);padding-left:1rem;color:var(--muted)}
@media(max-width:760px){.site-header{flex-wrap:wrap;gap:.5rem;justify-content:center;padding-top:.65rem;padding-bottom:.55rem;background:linear-gradient(#211c17f0,#211c1780,transparent)}.wordmark{width:114px}.top-nav{width:100%;justify-content:center;gap:1.1rem}.top-nav a{font-size:.875rem;padding:.35rem 0}.chapter-portals{min-height:170svh}.chapter-wardrobe{min-height:210svh}.editorial{padding:4.5rem var(--edge)}.editorial-heading,.contact-section{grid-template-columns:1fr;gap:2rem}.editorial-heading>p:last-child{font-size:1rem}.decor-list{grid-template-columns:1fr;gap:0}.decor-list p{margin:1rem 0}.film-caption{display:block}.contact-section{padding:4rem var(--edge)}.business-footer{flex-direction:column;align-items:flex-start;gap:1.5rem}.business-footer nav{gap:1rem}.editorial h2,.contact-section h2{font-size:2.8rem}.intro-caption{top:42%}}
@media(max-height:500px) and (min-width:760px){.wordmark{width:105px}.caption{bottom:4rem}}
/* Two continuous scroll-controlled films, with an editorial passage between them. */
.stage-transition-video{opacity:0;pointer-events:none}.journey-veil{position:absolute;inset:0;z-index:6;background:var(--ink);opacity:0;pointer-events:none}
.chapter-intro{min-height:110svh}.chapter-living,.chapter-kitchen{min-height:180svh}.chapter-bridge{min-height:165svh}.chapter-night,.chapter-wardrobe{min-height:210svh}
.bridge-caption{left:50%;top:50%;bottom:auto;width:min(1000px,90vw);max-width:none;text-align:center}.bridge-caption .eyebrow{justify-content:center;color:var(--gold)}.bridge-caption h2{font-size:clamp(2.8rem,5.6vw,6rem);line-height:1.12;letter-spacing:-.035em}.bridge-line{display:block;will-change:transform,opacity}.bridge-caption em{color:#e6c79d}.bridge-rule{display:block;width:clamp(80px,14vw,180px);height:1px;background:var(--gold);margin:2.2rem auto 0;transform:scaleX(0);transform-origin:center}
.film-pair{display:grid;grid-template-columns:1fr 1fr;gap:2rem}.film-pair figure{margin:0}.film-pair .film-caption{font-size:.875rem}
@media(max-width:760px){.film-pair{grid-template-columns:1fr}.bridge-caption{left:50%;top:48%;bottom:auto;width:90vw;max-width:none}.bridge-caption h2{font-size:clamp(2.4rem,9vw,4rem)}.chapter-living,.chapter-kitchen{min-height:180svh}.chapter-night,.chapter-wardrobe{min-height:190svh}}
@media(max-height:500px){.bridge-caption{top:50%;bottom:auto}.bridge-caption h2{font-size:2rem}.bridge-caption .eyebrow{margin-bottom:.6rem}.bridge-rule{margin-top:1rem}}
body.reduced-motion .bridge-line{transform:none!important}
@media(max-width:400px){.top-nav{gap:.65rem}.top-nav a{font-size:.8125rem}}

#journey-loading{position:fixed;z-index:19;right:var(--edge);bottom:5.5rem;color:var(--muted);font-size:.875rem;letter-spacing:.03em;margin:0;text-shadow:0 1px 8px #000}

/* Inaugurazione: introduction in the villa, complete Febal invitation on its own page. */
.event-section{position:relative;z-index:5;background:#f7f4ee;color:#211c17;display:grid;grid-template-columns:1.05fr 1fr;scroll-margin-top:110px}
.event-image{position:relative;min-height:640px;overflow:hidden}.event-image>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.event-date{position:absolute;left:var(--edge);bottom:3rem;color:#fff;font:400 clamp(5rem,10vw,9rem)/.9 VillaSerif,Georgia,serif;text-shadow:0 2px 25px #0008}.event-date>span{display:block;font:400 .8rem/1.5 Arial,sans-serif;letter-spacing:.18em;margin-top:1rem}
.event-copy{padding:5rem clamp(1.5rem,5vw,6rem)}.event-brand{display:block;width:80px;height:80px;margin-bottom:2rem}.event-copy .eyebrow{color:#785b38}.event-copy h2{font:400 clamp(2.8rem,4.5vw,5.4rem)/1.07 VillaSerif,Georgia,serif;letter-spacing:-.04em;margin:0 0 1.6rem}.event-copy h2 em{color:#785b38}.event-copy>p{max-width:440px}.event-address{margin-top:1.6rem}.event-slots{display:flex;gap:2rem;border-block:1px solid #211c1726;margin-top:1.5rem;padding:.5rem 0}.event-slots p{font-size:.875rem}.event-slots strong{display:block;font-size:1.125rem;font-weight:400;margin-top:.3rem}.event-note{font-size:.8125rem;letter-spacing:.05em}.event-actions{display:flex;align-items:center;flex-wrap:wrap;gap:1.3rem;margin-top:1.8rem}.event-button{background:#211c17;color:#fff8eb;padding:.95rem 1.3rem;display:inline-flex;gap:1.5rem;align-items:center;font-size:.9375rem}.event-more{font-size:.875rem;border-bottom:1px solid #785b3870;padding:.4rem 0}.top-nav .event-nav{color:var(--gold)}
@media(max-width:1000px){.event-section{grid-template-columns:1fr}.event-image{min-height:50vw;max-height:520px}.event-copy{padding:3rem var(--edge)}.event-image>img{object-position:center}.event-date{bottom:2rem;font-size:5rem}}
@media(max-width:760px){.top-nav{gap:.6rem;flex-wrap:wrap}.top-nav a{font-size:.8125rem}.event-image{min-height:300px}.event-slots{gap:1.5rem}.event-copy h2{font-size:3rem}.event-brand{width:64px;height:64px}.event-section{scroll-margin-top:130px}}

.national-link{display:block;width:fit-content;margin-top:1rem;border-bottom:1px solid #75543270}.national-header{display:flex;align-items:center;justify-content:space-between;gap:2rem;padding:2rem var(--edge);border-bottom:1px solid #ffffff20}.national-header img{width:140px;height:auto}.national-header>a:last-child{font-size:.875rem}.national-main{max-width:1050px;margin:auto;padding:5rem var(--edge)}.national-main h1{font:400 clamp(2.8rem,6vw,5.7rem)/1.08 VillaSerif,Georgia,serif;letter-spacing:-.04em;margin:0 0 2rem}.national-main em{color:var(--gold);font-weight:400}.national-lead{font-size:1.25rem;max-width:720px;color:var(--muted)}.national-main section{margin-top:3.5rem;max-width:720px}.national-main h2{font:400 2rem/1.2 VillaSerif,Georgia,serif}.national-main p,.national-main li{line-height:1.8}.national-main li{margin-bottom:1rem;padding-left:.4rem}.national-main ol{padding-left:1.3rem}.national-cta{display:inline-block;background:var(--gold);color:var(--ink);padding:1rem 1.4rem;margin:1rem 0}.national-back{display:inline-block;margin-top:3rem;border-bottom:1px solid var(--gold)}@media(max-width:600px){.national-header{align-items:flex-start;gap:1rem}.national-header img{width:110px}.national-main{padding-top:3rem}.national-header>a:last-child{max-width:140px;text-align:right}}
