:root{--pistachio:#C9E09D;--blush:#FBDBE2;--green:#3F5548;--ink:#2E2C2A;--ivory:#FAF6EC}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);font-family:Lato,Arial,sans-serif;line-height:1.65}h1,h2,h3{font-family:"Libre Baskerville",Georgia,serif;line-height:1.3;font-weight:400}p{margin:.4rem 0 1rem}a{color:inherit}button,input{font:inherit}.skip-link{position:absolute;left:-999px;top:0;background:white;padding:1rem;z-index:50}.skip-link:focus{left:1rem}.site-header{position:sticky;top:0;z-index:20;backdrop-filter:blur(12px)}.header-inner,.footer-inner{max-width:1220px;margin:auto;padding:1rem 2rem;display:flex;align-items:center;justify-content:space-between;gap:2rem}.brand-lockup{text-decoration:none;display:flex;gap:.7rem;align-items:center}.brand-name{font-family:"Libre Baskerville",serif;white-space:nowrap}.brand-name i{letter-spacing:0;font-weight:400}.brand-name small{display:block;font:10px Lato,sans-serif;letter-spacing:.19em;color:var(--green);margin-top:.1rem}.nav{display:flex;align-items:center}.nav a{text-decoration:none;}.nav a:hover,.nav a[aria-current=page]{color:#55724c;}.menu-toggle{display:none;background:none;border:0;font-size:1.5rem;color:var(--green)}.hero{min-height:550px;display:grid;grid-template-columns:1fr 1fr;overflow:hidden}.hero-copy{max-width:660px;padding:clamp(4rem,7vw,8rem) 3rem clamp(4rem,7vw,8rem) max(2rem,calc((100vw - 1180px)/2));align-self:center}.eyebrow{text-transform:uppercase;font-size:.72rem;font-weight:700;}.hero h1{margin:1.1rem 0;color:var(--green)}.hero-art{position:relative;min-height:430px;display:grid;place-items:center}.hero-art:before{content:"✿";font-size:clamp(13rem,30vw,28rem);color:#fffaf0aa;position:absolute;transform:rotate(-20deg)}.hero-art .oval{width:58%;aspect-ratio:3/4;border-radius:50% 50% 45% 45%;display:grid;place-items:center;color:var(--green);position:relative;}.oval span{text-align:center;font:clamp(1rem,2.5vw,2.1rem) "Libre Baskerville",serif;line-height:1.8}.oval em{display:block;font-size:2em;color:#a28a52}.btn{display:inline-block;color:white;border:1px solid var(--green);padding:.85rem 1.5rem;text-decoration:none;font-size:.82rem;text-transform:uppercase;letter-spacing:.11em;cursor:pointer;border-radius:0;}.btn-secondary:hover{color:white}.btn:disabled{opacity:.55;cursor:not-allowed}.container{max-width:1140px;margin:auto}.section-heading{text-align:center;margin:0 auto 2.6rem}.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.5rem}.card-art{display:flex;align-items:center;justify-content:center;font-size:4rem;color:#ffffffad}.link-arrow{font-weight:700;text-underline-offset:5px}.split{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center}.quote-panel{text-align:center}.band{background:var(--green);color:white;text-align:center;padding:4rem 2rem}.band h2{color:white}.band .btn{background:var(--lace);color:var(--green);border-color:var(--lace)}.page-hero{background:var(--pistachio);text-align:center;padding:5rem 2rem}.page-hero h1{color:var(--green);margin:.8rem 0}.page-hero p{max-width:640px;margin:auto}.detail-head{background:var(--linen);padding:3rem 2rem;text-align:center}.pill{display:inline-block;border:1px solid #abbf9f;font-size:.75rem;padding:.2rem .6rem;letter-spacing:.04em}.detail-layout{display:grid;grid-template-columns:1.6fr .85fr;gap:3rem}.sidebar{border:1px solid #e6e0d2;padding:2rem;background:white;align-self:start}.sidebar h3{margin-top:0}.event-facts{display:flex;justify-content:center;gap:2rem;flex-wrap:wrap;margin:1.5rem 0;color:var(--green)}.offer-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.4rem}.offer{border:1px solid #dad6c9;background:#fff;}.offer h3{margin:.5rem 0}.offer label{display:flex;align-items:center;gap:.65rem;cursor:pointer}.offer input{width:1.1rem;height:1.1rem}.price{font:1.4rem "Libre Baskerville",serif;}.notice{padding:1rem 1.3rem;background:#f3f5eb;border-left:3px solid var(--green);margin:1.5rem 0}.footer-inner{padding-top:2.2rem;padding-bottom:2.2rem;align-items:start}.footer-brand{font-family:"Libre Baskerville",serif;font-size:1.4rem}.footer-small{font-size:.8rem}.empty-state{max-width:650px;margin:4rem auto;text-align:center;padding:3rem;border:1px solid #e2dfd2;background:white}.text-center{text-align:center}.muted{color:#6a6b63}.spacer{height:1rem}ul.clean{padding-left:1.25rem}ul.clean li{margin:.4rem 0}:focus-visible{outline:3px solid #a78965;outline-offset:3px}@media(max-width:850px){.hero,.split,.detail-layout{grid-template-columns:1fr}.hero-copy{padding:4rem 2rem}.hero-art{min-height:340px}.cards{grid-template-columns:1fr 1fr}.nav{gap:1rem}.header-inner{padding:1rem}}@media(max-width:630px){.header-inner{flex-wrap:wrap}.menu-toggle{display:block;margin-left:auto}.nav{display:none;width:100%;flex-direction:column;align-items:stretch;gap:.3rem;padding:1rem 0}.nav.open{display:flex}.nav a{padding:.7rem}.hero-art{min-height:280px}.section{padding:3.5rem 1.2rem}.cards,.offer-grid{grid-template-columns:1fr}.footer-inner{flex-direction:column;gap:1rem}.event-facts{gap:.6rem;flex-direction:column}.brand-name{font-size:1rem}}
/* Editorial depth, cards and heirloom-inspired detailing */
:root{--shadow-soft:0 18px 46px rgba(46,44,42,.09);--shadow-lift:0 22px 54px rgba(63,85,72,.16)}
.brand-mark{text-shadow:1px 2px 0 rgba(255,255,255,.9)}
h1,h2{letter-spacing:-.025em}h2{color:var(--green)}
.hero{position:relative;background:radial-gradient(ellipse at 0% 0%,rgba(255,253,249,.7),transparent 58%),linear-gradient(124deg,#d7e8b4 0%,#c9e09d 49%,#b6d293 100%)}
.hero:after{content:'';position:absolute;left:0;right:0;bottom:0;height:11px;background:repeating-linear-gradient(90deg,rgba(255,253,249,.65) 0 3px,transparent 3px 14px);opacity:.8}
.hero-copy{position:relative;z-index:1}.hero-copy h1{font-size:clamp(2.8rem,5.1vw,5.3rem);text-wrap:balance;text-shadow:0 2px 0 rgba(255,255,255,.3)}
.hero-copy p{max-width:440px;font-size:1.08rem;line-height:1.9}
.hero-art{background:radial-gradient(ellipse at 57% 44%,rgba(255,253,249,.86) 0 19%,transparent 45%),radial-gradient(ellipse at 35% 77%,rgba(251,219,226,.95),transparent 60%),linear-gradient(135deg,#f1e8d5,#dfd6df 65%,#c5d4b6);border-left:1px solid #a7896540;isolation:isolate}
.hero-art:after{content:'❧';position:absolute;font-family:Georgia,serif;font-size:clamp(12rem,24vw,26rem);color:rgba(63,85,72,.13);transform:rotate(-32deg) translate(28%,-12%);pointer-events:none;z-index:-1}
.hero-art .oval{border:1px solid #c5a059;background:linear-gradient(155deg,#fffdf9eb,#faf6eccb);outline:6px double rgba(197,160,89,.38);outline-offset:9px;box-shadow:0 30px 65px rgba(63,85,72,.22),inset 0 0 22px rgba(239,223,189,.65)}
.eyebrow{letter-spacing:.24em}.hero .eyebrow{color:#3f5548}
.section{position:relative}.section-heading:after{margin:1.6rem auto 0;font-size:.82rem}
.card{transition:transform .2s,box-shadow .2s;}
.card-art{height:228px;position:relative;border-bottom:5px solid #f5f0e5;text-shadow:0 3px 13px rgba(63,85,72,.16)}
.card-art:after{content:'';position:absolute;pointer-events:none}
.art-tea{background:radial-gradient(circle at 25% 20%,#fffdf9aa 0 13%,transparent 40%),linear-gradient(140deg,#e4e9d7,#c8d7b0 50%,#afc59f)}
.art-garden{background:radial-gradient(circle at 70% 12%,#fff9f0aa 0 10%,transparent 50%),linear-gradient(130deg,#fbdae2,#ddd3ee 56%,#a1c0a1)}
.art-stay{background:radial-gradient(circle at 70% 15%,#fffdf9a6 0 8%,transparent 48%),linear-gradient(135deg,#c3d3e4,#e8d5c5 60%,#a78965)}
.link-arrow{transition:color .2s}
.quote-panel{padding:5rem 3rem}
.quote-panel .ornament{font-size:4.2rem;text-shadow:0 2px 10px rgba(197,160,89,.18)}
.page-hero,.detail-head{position:relative;border-bottom:1px solid #b7c9a6}
.page-hero:after,.detail-head:after{content:'✦';font-size:1.2rem;margin-top:1.1rem}
.offer{padding:2rem;transition:box-shadow .2s,transform .2s}
.btn{transition:transform .2s,box-shadow .2s,background .2s}.btn:not(:disabled):hover{transform:translateY(-2px);box-shadow:0 10px 22px rgba(63,85,72,.22)}
@media(prefers-reduced-motion:reduce){.btn,.card,.offer{transition:none}.btn:not(:disabled):hover,.card:hover,.offer:hover{transform:none}}

/* Photography and editorial layouts */
:root{--bronze:#78613A}
h1,h2,h3{color:var(--bluebird)}
.hero.photo-hero{position:relative;isolation:isolate}
.hero-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}
.hero-wash{position:absolute;inset:0;z-index:-1}
.hero.photo-hero:after{display:none}.hero-center{margin:auto;color:#fffdf9}
.crest-placeholder{width:min(390px,83vw);border:1px solid rgba(197,160,89,.82);outline:1px solid rgba(197,160,89,.55);outline-offset:9px;background:rgba(46,44,42,.28);backdrop-filter:blur(5px);box-shadow:0 0 50px #151d1959;padding:2.5rem 2rem 2rem;display:flex;flex-direction:column;align-items:center}
.crest-wings{color:var(--pistachio);font-size:1.7rem}.crest-name{font-family:"Libre Baskerville",Georgia,serif;color:#efd9a5}.crest-script{font:italic 3.5rem Georgia,serif;color:#c9e09d;line-height:1.2}.crest-tagline,.crest-since{color:#efd9a5;letter-spacing:.26em;font-size:.68rem;margin-top:.5rem}.crest-since{font-size:.62rem;margin-top:1.4rem}.hero-intro{color:#fffdf9;line-height:1.7;text-shadow:0 2px 6px #223}
.hero-cta{border-color:var(--fuchsia);}
.hero-caption{position:absolute;right:2rem;bottom:1.3rem;color:#fffdf9;letter-spacing:.25em}.section-heading:after{content:'✧';letter-spacing:0;color:var(--fuchsia)}
.heritage-section{background:var(--champagne)}
.card,.sidebar,.offer{background:var(--lace);border:1px solid #e4dbc9;box-shadow:0 8px 26px rgba(46,44,42,.06)}
.card:hover,.offer:hover{box-shadow:0 12px 34px rgba(46,44,42,.12)}
.card-art:after{inset:0;border:0}.photo-card{font-size:0;background-position:center;background-size:cover;min-height:255px;border-bottom:4px solid var(--champagne)}

.card-body h3{color:var(--bluebird)}
.quote-panel{background:var(--lace);box-shadow:none;outline:1px solid #c5a05970;outline-offset:-12px;border:1px solid #c5a05980}.quote-panel h3{color:var(--bluebird)}.quote-panel .ornament{color:var(--fuchsia)}
.page-hero,.detail-head{border-color:#c5a05980}.page-hero:after,.detail-head:after{color:var(--fuchsia)}
.offer{transform:none;box-shadow:none}.offer:hover{transform:none}.offer h3{color:var(--bluebird)}.offer:has(input:checked){border:2px solid var(--fuchsia);background:var(--lace)}
.pill{background:var(--linen);border-color:#c5a05970;color:var(--crimson)}
.btn{background:var(--bluebird);border-color:var(--bluebird);box-shadow:none}.btn:hover{background:var(--green);border-color:var(--green)}.btn-secondary{background:transparent;color:var(--bluebird)}.btn-secondary:hover{background:var(--bluebird);border-color:var(--bluebird)}
.sidebar{border-top:3px solid var(--fuchsia)}.price{color:var(--crimson)}
.site-footer{border-top:1px solid #c5a05980}
@media(max-width:630px){.hero-photo{object-position:56% center}.hero-wash{background:rgba(26,40,32,.60)}.hero-caption{right:1rem;left:1rem;text-align:center}.crest-placeholder{padding:2rem 1.2rem}.crest-name{letter-spacing:.12em}}

/* Restrained photographic layout */
h1,h2,h3,.footer-brand,.brand-name,.crest-name{font-family:"Cormorant Garamond",Georgia,serif}
h1{font-size:clamp(3.3rem,6vw,6.4rem);font-weight:500}
h2{font-size:clamp(2.5rem,4.5vw,4.4rem);font-weight:500;line-height:1.03}
h3{font-size:clamp(1.7rem,2.4vw,2.15rem);font-weight:600}
.brand-name{font-weight:600;font-size:1.48rem;letter-spacing:.07em}
.brand-name i{font-family:"Pinyon Script",cursive;font-size:1.65em;font-style:normal;color:var(--crimson)}
.crest-name{font-size:clamp(2.3rem,5vw,3.7rem);letter-spacing:.15em}
.crest-script{font-family:"Pinyon Script",cursive;font-style:normal;font-size:4.2rem}
.archive-intro{margin-top:4rem;border-top:1px solid #c5a05980;padding-top:2.7rem;max-width:730px}.archive-intro h2{margin:0.5rem 0}
.story-photo{min-height:370px;background:url("/assets/photos/home-hero-900.webp") center/cover;}
.heritage-section,.quote-panel,.ornament{display:none}

/* Seamless header and hero presentation */
:root{--fuchsia:#B81888;--crimson:#A51E32;--bluebird:#3F657F;--garden:#3F5548;--champagne:#EFDFBD;--linen:#F5F0E5;--lace:#FFFDF9;--gold:#C5A059}
body{background:var(--linen)}
.site-header{background:rgba(245,240,229,.98);box-shadow:none;border-bottom:1px solid rgba(197,160,89,.32);transition:background-color .3s ease,box-shadow .3s ease}
.site-header.hero-header:not(.scrolled){inset:0 0 auto;background:transparent;border-color:transparent;box-shadow:none}
.site-header.hero-header:not(.scrolled) .nav a,.site-header.hero-header:not(.scrolled) .brand-name,.site-header.hero-header:not(.scrolled) .brand-name small,.site-header.hero-header:not(.scrolled) .menu-toggle{color:#FFFDF9;text-shadow:0 1px 9px rgba(24,34,29,.75)}
.site-header.hero-header:not(.scrolled) .brand-name i{color:#EFDFBD}
.site-header.hero-header:not(.scrolled) .brand-mark{color:#C9E09D}
.site-header.scrolled{position:sticky;top:0;box-shadow:0 2px 12px rgba(46,44,42,.045)}
.header-inner{max-width:1360px;}
.brand-mark{font-family:"Cormorant Garamond",Georgia,serif;font-size:1.1rem;letter-spacing:-.08em;border:1px solid currentColor;border-radius:50%;padding:.5rem .54rem;color:var(--garden)}
.brand-name{color:var(--bluebird)}
.nav .header-cta{border:1px solid rgba(197,160,89,.75);color:var(--crimson)}
.site-header.hero-header:not(.scrolled) .nav .header-cta{border-color:rgba(255,253,249,.8);color:white}
.nav-outline{border:0;padding:.55rem 0}
.hero.photo-hero{min-height:100svh;display:grid;place-items:center;background:#1c2922}
.hero-photo{object-position:center 44%;filter:none}
.hero-wash{background:linear-gradient(180deg,rgba(24,32,27,.24),rgba(24,34,29,.16) 35%,rgba(24,34,29,.24) 78%,rgba(24,34,29,.34))}
.hero-identity{display:flex;flex-direction:column;align-items:center;text-shadow:0 2px 18px rgba(0,0,0,.42)}
.hero-brand{font-family:"Cormorant Garamond",Georgia,serif;font-weight:500;font-size:clamp(4rem,10.5vw,9rem);letter-spacing:.045em;line-height:.86;color:#FFFDF9}
.hero-brand em{display:block;margin-top:.1rem;font-family:"Pinyon Script",cursive;font-weight:400;font-style:normal;font-size:.95em;letter-spacing:0;color:#EFDFBD}
.hero-intro{font-size:clamp(1.35rem,2.4vw,1.85rem);font-family:"Cormorant Garamond",Georgia,serif}
.hero-cta{background:transparent;border:1px solid #FFFDF9;box-shadow:none;color:#FFFDF9}
.hero-cta:hover{background:#FFFDF9;color:var(--garden);border-color:#FFFDF9}
.hero-caption{font-size:.64rem}
.section{background:var(--linen);padding:6.5rem 2rem}
.section-heading{max-width:740px;margin-bottom:3.5rem}
.section-heading h2{font-size:clamp(3rem,5vw,5rem);margin:1rem 0}
.section-heading:after{display:none}
.card{border:0;background:transparent;box-shadow:none;overflow:visible}
.card:hover{transform:none;box-shadow:none}
.photo-card{height:clamp(240px,26vw,380px);border:0;background-color:var(--champagne)}
.photo-card-tea{background-image:url('/assets/photos/tea-party-tiered-service.webp')}
.photo-card-floral{background-image:url('/assets/photos/home-hero-900.webp')}
.card-body{padding:1.5rem .25rem 2rem}
.card-body h3{font-size:clamp(2rem,2.5vw,2.6rem);margin:.65rem 0;line-height:1.06}
.card-body p{line-height:1.75;color:#46413D}
.card-body .eyebrow{color:var(--crimson)}
.link-arrow{color:var(--bluebird);text-decoration:none;border-bottom:1px solid #C5A059;padding-bottom:.2rem}
.link-arrow:hover{color:var(--fuchsia)}
.page-hero,.detail-head{background:var(--champagne);padding:7rem 2rem 5rem}
.page-hero h1,.detail-head h1{max-width:950px;margin:1rem auto}
.page-hero:after,.detail-head:after{display:none}
.sidebar,.offer{background:var(--lace);border:1px solid #DAD1BE;box-shadow:none}
.offer:hover{box-shadow:none}
.offer:has(input:checked){border-color:var(--bluebird)}
.offer input{accent-color:var(--bluebird)}
.eyebrow{color:var(--crimson)}
.btn:not(.hero-cta){background:var(--bluebird);border-color:var(--bluebird)}
.btn:not(.hero-cta):hover{background:var(--garden)}
.story-photo{border:0}
.site-footer{background:var(--champagne)}
@media(max-width:850px){.header-inner{min-height:70px}.nav{gap:1rem}.nav .header-cta{padding:.55rem .7rem}}
@media(max-width:630px){.site-header.hero-header:not(.scrolled) .nav.open{background:rgba(46,44,42,.93);padding:1rem;border:1px solid rgba(255,253,249,.3)}.hero-brand{font-size:clamp(4rem,17vw,6.2rem)}.hero-center{padding-top:8rem}.hero-kicker,.hero-since{letter-spacing:.15em;font-size:.62rem}.section{padding:4.2rem 1.3rem}.photo-card{height:320px}}
@media(prefers-reduced-motion:reduce){.site-header{transition:none}}

/* Clear, uninterrupted hero photo behind all header/navigation rows */
.site-header.hero-header:not(.scrolled),
.site-header.hero-header:not(.scrolled) .header-inner,
.site-header.hero-header:not(.scrolled) .nav{
 background:transparent;
 border:0;
 box-shadow:none;
 backdrop-filter:none;
 -webkit-backdrop-filter:none;
}
.site-header .nav{border-top:0}
.site-header.hero-header:not(.scrolled) .nav{border-top:0}
@media(max-width:760px){.site-header.hero-header:not(.scrolled) .nav.open{background:rgba(34,44,35,.97)}}

/* Unified image-led top section across all site pages */
.interior-photo-hero{position:relative;isolation:isolate;display:flex;align-items:center;justify-content:center;background:#1c2922;text-align:center;color:#FFFDF9}
.interior-hero-photo{
  position:absolute;inset:0;width:100%;height:100%;
  object-fit:cover;object-position:center 48%;pointer-events:none;z-index:-2;
}
.interior-photo-hero.hero-events .interior-hero-photo{object-position:center 44%}
.interior-photo-hero.hero-register .interior-hero-photo{object-position:center 43%}
.interior-photo-hero.hero-account .interior-hero-photo{object-position:center 47%}
.interior-photo-hero.hero-fund .interior-hero-photo{object-position:center 50%}
.interior-photo-wash{position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(24,34,28,.24),rgba(24,34,28,.33) 54%,rgba(24,34,28,.48))}
.interior-hero-content{width:100%;max-width:960px;margin:auto}
.interior-hero-content h1{color:#FFFDF9;text-shadow:0 2px 15px #17271b99;line-height:1.06;margin:1rem auto}
.interior-hero-content p,.interior-hero-content .event-facts{color:#FFFDF9;text-shadow:0 1px 9px #17271b99}
.interior-hero-content .eyebrow{color:#EFDFBD}
.interior-hero-content .btn{background:transparent;border:1px solid #FFFDF9;color:#FFFDF9}
.interior-hero-content .btn:hover{background:#FFFDF9;color:#3F5548}
.site-header.hero-header:not(.scrolled){position:absolute;left:0;right:0;top:0}
.site-header.hero-header.scrolled{position:sticky;top:0}
@media(max-width:760px){.interior-photo-hero{min-height:520px;padding:10rem 1.2rem 4rem}}


/* Approved 2027 revisions: original SVG artwork, single Tea Party purchase + retreat add-on.
   Keep the v5 seamless transparent photographic header and hero unchanged. */
.brand-monogram{display:block;width:48px;height:46px;object-fit:contain;flex:0 0 auto;filter:drop-shadow(0 1px 4px rgba(16,27,20,.20))}
.hero-emblem{display:block;}
.hero-center{width:100%}
.site-footer{padding:0}
.site-footer .footer-inner{padding:.8rem 2rem;min-height:0;align-items:center;gap:1.5rem}
.site-footer .footer-inner p{margin:0}
.site-footer .footer-brand{font-size:1.12rem}
.site-footer .footer-small{white-space:nowrap}
.registration-layout{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(290px,.9fr);gap:clamp(1.5rem,4vw,3.5rem);align-items:start}
.registration-options,.registration-summary{background:var(--lace);border:1px solid #d7cfbf;padding:clamp(1.3rem,3vw,2.4rem)}
.registration-item{display:flex;align-items:flex-start;gap:1.2rem;padding:1.5rem 0}
.registration-item-copy{flex:1;min-width:0}
.registration-item h2{font-size:clamp(2rem,3.3vw,2.8rem);margin:.6rem 0}
.registration-item h3{margin:.4rem 0}
.registration-item p{line-height:1.65;margin:.5rem 0;color:#514d49}
.registration-price{font:600 1.6rem "Cormorant Garamond",Georgia,serif;white-space:nowrap;color:var(--bluebird)}
.registration-required{display:inline-block;text-transform:uppercase;font-size:.67rem;letter-spacing:.10em;background:#e4edd6;color:var(--garden);padding:.27rem .6rem}
.registration-addon{border-top:1px solid #d7cfbf;cursor:pointer}
.registration-addon>input{margin:.5rem 0 0;width:1.25rem;height:1.25rem;accent-color:var(--bluebird);flex:0 0 auto}
.registration-addon:has(input:checked){background:#c9e09d30;outline:1px solid #b2c6a7;outline-offset:9px}
.registration-fineprint,.registration-helper{display:block;font-size:.88rem;line-height:1.65}
.registration-fineprint{color:#656359}
.registration-summary h2{font-size:2.3rem;margin:.6rem 0 1.6rem}
.registration-summary-line{display:flex;justify-content:space-between;gap:1rem;margin:.65rem 0}
.registration-summary-total{display:flex;align-items:center;justify-content:space-between;gap:1rem;border-top:1px solid #cbbf9f;padding-top:1rem;margin-top:1.1rem}
.registration-summary-total strong:last-child{font:600 2rem "Cormorant Garamond",Georgia,serif;color:var(--garden)}
.payment-preview{border:0;border-top:1px solid #e2dac9;padding:1.3rem 0 .3rem;margin-top:1.3rem}
.payment-preview legend{font-weight:700;color:var(--garden);padding:1rem 0 0}
.payment-preview label{margin:.6rem 0;cursor:pointer}
.payment-preview input{accent-color:var(--bluebird)}
.payment-description{color:var(--garden);font-size:.94rem}
.registration-disabled{width:100%;margin-top:.7rem}
@media(max-width:830px){.registration-layout{grid-template-columns:1fr}.registration-summary{max-width:640px}}
@media(max-width:630px){.hero-emblem{width:min(430px,86vw)}.site-footer .footer-inner{padding:.8rem 1.2rem;gap:.35rem}.site-footer .footer-inner>p{display:none}.registration-item{gap:.7rem}.registration-price{font-size:1.35rem}.registration-options,.registration-summary{padding:1.2rem}}

/* Branded transparent header and RSVP flow, 2027 */
.header-logo{display:block;width:clamp(155px,18vw,242px);height:auto;max-height:86px;object-fit:contain;object-position:left center;filter:drop-shadow(0 1px 4px rgba(20,34,31,.28))}
.hero-intro{margin-top:1.4rem}
.rsvp-section{padding:3rem 1.3rem 2rem}
.rsvp-container{max-width:820px;margin:auto;text-align:center}
.rsvp-container h2{margin:.3rem 0 1rem}
.rsvp-choices{justify-content:center;}
.rsvp-option{display:flex;align-items:center;gap:.55rem;cursor:pointer;background:#fffdf9;border:1px solid #cbbf9f;padding:1rem 1.5rem}
.rsvp-option:has(input:checked){border-color:var(--bluebird);background:#edf2e9}
.rsvp-option input{accent-color:var(--bluebird)}
#rsvp-attending-content[hidden]{display:none}
@media(max-width:760px){.header-inner{padding:.55rem 1rem}.header-logo{width:170px}.nav{gap:.55rem}.rsvp-choices{flex-direction:column;align-items:stretch}.rsvp-option{justify-content:center}.hero-emblem{width:min(310px,75vw)}}


/* Armenta Tea · editorial refinement and responsive group RSVP */
.header-inner{min-height:75px;padding:.25rem 1.5rem;gap:1.2rem}
.header-monogram-a{width:clamp(92px,9vw,138px);height:70px;object-fit:contain;display:block;filter:drop-shadow(0 1px 5px rgba(18,25,20,.25))}
.nav{gap:clamp(.7rem,1.6vw,1.6rem)}
.nav a{text-shadow:0 1px 5px rgba(21,31,27,.65)}
.nav a:hover,.nav a[aria-current=page]{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:7px}
.nav .header-cta{border-width:1px;white-space:nowrap}
.hero-identity{gap:.65rem}
.hero-emblem{width:min(640px,76vw);height:auto;max-height:255px;object-fit:contain;filter:drop-shadow(0 2px 9px rgba(15,31,26,.45))}
.hero-kicker{font-family:"Cormorant Garamond",Georgia,serif;font-size:clamp(1.15rem,2vw,1.6rem);letter-spacing:.095em;color:#EFDFBD}
.hero-since{font-family:"Cormorant Garamond",Georgia,serif;font-size:clamp(1.2rem,2.3vw,1.65rem);font-style:italic;text-transform:none;letter-spacing:.1em;color:#FFFDF9}
.hero-intro{margin:1.35rem auto 1.25rem;max-width:790px;text-align:center}
.hero-center{max-width:1020px;min-height:100svh;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:8.5rem 1.3rem 6rem}
.event-hero-date{font-family:"Cormorant Garamond",Georgia,serif;font-size:clamp(1.3rem,2.4vw,1.9rem);letter-spacing:.06em;color:inherit}
.interior-photo-hero h1{white-space:normal}
.rsvp-page{background:#F5F0E5;padding:4.4rem 1.5rem 5rem}
.rsvp-intro{text-align:center;max-width:820px;margin:0 auto 2.1rem}
.rsvp-intro h2{font-size:clamp(2.05rem,3.1vw,3.1rem);line-height:1.16;letter-spacing:.008em;text-wrap:balance;margin:.55rem 0 1rem}
.rsvp-intro p{font-family:"Cormorant Garamond",Georgia,serif;font-size:1.45rem;line-height:1.35}
.rsvp-flourish{font-size:1.8rem;display:block;color:var(--gold);letter-spacing:.5rem;margin:.2rem 0 1rem}
.rsvp-form{max-width:900px;margin:auto}
.rsvp-choices{border:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.rsvp-choice{display:flex;min-height:168px;align-items:center;justify-content:center;flex-direction:column;gap:.22rem;background:#FFFDF9;border:1px solid #D7C5A0;cursor:pointer;padding:1.35rem;position:relative;transition:background .2s,border-color .2s,transform .2s}
.rsvp-choice:hover{transform:translateY(-2px);border-color:var(--gold)}
.rsvp-choice:has(input:checked){background:#edf1e6;border:2px solid #C5A059}
.rsvp-choice input{position:absolute;top:1rem;left:1rem;accent-color:var(--garden);width:1.1rem;height:1.1rem}
.rsvp-choice strong{font-family:"Cormorant Garamond",Georgia,serif;font-weight:600;font-style:italic;font-size:clamp(1.8rem,3vw,2.5rem);color:var(--garden);line-height:1.1}
.rsvp-choice span:last-child{font-size:.88rem;letter-spacing:.06em;color:#625B50}
.choice-symbol{color:#C5A059;font-size:1.45rem}
.rsvp-message{text-align:center;font-family:"Cormorant Garamond",Georgia,serif;font-size:1.45rem;font-style:italic;color:var(--garden);min-height:2.1rem;margin:1.1rem 0 1.5rem}
.rsvp-panel{border:1px solid #d9cbb1;background:#FFFDF9;padding:clamp(1.25rem,3.5vw,2.4rem);margin-top:1.5rem}
.rsvp-panel[hidden],.rsvp-shared-fields[hidden],.rsvp-next[hidden],.updates-email[hidden]{display:none}
.rsvp-panel-title{text-align:center;max-width:690px;margin:auto auto 1.8rem}
.rsvp-panel-title h3{font-size:clamp(2rem,4vw,3rem);color:var(--garden);margin:.5rem 0}
.rsvp-no-panel h3{font-size:clamp(1.8rem,2.7vw,2.5rem);color:var(--garden);margin:.5rem 0}
.rsvp-panel-title p,.rsvp-no-panel p{color:#5C584E}
.rsvp-contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem;padding:1.1rem 0}
.rsvp-form label:has(>input[type=text]),.rsvp-form label:has(>input[type=email]),.rsvp-shared-fields label{display:flex;flex-direction:column;gap:.4rem;font-weight:600;font-size:.92rem;color:var(--garden)}
.rsvp-form input[type=text],.rsvp-form input[type=email],.rsvp-form textarea{width:100%;font:inherit;color:var(--ink);padding:.72rem .85rem;border:1px solid #d7cbb5;background:#fff;min-height:46px;border-radius:0}
.rsvp-form input:focus-visible,.rsvp-form textarea:focus-visible{outline:2px solid var(--gold);outline-offset:1px}
.rsvp-guests-header{margin:1.5rem 0 .7rem}
.rsvp-guests-header h3{margin:.2rem 0;font-size:2rem}
.guest-add,.guest-remove{border:0;background:transparent;text-decoration:underline;text-underline-offset:4px;cursor:pointer}
.guest-add{font:600 1.5rem "Cormorant Garamond",Georgia,serif;color:var(--fuchsia);line-height:1.2}
.guest-add-row{display:flex;justify-content:flex-start;margin:2rem 0 2rem}
.guest-remove{font-size:.9rem;color:var(--bluebird)}
.guest-list:not([hidden]){display:grid;gap:.85rem}
.guest-row{padding:1.2rem;background:#F9F6EE;border:1px solid #e3dac9;display:grid;gap:.8rem}
.guest-row-top{display:flex;justify-content:space-between;align-items:center;gap:.8rem}
.guest-row-top strong{font-family:"Cormorant Garamond",Georgia,serif;font-size:1.35rem;color:var(--garden)}
.guest-row-top span{font-size:.85rem;color:#746B5F}
.guest-retreat-option{display:flex;align-items:center;gap:.8rem;background:#edf0e5;border:1px solid #d7dec8;padding:.8rem;cursor:pointer}
.guest-retreat-option input{width:1.1rem;height:1.1rem;accent-color:var(--garden);flex:0 0 auto}
.guest-retreat-option span{display:flex;flex-direction:column;gap:.15rem}
.guest-retreat-option small{color:#625c4e;font-size:.83rem}
.rsvp-hint{font-size:.91rem;color:#5b584f;margin:1rem 0 1.8rem}
.rsvp-summary{background:#F3F0E6;border-top:2px solid var(--gold);padding:1.4rem}
.rsvp-summary-line,.rsvp-summary-total{display:flex;justify-content:space-between;gap:1rem;margin:.75rem 0}
.rsvp-summary-total{border-top:1px solid #d0c7b5;padding-top:.9rem;font-size:1.2rem}
.rsvp-summary-total strong:last-child{color:var(--garden)}
.rsvp-no-panel{text-align:center}
.updates-choices{display:flex;justify-content:center;gap:1rem;border:0;padding:1rem 0;flex-wrap:wrap}
.updates-choices legend{font-family:"Cormorant Garamond",Georgia,serif;font-size:1.4rem;font-weight:600;margin:auto}
.updates-choices label{display:flex;align-items:center;cursor:pointer}
.updates-choices input{accent-color:var(--garden)}
.updates-email{max-width:450px;margin:1rem auto;text-align:left}
.rsvp-shared-fields{margin-top:1.1rem;background:#FFFDF9;border:1px solid #d9cbb1;padding:1.2rem}
.rsvp-shared-fields label span{font-weight:400;color:#665f54}
.rsvp-shared-fields textarea{resize:vertical}
.rsvp-next{text-align:center;margin:1.4rem auto 0;max-width:670px}
.rsvp-next .btn{opacity:.58;cursor:not-allowed}
.rsvp-next p{font-size:.85rem;color:#686357;margin:1rem 0}
.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
@media(max-width:940px){.menu-toggle{display:block;margin-left:auto;color:#FFFDF9}.nav{display:none;position:absolute;top:100%;left:1rem;right:1rem;width:auto;flex-direction:column;align-items:stretch;gap:0;padding:.75rem;background:rgba(27,46,40,.96);border:1px solid rgba(255,253,249,.3)}.nav.open{display:flex}.nav a{padding:.6rem .8rem;color:#FFFDF9}.nav .header-cta{margin:.5rem 0;padding:.5rem .8rem;text-align:center}.header-inner{position:relative;min-height:70px}.header-monogram-a{width:110px;height:64px}.hero-center{padding-top:8rem}}
@media(max-width:650px){.rsvp-page{padding:3.4rem 1.05rem 4rem}.rsvp-choices,.rsvp-contact-grid{grid-template-columns:1fr}.rsvp-choice{min-height:140px}.hero-emblem{width:min(540px,94vw);max-height:180px}.hero-center{padding:7.2rem 1.1rem 4rem}.hero-kicker{font-size:1rem;letter-spacing:.08em}.hero-intro{font-size:1.45rem}.hero-since{font-size:1.3rem}.header-monogram-a{width:95px;height:58px}.rsvp-panel{padding:1.2rem}.rsvp-intro p{font-size:1.25rem}.rsvp-choice strong{font-size:2rem}.interior-photo-hero h1{font-size:clamp(2.6rem,11vw,4rem)}}

/* Keep the opened navigation readable against every photograph at tablet widths. */
@media(max-width:940px){
  .site-header.hero-header:not(.scrolled) .nav.open{
    background:rgba(27,46,40,.97);
    border:1px solid rgba(255,253,249,.3);
    box-shadow:0 12px 32px rgba(12,26,19,.22);
    backdrop-filter:none;
  }
}


/* Centered home hero, navigation typography and event imagery */
.hero.photo-hero{
  grid-template-columns:minmax(0,1fr);
  grid-template-rows:minmax(100svh,auto);
  justify-items:center;
  align-items:center;
  width:100%;
}
.hero.photo-hero>.hero-center{
  grid-column:1/-1;
  justify-self:center;
  align-self:center;
  margin-inline:auto;
  width:min(100%,1100px);
  text-align:center;
  justify-content:center;
  align-items:center;
}
.hero.photo-hero>.hero-center .hero-identity,
.hero.photo-hero>.hero-center .hero-intro{margin-inline:auto;text-align:center}
.hero.photo-hero>.hero-center .hero-emblem{display:block;margin:0 auto;max-width:min(680px,86vw)}
.nav a{
  font-family:Lato,Arial,sans-serif;
  font-size:.78rem;
  font-weight:700;
  letter-spacing:.10em;
  text-transform:uppercase;
}
.nav .header-cta{font-size:.76rem;letter-spacing:.08em;padding:.46rem .8rem}
.hero-kicker{text-transform:uppercase}
.photo-card-tea,
.events-upcoming .photo-card-tea{
  background-image:url('/assets/photos/tea-party-tiered-service.webp');
  background-position:center;
  background-size:cover;
}

.events-upcoming .container>h2{
  font-size:clamp(2.05rem,3.1vw,3rem);
  line-height:1.16;
  margin:.4rem 0 1.6rem;
}
.events-upcoming .cards{grid-template-columns:minmax(0,1fr);max-width:930px;margin-top:1.4rem}
.events-upcoming .card{
  display:grid;
  grid-template-columns:minmax(260px,1fr) minmax(270px,1.05fr);
  align-items:stretch;
  gap:clamp(1.5rem,3.3vw,3.4rem)
}
.events-upcoming .card-art{height:auto;min-height:390px}
.events-upcoming .card-body{padding:1.3rem .4rem 1.3rem 0;align-self:center}
.events-upcoming .card-body h3{font-size:clamp(1.85rem,2.5vw,2.5rem);line-height:1.08}
.events-upcoming .card-body .btn.btn-secondary{
  display:inline-block;
  background:var(--bluebird);
  border:1px solid var(--bluebird);
  color:#fff;
  padding:.75rem 1.15rem;
  font-family:Lato,Arial,sans-serif;
  font-weight:700;
  font-size:.8rem;
  letter-spacing:.06em;
  text-transform:uppercase;
  text-decoration:none;
  opacity:1;
}
.events-upcoming .card-body .btn.btn-secondary:hover,
.events-upcoming .card-body .btn.btn-secondary:focus-visible{
  background:var(--garden);
  border-color:var(--garden);
  color:#fff;
}
.rsvp-choice input[type="radio"]{
  width:1.45rem;
  height:1.45rem;
  min-width:1.45rem;
  cursor:pointer;
}
.payment-preview{display:grid;gap:.42rem}
.payment-preview label{display:flex;align-items:center;gap:.65rem;line-height:1.45}
.payment-preview label input{flex:0 0 auto;width:1.15rem;height:1.15rem;accent-color:var(--garden)}
.payment-preview label:has(input:disabled){opacity:.55;cursor:not-allowed}
@media(max-width:830px){
  .events-upcoming .card{grid-template-columns:1fr;max-width:600px;gap:1rem}
  .events-upcoming .card-art{height:350px;min-height:0}
  .events-upcoming .card-body{padding:1rem 0}
}
@media(max-width:630px){
  .hero.photo-hero{grid-template-columns:minmax(0,1fr)}
  .hero.photo-hero>.hero-center{grid-column:1;min-height:100svh;padding-top:7.3rem}
  .hero.photo-hero>.hero-center .hero-emblem{width:min(90vw,500px)}
  .events-upcoming .card-art{height:270px}
  .events-upcoming .container>h2{font-size:2rem}
}


/* Page photography, homepage navigation and CTA contrast */
body.is-home .nav a[href="/"]{display:none}
body.is-home .nav{margin-left:auto}
body.is-home .menu-toggle{margin-left:auto}
.photo-card-archive{
  background-image:url('/assets/photos/tea-garden.webp');
  background-size:cover;
  background-position:center 54%;
}


.empty-state a.btn.btn-secondary,
.empty-state a.btn.btn-secondary:visited,
.events-upcoming a.btn.btn-secondary{
  display:inline-block;
  background-color:var(--bluebird);
  border-color:var(--bluebird);
  color:#fff;
  opacity:1;
  text-decoration:none;
}
.empty-state a.btn.btn-secondary:hover,
.empty-state a.btn.btn-secondary:focus-visible,
.events-upcoming a.btn.btn-secondary:hover,
.events-upcoming a.btn.btn-secondary:focus-visible{
  background-color:var(--garden);
  border-color:var(--garden);
  color:#fff;
}
@media(max-width:940px){
  body.is-home .nav{margin-left:0}
  body.is-home .nav a[href="/"]{display:none}
  body.is-home .menu-toggle{margin-left:auto}
}
@media(max-width:650px){
  
  
  
  .rsvp-intro h2{font-size:clamp(1.95rem,5.5vw,2.25rem)}
}


/* My Events hero imagery and RSVP refinements */

.site-header .header-monogram-a{
  position:relative;
  top:19px;
}
.updates-choices label{gap:.6rem;
  padding:.3rem .4rem;
}
.updates-choices input[type="radio"]{
  width:1.28rem;
  height:1.28rem;
  flex:0 0 auto;
}
.rsvp-shared-fields>label{
  font-family:"Cormorant Garamond",Georgia,serif;
  font-size:1.55rem;
  line-height:1.25;
  font-weight:600;
}
.rsvp-shared-fields>label>span{
  font-family:Lato,Arial,sans-serif;
  font-size:.82rem;
  font-weight:400;
}
.rsvp-shared-fields textarea{
  font-family:Lato,Arial,sans-serif;
  font-size:1rem;
  line-height:1.6;
  margin-top:.4rem;
}
@media(max-width:940px){
  .site-header .header-monogram-a{top:12px}
}
@media(max-width:630px){
  .site-header .header-monogram-a{top:9px}
  
  .updates-choices{gap:.35rem 1rem}
  .updates-choices label{font-size:1.13rem}
  .rsvp-shared-fields>label{font-size:1.4rem}
}


/* Tall, image-led interior heroes */
/* Interior-page photographs should feel like editorial full-page images rather than shallow banners. */
.interior-photo-hero{
  min-height:clamp(760px,94vh,1120px); /* older browsers */
  min-height:clamp(760px,94svh,1120px);
  width:100%;
  padding:clamp(10rem,19svh,15rem) clamp(1.35rem,4vw,4rem) clamp(5.5rem,11svh,8rem);
  overflow:hidden;
}
.interior-photo-hero .interior-hero-content{
  position:relative;
  z-index:1;
  max-width:1000px;
  margin:auto;
}
.interior-photo-hero .interior-photo-wash{
  z-index:-1;
  background:linear-gradient(
    180deg,
    rgba(21,31,26,.11) 0%,
    rgba(22,32,27,.14) 30%,
    rgba(22,32,27,.22) 68%,
    rgba(22,32,27,.30) 100%
  );
}
/* Tall, deliberately composed on phones without excessive scrolling or tiny text. */
@media (max-width:760px){
  .interior-photo-hero{
    min-height:max(650px,82svh);
    padding:9rem 1.15rem 5rem;
    background-position:center center;
  }
  .interior-photo-hero.hero-register .interior-hero-photo{object-position:center 42%}
  .interior-photo-hero.hero-retreat .interior-hero-photo{object-position:center 48%}
  .interior-photo-hero.hero-account .interior-hero-photo{object-position:55% 50%}
  .interior-photo-hero.hero-events .interior-hero-photo{object-position:center 49%}
}
@media (max-width:390px){
  .interior-photo-hero{min-height:max(630px,83svh);padding:8.3rem 1rem 4rem}
}



/* Payment schedule preview — elegant, compact, responsive */
.installment-dates{
  margin-top:1rem;
  padding:1rem 1.1rem;
  background:var(--lace);
  border:1px solid #d6cab5;
}
.installment-dates[hidden],.payment-schedule[hidden]{display:none}
.installment-dates label{
  display:block;
  font-family:"Cormorant Garamond",Georgia,serif;
  font-size:1.3rem;
  font-weight:600;
  color:var(--garden);
  margin-bottom:.5rem;
}
.installment-dates input[type="date"]{
  width:100%;
  max-width:290px;
  display:block;
  min-height:46px;
  padding:.55rem .75rem;
  font:inherit;
  font-size:1rem;
  color:var(--ink);
  background:#fff;
  border:1px solid #cfc2ac;
  border-radius:0;
}
.installment-dates input[type="date"]:focus-visible{outline:2px solid var(--bluebird);outline-offset:2px}
.installment-dates .payment-date-help{
  margin:.6rem 0 0;
  color:#5b584f;
  font-size:.86rem;
  line-height:1.6;
}
.payment-description{margin-top:1rem;line-height:1.65}
.payment-schedule{
  margin-top:1.15rem;
  padding:1.15rem 1.1rem;
  background:#fffdf9;
  border-top:2px solid var(--gold);
}
.payment-schedule h4{
  font:600 1.5rem "Cormorant Garamond",Georgia,serif;
  color:var(--garden);
  margin:0 0 .7rem;
}
.payment-schedule ol{
  list-style:none;
  margin:0;
  padding:0;
  display:grid;
  gap:0;
  max-height:280px;
  overflow-y:auto;
}
.payment-schedule li{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1rem;
  padding:.43rem 0;
  border-bottom:1px solid #eee7d9;
  font-size:.89rem;
}
.payment-schedule li:last-child{border-bottom:0}
.payment-schedule li strong{color:var(--garden);font-variant-numeric:tabular-nums}
@media(max-width:650px){
  .installment-dates{padding:1rem}
  .payment-schedule{padding:1rem}
  .installment-dates input[type="date"]{max-width:none;font-size:1rem}
}


/* Refined editorial typography: improved glyph spacing and readability */
body{
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
.section-heading>p,
.section .card-body>p,
.detail-layout p,
.sidebar p,
.rsvp-panel-title>p,
.rsvp-no-panel>p,
.rsvp-hint,
.rsvp-page .rsvp-next>p,
.archive-intro>p,
.empty-state>p,
.split p{
  font-family:Lato,Arial,sans-serif;
  font-size:clamp(1rem,1.1vw,1.08rem);
  line-height:1.82;
  letter-spacing:.018em;
  overflow-wrap:break-word;
}
.interior-hero-content>p:not(.event-hero-date),
.interior-hero-content .detail-head>p{
  font-family:Lato,Arial,sans-serif;
  font-size:clamp(1.05rem,1.35vw,1.27rem);
  line-height:1.8;
  letter-spacing:.025em;
  max-width:720px;
  margin:1.1rem auto;
  text-wrap:pretty;
}
.rsvp-panel-title>p{
  max-width:640px;
  margin:1rem auto 1.6rem;
  line-height:1.85;
}
.rsvp-panel-title h3{
  line-height:1.2;
  letter-spacing:.008em;
  text-wrap:balance;
}
@media(max-width:650px){
  .section-heading>p,
  .section .card-body>p,
  .detail-layout p,
  .sidebar p,
  .rsvp-panel-title>p,
  .rsvp-no-panel>p,
  .rsvp-hint,
  .rsvp-page .rsvp-next>p,
  .archive-intro>p,
  .empty-state>p,
  .split p{
    font-size:1rem;
    line-height:1.75;
    letter-spacing:.012em;
  }
  .interior-hero-content>p:not(.event-hero-date){
    font-size:1.06rem;
    line-height:1.7;
    letter-spacing:.02em;
  }
}


/* Explicitly match RSVP email opt-in labels to the site's Lato body typography. */
.updates-choices label,
.updates-choices label input{
  font-family:Lato,Arial,sans-serif;
}
.updates-choices label{
  font-size:1.08rem;
  font-weight:400;
  letter-spacing:.018em;
  line-height:1.65;
}
@media(max-width:650px){
  .updates-choices label{
    font-size:1.06rem;
    line-height:1.6;
  }
}


/* Family Fund preview — intimate, floral, and distinct from admission checkout */
.family-fund-section{
  margin:clamp(2rem,4vw,3.5rem) auto .5rem;
  border:1px solid #d8c7ac;
  background:linear-gradient(155deg,#fffdf9 0%,#f8f1ed 62%,#f5f0e5 100%);
  padding:clamp(1.5rem,3.5vw,3rem);
  max-width:900px;
  display:grid;
  grid-template-columns:minmax(0,1.25fr) minmax(230px,.75fr);
  gap:clamp(1.2rem,3vw,3rem);
  align-items:center;
}
.family-fund-intro{text-align:left}
.family-fund-flower{color:var(--gold);font-size:1.65rem;line-height:1;display:block;margin-bottom:1rem}
.family-fund-intro h3{
  font-family:"Cormorant Garamond",Georgia,serif;
  font-weight:600;
  font-size:clamp(2.25rem,4vw,3.2rem);
  color:var(--garden);
  line-height:1.08;
  margin:.6rem 0 1rem;
  text-wrap:balance;
}
.family-fund-intro .fund-tagline,.fund-page-copy h2{
  font-family:"Cormorant Garamond",Georgia,serif;
}
.family-fund-intro .fund-tagline{
  font-size:clamp(1.3rem,2vw,1.65rem);
  line-height:1.3;
  color:var(--garden);
  font-style:italic;
  margin:.65rem 0 1rem;
}
.family-fund-intro p:not(.fund-tagline),.fund-page-copy p{
  font-family:Lato,Arial,sans-serif;
  color:#5c584e;
  line-height:1.85;
  letter-spacing:.015em;
}
.family-fund-contribution{
  border-left:1px solid #dccbb6;
  padding-left:clamp(1.2rem,3vw,2.5rem);
}
.family-fund-contribution>label,.fund-page-card>label{
  display:block;
  font-family:Lato,Arial,sans-serif;
  color:var(--garden);
  font-size:1.02rem;
  line-height:1.45;
  font-weight:700;
  margin:0 0 .8rem;
}
.family-fund-contribution>label>span{font-weight:400;font-size:.84rem}
.fund-amount-control{
  display:flex;
  align-items:stretch;
  max-width:330px;
  border:1px solid #cbbda5;
  background:white;
  min-height:50px;
}
.fund-amount-control>span{
  display:flex;
  align-items:center;
  justify-content:center;
  min-width:46px;
  font-family:"Cormorant Garamond",Georgia,serif;
  font-size:1.55rem;
  color:var(--garden);
  background:#f3f0e8;
  border-right:1px solid #d9cdbb;
}
.fund-amount-control>input{
  min-width:0;
  width:100%;
  border:0;
  border-radius:0;
  color:var(--ink);
  font:400 1.1rem Lato,Arial,sans-serif;
  padding:.65rem .85rem;
  background:#fff;
}
.fund-amount-control:focus-within{outline:2px solid var(--bluebird);outline-offset:2px}
.fund-amount-control input:focus{outline:0}
.fund-smallprint{
  color:#615c54;
  font:400 .81rem/1.65 Lato,Arial,sans-serif;
  margin:1rem 0 .35rem;
  letter-spacing:0;
}
.fund-contribution-estimate{font:700 .9rem/1.6 Lato,Arial,sans-serif;color:var(--garden);margin-top:1rem}
.fund-contribution-estimate[hidden]{display:none}
.fund-quiet-link{
  max-width:750px;
  margin:4rem auto 0;
  padding:2rem 1.5rem 0;
  text-align:center;
  border-top:1px solid #ded1bc;
}
.fund-quiet-link p{
  font-family:"Cormorant Garamond",Georgia,serif;
  font-size:1.6rem;
  font-style:italic;
  color:var(--garden);
  line-height:1.4;
  margin:.65rem auto 1rem;
}
.my-events-fund-link{
  margin:2rem auto 0;
  max-width:470px;
  padding-top:1.6rem;
  border-top:1px solid #e1d5c3;
  text-align:center;
}
.my-events-fund-link p{font-size:.96rem;line-height:1.65;margin-bottom:.6rem}
.my-events-fund-link .link-arrow{color:var(--garden)}
.fund-quiet-link .link-arrow{
  display:inline-block;
  margin-top:.55rem;
  padding-bottom:.28rem;
  color:var(--garden);
  border-bottom:1px solid var(--gold);
  text-decoration:none;
  transition:color .2s ease,border-color .2s ease;
}
.fund-quiet-link .link-arrow:hover,
.fund-quiet-link .link-arrow:focus-visible{
  color:var(--bluebird);
  border-bottom-color:var(--bluebird);
}
.fund-page{padding-top:clamp(3rem,5vw,5.5rem)}
.fund-page-layout{
  max-width:1040px;
  margin:auto;
  display:grid;
  grid-template-columns:minmax(0,1.05fr) minmax(320px,.95fr);
  align-items:center;
  column-gap:clamp(2rem,6vw,6rem);
  row-gap:2rem;
}
.fund-page-copy h2{
  font-size:clamp(2.8rem,5vw,4.4rem);
  line-height:1.07;
  color:var(--garden);
  font-weight:600;
  margin:1rem 0 1.4rem;
}
.fund-page-copy p{font-size:1.05rem;margin-bottom:1.3rem}
.fund-page-card{
  background:linear-gradient(145deg,#fffdf9,#f7f1e8);
  border:1px solid #d8c7ac;
  padding:clamp(1.4rem,3vw,2.5rem);
}
.fund-page-card h3{
  font:600 clamp(2rem,3vw,2.6rem)/1.12 "Cormorant Garamond",Georgia,serif;
  color:var(--garden);
  margin:.6rem 0 1.7rem;
}
.fund-page-card .fund-action{
  margin-top:1.25rem;
  display:block;
  width:100%;
  padding:.75rem 1rem;
  background:var(--bluebird);
  color:white;
  border:1px solid var(--bluebird);
  opacity:.64;
  cursor:not-allowed;
}
.fund-page-card .fund-preview-note{font-size:.81rem;line-height:1.55;color:#655f56;margin-top:.9rem}
.interior-photo-hero.hero-fund{background-position:center 50%}
@media(max-width:850px){
  .family-fund-section,.fund-page-layout{grid-template-columns:1fr}
  .family-fund-contribution{border-left:0;border-top:1px solid #dccbb6;padding:1.4rem 0 0}
}
@media(max-width:650px){
  .family-fund-section{padding:1.35rem;margin-top:1.7rem;gap:1.4rem}
  .family-fund-intro h3{font-size:2.35rem}
  .family-fund-intro .fund-tagline{font-size:1.42rem}
  .fund-quiet-link{margin-top:3rem;padding:1.6rem .6rem 0}
  .fund-page-layout{gap:1.5rem}
  .fund-page-copy h2{font-size:2.8rem}
  .fund-page-card{padding:1.4rem}
}


/* Mobile contact details and explicit SMS consent in both RSVP paths */
.rsvp-contact-grid label .field-optional,
.updates-contact-details label .field-optional{
  font-size:.85rem;
  font-weight:400;
  color:#655f56;
}
.rsvp-contact-grid input[type="tel"],
.updates-contact-details input[type="tel"]{
  width:100%;
  min-width:0;
  font:inherit;
}
.updates-contact-details{
  width:min(100%,540px);
  max-width:540px;
  margin:1.2rem auto 0;
  text-align:left;
  display:grid;
  gap:1rem;
}
.updates-contact-details[hidden]{display:none}
.updates-contact-details .updates-contact-intro{
  margin:0;
  line-height:1.7;
  color:#5c584e;
  font-family:Lato,Arial,sans-serif;
  font-size:.98rem;
}
.rsvp-form .sms-consent{
  display:flex;
  flex-direction:row;
  align-items:flex-start;
  gap:.7rem;
  max-width:680px;
  margin:1.1rem 0 0;
  font:400 .9rem/1.6 Lato,Arial,sans-serif;
  letter-spacing:.005em;
  text-align:left;
  color:#5c584e;
  cursor:pointer;
}
.rsvp-form .sms-consent input[type="checkbox"]{
  width:1.15rem;
  height:1.15rem;
  min-width:1.15rem;
  margin:.22rem 0 0;
  accent-color:var(--garden);
  flex:0 0 auto;
}
.rsvp-form .sms-consent span{font-weight:400}
.updates-contact-details .sms-consent{margin:.3rem 0 0}
@media(max-width:650px){
  .updates-contact-details{gap:.95rem}
  .rsvp-form .sms-consent{font-size:.87rem;line-height:1.65}
}

.contact-section{background:#f5f0e5;padding:clamp(3rem,5vw,5.5rem) 1.25rem}
.contact-layout{display:grid;grid-template-columns:minmax(0,.9fr) minmax(320px,1fr);gap:clamp(2rem,5vw,5rem);align-items:start}
.contact-intro h2,.contact-centered h2{font-size:clamp(2.6rem,4.5vw,4rem);color:var(--garden);line-height:1.1}
.contact-intro>p{max-width:520px;font-size:1.05rem}
.contact-centered{max-width:680px;margin-inline:auto}
.contact-centered>h2,.contact-centered>p{text-align:center}
.contact-card{background:#fffdf9;border:1px solid #d8c7ac;padding:clamp(1.5rem,3vw,2.6rem);max-width:100%}
.contact-card h3,.contact-secondary h3{font:600 clamp(1.7rem,2.8vw,2.4rem)/1.2 "Cormorant Garamond",Georgia,serif;color:var(--garden);margin:.4rem 0 1rem}
.contact-secondary{margin-top:2.5rem;padding-top:1.4rem;border-top:1px solid #d8c7ac}
.contact-form{display:grid;gap:1rem}
.contact-form>label:not(.contact-consent):not([hidden]){display:grid;gap:.35rem;font-weight:600;color:var(--garden);font-size:.92rem}
.contact-form input[type=text],.contact-form input[type=tel],.contact-form input[type=email],.contact-form textarea,.contact-form select,.installment-dates select{display:block;width:100%;min-width:0;min-height:46px;padding:.7rem .8rem;background:#fff;color:var(--ink);font:inherit;border:1px solid #d7cbb5;border-radius:0}
.contact-form textarea{resize:vertical}
.contact-form input:focus-visible,.contact-form select:focus-visible,.contact-form textarea:focus-visible,.installment-dates select:focus-visible{outline:2px solid var(--gold);outline-offset:2px}
.contact-consent{display:flex;align-items:start;gap:.7rem;font-weight:500;line-height:1.5}
.contact-consent input{margin-top:.3rem;accent-color:var(--garden)}
.contact-disclosure,.contact-description,.contact-preview-note{font-size:.82rem;line-height:1.6;color:#625e53;margin:0}
.contact-preview-note{margin-top:.4rem}
.contact-disclosure a{text-underline-offset:3px}
.contact-form .field-optional{font-weight:400;color:#655f56}
.contact-reply{border:0;margin:0;padding:0;display:grid;gap:.55rem}
.contact-reply legend{font-weight:600;color:var(--garden);padding:0 0 .6rem}
.contact-reply label{display:flex;align-items:center;gap:.7rem;cursor:pointer}
.contact-reply input{accent-color:var(--garden)}
.contact-form [hidden]{display:none}
.footer-links{display:flex;align-items:center;gap:clamp(.6rem,1.5vw,1.4rem);flex-wrap:wrap;font-size:.79rem}
.footer-links a{text-decoration:none}
.footer-links a:hover,.footer-links a:focus-visible{text-decoration:underline;text-underline-offset:4px}
@media(max-width:850px){.contact-layout{grid-template-columns:1fr}.contact-intro>p{max-width:none}}
@media(max-width:650px){.contact-card{padding:1.3rem}.footer-links{justify-content:center}.site-footer .footer-inner{flex-wrap:wrap}}

.story-outro{max-width:760px;margin:clamp(2.8rem,5vw,4.5rem) auto 0;padding:2rem 1rem 0;border-top:1px solid #d8c7ac;text-align:center}
.story-outro>p{margin:.75rem 0 1.2rem;color:var(--garden)}
.story-outro-links{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:clamp(1.5rem,5vw,3rem)}
.story-outro-links .link-arrow{font:600 1.4rem "Cormorant Garamond",Georgia,serif}
.story-outro .story-outro-contact{margin:1.5rem 0 0;font-size:.94rem;color:#625c4e}
.story-outro-contact .link-arrow{font-size:inherit}
