.wedding-shell{--green:#15372f;--cream:#f5efe3;--paper:#fbf8f0;--clay:#b86e51;--gold:#c9a96d;background:var(--paper);color:var(--green);overflow:hidden}.wedding-nav{z-index:20;color:#fff8e9;border-bottom:1px solid #ffffff38;grid-template-columns:1fr auto 1fr;align-items:center;height:86px;padding:0 4vw;display:grid;position:absolute;inset:0 0 auto}.wedding-mark{color:inherit;font:28px Italiana,serif;text-decoration:none}.wedding-mark i{color:#dfbd83}.wedding-nav nav{align-items:center;gap:26px;display:flex}.wedding-nav nav a{letter-spacing:.18em;text-transform:uppercase;color:inherit;font-size:9px;text-decoration:none}.nav-rsvp{border:1px solid #fff9;padding:11px 17px}.menu-button{color:inherit;text-transform:uppercase;letter-spacing:.2em;background:0 0;border:0;font-size:9px;display:none}.wedding-hero{text-align:center;color:#fff7e8;background:linear-gradient(120deg,#0d3129f5,#143e34d4),repeating-linear-gradient(45deg,transparent 0 52px,#f2d29e33 53px 55px),var(--green);flex-direction:column;justify-content:center;align-items:center;height:100svh;min-height:760px;display:flex;position:relative}.wedding-hero:after{content:"";pointer-events:none;background:radial-gradient(circle at 73% 40%,#c16f4b75,#0000 25%);position:absolute;inset:0}.portuguese-kicker{z-index:2;text-transform:uppercase;letter-spacing:.4em;color:#e2c28d;margin:0 0 24px;font-size:9px;position:relative}.wedding-hero h1{z-index:2;letter-spacing:-.055em;margin:0;font:clamp(78px,13vw,170px)/.72 Italiana,serif;position:relative}.wedding-hero h1 em{color:#dfbd83;font-size:.55em}.hero-date{z-index:2;letter-spacing:.3em;margin:50px 0 6px;font:18px Italiana,serif;position:relative}.hero-place{z-index:2;text-transform:uppercase;letter-spacing:.32em;margin:0;font-size:9px;position:relative}.hero-arch{z-index:1;opacity:.5;border-radius:14vw 14vw 0 0;width:25vw;height:35vw;max-height:560px;position:absolute;bottom:-6%;right:-2vw}.wedding-sun{border:1px solid #e0bc8138;border-radius:50%;width:42vw;height:42vw;position:absolute;top:18%;left:-20vw}.down-arrow{z-index:3;color:#fff7e8;font-size:20px;text-decoration:none;position:absolute;bottom:28px}.photo-placeholder{text-align:center;color:#fffc;background:linear-gradient(135deg,#d8aa87,#7e8c75);border:1px solid #ffffff73;place-content:center;gap:7px;display:grid}.photo-placeholder span{text-transform:uppercase;letter-spacing:.22em;font-size:9px}.photo-placeholder small{letter-spacing:.1em;font-size:8px}.guest-welcome{background:var(--clay);color:#fff7e9;justify-content:center;align-items:center;gap:35px;padding:22px 5vw;display:flex}.guest-welcome span,.guest-welcome a{text-transform:uppercase;letter-spacing:.22em;font-size:9px}.guest-welcome p{margin:0;font:20px Italiana,serif}.guest-welcome a{color:inherit}.section-number{text-transform:uppercase;letter-spacing:.25em;border-bottom:1px solid #15372f38;padding-bottom:13px;font-size:9px}.section-number.light{color:#ead5af;border-color:#ffffff40}.story-section,.travel-section,.photos-section{padding:110px 6vw}.story-grid{grid-template-columns:1fr 1.1fr;align-items:start;gap:6vw;max-width:1200px;margin:80px auto 0;display:grid}.script{color:var(--clay);margin:0 0 15px;font:38px Parisienne,cursive;transform:rotate(-2deg)}.story-grid h2,.travel-heading h2,.photos-section h2{letter-spacing:-.045em;margin:0;font:clamp(55px,7.5vw,98px)/.93 Italiana,serif}.story-copy{padding-top:45px}.story-copy p{margin:0 0 22px;font:18px/1.75 Italiana,serif}.story-photo{border-radius:48% 48% 0 0;grid-column:1/3;width:70%;height:42vw;max-height:600px;margin:40px auto 0}.weekend-section{background:var(--green);color:#f7efdf;text-align:center;padding:110px 6vw 130px}.light-script{color:#d9b77d;margin-top:80px}.weekend-section>h2,.lisbon-section>h2{letter-spacing:-.04em;margin:0;font:clamp(54px,8vw,102px) Italiana,serif}.events{border-top:1px solid #ffffff40;border-bottom:1px solid #ffffff40;grid-template-columns:repeat(3,1fr);max-width:1200px;margin:80px auto 0;display:grid}.events article{border-right:1px solid #fff3;flex-direction:column;align-items:center;min-height:390px;padding:55px 35px;display:flex}.events article:last-child{border:0}.events article>span{letter-spacing:.25em;color:#d7b476;font-size:9px}.events h3{margin:28px 0 15px;font:40px Italiana,serif}.events p{margin:0;font:18px Italiana,serif}.events small{letter-spacing:.12em;text-transform:uppercase;margin-top:9px;font-size:9px}.events .event-note{opacity:.75;margin:30px 0;font:14px/1.6 Manrope,sans-serif}.events a{color:#ecdabf;text-transform:uppercase;letter-spacing:.16em;margin-top:auto;font-size:9px}.travel-heading{grid-template-columns:1.2fr 1fr;align-items:end;gap:8vw;max-width:1200px;margin:80px auto;display:grid}.travel-heading>p{font:19px/1.7 Italiana,serif}.travel-cards{grid-template-columns:repeat(3,1fr);gap:16px;max-width:1200px;margin:auto;display:grid}.travel-cards article{background:#eee4d3;min-height:280px;padding:45px 35px}.travel-cards span{color:var(--clay);letter-spacing:.2em;font-size:9px}.travel-cards h3{margin:25px 0 15px;font:31px Italiana,serif}.travel-cards p{font-size:13px;line-height:1.7}.hotel-list{max-width:1200px;margin:80px auto 0}.hotel-list h3{font:42px Italiana,serif}.hotel-list div{border-bottom:1px solid #15372f33;justify-content:space-between;padding:19px 0;display:flex}.hotel-list div span{font:21px Italiana,serif}.hotel-list small{text-transform:uppercase;letter-spacing:.15em;font-size:8px}.lisbon-section{background:var(--clay);color:#fff6e7;text-align:center;padding:110px 6vw 130px}.place-grid{text-align:left;border-top:1px solid #ffffff47;grid-template-columns:repeat(3,1fr);max-width:1200px;margin:80px auto 50px;display:grid}.place-grid article{border-bottom:1px solid #ffffff38;border-right:1px solid #ffffff38;padding:40px 32px}.place-grid article:nth-child(3n){border-right:0}.place-grid b{letter-spacing:.2em;color:#edd09d;font-size:8px}.place-grid h3{margin:22px 0 12px;font:32px Italiana,serif}.place-grid p{font-size:12px;line-height:1.7}.local-note{max-width:680px;margin:auto;font:21px/1.6 Italiana,serif}.photos-section{text-align:center}.photos-section .script{margin-top:70px}.photos-section h2{font-size:clamp(50px,7vw,88px)}.photo-grid{grid-template-rows:340px 340px;grid-template-columns:1.15fr .85fr;gap:18px;max-width:1150px;margin:70px auto 0;display:grid}.photo-grid .tall{grid-row:1/3}.photo-grid .wide{grid-column:2}.photo-grid>div:nth-child(3),.photo-grid>div:nth-child(4){display:none}.rsvp-section{background:#e8dbc5;padding:100px 5vw}.rsvp-card{text-align:center;background:var(--paper);border-radius:425px 425px 0 0;max-width:850px;margin:auto;padding:90px 9%;box-shadow:0 30px 80px #2731291c}.rsvp-card h2{margin:0 0 35px;font:clamp(55px,8vw,90px) Italiana,serif}.lookup-note{max-width:510px;margin:auto;font:18px/1.6 Italiana,serif}.household-name{font:23px Italiana,serif}.rsvp-card form{text-align:left}.rsvp-card fieldset{border:1px solid #15372f40;gap:25px;margin:30px 0;padding:24px;display:flex}.rsvp-card legend{text-transform:uppercase;letter-spacing:.15em;padding:0 8px;font-size:10px}.rsvp-card fieldset label{font:16px Italiana,serif}.field{text-transform:uppercase;letter-spacing:.18em;margin:24px 0;font-size:9px;display:block}.field input,.field textarea{background:0 0;border:0;border-bottom:1px solid #15372f59;width:100%;margin-top:9px;padding:15px;font:15px Manrope,sans-serif}.field textarea{resize:vertical;min-height:80px}.rsvp-card form button{background:var(--green);color:#fff;text-transform:uppercase;letter-spacing:.18em;border:0;justify-content:space-between;width:100%;padding:18px 22px;font-size:9px;display:flex}.success-message span{background:var(--green);color:#fff;border-radius:50%;place-items:center;width:55px;height:55px;margin:auto;display:grid}.success-message h3{color:var(--clay);margin:25px 0 5px;font:50px Parisienne,cursive}.success-message p{font:18px Italiana,serif}.wedding-footer{color:#f5e9d6;background:#102d27;grid-template-columns:1fr auto 1fr;align-items:end;padding:65px 6vw;display:grid}.wedding-footer span{font:54px Italiana,serif}.wedding-footer p{color:#d8b67e;margin:0;font:28px Parisienne,cursive}.wedding-footer small{text-align:right;letter-spacing:.24em;text-transform:uppercase;font-size:8px}@media (max-width:760px){.wedding-nav{grid-template-columns:1fr 1fr;height:72px;padding:0 22px}.wedding-nav nav{background:var(--green);flex-direction:column;padding:25px;display:none;position:absolute;top:72px;left:0;right:0}.wedding-nav nav.open{display:flex}.menu-button{text-align:right;display:block}.wedding-hero{min-height:700px}.hero-arch{opacity:.35;width:42vw;height:59vw}.guest-welcome{text-align:center;flex-direction:column;gap:10px}.story-section,.travel-section,.photos-section,.weekend-section,.lisbon-section{padding:80px 22px}.story-grid,.travel-heading{grid-template-columns:1fr;margin-top:50px}.story-copy{padding:0}.story-photo{grid-column:auto;width:100%;height:110vw}.events,.travel-cards,.place-grid{grid-template-columns:1fr}.events article,.place-grid article{border-bottom:1px solid #ffffff38;border-right:0}.hotel-list div{align-items:start;gap:15px}.hotel-list small{text-align:right;line-height:1.5}.photo-grid{grid-template-rows:460px 250px;grid-template-columns:1fr}.photo-grid .tall{grid-row:auto}.photo-grid .wide{grid-column:auto}.rsvp-section{padding:50px 14px}.rsvp-card{border-radius:50vw 50vw 0 0;padding:75px 24px 45px}.rsvp-card fieldset{flex-direction:column}.wedding-footer{grid-template-columns:1fr 1fr}.wedding-footer p{display:none}}.wedding-nav{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#15372feb;position:fixed}.wedding-shell section{scroll-margin-top:85px}.connected-film{color:#15372f;background:#f5efe3;padding:110px 6vw 120px}.film-heading{grid-template-columns:1.15fr .85fr;align-items:end;gap:8vw;max-width:1200px;margin:70px auto 50px;display:grid}.film-heading h2{letter-spacing:-.045em;margin:0;font:clamp(54px,7.5vw,96px)/.92 Italiana,serif}.film-heading>p{font:19px/1.7 Italiana,serif}.connected-video{aspect-ratio:16/8.5;background:#e7d8c1;max-width:1200px;margin:auto;padding:24px;box-shadow:0 35px 80px #1f31291f}.connected-video>div{color:#f7eddc;background:linear-gradient(140deg,#15372fcc,#15372feb),radial-gradient(circle at 70% 35%,#b86e51,#0000 28%),#15372f;align-content:space-between;place-items:center;height:100%;padding:38px;display:grid}.connected-video span,.connected-video small{text-transform:uppercase;letter-spacing:.25em;font-size:8px}.connected-video button{background:#ffffff0d;border:1px solid #ffffffb3;border-radius:50%;width:88px;height:88px;position:relative}.connected-video button i{border-top:8px solid #0000;border-bottom:8px solid #0000;border-left:13px solid #fff;width:0;height:0;position:absolute;top:50%;left:54%;transform:translate(-50%,-50%)}.film-actions{justify-content:space-between;max-width:1200px;margin:25px auto 0;display:flex}.film-actions a{color:#15372f;text-transform:uppercase;letter-spacing:.18em;font-size:9px}.welcome-exclusive{text-align:left;background:#ffffff0d;border:1px solid #daba828c;grid-template-columns:.55fr 1fr 1fr;align-items:center;gap:40px;max-width:1200px;margin:55px auto -25px;padding:35px 40px;display:grid}.welcome-exclusive>span{color:#d9b77d;text-transform:uppercase;letter-spacing:.22em;align-self:start;font-size:8px}.welcome-exclusive h3{margin:7px 0;font:42px Italiana,serif}.welcome-exclusive div p,.welcome-exclusive div small{text-transform:uppercase;letter-spacing:.15em;margin:0;font-size:8px}.welcome-exclusive>p{font:16px/1.6 Italiana,serif}@media (max-width:980px){.wedding-nav nav{gap:14px}.wedding-nav nav a{font-size:7px}}@media (max-width:760px){.wedding-nav{position:fixed}.connected-film{padding:80px 20px}.film-heading{grid-template-columns:1fr;margin:50px auto 35px}.connected-video{aspect-ratio:4/5;padding:10px}.connected-video>div{text-align:center;padding:25px}.film-actions{flex-direction:column;gap:20px}.welcome-exclusive{grid-template-columns:1fr;gap:15px;margin-top:40px;padding:25px}.welcome-exclusive h3{font-size:36px}}
