:root{--ivory:#f8f4e7;--paper:#fcfaf5;--wine:#6f2229;--deep-wine:#4c151b;--rust:#b85f3b;--terracotta:#c56f46;--sage:#71806b;--emerald:#184b39;--gold:#b99a58;--navy:#233445;--charcoal:#32302e;--muted:#7a6f67;--border:#ded0bd;--sans:'DM Sans',sans-serif;--serif:'Playfair Display',Georgia,serif;--script:'Great Vibes',cursive}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:76px}body{margin:0;background:var(--paper);color:var(--charcoal);font-family:var(--sans);line-height:1.65;-webkit-font-smoothing:antialiased}body.menu-open{overflow:hidden}a{color:inherit}img{display:block;max-width:100%}.hidden{display:none!important}.skip-link{position:fixed;left:12px;top:-60px;z-index:99;background:#fff;padding:10px 15px}.skip-link:focus{top:10px}.site-header{height:74px;position:sticky;top:0;z-index:40;padding:0 clamp(20px,5vw,76px);display:flex;align-items:center;justify-content:space-between;background:rgba(248,244,231,.95);backdrop-filter:blur(10px);border-bottom:1px solid rgba(111,34,41,.12)}.brand{font-family:var(--serif);font-size:25px;text-decoration:none;color:var(--wine)}.brand span{font-family:var(--script);color:var(--rust);font-size:30px}.site-nav{display:flex;align-items:center;gap:clamp(18px,2.8vw,38px)}.site-nav a{text-decoration:none;text-transform:uppercase;font-size:10px;letter-spacing:.16em;font-weight:700}.site-nav a:hover{color:var(--rust)}.nav-rsvp{border-bottom:1px solid var(--wine);padding-bottom:5px}.menu-toggle{display:none;border:0;background:transparent}.hero{height:calc(100svh - 74px);min-height:690px;position:relative;display:grid;place-items:center;overflow:hidden;color:#fff}.hero-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 58%;filter:saturate(.85) contrast(1.04)}.hero-overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(20,19,17,.22),rgba(39,18,14,.44) 58%,rgba(35,17,14,.62))}.hero:after{content:'';position:absolute;inset:18px;border:1px solid rgba(255,245,225,.48);pointer-events:none}.hero-inner{position:relative;z-index:2;text-align:center;padding:40px 20px 80px;text-shadow:0 2px 20px rgba(0,0,0,.32)}.eyebrow,.section-overline{text-transform:uppercase;letter-spacing:.23em;font-size:10px;font-weight:700}.hero h1{font-family:var(--serif);font-weight:400;font-size:clamp(78px,13vw,168px);line-height:.72;letter-spacing:-.06em;margin:28px 0 34px}.hero h1 span{display:block}.hero h1 em{font-family:var(--script);font-size:.56em;color:#f0c994;display:block;font-weight:400;margin:.08em 0}.hero-date{font-family:var(--serif);font-size:clamp(18px,2vw,27px);margin:0}.hero-location{margin:6px 0 26px;text-transform:uppercase;letter-spacing:.18em;font-size:10px}.hero-scroll{position:absolute;z-index:2;bottom:28px;font-size:9px;text-transform:uppercase;letter-spacing:.19em}.button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 26px;text-decoration:none;text-transform:uppercase;letter-spacing:.16em;font-size:10px;font-weight:700;border:1px solid transparent;transition:.2s ease}.button-light{border-color:rgba(255,255,255,.75);color:#fff;background:rgba(55,26,19,.17)}.button-light:hover{background:#fff;color:var(--deep-wine)}.button-primary{background:var(--wine);color:#fff}.button-primary:hover{background:var(--deep-wine)}.section-shell{max-width:1180px;margin:0 auto;padding:110px 45px}.welcome{text-align:center;max-width:760px}.section-overline{color:var(--rust)}h2{font-family:var(--serif);font-weight:400;color:var(--wine);font-size:clamp(44px,5.7vw,72px);line-height:1.06;letter-spacing:-.045em;margin:12px 0 22px}h2 em{font-weight:400;color:var(--rust)}.welcome p{max-width:620px;margin:0 auto;color:var(--muted);font-size:15px}.palette{display:flex;justify-content:center;gap:8px;margin:34px auto 0}.palette span{width:28px;height:28px;border-radius:50%;border:3px solid var(--paper);box-shadow:0 0 0 1px rgba(0,0,0,.06)}.palette span:nth-child(1){background:var(--wine)}.palette span:nth-child(2){background:var(--rust)}.palette span:nth-child(3){background:var(--gold)}.palette span:nth-child(4){background:var(--sage)}.palette span:nth-child(5){background:var(--emerald)}.feature-photo{max-width:1320px;margin:0 auto 40px;position:relative;padding:0 35px}.feature-photo img{width:100%;height:min(72vw,770px);object-fit:cover;object-position:center 43%;filter:saturate(.88)}.feature-card{position:absolute;left:7%;bottom:7%;background:rgba(248,244,231,.94);padding:24px 28px;border:1px solid rgba(111,34,41,.14);box-shadow:0 16px 40px rgba(35,25,20,.12)}.feature-card p{font-family:var(--serif);font-size:23px;color:var(--wine);margin:6px 0 0}.section-heading{text-align:center;margin-bottom:55px}.section-heading p{color:var(--muted);margin:4px 0 0}.day-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.day-card{position:relative;background:var(--ivory);border:1px solid var(--border);padding:55px 38px 44px;text-align:center;overflow:hidden}.day-card:before{content:'';position:absolute;inset:10px;border:1px solid rgba(185,154,88,.25)}.card-number{display:block;color:var(--gold);font-family:var(--serif);font-size:13px}.day-card h3{font-family:var(--serif);font-weight:400;font-size:39px;color:var(--wine);margin:10px 0 18px}.day-card p{position:relative;color:var(--muted);font-size:14px;max-width:430px;margin:9px auto}.day-card .big-detail{font-weight:700;text-transform:uppercase;letter-spacing:.12em;color:var(--charcoal);font-size:12px}.small-note{font-style:italic}.text-link{position:relative;display:inline-block;margin-top:16px;color:var(--wine);text-decoration:none;text-transform:uppercase;letter-spacing:.14em;font-size:10px;font-weight:700;border-bottom:1px solid var(--rust);padding-bottom:5px}.countdown-wrap{text-align:center;padding-top:62px}.countdown{display:flex;justify-content:center;gap:clamp(18px,5vw,62px);margin-top:24px}.countdown div{display:flex;flex-direction:column;min-width:58px}.countdown strong{font-family:var(--serif);font-weight:400;font-size:45px;color:var(--wine);line-height:1}.countdown span{text-transform:uppercase;letter-spacing:.18em;font-size:9px;color:var(--muted);margin-top:11px}.guest-info{max-width:1320px;margin:30px auto 80px;display:grid;grid-template-columns:1.05fr .95fr;background:var(--emerald);color:#f7efdf}.guest-image{min-height:620px}.guest-image img{width:100%;height:100%;object-fit:cover;object-position:center}.guest-copy{padding:85px clamp(35px,6vw,85px)}.guest-copy .section-overline{color:#e8c38c}.guest-copy h2{color:#fff4e5}.guest-copy h2 em{color:#e8c38c}.info-row{padding:22px 0;border-top:1px solid rgba(255,255,255,.19)}.info-row:last-child{border-bottom:1px solid rgba(255,255,255,.19)}.info-row h3{font-family:var(--serif);font-size:23px;font-weight:400;margin:0 0 5px}.info-row p{margin:0;color:#e8e0d2;font-size:14px}.gallery{padding-top:80px}.gallery-grid{display:grid;grid-template-columns:1.05fr .95fr;grid-template-rows:420px 420px;gap:18px}.gallery-grid figure{margin:0;overflow:hidden;background:#eee}.gallery-grid img{width:100%;height:100%;object-fit:cover;transition:transform .55s ease}.gallery-grid figure:hover img{transform:scale(1.02)}.g1{grid-row:1/3}.g1 img{object-position:center 74%}.g2 img{object-position:center 35%}.g3 img{object-position:center 40%}.share-section{background:var(--wine);color:#fff4e5;padding:105px 25px;text-align:center}.share-inner{max-width:680px;margin:0 auto}.share-section .section-overline{color:#e7bd84}.share-section h2{color:#fff4e5}.share-section h2 em{color:#e7bd84}.share-section p{color:#eadbc9;margin:0 auto 30px;max-width:600px}.coming-soon{display:inline-block;text-transform:uppercase;letter-spacing:.15em;font-size:10px;font-weight:700;border-bottom:1px solid var(--gold);padding-bottom:5px}.rsvp-section{padding-top:105px;padding-bottom:105px}.rsvp-frame{text-align:center;background:var(--ivory);border:1px solid var(--border);padding:90px 25px;position:relative}.rsvp-frame:after{content:'';position:absolute;inset:10px;border:1px solid rgba(185,154,88,.25);pointer-events:none}.rsvp-frame p{color:var(--muted);max-width:480px;margin:0 auto 26px}.rsvp-frame .deadline{font-size:12px;margin-top:25px;margin-bottom:0}.site-footer{background:var(--deep-wine);color:#f7e8d8;text-align:center;padding:65px 40px 28px}.footer-names{font-family:var(--serif);font-size:clamp(42px,5vw,68px);margin:0;letter-spacing:-.05em}.footer-names em{font-family:var(--script);color:#e7bd84;font-weight:400}.footer-tag{font-family:var(--serif);font-style:italic;margin:8px 0 45px;color:#dfc7af}.footer-bottom{border-top:1px solid rgba(255,255,255,.2);padding-top:22px;display:flex;justify-content:space-between;gap:16px;text-transform:uppercase;letter-spacing:.14em;font-size:9px}.footer-bottom a{text-decoration:none}.reveal{opacity:1;transform:none}.js-motion .reveal{opacity:0;transform:translateY(18px);transition:opacity .65s ease,transform .65s ease}.js-motion .reveal.is-visible{opacity:1;transform:none}
@media(max-width:850px){.site-header{height:68px;padding:0 22px}.site-nav{display:none;position:fixed;inset:68px 0 0;background:var(--ivory);flex-direction:column;justify-content:center;gap:30px}.menu-open .site-nav{display:flex}.site-nav a{font-size:13px}.menu-toggle{display:flex;width:42px;height:42px;flex-direction:column;align-items:center;justify-content:center;gap:6px}.menu-toggle span{width:24px;height:1.5px;background:var(--wine);transition:.2s}.menu-open .menu-toggle span:first-child{transform:translateY(7.5px) rotate(45deg)}.menu-open .menu-toggle span:nth-child(2){opacity:0}.menu-open .menu-toggle span:last-child{transform:translateY(-7.5px) rotate(-45deg)}.hero{height:calc(100svh - 68px)}.hero h1{font-size:clamp(74px,18vw,120px)}.feature-photo{padding:0 22px}.day-grid{grid-template-columns:1fr}.guest-info{grid-template-columns:1fr}.guest-image{min-height:520px}.guest-copy{text-align:center}.gallery-grid{grid-template-columns:1fr 1fr;grid-template-rows:500px 330px}.g1{grid-column:1/3;grid-row:auto}.footer-bottom{flex-direction:column}}
@media(max-width:600px){.hero{min-height:660px}.hero-photo{object-position:52% center}.hero:after{inset:10px}.hero-inner{padding-bottom:70px}.hero h1{font-size:clamp(70px,22vw,105px)}.hero-date{font-size:18px}.hero-location{font-size:9px}.section-shell{padding:82px 22px}.feature-photo img{height:620px;object-position:52% center}.feature-card{left:34px;right:34px;bottom:24px;padding:18px 20px}.day-card{padding:48px 25px 38px}.countdown{gap:11px}.countdown strong{font-size:34px}.guest-image{min-height:490px}.guest-copy{padding:68px 26px}.gallery{padding-top:65px}.gallery-grid{display:block}.gallery-grid figure{height:480px;margin-bottom:14px}.g1 img{object-position:center 70%}.share-section{padding:85px 22px}.rsvp-section{padding:80px 18px}.rsvp-frame{padding:72px 18px}.footer-bottom{gap:9px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.js-motion .reveal{opacity:1;transform:none}}

/* Google RSVP form: use the full available width on phones. */
.rsvp-embed{display:block;width:100%;max-width:700px;height:1560px;border:0;margin:30px auto 22px;background:transparent}.rsvp-frame .deadline{margin-bottom:10px}
@media(max-width:600px){.rsvp-section{padding-left:12px;padding-right:12px}.rsvp-frame{padding:55px 0}.rsvp-frame>p,.rsvp-frame>h2,.rsvp-frame>.section-overline{padding-left:20px;padding-right:20px}.rsvp-embed{height:1660px}.rsvp-frame .button{max-width:calc(100% - 32px);padding:0 14px;font-size:9px}}
