/* assets/css/style.css */
/* NOTE: CSS variables are defined in dynamic-style.php (loaded before this file) */
/* Do NOT add :root variables here - they will override admin theme settings */
*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;overflow-x:hidden;}
body{font-family:'Poppins',sans-serif;color:var(--text);background:var(--white);overflow-x:hidden;max-width:100vw;}

a{text-decoration:none;color:inherit;}
ul{list-style:none;}

/* UTILITY BAR */
.utility-bar{background:var(--green-dark);color:rgba(255,255,255,.75);font-size:.75rem;padding:6px 0;border-bottom:2px solid var(--gold);overflow:hidden;}
.utility-inner{max-width:1280px;margin:0 auto;padding:0 24px;display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap;}
.utility-left{display:flex;gap:18px;align-items:center;flex-wrap:wrap;}
.utility-left span{display:flex;align-items:center;gap:5px;}
.gold{color:var(--gold-light);}
.util-btn{background:var(--gold);color:var(--green-dark);padding:3px 12px;border-radius:2px;font-size:.72rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;}
.util-btn.outline{background:transparent;color:var(--gold-light);border:1px solid rgba(201,168,76,.4);}

/* HEADER */
header{background:var(--white);border-bottom:3px solid var(--green);box-shadow:0 2px 12px rgba(0,0,0,.07);overflow:hidden;}
.header-inner{max-width:1280px;margin:0 auto;padding:0 24px;display:flex;align-items:center;justify-content:space-between;height:88px;}
.header-brand{display:flex;align-items:center;gap:16px;}
.brand-logo{width:68px;height:68px;background:var(--green-dark);border-radius:50%;border:3px solid var(--gold);display:flex;align-items:center;justify-content:center;color:var(--gold);font-family:'Merriweather',serif;font-size:1.8rem;font-weight:700;flex-shrink:0;}
.brand-text .school-name{font-family:'Merriweather',serif;font-size:1.15rem;font-weight:700;color:var(--green-dark);}
.brand-text .school-sub{font-size:.72rem;color:var(--text-light);letter-spacing:.06em;margin-top:2px;}
.brand-text .school-est{font-size:.68rem;color:var(--gold);font-weight:600;letter-spacing:.1em;text-transform:uppercase;margin-top:1px;}
.header-right{display:flex;align-items:center;gap:12px;}
.social-icon{width:34px;height:34px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.9rem;transition:all .2s;border:1.5px solid var(--border);}
.social-icon.fb{color:#1877f2;border-color:#1877f2;}
.social-icon.fb:hover{background:#1877f2;color:white;}
.social-icon.yt{color:#ff0000;border-color:#ff0000;}
.social-icon.yt:hover{background:#ff0000;color:white;}
.social-icon.wa{color:#25d366;border-color:#25d366;font-size:.85rem;}
.social-icon.wa:hover{background:#25d366;color:white;}
.header-admission{background:var(--red);color:white;padding:9px 20px;border-radius:4px;font-size:.8rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;transition:background .2s;}
.header-admission:hover{background:#a93226;}

/* NAVBAR */
.navbar{background:var(--green-dark);position:sticky;top:0;z-index:999;overflow:visible;}
.navbar-inner{max-width:1280px;margin:0 auto;display:flex;overflow:visible;}
.navbar-inner>ul{display:flex;align-items:stretch;width:100%;list-style:none;}
.navbar-inner>ul>li{position:relative;display:flex;align-items:stretch;}
.navbar-inner>ul>li>a{display:flex;align-items:center;gap:4px;padding:0 13px;height:48px;font-size:.76rem;font-weight:600;color:rgba(255,255,255,.88);letter-spacing:.04em;text-transform:uppercase;white-space:nowrap;transition:all .25s;border-right:1px solid rgba(255,255,255,.07);position:relative;overflow:hidden;}
/* Gold underline slide effect */
.navbar-inner>ul>li>a::after{content:'';position:absolute;bottom:0;left:50%;width:0;height:3px;background:var(--gold);transition:all .25s ease;transform:translateX(-50%);}
.navbar-inner>ul>li>a:hover::after,.navbar-inner>ul>li:hover>a::after{width:100%;}
.navbar-inner>ul>li>a:hover,.navbar-inner>ul>li:hover>a{background:rgba(255,255,255,.08);color:white;}
/* Dropdown smooth slide */
.nav-drop{position:absolute;top:100%;left:0;background:white;border:1px solid var(--border);border-top:3px solid var(--gold);min-width:210px;box-shadow:0 12px 36px rgba(0,0,0,.15);opacity:0;pointer-events:none;transform:translateY(10px);transition:all .25s cubic-bezier(.4,0,.2,1);z-index:1000;}
.navbar-inner>ul>li:hover .nav-drop{opacity:1;pointer-events:all;transform:translateY(0);}
/* Dropdown items */
.nav-drop a{display:block;padding:9px 18px;font-size:.79rem;color:var(--text-mid);border-bottom:1px solid var(--gray-2);transition:all .18s;position:relative;}
.nav-drop a::before{content:'';position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--gold);transform:scaleY(0);transition:transform .18s;}
.nav-drop a:last-child{border-bottom:none;}
.nav-drop a:hover{background:var(--cream);color:var(--green-dark);padding-left:22px;}
.nav-drop a:hover::before{transform:scaleY(1);}
.nav-drop .dh{background:var(--gray-1);color:var(--green-dark);font-weight:700;font-size:.7rem;letter-spacing:.08em;text-transform:uppercase;padding:7px 18px;cursor:default;}

/* TICKER */
.ticker-bar{background:linear-gradient(90deg,var(--green),var(--green-mid));padding:10px 0;overflow:hidden;}
.ticker-inner{max-width:1280px;margin:0 auto;padding:0 24px;display:flex;align-items:center;}
.ticker-label{background:var(--gold);color:var(--green-dark);padding:4px 16px;font-size:.72rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;border-radius:2px;flex-shrink:0;margin-right:20px;}
.ticker-track{overflow:hidden;flex:1;}
.ticker-content{display:flex;gap:50px;animation:tickmove var(--ticker-speed,45s) linear infinite;white-space:nowrap;}
.ticker-content a{color:rgba(255,255,255,.9);font-size:.82rem;font-weight:500;flex-shrink:0;}
.ticker-content a::before{content:'⬥ ';color:var(--gold-light);font-size:.65rem;}
@keyframes tickmove{0%{transform:translateX(0);}100%{transform:translateX(-50%);}}

/* HERO */
.hero{position:relative;min-height:480px;background:var(--green-dark);display:flex;align-items:center;overflow:hidden;}
.hero-bg{position:absolute;inset:0;background:radial-gradient(ellipse at 70% 50%,rgba(45,134,83,.25),transparent 60%);}
.hero-pattern{position:absolute;inset:0;opacity:.04;background-image:radial-gradient(circle,white 1px,transparent 1px);background-size:28px 28px;}
.hero-content{position:relative;z-index:1;max-width:1280px;margin:0 auto;padding:70px 24px;display:grid;grid-template-columns:1fr 380px;gap:60px;align-items:center;width:100%;}
.hero-est{font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);margin-bottom:16px;display:flex;align-items:center;gap:10px;}
.hero-est::before{content:'';display:block;width:32px;height:1px;background:var(--gold);}
.hero h1{font-family:'Merriweather',serif;font-size:clamp(1.8rem,3.5vw,2.9rem);color:white;line-height:1.3;font-weight:700;margin-bottom:16px;}
.hero h1 em{color:var(--gold-light);font-style:italic;}
.hero p{color:rgba(255,255,255,.72);font-size:.97rem;line-height:1.78;margin-bottom:28px;max-width:540px;}
.hero-btns{display:flex;gap:14px;flex-wrap:wrap;}
.btn-gold{background:var(--gold);color:var(--green-dark);padding:12px 28px;border-radius:3px;font-weight:700;font-size:.83rem;letter-spacing:.06em;text-transform:uppercase;transition:all .2s;display:inline-block;}
.btn-gold:hover{background:var(--gold-light);}
.btn-outline-white{border:2px solid rgba(255,255,255,.4);color:white;padding:12px 28px;border-radius:3px;font-weight:600;font-size:.83rem;transition:all .2s;display:inline-block;}
.btn-outline-white:hover{border-color:var(--gold);color:var(--gold);}
.hero-badge{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.15);border-radius:12px;padding:32px;display:grid;grid-template-columns:1fr 1fr;gap:20px;text-align:center;}
.hb-num{font-family:'Merriweather',serif;font-size:2.2rem;font-weight:700;color:var(--gold-light);line-height:1;}
.hb-lbl{font-size:.68rem;color:rgba(255,255,255,.55);letter-spacing:.08em;text-transform:uppercase;margin-top:4px;}
.hb-div{grid-column:1/-1;height:1px;background:rgba(255,255,255,.12);}

/* QUICK ACCESS */
.quick-access{background:var(--cream);border-bottom:1px solid var(--gray-2);}
.qa-inner{max-width:1280px;margin:0 auto;padding:0 24px;display:grid;grid-template-columns:repeat(6,1fr);}
.qa-card{display:flex;flex-direction:column;align-items:center;padding:20px 12px;gap:8px;border-right:1px solid var(--gray-2);text-align:center;transition:background .2s;}
.qa-card:last-child{border-right:none;}
.qa-card:hover{background:white;}
.qa-icon{width:48px;height:48px;border-radius:10px;background:var(--green-dark);display:flex;align-items:center;justify-content:center;font-size:1.3rem;transition:transform .2s;}
.qa-card:hover .qa-icon{transform:scale(1.1);}
.qa-label{font-size:.73rem;font-weight:600;color:var(--text-mid);}

/* MAIN LAYOUT */
.main-layout{max-width:1280px;margin:32px auto;padding:0 24px 60px;display:grid;grid-template-columns:1fr 300px;gap:32px;}
.main-layout.full{grid-template-columns:1fr;}

/* SECTION HEADER */
.sec-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;padding-bottom:10px;border-bottom:2px solid var(--green);position:relative;}
.sec-header::after{content:'';position:absolute;bottom:-2px;left:0;width:60px;height:2px;background:var(--gold);}
.sec-header h2{font-family:'Merriweather',serif;font-size:1.1rem;color:var(--green-dark);}
.sec-header a{font-size:.75rem;color:var(--green);font-weight:600;}

/* NOTICE ITEMS */
.notice-tabs{display:flex;border-bottom:2px solid var(--gray-2);margin-bottom:14px;}
/* Notice — 2 column card grid (desktop & mobile) */
.notice-list-desktop{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:4px 0;}
.notice-row-item{display:flex;gap:12px;padding:14px 16px;border-radius:8px;border:1px solid var(--gray-2);text-decoration:none;color:inherit;transition:all .2s;background:white;box-shadow:0 1px 4px rgba(0,0,0,.04);}
.notice-row-item:hover{border-color:var(--green);box-shadow:0 3px 12px rgba(13,68,36,.1);transform:translateY(-1px);}
.notice-title{font-size:.85rem;font-weight:600;color:var(--text);margin-bottom:5px;line-height:1.4;}
.notice-content{font-size:.78rem;color:var(--text-mid);line-height:1.6;margin-bottom:6px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.ntab{padding:8px 16px;font-size:.77rem;font-weight:600;background:none;border:none;cursor:pointer;border-bottom:3px solid transparent;margin-bottom:-2px;color:var(--text-mid);letter-spacing:.04em;text-transform:uppercase;transition:all .15s;}
.ntab.active{color:var(--green-dark);border-bottom-color:var(--gold);}
.n-item{display:flex;gap:14px;padding:12px 0;border-bottom:1px dashed var(--gray-2);align-items:flex-start;}
.n-item:last-child{border-bottom:none;}
.n-date{flex-shrink:0;background:var(--green-dark);color:white;padding:8px 10px;border-radius:6px;text-align:center;min-width:50px;}
.n-day{font-size:1.2rem;font-weight:700;font-family:'Merriweather',serif;line-height:1;}
.n-mon{font-size:.6rem;text-transform:uppercase;opacity:.75;}
.n-title{font-size:.87rem;font-weight:600;color:var(--text);margin-bottom:4px;line-height:1.4;}
.n-cat{display:inline-block;font-size:.65rem;font-weight:700;background:rgba(26,107,60,.1);color:var(--green);padding:2px 8px;border-radius:10px;letter-spacing:.06em;text-transform:uppercase;}
.n-new{display:inline-block;background:var(--red);color:white;font-size:.6rem;font-weight:700;padding:1px 6px;border-radius:2px;margin-left:6px;animation:blink 1.5s infinite;vertical-align:middle;}
@keyframes blink{0%,100%{opacity:1}50%{opacity:.4}}

/* ABOUT BOX */
.about-box{background:var(--cream);border:1px solid var(--gray-2);border-radius:8px;padding:22px;}
.about-box p{font-size:.88rem;color:var(--text-mid);line-height:1.85;margin-bottom:12px;}
.stat-row{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--gray-2);border:1px solid var(--gray-2);border-radius:6px;overflow:hidden;margin-top:18px;}
.stat-box{background:white;padding:14px;text-align:center;}
.stat-num{font-family:'Merriweather',serif;font-size:1.4rem;font-weight:700;color:var(--green);line-height:1;}
.stat-lbl{font-size:.65rem;color:var(--text-light);margin-top:4px;}

/* MESSAGE CARDS */
.msg-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;}
.msg-card{background:white;border:1px solid var(--gray-2);border-radius:8px;padding:20px;border-top:4px solid var(--green);position:relative;}
.msg-quote{position:absolute;top:14px;right:16px;font-size:3.5rem;color:var(--green);opacity:.07;font-family:'Merriweather',serif;line-height:1;}
.msg-top{display:flex;gap:12px;align-items:center;margin-bottom:12px;}
.msg-ava{width:48px;height:48px;border-radius:50%;background:var(--green-dark);display:flex;align-items:center;justify-content:center;color:var(--gold);font-family:'Merriweather',serif;font-size:1.2rem;font-weight:700;flex-shrink:0;}
.msg-name{font-weight:700;font-size:.88rem;color:var(--green-dark);}
.msg-role{font-size:.72rem;color:var(--text-light);margin-top:2px;}
.msg-card p{font-size:.82rem;color:var(--text-mid);line-height:1.75;}
.msg-card a{display:inline-block;margin-top:10px;font-size:.75rem;color:var(--green);font-weight:600;}

/* SIDEBAR */
.sidebar{display:flex;flex-direction:column;gap:20px;}
.sw{border:1px solid var(--gray-2);border-radius:8px;overflow:hidden;}
.sw-head{background:var(--green-dark);color:white;padding:11px 16px;font-size:.8rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;border-bottom:2px solid var(--gold);}
.sw-body{background:white;}
.sw-link{display:flex;align-items:center;gap:8px;padding:9px 16px;border-bottom:1px solid var(--gray-2);font-size:.81rem;color:var(--text-mid);transition:all .15s;}
.sw-link:last-child{border-bottom:none;}
.sw-link:hover{background:var(--cream);color:var(--green);padding-left:20px;}
.sw-link::before{content:'▸';color:var(--gold);flex-shrink:0;}
.sw-contact{display:flex;gap:10px;padding:10px 16px;border-bottom:1px solid var(--gray-2);font-size:.81rem;color:var(--text-mid);align-items:flex-start;}
.sw-contact:last-child{border-bottom:none;}
.sw-contact .ic{color:var(--green);flex-shrink:0;width:18px;text-align:center;}

/* PAGE CONTENT */
.breadcrumb{background:var(--cream);border-bottom:1px solid var(--gray-2);padding:10px 0;}
.bc-inner{max-width:1280px;margin:0 auto;padding:0 24px;font-size:.8rem;color:var(--text-light);display:flex;align-items:center;gap:6px;}
.bc-inner a{color:var(--green);}
.page-hero{background:linear-gradient(135deg,var(--green-dark),var(--green));padding:42px 24px;}
.ph-inner{max-width:1280px;margin:0 auto;}
.ph-inner h1{font-family:'Merriweather',serif;color:white;font-size:clamp(1.5rem,3vw,2.2rem);font-weight:700;}
.ph-inner p{color:rgba(255,255,255,.7);font-size:.9rem;margin-top:8px;}
.page-wrap{max-width:1280px;margin:36px auto;padding:0 24px 60px;display:grid;grid-template-columns:1fr 290px;gap:32px;}
.page-wrap.full{grid-template-columns:1fr;}
.content-card{background:white;border:1px solid var(--gray-2);border-radius:8px;padding:32px;}
.content-card h2{font-family:'Merriweather',serif;font-size:1.25rem;color:var(--green-dark);margin:24px 0 12px;padding-bottom:8px;border-bottom:2px solid var(--gold);}
.content-card h2:first-child{margin-top:0;}
.content-card h3{font-family:'Merriweather',serif;font-size:1rem;color:var(--green-dark);margin:18px 0 8px;}
.content-card p{font-size:.9rem;color:var(--text-mid);line-height:1.85;margin-bottom:14px;}
.content-card ul{margin:0 0 14px 20px;}
.content-card ul li{font-size:.88rem;color:var(--text-mid);margin-bottom:6px;line-height:1.6;}
.content-card a{color:var(--green);}
.content-card strong{color:var(--text);}
.content-card blockquote{border-left:4px solid var(--gold);padding:12px 20px;margin:16px 0;background:var(--cream);font-style:italic;color:var(--text-mid);font-size:.9rem;line-height:1.8;}
.info-table{width:100%;border-collapse:collapse;margin:16px 0;}
.info-table th{background:var(--green-dark);color:white;padding:10px 14px;font-size:.82rem;text-align:left;}
.info-table td{padding:9px 14px;font-size:.83rem;color:var(--text-mid);border-bottom:1px solid var(--gray-2);}
.info-table tr:nth-child(even) td{background:var(--gray-1);}
.highlight-box{background:linear-gradient(135deg,var(--green-dark),var(--green));color:white;border-radius:8px;padding:24px;margin:20px 0;}
.highlight-box h3{font-family:'Merriweather',serif;font-size:1.1rem;margin-bottom:10px;}
.highlight-box p{font-size:.85rem;opacity:.85;line-height:1.75;color:rgba(255,255,255,.85);}

/* PERSON CARD */
.person-card{display:flex;align-items:center;gap:16px;background:var(--cream);border:1px solid var(--gray-2);border-radius:8px;padding:20px;margin-bottom:16px;}
.person-ava{width:60px;height:60px;border-radius:50%;background:var(--green-dark);display:flex;align-items:center;justify-content:center;color:var(--gold);font-family:'Merriweather',serif;font-size:1.5rem;font-weight:700;flex-shrink:0;}
.person-name{font-weight:700;font-size:1rem;color:var(--green-dark);}
.person-role{font-size:.78rem;color:var(--text-light);margin-top:3px;}
.person-qual{font-size:.75rem;color:var(--green);margin-top:2px;font-style:italic;}

/* MEMBER GRID */
.member-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:16px;margin-top:16px;}
.member-card{background:var(--cream);border:1px solid var(--gray-2);border-radius:8px;padding:16px;text-align:center;}
.mc-ava{width:50px;height:50px;border-radius:50%;background:var(--green-dark);display:flex;align-items:center;justify-content:center;color:var(--gold);font-family:'Merriweather',serif;font-size:1.2rem;font-weight:700;margin:0 auto 10px;}
.mc-name{font-weight:700;font-size:.85rem;color:var(--green-dark);}
.mc-role{font-size:.72rem;color:var(--text-light);margin-top:3px;}

/* FOOTER */
footer{background:#0a2d1a;color:rgba(255,255,255,.6);padding:0 24px 0;}
.footer-grid{max-width:1280px;margin:0 auto;display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:36px;padding:32px 0 16px;}
.fb-brand{display:flex;align-items:center;gap:12px;margin-bottom:14px;}
.fb-crest{width:50px;height:50px;border-radius:50%;background:var(--green);border:2px solid var(--gold);display:flex;align-items:center;justify-content:center;color:var(--gold);font-family:'Merriweather',serif;font-size:1.3rem;font-weight:700;flex-shrink:0;}
.fb-brand-text strong{display:block;color:white;font-size:.9rem;font-family:'Merriweather',serif;}
.fb-brand-text span{font-size:.68rem;color:rgba(255,255,255,.4);}
.footer-about p{font-size:.8rem;line-height:1.8;margin-bottom:10px;}
.fc-row{display:flex;gap:8px;font-size:.78rem;margin-bottom:7px;align-items:flex-start;}
.fci{color:var(--gold-light);flex-shrink:0;font-size:.9rem;}
.f-soc{width:34px;height:34px;border-radius:50%;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.15);display:flex;align-items:center;justify-content:center;color:rgba(255,255,255,.7);font-size:.85rem;transition:all .2s;text-decoration:none;}
.f-soc:hover{background:var(--gold);border-color:var(--gold);color:var(--green-dark);}
footer h4{color:var(--gold);font-size:.73rem;text-transform:uppercase;letter-spacing:.12em;margin-bottom:14px;padding-bottom:8px;border-bottom:1px solid rgba(255,255,255,.1);position:relative;}
footer h4::after{content:'';position:absolute;bottom:-1px;left:0;width:28px;height:2px;background:var(--gold);}
footer ul{list-style:none;display:flex;flex-direction:column;gap:8px;}
footer ul li a{font-size:.78rem;color:rgba(255,255,255,.5);transition:all .2s;display:flex;align-items:center;gap:6px;}
footer ul li a::before{content:'›';color:var(--gold);font-size:1rem;line-height:1;transition:transform .2s;}
footer ul li a:hover{color:white;padding-left:4px;}
footer ul li a:hover::before{transform:translateX(2px);}
.footer-bottom{max-width:1280px;margin:0 auto;padding:16px 0;display:flex;justify-content:space-between;font-size:.73rem;color:rgba(255,255,255,.3);flex-wrap:wrap;gap:8px;border-top:1px solid rgba(255,255,255,.08);}

/* ALERTS */
.alert{padding:12px 18px;border-radius:6px;font-size:.85rem;margin-bottom:18px;}
.alert-success{background:rgba(26,107,60,.1);border:1px solid rgba(26,107,60,.3);color:var(--green);}
.alert-error{background:rgba(192,57,43,.1);border:1px solid rgba(192,57,43,.3);color:var(--red);}

/* RESPONSIVE */
/* ── HAMBURGER BUTTON ── */
.mob-menu-btn{display:none !important;background:none;border:none;cursor:pointer;padding:8px;flex-direction:column;gap:5px;z-index:1001;}
.mob-menu-btn span{display:block;width:24px;height:2px;background:var(--green-dark);border-radius:2px;transition:all .3s;}
.mob-menu-btn.open span:nth-child(1){transform:rotate(45deg) translate(5px,5px);}
.mob-menu-btn.open span:nth-child(2){opacity:0;}
.mob-menu-btn.open span:nth-child(3){transform:rotate(-45deg) translate(5px,-5px);}

/* ── MOBILE OVERLAY MENU - hidden by default ── */
.mob-nav{display:none !important;position:fixed;top:0;left:0;width:80%;max-width:300px;height:100%;background:var(--green-dark);z-index:9999;overflow-y:auto;padding:0;flex-direction:column;gap:0;box-shadow:4px 0 24px rgba(0,0,0,.4);}
.mob-nav.open{display:flex !important;}
.mob-nav a{color:rgba(255,255,255,.82);font-size:.88rem;font-weight:600;padding:13px 20px;border-bottom:1px solid rgba(255,255,255,.07);display:flex;align-items:center;gap:10px;text-decoration:none;transition:all .2s;}
.mob-nav a:hover,.mob-nav a:active{color:var(--gold);background:rgba(255,255,255,.06);padding-left:26px;}
.mob-nav .mob-sec{color:var(--gold);font-size:.62rem;letter-spacing:.15em;text-transform:uppercase;padding:14px 20px 4px;font-weight:700;border:none !important;background:rgba(0,0,0,.15);}
.mob-nav .mob-sub{padding-left:32px;font-size:.82rem;color:rgba(255,255,255,.55);border-color:rgba(255,255,255,.04);}
.mob-nav .mob-sub:hover{color:var(--gold);padding-left:38px;}
.mob-close{position:fixed;top:12px;right:12px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.2);color:white;font-size:1.1rem;cursor:pointer;width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;z-index:10000;transition:all .2s;}
.mob-close:hover{background:rgba(255,255,255,.25);}
/* Overlay */
.mob-overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,.55);z-index:9997;backdrop-filter:blur(2px);}
.mob-overlay.open{display:block;}

