@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:wght@400;500;600&display=swap');
:root{--navy:#071725;--blue:#0c318b;--cream:#f7f4ed;--muted:#98a9b7}*{box-sizing:border-box}body{margin:0;background:var(--navy);font-family:'DM Sans',Arial,sans-serif;color:var(--cream)}button{font:inherit;cursor:pointer}button:focus-visible{outline:3px solid #bfa66a;outline-offset:6px}button:disabled{cursor:wait}[hidden]{display:none!important}.screen{min-height:100svh;padding:38px 5vw 24px;display:flex;flex-direction:column;animation:enter .65s ease both}header,footer{display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{font-size:17px;letter-spacing:.36em;font-weight:600}.header-note,footer{font-size:10px;letter-spacing:.18em}header{min-height:35px}footer{margin-top:auto;padding-top:38px;opacity:.6;line-height:1.6}.intro{background:radial-gradient(ellipse at 80% 48%,#152b3b 0,transparent 56%),var(--navy)}.intro-layout{display:grid;grid-template-columns:1.05fr 1fr;align-items:center;gap:5vw;flex:1;padding:65px 0}.eyebrow{font-size:10px;font-weight:600;letter-spacing:.22em;color:#b8c4cd;display:inline-flex;align-items:center;gap:10px}i{width:5px;height:5px;display:inline-block;border-radius:50%;background:#d7c18e}.intro h1{font:400 clamp(40px,4.4vw,74px)/1.16 'Playfair Display',Georgia,serif;letter-spacing:-.035em;margin:28px 0 24px}.intro-copy>p{color:#aab8c3;font-size:17px;margin-bottom:40px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:45px;border:0;border-radius:3px;padding:20px 26px;font-size:14px;font-weight:500;transition:transform .2s,box-shadow .2s}.button:hover{transform:translateY(-3px);box-shadow:0 10px 30px #0002}.button span{font-size:23px;line-height:1}.light{background:#f0e9d9;color:var(--navy)}.micro{font-size:10px;color:#738898;margin-top:22px}.map-wrap{transform:rotate(-5deg);border:1px solid #5c758540;background:#0d203080;padding:22px;box-shadow:0 30px 80px #0002}.map-label,.map-bottom{display:flex;justify-content:space-between;font-size:9px;letter-spacing:.17em;color:#8b9da9}.map{width:100%;display:block}.our-plot{fill:#d6c18d22;stroke:#dbc68e;stroke-width:1.5;filter:drop-shadow(0 0 15px #dbc68e22)}.radar{fill:none;stroke:#e8d49f;opacity:.5;transform-origin:339px 248px;animation:pulse 2.8s infinite}.map-bottom{border-top:1px solid #6a819133;padding-top:17px;letter-spacing:.04em}.map-bottom i{margin-right:8px}.loading{align-items:center;justify-content:center;text-align:center;background:var(--navy)}.loading h2{font:400 clamp(30px,4vw,50px) 'Playfair Display',Georgia,serif;margin:20px 0}.loading p{font-size:13px;color:#98a9b7}.locator{position:relative;width:95px;height:95px;margin-bottom:50px;display:grid;place-items:center;font-size:32px;color:#d7c18e}.locator div{position:absolute;inset:0;border:1px solid #d7c18e;border-radius:50%;animation:pulse 1.8s infinite}.listing{background:var(--cream);color:var(--blue)}.text-button{background:transparent;border:0;color:inherit;font-size:12px;padding:12px 0}.listing-main{display:grid;grid-template-columns:1fr 1.05fr;flex:1;margin-top:38px;min-height:440px}.listing-copy{padding:32px 0;position:relative;z-index:1}.tag{display:inline-block;font-size:9px;letter-spacing:.14em;border:1px solid #0c318b40;border-radius:30px;padding:9px 13px}.listing h1{font:500 clamp(45px,5.6vw,86px)/1.08 'Playfair Display',Georgia,serif;letter-spacing:-.05em;margin:27px -45px 20px 0}.listing h2{font:400 clamp(21px,2.7vw,39px)/1.2 'Playfair Display',Georgia,serif;letter-spacing:-.03em;margin:0}.blue-line{height:1px;background:var(--blue);width:55px;margin:28px 0}.listing-copy>p{font:400 19px/1.6 'Playfair Display',Georgia,serif}.drawn-heart{font-size:48px}.land-photo{position:relative;background:linear-gradient(0deg,#031c3566,transparent 50%),url('assets/vineyard-signed.png') center/cover;min-height:420px;border-radius:2px}.sale-sticker{position:absolute;top:22px;right:22px;transform:rotate(8deg);background:#f4d651;color:#143679;padding:20px;font-weight:700;font-size:21px;line-height:1.1;border:1px solid #143679;outline:5px solid #f4d651;border-radius:7px}.sale-sticker span{position:absolute;right:12px;bottom:10px;font-size:18px}.photo-caption{position:absolute;bottom:22px;left:25px;color:white;font-size:11px;letter-spacing:.07em}.listing-details{border-top:1px solid #0c318b55;margin-top:36px;display:grid;grid-template-columns:1fr 1fr 1.3fr 1.25fr;align-items:center;gap:25px;padding:30px 0 8px}.listing-details>div{display:flex;align-items:center;gap:17px;border-right:1px solid #0c318b33}.detail-icon{font-size:35px;font-weight:400}.listing-details p{font-size:11px;margin:0}.listing-details strong{display:block;font:500 clamp(17px,1.7vw,26px) 'Playfair Display',Georgia,serif;margin-top:5px}.blue{color:white;background:var(--blue);border-radius:50px;padding:21px 25px;white-space:nowrap}.listing footer{padding-top:25px}.letter{background:#efe9db;color:#17322d}.letter-content{text-align:center;margin:auto;padding:38px 0;max-width:700px;align-self:center}.letter .eyebrow{color:#708078}.letter-heart{font-size:58px;color:#9b7754;margin-top:22px}.letter h1{font:400 clamp(40px,5vw,66px)/1.13 'Playfair Display',Georgia,serif;letter-spacing:-.035em;margin:10px 0 30px}.letter-content>p{font-size:15px;line-height:1.95;color:#637169}.signature{font:400 25px 'Playfair Display',Georgia,serif;margin:32px 0}.signature span{color:#9b7754}.letter #again{display:block;margin:34px auto 0;color:#637169}@keyframes pulse{0%{transform:scale(.7);opacity:.7}100%{transform:scale(1.8);opacity:0}}@keyframes enter{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@media(min-width:1500px){.screen{padding-left:max(5vw,calc((100vw - 1400px)/2));padding-right:max(5vw,calc((100vw - 1400px)/2))}}@media(max-width:760px){.screen{padding:25px 6vw 20px}.brand{font-size:13px;letter-spacing:.29em}.header-note{font-size:7px;max-width:100px;text-align:right;line-height:1.7}.intro-layout{grid-template-columns:1fr;padding:48px 0 30px;gap:45px}.intro h1{font-size:clamp(38px,8vw,58px)}.intro-copy>p{font-size:15px;margin-bottom:28px}.map-wrap{max-width:440px;width:92%;justify-self:center;padding:15px;transform:rotate(-3deg)}.map{max-height:310px}.intro footer{font-size:8px;padding-top:24px}.listing-main{grid-template-columns:1fr;margin-top:25px}.listing-copy{padding-top:8px}.listing h1{margin-right:0;font-size:clamp(43px,10vw,65px)}.listing h2{font-size:27px}.listing-copy>p{font-size:17px}.drawn-heart{position:absolute;bottom:25px;right:10px}.land-photo{min-height:320px}.sale-sticker{font-size:17px;padding:16px}.listing-details{grid-template-columns:1fr 1fr;gap:24px 15px;margin-top:25px;padding-top:25px}.listing-details>div:nth-child(2){border:0}.listing-details strong{font-size:19px}.detail-icon{font-size:28px}.button{font-size:13px}.blue{padding:18px;gap:15px}.listing footer,.letter footer{font-size:8px}.letter-content{padding:50px 0}.letter-content>p{font-size:14px}.letter h1{font-size:43px}.signature{font-size:23px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}.radar{opacity:.4}}

.loading{position:relative;overflow:hidden;isolation:isolate}.question-marks{position:absolute;inset:0;z-index:-1;pointer-events:none}.question-marks span{position:absolute;font-family:'Playfair Display',Georgia,serif;line-height:1;opacity:.8;transform:rotate(var(--tilt));animation:question-float 3.6s ease-in-out infinite alternate;text-shadow:0 0 24px currentColor}@keyframes question-float{from{transform:translateY(-8px) rotate(var(--tilt));opacity:.45}to{transform:translateY(8px) rotate(var(--tilt));opacity:.9}}.letter h1.dedication{font-size:clamp(34px,4vw,52px);margin:0 0 15px}.letter-heart{margin:0 0 25px}@media(max-width:760px){.question-marks span{font-size:38px!important}.loading h2{font-size:30px}}
.land-photo{background-position:right center}

/* Film and personal note */
.letter{color:var(--cream);background:radial-gradient(ellipse at 80% 20%,#243b453d,transparent 55%),radial-gradient(ellipse at 15% 45%,#9b775421,transparent 55%),var(--navy)}
.video-intro{text-align:center;width:100%;padding:30px 0 0}
.letter .video-intro h1{color:#f0e9d9;font:400 clamp(34px,4.5vw,62px)/1.15 'Playfair Display',Georgia,serif;letter-spacing:-.035em;margin:0 0 25px}
.video-frame{width:min(100%,1000px);margin:0 auto;line-height:0;border:1px solid #d8c89d40;border-radius:12px;overflow:hidden;box-shadow:0 20px 70px #0005;background:#030c14}
.video-frame video{display:block;width:100%;height:auto;max-width:100%;max-height:55svh;object-fit:contain;background:#030c14}
.letter .letter-content{margin:0 auto;padding:42px 0 15px;max-width:700px;width:100%}
.letter h2.dedication{font:400 clamp(27px,3vw,39px)/1.2 'Playfair Display',Georgia,serif;letter-spacing:-.025em;margin:0 0 16px;color:#e5d2a8}
.letter .letter-content>p,.letter #again{color:#b4bfc3}.letter .letter-heart,.letter .signature span{color:#d9bd86}
.letter .letter-heart{font-size:40px;margin:0 0 16px}.letter .signature{color:#f0e9d9}.letter footer{color:#b4bfc3}
@media(max-width:760px){.video-intro{padding-top:28px}.letter .video-intro h1{font-size:38px;margin-bottom:22px}.video-frame{border-radius:8px}.video-frame video{max-height:55svh}.letter .letter-content{padding-top:34px}.letter h2.dedication{font-size:29px}}
.video-frame{width:min(100%,1000px,97.7778svh)}

.video-reveal{width:100%;scroll-margin-top:35px;animation:enter 1.2s ease both}.future-line{text-align:center;font:400 clamp(27px,3.5vw,45px)/1.5 'Playfair Display',Georgia,serif;color:#e5d2a8;margin:40px auto 0;max-width:850px}.future-line span{color:var(--cream)}.video-reveal .letter-content{visibility:hidden;opacity:0;transform:translateY(14px);transition:opacity 1.6s ease,transform 1.6s ease}.video-reveal .letter-content.note-visible{visibility:visible;opacity:1;transform:none}.deed-trigger{display:flex;align-items:center;gap:17px;text-align:left;border:0;border-right:1px solid #0c318b33;background:transparent;color:var(--blue);padding:0 12px 0 0;justify-self:stretch}.deed-label{font-size:11px}.deed-label small{display:block;font-size:9px;margin-top:7px;letter-spacing:.05em;opacity:.7}.deed-trigger:hover .deed-label small{text-decoration:underline}.deed-trigger:hover .detail-icon{transform:rotate(-7deg)}.deed-trigger .detail-icon{transition:transform .2s}#deed-dialog{border:0;padding:12px;background:#f2eddf;color:var(--blue);width:min(92vw,540px);max-height:90svh;overflow:auto;box-shadow:0 30px 100px #0006}#deed-dialog::backdrop{background:#03111ed9;backdrop-filter:blur(6px)}.deed-paper{border:1px solid #a88b5266;padding:35px 32px;position:relative;text-align:center}.deed-close{position:absolute;right:10px;top:5px;background:none;border:0;color:var(--blue);font-size:29px;padding:4px 10px}.deed-brand{font-size:10px;letter-spacing:.35em}.deed-emblem{font-size:43px;margin:20px 0 12px;color:#a88b52}.deed-kicker{font-size:8px;letter-spacing:.2em}#deed-title{font:400 clamp(30px,5vw,43px) 'Playfair Display',Georgia,serif;margin:13px 0 23px}.deed-rule{height:1px;background:#a88b5266;width:60px;margin:auto}.deed-paper dl{margin:25px 0;text-align:left}.deed-paper dl>div{display:flex;justify-content:space-between;gap:20px;border-bottom:1px solid #0c318b1a;padding:14px 0;align-items:baseline}.deed-paper dt{font-size:11px;opacity:.7}.deed-paper dd{font:500 17px 'Playfair Display',Georgia,serif;margin:0;text-align:right}.deed-vow{font:400 18px/1.6 'Playfair Display',Georgia,serif;margin:25px 0}.deed-seal{border:1px solid #a88b52;border-radius:50%;width:105px;height:105px;display:inline-flex;flex-direction:column;justify-content:center;font-size:8px;letter-spacing:.1em;color:#93723b;transform:rotate(-12deg);line-height:1.3}.deed-seal b{font-size:26px;font-weight:400}@media(max-width:760px){.deed-trigger{gap:17px}.deed-paper{padding:30px 17px}.deed-paper dd{font-size:15px}.deed-paper dt{font-size:10px}.future-line{font-size:27px;margin-top:30px}}@media(prefers-reduced-motion:reduce){.video-reveal .letter-content{transform:none;transition:none}}

#photo-next{margin-top:25px}.photo-page{background:radial-gradient(ellipse at 25% 50%,#34286155,transparent 60%),var(--navy);color:var(--cream)}.photo-finale{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:7vw;align-items:center;max-width:1100px;width:100%;margin:auto; padding:35px 0}.portrait-frame{width:fit-content;max-width:100%;padding:10px;border:1px solid #c5b18355;background:#eee6d908;box-shadow:0 20px 70px #0005;transform:rotate(-2deg);justify-self:center}.portrait-frame img{display:block;max-width:100%;width:auto;height:auto;max-height:69svh;object-fit:contain}.photo-message h1{font:400 clamp(34px,4.1vw,62px)/1.18 'Playfair Display',Georgia,serif;letter-spacing:-.035em;margin:25px 0;color:#f0e9d9}.photo-message .eyebrow{color:#d4bf94}.photo-rule{width:55px;height:1px;background:#d4bf9477;margin:28px 0}.photo-message p{font-size:15px;line-height:1.9;color:#b7bfcd}.photo-signature{display:block;font:400 28px 'Playfair Display',Georgia,serif;margin-top:30px;color:#dfc79d}.photo-page footer{color:#c1b9d0}@media(max-width:760px){.photo-finale{grid-template-columns:1fr;gap:34px;padding:35px 0 20px}.portrait-frame img{max-height:55svh}.photo-message{text-align:center}.photo-message h1{font-size:36px;margin-top:18px}.photo-rule{margin:25px auto}.photo-page footer{font-size:8px}.photo-message p{font-size:14px}}
