@import"https://fonts.googleapis.com/css2?family=Bodoni+Moda:ital,opsz,wght@0,6..96,400;1,6..96,500&family=Plus+Jakarta+Sans:wght@300;400;500;600&display=swap";:root{font-family:Plus Jakarta Sans,sans-serif;color:#f5f3ef;background:#111214;font-synthesis:none;--gold:#e8c543;--burnished:#c5a059;--ink:#111214;--panel:#181a1f;--muted:#aaa69e;--line:rgba(212,175,55,.28)}*{box-sizing:border-box}html{scroll-behavior:smooth;background:var(--ink)}body{margin:0;min-width:320px;background:var(--ink);color:#f5f3ef}button,input{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}main{max-width:720px;margin:auto;overflow:hidden;background:var(--ink)}.hero{position:relative;min-height:100svh;padding:max(24px,env(safe-area-inset-top)) 20px 34px;display:flex;flex-direction:column;justify-content:space-between;text-align:center}.hero-image,.hero-shade{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.hero-image{filter:saturate(.8) contrast(1.15)}.hero-shade{background:linear-gradient(180deg,#111214c7,#1112149e 50%,#111214)}.hero-meta,.hero-center,.hero-action{position:relative;z-index:1}.hero-meta{display:flex;justify-content:space-between;gap:8px;padding-bottom:14px;border-bottom:1px solid var(--line);font-size:.7rem;letter-spacing:.1em;text-transform:uppercase}.hero-meta strong{color:var(--gold)}.hero-center{display:flex;align-items:center;flex-direction:column}.diamond{width:36px;height:36px;border:1px solid var(--line);display:grid;place-items:center;transform:rotate(45deg);margin-bottom:26px;background:#11121499}.diamond span{font-family:Bodoni Moda;font-size:18px;color:var(--gold);transform:rotate(-45deg)}.eyebrow{text-transform:uppercase;letter-spacing:.25em;font-size:.72rem;font-weight:600;color:var(--burnished)}h1,h2{font-family:Bodoni Moda,serif;text-transform:uppercase;font-weight:400;margin:0}h1{font-size:clamp(3rem,14vw,5rem);line-height:1.08;letter-spacing:.11em}h2{font-size:clamp(2.1rem,9vw,3.6rem);line-height:1.05;letter-spacing:.07em}.venue-line{text-transform:uppercase;letter-spacing:.22em;font-size:.75rem}.hero-action{display:grid;gap:14px}.hero-action small,footer small{text-transform:uppercase;letter-spacing:.18em;color:var(--muted);font-size:.65rem}.primary-button,.secondary-button{min-height:50px;border:1px solid var(--gold);display:flex;align-items:center;justify-content:center;text-transform:uppercase;letter-spacing:.18em;font-size:.76rem;font-weight:700}.primary-button{background:var(--gold);color:#302500}.primary-button:hover{background:#f3d968}.primary-button:disabled{opacity:.55}.secondary-button{background:transparent;color:#fff;border-color:#f5f3ef40}.section{padding:76px 24px;text-align:center}.section-rule{height:1px;width:56px;background:var(--line);margin:0 auto 34px}.section h2{margin:10px 0 12px}.section-intro{max-width:470px;margin:16px auto 0;color:#d6d3cc;line-height:1.7;font-size:.94rem}.script{font-family:Bodoni Moda,serif;font-style:italic;color:var(--gold);font-size:1.05rem}.framed-block{border:1px solid var(--line);padding:16px;text-align:left}.framed-block>img{width:100%;aspect-ratio:1.7;object-fit:cover;border:1px solid rgba(245,243,239,.13);margin-bottom:24px}.framed-block h2{font-size:2rem}.framed-block>p:not(.eyebrow,.script){color:#d6d3cc;line-height:1.6;font-size:.9rem}.venue-facts{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line);margin:24px 0 18px;padding-top:16px;gap:16px;color:var(--gold);font-size:.78rem}.venue-facts small{display:block;color:var(--muted);text-transform:uppercase;letter-spacing:.12em;font-size:.62rem;margin-bottom:4px}.dress-card{border:1px solid rgba(245,243,239,.14);background:#ffffff06;padding:17px;margin-top:14px}.dress-card strong{text-transform:uppercase;letter-spacing:.18em;font-size:.72rem;color:var(--gold)}.dress-card p{margin:9px 0 0;line-height:1.55;color:#ddd9d0;font-size:.85rem}.timeline{text-align:left;border-left:1px solid var(--line);margin:36px auto 0;max-width:400px}.timeline div{position:relative;display:grid;gap:5px;padding:0 0 36px 26px}.timeline div:before{content:"◆";position:absolute;left:-5px;top:0;color:var(--gold);font-size:.55rem}.timeline time{color:var(--gold);text-transform:uppercase;font-size:.74rem;font-weight:600}.timeline strong{text-transform:uppercase;letter-spacing:.1em;font-size:.85rem}.timeline em{color:var(--burnished);font-family:Bodoni Moda}.rsvp-section{padding-top:40px}.rsvp-card{border:1px solid var(--line);padding:20px;margin:28px auto 0;max-width:500px;text-align:left;background:var(--panel);display:grid;gap:22px}.rsvp-card fieldset{border:0;padding:0;margin:0}.rsvp-card legend,.rsvp-card label{display:block;width:100%;text-transform:uppercase;letter-spacing:.14em;font-size:.7rem;font-weight:600}.rsvp-card label span{color:var(--gold)}.choice-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:10px}.choice,.mini-choice button{min-height:46px;background:#101113;color:#aaa69e;border:1px solid rgba(245,243,239,.12);text-transform:uppercase;font-size:.68rem;letter-spacing:.1em}.choice.active,.mini-choice button.active{border-color:var(--gold);color:#302500;background:var(--gold)}.rsvp-card input{width:100%;margin-top:8px;padding:13px 12px;border:1px solid rgba(245,243,239,.13);border-radius:0;background:#121316;color:#fff;font-size:1rem;outline:none}.rsvp-card input:focus{border-color:var(--gold);box-shadow:0 0 0 1px var(--gold)}.rsvp-card small{display:block;text-transform:none;letter-spacing:0;color:var(--muted);margin-top:6px;font-weight:400;font-size:.72rem}.plus-one{display:flex!important;justify-content:space-between;align-items:center;border-top:1px solid var(--line)!important;padding-top:18px!important}.mini-choice{display:flex}.mini-choice button{min-height:36px;padding:0 18px}.form-error{color:#ffb4ab;margin:0;font-size:.85rem}.rsvp-card .primary-button{width:100%}footer{border-top:1px solid var(--line);padding:32px 20px max(40px,env(safe-area-inset-bottom));display:flex;justify-content:center;gap:12px;flex-wrap:wrap;text-transform:uppercase;letter-spacing:.18em;font-size:.65rem}footer i{color:var(--gold);font-style:normal}footer small{flex-basis:100%;text-align:center}.modal-backdrop{position:fixed;inset:0;background:#070809e6;z-index:20;overflow:auto;padding:20px;display:grid;place-items:center}.confirmation{position:relative;width:min(100%,500px);padding:32px 24px;background:var(--panel);border:1px solid var(--line);text-align:center;box-shadow:0 30px 100px #000}.modal-close{position:absolute;right:10px;top:10px;width:44px;height:44px;border:0;border-radius:50%;background:#292a2c;color:#fff;font-size:1.8rem}.monogram{width:52px;height:52px;margin:0 auto 20px;border-radius:50%;display:grid;place-items:center;background:#0d0e10;color:var(--gold);font-family:Bodoni Moda;font-size:1.5rem}.confirmation h2 em{display:block;color:var(--gold);font-style:normal}.confirmation-copy{font-size:1.08rem}.guest-summary,.gift-note{margin:24px 0;padding:18px;background:#0f1012;text-align:left}.guest-summary span,.guest-summary small{display:block;color:var(--muted);font-size:.7rem;text-transform:uppercase;letter-spacing:.15em}.guest-summary strong{display:block;font-size:1.1rem;margin:7px 0}.gift-note{background:#232427;line-height:1.6}.gift-note p:last-child{margin-bottom:0}.confirmation .primary-button{margin-top:18px}.text-button{border:0;background:transparent;color:#fff;text-transform:uppercase;letter-spacing:.14em;padding:16px;font-size:.72rem}.text-button.muted{display:block;margin:auto;color:var(--muted)}[data-reveal]{opacity:0;transform:translateY(18px);transition:opacity .8s ease,transform .8s ease}[data-reveal].revealed{opacity:1;transform:none}@media(min-width:760px){main{max-width:none}.hero{min-height:900px;padding-left:7vw;padding-right:7vw}.section{padding:110px max(8vw,32px)}.invitation{padding-bottom:0}.venue,.dress{width:100%;max-width:none;margin:0;padding:56px 0 0}.venue-heading,.venue-details,.dress-heading,.dress-details{width:min(calc(100% - 64px),920px);margin-right:auto;margin-left:auto}.framed-block{padding:28px}.rsvp-card{padding:30px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}[data-reveal]{opacity:1;transform:none}}html{width:100%;max-width:100%;overscroll-behavior-x:none}body,#root,main{width:100%;max-width:100%;min-width:0;overscroll-behavior-x:none;touch-action:pan-y}main{overflow:visible}main,section,footer,form,fieldset,.framed-block,.rsvp-card,.confirmation{min-width:0}img,svg,video,canvas{display:block;max-width:100%}.hero-meta>*,.hero-center>*,.venue-facts>*,.choice-grid>*,.plus-one>*{min-width:0}.primary-button,.secondary-button,.choice,.text-button{max-width:100%;white-space:normal;overflow-wrap:anywhere;text-align:center}footer span,footer small{max-width:100%;overflow-wrap:anywhere;text-align:center}@media(max-width:480px){.hero{min-height:100svh;height:100svh;padding:max(16px,env(safe-area-inset-top)) 16px max(20px,env(safe-area-inset-bottom));display:grid;grid-template-rows:auto minmax(0,1fr) auto;gap:10px}.hero-meta{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:6px;width:100%;padding-bottom:12px;font-size:.56rem;letter-spacing:.07em;white-space:nowrap}.hero-meta span:first-child{text-align:left}.hero-meta span:last-child{text-align:right}.hero-center{align-self:center;min-width:0;padding:8px 0}.diamond{width:32px;height:32px;margin-bottom:18px}.diamond span{font-size:16px}.hero-center .eyebrow{max-width:100%;margin:0 0 10px;font-size:.6rem;letter-spacing:.18em;white-space:normal}h1{max-width:100%;font-size:2.65rem;line-height:1.08;letter-spacing:.09em;white-space:nowrap}.venue-line{margin:16px 0 0;font-size:.62rem;letter-spacing:.18em}.hero-action{width:100%;gap:0}.hero-action .primary-button{width:100%;min-height:48px}.section{width:100%;padding-left:18px;padding-right:18px}.framed-block,.rsvp-card{width:100%;max-width:100%}.secondary-button{padding:10px 8px;letter-spacing:.11em}.choice-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.choice{padding:8px 6px;letter-spacing:.07em}.plus-one{gap:10px;flex-wrap:wrap}footer{width:100%;padding-left:14px;padding-right:14px}}@media(max-width:360px){.hero-meta{font-size:.5rem;letter-spacing:.04em}h1{font-size:2.35rem;letter-spacing:.075em}}.rsvp-card .field-error{color:#ffb4ab}.rsvp-card input[aria-invalid=true]{border-color:#ffb4ab}.mini-choice button{min-height:44px}@media(max-width:480px){.section{padding-top:56px;padding-bottom:0}.hero{height:clamp(560px,76svh,650px);min-height:0;padding:max(24px,env(safe-area-inset-top)) 24px 34px;grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr) auto;gap:10px}.hero-meta{grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;padding-bottom:14px;font-size:.64rem;line-height:1.55;letter-spacing:.12em;white-space:normal}.hero-meta strong{text-align:center}.hero-center{align-self:center;padding:0;transform:translateY(4px)}.diamond{width:36px;height:36px;margin-bottom:22px}.hero-center .eyebrow{margin:0 0 14px;font-size:.66rem;letter-spacing:.24em}h1{font-size:2.75rem;line-height:1.08;letter-spacing:.11em}.venue-line{margin-top:22px}.hero-action{position:relative;right:auto;bottom:auto;left:auto;width:100%;gap:13px}.hero-action .primary-button{min-height:54px}.hero-action small{font-size:.61rem;letter-spacing:.2em}.invitation{padding-top:0}.schedule>.eyebrow{margin-top:0}.rsvp-section{padding-bottom:56px}}.venue-line{display:flex;align-items:center;justify-content:center;gap:12px;width:100%;margin:18px 0 0}.venue-line p{margin:0;line-height:1.5}.venue-line p span{letter-spacing:.22em}.venue-line i{position:relative;width:46px;height:1px;background:linear-gradient(90deg,transparent,var(--line))}.venue-line i:last-child{background:linear-gradient(90deg,var(--line),transparent)}.venue-line i:after{content:"◆";position:absolute;top:50%;right:-2px;color:var(--gold);font-size:.45rem;transform:translateY(-50%)}.venue-line i:last-child:after{right:auto;left:-2px}.hero-event-data{display:flex;justify-content:space-between;width:100%;margin-top:28px;color:var(--burnished);font-family:Bodoni Moda,serif;font-size:clamp(2rem,10vw,2.5rem);font-weight:400;line-height:1;letter-spacing:.04em;text-shadow:0 2px 18px rgba(0,0,0,.9);transform:translateY(48px)}.venue-hero{position:relative;isolation:isolate;min-height:680px;overflow:hidden;border:0;display:grid;grid-template-rows:minmax(0,1fr) auto;padding:28px 22px;text-align:center}.venue-hero>img{position:absolute;z-index:-2;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;border:0}.venue-hero:after{content:"";position:absolute;z-index:-1;inset:0;background:linear-gradient(180deg,#111214,#111214e6 8%,#08090a4d 30%,#08090a7a 48%,#111214f0 76%,#111214)}.venue-heading{align-self:start;padding:24px 0 36px;text-shadow:0 2px 18px rgba(0,0,0,.85)}.venue-heading .eyebrow{margin:0 0 12px}.venue-heading h2{font-size:clamp(2.2rem,10vw,3.5rem)}.venue-details{text-align:left}.venue-details .script{margin:0 0 24px;color:var(--gold);text-align:center;font-size:1.1rem;text-shadow:0 2px 14px #000}.venue-details>p{margin:0;color:#f1eee7;line-height:1.65;font-size:.9rem;text-shadow:0 1px 8px #000}.venue-details .venue-facts{margin:22px 0 18px;border-color:#e8c5436b}.venue-details .secondary-button{background:#08090a61;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.dress-hero{position:relative;isolation:isolate;min-height:760px;overflow:hidden;display:grid;grid-template-rows:minmax(0,1fr) auto;padding:28px 22px;text-align:center}.dress-hero>img{position:absolute;z-index:-2;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 42%}.dress-hero:after{content:"";position:absolute;z-index:-1;inset:0;background:linear-gradient(180deg,#111214,#111214e0 8%,#08090a2e,#08090a5c 52%,#111214e6 72%,#111214)}.dress-heading{align-self:start;padding:24px 0 36px;text-shadow:0 2px 18px rgba(0,0,0,.9)}.dress-heading .eyebrow{margin:0 0 12px}.dress-heading h2{font-size:clamp(2rem,8vw,3.45rem)}.dress-details{text-align:left}.dress-details .section-intro{max-width:none;margin:0 0 18px;color:#f1eee7;line-height:1.65;text-shadow:0 1px 8px #000}.dress-card{border-color:#f5f3ef3d;background:#08090a8c;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}@media(max-width:480px){.venue{padding-right:0;padding-left:0}.venue-hero{min-height:650px;padding:24px 36px}.venue-heading{padding:10px 0 24px}.dress{padding-right:0;padding-left:0}.dress-hero{min-height:720px;padding:24px 36px}.dress-heading{padding:10px 0 24px}}.site-intro{--intro-x:50%;--intro-y:50%;--intro-diameter:200vmax;position:fixed;z-index:100;inset:0;overflow:hidden;pointer-events:all;touch-action:none;overscroll-behavior:none}.site-intro-aperture{position:absolute;z-index:1;top:var(--intro-y);left:var(--intro-x);width:0;height:0;border-radius:50%;transform:translate(-50%,-50%);filter:blur(18px);box-shadow:0 0 0 200vmax #111214;animation:intro-aperture 4s cubic-bezier(.25,.46,.45,.94) 1.3s forwards}.site-intro-title{position:fixed;z-index:2;display:grid;place-items:center;padding:0;color:#f5f3ef;font-family:Bodoni Moda,serif;font-weight:400;text-align:center;text-transform:uppercase;white-space:nowrap;text-shadow:0 2px 20px #000;opacity:0;animation:intro-title 1.3s ease forwards}.intro-active .hero h1{visibility:hidden}@keyframes intro-title{0%{opacity:0;filter:blur(7px)}to{opacity:1;filter:blur(0)}}@keyframes intro-aperture{0%{width:0;height:0}to{width:var(--intro-diameter);height:var(--intro-diameter)}}@media(prefers-reduced-motion:reduce){.site-intro{display:none}}@media(min-width:481px)and (max-width:1100px){.section{padding-top:56px;padding-bottom:0}.hero{min-height:0;height:clamp(640px,60svh,700px);display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto;align-content:end;gap:64px;padding:max(32px,env(safe-area-inset-top)) 7vw max(34px,env(safe-area-inset-bottom))}.hero-center{align-self:auto;width:min(100%,760px);justify-self:center}.hero-event-data{width:100%;margin:36px auto 0;transform:none}.hero-action{width:min(100%,888px);justify-self:center}.invitation{padding-top:0;padding-bottom:0}.venue,.dress{width:100%;max-width:none;padding-right:0;padding-left:0}.venue-heading,.venue-details,.dress-heading,.dress-details{width:min(100%,760px);margin-right:auto;margin-left:auto}.rsvp-section{padding-bottom:56px}}@media(min-width:1101px){.hero-event-data{transform:translateY(186px)}}
