/* Improve reading while preserving the floral palette. */
body .site-header nav a{font-size:.875rem;line-height:1.5;color:#664c40;letter-spacing:.035em}
body .site-header nav a,body .site-header nav a:visited,body .site-header nav a:hover,body .site-header nav a:active{color:var(--guest-ink,#674d43)!important;text-decoration:none}
body .site-header nav a[aria-current=page]{color:var(--guest-accent,#80533f)!important;border-bottom:2px solid var(--guest-accent,#80533f)!important}
body .site-header nav a:focus-visible{color:var(--guest-accent,#80533f)!important}
body .site-header .menu-toggle,body .site-header .menu-toggle span{color:var(--guest-ink,#674d43)!important;background:transparent}
body .site-header .menu-toggle span{background:var(--guest-ink,#674d43)!important}
body .site-header{gap:.5rem;flex-wrap:wrap;height:auto;min-height:76px;padding-top:.65rem;padding-bottom:.65rem;background:#fff9f5}
body .site-header nav{flex-wrap:wrap;justify-content:center;gap:.65rem}
body p,body label{color:#674d43}
body .eyebrow,body .text-link,body .hero-actions a{color:#765038}
body .button,body .text-link,body .text-button,body .rsvp-companions__add,body .rsvp-companions__remove{font-size:.875rem;line-height:1.4;min-height:44px}
body .button.button--primary{background:#80533f!important;color:#fff!important;border-color:#80533f!important}
body .home-hero .hero-actions .button.button--primary{background:#80533f!important;color:#fff!important;border-color:#80533f!important}
body .home-hero .home-hero__copy>p,body .page-hero>p{color:#674d43!important}
body .cinematic .intro-actions button,body .cinematic .intro-actions a,body .cinematic .music{color:#674d43!important;font-size:.875rem}
body .cinematic--intro .intro-actions button.button--primary{background:#fff!important;color:#80533f!important;border:1px solid #80533f!important;opacity:1!important;box-shadow:0 8px 24px rgba(92,74,67,.16)}
body .cinematic--intro .intro-actions button.button--primary:hover,body .cinematic--intro .intro-actions button.button--primary:focus-visible{background:#fff!important;color:#80533f!important}
body .gallery-wrap{max-width:1240px;margin:0 auto;padding:clamp(2.5rem,6vw,5rem) 1.5rem clamp(5rem,9vw,8rem)}
body .gallery-grid{max-width:none;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:1.15rem}
body .gallery-grid .photo-card{border:1px solid var(--guest-line);border-radius:0;background:linear-gradient(145deg,#fff,var(--guest-ivory));padding:.7rem;min-height:250px;box-shadow:var(--guest-shadow);transition:transform .2s ease,box-shadow .2s ease}
body .gallery-grid .photo-card:hover,body .gallery-grid .photo-card:focus-visible{transform:translateY(-3px);box-shadow:0 22px 52px rgba(92,74,67,.16);outline:2px solid var(--guest-accent);outline-offset:3px}
body .gallery-grid .photo-card img{background:var(--guest-peach);object-fit:contain}
body .gallery-wrap .loading,body .gallery-wrap .empty,body .gallery-wrap .error{border:1px solid var(--guest-line);background:var(--guest-ivory);color:var(--guest-ink);box-shadow:var(--guest-shadow)}
body .page-hero h1{font-size:clamp(3.2rem,7vw,6.4rem)}
body .site-header nav a{font-family:Montserrat,"Montserrat Fallback",Arial,sans-serif!important;border-bottom:2px solid transparent!important;line-height:1.2;transition:none}
body .site-header nav a[aria-current=page]{border-bottom-color:var(--guest-accent,#80533f)!important;color:var(--guest-accent,#80533f)!important}
body .gallery-wrap,body .gallery-wrap button{font-family:Montserrat,"Montserrat Fallback",Arial,sans-serif}
body:has(.gallery-wrap){font-family:Montserrat,"Montserrat Fallback",Arial,sans-serif}
body:has(.gallery-wrap) .page-hero h1{font-family:"Cormorant Garamond","Cormorant Garamond Fallback",Georgia,serif;color:#b9826e}
body:has(.gallery-wrap) .page-hero p:last-child{font-family:Montserrat,"Montserrat Fallback",Arial,sans-serif;color:#674d43}
body:has(.gallery-wrap) .page-hero .eyebrow{font-family:Montserrat,"Montserrat Fallback",Arial,sans-serif;font-weight:600;color:#674d43}
body .gallery-wrap .eyebrow{font-family:Montserrat,"Montserrat Fallback",Arial,sans-serif;font-weight:600;color:var(--guest-ink,#674d43)}
body .gallery-wrap .loading,body .gallery-wrap .empty,body .gallery-wrap .error{font-family:Montserrat,"Montserrat Fallback",Arial,sans-serif;color:var(--guest-ink,#674d43)}
body .gallery-wrap + .lightbox,body .gallery-wrap + .lightbox button{font-family:Montserrat,"Montserrat Fallback",Arial,sans-serif}
body footer p{font-family:"Cormorant Garamond","Cormorant Garamond Fallback",Georgia,serif!important;font-size:clamp(1.8rem,4vw,2.4rem);line-height:1.5;color:#b9826e}
body .message-wall .recado-controls{display:flex;justify-content:center;align-items:center;gap:.75rem;flex-wrap:wrap;margin:1.25rem 0 .75rem}body .message-wall .recado-controls .button{margin:0}@media(max-width:540px){body .message-wall .recado-controls{display:grid;grid-template-columns:1fr}body .message-wall .recado-controls .button{width:100%}}
@media(max-width:700px){body .gallery-wrap{padding-inline:1rem}body .gallery-grid{gap:.75rem}body .gallery-grid .photo-card{padding:.45rem;min-height:190px}}
body .form label{font-size:.875rem;line-height:1.5}
body .form input,body .form select,body .form textarea{font-size:1rem}
body footer p,body footer small{color:inherit}
body .gift-list>[hidden],body [hidden]{display:none!important}
body :focus-visible{outline:3px solid #80533f;outline-offset:4px}
/* Shared visual system for every guest-facing route. */
:root{--guest-ink:#674d43;--guest-accent:#80533f;--guest-gold:#aa8052;--guest-surface:#fff;--guest-soft:#fff9f5;--guest-line:rgba(169,125,99,.32);--guest-shadow:0 18px 50px rgba(92,74,67,.1)}
body{color:var(--guest-ink);background:var(--guest-soft)}
body .page-hero{min-height:clamp(420px,58vh,650px);display:grid;align-content:center;padding-block:clamp(4rem,7vw,7rem);border-bottom:1px solid var(--guest-line)}
body .page-hero h1{max-width:1100px;margin-inline:auto;text-wrap:balance}
body .page-hero>p:last-child{font-size:1.05rem;color:var(--guest-ink)!important}
body .timeline,body .gallery,body .message-layout,body .form-section{max-width:1240px}
body .chapter,body .venue,body .message-layout{gap:clamp(2rem,5vw,5rem)}
body .chapter p,body .venue address,body .dress p,body .info-grid p,body .message-wall article{font-size:1rem;color:var(--guest-ink)}
body .chapter-photo,body .gallery-grid--uniform .gallery-card{border:1px solid var(--guest-line);box-shadow:var(--guest-shadow)}
body .info-grid,body .gift-summary{gap:1rem;background:transparent;padding-inline:1.5rem}
body .info-grid article,body .gift-summary article,body .message-wall,body .contact-card,body .form{border:1px solid var(--guest-line);box-shadow:var(--guest-shadow)}
body .info-grid article,body .gift-summary article{background:var(--guest-surface)}
body .info-grid h2,body .gift-summary h2{font-size:clamp(2rem,3.5vw,3.25rem);line-height:1.02}
body .section-heading{padding:clamp(2rem,4vw,3.5rem);background:var(--guest-soft);border:1px solid var(--guest-line)}
body .section-heading h2{font-size:clamp(2.2rem,4vw,4rem);line-height:1.05;margin:.45rem 0 1rem}
body .form{border-radius:2px}
body .form input,body .form select,body .form textarea{border-color:var(--guest-line);border-radius:2px}
body .form input:focus,body .form select:focus,body .form textarea:focus{border-color:var(--guest-accent);outline:2px solid rgba(128,83,63,.18);outline-offset:1px}
body .message-wall{background:var(--guest-soft)}
body .message-wall article{border:1px solid var(--guest-line);box-shadow:none}
body .contact-card{border-radius:2px}
body .contact-card>a:not(.button){color:var(--guest-accent);font-size:clamp(1rem,2vw,1.25rem);overflow-wrap:anywhere}
body .venue-map,body .map-placeholder{border:1px solid var(--guest-line);box-shadow:var(--guest-shadow)}
body .schedule article{padding:1.1rem 0;border-bottom:1px solid var(--guest-line)}
body .schedule article:last-child{border-bottom:0}
body footer{border-top:1px solid rgba(246,210,190,.3)}
@media(min-width:1241px){body .site-header{flex-wrap:nowrap;height:76px;min-height:76px;padding-block:0}body .site-header nav{flex-wrap:nowrap;gap:clamp(.35rem,.75vw,.85rem)}body .site-header nav a{font-size:clamp(.64rem,.67vw,.76rem);letter-spacing:.045em}}
@media(max-width:1240px){body .site-header{height:76px;min-height:76px;padding-block:0;flex-wrap:nowrap}body .site-header nav{position:fixed;inset:76px 0 auto;background:var(--guest-soft);padding:1.25rem max(1.25rem,calc((100vw - 680px)/2));display:none;flex-direction:column;align-items:stretch;gap:.15rem;border-bottom:1px solid var(--guest-line);box-shadow:0 18px 35px rgba(92,74,67,.12)}body .site-header nav.open{display:flex}body .site-header nav a,body .site-header nav a:visited,body .site-header nav a:hover,body .site-header nav a:active{font-size:.9rem;padding:.85rem .25rem;color:var(--guest-ink,#674d43)!important;border-bottom:0!important}body .site-header nav a[aria-current=page]{color:var(--guest-accent,#80533f)!important;border-left:3px solid var(--guest-accent,#80533f)!important;padding-left:.55rem}body .menu-toggle{display:grid;gap:5px}}
@media(max-width:700px){body .page-hero{min-height:360px;padding-block:3.5rem}body .page-hero h1{font-size:clamp(3.2rem,15vw,4.7rem)}body .timeline,body .gallery{padding-inline:1rem}body .chapter{gap:1.5rem;margin-bottom:3.5rem}body .chapter h2,body .venue h2,body .dress h2,body .schedule h2{font-size:clamp(2.25rem,11vw,3.2rem)}body .info-grid,body .gift-summary{padding-inline:1rem;margin-block:2rem}body .info-grid article,body .gift-summary article{padding:1.5rem}body .message-layout{padding-inline:1rem}body .message-wall{padding:1.25rem}body .message-wall article{padding:1.25rem;margin:1rem 0}body .contact-card{margin:2rem 1rem;padding:2rem 1.25rem}body .schedule{padding-inline:1rem}}
.guest-help{font-size:1rem;line-height:1.6;margin:.5rem 0 1.25rem}
.gift-filters{display:grid;grid-template-columns:minmax(180px,2fr) repeat(2,minmax(160px,1fr)) auto;gap:1rem;align-items:end;max-width:1200px;margin:1.5rem auto;padding:1.25rem;background:#fff9f5;border:1px solid #d9b49e}
.gift-filters label{display:grid;gap:.5rem;font:500 .875rem/1.5 var(--font-sans,Arial,sans-serif)}
.gift-filters input,.gift-filters select,.gift-filters button{width:100%;min-height:48px;border:1px solid #a97d63;background:white;color:#674d43;padding:.7rem;font:400 1rem/1.4 var(--font-sans,Arial,sans-serif);border-radius:4px}
.gift-filters button{cursor:pointer}.gift-filters p{grid-column:1/-1;margin:0;font-size:1rem}.gift-empty{text-align:center;padding:2rem;font-size:1.1rem}
@media(max-width:800px){.gift-filters{grid-template-columns:1fr 1fr;margin:1rem}.gift-filters label:first-child{grid-column:1/-1}.gift-filters button{grid-column:1/-1}}
@media(max-width:480px){.gift-filters{grid-template-columns:1fr}.gift-filters>*{grid-column:1!important}body .site-header nav{max-height:calc(100svh - 76px);overflow:auto}}
