
:root{--eco-site-primary:#243b53;--eco-site-accent:#2f855a;--eco-ink:#14191f;--eco-muted:#68727c;--eco-line:#e7e9ea;--eco-soft:#f6f7f7}
*{box-sizing:border-box}html{scroll-behavior:smooth}
body.eco-tenant-public-body{margin:0!important;background:#fff!important;color:var(--eco-ink);font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
body.eco-tenant-public-body #wpadminbar{display:none!important}html:has(body.eco-tenant-public-body){margin-top:0!important}
.eco-public-site{min-height:100vh;background:#fff;overflow:hidden}.eco-public-wrap{width:min(1180px,calc(100% - 40px));margin:0 auto}
.eco-public-header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.93);backdrop-filter:blur(18px);border-bottom:1px solid rgba(20,25,31,.08)}
.eco-public-header-inner{min-height:72px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.eco-public-brand{display:flex;align-items:center;gap:11px;min-width:0;color:var(--eco-ink);text-decoration:none;font-weight:900}.eco-public-brand>span:last-child{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.eco-public-brand img{width:40px;height:40px;object-fit:contain}
.eco-public-brand-mark{display:grid;place-items:center;width:38px;height:38px;border-radius:12px;background:var(--eco-site-accent);color:#fff;font-size:11px;font-weight:950;letter-spacing:.03em}
.eco-public-header nav{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:10px 17px;max-width:min(72vw,860px)}.eco-public-header nav a{color:var(--eco-muted);text-decoration:none;font-size:11px;font-weight:800;white-space:nowrap}.eco-public-header nav a:hover{color:var(--eco-site-primary)}
.eco-public-header .eco-public-portal-link{padding:10px 13px;border:1px solid var(--eco-line);border-radius:10px;color:var(--eco-site-primary);background:#fff}
.eco-public-hero{position:relative;overflow:hidden;background:var(--eco-site-primary);color:#fff}
.eco-public-event-hero{min-height:670px;display:grid;align-items:center;padding:112px 0;background:linear-gradient(135deg,var(--eco-site-primary),#0c1217)}
.eco-public-event-hero.has-image{background-image:var(--eco-hero-image);background-position:center;background-size:cover}
.eco-public-hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(7,11,15,.88) 0%,rgba(7,11,15,.62) 48%,rgba(7,11,15,.18) 100%)}
.eco-public-hero-pattern{position:absolute;right:-8%;top:-16%;width:620px;height:620px;border-radius:50%;border:1px solid rgba(255,255,255,.11);box-shadow:0 0 0 70px rgba(255,255,255,.025),0 0 0 150px rgba(255,255,255,.018)}
.eco-hero-festival .eco-public-hero-pattern{border-radius:35% 65% 57% 43%/46% 43% 57% 54%;transform:rotate(18deg);background:linear-gradient(135deg,var(--eco-site-accent),transparent);opacity:.28}
.eco-hero-gala .eco-public-hero-pattern{border-radius:0;transform:rotate(45deg);width:460px;height:460px;opacity:.45}
.eco-hero-learning .eco-public-hero-pattern,.eco-hero-editorial .eco-public-hero-pattern{border-radius:24px;transform:rotate(-8deg)}
.eco-hero-celebration .eco-public-hero-pattern{width:520px;height:520px;border-radius:46% 54% 34% 66%/54% 35% 65% 46%;background:var(--eco-site-accent);opacity:.16}
.eco-public-hero-content{position:relative;z-index:2}.eco-public-eyebrow{display:block;margin-bottom:14px;color:var(--eco-site-accent);text-transform:uppercase;letter-spacing:.17em;font-size:10px;font-weight:950}
.eco-public-hero .eco-public-eyebrow{color:#fff;opacity:.72}.eco-public-hero h1{max-width:900px;margin:0;font-size:clamp(52px,7vw,92px);line-height:.96;letter-spacing:-.05em}
.eco-public-lead{max-width:720px;margin:24px 0 0;font-size:clamp(18px,2vw,24px);line-height:1.55;color:rgba(255,255,255,.82)}
.eco-public-meta{display:flex;flex-wrap:wrap;gap:9px;margin-top:28px}.eco-public-meta span{padding:8px 11px;border:1px solid rgba(255,255,255,.18);border-radius:999px;background:rgba(255,255,255,.07);font-size:11px;font-weight:650}
.eco-public-actions{display:flex;flex-wrap:wrap;gap:11px;margin-top:30px}.eco-public-primary,.eco-public-secondary{display:inline-flex;align-items:center;justify-content:center;min-height:47px;padding:0 19px;border-radius:10px;text-decoration:none;font-size:12px;font-weight:900}
.eco-public-primary{background:var(--eco-site-accent);color:#fff}.eco-public-secondary{background:#fff;color:var(--eco-site-primary);border:1px solid rgba(20,25,31,.12)}.eco-public-secondary-on-dark{background:rgba(255,255,255,.08);color:#fff;border-color:rgba(255,255,255,.28)}
.eco-public-event-logo{display:block;max-width:180px;max-height:92px;object-fit:contain;margin-bottom:28px}
.eco-public-section{padding:88px 0}.eco-public-soft{background:var(--eco-soft)}.eco-public-section-head{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:30px}
.eco-public-section-head h2,.eco-public-split h2,.eco-public-cta h2,.eco-faq-wrap h2{margin:0;font-size:clamp(32px,4vw,50px);line-height:1.02;letter-spacing:-.04em}.eco-public-section-head p{margin:0;color:var(--eco-muted)}
.eco-public-split{display:grid;grid-template-columns:.75fr 1.25fr;gap:92px;align-items:start}.eco-public-richtext{color:var(--eco-muted);font-size:17px;line-height:1.85}.eco-public-richtext p:first-child{margin-top:0}
.eco-feature-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.eco-feature-card{min-height:230px;padding:26px;border:1px solid var(--eco-line);border-radius:20px;background:#fff;display:flex;flex-direction:column}.eco-feature-card>span{color:var(--eco-site-accent);font-size:10px;font-weight:950;letter-spacing:.12em}.eco-feature-card h3{margin:auto 0 10px;font-size:21px}.eco-feature-card p{margin:0;color:var(--eco-muted);font-size:13px;line-height:1.65}
.eco-people-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.eco-person-card{border:1px solid var(--eco-line);border-radius:18px;overflow:hidden;background:#fff}.eco-person-photo{aspect-ratio:4/4.5;background:linear-gradient(135deg,var(--eco-site-primary),var(--eco-site-accent));display:grid;place-items:center}.eco-person-photo img{width:100%;height:100%;object-fit:cover}.eco-person-photo span{font-size:64px;color:rgba(255,255,255,.8);font-weight:900}.eco-person-card>div:last-child{padding:18px}.eco-person-card h3{margin:0;font-size:17px}.eco-person-card p{margin:5px 0 0;color:var(--eco-muted);font-size:12px}.eco-person-card a{display:inline-block;margin-top:12px;color:var(--eco-site-accent);font-size:11px;font-weight:850;text-decoration:none}
.eco-timeline{display:grid;gap:0;border-top:1px solid var(--eco-line)}.eco-timeline article{display:grid;grid-template-columns:160px 1fr;gap:26px;padding:24px 0;border-bottom:1px solid var(--eco-line)}.eco-timeline time{color:var(--eco-site-accent);font-weight:900;font-size:13px}.eco-timeline h3{margin:0;font-size:18px}.eco-timeline p{margin:8px 0 0;color:var(--eco-muted);font-size:13px;line-height:1.6}
.eco-public-detail-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.eco-public-detail-grid article{padding:22px;border:1px solid var(--eco-line);border-radius:15px;background:#fff}.eco-public-detail-grid span{display:block;color:var(--eco-muted);font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.1em}.eco-public-detail-grid strong{display:block;margin-top:9px;font-size:16px}
.eco-media-section{background:#10151a;color:#fff}.eco-media-section .eco-public-section-head p{color:rgba(255,255,255,.55)}.eco-media-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:14px;align-items:stretch}.eco-media-card{grid-column:span 2;overflow:hidden;border:1px solid rgba(255,255,255,.12);border-radius:18px;background:rgba(255,255,255,.05);display:flex;flex-direction:column;min-width:0;height:100%}.eco-media-card-head{display:flex;justify-content:space-between;align-items:center;padding:14px 16px;font-size:12px;font-weight:900}.eco-media-card-head a{color:#fff;text-decoration:none;font-size:10px;opacity:.7}.eco-media-embed{aspect-ratio:16/10;background:#000;flex:1;min-height:0}.eco-media-embed iframe{display:block;width:100%;height:100%;border:0}.eco-media-fallback{padding:38px 18px;aspect-ratio:16/10;display:flex;flex-direction:column;justify-content:center;flex:1}.eco-media-fallback p{color:rgba(255,255,255,.6)}
.eco-media-card-layout-half{grid-column:span 3}.eco-media-card-layout-full{grid-column:1/-1}
.eco-media-spotify.eco-media-card-layout-full{grid-column:1/-1;width:100%;max-width:none;min-width:0}
.eco-media-spotify.eco-media-card-layout-full .eco-media-embed{width:100%;height:360px;min-height:360px;max-height:none;aspect-ratio:auto;flex:none}
.eco-event-content-media-pair.is-media-pair-ready{display:grid}
.eco-event-content-media-pair.is-media-pair-ready{grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch}
.eco-event-content-media-pair.is-media-pair-ready>.eco-public-section{grid-column:1/-1;min-width:0}
.eco-event-content-media-pair.is-media-pair-ready>#media,.eco-event-content-media-pair.is-media-pair-ready>#youtube{grid-column:span 1;min-width:0}
.eco-event-content-media-pair.is-media-pair-ready .eco-media-grid{grid-template-columns:1fr}
.eco-event-content-media-pair.is-media-pair-ready .eco-media-card{grid-column:1/-1}
.eco-gallery-carousel{display:flex;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding-bottom:8px}.eco-gallery-carousel::-webkit-scrollbar{display:none}.eco-gallery-carousel figure{flex:0 0 min(72%,680px);aspect-ratio:16/10;margin:0;border-radius:20px;overflow:hidden;scroll-snap-align:start;background:#ddd}.eco-gallery-carousel img{width:100%;height:100%;object-fit:cover}.eco-carousel-controls{display:flex;gap:8px}.eco-carousel-controls button{width:42px;height:42px;border:1px solid var(--eco-line);border-radius:50%;background:#fff;color:var(--eco-ink);font-size:17px;cursor:pointer}
.eco-sponsor-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}.eco-sponsor-grid article{position:relative;min-height:110px;display:grid;place-items:center;padding:18px;border:1px solid var(--eco-line);border-radius:14px;background:#fff}.eco-sponsor-grid img{max-width:120px;max-height:52px;object-fit:contain;filter:grayscale(1);opacity:.72}.eco-sponsor-grid a{position:absolute;inset:0}
.eco-sponsor-grid article.has-logo{display:flex;flex-direction:column;justify-content:center;gap:10px;min-height:150px;text-align:center}.eco-sponsor-grid article.has-logo img{display:block;width:auto;max-width:72px;max-height:66px;filter:none;opacity:1}.eco-sponsor-grid article.has-logo .eco-sponsor-name{max-width:100%;color:var(--eco-ink);font-size:13px;line-height:1.35;overflow-wrap:anywhere}
.eco-quote-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.eco-quote-grid blockquote{margin:0;padding:26px;border-radius:18px;background:#fff;border:1px solid var(--eco-line)}.eco-quote-grid blockquote>p{margin:0;font-size:17px;line-height:1.6}.eco-quote-grid footer{display:grid;gap:3px;margin-top:22px}.eco-quote-grid footer strong{font-size:12px}.eco-quote-grid footer span{font-size:11px;color:var(--eco-muted)}
.eco-info-chip{margin-top:20px;padding:16px 18px;border:1px solid var(--eco-line);border-radius:12px;display:flex;justify-content:space-between;gap:16px}.eco-info-chip span{color:var(--eco-muted);font-size:11px;text-transform:uppercase;letter-spacing:.08em}.eco-info-chip strong{font-size:13px}
.eco-faq-wrap{display:grid;grid-template-columns:.65fr 1.35fr;gap:80px}.eco-faq-list{border-top:1px solid var(--eco-line)}.eco-faq-list details{border-bottom:1px solid var(--eco-line);padding:20px 0}.eco-faq-list summary{cursor:pointer;font-weight:850;list-style:none}.eco-faq-list summary::-webkit-details-marker{display:none}.eco-faq-list summary:after{content:'+';float:right;color:var(--eco-site-accent);font-size:20px}.eco-faq-list details[open] summary:after{content:'–'}.eco-faq-list p{color:var(--eco-muted);line-height:1.7;font-size:13px;margin:14px 0 0}
.eco-public-cta-section{background:var(--eco-site-primary);color:#fff}.eco-public-cta{display:flex;align-items:end;justify-content:space-between;gap:44px}.eco-public-cta p{color:rgba(255,255,255,.65);margin:10px 0 0}.eco-public-cta .eco-public-secondary{background:transparent;color:#fff;border-color:rgba(255,255,255,.25)}
.eco-public-footer{padding:30px 0;border-top:1px solid var(--eco-line);background:#fff}.eco-public-footer .eco-public-wrap{display:flex;justify-content:space-between;gap:20px;color:var(--eco-muted);font-size:10px}
.eco-coming-soon,.eco-public-not-found{min-height:720px;display:grid;place-items:center;background:linear-gradient(135deg,#f7f5f2,#fff)}.eco-coming-card,.eco-public-not-found{width:min(650px,calc(100% - 40px));text-align:center}.eco-coming-card .eco-public-brand-mark,.eco-public-not-found .eco-public-brand-mark{margin:0 auto 22px}.eco-coming-card h1,.eco-public-not-found h1{font-size:clamp(42px,6vw,68px);letter-spacing:-.05em;margin:8px 0 12px}.eco-coming-card p,.eco-public-not-found p{color:var(--eco-muted);font-size:16px;line-height:1.6}.eco-coming-card .eco-public-secondary{margin-top:16px}
@media(max-width:980px){.eco-people-grid{grid-template-columns:repeat(2,1fr)}.eco-sponsor-grid{grid-template-columns:repeat(3,1fr)}.eco-feature-grid,.eco-quote-grid{grid-template-columns:1fr 1fr}.eco-public-split,.eco-faq-wrap{grid-template-columns:1fr;gap:28px}}
@media(max-width:680px){.eco-public-wrap{width:min(100% - 28px,1180px)}.eco-public-header-inner{min-height:64px;padding:9px 0}.eco-public-header-inner{flex-wrap:wrap}.eco-public-header nav{order:3;width:100%;max-width:100%;justify-content:flex-start;flex-wrap:nowrap;overflow-x:auto;padding:0 0 5px;scrollbar-width:none}.eco-public-header nav::-webkit-scrollbar{display:none}.eco-public-header nav a{font-size:10px;flex:0 0 auto}.eco-public-event-hero{min-height:610px;padding:82px 0}.eco-public-hero h1{font-size:48px}.eco-public-section{padding:62px 0}.eco-public-section-head{display:block}.eco-public-section-head p{margin-top:8px}.eco-feature-grid,.eco-media-grid,.eco-quote-grid,.eco-public-detail-grid{grid-template-columns:1fr}.eco-media-card,.eco-media-card-layout-compact,.eco-media-card-layout-half,.eco-media-card-layout-full{grid-column:1/-1}.eco-people-grid{grid-template-columns:1fr 1fr;gap:10px}.eco-person-card>div:last-child{padding:14px}.eco-timeline article{grid-template-columns:1fr;gap:8px}.eco-gallery-carousel figure{flex-basis:88%}.eco-sponsor-grid{grid-template-columns:repeat(2,1fr)}.eco-public-cta{align-items:flex-start;flex-direction:column}.eco-public-footer .eco-public-wrap{flex-direction:column}.eco-public-header .eco-public-brand>span:last-child{max-width:170px}}
@media(max-width:430px){.eco-people-grid{grid-template-columns:1fr}.eco-public-hero h1{font-size:43px}}
@media(max-width:860px){.eco-event-content-media-pair.is-media-pair-ready{grid-template-columns:minmax(0,1fr)}.eco-event-content-media-pair.is-media-pair-ready>#media,.eco-event-content-media-pair.is-media-pair-ready>#youtube{grid-column:1/-1}}

/* v0.2.9 Event Experience Builder */
.eco-announcement{position:relative;z-index:70;background:var(--eco-site-accent);color:#fff;text-align:center;font-size:11px;font-weight:800}.eco-announcement a,.eco-announcement>span{display:flex;align-items:center;justify-content:center;gap:12px;min-height:38px;padding:7px 18px;color:inherit;text-decoration:none}.eco-announcement strong{font-size:10px;opacity:.8}
.eco-hero-image,.eco-hero-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.eco-hero-image{background-position:center;background-size:cover}
.eco-countdown{display:flex;flex-wrap:wrap;gap:8px;margin-top:24px}.eco-countdown>div{min-width:72px;padding:10px 12px;border:1px solid rgba(255,255,255,.18);border-radius:12px;background:rgba(255,255,255,.075);backdrop-filter:blur(9px);text-align:center}.eco-countdown strong{display:block;font-size:20px;line-height:1}.eco-countdown span{display:block;margin-top:5px;font-size:8px;text-transform:uppercase;letter-spacing:.12em;opacity:.65}
.eco-visit-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:28px}.eco-visit-copy{color:var(--eco-muted);font-size:15px;line-height:1.75}.eco-hotel-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.eco-hotel-grid article{overflow:hidden;border:1px solid var(--eco-line);border-radius:17px;background:#fff}.eco-hotel-grid article>div{padding:16px}.eco-hotel-grid span{font-size:9px;text-transform:uppercase;letter-spacing:.1em;color:var(--eco-site-accent);font-weight:900}.eco-hotel-grid h3{margin:7px 0 5px;font-size:16px}.eco-hotel-grid p{margin:0;color:var(--eco-muted);font-size:11px;line-height:1.5}.eco-hotel-grid a{display:inline-block;margin-top:10px;color:var(--eco-site-accent);font-size:10px;font-weight:850;text-decoration:none}
.eco-form-section{background:#fff}.eco-form-layout{display:grid;grid-template-columns:.75fr 1.25fr;gap:72px;align-items:start}.eco-form-layout>div:first-child h2{margin:0;font-size:clamp(34px,4vw,52px);letter-spacing:-.04em}.eco-form-layout>div:first-child p{color:var(--eco-muted);font-size:15px;line-height:1.7}
.eco-public-form{display:grid;gap:14px;padding:26px;border:1px solid var(--eco-line);border-radius:20px;background:#fff}.eco-public-form label{display:grid;gap:7px;font-size:10px;font-weight:850;text-transform:uppercase;letter-spacing:.06em}.eco-public-form label>span{font-weight:600;text-transform:none;letter-spacing:0;color:var(--eco-muted)}.eco-public-form input,.eco-public-form select,.eco-public-form textarea{width:100%;border:1px solid var(--eco-line);border-radius:10px;background:#fff;padding:12px 13px;color:var(--eco-ink);font:inherit;font-size:16px;text-transform:none;letter-spacing:0}.eco-public-form textarea{resize:vertical}.eco-public-form button{min-height:48px;border:0;border-radius:10px;background:var(--eco-site-accent);color:#fff;font-weight:900;cursor:pointer}.eco-public-form>small{color:var(--eco-muted);font-size:10px}.eco-form-two{display:grid;grid-template-columns:1fr 1fr;gap:12px}.eco-public-form fieldset{border:0;padding:0;margin:0}.eco-public-form legend{margin-bottom:9px;font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.06em}.eco-area-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.eco-area-grid label{display:flex;align-items:center;gap:9px;padding:10px;border:1px solid var(--eco-line);border-radius:10px;text-transform:none;letter-spacing:0;font-size:11px}.eco-area-grid input{width:auto;padding:0}.eco-hp{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}
.eco-form-notice{padding:12px 14px;border-radius:10px;font-size:11px;font-weight:800}.eco-form-notice.success{background:#eaf6ef;color:#235f3d}.eco-form-notice.error{background:#fff1ee;color:#8a3425}
.eco-social-links{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px;justify-content:flex-end}.eco-social-links a{padding:7px 10px;border:1px solid rgba(255,255,255,.2);border-radius:999px;color:#fff;text-decoration:none;font-size:9px;font-weight:850}
@media(max-width:900px){.eco-visit-grid,.eco-form-layout{grid-template-columns:1fr;gap:28px}.eco-hotel-grid{grid-template-columns:1fr 1fr}}
@media(max-width:640px){.eco-announcement strong{display:none}.eco-countdown>div{min-width:60px}.eco-form-two,.eco-area-grid,.eco-hotel-grid{grid-template-columns:1fr}.eco-public-form{padding:18px}.eco-social-links{justify-content:flex-start}}

/* v0.3.2 hosted-video media */
.eco-media-uploaded .eco-media-embed video{display:block;width:100%;height:100%;object-fit:cover;background:#000}

/* v0.3.3 managed operational forms */
.eco-consent-row{display:flex!important;align-items:flex-start;gap:9px!important;padding:11px;border:1px solid var(--eco-line);border-radius:10px;background:#faf9f7;text-transform:none!important;letter-spacing:0!important}.eco-consent-row input{width:auto!important;margin-top:2px}.eco-consent-row span{font-size:11px!important;line-height:1.5;color:var(--eco-ink)!important}

/* v0.3.69 Worship / Concert public-template design system */
.eco-public-site[class*="eco-public-design-worship_"]{--eco-template-radius:20px}
.eco-public-site[class*="eco-public-design-worship_"] .eco-feature-card,
.eco-public-site[class*="eco-public-design-worship_"] .eco-person-card,
.eco-public-site[class*="eco-public-design-worship_"] .eco-public-detail-grid article,
.eco-public-site[class*="eco-public-design-worship_"] .eco-public-form{border-radius:var(--eco-template-radius)}

/* Live Encounter */
.eco-public-design-worship_live{background:#080514;color:#f7f3ff;--eco-ink:#f7f3ff;--eco-muted:#b7aec8;--eco-line:rgba(255,255,255,.13);--eco-soft:#100b22}
.eco-public-design-worship_live .eco-public-header{background:rgba(8,5,20,.86);border-color:rgba(255,255,255,.11)}
.eco-public-design-worship_live .eco-public-brand,.eco-public-design-worship_live .eco-public-header nav a{color:#fff}
.eco-public-design-worship_live .eco-public-event-hero{min-height:760px;background:radial-gradient(circle at 70% 18%,rgba(112,71,255,.42),transparent 36%),linear-gradient(145deg,#0c0625,#170a33 58%,#05030d)}
.eco-public-design-worship_live .eco-public-hero-overlay{background:linear-gradient(90deg,rgba(5,3,13,.88),rgba(11,5,28,.48) 55%,rgba(18,7,43,.22))}
.eco-public-design-worship_live .eco-public-hero-content{text-align:center;margin-inline:auto}
.eco-public-design-worship_live .eco-public-hero h1,.eco-public-design-worship_live .eco-public-lead{margin-inline:auto}
.eco-public-design-worship_live .eco-public-meta,.eco-public-design-worship_live .eco-public-actions,.eco-public-design-worship_live .eco-countdown{justify-content:center}
.eco-public-design-worship_live .eco-public-section,.eco-public-design-worship_live .eco-public-footer{background:#080514;color:#f7f3ff}
.eco-public-design-worship_live .eco-public-soft{background:#100b22}
.eco-public-design-worship_live .eco-feature-card,.eco-public-design-worship_live .eco-person-card,.eco-public-design-worship_live .eco-public-detail-grid article,.eco-public-design-worship_live .eco-public-form,.eco-public-design-worship_live .eco-faq-list details{background:rgba(255,255,255,.045);border-color:rgba(255,255,255,.12)}

/* Immersive Night */
.eco-public-design-worship_immersive{--eco-template-radius:26px;background:#061318;--eco-ink:#ecfbfb;--eco-muted:#9db7b9;--eco-line:rgba(255,255,255,.12);--eco-soft:#0a2026}
.eco-public-design-worship_immersive .eco-public-header{background:rgba(4,17,22,.8);border-color:rgba(255,255,255,.1)}
.eco-public-design-worship_immersive .eco-public-brand,.eco-public-design-worship_immersive .eco-public-header nav a{color:#f4ffff}
.eco-public-design-worship_immersive .eco-public-event-hero{min-height:86vh;background:radial-gradient(circle at 50% 0%,rgba(14,143,154,.34),transparent 38%),linear-gradient(#061318,#031014)}
.eco-public-design-worship_immersive .eco-public-hero-overlay{background:linear-gradient(180deg,rgba(2,10,13,.28),rgba(2,10,13,.86))}
.eco-public-design-worship_immersive .eco-public-hero-content{align-self:end;padding-bottom:24px}
.eco-public-design-worship_immersive .eco-public-hero h1{font-size:clamp(58px,8vw,110px);max-width:1040px}
.eco-public-design-worship_immersive .eco-public-section,.eco-public-design-worship_immersive .eco-public-footer{background:#061318;color:#ecfbfb}
.eco-public-design-worship_immersive .eco-public-soft{background:#0a2026}
.eco-public-design-worship_immersive .eco-feature-card,.eco-public-design-worship_immersive .eco-person-card,.eco-public-design-worship_immersive .eco-public-detail-grid article,.eco-public-design-worship_immersive .eco-public-form{background:#0c252b;border-color:rgba(255,255,255,.12)}

/* Open Air */
.eco-public-design-worship_open_air{--eco-template-radius:24px;--eco-ink:#263128;--eco-muted:#6c746a;--eco-line:#dfd6c8;--eco-soft:#f1eadf;background:#faf7f1}
.eco-public-design-worship_open_air .eco-public-header{background:rgba(250,247,241,.93)}
.eco-public-design-worship_open_air .eco-public-event-hero{min-height:720px;background:linear-gradient(160deg,#193528,#5a6c4c 56%,#c96b36)}
.eco-public-design-worship_open_air .eco-public-hero-overlay{background:linear-gradient(90deg,rgba(16,37,26,.78),rgba(16,37,26,.28) 58%,rgba(201,107,54,.15))}
.eco-public-design-worship_open_air .eco-public-section,.eco-public-design-worship_open_air .eco-public-footer{background:#faf7f1}
.eco-public-design-worship_open_air .eco-public-soft{background:#f1eadf}
.eco-public-design-worship_open_air .eco-feature-card,.eco-public-design-worship_open_air .eco-person-card,.eco-public-design-worship_open_air .eco-public-form{box-shadow:0 10px 30px rgba(47,41,30,.04)}

/* Modern Minimal */
.eco-public-design-worship_minimal{--eco-template-radius:0;--eco-ink:#101010;--eco-muted:#6a6a6a;--eco-line:#dadada;--eco-soft:#f4f4f2;background:#fff}
.eco-public-design-worship_minimal .eco-public-header{background:rgba(255,255,255,.96);backdrop-filter:none}
.eco-public-design-worship_minimal .eco-public-event-hero{min-height:690px;background:#111}
.eco-public-design-worship_minimal .eco-public-hero-overlay{background:linear-gradient(90deg,rgba(0,0,0,.84),rgba(0,0,0,.54),rgba(0,0,0,.28))}
.eco-public-design-worship_minimal .eco-public-hero h1{max-width:1060px;font-size:clamp(58px,8vw,106px);font-weight:650;letter-spacing:-.065em}
.eco-public-design-worship_minimal .eco-public-eyebrow{letter-spacing:.26em}
.eco-public-design-worship_minimal .eco-public-primary,.eco-public-design-worship_minimal .eco-public-secondary,.eco-public-design-worship_minimal .eco-public-meta span,.eco-public-design-worship_minimal .eco-countdown>div{border-radius:0}
.eco-public-design-worship_minimal .eco-feature-card,.eco-public-design-worship_minimal .eco-person-card,.eco-public-design-worship_minimal .eco-public-detail-grid article,.eco-public-design-worship_minimal .eco-public-form{border-radius:0;box-shadow:none}

/* Community */
.eco-public-design-worship_community{--eco-template-radius:18px;--eco-ink:#10253a;--eco-muted:#667789;--eco-line:#d9e5ef;--eco-soft:#eef7fc;background:#fff}
.eco-public-design-worship_community .eco-public-event-hero{min-height:700px;background:linear-gradient(145deg,#082a4a,#0d568c 60%,#1b8ed8)}
.eco-public-design-worship_community .eco-public-hero-overlay{background:linear-gradient(90deg,rgba(5,31,55,.82),rgba(5,31,55,.42),rgba(27,142,216,.12))}
.eco-public-design-worship_community .eco-public-soft{background:#eef7fc}
.eco-public-design-worship_community .eco-feature-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.eco-public-design-worship_community .eco-feature-card{background:#fff;box-shadow:0 8px 24px rgba(13,70,109,.06)}

/* Creative Praise */
.eco-public-design-worship_creative{--eco-template-radius:28px;--eco-ink:#16343a;--eco-muted:#6f7775;--eco-line:#d8dfdc;--eco-soft:#f7f3e8;background:#fffdf8}
.eco-public-design-worship_creative .eco-public-header{background:rgba(255,253,248,.94)}
.eco-public-design-worship_creative .eco-public-event-hero{min-height:720px;background:radial-gradient(circle at 82% 25%,rgba(215,154,55,.34),transparent 25%),radial-gradient(circle at 18% 78%,rgba(28,138,146,.28),transparent 32%),linear-gradient(135deg,#143b43,#f1e6cf)}
.eco-public-design-worship_creative .eco-public-hero-overlay{background:linear-gradient(90deg,rgba(20,59,67,.82),rgba(20,59,67,.36) 55%,rgba(255,253,248,.08))}
.eco-public-design-worship_creative .eco-public-section{background:#fffdf8}
.eco-public-design-worship_creative .eco-public-soft{background:#f7f3e8}
.eco-public-design-worship_creative .eco-feature-card:nth-child(2n),.eco-public-design-worship_creative .eco-person-card:nth-child(2n){transform:translateY(14px)}
@media(max-width:680px){.eco-public-design-worship_creative .eco-feature-card:nth-child(2n),.eco-public-design-worship_creative .eco-person-card:nth-child(2n){transform:none}.eco-public-design-worship_live .eco-public-event-hero,.eco-public-design-worship_immersive .eco-public-event-hero,.eco-public-design-worship_open_air .eco-public-event-hero,.eco-public-design-worship_minimal .eco-public-event-hero,.eco-public-design-worship_community .eco-public-event-hero,.eco-public-design-worship_creative .eco-public-event-hero{min-height:620px}}

/* v0.3.70 Rich Wedding / Conference / Corporate public-template design system */
.eco-public-site[class*="eco-public-design-wedding_"],
.eco-public-site[class*="eco-public-design-conference_summit_"],
.eco-public-site[class*="eco-public-design-corporate_"]{--eco-template-radius:20px}
.eco-public-site[class*="eco-public-design-wedding_"] .eco-feature-card,
.eco-public-site[class*="eco-public-design-wedding_"] .eco-person-card,
.eco-public-site[class*="eco-public-design-wedding_"] .eco-public-detail-grid article,
.eco-public-site[class*="eco-public-design-wedding_"] .eco-public-form,
.eco-public-site[class*="eco-public-design-conference_summit_"] .eco-feature-card,
.eco-public-site[class*="eco-public-design-conference_summit_"] .eco-person-card,
.eco-public-site[class*="eco-public-design-conference_summit_"] .eco-public-detail-grid article,
.eco-public-site[class*="eco-public-design-conference_summit_"] .eco-public-form,
.eco-public-site[class*="eco-public-design-corporate_"] .eco-feature-card,
.eco-public-site[class*="eco-public-design-corporate_"] .eco-person-card,
.eco-public-site[class*="eco-public-design-corporate_"] .eco-public-detail-grid article,
.eco-public-site[class*="eco-public-design-corporate_"] .eco-public-form{border-radius:var(--eco-template-radius)}

/* Wedding: Romance */
.eco-public-design-wedding_romance{--eco-template-radius:26px;--eco-ink:#432e34;--eco-muted:#7b686c;--eco-line:#ead9dd;--eco-soft:#fbf3f4;background:#fffaf9}
.eco-public-design-wedding_romance .eco-public-header{background:rgba(255,250,249,.94)}
.eco-public-design-wedding_romance .eco-public-event-hero{min-height:78vh;background:linear-gradient(140deg,#5c2b39,#9b5666 58%,#d69aa7)}
.eco-public-design-wedding_romance .eco-public-hero-overlay{background:linear-gradient(90deg,rgba(55,24,33,.68),rgba(55,24,33,.18) 62%,rgba(255,255,255,.04))}
.eco-public-design-wedding_romance .eco-public-hero h1{font-family:Georgia,"Times New Roman",serif;font-weight:500;letter-spacing:-.035em}
.eco-public-design-wedding_romance .eco-public-section,.eco-public-design-wedding_romance .eco-public-footer{background:#fffaf9}
.eco-public-design-wedding_romance .eco-public-soft{background:#fbf3f4}
.eco-public-design-wedding_romance .eco-feature-card,.eco-public-design-wedding_romance .eco-person-card,.eco-public-design-wedding_romance .eco-public-form{box-shadow:0 14px 36px rgba(93,54,65,.055)}

/* Wedding: Editorial Dawn — magazine-inspired storytelling with guest details close at hand. */
.eco-public-design-wedding_editorial{--eco-template-radius:4px;--eco-ink:#342a2b;--eco-muted:#776a67;--eco-line:#e8ddd7;--eco-soft:#f7f1ed;background:#fcfaf7;color:var(--eco-ink)}
.eco-public-design-wedding_editorial .eco-public-header{background:rgba(252,250,247,.97);backdrop-filter:none;border-color:var(--eco-line)}
.eco-public-design-wedding_editorial .eco-public-event-hero{min-height:min(820px,92vh);background-color:#2f2925}
.eco-public-design-wedding_editorial .eco-public-hero-overlay{background:linear-gradient(90deg,rgba(22,24,19,.64) 0%,rgba(34,31,27,.38) 42%,rgba(37,31,28,.06) 100%)}
.eco-public-design-wedding_editorial .eco-public-hero h1,.eco-public-design-wedding_editorial .eco-public-section-head h2,.eco-public-design-wedding_editorial .eco-public-split h2,.eco-public-design-wedding_editorial .eco-public-cta h2{font-family:Georgia,"Times New Roman",serif;font-weight:400;letter-spacing:-.045em}
.eco-public-design-wedding_editorial .eco-public-hero h1{max-width:960px;font-size:clamp(64px,8.3vw,116px);line-height:.91}
.eco-public-design-wedding_editorial .eco-public-hero .eco-public-eyebrow{color:#f1c5b8;letter-spacing:.24em}
.eco-public-design-wedding_editorial .eco-public-primary{background:#a9565b;border-color:#a9565b;color:#fff}
.eco-public-design-wedding_editorial .eco-public-primary:hover{background:#8f444a;border-color:#8f444a}
.eco-public-design-wedding_editorial .eco-public-secondary,.eco-public-design-wedding_editorial .eco-public-meta span{border-color:rgba(255,255,255,.48);background:rgba(255,255,255,.12);backdrop-filter:blur(8px)}
.eco-public-design-wedding_editorial .eco-public-section,.eco-public-design-wedding_editorial .eco-public-footer{background:#fcfaf7}
.eco-public-design-wedding_editorial .eco-public-soft{background:#f7f1ed}
.eco-public-design-wedding_editorial .eco-public-section{padding-block:clamp(74px,9vw,120px)}
.eco-public-design-wedding_editorial .eco-public-section-head{max-width:920px}
.eco-public-design-wedding_editorial .eco-public-section-head h2{font-size:clamp(42px,5.4vw,72px);line-height:1.02}
.eco-public-design-wedding_editorial .eco-feature-card,.eco-public-design-wedding_editorial .eco-person-card,.eco-public-design-wedding_editorial .eco-public-form,.eco-public-design-wedding_editorial .eco-public-detail-grid article{border-radius:4px;border-color:var(--eco-line);box-shadow:0 16px 44px rgba(69,42,39,.055)}
.eco-public-design-wedding_editorial .eco-public-split img,.eco-public-design-wedding_editorial .eco-gallery-carousel img{border-radius:4px}
.eco-public-design-wedding_editorial .eco-timeline article{border-color:#d9b9b0}
.eco-public-design-wedding_editorial .eco-public-cta{background:#342a2b;color:#fff}
.eco-public-design-wedding_editorial .eco-public-cta p{color:rgba(255,255,255,.78)}
@media(max-width:680px){.eco-public-design-wedding_editorial .eco-public-event-hero{min-height:700px;min-height:min(760px,88svh)}.eco-public-design-wedding_editorial .eco-public-hero-overlay{background:linear-gradient(180deg,rgba(22,24,19,.32),rgba(22,24,19,.58) 54%,rgba(22,24,19,.72))}.eco-public-design-wedding_editorial .eco-public-hero h1{font-size:clamp(52px,15vw,76px)}}

/* Wedding: Garden */
.eco-public-design-wedding_garden{--eco-template-radius:30px;--eco-ink:#314335;--eco-muted:#6e7b70;--eco-line:#d9e4d8;--eco-soft:#f2f7ef;background:#fbfdf9}
.eco-public-design-wedding_garden .eco-public-header{background:rgba(251,253,249,.94)}
.eco-public-design-wedding_garden .eco-public-event-hero{min-height:730px;background:radial-gradient(circle at 85% 20%,rgba(210,147,159,.38),transparent 28%),radial-gradient(circle at 20% 80%,rgba(90,128,84,.34),transparent 30%),linear-gradient(135deg,#36543b,#829d74 54%,#ecd7d8)}
.eco-public-design-wedding_garden .eco-public-hero-overlay{background:linear-gradient(90deg,rgba(34,58,38,.73),rgba(34,58,38,.25) 58%,rgba(255,255,255,.05))}
.eco-public-design-wedding_garden .eco-public-section,.eco-public-design-wedding_garden .eco-public-footer{background:#fbfdf9}
.eco-public-design-wedding_garden .eco-public-soft{background:#f2f7ef}
.eco-public-design-wedding_garden .eco-feature-card:nth-child(2),.eco-public-design-wedding_garden .eco-person-card:nth-child(2n){transform:translateY(12px)}

/* Wedding: Modern Minimal */
.eco-public-design-wedding_modern_minimal{--eco-template-radius:0;--eco-ink:#171717;--eco-muted:#68635f;--eco-line:#d9d5d0;--eco-soft:#f5f3f0;background:#fff}
.eco-public-design-wedding_modern_minimal .eco-public-header{background:#fff;backdrop-filter:none}
.eco-public-design-wedding_modern_minimal .eco-public-event-hero{min-height:720px;background:linear-gradient(120deg,#171717,#4b4845)}
.eco-public-design-wedding_modern_minimal .eco-public-hero-overlay{background:linear-gradient(90deg,rgba(0,0,0,.72),rgba(0,0,0,.22))}
.eco-public-design-wedding_modern_minimal .eco-public-hero h1{font-weight:520;letter-spacing:-.065em;max-width:1040px}
.eco-public-design-wedding_modern_minimal .eco-public-primary,.eco-public-design-wedding_modern_minimal .eco-public-secondary,.eco-public-design-wedding_modern_minimal .eco-public-meta span,.eco-public-design-wedding_modern_minimal .eco-feature-card,.eco-public-design-wedding_modern_minimal .eco-person-card,.eco-public-design-wedding_modern_minimal .eco-public-form{border-radius:0;box-shadow:none}
.eco-public-design-wedding_modern_minimal .eco-public-section-head h2{font-weight:600}

/* Wedding: Destination */
.eco-public-design-wedding_destination{--eco-template-radius:24px;--eco-ink:#133b42;--eco-muted:#648087;--eco-line:#d4e4e5;--eco-soft:#eef8f7;background:#fbfefd}
.eco-public-design-wedding_destination .eco-public-event-hero{min-height:760px;background:linear-gradient(145deg,#0d5660,#4d9ca2 55%,#d7b17f)}
.eco-public-design-wedding_destination .eco-public-hero-overlay{background:linear-gradient(90deg,rgba(7,55,62,.77),rgba(7,55,62,.28),rgba(217,176,126,.12))}
.eco-public-design-wedding_destination .eco-public-soft{background:#eef8f7}
.eco-public-design-wedding_destination .eco-public-detail-grid article,.eco-public-design-wedding_destination .eco-hotel-grid article{box-shadow:0 12px 32px rgba(13,86,96,.07)}
.eco-public-design-wedding_destination .eco-public-meta span{background:rgba(255,255,255,.14)}

/* Conference: Summit */
.eco-public-design-conference_summit_summit{--eco-template-radius:18px;--eco-ink:#10233e;--eco-muted:#68778c;--eco-line:#dbe4ef;--eco-soft:#f2f7fb;background:#fff}
.eco-public-design-conference_summit_summit .eco-public-event-hero{min-height:710px;background:linear-gradient(140deg,#0c2f63,#1c5aa5 56%,#4c8fe7)}
.eco-public-design-conference_summit_summit .eco-public-hero-overlay{background:linear-gradient(90deg,rgba(7,28,62,.84),rgba(7,28,62,.30) 64%,transparent)}
.eco-public-design-conference_summit_summit .eco-public-soft{background:#f2f7fb}
.eco-public-design-conference_summit_summit .eco-feature-card,.eco-public-design-conference_summit_summit .eco-person-card{box-shadow:0 12px 28px rgba(12,47,99,.055)}

/* Conference: Tech */
.eco-public-design-conference_summit_tech{--eco-template-radius:18px;background:#090b24;--eco-ink:#f4f6ff;--eco-muted:#aeb6da;--eco-line:rgba(255,255,255,.13);--eco-soft:#11143a}
.eco-public-design-conference_summit_tech .eco-public-header{background:rgba(9,11,36,.9);border-color:rgba(255,255,255,.10)}
.eco-public-design-conference_summit_tech .eco-public-brand,.eco-public-design-conference_summit_tech .eco-public-header nav a{color:#fff}
.eco-public-design-conference_summit_tech .eco-public-event-hero{min-height:760px;background:radial-gradient(circle at 72% 15%,rgba(72,104,255,.46),transparent 34%),linear-gradient(145deg,#080b26,#111849 60%,#111234)}
.eco-public-design-conference_summit_tech .eco-public-hero-overlay{background:linear-gradient(90deg,rgba(5,7,25,.86),rgba(5,7,25,.36) 65%,transparent)}
.eco-public-design-conference_summit_tech .eco-public-section,.eco-public-design-conference_summit_tech .eco-public-footer{background:#090b24;color:#f4f6ff}
.eco-public-design-conference_summit_tech .eco-public-soft{background:#11143a}
.eco-public-design-conference_summit_tech .eco-feature-card,.eco-public-design-conference_summit_tech .eco-person-card,.eco-public-design-conference_summit_tech .eco-public-detail-grid article,.eco-public-design-conference_summit_tech .eco-public-form{background:#10143a;border-color:rgba(255,255,255,.13)}

/* Conference: Executive */
.eco-public-design-conference_summit_executive{--eco-template-radius:10px;--eco-ink:#1d2228;--eco-muted:#74777a;--eco-line:#ded9d1;--eco-soft:#f5f2ed;background:#fff}
.eco-public-design-conference_summit_executive .eco-public-event-hero{min-height:730px;background:linear-gradient(135deg,#111820,#34383c 60%,#8a6b48)}
.eco-public-design-conference_summit_executive .eco-public-hero-overlay{background:linear-gradient(90deg,rgba(13,18,24,.84),rgba(13,18,24,.31) 68%,transparent)}
.eco-public-design-conference_summit_executive .eco-public-eyebrow{letter-spacing:.24em}
.eco-public-design-conference_summit_executive .eco-public-section-head h2{font-family:Georgia,"Times New Roman",serif;font-weight:500}
.eco-public-design-conference_summit_executive .eco-public-soft{background:#f5f2ed}

/* Conference: Creative */
.eco-public-design-conference_summit_creative{--eco-template-radius:28px;--eco-ink:#301b42;--eco-muted:#75667e;--eco-line:#eadcf0;--eco-soft:#fbf2ff;background:#fffaff}
.eco-public-design-conference_summit_creative .eco-public-event-hero{min-height:720px;background:radial-gradient(circle at 80% 25%,rgba(240,59,140,.48),transparent 28%),radial-gradient(circle at 20% 75%,rgba(100,70,255,.34),transparent 34%),linear-gradient(135deg,#35135f,#6c237d 55%,#f03b8c)}
.eco-public-design-conference_summit_creative .eco-public-hero-overlay{background:linear-gradient(90deg,rgba(47,16,84,.78),rgba(47,16,84,.25) 65%,transparent)}
.eco-public-design-conference_summit_creative .eco-public-soft{background:#fbf2ff}
.eco-public-design-conference_summit_creative .eco-feature-card:nth-child(2n){transform:translateY(14px)}

/* Conference: Community */
.eco-public-design-conference_summit_community{--eco-template-radius:22px;--eco-ink:#173b36;--eco-muted:#687f7b;--eco-line:#d8e6e1;--eco-soft:#f0f8f5;background:#fbfdfc}
.eco-public-design-conference_summit_community .eco-public-event-hero{min-height:690px;background:linear-gradient(145deg,#174d45,#3a7668 58%,#c39a5b)}
.eco-public-design-conference_summit_community .eco-public-hero-overlay{background:linear-gradient(90deg,rgba(15,58,51,.80),rgba(15,58,51,.26) 65%,transparent)}
.eco-public-design-conference_summit_community .eco-public-soft{background:#f0f8f5}
.eco-public-design-conference_summit_community .eco-feature-card,.eco-public-design-conference_summit_community .eco-person-card{box-shadow:0 10px 26px rgba(23,77,69,.05)}

/* Corporate: Executive */
.eco-public-design-corporate_executive{--eco-template-radius:16px;--eco-ink:#13243e;--eco-muted:#69788b;--eco-line:#dbe3ec;--eco-soft:#f3f6fa;background:#fff}
.eco-public-design-corporate_executive .eco-public-event-hero{min-height:700px;background:linear-gradient(135deg,#102748,#285b96 60%,#6697d4)}
.eco-public-design-corporate_executive .eco-public-hero-overlay{background:linear-gradient(90deg,rgba(10,31,62,.83),rgba(10,31,62,.26) 64%,transparent)}
.eco-public-design-corporate_executive .eco-public-soft{background:#f3f6fa}

/* Corporate: Product Launch */
.eco-public-design-corporate_product_launch{--eco-template-radius:20px;background:#061a22;--eco-ink:#effcff;--eco-muted:#a4c1ca;--eco-line:rgba(255,255,255,.13);--eco-soft:#0b2732}
.eco-public-design-corporate_product_launch .eco-public-header{background:rgba(6,26,34,.90);border-color:rgba(255,255,255,.10)}
.eco-public-design-corporate_product_launch .eco-public-brand,.eco-public-design-corporate_product_launch .eco-public-header nav a{color:#fff}
.eco-public-design-corporate_product_launch .eco-public-event-hero{min-height:760px;background:radial-gradient(circle at 78% 18%,rgba(0,166,200,.42),transparent 32%),linear-gradient(145deg,#061a22,#0a3545 62%,#0e6378)}
.eco-public-design-corporate_product_launch .eco-public-hero-overlay{background:linear-gradient(90deg,rgba(3,18,24,.87),rgba(3,18,24,.34) 65%,transparent)}
.eco-public-design-corporate_product_launch .eco-public-section,.eco-public-design-corporate_product_launch .eco-public-footer{background:#061a22;color:#effcff}
.eco-public-design-corporate_product_launch .eco-public-soft{background:#0b2732}
.eco-public-design-corporate_product_launch .eco-feature-card,.eco-public-design-corporate_product_launch .eco-person-card,.eco-public-design-corporate_product_launch .eco-public-detail-grid article,.eco-public-design-corporate_product_launch .eco-public-form{background:#0b2732;border-color:rgba(255,255,255,.13)}

/* Corporate: Gala */
.eco-public-design-corporate_gala{--eco-template-radius:8px;background:#17120d;--eco-ink:#fff8ef;--eco-muted:#c5b7a6;--eco-line:rgba(255,255,255,.13);--eco-soft:#211a13}
.eco-public-design-corporate_gala .eco-public-header{background:rgba(23,18,13,.92);border-color:rgba(255,255,255,.10)}
.eco-public-design-corporate_gala .eco-public-brand,.eco-public-design-corporate_gala .eco-public-header nav a{color:#fff8ef}
.eco-public-design-corporate_gala .eco-public-event-hero{min-height:760px;background:radial-gradient(circle at 78% 20%,rgba(183,121,53,.34),transparent 32%),linear-gradient(145deg,#17120d,#332416 62%,#604322)}
.eco-public-design-corporate_gala .eco-public-hero-overlay{background:linear-gradient(90deg,rgba(18,13,9,.87),rgba(18,13,9,.34) 65%,transparent)}
.eco-public-design-corporate_gala .eco-public-hero h1,.eco-public-design-corporate_gala .eco-public-section-head h2{font-family:Georgia,"Times New Roman",serif;font-weight:500}
.eco-public-design-corporate_gala .eco-public-section,.eco-public-design-corporate_gala .eco-public-footer{background:#17120d;color:#fff8ef}
.eco-public-design-corporate_gala .eco-public-soft{background:#211a13}
.eco-public-design-corporate_gala .eco-feature-card,.eco-public-design-corporate_gala .eco-person-card,.eco-public-design-corporate_gala .eco-public-detail-grid article,.eco-public-design-corporate_gala .eco-public-form{background:#211a13;border-color:rgba(255,255,255,.13)}

/* Corporate: Team */
.eco-public-design-corporate_team{--eco-template-radius:24px;--eco-ink:#173640;--eco-muted:#657f85;--eco-line:#d5e5e8;--eco-soft:#eff8fa;background:#fcfeff}
.eco-public-design-corporate_team .eco-public-event-hero{min-height:700px;background:linear-gradient(145deg,#0d4150,#27758a 58%,#6db4c0)}
.eco-public-design-corporate_team .eco-public-hero-overlay{background:linear-gradient(90deg,rgba(9,53,65,.80),rgba(9,53,65,.24) 66%,transparent)}
.eco-public-design-corporate_team .eco-public-soft{background:#eff8fa}
.eco-public-design-corporate_team .eco-feature-card,.eco-public-design-corporate_team .eco-person-card{box-shadow:0 10px 28px rgba(13,65,80,.05)}

/* Corporate: Modern */
.eco-public-design-corporate_modern{--eco-template-radius:0;--eco-ink:#161616;--eco-muted:#696969;--eco-line:#dadada;--eco-soft:#f4f4f2;background:#fff}
.eco-public-design-corporate_modern .eco-public-header{background:#fff;backdrop-filter:none}
.eco-public-design-corporate_modern .eco-public-event-hero{min-height:700px;background:linear-gradient(120deg,#151515,#3e4549 62%,#87939a)}
.eco-public-design-corporate_modern .eco-public-hero-overlay{background:linear-gradient(90deg,rgba(0,0,0,.78),rgba(0,0,0,.22))}
.eco-public-design-corporate_modern .eco-public-hero h1{font-weight:560;letter-spacing:-.065em}
.eco-public-design-corporate_modern .eco-public-primary,.eco-public-design-corporate_modern .eco-public-secondary,.eco-public-design-corporate_modern .eco-public-meta span,.eco-public-design-corporate_modern .eco-feature-card,.eco-public-design-corporate_modern .eco-person-card,.eco-public-design-corporate_modern .eco-public-form{border-radius:0;box-shadow:none}


/* Conference: Movement — bold editorial conference storytelling. */
.eco-public-design-conference_summit_movement{
 --eco-template-radius:0;
 --eco-ink:#1b1714;
 --eco-muted:#706760;
 --eco-line:#d8cec3;
 --eco-soft:#f0e9df;
 background:#f7f1e8;
}
.eco-public-design-conference_summit_movement .eco-public-header{
 background:rgba(13,18,19,.96);border-bottom-color:rgba(255,255,255,.10);backdrop-filter:blur(14px)
}
.eco-public-design-conference_summit_movement .eco-public-brand,
.eco-public-design-conference_summit_movement .eco-public-header nav a{color:#f8f3eb}
.eco-public-design-conference_summit_movement .eco-public-header nav a:hover{color:var(--eco-site-accent)}
.eco-public-design-conference_summit_movement .eco-public-header .eco-public-portal-link{background:transparent;color:#f8f3eb;border-color:rgba(255,255,255,.22)}
.eco-public-design-conference_summit_movement .eco-announcement{background:var(--eco-site-accent);text-transform:uppercase;letter-spacing:.12em}
.eco-public-design-conference_summit_movement .eco-announcement a{min-height:42px}
.eco-public-design-conference_summit_movement .eco-public-event-hero{min-height:820px;background:#0f1416}
.eco-public-design-conference_summit_movement .eco-public-event-hero .eco-hero-image{position:absolute;inset:0;background-position:center;background-size:cover}
.eco-public-design-conference_summit_movement .eco-public-hero-overlay{background:linear-gradient(90deg,rgba(7,10,11,.96) 0%,rgba(7,10,11,.82) 34%,rgba(7,10,11,.28) 67%,rgba(7,10,11,.12) 100%)}
.eco-public-design-conference_summit_movement .eco-public-hero-pattern{display:none}
.eco-public-design-conference_summit_movement .eco-public-hero-content{padding-right:42%;}
.eco-public-design-conference_summit_movement .eco-public-hero h1{
 max-width:760px;font-family:Impact,"Arial Narrow",Haettenschweiler,sans-serif;font-size:clamp(66px,9vw,126px);line-height:.82;letter-spacing:-.025em;text-transform:uppercase
}
.eco-public-design-conference_summit_movement .eco-public-lead{max-width:590px;font-size:17px;line-height:1.55;color:rgba(255,255,255,.78)}
.eco-public-design-conference_summit_movement .eco-public-meta span,
.eco-public-design-conference_summit_movement .eco-countdown>div,
.eco-public-design-conference_summit_movement .eco-public-primary,
.eco-public-design-conference_summit_movement .eco-public-secondary{border-radius:0}
.eco-public-design-conference_summit_movement .eco-public-primary{background:var(--eco-site-accent);text-transform:uppercase;letter-spacing:.08em}
.eco-public-design-conference_summit_movement .eco-public-secondary-on-dark{background:rgba(0,0,0,.22)}
.eco-public-design-conference_summit_movement .eco-public-section{background:#f7f1e8;padding:96px 0}
.eco-public-design-conference_summit_movement .eco-public-soft{background:#101718;color:#f6f0e8}
.eco-public-design-conference_summit_movement .eco-public-soft .eco-public-section-head p,
.eco-public-design-conference_summit_movement .eco-public-soft .eco-feature-card p,
.eco-public-design-conference_summit_movement .eco-public-soft .eco-timeline p{color:#b7aea7}
.eco-public-design-conference_summit_movement .eco-public-eyebrow{color:var(--eco-site-accent);letter-spacing:.28em}
.eco-public-design-conference_summit_movement .eco-public-section-head h2,
.eco-public-design-conference_summit_movement .eco-public-split h2,
.eco-public-design-conference_summit_movement .eco-public-cta h2,
.eco-public-design-conference_summit_movement .eco-faq-wrap h2{
 font-family:Impact,"Arial Narrow",Haettenschweiler,sans-serif;font-weight:500;text-transform:uppercase;letter-spacing:-.015em
}
.eco-public-design-conference_summit_movement .eco-section-about .eco-public-split{grid-template-columns:.95fr 1.05fr;gap:70px}
.eco-public-design-conference_summit_movement .eco-section-about .eco-public-richtext{font-size:18px;line-height:1.75;color:#5f5751}
.eco-public-design-conference_summit_movement .eco-feature-grid{gap:0;border-top:1px solid #3c4545;border-bottom:1px solid #3c4545}
.eco-public-design-conference_summit_movement .eco-feature-card{min-height:190px;border:0;border-right:1px solid #3c4545;border-radius:0;background:transparent;color:#f6f0e8;padding:28px 26px}
.eco-public-design-conference_summit_movement .eco-feature-card:last-child{border-right:0}
.eco-public-design-conference_summit_movement .eco-feature-card h3{text-transform:uppercase;font-size:20px}
.eco-public-design-conference_summit_movement #people{background:#f7f1e8}
.eco-public-design-conference_summit_movement .eco-people-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.eco-public-design-conference_summit_movement .eco-person-card{border:0;border-radius:0;background:#ece2d6}
.eco-public-design-conference_summit_movement .eco-person-photo{aspect-ratio:4/5;background:linear-gradient(145deg,#172023,#544137)}
.eco-public-design-conference_summit_movement .eco-person-card:first-child{grid-column:span 2;grid-row:span 2;display:grid;grid-template-columns:1.15fr .85fr;background:#111819;color:#f8f3eb}
.eco-public-design-conference_summit_movement .eco-person-card:first-child .eco-person-photo{aspect-ratio:auto;min-height:100%}
.eco-public-design-conference_summit_movement .eco-person-card:first-child>div:last-child{display:flex;flex-direction:column;justify-content:center;padding:34px}
.eco-public-design-conference_summit_movement .eco-person-card:first-child h3{font-size:30px;text-transform:uppercase}
.eco-public-design-conference_summit_movement .eco-person-card:first-child p{color:#c2b7ae}
.eco-public-design-conference_summit_movement .eco-person-card>div:last-child{padding:16px}
.eco-public-design-conference_summit_movement #schedule{background:#111819;color:#f8f3eb}
.eco-public-design-conference_summit_movement .eco-timeline{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;border:0}
.eco-public-design-conference_summit_movement .eco-timeline article{display:block;padding:26px;border:1px solid #3a4140;background:#151e20;min-height:220px}
.eco-public-design-conference_summit_movement .eco-timeline time{display:block;margin-bottom:34px;text-transform:uppercase;letter-spacing:.12em}
.eco-public-design-conference_summit_movement .eco-timeline h3{text-transform:uppercase;font-size:20px}
.eco-public-design-conference_summit_movement #visit{background:#efe5d9}
.eco-public-design-conference_summit_movement .eco-hotel-grid article{border-radius:0;background:#f9f5ef;border-color:#d4c8ba}

.eco-public-design-conference_summit_movement .eco-info-chip{border-radius:0;border-color:#d4c8ba;background:#f9f5ef}
.eco-public-design-conference_summit_movement .eco-custom-section{background:#d9c4ad}
.eco-public-design-conference_summit_movement .eco-custom-section .eco-public-richtext{color:#4d4139}
.eco-public-design-conference_summit_movement #faq{background:#f7f1e8;color:#1b1714}
.eco-public-design-conference_summit_movement .eco-faq-list details{border-color:#cfc2b5}
.eco-public-design-conference_summit_movement .eco-form-section{background:#f7f1e8}
.eco-public-design-conference_summit_movement .eco-public-form{border-radius:0;background:#fffaf4;border-color:#d4c8ba}
.eco-public-design-conference_summit_movement .eco-public-cta-section{background:#111819;color:#f8f3eb;border:0}
.eco-public-design-conference_summit_movement .eco-public-cta-section .eco-public-secondary{background:transparent;color:#f8f3eb;border-color:#5c6665;border-radius:0}
.eco-public-design-conference_summit_movement .eco-public-footer{background:#0c1112;color:#aaa19a;border-color:#252d2e}
@media(max-width:980px){
 .eco-public-design-conference_summit_movement .eco-public-hero-content{padding-right:0;max-width:720px}
 .eco-public-design-conference_summit_movement .eco-people-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .eco-public-design-conference_summit_movement .eco-person-card:first-child{grid-column:1/-1;grid-row:auto}
 .eco-public-design-conference_summit_movement .eco-timeline{grid-template-columns:1fr 1fr}
}
@media(max-width:680px){
 .eco-public-design-conference_summit_movement .eco-public-event-hero{min-height:690px}
 .eco-public-design-conference_summit_movement .eco-public-hero h1{font-size:58px}
 .eco-public-design-conference_summit_movement .eco-public-section{padding:66px 0}
 .eco-public-design-conference_summit_movement .eco-feature-grid,.eco-public-design-conference_summit_movement .eco-timeline{grid-template-columns:1fr}
 .eco-public-design-conference_summit_movement .eco-feature-card{border-right:0;border-bottom:1px solid #3c4545}
 .eco-public-design-conference_summit_movement .eco-people-grid{grid-template-columns:1fr 1fr}
 .eco-public-design-conference_summit_movement .eco-person-card:first-child{display:block}
 .eco-public-design-conference_summit_movement .eco-person-card:first-child .eco-person-photo{aspect-ratio:4/3}
}

@media(max-width:680px){
 .eco-public-design-wedding_garden .eco-feature-card:nth-child(2),.eco-public-design-wedding_garden .eco-person-card:nth-child(2n),.eco-public-design-conference_summit_creative .eco-feature-card:nth-child(2n){transform:none}
 .eco-public-site[class*="eco-public-design-wedding_"] .eco-public-event-hero,.eco-public-site[class*="eco-public-design-conference_summit_"] .eco-public-event-hero,.eco-public-site[class*="eco-public-design-corporate_"] .eco-public-event-hero{min-height:610px}
}

/* v0.3.81 paid registration + bot-protection presentation */
.eco-paid-ticket-picker{display:grid;gap:12px;margin:18px 0;padding:16px;border:1px solid color-mix(in srgb,currentColor 14%,transparent);border-radius:14px;background:color-mix(in srgb,#fff 94%,transparent)}
.eco-paid-ticket-picker h3{margin:0 0 2px;font-size:18px}.eco-ticket-option{display:grid!important;grid-template-columns:minmax(0,1fr) auto;gap:14px;align-items:center;padding:12px;border:1px solid #e9e2dc;border-radius:12px;background:#fff}.eco-ticket-option span{display:grid;gap:3px}.eco-ticket-option strong{font-size:14px}.eco-ticket-option small{color:#7d7169}.eco-ticket-option b{font-size:14px}.eco-ticket-option select{min-width:76px}.eco-turnstile{margin:14px 0;min-height:66px}@media(max-width:640px){.eco-ticket-option{grid-template-columns:1fr}.eco-ticket-option select{width:100%}}


/* v0.3.93 — shared public-template visual QA */
.eco-public-site .eco-public-hero-content,.eco-public-site .eco-public-section-head>*,.eco-public-site .eco-public-split>*,.eco-public-site .eco-feature-card,.eco-public-site .eco-person-card>div:last-child,.eco-public-site .eco-timeline article>*,.eco-public-site .eco-media-card,.eco-public-site .eco-public-detail-grid article{min-width:0}
.eco-public-site .eco-public-hero h1,.eco-public-site .eco-public-section-head h2,.eco-public-site .eco-public-split h2,.eco-public-site .eco-feature-card h3,.eco-public-site .eco-feature-card p,.eco-public-site .eco-person-card h3,.eco-public-site .eco-person-card p,.eco-public-site .eco-timeline h3,.eco-public-site .eco-timeline p,.eco-public-site .eco-public-richtext,.eco-public-site .eco-media-card-head span,.eco-public-site .eco-public-detail-grid strong{overflow-wrap:anywhere;word-break:normal}
.eco-public-site .eco-person-photo{position:relative;aspect-ratio:4/5;overflow:hidden}
.eco-public-site .eco-person-photo>span{position:absolute;inset:0;display:grid;place-items:center}
.eco-public-site .eco-person-photo>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 28%;display:block}
.eco-public-site .eco-gallery-carousel figure{background:linear-gradient(135deg,var(--eco-site-primary),var(--eco-site-accent))}
.eco-public-site .eco-gallery-carousel img{display:block;object-position:center center}
.eco-public-site .eco-gallery-carousel img[hidden],.eco-public-site .eco-person-photo img[hidden]{display:none!important}
.eco-public-site .eco-public-lead{overflow-wrap:anywhere}
.eco-public-site .eco-public-actions a{white-space:normal;text-align:center;line-height:1.25}
@media(max-width:680px){.eco-public-site .eco-public-hero h1{font-size:clamp(40px,14vw,58px);line-height:.98}.eco-public-site .eco-public-lead{font-size:18px;line-height:1.5}.eco-public-site .eco-person-card h3{font-size:16px}.eco-public-site .eco-gallery-carousel figure{flex-basis:88%}}

/* v0.4.2 — clean registration route + compact Plan Your Visit */
.eco-registration-route{padding:52px 18px 72px}.eco-registration-route>.eco-public-wrap{max-width:760px}.eco-registration-back{display:inline-flex;margin-bottom:18px;font-weight:750;text-decoration:none}.eco-registration-route-card{padding:28px}.eco-registration-route-card>h1{margin:6px 0 8px}.eco-registration-route-card>p{margin:0 0 22px;color:#726861}.eco-venue-card{display:grid!important;grid-template-columns:1fr auto;gap:5px 14px;align-items:center}.eco-venue-card>span{grid-column:1/-1}.eco-directions-action{grid-column:2;grid-row:2;display:inline-flex;align-items:center;white-space:nowrap;padding:7px 10px;border:1px solid currentColor;border-radius:999px;font-size:12px;font-weight:800;text-decoration:none}.eco-hotel-wrap{min-width:0}.eco-hotels-more{display:inline-flex;margin-top:12px;font-size:13px;font-weight:800;text-decoration:none}
@media(max-width:720px){.eco-registration-route{padding:28px 10px 48px}.eco-registration-route-card{padding:18px}.eco-venue-card{grid-template-columns:1fr}.eco-directions-action{grid-column:1;grid-row:auto;justify-self:start}.eco-hotel-grid article:nth-child(n+3){display:none}.eco-hotels-more{font-size:12px}}


/* v0.5.7 — explicit public section editing and gallery metadata presentation. */
.eco-public-section-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.eco-public-section-edit-shortcut{appearance:none;border:1px solid var(--eco-line);background:var(--eco-surface,#fff);color:var(--eco-ink);border-radius:999px;padding:9px 13px;font:800 11px/1 Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;cursor:pointer}
.eco-public-section-edit-shortcut:hover,.eco-public-section-edit-shortcut:focus-visible{border-color:var(--eco-site-accent);outline:2px solid color-mix(in srgb,var(--eco-site-accent) 24%,transparent);outline-offset:2px}
.eco-gallery-carousel figure{position:relative;overflow:hidden}
.eco-gallery-carousel figure img{object-fit:cover}
.eco-gallery-carousel figcaption{padding:10px 12px 12px;color:var(--eco-muted);font-size:12px;line-height:1.45;background:var(--eco-surface,#fff)}
@media(max-width:680px){.eco-public-section-actions{width:100%;justify-content:space-between}.eco-public-section-edit-shortcut{padding:8px 11px;font-size:10px}}

@media(min-width:681px) and (max-width:1180px){.eco-public-header-inner{align-items:flex-start;padding:12px 0}.eco-public-header nav{max-width:68vw;gap:8px 13px}.eco-public-header nav a{font-size:10px}}

/* v0.6.4 — shared public-header editing/support. */
.eco-public-header.eco-header-static{position:relative;top:auto}
.eco-public-mobile-cta{display:none;align-items:center;justify-content:center;padding:9px 12px;border-radius:10px;background:var(--eco-site-primary);color:#fff!important;text-decoration:none;font-size:10px;font-weight:850;line-height:1;white-space:nowrap}
@media(max-width:680px){
  .eco-public-mobile-cta{display:inline-flex;margin-left:auto}
  .eco-public-header nav .eco-public-header-cta{display:none}
}

/* v0.7.1 — shared public-template responsive guardrails. */
@media(min-width:681px) and (max-width:1100px){
  .eco-public-site .eco-public-event-hero{min-height:650px;padding-block:92px}
  .eco-public-site .eco-public-hero-content{min-width:0;max-width:none}
  .eco-public-site .eco-public-hero h1{
    max-inline-size:min(100%,820px);font-size:clamp(46px,7.2vw,76px);line-height:.94;
    overflow-wrap:normal;word-break:normal;hyphens:none;text-wrap:balance;
  }
  .eco-public-site .eco-public-lead{max-width:min(100%,680px);font-size:clamp(17px,2.1vw,21px)}
  .eco-public-site .eco-public-meta,.eco-public-site .eco-public-actions,.eco-public-site .eco-countdown{max-width:min(100%,720px)}
}
@media(max-width:680px){
  .eco-public-site .eco-public-hero-content{min-width:0}
  .eco-public-site .eco-public-hero h1{max-inline-size:100%;overflow-wrap:normal;word-break:normal;hyphens:none;text-wrap:balance}
}


/* v0.7.7 — shared public editor contrast and polished starter content.
 * Editor affordances use their own semantic colors instead of inheriting a
 * template's --eco-ink value, which may legitimately be white on dark motion
 * surfaces. Public carousel controls also retain contrast on every palette. */
.eco-public-site{
  --eco-editor-control-bg:#fff;
  --eco-editor-control-fg:#211b18;
  --eco-editor-control-border:rgba(33,27,24,.22);
}
.eco-public-site .eco-public-section-edit-shortcut{
  background:var(--eco-editor-control-bg)!important;
  color:var(--eco-editor-control-fg)!important;
  border-color:var(--eco-editor-control-border)!important;
  box-shadow:0 8px 24px rgba(0,0,0,.18);
  opacity:1;
}
.eco-public-site .eco-public-section-edit-shortcut:hover,
.eco-public-site .eco-public-section-edit-shortcut:focus-visible{
  background:#0f0d0c!important;color:#fff!important;border-color:rgba(255,255,255,.36)!important;
  outline:3px solid color-mix(in srgb,var(--eco-site-accent) 45%,transparent);outline-offset:2px;
}
.eco-public-site .eco-carousel-controls button{
  background:#fff!important;color:#211b18!important;border-color:rgba(33,27,24,.18)!important;
  box-shadow:0 6px 18px rgba(0,0,0,.12);font-weight:900;
}
.eco-public-site .eco-carousel-controls button:hover,
.eco-public-site .eco-carousel-controls button:focus-visible{
  background:#211b18!important;color:#fff!important;border-color:#211b18!important;
  outline:3px solid color-mix(in srgb,var(--eco-site-accent) 40%,transparent);outline-offset:2px;
}
.eco-public-site .eco-carousel-controls button:disabled,
.eco-public-site .eco-carousel-controls button[aria-disabled="true"]{opacity:.46;cursor:not-allowed;box-shadow:none}

/* Sponsor rows without an uploaded logo still look intentional, while avoiding
 * invented third-party brands. The generated monogram is presentation-only. */
.eco-public-site .eco-sponsor-grid article.is-placeholder{min-height:132px;padding:20px;background:color-mix(in srgb,var(--eco-soft,#f6f7f7) 72%,#fff)}
.eco-public-site .eco-sponsor-placeholder{display:grid;justify-items:center;align-content:center;gap:11px;text-align:center;min-width:0}
.eco-public-site .eco-sponsor-monogram{display:grid;place-items:center;width:48px;height:48px;border-radius:14px;background:var(--eco-site-primary);color:#fff;font-size:13px;font-weight:950;letter-spacing:.08em;box-shadow:0 10px 24px color-mix(in srgb,var(--eco-site-primary) 22%,transparent)}
.eco-public-site .eco-sponsor-placeholder strong{max-width:100%;font-size:15px;line-height:1.25;overflow-wrap:anywhere}
.eco-public-layout-motion .eco-sponsor-grid article.is-placeholder{background:rgba(255,255,255,.075);border-color:rgba(255,255,255,.15)}
.eco-public-layout-motion.eco-motion-surface-light .eco-sponsor-grid article.is-placeholder{background:var(--eco-surface-card-bg);border-color:var(--eco-surface-line)}

/* Keep the motion presentation navigator fully inside the safe viewport. */
.eco-public-layout-motion .eco-motion-progress{right:max(14px,env(safe-area-inset-right));max-height:calc(100vh - 132px);overflow-y:auto;overscroll-behavior:contain}
@media(max-width:680px){
  .eco-public-site .eco-public-section-edit-shortcut{padding:8px 11px}
  .eco-public-site .eco-sponsor-grid article.is-placeholder{min-height:112px}
  .eco-public-site .eco-sponsor-monogram{width:42px;height:42px;border-radius:12px}
}

/* v0.9.37 — visual polish and template-scoped button palettes. */
.eco-public-site .eco-public-event-hero{isolation:isolate;overflow:hidden}
.eco-public-site .eco-public-hero-content{position:relative;z-index:2;min-width:0;max-inline-size:min(100%,1100px)}
.eco-public-site .eco-public-hero h1{max-inline-size:min(100%,980px);font-size:clamp(2.55rem,6.2vw,6.75rem);line-height:1.02;letter-spacing:-.04em;text-wrap:balance;overflow-wrap:break-word}
.eco-public-site .eco-public-lead{max-inline-size:640px;text-wrap:pretty;line-height:1.55}
.eco-public-site .eco-public-event-hero .eco-hero-image{background-size:cover;background-repeat:no-repeat;image-rendering:auto}
.eco-public-site .eco-public-actions{display:flex;align-items:center;flex-wrap:wrap;gap:12px}
.eco-public-site .eco-public-actions .eco-public-primary,.eco-public-site .eco-public-actions a.eco-public-primary,.eco-public-site .eco-public-mobile-cta{background:var(--eco-site-button,var(--eco-site-primary));color:var(--eco-site-button-ink,#fff)!important}
@media(max-width:680px){.eco-public-site .eco-public-event-hero{min-height:560px;padding-block:64px}.eco-public-site .eco-public-hero-content{padding-inline:0!important;max-width:100%}.eco-public-site .eco-public-hero h1{font-size:clamp(2.5rem,11vw,4.4rem);max-width:100%;line-height:1.06;letter-spacing:-.035em}.eco-public-site .eco-public-lead{font-size:clamp(1rem,4.2vw,1.25rem);max-width:100%}.eco-public-site .eco-public-meta,.eco-public-site .eco-countdown,.eco-public-site .eco-public-actions{flex-wrap:wrap;max-width:100%}}

/* Accessible action text on custom colors throughout an event page. */
.eco-public-site .eco-public-form button,
.eco-public-site .eco-public-header-cta,
.eco-public-site a.eco-public-primary,
.eco-public-site .eco-public-cta a.eco-public-primary{background:var(--eco-site-button,var(--eco-site-primary));color:var(--eco-site-button-ink,#fff)!important}
.eco-public-site .eco-announcement{color:var(--eco-site-accent-ink,#fff)}

.eco-public-site .eco-public-cta-section{color:var(--eco-site-primary-ink,#fff)}
.eco-public-site .eco-public-cta-section .eco-public-cta p{color:inherit;opacity:.83}
.eco-public-site .eco-public-brand-mark{color:var(--eco-site-accent-ink,#fff)}

/* v0.9.70 — legible tenant website navigation and supporting copy, with each template's display fonts intact. */
.eco-public-header nav a{font-size:13px;line-height:1.45}
.eco-public-site .eco-public-richtext{font-size:15px;line-height:1.7}
.eco-public-site .eco-public-footer{font-size:12px;line-height:1.5}
.eco-public-site .eco-person-role{display:block;margin-top:5px;color:var(--eco-site-accent);font-size:11px;font-weight:800;letter-spacing:.045em;text-transform:uppercase}.eco-public-site .eco-person-card .eco-person-intro{margin:8px 0 0;color:var(--eco-muted);font-size:13px;line-height:1.55}

/* Wedding itinerary cards pair each milestone with the selected design's photography. */
.eco-wedding-schedule-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;align-items:start}.eco-wedding-event-card{overflow:hidden;border:1px solid var(--eco-line);border-radius:18px;background:#fff;box-shadow:0 14px 34px rgba(35,25,25,.06)}.eco-wedding-event-card>img{display:block;width:100%;height:clamp(150px,19vw,250px);object-fit:cover;background:var(--eco-soft)}.eco-wedding-event-copy{padding:19px 20px 22px}.eco-wedding-event-copy time{display:block;margin:0 0 8px;color:var(--eco-site-accent);font-size:11px;font-weight:850;letter-spacing:.08em;text-transform:uppercase}.eco-wedding-event-copy h3{margin:0;color:var(--eco-ink);font:500 24px/1.15 Georgia,"Times New Roman",serif}.eco-wedding-event-copy p{margin:10px 0 0;color:var(--eco-muted);font-size:13px;line-height:1.6}
@media(max-width:900px){.eco-wedding-schedule-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.eco-wedding-schedule-grid{grid-template-columns:1fr}.eco-wedding-event-card>img{height:220px}}

.eco-public-site[class*="eco-public-design-wedding_"] .eco-feature-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
@media(max-width:900px){.eco-public-site[class*="eco-public-design-wedding_"] .eco-feature-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.eco-public-site[class*="eco-public-design-wedding_"] .eco-feature-grid{grid-template-columns:1fr}}

/* Wedding v0.9.123 — a photo-led couple story and a day-grouped, place-aware itinerary. */
.eco-public-site[class*="eco-public-design-wedding_"] .eco-wedding-story-grid{display:flex;flex-direction:column;gap:clamp(44px,7vw,92px);max-width:1120px;margin:0 auto}
.eco-public-site[class*="eco-public-design-wedding_"] .eco-wedding-story-moment{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(260px,.92fr);align-items:center;gap:clamp(28px,6vw,84px)}
.eco-public-site[class*="eco-public-design-wedding_"] .eco-wedding-story-moment:nth-child(even) figure{order:2}
.eco-public-site[class*="eco-public-design-wedding_"] .eco-wedding-story-moment figure{position:relative;min-width:0;margin:0;aspect-ratio:1.48;overflow:hidden;background:#eee8e3}
.eco-public-site[class*="eco-public-design-wedding_"] .eco-wedding-story-moment figure img{display:block;width:100%;height:100%;object-fit:cover}
.eco-public-site[class*="eco-public-design-wedding_"] .eco-wedding-story-moment figcaption{position:absolute;right:16px;bottom:16px;padding:10px 14px;background:rgba(255,252,247,.94);color:#84766c;font-size:9px;letter-spacing:.2em;text-transform:uppercase}
.eco-public-site[class*="eco-public-design-wedding_"] .eco-wedding-story-copy{max-width:460px}
.eco-public-site[class*="eco-public-design-wedding_"] .eco-wedding-story-number{display:block;margin-bottom:15px;color:var(--eco-site-accent);font-size:10px;font-weight:850;letter-spacing:.2em}
.eco-public-site[class*="eco-public-design-wedding_"] .eco-wedding-story-copy h3{margin:0 0 13px;font:500 clamp(30px,3.5vw,48px)/1.08 Georgia,"Times New Roman",serif}
.eco-public-site[class*="eco-public-design-wedding_"] .eco-wedding-story-copy p{margin:0;color:var(--eco-muted);font-size:15px;line-height:1.8}
.eco-wedding-itinerary{display:grid;gap:46px}
.eco-wedding-day-lane>header{display:flex;align-items:end;justify-content:space-between;gap:20px;margin:0 0 20px;padding-bottom:16px;border-bottom:1px solid var(--eco-line)}
.eco-wedding-day-lane>header .eco-public-eyebrow{margin-bottom:7px}
.eco-wedding-day-lane>header h3{margin:0;font:500 clamp(28px,3vw,38px)/1.1 Georgia,"Times New Roman",serif}
.eco-wedding-day-lane>header p{margin:0;color:var(--eco-muted);font-size:13px}
.eco-wedding-schedule-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;align-items:start}
.eco-wedding-event-card{overflow:hidden;border:1px solid var(--eco-line);border-radius:4px;background:#fff;box-shadow:0 14px 34px rgba(35,25,25,.06)}
.eco-wedding-event-card>img{display:block;width:100%;height:clamp(180px,20vw,270px);object-fit:cover;background:var(--eco-soft)}
.eco-wedding-event-copy{padding:20px 21px 24px}
.eco-wedding-event-copy time{display:block;margin:0 0 9px;color:var(--eco-site-accent);font-size:11px;font-weight:850;letter-spacing:.08em;text-transform:uppercase}
.eco-wedding-event-copy h4{margin:0;color:var(--eco-ink);font:500 25px/1.15 Georgia,"Times New Roman",serif}
.eco-wedding-event-copy p{margin:9px 0 0;color:var(--eco-muted);font-size:13px;line-height:1.65}
.eco-wedding-event-copy .eco-wedding-event-location{color:var(--eco-site-primary);font-size:12px;font-weight:750}
.eco-public-site[class*="eco-public-design-wedding_"] .eco-wedding-schedule-head{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;margin-bottom:42px;text-align:center}
.eco-public-site[class*="eco-public-design-wedding_"] .eco-wedding-schedule-head>div{display:grid;justify-items:center}
.eco-public-site[class*="eco-public-design-wedding_"] .eco-wedding-schedule-head .eco-public-eyebrow{margin-bottom:8px}
.eco-public-site[class*="eco-public-design-wedding_"] .eco-wedding-day-lane>header{justify-content:center;text-align:center}
.eco-wedding-event-image{position:relative;overflow:hidden;aspect-ratio:1.52;background:var(--eco-soft)}
.eco-wedding-event-image img{display:block;width:100%;height:100%;object-fit:cover}
.eco-wedding-event-image time{position:absolute;left:14px;bottom:14px;padding:10px 15px;background:#fffdf9;color:var(--eco-ink);font:500 16px/1.1 Georgia,"Times New Roman",serif;box-shadow:0 5px 18px rgba(24,19,16,.14)}
.eco-wedding-event-copy .eco-wedding-event-location{display:flex;align-items:center;gap:8px;margin-top:14px;color:var(--eco-muted);font-size:12px;font-weight:500;letter-spacing:.03em}
.eco-wedding-event-location svg{width:15px;height:15px;flex:0 0 15px;fill:none;stroke:currentColor;stroke-width:1.7}
.eco-wedding-event-copy .eco-wedding-venue-name{margin-top:17px;color:var(--eco-muted);font:italic 15px/1.4 Georgia,"Times New Roman",serif}
.eco-wedding-event-copy .eco-wedding-venue-address{margin-top:4px;color:var(--eco-muted);font-size:12px;line-height:1.55}
@media(max-width:900px){.eco-wedding-schedule-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.eco-public-site[class*="eco-public-design-wedding_"] .eco-wedding-story-moment{grid-template-columns:1fr 1fr;gap:28px}}
@media(max-width:600px){.eco-wedding-schedule-grid{grid-template-columns:1fr}.eco-wedding-event-card>img{height:230px}.eco-wedding-day-lane>header{align-items:start;flex-direction:column}.eco-public-site[class*="eco-public-design-wedding_"] .eco-wedding-story-moment{grid-template-columns:1fr;gap:20px}.eco-public-site[class*="eco-public-design-wedding_"] .eco-wedding-story-moment:nth-child(even) figure{order:0}.eco-public-site[class*="eco-public-design-wedding_"] .eco-wedding-story-moment figure{aspect-ratio:1.2}}
.eco-wedding-party-cta{display:inline-flex;align-items:center;gap:14px;margin:34px auto 0;padding:13px 18px;border:1px solid var(--eco-line);border-radius:999px;color:var(--eco-ink);background:rgba(255,255,255,.7);font-size:13px;font-weight:750;text-decoration:none;transition:transform .2s ease,background .2s ease}.eco-wedding-party-cta:hover{transform:translateY(-2px);background:#fff}.eco-wedding-party-cta span{color:var(--eco-accent);font-size:18px}.eco-wedding-party-section{background:linear-gradient(140deg,#f8f4ee 0%,#fff 55%,#f3eeea 100%)}.eco-wedding-party-section .eco-public-wrap{max-width:1240px}.eco-wedding-party-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(18px,3vw,36px);max-width:1080px;margin:36px auto 0}.eco-wedding-party-card{border-color:color-mix(in srgb,var(--eco-site-accent) 23%,#e7e0d9);border-radius:24px;background:rgba(255,255,255,.92);box-shadow:0 18px 50px rgba(45,33,28,.09);transition:transform .25s ease,box-shadow .25s ease}.eco-wedding-party-card:hover{transform:translateY(-5px);box-shadow:0 25px 65px rgba(45,33,28,.14)}.eco-wedding-party-photo{aspect-ratio:1.34;background:#d9cfc5}.eco-wedding-party-photo img{object-position:center 38%}.eco-wedding-party-card>div:last-child{padding:24px 26px 28px}.eco-wedding-party-card h3{font-family:Georgia,'Times New Roman',serif;font-size:clamp(24px,3vw,34px);line-height:1.08}.eco-wedding-party-card .eco-person-role{display:inline-block;margin-top:9px;color:var(--eco-site-accent);font-size:10px;font-weight:850;letter-spacing:.13em;text-transform:uppercase}.eco-wedding-party-card .eco-person-intro{max-width:48ch;margin-top:12px;font-size:14px;line-height:1.65}.eco-wedding-explore{display:grid;gap:54px;margin-top:clamp(44px,7vw,88px)}.eco-wedding-subhead{max-width:620px;margin-bottom:20px}.eco-wedding-subhead h3{margin:8px 0;font-family:Georgia,'Times New Roman',serif;font-size:clamp(28px,3.6vw,42px);line-height:1.1;color:var(--eco-ink)}.eco-wedding-subhead>p{margin:0;color:var(--eco-muted);font-size:14px;line-height:1.6}.eco-wedding-nearby-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.eco-wedding-nearby-card{min-height:205px;padding:23px;border:1px solid var(--eco-line);border-radius:18px;background:#fff;box-shadow:0 12px 32px rgba(40,30,20,.045)}.eco-wedding-card-topline{display:flex;justify-content:space-between;gap:10px;color:var(--eco-site-accent);font-size:9px;font-weight:850;letter-spacing:.09em;text-transform:uppercase}.eco-wedding-card-topline span:last-child{color:var(--eco-muted);letter-spacing:0;text-transform:none}.eco-wedding-nearby-card h4,.eco-wedding-airport-card h4{margin:17px 0 7px;color:var(--eco-ink);font-family:Georgia,'Times New Roman',serif;font-size:22px;line-height:1.15}.eco-wedding-nearby-card p,.eco-wedding-airport-card p{margin:0;color:var(--eco-muted);font-size:12px;line-height:1.6}.eco-wedding-nearby-card>a{display:inline-flex;align-items:center;gap:8px;margin-top:18px;color:var(--eco-ink);font-size:11px;font-weight:800;text-decoration:none}.eco-wedding-nearby-card>a span{color:var(--eco-site-accent)}.eco-wedding-airport-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.eco-wedding-airport-card{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:14px;padding:18px;border:1px solid var(--eco-line);border-radius:16px;background:rgba(255,255,255,.78)}.eco-wedding-airport-card h4{margin:0 0 6px;font-family:inherit;font-size:14px;font-weight:800}.eco-wedding-airport-code{display:grid;place-items:center;min-width:48px;height:42px;padding:0 8px;border-radius:11px;background:var(--eco-site-primary);color:#fff;font-size:12px;font-weight:850;letter-spacing:.06em}.eco-wedding-airport-card>a{display:grid;place-items:center;width:34px;height:34px;border:1px solid var(--eco-line);border-radius:50%;color:var(--eco-site-accent);text-decoration:none;font-weight:800}
@media(max-width:900px){.eco-wedding-nearby-grid,.eco-wedding-airport-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:680px){.eco-wedding-party-grid,.eco-wedding-nearby-grid,.eco-wedding-airport-grid{grid-template-columns:1fr}.eco-wedding-party-grid{margin-top:24px}.eco-wedding-party-card>div:last-child{padding:20px}.eco-wedding-explore{gap:38px}.eco-wedding-airport-card{grid-template-columns:auto 1fr auto}}

/* Wedding itinerary: retain the reference's centered date and photo-led lanes. */
.eco-wedding-schedule-section{background:#faf8f3!important;--eco-ink:#2e2a24;--eco-muted:#857f76;--eco-line:#ece7df;color:var(--eco-ink)}
.eco-wedding-schedule-section .eco-wedding-schedule-head{display:flex;justify-content:center;text-align:center;margin-bottom:72px}
.eco-wedding-schedule-section .eco-wedding-schedule-head>div{width:100%}
.eco-wedding-schedule-section .eco-wedding-schedule-head h2{margin:0;color:var(--eco-ink);font:500 clamp(42px,5.3vw,68px)/1.12 Georgia,"Times New Roman",serif}
.eco-wedding-schedule-section .eco-wedding-schedule-head .eco-public-eyebrow{display:none}
.eco-wedding-schedule-section .eco-wedding-day-lane>header{justify-content:center;text-align:center;margin-bottom:36px;border:0;padding-bottom:0}
.eco-wedding-schedule-section .eco-wedding-day-lane>header h3{color:var(--eco-ink);font-size:clamp(26px,3vw,36px)}
.eco-wedding-schedule-section .eco-wedding-event-card{border-radius:0;background:transparent;box-shadow:none;border-color:#ece7df}
.eco-wedding-schedule-section .eco-wedding-event-copy{padding:30px 28px}
.eco-wedding-schedule-section .eco-wedding-event-copy h4{color:var(--eco-ink);font-size:clamp(26px,2.5vw,34px)}
.eco-venue-discovery-attribution,.eco-venue-discovery-empty{margin-top:20px;color:var(--eco-muted);font-size:12px;line-height:1.6}
@media(max-width:600px){.eco-wedding-schedule-section .eco-wedding-schedule-head{margin-bottom:38px}.eco-wedding-schedule-section .eco-wedding-event-copy{padding:23px}}

.eco-venue-search-card .eco-venue-search-address{margin-top:12px;color:var(--eco-muted);font-size:11px;line-height:1.5}.eco-venue-airport-search{grid-column:1/-1;min-height:98px}.eco-venue-airport-search p{max-width:80ch}

.eco-wedding-party-card .eco-wedding-party-names{margin:12px 0 0;color:var(--eco-ink);font-size:15px;line-height:1.65;font-weight:500}

/* Event-owned alignment overrides preserve the template when set to original. */
.eco-public-site [data-eco-align="left"]{text-align:left}
.eco-public-site [data-eco-align="center"]{text-align:center}
.eco-public-site [data-eco-align="right"]{text-align:right}
.eco-public-site [data-eco-align="left"] :is(h1,h2,h3,h4,p,figcaption){text-align:left!important}
.eco-public-site [data-eco-align="center"] :is(h1,h2,h3,h4,p,figcaption){text-align:center!important}
.eco-public-site [data-eco-align="right"] :is(h1,h2,h3,h4,p,figcaption){text-align:right!important}
.eco-public-site .eco-public-section[data-eco-align="center"] .eco-public-section-head{display:block;text-align:center}
.eco-public-site .eco-public-section[data-eco-align="right"] .eco-public-section-head{display:block;text-align:right}
.eco-venue-discovery-attribution{max-width:1240px;margin:0 auto;padding:0 24px;font-size:12px;color:var(--eco-muted)}

/* Six wedding-party starters, with responsive space for additional profiles. */
.eco-wedding-party-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.eco-wedding-party-photo{aspect-ratio:4/5}
@media(max-width:900px){.eco-wedding-party-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.eco-wedding-party-grid{grid-template-columns:1fr}}

/* v0.9.136 – wedding concierge details; scoped to wedding pages only. */
.eco-template-wedding_social .eco-wedding-activity-detail{font-size:.91rem;line-height:1.55;margin:.45rem 0;color:inherit;overflow-wrap:anywhere}
.eco-template-wedding_social .eco-wedding-activity-detail strong{font-weight:700}
.eco-template-wedding_social .eco-wedding-activity-actions{display:flex;flex-wrap:wrap;gap:.7rem;margin-top:1.1rem}
.eco-template-wedding_social .eco-wedding-activity-actions a,
.eco-template-wedding_social .eco-wedding-registry-links a{display:inline-flex;align-items:center;justify-content:center;border:1px solid currentColor;border-radius:999px;padding:.65rem .9rem;font-weight:650;text-decoration:none;min-height:42px;font-size:.84rem;max-width:100%;overflow-wrap:anywhere}
.eco-template-wedding_social .eco-wedding-activity-actions a:hover,
.eco-template-wedding_social .eco-wedding-registry-links a:hover{text-decoration:underline}
.eco-template-wedding_social .eco-wedding-visit-detail{max-width:100%;overflow-wrap:anywhere}
.eco-template-wedding_social .eco-wedding-visit-detail p{margin:.45rem 0;line-height:1.6}
.eco-template-wedding_social .eco-wedding-registry-links{display:flex;gap:.9rem;flex-wrap:wrap;margin-top:1rem}
.eco-template-wedding_social .eco-wedding-registry .eco-public-wrap>p{max-width:65ch}
@media(max-width:640px){.eco-template-wedding_social .eco-wedding-activity-actions a{width:100%}.eco-template-wedding_social .eco-wedding-registry-links a{width:100%}}

/* v0.9.140 — one accessible, swipeable wedding-party photo row (all wedding designs). */
.eco-public-site .eco-wedding-party-section .eco-wedding-party-grid[data-eco-wedding-party-track]{
  display:flex;flex-wrap:nowrap;gap:clamp(14px,2vw,24px);max-width:1120px;
  margin:18px auto 0;padding:12px 4px 22px;overflow-x:auto;overflow-y:hidden;
  scroll-snap-type:x mandatory;scroll-padding-inline:4px;-webkit-overflow-scrolling:touch;
  overscroll-behavior-x:contain;scrollbar-width:thin;scrollbar-color:var(--eco-site-accent) transparent;
}
.eco-public-site .eco-wedding-party-grid[data-eco-wedding-party-track]>.eco-wedding-party-card{
  flex:0 0 clamp(230px,29vw,330px);width:clamp(230px,29vw,330px);min-width:0;
  scroll-snap-align:start;scroll-snap-stop:normal;box-sizing:border-box;
}
.eco-public-site .eco-wedding-party-grid[data-eco-wedding-party-track] .eco-wedding-party-photo{aspect-ratio:4/5}
.eco-public-site .eco-wedding-party-grid[data-eco-wedding-party-track]:focus-visible{outline:2px solid var(--eco-site-accent);outline-offset:4px;border-radius:12px}
.eco-wedding-party-carousel-tools{display:flex;align-items:center;justify-content:space-between;gap:16px;max-width:1120px;margin:10px auto 0}
.eco-wedding-party-carousel-tools[hidden]{display:none!important}
.eco-wedding-party-carousel-hint{color:var(--eco-muted);font-size:13px;line-height:1.5}
.eco-wedding-party-carousel-nav{display:flex;align-items:center;gap:12px}
.eco-wedding-party-carousel-nav button{display:grid;place-items:center;width:44px;height:44px;border:1px solid var(--eco-line);border-radius:50%;background:#fff;color:var(--eco-ink);font-size:23px;cursor:pointer;transition:background .2s ease,transform .2s ease}
.eco-wedding-party-carousel-nav button:not(:disabled):hover{background:var(--eco-site-accent);color:#fff;transform:translateY(-1px)}
.eco-wedding-party-carousel-nav button:focus-visible{outline:3px solid var(--eco-site-accent);outline-offset:2px}
.eco-wedding-party-carousel-nav button:disabled{opacity:.35;cursor:default}
.eco-wedding-party-carousel-nav [data-eco-wedding-party-position]{min-width:55px;text-align:center;color:var(--eco-muted);font-size:12px;font-variant-numeric:tabular-nums}
@media(max-width:680px){
 .eco-public-site .eco-wedding-party-section .eco-wedding-party-grid[data-eco-wedding-party-track]{margin-top:12px;padding-bottom:18px}
 .eco-public-site .eco-wedding-party-grid[data-eco-wedding-party-track]>.eco-wedding-party-card{flex-basis:min(78vw,310px);width:min(78vw,310px)}
 .eco-wedding-party-carousel-hint{max-width:20ch}
}
@media(prefers-reduced-motion:reduce){.eco-wedding-party-carousel-nav button{transition:none}}

/* v0.9.147 — story cards must fit the ACTUAL section width, including
 * an editor preview narrower than its top-level media viewport. */
.eco-public-site.eco-template-wedding_social #highlights .eco-public-wrap,
.eco-public-site.eco-template-wedding_social #highlights .eco-wedding-story-grid{max-width:100%;min-width:0;box-sizing:border-box}
.eco-public-site.eco-template-wedding_social .eco-wedding-story-grid{container-type:inline-size}
.eco-public-site.eco-template-wedding_social .eco-wedding-story-moment{
  width:100%;min-width:0;max-width:100%;grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);gap:clamp(18px,4vw,64px)
}
.eco-public-site.eco-template-wedding_social .eco-wedding-story-moment :is(figure,.eco-wedding-story-copy){min-width:0;max-width:100%}
.eco-public-site.eco-template-wedding_social .eco-wedding-story-moment figure img{max-width:100%}
.eco-public-site.eco-template-wedding_social .eco-wedding-story-copy :is(h3,p){overflow-wrap:break-word}
@container (max-width:700px){
  .eco-public-site.eco-template-wedding_social .eco-wedding-story-moment{grid-template-columns:minmax(0,1fr)!important;gap:20px}
  .eco-public-site.eco-template-wedding_social .eco-wedding-story-moment:nth-child(even) figure{order:0!important}
  .eco-public-site.eco-template-wedding_social .eco-wedding-story-copy{max-width:100%}
}
@media(max-width:600px){
  .eco-public-site.eco-template-wedding_social .eco-wedding-story-moment{grid-template-columns:minmax(0,1fr)!important}
  .eco-public-site.eco-template-wedding_social .eco-wedding-story-moment:nth-child(even) figure{order:0!important}
  .eco-public-site.eco-template-wedding_social .eco-wedding-story-moment figure{aspect-ratio:1.2}
}

/* Provider troubleshooting must never masquerade as a guest recommendation. */
.eco-venue-discovery-diagnostic{max-width:980px;margin:24px auto;padding:20px;border:1px solid #d7cbbb;border-radius:14px;background:#fffaf0;color:#3c3229;font:14px/1.55 system-ui,sans-serif}
.eco-venue-discovery-diagnostic p{margin:8px 0}.eco-venue-discovery-diagnostic form{margin-top:14px}
.eco-venue-discovery-diagnostic button{padding:10px 15px;border:1px solid #997456;border-radius:8px;background:#fff;color:#3c3229;font-weight:750;cursor:pointer}
.eco-venue-search-backup{grid-column:1/-1}.eco-venue-search-backup a{font-size:13px;font-weight:750;color:var(--eco-site-primary)}
/* v0.9.149: browser Places diagnostics are shown only inside an authorized editor. */
.eco-venue-browser-diagnostic {max-width:760px;margin:18px 0 0;padding:12px 16px;border-left:3px solid currentColor;color:inherit;font-size:.92rem;line-height:1.55;overflow-wrap:anywhere;background:rgba(110,117,123,.065)}


/* v0.9.151 — Wedding itinerary: equal-height, photo-led cards with a consistent action baseline.
   The grid lays cards out in shared rows; the copy consumes remaining height and
   pushes each activity's links to the bottom. Wedding templates only. */
.eco-wedding-schedule-section .eco-wedding-schedule-grid{
  align-items:stretch;
}
.eco-wedding-schedule-section .eco-wedding-event-card{
  display:flex;
  flex-direction:column;
  min-width:0;
  height:100%;
}
.eco-wedding-schedule-section .eco-wedding-event-image{
  flex:0 0 auto;
}
.eco-wedding-schedule-section .eco-wedding-event-copy{
  display:flex;
  flex:1 1 auto;
  flex-direction:column;
  min-width:0;
  overflow-wrap:anywhere;
}
.eco-wedding-schedule-section .eco-wedding-event-copy h4{
  line-height:1.18;
}
@media(min-width:601px){
  .eco-wedding-schedule-section .eco-wedding-event-copy h4{
    min-height:2.36em;
  }
}
.eco-wedding-schedule-section .eco-wedding-event-copy .eco-wedding-activity-actions{
  margin-top:auto;
  padding-top:clamp(18px,2vw,26px);
  align-items:stretch;
}
.eco-wedding-schedule-section .eco-wedding-event-copy .eco-wedding-activity-actions:empty{
  display:none;
}
.eco-wedding-schedule-section .eco-wedding-activity-actions a{
  min-width:0;
  text-align:center;
}
@media(max-width:600px){
  .eco-wedding-schedule-section .eco-wedding-event-card{height:auto}
  .eco-wedding-schedule-section .eco-wedding-event-copy h4{min-height:0}
}

/* v0.9.156 — five Spotify song cards / three YouTube videos per desktop row.
   Curated layouts are event-owned; only their visual placement changes here. */
.eco-media-grid>.eco-spotify-song-lane{grid-column:1/-1;min-width:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;align-items:stretch}
.eco-spotify-song-lane.eco-media-cards-compact{grid-template-columns:repeat(3,minmax(0,1fr))}
.eco-spotify-song-lane.eco-media-cards-half{grid-template-columns:repeat(2,minmax(0,1fr))}
.eco-spotify-song-lane.eco-media-cards-full{grid-template-columns:minmax(0,1fr)}
.eco-spotify-song-lane>.eco-media-card,.eco-spotify-song-lane>.eco-media-card.eco-media-card-layout-full{grid-column:auto;min-width:0;max-width:none;width:100%;overflow:hidden}
.eco-spotify-song-lane>.eco-media-card .eco-media-card-head{gap:8px;min-width:0;align-items:start}
.eco-spotify-song-lane>.eco-media-card .eco-media-card-head>span{min-width:0;overflow-wrap:anywhere}
.eco-spotify-song-lane>.eco-media-card .eco-media-card-head>a{flex-shrink:0}
.eco-spotify-song-lane>.eco-media-card .eco-media-embed,.eco-spotify-song-lane>.eco-media-card.eco-media-card-layout-full .eco-media-embed{height:170px;min-height:170px;max-height:none;flex:none;aspect-ratio:auto;width:100%}
.eco-spotify-song-lane.eco-media-cards-full>.eco-media-card .eco-media-embed{height:360px;min-height:360px}
.eco-youtube-lane.eco-media-cards-featured>.eco-media-card:first-child{grid-column:span 4;grid-row:span 2}
@media (max-width:1100px){
  .eco-spotify-song-lane.eco-media-cards-five{grid-template-columns:repeat(3,minmax(0,1fr))}
  .eco-event-content-media-pair.is-media-pair-ready .eco-media-grid>.eco-spotify-song-lane{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:800px){
  .eco-spotify-song-lane.eco-media-cards-five,.eco-spotify-song-lane.eco-media-cards-compact{grid-template-columns:repeat(2,minmax(0,1fr))}
  .eco-public-youtube-section .eco-media-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .eco-public-youtube-section .eco-media-card,.eco-youtube-lane.eco-media-cards-featured>.eco-media-card:first-child{grid-column:auto;grid-row:auto}
}
@media (max-width:580px){
  .eco-media-grid>.eco-spotify-song-lane{grid-template-columns:1fr!important}
  .eco-public-youtube-section .eco-media-grid{grid-template-columns:1fr}
  .eco-spotify-song-lane>.eco-media-card .eco-media-embed{height:170px;min-height:170px}
  .eco-media-grid>.eco-spotify-song-lane>.eco-media-card{grid-column:1/-1}
}

@media(min-width:1101px){.eco-event-content-media-pair.is-media-pair-ready .eco-media-grid>.eco-spotify-song-lane.eco-media-cards-five{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* v0.9.158 — do not let legacy media-pair styles squash an explicit Spotify lane. */
.eco-media-grid>.eco-spotify-song-lane.eco-media-cards-five{grid-template-columns:repeat(5,minmax(0,1fr))}
.eco-media-grid>.eco-spotify-song-lane.eco-media-cards-compact{grid-template-columns:repeat(3,minmax(0,1fr))}
.eco-public-youtube-section .eco-media-grid.eco-youtube-lane.eco-media-cards-compact{grid-template-columns:repeat(6,minmax(0,1fr))}
.eco-public-youtube-section .eco-media-grid.eco-youtube-lane.eco-media-cards-compact>.eco-media-card{grid-column:span 2}
@media(min-width:1101px){.eco-event-content-media-pair.is-media-pair-ready .eco-media-grid>.eco-spotify-song-lane.eco-media-cards-five{grid-template-columns:repeat(5,minmax(0,1fr))}}
@media(min-width:801px) and (max-width:1100px){.eco-media-grid>.eco-spotify-song-lane.eco-media-cards-five{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(min-width:581px) and (max-width:800px){.eco-media-grid>.eco-spotify-song-lane.eco-media-cards-five{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:800px) and (min-width:581px){.eco-public-youtube-section .eco-media-grid.eco-youtube-lane.eco-media-cards-compact{grid-template-columns:repeat(2,minmax(0,1fr))}.eco-public-youtube-section .eco-media-grid.eco-youtube-lane.eco-media-cards-compact>.eco-media-card{grid-column:auto}}
@media(max-width:580px){.eco-media-grid>.eco-spotify-song-lane.eco-media-cards-five{grid-template-columns:1fr}.eco-public-youtube-section .eco-media-grid.eco-youtube-lane.eco-media-cards-compact{grid-template-columns:1fr}.eco-public-youtube-section .eco-media-grid.eco-youtube-lane.eco-media-cards-compact>.eco-media-card{grid-column:1/-1}}


/* v0.9.161 — deliberate, readable five-track Spotify presentation. */
.eco-public-site .eco-spotify-song-lane{align-items:stretch;gap:clamp(12px,1.5vw,18px)}
.eco-public-site .eco-spotify-song-lane>.eco-spotify-curated-card{position:relative;display:flex;flex-direction:column;min-width:0;padding:17px 13px 13px;border-radius:19px;border:1px solid #335148;background:linear-gradient(160deg,#1b352c,#111d1b 78%);color:#f8fbf8;box-shadow:0 14px 30px rgba(0,0,0,.16);overflow:hidden;gap:0;isolation:isolate}
.eco-public-site .eco-spotify-song-lane>.eco-spotify-curated-card:before{content:"";position:absolute;inset:0 0 auto;height:3px;background:linear-gradient(90deg,#1ed760,transparent 70%);pointer-events:none}
.eco-spotify-curated-heading{display:flex;align-items:center;justify-content:space-between;gap:9px;margin-bottom:11px}
.eco-spotify-curated-number{font-size:25px;font-weight:750;line-height:1;letter-spacing:-.06em;color:#78e99d}
.eco-spotify-curated-service{font-size:9px;font-weight:800;letter-spacing:.13em;color:#b6d5c7;white-space:nowrap}
.eco-public-site .eco-spotify-curated-card>h3{font-family:inherit!important;font-size:clamp(14px,1.15vw,17px)!important;font-weight:760!important;line-height:1.32!important;color:#fff!important;letter-spacing:-.02em!important;margin:0 0 13px!important;min-height:2.65em;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere}
.eco-public-site .eco-spotify-song-lane>.eco-spotify-curated-card .eco-spotify-curated-player{height:152px;min-height:152px;max-height:152px;flex:none;background:#131a18;border-radius:12px;overflow:hidden;aspect-ratio:auto;width:100%;margin-top:auto}
.eco-public-site .eco-spotify-curated-player iframe{display:block;width:100%;height:152px;border:0}
.eco-public-site .eco-spotify-curated-link{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:13px 3px 2px;font-size:12px;font-weight:760;color:#a8f4c1!important;text-decoration:none;min-height:42px}
.eco-public-site .eco-spotify-curated-link:hover,.eco-public-site .eco-spotify-curated-link:focus-visible{color:#fff!important;text-decoration:underline}
.eco-public-site .eco-spotify-song-lane.eco-media-cards-full>.eco-spotify-curated-card .eco-spotify-curated-player{height:152px;min-height:152px}
@media(max-width:580px){.eco-public-site .eco-spotify-song-lane>.eco-spotify-curated-card{padding:19px}.eco-public-site .eco-spotify-curated-card>h3{font-size:19px!important;min-height:0}}

.eco-spotify-curated-card{container-type:inline-size}
.eco-spotify-curated-art{display:none;min-height:152px;place-content:center;place-items:center;gap:8px;border-radius:12px;background:radial-gradient(circle at 20% 20%,#24593b 0%,#133727 42%,#101d17 100%);color:#a6eec0}
.eco-spotify-curated-art span{font-size:50px;line-height:1;font-weight:600;color:#7adca0}
.eco-spotify-curated-art small{font-size:10px;letter-spacing:.2em;font-weight:850;color:#a8dbc0}
/* A native Spotify iframe needs more width than five 220px cards provide. */
@container (max-width:245px){.eco-spotify-curated-card .eco-spotify-curated-player,.eco-spotify-curated-card .eco-spotify-radiant-player{display:none!important}.eco-spotify-curated-card .eco-spotify-curated-art{display:grid}}

/* v0.9.163: Link-aware Spotify presentation. Iframe height follows Spotify content type. */
.eco-spotify-link-showcase{width:100%;max-width:100%;min-width:0;overflow:hidden;border:1px solid rgba(120,150,136,.24);border-radius:18px;background:#102a25;color:#f6fff8;box-shadow:0 14px 32px rgba(0,0,0,.1);grid-column:1/-1}
.eco-spotify-link-heading{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:18px 22px}
.eco-spotify-link-heading>div{min-width:0}
.eco-spotify-link-kicker{display:block;color:#b6e6cc!important;letter-spacing:.14em;text-transform:uppercase;font-size:11px;font-weight:800}
.eco-spotify-link-heading h3{font-size:clamp(18px,2vw,26px);line-height:1.25;margin:5px 0 0;color:#fff!important;overflow-wrap:anywhere}
.eco-spotify-link-heading>a{color:#d7f7e5!important;display:inline-flex;align-items:center;gap:5px;line-height:1.4;font-size:13px;font-weight:700;text-decoration:underline;text-underline-offset:3px;flex:none}
.eco-spotify-link-showcase iframe{display:block;width:100%;border:0;background:#182d27;min-height:0;max-width:100%;height:352px}
.eco-spotify-link-showcase.eco-spotify-link-playlist iframe{height:390px}
.eco-spotify-link-showcase.eco-spotify-link-track iframe{height:152px}
@media(max-width:640px){.eco-spotify-link-heading{align-items:flex-start;flex-direction:column;padding:16px;gap:10px}.eco-spotify-link-heading>a{font-size:12px}.eco-spotify-link-showcase.eco-spotify-link-artist iframe{height:352px}.eco-spotify-link-showcase.eco-spotify-link-playlist iframe{height:390px}}


/* v0.9.206: optional event-scoped contact and social links. */
.eco-event-public-contact{width:min(100% - 40px,1120px);margin:0 auto;padding:30px 0 25px;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,270px),1fr));gap:22px;border-top:1px solid currentColor;color:inherit;font-family:inherit}
.eco-event-public-contact-group h3{font-size:clamp(14px,1.2vw,17px);font-weight:700;line-height:1.4;color:inherit;margin:0 0 12px;letter-spacing:.01em}
.eco-event-public-contact-links,.eco-event-public-social-links{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.eco-event-public-contact a{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:44px;max-width:100%;padding:9px 13px;border:1px solid currentColor;border-radius:999px;color:inherit!important;font-size:13px;font-weight:600;line-height:1.35;text-decoration:none;overflow-wrap:anywhere;background:transparent;transition:background .15s ease,transform .15s ease}
.eco-event-contact-address{font-size:13px;font-style:normal;line-height:1.5;flex-basis:100%;overflow-wrap:anywhere}
.eco-event-public-contact a:hover{background:color-mix(in srgb,currentColor 9%,transparent);transform:translateY(-1px)}
.eco-event-public-contact a:focus-visible{outline:3px solid currentColor;outline-offset:3px}
@media(max-width:640px){.eco-event-public-contact{width:calc(100% - 32px);grid-template-columns:minmax(0,1fr);gap:20px;padding:24px 0}.eco-event-public-contact-links,.eco-event-public-social-links{justify-content:flex-start}}
@media(prefers-reduced-motion:reduce){.eco-event-public-contact a{transition:none}.eco-event-public-contact a:hover{transform:none}}
