:root{--paper:#f3eedf;--ink:#41452f;--olive:#646d49;--gold:#9a8051;--line:#bdb295;--serif:'Cormorant Garamond',Georgia,serif;--sans:'Jost',sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:80px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-weight:300;line-height:1.6;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Cpath filter='url(%23n)' opacity='.045' d='M0 0H180V180H0Z'/%3E%3C/svg%3E")}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit}button{font:inherit}button:focus-visible,a:focus-visible,summary:focus-visible{outline:2px solid var(--gold);outline-offset:5px}h1,h2,h3,h4,p,figure{margin:0}h1,h2,h3,h4{font-family:var(--serif);font-weight:400;line-height:1.04}h1{font-size:clamp(64px,6.9vw,110px);letter-spacing:-3px}h2{font-size:clamp(48px,5.3vw,80px);letter-spacing:-1.5px}h3{font-size:clamp(39px,4.3vw,64px);letter-spacing:-1px}em{font-weight:400}img{max-width:100%;display:block}.eyebrow{text-transform:uppercase;font-size:10px;font-weight:400;letter-spacing:3px;line-height:1.8}.skip-link{position:fixed;left:20px;top:-60px;z-index:101;background:var(--paper);padding:10px}.skip-link:focus{top:10px}.site-header{height:76px;padding:0 5%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);background:rgba(243,238,223,.96);position:sticky;top:0;z-index:20}.wordmark{text-decoration:none;font-family:var(--serif);font-size:27px;letter-spacing:3px}.wordmark span{font-size:19px;font-style:italic}.header-place{text-decoration:none;font-size:10px;letter-spacing:2.5px;text-transform:uppercase}.site-header nav{display:flex;gap:26px}.site-header nav a{text-decoration:none;font-size:11px;letter-spacing:1px;position:relative;padding:9px 0}.site-header nav a:after{content:'';position:absolute;bottom:3px;left:0;width:0;height:1px;background:var(--gold);transition:width .3s}.site-header nav a.active:after,.site-header nav a:hover:after{width:100%}.cover{max-width:1600px;margin:auto;display:grid;grid-template-columns:.85fr 1.15fr;gap:6%;padding:62px 5% 0;position:relative}.cover-heading{padding-top:70px;text-align:center;display:flex;flex-direction:column;align-items:center}.cover-heading .eyebrow{margin-bottom:25px}.cover-subtitle{font-size:14px;line-height:1.8;margin-top:25px;letter-spacing:.3px}.mansion-drawing{width:350px;margin-top:20px;opacity:.85}.cover-signature{font-family:var(--serif);font-size:23px;font-style:italic;margin-top:0}.cover-image{padding-top:0}.photograph{padding:0;border:0;display:block;position:relative;background:#ddd5bd;cursor:zoom-in;width:100%;overflow:hidden;line-height:0;color:var(--paper)}.photograph img{width:100%;height:auto;transition:transform .75s ease}.photograph:hover img{transform:scale(1.025)}.enlarge{position:absolute;bottom:12px;right:12px;background:rgba(45,51,33,.6);border:1px solid rgba(255,255,255,.6);border-radius:50%;width:28px;height:28px;display:flex;align-items:center;justify-content:center;font-size:17px;line-height:1;opacity:0;transition:opacity .25s}.photograph:hover .enlarge,.photograph:focus-visible .enlarge{opacity:1}.hero-photo{border-radius:48% 48% 0 0;aspect-ratio:4/4.3;border:6px solid var(--paper);outline:1px solid var(--line);outline-offset:9px}.hero-photo img{height:100%;object-fit:cover;object-position:55% center}.image-footnote{display:flex;justify-content:space-between;font-size:10px;letter-spacing:.6px;margin-top:23px;font-style:italic}.image-footnote span:last-child{font-size:8px;font-style:normal;text-transform:uppercase;letter-spacing:1.3px}.scroll-note{grid-column:1/-1;text-align:center;font-size:10px;text-transform:uppercase;letter-spacing:2px;margin-top:20px;padding:30px 0 38px;text-decoration:none;display:flex;gap:15px;align-items:center;justify-content:center}.scroll-note span{font-size:20px}.estate-section{max-width:1320px;margin:35px auto 80px;padding:65px 6%;display:grid;grid-template-columns:.85fr 1.15fr;gap:8%;align-items:center;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.estate-copy h2{margin:24px 0 30px}.estate-copy>p:not(.eyebrow):not(.handwritten){font-size:16px;margin-bottom:20px;max-width:390px;line-height:1.8}.little-rule{color:var(--gold);margin:25px 0 15px}.handwritten{font-family:var(--serif);font-size:27px;font-style:italic}.estate-map img{width:100%}.estate-map figcaption{text-align:center;font-family:var(--serif);font-size:25px}.estate-map figcaption span{display:block;font-family:var(--sans);font-size:9px;letter-spacing:1.3px;text-transform:uppercase;margin-top:8px;opacity:.7}.chapter-menu{max-width:1040px;margin:0 auto 120px;display:grid;grid-template-columns:repeat(3,1fr);gap:32px;padding:0 25px}.chapter-menu a{text-align:center;text-decoration:none;border:1px solid var(--line);border-radius:50% 50% 0 0;padding:48px 20px 35px;transition:background .3s;min-height:260px;display:flex;flex-direction:column;justify-content:flex-end}.chapter-menu a:hover{background:#e6dfca}.chapter-number{font-family:var(--serif);font-size:36px;font-style:italic;color:var(--gold);line-height:1;margin-bottom:25px}.chapter-menu a>span:not(.chapter-number){text-transform:uppercase;font-size:10px;letter-spacing:2px}.chapter-menu strong{font-family:var(--serif);font-weight:400;font-size:28px;line-height:1.1;margin:9px 0}.chapter-menu small{font-size:10px;letter-spacing:.3px;opacity:.75}.day{scroll-margin-top:0}.day-heading{text-align:center;max-width:800px;margin:0 auto;padding:0 30px 65px;position:relative}.day-heading .eyebrow{margin-bottom:25px}.day-heading>p:last-child{font-size:15px;line-height:1.7;margin:24px auto 0;max-width:450px}.chapter-content{max-width:1220px;padding:0 5%;margin:auto}.paired{display:grid;grid-template-columns:1fr 1fr;gap:35px;align-items:start}.opening-pair{max-width:950px;margin:auto;gap:70px}.opening-pair .photograph:first-child{margin-top:90px}.opening-pair .photograph:last-child{border-radius:48% 48% 0 0}.section-note{text-align:center;max-width:600px;margin:85px auto 45px}.section-note h3{margin-bottom:22px}.section-note .eyebrow{margin-bottom:20px}.section-note p:not(.eyebrow){font-size:15px;max-width:420px;line-height:1.8;margin:auto}.tiny-ornament{display:block;font-size:24px;color:var(--gold);margin-bottom:20px}.photo-gallery{column-count:3;column-gap:20px;margin:40px 0 75px}.photo-gallery .photograph{break-inside:avoid;margin-bottom:20px}.photo-gallery .photograph:nth-child(3n+2){padding:8px;background:#e6deca}.story-pair{display:grid;grid-template-columns:.8fr 1fr;gap:10%;align-items:center;margin:90px 0 55px}.story-pair .photograph{max-height:720px}.story-copy h3{margin:22px 0 28px}.story-copy>p:not(.eyebrow):not(.handwritten){font-size:16px;line-height:1.8;max-width:350px}.story-copy .handwritten{margin-top:28px}.story-pair.reverse{grid-template-columns:1fr .8fr}.story-pair.reverse .photograph{grid-column:1;grid-row:1}.story-pair.reverse .story-copy{grid-column:2}.day+.day{padding-top:100px}.anniversary{background:#e9e3d1;padding-top:100px!important;border-top:1px solid var(--line)}.anniversary-seal{display:block;border:1px solid var(--gold);border-radius:50%;width:86px;height:86px;display:flex;flex-direction:column;align-items:center;justify-content:center;margin:10px auto 28px;font-size:10px;letter-spacing:1px;text-transform:uppercase;transform:rotate(-9deg);color:#927746;line-height:1.8;outline:1px solid var(--gold);outline-offset:5px}.anniversary-seal em{font-family:var(--serif);font-size:20px;text-transform:none;letter-spacing:0}.pool-section{padding:25px 25px 1px;margin:80px -25px 70px;background:repeating-linear-gradient(90deg,rgba(189,161,94,.08) 0,rgba(189,161,94,.08) 48px,transparent 48px,transparent 96px);border-top:1px solid #cabc98;border-bottom:1px solid #cabc98}.pool-section .section-note{margin-top:35px}.pool-pair{grid-template-columns:.7fr 1.2fr;align-items:center;gap:35px}.massage-note{text-align:center;max-width:480px;margin:55px auto 65px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:25px 15px 30px}.massage-note>span{font-size:24px;color:var(--gold)}.massage-note>p{font-size:9px;text-transform:uppercase;letter-spacing:2px;margin:10px 0 12px}.massage-note h4{font-size:30px;line-height:1.2;margin-bottom:12px}.massage-note small{font-size:12px}.architecture-break{display:flex;align-items:center;gap:70px;margin:70px auto}.architecture-break img{width:55%}.architecture-break p{font-family:var(--serif);font-size:28px;line-height:1.3}.luties{background:#344330;color:#eee8d7;padding:10px 0 65px;border-top:8px solid #a89972;background-image:linear-gradient(45deg,rgba(20,35,20,.04) 25%,transparent 25%,transparent 75%,rgba(20,35,20,.04) 75%),linear-gradient(45deg,rgba(20,35,20,.04) 25%,transparent 25%,transparent 75%,rgba(20,35,20,.04) 75%);background-size:80px 80px;background-position:0 0,40px 40px}.luties .eyebrow{color:#c4ba96}.luties .photograph{background:#46513c}.luties .photo-gallery .photograph:nth-child(3n+2){background:#4a583d}.luties .story-pair{grid-template-columns:1fr .85fr}.luties .story-pair .photograph{border-radius:48% 48% 0 0;outline:1px solid #a89972;outline-offset:8px}.together-pair{margin-top:65px}.closing-line{font-family:var(--serif);font-size:32px;font-style:italic;text-align:center;margin:55px 0 0}.breakfast-pair{max-width:980px;margin:auto;grid-template-columns:.8fr 1.2fr;align-items:center;gap:50px}.wide-moment{margin:50px -3% 65px}.wide-moment p{font-family:var(--serif);font-size:27px;font-style:italic;text-align:center;margin-top:15px}.wide-moment img{max-height:700px;object-fit:cover}.outing-intro{text-align:center;margin:90px auto 0;border-top:1px solid var(--line);padding-top:70px;max-width:720px}.outing-intro h3{margin:20px 0 22px;font-size:68px}.outing-intro>p:last-of-type{font-size:15px}.route{display:flex;align-items:center;justify-content:center;gap:20px;flex-wrap:wrap;margin:35px 0 20px;font-size:12px;text-transform:uppercase;letter-spacing:1.5px}.route i{font-style:normal;color:var(--gold);font-size:20px}.farewell{text-align:center;border-top:1px solid var(--line);margin:100px 5% 0;padding:90px 20px 75px}.farewell h2{font-size:clamp(42px,4.6vw,68px);margin:25px 0 30px}.farewell>img{width:470px;margin:25px auto}.farewell>p:not(.eyebrow){font-size:14px;line-height:1.9}.farewell-signature{font-family:var(--serif);font-size:27px;font-style:italic;display:block;margin-top:28px}.farewell>a{display:inline-block;font-size:10px;letter-spacing:2px;text-transform:uppercase;margin-top:40px;text-decoration:none;border-bottom:1px solid var(--gold);padding-bottom:5px}footer{border-top:1px solid var(--line);padding:23px 5%;display:flex;justify-content:space-between;gap:25px;font-size:9px;letter-spacing:.7px}footer details{max-width:300px;text-align:center}footer summary{cursor:pointer}footer details p{padding-top:12px;line-height:1.8}.lightbox{position:fixed;width:100vw;height:100dvh;max-width:100vw;max-height:100dvh;border:0;margin:0;padding:45px 70px;background:#1c241b;color:#f3eedf}.lightbox[open]{display:flex;align-items:center;justify-content:center}.lightbox::backdrop{background:#1c241b}.lightbox-content{height:100%;width:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px}.lightbox-content img{max-height:calc(100% - 32px);width:auto;max-width:100%;object-fit:contain}.lightbox-count{font-size:11px;letter-spacing:2px}.lightbox-close,.lightbox-prev,.lightbox-next{position:absolute;background:transparent;color:inherit;border:0;padding:15px;cursor:pointer;font-size:26px;z-index:1;line-height:1}.lightbox-close{right:12px;top:8px;font-size:36px}.lightbox-prev{left:5px;top:46%}.lightbox-next{right:5px;top:46%}body.viewer-open{overflow:hidden}
@media(min-width:1600px){.cover{padding-top:80px}.cover-heading{padding-top:110px}}
@media(max-width:1000px){.cover{gap:5%;padding-top:55px}.cover-heading{padding-top:40px}h1{font-size:78px}.mansion-drawing{width:280px}.cover-subtitle{font-size:12px}.hero-photo{aspect-ratio:4/5.5}.image-footnote span:last-child{display:none}.header-place{font-size:8px}.estate-section{gap:4%;padding:55px 5%}.estate-copy h2{font-size:58px}.chapter-menu{gap:20px}.chapter-menu strong{font-size:25px}.story-pair{gap:6%}.architecture-break{gap:30px}.architecture-break p{font-size:23px}}
@media(max-width:700px){html{scroll-padding-top:60px}.site-header{height:60px;padding:0 5%;gap:15px}.wordmark{font-size:23px;white-space:nowrap}.header-place{display:none}.site-header nav{gap:24px}.site-header nav a{font-size:10px}.cover{display:flex;flex-direction:column;padding:28px 7% 0;gap:0}.cover-heading{padding-top:5px}.cover-heading .eyebrow{font-size:8px;margin-bottom:16px;letter-spacing:2px}h1{font-size:70px;letter-spacing:-2px}.cover-subtitle{font-size:12px;margin-top:18px}.cover-heading .mansion-drawing{display:none}.cover-signature{font-size:21px;margin-top:15px}.cover-image{margin-top:33px}.hero-photo{aspect-ratio:1/1;outline-offset:5px;border-width:4px;border-radius:48% 48% 0 0}.hero-photo img{object-position:53% 50%}.image-footnote{margin-top:15px;font-size:9px;justify-content:center}.scroll-note{padding:22px 0 25px;margin-top:5px;font-size:8px}.estate-section{display:flex;flex-direction:column;margin:10px 6% 50px;padding:45px 0;gap:22px}.estate-copy{text-align:center}.estate-copy h2{font-size:54px;margin:20px 0 25px}.estate-copy>p:not(.eyebrow):not(.handwritten){font-size:14px;max-width:350px;margin:0 auto 18px}.handwritten{font-size:25px}.little-rule{margin:20px 0 10px}.estate-map{width:100%;margin:10px 0 0}.estate-map figcaption{font-size:23px}.estate-map figcaption span{font-size:8px;letter-spacing:.9px}.chapter-menu{gap:10px;margin-bottom:65px;padding:0 5%;max-width:500px}.chapter-menu a{min-height:190px;padding:29px 8px 21px}.chapter-number{font-size:27px;margin-bottom:17px}.chapter-menu a>span:not(.chapter-number){font-size:8px;letter-spacing:1px}.chapter-menu strong{font-size:21px;margin:8px 0 0}.chapter-menu small{display:none}.day-heading{padding:0 6% 35px}.day-heading .eyebrow{font-size:9px;margin-bottom:18px}.day-heading h2{font-size:53px}.day-heading>p:last-child{font-size:13px;margin-top:20px;max-width:310px}.chapter-content{padding:0 6%}.paired{gap:15px}.opening-pair{gap:15px}.opening-pair .photograph:first-child{margin-top:45px}.section-note{margin:50px auto 30px}.section-note h3{font-size:42px;margin-bottom:16px}.section-note p:not(.eyebrow){font-size:13px;max-width:310px}.section-note .eyebrow{font-size:9px;margin-bottom:15px}.photo-gallery{column-count:2;column-gap:12px;margin:25px 0 45px}.photo-gallery .photograph{margin-bottom:12px}.photo-gallery .photograph:nth-child(3n+2){padding:5px}.story-pair,.story-pair.reverse,.luties .story-pair{display:flex;flex-direction:column;gap:28px;margin:50px 0 35px}.story-copy{text-align:center}.story-copy h3{font-size:48px;margin:16px 0 20px}.story-copy>p:not(.eyebrow):not(.handwritten){font-size:14px;max-width:310px}.story-copy .handwritten{margin-top:22px}.story-pair>.photograph{max-width:450px}.day+.day{padding-top:65px}.anniversary{padding-top:65px!important}.anniversary-seal{width:75px;height:75px;font-size:9px;margin-bottom:28px}.pool-section{padding:15px 12px 1px;margin:45px -12px;background-size:auto}.pool-section .section-note{margin-top:25px}.pool-pair{gap:15px}.massage-note{margin:35px auto 40px;padding:22px 8px}.massage-note h4{font-size:26px}.massage-note small{font-size:11px}.architecture-break{flex-direction:column;gap:10px;text-align:center;margin:45px auto}.architecture-break img{width:100%;max-width:410px}.architecture-break p{font-size:25px}.luties{padding-bottom:45px}.luties .story-pair>.photograph{max-width:370px;width:94%;margin-top:10px}.together-pair{gap:12px;margin-top:35px}.closing-line{font-size:25px;margin-top:30px}.breakfast-pair{gap:15px}.wide-moment{margin:35px 0 45px}.wide-moment p{font-size:24px}.outing-intro{padding-top:45px;margin-top:55px}.outing-intro h3{font-size:51px}.outing-intro>p:last-of-type{font-size:13px;max-width:290px;margin:auto}.route{gap:10px;font-size:9px;letter-spacing:.7px;margin-top:25px}.route i{font-size:15px}.farewell{margin-top:60px;padding:50px 0 45px}.farewell .eyebrow{font-size:9px}.farewell h2{font-size:39px;letter-spacing:-.6px;margin:22px 0}.farewell>img{width:330px;margin:20px auto}.farewell>p:not(.eyebrow){font-size:12px}.farewell-signature{font-size:24px}.farewell>a{font-size:9px;margin-top:30px}footer{flex-direction:column;align-items:center;gap:15px;padding:25px 6%;font-size:8px}.lightbox{padding:55px 10px 70px}.lightbox-prev,.lightbox-next{top:auto;bottom:9px;padding:14px;font-size:24px}.lightbox-prev{left:22%}.lightbox-next{right:22%}.lightbox-count{font-size:10px}.enlarge{width:23px;height:23px;font-size:15px;bottom:8px;right:8px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.photograph img{transition:none}.photograph:hover img{transform:none}}
/* A keepsake from the estate */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.estate-envelope{position:fixed;right:24px;bottom:20px;z-index:21;border:0;background:transparent;color:var(--ink);width:88px;padding:8px;cursor:pointer;filter:drop-shadow(0 5px 7px rgba(47,42,24,.18));transition:transform .3s}.estate-envelope:hover{transform:translateY(-5px) rotate(-4deg)}.estate-envelope svg{width:72px}.estate-envelope>span{display:block;text-align:center;font-family:var(--serif);font-style:italic;font-size:15px;line-height:1.2;margin-top:2px;text-shadow:0 1px 5px var(--paper),0 0 8px var(--paper);color:#50442e}.viewer-open .estate-envelope{visibility:hidden}.welcome-note{text-align:center;margin:-10px 0 40px}.welcome-note-button{display:inline-flex;flex-direction:column;align-items:center;gap:12px;padding:10px;border:0;background:transparent;color:var(--ink);cursor:pointer}.welcome-note-button svg{width:80px;transform:rotate(-7deg);filter:drop-shadow(0 6px 5px #524b2b22);transition:transform .4s}.welcome-note-button:hover svg{transform:rotate(0deg) translateY(-4px)}.welcome-note-button>span{font-family:var(--serif);font-style:italic;font-size:22px}.note-dialog{border:1px solid #b5a783;background:#eee7d5;color:var(--ink);padding:25px 38px 22px;width:min(1080px,96vw);max-width:96vw;max-height:96dvh;overflow:auto;box-shadow:0 30px 100px #151d1955;background-image:radial-gradient(ellipse at center,#f6f0e1,#e5dcc5);border-radius:3px}.note-dialog::backdrop{background:rgba(28,38,27,.78);backdrop-filter:blur(5px)}.note-close{position:absolute;right:8px;top:5px;background:transparent;border:0;color:inherit;font-size:32px;padding:8px 12px;cursor:pointer;line-height:1;z-index:2}.note-heading{text-align:center;margin-bottom:7px}.note-heading .eyebrow{font-size:8px;letter-spacing:2px;margin-bottom:8px}.note-heading h2{font-size:38px;letter-spacing:-.5px}.note-viewport{overflow:hidden;overscroll-behavior:contain;padding:10px 15px 14px}.note-perspective{perspective:1800px;width:min(920px,calc((100dvh - 290px)*1.3333));max-width:100%;margin:auto}.note-paper{position:relative;display:block;width:100%;aspect-ratio:4/3;border:0;background:transparent;padding:0;cursor:pointer;transform-style:preserve-3d;transition:transform .85s cubic-bezier(.3,.05,.2,1);transform:rotateY(0deg) rotateZ(-1deg)}.note-paper.is-flipped{transform:rotateY(180deg) rotateZ(1deg)}.note-face{position:absolute;inset:0;display:block;backface-visibility:hidden;-webkit-backface-visibility:hidden;filter:drop-shadow(0 14px 12px rgba(61,48,26,.28));transform-style:preserve-3d}.note-face img{width:100%;height:100%;object-fit:contain}.note-front img{clip-path:polygon(3% 14%,92.5% 10%,94.2% 96.4%,4.7% 97.4%)}.note-back{transform:rotateY(180deg)}.note-back img{clip-path:polygon(4.9% 6.5%,97% 4.6%,97.3% 93.3%,4.2% 93.1%)}.note-controls{text-align:center;margin-top:2px}.note-controls>p{font-size:10px;letter-spacing:1.3px;margin-bottom:12px;color:#786a4d}.note-controls>div{display:flex;justify-content:center;gap:14px;flex-wrap:wrap}.note-controls button{background:transparent;border:1px solid #b7a681;color:#5b5037;padding:9px 18px;font-size:11px;letter-spacing:.6px;cursor:pointer;border-radius:2px;transition:background .2s}.note-controls button:hover{background:#dfd3b5}.note-controls button span{font-size:15px;margin-left:9px}.note-hint{text-align:center;font-family:var(--serif);font-size:17px;font-style:italic;color:#897858;margin-top:14px}.note-viewport.is-zoomed{overflow:auto;max-height:calc(100dvh - 240px)}.note-viewport.is-zoomed .note-perspective{width:max(950px,100%);max-width:none}.note-viewport.is-zoomed .note-paper{transform:rotateY(0deg)}.note-viewport.is-zoomed .note-paper.is-flipped{transform:rotateY(180deg)}
@media(max-width:700px){.estate-envelope{width:73px;right:10px;bottom:12px;padding:7px}.estate-envelope svg{width:59px}.estate-envelope>span{font-size:13px}.welcome-note{margin:0 0 28px}.welcome-note-button>span{font-size:20px}.welcome-note-button svg{width:69px}.note-dialog{width:96vw;padding:34px 10px 23px;max-height:95dvh}.note-heading h2{font-size:35px}.note-heading .eyebrow{font-size:7px}.note-viewport{padding:5px 0 14px}.note-perspective{width:100%;max-width:100%}.note-controls>p{font-size:9px}.note-controls>div{gap:10px}.note-controls button{padding:9px 13px;font-size:10px}.note-hint{font-size:16px}.note-viewport.is-zoomed{overflow:auto;max-height:calc(95dvh - 240px)}.note-viewport.is-zoomed .note-perspective{width:690px}.note-close{top:4px;right:4px}}
@media(prefers-reduced-motion:reduce){.note-paper,.estate-envelope,.welcome-note-button svg{transition:none}}
/* The estate's own illustrated keepsakes */
.estate-keepsake{display:block;width:100%;border:0;padding:0;background:transparent;position:relative;cursor:zoom-in;filter:drop-shadow(0 12px 9px #534c2825);transition:transform .4s}.estate-keepsake:hover{transform:translateY(-4px) rotate(0deg)}.map-keepsake img{clip-path:polygon(3.1% 5%,96.1% 2.1%,99.3% 98.5%,.7% 97.8%);width:100%;height:auto}.keepsake-enlarge{position:absolute;right:20px;bottom:25px;font-size:17px;color:#f6f0df;background:#4d573fd9;border:1px solid #dfd6bd;border-radius:50%;width:29px;height:29px;line-height:27px;opacity:0;transition:opacity .2s}.estate-keepsake:hover .keepsake-enlarge,.estate-keepsake:focus-visible .keepsake-enlarge{opacity:1}.estate-map figcaption{margin-top:20px}.mansion-postcard{width:min(680px,100%);margin:35px auto 30px}.postcard-keepsake{aspect-ratio:1.57;transform:rotate(-2deg)}.postcard-keepsake img{position:absolute;top:-6.3%;left:0;width:100%;height:auto;clip-path:polygon(5% 6.7%,98.4% 3.8%,98.8% 88.4%,4.4% 87.8%)}.mansion-postcard figcaption{font-family:var(--serif);font-style:italic;font-size:22px;margin-top:20px}.keepsake-dialog{padding:34px 25px 20px;width:min(1150px,96vw);max-width:96vw;max-height:96dvh;border:1px solid #b5a783;background:#eee7d5;color:var(--ink);overflow:auto;box-shadow:0 30px 100px #151d1955;border-radius:3px;text-align:center;scrollbar-width:thin;scrollbar-color:#b2a481 transparent}.keepsake-dialog::backdrop{background:#1c261bcc;backdrop-filter:blur(5px)}.keepsake-close{position:absolute;right:6px;top:5px;padding:8px 12px;font-size:32px;border:0;background:transparent;color:inherit;cursor:pointer;line-height:1;z-index:1}.keepsake-dialog>.eyebrow{font-size:9px;margin-bottom:18px}.keepsake-view{overflow:auto;max-height:calc(96dvh - 145px);overscroll-behavior:contain}.keepsake-view img{width:100%;height:auto}.keepsake-view .view-map{clip-path:polygon(3.1% 5%,96.1% 2.1%,99.3% 98.5%,.7% 97.8%)}.keepsake-view .view-postcard{clip-path:polygon(5% 6.7%,98.4% 3.8%,98.8% 88.4%,4.4% 87.8%)}.keepsake-hint{font-family:var(--serif);font-style:italic;font-size:20px;margin-top:14px}.keepsake-dialog.postcard-open .keepsake-view{aspect-ratio:1.57;position:relative;overflow:hidden}.keepsake-dialog.postcard-open .keepsake-view img{position:absolute;left:0;top:-6.3%}.viewer-open .estate-envelope{visibility:hidden}
@media(max-width:700px){.estate-map figcaption{margin-top:12px}.mansion-postcard{margin:25px auto}.mansion-postcard figcaption{font-size:19px;margin-top:14px}.keepsake-dialog{padding:40px 10px 20px}.keepsake-hint{font-size:18px}.keepsake-dialog:not(.postcard-open) .keepsake-view img{width:700px;max-width:none}.keepsake-dialog:not(.postcard-open) .keepsake-view{max-height:65dvh}.keepsake-dialog:not(.postcard-open) .keepsake-hint:after{content:' Pan to explore the map.'}}
@media(prefers-reduced-motion:reduce){.estate-keepsake{transition:none}}

.massage-note .massage-photo{max-width:320px;margin:24px auto 20px;padding:7px;background:var(--paper);outline:1px solid var(--line);outline-offset:3px}.massage-note small{display:block}

.coffee-video{break-inside:avoid;margin-bottom:20px;padding:8px;background:#e6deca}.coffee-video video{display:block;width:100%;height:auto;aspect-ratio:9/16;background:#273222}.coffee-video figcaption{font-family:var(--serif);font-style:italic;font-size:20px;line-height:1.4;text-align:center;padding:12px 5px 5px}@media(max-width:700px){.coffee-video{margin-bottom:12px;padding:5px}.coffee-video figcaption{font-size:17px;padding-top:9px}}


.opening-pair .cybercab-journey{width:min(280px,100%);margin:0 auto;align-self:center;text-align:center}.opening-pair .cybercab-photo{margin:0;padding:0;background:transparent;outline:0;aspect-ratio:4/3;overflow:visible;line-height:0}.cybercab-photo img{width:100%;height:100%;clip-path:polygon(2% 40%,22% 3%,85% 3%,99% 38%,96% 77%,4% 77%)}.cybercab-outline{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.cybercab-journey figcaption{font-family:var(--serif);font-style:italic;font-size:20px;line-height:1.35;margin-top:2px}.cybercab-photo .enlarge{right:14px;bottom:55px}.opening-pair>.arrival-meal{width:100%;max-width:360px;justify-self:center}.opening-pair>.photograph{margin-top:0}.opening-pair{row-gap:45px}@media(max-width:700px){.opening-pair .cybercab-journey{width:min(180px,100%)}.cybercab-journey figcaption{font-size:16px;line-height:1.35}.opening-pair{row-gap:25px}.cybercab-photo .enlarge{right:3px;bottom:30px}}

.lightbox-caption{font-family:var(--serif);font-size:25px;font-style:italic;line-height:1.3;text-align:center;max-width:650px}.lightbox.has-caption .lightbox-content img{max-height:calc(100% - 95px)}@media(max-width:700px){.lightbox-caption{font-size:21px}.lightbox.has-caption .lightbox-content img{max-height:calc(100% - 115px)}}

/* Let each mobile column flow independently so mixed photo heights stay together. */
@media(max-width:700px){.photo-gallery>.photograph,.photo-gallery>.coffee-video{break-inside:avoid;page-break-inside:avoid}}

/* On touch screens, viewport focus provides the keepsake hover effect. */
.welcome-note-button:focus-visible svg{transform:rotate(0deg) translateY(-4px)}.estate-keepsake:focus-visible{transform:translateY(-4px) rotate(0deg)}
@media(max-width:700px),(hover:none){.welcome-note-button:not(.is-scroll-focused) svg{transform:rotate(-7deg)}.estate-keepsake:not(.is-scroll-focused){transform:rotate(-2deg)}.map-keepsake:not(.is-scroll-focused){transform:rotate(-1.5deg)}.welcome-note-button.is-scroll-focused svg{transform:rotate(0deg) translateY(-4px)}.estate-keepsake.is-scroll-focused{transform:translateY(-4px) rotate(0deg)}}
