/* Mia & Lachie — refined editorial edition v1.0.0 */
:root{--ivory:#faf8f3;--cream:#f1ece3;--paper:#fffefa;--ink:#292824;--muted:#77716a;--forest:#262a26;--gold:#b79f7b;--line:#dcd5c9;--serif:'Cormorant Garamond',Georgia,serif;--sans:'DM Sans',Arial,sans-serif;--script:'Pinyon Script',cursive}
*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:85px}body{margin:0;background:var(--ivory);color:var(--ink);font:400 21px/1.45 var(--serif);-webkit-font-smoothing:antialiased}img{max-width:100%;height:auto}button,input,textarea,select{font:inherit}a{color:inherit}button{cursor:pointer}::selection{background:#e8d7c0;color:#292824}:focus-visible{outline:2px solid var(--gold);outline-offset:4px}.skip-link{position:absolute;top:-200px;left:18px;background:#fff;padding:8px 15px;z-index:100;font:600 13px var(--sans)}.skip-link:focus{top:12px}
.site-header{height:80px;display:flex;align-items:center;gap:25px;justify-content:space-between;padding:0 clamp(24px,5vw,85px);background:var(--ivory);border-bottom:1px solid var(--line);position:relative;z-index:5}.wordmark{font:500 31px/1 var(--serif);letter-spacing:.09em;text-decoration:none;white-space:nowrap}.wordmark span{font-size:19px;color:#9e8469;margin:0 5px}.site-nav{display:flex;gap:clamp(16px,2.4vw,39px);align-items:center;margin-left:auto}.site-nav a,.header-date,.text-button{font:600 10px/1.3 var(--sans);letter-spacing:.21em;text-decoration:none;white-space:nowrap}.site-nav a:hover,.text-button:hover{color:#9c8060}.text-button{background:none;border:0;padding:5px;color:var(--muted)}.header-date{margin-left:17px;color:var(--muted)}.signout-form{margin:0}
.hero{position:relative;isolation:isolate;min-height:min(780px,calc(100svh - 80px));background:#2a2d2a;display:grid;place-items:center;text-align:center;overflow:hidden;padding:86px 20px 92px;color:#f8f6ef}.hero:before{content:'';position:absolute;inset:0;z-index:-2;background-image:linear-gradient(120deg,#232824,#363832 55%,#242824);background-size:cover;background-position:center}.hero--with-photo:before{background-image:linear-gradient(rgba(13,17,14,.44),rgba(13,17,14,.56)),var(--hero-image);background-size:cover;background-position:center}.hero:after{content:'M  ·  L';position:absolute;inset:0;z-index:-1;display:flex;align-items:center;justify-content:center;font:400 min(36vw,470px)/1 var(--serif);letter-spacing:-.07em;color:rgba(255,255,255,.025);pointer-events:none;white-space:nowrap}.hero--with-photo:after{display:none}.hero__frame{position:absolute;inset:24px;border:1px solid rgba(255,255,255,.28);pointer-events:none}.hero__frame:before,.hero__frame:after{content:'';position:absolute;background:var(--gold);width:6px;height:6px;transform:rotate(45deg);left:50%;margin-left:-3px}.hero__frame:before{top:-3px}.hero__frame:after{bottom:-3px}.hero__content{width:min(830px,100%);position:relative;z-index:2}.hero__fine-print{font:500 10px/1.4 var(--sans);letter-spacing:.32em;color:#c9bda8;margin:0 0 51px}.hero__fine-print span{padding:0 10px;color:var(--gold)}.hero__guestline{margin:0 0 18px;font:600 11px/1.4 var(--sans);letter-spacing:.35em;color:#f2ecdf}.hero__invited{font:italic 33px/1.1 var(--serif);margin:0 0 20px;color:#dfd0b8}.hero__names{margin:0;font:400 clamp(105px,12.7vw,195px)/.65 var(--serif);letter-spacing:-.065em;display:flex;align-items:center;justify-content:center;gap:clamp(12px,2vw,30px)}.hero__names span{display:block}.hero__names em{font:400 clamp(68px,8vw,120px)/1 var(--script);letter-spacing:0;color:#dfc5a4;transform:rotate(-10deg) translateY(15px);margin:0 -8px}.hero__divider{display:flex;align-items:center;justify-content:center;gap:18px;color:var(--gold);margin:57px 0 22px}.hero__divider span{width:75px;max-width:15%;height:1px;background:#8b8c82}.hero__divider i{font-style:normal;font-size:15px}.hero__location{font:600 12px var(--sans);letter-spacing:.24em;margin:0 0 10px}.hero__date{font:400 22px var(--serif);letter-spacing:.1em;margin:0}.hero__cta{display:inline-flex;gap:26px;align-items:center;justify-content:center;margin-top:35px;padding:15px 26px;border:1px solid rgba(244,236,220,.73);font:600 10px/1.4 var(--sans);letter-spacing:.19em;text-decoration:none;transition:background .25s,color .25s}.hero__cta:hover{background:#f4eee4;color:var(--ink)}.hero__cta span{font-size:16px}.hero__bottom{position:absolute;bottom:43px;left:0;width:100%;font:500 9px/1.2 var(--sans);letter-spacing:.25em;color:#c1bcaf}
.section-inner{width:min(1120px,calc(100% - 48px));margin:0 auto}.eyebrow{margin:0 0 22px;font:600 10px/1.4 var(--sans);letter-spacing:.32em;color:#967c61}.fine-rule{width:75px;height:1px;background:var(--gold);margin:28px 0}.entry-section{padding:125px 0 130px;background:var(--ivory)}.entry-section__layout{display:grid;grid-template-columns:.9fr 1fr;gap:clamp(35px,8vw,125px);align-items:center}.entry-section__intro h2,.section-title h2,.rsvp-intro h2{font:400 clamp(65px,7.5vw,110px)/.86 var(--serif);letter-spacing:-.045em;margin:0}.entry-section__intro h2 em,.section-title h2 em,.rsvp-intro h2 em,.detail-panel h3 em{font-weight:400;color:#9a8063}.entry-section__intro>p:not(.eyebrow){font-size:25px;line-height:1.35;margin:0 0 16px;max-width:460px}.entry-section__intro .entry-section__hint{font-size:19px!important;color:var(--muted);max-width:405px}.entry-card{padding:clamp(30px,4vw,58px);background:var(--paper);border:1px solid var(--line);box-shadow:0 22px 60px rgba(26,30,26,.045);position:relative}.entry-card:before{content:'';pointer-events:none;position:absolute;inset:9px;border:1px solid #eae4d8}.entry-card>*{position:relative}.entry-card__corner{font:600 9px var(--sans);letter-spacing:.2em;color:#978c7e;text-align:center;margin:0 0 44px}.entry-card__small{font:600 10px var(--sans);letter-spacing:.3em;text-align:center;margin:0 0 13px;color:#977e63}.entry-card h3{font:400 62px/.85 var(--serif);text-align:center;margin:0 0 39px;letter-spacing:-.045em}.entry-card h3 em{color:#987f64;font-weight:400}.entry-card form{display:flex;flex-direction:column}.entry-card label{font:600 10px var(--sans);letter-spacing:.2em;margin:22px 0 4px}.entry-card input{border:0;border-bottom:1px solid #c7bfb1;background:transparent;border-radius:0;outline:0;height:43px;padding:4px 1px;color:var(--ink);font:400 21px var(--serif);min-width:0}.entry-card input:focus{border-color:#705c45}.entry-card input::placeholder{color:#8e8880}.solid-button{display:flex;align-items:center;justify-content:space-between;gap:20px;width:100%;background:var(--forest);color:#fffdfa;border:1px solid var(--forest);padding:18px 23px;margin-top:30px;font:600 11px var(--sans);letter-spacing:.19em;transition:background .2s}.solid-button:hover{background:#485049}.solid-button span{font-size:16px}.entry-card__footnote{margin:25px 0 0;font:500 9px/1.7 var(--sans);text-align:center;letter-spacing:.1em;color:#857f75}.signature-section{background:var(--cream);min-height:330px;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:65px 20px}.signature-section>span{font:600 10px var(--sans);letter-spacing:.24em;color:#8b7e6d}.signature-section p{font:400 clamp(61px,7vw,91px)/1 var(--serif);margin:27px 0;letter-spacing:-.045em}.signature-section p i{font:400 55px var(--script);color:#aa8b6a}
.site-notice{padding:18px 24px;background:#f5eee2;border-top:1px solid var(--line);text-align:center;font:500 15px var(--sans)}.site-notice--success{background:#e7eee5}.invitation-divider{display:flex;align-items:center;justify-content:center;gap:20px;padding:38px 20px;background:#f3eee6;border-bottom:1px solid var(--line)}.divider-script{font:400 39px var(--script);color:#907357}.divider-diamond{font:17px var(--serif);color:var(--gold)}.divider-label{font:600 10px var(--sans);letter-spacing:.21em;text-transform:uppercase}
.itinerary-section{padding:125px 0 145px;background:var(--ivory)}.section-title{text-align:center;margin-bottom:76px}.section-title h2{font-size:clamp(72px,8vw,115px)}.section-title>p:last-child{font-size:23px;margin:27px auto 0;color:var(--muted)}.day-block{display:grid;grid-template-columns:305px 1fr;gap:55px;border-top:1px solid var(--line);padding:65px 0}.day-block:last-child{border-bottom:1px solid var(--line)}.day-block__heading{position:relative}.day-block__heading h3{font:400 48px/.97 var(--serif);letter-spacing:-.03em;max-width:290px;margin:0}.day-block__number{font:400 112px/1 var(--serif);color:#e4dbce;margin-top:18px}.event-list{padding:0;margin:0;list-style:none}.event-item{display:grid;grid-template-columns:112px 22px 1fr;gap:13px;margin:0;padding:0 0 42px}.event-item:last-child{padding-bottom:0}.event-item__time{font:600 11px/1.5 var(--sans);letter-spacing:.07em;text-align:right;padding-top:11px;color:#977e63}.event-item__marker{position:relative;display:flex;justify-content:center}.event-item__marker:before{content:'';position:absolute;top:17px;bottom:-35px;width:1px;background:#d7cfc1}.event-item:last-child .event-item__marker:before{display:none}.event-item__marker span{width:7px;height:7px;border:1px solid #a88e6c;transform:rotate(45deg);margin-top:14px;position:relative;z-index:1;background:var(--ivory)}.event-item__copy h4{font:500 32px/.99 var(--serif);letter-spacing:-.015em;margin:0 0 8px}.event-item__venue{font:600 10px var(--sans);letter-spacing:.2em;color:#8d7458;margin:0 0 12px}.event-item__description{font-size:20px;color:#676159;line-height:1.4;max-width:560px}.event-item__description p{margin:0 0 8px}
.photo-interlude{background:#262a26;color:#f8f4ee;min-height:430px;display:flex;align-items:center;justify-content:center;gap:110px;padding:70px 30px;position:relative;overflow:hidden}.photo-interlude__stamp{position:absolute;top:30px;left:45px;font:500 10px var(--sans);letter-spacing:.25em;color:#c4b7a5}.photo-interlude .photo-strip{width:200px;flex-shrink:0}.photo-interlude__words{display:flex;flex-direction:column}.photo-interlude__words span{font:400 43px var(--script);color:#d4bb94}.photo-interlude__words strong{font:400 clamp(56px,6vw,96px)/.82 var(--serif);letter-spacing:-.04em}.photo-strip{background:#f7f5f1;padding:13px 13px 27px;box-shadow:0 14px 45px #0004;transform:rotate(-5deg)}.photo-strip__frames{display:flex;flex-direction:column;gap:8px}.photo-strip__frame{aspect-ratio:1.18;background:#e5e0d9;overflow:hidden}.photo-strip__image{width:100%;height:100%;object-fit:cover;filter:grayscale(1);display:block}.photo-strip__placeholder{height:100%;background:#b9b2a7}.photo-strip__footer{display:flex;justify-content:center;gap:8px;font:15px var(--serif);color:#272722;padding-top:10px}.photo-strip__footer span:last-child{margin-left:auto;font:9px var(--sans);letter-spacing:.12em}
.details-section{padding:125px 0 145px;background:#f4f0e9}.details-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px}.detail-panel{background:var(--paper);border:1px solid var(--line);padding:clamp(29px,4.6vw,55px);min-height:360px}.detail-panel--main{grid-column:1/-1;min-height:0;padding:55px 60px;text-align:center}.panel-index{font:600 10px var(--sans);letter-spacing:.22em;color:#957e64}.detail-panel h3{font:400 clamp(49px,5vw,73px)/.9 var(--serif);letter-spacing:-.04em;margin:29px 0 20px}.detail-panel--main h3{margin:20px 0}.detail-panel__accent{font:400 33px var(--serif);margin:0 0 7px}.detail-panel p:not(.detail-panel__accent){font-size:21px;line-height:1.4;margin-top:10px}.panel-rule{width:90px;height:1px;background:var(--gold);margin:25px auto}.panel-small,.room-allocation span,.contribution>span{font:600 10px var(--sans);letter-spacing:.18em;color:#947a5e}.rich-copy{font-size:21px;line-height:1.4}.rich-copy p{margin:0 0 17px}.rich-copy ul{padding-left:23px}.rich-copy a{text-underline-offset:3px}.room-allocation,.contribution{margin-top:25px;border-top:1px solid var(--line);padding-top:24px}.room-allocation strong{font:500 36px var(--serif);display:block;margin-top:9px}.room-allocation p,.contribution p{font-size:17px!important;color:var(--muted)}.contribution strong{font:500 52px var(--serif);display:block}.contribution small{font-size:20px}
.rsvp-section{padding:125px 0 145px;background:var(--ivory)}.rsvp-layout{display:grid;grid-template-columns:.83fr 1.17fr;gap:clamp(35px,7vw,105px);align-items:start}.rsvp-intro{position:sticky;top:35px}.rsvp-intro h2{font-size:clamp(70px,7vw,106px)}.rsvp-intro>p:not(.eyebrow){font:400 24px/1.34 var(--serif);max-width:330px;color:#6e665d;margin:28px 0}.rsvp-deadline{border-top:1px solid var(--line);padding-top:28px;display:flex;flex-direction:column;gap:6px;margin-top:35px;max-width:360px;font:600 10px var(--sans);letter-spacing:.21em}.rsvp-deadline strong{font:500 20px var(--serif);letter-spacing:0}.rsvp-card{border:1px solid var(--line);padding:clamp(25px,4vw,55px);background:var(--paper)}.rsvp-card .entry-card__corner{text-align:left;margin-bottom:32px}.rsvp-person{border:0;border-bottom:1px solid var(--line);padding:0 0 29px;margin:0 0 30px}.rsvp-person legend{font:500 41px/.95 var(--serif);letter-spacing:-.02em;margin-bottom:18px}.rsvp-question{margin:16px 0}.rsvp-question label{font:600 10px var(--sans);letter-spacing:.17em;display:block;color:#7c6d5e;margin-bottom:9px}.rsvp-question select,.rsvp-question textarea{border:1px solid #d1c8ba;border-radius:0;background:#fffefa;width:100%;color:var(--ink);padding:12px 14px;font:400 20px var(--serif)}.rsvp-question textarea{resize:vertical}.rsvp-card .form-privacy{font:400 12px/1.65 var(--sans);color:var(--muted);margin:19px 0 0}.rsvp-card h3{font:400 45px var(--serif)}
.site-footer{padding:33px clamp(23px,5vw,85px);background:#292d29;color:#f5f1e9}.site-footer__inner{display:flex;align-items:center;justify-content:space-between;gap:20px}.footer-monogram{font:400 32px var(--serif);letter-spacing:.1em}.footer-monogram i{font:26px var(--script);color:#bea381}.site-footer p{font:400 19px var(--serif);margin:0}.site-footer .footer-year{font:600 9px var(--sans);letter-spacing:.24em}
.fade-in{opacity:0;transform:translateY(18px);transition:opacity .9s ease,transform .9s ease}.fade-in.is-visible{opacity:1;transform:translateY(0)}
@media(max-width:1000px){.hero__names{font-size:clamp(99px,13.5vw,150px)}.day-block{grid-template-columns:245px 1fr;gap:25px}.entry-section__layout{gap:38px}}
@media(max-width:760px){body{font-size:19px}.site-header{height:69px;padding:0 21px;gap:10px}.wordmark{font-size:28px}.site-nav{gap:17px}.site-nav a,.header-date,.text-button{font-size:9px;letter-spacing:.08em}.site-nav a:nth-child(2){display:none}.header-date{display:none}.hero{min-height:650px;padding:70px 21px 85px}.hero__frame{inset:13px}.hero__fine-print{font-size:8px;letter-spacing:.2em;margin-bottom:51px}.hero__guestline{font-size:9px;letter-spacing:.2em}.hero__names{flex-direction:column;gap:0;font-size:clamp(99px,22vw,145px);line-height:.73}.hero__names em{font-size:68px;margin:-4px 0 -6px;transform:rotate(-10deg)}.hero__divider{margin:36px 0 20px}.hero__location{font-size:10px}.hero__date{font-size:18px}.hero__bottom{font-size:8px;bottom:34px}.hero__invited{font-size:25px}.hero__cta{margin-top:29px}.section-inner{width:min(100% - 42px,560px)}.entry-section,.itinerary-section,.details-section,.rsvp-section{padding:85px 0 95px}.entry-section__layout,.rsvp-layout{grid-template-columns:1fr;gap:40px}.entry-section__intro h2,.section-title h2,.rsvp-intro h2{font-size:clamp(64px,14vw,90px)}.entry-section__intro>p:not(.eyebrow){font-size:21px}.entry-card{padding:30px 27px}.entry-card h3{font-size:53px}.entry-card__corner{font-size:8px}.signature-section{min-height:285px}.signature-section p{font-size:65px}.invitation-divider{flex-wrap:wrap;gap:10px;padding:28px 20px}.divider-script{font-size:31px}.divider-label{font-size:9px;letter-spacing:.1em}.section-title{margin-bottom:45px}.section-title>p:last-child{font-size:21px}.day-block{display:block;padding:36px 0 45px}.day-block__heading h3{font-size:43px;max-width:none;margin-bottom:33px}.day-block__number{display:none}.event-item{grid-template-columns:69px 13px 1fr;gap:8px;padding-bottom:30px}.event-item__time{font-size:9px;letter-spacing:0;padding-top:5px}.event-item__marker span{margin-top:7px}.event-item__marker:before{top:8px}.event-item__copy h4{font-size:27px}.event-item__description{font-size:19px}.event-item__venue{font-size:9px}.photo-interlude{min-height:350px;gap:30px;flex-direction:column;padding:76px 25px}.photo-interlude .photo-strip{width:135px}.photo-interlude__stamp{font-size:8px;left:20px}.photo-interlude__words{text-align:center}.photo-interlude__words span{font-size:37px}.photo-interlude__words strong{font-size:55px}.details-grid{grid-template-columns:1fr}.detail-panel--main{grid-column:auto}.detail-panel,.detail-panel--main{padding:34px 27px;min-height:0;text-align:left}.detail-panel--main .panel-rule{margin:25px 0}.detail-panel h3{font-size:54px}.detail-panel p:not(.detail-panel__accent){font-size:20px}.rsvp-intro{position:static}.rsvp-intro h2{font-size:80px}.rsvp-card{padding:29px 23px}.site-footer__inner{flex-direction:column;text-align:center}.site-footer p{order:2}.site-footer .footer-year{order:3}}
@media(max-width:380px){.site-nav a:nth-child(1){display:none}.hero__names{font-size:94px}.entry-card{padding:25px 21px}.rsvp-intro h2{font-size:68px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.fade-in{opacity:1;transform:none;transition:none}.hero__cta,.solid-button{transition:none}}
