*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:#24170f;color:#38261b;font-family:Georgia,'Times New Roman',serif;font-size:17px;line-height:1.5}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}img{display:block;max-width:100%}h1,h2,h3,p,figure{margin:0}h1,h2,h3{font-weight:400;line-height:1.06}h1,h2{font-family:Georgia,serif;font-weight:400;letter-spacing:-.035em}h1{font-size:clamp(3.2rem,6vw,6.8rem)}h2{font-size:clamp(3rem,6vw,6rem)}em{font-family:Georgia,serif;font-weight:400}button,a{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #c89552;outline-offset:6px}.nav{position:fixed;top:24px;left:50%;transform:translateX(-50%);z-index:30;display:flex;align-items:center;gap:26px;padding:5px 24px 5px 14px;background:#25170eee;color:#f9ecd8;border:1px solid #9e754740;border-radius:60px;backdrop-filter:blur(18px);box-shadow:0 8px 36px #0003;max-width:calc(100% - 28px);white-space:nowrap}.nav>a img{width:108px;height:46px;object-fit:contain}.nav nav{display:flex;align-items:center;gap:24px}.nav nav a{font-size:14px;padding:8px 0;transition:color .2s}.nav nav a:hover{color:#dba861}.menu-toggle{display:none;background:none;color:inherit;border:0}.hero-scroll{height:400svh;position:relative}.hero-sticky{height:100svh;position:sticky;top:0;overflow:hidden;background:#7d937c url('assets/desktop/0001.webp') center/cover}.hero-sticky canvas{height:100%;width:100%;display:block}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,#101b2350,transparent 55%),linear-gradient(0deg,#0004,transparent 30%);pointer-events:none}.hero-start{position:absolute;left:5.5%;top:23%;color:white;text-shadow:0 2px 25px #0003;max-width:70%}.eyebrow{text-transform:uppercase;letter-spacing:.19em;font-family:Arial,sans-serif;font-size:12px;margin-bottom:22px}.hero-start .eyebrow{font-size:13px}.hero-story{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;padding:7%;color:white;text-shadow:0 2px 30px #0007;opacity:0;pointer-events:none}.hero-story>p{margin-bottom:20px;font-style:italic;font-size:24px}.hero-last{position:absolute;inset:0;background:#eee8ddec;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:30px;opacity:0;pointer-events:none}.hero-last>img{width:min(320px,55vw)}.hero-last>p{font-size:24px;font-style:italic}.hero-last .button{font-size:19px}.hero-bottom{position:absolute;bottom:45px;left:0;right:0;display:flex;align-items:center;justify-content:center;gap:36px;color:white}.button{background:#8a4f2e;color:#fff5e3;padding:17px 29px;display:inline-flex;align-items:center;gap:40px;font-style:italic;transition:background .3s,transform .3s}.button:hover{background:#a0663e;transform:translateY(-3px)}.scroll-hint{font-style:italic;display:flex;gap:15px}.film-progress{position:absolute;bottom:0;left:0;right:0;height:3px;background:#ffffff30}.film-progress span{display:block;height:100%;width:0;background:#d5a869}.light{background:#f2eee5}.story{padding:120px 0 90px;overflow:hidden}.section-heading{text-align:center;max-width:850px;margin:auto;padding:0 24px}.section-heading>p:last-child:not(.eyebrow){margin-top:30px;color:#7a6451;font-size:19px}.photo-ribbon{overflow-x:auto;scrollbar-width:none;cursor:grab;padding:65px 0 45px;touch-action:pan-x pan-y}.photo-ribbon::-webkit-scrollbar{display:none}.ribbon-track{display:flex;gap:24px;width:max-content;will-change:transform;padding:15px 6vw}.ribbon-track figure{width:240px;height:320px;padding:6px;background:#e1d6c2;box-shadow:0 10px 25px #29160820;transform:rotate(-3deg);flex-shrink:0}.ribbon-track figure:nth-child(even){transform:rotate(3deg) translateY(18px)}.ribbon-track img{width:100%;height:100%;object-fit:cover;pointer-events:none}.timeline{display:grid;grid-template-columns:repeat(4,1fr);max-width:1100px;margin:40px auto 0;padding:0 40px;gap:30px}.timeline article{border-top:1px solid #b99d7b;padding-top:25px}.timeline span{font-size:40px;color:#916538}.timeline p{font-size:16px;color:#78604b;margin-top:10px}.wine-intro{padding:70px 0 40px}.zoom-scroll{height:300svh;background:#f2eee5}.zoom-stage{height:100svh;position:sticky;top:0;overflow:hidden}.zoom-grid{position:absolute;inset:0;transform-origin:center;will-change:transform}.tile{position:absolute;object-fit:cover}.center{width:30vw;height:40vh;left:35%;top:30%}.one{width:22vw;height:32vh;left:10%;top:-6%}.two{width:30vw;height:26vh;left:35%;top:0%}.three{width:22vw;height:40vh;left:69%;top:8%}.four{width:23vw;height:41vh;left:8%;top:30%}.five{width:21vw;height:27vh;left:35%;top:75%}.six{width:27vw;height:32vh;left:69%;top:54%}.wine-list{padding:100px 7vw 120px}.intro-text{text-align:center;font-size:28px;font-style:italic;margin-bottom:70px}.wine-lines{max-width:1300px;margin:auto}.wine-lines details{border-top:1px solid #cbbba4}.wine-lines details:last-child{border-bottom:1px solid #cbbba4}.wine-lines summary{list-style:none;padding:32px 0;font-size:clamp(26px,3vw,40px);display:flex;justify-content:space-between;cursor:pointer}.wine-lines summary::-webkit-details-marker{display:none}.wine-lines summary span{font:14px Arial,sans-serif;align-self:center;display:flex;gap:15px}.wine-lines summary span:after{content:'+';font-size:22px}.wine-lines details[open] summary span:after{content:'−'}.wine-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:25px;padding:10px 0 45px;animation:fade .5s}.wine-card{min-width:0}.wine-card button{width:100%;height:360px;background:#e9e2d5;border:0;padding:0;overflow:hidden;cursor:zoom-in}.wine-card img{width:100%;height:100%;object-fit:contain;transition:transform .7s}.wine-card:hover img{transform:scale(1.055)}.wine-card h3{font-size:23px;margin-top:24px;line-height:1.2}.wine-card a{font-size:16px;display:inline-block;margin-top:15px;border-bottom:1px solid #af8964;padding-bottom:5px}.tastings{background:#211511;color:#f3e7d5;position:relative;padding:125px 7vw;overflow:hidden}.tasting-backdrop{position:absolute;inset:-80px 0;background:linear-gradient(#160c0bc9,#160c0be8),url('assets/lotti/tramonto.jpeg') center/cover}.tasting-content{position:relative}.tastings .section-heading>p:last-child{color:#ccb9a7}.tasting-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:25px;max-width:1250px;margin:70px auto 0}.experience{background:#ffffff08;border:1px solid #d5ad7325;transition:transform .4s}.experience:hover{transform:translateY(-8px)}.experience>img{aspect-ratio:1.5;width:100%;object-fit:cover}.experience>div{padding:27px}.experience span{font:12px Arial,sans-serif;letter-spacing:.12em;color:#c6aa88;text-transform:uppercase}.experience h3{font-size:36px;margin:14px 0 30px}.experience p{font-size:16px;border-top:1px solid #d8b38e35;padding-top:20px;display:flex;justify-content:space-between}.rooms{padding:100px 8vw}.room-tabs{display:flex;justify-content:center;gap:40px;margin:45px auto 30px}.room-tabs button{border:0;border-bottom:1px solid transparent;background:none;color:#8d7860;padding:14px 8px;font-size:18px}.room-tabs button[aria-selected=true]{border-color:#604029;color:#352015}.room-photo{max-width:1350px;margin:auto;height:65vh;position:relative;overflow:hidden}.room-photo>img{width:100%;height:100%;object-fit:cover;animation:fade .5s}.room-photo>div{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(transparent,#000a);padding:65px 45px 35px;color:white;display:flex;justify-content:space-between;align-items:end}.room-photo h3{font-size:48px}.room-photo a{border-bottom:1px solid #fff8;padding-bottom:7px}footer{display:grid;grid-template-columns:1fr 1fr 1.5fr auto;gap:60px;padding:80px 8vw;color:#deccb3;align-items:start}footer>img{width:200px}footer>div>a{display:block;margin-bottom:8px}footer .eyebrow{color:#a5825e}footer .note{font-size:14px;color:#b6a18b;margin-top:25px}.back-top{border:1px solid #907451;border-radius:50%;width:50px;height:50px;display:grid;place-items:center}dialog{border:0;background:transparent;padding:0;max-width:94vw;max-height:94vh}dialog::backdrop{background:#080503e8;backdrop-filter:blur(8px)}dialog>img{max-width:90vw;max-height:85vh;object-fit:contain}dialog>button{position:fixed;right:25px;top:20px;border:0;color:#fff;background:#20130a90;width:48px;height:48px;font-size:34px}.reveal{opacity:1}.js .reveal{opacity:0;transform:translateY(35px);transition:opacity .85s,transform .85s}.js .reveal.visible{opacity:1;transform:translateY(0)}@keyframes fade{from{opacity:0;transform:scale(1.025)}to{opacity:1;transform:scale(1)}}@media(min-width:1600px){.ribbon-track figure{width:300px;height:400px}}@media(max-width:760px){.nav{top:14px;justify-content:space-between;width:calc(100% - 28px);padding:4px 18px 4px 14px}.nav>a img{height:44px;width:106px}.menu-toggle{display:flex;gap:12px;align-items:center;font-size:15px;padding:10px}.nav nav{display:none;position:absolute;top:66px;left:0;right:0;border-radius:20px;padding:22px;background:#25170ff5;flex-direction:column;gap:12px;align-items:stretch;text-align:center}.nav.open nav{display:flex}.nav nav a{font-size:18px}.hero-sticky{background-image:url('assets/mobile/0001.jpg')}.hero-start{top:21%;left:7%;max-width:90%}.hero-start h1{font-size:clamp(2.6rem,10vw,4rem)}.hero-start .eyebrow{font-size:11px}.hero-bottom{bottom:36px;gap:18px;flex-direction:column}.button{padding:15px 25px}.scroll-hint{font-size:16px}.hero-story h2{font-size:2.9rem}.hero-story{padding:8%}.hero-last{gap:24px}.hero-last>p{font-size:20px}.hero-last .button{font-size:17px}.story{padding:85px 0 60px}.section-heading>p:last-child:not(.eyebrow){font-size:17px}.photo-ribbon{padding:45px 0}.ribbon-track figure{width:185px;height:255px}.ribbon-track{gap:20px}.timeline{grid-template-columns:repeat(2,1fr);gap:35px 22px;padding:0 25px}.timeline span{font-size:33px}.timeline p{font-size:16px}.wine-intro{padding:45px 0 30px}.center{width:50vw;height:36vh;left:25%;top:32%}.one{left:-15%;top:0;width:36vw;height:28vh}.two{left:25%;width:50vw;height:26vh}.three{left:79%;width:36vw;height:40vh}.four{left:-16%;width:37vw}.five{left:25%;width:50vw}.six{left:79%;width:37vw}.wine-list{padding:65px 6vw}.intro-text{font-size:24px;margin-bottom:40px}.wine-cards{grid-template-columns:1fr;gap:30px}.wine-card button{height:400px}.wine-card h3{font-size:24px;margin-top:18px}.wine-lines summary{padding:25px 0}.tastings{padding:85px 6vw}.tasting-cards{grid-template-columns:1fr;margin-top:45px;gap:30px}.experience>img{aspect-ratio:1.5}.experience h3{font-size:32px}.experience>div{padding:25px}.rooms{padding:75px 6vw}.room-tabs{gap:15px}.room-tabs button{font-size:16px}.room-photo{height:55vh}.room-photo>div{padding:70px 22px 25px;display:block}.room-photo h3{font-size:38px;margin-bottom:16px}.room-photo a{font-size:16px}footer{grid-template-columns:1fr 1fr;gap:40px 20px;padding:60px 7vw}footer>img{grid-column:1/-1;width:170px}.back-top{grid-column:2;justify-self:end}footer>div:nth-child(3){font-size:16px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.hero-scroll{height:100svh}.hero-story,.hero-last{display:none}.zoom-scroll{height:100svh}.js .reveal{opacity:1;transform:none;transition:none}*,*:before,*:after{animation:none!important;transition:none!important}}

