﻿/**
 * Public school homepage - Modern Design v2 (no Vite/Tailwind).
 * Uses --school-primary from inline <style> in layout.blade.php
 */

/* Reset & Variables */
*,*::before,*::after{box-sizing:border-box;}
:root{
  --primary:var(--school-primary,#2563eb);
  --g50:#f9fafb;--g100:#f3f4f6;--g200:#e5e7eb;--g300:#d1d5db;
  --g400:#9ca3af;--g500:#6b7280;--g600:#4b5563;--g700:#374151;
  --g800:#1f2937;--g900:#111827;--white:#fff;
  --sh-sm:0 1px 3px rgba(0,0,0,.08),0 1px 2px rgba(0,0,0,.04);
  --sh-md:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -1px rgba(0,0,0,.06);
  --sh-lg:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -2px rgba(0,0,0,.05);
  --sh-xl:0 20px 25px -5px rgba(0,0,0,.12),0 10px 10px -5px rgba(0,0,0,.06);
  --r-sm:.5rem;--r-md:.75rem;--r-lg:1rem;--r-xl:1.5rem;
  --ease:cubic-bezier(.4,0,.2,1);
}
body{font-family:'Instrument Sans',ui-sans-serif,system-ui,-apple-system,sans-serif;-webkit-font-smoothing:antialiased;color:var(--g900);background:var(--white);margin:0;line-height:1.6;}
img{max-width:100%;height:auto;}

/* Container */
.ph-container{max-width:75rem;margin:0 auto;padding:0 1.25rem;}
@media(min-width:768px){.ph-container{padding:0 2rem;}}
@media(min-width:1280px){.ph-container{padding:0 2.5rem;}}

/* Typography utilities */
.ph-eyebrow{display:inline-block;font-size:.75rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--primary);margin-bottom:.75rem;}
.ph-section-title{font-size:clamp(1.75rem,3vw,2.5rem);font-weight:800;color:var(--g900);line-height:1.15;letter-spacing:-.025em;margin:0;}
.ph-section-sub{font-size:1.0625rem;color:var(--g500);line-height:1.65;margin:.75rem 0 0;}
.ph-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0;}

