:root{font-family:DM Sans,Arial,sans-serif;color:#303342;background:#faf9f6;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:92px}body{margin:0;min-width:320px}button,input,textarea,select{font:inherit}button{cursor:pointer}a{color:inherit}img{max-width:100%;display:block}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-weight:400}.site-header,.hero,.section,.site-footer{position:relative}.site-header{background:#fbfaf7;box-shadow:0 1px 7px #22222213;z-index:10}.brand{width:100px;height:116px;display:flex;margin:auto;align-items:center;justify-content:center}.brand img{height:96px;width:auto;mix-blend-mode:multiply}.primary-nav{display:flex;align-items:center;justify-content:center;gap:clamp(22px,5.3vw,78px);padding:12px 16px 27px}.primary-nav a{font-family:Cormorant Garamond,Georgia,serif;text-decoration:none;font-weight:600;text-transform:uppercase;letter-spacing:.075em;font-size:clamp(14px,1.6vw,20px);white-space:nowrap}.primary-nav a:hover,.primary-nav a:focus-visible{color:#a0846f}.mobile-menu-button{display:none}.hero{background:#fbfaf7;text-align:center;min-height:810px;overflow:hidden;display:flex;align-items:center;flex-direction:column}.hero:before,.section:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;opacity:.15;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 170 170' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.75' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.13'/%3E%3C/svg%3E")}.hero-content{z-index:1;padding:70px 15px 0}.hero-eyebrow{margin-bottom:23px}.eyebrow,.overline,.section-label{font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:#9c8778;font-weight:700}.hero h1{font-family:Great Vibes,Brush Script MT,cursive;font-size:clamp(70px,11vw,126px);line-height:1.18;color:#161b28;font-weight:400;margin:0 0 6px}.tiny-ornament{font-size:18px;color:#b59d88;margin:4px 0 18px}.hero-date,.hero-place{font-family:Cormorant Garamond,Georgia,serif;font-weight:600;letter-spacing:.14em;font-size:clamp(18px,2.1vw,25px);margin:0 0 4px}.hero-place{font-size:clamp(16px,1.7vw,22px)}.church-art{position:relative;z-index:1;width:min(1110px,97%);height:auto;mix-blend-mode:multiply;margin:30px auto -45px;object-fit:contain}.scroll-cue{position:absolute;z-index:2;bottom:14px;left:calc(50% - 15px);color:#8a7b70;animation:bob 2.4s infinite}@keyframes bob{50%{transform:translateY(6px)}}.section{padding:108px 24px}.container{max-width:1100px;margin:0 auto}.container.narrow{max-width:760px}.center{text-align:center}.section-label{display:flex;align-items:center;justify-content:center;gap:12px;margin-bottom:18px}.section-label span{font-family:Cormorant Garamond,Georgia,serif;font-weight:600;letter-spacing:0;color:#ac927b;font-size:22px}.section h2{font-family:Cormorant Garamond,Georgia,serif;font-weight:500;font-size:clamp(44px,5.4vw,74px);line-height:1.06;letter-spacing:-.022em;margin-bottom:25px;color:#2d303e}.lead{font-family:Cormorant Garamond,Georgia,serif;font-size:clamp(20px,2.3vw,26px);line-height:1.55;color:#68666a;max-width:670px;margin:0 auto 44px}.story-section{background:#f4f0e9}.timeline{max-width:660px;margin:50px auto 28px;text-align:left;position:relative}.timeline:before{content:"";position:absolute;top:23px;bottom:31px;left:33px;width:1px;background:#d5c5b5}.timeline-item{display:grid;grid-template-columns:68px 1fr;gap:25px;margin-bottom:34px;position:relative}.timeline-index{width:66px;height:66px;border:1px solid #cbb8a5;border-radius:50%;display:grid;place-items:center;background:#f4f0e9;font:500 28px Cormorant Garamond,Georgia,serif;color:#b29a87;z-index:1}.timeline h3,.venue-card h3,.stay-card h3,.gift-item h3{font:500 29px Cormorant Garamond,Georgia,serif;margin:4px 0 7px}.timeline p,.stay-card p{font-size:14px;line-height:1.8;color:#727074}.script-note{font:clamp(34px,4.8vw,50px) "Great Vibes",cursive;color:#8e7c70;margin:48px 0 0}.wedding-section{background:#fcfbf9}.venue-grid,.stay-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.venue-card{padding:52px 34px 44px;border:1px solid #dfd7cd;background:#fffefa;min-height:380px;display:flex;align-items:center;flex-direction:column}.venue-icon{color:#a78b77;margin-bottom:18px}.overline{margin-bottom:9px}.venue-card h3{font-size:34px}.venue-address{font-size:14px;line-height:1.7;color:#777378}.venue-details{display:flex;justify-content:center;flex-wrap:wrap;gap:13px 21px;font-size:13px;color:#777378;margin:18px 0 25px}.venue-details span{display:flex;align-items:center;gap:7px}.text-link{display:inline-flex;align-items:center;justify-content:center;gap:8px;color:#857364;text-decoration:none;font-size:12px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;border-bottom:1px solid #b9a592;padding:10px 0 8px;margin-top:auto}.text-link:hover{color:#252b39}.disabled-link{opacity:.62;cursor:not-allowed}.small-note{font-size:10px;text-transform:none;letter-spacing:normal}.rsvp-section{background:#eae6df}.rsvp-layout{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1fr);align-items:center;gap:clamp(40px,7vw,120px)}.rsvp-intro .section-label{justify-content:flex-start}.rsvp-intro h2{max-width:440px}.rsvp-intro>p:not(.section-label){font:24px/1.5 Cormorant Garamond,Georgia,serif;color:#68666a}.deadline{display:flex;align-items:center;gap:12px;font-size:13px;letter-spacing:.04em;margin-top:29px;color:#70665d}.rsvp-decoration{font:43px Great Vibes,cursive;color:#9e8b7b;display:block;margin-top:65px}.form-card{background:#fffefa;border:1px solid #e4ddd3;box-shadow:0 14px 56px #5f52431c;padding:clamp(28px,4vw,52px)}.form-card h3{font:500 46px/1 Cormorant Garamond,Georgia,serif;text-align:center;margin:0}.form-subtitle{text-align:center;color:#a28c79;font-size:11px;letter-spacing:.17em;text-transform:uppercase;margin:10px 0 34px}.form-card label,.form-card legend{display:block;font-size:13px;font-weight:600;letter-spacing:.02em;margin-bottom:9px;color:#4f4e50}.form-card label>span[aria-hidden]{color:#bd8e77}.form-card input:not([type=radio]),.form-card select,.form-card textarea{display:block;width:100%;background:#faf8f5;border:1px solid #ddd7d0;border-radius:2px;padding:14px 15px;color:#3d3b3b;outline:none;margin-bottom:24px;transition:border-color .2s,box-shadow .2s}.form-card input:focus,.form-card select:focus,.form-card textarea:focus{border-color:#ac8e76;box-shadow:0 0 0 3px #ad8e762c}.form-card textarea{resize:vertical;min-height:100px}.attendance{padding:0;margin:0 0 24px;border:0}.radio-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.radio-grid label{border:1px solid #ddd7d0;padding:15px 10px;display:flex;align-items:center;justify-content:center;gap:8px;font-size:12px;font-weight:500;cursor:pointer;text-align:center;margin:0}.radio-grid label.selected{background:#ede5dc;border-color:#a58c78}.radio-grid input{accent-color:#937965}.optional{font-size:11px;color:#999;font-weight:400}.field-hint{font-size:11px;color:#82766d;margin:-15px 0 20px}.button-primary{width:100%;border:1px solid #333747;background:#333747;color:#fff;display:inline-flex;align-items:center;justify-content:center;gap:11px;padding:17px 20px;font-size:12px;text-transform:uppercase;letter-spacing:.14em;font-weight:700;transition:background .2s}.button-primary:hover:not(:disabled){background:#52586b}.button-primary:disabled{opacity:.7;cursor:progress}.privacy-note{font-size:10px;line-height:1.6;text-align:center;color:#858084;margin:16px 0 0}.form-error{background:#fff0ef;color:#9d322b;border-left:3px solid #ab473f;padding:12px;font-size:12px;line-height:1.5}.success-state{text-align:center;padding:30px 0}.success-icon{width:70px;height:70px;display:grid;place-items:center;border:1px solid #a28b77;border-radius:50%;margin:0 auto 25px;color:#7e7763}.success-state p{font:22px/1.4 Cormorant Garamond,Georgia,serif;color:#777;margin:20px 0 35px}.honeypot{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}.stays-section{background:#fbfaf7}.stay-grid{text-align:left}.stay-card{border-top:1px solid #cdbfb1;padding:27px 6px 12px}.stay-number{font:26px Cormorant Garamond,Georgia,serif;color:#b39a84;margin-bottom:14px}.stay-card h3{font-size:31px}.stay-card p{margin-bottom:20px}.gifts-section{background:#f2eee8}.section-symbol{color:#a78f7c;margin:0 auto 14px}.gift-links{text-align:left;max-width:590px;margin:auto}.gift-item{display:flex;justify-content:space-between;align-items:center;gap:30px;border-top:1px solid #d3c6bb;padding:20px 4px}.gift-item:last-child{border-bottom:1px solid #d3c6bb}.gift-item h3{font-size:27px;margin:0 0 5px}.gift-item p{font-size:13px;color:#777;margin:0}.round-link{width:48px;height:48px;flex:none;border:1px solid #ad9987;display:grid;place-items:center;text-decoration:none;border-radius:50%}.message-section{background:#fbfaf7}.outline-button{display:inline-flex;gap:13px;align-items:center;padding:14px 23px;border:1px solid #91816e;text-decoration:none;text-transform:uppercase;font-size:12px;letter-spacing:.12em;margin-top:40px}.outline-button:hover{background:#eae2d8}.site-footer{text-align:center;background:#303443;color:#e9e4de;padding:70px 20px 55px}.footer-line{color:#bba894;margin-bottom:22px}.footer-names{font:56px Great Vibes,cursive;margin:0 0 15px}.site-footer p:not(.footer-names){font:17px Cormorant Garamond,Georgia,serif;letter-spacing:.1em}.site-footer a{font-size:11px;letter-spacing:.1em;text-transform:uppercase;text-decoration:none;display:inline-block;margin-top:25px;color:#dad0c8}.skip-link{position:absolute;left:-9999px;top:0;background:#fff;padding:12px;z-index:20}.skip-link:focus{left:12px}@media(max-width:900px){.primary-nav{gap:22px}.primary-nav a{font-size:14px}.hero{min-height:720px}.rsvp-layout{gap:34px}.rsvp-intro h2{font-size:55px}}@media(max-width:700px){html{scroll-padding-top:78px}.site-header{display:flex;align-items:center;justify-content:center;min-height:82px;position:sticky;top:0}.brand{height:82px;width:80px}.brand img{height:70px}.mobile-menu-button{display:grid;place-items:center;position:absolute;right:17px;top:19px;border:1px solid #dad2c8;background:transparent;width:44px;height:44px;color:#303443;z-index:12}.primary-nav{display:none;position:absolute;left:0;right:0;top:82px;padding:17px 26px 23px;background:#fbfaf7;box-shadow:0 10px 20px #00000012;flex-direction:column;align-items:stretch;gap:0}.primary-nav.is-open{display:flex}.primary-nav a{font-size:18px;padding:11px;border-bottom:1px solid #eee8e2}.hero{min-height:570px}.hero-content{padding-top:60px}.hero h1{font-size:clamp(67px,16vw,105px)}.hero-eyebrow{font-size:9px;letter-spacing:.18em}.church-art{width:110%;max-width:none;margin-top:42px;margin-bottom:-30px}.section{padding:75px 19px}.venue-grid,.stay-grid,.rsvp-layout{grid-template-columns:1fr}.venue-card{min-height:335px;padding:38px 20px}.rsvp-intro h2{max-width:none}.rsvp-intro .section-label{justify-content:center}.rsvp-intro{text-align:center}.deadline{justify-content:center}.rsvp-decoration{margin-top:35px}.rsvp-layout{gap:35px}.form-card{padding:34px 22px}.radio-grid{grid-template-columns:1fr}.timeline-item{gap:15px}.stay-grid{gap:26px}.section h2{font-size:49px}.script-note{font-size:40px}.lead{font-size:22px}}@media(max-width:390px){.hero{min-height:520px}.hero-content{padding-top:45px}.church-art{margin-top:27px}.form-card{padding:29px 17px}.timeline-index{width:55px;height:55px}.timeline:before{left:27px}.timeline-item{grid-template-columns:55px 1fr}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}.admin-shell{max-width:1200px;margin:auto;padding:40px 24px;min-height:100vh;overflow-wrap:anywhere}.admin-shell h1{font:500 clamp(32px,5vw,48px)/1.15 "Cormorant Garamond",Georgia,serif;margin:20px 0}.admin-login{max-width:520px}.admin-login>.form-card{margin-top:28px}.admin-header{display:flex;justify-content:space-between;align-items:center;gap:20px}.admin-header .outline-button{margin:0;flex:none}.admin-actions{display:flex;flex-wrap:wrap;gap:12px;margin:20px 0}.admin-actions button{border:1px solid #91816e;background:#fffefa;color:#303443;padding:13px 18px}.admin-actions button:disabled{opacity:.5;cursor:default}.stats-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin:28px 0}.stat-card{padding:20px;background:#fffefa;border:1px solid #dfd7cd}.stat-card h2{font-size:14px;line-height:1.5}.stat-card strong{font:500 40px Cormorant Garamond,Georgia,serif}.guest-filters{display:grid;grid-template-columns:2fr 1fr 1fr;gap:16px;margin:28px 0}.guest-filters label{font-size:13px;min-width:0}.guest-filters input,.guest-filters select{display:block;width:100%;min-width:0;border:1px solid #ddd7d0;background:#fffefa;padding:12px;margin-top:8px;color:inherit}.guest-table-scroll{max-width:100%;overflow-x:auto;border:1px solid #dfd7cd}.guest-table{border-collapse:collapse;width:100%;min-width:720px;text-align:left;font-size:14px;background:#fffefa}.guest-table th,.guest-table td{padding:16px;border-bottom:1px solid #e4ddd3;vertical-align:top;max-width:260px;overflow-wrap:anywhere}.guest-table th{background:#eae6df}.guest-table summary{cursor:pointer}.guest-message{white-space:pre-wrap;margin:12px 0 0}.admin-shell button:focus-visible,.admin-shell a:focus-visible,.guest-table-scroll:focus-visible{outline:3px solid #a0846f;outline-offset:3px}@media(max-width:768px){.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.guest-filters{grid-template-columns:1fr}.admin-shell{padding:28px 16px}.admin-header{align-items:flex-start}.admin-header h1{font-size:34px}}@media(max-width:390px){.stats-grid{gap:10px}.stat-card{padding:12px}.admin-header{flex-wrap:wrap}}.couple-login{position:absolute;right:24px;top:28px;display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:40px;padding:10px 14px;border:1px solid #cdbfb1;background:#fffefa;color:#706052;text-decoration:none;font-size:11px;letter-spacing:.04em}.couple-login:hover{background:#eae2d8}.couple-login:focus-visible{outline:3px solid #a0846f;outline-offset:3px}@media(max-width:700px){.site-header .brand{margin:0 auto 0 12px}.couple-login{right:74px;top:21px;padding:10px;font-size:10px}}
