/* Public festival theme. Admin screens retain their existing layout. */
.public-site{--maroon:#681f2b;--maroon-dk:#421720;--saffron:#c9541d;--saffron-dk:#a63c12;--gold:#bd883c;--ink-3:#74655f;--line:#eadfd5;--bg:#fffcf7;--radius:18px;--shadow:0 5px 22px #52251a08}
.public-site h1,.public-site h2,.public-site h3{line-height:1.65;letter-spacing:0}
.public-site .wrap{max-width:1240px;padding-inline:32px}
.public-site .topbar{background:#481c25;font-size:.8rem;padding-block:8px}
.public-site .site-header{background:#fffcf7;color:var(--maroon);overflow:visible}
.public-site .site-header::after{display:none}
.public-site .header-inner{padding-block:24px;gap:16px}
.public-site .logo-badge{background:#f8e8d4;border:1px solid #dfbf8c;color:var(--maroon);box-shadow:none;font-size:1.65rem;text-decoration:none;width:58px;height:58px}
.public-site .brand-text h1{color:var(--maroon);text-shadow:none;font-size:1.4rem}
.public-site .brand-text p{color:#786459;font-size:.82rem}
.header-cta{margin-left:auto}
.public-site .btn{border-radius:8px;padding:12px 22px;font-size:.9rem;min-height:46px}
.public-site .btn-primary{box-shadow:none}
.public-site .nav{background:#fffcf7;box-shadow:0 4px 12px #44221b06;border-block:1px solid var(--line)}
.public-site .nav .links{display:flex;gap:28px}
.public-site .nav a{color:#715b52;padding:15px 6px 11px;font-size:.9rem}
.public-site .nav a:hover,.public-site .nav a.active{background:transparent;color:var(--saffron-dk);border-bottom-color:var(--saffron)}
.public-site .nav-toggle{color:var(--maroon)}
.public-site .notice-strip{background:#f8eddc;font-size:.84rem;padding-block:8px}
.public-site .festival-hero{background:#f8eedf;text-align:left;padding-block:42px 48px;border:0;overflow:hidden}
.hero-layout{display:grid;grid-template-columns:1fr 1fr;gap:54px;align-items:center}
.hero-copy{padding:14px 0}
.eyebrow{display:block;color:var(--saffron-dk);font-size:.8rem;font-weight:600;margin-bottom:18px}
.public-site .hero h2{font-size:clamp(2rem,3.6vw,3.2rem);margin:0;line-height:1.65}
.hero-rule{display:flex;align-items:center;gap:12px;color:var(--gold);margin:12px 0 22px;max-width:260px}
.hero-rule:before,.hero-rule:after{content:"";height:1px;background:#d9b67e;flex:1}
.public-site .hero .tag{font-size:1rem;line-height:2.05;margin:0 0 26px;max-width:510px;color:#705b4c}
.public-site .hero-actions{justify-content:flex-start;align-items:center;gap:26px}
.hero-link{color:var(--maroon);font-size:.9rem;font-weight:600;padding-block:12px}
.hero-link span{margin-left:12px}
.hero-art{margin:0;position:relative;padding:10px;border:1px solid #c99c61;border-radius:160px 160px 14px 14px;background:#eed7b5;box-shadow:0 18px 48px #6c321c15}
.hero-art img{width:100%;height:450px;object-fit:cover;border-radius:150px 150px 8px 8px}
.hero-art figcaption{position:absolute;bottom:25px;left:20px;right:20px;text-align:center;color:#fff0d3;font-size:.9rem;text-shadow:0 2px 8px #210b0b;background:#421720c9;width:fit-content;margin:auto;padding:7px 20px;border:1px solid #be924d80;border-radius:6px}
.festival-date{font-size:.88rem;color:var(--maroon);margin-top:24px}
.public-site .countdown{justify-content:flex-start;margin-top:14px;gap:8px}
.public-site .cd-box{min-width:68px;padding:10px 12px;border-color:#e1caaa;background:#fffcf5;box-shadow:none}
.public-site .cd-box b{font-size:1.35rem;color:var(--maroon)}
.festival-ribbon{background:var(--maroon);color:#f9e8c7;display:flex;gap:44px;align-items:center;justify-content:center;padding:19px 24px;font-size:.88rem}
.festival-ribbon i{font-style:normal;color:#d7ad67}
.public-site .section{padding-block:64px}
.public-site .committee-main{background:#fffcf7;border:0;scroll-margin-top:80px}
.public-site .section-head{margin-bottom:38px}
.public-site .section-head h2{font-size:clamp(1.5rem,2.7vw,2rem)}
.public-site .section-head p{font-size:.9rem}
.public-site .section-head::after{content:'✦';margin-top:16px}
.public-site .tier-title{font-size:1rem;gap:22px;margin-bottom:26px}
.public-site .tier-title:before,.public-site .tier-title:after{background:var(--line)}
.public-site .member{border-radius:12px;border-color:#e7d9c7;box-shadow:0 5px 18px #4c261507}
.public-site .member.crown{border:1px solid #c89b55;box-shadow:0 6px 22px #8a582111}
.public-site .member .ph{background:radial-gradient(ellipse at center,#f8e6c8,#eee0d0)}
.public-site .member .ph .letter{background:#74313b;color:#ffefce;border:6px solid #ffffff70;box-shadow:0 0 0 1px #cda366;font-size:2.3rem}
.public-site .member .body{padding-block:22px}
.public-site .member .desig{border-radius:4px;font-size:.8rem}
.public-site .about-section{background:#f5ebdf;border-block:1px solid var(--line)}
.offering-art{margin:0;border-radius:12px;overflow:hidden}
.offering-art img{width:100%;height:320px;object-fit:cover}
@media(max-width:700px){.offering-art img{height:220px}}
.public-site .about-section .card{padding:32px;background:#fffbf2!important}
.public-site .about-section li{padding-block:9px}
.public-site .page-head{background:radial-gradient(ellipse at top right,#97452d,transparent 65%),#551d2a;padding-block:48px;border-bottom:4px solid #c69a58}
.public-site .page-head h1{font-size:2rem}
.public-site .page-head p{color:#ffe8ca}
.public-site .filter-bar{padding:20px;box-shadow:none}
.public-site .card{box-shadow:var(--shadow)}
.public-site .tl-item .card{padding:24px}
.public-site .site-footer{background:#371c22;color:#e0cdc4;margin-top:0;padding-top:52px}
.public-site .site-footer h4{color:#f3cf8f}
.public-site .footer-bottom{border-color:#614049;color:#c9b6ad}
.public-site .empty{border-style:solid;background:#fcf6ed;padding:40px 24px}
.skip-link{position:fixed;top:-100px;left:16px;z-index:300;background:white;color:#421720;padding:12px 20px;border:2px solid #a63c12;border-radius:6px}
.skip-link:focus{top:12px}
.public-site :focus-visible{outline:3px solid #bd762b;outline-offset:4px}
@media(min-width:821px){.public-site .nav .links{width:100%;justify-content:space-between}}
@media(max-width:1000px){.hero-layout{gap:28px}.hero-art img{height:400px}.public-site .brand-text h1{font-size:1.15rem}.header-cta{font-size:.8rem!important}.public-site .hero h2{font-size:2.2rem}}
@media(max-width:820px){.public-site .wrap{padding-inline:22px}.public-site .header-inner{flex-direction:row;text-align:left;padding-block:18px}.header-cta{display:none}.public-site .nav .links{display:none;gap:0}.public-site .nav .links.open{display:flex}.public-site .nav-toggle{min-height:48px}.hero-layout{grid-template-columns:1fr 1fr;gap:22px}.hero-art img{height:360px}.public-site .hero h2{font-size:1.9rem}.public-site .hero .tag{font-size:.92rem}.hero-art{border-radius:100px 100px 12px 12px}.hero-art img{border-radius:90px 90px 6px 6px}.festival-ribbon{gap:20px;font-size:.8rem}}
@media(max-width:600px){.public-site .topbar .wrap{justify-content:center;font-size:.75rem}.public-site .topbar .wrap>span:last-child{display:none}.public-site .brand-text h1{font-size:1.05rem}.public-site .brand-text p{font-size:.75rem}.public-site .logo-badge{width:46px;height:46px}.public-site .festival-hero{padding-block:26px 32px}.hero-layout{grid-template-columns:1fr;gap:30px}.hero-copy{text-align:center;padding:0}.public-site .hero h2{font-size:2.15rem}.hero-rule{margin-inline:auto}.eyebrow{margin-bottom:12px}.public-site .hero-actions,.public-site .countdown{justify-content:center}.public-site .hero .tag{margin-inline:auto}.hero-art{max-width:420px;width:100%;margin:auto}.hero-art img{height:340px}.festival-ribbon{flex-wrap:wrap;gap:8px 14px;padding:16px;font-size:.75rem}.festival-ribbon span:last-child,.festival-ribbon i:last-of-type{display:none}.public-site .section{padding-block:42px}.public-site .section-head{margin-bottom:26px}.public-site .grid-2{grid-template-columns:minmax(0,1fr)}.public-site .about-section .card{padding:24px}.public-site .page-head{padding-block:32px}.public-site .page-head h1{font-size:1.65rem}.public-site .footer-grid{grid-template-columns:1fr}.public-site .lead-row>*{flex-basis:290px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.notice-track{animation:none;white-space:normal;flex-wrap:wrap}.public-site *{transition:none!important}}
@media print{.public-site .site-header,.festival-ribbon,.hero-art{display:none}.public-site .page-head{background:white}}
