:root {--cream:#fbf9f5;--paper:#fffefa;--sand:#f4efe7;--gold:#a47e45;--gold-dark:#846230;--ink:#302b27;--muted:#6d655e;--line:#e1d5c1;--taupe:#776d62;}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:Georgia,'Times New Roman',serif;line-height:1.55}a{color:inherit}img{max-width:100%;display:block}h1,h2,h3,p{margin-top:0}button,input{font:inherit}button,a{ -webkit-tap-highlight-color:transparent }
.site-header{position:relative;z-index:10;background:rgba(255,254,251,.99);box-shadow:0 1px 3px #44321f0b}.masthead{display:flex;justify-content:center;min-height:80px;align-items:center}.wordmark{text-decoration:none;color:var(--ink);text-align:center;text-transform:uppercase;letter-spacing:.24em;font-size:clamp(1.4rem,2.4vw,2.1rem);display:flex;align-items:center;flex-direction:column;line-height:1.4;font-weight:normal}.wordmark em{font-style:italic;text-transform:none;letter-spacing:0}.fleur{font-size:1.65rem;color:var(--gold);line-height:1}.wordmark .fleur{font-size:1.2rem}.main-nav{min-height:47px;display:flex;gap:clamp(.7rem,2.5vw,3rem);align-items:center;justify-content:center;border-top:1px solid #e8e0d8;flex-wrap:wrap;padding:0 15px}.main-nav a{font-size:.73rem;letter-spacing:.17em;text-transform:uppercase;white-space:nowrap;text-decoration:none;padding:13px 2px 11px;border-bottom:2px solid transparent}.main-nav a:hover,.main-nav a.current{color:var(--gold-dark);border-color:var(--gold)}.wrap{width:min(1150px,calc(100% - 44px));margin-inline:auto}.button{display:inline-block;appearance:none;cursor:pointer;text-decoration:none;text-align:center;padding:12px 25px;text-transform:uppercase;letter-spacing:.14em;font-size:.78rem;border:1px solid var(--gold);transition:background-color .2s,color .2s}.button.primary{background:var(--gold);color:white}.button.primary:hover{background:var(--gold-dark)}.button.secondary{background:#ffffffd9;color:var(--gold-dark)}.button.secondary:hover{background:var(--sand)}.button.slim{background:transparent;color:var(--gold-dark);padding:11px 19px}.text-link{color:var(--gold-dark);letter-spacing:.06em;text-underline-offset:4px}.eyebrow,.kicker{letter-spacing:.22em;text-transform:uppercase;font-size:.72rem;color:var(--gold-dark)}.center{text-align:center}.muted{color:var(--muted)}
.home-hero{position:relative;min-height:515px;isolation:isolate;display:grid;align-items:center;overflow:hidden}.hero-cathedral,.hero-proposal,.hero-shade{position:absolute;inset:0;z-index:-2}.hero-cathedral{background:url('/assets/images/cathedral/cathedral.webp') center 46%/cover no-repeat;right:50%}.hero-proposal{background:url('/assets/images/engagement/proposal.webp') 60% 43%/auto 143% no-repeat;left:49%}.hero-shade{z-index:-1;background:linear-gradient(90deg,rgba(255,253,247,.92) 0%,rgba(255,253,247,.82) 28%,rgba(255,253,247,.25) 49%,rgba(255,253,247,0) 70%)}.hero-text{width:min(560px,48vw);margin:35px 0 38px max(5%,calc((100vw - 1200px)/2));text-align:center}.hero-text h1{font-size:clamp(3.25rem,5.2vw,5.35rem);font-weight:normal;font-style:italic;line-height:1.05;margin:10px 0}.hero-text h1 em{font-weight:normal;color:var(--gold-dark)}.hero-text h2{font-size:clamp(1.25rem,2.1vw,2rem);font-style:italic;font-weight:normal;margin:8px 0 14px}.ornament{display:flex;align-items:center;justify-content:center;gap:14px;color:var(--gold);font-size:1.4rem}.ornament span{width:70px;height:1px;background:var(--gold)}.hero-date{text-transform:uppercase;letter-spacing:.2em;font-size:1.42rem;margin-bottom:8px}.hero-place{text-transform:uppercase;letter-spacing:.04em;font-size:.87rem;margin-bottom:5px}.hero-time{font-style:italic;margin-bottom:26px}.hero-actions{display:flex;justify-content:center;gap:12px;flex-wrap:wrap}.quick-facts{display:grid;grid-template-columns:repeat(3,1fr);padding:27px max(5%,calc((100vw - 1200px)/2));background:#fffdfa;border-bottom:1px solid var(--line)}.quick-facts>div{text-align:center;border-right:1px solid var(--line);padding:3px 15px}.quick-facts>div:last-child{border:0}.fact-icon{font-size:1.8rem;color:var(--gold);height:38px}.quick-facts strong{text-transform:uppercase;letter-spacing:.12em;font-weight:normal}.quick-facts p{font-size:.87rem;font-style:italic;line-height:1.38;margin:5px 0 0}.story-preview{padding:60px 0 56px}.section-head{text-align:center;margin-bottom:27px}.section-head h2{font-weight:normal;font-style:italic;font-size:clamp(2.5rem,4.2vw,3.7rem);line-height:1.2;margin:5px 0}.section-head p{font-style:italic;font-size:1.07rem;margin:3px 0}.photo-mosaic{display:grid;grid-template-columns:1.1fr .94fr 1.1fr;grid-template-rows:190px 190px;gap:8px}.photo-mosaic img{width:100%;height:100%;object-fit:cover}.photo-mosaic img:first-child{grid-row:1/3;object-position:center}.photo-mosaic img:nth-child(2){grid-column:2;grid-row:1;object-position:center 52%}.photo-mosaic img:nth-child(3){grid-column:2;grid-row:2;object-position:center 56%}.photo-mosaic img:nth-child(4){grid-column:3;grid-row:1/3;object-position:center}.story-preview .center{margin-top:22px}.tiles-section{background:var(--sand);padding:53px 0 66px}.tile-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:15px}.tile{display:flex;min-height:196px;flex-direction:column;align-items:center;text-align:center;background:var(--paper);border:1px solid var(--line);padding:20px 12px;text-decoration:none;transition:transform .2s,box-shadow .2s}.tile:hover{transform:translateY(-3px);box-shadow:0 8px 26px #59452e18}.tile span{color:var(--gold-dark);font-size:2rem;height:43px}.tile h3{font-weight:normal;text-transform:uppercase;letter-spacing:.1em;font-size:1.06rem;margin:1px}.tile p{font-style:italic;flex:1;margin:7px 0 0;font-size:.91rem}.tile b{font-size:1.5rem;font-weight:normal;color:var(--gold-dark)}
.site-footer{background:#776e65;color:white;text-align:center;padding:30px 12px 28px;letter-spacing:.12em;text-transform:uppercase}.site-footer .fleur{color:#efdab4}.site-footer div{font-size:1.35rem;letter-spacing:.2em;margin-top:8px}.site-footer p{font-size:.7rem;letter-spacing:.12em;margin:3px 0}.site-footer .domain{margin-top:14px;font-size:.68rem}.page-banner{text-align:center;padding:75px 20px 65px;background:linear-gradient(140deg,#fffdfa 0%,#f1e9dc 100%);border-bottom:1px solid var(--line)}.page-banner h1{font-size:clamp(2.8rem,5vw,4.4rem);font-weight:normal;font-style:italic;margin:5px 0 7px}.page-banner p{font-style:italic;font-size:1.06rem;margin:0}.page-banner.compact{padding:47px 20px 42px}.feature-pair{display:grid;grid-template-columns:1.1fr .9fr;gap:6%;align-items:center;padding:70px 0}.feature-image{height:450px;overflow:hidden}.feature-image img{width:100%;height:100%;object-fit:cover;transform:scale(1.48);transform-origin:center 33%}.feature-copy h2,.details-copy h2,.centered-block h2,.info-panel h2{font-size:clamp(2rem,3.2vw,3rem);font-weight:normal;font-style:italic;line-height:1.15;margin:12px 0 20px}.feature-copy p,.details-copy p,.centered-block p,.info-panel p{font-size:1.05rem}.quote-band{text-align:center;background:var(--sand);padding:65px 15px}.quote-band p{font-size:clamp(1.5rem,3vw,2.7rem);font-style:italic;margin:0 0 12px}.quote-band span{letter-spacing:.2em;text-transform:uppercase;font-size:.75rem;color:var(--gold-dark)}.centered-block{text-align:center;padding:72px 0;max-width:800px}.centered-block .button{margin-top:15px}.details-layout{display:grid;grid-template-columns:1fr 1fr;gap:6%;align-items:center;padding-top:75px;padding-bottom:75px}.details-image img{width:100%;max-height:520px;object-fit:cover}.details-copy .address{line-height:1.9}.note{padding:15px 0;margin:25px 0 28px;border-block:1px solid var(--line)}.soft-section{background:var(--sand)}.info-grid{display:grid;grid-template-columns:1fr 1fr;gap:25px;padding-top:75px;padding-bottom:75px}.info-panel{padding:50px 35px;background:#fff;min-height:320px;border:1px solid var(--line);text-align:center}.info-panel .info-icon{font-size:2rem;color:var(--gold)}.info-panel h2{font-size:2rem}.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;padding-top:65px}.gallery-grid img{width:100%;height:350px;object-fit:cover}.gallery-grid img:nth-child(1){grid-column:span 2;height:410px;object-position:center top}.gallery-grid img:nth-child(2){height:410px}.gallery-grid img:nth-child(5){grid-column:span 2}.faq-list{max-width:850px;padding-top:60px;padding-bottom:80px}.faq-list details{border-bottom:1px solid var(--line);padding:20px 4px}.faq-list summary{cursor:pointer;font-size:1.18rem;list-style:none;padding-right:30px;position:relative}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary::after{content:'+';position:absolute;right:7px;color:var(--gold);font-size:1.6rem;top:-2px}.faq-list details[open] summary::after{content:'−'}.faq-list p{margin:14px 0 0;color:var(--muted);line-height:1.7}
.rsvp-wrap{max-width:660px;margin:0 auto;padding:55px 20px 86px}.rsvp-card{border:1px solid var(--line);background:var(--paper);box-shadow:0 10px 45px #6a58400d;text-align:center;padding:42px clamp(22px,5vw,52px)}.rsvp-card h2{font-size:2rem;font-style:italic;font-weight:normal;margin:12px 0 8px}.rsvp-card>p{line-height:1.7}.rsvp-card form{text-align:left;margin-top:27px}.rsvp-card form>label,.rsvp-card legend{display:block;font-size:.94rem;font-weight:bold;letter-spacing:.025em;margin-top:18px;margin-bottom:8px}.rsvp-card input[type=text],.rsvp-card input[type=number],.rsvp-card input[type=password],.rsvp-card input:not([type]){width:100%;min-height:48px;background:white;border:1px solid #cbbda9;border-radius:1px;padding:10px 12px;outline-color:var(--gold)}.rsvp-card input[type=number]{max-width:145px}.rsvp-card fieldset{border:none;padding:0;margin:26px 0 16px}.rsvp-card .radio-row{display:flex;gap:10px;align-items:center;border:1px solid var(--line);padding:11px 15px;margin:7px 0;cursor:pointer}.rsvp-card input[type=radio]{accent-color:var(--gold-dark);width:18px;height:18px}.form-help{font-size:.86rem;color:var(--muted);margin:-2px 0 8px}.total-preview{font-size:.91rem;color:var(--gold-dark);margin-top:9px}.submit-button{display:block;width:100%;margin-top:30px;min-height:49px}.form-error{background:#fff3ef;border:1px solid #dfac9c;padding:12px;color:#823d31;text-align:left;margin:20px 0}.small-print{font-size:.76rem;color:var(--muted);margin:24px 0 0}.offscreen{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}.success-card .confirmation-number{display:grid;gap:2px;background:var(--sand);padding:22px;margin:22px 0}.confirmation-number strong{font-size:3rem;color:var(--gold-dark);line-height:1}.confirmation-number span{font-style:italic}.success-card .button{margin-top:10px}.admin-content{padding:45px 0 80px}.admin-content h2{font-weight:normal;font-size:1.8rem;margin-top:35px}.admin-actions{display:flex;justify-content:flex-end;gap:12px;align-items:center}.admin-actions form{margin:0}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:30px}.stats-grid>div{background:white;border:1px solid var(--line);padding:22px 10px;text-align:center}.stats-grid strong{display:block;font-size:2.3rem;color:var(--gold-dark);font-weight:normal}.stats-grid span{font-size:.8rem;text-transform:uppercase;letter-spacing:.07em}.table-scroll{overflow-x:auto;margin-top:22px}table{width:100%;min-width:620px;border-collapse:collapse;background:white}th,td{text-align:left;padding:13px;border-bottom:1px solid var(--line);font-size:.9rem}th{background:var(--sand);text-transform:uppercase;font-size:.73rem;letter-spacing:.07em}td:last-child{text-align:right}.delete-link{background:none;border:none;text-decoration:underline;cursor:pointer;color:#9a4b44;font-size:.82rem}
@media(max-width:900px){.hero-text{width:54vw;margin-left:3%}.home-hero{min-height:470px}.photo-mosaic{grid-template-rows:170px 170px}.tile-grid{grid-template-columns:repeat(2,1fr)}.stats-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:670px){.masthead{min-height:66px}.wordmark{font-size:1.4rem}.main-nav{justify-content:center;gap:0 17px;padding:4px 9px}.main-nav a{padding:8px 0;font-size:.64rem}.home-hero{min-height:680px;align-items:end}.hero-cathedral{right:0;bottom:40%;background-size:cover;background-position:center 35%}.hero-proposal{left:0;top:34%;background-position:center 40%;background-size:auto 145%}.hero-shade{background:linear-gradient(to bottom,rgba(255,252,247,.65) 0%,rgba(255,252,247,.05) 40%,rgba(255,252,247,.92) 63%,rgba(255,252,247,.96) 100%)}.hero-text{width:calc(100% - 30px);margin:0 auto 22px;position:relative;z-index:1}.hero-text .eyebrow{font-size:.64rem}.hero-text h1{font-size:3.15rem}.hero-text h2{font-size:1.35rem}.hero-date{font-size:1.14rem}.hero-place{font-size:.76rem}.hero-time{margin-bottom:13px}.button{font-size:.68rem;padding:11px 17px}.quick-facts{padding:20px 8px;gap:0}.quick-facts>div{padding:2px 7px}.quick-facts strong{font-size:.73rem}.quick-facts p{font-size:.72rem}.fact-icon{font-size:1.45rem;height:31px}.story-preview{padding:45px 0}.photo-mosaic{grid-template-columns:1fr 1fr;grid-template-rows:220px 175px 200px}.photo-mosaic img:first-child{grid-column:1/3;grid-row:1;object-position:center 40%}.photo-mosaic img:nth-child(2){grid-column:1;grid-row:2}.photo-mosaic img:nth-child(3){grid-column:2;grid-row:2}.photo-mosaic img:nth-child(4){grid-column:1/3;grid-row:3;object-position:center 25%}.tiles-section{padding:45px 0}.tile-grid{gap:9px}.tile{min-height:180px}.tile h3{font-size:.88rem}.tile p{font-size:.8rem}.page-banner{padding:55px 20px 46px}.feature-pair,.details-layout,.info-grid{grid-template-columns:1fr;padding-top:48px;padding-bottom:50px;gap:35px}.feature-image{height:380px}.details-image img{max-height:420px}.info-panel{min-height:260px;padding:30px 20px}.gallery-grid{grid-template-columns:1fr 1fr;gap:9px;padding-top:32px}.gallery-grid img{height:270px}.gallery-grid img:nth-child(1){grid-column:span 2;height:260px}.gallery-grid img:nth-child(2){height:270px}.gallery-grid img:nth-child(5){grid-column:span 2;height:280px}.rsvp-wrap{padding-top:32px}.rsvp-card{padding:32px 23px}.rsvp-card h2{font-size:1.7rem}.faq-list{padding-top:30px}.admin-actions{justify-content:center}}