/* Hide mob-school-est on desktop */
.mob-school-est{display:none;}
/* Hide mobile portal popup on desktop */
#mobPortalPopup{display:none;}

/* ══ LARGE DESKTOP (1400px+) ══ */
@media(min-width:1400px){
  .utility-inner,.header-inner,.navbar-inner,.hero-content,.qa-inner,.main-layout,.footer-grid,.page-wrap,.ph-inner,.bc-inner{max-width:1360px;}
  body{font-size:16.5px;}
  .navbar-inner>ul>li>a{padding:0 15px;font-size:.8rem;height:50px;}
  .header-inner{height:92px;}
  .hslider{height:520px;}
}
/* ══ EXTRA LARGE (1600px+) ══ */
@media(min-width:1600px){
  .utility-inner,.header-inner,.navbar-inner,.hero-content,.qa-inner,.main-layout,.footer-grid,.page-wrap,.ph-inner,.bc-inner{max-width:1520px;}
  body{font-size:17px;}
  .navbar-inner>ul>li>a{padding:0 17px;font-size:.82rem;height:52px;}
  .header-inner{height:96px;}
  .hslider{height:580px;}
  .brand-logo{width:70px;height:70px;}
  .brand-text .school-name{font-size:1.15rem;}
}
/* ══ 2K/4K (1920px+) ══ */
@media(min-width:1920px){
  .utility-inner,.header-inner,.navbar-inner,.hero-content,.qa-inner,.main-layout,.footer-grid,.page-wrap,.ph-inner,.bc-inner{max-width:1820px;}
  body{font-size:18px;}
  .navbar-inner>ul>li>a{padding:0 20px;font-size:.85rem;height:54px;}
  .header-inner{height:100px;}
  .hslider{height:650px;}
  .brand-logo{width:76px;height:76px;}
  .brand-text .school-name{font-size:1.25rem;}
}

