@import "https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,300;0,400;0,500;0,600;1,300;1,400&family=Playfair+Display:ital,wght@0,400;0,500;1,400&family=EB+Garamond:ital,wght@0,400;0,500;1,400&family=Italiana&family=Cormorant+Infant:ital,wght@0,300;0,400;1,300&family=Allura&family=Pinyon+Script&family=Parisienne&display=swap";:root{--bg:#f8f5ef;--paper:#f8f5ef;--ink:#0e0d0a;--soft-ink:#3a352c;--accent:#14110d;--rule:#d5cfc2;--shadow:#3c34241a;--serif:"Cormorant Garamond", "EB Garamond", Georgia, serif;--display:"Cormorant Garamond", "Playfair Display", serif;--script:"Pinyon Script", "Allura", cursive;--tracked:.28em;--snow-color:58, 53, 44}*,:before,:after{box-sizing:border-box}html,body{margin:0;padding:0}#root{min-height:100vh}body{background:var(--bg);color:var(--ink);font-family:var(--serif);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:18px;font-weight:400;line-height:1.55;overflow-x:hidden}body.is-locked{overflow:hidden}a{color:inherit}body:before{content:"";pointer-events:none;z-index:1;opacity:.35;mix-blend-mode:multiply;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='220' height='220'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 0.18  0 0 0 0 0.16  0 0 0 0 0.12  0 0 0 0.06 0'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>");position:fixed;inset:0}nav.top{z-index:50;font-family:var(--serif);letter-spacing:var(--tracked);text-transform:uppercase;color:#fbf6ecd9;background:linear-gradient(#080a0e73 0%,#080a0e00 100%);justify-content:center;align-items:center;gap:clamp(28px,5vw,64px);padding:22px 32px;font-size:13px;transition:background .35s,padding .35s,color .35s;display:flex;position:fixed;top:0;left:0;right:0}nav.top.scrolled{background:var(--bg);box-shadow:0 1px 0 var(--rule);color:var(--soft-ink);padding:14px 32px}nav.top a{padding:4px 0;text-decoration:none;transition:color .2s;position:relative}nav.top a:after{content:"";background:currentColor;height:1px;transition:left .25s,right .25s;position:absolute;bottom:0;left:50%;right:50%}nav.top a:hover{color:#fff}nav.top.scrolled a:hover{color:var(--ink)}nav.top a:hover:after{left:0;right:0}nav.top a.nav-cta{background:var(--ink);color:#fbf6ec;border:1px solid var(--ink);border-radius:999px;padding:10px 26px;transition:background .3s,color .3s,letter-spacing .3s,transform .3s}nav.top a.nav-cta:after{display:none}nav.top a.nav-cta:hover{color:var(--ink);letter-spacing:.32em;background:#fbf6ec;transform:translateY(-1px)}nav.top.scrolled a.nav-cta{background:var(--ink);color:var(--bg);border-color:var(--ink)}nav.top.scrolled a.nav-cta:hover{background:var(--bg);color:var(--ink)}main{z-index:2;position:relative}section{padding:clamp(80px,12vh,160px) 24px;position:relative}.wrap{max-width:1100px;margin:0 auto}h1,h2,h3,h4{font-weight:400;font-family:var(--display);letter-spacing:.005em;margin:0}.eyebrow{font-family:var(--serif);letter-spacing:var(--tracked);text-transform:uppercase;color:var(--soft-ink);font-size:12px;font-weight:500}.display{font-family:var(--display);letter-spacing:-.01em;color:var(--ink);font-weight:300;line-height:.95}.script{font-family:var(--script);color:var(--accent);font-weight:400;line-height:1}.hr{background:var(--accent);transform-origin:50%;border:0;width:60px;height:1px;margin:22px auto;transition:transform 1.2s cubic-bezier(.2,.7,.2,1) .15s;display:block;transform:scaleX(0)}.hr.long{width:140px}.hr.in,.fade.in .hr{transform:scaleX(1)}.hero{text-align:center;isolation:isolate;color:#fbf6ec;flex-direction:column;justify-content:center;align-items:center;min-height:100vh;padding-top:140px;padding-bottom:80px;display:flex;position:relative;overflow:hidden}.hero-video{object-fit:cover;object-position:center 30%;z-index:-2;width:100%;height:100%;animation:28s ease-in-out infinite alternate heroKenBurns;position:absolute;inset:0;transform:scale(1.04)}.hero:after{content:"";z-index:-1;background:linear-gradient(#080a0e73 0%,#080a0e1a 35% 65%,#080a0e8c 100%),radial-gradient(#080a0e0d 0%,#080a0e59 100%);position:absolute;inset:0}@keyframes heroKenBurns{0%{transform:scale(1.02)translateY(0)}to{transform:scale(1.08)translateY(-1.5%)}}.hero .date{font-family:var(--serif);letter-spacing:.18em;text-transform:lowercase;color:#fbf6ec;text-shadow:0 2px 18px #0000008c;margin-bottom:28px;font-size:22px;font-style:italic;font-weight:700}.hero h1{color:#fbf6ec;text-shadow:0 4px 32px #0000008c;max-width:14ch;font-size:clamp(56px,11vw,168px);font-weight:300;line-height:.92}.hero h1 .name-a,.hero h1 .name-b{display:inline-block}.hero h1 .ltr{opacity:0;transition:opacity .9s,transform .9s cubic-bezier(.2,.7,.2,1);display:inline-block;transform:translateY(.5em)}.hero.kin .ltr{opacity:1;transform:none}.hero h1 .and{font-family:var(--script);color:#000;opacity:0;text-shadow:none;margin:0;font-size:.5em;font-weight:400;transition:opacity 1.4s .5s,transform 1.4s cubic-bezier(.2,.7,.2,1) .5s;display:block;transform:scale(.94)}.hero.kin h1 .and{opacity:1;transform:scale(1)}.hero .sub{color:#fbf6ec;text-shadow:0 2px 12px #0000008c;letter-spacing:.02em;margin-top:44px;margin-bottom:36px;font-size:22px;font-style:italic;font-weight:700}.hero .hero-script{font-family:var(--script);color:#000;text-shadow:none;font-size:clamp(40px,5vw,64px);line-height:1}.hero .invite{color:#fbf6ecd9;text-shadow:0 2px 12px #00000080;max-width:520px;margin:20px auto 0;font-size:18px;line-height:1.7}.hero .venue-line{font-family:var(--serif);letter-spacing:var(--tracked);text-transform:uppercase;color:#fbf6eceb;text-shadow:0 2px 18px #00000073;margin-top:36px;font-size:13px;font-weight:500}.hero .cta{margin-top:48px}.btn{font-family:var(--serif);letter-spacing:var(--tracked);text-transform:uppercase;color:var(--ink);border:1px solid var(--accent);cursor:pointer;background:0 0;border-radius:999px;padding:16px 42px;font-size:12px;text-decoration:none;transition:background .3s,color .3s,transform .3s,box-shadow .3s,letter-spacing .3s;display:inline-block}.btn:hover{background:var(--accent);color:var(--bg);letter-spacing:.32em;transform:translateY(-1px);box-shadow:0 10px 24px -10px #00000059}.btn.solid{background:var(--accent);color:var(--bg)}.btn.solid:hover{background:var(--ink);border-color:var(--ink)}.btn.lg{letter-spacing:.32em;padding:22px 56px;font-size:13px;box-shadow:0 14px 36px -16px #00000073}.btn.lg:hover{box-shadow:0 18px 44px -16px #0000008c}.hero .btn.solid{color:#fff;background:#000;border-color:#000;padding:18px 52px;box-shadow:0 6px 30px -12px #00000080}.hero .btn.solid:hover{color:#fff;background:#222;border-color:#222}.duo{grid-template-columns:1fr 1fr;align-items:center;gap:clamp(40px,8vw,120px);display:grid}@media (width<=800px){.duo{grid-template-columns:1fr}}.venue-card{text-align:center;border:1px solid var(--rule);background:var(--bg);box-shadow:0 30px 60px -36px var(--shadow);padding:clamp(48px,6vw,80px) clamp(28px,4vw,48px)}.venue-card .eyebrow{margin-bottom:14px;display:block}.venue-card h2{margin-bottom:18px;font-size:clamp(36px,5vw,64px);font-weight:300}.venue-card .addr{color:var(--soft-ink);font-size:18px;font-style:italic;line-height:1.7}.weekend{background:var(--paper)}.weekend-grid{grid-template-columns:repeat(3,1fr);gap:clamp(20px,3vw,36px);margin-top:40px;display:grid}@media (width<=900px){.weekend-grid{grid-template-columns:1fr}}.day-card{background:var(--bg);border:1px solid var(--rule);text-align:center;padding:36px 28px;transition:transform .4s,box-shadow .4s;position:relative}.day-card:hover{box-shadow:0 20px 40px -20px var(--shadow);transform:translateY(-4px)}.day-card.main{background:var(--accent);color:var(--bg);border-color:var(--accent)}.day-card.main .eyebrow{color:var(--bg);opacity:.75}.day-card .day-name{font-family:var(--display);margin-bottom:6px;font-size:clamp(36px,4vw,52px);font-style:italic;font-weight:300;line-height:1}.day-card .day-date{font-family:var(--serif);letter-spacing:var(--tracked);text-transform:uppercase;color:var(--soft-ink);margin-bottom:24px;font-size:11px}.day-card.main .day-date{color:var(--bg);opacity:.7}.day-card h3{font-family:var(--display);margin-bottom:8px;font-size:clamp(20px,2.2vw,28px);font-weight:400;line-height:1.15}.day-card .when{font-family:var(--serif);color:var(--soft-ink);margin-bottom:18px;font-size:14px;font-style:italic}.day-card.main .when{color:var(--bg);opacity:.85}.day-card .desc{color:var(--soft-ink);font-size:15px;line-height:1.6}.day-card.main .desc{color:var(--bg);opacity:.85}.section-title{text-align:center;margin-bottom:64px}.section-title h2{font-size:clamp(44px,6vw,80px);font-weight:300}.travel-grid{grid-template-columns:1fr 1fr;gap:32px;max-width:1200px;margin:0 auto;display:grid}@media (width<=900px){.travel-grid{grid-template-columns:1fr}}.travel-card{border:1px solid var(--rule);flex-direction:column;padding:clamp(36px,4vw,56px);display:flex}.travel-card.light{background:var(--bg)}.travel-card.dark{background:var(--accent);color:var(--bg);border-color:var(--accent)}.travel-card .eyebrow{margin-bottom:22px;display:block}.travel-card.dark .eyebrow{color:#fbf6ecc7}.travel-h{font-family:var(--display);color:inherit;margin:0 0 32px;font-size:clamp(28px,3vw,42px);font-style:italic;font-weight:400;line-height:1.1}.travel-dl{grid-template-columns:100px 1fr;gap:22px 24px;margin:0;display:grid}.travel-dl dt{font-family:var(--serif);letter-spacing:var(--tracked);text-transform:uppercase;color:var(--soft-ink);padding-top:2px;font-size:11px;font-weight:500}.travel-dl dd{color:var(--soft-ink);margin:0;font-size:15px;line-height:1.65}.travel-dl a{color:var(--accent);text-underline-offset:3px;text-decoration:underline}.travel-card .travel-p{margin:0 0 32px;font-size:15px;line-height:1.65}.travel-card.dark .travel-p{color:#fbf6ecb8}.code-box{background:#ffffff0a;border:1px dashed #fbf6ec4d;margin-bottom:32px;padding:22px 26px}.code-box .eyebrow{margin-bottom:10px;font-size:10px;color:#fbf6ec8c!important}.code-box .code{letter-spacing:.18em;color:var(--bg);font-family:ui-monospace,SF Mono,monospace;font-size:clamp(22px,2.6vw,30px);font-weight:500}.travel-card.dark .btn.solid{background:var(--bg);color:var(--accent);border-color:var(--bg);align-self:flex-start}.travel-card.dark .btn.solid:hover{background:var(--ink);color:var(--bg);border-color:var(--ink)}.travel-small{color:#fbf6ec80;margin:22px 0 0;font-size:12px;line-height:1.6}.travel-small strong{color:#fbf6ecd9;font-weight:500}.faq-grid{grid-template-columns:1.4fr .8fr;align-items:start;gap:clamp(40px,6vw,88px);max-width:1200px;margin:0 auto;display:grid}.faq-grid .section-title{text-align:left}.faq-grid .section-title .hr{margin-left:0;margin-right:auto}@media (width<=900px){.faq-grid{grid-template-columns:1fr}}.polaroid-stack{min-height:clamp(1300px,145vh,1600px);margin-top:40px;position:sticky;top:100px}.polaroid{background:#fbf6ec;width:78%;padding:14px 14px 26px;transition:transform .5s cubic-bezier(.2,.7,.2,1),box-shadow .4s;position:absolute;top:0;box-shadow:0 1px 2px #00000014,0 24px 46px -18px #0006}.polaroid img{width:100%;height:auto;display:block}.polaroid.four img{aspect-ratio:2/3;object-fit:cover;object-position:center 30%}.polaroid.one{z-index:2;top:0;left:0;transform:rotate(-5.5deg)}.polaroid.two{z-index:1;top:220px;right:0;transform:rotate(5deg)}.polaroid.three{z-index:3;top:480px;left:18%;transform:rotate(-2deg)}.polaroid.four{z-index:4;top:740px;left:0;transform:rotate(4deg)}.polaroid.five{z-index:5;top:980px;right:0;transform:rotate(-3deg)}.polaroid.one:hover,.polaroid.two:hover,.polaroid.three:hover,.polaroid.four:hover,.polaroid.five:hover{z-index:10;transform:rotate(0)scale(1.03)translateY(-4px);box-shadow:0 1px 2px #0000001a,0 30px 60px -20px #00000080}@media (width<=900px){.polaroid-stack{max-width:460px;min-height:560px;margin:0 auto;position:static}}.registry-card{background:var(--bg);border:1px solid var(--rule);text-align:center;max-width:880px;box-shadow:0 30px 60px -36px var(--shadow);margin:0 auto;padding:clamp(56px,7vw,96px) clamp(40px,6vw,80px)}.rsvp{background:var(--paper)}.section-mark{opacity:0;justify-content:center;align-items:center;gap:32px;width:100%;padding:clamp(40px,6vh,80px) 0;transition:opacity 1.2s,transform 1.2s;display:flex;transform:translateY(8px)}.section-mark.in{opacity:1;transform:none}.section-mark:before,.section-mark:after{content:"";background:var(--rule);flex:1;height:1px;transition:transform 1.4s cubic-bezier(.2,.7,.2,1) .2s;transform:scaleX(0)}.section-mark.in:before,.section-mark.in:after{transform:scaleX(1)}.section-mark:before{transform-origin:100%}.section-mark:after{transform-origin:0}.section-mark span{font-family:var(--display);letter-spacing:.36em;text-transform:uppercase;color:var(--accent);opacity:.65;white-space:nowrap;font-size:13px;font-style:italic}.fade{opacity:0;transition:opacity 1.1s,transform 1.1s;transform:translateY(20px)}.fade.in{opacity:1;transform:none}footer{text-align:center;z-index:2;padding:90px 24px 70px;position:relative}footer .script{color:var(--accent);margin-bottom:14px;font-size:clamp(44px,6vw,72px)}footer h2{margin-top:8px;font-size:clamp(28px,3.6vw,44px);font-weight:300}footer small{letter-spacing:var(--tracked);text-transform:uppercase;color:var(--soft-ink);opacity:.7;margin-top:40px;font-size:11px;display:block}.snow-canvas{pointer-events:none;z-index:3;opacity:0;transition:opacity 1.2s;position:fixed;top:0;left:0}body.snow-visible .snow-canvas{opacity:.95}.countdown-sec{padding:clamp(70px,10vh,120px) 24px}.countdown-inner{max-width:980px;margin:0 auto}.weather-sec{padding:clamp(70px,10vh,120px) 24px}.weather-inner{max-width:1100px;margin:0 auto}.whistler-sec{background:var(--paper);padding:clamp(70px,10vh,120px) 24px}.whistler-inner{max-width:1200px;margin:0 auto}@media (width<=900px){.whistler-grid{grid-template-columns:1fr!important}}.lock{z-index:200;color:#fbf6ec;background:#0c0e12;justify-content:center;align-items:center;transition:opacity .8s,visibility .8s;display:flex;position:fixed;inset:0}.lock.unlocked{opacity:0;visibility:hidden;pointer-events:none}.lock:before{content:"";opacity:.35;filter:blur(2px)saturate(.7);background-image:url(/assets/hero-mountain.gif);background-position:50%;background-size:cover;position:absolute;inset:0}.lock:after{content:"";background:radial-gradient(#0c0e128c 0%,#0c0e12eb 80%);position:absolute;inset:0}.lock-inner{z-index:2;text-align:center;width:100%;max-width:520px;padding:48px 32px;position:relative}.lock .monogram{filter:invert();opacity:.95;width:clamp(160px,22vw,240px);height:auto;margin:0 auto 64px;display:block}.lock input{width:100%;font-family:var(--serif);text-align:center;letter-spacing:.06em;color:#fbf6ec;background:#fbf6ec0f;border:1px solid #fbf6ec40;border-radius:0;outline:none;padding:18px 22px;font-size:18px;transition:border-color .2s,background .2s}.lock input::placeholder{color:#fbf6ec59}.lock input:focus{background:#fbf6ec1a;border-color:#fbf6ecb3}.lock input.shake{border-color:#c47a72;animation:.42s cubic-bezier(.36,.07,.19,.97) lockShake}@keyframes lockShake{10%,90%{transform:translate(-2px)}20%,80%{transform:translate(3px)}30%,50%,70%{transform:translate(-6px)}40%,60%{transform:translate(6px)}}.lock button{font-family:var(--serif);letter-spacing:.32em;text-transform:uppercase;color:#0c0e12;cursor:pointer;background:#fbf6ec;border:1px solid #fbf6ec;border-radius:999px;margin-top:24px;padding:16px 44px;font-size:12px;transition:background .25s,transform .25s,letter-spacing .3s}.lock button:hover{letter-spacing:.36em;transform:translateY(-1px)}.lock .err{color:#e0a59e;min-height:18px;margin-top:18px;font-size:13px;font-style:italic}@keyframes dpFadeIn{0%{opacity:0}to{opacity:1}}@keyframes dpPopIn{0%{opacity:0;transform:scale(.7)}to{opacity:1;transform:scale(1)}}@media (prefers-reduced-motion:reduce){.hero-video{animation:none;transform:scale(1.04)}.hero h1 .ltr,.hero h1 .and,.fade{opacity:1!important;transform:none!important}.hr{transform:scaleX(1)!important}}.deco-photo,.nav-menu-btn,.nav-mobile-menu{display:none}@media (width<=640px){nav.top{background:0 0;justify-content:space-between;gap:0;padding:14px 20px}nav.top.scrolled{background:var(--bg)}nav.top a:not(.nav-cta),nav.top a.nav-cta{display:none}.nav-menu-btn{cursor:pointer;z-index:60;background:0 0;border:none;flex-direction:column;justify-content:center;gap:5px;padding:6px;display:flex}.nav-menu-btn span{background:currentColor;width:22px;height:1.5px;transition:transform .3s,opacity .3s;display:block}nav.top .nav-menu-btn{color:var(--ink)}nav.top.scrolled .nav-menu-btn{color:var(--soft-ink)}nav.top.menu-open .nav-menu-btn span:first-child{transform:translateY(6.5px)rotate(45deg)}nav.top.menu-open .nav-menu-btn span:nth-child(2){opacity:0}nav.top.menu-open .nav-menu-btn span:nth-child(3){transform:translateY(-6.5px)rotate(-45deg)}@keyframes menuSlideDown{0%{opacity:0;max-height:0}to{opacity:1;max-height:500px}}.nav-mobile-menu.open{z-index:45;background:var(--bg);border-bottom:1px solid var(--rule);box-shadow:0 20px 40px -10px var(--shadow);animation:.35s cubic-bezier(.2,.7,.2,1) forwards menuSlideDown;display:block;position:fixed;top:64px;left:0;right:0;overflow:hidden}.nav-mobile-menu>a{font-family:var(--display);color:var(--ink);border-top:1px solid var(--rule);padding:18px 28px;font-size:26px;font-style:italic;font-weight:300;text-decoration:none;transition:color .2s;display:block}.nav-mobile-menu>a:first-child{border-top:none}.nav-mobile-menu>a:hover{color:var(--accent)}.nav-mobile-menu .nav-mobile-rsvp{text-align:center;font-family:var(--serif);letter-spacing:var(--tracked);text-transform:uppercase;border:1px solid var(--accent);color:var(--ink);border-radius:999px;margin:20px 28px 28px;padding:16px;font-size:12px;font-style:normal;display:block}.hero{padding-top:100px;padding-bottom:60px}.hero .date{letter-spacing:.1em;font-size:14px}.hero .sub{margin-top:24px;margin-bottom:20px;font-size:17px}.hero .invite{padding:0 12px;font-size:16px}.hero .venue-line{letter-spacing:.18em;margin-top:24px;font-size:11px}.hero .cta{margin-top:32px}section{padding:clamp(56px,10vh,96px) 20px}.wrap{padding:0 4px}.duo{gap:24px}.venue-card{padding:clamp(28px,6vw,40px) clamp(20px,5vw,32px)}.weekend-grid{gap:16px}.day-card{padding:clamp(24px,5vw,36px) clamp(20px,5vw,28px)}.travel-grid{gap:20px}.travel-card{padding:clamp(28px,6vw,44px) clamp(20px,5vw,36px)}.deco-photo{z-index:2;pointer-events:auto;cursor:zoom-in;background:#fbf6ec;padding:6px 6px 16px;transition:transform .3s cubic-bezier(.2,.7,.2,1),box-shadow .3s,z-index;display:block;position:absolute;box-shadow:0 4px 20px #00000038}.deco-photo img{width:76px;height:auto;transition:width .3s cubic-bezier(.2,.7,.2,1);display:block}.deco-a{top:28px;right:10px;transform:rotate(5deg)}.deco-b{top:-110px;left:10px;transform:rotate(-4deg)}.deco-c{top:36px;right:10px;transform:rotate(3deg)}.deco-d{bottom:28px;left:10px;transform:rotate(-6deg)}.deco-photo.expanded{z-index:20;cursor:zoom-out;box-shadow:0 16px 48px #00000059;transform:rotate(0)!important}.deco-photo.expanded img{width:200px}.faq-grid{display:block}.polaroid-stack,.weather-cards>div:first-child{display:none}.weather-cards{gap:8px}.weather-cards>div{flex:calc(50% - 4px);min-width:calc(50% - 4px)}.rsvp-meal-grid{grid-template-columns:repeat(3,1fr)!important}.section-mark{margin:0}.countdown-inner{padding:0 8px}.countdown-row>div{padding:0 clamp(4px,1.5vw,10px)!important}.countdown-row>div>div:first-child{font-size:clamp(28px,8vw,48px)!important}.countdown-row>div[style*=alignSelf]{font-size:clamp(18px,5vw,28px)!important}footer{padding:60px 24px}}@media (width<=400px){nav.top a.nav-cta{display:none}.weather-inner>div>div{flex:100%;min-width:100%}}
