:root{--ink:#1b1b18;--paper:#f0eee7;--gold:#c7a668}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--paper);color:var(--ink);margin:0;font-family:Arial,Helvetica,sans-serif}a,button,input,select,textarea{font:inherit}.hero{color:#fff;background:#211d18 url(/hero-wedding.png) 50%/cover no-repeat;min-height:100svh;position:relative;overflow:hidden}.heroShade{background:linear-gradient(90deg,#0a0907d1 0%,#0a09076b 45%,#0a090714 75%),linear-gradient(#0000 52%,#09080661);position:absolute;inset:0}.nav{z-index:3;border-bottom:1px solid #ffffff40;justify-content:space-between;align-items:center;padding:28px 4.5vw;display:flex;position:absolute;top:0;left:0;right:0}.monogram{letter-spacing:.08em;color:#fff;font-family:Georgia,serif;font-size:23px;text-decoration:none}.monogram span{color:var(--gold);margin:0 2px;font-style:italic}.navLinks{align-items:center;gap:38px;display:flex}.navLinks a{color:#fff;text-transform:uppercase;letter-spacing:.18em;font-size:12px;text-decoration:none}.navRsvp{border:1px solid #ffffffa6;padding:12px 18px}.heroContent{z-index:2;max-width:780px;padding:23vh 7vw 13vh;position:relative}.eyebrow,.sectionLabel{text-transform:uppercase;letter-spacing:.25em;font-size:11px}.eyebrow{align-items:center;gap:14px;display:flex}.eyebrow:before{content:"";background:var(--gold);width:35px;height:1px}h1{letter-spacing:-.065em;margin:50px 0 40px;font-family:Georgia,Times New Roman,serif;font-size:clamp(70px,10vw,150px);font-weight:400;line-height:.76}h1 i{color:var(--gold);font-weight:400}.heroMeta{gap:48px;margin-bottom:48px;font-family:Georgia,serif;font-size:18px;font-style:italic;display:flex}.primaryButton{color:#191815;text-transform:uppercase;letter-spacing:.17em;background:#f3f0e8;align-items:center;gap:48px;padding:18px 22px;font-size:11px;text-decoration:none;transition:all .2s;display:inline-flex}.primaryButton:hover{background:var(--gold)}.primaryButton span{color:#8f7041;font-size:18px}.scrollCue{z-index:3;color:#fff;text-transform:uppercase;letter-spacing:.18em;align-items:center;gap:14px;font-size:9px;text-decoration:none;display:flex;position:absolute;bottom:36px;right:4.5vw}.scrollCue b{color:var(--gold);font-size:21px}.welcome{text-align:center;background:radial-gradient(circle at 50% 10%,#faf8f2,var(--paper) 65%);flex-direction:column;justify-content:center;align-items:center;min-height:82vh;padding:100px 24px;display:flex}.sectionLabel{color:#8a744d}.welcome h2,.details h2,.attire h2,.rsvp h2{letter-spacing:-.04em;margin:38px 0;font-family:Georgia,serif;font-size:clamp(42px,6vw,82px);font-weight:400;line-height:1.05}.welcome h2 em,.details h2 em,.attire h2 em,.rsvp h2 em{color:#907548;font-weight:400}.welcomeCopy{color:#5c5a54;max-width:630px;margin:0;font:18px/1.8 Georgia,serif}.dateSeal{text-align:left;border:1px solid #bda77c;border-radius:50%;justify-content:center;align-items:center;gap:8px;width:106px;height:106px;margin-top:55px;display:flex;transform:rotate(-7deg)}.dateSeal b{font:40px/1 Georgia,serif}.dateSeal span{text-transform:uppercase;letter-spacing:.12em;font-size:9px;line-height:1.5}.story{color:#f3f0e7;background:#20201c;grid-template-columns:1.1fr .9fr;min-height:90vh;display:grid}.storyImage{filter:saturate(.65)contrast(1.04);background:url(/hero-wedding.png) 75%/cover no-repeat;min-height:660px}.storyCopy{flex-direction:column;justify-content:center;padding:10vw;display:flex}.storyCopy h2{letter-spacing:-.045em;margin:35px 0;font:400 clamp(42px,5vw,72px)/1.05 Georgia,serif}.storyCopy p:not(.sectionLabel){color:#c6c0b2;max-width:460px;font:17px/1.8 Georgia,serif}.signature{color:#f4efe2;margin-top:45px;font:42px Georgia,serif}.signature i{color:var(--gold)}.details{background:#f6f3ec;padding:130px 7vw 150px}.detailsIntro{text-align:center}.timeline{grid-template-columns:1fr 80px 1fr;max-width:1180px;margin:90px auto 0;display:grid}.eventCard{background:#eeeadf;border:1px solid #c9c3b5;padding:54px 52px 45px;position:relative}.eventCardDark{color:#f3f0e8;background:#292a25;border-color:#292a25}.eventNumber{color:#af9b73;font:italic 35px Georgia,serif;position:absolute;top:20px;right:25px}.eventType{text-transform:uppercase;letter-spacing:.2em;font-size:10px}.eventCard h3{margin:55px 0 10px;font:400 clamp(35px,4vw,58px) Georgia,serif}.eventCard time{color:#9b7945;font:italic 32px Georgia,serif}.eventNote{color:#6d685e;max-width:360px;min-height:80px;font:15px/1.7 Georgia,serif}.eventCardDark .eventNote{color:#c7c1b6}.eventCard a{color:inherit;text-transform:uppercase;letter-spacing:.17em;border-top:1px solid;justify-content:space-between;margin-top:30px;padding-top:18px;font-size:10px;text-decoration:none;display:flex}.timelineLine{justify-content:center;align-items:center;display:flex;position:relative}.timelineLine:before{content:"";background:#b5ad9d;width:1px;position:absolute;top:0;bottom:0}.timelineLine span{z-index:1;writing-mode:vertical-rl;text-transform:uppercase;letter-spacing:.22em;color:#8b7a5e;background:#f6f3ec;padding:20px 0;font-size:9px}.attire{background:#ded8cb;grid-template-columns:1fr 1fr;align-items:center;gap:8vw;padding:130px 10vw;display:grid}.attireCopy>p{margin:0 0 20px;font:italic 32px Georgia,serif}.attireCopy>span{color:#5d594f;max-width:530px;font:16px/1.75 Georgia,serif;display:block}.swatches{margin-top:42px;display:flex}.swatches i{border:3px solid #ded8cb;border-radius:50%;width:48px;height:48px;margin-left:-8px}.swatches i:first-child{background:#eee9dc}.swatches i:nth-child(2){background:#bdad8e}.swatches i:nth-child(3){background:#8b7b61}.swatches i:nth-child(4){background:#42473c}.swatches i:nth-child(5){background:#1e221e}.rsvp{color:#efede5;background:#24241f;grid-template-columns:.82fr 1.18fr;gap:8vw;padding:135px 8vw;display:grid}.rsvpHeading>p:last-child{color:#bbb5a8;max-width:400px;font:16px/1.75 Georgia,serif}.rsvpForm{color:#23231f;background:#efede5;align-self:start;padding:55px}.rsvpForm fieldset{border:0;margin:0 0 32px;padding:0}.rsvpForm legend,.guestFields>p{margin-bottom:20px;font:italic 23px Georgia,serif}.choice{cursor:pointer;border:1px solid #c5bfb2;align-items:center;margin-top:10px;padding:18px 20px;display:flex}.choice.active{background:#e7e0d2;border-color:#8b7046}.choice input{accent-color:#8b7046;margin:0 12px 0 0}.field{margin-top:24px;display:block}.field>span{text-transform:uppercase;letter-spacing:.15em;color:#68645b;justify-content:space-between;margin-bottom:9px;font-size:9px;display:flex}.field small{font-size:8px}.field input,.field select,.field textarea{color:#23231f;background:0 0;border:0;border-bottom:1px solid #888276;border-radius:0;outline:none;width:100%;padding:12px 2px}.field input:focus,.field select:focus,.field textarea:focus{border-color:#8f6e36}.guestFields{margin-top:34px}.field.compact{margin-top:14px}.rsvpForm button{color:#fff;text-transform:uppercase;letter-spacing:.18em;cursor:pointer;background:#8c7043;border:0;justify-content:space-between;width:100%;margin-top:38px;padding:20px;font-size:10px;display:flex}.rsvpForm button:disabled{opacity:.55;cursor:wait}.formMessage{text-align:center;margin:24px 0 0;font:15px/1.5 Georgia,serif}.formMessage.success{color:#52664b}.formMessage.error{color:#9b4036}footer{text-align:center;color:#f3f0e8;background:#161714;flex-direction:column;justify-content:center;align-items:center;min-height:58vh;padding:80px 20px;display:flex}footer p{color:#b49a69;font:italic 20px Georgia,serif}footer h2{letter-spacing:-.055em;margin:20px 0 38px;font:400 clamp(52px,8vw,110px)/1 Georgia,serif}footer h2 i{color:var(--gold);font-weight:400}footer span{text-transform:uppercase;letter-spacing:.28em;color:#aaa496;font-size:10px}@media (max-width:800px){.nav{padding:20px 22px}.navLinks a:not(.navRsvp){display:none}.navLinks{gap:12px}.heroContent{padding:22vh 25px 120px}.heroShade{background:linear-gradient(90deg,#0a0907bd,#0a090724),linear-gradient(#0000 50%,#0908067a)}h1{margin:45px 0 35px;font-size:73px}.heroMeta{flex-direction:column;gap:12px;font-size:15px}.scrollCue span{display:none}.welcome{min-height:70vh}.welcomeCopy{font-size:16px}.story{grid-template-columns:1fr}.storyImage{min-height:58vh}.storyCopy{padding:90px 26px}.timeline{grid-template-columns:1fr;gap:20px;margin-top:55px}.timelineLine{display:none}.eventCard{padding:42px 28px}.attire{grid-template-columns:1fr;padding:90px 26px}.rsvp{grid-template-columns:1fr;padding:90px 20px}.rsvpHeading{padding:0 6px}.rsvpForm{padding:32px 22px}footer{min-height:48vh}}