/* ══ MEDIUM DESKTOP / TABLET LANDSCAPE (901px - 1199px) ══ */
@media(max-width:1199px){
  .hero-content{gap:30px;}
  .hero-badge{grid-template-columns:1fr 1fr;padding:20px;}
  .navbar-inner>ul>li>a{padding:0 10px;font-size:.72rem;}
  .footer-grid{gap:24px;}
  .main-layout{gap:20px;}
}

/* ══ TABLET PORTRAIT / SMALL LAPTOP (900px) ══ */
@media(max-width:900px){
  html,body{overflow-x:hidden!important;}

  /* Hide desktop nav, show hamburger */
  .utility-bar{display:none;}
  .header-right .social-icon,.header-right .hdr-search-form{display:none;}
  .navbar{display:none;}
  .ticker-bar{font-size:.72rem;}
  .mob-menu-btn{display:flex!important;}

  /* Header — compact mobile */
  header{background:white!important;border-bottom:3px solid var(--green)!important;}
  .header-inner{padding:6px 12px;height:54px;gap:6px;}
  .header-right{gap:6px;flex-shrink:0;}
  .mob-menu-btn span{background:var(--green-dark)!important;}
  /* Logo */
  .brand-logo{width:32px!important;height:32px!important;font-size:.85rem!important;flex-shrink:0;}
  .header-brand img{width:32px!important;height:32px!important;border-width:1.5px!important;}
  .logo-circle{width:32px!important;height:32px!important;}
  /* Brand text */
  .header-brand{gap:7px;flex:1;min-width:0;}
  .brand-text{flex:1;min-width:0;}
  .brand-text .school-sub,.brand-text .school-est,.brand-text .school-est *{display:none!important;height:0!important;margin:0!important;padding:0!important;}
  /* School name — one line, bold serif */
  .brand-text .school-name{
    font-size:.6rem!important;
    font-weight:800!important;
    color:var(--green-dark)!important;
    font-family:'Merriweather',Georgia,serif!important;
    letter-spacing:.01em!important;
    line-height:1.2!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    max-width:100%!important;
    display:block!important;
  }
  /* Est. subtitle — small, below name */
  .mob-school-est{display:block!important;font-size:.42rem!important;color:rgba(0,0,0,.4)!important;font-weight:500!important;letter-spacing:.03em!important;margin-top:2px!important;white-space:nowrap!important;}
  .header-inner{justify-content:space-between;}
  .header-admission{font-size:.6rem;padding:4px 7px;}
  /* Search icon smaller */
  #hdrSearchBtn{width:30px!important;height:30px!important;font-size:.75rem!important;}
  .pulse-btn{width:30px!important;height:30px!important;}
  .pulse-btn svg{width:13px!important;height:13px!important;}
  /* Hamburger smaller */
  .mob-menu-btn{padding:5px;}
  .mob-menu-btn span{width:20px;height:1.5px;}

  /* Hero */
  .hero-content{grid-template-columns:1fr;padding:40px 16px;}
  .hero-badge{display:none;}
  .hero h1{font-size:1.6rem;}
  .hero p{font-size:.85rem;}

  /* Slider */
  /* Mobile slider - 16:9 rectangle */
  .hslider{height:auto!important;aspect-ratio:16/9;min-height:180px;max-height:300px;}
  .hslide-content{padding:0 16px;}
  .hslide-content h1{font-size:1.2rem;}
  .hslide-content p{font-size:.78rem;}
  .hslide-tag{font-size:.6rem;letter-spacing:.1em;margin-bottom:6px;}
  .hstats{padding:8px 10px;}
  .hsn{font-size:1rem;}
  .hsl{font-size:.52rem;}
  .hdots{left:16px;bottom:48px;}
  /* Smaller arrows on mobile */
  .harr{padding:6px 9px!important;font-size:.7rem!important;border-radius:3px!important;}

  /* Quick access */
  .qa-inner{grid-template-columns:repeat(3,1fr);gap:0;}
  .qa-card{padding:12px 6px;}
  .qa-icon{font-size:1.3rem;}
  .qa-label{font-size:.62rem;}

  /* Layout */
  .main-layout,.page-wrap{grid-template-columns:1fr;padding:16px;}
  .sidebar{display:none;}
  .msg-grid{grid-template-columns:1fr;}
  .stat-row{grid-template-columns:repeat(2,1fr);}
  .member-grid{grid-template-columns:repeat(2,1fr);}
  .form-row{grid-template-columns:1fr;}

  /* Footer */
  .footer-grid{grid-template-columns:1fr 1fr;gap:20px;padding:28px 0;}

  /* Page elements */
  .breadcrumb{display:none;}
  .ph-inner h1{font-size:1.3rem;}
  .ph-inner p{font-size:.82rem;}
  /* Alumni & Events — single column on mobile */
  .alumni-layout{grid-template-columns:1fr!important;}
  .events-layout{grid-template-columns:1fr!important;}
  /* Events calendar scroll */
  .events-layout>div:first-child{overflow-x:auto;}
  /* Page content grid — mobile responsive */
  .page-content div[style*="grid-template-columns"]{
    grid-template-columns:1fr!important;
  }

  /* Floating buttons - above bottom nav on mobile */
  #backToTop{right:10px!important;bottom:190px!important;width:36px!important;height:36px!important;font-size:.85rem!important;}
  #waFloat{right:10px!important;bottom:136px!important;width:36px!important;height:36px!important;}
  #waFloat svg{width:18px!important;height:18px!important;}
  #chatWidget{right:10px!important;bottom:78px!important;}
  #chatBtn{width:36px!important;height:36px!important;font-size:.82rem!important;}
}

