/* ======================================================
   REFINEMENT LAYER: softer, lighter, more elegant
   ====================================================== */
:root{--yellow:#F2C23B;--radius:4px}
h2{font-family:var(--serif);font-weight:600;text-transform:none;letter-spacing:-.01em;line-height:1.02;font-size:clamp(38px,5.4vw,84px)}
h2 .serif{font-style:italic;font-weight:400;font-size:1em}
h3{font-weight:700;letter-spacing:0}
.page-hero h1{font-family:var(--serif);font-weight:500;text-transform:none;letter-spacing:-.015em;line-height:.98;font-size:clamp(48px,8.6vw,150px)}
.page-hero h1 .serif{font-style:italic;font-weight:400;font-size:.9em}
.hero h1{font-weight:400;letter-spacing:-.03em}
.hero-meta .dates{font-family:var(--serif);font-weight:600;text-transform:none;font-size:clamp(24px,3.2vw,44px);letter-spacing:-.01em}
.hero-meta .dates b{font-weight:400;font-style:italic}
.eyebrow{font-weight:600;letter-spacing:.28em;opacity:.85}
.eyebrow::before{width:32px;height:1px;opacity:.7}
p.lead{font-weight:400;line-height:1.5}
.sub-lead{font-weight:400}

/* buttons: hairline, slight radius */
.btn{border-width:1px;border-radius:var(--radius);padding:15px 26px;font-weight:600;letter-spacing:.16em;font-size:11.5px}
.btn.solid{border-width:1px}
.nav>li>a{font-weight:500;letter-spacing:.2em;font-size:11px}
.nav .cta a{border-width:1px;border-radius:var(--radius);font-weight:600}
.sub{border-radius:var(--radius);padding:8px 0}
.sub a{font-weight:600}

/* hairlines instead of heavy rules */
.marquee{border-top:1px solid rgba(0,0,0,.25);border-bottom:1px solid rgba(0,0,0,.25);padding:14px 0}
.marquee span{font-family:var(--serif);font-style:italic;font-weight:500;text-transform:none;font-size:clamp(18px,2vw,26px);letter-spacing:0}
.marquee span::after{width:6px;height:6px;border-radius:50%;transform:none;opacity:.7}
.stats,.stat{border-width:1px;border-color:rgba(0,0,0,.25)}
.stat b{font-family:var(--serif);font-weight:600}
.ticket{border-width:1px;border-radius:var(--radius);overflow:hidden}
.ticket div{border-right:1px dashed rgba(242,194,59,.6)}
.ticket b{font-family:var(--serif);font-weight:600;text-transform:none;font-size:clamp(22px,2.6vw,34px)}
.days{border-width:1px;border-radius:var(--radius);overflow:hidden}
.day{border-right-width:1px}
.day b{font-family:var(--serif);font-weight:600}
.day li{border-top:1px solid rgba(0,0,0,.12)}
.sponsor-banner{border-width:1px;border-radius:var(--radius)}
.sponsor-banner .label{border-radius:2px;font-weight:700}
.sponsor-list div{border-width:1px;border-radius:var(--radius);font-weight:600}
.ph-editions .years{border-top-width:1px}
.ph-editions .years a{border-top-width:2px}
.ph-editions .ghost{font-family:var(--serif);font-weight:500;-webkit-text-stroke:1px rgba(0,0,0,.14)}
.ph-news .masthead{border-bottom-width:1px}
.ph-news .masthead .issue b{font-family:var(--serif);font-weight:600}
.ph-partners .lions{border-width:1px;border-radius:var(--radius)}
.ph-about .logo-tile{border-radius:var(--radius)}
.ph-contact .bigmail{font-family:var(--serif);font-weight:600;border-bottom-width:1px}
.contact a.mail{border-bottom-width:1px}
.form input,.form textarea{border-bottom-width:1px}
.poster{border-radius:var(--radius)}
.poster .badge{border-radius:2px;font-weight:700}
.quote{border-left-width:1px}
.orig{border-top-width:1px}

/* cards: soft radius, hairline */
.tile{border-radius:var(--radius)}
.tile h3{font-family:var(--serif);font-weight:600;text-transform:none;font-size:clamp(28px,3vw,42px);line-height:1}
.tile .k{font-weight:600;letter-spacing:.25em}
.film{border-radius:var(--radius)}
.film .tag{border-radius:2px;font-weight:700}
.film .info h3{font-family:var(--serif);font-weight:600;font-size:clamp(24px,2vw,30px)}
.filters button{border-radius:999px;border-width:1px;font-weight:600;letter-spacing:.16em}
.edition{border-radius:var(--radius)}
.edition .no{font-family:var(--serif);font-weight:600}
.edition h3{font-weight:700}
.ed-block .big{font-family:var(--serif);font-weight:600}
.ed-block h2{font-size:clamp(30px,3.6vw,56px)}
.ed-block .facts small{font-weight:600}
.ed-block .gallery div{border-radius:var(--radius)}
.person{border-radius:var(--radius)}
.person .ph .init{font-family:var(--serif);font-weight:600}
.post h3{font-family:var(--serif);font-weight:600;font-size:clamp(22px,1.9vw,28px);line-height:1.15}
.post .thumb{border-radius:var(--radius)}
.map{border-radius:var(--radius)}
.banner .big{font-family:var(--serif);font-weight:600;text-transform:none;line-height:.95}
.banner .big em{-webkit-text-stroke:1px var(--black)}
.giant{font-family:var(--serif);font-weight:600;color:#141414}
.foot h4{font-weight:600;letter-spacing:.25em}
.legal{font-weight:400}
.playbtn{box-shadow:0 20px 50px rgba(0,0,0,.4)}
.loader .lbar{height:1px}
.homage .media .frame{background:repeating-linear-gradient(135deg,#141414 0 10px,#101010 10px 20px)}

/* home hero: poster raised beside the title */
.hero{justify-content:center;padding-top:140px;padding-bottom:60px}
.hero-grid{align-items:center;grid-template-columns:1.15fr .85fr}
.poster{max-height:none;width:min(100%,380px);transform:rotate(2deg) translateY(-4%)}
.poster:hover{transform:rotate(0) translateY(-4%) scale(1.02)}
.hero-inner{padding-bottom:0}
@media (max-width:900px){
  .hero{justify-content:flex-end;padding-top:110px}
  .hero-grid{grid-template-columns:1fr}
  .poster{width:min(60%,240px);transform:none;justify-self:start;order:-1;margin-bottom:10px}
}

/* ======================================================
   TEAM: hover bio popover
   ====================================================== */
.person{position:relative;overflow:visible;cursor:default}
.person .ph{border-radius:var(--radius) var(--radius) 0 0;overflow:hidden}
.person .d{border-radius:0 0 var(--radius) var(--radius)}
.person .bio{position:absolute;left:50%;bottom:calc(100% + 14px);transform:translate(-50%,8px);width:min(320px,80vw);background:var(--black);color:var(--white);padding:22px 24px;border:1px solid rgba(242,194,59,.5);border-radius:var(--radius);box-shadow:0 30px 60px rgba(0,0,0,.45);opacity:0;visibility:hidden;transition:.4s var(--ease);z-index:20;pointer-events:none}
.person .bio::after{content:"";position:absolute;left:50%;top:100%;width:12px;height:12px;background:var(--black);border-right:1px solid rgba(242,194,59,.5);border-bottom:1px solid rgba(242,194,59,.5);transform:translate(-50%,-50%) rotate(45deg)}
.person:hover .bio,.person:focus-within .bio{opacity:1;visibility:visible;transform:translate(-50%,0)}
.person .bio b{display:block;font-family:var(--serif);font-weight:600;font-size:20px;line-height:1.1;margin-bottom:4px}
.person .bio small{display:block;font-size:10px;letter-spacing:.22em;text-transform:uppercase;font-weight:600;color:var(--yellow);margin-bottom:10px}
.person .bio p{font-size:13.5px;line-height:1.55;color:var(--grey-200)}
.people{overflow:visible;padding-top:30px}
@media (hover:none){.person .bio{display:none}}

/* ======================================================
   FILM MODAL
   ====================================================== */
.modal{position:fixed;inset:0;z-index:500;display:grid;place-items:center;padding:20px;opacity:0;visibility:hidden;transition:.45s var(--ease)}
.modal.open{opacity:1;visibility:visible}
.modal .backdrop{position:absolute;inset:0;background:rgba(10,10,10,.82);backdrop-filter:blur(10px)}
.modal .dialog{position:relative;width:min(960px,100%);max-height:90vh;overflow:auto;background:var(--white);color:var(--black);border-radius:var(--radius);display:grid;grid-template-columns:.8fr 1.2fr;transform:translateY(24px) scale(.98);transition:.5s var(--ease)}
.modal.open .dialog{transform:none}
.modal .art{background:var(--grey-900);min-height:320px;position:relative;overflow:hidden}
.modal .art svg{position:absolute;inset:0;width:100%;height:100%}
.modal .art .tag{position:absolute;top:18px;left:18px;background:var(--yellow);color:var(--black);font-size:10px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;padding:6px 10px;border-radius:2px}
.modal .body{padding:clamp(28px,4vw,48px)}
.modal .body h2{font-size:clamp(30px,3.6vw,50px);margin:6px 0 6px}
.modal .body .dir{font-family:var(--serif);font-style:italic;font-size:20px;color:#444}
.modal .facts{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:26px 0;padding:18px 0;border-top:1px solid rgba(0,0,0,.15);border-bottom:1px solid rgba(0,0,0,.15)}
.modal .facts small{display:block;font-size:10px;letter-spacing:.22em;text-transform:uppercase;font-weight:600;color:#666;margin-bottom:3px}
.modal .facts b{font-weight:600;font-size:14px}
.modal .syn{font-size:15.5px;line-height:1.6;color:#333}
.modal .screen{margin-top:22px;padding:16px 18px;background:var(--yellow);border-radius:var(--radius);font-size:13px;font-weight:600;display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap}
.modal .screen small{display:block;font-size:10px;letter-spacing:.22em;text-transform:uppercase;opacity:.65;margin-bottom:2px}
.modal .close{position:absolute;top:14px;right:14px;width:42px;height:42px;border-radius:50%;background:var(--black);color:var(--white);border:0;cursor:pointer;display:grid;place-items:center;transition:.3s;z-index:2}
.modal .close:hover{background:var(--yellow);color:var(--black);transform:rotate(90deg)}
.modal .close svg{width:16px;height:16px}
body.modal-open{overflow:hidden}

/* home hero: poster raised to the top of the hero */
.hero-grid{align-items:start}
.poster{margin-top:-24px;transform:rotate(2deg)}
.poster:hover{transform:rotate(0) scale(1.02)}
.hero-grid>div:first-child{padding-top:40px}
@media (max-width:900px){.poster{margin-top:0}.hero-grid>div:first-child{padding-top:0}}

/* trailer section (home, right under the hero) */
.trailer{padding:clamp(40px,6vw,90px) 0 clamp(60px,8vw,120px);position:relative}
.trailer::before{content:"";position:absolute;left:0;right:0;top:0;height:1px;background:linear-gradient(90deg,transparent,rgba(242,194,59,.5),transparent)}
.trailer-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(32px,5vw,80px);align-items:center}
.trailer-text h2{font-size:clamp(34px,4.2vw,64px);margin:14px 0 18px}
.trailer-text .lead{font-size:clamp(16px,1.25vw,19px);max-width:44ch}
.trailer-facts{list-style:none;margin:28px 0 0;padding:0;border-top:1px solid rgba(255,255,255,.14)}
.trailer-facts li{display:grid;grid-template-columns:90px 1fr;gap:12px;padding:11px 0;border-bottom:1px solid rgba(255,255,255,.14);font-size:14px}
.trailer-facts small{font-size:10px;letter-spacing:.22em;text-transform:uppercase;font-weight:600;color:var(--grey-500);align-self:center}
.trailer-facts b{font-weight:600}
.trailer-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:26px}
.video{position:relative;aspect-ratio:16/9;width:100%;max-width:560px;justify-self:end;border-radius:var(--radius);overflow:hidden;background:#000;border:1px solid rgba(242,194,59,.35);box-shadow:0 30px 70px rgba(0,0,0,.55)}
.vplay .playbtn{width:68px;height:68px}
@media (max-width:900px){.trailer-grid{grid-template-columns:1fr;gap:26px}.video{max-width:none;justify-self:stretch}.trailer-text h2{font-size:clamp(30px,8vw,40px)}.trailer-actions .btn{flex:1 1 auto;justify-content:center}}
.video video{width:100%;height:100%;object-fit:cover;display:block}
.vplay{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;background:linear-gradient(180deg,rgba(10,10,10,.1),rgba(10,10,10,.55));border:0;cursor:pointer;color:var(--white);font:inherit;transition:opacity .5s var(--ease)}
.vplay .lbl{font-size:11px;letter-spacing:.3em;text-transform:uppercase;font-weight:600}
.vplay .playbtn{width:84px;height:84px}
.vplay:hover .playbtn{transform:scale(1.08)}
.video.playing .vplay{opacity:0;pointer-events:none}
.vmeta{position:absolute;left:18px;bottom:14px;font-size:10px;letter-spacing:.22em;text-transform:uppercase;font-weight:600;color:var(--grey-200);background:rgba(10,10,10,.55);padding:6px 10px;border-radius:2px;transition:opacity .4s}
.video.playing .vmeta{opacity:0}
@media (max-width:640px){.vplay .playbtn{width:64px;height:64px}.vplay .playbtn svg{width:22px;height:22px}}

/* compact tiles: 6 per row */
.tiles.compact{grid-template-columns:repeat(6,1fr);gap:12px}
.tile.sm{aspect-ratio:1/1.05;padding:18px;justify-content:flex-start;gap:6px}
.tile.sm::after{display:none}
.tile.sm .k{position:static;margin-bottom:auto;font-size:10px}
.tile.sm h3{font-size:clamp(17px,1.35vw,22px);line-height:1.05}
.tile.sm p{font-size:12px;color:var(--grey-500);margin:0}
.tile.sm .go{margin-top:12px;font-size:16px;letter-spacing:0}
.tile.sm:hover{background:#1a1a1a}
@media (max-width:1100px){.tiles.compact{grid-template-columns:repeat(3,1fr)}}
@media (max-width:560px){.tiles.compact{grid-template-columns:repeat(2,1fr)}}

/* film cards: smaller, quieter */
.films{grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:14px}
.film .tag{font-size:9.5px;padding:5px 8px;background:rgba(242,194,59,.92)}
.film .num{font-size:12px;font-family:var(--serif);opacity:.5}
.film .info{padding:16px}
.film .info h3{font-size:clamp(18px,1.4vw,22px)}
.film .info p{font-size:12px}
.film .info .st{font-size:9px;padding:4px 8px;margin-bottom:8px}
.film .info .more{font-size:10px}
.films.archive .film{aspect-ratio:3/4}

/* "coming soon" block */
.soon{display:grid;grid-template-columns:120px 1fr;gap:32px;align-items:center;padding:clamp(28px,4vw,48px);border:1px solid rgba(255,255,255,.12);border-radius:var(--radius);margin-top:10px}
.soon-mark{color:var(--yellow);opacity:.8}
.soon-mark svg{width:100%;height:auto;animation:spin 60s linear infinite}
.soon-title{font-family:var(--serif);font-weight:600;font-size:clamp(30px,3.6vw,52px);line-height:1;margin:8px 0 10px}
.soon-title .serif{font-style:italic;font-weight:400;color:var(--yellow)}
.soon p{max-width:56ch;color:var(--grey-200);font-size:15px}
.yellow .soon{border-color:rgba(0,0,0,.25)}
.yellow .soon-mark{color:var(--black)}
.yellow .soon p{color:#333}
.yellow .soon-title .serif{color:var(--black)}
@media (max-width:640px){.soon{grid-template-columns:1fr}.soon-mark{width:80px}}

/* jury on white */
.white .people .person{border:1px solid rgba(0,0,0,.12)}
.jury-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));max-width:720px}

/* availability pills */
.st{display:inline-flex;align-items:center;gap:7px;font-size:10px;letter-spacing:.18em;text-transform:uppercase;font-weight:600;padding:5px 10px;border-radius:999px;border:1px solid currentColor;line-height:1;vertical-align:middle;white-space:nowrap}
.st::before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}
.st-available{color:#1f8a4c;border-color:rgba(31,138,76,.5)}
.st-limited{color:#9a6a00;border-color:rgba(154,106,0,.5)}
.st-soldout{color:var(--red);border-color:rgba(215,38,30,.5)}
.st-free{color:#333;border-color:rgba(0,0,0,.3)}
.st-tba{color:#777;border-color:rgba(0,0,0,.2)}
.film .info .st{margin-bottom:10px;background:rgba(10,10,10,.6);backdrop-filter:blur(4px)}
.film .info .st-available{color:#5ed28c}
.film .info .st-limited{color:var(--yellow)}
.film .info .st-soldout{color:#ff6b63}
.film .info .st-tba{color:#aaa}
.dm-list b .st{margin-left:8px;position:relative;top:-1px}
.day li .so{font-style:normal;font-size:10px;letter-spacing:.16em;text-transform:uppercase;font-weight:600;color:var(--red);margin-left:8px}
.day li.ev-soldout{opacity:.75}
.modal .screen .btn[aria-disabled="true"]{opacity:.35;pointer-events:none}
.modal .screen .st{background:rgba(255,255,255,.6)}

/* days: clickable + day modal */
.day{cursor:pointer;position:relative;transition:background .35s}
.day:hover,.day:focus-visible{background:rgba(0,0,0,.06);outline:none}
.day .more{display:inline-block;margin-top:18px;font-size:10.5px;letter-spacing:.22em;text-transform:uppercase;font-weight:600;opacity:0;transform:translateY(4px);transition:.35s var(--ease)}
.day:hover .more,.day:focus-visible .more{opacity:1;transform:none}
.modal .day-dialog{grid-template-columns:.55fr 1.45fr}
.dm-left{background:var(--yellow);color:var(--black);padding:clamp(28px,4vw,48px);display:flex;flex-direction:column;justify-content:center}
.dm-n{font-family:var(--serif);font-weight:600;font-size:clamp(90px,10vw,160px);line-height:.85;margin-top:14px}
.dm-w{font-family:var(--serif);font-style:italic;font-size:clamp(20px,2vw,28px);line-height:1.1;margin-top:10px}
.dm-intro{margin-top:24px;font-size:14px;line-height:1.55;color:#333;max-width:28ch}
.dm-right{padding:clamp(28px,4vw,48px)}
.dm-list{list-style:none;display:grid}
.dm-list li{display:grid;grid-template-columns:72px 1fr;gap:18px;padding:20px 0;border-top:1px solid rgba(0,0,0,.14)}
.dm-list li:first-child{border-top:0;padding-top:0}
.dm-time{font-family:var(--serif);font-weight:600;font-size:22px;line-height:1.1}
.dm-list b{display:block;font-size:17px;font-weight:700;margin-bottom:4px}
.dm-list p{font-size:14px;line-height:1.55;color:#333}
.dm-list small{display:block;margin-top:8px;font-size:10px;letter-spacing:.2em;text-transform:uppercase;font-weight:600;color:#666}
@media (max-width:760px){.modal .day-dialog{grid-template-columns:1fr}.dm-n{font-size:72px}.dm-list li{grid-template-columns:56px 1fr}}
@media (max-width:760px){
  .modal .dialog{grid-template-columns:1fr}
  .modal .art{min-height:220px}
  .modal .facts{grid-template-columns:1fr 1fr}
}

/* ======================================================
   MOBILE LAYER
   ====================================================== */
html,body{overflow-x:hidden}
.sponsor-strip img{max-width:100%;min-width:0}
img,video,svg{max-width:100%}

@media (max-width:760px){
  :root{--gutter:18px}
  /* header */
  .header{padding:14px var(--gutter)}
  .header.scrolled{padding:10px var(--gutter)}
  .logo img{height:42px}
  /* home hero */
  .hero{min-height:auto;padding-top:96px;padding-bottom:36px;justify-content:flex-start}
  .hero-grid{display:flex;flex-direction:column;gap:26px}
  .hero-grid>div:first-child{padding-top:0;order:1}
  .poster{order:2;width:min(68%,250px);margin:6px auto 0;transform:none;max-width:none}
  .poster:hover{transform:none}
  .hero h1{font-size:clamp(50px,15.5vw,72px)}
  .hero-meta{gap:12px}
  .hero-meta .dates{font-size:clamp(22px,6.5vw,28px)}
  .sub-lead{font-size:17px}
  .hero-actions{gap:10px}
  .hero-actions .btn{width:100%;justify-content:center}
  .scroll-hint{display:none}
  .trailer{padding-top:36px;padding-bottom:48px}
  .video{margin-top:18px;box-shadow:none}
  .vplay{gap:10px}
  .vplay .lbl{font-size:9.5px}
  .vmeta{font-size:9px;left:10px;bottom:10px}
  .marquee{padding:10px 0}
  .marquee span{font-size:16px;padding:0 16px;gap:16px}
  /* generic */
  .section{padding:52px 0}
  .section.tight{padding:36px 0}
  h2{font-size:clamp(32px,9.5vw,46px);margin:12px 0 20px}
  p.lead{font-size:16px}
  .eyebrow{font-size:10px;letter-spacing:.24em}
  .head-row{gap:14px}
  .btn{padding:14px 20px;font-size:11px}
  .intro{gap:28px}
  /* tiles */
  .tiles.compact{gap:10px}
  .tile.sm{aspect-ratio:auto;min-height:0;padding:16px 14px;gap:4px}
  .tile.sm .k{margin-bottom:8px}
  .tile.sm .go{margin-top:8px}
  /* news on home */
  .news{gap:4px}
  .post{padding-top:16px;gap:8px}
  .post h3{font-size:19px}
  /* sponsor strip */
  .sponsor-strip{padding:30px 0}
  .sponsor-strip .row{flex-direction:column;align-items:flex-start;gap:16px}
  .sponsor-strip img{width:100%}
  /* inner heroes */
  .page-hero{padding:110px 0 36px}
  .page-hero h1{font-size:clamp(40px,12.5vw,58px);margin:10px 0 14px}
  .crumbs{font-size:10px}
  .ticket{grid-template-columns:1fr 1fr;width:100%;margin-top:22px}
  .ticket div{padding:12px 14px}
  .ticket div:nth-child(2){border-right:0}
  .ticket div:last-child{grid-column:1/-1;border-right:0;border-top:1px dashed rgba(242,194,59,.6)}
  .ticket b{font-size:20px}
  .ph-program .strip{margin-top:30px}
  .ph-program .frame{flex-basis:150px;font-size:9px}
  .soon{padding:22px 18px;gap:18px}
  .soon-mark{width:64px}
  .soon-title{font-size:30px}
  .ph-editions .ghost{display:none}
  .ph-editions .years{margin-top:24px}
  .ph-editions .years a{padding:10px 12px 10px 0;margin-right:12px;font-size:12px}
  .timeline{padding-bottom:16px;gap:12px}
  .edition{flex-basis:76vw;min-height:250px;padding:20px}
  .edition .no{font-size:56px}
  .ed-block{grid-template-columns:1fr;gap:18px;padding:40px 0}
  .ed-block .big{font-size:72px}
  .ed-block h2{font-size:30px}
  .ed-block .facts{grid-template-columns:1fr 1fr;gap:12px 16px;margin:18px 0;padding:16px 0}
  .ed-block .gallery{grid-template-columns:1fr 1fr 1fr;gap:6px}
  .films{grid-template-columns:repeat(2,1fr);gap:10px}
  .films.archive .film{aspect-ratio:3/4}
  .film .info{padding:12px}
  .film .info h3{font-size:16px}
  .film .info p{font-size:11px}
  .film .tag{font-size:8.5px;padding:4px 6px;top:10px;left:10px}
  .film .num{top:10px;right:10px}
  .film .info .st{font-size:8px;padding:3px 7px;margin-bottom:6px}
  .film .info .more{display:none}
  .quote{padding:20px}
  .quote p{font-size:18px}
  /* news page */
  .ph-news .masthead{gap:10px;padding-bottom:14px}
  .ph-news .masthead .issue{display:none}
  .news-list .post{padding:22px 0;gap:14px}
  .news-list .post .thumb{aspect-ratio:16/9}
  /* about */
  .ph-about .split{gap:26px}
  .ph-about .logo-tile{max-width:240px;margin:0 auto}
  .ph-about .since{gap:22px;flex-wrap:wrap;margin-top:24px}
  .ph-about .since div b{font-size:30px}
  .people{grid-template-columns:repeat(2,1fr);gap:10px;padding-top:16px}
  .person .ph .init{font-size:38px}
  .person .d{padding:12px 14px 14px}
  .person .d b{font-size:14px}
  .person .d small{font-size:10px}
  .person .bio{display:none}
  .banner .big{font-size:48px}
  .orig div{padding:16px}
  /* partners */
  .ph-partners .split{gap:26px}
  .ph-partners .lions{max-width:240px;margin:0 auto}
  .sponsor-banner{padding:14px}
  .sponsor-list{grid-template-columns:1fr 1fr;gap:8px}
  .sponsor-list div{padding:14px 10px;font-size:11px}
  /* contact */
  .ph-contact .bigmail{font-size:clamp(20px,6.6vw,28px);border-bottom-width:1px}
  .ph-contact .meta{flex-direction:column;gap:14px;margin-top:26px}
  .contact{gap:34px}
  .contact h2{font-size:36px}
  .form input,.form textarea{padding:12px 0}
  .map{aspect-ratio:16/10}
  /* modals */
  .modal{padding:10px}
  .modal .dialog{max-height:94vh}
  .modal .art{min-height:180px}
  .modal .body{padding:20px}
  .modal .body h2{font-size:28px}
  .modal .facts{grid-template-columns:1fr 1fr;gap:10px;margin:18px 0;padding:14px 0}
  .modal .screen{flex-direction:column;align-items:flex-start}
  .dm-left{padding:22px}
  .dm-right{padding:22px}
  /* footer */
  footer{padding:44px 0 24px}
  .foot{gap:26px}
  .foot .about .logo img{height:48px}
  .giant{font-size:64px;margin-top:30px}
  .legal{flex-direction:column;gap:6px;margin-top:30px}
}

/* respect the hidden attribute on grids */
[hidden]{display:none!important}
