/*
Theme Name: PNF Foundation
Theme URI: https://peternwomehfoundation.org
Author: PNF Foundation
Author URI: https://peternwomehfoundation.org
Description: The Peter and Margaret Nwomeh Foundation — a charitable organisation serving Ozalla, Nkanu West LGA, and Enugu State, Nigeria. Give | Empower | Transform.
Version: 1.0
License: Proprietary
Text Domain: pnf-foundation
*/

/* ── CSS Custom Properties ─────────────────────────────────── */
:root{
  --cream:#f6efe3; --cream-2:#efe5d2; --ink:#1f1a14; --ink-soft:#3a322a;
  --muted:#7a6f60; --rule:#d9cdb6; --terracotta:#b94a2c; --terracotta-deep:#8a3018;
  --forest:#1f3a2c; --gold:#c08a2e;
  --accent:var(--terracotta); --accent-deep:var(--terracotta-deep);
}

*{box-sizing:border-box}
html,body{margin:0; padding:0; background:var(--cream); color:var(--ink); overflow-x:hidden; max-width:100%;}
body{font-family:"Inter", system-ui, -apple-system, sans-serif;
  -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility;
  overflow-wrap:break-word;}
img{max-width:100%; height:auto;}
a{color:inherit}

.serif{font-family:"Fraunces", serif;}
.mono{font-family:"JetBrains Mono", monospace;}