/* Buttons */
.ph-btn{display:inline-flex;align-items:center;justify-content:center;padding:.55rem 1.125rem;border-radius:var(--r-sm);font-weight:600;font-size:.875rem;color:var(--white);background:var(--primary);text-decoration:none;border:none;cursor:pointer;transition:all .2s var(--ease);}
.ph-btn:hover{opacity:.9;transform:translateY(-1px);box-shadow:var(--sh-md);}
.ph-btn-sm{padding:.4rem .875rem;font-size:.8125rem;}
.ph-btn-primary{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.875rem 2rem;border-radius:var(--r-md);font-weight:700;font-size:1rem;color:var(--white);background:var(--primary);text-decoration:none;border:none;cursor:pointer;box-shadow:0 4px 14px 0 rgba(37,99,235,.35);transition:all .25s var(--ease);}
.ph-btn-primary:hover{transform:translateY(-2px);box-shadow:0 8px 24px 0 rgba(37,99,235,.3);}
.ph-btn-secondary{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.875rem 2rem;border-radius:var(--r-md);font-weight:700;font-size:1rem;color:var(--white);background:rgba(255,255,255,.12);text-decoration:none;border:2px solid rgba(255,255,255,.35);backdrop-filter:blur(10px);transition:all .25s var(--ease);}
.ph-btn-secondary:hover{background:rgba(255,255,255,.22);border-color:rgba(255,255,255,.6);transform:translateY(-2px);}
.ph-btn-ghost{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.875rem 2rem;border-radius:var(--r-md);font-weight:700;font-size:1rem;color:var(--primary);background:transparent;text-decoration:none;border:2px solid var(--primary);transition:all .25s var(--ease);}
.ph-btn-ghost:hover{background:var(--primary);color:var(--white);transform:translateY(-2px);}
.ph-btn-outline{background:transparent;border:1px solid rgba(255,255,255,.2);color:#d1d5db;padding:.45rem .875rem;border-radius:var(--r-sm);font-size:.8125rem;cursor:pointer;font-weight:600;}
.ph-btn-outline:hover{background:rgba(255,255,255,.07);}

/* Top bar */
.ph-topbar{background:var(--g900);color:var(--g400);padding:.4rem 0;font-size:.8125rem;}
.ph-topbar-inner{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap;}
.ph-topbar-ctas{display:flex;gap:.5rem;align-items:center;}
.ph-topbar .ph-btn{background:var(--primary);color:var(--white);font-size:.75rem;padding:.28rem .75rem;border-radius:.25rem;}
.ph-topbar-search{display:flex;gap:.25rem;align-items:center;}
.ph-topbar-search-input{padding:.3rem .6rem;border:1px solid rgba(255,255,255,.1);border-radius:.25rem;font-size:.8125rem;background:rgba(255,255,255,.07);color:var(--white);min-width:10rem;}
.ph-topbar-search-input::placeholder{color:var(--g500);}
.ph-topbar-search-btn{padding:.3rem .6rem;border:1px solid rgba(255,255,255,.15);border-radius:.25rem;background:rgba(255,255,255,.08);color:#d1d5db;font-size:.8125rem;cursor:pointer;}
.ph-topbar-search-btn:hover{background:rgba(255,255,255,.15);}
@media(max-width:639px){.ph-topbar-search{display:none;}}

/* Header / Nav */
.ph-header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.97);backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);border-bottom:1px solid var(--g200);box-shadow:0 1px 0 rgba(0,0,0,.05);}
.ph-nav{max-width:75rem;margin:0 auto;padding:0 1.25rem;min-height:4.25rem;display:flex;align-items:center;justify-content:space-between;gap:1rem;}
@media(min-width:768px){.ph-nav{padding:0 2rem;}}
.ph-brand{display:flex;align-items:center;gap:.75rem;color:inherit;text-decoration:none;flex-shrink:0;}
.ph-brand img{height:2.75rem;width:auto;object-fit:contain;}
.ph-brand-icon{width:2.75rem;height:2.75rem;border-radius:.625rem;background:var(--primary);color:var(--white);display:flex;align-items:center;justify-content:center;}
.ph-brand-icon svg{width:1.5rem;height:1.5rem;}
.ph-brand-name{font-weight:800;font-size:1.125rem;color:var(--g900);letter-spacing:-.01em;}
.ph-nav-menu{display:none;list-style:none;margin:0;padding:0;flex:1;justify-content:center;gap:.25rem;}
@media(min-width:768px){.ph-nav-menu{display:flex;}}
.ph-nav-item{position:relative;}
.ph-nav-link,.ph-nav-trigger{display:block;padding:.5rem .875rem;color:var(--g600);text-decoration:none;font-weight:500;font-size:.9375rem;border:none;background:none;cursor:pointer;border-radius:var(--r-sm);transition:color .2s var(--ease),background .2s var(--ease);font-family:inherit;}
.ph-nav-link:hover,.ph-nav-trigger:hover{color:var(--primary);background:rgba(37,99,235,.07);}
.ph-nav-dropdown-menu{display:none;position:absolute;top:calc(100% + .5rem);left:0;min-width:13rem;background:var(--white);border-radius:var(--r-md);border:1px solid var(--g200);box-shadow:var(--sh-xl);list-style:none;margin:0;padding:.375rem;z-index:60;}
.ph-nav-dropdown:hover .ph-nav-dropdown-menu{display:block;}
.ph-nav-dropdown-link{display:block;padding:.5rem .875rem;color:var(--g700);text-decoration:none;font-size:.875rem;font-weight:500;border-radius:.375rem;transition:all .15s var(--ease);}
.ph-nav-dropdown-link:hover{background:var(--g50);color:var(--primary);}
.ph-nav-login{flex-shrink:0;}
.ph-nav-links{display:none;}
@media(min-width:768px){.ph-nav-links{display:flex;align-items:center;gap:2rem;}}
.ph-nav-links a{color:var(--g600);text-decoration:none;transition:color .15s;}
.ph-nav-links a:hover{color:var(--primary);}
.ph-nav-toggle{display:none;flex-direction:column;gap:5px;padding:.5rem;border:none;background:none;cursor:pointer;}
.ph-nav-toggle span{display:block;width:1.5rem;height:2px;background:var(--g700);border-radius:1px;transition:all .3s;}
.ph-nav .ph-btn-mobile{display:block;}
.ph-nav .ph-btn-desktop{display:none;}
@media(min-width:768px){.ph-nav .ph-btn-mobile{display:none;}.ph-nav .ph-btn-desktop{display:inline-flex;}}
@media(max-width:767px){
  .ph-nav-toggle{display:flex;}
  .ph-nav-menu{display:none;position:absolute;top:100%;left:0;right:0;background:var(--white);flex-direction:column;box-shadow:var(--sh-xl);padding:.75rem;border-top:1px solid var(--g200);max-height:70vh;overflow-y:auto;}
  .ph-nav-menu.ph-nav-menu-open{display:flex;}
  .ph-nav-dropdown-menu{position:static;box-shadow:none;border:none;background:var(--g50);margin:.25rem 0 .5rem;padding:.25rem;}
  .ph-nav-dropdown:hover .ph-nav-dropdown-menu{display:none;}
  .ph-nav-dropdown.ph-nav-dropdown-open .ph-nav-dropdown-menu{display:block;}
}

