@charset "UTF-8";
:root{color-scheme:dark;--ink:#0c0d0d;--orca:#141515;--charcoal:#222323;--white:#f5f4f0;--muted:#aaaead;--red:#f04438;--line:#2c2d2c;font-family:Arial,Helvetica,sans-serif;background:var(--ink);color:var(--white);font-synthesis:none}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0}a{color:inherit;text-decoration:none}a:focus-visible{outline:2px solid var(--red);outline-offset:8px}::selection{background:var(--red);color:var(--ink)}.page-shell{max-width:1680px;padding:0 6.25%;margin:auto}.skip-link{position:fixed;z-index:10;left:16px;top:16px;padding:12px 18px;background:var(--white);color:var(--ink);transform:translateY(-200%)}.skip-link:focus{transform:none}.site-header{min-height:112px;display:flex;align-items:center;justify-content:space-between;gap:24px;border-bottom:1px solid var(--line)}.wordmark{font-size:1.15rem;letter-spacing:-.04em;font-weight:750;white-space:nowrap}.wordmark>span:first-child{font-weight:400;font-size:.72em;margin:0 2px}.brand-period{color:var(--red);font-size:1.4em}.header-location{color:var(--muted);font-size:.75rem;letter-spacing:.13em}.header-link{font-size:.875rem;display:flex;align-items:center;gap:20px}.header-link span{color:var(--red);font-size:1.3rem;transition:transform .3s}.header-link:hover span{transform:translate(3px,-3px)}
.hero{position:relative;padding:100px 0 82px;isolation:isolate;overflow:hidden}.hero-copy{position:relative;z-index:1}.eyebrow{font-size:.75rem;line-height:1.6;letter-spacing:.13em;text-transform:uppercase;font-weight:400;margin:0}.closure{display:flex;align-items:center;gap:14px;color:#c0c2bf}.closure:before{content:"";display:block;flex-shrink:0;width:24px;height:1px;background:var(--red)}h1{font-size:clamp(5rem,10.4vw,10rem);line-height:.99;letter-spacing:-.07em;font-weight:500;margin:34px 0 28px}h1 span{color:#858988}.hero-signoff{font-size:1rem;color:var(--muted);margin:0;line-height:1.6}.hero-art{position:absolute;inset:0 0 0 56%;z-index:0;display:flex;align-items:center;justify-content:center}.sun{width:clamp(180px,26vw,375px);aspect-ratio:1;border-radius:50%;background:radial-gradient(circle at 40% 25%,#f14a3f 0%,#e3372d 67%,#cf2c24 100%);animation:drift 18s ease-in-out infinite;box-shadow:0 0 110px -75px #f0443880}.horizon{position:absolute;left:0;right:0;top:75%;height:1px;background:linear-gradient(90deg,transparent,#61636370,transparent)}
.letter{border-top:1px solid var(--line);padding:78px 0 108px;display:grid;grid-template-columns:1fr 1.42fr;gap:64px}.letter h2{color:var(--muted);padding-top:7px}.letter-copy{max-width:690px}.letter-copy>p{font-size:1.125rem;line-height:1.8;color:#b3b7b5;margin:0 0 26px;letter-spacing:-.012em}.letter-copy>p:first-child{color:var(--white);font-size:1.4rem;line-height:1.6;letter-spacing:-.025em}.letter-emphasis{color:var(--white)}.signature{margin-top:39px;font-size:.875rem;line-height:1.8;color:var(--muted)}.signature span{color:var(--white);font-size:1.05rem}
.invitation{background:var(--orca);border:1px solid var(--line);display:grid;grid-template-columns:.92fr 1.25fr;min-height:640px;margin-bottom:88px}.noodle-photo{position:relative;overflow:hidden;background:var(--charcoal)}.noodle-photo:after{content:"";position:absolute;inset:0;box-shadow:inset -30px 0 70px -20px #0c0d0d50;pointer-events:none}.noodle-photo img{display:block;width:100%;height:100%;object-fit:cover;filter:brightness(.78) saturate(.78);transition:filter 1.2s,transform 1.6s}.noodle-photo:hover img{filter:brightness(.88) saturate(.9);transform:scale(1.025)}.invitation-copy{padding:62px 54px}.red{color:var(--red)}.invitation h2{font-size:clamp(2rem,3.25vw,3.3rem);line-height:1.1;letter-spacing:-.045em;font-weight:400;margin:25px 0 28px;max-width:600px}.invitation-copy>p:not(.eyebrow):not(.address){font-size:1rem;line-height:1.75;color:var(--muted);margin:0 0 18px}.visit-button{display:inline-flex;gap:28px;align-items:center;justify-content:space-between;background:var(--red);color:var(--ink);font-size:.9375rem;font-weight:600;padding:19px 23px;margin-top:17px;min-height:58px;transition:background .3s,transform .3s}.visit-button:hover{background:#ff645a;transform:translateY(-2px)}.visit-button span{font-size:1.4rem;font-weight:400;line-height:1}.address{color:var(--muted);font-size:.75rem;line-height:1.7;margin:20px 0 0}footer{border-top:1px solid var(--line);padding:28px 0 36px;display:flex;justify-content:space-between;gap:24px;font-size:.75rem;color:#929795}footer span:first-child{color:#d0d3cf}
@keyframes drift{0%,100%{transform:translateY(0)}50%{transform:translateY(-14px)}}
@media(min-width:1700px){.page-shell{padding-left:100px;padding-right:100px}}
@media(max-width:1000px){.header-location{display:none}.hero{padding-top:85px;padding-bottom:70px}.hero-art{inset:0 0 0 60%}.sun{width:25vw}.letter{grid-template-columns:1fr 2fr;gap:38px;padding:60px 0 80px}.invitation{grid-template-columns:.8fr 1.25fr}.invitation-copy{padding:40px 30px}.invitation h2{font-size:2.25rem}}
@media(max-width:700px){.page-shell{padding:0 7%}.site-header{min-height:86px;gap:12px}.wordmark{font-size:1rem}.header-link{font-size:.75rem;gap:10px}.header-link span{font-size:1.15rem}.hero{padding:60px 0 55px}.closure{font-size:.75rem;letter-spacing:.095em;gap:9px}.closure:before{width:16px}h1{font-size:clamp(4.1rem,14.5vw,6.5rem);margin:34px 0 26px;line-height:1.05}.hero-art{inset:0 -40% 0 54%;opacity:.28;align-items:flex-start;padding-top:105px}.sun{width:55vw;max-width:320px}.horizon{display:none}.hero-signoff{font-size:.9375rem}.letter{display:block;padding:39px 0 58px}.letter h2{padding:0;margin-bottom:28px}.letter-copy>p:first-child{font-size:1.25rem}.letter-copy>p{font-size:1rem;line-height:1.8}.signature{margin-top:28px}.invitation{grid-template-columns:1fr;margin-bottom:54px}.noodle-photo{height:285px}.noodle-photo img{object-position:center 55%}.invitation-copy{padding:32px 25px 36px}.invitation h2{font-size:2.3rem;margin:19px 0 23px}.visit-button{width:100%;gap:12px;padding:18px;font-size:.875rem}.address{font-size:.75rem}footer{flex-wrap:wrap;gap:14px;padding-bottom:30px}footer span:nth-child(2){order:3;width:100%}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}

/* Layered ink landscape. Artwork is independent so air, reeds and shore move at different rhythms. */
.hero{min-height:760px;padding:142px 0 190px;overflow:hidden}
.hero-copy{max-width:68%;z-index:3;pointer-events:none}
.hero-copy .closure,.hero-copy h1,.hero-copy .hero-signoff{pointer-events:auto}
.hero h1{font-size:clamp(5rem,9.7vw,9.3rem);text-shadow:0 2px 40px #0c0d0d80}
.hero-signoff{color:#b9bdb9}
.ink-scene{position:absolute;inset:0;z-index:0;pointer-events:none;overflow:hidden;isolation:isolate}
.ink-scene:after{content:"";position:absolute;inset:0;z-index:8;background:linear-gradient(90deg,#0c0d0d38,transparent 55%),linear-gradient(0deg,var(--ink),transparent 14%);pointer-events:none}
.setting-sun{position:absolute;width:clamp(190px,23vw,340px);aspect-ratio:1;border-radius:50%;right:12%;top:15%;background:radial-gradient(circle at 45% 35%,#f24b3d,#cf3028);box-shadow:0 0 100px -65px #e7362860;opacity:.92}
.scene-cloud{position:absolute;object-fit:contain;width:58%;height:auto;z-index:2;filter:brightness(.72);will-change:transform}
.cloud-distant{right:-3%;top:-16%;opacity:.32;animation:cloud-drift 38s ease-in-out infinite alternate}
.cloud-near{left:23%;top:9%;width:65%;opacity:.38;animation:cloud-drift 49s ease-in-out -19s infinite alternate-reverse}
.fishing-hut{position:absolute;right:6%;bottom:9%;width:43%;height:auto;z-index:4;filter:brightness(.78);object-fit:contain}
.bamboo-stand{position:absolute;width:27%;bottom:6%;right:-6%;z-index:5;transform-origin:50% 100%}
.bamboo-stand img{display:block;width:100%;height:auto;transform-origin:50% 100%;animation:bamboo-sway 10s ease-in-out infinite alternate}
.bamboo-distant{right:27%;width:22%;bottom:16%;opacity:.42;filter:brightness(.64)}
.bamboo-distant img{animation-duration:13s;animation-delay:-7s}
.bamboo-near{opacity:.75;filter:brightness(.7)}
.shoreline{position:absolute;left:-8%;bottom:-12%;width:118%;height:40%;z-index:6;transform-origin:50% 100%;will-change:transform}
.shoreline img{display:block;width:100%;height:100%;object-fit:fill}
.wave-back{opacity:.4;filter:brightness(.74);bottom:-3%;animation:shore-back 17s ease-in-out -6s infinite}
.wave-front{opacity:.6;filter:brightness(.72);left:-4%;width:116%;bottom:-7%;animation:shore-front 13s ease-in-out infinite}
.motion-control{position:absolute;z-index:9;bottom:24px;right:0;border:1px solid #4a4e4b;border-radius:0;background:#0c0d0dcc;color:#c2c7c3;padding:10px 13px;min-height:40px;font:inherit;font-size:.75rem;cursor:pointer;transition:color .25s,border-color .25s}
.motion-control:hover{color:var(--white);border-color:#909892}.motion-control:focus-visible{outline:2px solid var(--red);outline-offset:5px}
html[data-motion="paused"] .ink-scene *{animation-play-state:paused!important}
@keyframes cloud-drift{from{transform:translate3d(-25px,3px,0)}to{transform:translate3d(32px,-7px,0)}}
@keyframes bamboo-sway{from{transform:rotate(-1.2deg) skewX(-.5deg)}to{transform:rotate(1.5deg) skewX(.7deg)}}
@keyframes shore-back{0%,100%{transform:translate3d(-1.3%,0,0) scaleY(.96)}50%{transform:translate3d(1.7%,-9px,0) scaleY(1.045)}}
@keyframes shore-front{0%,100%{transform:translate3d(1.2%,0,0) scaleY(1)}50%{transform:translate3d(-1.5%,7px,0) scaleY(1.06)}}
@media(max-width:1000px){.hero{min-height:690px;padding-top:118px;padding-bottom:160px}.hero h1{font-size:clamp(5rem,10vw,7rem)}.setting-sun{right:7%;top:18%}.fishing-hut{right:2%;width:48%;bottom:11%}.bamboo-near{right:-9%;width:33%}.bamboo-distant{right:29%;width:25%}.cloud-near{left:22%;top:18%}}
@media(max-width:700px){.hero{min-height:850px;padding:64px 0 390px}.hero-copy{max-width:100%}.hero h1{font-size:clamp(4.1rem,14.5vw,6.5rem);line-height:1.05}.setting-sun{width:180px;right:17%;top:auto;bottom:218px;opacity:.86}.cloud-distant{width:95%;top:39%;right:-12%;opacity:.36}.cloud-near{width:110%;top:49%;left:-19%;opacity:.28}.fishing-hut{width:86%;right:0;bottom:9%;filter:brightness(.8)}.bamboo-near{width:53%;right:-16%;bottom:10%;opacity:.75}.bamboo-distant{width:43%;right:64%;bottom:12%;opacity:.52}.shoreline{width:155%;height:25%;left:-30%;bottom:-6%}.wave-back{bottom:1%;opacity:.4}.wave-front{left:-18%;bottom:-3%;opacity:.6}.motion-control{bottom:20px;font-size:.75rem}.ink-scene:after{background:linear-gradient(180deg,var(--ink) 30%,transparent 52%),linear-gradient(0deg,var(--ink),transparent 16%)}}
@media(max-width:380px){.hero{min-height:850px}.hero h1{font-size:4rem}.closure{max-width:250px}.setting-sun{bottom:215px;width:150px}}
@media(prefers-reduced-motion:reduce){.ink-scene *{animation:none!important}.motion-control{display:none}}
