@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,500;0,600;1,400;1,500&family=DM+Sans:wght@300;400;500&display=swap');
:root{--pine:#17251e;--pine2:#20342a;--pine3:#2e4438;--ivory:#f4f0e6;--paper:#ebe4d6;--sand:#d6c9ae;--brass:#b49a65;--brass-light:#d4c08e;--ink:#26342b;--muted:#77776c;--serif:'Cormorant Garamond',Georgia,serif;--sans:'DM Sans',Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:var(--ivory);color:var(--ink);font-family:var(--sans);font-weight:300}body.lightbox-open{overflow:hidden}a{color:inherit}button,input,select{font:inherit}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--brass);outline-offset:4px}.eyebrow,.person-label,.event-label,.form-footnote,.field label,.rsvp fieldset legend,.opening-date,.brand-caption,.hero-bottomline,.hero-sidecaption,.hero-index,.gallery-note,.footer small{font-size:9px;letter-spacing:.2em;text-transform:uppercase}.opening{position:fixed;z-index:20;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;overflow:hidden;background:var(--pine);color:var(--ivory);transition:opacity .8s ease,visibility .8s ease}.opening:before,.opening:after{content:"";position:absolute;inset:22px;border:1px solid #b49a6545;pointer-events:none}.opening:after{inset:28px;border-color:#b49a6522}.opening-wash{position:absolute;inset:0;background:radial-gradient(ellipse at 50% 44%,#324839 0%,#1b2b22 48%,#111c16 100%)}.opening-wash:after{content:"";position:absolute;inset:0;opacity:.16;background-image:radial-gradient(#e4d7ba 0.5px,transparent .5px);background-size:8px 8px;mask-image:linear-gradient(transparent,#000)}.envelope-scene{position:relative;width:min(390px,76vw);height:240px;perspective:1100px;margin:0 auto 41px;filter:drop-shadow(0 24px 25px #0005)}.envelope-back{position:absolute;inset:0;background:linear-gradient(145deg,#d7c7a6,#bba77e);border:1px solid #e2d4b6;z-index:1}.envelope-letter{position:absolute;z-index:2;left:9%;right:9%;bottom:16px;height:87%;background:#f8f4eb;color:var(--pine);display:flex;flex-direction:column;align-items:center;padding:20px 12px;box-shadow:0 2px 16px #392d1b30;transform:translateY(0);transition:transform 1.15s cubic-bezier(.2,.7,.25,1) .4s}.letter-rule{height:1px;background:#b49a65;width:38px;margin:3px 0 9px}.letter-monogram{font:italic 14px var(--serif);color:#9b8150}.letter-names{display:flex;flex-direction:column;align-items:center;font:500 35px/.83 var(--serif);margin:5px}.letter-names i{font-size:19px;color:#a38955;font-weight:400;line-height:1.25}.letter-date{font-size:8px;letter-spacing:.14em;margin-top:9px;text-transform:uppercase}.envelope-flap{position:absolute;inset:0 0 auto;height:67%;background:linear-gradient(145deg,#d0bd96,#ad9870);clip-path:polygon(0 0,100% 0,50% 100%);transform-origin:50% 0;transition:transform .7s ease .18s;z-index:5;backface-visibility:visible}.envelope-front{position:absolute;inset:0;background:linear-gradient(135deg,#e5d7bb,#c8b48d);clip-path:polygon(0 0,50% 54%,100% 0,100% 100%,0 100%);z-index:4}.wax-seal{position:absolute;z-index:6;left:50%;top:53%;width:54px;height:54px;border-radius:50%;transform:translate(-50%,-50%);display:grid;place-items:center;color:#e7d7aa;font:italic 13px var(--serif);background:radial-gradient(circle at 35% 30%,#8a5b35,#56351e 70%);border:1px solid #c3a76a;box-shadow:0 2px 7px #311d10aa;transition:opacity .25s,transform .35s}.wax-seal:before{content:"";position:absolute;inset:4px;border:1px solid #d1b77966;border-radius:50%}.opening-kicker{position:relative;color:#d0bf9b;font:italic 19px var(--serif);margin:0 0 16px}.open-button{position:relative;display:flex;align-items:center;gap:32px;background:transparent;border:1px solid #b79f6b;color:#f3ebdc;padding:15px 20px;cursor:pointer;text-transform:uppercase;letter-spacing:.18em;font-size:9px;transition:background .2s,color .2s}.open-button:hover{background:var(--brass);color:var(--pine)}.open-button span+span{color:var(--brass-light);font-size:14px}.opening-date{position:relative;margin:27px 0 0;color:#b8b6a8;font-size:8px;letter-spacing:.16em}.opening-separator{color:var(--brass);padding:0 12px}.opening.is-opening .wax-seal{opacity:0;transform:translate(-50%,-50%) scale(.5)}.opening.is-opening .envelope-flap{transform:rotateX(180deg);z-index:1}.opening.is-opening .envelope-letter{transform:translateY(-115px)}.opening.is-opening .opening-kicker,.opening.is-opening .open-button,.opening.is-opening .opening-date{opacity:0;transition:opacity .35s}.opening.is-gone{opacity:0;visibility:hidden;pointer-events:none}.site-header{height:104px;position:absolute;z-index:5;inset:0 0 auto;display:flex;align-items:center;justify-content:space-between;padding:0 6.3%;color:#f6f0e4;border-bottom:1px solid #ffffff38}.brand{display:flex;align-items:center;gap:12px;text-decoration:none}.brand-monogram{font:italic 30px var(--serif);color:var(--brass-light)}.brand-divider{width:1px;height:29px;background:#b79f6b88}.brand-caption{font-size:7px;line-height:1.6;color:#e8deca}.brand-names{font:400 13px/1.05 var(--serif);color:#efe6d3}.desktop-nav{display:flex;align-items:center;gap:clamp(16px,3vw,48px)}.desktop-nav a,.header-rsvp{text-decoration:none;font-size:9px;letter-spacing:.13em;text-transform:uppercase}.desktop-nav a{color:#eee9dc;opacity:.86;transition:opacity .2s}.desktop-nav a:hover{opacity:1;color:var(--brass-light)}.header-rsvp{border:1px solid #c6ad76;padding:13px 16px;color:#f5ecda}.header-rsvp span{color:var(--brass-light);padding-left:11px}.music-toggle{background:transparent;border:1px solid #c6ad76;color:var(--ivory);padding:10px 13px;font-size:8px;letter-spacing:.12em;text-transform:uppercase;cursor:pointer}.hero{height:min(920px,100svh);min-height:700px;position:relative;display:flex;align-items:center;background:var(--pine);color:var(--ivory);overflow:hidden}.hero-photo,.hero-overlay{position:absolute;inset:0}.hero-photo{background-image:url('assets/images/hero-couple.webp');background-size:cover;background-position:center 48%;transform:scale(1.01)}.hero-overlay{background:linear-gradient(90deg,rgba(12,25,18,.91) 0%,rgba(15,28,21,.72) 36%,rgba(16,30,22,.15) 75%,rgba(15,28,20,.04) 100%),linear-gradient(0deg,rgba(11,21,16,.64),transparent 37%)}.hero-copy{position:relative;z-index:1;margin-left:12.5%;margin-top:90px;width:min(540px,44%)}.hero-topline{display:flex;align-items:center;gap:17px;color:#d7c493}.fine-rule{height:1px;width:30px;background:#c7ae75}.eyebrow{font-weight:400}.hero-topline .eyebrow{font-size:8px;letter-spacing:.25em}.hero-invite{font:italic 20px var(--serif);color:#e8ddc8;margin:55px 0 15px}.hero h1{font:400 clamp(86px,10vw,142px)/.72 var(--serif);letter-spacing:-.045em;margin:0;text-shadow:0 3px 16px #0003}.hero h1 span{display:block}.hero h1 i{font-size:.42em;line-height:1.35;color:var(--brass-light);display:block;margin-left:1em}.hero-bottomline{display:flex;align-items:center;gap:18px;margin:36px 0 0;color:#dfd6c4;font-size:8px}.hero-ornament{font-size:12px;color:var(--brass-light)}.hero-cta{display:inline-flex;gap:22px;align-items:center;margin-top:54px;text-decoration:none;text-transform:uppercase;font-size:8px;letter-spacing:.17em;color:#f1e9d7;border-bottom:1px solid #b49a65;padding:0 0 12px}.hero-cta span{font-size:15px;color:var(--brass-light)}.hero-sidecaption{position:absolute;right:5.7%;bottom:15%;z-index:1;display:flex;flex-direction:column;gap:5px;color:#fff4dd;font:italic 17px var(--serif);letter-spacing:.1em;writing-mode:vertical-rl}.hero-index{position:absolute;left:6.3%;bottom:6%;z-index:1;display:flex;align-items:center;gap:12px;color:#e1d7c2;font-size:8px}.index-line{width:48px;height:1px;background:#b49a65}.section-ivory{background:var(--ivory);background-image:radial-gradient(#897a5714 .65px,transparent .65px);background-size:8px 8px}.couple{padding:90px 8% 68px}.section-heading{max-width:440px;margin:0 auto 56px;display:flex;align-items:center;justify-content:center;gap:13px;color:#8f7951}.section-heading p{white-space:nowrap;font-size:9px;letter-spacing:.2em;font-weight:500}.section-number{font:italic 15px var(--serif)}.heading-line{height:1px;width:50px;background:#c6b68f}.couple-layout{display:grid;grid-template-columns:1fr minmax(240px,365px) 1fr;align-items:center;gap:5%;max-width:1120px;margin:auto}.person{text-align:center;padding:14px 3%;}.person-groom{text-align:right}.person-bride{text-align:left}.person-label{color:#99835a;margin:0 0 14px;font-size:8px}.person h2{font:italic 500 clamp(30px,3.2vw,43px)/.9 var(--serif);color:#3a453b;margin:0 0 12px}.person-parents{font:italic 15px var(--serif);color:#8b7954;margin:0}.tiny-ornament{display:block;color:#b29b68;font:24px var(--serif);margin:14px 0 11px}.person-bio{font:300 13px/1.85 var(--sans);color:#717268;max-width:260px;margin:0 auto}.person-groom .person-bio{margin-right:0}.person-bride .person-bio{margin-left:0}.couple-photo{margin:0;position:relative;padding:11px;background:#faf7ee;border:1px solid #c3b48e;box-shadow:0 15px 40px #493e2814}.couple-photo img{width:100%;display:block;aspect-ratio:4/5;object-fit:cover;object-position:center 28%;filter:saturate(.82)}.photo-corner{position:absolute;width:30px;height:30px;border-color:var(--brass);z-index:1}.corner-tl{top:5px;left:5px;border-top:1px solid;border-left:1px solid}.corner-br{bottom:5px;right:5px;border-bottom:1px solid;border-right:1px solid}.couple-photo figcaption{position:absolute;bottom:26px;left:0;right:0;display:flex;justify-content:center;align-items:center;gap:9px;color:white;text-shadow:0 2px 8px #17251e;font:italic 22px var(--serif)}.couple-photo figcaption i{font-size:13px;color:#eee0bd}.section-quote{text-align:center;margin:48px 0 0;font:italic 24px var(--serif);color:#917b50}.story{min-height:680px;position:relative;overflow:hidden;background:var(--pine);color:#f4efdf;display:flex;align-items:center;padding:90px 12.5%}.story-photo,.story-shade{position:absolute;inset:0}.story-photo{background-image:url('assets/images/hero-couple.webp');background-size:cover;background-position:center 44%;filter:saturate(.7)}.story-shade{background:linear-gradient(90deg,rgba(18,34,25,.95),rgba(18,34,25,.8) 44%,rgba(18,34,25,.2)),linear-gradient(0deg,#13221bbd,transparent 60%)}.story-inner{position:relative;z-index:1;max-width:570px}.gold-eyebrow{color:#d0b879}.story h2{font:400 clamp(50px,7vw,82px)/.86 var(--serif);margin:24px 0 25px}.story h2 em{color:#cbb47b}.story-copy{max-width:500px;color:#d8d8ca;font:300 14px/1.9 var(--sans)}.timeline{margin-top:43px;display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid #c6b37d6b;gap:0}.timeline-item{position:relative;padding:24px 17px 0 0;display:grid;grid-template-columns:1fr;gap:5px}.timeline-year{font:italic 18px var(--serif);color:#d0b879}.timeline-dot{position:absolute;top:-4px;left:0;width:7px;height:7px;border-radius:50%;background:#d0b879;box-shadow:0 0 0 4px #21382a}.timeline-item h3{font:500 17px var(--serif);margin:3px 0;color:#f0ead9}.timeline-item p{font-size:10px;line-height:1.7;color:#c3c7b9;margin:0}.story-stamp{position:absolute;right:12%;bottom:13%;width:112px;height:112px;border:1px solid #d0b879;border-radius:50%;display:flex;flex-direction:column;justify-content:center;align-items:center;color:#d0b879;transform:rotate(-12deg)}.story-stamp:before{content:"";position:absolute;inset:5px;border:1px solid #d0b87975;border-radius:50%}.story-stamp span{font-size:7px;letter-spacing:.18em}.story-stamp strong{font:italic 29px var(--serif);margin:1px}.date-band{display:flex;align-items:center;justify-content:space-between;gap:40px;padding:56px 12%;background:#e8e1d3;border-bottom:1px solid #d1c4a6;border-top:1px solid #f8f5ec}.date-band-copy .eyebrow{color:#907a4e;font-size:8px}.date-band-copy h2{font:400 32px var(--serif);margin:10px 0 0;color:#29382e}.countdown{display:flex;align-items:center;gap:clamp(14px,3vw,42px)}.countdown>div{display:flex;align-items:center;flex-direction:column;min-width:45px}.countdown strong{font:400 34px var(--serif);color:#927b4f}.countdown span{font-size:7px;letter-spacing:.18em;color:#737367;margin-top:3px}.countdown>i{height:29px;width:1px;background:#b9aa88}.details{padding:88px 9% 100px}.details .section-heading{margin-bottom:58px}.details-layout{display:grid;grid-template-columns:1fr 1.08fr;gap:8%;max-width:1120px;margin:auto}.events-column{display:flex;flex-direction:column}.event-card{display:grid;grid-template-columns:44px 1fr 25px;gap:13px;padding:27px 0;border-bottom:1px solid #d3c8b1;align-items:start}.event-num{font:italic 17px var(--serif);color:#ab925c;padding-top:1px}.event-label{color:#967f53;margin:0 0 7px;font-size:8px}.event-card h3{font:500 27px/1 var(--serif);color:#29392e;margin:0 0 7px}.event-card p:not(.event-label){font:300 12px/1.7 var(--sans);color:#73756b;margin:0}.event-glyph{color:#a88f5d;font-size:18px}.dress-card{padding:25px 0 15px 57px}.dress-card h3{font:italic 26px var(--serif);margin:0 0 4px;color:#354236}.dress-card>p:not(.event-label){font-size:11px;color:#79796f;margin:0}.dress-swatches{display:flex;gap:8px;margin-top:14px}.dress-swatches i{width:13px;height:13px;border-radius:50%;background:#183024}.dress-swatches i:nth-child(2){background:#84734e}.dress-swatches i:nth-child(3){background:#d6c9ae}.dress-swatches i:nth-child(4){background:#56372e}.reception-image{position:relative;margin:0;align-self:stretch;min-height:500px;border:1px solid #c7b991;padding:9px}.reception-image img{height:100%;width:100%;position:absolute;inset:0;object-fit:cover;padding:9px;filter:saturate(.78)}.reception-image figcaption{position:absolute;z-index:1;right:25px;bottom:24px;display:flex;flex-direction:column;align-items:end;font:italic 16px var(--serif);letter-spacing:.12em;color:#f6f0e2;text-shadow:0 2px 8px #000}.schedule-wrap{max-width:1120px;margin:90px auto 0;border-top:1px solid #c7b991;padding-top:30px}.schedule-title{text-align:center}.schedule-title .eyebrow{font-size:8px;color:#927c51}.schedule-title h3{font:400 31px var(--serif);margin:11px 0 30px}.schedule{display:grid;grid-template-columns:repeat(5,1fr);border-top:1px solid #d4c9b3;border-bottom:1px solid #d4c9b3}.schedule-item{padding:21px 14px 22px;position:relative;border-right:1px solid #d4c9b3}.schedule-item:last-child{border-right:0}.schedule-number{font:italic 15px var(--serif);color:#a48b58}.schedule-time{display:block;font-size:8px;letter-spacing:.1em;color:#77776b;margin:8px 0}.schedule-item h4{font:500 18px var(--serif);color:#334237;margin:0 0 4px}.schedule-item p{font-size:9px;line-height:1.5;color:#77776b;margin:0}.gallery-section{padding:86px 9% 72px;background:var(--pine);color:var(--ivory);position:relative;overflow:hidden}.gallery-section:before{content:"";position:absolute;inset:0;opacity:.12;background:radial-gradient(#c8b17b .5px,transparent .5px);background-size:9px 9px;pointer-events:none}.gallery-top,.gallery-grid,.gallery-note{position:relative;z-index:1;max-width:1120px;margin-left:auto;margin-right:auto}.gallery-top{display:flex;justify-content:space-between;align-items:end;margin-bottom:33px}.gallery-top .eyebrow{color:#ceb77d;font-size:8px}.gallery-top h2{font:400 48px var(--serif);margin:8px 0 0}.gallery-top>p{font:italic 18px/1.15 var(--serif);text-align:right;color:#d8c99f}.gallery-grid{display:grid;grid-template-columns:1.2fr .8fr 1fr;align-items:center;gap:15px}.gallery-photo{display:block;width:100%;height:300px;padding:7px;background:#efe8d8;border:1px solid #ae9969;cursor:zoom-in;transition:transform .35s,box-shadow .35s}.gallery-photo:hover{transform:translateY(-7px);box-shadow:0 16px 30px #0004}.gallery-photo-2{height:350px}.gallery-photo img{width:100%;height:100%;object-fit:cover;display:block;filter:saturate(.75)}.gallery-note{display:flex;align-items:center;justify-content:center;gap:17px;color:#d3bd83;font-size:7px;margin-top:29px}.gallery-note-line{height:1px;width:42px;background:#ab925e}.location{padding:95px 12%;display:grid;grid-template-columns:.8fr 1fr;align-items:center;gap:10%}.location-copy .eyebrow{color:#927d54;font-size:8px}.location-copy h2{font:400 51px/.91 var(--serif);margin:20px 0}.location-copy>p:not(.eyebrow){font-size:12px;line-height:1.8;color:#6d7066;max-width:280px}.map-link{margin-top:17px;display:inline-flex;gap:29px;text-decoration:none;text-transform:uppercase;letter-spacing:.15em;font-size:8px;border-bottom:1px solid #a9905d;padding-bottom:9px}.map-link span{color:#a9905d;font-size:13px}.location-art{position:relative;min-height:350px;border:1px solid #b6a57e;padding:9px}.location-art-image{position:absolute;inset:9px;background-image:url('assets/images/reception-table.webp');background-size:cover;background-position:center;filter:saturate(.67)}.location-art:after{content:"";position:absolute;inset:9px;background:linear-gradient(0deg,#15241cbb,transparent 70%)}.location-plaque{position:absolute;z-index:1;left:50%;top:50%;transform:translate(-50%,-50%);min-width:230px;padding:20px;background:#f3eee2ed;border:1px solid #b9a675;display:flex;align-items:center;flex-direction:column;box-shadow:0 4px 20px #0002;color:#29392e;font:italic 23px var(--serif);text-align:center}.plaque-ornament{font-size:15px;color:#a88d53;margin-bottom:5px}.location-plaque small{font:400 7px var(--sans);letter-spacing:.14em;text-transform:uppercase;margin-top:7px;color:#77776b}.location-coordinate{position:absolute;z-index:1;left:20px;bottom:19px;color:#efe5cd;font-size:7px;letter-spacing:.16em}.rsvp{background:var(--pine);color:var(--ivory);padding:96px 10%;position:relative;overflow:hidden}.rsvp:before,.rsvp:after{content:"";position:absolute;width:420px;height:420px;border:1px solid #c9ae6b20;border-radius:50%;top:50%;transform:translateY(-50%);pointer-events:none}.rsvp:before{left:-280px}.rsvp:after{right:-280px}.rsvp-inner{max-width:1010px;margin:auto;display:grid;grid-template-columns:.9fr 1.1fr;gap:12%;align-items:center;position:relative;z-index:1}.rsvp-heading .eyebrow{font-size:8px}.rsvp-heading h2{font:400 55px/.9 var(--serif);margin:23px 0}.rsvp-heading h2 em{color:#d1bc87}.rsvp-heading>p:last-child{font:italic 17px var(--serif);color:#d7d1c1}.rsvp form{display:flex;flex-direction:column}.form-row{display:grid;grid-template-columns:1fr .7fr;gap:20px}.field{display:flex;flex-direction:column}.field label,.rsvp fieldset legend{color:#d1bc87;font-size:8px;margin-bottom:10px}.field input,.field select{background:transparent;border:0;border-bottom:1px solid #b7a676;color:#f6f1e5;border-radius:0;height:43px;font-size:12px;padding:0 2px;outline:none}.field input::placeholder{color:#c7c7b8}.field select option{color:#28372e}.rsvp fieldset{border:0;padding:0;margin:24px 0 0;display:flex;gap:24px;flex-wrap:wrap}.rsvp fieldset legend{padding:0}.attendance{display:flex;align-items:center;gap:8px;font:300 12px var(--serif);color:#eee8d9;cursor:pointer}.attendance input{position:absolute;opacity:0}.radio-mark{width:15px;height:15px;border-radius:50%;border:1px solid #b7a676;display:grid;place-items:center}.attendance input:checked+.radio-mark:after{content:"";width:7px;height:7px;background:#d3bc82;border-radius:50%}.attendance input:focus-visible+.radio-mark{outline:2px solid #d3bc82;outline-offset:3px}.form-error{color:#ffb5a4;font-size:11px;min-height:17px;margin:11px 0 4px}.submit-rsvp{display:flex;align-items:center;justify-content:space-between;padding:16px 18px;border:1px solid #c0a96f;background:#c0a96f;color:#17251e;cursor:pointer;text-transform:uppercase;letter-spacing:.16em;font-size:8px;transition:background .2s}.submit-rsvp:hover{background:#ddc890}.submit-rsvp span+span{font-size:14px}.form-footnote{font-size:7px;color:#c5c5b7;letter-spacing:.08em;margin:12px 0 0;text-transform:none}.rsvp-flower{position:absolute;bottom:20px;right:6%;color:#c2aa70;font-size:68px;opacity:.28}.footer{background:#101c15;color:#e8e0d0;text-align:center;padding:62px 20px 57px;position:relative}.footer:before{content:"";position:absolute;inset:10px;border:1px solid #b49a6530;pointer-events:none}.footer-monogram{font:italic 39px var(--serif);color:#cbb47b}.footer-names{display:flex;justify-content:center;gap:12px;align-items:center;font:italic 20px var(--serif);margin:14px 0 18px}.footer-names i{font-size:15px;color:#c3aa6c}.footer-rule{display:flex;align-items:center;justify-content:center;gap:13px;font-size:7px;letter-spacing:.2em;color:#c9b783}.footer-rule span{width:35px;height:1px;background:#a38b5d}.footer small{display:block;color:#bfc0b2;font-size:7px;margin-top:17px;letter-spacing:.15em}.footer small b{color:#c6ad74;padding:0 10px}.lightbox{position:fixed;z-index:30;inset:0;background:#101813ed;display:grid;place-items:center;padding:45px}.lightbox[hidden]{display:none}.lightbox img{max-width:min(90vw,1100px);max-height:85vh;border:1px solid #c1a76b;padding:8px;background:#f1ebdd;object-fit:contain}.lightbox-close{position:absolute;top:23px;right:28px;color:#eee5d0;background:transparent;border:0;font-size:38px;cursor:pointer}
@media(max-width:900px){.site-header{height:84px;padding:0 5%}.desktop-nav{gap:16px}.desktop-nav a{font-size:8px}.brand{gap:8px}.brand-monogram{font-size:25px}.brand-names{font-size:11px}.header-rsvp{padding:11px 12px;font-size:8px}.hero{min-height:690px}.hero-copy{margin-left:9%;width:55%}.hero-photo{background-position:58% center}.hero-overlay{background:linear-gradient(90deg,#12231bdc,#12231b8c 48%,#12231b16),linear-gradient(0deg,#12231b9c,transparent 40%)}.couple-layout{grid-template-columns:1fr minmax(200px,290px) 1fr;gap:2%}.person h2{font-size:32px}.person-bio{font-size:11px}.details-layout{gap:5%}.date-band{padding-left:8%;padding-right:8%}.countdown{gap:15px}.countdown strong{font-size:30px}.schedule-item{padding-left:9px;padding-right:9px}.gallery-photo{height:240px}.gallery-photo-2{height:290px}.location{padding-left:8%;padding-right:8%}.rsvp-inner{gap:8%}}
@media(max-width:650px){html{scroll-padding-top:10px}.opening:before{inset:13px}.opening:after{inset:18px}.envelope-scene{width:min(340px,82vw);height:205px;margin-bottom:35px}.envelope-letter{padding:14px}.letter-names{font-size:30px}.opening-kicker{font-size:17px}.opening-date{font-size:7px}.site-header{height:75px;padding:0 6%}.desktop-nav{display:none}.brand-monogram{font-size:26px}.brand-caption{font-size:6px}.brand-names{font-size:11px}.header-rsvp{font-size:7px;padding:10px}.hero{height:94svh;min-height:690px;max-height:850px;align-items:end}.hero-photo{background-position:65% center}.hero-overlay{background:linear-gradient(0deg,rgba(13,26,19,.95),rgba(13,26,19,.54) 54%,rgba(13,26,19,.04) 100%)}.hero-copy{margin:0 0 17vh 8%;width:79%}.hero-invite{font-size:17px;margin:39px 0 15px}.hero h1{font-size:clamp(82px,19vw,118px)}.hero-bottomline{gap:12px;margin-top:28px;font-size:7px}.hero-cta{margin-top:38px;font-size:7px}.hero-sidecaption{right:6%;top:35%;bottom:auto;font-size:13px}.hero-index{left:8%;bottom:5%}.couple{padding:67px 7% 55px}.section-heading{margin-bottom:36px;gap:9px}.section-heading p{font-size:7px;letter-spacing:.16em}.heading-line{width:25px}.couple-layout{grid-template-columns:1fr 1fr;gap:18px 10px}.couple-photo{grid-column:1/-1;grid-row:1;margin:0 auto;width:min(74%,300px)}.couple-photo img{aspect-ratio:4/4.5;object-position:center 25%}.person{padding:13px 2% 0}.person-groom,.person-bride{text-align:center}.person h2{font-size:27px;min-height:48px}.person-parents{font-size:12px;min-height:32px}.person-bio{font-size:10px;line-height:1.6}.tiny-ornament{margin:8px 0}.section-quote{font-size:20px;margin-top:35px}.story{padding:70px 8%;min-height:710px;align-items:flex-start}.story-photo{background-position:65% center}.story-shade{background:linear-gradient(90deg,#14251beF,#14251bd9 67%,#14251b77),linear-gradient(0deg,#14251bee,transparent 80%)}.story-inner{padding-top:25px}.story h2{font-size:63px}.story-copy{font-size:12px;max-width:380px}.timeline{margin-top:37px;grid-template-columns:1fr;border-top:0;border-left:1px solid #c6b37d6b;margin-left:4px}.timeline-item{grid-template-columns:50px 1fr;padding:0 0 22px 17px;gap:0 10px}.timeline-year{grid-row:1/span 2;font-size:16px}.timeline-dot{top:5px;left:-4px}.timeline-item h3{font-size:17px;margin:0 0 4px}.timeline-item p{font-size:10px}.story-stamp{width:78px;height:78px;right:8%;bottom:8%}.story-stamp strong{font-size:21px}.story-stamp span{font-size:6px}.date-band{display:block;padding:43px 8%;text-align:center}.date-band-copy h2{font-size:26px}.countdown{justify-content:center;margin-top:30px;gap:clamp(11px,5vw,28px)}.countdown>div{min-width:37px}.countdown strong{font-size:29px}.countdown span{font-size:6px}.countdown>i{height:22px}.details{padding:67px 7% 70px}.details .section-heading{margin-bottom:35px}.details-layout{grid-template-columns:1fr;gap:30px}.events-column{order:1}.event-card{grid-template-columns:34px 1fr 20px;padding:22px 0}.event-card h3{font-size:25px}.event-card p:not(.event-label){font-size:11px}.dress-card{padding-left:47px}.reception-image{order:0;min-height:330px}.schedule-wrap{margin-top:59px;padding-top:24px}.schedule-title h3{font-size:27px}.schedule{grid-template-columns:1fr;border-bottom:0}.schedule-item{display:grid;grid-template-columns:30px 72px 1fr;align-items:center;gap:8px;border-right:0;border-bottom:1px solid #d4c9b3;padding:12px 7px}.schedule-number{grid-row:1/span 2}.schedule-time{margin:0;grid-column:2;grid-row:1/span 2}.schedule-item h4{font-size:17px}.schedule-item p{grid-column:3;font-size:9px}.gallery-section{padding:68px 7% 55px}.gallery-top{align-items:start;margin-bottom:24px}.gallery-top h2{font-size:39px}.gallery-top>p{font-size:15px;margin:18px 0 0}.gallery-grid{grid-template-columns:1fr 1fr;gap:9px}.gallery-photo{height:190px;padding:5px}.gallery-photo-2{height:235px}.gallery-photo-1{grid-row:span 2;height:100%;min-height:300px}.gallery-photo-3{height:170px}.gallery-note{font-size:6px;gap:10px}.location{grid-template-columns:1fr;padding:68px 8%;gap:28px}.location-copy h2{font-size:47px}.location-art{min-height:285px}.location-plaque{min-width:200px;font-size:20px}.rsvp{padding:70px 8%}.rsvp-inner{grid-template-columns:1fr;gap:30px}.rsvp-heading h2{font-size:49px;margin:17px 0}.rsvp-heading>p:last-child{font-size:15px}.form-row{gap:13px}.field label{font-size:7px}.field input,.field select{font-size:11px}.rsvp fieldset{gap:17px;margin-top:21px}.attendance{font-size:12px}.rsvp-flower{font-size:50px;bottom:8px;right:4%}.footer{padding:51px 20px 48px}.footer-names{font-size:17px}.footer small{font-size:6px}.lightbox{padding:20px}.lightbox-close{top:10px;right:14px}}
@media(max-width:380px){.brand{gap:6px}.brand-monogram{font-size:23px}.brand-names{font-size:10px}.header-rsvp{padding:9px 8px}.hero h1{font-size:78px}.hero-copy{width:83%}.hero-sidecaption{font-size:11px}.person h2{font-size:24px}.person-bio{font-size:9px}.gallery-top>p{font-size:13px}.form-row{grid-template-columns:1fr}.rsvp fieldset{flex-direction:column;gap:12px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
