/* PSRN BPKIHS Homepage-only refinements; no changes to other public pages. */
.psrn-homepage .psrn-contact-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, .92fr);
    gap: clamp(22px, 5vw, 65px);
    align-items: start;
}
.psrn-homepage .psrn-location-line {
    display: inline-flex;
    gap: 9px;
    align-items: center;
    margin-top: 16px;
    padding: 10px 13px;
    border: 1px solid rgba(18,107,89,.1);
    background: rgba(18,107,89,.05);
    border-radius: 11px;
    font-size: 12px;
    font-weight: 700;
    color: var(--green);
}
.psrn-homepage .psrn-location-line svg { width: 17px; height: 17px; flex-shrink: 0; }
.psrn-homepage .psrn-involve-details {
    margin-top: 26px;
    border: 1px solid rgba(18,107,89,.18);
    border-radius: 18px;
    background: linear-gradient(135deg,#fff, #f2faf6);
    box-shadow: 0 12px 34px rgba(14,79,64,.07);
    overflow: hidden;
}
.psrn-homepage .psrn-involve-toggle {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    cursor: pointer;
    padding: 18px 20px;
    list-style: none;
    user-select: none;
    transition: background .25s ease;
}
.psrn-homepage .psrn-involve-toggle:hover { background: rgba(18,107,89,.055); }
.psrn-homepage .psrn-involve-toggle::-webkit-details-marker { display: none; }
.psrn-homepage .psrn-involve-toggle::marker { content: ''; }
.psrn-homepage .psrn-involve-toggle:focus-visible,
.psrn-homepage .psrn-social-tile:focus-visible { outline: 3px solid rgba(18,107,89,.38); outline-offset: 3px; }
.psrn-homepage .psrn-involve-summary-copy { display: grid; gap: 3px; }
.psrn-homepage .psrn-involve-summary-copy strong { font-size: 14px; color: #0e5b4c; }
.psrn-homepage .psrn-involve-summary-copy small { font-size: 11px; color: var(--muted); }
.psrn-homepage .psrn-involve-chevron {
    display: grid; place-items: center;
    width: 34px; height: 34px; flex: 0 0 34px;
    border-radius: 50%; background: var(--green); color: #fff;
    transition: transform .3s cubic-bezier(.2,.75,.3,1), background .25s ease;
}
.psrn-homepage .psrn-involve-chevron svg { width: 18px; height: 18px; }
.psrn-homepage .psrn-involve-details[open] .psrn-involve-chevron { transform: rotate(180deg); }
.psrn-homepage .psrn-involve-details[open] .psrn-involve-summary-copy small { color: #327962; }
.psrn-homepage .psrn-involve-panel { padding: 0 15px 17px; animation: psrn-form-enter .35s cubic-bezier(.2,.8,.3,1) both; }
@keyframes psrn-form-enter { from { opacity: 0; transform: translateY(-9px); } to { opacity: 1; transform: translateY(0); } }
.psrn-homepage .psrn-involve-form.contact-card {
    padding: 18px;
    gap: 15px;
    border: 1px solid rgba(18,107,89,.10);
    border-radius: 13px;
    box-shadow: none;
    background: rgba(255,255,255,.96);
}
.psrn-homepage .psrn-involve-form label { display: grid; gap: 6px; min-width: 0; }
.psrn-homepage .psrn-involve-form label > span { font-size: 11px; font-weight: 750; color: #395950; }
.psrn-homepage .psrn-involve-form input,
.psrn-homepage .psrn-involve-form textarea { font: inherit; font-size: 12px; line-height: 1.5; }
.psrn-homepage .psrn-involve-form textarea { min-height: 112px; }
.psrn-homepage .psrn-involve-form .btn { font-size: 12px; }
.psrn-homepage .psrn-form-help { margin: 0; color: var(--muted); font-size: 10.5px; line-height: 1.6; }
.psrn-homepage .psrn-connect-panel {
    position: relative; padding: clamp(24px,3vw,36px);
    border: 1px solid rgba(18,107,89,.12);
    border-radius: 23px;
    background: linear-gradient(150deg, #f5fcf8, #fff 58%,#f4f9fb);
    box-shadow: 0 18px 50px rgba(28,45,40,.07);
    overflow: hidden;
}
.psrn-homepage .psrn-connect-panel::before {
    content: ''; position: absolute; right: -75px; top: -110px;
    width: 250px; height: 250px; border-radius: 50%;
    background: radial-gradient(circle,rgba(18,107,89,.07),transparent 67%);
    pointer-events: none;
}
.psrn-homepage .psrn-connect-panel h3 {
    position: relative; margin: 10px 0 6px;
    font: 700 clamp(25px,3vw,36px)/1.15 'Playfair Display',Georgia,serif;
    color: #123c32;
}
.psrn-homepage .psrn-connect-panel > p { margin: 0 0 20px; color: var(--muted); font-size: 12px; line-height: 1.65; }
.psrn-homepage .psrn-social-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.psrn-homepage .psrn-social-tile {
    display:flex; flex-direction: column; align-items:flex-start;
    min-width:0; padding: 17px 15px; text-decoration:none;
    border:1px solid rgba(18,107,89,.11); border-radius:15px;
    background:rgba(255,255,255,.9); color:#163d32;
    box-shadow:0 6px 18px rgba(28,45,40,.035);
    transition: transform .25s cubic-bezier(.2,.8,.3,1), border-color .25s ease, box-shadow .25s ease, background .25s ease;
}
.psrn-homepage .psrn-social-tile:hover { transform:translateY(-5px); border-color:rgba(18,107,89,.26); box-shadow:0 16px 30px rgba(28,45,40,.1); background:#fff; }
.psrn-homepage .psrn-social-tile .psrn-social-icon {
    display: grid; place-items: center; width: 40px; height: 40px;
    margin-bottom: 12px; border-radius: 12px;
    color: var(--green); background: rgba(18,107,89,.09);
    transition: background .25s ease, transform .25s ease;
}
.psrn-homepage .psrn-social-tile:hover .psrn-social-icon { transform:scale(1.06); background:rgba(18,107,89,.15); }
.psrn-homepage .psrn-social-icon svg { display:block; width:23px; height:23px; }
.psrn-homepage .psrn-social-tile strong { font-size:13px; }
.psrn-homepage .psrn-social-tile small { margin-top: 4px; font-size:10px; color:#7f9390; }
.psrn-homepage .psrn-connect-email {
    display:inline-flex; margin-top:19px; align-items:center; gap:6px;
    color:var(--green); font-size:11px; font-weight:700;
    overflow-wrap:anywhere; text-decoration:none;
}
.psrn-homepage .psrn-connect-email:hover { text-decoration:underline; }

/* Mobile/tablet portrait refinements: desktop hero, counters and team remain untouched. */
@media (max-width: 700px) {
    .psrn-homepage .public-hero { min-height:0; padding: 40px 0 28px; }
    .psrn-homepage .public-hero-grid { gap: 22px; }
    .psrn-homepage .public-hero-copy h1 { font-size:clamp(42px,11.5vw,62px); line-height:1.02; }
    .psrn-homepage .public-hero-copy > p { font-size:12px; margin-top: 15px; line-height:1.68; }
    .psrn-homepage .hero-actions { display:flex; margin-top:17px; }
    .psrn-homepage .hero-actions a[href="/bpkihs/#about"] { display:none; }
    .psrn-homepage .hero-actions .btn { width:auto; min-width:150px; min-height:43px; }
    .psrn-homepage .public-hero-visual { max-width: 360px; margin-inline:auto; }
    .psrn-homepage .hero-photo-card { min-height:0; aspect-ratio: 1.55; border-radius:18px; }
    .psrn-homepage .hero-photo-label { left:17px; right:17px; bottom:14px; }
    .psrn-homepage .hero-photo-label strong { font-size:clamp(16px,4.5vw,20px); }
    .psrn-homepage .hero-mini-card { display:none; }
    .psrn-homepage .impact-band { padding-bottom: 18px; }
    .psrn-homepage .impact-grid { grid-template-columns:repeat(4,minmax(0,1fr)); gap:7px; }
    .psrn-homepage .impact-card {
        display:flex; flex-direction:column; align-items:center; justify-content:center;
        min-height:100px; min-width:0; text-align:center; padding:11px 5px; border-radius:12px;
    }
    .psrn-homepage .impact-label { font-size:clamp(7px,1.8vw,9px); line-height:1.32; letter-spacing:.01em; text-wrap:balance; }
    .psrn-homepage .impact-card strong { font-size:clamp(18px,5vw,24px); margin-top: 6px; }
    .psrn-homepage .impact-card small { font-size:clamp(7px,1.65vw,9px); line-height:1.35; text-wrap:balance; }
    .psrn-homepage .about-image-card { min-height:0; aspect-ratio: 1.55; max-height:290px; }
    .psrn-homepage .about-image-copy { left:17px; right:17px; bottom:15px; }
    .psrn-homepage .about-image-copy strong { font-size:21px; }
    /* Row 1: President. Row 2: 3 executives. Row 3: 4 executives. */
    .psrn-homepage .team-grid { display:grid; grid-template-columns:repeat(12,minmax(0,1fr)); gap:8px; }
    .psrn-homepage .team-grid > .team-card { grid-column:span 3; min-width:0; border-radius:12px; }
    .psrn-homepage .team-grid > .team-card:first-child { grid-column:1/-1; width:min(100%,220px); justify-self:center; }
    .psrn-homepage .team-grid > .team-card:nth-child(n+2):nth-child(-n+4) { grid-column:span 4; }
    .psrn-homepage .team-card img, .psrn-homepage .team-photo img, .psrn-homepage .team-recovery-avatar { aspect-ratio:1/1; }
    .psrn-homepage .team-card h3 { margin:9px 4px 4px; font-size:clamp(9px,2.4vw,12px); line-height:1.25; overflow-wrap:anywhere; }
    .psrn-homepage .team-card p { margin:0 3px 11px; font-size:clamp(8px,2vw,10px); line-height:1.32; overflow-wrap:anywhere; }
    .psrn-homepage .team-grid > .team-card:first-child h3 { font-size:14px; }
    .psrn-homepage .team-grid > .team-card:first-child p { font-size:11px; }
    .psrn-homepage .psrn-contact-layout { grid-template-columns:minmax(0,1fr); gap:20px; }
    .psrn-homepage .psrn-connect-panel { padding: 22px; border-radius:18px; }
    .psrn-homepage .psrn-social-tile { padding:14px; }
    .psrn-homepage .psrn-involve-details { margin-top:20px; }
    .psrn-homepage .psrn-involve-form .form-grid { grid-template-columns:1fr; }
}
@media (max-width: 360px) {
    .psrn-homepage .impact-grid { gap:5px; }
    .psrn-homepage .impact-card { padding:9px 3px; min-height:104px; }
    .psrn-homepage .impact-label { font-size:7px; }
    .psrn-homepage .impact-card small { font-size:7px; }
    .psrn-homepage .team-grid { gap:5px; }
    .psrn-homepage .team-card h3 { font-size:9px; margin-inline:2px; }
    .psrn-homepage .team-card p { font-size:8px; margin-inline:2px; }
}
@media (prefers-reduced-motion:reduce) {
    .psrn-homepage .psrn-involve-panel { animation:none; }
    .psrn-homepage .psrn-involve-toggle,
    .psrn-homepage .psrn-involve-chevron,
    .psrn-homepage .psrn-social-tile,
    .psrn-homepage .psrn-social-icon { transition:none; }
}


/* ================================================================
   Homepage mobile refinement v2 — phone-only alignment and density.
   All desktop and tablet breakpoints above 700px remain unchanged.
   ================================================================ */
/* Keep a real email action; hide only the printed address and card copy. */
.psrn-homepage .psrn-email-tile {
    justify-content: center;
    align-items: center;
    text-align: center;
}
.psrn-homepage .psrn-email-tile .psrn-social-icon { margin: 0; }
.psrn-homepage .psrn-email-tile .psrn-social-icon svg { width: 25px; height: 25px; }
.psrn-homepage .psrn-involve-summary-copy { gap: 0; }
@media (max-width: 700px) {
    /* Tighten section rhythm without changing desktop layout. */
    .psrn-homepage .section { padding-top: 43px; padding-bottom: 43px; }
    .psrn-homepage .section-head { margin-bottom: 21px; gap: 12px; }
    .psrn-homepage .section-head,
    .psrn-homepage .section-head > div,
    .psrn-homepage .section-head > p { text-align: center; align-items: center; margin-inline: auto; }
    .psrn-homepage .section-head h2 { font-size: clamp(28px, 7.5vw, 37px); line-height: 1.13; }
    .psrn-homepage .section-head > p { font-size: 11.5px; line-height: 1.55; }
    .psrn-homepage .section-button { margin-top: 19px; justify-content: center; }
    .psrn-homepage .section-button .btn { font-size: 11px; }

    /* Hero: compact image and copy kept in one neat visual column. */
    .psrn-homepage .public-hero { padding: 24px 0 16px; }
    .psrn-homepage .public-hero-grid { gap: 17px; }
    .psrn-homepage .public-hero-copy { text-align: center; }
    .psrn-homepage .public-hero-copy h1 { margin-top: 4px; font-size: clamp(39px, 10.9vw, 55px); }
    .psrn-homepage .public-hero-copy > p { max-width: 430px; margin: 10px auto 0; line-height: 1.56; font-size: 11.5px; }
    .psrn-homepage .hero-actions { justify-content: center; margin-top: 12px; }
    .psrn-homepage .hero-actions .btn { min-height: 38px; min-width: 136px; padding: 8px 15px; }
    .psrn-homepage .public-hero-visual { width: min(100%, 292px); max-width: 292px; }
    .psrn-homepage .hero-photo-card { aspect-ratio: 1.78 / 1; min-height: 0; border-radius: 15px; box-shadow: 0 14px 32px rgba(16,59,48,.12); }
    .psrn-homepage .hero-photo-card img { object-position: center 44%; }
    .psrn-homepage .hero-photo-label { left: 13px; right: 13px; bottom: 10px; }
    .psrn-homepage .hero-photo-label span { font-size: 8px; }
    .psrn-homepage .hero-photo-label strong { margin-top: 2px; font-size: 16px; }
    .psrn-homepage .impact-band { padding-bottom: 8px; }
    .psrn-homepage .impact-grid { gap: 6px; }
    .psrn-homepage .impact-card { min-height: 88px; padding: 8px 3px; box-shadow: 0 6px 18px rgba(16,59,48,.055); }
    .psrn-homepage .impact-card strong { margin-top: 4px; font-size: clamp(17px, 4.6vw, 22px); }
    .psrn-homepage .impact-card small { margin-top: 3px; }

    /* Who we are: bring image and mission cards visually closer. */
    .psrn-homepage .about-layout { gap: 13px; }
    .psrn-homepage .about-image-card { width: min(100%, 302px); max-height: 177px; aspect-ratio: 1.78 / 1; margin-inline: auto; border-radius: 15px; box-shadow: 0 13px 26px rgba(15,58,47,.09); }
    .psrn-homepage .about-image-card img { object-position: center 45%; }
    .psrn-homepage .about-image-copy { left: 15px; right: 15px; bottom: 11px; }
    .psrn-homepage .about-image-copy strong { font-size: 17px; }
    .psrn-homepage .about-cards { gap: 9px; }
    .psrn-homepage .info-card { padding: 16px 16px 17px; border-radius: 14px; box-shadow: 0 8px 23px rgba(17,62,49,.065); text-align: center; }
    .psrn-homepage .info-card h3 { margin: 7px 0 5px; font-size: 19px; }
    .psrn-homepage .info-card p { font-size: 11px; line-height: 1.57; }

    /* Activities: compact 2 x 2 gallery with centered labels and links. */
    .psrn-homepage .activity-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
    .psrn-homepage .activity-card {
        min-height: 206px; height: auto; padding: 15px 11px 14px;
        align-items: center; text-align: center; border-radius: 15px;
        background: linear-gradient(165deg,#fff 0%,#f7fbf9 100%);
        box-shadow: 0 5px 10px rgba(16,70,57,.04), 0 13px 25px rgba(16,70,57,.085);
        border-color: rgba(18,107,89,.10);
    }
    .psrn-homepage .activity-card .card-index { position: static; line-height: 1; font-size: 9px; margin-bottom: 8px; }
    .psrn-homepage .activity-card h3 { margin: 0 0 7px; font-size: clamp(12px, 3.3vw, 14px); line-height: 1.25; text-wrap: balance; }
    .psrn-homepage .activity-card p { margin: 0; font-size: 10px; line-height: 1.46; text-wrap: pretty; }
    .psrn-homepage .activity-card .card-link {
        display: block; align-self: center; width: fit-content; max-width: 100%;
        margin-top: auto; padding-top: 13px;
        font-size: 10px; line-height: 1.4; text-align: center;
        text-wrap: balance; text-decoration: none;
    }
    .psrn-homepage .activity-card:is(:hover,:focus-visible) {
        border-color: rgba(18,107,89,.26);
        box-shadow: 0 9px 17px rgba(16,70,57,.055),0 20px 30px rgba(16,70,57,.11);
    }
    /* Events: centered content and CTA, with a soft lift shadow. */
    .psrn-homepage .wide-card {
        align-items: center; justify-content: center; text-align: center;
        gap: 15px; padding: 22px 17px; border-radius: 17px;
        box-shadow: 0 9px 18px rgba(14,67,53,.065),0 19px 40px rgba(14,67,53,.09);
        border-color: rgba(18,107,89,.11);
    }
    .psrn-homepage .wide-card > div { width: 100%; }
    .psrn-homepage .wide-card h2 { font-size: clamp(26px, 7vw, 34px); line-height: 1.12; }
    .psrn-homepage .wide-card p { font-size: 11px; margin-top: 9px; line-height: 1.56; }
    .psrn-homepage .wide-card .btn { margin-inline: auto; min-height: 39px; }

    /* Team headings, donate and contact text stay centered on phones. */
    .psrn-homepage .donate-card { padding: 24px 19px; text-align: center; }
    .psrn-homepage .donate-copy { margin-inline: auto; }
    .psrn-homepage .donate-copy .btn { margin-inline: auto; }
    .psrn-homepage .contact-copy { text-align: center; }
    .psrn-homepage .contact-copy > p { margin: 11px auto 0; font-size: 11.5px; line-height: 1.6; }
    .psrn-homepage .contact-copy h2 { font-size: clamp(30px,8vw,38px); }
    .psrn-homepage .psrn-location-line { margin-top: 13px; }
    .psrn-homepage .psrn-involve-details { margin-top: 18px; text-align: left; }
    .psrn-homepage .psrn-involve-toggle { padding: 13px 16px; }
    .psrn-homepage .psrn-involve-form.contact-card { padding: 13px; }
    .psrn-homepage .psrn-involve-form .btn { width: 100%; }
    .psrn-homepage .psrn-connect-panel { padding: 19px; text-align: center; }
    .psrn-homepage .psrn-connect-panel h3 { font-size: 27px; }
    .psrn-homepage .psrn-connect-panel > p { margin-bottom: 15px; }
    .psrn-homepage .psrn-social-grid { gap: 9px; }
    .psrn-homepage .psrn-social-tile { align-items: center; text-align: center; padding: 12px 9px; border-radius: 12px; }
    .psrn-homepage .psrn-social-tile .psrn-social-icon { margin-bottom: 8px; }
    .psrn-homepage .psrn-email-tile .psrn-social-icon { margin-bottom: 0; }
    .psrn-homepage .psrn-social-tile:hover { transform: translateY(-3px); }
}
@media (max-width: 360px) {
    .psrn-homepage .public-hero-visual { width: min(100%, 255px); }
    .psrn-homepage .hero-photo-label strong { font-size: 15px; }
    .psrn-homepage .about-image-card { width: min(100%, 270px); }
    .psrn-homepage .activity-grid { gap: 7px; }
    .psrn-homepage .activity-card { min-height: 222px; padding: 12px 7px; }
    .psrn-homepage .activity-card h3 { font-size: 11.5px; }
    .psrn-homepage .activity-card p { font-size: 9.5px; line-height: 1.47; }
    .psrn-homepage .activity-card .card-link { font-size: 9.5px; }
    .psrn-homepage .team-grid { gap: 5px; }
}
@media (prefers-reduced-motion: reduce) {
    .psrn-homepage .activity-card { transition: none; }
}
