:root{--espresso:#22140d;--espresso-2:#2d1b12;--mocha:#4a2e20;--mocha-2:#5e3c2a;--taupe:#a48b77;--champagne:#e6c99a;--champagne-2:#f1dcb6;--cream:#f7efe4;--ink:#f3e7d6;--muted:#c7ae95;--serif:"Cormorant Garamond",Georgia,serif;--script:"Pinyon Script",cursive;--sans:"Jost",system-ui,sans-serif}*{box-sizing:border-box;margin:0;padding:0}body{background:var(--espresso);color:var(--ink);font-family:var(--serif);font-size:19px;line-height:1.6;overflow-x:hidden;-webkit-font-smoothing:antialiased}body.locked{overflow:hidden}img{display:block;max-width:100%}a{color:inherit}.eyebrow{font-family:var(--sans);font-size:11px;letter-spacing:.38em;text-transform:uppercase;color:var(--champagne)}.h2{font-weight:300;font-size:clamp(40px,6vw,72px);line-height:1.05;letter-spacing:-.01em}.h2 em{font-family:var(--script);font-style:normal;color:var(--champagne);font-size:1.15em;font-weight:400}.rule{display:flex;justify-content:center;color:var(--champagne);margin:22px auto}.rule svg{width:160px;height:12px;overflow:visible;fill:none;stroke:currentColor;stroke-width:1;-webkit-mask-image:linear-gradient(90deg,transparent,#000 38%,#000 62%,transparent);mask-image:linear-gradient(90deg,transparent,#000 38%,#000 62%,transparent)}.rule svg path{vector-effect:non-scaling-stroke}section{position:relative;padding:130px 24px}.wrap{max-width:1120px;margin:0 auto}.center{text-align:center}.btn{display:inline-flex;align-items:center;gap:10px;font-family:var(--sans);font-size:12px;letter-spacing:.28em;text-transform:uppercase;padding:16px 30px;border:1px solid var(--champagne);color:var(--champagne);background:transparent;text-decoration:none;cursor:pointer;transition:.35s}.btn:hover,.btn.solid{background:var(--champagne);color:var(--espresso)}.btn.solid:hover{background:var(--champagne-2)}#intro{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;cursor:pointer;perspective:1600px}#intro .half{position:absolute;left:0;right:0;height:50.5%;background:radial-gradient(ellipse at 50% 100%,#3a2418 0%,var(--espresso-2) 60%,#1b0f09 100%);will-change:transform}#intro .top{top:0;transform-origin:top;clip-path:polygon(0 0,100% 0,100% 100%,0 100%)}#intro .bot{bottom:0;transform-origin:bottom;background:radial-gradient(ellipse at 50% 0%,#3a2418 0%,var(--espresso-2) 60%,#1b0f09 100%)}#intro .top:after,#intro .bot:after{content:"";position:absolute;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,rgba(230,201,154,.5),transparent)}#intro .top:after{bottom:0}#intro .bot:after{top:0}#intro .inner{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:26px;text-align:center}#intro .to{font-family:var(--sans);font-size:11px;letter-spacing:.4em;text-transform:uppercase;color:var(--muted)}.seal{width:132px;height:132px;border-radius:50%;display:grid;place-items:center;position:relative;background:radial-gradient(circle at 35% 30%,#f4dfb6,#d4ae74 45%,#a07a45 80%,#7b5a30);box-shadow:0 14px 40px #0000008c,inset 0 -6px 14px #5a3c1980,inset 0 6px 12px #fff0d280;animation:pulse 2.6s ease-in-out infinite}.seal:before{content:"";position:absolute;top:10px;right:10px;bottom:10px;left:10px;border-radius:50%;border:1.5px dashed rgba(90,60,25,.45)}.seal b{font-family:var(--script);font-weight:400;font-size:52px;color:#5a3d1c;text-shadow:0 1px 0 rgba(255,235,200,.6)}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.045)}}#intro .tap{font-family:var(--sans);font-size:11px;letter-spacing:.35em;text-transform:uppercase;color:var(--champagne);opacity:.8}#intro.open{pointer-events:none}#intro.gone{display:none}nav{position:fixed;top:0;left:0;right:0;z-index:50;display:flex;justify-content:space-between;align-items:center;padding:22px 34px;transition:background-color .4s,padding .4s,border-color .4s}nav.solid{background:#22140de0;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:14px 34px;border-bottom:1px solid rgba(230,201,154,.15)}nav .mono{font-family:var(--script);font-size:30px;color:var(--champagne);text-decoration:none}nav ul{display:flex;gap:30px;list-style:none}nav ul a{display:inline-block;padding:12px 0;margin:-12px 0;font-family:var(--sans);font-size:11px;letter-spacing:.28em;text-transform:uppercase;text-decoration:none;color:var(--ink);opacity:.8;transition:opacity .3s,color .3s}nav ul a:hover{opacity:1;color:var(--champagne)}.menu-btn{display:none}body.menu-open{overflow:hidden}@media (max-width:820px){nav{padding:16px 20px}nav.solid{padding:10px 20px}.menu-btn{display:grid;place-content:center;gap:7px;width:44px;height:44px;margin-right:-8px;padding:0;background:none;border:0;cursor:pointer;position:relative;z-index:2}.menu-btn span{display:block;width:24px;height:1px;background:var(--champagne);transition:transform .35s,width .35s}.menu-btn span:last-child{width:16px;justify-self:end}nav.open .menu-btn span:first-child{transform:translateY(4px) rotate(45deg)}nav.open .menu-btn span:last-child{width:24px;transform:translateY(-4px) rotate(-45deg)}nav ul{position:fixed;top:0;right:0;bottom:0;left:0;flex-direction:column;align-items:center;justify-content:center;gap:10px;background:#1b0f09f7;opacity:0;visibility:hidden;transition:opacity .4s,visibility .4s}nav ul a{margin:0;padding:12px 24px;font-family:var(--serif);font-size:32px;font-weight:300;letter-spacing:.02em;text-transform:none;opacity:1}nav ul a:hover,nav ul a:focus-visible{color:var(--champagne)}nav.open ul{opacity:1;visibility:visible}nav.open .mono{position:relative;z-index:2}nav.open,nav.open.solid{background:transparent;backdrop-filter:none;-webkit-backdrop-filter:none;border-bottom-color:transparent}}#home{min-height:100vh;min-height:100svh;padding:0;display:grid;grid-template-columns:1.05fr .95fr;overflow:hidden;background:linear-gradient(120deg,#2b1910,#4a2e20 70%,#3b2418)}#home .copy{display:flex;flex-direction:column;justify-content:center;padding:140px 7vw 90px;position:relative;z-index:2}#home .names{font-family:var(--script);font-weight:400;font-size:clamp(70px,10vw,140px);line-height:.95;color:var(--cream)}#home .names .amp{display:block;font-size:.5em;color:var(--champagne);margin:8px 0 4px 1.2em}#home .names .char{display:inline-block;will-change:transform,opacity}#home .sub{font-size:22px;font-style:italic;color:var(--muted);margin-top:26px;max-width:440px}#home .date{display:flex;align-items:center;gap:22px;margin:38px 0 42px;font-family:var(--sans);letter-spacing:.3em;font-size:13px;text-transform:uppercase}#home .date .d{font-family:var(--serif);font-size:58px;letter-spacing:0;color:var(--champagne);font-weight:300;line-height:1}#home .date .bar{width:1px;height:48px;background:var(--champagne);opacity:.5}#home .photo{position:relative;min-height:100vh}#home .photo img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;object-position:72% 20%;animation:kb 22s ease-out forwards}@keyframes kb{0%{transform:scale(1.12)}to{transform:scale(1)}}#home .photo:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,#3a2318,#3a2318d9 8%,#3a231800 40%),linear-gradient(0deg,rgba(34,20,13,.6),transparent 40%)}#home .frame{position:absolute;top:28px;right:28px;bottom:28px;left:28px;border:1px solid rgba(230,201,154,.35);z-index:3;pointer-events:none}#sparkle{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;pointer-events:none}.scroll-cue{position:absolute;bottom:34px;left:7vw;font-family:var(--sans);font-size:10px;letter-spacing:.35em;text-transform:uppercase;color:var(--muted);display:flex;align-items:center;gap:14px;z-index:3}.scroll-cue i{width:1px;height:46px;background:linear-gradient(var(--champagne),transparent);animation:drip 2s infinite}@keyframes drip{0%{transform:scaleY(0);transform-origin:top}50%{transform:scaleY(1);transform-origin:top}51%{transform-origin:bottom}to{transform:scaleY(0);transform-origin:bottom}}@media (max-width:380px){#home .date{gap:14px;letter-spacing:.22em;font-size:12px}#home .date .d{font-size:50px}}@media (max-width:860px){#home{grid-template-columns:1fr}#home .photo{position:absolute;top:0;right:0;bottom:0;left:0;min-height:0}#home .photo:after{background:linear-gradient(0deg,#22140df2 15%,#22140d59 60%,#22140d8c)}#home .copy{min-height:100vh;min-height:100svh;justify-content:flex-end;padding:120px 28px 110px}}#countdown{background:var(--cream);color:var(--espresso);padding:90px 24px}#countdown .eyebrow{color:var(--mocha-2)}.cd{display:flex;justify-content:center;gap:clamp(14px,4vw,60px);margin-top:28px;flex-wrap:wrap}.cd div{text-align:center;min-width:90px}.cd b{display:block;font-weight:300;font-size:clamp(56px,8vw,96px);line-height:1;color:var(--mocha);perspective:400px;font-variant-numeric:tabular-nums}.cd b .dg{display:inline-block;transform-origin:50% 0;backface-visibility:hidden}.cd small{font-family:var(--sans);font-size:11px;letter-spacing:.32em;text-transform:uppercase;color:var(--taupe)}.cd .sep{font-size:60px;color:var(--champagne);align-self:flex-start;min-width:0;line-height:1.2}@media (max-width:600px){.cd{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:30px 12px;max-width:340px;margin-left:auto;margin-right:auto}.cd .sep{display:none}.cd div{min-width:0}}.cal{margin-top:40px;min-height:52px;display:flex;justify-content:center}add-to-calendar-button::part(atcb-button){font-family:var(--sans);font-size:12px;letter-spacing:.28em;text-transform:uppercase;transition:background-color .35s,color .35s,border-color .35s}#story{background:var(--espresso)}.story-grid{display:grid;grid-template-columns:1fr 1fr;gap:90px;align-items:center}.stack{position:relative;height:640px}.stack img{position:absolute;object-fit:cover;box-shadow:0 30px 60px #00000080}.stack .a{width:68%;height:82%;left:0;top:0}.stack .b{width:52%;height:58%;right:0;bottom:0;border:10px solid var(--espresso)}.stack .tag{position:absolute;left:46%;top:8%;font-family:var(--script);font-size:46px;color:var(--champagne);transform:rotate(-8deg);z-index:2}.story-text p{color:var(--muted);margin-top:22px;font-size:21px}.story-text p:first-of-type:first-letter{font-size:4.2em;float:left;line-height:.8;margin:8px 10px 0 0;color:var(--champagne);font-weight:300}.quote{margin-top:40px;padding-left:24px;border-left:1px solid var(--champagne);font-style:italic;font-size:24px;color:var(--ink)}.quote small{display:block;font-style:normal;font-family:var(--sans);font-size:11px;letter-spacing:.3em;text-transform:uppercase;color:var(--champagne);margin-top:10px}@media (max-width:860px){.story-grid{grid-template-columns:1fr;gap:60px}.stack{height:520px}}#yes{padding:0;height:90vh;min-height:560px;overflow:hidden;display:grid;place-items:center}#yes img{position:absolute;top:-20%;left:0;width:100%;height:140%;object-fit:cover;object-position:center 35%;will-change:transform}#yes:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(ellipse at center,#22140d26,#22140dcc)}#yes .over{position:relative;z-index:2;text-align:center;padding:24px}#yes .over .big{font-family:var(--script);font-size:clamp(70px,12vw,170px);color:var(--cream);line-height:1;text-shadow:0 6px 40px rgba(0,0,0,.5)}#details{background:linear-gradient(180deg,var(--mocha) 0%,#3c2519 100%)}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;margin-top:70px}.card{border:1px solid rgba(230,201,154,.3);padding:50px 34px;text-align:center;position:relative;background:#22140d40;transition:border-color .4s,translate .4s}.card:hover{border-color:var(--champagne);translate:0 -6px}.card .corner{position:absolute;width:22px;height:22px;fill:none;stroke:var(--champagne);stroke-width:1;overflow:visible;pointer-events:none}.card .corner.tl{top:10px;left:10px}.card .corner.br{bottom:10px;right:10px}.card .icon{display:block;width:40px;height:40px;stroke:var(--champagne);fill:none;stroke-width:1.1;margin:0 auto 22px}.card h3{font-weight:400;font-size:30px;margin:8px 0 12px}.card p{color:var(--muted);font-size:19px}.card .btn{margin-top:26px;padding:12px 20px;font-size:10.5px}@media (max-width:860px){.cards{grid-template-columns:1fr;max-width:560px;margin-left:auto;margin-right:auto}}#attire{background:var(--cream);color:var(--espresso)}#attire .eyebrow,#attire .h2 em,#attire .rule{color:var(--mocha-2)}.lead{max-width:640px;margin:0 auto;font-size:21px;color:#6b5040}.swatches{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;margin:64px 0 70px}.sw{text-align:center;cursor:pointer}.sw .orb{aspect-ratio:1;border-radius:50%;margin:0 auto 20px;width:78%;position:relative;overflow:hidden;box-shadow:0 18px 38px #22140d40;transition:transform .5s}.sw:hover .orb{transform:scale(1.06) rotate(8deg)}.sw .orb:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(ellipse 70% 40% at 30% 25%,rgba(255,255,255,.55),transparent 60%),conic-gradient(from 200deg at 60% 60%,#00000040,#ffffff2e,#0000004d,#ffffff1f,#00000040);mix-blend-mode:soft-light}.sw h4{font-family:var(--sans);font-weight:500;font-size:12px;letter-spacing:.3em;text-transform:uppercase}.sw p{font-style:italic;color:#7b6252;font-size:17px}.sw code{font-family:var(--sans);font-size:11px;color:var(--taupe);letter-spacing:.1em}.inspo{border:1px solid #dccab5;padding:14px;background:#fffaf3}.inspo img{width:100%}.inspo-cap{margin-top:16px;font-family:var(--sans);font-size:11px;letter-spacing:.3em;text-transform:uppercase;color:var(--taupe)}.dos{display:grid;grid-template-columns:1fr 1fr;gap:26px;margin-top:56px;text-align:left}.dos div{padding:30px 34px;border:1px solid #dccab5}.dos h5{font-family:var(--sans);font-size:11px;letter-spacing:.3em;text-transform:uppercase;color:var(--mocha-2);margin-bottom:10px}.dos p{color:#6b5040}@media (max-width:760px){.swatches{grid-template-columns:repeat(2,1fr)}.dos{grid-template-columns:1fr}}.toast{opacity:0;position:fixed;top:24px;left:50%;transform:translate(-50%,-120px);background:var(--espresso);color:var(--champagne);font-family:var(--sans);font-size:12px;letter-spacing:.2em;text-transform:uppercase;padding:14px 26px;border:1px solid var(--champagne);transition:.4s;z-index:90}.toast.show{opacity:1;transform:translate(-50%)}#gallery{background:var(--espresso)}.masonry{columns:3 280px;column-gap:18px;margin-top:64px}.masonry figure{break-inside:avoid;margin-bottom:18px;overflow:hidden;cursor:zoom-in;position:relative}.masonry img{width:100%;transition:transform 1.2s cubic-bezier(.2,.7,.2,1),filter .6s;filter:saturate(.9)}.masonry figure:hover img{transform:scale(1.05);filter:saturate(1.05)}.masonry figure:after{content:"";position:absolute;top:12px;right:12px;bottom:12px;left:12px;border:1px solid rgba(230,201,154,0);transition:.5s}.masonry figure:hover:after{border-color:#e6c99ab3}#lightbox{position:fixed;top:0;right:0;bottom:0;left:0;background:#140b07f5;z-index:95;display:none;align-items:center;justify-content:center;padding:40px}#lightbox.on{display:flex}#lightbox img{max-height:88vh;max-width:90vw;box-shadow:0 30px 80px #0009}#lightbox button{position:absolute;background:none;border:0;color:var(--champagne);font-size:40px;cursor:pointer;font-family:var(--serif);padding:10px 20px}#lightbox .x{top:16px;right:20px}#lightbox .prev{left:10px}#lightbox .next{right:10px}footer{background:#170d08;text-align:center;padding:100px 24px 60px}footer .mono{font-family:var(--script);font-size:clamp(72px,22vw,96px);color:var(--champagne);line-height:1}footer .tagline{font-style:italic;color:var(--muted);font-size:22px;margin-top:10px}footer .hash{font-family:var(--sans);letter-spacing:.3em;font-size:12px;color:var(--champagne);margin-top:30px;text-transform:uppercase}footer small{display:block;margin-top:50px;font-family:var(--sans);font-size:10px;letter-spacing:.3em;color:#7a6252;text-transform:uppercase}.map-wrap{margin-top:46px;border:1px solid rgba(230,201,154,.4);padding:10px;background:#22140d59}.map-wrap iframe{display:block;width:100%;height:420px;border:0;filter:sepia(.35) saturate(.85) contrast(.95)}@media (max-width:600px){.map-wrap iframe{height:320px}}.music{position:fixed;right:calc(20px + env(safe-area-inset-right,0px));bottom:calc(20px + env(safe-area-inset-bottom,0px));z-index:60;width:52px;height:52px;border-radius:50%;display:grid;place-items:center;cursor:pointer;padding:0;background:var(--espresso);border:1px solid var(--champagne);color:var(--champagne);box-shadow:0 10px 30px #00000073;transition:transform .35s,background-color .35s}.music[hidden]{display:none}.music:hover{transform:translateY(-2px);background:var(--espresso-2)}.music:focus-visible{outline:1px solid var(--champagne);outline-offset:4px}.music .eq{display:none;align-items:flex-end;gap:3px;height:16px}.music .eq i{display:block;width:2px;height:100%;background:currentColor;border-radius:1px;transform-origin:bottom;animation:eq 1s ease-in-out infinite}.music .eq i:nth-child(1){animation-duration:.9s;animation-delay:-.2s}.music .eq i:nth-child(2){animation-duration:1.2s;animation-delay:-.5s}.music .eq i:nth-child(3){animation-duration:.8s;animation-delay:-.35s}.music .note{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.music.playing .eq{display:flex}.music.playing .note{display:none}@keyframes eq{0%,to{transform:scaleY(.3)}50%{transform:scaleY(1)}}@media (max-width:600px){.music{right:calc(16px + env(safe-area-inset-right,0px));bottom:calc(16px + env(safe-area-inset-bottom,0px))}}@media (prefers-reduced-motion: reduce){.seal,#home .photo img,.scroll-cue i,.music .eq i{animation:none}.music .eq i:nth-child(1){transform:scaleY(.6)}.music .eq i:nth-child(3){transform:scaleY(.45)}*,*:before,*:after{transition-duration:.01ms!important}}html.lenis,html.lenis body{height:auto}.lenis:not(.lenis-autoToggle).lenis-stopped{overflow:clip}.lenis [data-lenis-prevent],.lenis [data-lenis-prevent-wheel],.lenis [data-lenis-prevent-touch],.lenis [data-lenis-prevent-vertical],.lenis [data-lenis-prevent-horizontal]{overscroll-behavior:contain}.lenis.lenis-smooth iframe{pointer-events:none}.lenis.lenis-autoToggle{transition-property:overflow;transition-duration:1ms;transition-behavior:allow-discrete}
