*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#f7f3ee;color:#39332f;font-family:"DM Sans",sans-serif;font-weight:300}.page-shell{max-width:1500px;margin:auto;background:#f7f3ee;overflow:hidden}.topbar{height:72px;padding:0 7%;display:flex;align-items:center;justify-content:space-between;background:#f7f3ee;position:absolute;z-index:5;top:0;left:0;right:0;max-width:1500px;margin:auto}.brand,.footer-monogram{font-family:"Cormorant Garamond",serif;font-size:27px;letter-spacing:2px;color:#51453d;text-decoration:none}.brand span,.footer-monogram span{font-style:italic;color:#ad8d71}.nav-links{display:flex;gap:32px}.nav-links a{font-size:11px;letter-spacing:1.5px;text-transform:uppercase;text-decoration:none;color:#51453d}.menu-toggle{display:none;border:0;background:none;font-size:22px;color:#51453d}.hero{min-height:760px;height:100vh;max-height:980px;position:relative;display:grid;place-items:center;color:white;text-align:center;background:#6c6258}.hero-photo{position:absolute;inset:0;background:linear-gradient(120deg,rgba(45,38,33,.38),rgba(45,38,33,.12)),url("images/cover.jpg") center 42%/cover no-repeat;background-color:#776b60}.hero-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(25,20,18,.25),rgba(25,20,18,.2) 45%,rgba(25,20,18,.57))}.hero-content{position:relative;z-index:1;padding:100px 20px 45px;animation:rise .9s ease both}.eyebrow{font-size:10px;letter-spacing:4px;font-weight:600;color:#a4866c;margin:0 0 15px}.eyebrow.light{color:#f0d9c1}.hero h1{font-family:"Cormorant Garamond",serif;font-weight:400;font-size:clamp(66px,10vw,126px);line-height:.95;margin:15px 0 25px;letter-spacing:-2px}.hero h1 em{font-weight:400;color:#e6c9aa}.thin-line{width:50px;height:1px;background:#e8d5c3;margin:0 auto 20px}.hero-date{font-size:11px;letter-spacing:4px}.hero-subtitle{font-size:13px;line-height:1.9;color:#f2eae3;margin:30px 0}.guest-box{margin:36px auto 0;display:flex;align-items:center;flex-direction:column;gap:8px;font-size:11px;color:#eee2d7}.guest-box strong{font-family:"Cormorant Garamond",serif;font-size:23px;font-weight:500;color:white}.button{border:1px solid #d9c1a9;background:transparent;color:#fff;padding:14px 23px;font:500 10px "DM Sans",sans-serif;letter-spacing:1.5px;text-transform:uppercase;cursor:pointer;transition:.25s}.button:hover{background:#fff;color:#55483e}.button-light{margin-top:10px}.button span{padding-left:10px}.hero-caption{position:absolute;bottom:25px;left:0;right:0;font-size:8px;letter-spacing:3px;color:#e6ddd5}.section{text-align:center;padding:105px 8%}.intro{background:#f7f3ee}.ornament{font-size:19px;color:#b49478;margin:22px}.section h2,.footer h2{font-family:"Cormorant Garamond",serif;font-size:clamp(38px,5vw,58px);font-weight:400;line-height:1.05;margin:0 0 22px;color:#51443a}.intro h2{max-width:650px;margin:0 auto;font-size:clamp(31px,4.5vw,48px);font-style:italic}.scripture{font-size:10px;letter-spacing:2px;color:#a4866c;margin:20px 0 27px}.body-copy{font-size:12px;line-height:2;color:#7e746c;max-width:550px;margin:0 auto}.narrow{max-width:490px}.countdown{display:flex;align-items:center;justify-content:center;gap:20px;margin:42px auto 0}.countdown div{display:flex;flex-direction:column;gap:8px;min-width:52px}.countdown strong{font-family:"Cormorant Garamond",serif;font-size:38px;font-weight:400;color:#665345}.countdown span{font-size:8px;letter-spacing:2px;text-transform:uppercase;color:#9b8b7e}.countdown i{font-style:normal;color:#b69b82;font-size:20px;margin-top:-17px}.couple{background:#efe8df}.couple-grid{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:45px;max-width:800px;margin:55px auto 0}.person{max-width:300px;margin:auto}.portrait{height:350px;max-width:270px;margin:0 auto 25px;background-color:#d9cbbd;background-position:center;background-size:cover;position:relative;display:grid;place-items:end center;overflow:hidden}.portrait:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(45,35,29,.48),transparent 45%)}.portrait span{position:relative;z-index:1;color:white;font:400 26px "Cormorant Garamond",serif;letter-spacing:4px;margin-bottom:18px}.portrait-groom{background-image:url("images/groom.jpg"),linear-gradient(135deg,#c6b6a6,#e9ded2)}.portrait-bride{background-image:url("images/bride.jpg"),linear-gradient(135deg,#e3d3c4,#bba895)}.person-role{font-size:9px;letter-spacing:3px;color:#a4866c}.person h3{font:500 29px "Cormorant Garamond",serif;margin:8px 0 12px}.person>p:last-child{font-size:11px;line-height:1.8;color:#81766c}.person>p:last-child span{color:#51443a}.ampersand{font:italic 52px "Cormorant Garamond",serif;color:#b29174}.event{background:#74695f;color:#f7f0e9;background-image:linear-gradient(rgba(63,54,47,.78),rgba(63,54,47,.83)),url("images/event-bg.jpg");background-size:cover;background-position:center}.event h2,.rsvp h2{color:#fff}.event-intro{max-width:490px;margin:0 auto 40px;font-size:12px;line-height:1.9;color:#e3d9d0}.event-cards{display:grid;grid-template-columns:repeat(2,minmax(0,300px));justify-content:center;gap:22px}.event-card{padding:34px 24px 30px;border:1px solid rgba(240,220,200,.48);background:rgba(247,243,238,.07);backdrop-filter:blur(3px)}.event-icon{font-size:22px;color:#e2c3a5}.event-label{font-size:9px;letter-spacing:3px;color:#e2c3a5;margin:15px 0}.event-card h3{font:500 25px "Cormorant Garamond",serif;margin:0 0 8px;color:#fff}.event-card p{font-size:11px;line-height:1.8;color:#e2d9d1}.event-card strong{font:500 17px "Cormorant Garamond",serif;color:#fff}.event-rule{width:35px;height:1px;background:#c5a486;margin:23px auto}.text-link{font-size:9px;letter-spacing:1.5px;text-transform:uppercase;color:#f0d3b5;text-decoration:none;border-bottom:1px solid #c5a486;padding-bottom:5px;display:inline-block;margin-top:12px}.gallery{background:#f7f3ee}.gallery-grid{display:grid;grid-template-columns:1.1fr .9fr 1fr;gap:13px;max-width:900px;margin:42px auto 15px}.gallery-item{height:320px;background-color:#d8cabe;background-position:center;background-size:cover;position:relative}.gallery-item span{position:absolute;bottom:13px;left:15px;color:white;font:italic 22px "Cormorant Garamond",serif}.g1{background-image:url("images/gallery-1.jpg"),linear-gradient(135deg,#d8cabe,#a99683)}.g2{background-image:url("images/gallery-2.jpg"),linear-gradient(135deg,#b7a697,#e6d9cc);margin-top:35px}.g3{background-image:url("images/gallery-3.jpg"),linear-gradient(135deg,#d9c8b8,#b6a28e)}.gallery-note{font-size:10px;color:#a0958b;margin-top:20px}.rsvp{background:#554c45;color:white}.rsvp-form{max-width:430px;margin:35px auto 0;text-align:left;display:flex;flex-direction:column;gap:10px}.rsvp-form label{font-size:9px;letter-spacing:1.8px;text-transform:uppercase;color:#e1cbb6;margin-top:8px}.rsvp-form input,.rsvp-form select,.rsvp-form textarea{width:100%;border:1px solid rgba(237,220,203,.4);background:rgba(255,255,255,.06);padding:13px 14px;color:#fff;font:300 12px "DM Sans",sans-serif;outline:none;border-radius:0}.rsvp-form input::placeholder,.rsvp-form textarea::placeholder{color:#c4b8ad}.rsvp-form select option{color:#39332f}.button-wide{width:100%;margin-top:14px}.form-hint{text-align:center;font-size:9px;color:#cfc3b8;line-height:1.6}.gift{background:#efe8df}.gift-card{max-width:330px;margin:35px auto 0;padding:30px 20px;border:1px solid #cdb9a5;background:#f7f3ee}.gift-mark{display:block;font:400 28px "Cormorant Garamond",serif;letter-spacing:3px;color:#786452}.gift-mark i{color:#b29174}.gift-card p{font-size:9px;letter-spacing:2px;color:#988675;margin:17px 0 8px}.gift-card strong{font:500 21px "Cormorant Garamond",serif;letter-spacing:1px}.gift-card p:last-of-type{font-size:10px;letter-spacing:0}.copy-button{border:0;border-bottom:1px solid #a88b70;background:none;color:#80684f;padding:8px 0;margin-top:12px;font:500 9px "DM Sans",sans-serif;letter-spacing:1px;text-transform:uppercase;cursor:pointer}.footer{padding:55px 20px 35px;text-align:center;background:#e5dbd0}.footer-monogram{font-size:34px}.footer h2{font-size:40px;margin:8px 0}.footer p{font-size:11px;color:#82766b}.footer small{font-size:8px;letter-spacing:2px;color:#a09183;display:block;margin-top:25px}.music-button{position:fixed;z-index:10;bottom:20px;right:20px;width:42px;height:42px;border-radius:50%;border:1px solid #d7c3ae;background:#f7f3ee;color:#6b5948;font-size:20px;cursor:pointer;box-shadow:0 3px 15px #0002}.music-button.playing{animation:spin 5s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@keyframes rise{from{opacity:0;transform:translateY(15px)}to{opacity:1;transform:translateY(0)}}@media(max-width:700px){.topbar{height:60px;padding:0 6%}.menu-toggle{display:block}.nav-links{display:none;position:absolute;top:60px;left:0;right:0;background:#f7f3ee;padding:20px 6%;flex-direction:column;gap:20px;box-shadow:0 10px 20px #0001}.nav-links.open{display:flex}.hero{min-height:700px;height:92vh}.hero h1{font-size:75px}.section{padding:78px 6%}.couple-grid{grid-template-columns:1fr;gap:25px}.ampersand{font-size:38px;line-height:.6}.portrait{height:330px;width:100%}.event-cards{grid-template-columns:minmax(0,1fr);max-width:390px;margin:auto}.gallery-grid{grid-template-columns:1fr 1fr;gap:9px}.gallery-item{height:220px}.g2{margin-top:22px}.g3{grid-column:1/-1;height:250px;margin:0 14%}.countdown{gap:10px}.countdown div{min-width:45px}.countdown strong{font-size:32px}.countdown span{font-size:7px;letter-spacing:1px}.event-card{padding:28px 20px}.hero-subtitle{font-size:12px}}