/* Main-page structure aligned to the rice festival reference. */
.page-home .hero{min-height:720px;padding-top:110px;padding-bottom:65px}.page-home .hero::after{display:none}
.page-home .hero-background:after{display:none}.page-home .hero-background img{filter:brightness(.7)}
.page-home .hero-brand h1,.page-home .hero .edition,.page-home .hero .hero-tagline{color:#fff;text-shadow:0 2px 18px #123b3250}.page-home .hero-brand h1 em{color:#ffc878}
.page-home .hero .hero-copy{margin-top:20px}.page-home .hero .hero-desc{min-height:3.6em}.page-home .hero-date{background:transparent;color:#fff}.page-home .hero-date i{background:#ffc878}.page-home .hero .scroll-cue{display:none}
.festival-ribbon{padding:20px 28px;background:#edaf5a;display:flex;align-items:center;justify-content:center;gap:50px;color:#163c34}.festival-ribbon p{margin:0;font-weight:700}.festival-ribbon>span{font-size:14px}
.quick-photo-links{display:grid;grid-template-columns:repeat(4,1fr)}.quick-photo-links a{position:relative;height:200px;overflow:hidden;display:flex;align-items:center;justify-content:center;gap:20px;color:white}.quick-photo-links img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:brightness(.4) saturate(.3);transition:transform .4s,filter .4s}.quick-photo-links strong,.quick-photo-links span{z-index:1;position:relative;font-size:21px}.quick-photo-links a:hover img{transform:scale(1.05);filter:brightness(.55) saturate(1)}
/* Portrait poster and landscape film on a quiet white field. */
.page-home .video-section{background:radial-gradient(ellipse at 50% 60%,#edf4ee,transparent 60%),#fff;color:var(--ink);border-radius:0;margin:0}
.page-home .video-section>.section{padding-top:90px;padding-bottom:100px}.page-home .video-section .section-head{display:block;text-align:center;margin-bottom:50px}.page-home .video-section .kicker{color:var(--red)}.page-home .video-section .section-head p{color:#54685f}
.page-home .video-grid{grid-template-columns:390px 1fr;max-width:1080px;margin:auto;gap:80px;align-items:center}
.page-home .poster-film{aspect-ratio:auto;height:540px;transform:none;box-shadow:0 24px 55px #143c3315;border-radius:32px}.page-home .poster-film>img{object-fit:cover;filter:brightness(.9)}.page-home .film-coming{aspect-ratio:16/9;border-radius:26px;color:white;background:#234e42}.page-home .film-action{justify-content:flex-end;padding-bottom:32px}.page-home .film-action b{width:54px;height:54px;font-size:30px}.page-home .cms-video-holder{min-width:0}
/* One large program image and description, selected with accessible tabs. */
.page-home .festival-programs{padding-top:65px;padding-bottom:85px;background:radial-gradient(ellipse at 10% 0,#f9e4c6,transparent 55%),radial-gradient(ellipse at 100% 55%,#e6e7f0,transparent 60%),#f1f4f4}
.program-tabs{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin-bottom:42px}.program-tabs button{padding:12px 24px;border:1px solid #163c3420;border-radius:30px;background:#fff9;font-size:15px;font-weight:600}.program-tabs button[aria-selected=true]{background:#234e42;color:white;border-color:#234e42}
.page-home .festival-programs .section-head{display:grid;grid-template-columns:1fr auto;gap:0 30px;margin-bottom:32px}.page-home .festival-programs .section-head h2{grid-column:1}.page-home .festival-programs .section-head>p{display:none}.program-arrows{grid-column:2;grid-row:1/3;display:flex;gap:10px;align-self:center}.program-arrows button{width:48px;height:48px;border-radius:50%;border:1px solid #183d3740;background:#fff;font-size:22px}
.page-home .festival-grid{display:block}.page-home .festival-card.program-panel{display:none;grid-template-columns:1.4fr 1fr;gap:0;align-items:stretch;margin:0;border-radius:32px;overflow:hidden;background:#fff;transform:none;opacity:1}
.page-home .festival-card.program-panel.program-active{display:grid}.page-home .program-panel .festival-image{height:440px;border-radius:0}.page-home .program-panel .festival-card-body{padding:50px 40px;justify-content:center}.page-home .program-panel h3{font-size:var(--type-feature);margin-bottom:24px}.page-home .program-panel .card-link{margin-top:32px}.page-home .festival-card:hover{transform:none}
/* Official poster + factual notice rows, rather than invented news. */
.festival-updates{display:grid;grid-template-columns:360px 1fr;gap:80px;align-items:center;padding-top:90px;padding-bottom:90px}.festival-updates .leaflet-panel{display:flex;flex-direction:column-reverse;padding:0;gap:22px;background:none;color:var(--ink);border:0;margin:0}.festival-updates .leaflet-panel>div{width:100%}.festival-updates .leaflet-panel h3,.festival-updates .leaflet-panel p,.festival-updates .leaflet-panel .event-label{display:none}.festival-updates .leaflet-preview{height:auto;width:100%;padding:0}.festival-updates .leaflet-preview img{width:100%;height:auto;display:block;border-radius:20px}.festival-updates .leaflet-panel .button{width:100%;font-size:14px}.updates-copy h2{margin:18px 0}.updates-copy>p{color:#5d6f65}.updates-list{margin-top:32px;border-top:2px solid #234e42}.updates-list a{display:grid;grid-template-columns:70px 1fr auto 18px;gap:16px;align-items:center;padding:25px 0;border-bottom:1px solid #183d3725}.updates-list span{font-size:12px;color:var(--red)}.updates-list strong{font-size:16px;font-weight:500}.updates-list small{font-size:12px;color:#64746d}.updates-list b{font-weight:400}
/* Full-width wayfinding, then three participation choices. */
.page-home .festival-map>.section{padding-top:75px}.page-home .event-section{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px;padding-top:90px;padding-bottom:90px;background:#fff}
.participation-heading{grid-column:1/-1;text-align:center;margin-bottom:20px}
.page-home .event-section .event-panel{display:flex;flex-direction:column-reverse;justify-content:flex-end;align-items:stretch;gap:24px;padding:0;background:none;border:0;border-radius:0}.page-home .event-section .event-poster,.page-home .event-section .order-symbol.photo{height:230px;width:100%;box-shadow:none;border-radius:24px}.page-home .event-section .event-panel h3{font-size:var(--type-card);margin:14px 0}.page-home .event-section .event-panel p{font-size:15px}.page-home .event-section .event-price{font-size:21px}.page-home .event-section .phone-links{gap:8px;font-size:12px}
@media(max-width:1100px) and (min-width:768px){.page-home .video-grid{grid-template-columns:320px 1fr;gap:40px}.festival-updates{grid-template-columns:300px 1fr;gap:40px}.updates-list a{grid-template-columns:65px 1fr 18px}.updates-list small{display:none}.page-home .program-panel .festival-card-body{padding:30px}.page-home .event-section{gap:20px}}
@media(max-width:767px){
 .page-home .hero{padding:0;min-height:0;border-radius:0;background:#234e42}.page-home .hero-background{height:220px;aspect-ratio:auto}.page-home .hero-background img{filter:brightness(.9)}.page-home .hero-brand{padding-top:24px}.page-home .hero .hero-copy{margin-top:16px;padding-bottom:28px}.page-home .hero .hero-desc{color:#fff;min-height:7.2em}.page-home .hero .slider-controls{color:#fff}
 .festival-ribbon{padding:16px;display:block;text-align:center}.festival-ribbon p{font-size:14px}.festival-ribbon>span{font-size:12px;display:block;margin-top:6px}
 .quick-photo-links{grid-template-columns:1fr 1fr}.quick-photo-links a{height:130px;gap:12px}.quick-photo-links strong,.quick-photo-links span{font-size:17px}
 .page-home .video-section>.section{padding:55px 16px}.page-home .video-section .section-head{margin-bottom:32px}.page-home .video-grid{grid-template-columns:1fr;gap:26px}.page-home .poster-film{width:80%;height:auto;aspect-ratio:1191/1684;justify-self:center;border-radius:24px}.page-home .film-coming{aspect-ratio:16/10}.page-home .film-action>span{font-size:13px;padding:8px 14px}
 .page-home .festival-programs{padding:48px 16px 55px}.program-tabs{justify-content:flex-start;flex-wrap:nowrap;overflow:auto;padding-bottom:8px;margin-bottom:28px;gap:8px}.program-tabs button{white-space:nowrap;font-size:13px;padding:10px 16px;flex-shrink:0}
 .page-home .festival-programs .section-head{display:grid;grid-template-columns:1fr auto;gap:0 12px}.program-arrows{gap:6px}.program-arrows button{width:38px;height:38px;font-size:18px}
 .page-home .festival-card.program-panel.program-active{grid-template-columns:1fr;border-radius:22px}.page-home .program-panel .festival-image{height:235px;border-radius:0}.page-home .program-panel .festival-card-body{padding:26px 22px}.page-home .program-panel h3{margin-bottom:18px}.page-home .program-panel .card-link{margin-top:20px}
 .festival-updates{grid-template-columns:1fr;gap:36px;padding:55px 16px}.festival-updates .leaflet-panel{max-width:300px;margin:auto;width:100%}.updates-copy h2{font-size:var(--type-section)}.updates-list a{grid-template-columns:58px 1fr 14px;gap:10px;padding:20px 0}.updates-list strong{font-size:14px}.updates-list small{display:none}
 .page-home .event-section{grid-template-columns:1fr;padding:55px 16px;gap:40px}.participation-heading{margin-bottom:0}.page-home .event-section .event-poster,.page-home .event-section .order-symbol.photo{height:240px}.page-home .festival-map>.section{padding-top:55px}
}
@media(min-width:768px){.page-home .hero .hero-desc{min-height:5.4em}}
@media(max-width:359px){.page-home .hero .hero-desc{min-height:9em}}