/* Hero */
.ph-hero{position:relative;overflow:hidden;background:var(--g900);min-height:88vh;display:flex;align-items:center;}
.ph-hero::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse 80% 80% at 15% 40%,rgba(37,99,235,.45) 0%,transparent 60%),radial-gradient(ellipse 55% 65% at 85% 70%,rgba(99,102,241,.2) 0%,transparent 60%);pointer-events:none;}
.ph-hero-bg{position:absolute;inset:0;background:linear-gradient(140deg,rgba(0,0,0,.72) 0%,rgba(0,0,0,.38) 100%);pointer-events:none;}
.ph-hero::after{content:'';position:absolute;right:-8rem;top:50%;transform:translateY(-50%);width:44rem;height:44rem;border:1px solid rgba(255,255,255,.04);border-radius:50%;pointer-events:none;}
.ph-hero-inner{position:relative;z-index:2;max-width:75rem;margin:0 auto;padding:6rem 1.25rem;width:100%;}
@media(min-width:768px){.ph-hero-inner{padding:8rem 2rem;}}
.ph-hero-badge{display:inline-flex;align-items:center;gap:.5rem;padding:.375rem 1rem;border-radius:9999px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.2);color:rgba(255,255,255,.9);font-size:.75rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;backdrop-filter:blur(10px);margin-bottom:1.5rem;}
.ph-hero-badge-dot{width:.5rem;height:.5rem;border-radius:50%;background:#60a5fa;animation:ph-pulse 2.2s infinite;}
@keyframes ph-pulse{0%,100%{opacity:1;transform:scale(1);}50%{opacity:.55;transform:scale(.8);}}
.ph-hero h1{font-size:clamp(2.5rem,6.5vw,5rem);font-weight:900;color:var(--white);letter-spacing:-.035em;line-height:1.06;margin:0;max-width:44rem;}
.ph-hero h1 .ph-accent{color:transparent;background:linear-gradient(135deg,#60a5fa,#a78bfa);-webkit-background-clip:text;background-clip:text;}
.ph-hero-tagline{margin-top:1.5rem;font-size:1.2rem;color:rgba(255,255,255,.72);max-width:36rem;line-height:1.65;}
.ph-hero-cta{margin-top:2.75rem;display:flex;flex-wrap:wrap;gap:1rem;align-items:center;}
.ph-hero-scroll{position:absolute;bottom:2rem;left:50%;transform:translateX(-50%);z-index:2;display:flex;flex-direction:column;align-items:center;gap:.4rem;color:rgba(255,255,255,.4);font-size:.6875rem;letter-spacing:.12em;text-transform:uppercase;animation:ph-bounce 2s infinite;}
.ph-hero-scroll svg{width:1.25rem;height:1.25rem;}
@keyframes ph-bounce{0%,100%{transform:translateX(-50%) translateY(0);}50%{transform:translateX(-50%) translateY(7px);}}

/* Hero carousel */
.ph-hero-carousel{min-height:88vh;}
.ph-hero-track{position:absolute;inset:0;}
.ph-hero-slide{position:absolute;inset:0;background-size:cover;background-position:center;background-color:var(--g900);opacity:0;visibility:hidden;transition:opacity .7s ease,visibility .7s;}
.ph-hero-slide.ph-hero-slide-active{opacity:1;visibility:visible;z-index:1;}
.ph-hero-slide-overlay{position:absolute;inset:0;background:linear-gradient(to right,rgba(0,0,0,.68) 0%,rgba(0,0,0,.32) 55%,rgba(0,0,0,.08) 100%);}
.ph-hero-carousel .ph-hero-inner{position:relative;z-index:2;}
.ph-hero-carousel h1,.ph-hero-carousel .ph-hero-tagline{color:var(--white)!important;}
.ph-hero-prev,.ph-hero-next{position:absolute;top:50%;transform:translateY(-50%);z-index:10;width:3rem;height:3rem;border:1px solid rgba(255,255,255,.25);border-radius:50%;background:rgba(0,0,0,.28);color:var(--white);font-size:1.375rem;cursor:pointer;backdrop-filter:blur(10px);transition:all .2s var(--ease);display:flex;align-items:center;justify-content:center;}
.ph-hero-prev:hover,.ph-hero-next:hover{background:rgba(0,0,0,.5);border-color:rgba(255,255,255,.55);}
.ph-hero-prev{left:1.5rem;}.ph-hero-next{right:1.5rem;}
.ph-hero-dots{position:absolute;bottom:2rem;left:50%;transform:translateX(-50%);z-index:10;display:flex;gap:.5rem;}
.ph-hero-dot{width:2rem;height:3px;border-radius:2px;border:none;background:rgba(255,255,255,.28);cursor:pointer;transition:all .3s var(--ease);}
.ph-hero-dot:hover,.ph-hero-dot.ph-hero-dot-active{background:var(--white);width:2.75rem;}

/* Stats bar */
.ph-stats{position:relative;z-index:10;max-width:75rem;margin:-3rem auto 0;padding:0 1.25rem;}
@media(min-width:768px){.ph-stats{padding:0 2rem;}}
.ph-stats-inner{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--g200);border-radius:var(--r-xl);overflow:hidden;box-shadow:var(--sh-xl);}
@media(min-width:640px){.ph-stats-inner{grid-template-columns:repeat(4,1fr);}}
.ph-stat{background:var(--white);padding:1.75rem 1.5rem;text-align:center;}
.ph-stat-value{font-size:clamp(1.75rem,3vw,2.25rem);font-weight:900;color:var(--primary);line-height:1;letter-spacing:-.02em;}
.ph-stat-label{font-size:.8rem;font-weight:600;color:var(--g400);margin-top:.375rem;text-transform:uppercase;letter-spacing:.06em;}

/* About */
.ph-about{padding:6rem 0;background:var(--white);}
@media(min-width:1024px){.ph-about{padding:8rem 0;}}
.ph-about-grid{display:grid;gap:4rem;align-items:center;margin-top:3rem;}
@media(min-width:768px){.ph-about-grid{grid-template-columns:1fr 1fr;gap:5rem;}}
.ph-about-text{}.ph-about-text-body{font-size:1.0625rem;color:var(--g600);line-height:1.8;margin:0 0 2rem;}
.ph-about-text-body p{margin:0 0 1rem;}
.ph-about-text-body p.ph-motto{font-size:1.2rem;font-weight:600;color:var(--primary);font-style:italic;}
.ph-about-text a.ph-btn-secondary{display:inline-block;margin-top:.5rem;}
.ph-about-actions{display:flex;flex-wrap:wrap;gap:1rem;}
.ph-features-mini{display:grid;grid-template-columns:1fr;gap:1rem;}
@media(min-width:480px){.ph-features-mini{grid-template-columns:1fr 1fr;}}
.ph-feature-mini{padding:1.5rem;border-radius:var(--r-lg);background:var(--g50);border:1px solid var(--g100);transition:all .25s var(--ease);}
.ph-feature-mini:hover{border-color:rgba(37,99,235,.25);box-shadow:0 0 0 1px rgba(37,99,235,.1),var(--sh-md);transform:translateY(-2px);}
.ph-feature-mini-icon{width:3rem;height:3rem;border-radius:.75rem;background:rgba(37,99,235,.1);color:var(--primary);display:flex;align-items:center;justify-content:center;margin-bottom:1rem;}
.ph-feature-mini-icon svg{width:1.5rem;height:1.5rem;}
.ph-feature-mini h3{font-size:.9375rem;font-weight:700;color:var(--g900);margin:0 0 .25rem;}
.ph-feature-mini p{font-size:.8125rem;color:var(--g500);margin:0;line-height:1.5;}
.ph-cards{display:grid;grid-template-columns:1fr 1fr;gap:1rem;}
.ph-card{padding:1.5rem;border-radius:var(--r-lg);background:var(--g50);border:1px solid var(--g100);}
.ph-card-icon{width:3rem;height:3rem;border-radius:.75rem;background:rgba(37,99,235,.1);color:var(--primary);display:flex;align-items:center;justify-content:center;}
.ph-card-icon svg{width:1.5rem;height:1.5rem;}
.ph-card h3{margin:1rem 0 .25rem;font-weight:600;color:var(--g900);font-size:1rem;}
.ph-card p{margin:0;font-size:.875rem;color:var(--g500);}

/* Blocks / Why choose us */
.ph-blocks-sec{padding:6rem 0;background:linear-gradient(180deg,var(--g50) 0%,var(--white) 100%);}
@media(min-width:1024px){.ph-blocks-sec{padding:8rem 0;}}
.ph-blocks-header{text-align:center;max-width:42rem;margin:0 auto 3.5rem;}
.ph-blocks-grid{display:grid;gap:1.5rem;grid-template-columns:1fr;}
@media(min-width:640px){.ph-blocks-grid{grid-template-columns:repeat(2,1fr);}}
@media(min-width:1024px){.ph-blocks-grid{grid-template-columns:repeat(3,1fr);}}
.ph-block{background:var(--white);padding:2rem;border-radius:var(--r-xl);box-shadow:var(--sh-sm);border:1px solid var(--g100);transition:all .3s var(--ease);position:relative;overflow:hidden;}
.ph-block::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--primary),#7dd3fc);transform:scaleX(0);transform-origin:left;transition:transform .3s ease;}
.ph-block:hover{transform:translateY(-5px);box-shadow:var(--sh-xl);}
.ph-block:hover::before{transform:scaleX(1);}
.ph-block-num{display:inline-flex;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;border-radius:.625rem;background:rgba(37,99,235,.09);color:var(--primary);font-weight:900;font-size:.875rem;margin-bottom:1.25rem;}
.ph-block-title{font-size:1.125rem;font-weight:700;color:var(--g900);margin:0 0 .5rem;}
.ph-block-subtitle{font-size:.875rem;color:var(--primary);font-weight:600;margin:0 0 .75rem;}
.ph-block-desc{font-size:.9375rem;color:var(--g500);margin:0 0 1.25rem;line-height:1.65;}
.ph-block-link{display:inline-flex;align-items:center;gap:.375rem;font-size:.875rem;font-weight:700;color:var(--primary);text-decoration:none;transition:gap .2s var(--ease);}
.ph-block-link:hover{gap:.65rem;}
.ph-block-link::after{content:'';}

/* Latest news */
.ph-latest{padding:6rem 0;background:var(--white);}
@media(min-width:1024px){.ph-latest{padding:8rem 0;}}
.ph-latest-header{display:flex;align-items:flex-end;justify-content:space-between;flex-wrap:wrap;gap:1rem;margin-bottom:3rem;}
.ph-latest-sub{margin-top:.5rem;color:var(--g500);}
.ph-latest-grid{display:grid;gap:1.5rem;}
@media(min-width:640px){.ph-latest-grid{grid-template-columns:repeat(2,1fr);}}
@media(min-width:1024px){.ph-latest-grid{grid-template-columns:repeat(3,1fr);}}
.ph-news-item{display:flex;flex-direction:column;background:var(--white);border:1px solid var(--g200);border-radius:var(--r-xl);overflow:hidden;transition:all .3s ease;}
.ph-news-item:hover{transform:translateY(-5px);box-shadow:var(--sh-xl);border-color:var(--g300);}
.ph-news-item-body{padding:1.5rem;flex:1;}
.ph-news-item-meta{display:flex;align-items:center;gap:.75rem;margin-bottom:1rem;}
.ph-news-tag{display:inline-block;padding:.2rem .625rem;border-radius:9999px;background:rgba(37,99,235,.1);color:var(--primary);font-size:.6875rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;}
.ph-news-date{font-size:.8125rem;color:var(--g400);}
.ph-news-item h3{font-size:1.0625rem;font-weight:700;color:var(--g900);margin:0 0 .75rem;line-height:1.4;}
.ph-news-item p{font-size:.9375rem;color:var(--g500);margin:0;line-height:1.65;}
.ph-news-item-footer{padding:1rem 1.5rem;border-top:1px solid var(--g100);font-size:.8125rem;font-weight:700;color:var(--primary);display:flex;align-items:center;justify-content:space-between;}
.ph-news-item-footer svg{width:1rem;height:1rem;}

/* Newsletter */
.ph-newsletter{padding:5.5rem 0;background:var(--g900);position:relative;overflow:hidden;}
.ph-newsletter::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse 70% 100% at 50% 110%,rgba(37,99,235,.25),transparent);pointer-events:none;}
.ph-newsletter-inner{position:relative;z-index:1;text-align:center;max-width:38rem;margin:0 auto;}
.ph-newsletter h2{font-size:clamp(1.75rem,3vw,2.5rem);font-weight:800;color:var(--white);margin:0;letter-spacing:-.025em;}
.ph-newsletter p{margin-top:.75rem;color:rgba(255,255,255,.62);font-size:1.0625rem;}
.ph-newsletter .ph-btn-primary{flex-shrink:0;margin-top:0;}
.ph-newsletter-form{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:2rem;justify-content:center;}
.ph-newsletter-input{flex:1;min-width:14rem;padding:.875rem 1.25rem;border:1px solid rgba(255,255,255,.15);border-radius:var(--r-md);font-size:1rem;background:rgba(255,255,255,.08);color:var(--white);outline:none;transition:border-color .2s var(--ease);font-family:inherit;}
.ph-newsletter-input::placeholder{color:rgba(255,255,255,.38);}
.ph-newsletter-input:focus{border-color:rgba(255,255,255,.38);}
.ph-newsletter-msg{margin-top:1rem;font-size:.9375rem;}
.ph-newsletter-success{color:#4ade80;}
.ph-newsletter-error{color:#f87171;}

/* Contact */
.ph-contact{padding:6rem 0;background:var(--g50);}
@media(min-width:1024px){.ph-contact{padding:8rem 0;}}
.ph-contact-header{text-align:center;max-width:42rem;margin:0 auto 3.5rem;}
.ph-contact-sub{margin-top:.5rem;color:var(--g500);}
.ph-contact-grid{display:grid;gap:1.5rem;}
@media(min-width:640px){.ph-contact-grid{grid-template-columns:repeat(2,1fr);}}
@media(min-width:1024px){.ph-contact-grid{grid-template-columns:repeat(3,1fr);}}
.ph-contact-item{display:flex;flex-direction:column;align-items:center;text-align:center;padding:2.25rem 1.5rem;background:var(--white);border-radius:var(--r-xl);border:1px solid var(--g200);gap:1rem;transition:all .25s var(--ease);}
.ph-contact-item:hover{box-shadow:var(--sh-lg);transform:translateY(-3px);}
.ph-contact-icon{width:3.5rem;height:3.5rem;border-radius:1rem;background:rgba(37,99,235,.1);color:var(--primary);display:flex;align-items:center;justify-content:center;}
.ph-contact-icon svg{width:1.75rem;height:1.75rem;}
.ph-contact-item h3{font-size:.75rem;font-weight:700;color:var(--g500);text-transform:uppercase;letter-spacing:.08em;margin:0;}
.ph-contact-item p,.ph-contact-item a{font-size:1rem;color:var(--g900);font-weight:500;margin:0;text-decoration:none;}
.ph-contact-item a:hover{color:var(--primary);}
.ph-contact-fallback{text-align:center;color:var(--g500);margin-top:1.5rem;}

/* Footer */
.ph-footer{background:var(--g900);color:var(--g400);padding:4rem 0 0;}
.ph-footer-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:2.5rem;padding-bottom:3rem;}
@media(min-width:640px){.ph-footer-grid{grid-template-columns:repeat(3,1fr);}}
@media(min-width:1024px){.ph-footer-grid{grid-template-columns:repeat(4,1fr);}}
.ph-footer-col{}
.ph-footer-heading{font-size:.6875rem;font-weight:700;color:var(--white);margin:0 0 1rem;text-transform:uppercase;letter-spacing:.1em;}
.ph-footer-col .ph-footer-links{list-style:none;margin:0;padding:0;}
.ph-footer-col .ph-footer-links li{margin-bottom:.5rem;}
.ph-footer-col .ph-footer-links a{color:var(--g400);text-decoration:none;font-size:.875rem;transition:color .2s var(--ease);}
.ph-footer-col .ph-footer-links a:hover{color:var(--white);}
.ph-footer-social{display:flex;gap:.625rem;flex-wrap:wrap;margin-bottom:2rem;}
.ph-footer-social a{display:flex;align-items:center;justify-content:center;width:2.25rem;height:2.25rem;border-radius:.5rem;background:rgba(255,255,255,.07);color:var(--g400);transition:all .2s var(--ease);}
.ph-footer-social a:hover{background:var(--primary);color:var(--white);transform:translateY(-2px);}
.ph-footer-social-icon{width:1.125rem;height:1.125rem;display:block;}
.ph-footer-inner{display:flex;flex-direction:column;align-items:center;justify-content:space-between;gap:1.5rem;}
@media(min-width:640px){.ph-footer-inner{flex-direction:row;}}
.ph-footer-brand{display:flex;align-items:center;gap:.75rem;}
.ph-footer-brand img{height:2rem;width:auto;opacity:.9;}
.ph-footer-brand span{font-weight:600;color:var(--white);}
.ph-footer-links{display:flex;align-items:center;gap:1.5rem;font-size:.875rem;}
.ph-footer-links a{color:#d1d5db;text-decoration:none;transition:color .15s;}
.ph-footer-links a:hover{color:var(--white);}
.ph-footer-links a.ph-footer-login{color:var(--primary);}
.ph-footer-links a.ph-footer-login:hover{text-decoration:underline;}
.ph-footer-bottom{margin-top:0;padding:1.5rem 0;border-top:1px solid rgba(255,255,255,.06);display:flex;flex-wrap:wrap;gap:.5rem;justify-content:space-between;align-items:center;font-size:.8125rem;color:var(--g500);}
.ph-footer-bottom p{margin:0;}
.ph-footer-bottom p+p{margin-top:.25rem;}
.ph-footer-actions{display:flex;flex-wrap:wrap;gap:.75rem;align-items:center;margin-top:.5rem!important;}
.ph-footer-apply{color:var(--primary);text-decoration:underline;}
.ph-footer-apply:hover{opacity:.9;}
.ph-footer-newsletter-btn{background:none;border:none;color:var(--g400);cursor:pointer;font-size:inherit;text-decoration:underline;padding:0;}
.ph-footer-newsletter-btn:hover{color:var(--white);}
.ph-footer-login{color:var(--primary)!important;}
.ph-footer-address{word-break:break-word;}
.ph-footer-directions-btn:hover{background-color:#1d4ed8!important;}
.ph-footer-map{border:1px solid rgba(255,255,255,.08);border-radius:var(--r-md);overflow:hidden;}
.ph-footer-map-col{min-width:280px;}
@media(max-width:768px){.ph-footer-map-col{grid-column:1/-1;}.ph-footer-map{height:280px!important;}}

/* Newsletter modal */
.ph-modal{position:fixed;inset:0;z-index:100;display:flex;align-items:center;justify-content:center;padding:1rem;}
.ph-modal[hidden]{display:none;}
.ph-modal-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.6);backdrop-filter:blur(4px);}
.ph-modal-content{position:relative;background:var(--white);border-radius:var(--r-xl);padding:2rem;max-width:28rem;width:100%;box-shadow:0 25px 50px -12px rgba(0,0,0,.4);}
.ph-modal-close{position:absolute;top:1rem;right:1rem;background:var(--g100);border:none;width:2rem;height:2rem;border-radius:50%;font-size:1rem;cursor:pointer;color:var(--g600);display:flex;align-items:center;justify-content:center;}
.ph-modal-close:hover{background:var(--g200);}
.ph-modal-title{margin:0 0 .5rem;font-size:1.25rem;font-weight:700;}
.ph-modal-sub{margin:0 0 1rem;color:var(--g500);font-size:.9375rem;}
.ph-modal .ph-newsletter-form{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.5rem;}
.ph-modal .ph-newsletter-input{flex:1;min-width:10rem;background:var(--white);color:var(--g900);border:1px solid var(--g200);}
body.ph-modal-open{overflow:hidden;}

/* Cookie consent */
.ph-cookie-consent{position:fixed;bottom:0;left:0;right:0;z-index:90;background:var(--g900);color:#d1d5db;padding:1rem 1.5rem;box-shadow:0 -4px 24px rgba(0,0,0,.15);border-top:1px solid rgba(255,255,255,.06);}
.ph-cookie-consent[hidden]{display:none;}
.ph-cookie-inner{max-width:75rem;margin:0 auto;display:flex;flex-wrap:wrap;gap:1rem;align-items:center;justify-content:space-between;}
.ph-cookie-text{margin:0;font-size:.875rem;flex:1;min-width:16rem;}
.ph-cookie-actions{display:flex;gap:.5rem;}

/* Page / Search */
.ph-page{padding:5rem 0;}
@media(min-width:1024px){.ph-page{padding:6rem 0;}}
.ph-page-header{margin-bottom:2.5rem;}
.ph-page-header h1{font-size:clamp(1.75rem,3vw,2.5rem);font-weight:800;color:var(--g900);margin:0 0 .5rem;letter-spacing:-.025em;}
.ph-page-excerpt{font-size:1.125rem;color:var(--g500);margin:0;}
.ph-page-body{font-size:1.0625rem;line-height:1.75;color:var(--g700);}
.ph-page-body p{margin:0 0 1rem;}
.ph-page-body a{color:var(--primary);}
.ph-page-body a:hover{text-decoration:underline;}
.ph-search-form{display:flex;gap:.5rem;margin-bottom:2rem;max-width:32rem;}
.ph-search-input{flex:1;padding:.75rem 1rem;border:1px solid var(--g200);border-radius:var(--r-sm);font-size:1rem;}
.ph-search-section{margin-top:2rem;}
.ph-search-section h2{font-size:1.125rem;font-weight:600;margin:0 0 .75rem;color:var(--g700);}
.ph-search-list{list-style:none;margin:0;padding:0;}
.ph-search-list li{margin-bottom:.5rem;}
.ph-search-list a{color:var(--primary);text-decoration:none;}
.ph-search-list a:hover{text-decoration:underline;}
.ph-search-date{font-size:.8125rem;color:var(--g400);margin-left:.5rem;}
.ph-search-empty{color:var(--g500);margin-top:1rem;}

/* Scroll animations */
@media(prefers-reduced-motion:no-preference){
  .ph-animate{opacity:0;transform:translateY(1.25rem);transition:opacity .6s ease,transform .6s ease;}
  .ph-animate.ph-visible{opacity:1;transform:translateY(0);}
}

/* ═══════════════════════════════════════════════════════════════════════════
   MOBILE / SMARTPHONE  (max 639px)
   ═══════════════════════════════════════════════════════════════════════════ */
@media(max-width:639px){

  /* Topbar — hide Donate/Sponsor, keep Apply only */
  .ph-topbar{padding:.35rem 0;}
  .ph-topbar-ctas{gap:.375rem;}
  .ph-topbar .ph-btn{font-size:.6875rem;padding:.22rem .6rem;}
  .ph-topbar-ctas .ph-btn:not(:first-child){display:none;}

  /* Nav */
  .ph-nav{min-height:3.75rem;padding:0 1rem;}
  .ph-brand-name{font-size:1rem;}
  .ph-brand img{height:2.25rem;}
  .ph-brand-icon{width:2.25rem;height:2.25rem;}

  /* Hero — reduce height & padding, hide decorative ring */
  .ph-hero,.ph-hero-carousel{min-height:78vh;}
  .ph-hero::after{display:none;}
  .ph-hero-inner{padding:3.75rem 1rem 5rem;}
  .ph-hero-badge{font-size:.6875rem;padding:.3rem .75rem;margin-bottom:1.125rem;}
  .ph-hero h1{font-size:clamp(2rem,9vw,3rem);max-width:100%;}
  .ph-hero-tagline{font-size:1rem;margin-top:1rem;}
  .ph-hero-cta{margin-top:1.75rem;gap:.75rem;flex-direction:column;}
  .ph-hero-cta .ph-btn-primary,.ph-hero-cta .ph-btn-secondary{
    width:100%;justify-content:center;padding:.8rem 1.25rem;font-size:.9375rem;
  }
  .ph-hero-scroll{display:none;}
  .ph-hero-prev{left:.75rem;width:2.5rem;height:2.5rem;font-size:1.125rem;}
  .ph-hero-next{right:.75rem;width:2.5rem;height:2.5rem;font-size:1.125rem;}
  .ph-hero-dots{bottom:1.25rem;}
  .ph-hero-dot{width:1.5rem;}
  .ph-hero-dot.ph-hero-dot-active{width:2rem;}

  /* Stats — reduce negative overlap & cell padding */
  .ph-stats{margin:-2rem auto 0;padding:0 1rem;}
  .ph-stat{padding:1.25rem 1rem;}
  .ph-stat-value{font-size:1.625rem;}
  .ph-stat-label{font-size:.7rem;}

  /* Section spacing — cut in half on mobile */
  .ph-about,.ph-blocks-sec,.ph-latest,.ph-contact{padding:3.25rem 0;}
  .ph-newsletter{padding:3.25rem 0;}

  /* About */
  .ph-about-grid{margin-top:2rem;gap:2rem;}
  .ph-section-title{font-size:1.625rem;}
  .ph-section-sub{font-size:.9375rem;}
  .ph-about-text-body{font-size:1rem;margin-bottom:1.5rem;}
  .ph-about-actions{flex-direction:column;}
  .ph-about-actions .ph-btn-ghost,.ph-about-actions .ph-btn-primary{width:100%;justify-content:center;}
  .ph-features-mini{grid-template-columns:1fr 1fr;gap:.75rem;}
  .ph-feature-mini{padding:1.125rem 1rem;}
  .ph-feature-mini-icon{width:2.5rem;height:2.5rem;margin-bottom:.75rem;}
  .ph-feature-mini h3{font-size:.875rem;}
  .ph-feature-mini p{font-size:.75rem;}

  /* Blocks */
  .ph-blocks-header{margin-bottom:2rem;}
  .ph-block{padding:1.5rem;}

  /* News */
  .ph-latest-header{margin-bottom:2rem;}
  .ph-news-item-body{padding:1.25rem;}
  .ph-news-item-footer{padding:.875rem 1.25rem;}

  /* Newsletter */
  .ph-newsletter-inner .ph-eyebrow{margin-bottom:.5rem;}
  .ph-newsletter h2{font-size:1.625rem;}
  .ph-newsletter p{font-size:.9375rem;}
  .ph-newsletter-form{flex-direction:column;gap:.625rem;margin-top:1.5rem;}
  .ph-newsletter-input{min-width:0;width:100%;}
  .ph-newsletter .ph-btn-primary{width:100%;justify-content:center;}

  /* Contact */
  .ph-contact-header{margin-bottom:2.25rem;}
  .ph-contact-item{padding:1.75rem 1.25rem;gap:.75rem;}
  .ph-contact-icon{width:3rem;height:3rem;border-radius:.875rem;}
  .ph-contact-icon svg{width:1.5rem;height:1.5rem;}

  /* Footer */
  .ph-footer{padding:2.5rem 0 0;}
  .ph-footer-grid{grid-template-columns:1fr 1fr;gap:1.75rem;padding-bottom:2rem;}
  .ph-footer-bottom{flex-direction:column;align-items:flex-start;gap:.375rem;}
  .ph-footer-actions{margin-top:.25rem!important;}

  /* Newsletter modal */
  .ph-modal-content{padding:1.5rem;}
  .ph-modal .ph-newsletter-input{width:100%;min-width:0;}
  .ph-modal .ph-btn-primary{width:100%;justify-content:center;}

  /* Cookie bar */
  .ph-cookie-inner{flex-direction:column;gap:.75rem;}

  /* CMS page */
  .ph-page{padding:3rem 0;}
  .ph-page-header h1{font-size:1.625rem;}
}

/* ── Very small phones (max 389px) ──────────────────────────────────────── */
@media(max-width:389px){
  .ph-hero h1{font-size:1.875rem;}
  .ph-hero,.ph-hero-carousel{min-height:82vh;}
  .ph-features-mini{grid-template-columns:1fr;}
  .ph-footer-grid{grid-template-columns:1fr;}
  .ph-brand-name{font-size:.9375rem;}
  .ph-stats-inner{grid-template-columns:repeat(2,1fr);}
}
