:root{--green:#5f704f;--green-dark:#5f704f;--green-soft:#8f9980;--ivory:#f4f0e7;--paper:#faf7ef;--gold:#a68a55;--gold-light:#c9b88e;--ink:#29372f;--stone:#d8d0c0;--serif:"Cormorant Garamond",Georgia,serif;--sans:"DM Sans",Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-weight:300}a{color:inherit}.topbar{position:absolute;z-index:10;top:0;left:0;width:100%;display:flex;justify-content:space-between;align-items:center;padding:26px 4vw;color:var(--green)}.mini-monogram{position:relative;width:48px;height:40px;color:var(--gold);text-decoration:none;font:500 31px/.9 var(--serif)}.mini-monogram span{position:absolute}.mini-monogram span:first-child{left:0;top:0}.mini-monogram span:last-child{left:18px;top:9px}.topbar nav{display:flex;gap:32px}.topbar nav a{text-decoration:none;text-transform:uppercase;font-size:10px;letter-spacing:.2em}.menu-toggle{display:none;color:inherit;background:none;border:0;text-transform:uppercase;letter-spacing:.15em}.hero{position:relative;min-height:100svh;display:grid;place-items:center;overflow:hidden;background:var(--ivory);padding:95px 20px 50px}.paper-grain{position:absolute;inset:0;opacity:.4;pointer-events:none;background-image:radial-gradient(rgba(95,112,79,.12) .55px,transparent .7px),radial-gradient(rgba(166,138,85,.1) .55px,transparent .7px);background-size:9px 11px,13px 15px;background-position:0 0,5px 4px}.hero:before,.hero:after{content:"";position:absolute;border:1px solid rgba(166,138,85,.5);inset:22px}.hero:after{inset:29px;border-color:rgba(166,138,85,.18)}.hero-inner{position:relative;z-index:1;text-align:center;display:flex;align-items:center;flex-direction:column}.eyebrow,.kicker{text-transform:uppercase;letter-spacing:.34em;font-size:10px}.hero-monogram,.signature-monogram,.footer-monogram{position:relative;color:var(--gold);font:400 clamp(90px,12vw,155px)/.8 var(--serif);width:1.25em;height:.9em;margin:5vh 0 3vh}.hero-monogram span,.signature-monogram span,.footer-monogram span{position:absolute}.hero-monogram span:first-child,.signature-monogram span:first-child,.footer-monogram span:first-child{left:.05em;top:0}.hero-monogram span:last-child,.signature-monogram span:last-child,.footer-monogram span:last-child{left:.47em;top:.18em}.hero h1{font:400 clamp(54px,7vw,100px)/.8 var(--serif);letter-spacing:.025em;margin:0;color:var(--green)}.hero h1 span{display:inline-block}.hero h1 i{font-weight:400;margin:0 .2em;color:var(--gold)}.fine-rule{height:1px;width:50px;background:var(--gold);margin:35px 0 25px}.hero-date{text-transform:uppercase;letter-spacing:.35em;font-size:12px;margin:0}.hero-place{font:italic 400 23px/1 var(--serif);margin:17px 0 0}.down{position:absolute;top:calc(100% + 5vh);text-decoration:none;text-transform:uppercase;letter-spacing:.2em;font-size:9px}.down span{display:block;font-size:16px;margin-top:8px}.welcome{padding:clamp(90px,11vw,170px) clamp(24px,8vw,130px);display:grid;grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);gap:clamp(50px,8vw,120px);align-items:center}.portrait{position:relative;margin:0;aspect-ratio:4/5;overflow:hidden;background:#cfc6b5}.portrait:after{content:"";position:absolute;inset:18px;border:1px solid rgba(244,240,231,.6);pointer-events:none}.portrait img{width:100%;height:100%;display:block;object-fit:cover;object-position:50% 50%;filter:saturate(.86) contrast(.98)}.welcome-copy h2,.stay h2,.weekend h2,.rsvp h2,.contact h2,.mallorca h2{font:400 clamp(59px,7vw,112px)/.78 var(--serif);letter-spacing:-.04em;margin:25px 0 45px}.welcome-copy h2 em{color:var(--green);font-weight:400}.intro-copy{font:400 clamp(22px,2.2vw,32px)/1.4 var(--serif);max-width:520px}.intro-copy p:last-child{font-size:.72em;font-style:italic;margin-top:30px}.signature-monogram{font-size:70px;margin:50px 0 0;width:90px}.mallorca{position:relative;overflow:hidden;min-height:85svh;display:flex;align-items:center;background:var(--green);color:var(--ivory);padding:10vw}.mallorca-word{position:absolute;left:-1vw;right:0;bottom:-.08em;white-space:nowrap;font:500 18vw/.75 var(--serif);letter-spacing:-.07em;color:rgba(243,238,225,.055)}.mallorca-copy{position:relative;margin-left:auto;width:min(600px,100%)}.mallorca-copy p:not(.kicker){max-width:480px;font:400 20px/1.5 var(--serif)}.mallorca-copy .small{font-size:15px!important;color:var(--gold-light);font-style:italic}.light{color:var(--gold-light)}.stay{padding:clamp(100px,11vw,170px) 8vw;background:var(--ivory);display:grid;grid-template-columns:minmax(260px,.72fr) minmax(0,1.28fr);gap:clamp(60px,9vw,150px);align-items:start}.stay header h2{max-width:480px}.hotel-card{border-top:1px solid var(--gold);border-bottom:1px solid var(--gold);padding:35px 0 42px;display:grid;grid-template-columns:100px 1fr;gap:30px}.hotel-number,.hotel-card span,.dress{text-transform:uppercase;letter-spacing:.2em;font-size:10px}.hotel-card h3{font:400 clamp(42px,5vw,70px)/.95 var(--serif);margin:55px 0 25px}.hotel-card p{max-width:590px;font:400 21px/1.55 var(--serif);margin-bottom:50px}.hotel-card span{color:var(--green-soft)}.weekend{padding:clamp(100px,11vw,170px) 8vw;display:grid;grid-template-columns:1fr 1.15fr;gap:8vw}.section-no{font-size:11px;letter-spacing:.2em}.event-list{border-top:1px solid var(--stone)}.event-list article{display:grid;grid-template-columns:55px 1fr;gap:25px;border-bottom:1px solid var(--stone);padding:45px 0}.event-no{font-size:11px;letter-spacing:.2em;color:var(--gold)}.event-list p{margin:7px 0;color:#627066}.event-list .day{text-transform:uppercase;letter-spacing:.24em;font-size:10px}.event-list h3{font:400 clamp(38px,4vw,55px)/1 var(--serif);margin:15px 0}.dress{margin-top:24px!important}.dress b{color:var(--green);font-weight:500;margin-left:10px}.contact{padding:clamp(100px,11vw,170px) 8vw;display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,.86fr);gap:clamp(60px,10vw,160px);align-items:end;background:var(--ivory);border-top:1px solid var(--stone)}.contact-details>p{max-width:520px;margin:0 0 46px;font:400 clamp(22px,2.2vw,32px)/1.42 var(--serif)}.contact-details a{display:grid;grid-template-columns:100px 1fr;gap:18px;padding:22px 0;border-top:1px solid var(--gold);border-bottom:1px solid var(--gold);text-decoration:none;overflow-wrap:anywhere}.contact-details a span{text-transform:uppercase;letter-spacing:.18em;font-size:10px;padding-top:4px}.rsvp{background:var(--green-dark);color:var(--ivory);padding:clamp(100px,11vw,170px) 8vw;display:grid;grid-template-columns:1fr 1fr;gap:10vw}.rsvp-panel{max-width:560px;padding-top:45px}.rsvp-panel>p{font:400 25px/1.45 var(--serif)}label{display:block;text-transform:uppercase;letter-spacing:.14em;font-size:10px;margin:28px 0 10px}input,select,textarea{width:100%;font:300 16px var(--sans);color:var(--ivory);background:transparent;border:0;border-bottom:1px solid rgba(244,240,231,.45);padding:13px 2px;border-radius:0}textarea{resize:vertical}.choices{display:grid;grid-template-columns:1fr 1fr;gap:10px}.choices label{border:1px solid rgba(201,184,142,.45);padding:18px;text-transform:none;letter-spacing:0;font-size:14px;margin:0}.choices input{width:auto;margin-right:8px}.code-form>div{display:flex}.code-form button,.submit{border:0;background:var(--gold-light);color:var(--green-dark);padding:16px 24px;text-transform:uppercase;letter-spacing:.15em;font-size:10px}.code-form input{flex:1}.submit{width:100%;margin-top:34px;display:flex;justify-content:space-between}.demo{font-size:14px!important;color:var(--gold-light)}.honey{position:absolute;left:-9999px}.notice{padding:15px;border:1px solid var(--gold-light)}.form-welcome{font-style:italic}.response-page{min-height:100vh;background:var(--green-dark);color:var(--ivory);display:grid;place-items:center;text-align:center}.response-page main{max-width:650px;padding:30px}.response-page h1{font:400 clamp(60px,10vw,120px)/.85 var(--serif)}.response-page p{font:22px/1.4 var(--serif)}.response-page a{color:var(--gold-light);text-transform:uppercase;letter-spacing:.15em;font-size:11px}footer{background:var(--green-soft);color:var(--ink);padding:65px 8vw;display:grid;grid-template-columns:90px 1fr auto;gap:35px;align-items:center}footer p{font:400 46px/1 var(--serif);margin:0}footer p i{color:var(--green-dark)}footer>span{font-size:10px;letter-spacing:.2em;text-transform:uppercase}.footer-monogram{font-size:52px;width:70px;margin:0;color:var(--gold-light)}@media(max-width:760px){.topbar{padding:23px 25px}.topbar nav{display:none;position:absolute;top:68px;left:20px;right:20px;background:var(--ivory);padding:25px;flex-direction:column;border:1px solid var(--gold-light)}.topbar nav.open{display:flex}.menu-toggle{display:block}.hero:before{inset:10px}.hero:after{inset:16px}.hero-monogram{font-size:105px;margin-top:3vh}.hero h1{font-size:15vw}.hero h1 span{display:block}.hero h1 i{display:block;font-size:.55em;margin:.15em 0}.hero-date{font-size:10px;letter-spacing:.25em}.hero-place{font-size:20px}.down{display:none}.welcome{grid-template-columns:1fr;gap:55px;padding:80px 18px}.portrait{aspect-ratio:4/5}.welcome-copy{padding:0 4vw}.welcome-copy h2{font-size:20vw}.mallorca{padding:110px 7vw;min-height:75svh}.mallorca-word{font-size:27vw;transform:rotate(-90deg);left:-62vw;bottom:45%}.stay,.weekend,.rsvp,.contact{grid-template-columns:1fr;padding:90px 7vw}.stay,.weekend,.contact{gap:45px}.hotel-card{grid-template-columns:1fr;gap:0}.hotel-card h3{margin-top:35px}.section-no{display:none}.rsvp{gap:10px}.choices{grid-template-columns:1fr}.contact-details a{grid-template-columns:1fr;gap:8px}footer{grid-template-columns:70px 1fr;align-items:center}footer p{font-size:36px}footer>span{grid-column:1/-1}.footer-monogram{font-size:45px}}
.mini-monogram{display:block;width:48px;height:58px}.mini-monogram img{display:block;width:100%;height:100%;object-fit:contain}.hero-monogram{display:block;width:clamp(95px,12vw,150px);height:auto;margin:5vh 0 3vh;object-fit:contain}.signature-monogram{display:block;width:82px;height:auto;margin:50px 0 0}.footer-monogram{display:block;width:64px;height:auto;margin:0}.weekend{position:relative;overflow:hidden}.weekend>header,.weekend>.event-list{position:relative;z-index:1}.weekend-watermark{position:absolute;z-index:0;width:min(38vw,520px);height:auto;left:4vw;bottom:0;opacity:.075;filter:grayscale(1) sepia(.25)}.response-monogram{display:block;width:100px;height:auto;margin:0 auto 30px}@media(max-width:760px){.mini-monogram{width:43px;height:52px}.hero-monogram{width:105px;margin-top:3vh}.signature-monogram{width:70px}.weekend-watermark{width:85vw;left:-16vw;bottom:6%;opacity:.065}.footer-monogram{width:56px}}
