:root{--ivory:#efeee9;--espresso:#3d2500;--oxblood:#3f0013;--olive:#5f5420;--blue:#a1a8be;--mauve:#ebdee4;--peach:#f3d0c3;--coral:#ea785b;--line:#3d25003d;--display:Georgia,"Times New Roman",serif;--body:Arial,Helvetica,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:2rem}body{background:var(--ivory);color:var(--espresso);font-family:var(--body);margin:0;font-size:16px;line-height:1.7}a{color:inherit;text-underline-offset:5px}button,input,textarea,select{font:inherit}button,a,input,textarea,select,summary{touch-action:manipulation}button{cursor:pointer}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid var(--olive);outline-offset:5px}h1,h2,h3{font-family:var(--display);letter-spacing:-.04em;margin:0 0 1.5rem;font-weight:400;line-height:1.05}h1{font-size:clamp(3.5rem,7vw,7rem)}h2{font-size:clamp(2.2rem,4vw,4.5rem)}h3{font-size:2rem}p{margin:0 0 1.4rem}em{font-weight:400}.eyebrow{letter-spacing:.23em;text-transform:uppercase;color:var(--olive);margin-bottom:2rem;font-size:.65rem;font-weight:600}.header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:2rem;min-height:104px;margin:0 4.5%;display:flex}.monogram{font-family:var(--display);white-space:nowrap;letter-spacing:-.08em;font-size:2rem;text-decoration:none}.monogram span{font-size:1.3rem;font-style:italic}.navigation{align-items:center;gap:clamp(1rem,2.4vw,2.5rem);display:flex}.navigation>a{letter-spacing:.06em;font-size:.72rem;text-decoration:none}.navigation>a:hover{text-decoration:underline}.menu-toggle{display:none}.button{background:var(--espresso);color:var(--ivory);border:1px solid var(--espresso);letter-spacing:.08em;text-align:center;padding:1rem 2.2rem;font-size:.8rem;text-decoration:none;display:inline-block}.button.small{padding:.65rem 1.4rem}.button.light{color:var(--oxblood);background:var(--ivory);border-color:var(--ivory)}.button:hover{opacity:.85}.button:disabled{opacity:.45;cursor:not-allowed}.text-link{letter-spacing:.04em;border-bottom:1px solid;padding:.5rem 0;font-size:.77rem;text-decoration:none;display:inline-block}.hero{grid-template-columns:1fr 1fr;gap:5%;min-height:750px;padding:3rem 4.5% 5rem;display:grid}.hero-copy{text-align:center;padding:2.8rem 2rem}.hero h1{margin:3rem 0 2rem;font-size:clamp(5.5rem,10vw,10rem);line-height:.85}.hero h1 span{vertical-align:middle;font-size:.4em;font-style:italic}.full-names{letter-spacing:.13em;font-size:.7rem}.hero-date{flex-direction:column;gap:.4rem;margin:2.2rem 0 1.3rem;display:flex}.hero-date span{letter-spacing:.2em;font-size:.6rem}.hero-date strong{font-family:var(--display);letter-spacing:.04em;font-size:2.1rem;font-weight:400}.photo-placeholder{background:linear-gradient(145deg,#d8d4cb,#b4b5ac 55%,#8c958b);justify-content:center;align-items:center;min-height:460px;padding:7%;display:flex;position:relative}.photo-placeholder:before{content:"";border:1px solid #efeee966;border-radius:50% 50% 0 0;position:absolute;inset:10% 15%}.photo-frame{text-align:center;color:#30291e;flex-direction:column;gap:.7rem;padding:3rem 1rem;display:flex;position:relative}.photo-frame>.monogram{margin-bottom:2rem;font-size:4rem}.photo-frame>span:not(.monogram){letter-spacing:.15em;text-transform:uppercase;font-size:.68rem}.photo-frame small{font-size:.7rem}.photo-placeholder.wide{min-height:350px}.section{padding:7rem 9%}.details-preview{grid-template-columns:1fr 1fr;gap:0 12%;display:grid}.details-preview>.eyebrow{grid-column:1/-1}.details-preview>div{max-width:420px;padding-top:.8rem}.venue-feature{background:var(--oxblood);color:var(--ivory);grid-template-columns:1fr 1fr;gap:8%;padding:5rem 7%;display:grid}.venue-feature>div:last-child{align-self:center;padding:2rem 0}.venue-feature .eyebrow{color:var(--peach)}.venue-feature h2{font-size:clamp(2.5rem,4.8vw,5rem)}.venue-feature .photo-placeholder{min-height:520px}.gallery-preview{grid-template-columns:1fr 1fr;align-items:center;gap:12%;display:grid}.gallery-preview .photo-placeholder{background:linear-gradient(155deg,var(--mauve),#b6a9ad);min-height:400px}.countdown{text-align:center;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:4rem 1rem}.countdown .eyebrow{margin-bottom:1rem}.countdown p{font-family:var(--display);margin:0;font-size:2rem}.countdown strong{font-size:5rem;font-weight:400}.rsvp-callout{text-align:center;background:var(--oxblood);color:var(--ivory);padding:7rem 2rem}.rsvp-callout .eyebrow{color:var(--peach)}footer{justify-content:space-between;align-items:center;gap:2rem;padding:4rem 6%;display:flex}footer p,footer a{font-size:.7rem}footer .monogram{font-size:2.3rem}.footer-links{gap:1rem;display:flex}.page-heading{text-align:center;max-width:1100px;margin:auto;padding:6rem 1.5rem 4rem}.page-heading h1{font-size:clamp(3.6rem,6.2vw,6rem)}.page-body{max-width:1100px;margin:auto;padding:0 2rem 6rem}.intro{font-family:var(--display);text-align:center;max-width:800px;margin:0 auto 4rem;font-size:clamp(1.6rem,3vw,2.3rem);line-height:1.4}.info-grid{grid-template-columns:1fr 1fr;gap:3rem 5rem;display:grid}.info-grid article{border-top:1px solid var(--line);padding:1rem 0 2rem}.info-grid h2{font-size:2.6rem}.inset{background:var(--mauve);margin:3rem 0;padding:3rem}.inset h2{font-size:3rem}.inset p:last-child{margin:2rem 0 0}.prose{max-width:750px;margin:4rem auto}.prose h2{margin-top:3rem;font-size:2.5rem}.centred{text-align:center}.timeline{max-width:800px;margin:0 auto 3rem;padding:0;list-style:none}.timeline li{border-top:1px solid var(--line);grid-template-columns:140px 1fr;gap:2rem;padding:2.5rem 0;display:grid}.timeline time{padding-top:.5rem;font-size:.8rem}.timeline h2{font-size:2.6rem}.faq-category{max-width:800px;margin:0 auto 3rem}.faq-category .eyebrow{margin-bottom:1rem}details{border-bottom:1px solid var(--line);padding:1.2rem 0}summary{cursor:pointer;font-family:var(--display);font-size:1.4rem;line-height:1.4;list-style-position:outside}details p{max-width:650px;margin:0;padding-top:1rem}.skip-link{background:var(--ivory);z-index:100;padding:1rem;position:fixed;top:-100px;left:1rem}.skip-link:focus{top:1rem}.banner{background:var(--mauve);text-align:center;padding:.8rem 4%;font-size:.85rem}.banner button{background:0 0;border:0;padding:0 1rem;font-size:1.4rem}.form{max-width:750px;margin:auto}.form label{margin:1.3rem 0 .4rem;font-size:.8rem;display:block}.form input,.form textarea,.form select{border:1px solid var(--line);width:100%;color:var(--espresso);background:0 0;padding:.8rem}.form textarea{min-height:110px}.form fieldset{border:1px solid var(--line);margin:2rem 0;padding:1.5rem}.form legend{font-family:var(--display);padding:0 .6rem;font-size:1.8rem}.form .button{margin-top:1.5rem}.error{color:#850d28;background:var(--mauve);border-left:3px solid #850d28;padding:1rem}.notice{background:var(--mauve);padding:1rem;font-size:.9rem}.admin-shell{max-width:1200px;margin:auto;padding:3rem 2rem}.admin-shell h1{font-size:3.5rem}.admin-nav{border-bottom:1px solid var(--line);flex-wrap:wrap;gap:1rem;margin-bottom:2rem;padding-bottom:1rem;display:flex}.admin-nav button{color:inherit;background:0 0;border:0;text-decoration:underline}.admin-card{border:1px solid var(--line);margin:1.5rem 0;padding:1.5rem}.admin-card h2{font-size:2rem}.admin-card textarea{width:100%;min-height:350px;font:13px/1.5 monospace}.status-grid{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:1rem;display:grid}.status-grid article{border:1px solid var(--line);padding:1rem}.status-grid strong{font:2.2rem var(--display);display:block}table{border-collapse:collapse;width:100%;font-size:.85rem}td,th{text-align:left;border-bottom:1px solid var(--line);padding:.8rem}.table-scroll{overflow:auto}.actions{flex-wrap:wrap;gap:1rem;display:flex}.actions .button{margin:1rem 0}.admin-shell input[type=checkbox]{width:auto;margin-right:.5rem}pre{white-space:pre-wrap;overflow-wrap:anywhere}.menu-toggle{border:1px solid var(--line);color:inherit;background:0 0;padding:.5rem 1rem}@media (max-width:900px){.navigation{gap:1rem}.header{margin:0 4%}.hero-copy{padding:2rem 0}.hero{gap:3%;min-height:auto}.hero .photo-placeholder{min-height:500px}.hero h1{font-size:6.8rem}footer{flex-wrap:wrap}}@media (max-width:720px){.header{flex-wrap:wrap;min-height:85px}.menu-toggle{display:block}.navigation{flex-basis:100%;padding:0 0 1.5rem;display:none}.navigation.open{flex-direction:column;align-items:stretch;display:flex}.navigation a{padding:.4rem;font-size:.9rem}.hero{flex-direction:column;gap:2rem;padding:1.5rem 5% 3rem;display:flex}.hero-copy{padding:2rem 0 0}.hero h1{margin:2rem 0;font-size:7rem}.hero .photo-placeholder{min-height:400px}.section{padding:4rem 7%}.details-preview,.gallery-preview,.venue-feature,.info-grid{grid-template-columns:1fr;gap:2rem}.details-preview>div{max-width:none}.venue-feature{padding:3rem 7%}.venue-feature .photo-placeholder{order:2;min-height:350px}.gallery-preview .photo-placeholder{min-height:350px}.page-heading{padding:4rem 1.2rem 2rem}.page-body{padding:0 1.4rem 4rem}.inset{padding:2rem 1.4rem}.timeline li{grid-template-columns:90px 1fr;gap:1rem}.timeline h2{font-size:2.1rem}.rsvp-callout{padding:5rem 1.5rem}footer{gap:1.5rem;padding:3rem 7%}.admin-shell{padding:2rem 1rem}.admin-shell h1{font-size:2.6rem}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition:none!important;animation:none!important}}.photo-grid{columns:3 240px;column-gap:1.5rem}.photo-grid figure{break-inside:avoid;margin:0 0 2rem}.photo-button{cursor:zoom-in;background:0 0;border:0;width:100%;padding:0}.photo-grid img{width:100%;height:auto;display:block}.photo-grid figcaption{margin:.5rem 0;font-size:.8rem}dialog{background:var(--ivory);max-width:95vw;max-height:95vh;color:var(--espresso);border:0;padding:1.5rem}dialog::backdrop{background:#1e0a0ad9}dialog img{object-fit:contain;max-width:85vw;max-height:70vh;margin:1rem auto;display:block}.editor-field{margin-bottom:.8rem}@media (max-width:720px){.page-heading h1{overflow-wrap:anywhere;text-wrap:balance;font-size:2.8rem}}.editorial-photo{min-height:400px;margin:0;position:relative}.editorial-photo img{object-fit:cover;width:100%;height:100%;position:absolute}.hero>.editorial-photo{min-height:600px}.venue-feature>.editorial-photo{min-height:520px}@media (max-width:720px){.hero>.editorial-photo,.venue-feature>.editorial-photo{min-height:420px}}@font-face{font-family:Hello Paris;src:url(/api/fonts/hello-paris)format("truetype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Hello Paris Sans;src:url(/api/fonts/hello-sans-extra-light)format("truetype");font-weight:200;font-style:normal;font-display:swap}@font-face{font-family:Hello Paris Sans;src:url(/api/fonts/hello-sans-light)format("truetype");font-weight:300;font-style:normal;font-display:swap}@font-face{font-family:Hello Paris Sans;src:url(/api/fonts/hello-sans-medium)format("truetype");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:Hello Paris Sans;src:url(/api/fonts/hello-sans-bold)format("truetype");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:Rotis;src:url(/api/fonts/rotis)format("truetype");font-weight:400;font-style:normal;font-display:swap}.custom-fonts{--display:"Hello Paris",Georgia,serif;--body:"Rotis",Arial,sans-serif;font-synthesis:none}.custom-fonts .eyebrow,.custom-fonts .full-names,.custom-fonts .hero-date span{font-family:var(--body);font-weight:400}.custom-fonts .eyebrow{font-size:.75rem}.custom-fonts .full-names{font-size:.8rem}.custom-fonts .hero-date span{font-size:.7rem}.custom-fonts h1,.custom-fonts h2,.custom-fonts h3{letter-spacing:0;line-height:1.12}.custom-fonts h1 em,.custom-fonts h2 em,.custom-fonts h3 em,.custom-fonts .hero h1 span{font-style:normal}.custom-fonts .hero h1{font-size:clamp(5.5rem,9vw,9rem);line-height:.95}.custom-fonts .monogram{letter-spacing:0;font-style:normal}@media (max-width:720px){.custom-fonts .hero h1{font-size:6.3rem}.custom-fonts .page-heading h1{overflow-wrap:anywhere;font-size:2.8rem}}
body{background-color:var(--ivory);background-image:radial-gradient(#3d250006 .55px,#0000 .7px);background-size:4px 4px}.cutout-defs{pointer-events:none;position:absolute}.header{z-index:40;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#efeee9f0;border-bottom:0;min-height:82px;margin:0;padding:0 4.3%;position:sticky;top:0}.header .monogram{font-size:2.2rem}.navigation{gap:clamp(1rem,2.3vw,2.5rem)}.navigation>a{letter-spacing:.015em;font-size:.93rem}.navigation .button.small{padding:.65rem 1.7rem;font-size:.85rem}.button{background:var(--oxblood);border-color:var(--oxblood);letter-spacing:.06em;border-radius:100px;padding:.85rem 2rem;font-size:.85rem;transition:background .2s,color .2s,transform .2s}.button:hover{opacity:1;background:var(--espresso);transform:translateY(-2px)}.button.light:hover{background:var(--peach);color:var(--oxblood)}.button:disabled:hover{transform:none}.text-link{font-size:.85rem}.menu-toggle{border-radius:100px}.invitation-frame{isolation:isolate;padding:1px;position:relative}.frame-line{pointer-events:none;z-index:-1;border:1px solid #5f54206b;position:absolute;inset:0}.frame-corner{width:48px;height:48px;color:var(--olive);background:var(--ivory);pointer-events:none;z-index:1;position:absolute}.frame-corner svg{width:100%;height:100%}.frame-corner.tl{top:-1px;left:-1px}.frame-corner.tr{top:-1px;right:-1px;transform:rotate(90deg)}.frame-corner.br{bottom:-1px;right:-1px;transform:rotate(180deg)}.frame-corner.bl{bottom:-1px;left:-1px;transform:rotate(270deg)}.flourish{width:150px;height:32px;color:var(--olive);flex-shrink:0;margin:1.4rem auto;display:block}.botanical{width:clamp(110px,15vw,210px);height:80%;color:var(--peach);opacity:.43;pointer-events:none;position:absolute;top:8%;left:2%}.botanical.right{left:auto;right:2%;transform:rotate(180deg)}.hero-frame{margin:1.2rem 3.2% 3rem}.hero-frame .hero{min-height:0;padding:0 2.5%;display:block;position:relative}.hero-meta{grid-template-columns:1fr 1fr 1fr;align-items:start;gap:1rem;padding:3.3rem 1% 1.8rem;line-height:1.4;display:grid}.hero-meta p{margin:0;font-size:1rem}.hero-meta p:last-child{text-align:right}.hero-meta p span{color:var(--olive);font-size:.8rem}.hero-meta .hero-welcome{text-align:center;font-size:1rem}.hero-stage{justify-content:center;align-items:flex-start;height:450px;display:flex;position:relative}.hero-photo{width:min(420px,52%);height:100%;position:relative}.hero-photo .editorial-photo{height:100%;min-height:0}.hero-photo .editorial-photo img{clip-path:url(#invitation-cutout)}.hero-frame .hero h1{white-space:nowrap;text-align:center;letter-spacing:-.025em;width:max-content;max-width:100%;color:var(--espresso);z-index:2;background:#efeee9f0;margin:0;padding:.035em .18em .055em;font-size:clamp(4rem,10.8vw,10rem);line-height:1.02;position:absolute;bottom:2px;left:50%;transform:translate(-50%)}.hero-frame .hero h1 span{vertical-align:middle;margin:0 .12em;font-size:.54em;display:inline-block}.hero-signoff{text-align:center;padding:1.7rem 0 1.9rem}.hero-signoff .full-names{letter-spacing:.14em;margin-bottom:.5rem;font-size:.78rem}.hero-signoff .text-link{font-size:.75rem}.section{padding:5.5rem 6%}.details-preview.invitation-panel{text-align:center;background-color:var(--oxblood);color:var(--ivory);background-image:linear-gradient(35deg,#0000 49.8%,#00000017 50%,#0000 50.2%),linear-gradient(-35deg,#0000 49.8%,#00000017 50%,#0000 50.2%);background-size:700px 700px;flex-direction:column;align-items:center;gap:0;padding:6rem 18%;display:flex;position:relative;overflow:hidden}.invitation-panel>.eyebrow{color:var(--peach);margin-bottom:1.2rem}.invitation-panel h2{max-width:700px;margin-bottom:.4rem;font-size:clamp(2.4rem,5vw,4.4rem)}.invitation-panel>.flourish{color:var(--peach);margin:.5rem auto 2rem}.details-preview .invitation-date{outline-offset:8px;border:1px solid #f3d0c373;outline:1px solid #f3d0c333;width:100%;max-width:760px;margin:0 0 2.5rem;padding:1.8rem 2.8rem}.invitation-date>span{letter-spacing:.16em;text-transform:uppercase;font-size:.76rem}.invitation-date>p{font-family:var(--display);margin:.8rem 0 1.2rem;font-size:clamp(2.6rem,5.8vw,5.3rem);line-height:1.2}.invitation-welcome{max-width:510px;font-size:1.05rem}.details-preview .day-notes{align-items:center;gap:2.5rem;max-width:none;margin:1rem 0 2.2rem;padding:0;display:flex}.day-notes p{flex-direction:column;gap:.3rem;margin:0;display:flex}.day-notes p>span{letter-spacing:.16em;text-transform:uppercase;color:var(--peach);font-size:.7rem}.day-notes p>strong{font-family:var(--display);font-size:1.6rem;font-weight:400}.day-notes>span{color:var(--peach);font-size:.8rem}.venue-section{padding-top:5rem;padding-bottom:2rem}.venue-feature{color:var(--espresso);background:0 0;grid-template-columns:1.1fr 1fr;align-items:center;gap:8%;padding:4rem 6%}.venue-copy{text-align:center}.venue-copy .eyebrow{color:var(--olive);margin-bottom:1.6rem}.venue-copy h2{margin-bottom:.5rem;font-size:clamp(2.7rem,4.8vw,4.8rem)}.venue-copy p{font-size:1rem}.venue-copy .venue-parking{color:var(--olive);margin:1.5rem 0 0;font-size:.78rem}.venue-feature>div:last-child{padding:0;transform:rotate(3deg)}.venue-postcard{background:var(--ivory);border:1px solid #3d25002e;box-shadow:0 12px 22px #3d250012;padding:12px 12px 0!important}.venue-postcard .photo-placeholder,.venue-postcard .editorial-photo{height:350px;min-height:350px}.venue-postcard .photo-placeholder{background:var(--mauve);padding:7%}.venue-postcard .photo-placeholder:before{border-color:#3d250033;border-radius:0;inset:7%}.venue-postcard .photo-frame>.monogram{font-size:3rem}.venue-postcard .photo-frame{padding:2rem .2rem}.postcard-caption{text-align:center;letter-spacing:.08em;margin:0;padding:1rem 0;font-size:.74rem}.gallery-preview{grid-template-columns:1fr 1.05fr;gap:12%;padding:6rem 14% 7rem}.gallery-intro{text-align:center}.gallery-intro .eyebrow{margin-bottom:1.3rem}.gallery-intro h2{margin-bottom:.5rem;font-size:clamp(3rem,5.8vw,5.5rem)}.gallery-intro p{font-size:1rem}.engagement-print{background:var(--ivory);border:1px solid #3d250021;padding:14px 14px 0;transform:rotate(-4deg);box-shadow:0 12px 28px #3d250021}.engagement-print .editorial-photo{height:400px;min-height:0}.print-caption{font-family:var(--display);text-align:center;margin:0;padding:1rem .5rem 1.2rem;font-size:1.8rem}.countdown{background:var(--oxblood);color:var(--ivory);border:0;padding:5.5rem 2rem;position:relative}.countdown:before{content:"";pointer-events:none;border:1px solid #f3d0c359;position:absolute;inset:20px}.countdown .eyebrow,.countdown .flourish{color:var(--peach)}.countdown h2{margin:1rem 0;font-size:clamp(3rem,6.4vw,6rem)}.countdown .countdown-number{flex-direction:column;align-items:center;gap:.25rem;margin:0;display:flex}.countdown .countdown-number strong{font-size:4rem;line-height:1.1}.countdown .countdown-number span{font-family:var(--body);letter-spacing:.15em;text-transform:uppercase;font-size:.8rem}.rsvp-section{padding:5rem 7%}.rsvp-callout{text-align:center;color:var(--espresso);background:0 0;padding:4.5rem 1.8rem;position:relative}.rsvp-callout .eyebrow{color:var(--olive);margin-bottom:1.2rem}.rsvp-callout h2{margin-bottom:0;font-size:clamp(2.8rem,5.5vw,5rem)}.rsvp-callout>p:not(.eyebrow){font-size:1rem}.rsvp-callout .rsvp-status{letter-spacing:.035em;max-width:340px;margin:1.5rem auto 0;font-size:.75rem!important}.invitation-footer{background:var(--oxblood);color:var(--ivory);text-align:center;flex-direction:column;gap:0;padding:4rem 5% 2.5rem;display:flex;position:relative}.invitation-footer>.eyebrow{color:var(--peach);margin:0 0 1rem}.invitation-footer .footer-names{font-family:var(--display);letter-spacing:-.02em;font-size:clamp(3.6rem,9vw,8rem);line-height:1.3;text-decoration:none}.invitation-footer .flourish{color:var(--peach);margin:1rem 0 1.6rem}.invitation-footer>p:not(.eyebrow){font-size:.85rem;line-height:1.7}.invitation-footer>a:not(.footer-names){font-size:.85rem}.footer-links{border-top:1px solid #f3d0c34d;flex-wrap:wrap;justify-content:center;gap:1rem 1.8rem;width:100%;margin-top:2.5rem;padding-top:1.5rem}.footer-links a{letter-spacing:.05em;font-size:.75rem;text-decoration:none}.page-heading{border:1px solid #5f542066;max-width:93%;margin:1.5rem auto 3rem;padding:4rem 4% 3.7rem;position:relative}.page-heading:after{content:"✧";background:var(--ivory);color:var(--olive);padding:0 1.3rem;font-family:Georgia,serif;font-size:1.6rem;position:absolute;bottom:-1rem;left:50%;transform:translate(-50%)}.page-heading .eyebrow{margin-bottom:1.5rem}.page-heading h1{text-wrap:balance;margin:0;font-size:clamp(3.1rem,6vw,5.6rem)}.page-heading>p:not(.eyebrow){margin-top:1.6rem}.page-body{padding-bottom:5rem}.page-body>.intro{max-width:760px;font-size:clamp(1.6rem,2.4vw,2.3rem)}.info-grid article{border:1px solid #5f54204d;padding:2rem}.info-grid h2{font-size:2.5rem}.inset{background:var(--mauve);outline-offset:-8px;text-align:center;border:1px solid #3d25003b;outline:1px solid #3d25001f;padding:3rem 2.5rem}.inset h2{font-size:3rem}.faq-category{padding:0}.faq-category>.eyebrow{margin:2.5rem 0 1rem;font-size:.85rem}.faq-category details{border:1px solid #5f542047;margin-bottom:.7rem;padding:1.1rem 1.4rem}.faq-category summary{font-family:var(--body);padding-right:2rem;font-size:1.05rem;list-style:none;position:relative}.faq-category summary:after{content:"+";color:var(--oxblood);font-size:1.3rem;position:absolute;top:0;right:0}.faq-category details[open] summary:after{content:"−"}.faq-category details[open]{background:#ebdee459}.timeline{max-width:860px;padding:0 0 1rem;position:relative}.timeline:before{content:"";background:var(--olive);opacity:.45;width:1px;position:absolute;top:0;bottom:0;left:50%}.timeline li{border:0;grid-template-columns:1fr 1fr;gap:3.5rem;padding:1.5rem 0 2.7rem;position:relative}.timeline li:before{content:"♥";color:var(--oxblood);background:var(--ivory);padding:.5rem;font-size:.85rem;position:absolute;top:1.2rem;left:50%;transform:translate(-50%)}.timeline li time{background:var(--oxblood);color:var(--ivory);border-radius:100px;place-self:start end;padding:.5rem 1.2rem;font-size:.9rem}.timeline h2{font-size:2.4rem}.timeline li:nth-child(2n) time{grid-column:2;justify-self:start}.timeline li:nth-child(2n)>div{text-align:right;grid-area:1/1}.photo-grid figure{background:var(--ivory);border:1px solid #3d250029;padding:8px 8px 0;box-shadow:0 4px 10px #3d25000d}.photo-grid figcaption{text-align:center;padding:.4rem 0 .9rem;font-size:.83rem}.form input:not([type=checkbox]),.form textarea,.form select{background:#ffffff40;border-color:#5f542066;border-radius:2px}.form fieldset{border-color:#5f542066}@media (min-width:1600px){.hero-stage{height:560px}.hero-photo{width:470px}}@media (max-width:900px){.header{padding:0 3.5%}.navigation{gap:1.1rem}.navigation>a{font-size:.85rem}.hero-meta p,.hero-meta .hero-welcome{font-size:.9rem}.hero-stage{height:430px}.venue-feature{gap:6%;padding:3.3rem 5%}.gallery-preview{padding-left:9%;padding-right:9%}.botanical{opacity:.23}.invitation-date>p{font-size:3.5rem}.details-preview.invitation-panel{padding:5rem 12%}}@media (max-width:720px){.header{flex-wrap:wrap;min-height:75px;padding:0 6%}.navigation{padding:0 0 1.5rem}.navigation>a{font-size:1rem}.navigation .button.small{padding:.7rem}.header .monogram{font-size:2rem}.hero-frame{margin:.8rem 5% 2rem}.frame-corner{width:32px;height:32px}.hero-frame .hero{gap:0;padding:0 5%;display:block}.hero-meta{grid-template-columns:1fr 1fr;gap:1rem;padding:1.7rem 1% 1.4rem}.hero-meta p{font-size:.85rem}.hero-meta p span{font-size:.7rem}.hero-meta .hero-welcome{text-align:center;grid-area:2/1/auto/-1;margin:.3rem auto 0;font-size:.85rem}.hero-meta p:last-child{grid-area:1/2}.hero-stage{height:390px}.hero-photo{width:88%;max-width:350px}.hero-photo .editorial-photo{height:100%;min-height:0}.hero-frame .hero h1{letter-spacing:-.03em;max-width:calc(100% + 18px);padding:.12em .12em .15em;font-size:clamp(2.8rem,11.8vw,5rem);bottom:12px}.hero-signoff{padding:1.3rem 0 1.7rem}.hero-signoff .full-names{letter-spacing:.08em;font-size:.68rem}.hero-signoff .text-link{font-size:.73rem}.section{padding:3rem 6%}.details-preview.invitation-panel{padding:4rem 10%}.invitation-panel h2{font-size:2.7rem;line-height:1.2}.details-preview .invitation-date{margin-bottom:2rem;padding:1.3rem 1rem}.invitation-date>p{margin:.7rem 0;font-size:2.8rem}.invitation-date>span{letter-spacing:.1em;font-size:.65rem}.invitation-welcome{font-size:1rem}.botanical{opacity:.16;width:130px;left:-45px}.botanical.right{right:-45px}.details-preview .day-notes{gap:1.5rem;margin:1rem 0 2rem}.day-notes p>strong{font-size:1.4rem}.day-notes p>span{font-size:.6rem}.venue-feature{grid-template-columns:1fr;gap:2.5rem;padding:3rem 8%}.venue-copy h2{font-size:2.7rem}.venue-copy .eyebrow{font-size:.66rem}.venue-feature>div:last-child{width:95%;margin:auto;transform:rotate(2deg)}.venue-postcard .photo-placeholder,.venue-postcard .editorial-photo{height:300px;min-height:300px}.venue-postcard .photo-frame>.monogram{font-size:2.4rem}.gallery-preview{grid-template-columns:1fr;gap:2.5rem;padding:3.5rem 12% 4rem}.gallery-intro h2{font-size:3.4rem}.engagement-print{width:100%;max-width:390px;margin:auto;transform:rotate(-3deg)}.engagement-print .editorial-photo{height:360px}.countdown{padding:4rem 1rem}.countdown h2{font-size:3.4rem}.countdown .countdown-number strong{font-size:3.5rem}.countdown .countdown-number span{font-size:.7rem}.rsvp-section{padding:3rem 6%}.rsvp-callout{padding:3rem 1.3rem}.rsvp-callout h2{font-size:2.8rem}.invitation-footer{padding:3rem 5% 2rem}.invitation-footer .footer-names{font-size:3.7rem}.footer-links{gap:1rem 1.3rem}.page-heading{max-width:88%;margin:1rem auto 2.5rem;padding:2.8rem 1.2rem}.custom-fonts .page-heading h1{overflow-wrap:anywhere;font-size:2.6rem;line-height:1.25}.page-heading .eyebrow{font-size:.65rem}.page-body{padding:0 6% 3.5rem}.info-grid{gap:1rem}.info-grid article{padding:1.5rem}.info-grid h2{font-size:2.3rem}.timeline:before{left:12px}.timeline li,.timeline li:nth-child(2n){flex-direction:column;gap:1rem;padding:0 0 2.5rem 42px;display:flex}.timeline li:before{top:0;left:12px}.timeline li time,.timeline li:nth-child(2n) time{place-self:start}.timeline li:nth-child(2n)>div{text-align:left}.timeline h2{font-size:2.2rem}.timeline li p{font-size:1rem}.inset{padding:2.3rem 1.5rem}.inset h2{font-size:2.5rem}.desktop-break{display:none}.faq-category summary{font-size:1rem}.faq-category details{padding:1rem}.photo-grid{columns:2 130px;column-gap:.8rem}.photo-grid figure{margin-bottom:1rem;padding:5px 5px 0}.photo-grid figcaption{font-size:.72rem}.flourish{width:125px}}@media (max-width:360px){.hero-stage{height:350px}.hero-frame .hero h1{font-size:11vw}.hero-meta p{font-size:.75rem}.hero-meta p span{font-size:.65rem}.invitation-date>p{font-size:2.45rem}.custom-fonts .page-heading h1{font-size:2.3rem}}@media (prefers-reduced-motion:reduce){.button{transition:none}.button:hover{transform:none}}.form input:not([type=checkbox]),.form textarea,.form select{border-color:var(--olive)}.invitation-panel a:focus-visible,.invitation-footer a:focus-visible{outline-color:var(--peach)}.page-heading:after{content:"";box-sizing:content-box;background-color:var(--ivory);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2L16 8L22 12L16 16L12 22L8 16L2 12L8 8Z' fill='none' stroke='%235f5420' stroke-width='1'/%3E%3C/svg%3E");background-position:50%;background-repeat:no-repeat;background-size:24px;width:24px;height:24px;bottom:-13px}.faq-category summary:after{content:"";background:linear-gradient(var(--oxblood),var(--oxblood)) center/100% 1px no-repeat,linear-gradient(var(--oxblood),var(--oxblood)) center/1px 100% no-repeat;width:12px;height:12px;top:7px}.faq-category details[open] summary:after{content:"";background:linear-gradient(var(--oxblood),var(--oxblood)) center/100% 1px no-repeat}.timeline li:before{content:"";box-sizing:content-box;background-color:var(--ivory);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M10 18L3 10C-3 3 6-1 10 5C14-1 23 3 17 10Z' fill='%233f0013'/%3E%3C/svg%3E");background-position:50%;background-repeat:no-repeat;background-size:13px;width:13px;height:13px}.hero-frame .hero h1{justify-content:center;align-items:center;gap:.13em;display:flex}.hero-frame .hero h1 .hero-person{font:inherit;vertical-align:baseline;flex-direction:column;align-items:center;margin:0;line-height:1;display:flex}.hero-frame .hero h1 .hero-first{font:inherit;vertical-align:baseline;margin:0;line-height:1.05;display:block}.hero-frame .hero h1 .hero-last{font-family:var(--body);letter-spacing:.18em;text-transform:uppercase;vertical-align:baseline;margin:.1rem 0 0;font-size:clamp(.75rem,1.2vw,1.05rem);font-style:normal;font-weight:400;line-height:1.7;display:block}.hero-frame .hero h1 .hero-amp{margin:0;font-size:.54em;transform:translateY(-.14em)}.header .monogram{letter-spacing:-.07em;align-items:baseline;gap:0;display:inline-flex}.header .monogram span{letter-spacing:0;margin:0 .06em;font-size:.5em}