/* ══ MOBILE (600px) ══ */
@media(max-width:600px){
  html,body{overflow-x:hidden!important;}

  /* Header */
  .header-inner{padding:8px 12px;}
  .brand-logo{width:42px;height:42px;font-size:1.1rem;}
  .brand-text .school-name{font-size:.78rem;}

  /* Hero */
  .hero-content{padding:30px 12px;}
  .hero h1{font-size:1.3rem;}

  /* Slider - 16:9 rectangle */
  .hslider{height:auto!important;aspect-ratio:16/9;min-height:160px;max-height:240px;}
  .hstats{display:none;}
  .hslide-content h1{font-size:.95rem;}
  .hslide-content p{display:none;}
  .hslide-tag{display:none!important;}

  /* Quick access */
  .qa-inner{grid-template-columns:repeat(3,1fr);}
  .qa-label{font-size:.58rem;}
  /* Notice — full width, 2 column, screen fit */
  .notice-page-wrap{grid-template-columns:1fr!important;padding:8px!important;gap:0!important;}
  .notice-page-wrap .sidebar{display:none!important;}
  .notice-list-desktop{
    grid-template-columns:1fr 1fr!important;
    gap:6px!important;
    padding:6px!important;
    width:100%!important;
    box-sizing:border-box!important;
  }
  .notice-row-item{
    padding:10px 8px!important;
    border-radius:8px!important;
    flex-direction:column!important;
    gap:5px!important;
    min-width:0!important;
    box-sizing:border-box!important;
    border:1px solid #e8e8e8!important;
    box-shadow:0 1px 3px rgba(0,0,0,.06)!important;
  }
  .notice-row-item .n-date{display:flex!important;align-items:center!important;gap:4px!important;}
  .notice-row-item .n-day{font-size:.9rem!important;line-height:1!important;}
  .notice-row-item .n-mon{font-size:.55rem!important;}
  .notice-row-item .n-yr{display:none!important;}
  .notice-title{font-size:.66rem!important;line-height:1.35!important;font-weight:600!important;}
  .notice-content{font-size:.6rem!important;-webkit-line-clamp:2!important;display:-webkit-box!important;-webkit-box-orient:vertical!important;overflow:hidden!important;}
  .notice-row-item>div:last-child{display:none!important;}
  .n-cat{font-size:.5rem!important;padding:2px 6px!important;}

  /* Layout */
  .main-layout,.page-wrap{padding:12px;}
  .stat-row{grid-template-columns:repeat(2,1fr);}

  /* Hide normal footer on mobile, show app-like bottom nav */
  footer{display:none!important;}
  body{padding-bottom:65px;}

  /* App-like bottom nav */
  .mob-bottom-nav{
    display:flex!important;
    position:fixed;bottom:0;left:0;right:0;
    height:60px;
    background:var(--green-dark);
    border-top:3px solid var(--gold);
    z-index:990;
    box-shadow:0 -3px 16px rgba(0,0,0,.2);
  }
  .mob-bottom-nav a,
  .mob-bottom-nav .mob-portal-btn{
    flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;
    gap:3px;text-decoration:none;color:rgba(255,255,255,.55);font-size:.5rem;font-weight:600;
    transition:all .2s;padding:6px 2px;cursor:pointer;background:transparent!important;border:none!important;outline:none!important;font-family:inherit;
  }
  .mob-bottom-nav a.act,
  .mob-bottom-nav a:active,
  .mob-bottom-nav .mob-portal-btn.act{color:var(--gold);}
  .mob-bottom-nav a svg,
  .mob-bottom-nav .mob-portal-btn svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;}
  .mob-bottom-nav a.act svg,
  .mob-bottom-nav .mob-portal-btn.act svg{stroke:var(--gold);}
  .mob-bottom-nav a span,
  .mob-bottom-nav .mob-portal-btn span{font-size:.48rem;}
  /* Portal popup */
  #mobPortalPopup{display:none;position:fixed;bottom:68px;left:8px;right:8px;z-index:991;}
  #mobPortalPopup.open{display:block;animation:slideUp .2s ease;}
  @keyframes slideUp{from{opacity:0;transform:translateY(8px);}to{opacity:1;transform:translateY(0);}}
  #mobPortalPopup .popup-inner{background:white;border-radius:14px;box-shadow:0 -4px 20px rgba(0,0,0,.15);padding:12px;border:1px solid #e8e8e8;}
  #mobPortalPopup .popup-title{font-size:.52rem;color:#888;text-transform:uppercase;letter-spacing:.1em;margin-bottom:10px;text-align:center;padding-bottom:8px;border-bottom:1px solid #f0f0f0;}
  #mobPortalPopup .popup-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;}
  #mobPortalPopup .pi{display:flex;flex-direction:column;align-items:center;gap:3px;padding:8px 2px;border-radius:8px;background:#f8f8f8;border:1px solid #eee;text-decoration:none;}
  #mobPortalPopup .pi:active{background:#e8f5ee;border-color:#0d4424;}
  #mobPortalPopup .pi .i{font-size:1.1rem;}
  #mobPortalPopup .pi .l{font-size:.44rem;color:#0d4424;font-weight:700;text-align:center;line-height:1.3;}
  #mobPortalPopup .pi .t{font-size:.36rem;color:#d4a017;background:rgba(212,160,23,.12);padding:1px 3px;border-radius:3px;}

  /* Footer */
  .footer-grid{grid-template-columns:1fr;gap:16px;}
  .form-row{grid-template-columns:1fr;}

  /* Tables */
  .tbl{font-size:.78rem;}
  .tbl td,.tbl th{padding:8px 10px;}
}

/* ══ SMALL MOBILE (380px) ══ */
@media(max-width:380px){
  .brand-text .school-name{font-size:.72rem;}
  .qa-inner{grid-template-columns:repeat(2,1fr);}
  .hero h1{font-size:1.1rem;}
  .stat-row{grid-template-columns:repeat(2,1fr);}
  .header-inner{padding:6px 10px;}
  .brand-logo{width:38px;height:38px;}
}
