/* piyff.org — shared stylesheet (based on pattayacreativecity.com index.html + sponsors.css) */

:root{
  --yellow:#F7B733; --yellow-soft:#FBCB5C; --cream:#FFF4DA; --paper:#FFFBEF;
  --red:#E8472B; --red-deep:#C93A20; --pink:#F583A4; --pink-soft:#FBD3DE;
  --blue:#2E4FC7; --blue-soft:#CDE9F5; --green:#4E9F52; --green-soft:#DDEECB;
  --ink:#1D1A17; --white:#FFFFFF;
  --disp:'Mitr','Baloo 2','Noto Sans SC',sans-serif;
  --body:'Noto Sans Thai','Noto Sans SC',sans-serif;
}
html[lang="zh"] body{--disp:'Mitr','Baloo 2','Noto Sans SC',sans-serif;}
*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;font-size:17px;}
@media(min-width:1021px){html{font-size:19px;}}
@media(min-width:1400px){html{font-size:20.5px;}}
body{font-family:var(--body);color:var(--ink);background:var(--yellow);overflow-x:hidden;font-size:1rem;line-height:1.65;}
/* language-specific typography */
html[lang="zh"] body{font-family:'Noto Sans SC','Noto Sans Thai',sans-serif;line-height:1.8;letter-spacing:.01em;}
html[lang="zh"] h1,html[lang="zh"] h2,html[lang="zh"] h3,html[lang="zh"] h4,html[lang="zh"] .disp,html[lang="zh"] .btn,html[lang="zh"] .sec-kicker{font-family:'Noto Sans SC','Mitr',sans-serif;font-weight:700;letter-spacing:.02em;}
html[lang="en"] body{line-height:1.6;}
html[lang="en"] h1,html[lang="en"] h2,html[lang="en"] h3,html[lang="en"] h4{letter-spacing:.005em;}
h1,h2,h3,h4,.disp{font-family:var(--disp);line-height:1.25;}
img{max-width:100%;display:block;}
a{color:inherit;}
.wrap{max-width:1180px;margin:0 auto;padding:0 22px;}
section{position:relative;padding:74px 0;}
.dots::before{content:"";position:absolute;inset:0;background-image:radial-gradient(rgba(29,26,23,.14) 1.4px,transparent 1.5px);background-size:26px 26px;pointer-events:none;}
.sec-head{display:flex;align-items:center;gap:14px;margin-bottom:14px;flex-wrap:wrap;}
.sec-kicker{display:inline-block;background:var(--ink);color:var(--cream);font-family:var(--disp);font-weight:600;font-size:.85rem;letter-spacing:.12em;text-transform:uppercase;padding:6px 16px;border-radius:999px;transform:rotate(-2deg);}
.sec-title{font-size:clamp(1.7rem,4.2vw,2.6rem);font-weight:700;}
.sec-sub{max-width:760px;font-size:1.02rem;margin-bottom:34px;}
/* ===== buttons ===== */
.btn{display:inline-flex;align-items:center;gap:10px;font-family:var(--disp);font-weight:600;font-size:1.05rem;padding:13px 26px;border:3px solid var(--ink);border-radius:999px;box-shadow:5px 5px 0 var(--ink);cursor:pointer;text-decoration:none;transition:transform .16s ease,box-shadow .16s ease;background:var(--white);color:var(--ink);}
.btn:hover{transform:translate(-3px,-3px);box-shadow:8px 8px 0 var(--ink);}
.btn:active{transform:translate(2px,2px);box-shadow:2px 2px 0 var(--ink);}
.btn-red{background:var(--red);color:#fff;}
.btn-blue{background:var(--blue);color:#fff;}
.btn-green{background:var(--green);color:#fff;}
.btn-pink{background:var(--pink);color:var(--ink);}
.btn-ghost{background:var(--cream);}
.btn-lg{font-size:1.2rem;padding:16px 34px;}
/* ===== card ===== */
.card{background:var(--white);border:3px solid var(--ink);border-radius:20px;box-shadow:7px 7px 0 var(--ink);position:relative;}
.tape{position:absolute;width:92px;height:26px;background:rgba(255,255,255,.65);border:2px dashed rgba(29,26,23,.35);transform:rotate(-6deg);top:-14px;left:26px;}
/* ===== header ===== */
.topbar{position:sticky;top:0;z-index:1000;background:var(--cream);border-bottom:3px solid var(--ink);}
.topbar .wrap{display:flex;align-items:center;gap:16px;padding-top:10px;padding-bottom:10px;}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;font-family:var(--disp);font-weight:700;font-size:1.06rem;line-height:1.1;}
.brand .chickmini{width:50px;height:60px;flex:none;}
.brand small{display:block;font-size:.68rem;font-weight:600;color:var(--red);letter-spacing:.06em;}
nav.mainnav{margin-left:auto;display:flex;gap:2px;align-items:center;flex-wrap:wrap;}
nav.mainnav a{font-family:var(--disp);font-weight:500;font-size:.84rem;text-decoration:none;padding:6px 9px;border-radius:999px;border:2px solid transparent;transition:.15s;white-space:nowrap;}
nav.mainnav a:hover{background:var(--yellow);border-color:var(--ink);}
.nav-cta{background:var(--red);color:#fff !important;border:2px solid var(--ink) !important;box-shadow:3px 3px 0 var(--ink);margin-left:6px;}
.langs{display:flex;gap:4px;margin-left:10px;flex-wrap:wrap;}
.langs button{font-family:var(--disp);font-weight:600;font-size:.8rem;padding:5px 10px;border-radius:999px;border:2px solid var(--ink);background:var(--white);cursor:pointer;transition:.15s;}
.langs button.on{background:var(--ink);color:var(--cream);}
.burger{display:none;margin-left:auto;background:var(--white);border:3px solid var(--ink);border-radius:12px;box-shadow:3px 3px 0 var(--ink);padding:8px 12px;font-size:1.2rem;cursor:pointer;font-family:var(--disp);font-weight:700;}
/* ===== ticker ===== */
.ticker{background:var(--ink);color:var(--cream);overflow:hidden;white-space:nowrap;border-bottom:3px solid var(--ink);}
.ticker-inner{display:inline-flex;gap:38px;padding:9px 0;animation:marq 28s linear infinite;font-family:var(--disp);font-weight:500;font-size:.92rem;letter-spacing:.05em;}
.ticker-inner span{display:inline-flex;align-items:center;gap:38px;}
.ticker .star{color:var(--yellow);}
@keyframes marq{from{transform:translateX(0)}to{transform:translateX(-50%)}}
/* ===== hero ===== */
.hero{background:var(--yellow);padding:64px 0 110px;overflow:hidden;}
.hero .wrap{display:grid;grid-template-columns:1.15fr .85fr;gap:48px;align-items:center;position:relative;z-index:2;}
.hero-badge{display:inline-flex;align-items:center;gap:8px;background:var(--blue);color:#fff;font-family:var(--disp);font-weight:600;font-size:.92rem;padding:7px 18px;border:3px solid var(--ink);border-radius:999px;box-shadow:4px 4px 0 var(--ink);transform:rotate(-1.5deg);margin-bottom:18px;}
.hero h1{font-size:clamp(2.3rem,5.6vw,4.1rem);font-weight:700;letter-spacing:.01em;text-transform:uppercase;line-height:1.08;}
.hero h1 .y2026{color:var(--red);text-shadow:3px 3px 0 var(--ink);-webkit-text-stroke:1.5px var(--ink);}
.theme-stamp{display:inline-block;margin:20px 0 14px;background:var(--red);color:#fff;font-family:var(--disp);font-weight:700;font-size:clamp(1.2rem,2.6vw,1.7rem);padding:10px 26px;border:3px solid var(--ink);box-shadow:6px 6px 0 var(--ink);transform:rotate(-2deg);border-radius:8px;}
.hero-sub{font-size:1.08rem;max-width:560px;margin-bottom:26px;}
.hero-ctas{display:flex;gap:16px;flex-wrap:wrap;margin-bottom:34px;}
/* countdown */
.count{display:flex;gap:12px;flex-wrap:wrap;align-items:flex-end;}
.count-label{width:100%;font-family:var(--disp);font-weight:600;font-size:.95rem;margin-bottom:2px;}
.count .unit{background:var(--white);border:3px solid var(--ink);border-radius:14px;box-shadow:4px 4px 0 var(--ink);min-width:76px;padding:10px 8px 8px;text-align:center;}
.count .num{font-family:var(--disp);font-weight:700;font-size:1.9rem;line-height:1;color:var(--red);}
.count .lbl{font-size:.72rem;font-weight:600;letter-spacing:.06em;margin-top:4px;}
.deadline-chip{display:inline-block;background:var(--ink);color:var(--yellow);font-family:var(--disp);font-weight:600;padding:6px 16px;border-radius:999px;font-size:.88rem;margin-top:14px;transform:rotate(1deg);}
/* poster side */
.hero-poster{position:relative;justify-self:center;}
.hero-poster .frame{background:#fff;border:3px solid var(--ink);border-radius:14px;box-shadow:10px 10px 0 var(--ink);padding:12px 12px 40px;transform:rotate(2.5deg);max-width:400px;transition:transform .3s ease;}
.hero-poster .frame:hover{transform:rotate(0.5deg) scale(1.02);}
.hero-poster .frame img{border:2px solid var(--ink);border-radius:8px;}
.hero-poster .frame .cap{font-family:var(--disp);font-weight:600;text-align:center;font-size:.85rem;margin-top:10px;}
.float-chick{position:absolute;right:-80px;bottom:-100px;width:150px;z-index:3;animation:bob-flip 3.2s ease-in-out infinite;cursor:pointer;}
.float-cam{position:absolute;left:-60px;top:-38px;width:130px;z-index:3;animation:bob 4s ease-in-out infinite reverse;}
@keyframes bob{0%,100%{transform:translateY(0) rotate(-3deg)}50%{transform:translateY(-14px) rotate(3deg)}}
@keyframes bob-flip{0%,100%{transform:scaleX(-1) translateY(0) rotate(-3deg)}50%{transform:scaleX(-1) translateY(-14px) rotate(3deg)}}
.hero-deco{position:absolute;pointer-events:none;z-index:1;}
.squig{animation:wig 6s ease-in-out infinite;}
@keyframes wig{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}
@keyframes spin{to{transform:rotate(360deg)}}
.reel-spin{animation:spin 9s linear infinite;transform-origin:center;}
/* zigzag divider */
.zig{position:absolute;left:0;right:0;bottom:-3px;height:26px;background:var(--cream);clip-path:polygon(0 100%,100% 100%,100% 55%, 97.5% 0,95% 55%,92.5% 0,90% 55%,87.5% 0,85% 55%,82.5% 0,80% 55%,77.5% 0,75% 55%,72.5% 0,70% 55%,67.5% 0,65% 55%,62.5% 0,60% 55%,57.5% 0,55% 55%,52.5% 0,50% 55%,47.5% 0,45% 55%,42.5% 0,40% 55%,37.5% 0,35% 55%,32.5% 0,30% 55%,27.5% 0,25% 55%,22.5% 0,20% 55%,17.5% 0,15% 55%,12.5% 0,10% 55%,7.5% 0,5% 55%,2.5% 0,0 55%);}

/* ===== deadline-extension notice ===== */
.notice{padding:26px 0 30px;background:repeating-linear-gradient(-45deg,var(--red) 0 18px,var(--red-deep) 18px 36px);border-bottom:3px solid var(--ink);overflow:hidden;}
.notice .wrap{position:relative;z-index:2;}
.notice-card{background:var(--cream);border:3px solid var(--ink);border-radius:22px;box-shadow:8px 8px 0 var(--ink);display:grid;grid-template-columns:1.25fr .9fr;gap:28px;padding:26px 30px 26px;position:relative;align-items:center;}
.notice-card .tape{left:auto;right:40px;transform:rotate(5deg);}
.notice-stamp{display:inline-flex;align-items:center;gap:8px;background:var(--ink);color:var(--yellow);font-family:var(--disp);font-weight:700;font-size:.9rem;letter-spacing:.1em;text-transform:uppercase;padding:6px 16px;border-radius:999px;transform:rotate(-2deg);margin-bottom:12px;animation:stamp-pulse 2.4s ease-in-out infinite;}
@keyframes stamp-pulse{0%,100%{box-shadow:0 0 0 0 rgba(29,26,23,.35)}50%{box-shadow:0 0 0 8px rgba(29,26,23,0)}}
.notice-title{font-size:clamp(1.5rem,3.2vw,2.15rem);font-weight:700;line-height:1.15;margin-bottom:10px;}
.notice-title em{font-style:normal;white-space:nowrap;color:var(--red);text-decoration:underline;text-decoration-thickness:4px;text-underline-offset:5px;text-decoration-color:var(--yellow);}
.notice-body{font-size:.98rem;line-height:1.6;max-width:620px;margin-bottom:14px;}
.notice-foot{display:flex;gap:14px;flex-wrap:wrap;align-items:center;}
.notice-foot .btn{padding:10px 22px;font-size:.98rem;}
.notice-note{font-size:.85rem;font-weight:600;color:var(--ink);opacity:.85;display:inline-flex;align-items:center;gap:6px;}
/* date ticket */
.notice-ticket{background:var(--white);border:3px solid var(--ink);border-radius:16px;box-shadow:5px 5px 0 var(--ink);padding:18px 20px 16px;text-align:center;transform:rotate(1.5deg);position:relative;}
.notice-ticket::before,.notice-ticket::after{content:"";position:absolute;top:50%;width:22px;height:22px;background:var(--cream);border:3px solid var(--ink);border-radius:50%;transform:translateY(-50%);}
.notice-ticket::before{left:-14px;} .notice-ticket::after{right:-14px;}
.notice-ticket .tk-label{font-family:var(--disp);font-weight:600;font-size:.82rem;letter-spacing:.1em;text-transform:uppercase;color:var(--blue);}
.notice-ticket .tk-old{display:inline-block;font-family:var(--disp);font-weight:600;font-size:.95rem;color:rgba(29,26,23,.55);text-decoration:line-through;text-decoration-color:var(--red);text-decoration-thickness:3px;margin-top:6px;}
.notice-ticket .tk-date{font-family:var(--disp);font-weight:700;font-size:clamp(1.9rem,3.6vw,2.5rem);color:var(--red);line-height:1.05;margin-top:4px;text-shadow:2px 2px 0 var(--ink);-webkit-text-stroke:1px var(--ink);}
.notice-ticket .tk-time{font-family:var(--disp);font-weight:700;font-size:1.35rem;line-height:1.2;}
.notice-ticket .tk-tz{display:inline-block;margin-top:8px;background:var(--yellow);border:2px solid var(--ink);border-radius:999px;font-family:var(--disp);font-weight:600;font-size:.82rem;padding:3px 12px;}
.notice-ticket .tk-local{margin-top:10px;padding-top:10px;border-top:2px dashed rgba(29,26,23,.35);font-size:.8rem;line-height:1.45;}
.notice-ticket .tk-local b{color:var(--blue);}
@media (max-width:1020px){.notice-card{grid-template-columns:1fr;gap:20px;padding:24px 22px;} .notice-ticket{transform:rotate(0);max-width:420px;margin:0 auto;order:-1;} .notice-ticket .tk-date{font-size:2.2rem;}}
@media (max-width:760px){.notice{padding:20px 0 24px;} .notice-card{padding:22px 18px;} .notice-card .tape{right:18px;} .notice-body{font-size:.93rem;} .notice-ticket{max-width:none;}}
.notice.closed{background:repeating-linear-gradient(-45deg,var(--blue) 0 18px,#27429f 18px 36px);}
.notice.closed .notice-stamp{background:var(--green);color:#fff;}
.notice.closed .notice-ticket .tk-date{color:var(--blue);}
.count.is-closed{display:none;}
.apply.closed .steps,.apply.closed .newchip,.apply.closed .btn-register{display:none;}
.apply.closed .apply-grid{grid-template-columns:1fr;max-width:760px;margin:0 auto;}
/* ===== stats strip ===== */
.stats{background:var(--cream);padding:40px 0 46px;}
.stats .wrap{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;}
.stat{background:var(--white);border:3px solid var(--ink);border-radius:16px;box-shadow:5px 5px 0 var(--ink);text-align:center;padding:18px 10px;transform:rotate(-1deg);transition:transform .2s;}
.stat:nth-child(even){transform:rotate(1.2deg);}
.stat:hover{transform:rotate(0) scale(1.05);}
.stat .n{font-family:var(--disp);font-weight:700;font-size:1.75rem;color:var(--blue);line-height:1.1;}
.stat:nth-child(2) .n{color:var(--red);} .stat:nth-child(3) .n{color:var(--green);}
.stat:nth-child(4) .n{color:var(--pink);} .stat:nth-child(5) .n{color:var(--red);}
.stat .t{font-size:.83rem;font-weight:600;margin-top:4px;}
/* ===== apply ===== */
.apply{background:var(--red);}
.apply .sec-kicker{background:var(--cream);color:var(--ink);}
.apply .sec-title,.apply .sec-sub{color:#fff;}
.apply-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:34px;align-items:stretch;}
.steps{display:grid;gap:14px;}
.step{display:flex;gap:16px;align-items:flex-start;background:var(--paper);border:3px solid var(--ink);border-radius:16px;box-shadow:5px 5px 0 var(--ink);padding:16px 18px;transition:transform .18s;}
.step:hover{transform:translateX(6px);}
.step .no{flex:none;width:44px;height:44px;border-radius:50%;background:var(--yellow);border:3px solid var(--ink);display:flex;align-items:center;justify-content:center;font-family:var(--disp);font-weight:700;font-size:1.2rem;}
.step h4{font-size:1.06rem;margin-bottom:2px;}
.step p{font-size:.92rem;}
.portal-card{background:var(--paper);border:3px solid var(--ink);border-radius:20px;box-shadow:8px 8px 0 var(--ink);padding:30px 28px;display:flex;flex-direction:column;gap:14px;justify-content:center;}
.portal-card h3{font-size:1.5rem;}
.portal-card .newchip{align-self:flex-start;background:var(--green);color:#fff;border:2px solid var(--ink);font-family:var(--disp);font-weight:600;font-size:.8rem;padding:4px 14px;border-radius:999px;transform:rotate(-2deg);}
.portal-card p{font-size:.95rem;}
.portal-btns{display:flex;gap:12px;flex-wrap:wrap;margin-top:6px;}
/* ===== categories ===== */
.cats{background:var(--blue-soft);}
.cat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;}
.cat{padding:26px 24px 30px;text-align:center;transition:transform .2s ease;will-change:transform;}
.cat .icon{width:96px;height:96px;margin:0 auto 14px;}
.cat h3{font-size:1.35rem;margin-bottom:2px;}
.cat .en{font-family:var(--disp);font-weight:600;color:var(--red);font-size:.95rem;margin-bottom:10px;display:block;}
.cat p{font-size:.93rem;}
.cat .chip{display:inline-block;margin-top:14px;background:var(--yellow);border:2px solid var(--ink);border-radius:999px;font-family:var(--disp);font-weight:600;font-size:.86rem;padding:5px 16px;}
.cat.c1{background:var(--paper);transform:rotate(-1.2deg);}
.cat.c2{background:var(--pink-soft);}
.cat.c3{background:var(--green-soft);transform:rotate(1.2deg);}
.cat:hover{transform:rotate(0) translateY(-8px) !important;}
.elig{margin-top:40px;display:grid;grid-template-columns:repeat(2,1fr);gap:26px;}
.elig .card{padding:24px 26px;}
.elig h3{display:flex;align-items:center;gap:10px;font-size:1.25rem;margin-bottom:12px;}
.elig ul{list-style:none;display:grid;gap:9px;}
.elig li{display:flex;gap:10px;font-size:.95rem;align-items:flex-start;}
.elig li::before{content:"★";color:var(--red);flex:none;margin-top:1px;}
/* ===== awards ===== */
.awards{background:var(--pink-soft);}
.award-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
.award{padding:24px 22px;transition:transform .2s;}
.award:hover{transform:translateY(-6px) rotate(-1deg);}
.award .medal{width:58px;height:58px;margin-bottom:10px;}
.award h3{font-size:1.12rem;}
.award .en{font-family:var(--disp);color:var(--blue);font-weight:600;font-size:.85rem;display:block;margin-bottom:8px;}
.award p{font-size:.9rem;}
.award.special{background:var(--yellow);}
.award.special .en{color:var(--red-deep);}
.prize-banner{margin-top:34px;background:var(--ink);color:var(--cream);border-radius:20px;border:3px solid var(--ink);box-shadow:8px 8px 0 rgba(29,26,23,.35);padding:26px 30px;display:flex;align-items:center;gap:24px;flex-wrap:wrap;justify-content:space-between;}
.prize-banner .big{font-family:var(--disp);font-weight:700;font-size:clamp(1.5rem,3.5vw,2.2rem);color:var(--yellow);}
.prize-banner p{max-width:540px;font-size:.95rem;}
/* ===== timeline ===== */
.time{background:var(--cream);}
.tl{display:grid;grid-template-columns:repeat(6,1fr);gap:14px;position:relative;margin-top:10px;}
.tl::before{content:"";position:absolute;top:26px;left:4%;right:4%;border-top:3px dashed var(--ink);z-index:0;}
.tl-item{position:relative;z-index:1;text-align:center;padding:0 4px;}
.tl-dot{width:52px;height:52px;margin:0 auto 12px;border-radius:50%;background:var(--white);border:3px solid var(--ink);box-shadow:4px 4px 0 var(--ink);display:flex;align-items:center;justify-content:center;font-size:1.35rem;transition:transform .2s;}
.tl-item:hover .tl-dot{transform:scale(1.18) rotate(8deg);}
.tl-item.now .tl-dot{background:var(--red);animation:pulse 1.6s infinite;}
@keyframes pulse{0%,100%{box-shadow:4px 4px 0 var(--ink),0 0 0 0 rgba(232,71,43,.5)}50%{box-shadow:4px 4px 0 var(--ink),0 0 0 14px rgba(232,71,43,0)}}
.tl-date{font-family:var(--disp);font-weight:700;font-size:.98rem;color:var(--red-deep);}
.tl-item.now .tl-date{color:var(--red);}
.tl-name{font-size:.85rem;font-weight:600;}
/* ===== workshop ===== */
.work{background:var(--green-soft);}
.work-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
.wcard{padding:26px 24px;}
.wcard .wicon{width:64px;height:64px;margin-bottom:12px;}
.wcard h3{font-size:1.18rem;margin-bottom:6px;}
.wcard p{font-size:.92rem;}
.wcard .chip{display:inline-block;margin-top:12px;background:var(--blue);color:#fff;border:2px solid var(--ink);border-radius:999px;font-size:.8rem;font-weight:600;padding:4px 14px;}
/* ===== festival ===== */
.fest{background:var(--blue);}
.fest .sec-title,.fest .sec-sub{color:#fff;}
.fest .sec-kicker{background:var(--yellow);color:var(--ink);}
.fest-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;}
.fcard{background:var(--paper);padding:22px 20px;text-align:center;transition:transform .2s;}
.fcard:hover{transform:translateY(-8px) rotate(1deg);}
.fcard .ficon{width:72px;height:72px;margin:0 auto 10px;}
.fcard h3{font-size:1.05rem;margin-bottom:4px;}
.fcard p{font-size:.86rem;}
.fest-date{margin-top:30px;text-align:center;}
.fest-date .stamp{display:inline-block;background:var(--yellow);border:3px solid var(--ink);box-shadow:6px 6px 0 var(--ink);border-radius:12px;font-family:var(--disp);font-weight:700;font-size:clamp(1.1rem,2.6vw,1.6rem);padding:12px 30px;transform:rotate(-1.5deg);}
/* ===== red carpet ===== */
.redcarpet{background:#171210;overflow:hidden;padding:90px 0 0;}
.redcarpet::before{content:"";position:absolute;inset:0;background:
  radial-gradient(ellipse 46% 60% at 18% 0%,rgba(245,197,66,.20),transparent 70%),
  radial-gradient(ellipse 46% 60% at 82% 0%,rgba(245,197,66,.20),transparent 70%),
  radial-gradient(ellipse 60% 40% at 50% 100%,rgba(232,71,43,.25),transparent 70%);pointer-events:none;}
.redcarpet .sec-kicker{background:var(--gold,#F5C542);color:#171210;}
.redcarpet .sec-title{color:#FFF4DA;text-shadow:0 0 26px rgba(245,197,66,.35);}
.redcarpet .sec-sub{color:rgba(255,244,218,.85);}
.rc-datebadge{display:inline-flex;align-items:center;gap:10px;background:#E8472B;color:#fff;border:3px solid #F5C542;border-radius:999px;font-family:var(--disp);font-weight:700;font-size:1.05rem;padding:9px 24px;box-shadow:0 0 24px rgba(232,71,43,.5);margin-bottom:26px;transform:rotate(-1.5deg);}
.rc-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:44px;align-items:center;position:relative;z-index:2;}
.rc-night{list-style:none;display:grid;gap:0;position:relative;}
.rc-night::before{content:"";position:absolute;left:25px;top:14px;bottom:14px;border-left:3px dashed rgba(245,197,66,.5);}
.rc-night li{display:flex;gap:18px;align-items:flex-start;padding:13px 0;position:relative;}
.rc-night .rc-time{flex:none;width:52px;height:52px;border-radius:50%;background:#241C18;border:3px solid #F5C542;color:#F5C542;display:flex;align-items:center;justify-content:center;font-size:1.3rem;z-index:1;box-shadow:0 0 16px rgba(245,197,66,.3);transition:transform .2s;}
.rc-night li:hover .rc-time{transform:scale(1.15) rotate(8deg);}
.rc-night h4{color:#FFF4DA;font-size:1.08rem;}
.rc-night h4 small{color:#F5C542;font-family:var(--disp);font-weight:600;margin-right:8px;}
.rc-night p{color:rgba(255,244,218,.75);font-size:.92rem;max-width:430px;}
.rc-chips{display:flex;flex-wrap:wrap;gap:10px;margin:22px 0 26px;}
.rc-chips span{background:rgba(245,197,66,.12);border:2px solid #F5C542;color:#F5C542;border-radius:999px;font-family:var(--disp);font-weight:600;font-size:.85rem;padding:6px 16px;}
.rc-stage{position:relative;min-height:420px;}
.rc-spot{position:absolute;top:-40px;width:220px;height:420px;background:linear-gradient(to bottom,rgba(245,197,66,.45),transparent 78%);clip-path:polygon(42% 0,58% 0,100% 100%,0 100%);transform-origin:top center;pointer-events:none;}
.rc-spot.l{left:6%;animation:sweep 5.5s ease-in-out infinite alternate;}
.rc-spot.r{right:6%;animation:sweep 5.5s ease-in-out infinite alternate-reverse;}
@keyframes sweep{from{transform:rotate(-14deg)}to{transform:rotate(14deg)}}
.rc-carpet{position:absolute;bottom:0;left:50%;transform:translateX(-50%);width:88%;height:190px;background:linear-gradient(to bottom,#B3271200,#C93A20 26%,#E8472B);clip-path:polygon(34% 0,66% 0,100% 100%,0 100%);border-bottom:6px solid #8F1F0E;}
.rc-carpet::after{content:"";position:absolute;inset:0;background:repeating-linear-gradient(90deg,transparent 0 26px,rgba(255,255,255,.05) 26px 28px);}
.rc-chick-stage{position:absolute;bottom:150px;left:35%;transform:translateX(-50%);width:200px;filter:drop-shadow(0 0 22px rgba(245,197,66,.45));animation:bob 3s ease-in-out infinite;}

/* ========================================= */
/* ลูกเจี๊ยบ 3 ตัวบนพรมแดง */
/* ========================================= */

.rc-chick-multi {
  position: absolute;
  /* ใส่เงาให้ดูมีมิติเข้ากับแสงไฟบนพรมแดง */
  filter: drop-shadow(0 0 20px rgba(245,197,66,.45));
  /* กำหนดจุดหมุนให้อยู่ที่ตรงกลางด้านล่าง (เท้าลูกเจี๊ยบ) */
  transform-origin: bottom center; 
  z-index: 3;
}

/* --- กำหนดตำแหน่งและจังหวะของแต่ละตัว --- */

/* ตัวที่ 1 (ซ้าย) */
.chick-left {
  width: 130px;
  bottom: 100px;
  left: 12%;
  /* เคลื่อนไหวทุกๆ 3 วินาที */
  animation: bob-multi 3s ease-in-out infinite; 
}

/* ตัวที่ 2 (กลาง - ให้อยู่หน้าสุดและตัวใหญ่กว่าเพื่อน) */
.chick-center {
  width: 150px;
  bottom: 20px;
  left: 48%;
  margin-left: -80px; /* ขยับกลับครึ่งหนึ่งของความกว้างให้อยู่ตรงกลางเป๊ะๆ */
  z-index: 4;
  /* เคลื่อนไหวเร็วขึ้นนิดนึง (2.6 วินาที) และดีเลย์เริ่มช้าไป 0.5 วินาที */
  animation: bob-multi 2.6s ease-in-out infinite 0.5s; 
}

/* ตัวที่ 3 (ขวา) */
.chick-right {
  width: 120px;
  bottom: 160px;
  right: 25%;
  /* เคลื่อนไหวช้าหน่อย (3.4 วินาที) และดีเลย์เริ่มช้าไป 1.2 วินาที */
  animation: bob-multi 3.4s ease-in-out infinite 1.2s; 
}

/* Keyframes สำหรับให้ลูกเจี๊ยบโยกขึ้นลงและเอียงตัว (ดุ๊กดิ๊ก) */
@keyframes bob-multi {
  0%, 100% { 
    transform: translateY(0) rotate(-4deg); 
  }
  50% { 
    transform: translateY(-15px) rotate(4deg); 
  }
}

.rc-star{position:absolute;color:#F5C542;animation:twink 2.2s ease-in-out infinite;font-size:1.2rem;}
@keyframes twink{0%,100%{opacity:.25;transform:scale(.8)}50%{opacity:1;transform:scale(1.25)}}
.rc-cta{position:relative;z-index:2;text-align:center;padding:34px 0 56px;}
.rc-cta .btn{background:#F5C542;font-size:1.15rem;}
.rc-cta p{color:rgba(255,244,218,.85);margin-bottom:16px;font-size:1.02rem;}
.rc-lights{position:relative;height:22px;background:#241C18;border-top:3px solid #F5C542;display:flex;justify-content:space-around;align-items:center;z-index:2;}
.rc-lights i{width:10px;height:10px;border-radius:50%;background:#F5C542;animation:twink 1.6s infinite;}
.rc-lights i:nth-child(odd){animation-delay:.8s;}
@media (max-width:1020px){.rc-grid{grid-template-columns:1fr;}.rc-stage{min-height:340px;}}
@media (max-width:760px){.redcarpet{padding-top:60px;}.rc-stage{min-height:280px;}.rc-spot{width:150px;height:300px;}}
/* ===== jury ===== */
.jury{background:var(--cream);}
.jury-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;}
.jcard{padding:22px;text-align:center;}
.jcard .avatar{width:92px;height:92px;border-radius:50%;border:3px solid var(--ink);margin:0 auto 12px;background:var(--blue-soft);display:flex;align-items:center;justify-content:center;font-family:var(--disp);font-weight:700;font-size:2rem;color:var(--blue);}
.jcard:nth-child(2) .avatar{background:var(--pink-soft);color:var(--red);}
.jcard:nth-child(3) .avatar{background:var(--green-soft);color:var(--green);}
.jcard:nth-child(4) .avatar{background:var(--yellow-soft);color:var(--red-deep);}
.jcard h3{font-size:1rem;}
.jcard p{font-size:.85rem;color:rgba(29,26,23,.7);}
/* ===== archive ===== */
.arch{background:var(--yellow);}
.arch-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;}
.acard{overflow:hidden;display:flex;flex-direction:column;}
.acard .athumb{border-bottom:3px solid var(--ink);position:relative;background:var(--blue);min-height:170px;display:flex;align-items:center;justify-content:center;overflow:hidden;}
.acard .athumb img{width:100%;height:220px;object-fit:cover;object-position:top;}
.acard .yearchip{position:absolute;top:12px;left:12px;background:var(--yellow);border:2px solid var(--ink);border-radius:999px;font-family:var(--disp);font-weight:700;font-size:.85rem;padding:4px 14px;box-shadow:3px 3px 0 var(--ink);}
.acard .abody{padding:20px 22px 24px;display:flex;flex-direction:column;gap:8px;flex:1;}
.acard h3{font-size:1.12rem;}
.acard .thm{font-family:var(--disp);font-weight:600;color:var(--red);font-size:.9rem;}
.acard p{font-size:.88rem;}
.acard .astats{display:flex;gap:8px;flex-wrap:wrap;margin-top:auto;padding-top:10px;}
.acard .astats span{background:var(--cream);border:2px solid var(--ink);border-radius:999px;font-size:.75rem;font-weight:600;padding:3px 11px;}
/* ===== library ===== */
.lib{background:var(--ink);}
.lib .sec-title{color:var(--cream);}
.lib .sec-sub{color:rgba(255,244,218,.85);}
.lib .sec-kicker{background:var(--red);color:#fff;}
.film-row{display:grid;grid-template-columns:repeat(5,1fr);gap:18px;}
.film{background:#2A2622;border:3px solid #000;border-radius:12px;padding:10px 10px 14px;transform:rotate(-1deg);transition:transform .2s;}
.film:nth-child(even){transform:rotate(1.4deg);}
.film:hover{transform:rotate(0) scale(1.06);}
.film .screen{aspect-ratio:2/3;height:auto;border-radius:8px;border:2px solid #000;display:flex;align-items:center;justify-content:center;font-size:2rem;overflow:hidden;background:linear-gradient(135deg,var(--blue),var(--pink));}
.film:nth-child(2) .screen{background:linear-gradient(135deg,var(--red),var(--yellow));}
.film:nth-child(3) .screen{background:linear-gradient(135deg,var(--green),var(--blue-soft));}
.film:nth-child(4) .screen{background:linear-gradient(135deg,var(--pink),var(--yellow-soft));}
.film:nth-child(5) .screen{background:linear-gradient(135deg,var(--blue),var(--green-soft));}
.film .fname{color:var(--cream);font-size:.8rem;font-weight:600;text-align:center;margin-top:8px;}
.lib-cta{text-align:center;margin-top:34px;}
/* ===== artists ===== */
.artists{background:var(--pink);}
.art-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:36px;align-items:center;}
.artist-badges{display:flex;flex-wrap:wrap;gap:14px;}
.abadge{background:var(--paper);border:3px solid var(--ink);border-radius:14px;box-shadow:4px 4px 0 var(--ink);padding:12px 16px;display:flex;align-items:center;gap:10px;font-weight:600;font-size:.9rem;transform:rotate(-2deg);transition:transform .2s;}
.abadge:nth-child(even){transform:rotate(2deg);}
.abadge:hover{transform:rotate(0) scale(1.06);}
.abadge .dot{width:34px;height:34px;border-radius:50%;border:2px solid var(--ink);background:var(--yellow);display:flex;align-items:center;justify-content:center;font-size:1rem;}
/* ===== academy ===== */
.acad{background:var(--cream);padding:60px 0;}
.acad-banner{background:var(--blue);border:3px solid var(--ink);border-radius:24px;box-shadow:10px 10px 0 var(--ink);padding:40px 44px;display:grid;grid-template-columns:1fr auto;gap:26px;align-items:center;color:#fff;position:relative;overflow:hidden;}
.acad-banner h2{font-size:clamp(1.5rem,3.4vw,2.2rem);margin-bottom:8px;}
.acad-banner p{max-width:600px;font-size:.98rem;}
.acad-banner .deco{position:absolute;right:-30px;top:-30px;opacity:.18;width:220px;}
/* ===== partners ===== */
.partners{background:var(--white);padding:56px 0;}
.logo-row{display:flex;flex-wrap:wrap;gap:26px;align-items:center;justify-content:center;}
.logo-row img{height:66px;width:auto;filter:grayscale(0);transition:transform .2s;}
.logo-row img:hover{transform:scale(1.12);}
/* ===== cert note ===== */
.cert-note{display:flex;align-items:center;gap:18px;margin-top:28px;background:var(--yellow-soft);border:3px solid var(--ink);border-radius:16px;box-shadow:5px 5px 0 var(--ink);padding:18px 24px;}
.cert-note .cert-ic{flex:none;font-size:2rem;line-height:1;}
.cert-note p{margin:0;font-size:.95rem;}
@media(max-width:640px){.cert-note{flex-direction:column;text-align:center;gap:10px;padding:16px 18px;}}

/* ===== faq ===== */
.faq{background:var(--blue-soft);}
.faq-list{display:grid;gap:14px;max-width:860px;}
.faq-item{background:var(--paper);border:3px solid var(--ink);border-radius:16px;box-shadow:5px 5px 0 var(--ink);overflow:hidden;}
.faq-item button{width:100%;text-align:left;background:none;border:none;font-family:var(--disp);font-weight:600;font-size:1.02rem;padding:16px 20px;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:12px;}
.faq-item .sign{flex:none;width:30px;height:30px;border-radius:50%;border:2px solid var(--ink);background:var(--yellow);display:flex;align-items:center;justify-content:center;font-weight:700;transition:transform .25s;}
.faq-item.open .sign{transform:rotate(45deg);background:var(--red);color:#fff;}
.faq-a{max-height:0;overflow:hidden;transition:max-height .3s ease;padding:0 20px;font-size:.93rem;}
.faq-item.open .faq-a{max-height:1000px;padding-bottom:18px;}
/* ===== footer ===== */
footer{background:var(--ink);color:var(--cream);padding:56px 0 90px;}
.foot-grid{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:36px;}
footer h4{font-size:1.05rem;margin-bottom:12px;color:var(--yellow);}
footer a{color:var(--cream);text-decoration:none;}
footer a:hover{color:var(--yellow);}
footer ul{list-style:none;display:grid;gap:8px;font-size:.92rem;}
.foot-brand{display:flex;align-items:center;gap:12px;margin-bottom:14px;font-family:var(--disp);font-weight:700;font-size:1.1rem;line-height:1.2;}
.foot-brand svg{width:46px;height:46px;}
.socials{display:flex;gap:10px;margin-top:14px;}
.socials a{width:40px;height:40px;border-radius:50%;background:var(--cream);color:var(--ink);border:2px solid var(--ink);display:flex;align-items:center;justify-content:center;font-family:var(--disp);font-weight:700;font-size:.8rem;transition:.15s;}
.socials a:hover{background:var(--yellow);transform:translateY(-4px);}
.copy{margin-top:36px;border-top:2px dashed rgba(255,244,218,.3);padding-top:20px;font-size:.82rem;color:rgba(255,244,218,.7);}
/* scroll progress + back to top */
#progress{position:fixed;top:0;left:0;height:5px;background:var(--red);z-index:2000;width:0;}
#toTop{position:fixed;right:22px;bottom:22px;z-index:1500;width:56px;height:56px;border-radius:50%;background:var(--yellow);border:3px solid var(--ink);box-shadow:4px 4px 0 var(--ink);cursor:pointer;display:none;align-items:center;justify-content:center;font-size:1.4rem;transition:transform .15s;}
#toTop:hover{transform:translateY(-5px);}
/* reveal */
.rv{opacity:0;transform:translateY(34px);transition:opacity .7s ease,transform .7s ease;}
.rv.in{opacity:1;transform:none;}
/* speech bubble */
.bubble{position:absolute;background:#fff;border:3px solid var(--ink);border-radius:14px;padding:6px 14px;font-family:var(--disp);font-weight:700;font-size:.95rem;box-shadow:3px 3px 0 var(--ink);opacity:0;transform:scale(.5);transition:.25s;pointer-events:none;white-space:nowrap;z-index:10;}
.bubble.show{opacity:1;transform:scale(1) rotate(-4deg);}
.confetti{position:fixed;pointer-events:none;z-index:3000;font-size:1.2rem;animation:fall 1.4s ease-in forwards;}
@keyframes fall{to{transform:translateY(110vh) rotate(540deg);opacity:0;}}
/* ===== responsive ===== */
@media (max-width:1020px){
  nav.mainnav{display:none;position:absolute;top:100%;left:0;right:0;background:var(--cream);border-bottom:3px solid var(--ink);flex-direction:column;align-items:stretch;padding:14px 22px 20px;gap:6px;}
  nav.mainnav.open{display:flex;}
  nav.mainnav a{padding:10px 14px;border:2px solid var(--ink);background:var(--white);text-align:center;}
  .nav-cta{margin-left:0;}
  .burger{display:block;}
  .langs{margin-left:auto;}
  .stats .wrap{grid-template-columns:repeat(2,1fr);}
  .cat-grid,.award-grid,.work-grid,.arch-grid{grid-template-columns:1fr 1fr;}
  .fest-grid,.jury-grid{grid-template-columns:repeat(2,1fr);}
  .tl{grid-template-columns:repeat(3,1fr);gap:26px 14px;}
  .tl::before{display:none;}
  .film-row{grid-template-columns:repeat(3,1fr);}
}
@media (max-width:760px){
  section{padding:56px 0;}
  .hero-deco{display:none;}
  .hero{padding:44px 0 90px;}
  .hero .wrap{grid-template-columns:1fr;gap:56px;}
  .hero-poster{margin-top:8px;}
  .hero-poster .frame{max-width:320px;}
  .float-cam{left:-16px;top:-46px;width:104px;}
  .float-chick{right:-8px;}
  .apply-grid,.elig,.art-grid{grid-template-columns:1fr;}
  .stats .wrap{grid-template-columns:repeat(2,1fr);}
  .cat-grid,.award-grid,.work-grid,.arch-grid{grid-template-columns:1fr;}
  .foot-grid{grid-template-columns:1fr;}
  .acad-banner{grid-template-columns:1fr;padding:30px 26px;}
  .film-row{grid-template-columns:repeat(2,1fr);}
  .count .unit{min-width:64px;}
  .tl{grid-template-columns:repeat(2,1fr);}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms !important;animation-iteration-count:1 !important;transition-duration:.01ms !important;}
  html{scroll-behavior:auto;}
}

/* ========================================= */
/* ควบคุมการแสดงผลโปสเตอร์ 2 ภาษา (TH / EN) */
/* ========================================= */
.poster-en { display: none; }
.poster-th { display: block; }

html:not([lang="th"]) .poster-th { display: none; }
html:not([lang="th"]) .poster-en { display: block; }

/* ========================================= */
/* ควบคุมการแสดงผลปุ่มกติกา PDF 2 ภาษา */
/* ========================================= */
.rules-en { display: none; }
.rules-th { display: inline-flex; }

html:not([lang="th"]) .rules-th { display: none; }
html:not([lang="th"]) .rules-en { display: inline-flex; }


/* =========================================================================
   PIYFF 2026 — Sponsor bars (ททท. / Amazing Thailand และผู้สนับสนุนอื่น ๆ)
   ใช้ร่วมกันทุกหน้า: index / awards / library / artists / portal
   ต้องมี CSS variables: --yellow --cream --paper --red --blue --ink
   ========================================================================= */

/* ---------- แถบผู้สนับสนุนหลัก ด้านบนของทุกหน้า ---------- */
.sponsor-bar{background:var(--cream);border-bottom:3px solid var(--ink);position:relative;z-index:90;}
.sponsor-bar .sb-in{max-width:1180px;margin:0 auto;padding:8px 22px;display:flex;align-items:center;justify-content:center;gap:12px;flex-wrap:wrap;}
.sponsor-bar .sb-label{font-family:'Mitr',sans-serif;font-weight:600;font-size:.76rem;letter-spacing:.06em;text-transform:uppercase;opacity:.85;}
.sponsor-bar .sb-tag{background:var(--red);color:#fff;font-family:'Mitr',sans-serif;font-weight:600;font-size:.64rem;letter-spacing:.1em;text-transform:uppercase;border:2px solid var(--ink);border-radius:999px;padding:1px 10px;transform:rotate(-2deg);white-space:nowrap;}
.sp-plate{display:inline-flex;align-items:center;background:#fff;border:2.5px solid var(--ink);border-radius:12px;box-shadow:3px 3px 0 var(--ink);padding:5px 12px;transition:transform .18s ease,box-shadow .18s ease;}
.sp-plate:hover{transform:translate(-2px,-2px);box-shadow:5px 5px 0 var(--ink);}
.sp-plate img{height:30px;width:auto;display:block;}
@media(max-width:700px){
  .sponsor-bar .sb-in{gap:8px;padding:7px 14px;}
  .sponsor-bar .sb-label{width:100%;text-align:center;font-size:.68rem;}
  .sp-plate{padding:4px 9px;border-radius:10px;box-shadow:2px 2px 0 var(--ink);}
  .sp-plate img{height:23px;}
}

/* ---------- โซนฉายตัวอย่างเทศกาล (หน้าแรก) ---------- */
.trailer{background:var(--ink);color:var(--cream);padding:62px 0 68px;position:relative;overflow:hidden;}
.trailer .sec-kicker{background:var(--yellow);color:var(--ink);}
.trailer .sec-title,.trailer h2{color:var(--cream);}
.trailer .sec-sub{color:rgba(255,244,218,.86);}
.screen{max-width:900px;margin:0 auto;position:relative;}
.screen .bulbs{display:flex;justify-content:space-between;padding:0 26px;margin-bottom:-8px;position:relative;z-index:3;}
.screen .bulbs i{width:13px;height:13px;border-radius:50%;background:var(--yellow);border:2.5px solid var(--ink);box-shadow:0 0 12px rgba(247,183,51,.85);animation:sp-blink 1.8s ease-in-out infinite;}
.screen .bulbs i:nth-child(even){animation-delay:.9s;}
@keyframes sp-blink{0%,100%{opacity:1}50%{opacity:.3}}
.screen .box{background:#000;border:5px solid var(--ink);border-radius:18px;box-shadow:12px 12px 0 var(--red);overflow:hidden;position:relative;}
.screen video{width:100%;display:block;aspect-ratio:16/9;background:#000;}
.screen .sc-cap{text-align:center;font-family:'Mitr',sans-serif;font-weight:600;font-size:.88rem;margin-top:18px;color:rgba(255,244,218,.8);}

/* ป้ายเครดิตผู้สนับสนุนใต้จอ */
.tat-credit{max-width:900px;margin:24px auto 0;background:var(--paper);color:var(--ink);border:3px solid var(--ink);border-radius:18px;box-shadow:8px 8px 0 var(--yellow);padding:18px 24px;display:flex;align-items:center;justify-content:center;gap:18px;flex-wrap:wrap;text-align:center;}
.tat-credit .tc-text{font-family:'Mitr',sans-serif;font-weight:600;font-size:1rem;max-width:520px;}
.tat-credit .tc-logos{display:flex;gap:12px;align-items:center;flex-wrap:wrap;justify-content:center;}
.tat-credit .sp-plate img{height:44px;}
@media(max-width:700px){
  .trailer{padding:48px 0 54px;}
  .screen .box{border-width:4px;box-shadow:7px 7px 0 var(--red);}
  .tat-credit{padding:16px 18px;box-shadow:5px 5px 0 var(--yellow);}
  .tat-credit .tc-text{font-size:.92rem;}
  .tat-credit .sp-plate img{height:34px;}
}

/* ---------- ส่วนผู้สนับสนุนแบบแบ่งระดับ ---------- */
.sp-tier{margin-bottom:34px;}
.sp-tier:last-child{margin-bottom:0;}
.sp-tier-h{display:flex;align-items:center;justify-content:center;gap:14px;margin-bottom:20px;}
.sp-tier-h b{font-family:'Mitr',sans-serif;font-weight:600;font-size:.8rem;letter-spacing:.12em;text-transform:uppercase;background:var(--ink);color:var(--cream);border-radius:999px;padding:5px 18px;transform:rotate(-1.5deg);white-space:nowrap;}
.sp-tier-h::before,.sp-tier-h::after{content:"";flex:1 1 40px;min-width:18px;max-width:170px;height:3px;background:var(--ink);border-radius:2px;opacity:.85;}
.sp-row{display:flex;flex-wrap:wrap;gap:22px;align-items:center;justify-content:center;}
.sp-row .plate{background:#fff;border:3px solid var(--ink);border-radius:16px;box-shadow:5px 5px 0 var(--ink);padding:12px 20px;min-width:118px;display:flex;align-items:center;justify-content:center;transition:transform .2s ease,box-shadow .2s ease;}
.sp-row .plate:hover{transform:translate(-3px,-3px);box-shadow:8px 8px 0 var(--ink);}
.sp-row .plate img{height:56px;width:auto;display:block;}
.sp-row.main .plate{box-shadow:6px 6px 0 var(--red);padding:16px 26px;}
.sp-row.main .plate:hover{box-shadow:10px 10px 0 var(--red);}
.sp-row.main .plate img{height:78px;}
.sp-note{text-align:center;font-family:'Mitr',sans-serif;font-weight:600;font-size:.98rem;margin-top:26px;background:var(--yellow);border:3px solid var(--ink);border-radius:14px;box-shadow:5px 5px 0 var(--ink);padding:13px 22px;display:inline-block;}
.sp-note-wrap{text-align:center;}
@media(max-width:700px){
  .sp-row{gap:14px;}
  .sp-row .plate{padding:9px 13px;border-radius:12px;box-shadow:4px 4px 0 var(--ink);}
  .sp-row .plate img{height:38px;}
  .sp-row.main .plate{padding:12px 18px;}
  .sp-row.main .plate img{height:52px;}
  .sp-tier-h::before,.sp-tier-h::after{max-width:34px;}
  .sp-note{font-size:.88rem;padding:11px 16px;}
}

/* ---------- แถบผู้สนับสนุนท้ายทุกหน้า (บนพื้นเข้ม) ---------- */
.foot-sponsors{border-top:2px dashed rgba(255,244,218,.3);margin-top:32px;padding-top:26px;text-align:center;}
.foot-sponsors .fs-label{font-family:'Mitr',sans-serif;font-weight:600;font-size:.78rem;letter-spacing:.1em;text-transform:uppercase;color:var(--yellow);margin-bottom:14px;}
.foot-logos{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;align-items:center;}
.foot-logos .plate{background:#fff;border:2.5px solid var(--ink);border-radius:12px;box-shadow:3px 3px 0 rgba(255,244,218,.35);padding:8px 13px;min-width:76px;display:flex;align-items:center;justify-content:center;}
.foot-logos .plate img{height:32px;width:auto;display:block;}
.foot-logos .plate.big img{height:44px;}
.fs-credit{margin-top:16px;font-size:.9rem;line-height:1.6;color:var(--cream);}
.fs-credit b{color:var(--yellow);}
@media(max-width:700px){
  .foot-logos{gap:9px;}
  .foot-logos .plate{padding:6px 10px;border-radius:10px;}
  .foot-logos .plate img{height:24px;}
  .foot-logos .plate.big img{height:32px;}
  .fs-credit{font-size:.84rem;}
}

/* ---------- ในระบบพอร์ทัล (พื้นหลังเหลือง) ---------- */
.portal-foot-sponsors{background:var(--ink);color:var(--cream);border:3px solid var(--ink);border-radius:16px;box-shadow:6px 6px 0 rgba(29,26,23,.35);padding:22px 20px;margin:34px 0 10px;text-align:center;}
.portal-foot-sponsors .foot-sponsors{border-top:0;margin-top:0;padding-top:0;}

/* =========================================================================
   piyff.org — additions for the festival hub pages
   ========================================================================= */
.langs button.hide{display:none;}
.page-hero{background:var(--yellow);padding:56px 0 48px;border-bottom:3px solid var(--ink);position:relative;overflow:hidden;}
.page-hero .wrap{position:relative;z-index:2;}
.page-hero h1{font-size:clamp(2rem,5vw,3.3rem);font-weight:700;line-height:1.1;text-transform:uppercase;}
.page-hero .lead{max-width:720px;font-size:1.08rem;margin-top:14px;}
.page-hero .crumbs{font-family:var(--disp);font-weight:600;font-size:.82rem;letter-spacing:.06em;text-transform:uppercase;margin-bottom:12px;}
.page-hero .crumbs a{text-decoration:none;opacity:.75;}
.page-hero .hero-chick{position:absolute;right:4%;bottom:-18px;width:150px;height:180px;opacity:.95;transform:rotate(6deg);}
.sec-cream{background:var(--cream);} .sec-paper{background:var(--paper);} .sec-pink{background:var(--pink-soft);} .sec-blue{background:var(--blue-soft);} .sec-green{background:var(--green-soft);} .sec-ink{background:var(--ink);color:var(--cream);}
.sec-ink .sec-title,.sec-ink h2,.sec-ink h3{color:var(--cream);} .sec-ink .sec-kicker{background:var(--yellow);color:var(--ink);}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:26px;} .grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;} .grid4{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;}
.card.pad{padding:26px 26px 24px;} .card h3{font-size:1.2rem;margin-bottom:8px;} .card .ico{font-size:2rem;line-height:1;margin-bottom:10px;}
.card .chip{display:inline-block;background:var(--yellow);border:2px solid var(--ink);border-radius:999px;padding:2px 12px;font-family:var(--disp);font-weight:600;font-size:.8rem;margin-bottom:8px;}
.card.red{background:var(--red);color:#fff;} .card.blue{background:var(--blue);color:#fff;} .card.pinkc{background:var(--pink-soft);} .card.creamc{background:var(--cream);} .card.yel{background:var(--yellow);}
.lead-p{font-size:1.05rem;max-width:820px;}
.prose p{margin-bottom:14px;max-width:820px;} .prose ul{margin:0 0 14px 22px;max-width:820px;} .prose li{margin-bottom:6px;}
/* hero home */
.hero-home{background:var(--yellow);padding:54px 0 70px;overflow:hidden;position:relative;}
.hero-home .wrap{display:grid;grid-template-columns:1.05fr .95fr;gap:40px;align-items:center;position:relative;z-index:2;}
.hero-home .art{position:relative;}
.hero-home .art img{border:4px solid var(--ink);border-radius:22px;box-shadow:10px 10px 0 var(--ink);background:#fff;}
.hero-home .art .stamp{position:absolute;top:-18px;right:-10px;background:var(--red);color:#fff;font-family:var(--disp);font-weight:700;font-size:1rem;padding:8px 18px;border:3px solid var(--ink);border-radius:10px;box-shadow:4px 4px 0 var(--ink);transform:rotate(6deg);}
.presented{display:inline-flex;align-items:center;gap:12px;background:var(--white);border:3px solid var(--ink);border-radius:16px;box-shadow:5px 5px 0 var(--ink);padding:8px 16px;margin-bottom:18px;flex-wrap:wrap;}
.presented b{font-family:var(--disp);font-weight:600;font-size:.88rem;} .presented img{height:34px;width:auto;}
.cta3{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:28px;}
.cta3 a{display:flex;flex-direction:column;gap:6px;text-decoration:none;background:var(--white);border:3px solid var(--ink);border-radius:18px;box-shadow:6px 6px 0 var(--ink);padding:18px 18px 16px;transition:transform .16s,box-shadow .16s;}
.cta3 a:hover{transform:translate(-3px,-3px);box-shadow:9px 9px 0 var(--ink);}
.cta3 .t{font-family:var(--disp);font-weight:700;font-size:1.08rem;} .cta3 .s{font-size:.86rem;opacity:.85;} .cta3 .e{font-size:1.7rem;line-height:1;}
.cta3 a.c1{background:var(--red);color:#fff;} .cta3 a.c2{background:var(--blue);color:#fff;} .cta3 a.c3{background:var(--green);color:#fff;}
.count-wrap{margin-top:24px;}
/* day schedule */
.day{margin-bottom:34px;}
.day-h{display:flex;align-items:center;gap:16px;margin-bottom:16px;}
.day-h .dn{font-family:var(--disp);font-weight:700;font-size:2.2rem;line-height:1;background:var(--red);color:#fff;border:3px solid var(--ink);border-radius:16px;box-shadow:4px 4px 0 var(--ink);padding:8px 16px;transform:rotate(-3deg);}
.day-h .dn small{display:block;font-size:.8rem;font-weight:600;}
.day-h h3{font-size:1.4rem;}
.slot{display:grid;grid-template-columns:150px 1fr;gap:18px;background:var(--white);border:3px solid var(--ink);border-radius:18px;box-shadow:5px 5px 0 var(--ink);padding:18px 20px;margin-bottom:14px;}
.slot .tm{font-family:var(--disp);font-weight:700;font-size:1.05rem;color:var(--red);} .slot .tm small{display:block;font-size:.74rem;color:var(--ink);opacity:.7;font-weight:600;}
.slot h4{font-size:1.1rem;margin-bottom:4px;} .slot p{font-size:.92rem;} .slot .loc{font-size:.86rem;margin-top:6px;font-weight:600;}
.slot .tag{display:inline-block;background:var(--yellow);border:2px solid var(--ink);border-radius:999px;padding:1px 10px;font-family:var(--disp);font-weight:600;font-size:.74rem;margin-left:6px;vertical-align:middle;}
.slot.beach{background:var(--blue-soft);} .slot.award{background:var(--pink-soft);} .slot.ws{background:var(--cream);}
.slot .act{margin-top:10px;}
.venue{background:var(--white);border:3px solid var(--ink);border-radius:20px;box-shadow:7px 7px 0 var(--ink);padding:22px;}
.venue iframe{width:100%;height:300px;border:3px solid var(--ink);border-radius:14px;display:block;margin-top:12px;}
/* awards */
.aw-cat{background:var(--white);border:3px solid var(--ink);border-radius:20px;box-shadow:7px 7px 0 var(--ink);padding:22px;}
.aw-cat h3{font-size:1.3rem;margin-bottom:4px;} .aw-cat .sub{font-size:.86rem;opacity:.8;margin-bottom:14px;}
.aw-cat ul{list-style:none;display:grid;gap:8px;}
.aw-cat li{display:flex;gap:10px;align-items:flex-start;font-size:.94rem;padding:8px 10px;border:2px solid var(--ink);border-radius:12px;background:var(--paper);}
.aw-cat li.tat{background:var(--yellow);font-weight:600;}
.aw-cat li .n{font-family:var(--disp);font-weight:700;color:var(--red);min-width:20px;}
.tat-award{display:grid;grid-template-columns:1fr auto;gap:24px;align-items:center;background:var(--white);border:3px solid var(--ink);border-radius:22px;box-shadow:8px 8px 0 var(--red);padding:26px 28px;}
.tat-award .logos{display:flex;gap:12px;align-items:center;flex-wrap:wrap;justify-content:center;}
.tat-award .logos img{height:60px;width:auto;}
/* films */
.tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:22px;}
.tabs button{font-family:var(--disp);font-weight:600;font-size:.9rem;padding:8px 16px;border-radius:999px;border:3px solid var(--ink);background:var(--white);cursor:pointer;box-shadow:3px 3px 0 var(--ink);}
.tabs button.on{background:var(--ink);color:var(--cream);}
.film-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;}
.fcard2{background:var(--white);border:3px solid var(--ink);border-radius:18px;box-shadow:5px 5px 0 var(--ink);overflow:hidden;cursor:pointer;transition:transform .16s;}
.fcard2:hover{transform:translate(-3px,-3px);}
.fcard2 .th{aspect-ratio:16/9;background:var(--ink);position:relative;overflow:hidden;} .fcard2 .th img{width:100%;height:100%;object-fit:cover;}
.fcard2 .th::after{content:"▶";position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:#fff;font-size:2.2rem;text-shadow:0 2px 8px rgba(0,0,0,.6);}
.fcard2 .b{padding:12px 14px 14px;} .fcard2 h4{font-size:1rem;line-height:1.3;} .fcard2 .m{font-size:.8rem;opacity:.8;margin-top:3px;}
.fcard2 .aw{display:inline-block;background:var(--yellow);border:2px solid var(--ink);border-radius:999px;padding:1px 9px;font-size:.74rem;font-family:var(--disp);font-weight:600;margin-top:6px;}
.empty{background:var(--white);border:3px dashed var(--ink);border-radius:18px;padding:36px;text-align:center;font-family:var(--disp);font-weight:600;font-size:1.05rem;}
.lb{position:fixed;inset:0;background:rgba(29,26,23,.9);z-index:5000;display:none;align-items:center;justify-content:center;padding:20px;}
.lb.open{display:flex;} .lb .in{width:min(960px,100%);} .lb iframe{width:100%;aspect-ratio:16/9;border:4px solid var(--yellow);border-radius:14px;background:#000;display:block;}
.lb .in.v iframe{aspect-ratio:9/16;max-height:85vh;width:auto;margin:0 auto;}
.lb .cap{color:var(--cream);font-family:var(--disp);margin-top:10px;text-align:center;} .lb .x{position:absolute;top:16px;right:20px;background:var(--yellow);border:3px solid var(--ink);border-radius:50%;width:46px;height:46px;font-size:1.3rem;cursor:pointer;font-weight:700;}
/* press */
.dl{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
.dl a{display:flex;gap:14px;align-items:center;text-decoration:none;background:var(--white);border:3px solid var(--ink);border-radius:16px;box-shadow:5px 5px 0 var(--ink);padding:14px 16px;transition:transform .16s;}
.dl a:hover{transform:translate(-3px,-3px);} .dl .pv{width:84px;height:84px;flex:none;border:2px solid var(--ink);border-radius:10px;background:var(--cream);display:flex;align-items:center;justify-content:center;overflow:hidden;font-size:2rem;}
.dl .pv img{width:100%;height:100%;object-fit:contain;background:#fff;} .dl .pv.dark{background:var(--ink);} .dl .t{font-family:var(--disp);font-weight:600;font-size:.96rem;line-height:1.25;} .dl .s{font-size:.78rem;opacity:.75;margin-top:3px;}
.credit-box{background:var(--white);border:3px solid var(--ink);border-radius:18px;box-shadow:6px 6px 0 var(--yellow);padding:22px 24px;}
.credit-box code{display:block;background:var(--cream);border:2px dashed var(--ink);border-radius:10px;padding:10px 14px;margin:8px 0 14px;font-size:.95rem;font-family:var(--body);}
.fact{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;}
.fact div{background:var(--white);border:3px solid var(--ink);border-radius:16px;box-shadow:4px 4px 0 var(--ink);padding:16px;text-align:center;}
.fact b{display:block;font-family:var(--disp);font-size:1.7rem;color:var(--red);line-height:1.1;} .fact span{font-size:.84rem;font-weight:600;}
/* news */
.news{display:grid;gap:18px;max-width:860px;}
.news article{background:var(--white);border:3px solid var(--ink);border-radius:18px;box-shadow:6px 6px 0 var(--ink);padding:22px 24px;display:grid;grid-template-columns:110px 1fr;gap:20px;}
.news .d{font-family:var(--disp);font-weight:700;color:var(--red);font-size:1.05rem;line-height:1.2;} .news .d small{display:block;color:var(--ink);opacity:.7;font-size:.78rem;font-weight:600;}
.news h3{font-size:1.15rem;margin-bottom:6px;} .news p{font-size:.94rem;} .news .more{display:inline-block;margin-top:8px;font-family:var(--disp);font-weight:600;font-size:.9rem;}
/* sponsors page */
.sp-page .sp-row .plate img{height:70px;}
.sp-page .sp-row.main .plate img{height:90px;}
.thanks{background:var(--white);border:3px solid var(--ink);border-radius:20px;box-shadow:8px 8px 0 var(--yellow);padding:26px 30px;text-align:center;font-family:var(--disp);font-weight:600;font-size:1.1rem;max-width:820px;margin:0 auto 34px;}
/* attend */
.who{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;}
.step-list{counter-reset:s;display:grid;gap:12px;max-width:820px;}
.step-list div{display:grid;grid-template-columns:44px 1fr;gap:14px;align-items:start;background:var(--white);border:3px solid var(--ink);border-radius:14px;padding:14px 16px;box-shadow:4px 4px 0 var(--ink);}
.step-list div::before{counter-increment:s;content:counter(s);font-family:var(--disp);font-weight:700;font-size:1.3rem;background:var(--yellow);border:2px solid var(--ink);border-radius:50%;width:40px;height:40px;display:flex;align-items:center;justify-content:center;}
.notice-box{background:var(--pink-soft);border:3px solid var(--ink);border-radius:16px;padding:16px 20px;box-shadow:4px 4px 0 var(--ink);font-size:.95rem;}
.notice-box.y{background:var(--yellow);}
.partner-strip{background:var(--cream);border-top:3px solid var(--ink);padding:28px 0;}
.partner-strip .logo-row{display:flex;gap:14px;flex-wrap:wrap;justify-content:center;align-items:center;}
.partner-strip .plate{background:#fff;border:2.5px solid var(--ink);border-radius:12px;box-shadow:3px 3px 0 var(--ink);padding:8px 14px;display:flex;align-items:center;}
.partner-strip .plate img{height:40px;width:auto;}
.partner-strip .ps-label{text-align:center;font-family:var(--disp);font-weight:600;font-size:.8rem;letter-spacing:.1em;text-transform:uppercase;margin-bottom:14px;opacity:.8;}
.foot-sponsors{margin-top:40px;border-top:2px dashed rgba(255,244,218,.3);padding-top:28px;}
.foot-sponsors .fs-label{font-family:var(--disp);font-weight:600;font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;color:var(--yellow);text-align:center;margin-bottom:12px;}
.foot-logos{display:flex;gap:12px;flex-wrap:wrap;justify-content:center;}
.foot-logos .plate{background:#fff;border:2.5px solid var(--ink);border-radius:12px;padding:6px 12px;display:flex;align-items:center;}
.foot-logos .plate img{height:34px;width:auto;} .foot-logos .plate.big img{height:48px;}
.fs-credit{text-align:center;margin-top:16px;font-size:.9rem;color:rgba(255,244,218,.85);} .fs-credit b{color:var(--yellow);}
.sp-note-wrap{display:flex;justify-content:center;margin-top:24px;} .sp-note{background:var(--white);border:3px solid var(--ink);border-radius:16px;box-shadow:5px 5px 0 var(--ink);padding:14px 22px;text-align:center;font-family:var(--disp);font-weight:600;max-width:700px;}
.partners{background:var(--cream);}
.live-badge{display:inline-flex;align-items:center;gap:8px;background:var(--green);color:#fff;font-family:var(--disp);font-weight:700;padding:8px 18px;border:3px solid var(--ink);border-radius:999px;box-shadow:4px 4px 0 var(--ink);}
.live-badge i{width:10px;height:10px;border-radius:50%;background:#fff;animation:sp-blink 1s infinite;}
@media(max-width:1020px){
  .grid3,.grid4,.cta3,.dl,.film-grid,.fact,.who{grid-template-columns:1fr 1fr;}
  .hero-home .wrap{grid-template-columns:1fr;}
}
@media(max-width:700px){
  .grid2,.grid3,.grid4,.cta3,.dl,.film-grid,.fact,.who{grid-template-columns:1fr;}
  .slot{grid-template-columns:1fr;gap:6px;} .news article{grid-template-columns:1fr;gap:8px;}
  .tat-award{grid-template-columns:1fr;} .page-hero .hero-chick{display:none;}
  .day-h .dn{font-size:1.6rem;} .fact{grid-template-columns:1fr 1fr;}
  .film-grid{grid-template-columns:1fr 1fr;gap:12px;}
  .hero-home{padding:36px 0 50px;}
}
/* fixes */
@media(max-width:700px){.hero-home .art .stamp{right:4px;top:-14px;font-size:.9rem}.hero-home .art img{box-shadow:6px 6px 0 var(--ink)}}
@media(min-width:1021px) and (max-width:1400px){nav.mainnav a{font-size:.78rem;padding:5px 7px}.langs button{font-size:.74rem;padding:4px 8px}.brand{font-size:.98rem}}
nav.mainnav a.here{background:var(--yellow);border-color:var(--ink);}
.dl a>span:last-child{display:flex;flex-direction:column;min-width:0} .dl .t,.dl .s{display:block}