/* Original Lotti identity within the approved page geometry. */
.nav>a img{filter:brightness(0) invert(1);width:92px;height:46px;object-fit:contain;transform:scale(1.34)}
.hero-last>img{width:min(280px,55vw)}.hero-last>p{max-width:650px;text-align:center;padding:0 25px}.timeline span{font-size:32px}footer>img{filter:brightness(0) invert(1)}
.wine-grape{font-size:15px;color:#735d45;margin-top:12px}.wine-notes{font-size:16px;margin-top:8px;color:#735d45}.experience p.experience-description{border:0;padding:0;margin-bottom:24px;display:block;min-height:96px;color:#d1c0ad}.experience h3{font-size:31px}.hero-start{max-width:80%}
@media(max-width:760px){.hero-start{max-width:92%}.hero-start h1{font-size:clamp(2.5rem,9.5vw,4rem)}.experience p.experience-description{min-height:0}.timeline span{font-size:27px}.nav>a img{width:86px;height:44px}}

/* Compact mobile capsule and continuous left-to-right photographic ribbon. */
.shop-entry{text-align:center;margin-top:48px}.ribbon-track{padding-left:0;padding-right:0;animation:ribbon-left 180s linear infinite}.ribbon-track.paused{animation-play-state:paused}.photo-ribbon:active .ribbon-track{animation-play-state:paused}@keyframes ribbon-left{from{transform:translateX(0)}to{transform:translateX(calc(-50% - 12px))}}.ribbon-control{display:block;margin:0 auto 20px;border:0;border-bottom:1px solid #ac9275;padding:8px 12px;background:transparent;color:#6f543c;font-size:14px}@media(max-width:760px){.nav{width:180px;min-height:60px;padding:5px 18px;gap:18px;justify-content:space-between}.nav>a img{width:72px;height:42px;transform:scale(1.22)}.menu-toggle{padding:7px;width:40px;height:44px;justify-content:center;font-size:23px}.nav nav{left:50%;right:auto;transform:translateX(-50%);width:min(290px,calc(100vw - 28px));top:70px}.ribbon-track{gap:20px}@keyframes ribbon-left{from{transform:translateX(0)}to{transform:translateX(calc(-50% - 10px))}}}
.social-links{display:flex;flex-wrap:wrap;gap:12px 24px;margin:22px 0}.social-links a{font-size:16px;border-bottom:1px solid #a3835f;padding-bottom:4px}.tasting-page-link{text-align:center;margin-top:32px}
.hero-sticky{background-image:url('assets/lotti/hero-holding.webp')}.hero-start{left:6%;top:27%;max-width:44%}.hero-start h1{font-size:clamp(3rem,4.5vw,5.5rem)}.hero-shade{background:linear-gradient(90deg,#111a16a8,transparent 70%)}@media(max-width:760px){.hero-start{top:auto;bottom:22%;left:7%;max-width:90%}.hero-start h1{font-size:clamp(2.3rem,9vw,3.7rem)}.hero-start .eyebrow{font-size:10px}.hero-shade{background:linear-gradient(0deg,#0a160fcc,transparent 72%)}.hero-bottom{bottom:30px}.hero-bottom .button{padding:12px 24px}}

#cinema{opacity:0}.scene-ready #cinema{opacity:1}

/* Continuous sequence poster replaces the former still-photo opening. */
.hero-sticky{background-image:url('assets/desktop/0001.webp')}.hero-start{left:6%;top:26%;bottom:auto;max-width:75%}.hero-start h1{font-size:clamp(3rem,6vw,6.8rem)}@media(max-width:760px){.hero-sticky{background-image:url('assets/mobile/0001.jpg')}.hero-start{top:24%;left:7%;max-width:90%}.hero-start h1{font-size:clamp(2.5rem,9.5vw,4rem)}}

.center{overflow:hidden}.center img{width:100%;height:100%;object-fit:cover;object-position:49% 33%;transform-origin:49% 33%;will-change:transform}.wine-segments{display:flex;border:1px solid #d5c9b9;border-radius:80px;background:#e8e2d9;padding:5px;margin:0 auto 50px;max-width:780px}.wine-segments button{flex:1;min-width:0;border:0;background:none;border-radius:80px;padding:15px 8px;color:#867468;letter-spacing:.05em;font-size:clamp(16px,2vw,23px)}.wine-segments button[aria-selected=true]{background:#32190e;color:#fff0de;box-shadow:0 3px 8px #32190e25}.wine-slider{display:flex;gap:25px;overflow:auto;scroll-snap-type:x mandatory;scrollbar-width:none}.wine-slide{flex:0 0 32%;border:1px solid #dccab1;text-align:center;scroll-snap-align:center;padding:25px 18px 35px}.wine-slide img{width:100%;height:390px;object-fit:contain}.wine-slide h3{font-size:24px;margin-top:22px}.wine-slider-controls{display:flex;justify-content:center;gap:14px;margin:25px 0}.wine-slider-controls button{width:45px;height:45px;border:1px solid #c4ab8d;border-radius:50%;background:transparent;color:inherit}.shop-entry{text-align:center}.shop-entry .button{border-radius:60px;background:none;color:#38261b;border:1px solid #b79b7a;font-style:normal}.wine-list [hidden]{display:none}@media(max-width:760px){.wine-slide{flex-basis:80%;padding:15px 12px 30px}.wine-slide img{height:330px}.wine-segments{margin-bottom:38px}.wine-list{overflow:hidden}.wine-slider{margin-right:-6vw;padding-right:6vw}}
.wine-shop-link{text-align:center;padding:55px 6vw}.wine-shop-link .button{border-radius:45px}

.zoom-focus{position:absolute;left:35%;top:30%;width:30%;height:40%;overflow:hidden;background:#302116;pointer-events:none}.zoom-focus img{width:100%;height:100%;object-fit:contain}@media(max-width:760px){.zoom-focus{left:25%;top:32%;width:50%;height:36%}.zoom-focus img{object-fit:cover}}

.zoom-focus picture{display:block;width:100%;height:100%}.zoom-focus img{object-fit:cover}

.room-photo>img{object-fit:contain;background:#2c2018}.room-controls{display:flex;align-items:center;justify-content:center;gap:24px;margin:24px auto 0}.room-controls button{width:46px;height:46px;border:1px solid #a88961;border-radius:50%;color:#513923;background:transparent;font-size:24px}.room-controls button:hover{background:#e6dccb}.room-count{font:14px Arial,sans-serif;color:#715b44;font-variant-numeric:tabular-nums}.room-photo{touch-action:pan-y}
