:root{--ink:#171614;--paper:#f7f5f1;--serif:'Cormorant Garamond',Georgia,serif;--sans:Montserrat,Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--ink);color:var(--paper);font-family:var(--sans);overflow-x:hidden}body.locked{overflow:hidden}button,a{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible{outline:2px solid currentColor;outline-offset:5px}em{font-weight:300}img{display:block}.eyebrow{font-size:11px;font-weight:500;letter-spacing:.22em;line-height:1.5}.chrome{position:fixed;z-index:60;color:#fff;mix-blend-mode:difference;background:transparent;pointer-events:none}.chrome a,.chrome button{pointer-events:auto}.site-header{height:90px;top:0;left:0;right:0;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:0 clamp(24px,4vw,76px)}.menu-button{justify-self:start;width:46px;height:40px;padding:10px 3px;border:0;background:transparent;color:inherit;display:flex;flex-direction:column;justify-content:space-between;pointer-events:auto}.menu-button span{height:1px;width:100%;background:currentColor;display:block;transition:transform .3s,width .3s}.menu-button span:nth-child(2){width:70%}.menu-button:hover span:nth-child(2){width:100%}.brand{display:flex;align-items:center;gap:10px;font-family:var(--serif);font-size:27px;letter-spacing:.18em;line-height:.8}.brand small{display:block;font:500 7px/2 var(--sans);letter-spacing:.37em;text-align:center}.brand-crest{font:400 25px/1 var(--serif);border:1px solid currentColor;width:33px;height:40px;display:grid;place-items:center;border-radius:12px 12px 17px 17px}.header-links{justify-self:end;display:flex;gap:clamp(16px,2.3vw,40px);font-size:10px;letter-spacing:.16em;text-transform:uppercase}.site-footer{bottom:0;left:0;right:0;padding:0 clamp(24px,4vw,76px) 23px;display:grid;grid-template-columns:1fr 1fr;font-size:9px;letter-spacing:.12em;text-transform:uppercase}.site-footer>div{display:flex;gap:clamp(14px,2vw,32px)}.site-footer>div:last-child{justify-content:flex-end;text-align:right}.site-footer button{background:none;border:0;color:inherit;padding:0;text-transform:inherit;letter-spacing:inherit}.site-footer a:hover,.header-links a:hover{text-decoration:underline;text-underline-offset:5px}.menu-panel{position:fixed;inset:0;z-index:55;background:#1b1b19;color:#f7f5f1;padding:120px max(9vw,30px) 80px;display:flex;flex-direction:column;justify-content:center;gap:5px;transform:translateY(-101%);transition:transform .75s cubic-bezier(.22,.75,.22,1)}.menu-panel.open{transform:translateY(0)}.menu-panel a{display:flex;justify-content:space-between;border-bottom:1px solid #777;padding:10px 0;font:400 clamp(38px,5vw,74px)/1 var(--serif)}.menu-panel a span{font:500 12px var(--sans);align-self:center}.menu-panel a:hover{font-style:italic}
.gate{position:fixed;inset:0;z-index:100;background:#0e0d0c;overflow:hidden}.gate[hidden]{display:none}.gate-land{position:absolute;inset:0;background:url('assets/DJI_0437.jpg') center/cover;filter:brightness(.65) saturate(.73);transform:scale(1.09)}.door-photo{position:absolute;inset:0;background:url('assets/tufa-door.png') center/cover;opacity:0}.door-portal{position:absolute;overflow:hidden;perspective:1600px;z-index:2;opacity:0;background:url('assets/DJI_0437.jpg') center/cover;border-radius:48% 48% 0 0/30% 30% 0 0}.door-leaf{position:absolute;top:0;bottom:0;width:50%;background-image:url('assets/tufa-door.png');background-repeat:no-repeat;backface-visibility:hidden;transform-style:preserve-3d;will-change:transform}.door-left{left:0;transform-origin:0 50%;box-shadow:inset -14px 0 30px #05050566}.door-right{right:0;transform-origin:100% 50%;box-shadow:inset 14px 0 30px #05050566}.gate-content{position:absolute;z-index:4;left:50%;top:56%;transform:translate(-50%,-50%);text-align:center;width:min(92vw,650px);color:white;text-shadow:0 2px 25px #000;opacity:0}.gate-eyebrow{font-size:11px;letter-spacing:.36em}.gate h1{font:400 clamp(54px,6vw,105px)/.83 var(--serif);margin:25px 0 38px}.gate-actions{display:flex;gap:12px;justify-content:center}.gate-actions button{border:1px solid #fff;background:rgba(0,0,0,.42);color:#fff;padding:16px 24px;min-width:150px;text-transform:uppercase;font-size:10px;letter-spacing:.18em}.gate-actions button:first-child{background:#fff;color:#111}.gate-actions button span{margin-left:20px}.gate-actions button:hover{background:#dad5cb;color:#111}.gate-content p{font-size:11px;letter-spacing:.08em;margin-top:25px}
.tour{height:400vh;position:relative;background:#111}.tour-stage{height:100vh;height:100svh;position:relative;overflow:hidden}.scene-photo,.scene-photo img,.scene-photo canvas,.scene-shade{position:absolute;inset:0;width:100%;height:100%}.scene-photo img{object-fit:cover;filter:saturate(.8) brightness(.85)}.scene-photo canvas{z-index:2}.scene-shade{z-index:3;background:linear-gradient(90deg,rgba(0,0,0,.53),transparent 75%),linear-gradient(0deg,rgba(0,0,0,.54),transparent 52%);pointer-events:none}.tour-scene-copy{position:absolute;z-index:4;left:clamp(32px,8vw,140px);bottom:15%;width:min(80vw,1050px)}.tour-scene-copy h2{font:400 clamp(76px,12vw,190px)/.76 var(--serif);letter-spacing:-.045em;margin:20px 0}.tour-scene-copy p{font:400 clamp(22px,2.6vw,36px)/1.08 var(--serif);margin:0;max-width:460px}.scene-counter{position:absolute;z-index:4;right:8%;bottom:9%;font:400 18px var(--serif);display:flex;align-items:center;gap:16px}.scene-counter i{width:70px;height:1px;background:#fff}.scroll-cue{position:absolute;z-index:4;right:8%;top:25%;font-size:10px;letter-spacing:.16em;writing-mode:vertical-rl}.scroll-cue span{font-size:25px;margin-top:18px}
.wines{min-height:100svh;background:var(--paper);color:var(--ink);display:grid;grid-template-columns:31% 41% 28%;position:relative;overflow:hidden;padding:9vh 5vw 9vh;gap:0}.wines-heading,.wine-information{z-index:2;display:flex;flex-direction:column;justify-content:space-between}.wines-heading h2{font:400 clamp(56px,6.4vw,110px)/.82 var(--serif);letter-spacing:-.055em;margin:25px 0}.wines-heading p{font:400 25px/1.05 var(--serif);max-width:290px}.wine-list{border-top:1px solid #999;max-width:350px;margin-top:20px}.wine-list button{border:0;border-bottom:1px solid #aaa;background:transparent;color:#555;width:100%;padding:15px 5px;text-align:left;font-size:10px;letter-spacing:.09em;text-transform:uppercase;display:flex;gap:16px;align-items:center}.wine-list button.active{color:#000;font-weight:600}.wine-list button span{font:400 22px var(--serif)}.wine-display{position:relative;min-width:0;min-height:620px;display:grid;place-items:center;isolation:isolate}.wine-orbit{position:absolute;left:50%;top:50%;width:min(36vw,570px);aspect-ratio:1;border:1px solid #b6b3ae;border-radius:50%;transform:translate(-50%,-50%);will-change:transform}.orbit-two{width:min(27vw,425px);border-color:#d5d2cc}.orbit-three{width:min(16vw,260px);border-color:#dedbd6}.wine-display img{position:relative;z-index:2;height:min(76vh,750px);max-width:95%;object-fit:contain;filter:drop-shadow(12px 22px 12px #0002)}.wine-display canvas{position:absolute;z-index:4;pointer-events:none}.display-label{position:absolute;bottom:1%;left:50%;transform:translateX(-50%);font-size:9px;white-space:nowrap;letter-spacing:.22em;color:#666}.wine-information{padding:4vh 0 2vh 3vw}.wine-information .eyebrow{border-bottom:1px solid #999;padding-bottom:15px}.wine-information h3{font:400 clamp(57px,6vw,95px)/.85 var(--serif);margin:0;overflow-wrap:anywhere}.wine-information p{font:400 25px/1.1 var(--serif);max-width:250px}.wine-controls{display:flex;align-items:center;gap:9px}.wine-controls button{background:transparent;border:1px solid #111;border-radius:50%;width:53px;height:53px;font-size:25px;color:inherit}.wine-controls button:hover{background:#111;color:white}.wine-controls small{font-size:9px;letter-spacing:.11em;margin-left:12px}
.quote{background:#171614;color:#f7f5f1;min-height:90svh;padding:17vh 10vw;display:flex;flex-direction:column;justify-content:space-between;text-align:center}.quote blockquote{font:300 clamp(56px,7vw,115px)/.95 var(--serif);letter-spacing:-.03em;margin:40px auto;max-width:1280px}.quote-signature{font-size:10px;letter-spacing:.2em}.heritage{min-height:105svh;background:#ede9e2;color:#171614;position:relative;display:grid;grid-template-columns:58% 42%;overflow:hidden}.heritage-image{height:105svh;overflow:hidden}.heritage-image img{width:100%;height:100%;object-fit:cover;object-position:62% center;filter:saturate(.73) contrast(1.04)}.heritage-ink{padding:15vh 7vw 12vh 5vw;display:flex;flex-direction:column;justify-content:center}.heritage h2{font:400 clamp(78px,9vw,150px)/.8 var(--serif);letter-spacing:-.05em;margin:60px 0 40px}.heritage p{font:400 clamp(24px,2.25vw,35px)/1.1 var(--serif);max-width:530px}.text-link{align-self:start;border-bottom:1px solid currentColor;padding:16px 0;font-size:11px;letter-spacing:.15em;text-transform:uppercase;margin-top:35px;display:flex;gap:30px}.heritage-caption{position:absolute;left:2.5vw;bottom:8%;writing-mode:vertical-rl;color:#fff;font-size:9px;letter-spacing:.2em}
.journal{background:#f7f5f1;color:#171614;padding:16vh 7vw 18vh}.journal-head{display:grid;grid-template-columns:1fr 1fr;gap:5vw;align-items:end}.journal-head .eyebrow{grid-column:1/-1}.journal h2{font:400 clamp(80px,10vw,155px)/.79 var(--serif);letter-spacing:-.05em;margin:35px 0 70px}.journal-head p{font:400 clamp(24px,2.4vw,36px)/1.05 var(--serif);max-width:450px;margin:0 0 80px}.story-grid{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:24px}.story-card{display:block}.story-photo{aspect-ratio:4/4.4;overflow:hidden;background:#d9d5cd;margin-bottom:22px}.story-card:first-child .story-photo{aspect-ratio:4/4.4}.story-photo img{width:100%;height:100%;object-fit:cover;filter:saturate(.75);transition:transform .8s ease}.story-card:hover img{transform:scale(1.06)}.story-card span{font-size:10px;letter-spacing:.15em}.story-card h3{font:400 clamp(34px,3vw,51px)/.94 var(--serif);margin:17px 0 24px}.story-card b{font:500 10px var(--sans);letter-spacing:.1em;text-transform:uppercase;border-bottom:1px solid;padding-bottom:10px}
.beyond{position:relative;min-height:100svh;overflow:hidden;padding:16vh 8vw 12vh;display:flex;flex-direction:column;justify-content:space-between}.beyond-image,.beyond-image img,.beyond-shade{position:absolute;inset:0;width:100%;height:100%}.beyond-image img{object-fit:cover;object-position:center 55%;filter:saturate(.82) brightness(.75)}.beyond-shade{background:linear-gradient(0deg,#100e0dbb,transparent 65%),linear-gradient(90deg,#100e0d77,transparent 75%)}.beyond>.eyebrow,.beyond h2,.beyond-bottom{position:relative;z-index:1}.beyond h2{font:400 clamp(110px,15vw,270px)/.7 var(--serif);letter-spacing:-.055em;margin:auto 0}.beyond-bottom{border-top:1px solid #ddd;padding-top:24px;display:flex;justify-content:space-between;align-items:end}.beyond-bottom p{font:400 clamp(25px,3vw,44px)/1 var(--serif);margin:0}.beyond-bottom a{font-size:11px;letter-spacing:.15em;text-transform:uppercase;border-bottom:1px solid;padding-bottom:12px}.reveal{opacity:1}

/* Requested desktop type scale. Smaller layouts keep their dedicated responsive sizes. */
.tour-scene-copy h2{font-size:130px}.tour-scene-copy p{font-size:30px}
.quote blockquote{font-size:80px}.wine-information h3{font-size:90px}
.heritage h2{font-size:100px}.heritage p{font-size:30px}
.journal h2{font-size:100px}.journal-head p{font-size:30px}
.wine-product-link{display:inline-flex;align-items:center;gap:24px;margin-top:12px;padding:14px 0;border-bottom:1px solid currentColor;font:500 11px/1.3 var(--sans);letter-spacing:.12em;text-transform:uppercase;transition:gap .3s,color .3s}
.wine-product-link:hover{gap:34px;color:#666}
@media(max-width:950px){.site-header{height:72px}.header-links{gap:12px;font-size:9px}.wines{grid-template-columns:27% 40% 33%;padding:8vh 3vw}.wines-heading h2{font-size:6vw}.wine-display{min-height:530px}.wine-information h3{font-size:6vw}.wine-information{padding-left:1vw}.heritage{grid-template-columns:50% 50%}}
@media(max-width:700px){.site-header{height:66px;padding:0 22px}.header-links{gap:12px}.header-links a:nth-child(2),.header-links a:nth-child(3){display:none}.brand{font-size:21px}.brand-crest{width:28px;height:33px;font-size:20px}.site-footer{padding:0 18px 13px;font-size:8px}.site-footer>div{gap:10px}.site-footer>div:first-child a,.site-footer>div:first-child button,.site-footer>div:last-child a:nth-child(2){display:none}.tour-scene-copy{left:7%;bottom:17%;width:84vw}.tour-scene-copy h2{font-size:clamp(68px,15vw,120px)}.tour-scene-copy p{font-size:25px}.scroll-cue{right:7%;top:16%}.scene-counter{right:7%;bottom:8%}.wines{height:100svh;min-height:690px;display:flex;flex-direction:column;justify-content:space-between;padding:9vh 7vw 8vh}.wines-heading h2{font-size:clamp(48px,8vw,72px);margin:10px 0}.wines-heading p{display:none}.wine-list{display:flex;overflow-x:auto;white-space:nowrap;margin:10px 0 0}.wine-list button{width:auto;flex:none;padding:9px 12px;font-size:9px}.wine-list button span{font-size:17px}.wine-display{height:45vh;min-height:0}.wine-display img{height:44vh}.wine-orbit{width:min(78vw,39vh)}.orbit-two{width:min(58vw,30vh)}.orbit-three{width:min(35vw,18vh)}.display-label{display:none}.wine-information{display:block;text-align:center;padding:0}.wine-information>.eyebrow{display:none}.wine-information h3{font-size:52px}.wine-information p{display:none}.wine-controls{justify-content:center;margin-top:14px}.wine-controls small{display:none}.wine-controls button{width:46px;height:46px}.quote{min-height:78svh;padding:16vh 8vw}.quote blockquote{font-size:clamp(52px,9vw,80px)}.heritage{display:block}.heritage-image{height:52vh}.heritage-ink{padding:12vh 8vw 14vh}.heritage h2{font-size:87px;margin:35px 0}.heritage-caption{top:10%;bottom:auto}.journal{padding:14vh 7vw}.journal-head{display:block}.journal h2{font-size:94px;margin:35px 0}.journal-head p{margin-bottom:55px}.story-grid{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:18px}.story-card{min-width:75vw;scroll-snap-align:start}.story-photo{aspect-ratio:4/4!important}.beyond h2{font-size:16vw}.beyond-bottom p{font-size:28px}}
@media(max-width:420px){.header-links a:nth-child(4){display:none}.gate h1{font-size:52px}.gate-actions button{min-width:125px;padding:15px}.tour-scene-copy h2{font-size:16vw}.tour-scene-copy p{font-size:22px}.wines-heading h2{font-size:48px}.wine-display{height:41vh}.wine-display img{height:40vh}.wine-information h3{font-size:45px}.quote blockquote{font-size:50px}.heritage h2{font-size:72px}.beyond h2{font-size:17vw}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1!important;transform:none!important}.menu-panel{transition:none}}

.brand-logo{height:64px;width:82px;object-fit:contain;filter:brightness(0) invert(1)}@media(max-width:700px){.brand-logo{height:48px;width:63px}}
/* Discrete slides: every resting frame is the original, undistorted image. */
.tour{height:100svh;min-height:600px}.tour-stage{height:100%;min-height:600px}.scene-controls{position:absolute;z-index:5;right:7%;bottom:8%;display:flex;align-items:center;gap:20px}.scene-controls button{border:1px solid rgba(255,255,255,.8);background:rgba(0,0,0,.12);color:white;width:54px;height:54px;border-radius:50%;font:400 25px var(--sans);transition:background .25s,transform .25s}.scene-controls button:hover:not(:disabled){background:white;color:#111;transform:scale(1.07)}.scene-controls button:disabled{opacity:.35;cursor:default}.scene-controls .scene-counter{position:static;display:flex;align-items:center;gap:12px}.scene-controls .scene-counter i{width:45px}.wines{min-height:100svh}.wine-display img{filter:drop-shadow(12px 22px 12px #0002)}.wine-controls button{transition:background .25s,transform .25s}.wine-controls button:hover{transform:scale(1.06)}
@media(max-width:700px){.tour{min-height:0}.tour-stage{min-height:0}.scene-controls{right:7%;bottom:6%;gap:8px}.scene-controls button{width:44px;height:44px;font-size:22px}.scene-controls .scene-counter{gap:6px;font-size:14px}.scene-controls .scene-counter i{width:24px}.tour-scene-copy{bottom:17%}.scroll-cue{top:14%}.site-footer>div:first-child button{display:inline}}

@media(max-width:700px){.tour-scene-copy h2{font-size:clamp(62px,15vw,110px)}.tour-scene-copy p{font-size:25px}.quote blockquote{font-size:clamp(50px,9vw,80px)}.wine-information h3{font-size:52px}.heritage h2{font-size:87px}.heritage p{font-size:clamp(24px,5vw,30px)}.journal h2{font-size:94px}.journal-head p{font-size:clamp(24px,5vw,30px)}.wine-product-link{margin-top:8px}}
@media(max-width:420px){.tour-scene-copy h2{font-size:16vw}.tour-scene-copy p{font-size:22px}.wine-information h3{font-size:45px}.heritage h2{font-size:72px}.quote blockquote{font-size:50px}}

/* Crest doorway: the two black leaves form Tufa's shield, then reveal the actual winery door. */
.gate{background:#e6dfd3}.gate-land{background:url('assets/tufa-real-door.jpg') center 60%/cover no-repeat;filter:saturate(.9) brightness(.9);transform:scale(1.02)}
.door-photo{background:linear-gradient(110deg,rgba(242,237,229,.94),rgba(224,215,202,.88)),url('assets/tufa-real-door.jpg') center 60%/cover no-repeat;filter:saturate(.2)}
.door-portal{background:url('assets/tufa-real-door.jpg') center 60%/cover no-repeat;border-radius:0;clip-path:url(#tufaCrestCut);-webkit-clip-path:url(#tufaCrestCut);filter:drop-shadow(0 22px 32px rgba(0,0,0,.3))}
.door-leaf{background-image:url('assets/tufa-door.png');background-color:#141311;filter:brightness(.69) contrast(1.18)}
.door-mark{position:absolute;inset:0;z-index:3;pointer-events:none;background:url('assets/tufa-logo.png') center top/300% auto no-repeat;opacity:.56;filter:drop-shadow(0 2px 3px #000)}
.gate-content{top:auto;bottom:7%;transform:translateX(-50%);color:#1b1917;text-shadow:none}
.gate h1{font-size:clamp(44px,4.1vw,68px);margin:16px 0 23px;line-height:.85}
.gate-actions button{border-color:#171614;color:#171614;background:transparent}.gate-actions button:first-child{background:#171614;color:white}
.gate-actions button:hover{background:#61564c;color:white}.gate-content p{margin-top:17px}.gate-eyebrow{font-weight:600}
@media(max-width:700px){.gate-content{bottom:6%;width:90vw}.gate h1{font-size:clamp(43px,8vw,59px);margin:12px 0 20px}.gate-actions button{min-width:118px;padding:14px 16px}.door-mark{background-size:300% auto}}

/* The paired gate leaves move while the original stone and hinge frame stays fixed. */
.gate{background:#090909}
.gate-architecture{position:absolute;z-index:1;left:50%;top:37%;width:100vw;aspect-ratio:1672/941;transform:translate(-50%,-50%);opacity:0;isolation:isolate}
.gate::after{content:'';position:absolute;z-index:3;inset:auto 0 0;height:30%;background:linear-gradient(transparent,rgba(9,9,9,.68) 64%,#090909);pointer-events:none}
.arch-vineyard{position:absolute;inset:0;z-index:1;background:url('assets/tufa-gate-landscape.png') center/100% 100% no-repeat;clip-path:url(#tufaArchCut);-webkit-clip-path:url(#tufaArchCut);filter:blur(3px) saturate(1) brightness(.95);will-change:filter,background-size}
.gate-forward{position:absolute;inset:0;z-index:2;opacity:0;transform:scale(1.14);pointer-events:none;will-change:opacity,transform;overflow:hidden}
.gate-forward img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:saturate(.8) brightness(.85)}
.gate-light{position:absolute;inset:0;z-index:3;pointer-events:none;opacity:0;background:radial-gradient(ellipse 48% 62% at 50% 48%,rgba(255,239,197,.52),rgba(255,224,173,.12) 52%,transparent 82%);mix-blend-mode:screen;will-change:opacity}
.logo-door{position:absolute;z-index:2;left:11.7%;top:0;width:76.6%;height:94.1%;perspective:2200px;transform-style:preserve-3d;pointer-events:none}
.logo-leaf{position:absolute;top:0;height:100%;width:50%;backface-visibility:hidden;transform-style:preserve-3d;will-change:transform,opacity;overflow:hidden}
.logo-left{left:0;transform-origin:0 50%;clip-path:url(#tufaLeftLeaf);-webkit-clip-path:url(#tufaLeftLeaf);box-shadow:inset -9px 0 15px #0008}
.logo-right{right:0;transform-origin:100% 50%;clip-path:url(#tufaRightLeaf);-webkit-clip-path:url(#tufaRightLeaf);box-shadow:inset 9px 0 15px #0008}
.logo-leaf img{position:absolute;display:block;max-width:none;max-height:none;pointer-events:none}
.arch-frame{position:absolute;inset:0;z-index:3;width:100%;height:100%;pointer-events:none}
.gate-content{z-index:4;top:auto;bottom:5%;transform:translateX(-50%);color:#fff;text-shadow:0 2px 18px #000}
.gate h1{font-size:clamp(44px,4.1vw,68px);margin:16px 0 23px;line-height:.85}
.gate-actions button{border-color:#fff;color:#fff;background:rgba(0,0,0,.34)}.gate-actions button:first-child{background:#fff;color:#151515}.gate-actions button:hover{background:#d8d2c8;color:#151515}
@media(max-width:700px){.gate-architecture{width:135vw;top:32%}.gate-content{bottom:7%}.arch-vineyard{filter:blur(2px) saturate(1) brightness(.95)}}
@media(max-height:650px) and (min-width:701px){.gate-architecture{width:100vw;top:34%}.gate-content{bottom:3%}}

/* Tufa's cinematic facade: the wall is one still plate, the gate and bird move independently. */
.gate{background:#19140f}
.gate-scene-bg{position:absolute;inset:0;z-index:1;background:url('assets/tufa-facade-cinematic-v1.webp') center/cover no-repeat;filter:saturate(.74) brightness(.72);opacity:0;will-change:opacity,transform}
.gate-scene-bg::after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(9,8,7,.4) 0%,transparent 54%),radial-gradient(ellipse at 70% 52%,transparent 30%,rgba(10,8,6,.4) 100%);pointer-events:none}
.gate::after{height:26%;background:linear-gradient(transparent,rgba(12,10,8,.28) 70%,rgba(12,10,8,.62))}
.gate-architecture{left:0;top:0;width:60.9vw;height:68vh;aspect-ratio:auto;transform:none;z-index:2;will-change:transform,opacity}
.arch-vineyard,.arch-frame{display:none}
.logo-leaf{filter:sepia(.24) brightness(.72) contrast(1.06) drop-shadow(0 5px 4px #0007)}
.gate-topline{position:absolute;z-index:4;top:4.3%;left:50%;transform:translateX(-50%);color:#f9eee0;font:400 clamp(12px,1.25vw,19px)/1 var(--serif);letter-spacing:.22em;white-space:nowrap;opacity:0;text-shadow:0 1px 15px #0007}
.gate-content{left:8%;top:49%;bottom:auto;width:min(45vw,760px);transform:translateY(-50%);text-align:left;text-shadow:0 2px 28px #000b}
.gate h1{font:400 clamp(75px,8vw,151px)/.72 var(--serif);letter-spacing:-.045em;margin:26px 0 40px;white-space:nowrap}
.gate h1 em{font-size:.64em;letter-spacing:-.055em;font-weight:300}
.gate-eyebrow{font-size:10px;letter-spacing:.3em;font-weight:500}
.gate-age-question{font:400 clamp(20px,1.75vw,28px)/1.1 var(--serif);margin:0 0 20px}
.gate-actions{justify-content:flex-start}
.gate-actions button{border-color:#b68a5a;border-radius:28px;background:rgba(21,17,13,.26);padding:13px 20px;min-width:135px;font-size:9px;letter-spacing:.1em;transition:background .25s,color .25s}
.gate-actions button:first-child{background:rgba(43,32,21,.38);color:white}
.gate-content #gateNote{margin-top:16px;color:#eadcc7;font-size:10px}
.gate-bird{position:absolute;z-index:4;left:62%;top:-3%;width:clamp(65px,6vw,112px);aspect-ratio:3/2;opacity:0;transform-origin:55% 88%;filter:drop-shadow(0 3px 3px #0008);pointer-events:none;will-change:transform,opacity}
.gate-bird img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;transition:opacity .14s ease}
.bird-flight-b,.bird-perched{opacity:0}
.gate-bird.is-flying .bird-flight-b{animation:bird-frames .32s steps(1,end) infinite}
.gate-bird.is-perched .bird-flight{opacity:0}.gate-bird.is-perched .bird-perched{opacity:1}
@keyframes bird-frames{0%,49%{opacity:0}50%,100%{opacity:1}}
@media(max-width:700px){
  .gate-scene-bg{background:#17120d;filter:none}
  .gate-architecture{left:50%;top:31%;width:135vw;height:auto;aspect-ratio:1672/941;transform:translate(-50%,-50%)}
  .arch-vineyard,.arch-frame{display:block}
  .logo-leaf{filter:none}
  .gate-topline{top:5%;font-size:12px}
  .gate-content{left:50%;top:auto;bottom:6%;width:90vw;transform:translateX(-50%);text-align:center}
  .gate h1{font-size:clamp(51px,12.5vw,80px);line-height:.74;margin:14px 0 26px}
  .gate-age-question{font-size:21px;margin-bottom:15px}
  .gate-actions{justify-content:center}
  .gate-bird{left:61%;top:-6%;width:70px}
}
@media(max-height:680px) and (min-width:701px){.gate h1{font-size:clamp(64px,7vw,115px);margin:15px 0 25px}.gate-content{top:52%}.gate-age-question{font-size:20px}}

/* Moving atmosphere sits above the still facade without disturbing gate alignment. */
.gate-world{position:absolute;inset:0;z-index:1;pointer-events:none;will-change:transform}
.gate-ambient-light{position:absolute;z-index:1;inset:-18%;pointer-events:none;opacity:.7;mix-blend-mode:screen;background:linear-gradient(114deg,transparent 27%,rgba(255,212,148,.025) 37%,rgba(255,218,163,.12) 42%,rgba(255,236,191,.025) 49%,transparent 58%),radial-gradient(ellipse 34% 65% at calc(69% + var(--pointer-x,0px)) calc(33% + var(--pointer-y,0px)),rgba(248,195,117,.16),transparent 80%);filter:blur(13px);animation:gate-daylight 9s ease-in-out infinite alternate;will-change:opacity,filter}
.gate-atmosphere{position:absolute;z-index:3;inset:0;width:100%;height:100%;pointer-events:none;opacity:.96;transition:opacity .55s ease}
.gate.is-entering .gate-atmosphere{opacity:0}
.gate.is-entering .gate-ambient-light{animation:none;opacity:0;transition:opacity .55s ease}
@keyframes gate-daylight{from{opacity:.42;filter:blur(18px);transform:translate3d(-2.2%,1%,0) scale(1)}to{opacity:.87;filter:blur(9px);transform:translate3d(2.2%,-1%,0) scale(1.035)}}
@media(prefers-reduced-motion:reduce){.gate-ambient-light{animation:none;opacity:.45}.gate-atmosphere{display:none}}

/* Contact shadows and changing metal reflections give the hinged crest weight. */
.gate-recess{position:absolute;z-index:1;left:11.7%;top:0;width:76.6%;height:94.1%;border-radius:49% 49% 0 0 / 34% 34% 0 0;pointer-events:none;background:radial-gradient(ellipse 75% 95% at 50% 47%,transparent 53%,rgba(21,11,5,.21) 83%,rgba(10,5,2,.42) 100%);box-shadow:inset 20px 14px 28px rgba(24,13,7,.52),inset -12px 5px 22px rgba(24,13,7,.4),0 5px 11px rgba(17,8,3,.43)}
.gate-sill-shadow{position:absolute;z-index:1;left:15%;right:15%;bottom:5.4%;height:4%;background:radial-gradient(ellipse at center,rgba(15,9,5,.67),transparent 72%);filter:blur(7px);pointer-events:none}
.logo-leaf{--gate-tone:.68;--gate-cast-x:0px;--gate-cast-blur:8px;filter:sepia(.2) brightness(var(--gate-tone)) contrast(1.1) drop-shadow(var(--gate-cast-x) 9px var(--gate-cast-blur) rgba(9,4,2,.8))}
.logo-leaf::after{content:'';position:absolute;z-index:2;top:0;bottom:0;width:5px;pointer-events:none;background:linear-gradient(90deg,rgba(17,9,4,.9),rgba(163,103,42,.75) 48%,rgba(10,5,2,.95));box-shadow:0 0 4px rgba(10,5,2,.65)}
.logo-left::after{right:0}.logo-right::after{left:0}
@media(max-width:700px){.gate-recess{box-shadow:inset 9px 8px 17px rgba(24,13,7,.55),inset -8px 5px 13px rgba(24,13,7,.4)}.logo-leaf{filter:brightness(var(--gate-tone)) drop-shadow(var(--gate-cast-x) 6px var(--gate-cast-blur) rgba(9,4,2,.72))}}

/* A small interactive displacement on photographs, never on copy or controls. */
.site-liquid-defs{position:absolute;pointer-events:none;overflow:hidden}
.gate-world.soft-liquid-active,.scene-photo.soft-liquid-active,.heritage-image.soft-liquid-active,.story-photo.soft-liquid-active,.beyond-image.soft-liquid-active{filter:url(#tufaSoftLiquid)}
.wine-display img.soft-liquid-active{filter:url(#tufaSoftLiquid) drop-shadow(12px 22px 12px #0002)}

/* Tufa's original kingfisher is animated from its separate body and wing atlas. */
.gate-bird{left:62%;top:-14%;width:clamp(112px,10vw,170px);aspect-ratio:1;filter:drop-shadow(0 5px 5px rgba(9,6,3,.5))}
.gate-bird canvas{display:block;width:100%;height:100%;opacity:0}
.gate-bird.kingfisher-ready canvas{opacity:1}
.gate-bird.kingfisher-ready img{display:none}
@media(max-width:700px){.gate-bird{left:61%;top:-20%;width:110px}}

/* Register the mobile crest to the same facade image as the desktop scene. */
@media(max-width:700px){
  .gate-scene-bg{background-color:#17120d;background-image:url('assets/tufa-facade-cinematic-v1.webp');background-repeat:no-repeat;filter:saturate(.74) brightness(.72)}
  .gate-scene-bg::after{background:linear-gradient(180deg,rgba(12,9,7,.12),transparent 30%,rgba(12,9,7,.76) 66%,#17120d 81%)}
  .gate-architecture{left:0;top:0;width:auto;height:auto;aspect-ratio:auto;transform:none}
  .arch-vineyard,.arch-frame{display:none}
  .gate-content{bottom:max(5%,env(safe-area-inset-bottom) + 18px)}
  .gate-bird{width:clamp(88px,25vw,116px);top:-18%}
}
@media(max-width:700px) and (max-height:620px){
  .gate-content{bottom:max(2%,env(safe-area-inset-bottom) + 5px)}
  .gate h1{font-size:clamp(39px,10vw,56px);margin:8px 0 14px}
  .gate-age-question{font-size:18px;margin-bottom:9px}
  .gate-content #gateNote{margin-top:8px}
  .gate-actions button{padding:11px 14px}
}