.ph{display:flex; align-items:center; justify-content:center;
  font-family:"JetBrains Mono", monospace; font-size:10px; letter-spacing:.15em;
  text-transform:uppercase; text-align:center; padding:12px;
  background:
    repeating-linear-gradient(135deg, rgba(31,26,20,.08) 0 1px, transparent 1px 10px),
    linear-gradient(180deg, #d9cdb6, #c8b89c);
  color:#3a322a;}

.ph.dark{background:
  repeating-linear-gradient(135deg, rgba(246,239,227,.08) 0 1px, transparent 1px 10px),
  linear-gradient(180deg, #2c2520, #1f1a14);
  color:#bfae93;}

/* ── Shared utility classes ─────────────────────────────────── */
.pnf-pad{padding:100px 56px;}
.pnf-pad-tight{padding:64px 56px 0;}
.pnf-section{max-width:1200px; margin:0 auto;}
.pnf-section-narrow{max-width:900px; margin:0 auto;}

/* ── Chapter bar ────────────────────────────────────────────── */
.pnf-chapter-bar{display:flex; justify-content:space-between; align-items:baseline; border-bottom:2px solid var(--ink); padding-bottom:14px; margin-bottom:40px; flex-wrap:wrap; gap:12px;}
.pnf-chapter-bar .ch-label{font-family:"JetBrains Mono", monospace; font-size:12px; letter-spacing:.22em; color:var(--terracotta); text-transform:uppercase;}
.pnf-chapter-bar .ch-title{font-family:"Fraunces", serif; font-size:clamp(30px, 4.4vw, 56px); font-weight:300; letter-spacing:-.02em; margin:0; line-height:1.02; text-wrap:balance; color:var(--ink);}

/* ── Grid layouts ───────────────────────────────────────────── */
.pnf-grid-2{display:grid; grid-template-columns:1fr 1fr; gap:0; border:1px solid var(--rule);}
.pnf-grid-2 > *{border-right:1px solid var(--rule);}
.pnf-grid-2 > *:last-child{border-right:none;}
.pnf-grid-3{display:grid; grid-template-columns:repeat(3, 1fr); gap:0; border:1px solid var(--rule);}
.pnf-grid-3 > *{border-right:1px solid var(--rule);}
.pnf-grid-3 > *:last-child{border-right:none;}
.pnf-grid-4{display:grid; grid-template-columns:repeat(4, 1fr); gap:0; border:1px solid var(--rule);}
.pnf-grid-4 > *{border-right:1px solid var(--rule);}
.pnf-grid-4 > *:last-child{border-right:none;}

/* ── Stat tile ──────────────────────────────────────────────── */
.pnf-stat-tile{padding:32px 28px; border:1px solid var(--rule); display:flex; flex-direction:column; gap:10px; min-height:200px;}
.pnf-stat-tile .stat-num{font-family:"Fraunces", serif; font-size:clamp(48px, 6vw, 80px); font-weight:300; line-height:.92; letter-spacing:-.03em; color:var(--accent);}
.pnf-stat-tile .stat-label{font-family:"Fraunces", serif; font-size:18px; font-weight:500; line-height:1.3; color:var(--ink);}
.pnf-stat-tile .stat-note{font-size:13px; line-height:1.5; color:var(--muted); margin-top:auto; text-wrap:pretty;}

/* ── Nav ────────────────────────────────────────────────────── */
.pnf-logo-img{height:64px; width:auto; display:block; flex-shrink:0;}
.pnf-logo-title{font-family:"Fraunces", serif; font-size:17px; font-weight:500; letter-spacing:-.01em;}
.pnf-logo-sub{font-family:"JetBrains Mono", monospace; font-size:10px; letter-spacing:.18em; text-transform:uppercase; color:var(--muted);}
.pnf-mainnav{padding:18px 32px; gap:32px;}
.pnf-mobile-toggle{display:none; background:transparent; border:1px solid var(--ink); width:40px; height:40px; padding:0; cursor:pointer; align-items:center; justify-content:center; flex-shrink:0;}
.pnf-mobile-menu{display:none; max-height:0; overflow:hidden; transition:max-height .35s cubic-bezier(.2,.7,.2,1); border-top:1px solid transparent; background:var(--cream);}
.pnf-mobile-menu.open{max-height:calc(100vh - 60px); border-top:1px solid var(--rule);}

/* ── Footer ─────────────────────────────────────────────────── */
.pnf-footer{padding:100px 32px 40px; background:var(--ink); color:var(--cream);}
.pnf-footer-mark{margin-bottom:60px;}
.pnf-footer-mark img{height:170px; width:auto; display:block;}
.pnf-footer-cols{display:grid; grid-template-columns:2fr 1fr 1fr 1fr 1fr; gap:48px; padding-bottom:60px; border-bottom:1px solid rgba(246,239,227,.15);}
.pnf-footer-bottom{display:flex; justify-content:space-between; align-items:center; padding-top:32px; font-size:12px; color:rgba(246,239,227,.55); font-family:"JetBrains Mono", monospace;}
.pnf-footer-utility{display:none; padding-top:20px; margin-top:20px; border-top:1px solid rgba(246,239,227,.15); font-size:11px; letter-spacing:.12em; text-transform:uppercase; color:rgba(246,239,227,.55); font-family:"JetBrains Mono", monospace; flex-direction:column; gap:10px;}

/* ── Top Strip ──────────────────────────────────────────────── */
.pnf-topstrip{padding:8px 32px; display:flex; justify-content:space-between; align-items:center; background:var(--ink); color:var(--cream); font-family:"JetBrains Mono", monospace; font-size:11px; letter-spacing:.08em; text-transform:uppercase;}

/* ── Home hero ──────────────────────────────────────────────── */
.pnf-home-hero{padding:100px 32px 64px;}
.pnf-home-hero-grid{display:grid; grid-template-columns:1fr 1.2fr; gap:64px; align-items:center;}
.pnf-home-hero-h1{font-family:"Fraunces", serif; font-size:clamp(56px, 7.5vw, 112px); font-weight:var(--hl-wt, 400); line-height:.92; letter-spacing:-.035em; margin:0; text-wrap:balance;}
.pnf-home-hero-body{font-family:"Fraunces", serif; font-size:20px; line-height:1.55; color:var(--ink-soft); max-width:520px; text-wrap:pretty; margin:0;}
.pnf-home-hero-cta{display:flex; gap:14px; align-items:center; flex-wrap:wrap;}

/* ── Marquee ────────────────────────────────────────────────── */
.pnf-marquee{overflow:hidden; border-top:1px solid var(--rule); border-bottom:1px solid var(--rule); padding:18px 0; background:var(--cream-2); white-space:nowrap; font-family:"JetBrains Mono", monospace; font-size:12px; letter-spacing:.15em; text-transform:uppercase; color:var(--muted);}
.pnf-marquee-inner{display:inline-block; animation:marquee 30s linear infinite;}

/* ── Programme tabs ─────────────────────────────────────────── */
.pnf-tabs{display:flex; gap:0; border-bottom:1px solid var(--rule); margin-bottom:36px; overflow-x:auto;}
.pnf-tab{padding:16px 24px; cursor:pointer; font-family:"JetBrains Mono", monospace; font-size:11px; letter-spacing:.15em; text-transform:uppercase; color:var(--muted); background:transparent; border:none; border-bottom:2px solid transparent; white-space:nowrap; transition:all .2s ease;}
.pnf-tab:hover{color:var(--ink);}
.pnf-tab.active{color:var(--ink); border-bottom-color:var(--accent);}

/* ── Timeline ───────────────────────────────────────────────── */
.pnf-timeline-h2{font-family:"Fraunces", serif; font-size:36px; font-weight:300; letter-spacing:-.02em; margin:0 0 36px;}
.pnf-timeline-bar{padding-bottom:20px; margin-bottom:56px; border-bottom:1px solid var(--rule);}

/* ── Blog ───────────────────────────────────────────────────── */
.pnf-blog-grid{display:grid; grid-template-columns:repeat(3, 1fr); gap:32px;}
.pnf-blog-card{border:1px solid var(--rule); background:var(--cream); overflow:hidden; display:flex; flex-direction:column;}
.pnf-blog-card-img{width:100%; height:220px; object-fit:cover; display:block;}
.pnf-blog-card-body{padding:24px; flex:1; display:flex; flex-direction:column; gap:12px;}
.pnf-blog-card-title{font-family:"Fraunces", serif; font-size:22px; font-weight:400; line-height:1.2; letter-spacing:-.01em; color:var(--ink); text-decoration:none;}
.pnf-blog-card-title:hover{color:var(--terracotta);}
.pnf-blog-card-meta{font-family:"JetBrains Mono", monospace; font-size:10px; letter-spacing:.15em; text-transform:uppercase; color:var(--muted);}
.pnf-blog-card-excerpt{font-size:14px; line-height:1.6; color:var(--ink-soft); text-wrap:pretty;}

/* ── Blog single ────────────────────────────────────────────── */
.pnf-blog-post-layout{display:grid; grid-template-columns:1fr 320px; gap:64px; align-items:start;}
.pnf-blog-aside{position:sticky; top:100px;}

/* ── Honoree ────────────────────────────────────────────────── */
.pnf-honoree-hero-h1{font-family:"Fraunces", serif; font-size:clamp(48px, 8vw, 120px); font-weight:300; line-height:.94; letter-spacing:-.03em; margin:0;}
.pnf-honoree-section-h3{font-family:"Fraunces", serif; font-size:30px; font-weight:400; letter-spacing:-.02em; margin:0 0 14px;}
.pnf-honoree-body{font-family:"Fraunces", serif; font-size:20px; line-height:1.7; color:var(--ink-soft); max-width:760px;}
.pnf-honoree-body p{margin:0 0 20px; text-wrap:pretty;}
.pnf-honoree-figure{width:320px; margin:0 0 28px 32px;}
.pnf-honoree-figure.float-right{float:right;}
.pnf-honoree-figure.float-left{float:left; margin-right:32px; margin-left:0;}
.pnf-honoree-figure img{width:100%; height:auto; display:block;}
.pnf-honoree-figure figcaption{font-family:"JetBrains Mono", monospace; font-size:10px; letter-spacing:.1em; text-transform:uppercase; color:var(--muted); margin-top:10px; line-height:1.45;}

/* ── Tribute posts (blog-single style) ── */
.pnf-tribute-layout{display:grid; grid-template-columns:1fr 320px; gap:64px; align-items:start;}

/* ── Connect pages ──────────────────────────────────────────── */
.pnf-bank-card{background:var(--cream); border:1px solid var(--rule); padding:28px 28px 24px; display:flex; flex-direction:column; gap:18px;}
.pnf-online-card{border:1px solid rgba(246,239,227,.2); padding:36px 32px; display:flex; flex-direction:column; gap:18px;}

/* ── Donate preset grid ─────────────────────────────────────── */
.pnf-preset-grid{display:grid; grid-template-columns:repeat(5, 1fr); gap:0; border:1px solid var(--rule);}

/* ── Scholarship notice ─────────────────────────────────────── */
.pnf-scholarship-notice{display:grid; grid-template-columns:1fr 1fr; max-width:560px; border:1px solid var(--rule);}
.pnf-scholarship-notice-cell{padding:18px 20px;}
.pnf-scholarship-notice-cell:first-child{border-right:1px solid var(--rule); background:var(--cream-2);}
.pnf-scholarship-notice strong{font-weight:600;}

/* ── Desktop nav dropdown ───────────────────────────────────── */
.pnf-nav-wrap{position:sticky; top:0; z-index:50; background:rgba(246,239,227,.92); backdrop-filter:blur(20px) saturate(140%); -webkit-backdrop-filter:blur(20px) saturate(140%); border-bottom:1px solid var(--rule);}
.pnf-nav-inner{display:grid; grid-template-columns:auto 1fr auto; align-items:center;}
.pnf-nav-center{display:flex; justify-content:center;}
.pnf-nav-item{position:relative;}
.pnf-nav-link{display:block; padding:14px 18px; text-decoration:none; font-size:13px; color:var(--ink); letter-spacing:.02em; border-bottom:1px solid transparent; background:transparent; cursor:pointer;}
.pnf-nav-link.active, .pnf-nav-link:hover{border-bottom-color:var(--accent);}
.pnf-nav-dropdown{position:absolute; top:100%; left:0; background:var(--cream); border:1px solid var(--rule); border-top:none; min-width:280px; padding:12px 0; box-shadow:0 12px 30px -12px rgba(31,26,20,.25); z-index:51;}
.pnf-nav-dropdown a{display:block; padding:8px 20px; font-size:13px; color:var(--ink-soft); text-decoration:none; white-space:nowrap;}
.pnf-nav-dropdown a:hover{color:var(--accent);}
.pnf-nav-ctas{display:flex; gap:10px; align-items:center;}

/* ── Mobile menu accordion ──────────────────────────────────── */
.pnf-mobile-nav-item{border-bottom:1px solid var(--rule);}
.pnf-mobile-nav-btn{display:flex; justify-content:space-between; align-items:center; width:100%; padding:16px 20px; border:0; background:transparent; font-family:"Fraunces", serif; font-size:20px; font-weight:400; letter-spacing:-.01em; color:var(--ink); text-align:left; cursor:pointer;}
.pnf-mobile-subnav{max-height:0; overflow:hidden; transition:max-height .3s ease; padding:0 20px;}
.pnf-mobile-subnav.open{max-height:600px; padding-bottom:16px;}
.pnf-mobile-subnav a{display:block; padding:10px 0; font-size:14px; color:var(--ink-soft); text-decoration:none; font-family:"Inter", sans-serif;}
.pnf-mobile-subnav a:hover{color:var(--accent);}
.pnf-mobile-ctas{padding:20px; display:flex; flex-direction:column; gap:12px;}

/* ── Donate Modal ───────────────────────────────────────────── */
.pnf-modal-overlay{position:fixed; inset:0; z-index:200; background:rgba(31,26,20,.7); display:flex; align-items:center; justify-content:center; padding:24px;}
.pnf-modal{background:var(--cream); max-width:640px; width:100%; max-height:90vh; overflow-y:auto; box-shadow:0 24px 60px -12px rgba(31,26,20,.4);}

/* ── Animated elements ──────────────────────────────────────── */
@keyframes marquee{0%{transform:translateX(0);}100%{transform:translateX(-50%);}}

/* ── Buttons ────────────────────────────────────────────────── */
.pnf-btn{display:inline-flex; align-items:center; gap:10px; font-weight:500; letter-spacing:.04em; text-transform:uppercase; border:1px solid currentColor; border-radius:0; transition:all .18s ease; text-decoration:none; cursor:pointer; font-family:"Inter", system-ui, -apple-system, sans-serif;}
.pnf-btn-sm{padding:8px 14px; font-size:12px;}
.pnf-btn-md{padding:12px 20px; font-size:13px;}
.pnf-btn-lg{padding:16px 26px; font-size:14px;}
.pnf-btn-solid{background:var(--accent); color:var(--cream); border-color:var(--accent);}
.pnf-btn-solid:hover{background:var(--accent-deep); border-color:var(--accent-deep);}
.pnf-btn-ghost{background:transparent; color:var(--ink); border-color:var(--ink);}
.pnf-btn-ghost:hover{background:var(--ink); color:var(--cream);}
.pnf-btn-on-dark{background:var(--cream); color:var(--ink); border-color:var(--cream);}
.pnf-btn-on-dark:hover{background:transparent; color:var(--cream);}
.pnf-btn-link{background:transparent; color:var(--ink); border-color:transparent; padding:0; border-bottom:1px solid var(--ink); border-radius:0; text-transform:uppercase;}

/* ── Voices carousel ────────────────────────────────────────── */
.pnf-voices-nav-btn{width:44px; height:44px; border:1px solid var(--ink); background:transparent; cursor:pointer; display:flex; align-items:center; justify-content:center; font-size:18px; color:var(--ink); transition:all .2s ease;}
.pnf-voices-nav-btn:hover{background:var(--ink); color:var(--cream);}
.pnf-voices-nav-btn:disabled{opacity:.3; cursor:default;}
.pnf-voices-nav-btn:disabled:hover{background:transparent; color:var(--ink);}

/* ── Grid utility ───────────────────────────────────────────── */
.pnf-rule{border-bottom:1px solid var(--rule);}

/* ── Prose ──────────────────────────────────────────────────── */
.pnf-prose{font-family:"Fraunces", serif; font-size:19px; line-height:1.7; color:var(--ink-soft); max-width:760px;}

/* ── Bullet list ────────────────────────────────────────────── */
.pnf-bullet-list{list-style:none; padding:0; margin:0; border-top:1px solid var(--rule);}
.pnf-bullet-list li{border-bottom:1px solid var(--rule); padding:16px 0; display:grid; grid-template-columns:40px 1fr; gap:16px; align-items:baseline;}
.pnf-bullet-list .bl-num{font-family:"JetBrains Mono", monospace; font-size:11px; letter-spacing:.15em; color:var(--accent);}
.pnf-bullet-list .bl-text{font-family:"Fraunces", serif; font-size:17px; line-height:1.6; color:var(--ink); text-wrap:pretty;}

/* ── Numbers section ────────────────────────────────────────── */
.pnf-numbers-grid{display:grid; grid-template-columns:repeat(4, 1fr); gap:0; border:1px solid rgba(246,239,227,.18);}

/* ── Page shell ─────────────────────────────────────────────── */
.pnf-page-hero-h1{font-family:"Fraunces", serif; font-size:clamp(40px, 6.6vw, 104px); font-weight:300; line-height:.96; letter-spacing:-.03em; margin:0 0 28px; text-wrap:balance;}
.pnf-page-hero-lede{font-family:"Fraunces", serif; font-size:20px; line-height:1.55; color:var(--ink-soft); max-width:880px; margin:0; text-wrap:pretty;}
.pnf-connect-hero-h1{font-family:"Fraunces", serif; font-size:clamp(48px, 7.6vw, 124px); font-weight:300; line-height:.92; letter-spacing:-.035em; margin:0 0 28px; text-wrap:balance;}
.pnf-connect-hero-lede{font-family:"Fraunces", serif; font-size:22px; font-style:italic; color:var(--ink-soft); max-width:880px; line-height:1.45; text-wrap:pretty; margin:0;}

/* ── Donate CTA section ─────────────────────────────────────── */
.pnf-donate-cta-grid{display:grid; grid-template-columns:1fr 1fr; gap:64px; align-items:end;}

/* ── Two paths ──────────────────────────────────────────────── */
.pnf-two-paths{display:grid; grid-template-columns:1fr 1fr; border:1px solid var(--rule);}
.pnf-two-paths a{display:flex; flex-direction:column; gap:14px; padding:36px 32px; text-decoration:none; color:inherit; background:var(--cream); border-right:1px solid var(--rule);}
.pnf-two-paths a:last-child{border-right:none;}

/* ── Office cards ───────────────────────────────────────────── */
.pnf-office-grid{display:grid; grid-template-columns:1fr 1fr; gap:32px;}

/* ── Trustee accordion ──────────────────────────────────────── */
.pnf-trustee-grid{display:flex; flex-direction:column; border-top:1px solid var(--rule);}
.pnf-trustee-card{border-bottom:1px solid var(--rule); border-right:1px solid var(--rule); padding:32px 28px; background:var(--cream); cursor:pointer; text-align:left; transition:background .2s ease;}
.pnf-trustee-card:hover{background:var(--cream-2);}
.pnf-trustee-bio-panel{padding:48px 0; border-bottom:1px solid var(--rule);}
.pnf-trustee-bio-inner{display:grid; grid-template-columns:180px 1fr; gap:40px; padding:0 28px; align-items:start;}

/* ── Pull quote ─────────────────────────────────────────────── */
.pnf-pullquote{font-family:"Fraunces", serif; font-size:48px; font-weight:300; line-height:1.25; letter-spacing:-.02em; color:var(--ink); text-wrap:balance;}

/* ── Scholarships notice emphasis ───────────────────────────── */
.pnf-scholarship-notice .pnf-scholarship-notice-cell:last-child strong{color:var(--accent);}

/* ── Footer links ───────────────────────────────────────────── */
.pnf-footer a{transition:opacity .2s ease;}
.pnf-footer a:hover{opacity:.7;}
.pnf-footer-col h4{font-family:"JetBrains Mono", monospace; font-size:10px; letter-spacing:.18em; text-transform:uppercase; color:rgba(246,239,227,.5); margin:0 0 16px;}
.pnf-footer-col ul{list-style:none; padding:0; margin:0; display:flex; flex-direction:column; gap:10px;}
.pnf-footer-col ul li a{color:var(--cream); text-decoration:none; font-size:13px;}

/* ── From the Field ─────────────────────────────────────────── */
.pnf-ftf-card{border:1px solid var(--rule); overflow:hidden; background:var(--cream); display:flex; flex-direction:column;}
.pnf-ftf-card-img-wrap{overflow:hidden; aspect-ratio:4/3;}
.pnf-ftf-card-img{width:100%; height:100%; object-fit:cover; display:block;}
.pnf-ftf-card-body{padding:20px; display:flex; flex-direction:column; gap:10px; flex:1;}

/* ── Copy button ────────────────────────────────────────────── */
.pnf-copy-btn{cursor:pointer; font-family:"JetBrains Mono", monospace; font-size:10px; letter-spacing:.18em; text-transform:uppercase; padding:8px 14px; border:1px solid var(--ink); background:transparent; color:var(--ink); transition:all .18s ease;}
.pnf-copy-btn.copied{background:var(--ink); color:var(--cream);}

/* ── Get Involved ───────────────────────────────────────────── */
.pnf-get-involved{display:grid; grid-template-columns:1fr 1fr; gap:0; border-top:1px solid var(--rule);}

/* ── Archival / About page hero ─────────────────────────────── */
.pnf-about-hero-h1{font-family:"Fraunces", serif; font-size:clamp(48px, 8vw, 140px); font-weight:300; line-height:.94; letter-spacing:-.03em; margin:0;}

/* ── RESPONSIVE BREAKPOINTS ───────────────────────────────────────────────── */

/* Tablet / narrow browser (≤900px) */
@media (max-width: 900px){
  [style*="display: grid"] > *, [style*="display:grid"] > *{min-width:0;}
  .pnf-home-hero{padding:48px 20px 56px !important;}
  .pnf-home-hero-grid{grid-template-columns:minmax(0, 1fr) !important; grid-template-areas:"head" "image" "body" "cta" !important; column-gap:0 !important; row-gap:24px !important;}
  .pnf-home-hero-h1{font-size:clamp(28px, 8.5vw, 56px) !important; line-height:1.0 !important; margin-top:16px !important;}
  .pnf-home-hero-body{font-size:17px !important; line-height:1.55 !important;}
  .pnf-home-hero-cta{display:flex !important; flex-direction:column !important; align-items:stretch !important; gap:12px !important; width:100% !important;}
  .pnf-home-hero-cta > *{width:100% !important; justify-content:center !important;}
  
  [style*="padding: 100px 32px"],[style*="padding:100px 32px"],
  [style*="padding: 120px 32px"],[style*="padding:120px 32px"],
  [style*="padding: 80px 32px"],[style*="padding:80px 32px"],
  [style*="padding: 100px 56px"],[style*="padding:100px 56px"],
  [style*="padding: 120px 56px"],[style*="padding:120px 56px"],
  [style*="padding: 80px 56px"],[style*="padding:80px 56px"],
  [style*="padding: 60px 56px"],[style*="padding:60px 56px"],
  [style*="padding: 36px 56px"],[style*="padding:36px 56px"]{padding:56px 20px !important;}
  [style*="padding: 64px 56px 0"],[style*="padding:64px 56px 0"],
  [style*="padding: 56px 56px 0"],[style*="padding:56px 56px 0"]{padding:28px 20px 0 !important;}
  [style*="padding: 56px 56px 100px"],[style*="padding:56px 56px 100px"]{padding:32px 20px 64px !important;}
  [style*="padding: 100px 60px"],[style*="padding:100px 60px"]{padding:48px 20px !important;}
  [style*="padding: 48px 48px"]{padding:28px 20px !important;}
  [style*="padding: 40px 28px"]{padding:28px 20px !important;}
  
  [style*="grid-template-columns: 1fr 1.2fr"],[style*="grid-template-columns:1fr 1.2fr"],
  [style*="grid-template-columns: 1fr 1.4fr"],[style*="grid-template-columns:1fr 1.4fr"],
  [style*="grid-template-columns: 360px 1fr"],[style*="grid-template-columns:360px 1fr"],
  [style*="grid-template-columns: 260px"],[style*="grid-template-columns:260px"],
  [style*="grid-template-columns: 320px"],[style*="grid-template-columns:320px"],
  [style*="grid-template-columns: 180px"],[style*="grid-template-columns:180px"],
  [style*="grid-template-columns: 140px"],[style*="grid-template-columns:140px"],
  [style*="grid-template-columns: minmax"],[style*="grid-template-columns:minmax"],
  [style*="grid-template-columns: repeat(2"],[style*="grid-template-columns:repeat(2"],
  [style*="grid-template-columns: repeat(3"],[style*="grid-template-columns:repeat(3"],
  [style*="grid-template-columns: repeat(4"],[style*="grid-template-columns:repeat(4"],
  [style*="grid-template-columns: 1fr 1fr"]{grid-template-columns:minmax(0, 1fr) !important; gap:24px !important;}
  [style*="grid-template-columns: 1fr 1fr 1fr"]{grid-template-columns:minmax(0, 1fr) !important;}
  [style*="1fr 320px"],[style*="1fr 260px"],[style*="1fr 240px"],[style*="1fr 200px"],[style*="1fr 180px"],[style*="1fr 480px"]{grid-template-columns:minmax(0, 1fr) !important; gap:24px !important;}
  [style*="grid-template-columns: 80px 100px"],[style*="grid-template-columns: 100px 1fr 100px"],
  [style*="grid-template-columns: 50px 1fr 1fr"]{grid-template-columns:minmax(0, 1fr) !important; gap:24px !important;}
  [style*="grid-template-columns: 60px 1fr auto"]{grid-template-columns:40px 1fr 28px !important; gap:12px !important;}
  
  .pnf-footer{padding:72px 24px 32px !important;}
  .pnf-footer-mark{margin-bottom:40px !important;}
  .pnf-footer-mark img{height:132px !important;}
  .pnf-footer-cols{grid-template-columns:1fr 1fr !important; gap:36px 28px !important; padding-bottom:40px !important;}
  .pnf-footer-cols > :first-child{grid-column:1 / -1 !important;}
  .pnf-footer-bottom{flex-direction:column !important; align-items:flex-start !important; gap:14px !important;}
  
  [style*="position: sticky"][style*="top: 120"]{position:static !important;}
  [style*="columns: 2"]{columns:1 !important;}
  [style*="min-height: 480"]{min-height:0 !important;}
  
  .pnf-honoree-figure{width:100% !important; max-width:100% !important; margin:0 0 24px 0 !important; float:none !important;}
  [style*="grid-template-columns: 140px 1fr"]{grid-template-columns:minmax(0, 1fr) !important;}
  
  h1[style*="font-size: 140"],h1[style*="font-size:140"]{font-size:clamp(40px, 12vw, 64px) !important; line-height:.94 !important;}
  h1[style*="font-size: 120"],h1[style*="font-size:120"]{font-size:clamp(40px, 11vw, 60px) !important; line-height:.96 !important;}
  [style*="font-style: italic"][style*="font-size: 48"]{font-size:30px !important;}
  [style*="font-size: 36"][style*="Fraunces"]{font-size:28px !important;}
}

/* Phone (≤640px) */
@media (max-width: 640px){
  .pnf-pad{padding:44px 18px !important;}
  .pnf-topstrip{display:none !important;}
  .pnf-mainnav{grid-template-columns:1fr auto !important; padding:12px 18px !important; gap:12px !important;}
  .pnf-nav-center{display:none !important;}
  .pnf-desktop-nav{display:none !important;}
  .pnf-mobile-toggle{display:inline-flex !important;}
  .pnf-mobile-menu{display:block !important;}
  .pnf-logo-img{height:46px !important;}
  .pnf-logo-title{font-size:14px !important;}
  .pnf-logo-sub{font-size:9px !important;}
  
  .pnf-footer{padding:56px 20px 28px !important;}
  .pnf-footer-mark{margin-bottom:32px !important;}
  .pnf-footer-mark img{height:104px !important;}
  .pnf-footer-cols{grid-template-columns:1fr 1fr !important; gap:32px 20px !important; padding-bottom:36px !important;}
  .pnf-footer-cols > :first-child{grid-column:1 / -1 !important;}
  .pnf-footer-bottom{flex-direction:column !important; align-items:flex-start !important; gap:14px !important;}
  .pnf-footer-utility{display:flex !important;}
  
  .pnf-grid-2{grid-template-columns:minmax(0, 1fr) !important;}
  .pnf-grid-2 > *{border-right:none !important; border-bottom:1px solid var(--rule) !important; padding:24px 20px !important;}
  .pnf-grid-2 > *:last-child{border-bottom:none !important;}
  .pnf-grid-3{grid-template-columns:minmax(0, 1fr) !important;}
  .pnf-grid-3 > *{border-right:none !important; border-bottom:1px solid var(--rule) !important;}
  .pnf-grid-3 > *:last-child{border-bottom:none !important;}
  .pnf-grid-4{grid-template-columns:minmax(0, 1fr) !important;}
  .pnf-grid-4 > *{border-right:none !important; border-bottom:1px solid var(--rule) !important; padding:24px 20px !important;}
  .pnf-grid-4 > *:last-child{border-bottom:none !important;}
  
  [style*="grid-template-columns: repeat(4, 1fr)"]{grid-template-columns:1fr 1fr !important;}
  [style*="grid-template-columns: repeat(5"],[style*="grid-template-columns:repeat(5"]{grid-template-columns:repeat(2, 1fr) !important;}
  [style*="font-size: clamp(48px, 8vw, 120px)"],[style*="font-size: clamp(64px, 8vw, 120px)"]{font-size:clamp(56px, 16vw, 88px) !important;}
  [style*="border-right: 1px solid var(--rule)"]{border-right:none !important;}
  
  h2[style*="font-size: 72"],h2[style*="font-size:72"],
  h2[style*="font-size: 48"],h2[style*="font-size:48"]{font-size:clamp(28px, 7vw, 36px) !important; line-height:1.05 !important;}
  h2[style*="font-size: 56"]{font-size:clamp(32px, 9vw, 44px) !important;}
  .pnf-scholarship-notice{grid-template-columns:minmax(0, 1fr) !important;}
  .pnf-scholarship-notice-cell:first-child{border-bottom:1px solid var(--rule) !important;}
}

/* Blog sidebar responsive */
@media (max-width: 960px){
  .pnf-blog-post-layout .pnf-blog-aside{position:static !important; padding-top:28px !important; border-top:1px solid var(--rule);}
  .pnf-tribute-layout{grid-template-columns:minmax(0, 1fr) !important;}
}

