@font-face{font-family:Cormorant Garamond;src:url(/fonts/cormorant-garamond.woff) format("woff");font-weight:300 700;font-style:normal;font-display:swap}@font-face{font-family:Cormorant Garamond;src:url(/fonts/cormorant-garamond-italic.woff) format("woff");font-weight:300 700;font-style:italic;font-display:swap}@font-face{font-family:Pinyon Script;src:url(/fonts/pinyon-script.woff) format("woff");font-weight:400;font-display:swap}@font-face{font-family:Jost;src:url(/fonts/jost.woff) format("woff");font-weight:100 900;font-display:swap}:root{--ivory:#f7f2e8;--paper:#fbf8f2;--linen:#efe8da;--sage-100:#e6e9dd;--sage-200:#d3d9c6;--sage-400:#9aa78c;--sage-500:#7d8b6f;--sage-600:#5f6d54;--sage-700:#4a5641;--sage-900:#2c3427;--champagne:#b39b6e;--champagne-soft:#d6c6a2;--champagne-pale:#ece2cb;--ink:#2c2f27;--muted:#6e6f63;--danger:#9b4a3c;--serif:"Cormorant Garamond","Cormorant",Garamond,"Times New Roman",serif;--script:"Pinyon Script","Snell Roundhand",cursive;--sans:"Jost","Helvetica Neue",Arial,sans-serif;--ease:cubic-bezier(0.22,0.61,0.36,1);--gutter:clamp(20px,5vw,56px)}*,:after,:before{box-sizing:border-box}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}.rsvp-card,section[id]{scroll-margin-top:16px}body{margin:0;background:var(--ivory);color:var(--ink);font:400 16px/1.65 var(--sans);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;font-feature-settings:"lnum";font-variant-numeric:lining-nums}img{max-width:100%;display:block}a{color:inherit}button,input,select,textarea{font:inherit;color:inherit}::selection{background:var(--champagne-pale)}:focus-visible{outline:2px solid var(--champagne);outline-offset:3px}.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}.script{font-family:var(--script);font-weight:400}.shell{width:min(1180px,100% - var(--gutter) * 2);margin-inline:auto}.shell--narrow{width:min(760px,100% - var(--gutter) * 2)}body:after{content:"";position:fixed;inset:0;pointer-events:none;z-index:100;opacity:.35;mix-blend-mode:multiply;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .55 0 0 0 0 .5 0 0 0 0 .4 0 0 0 .08 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}.eyebrow{letter-spacing:.32em}.section-title{margin:0 auto 18px;font:300 clamp(38px,8.5vw,76px)/1.02 var(--serif);letter-spacing:-.01em}.section-title em{font-style:italic;color:var(--champagne)}.section-sub{max-width:520px}.chapter{display:flex;align-items:center;justify-content:center;gap:14px;margin:0 0 22px;font:500 11px/1 var(--sans);letter-spacing:.32em;text-transform:uppercase;color:var(--sage-600)}.chapter-n{font:italic 400 20px/1 var(--serif);letter-spacing:0;color:var(--champagne);text-transform:none}.chapter-rule{width:38px;height:1px;background:var(--champagne-soft)}body:has(.page){background:#e9e2d2}.page{position:relative;width:100%;max-width:480px;margin:0 auto;background:var(--ivory);overflow:hidden}@media (min-width:520px){body:has(.page){padding:32px 0}.page{border-radius:28px;box-shadow:0 40px 90px -40px rgba(44,52,39,.45),0 0 0 1px rgba(179,155,110,.25)}}.eyebrow{margin:0;font:500 11px/1.4 var(--sans);letter-spacing:.3em;text-transform:uppercase;color:var(--sage-600)}.section-title{margin:0 0 10px;text-align:center;font:300 46px/1.05 var(--serif);color:var(--sage-900)}.section-sub{margin:0 auto;text-align:center;color:var(--muted);font-size:15px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;padding:0 26px;border:1px solid transparent;border-radius:999px;cursor:pointer;text-decoration:none;white-space:nowrap;font:500 12px/1 var(--sans);letter-spacing:.18em;text-transform:uppercase;transition:background-color .35s var(--ease),color .35s var(--ease),border-color .35s var(--ease),transform .35s var(--ease)}.btn:hover{transform:translateY(-1px)}.btn:disabled{opacity:.55;cursor:progress;transform:none}.btn-solid{background:var(--sage-700);color:var(--paper)}.btn-solid:hover{background:var(--sage-900)}.btn-ghost{border-color:rgba(74,86,65,.35);color:var(--sage-700);background:transparent}.btn-ghost:hover{border-color:var(--sage-700);background:rgba(74,86,65,.06)}.btn-line{min-height:42px;padding:0 18px;border-color:var(--champagne-soft);color:var(--sage-700);font-size:11px}.btn-line:hover{border-color:var(--champagne);background:var(--paper)}.btn-wide{width:100%}.botanical{display:block;overflow:visible}.botanical .stem,.botanical .vein{fill:none;stroke:var(--champagne);stroke-width:1;stroke-linecap:round;vector-effect:non-scaling-stroke}.botanical .vein{stroke-width:.6;opacity:.7}.botanical .leaf{fill:rgba(179,155,110,.07);stroke:var(--champagne);stroke-width:.9;vector-effect:non-scaling-stroke}.botanical .berry{fill:var(--champagne)}.js .botanical .leaf,.js .botanical .stem,.js .botanical .vein{stroke-dasharray:1;stroke-dashoffset:1;transition:stroke-dashoffset 2.4s var(--ease)}.js .botanical .leaf{transition-delay:.5s}.js .botanical .vein{transition-delay:1s}.js .botanical .berry{opacity:0;transition:opacity 1s 1.6s}.js .botanical.is-in .leaf,.js .botanical.is-in .stem,.js .botanical.is-in .vein{stroke-dashoffset:0}.js .botanical.is-in .berry{opacity:1}.flourish{width:180px;margin:30px auto}.monogram{position:relative;width:150px;aspect-ratio:1;margin:0 auto}.monogram .wreath{position:absolute;inset:0;width:100%;height:100%}.monogram-letters{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font:300 46px/1 var(--serif);letter-spacing:.02em;color:var(--sage-700)}.monogram-letters em{font:400 .62em var(--script);color:var(--champagne);margin:0 2px}.js [data-reveal]{transform:translateY(28px);transition:opacity 1.1s var(--ease),transform 1.1s var(--ease);transition-delay:calc(var(--i, 0) * .12s);opacity:0;transform:translateY(22px);transition:opacity 1s var(--ease),transform 1s var(--ease)}.js [data-reveal].is-in{opacity:1;transform:none}.hero-media{position:relative;height:66svh;min-height:400px;max-height:640px;overflow:hidden;background:var(--sage-700)}.hero-img{width:100%;height:100%;object-fit:cover;transform-origin:72% 62%;animation:kenburns 24s var(--ease) both}.hero-media:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 72%,var(--ivory) 100%)}.hero-copy{position:relative;margin-top:-56px;padding:0 20px 56px;text-align:center;animation:rise 1.4s .2s var(--ease) both}.hero-for{display:inline-block;margin:0 0 20px;padding:9px 18px;border:1px solid var(--champagne-soft);border-radius:999px;background:var(--paper);font-size:13px;color:var(--sage-700)}.hero-for strong{font-weight:500;color:var(--sage-900)}.hero-names{margin:14px 0 6px;font:300 84px/.88 var(--serif);letter-spacing:-.02em;color:var(--sage-900)}.hero-names span{display:block}.hero-names .hero-amp{margin:2px 0 6px;font:400 40px/1 var(--script);color:var(--champagne);letter-spacing:0}.hero-date{margin:22px 0 4px;font:italic 400 22px/1.3 var(--serif);color:var(--sage-700)}.hero-place{margin:0 0 26px;font:500 11px/1 var(--sans);letter-spacing:.4em;text-transform:uppercase;color:var(--sage-600)}.hero-actions{display:grid;grid-template-columns:1fr 1fr;grid-gap:10px;gap:10px}@keyframes kenburns{0%{transform:scale(1.1)}to{transform:scale(1)}}@keyframes rise{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}.invitation{padding:64px 22px 70px;background:var(--paper);text-align:center}.monogram{margin-bottom:26px}.verse{margin:0}.verse p{margin:0;font:italic 300 32px/1.15 var(--serif);color:var(--sage-900)}.verse cite{display:block;margin-top:14px;font:normal 500 10px/1 var(--sans);letter-spacing:.3em;text-transform:uppercase;color:var(--champagne)}.invitation-text{margin:0 0 30px;font:400 20px/1.5 var(--serif);color:var(--muted)}.couple{display:grid;grid-template-columns:1fr 1fr;grid-gap:14px;gap:14px}.couple figure{margin:0}.arch{position:relative;aspect-ratio:3/4.2;overflow:hidden;border-radius:999px 999px 4px 4px;background:var(--linen)}.arch:after{content:"";position:absolute;inset:6px;border:1px solid rgba(251,248,242,.7);border-radius:inherit}.arch .photo{width:100%;height:100%;object-fit:cover}.couple figcaption{display:grid;grid-gap:4px;gap:4px;margin-top:14px}.couple-name{font:400 22px/1.15 var(--serif);color:var(--sage-900)}.couple-parents{font:italic 400 15px/1.35 var(--serif);color:var(--muted)}.countdown{padding:60px 18px;text-align:center;background:var(--sage-700);color:var(--paper)}.countdown .eyebrow{color:var(--champagne-pale)}.countdown-title{margin:10px 0 30px;font:italic 300 34px/1.1 var(--serif)}.countdown-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}.countdown-unit{display:grid;grid-gap:8px;gap:8px;border-left:1px solid rgba(214,198,162,.3)}.countdown-unit:first-child{border-left:0}.countdown-num{font:300 46px/1 var(--serif);font-feature-settings:lining-nums tabular-nums;font-variant-numeric:lining-nums tabular-nums}.countdown-label{font:500 9px/1 var(--sans);letter-spacing:.25em;text-transform:uppercase;color:var(--champagne-pale)}.countdown-done{margin:0;font:400 52px/1 var(--script);color:var(--champagne-pale)}.celebrations{position:relative;padding:70px 18px 40px;background:var(--ivory)}.section-sprig{width:120px;margin:0 auto 14px}.celebrations .section-title{margin-bottom:30px}.event{margin-bottom:18px;padding:26px 22px;background:var(--paper);border:1px solid var(--champagne-soft);border-radius:18px}.event-date{display:flex;align-items:center;gap:12px;margin:0 0 16px;font:italic 400 20px/1.1 var(--serif);color:var(--sage-700)}.event-date small{font:normal 500 10px/1 var(--sans);letter-spacing:.25em;text-transform:uppercase;color:var(--muted)}.event-day{font:300 58px/.8 var(--serif);font-style:normal;color:var(--champagne)}.event-title{margin:6px 0 2px;font:400 36px/1.05 var(--serif);color:var(--sage-900)}.event-when{margin:0 0 14px;font:italic 400 20px/1.3 var(--serif);color:var(--sage-600)}.event-venue{display:grid;margin:0 0 12px}.event-venue strong{font-weight:500}.event-desc,.event-venue span{color:var(--muted);font-size:15px}.event-attire,.event-desc{margin:0 0 12px}.event-attire{font-size:14px}.event-attire span{margin-right:8px;font:500 10px/1 var(--sans);letter-spacing:.25em;text-transform:uppercase;color:var(--champagne)}.event-actions{display:grid;grid-gap:10px;gap:10px;margin-top:20px}.gallery{padding:40px 18px 70px;background:var(--ivory)}.gallery .section-title{margin-bottom:24px}.gallery-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:10px;gap:10px;padding-bottom:40px}.gallery-item{position:relative;display:block;padding:0;border:0;overflow:hidden;cursor:zoom-in;background:var(--linen);aspect-ratio:2/3;border-radius:10px}.gallery-item:nth-child(2n){margin:40px 0 -40px}.gallery-item .photo{width:100%;height:100%;object-fit:cover}.lightbox{position:fixed;inset:0;z-index:200;display:grid;place-items:center;background:rgba(24,29,21,.94);animation:fade .4s var(--ease)}.lightbox-figure{margin:0;display:grid;justify-items:center;grid-gap:14px;gap:14px;max-width:92vw}.lightbox-img{width:auto;max-width:92vw;height:auto;max-height:82svh;object-fit:contain}.lightbox figcaption{display:flex;gap:18px;color:var(--champagne-pale);font:italic 400 17px/1.4 var(--serif);text-align:center}.lightbox figcaption span{font:500 11px/1.6 var(--sans);letter-spacing:.2em;color:var(--sage-400)}.lightbox button{position:absolute;width:52px;height:52px;border:1px solid rgba(214,198,162,.4);border-radius:50%;background:rgba(24,29,21,.5);color:var(--paper);font:300 30px/1 var(--serif);cursor:pointer}.lightbox button:hover{border-color:var(--champagne-soft)}.lightbox-close{top:18px;right:18px}.lightbox-prev{left:18px}.lightbox-next,.lightbox-prev{top:50%;transform:translateY(-50%)}.lightbox-next{right:18px}@media (max-width:700px){.lightbox-next,.lightbox-prev{top:auto;bottom:22px;transform:none}}@keyframes fade{0%{opacity:0}}.rsvp{padding:70px 18px 80px;background:linear-gradient(180deg,var(--ivory),var(--sage-100))}.rsvp .section-sub{margin-bottom:30px}.rsvp-card{position:relative;padding:30px 22px;background:var(--paper);border:1px solid var(--champagne-soft);box-shadow:0 40px 80px -50px rgba(44,52,39,.35)}.rsvp-card:before{content:"";position:absolute;inset:8px;border:1px solid var(--champagne-pale);pointer-events:none}.rsvp-card--quiet{text-align:center}.rsvp-greeting{margin:0 0 8px;font:400 26px/1.3 var(--serif);color:var(--sage-900)}.rsvp-greeting strong{font-weight:500}.rsvp-lead{margin:0;color:var(--muted);font:400 19px/1.55 var(--serif)}.rsvp-lead a,.rsvp-note a{color:var(--sage-700);text-underline-offset:3px}.rsvp-flourish{margin:26px 0 8px;width:150px}.rsvp-event{margin:0;padding:26px 0;border:0;border-bottom:1px solid var(--linen)}.rsvp-event legend{float:left;width:100%;display:grid;grid-gap:4px;gap:4px;padding:0;margin-bottom:16px}.rsvp-event legend+*{clear:both}.rsvp-event-title{font:400 30px/1.1 var(--serif);color:var(--sage-900)}.rsvp-event-meta{font:500 11px/1.4 var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}.choice-row{display:grid;grid-template-columns:1fr 1fr;grid-gap:10px;gap:10px}.choice{position:relative;display:grid;place-items:center;min-height:54px;padding:10px 12px;text-align:center;border:1px solid var(--sage-200);cursor:pointer;transition:all .3s var(--ease);font:italic 400 18px/1.2 var(--serif);color:var(--sage-700);background:#fff}.choice input{position:absolute;opacity:0;pointer-events:none}.choice:hover{border-color:var(--sage-500)}.choice.is-on{background:var(--sage-700);border-color:var(--sage-700);color:var(--paper)}.choice:has(input:focus-visible){outline:2px solid var(--champagne);outline-offset:2px}.guest-count{display:flex;flex-wrap:wrap;align-items:center;gap:12px 16px;margin-top:18px;animation:rise .5s var(--ease)}.guest-count>label{font:500 11px/1 var(--sans);letter-spacing:.2em;text-transform:uppercase;color:var(--sage-700)}.stepper{display:inline-flex;align-items:stretch;border:1px solid var(--sage-200);background:#fff}.stepper button{width:44px;border:0;background:none;cursor:pointer;font-size:20px;color:var(--sage-700)}.stepper button:disabled{color:var(--sage-200);cursor:default}.stepper select{-moz-appearance:none;appearance:none;-webkit-appearance:none;min-width:52px;height:44px;border:0;border-inline:1px solid var(--sage-200);background:none;text-align:center;text-align-last:center;font:400 22px/1 var(--serif);color:var(--sage-900);cursor:pointer}.guest-of{font:italic 400 17px var(--serif);color:var(--muted)}.field{display:grid;grid-gap:8px;gap:8px;margin-top:24px}.field label{font:500 11px/1.3 var(--sans);letter-spacing:.2em;text-transform:uppercase;color:var(--sage-700)}.field label span{letter-spacing:.04em;text-transform:none;color:var(--muted);font-weight:400}.code-row input,.field input,.field select,.field textarea{width:100%;padding:14px 16px;border:1px solid var(--sage-200);border-radius:0;background:#fff;font-size:16px;outline:none;transition:border-color .3s,box-shadow .3s}.code-row input:focus,.field input:focus,.field textarea:focus{border-color:var(--sage-600);box-shadow:0 0 0 3px rgba(125,139,111,.15)}.field textarea{resize:vertical;min-height:56px}.form-error{margin:22px 0 0;padding:14px 16px;border-left:2px solid var(--danger);background:#f7ebe6;color:var(--danger);font-size:15px}.rsvp-actions{display:grid;grid-gap:10px;gap:10px;margin-top:30px}.rsvp-note{margin:22px 0 0;color:var(--muted);font:italic 400 17px/1.5 var(--serif)}.code-form{max-width:460px;margin:30px auto 0;text-align:left}.code-form>label{display:block;margin-bottom:8px;font:500 11px/1 var(--sans);letter-spacing:.2em;text-transform:uppercase;color:var(--sage-700)}.code-row{display:flex;gap:8px}.code-row .btn{flex:none;border-radius:0}.rsvp-thanks{text-align:center}.rsvp-thanks-title{margin:0 0 8px;font-size:clamp(50px,11vw,76px);line-height:1.1;color:var(--champagne)}.rsvp-summary{list-style:none;max-width:440px;margin:30px auto;padding:0;text-align:left}.rsvp-summary li{display:flex;justify-content:space-between;gap:16px;padding:14px 0;border-bottom:1px solid var(--linen)}.rsvp-summary-event{font:400 22px/1.2 var(--serif);color:var(--sage-900)}.rsvp-summary-answer{font:400 14px/1.6 var(--sans);color:var(--muted);text-align:right}.rsvp-names{max-width:440px;margin:0 auto 28px;color:var(--muted);font:italic 400 18px/1.5 var(--serif)}.rsvp-names span{display:block;margin-bottom:4px;font:normal 500 10px/1 var(--sans);letter-spacing:.3em;text-transform:uppercase;color:var(--champagne)}.footer{padding:56px 20px calc(48px + env(safe-area-inset-bottom));text-align:center;background:var(--sage-900);color:var(--sage-100)}.footer-names{margin:0 0 6px;font-size:52px;line-height:1.1;color:var(--champagne-pale)}.footer-date{margin:0;font:500 11px/1 var(--sans);letter-spacing:.35em;color:var(--sage-400)}.footer-note{margin:26px 0 0;font:italic 400 15px var(--serif);color:var(--sage-400)}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.js [data-reveal]{opacity:1;transform:none}}.field--first{margin-top:26px}.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}.rsvp-note--center{text-align:center;margin:0 0 16px}.rsvp-card--quiet .rsvp-actions{margin-top:22px}.credit{margin:40px auto 0;padding-top:28px;max-width:280px;border-top:1px solid rgba(214,198,162,.25)}.credit-line{margin:0;font:500 10px/1.4 var(--sans);letter-spacing:.3em;text-transform:uppercase;color:var(--sage-400)}.credit-brand{margin:6px 0 16px;font:400 30px/1 var(--serif);letter-spacing:.04em;color:var(--paper)}.credit-btn{display:inline-flex;align-items:center;gap:8px;padding:11px 18px;border:1px solid rgba(214,198,162,.45);border-radius:999px;text-decoration:none;font:500 12px/1 var(--sans);letter-spacing:.06em;color:var(--champagne-pale);transition:background .3s,border-color .3s}.credit-btn:hover{background:rgba(251,248,242,.08);border-color:var(--champagne-soft)}