/* V5: native responsive layouts translated from the editable Figma components. */
:root{--paper:#fffdf6;--page-gutter:80px}
[hidden]{display:none!important}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.inner-page{background:var(--cream);color:var(--ink);padding-top:var(--site-header-height);padding-bottom:0}
.inner-page main{outline:none}
.inner-page p,.dialog-scroll p{white-space:pre-line;overflow-wrap:anywhere}
.inner-page h1,.inner-page h2,.inner-page h3,.content-dialog h2,.content-dialog h3{letter-spacing:0;margin:0}
.inner-page h2,.dialog-scroll h2{font-size:32px;font-weight:900;line-height:44px}
.inner-page h3,.dialog-scroll h3{font-size:24px;line-height:34px;font-weight:700}
.inner-page p,.dialog-scroll{font-size:16px;line-height:28px}
.page-lead{position:relative;display:flex;flex-direction:column;gap:16px;padding:64px max(var(--page-gutter),calc((100% - 1440px)/2 + var(--page-gutter)));background:var(--night);color:var(--cream)}
.lead-copy{max-width:760px;display:flex;flex-direction:column;gap:16px;position:relative;z-index:1}
.page-lead h1{font-size:64px;font-weight:900;line-height:80px;white-space:pre-line}
.page-lead .lead-eyebrow{font-size:12px;line-height:20px;font-weight:700;color:var(--gold)}
.page-lead .lead-intro{font-size:18px;line-height:30px}
.lead-friend{position:absolute;width:310px;right:max(40px,calc((100% - 1440px)/2 + 40px));top:31.3px;height:auto;pointer-events:none}
.lead-flower{display:none}
.lead-stars{display:flex;flex-direction:column;gap:16px;align-items:flex-start}
.page-content{display:flex;flex-direction:column;align-items:stretch;gap:40px;padding:80px var(--page-gutter);max-width:1440px;margin:0 auto}
.card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px 24px;align-items:start}
.card-grid.cols-2,.photo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.card-grid.cols-1{grid-template-columns:minmax(0,1fr)}
.info-card,.faq-card{padding:24px;border:1px solid var(--night);border-radius:24px;background:var(--paper);display:flex;flex-direction:column;gap:12px;min-width:0}
.card-kicker,.inner-page .card-kicker{font-size:12px;font-weight:700;line-height:20px;color:var(--forest)}
.card-action{font-size:16px;line-height:24px;font-weight:700;color:var(--forest);min-height:44px;display:inline-flex;align-items:center;text-align:left;align-self:flex-start;padding:0;max-width:100%;overflow-wrap:anywhere}
.card-action:hover{text-decoration:underline;text-underline-offset:5px}
.ui-button{display:inline-flex;align-items:center;justify-content:center;min-height:56px;padding:16px;max-width:100%;width:260px;border-radius:999px;font-size:16px;line-height:24px;font-weight:700;text-align:center;align-self:flex-start;margin:0}
.ui-button.primary{background:var(--gold);color:var(--ink)}
.ui-button.outline{border:1px solid var(--ink);color:var(--ink);background:transparent}
.ui-button:not(:disabled):hover{background:var(--paper);box-shadow:0 0 0 3px #f0d35340}
.ui-button:disabled{opacity:.42;cursor:default}
.ui-button.outline:disabled{opacity:1}
.ui-notice{background:var(--gold);border-radius:16px;padding:24px;display:flex;flex-direction:column;gap:8px;color:var(--ink);min-width:0}
.ui-notice strong{font-size:16px;line-height:24px}
.filter-list{display:flex;flex-wrap:wrap;gap:12px}
.filter-pill{min-height:48px;width:148px;max-width:100%;padding:12px;border-radius:999px;font-size:16px;line-height:24px;font-weight:700;background:var(--paper);color:var(--ink)}
.filter-pill.is-active{background:var(--night);color:var(--cream)}
.filter-pill:hover{box-shadow:inset 0 0 0 2px var(--night)}
.empty-state{display:flex;flex-direction:column;gap:24px}
.activity-nav .filter-pill{display:flex;align-items:center;justify-content:center;text-align:center}
.activity-nav .filter-pill[aria-current="page"]{background:var(--night);color:var(--cream)}
.activity-document{display:grid;gap:24px;max-width:860px}
.activity-document h2{font-size:24px;line-height:34px}
.activity-document h3{font-size:18px;line-height:28px}
.prize-items{display:grid;gap:12px;margin:0;padding:0;list-style:none;line-height:1.65;overflow-wrap:anywhere}
.prize-item{display:flex;align-items:center;gap:12px}
.prize-visual{flex:0 0 88px}
.prize-photo{width:88px;height:72px;object-fit:contain;border-radius:8px;background:#fff}
.prize-visual .prize-photo-caption{font-size:12px;line-height:1.4;text-align:center}
.prize-quantity{white-space:nowrap}
.global-footer{background:var(--night);color:var(--cream);padding:48px;display:flex;flex-direction:column;align-items:flex-start;gap:24px}
.global-footer h2{font-size:32px;font-weight:900;line-height:44px;margin:0;letter-spacing:0}
.global-footer nav{display:flex;gap:12px 24px;flex-wrap:wrap;font-size:14px;line-height:22px}
.global-footer nav a,.global-footer nav button{min-height:44px;display:inline-flex;align-items:center;padding:0}
.global-footer small{font-size:12px;line-height:20px}
.mobile-cta{display:none}
.map-placeholder{display:flex;flex-direction:column;gap:24px;padding:32px;background:var(--paper);border-radius:24px}
.location-map-frame{display:block;width:100%;height:clamp(320px,60vh,540px);border:0;border-radius:16px}
.map-art{background:var(--teal);padding:24px;display:flex;gap:32px;align-items:flex-start}
.map-art>img{width:72px;height:auto;flex-shrink:0}
.map-art>div{display:flex;flex-direction:column;gap:12px;min-width:0}
.map-art .card-kicker{color:var(--ink)}
.map-grid,.photo-grid{display:grid;gap:24px;align-items:start;grid-template-columns:repeat(2,minmax(0,1fr))}
.image-card{background:var(--paper);border-radius:24px;padding:24px;display:flex;flex-direction:column;gap:16px;min-width:0;scroll-margin-top:calc(var(--site-header-height) + 24px)}
.map-open{position:relative;padding:0;display:block;width:100%;text-align:left}
.map-open img{width:100%;height:auto}
.map-hint{position:absolute;right:8px;bottom:8px;border-radius:999px;background:var(--night);color:var(--cream);padding:8px 12px;font-size:14px;line-height:22px}
.light-photo{aspect-ratio:1/.64;width:100%;object-fit:cover}
.video-panel,.booklet-viewer{padding:24px;border-radius:24px;background:var(--night);color:var(--cream);display:flex;flex-direction:column;gap:16px}
.video-panel>img,.video-panel>video{width:100%;aspect-ratio:2.5;object-fit:cover}
.video-panel h2{font-size:24px;line-height:34px;font-weight:700}
.show-list{display:flex;flex-direction:column;gap:40px}
.show-row,.show-table-head{display:grid;grid-template-columns:126px 186px minmax(0,1fr) 126px;gap:12px;padding:24px;background:var(--paper)}
.show-table-head{background:var(--night);color:var(--cream);font-weight:700}
.show-row h3{font-size:16px;line-height:24px}
.show-row small{font-size:14px;line-height:22px;display:block;margin-top:8px}
.booklet-viewer{gap:24px}
.booklet-pages{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;touch-action:pan-y;min-height:100px}
.booklet-pages>img{width:100%;height:auto;object-fit:contain;align-self:start}
.booklet-controls{display:flex;align-items:center;justify-content:space-between;gap:12px}
.booklet-controls button{min-height:44px;font-size:16px;line-height:24px;font-weight:700;padding:0}
.booklet-controls button:disabled{opacity:.42}
.booklet-controls p{white-space:nowrap}
.winner-wait{padding:32px;background:var(--paper);border-radius:24px;display:flex;flex-direction:column;gap:24px}
.winner-wait>img{width:120px;height:auto}
#winnerContent{display:flex;flex-direction:column;gap:40px}
.faq-list{display:flex;flex-direction:column;gap:40px}
.faq-toggle{display:flex;align-items:flex-start;gap:12px;width:100%;text-align:left;padding:0;font-weight:700;font-size:24px;line-height:34px;min-height:44px}
.faq-toggle>span:first-child{flex:1;min-width:0}
.faq-symbol{width:24px;flex-shrink:0;text-align:center}
.faq-card{scroll-margin-top:calc(var(--site-header-height) + 24px)}
.content-dialog{padding:0!important;border:0;width:min(760px,calc(100% - 64px));max-width:none;max-height:calc(100dvh - 64px);background:var(--paper);color:var(--ink);border-radius:24px;overflow:hidden}
.content-dialog::backdrop{background:#252142a6;backdrop-filter:blur(4px)}
.dialog-panel{padding:32px;display:flex;flex-direction:column;gap:24px;max-height:calc(100dvh - 64px)}
.dialog-heading{display:flex;gap:16px;align-items:flex-start;justify-content:space-between;flex-shrink:0}
.dialog-heading h2{font-size:24px;line-height:34px;font-weight:700;flex:1;min-width:0;margin:0}
.dialog-close{padding:0;min-height:44px;font-size:16px;font-weight:700;line-height:24px;flex-shrink:0}
.dialog-scroll{display:flex;flex-direction:column;gap:24px;overflow:auto;overscroll-behavior:contain;min-height:0;padding:4px 6px 12px 4px;margin:-4px -6px -12px -4px;scrollbar-gutter:stable}
.dialog-scroll img.article-photo{width:100%;aspect-ratio:5/3;object-fit:cover}
.dialog-scroll .offer-copy{white-space:pre-line}
.offer-traffic h2,.offer-traffic h3{margin:0;font-size:16px;line-height:24px}
.offer-traffic ul{list-style:none;padding:0;margin:0}
.offer-traffic li+li{margin-top:12px;padding-top:12px;border-top:1px solid color-mix(in srgb,var(--ink) 22%,transparent)}
.offer-traffic .card-action{text-decoration:underline;text-underline-offset:3px;gap:4px}
.dialog-scroll .ui-button{flex-shrink:0}
.map-tools{display:flex;gap:12px;flex-wrap:wrap;align-items:center}
.map-tools button{border:1px solid var(--night);border-radius:999px;min-height:44px;padding:8px 16px;font-size:16px}
.map-viewport{overflow:auto;max-height:58dvh;min-height:180px;touch-action:pan-x pan-y;cursor:grab}
.map-viewport:active{cursor:grabbing}
.map-viewport img{max-width:none;height:auto;user-select:none}
.site-nav a{width:80px;min-height:44px;padding:10px 0;text-align:left;font-size:16px;font-weight:700;line-height:24px;white-space:nowrap}
.site-nav a[aria-current],.site-menu-nav a[aria-current]{color:var(--gold)}
.site-nav a:hover{color:var(--gold)}
.site-menu-nav a{text-align:left;min-height:56px;padding:14px 0;border-bottom:1px solid #f5ebc340;font-weight:700}
.site-menu-nav a::after{content:'↗';float:right;color:var(--gold)}
.home-link{display:inline-flex;align-items:center;min-height:44px}
.home-weekly{margin:24px 0 8px;font-size:14px;line-height:24px;max-width:560px}
.home-weekly p{font-size:14px}
.home-weekly a{text-decoration:underline;text-underline-offset:4px}
.home-weekly ul{padding-left:20px;margin:8px 0}
@media(max-width:1200px) and (min-width:1024px){.lead-copy{max-width:66%}.lead-friend{width:25%;right:24px}.page-lead h1{font-size:56px;line-height:72px}.show-row,.show-table-head{grid-template-columns:90px 150px minmax(0,1fr) 126px}}
@media(max-width:1023px){
 :root{--page-gutter:48px}
 .lead-friend{display:none}.lead-flower{display:block;position:absolute;right:24px;top:16px;width:150px;height:auto;opacity:.16}
 .page-lead{padding-block:64px}.lead-copy{max-width:none}.page-content{padding-block:48px}
 .card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.card-grid.cols-1{grid-template-columns:minmax(0,1fr)}
 .map-grid{grid-template-columns:minmax(0,1fr)}
 .global-footer{padding:48px}.global-footer>.ui-button{display:none}
 .inner-page{padding-bottom:calc(88px + env(safe-area-inset-bottom,0px))}
 .mobile-cta{display:flex;position:fixed;inset:auto 0 0;z-index:35;padding:16px 16px calc(16px + env(safe-area-inset-bottom,0px));background:var(--paper)}
 .mobile-cta>.ui-button{width:100%}
 .show-table-head{display:none}.show-row{display:flex;flex-direction:column;gap:12px;border:1px solid var(--night);border-radius:24px}
 .show-row time{font-size:12px;line-height:20px;color:var(--forest);font-weight:700}.show-row h3{font-size:24px;line-height:34px}
 .booklet-pages{grid-template-columns:minmax(0,1fr)}
}
@media(max-width:639px){
 :root{--page-gutter:24px}
 .page-lead{padding-block:40px}.page-lead h1{font-size:40px;line-height:52px}.lead-flower{right:12px;width:84px}
 .page-content{padding-block:24px}.card-grid,.card-grid.cols-2,.photo-grid{grid-template-columns:minmax(0,1fr)}
 .filter-list{gap:12px}.filter-pill{width:148px;flex:0 1 148px;max-width:calc((100% - 12px)/2)}
 .global-footer{padding:24px}.global-footer h2{font-size:24px;line-height:34px;font-weight:700}.map-placeholder{padding:24px}.map-art{padding:24px 16px;gap:20px}.map-art>img{width:56px}
 .content-dialog{inset:0;width:100%;height:100dvh;max-height:100dvh;border-radius:0;margin:0}
 .dialog-panel{padding:24px;height:100%;max-height:100dvh;gap:24px}
 .dialog-scroll{flex:1}.dialog-scroll h2{font-size:28px;line-height:40px}
 .booklet-controls{gap:8px}.booklet-controls button{font-size:14px}
}
@media(max-width:359px){:root{--page-gutter:16px}.page-lead h1{font-size:36px;line-height:48px}.dialog-panel{padding:20px}.global-footer{padding:24px 16px}}
@media(prefers-reduced-motion:no-preference){.inner-page .lead-friend{animation:inner-float 5s ease-in-out infinite}@keyframes inner-float{50%{translate:0 -6px}}}

.inner-page .published-title{font-size:32px;font-weight:900;line-height:44px}
.winners-published .page-content{padding:24px;max-width:none}

body.cinema .home-weekly{max-height:18vh;overflow-y:auto}
