/* APEX CAMPUS v130 — Public portal information dialog. */
.liquid-hero-logo{cursor:pointer;appearance:none;font:inherit}
.liquid-hero-logo:focus-visible{outline:3px solid #9bc7ff;outline-offset:5px}
body.portal-info-open{overflow:hidden!important}
.portal-info-modal{position:fixed;z-index:1000;inset:0;display:grid;place-items:center;padding:20px;background:rgba(2,11,31,.68);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
.portal-info-modal.hidden{display:none!important}
.portal-info-dialog{position:relative;width:min(800px,100%);height:min(690px,calc(100dvh - 40px));overflow:hidden;scrollbar-width:none;-ms-overflow-style:none;display:flex;flex-direction:column;border:1px solid rgba(190,219,255,.33);border-radius:25px;padding:30px;background:linear-gradient(135deg,rgba(23,56,111,.97),rgba(13,23,77,.98));color:#eff5ff;box-shadow:0 26px 80px rgba(0,0,0,.42)}
.portal-info-dialog::-webkit-scrollbar{display:none}
.portal-info-close{position:absolute;right:18px;top:16px;width:36px;height:36px;border:1px solid rgba(207,225,255,.35);border-radius:10px;background:rgba(255,255,255,.09);color:#fff;font-size:25px;line-height:1;cursor:pointer}
.portal-info-heading{padding:2px 50px 17px 0;border-bottom:1px solid rgba(190,219,255,.22)}.portal-info-heading p{margin:0 0 5px;color:#a9d6ff;font-size:.7rem;font-weight:800;letter-spacing:.13em}.portal-info-heading h2{margin:0;font-size:1.45rem;letter-spacing:-.03em}
.portal-info-grid{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:minmax(0,1fr);align-items:stretch;flex:1;min-height:0;gap:16px;padding-top:20px}.portal-info-panel{display:block;align-self:stretch;min-height:0;height:100%;padding:20px;border:1px solid rgba(190,219,255,.25);border-radius:17px;background:rgba(255,255,255,.065);min-width:0}.portal-info-panel[data-public-panel="about"]{overflow-y:auto;scrollbar-width:none;-ms-overflow-style:none}.portal-info-panel[data-public-panel="about"]::-webkit-scrollbar{display:none}.portal-info-label{margin:0 0 9px;color:#a9d6ff;font-size:.72rem;font-weight:800;letter-spacing:.13em}.portal-info-panel h2{margin:0 0 14px;font-size:clamp(1.35rem,3vw,1.8rem);letter-spacing:-.035em}.portal-info-panel>p:not(.portal-info-label){margin:0;color:#d1ddf1;font-size:.96rem;line-height:1.7}.portal-contact-list{display:grid;gap:10px;margin:0}.portal-contact-list div{padding:11px 12px;border:1px solid rgba(190,219,255,.22);border-radius:11px;background:rgba(255,255,255,.06)}.portal-contact-list dt{margin-bottom:5px;color:#a9c3e5;font-size:.7rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.portal-contact-list dd{margin:0;color:#f3f7ff;line-height:1.45;overflow-wrap:anywhere}.portal-contact-list a{color:#a9d6ff}.portal-info-note{flex:0 0 auto;margin:19px 0 0;padding-top:16px;border-top:1px solid rgba(190,219,255,.18);color:#a8b9d5;font-size:.75rem;text-align:center}
@media(max-width:680px){.portal-info-dialog{height:auto;max-height:calc(100dvh - 40px);padding:25px 20px;border-radius:20px;overflow:auto}.portal-info-grid{grid-template-columns:1fr;display:grid;flex:none;gap:12px}.portal-info-panel{height:auto;padding:18px}.portal-info-panel[data-public-panel="about"]{height:clamp(210px,31dvh,270px);min-height:210px}.portal-about-content{overscroll-behavior:contain}}

/* Keep the About Us headings fixed while only its detail text scrolls. */
.portal-info-panel[data-public-panel="about"]{display:flex;flex-direction:column;overflow:hidden}
.portal-about-content{flex:1 1 0;min-height:0;height:0;overflow-y:auto;scrollbar-width:none;-ms-overflow-style:none}
.portal-about-content::-webkit-scrollbar{display:none}
.portal-about-content p{margin:0;color:#d1ddf1;font-size:.96rem;line-height:1.7}
.portal-info-modal[data-focus="about"] .portal-info-grid,.portal-info-modal[data-focus="contact"] .portal-info-grid{grid-template-columns:minmax(0,1fr)}
.portal-info-modal[data-focus="about"] [data-public-panel="contact"],.portal-info-modal[data-focus="contact"] [data-public-panel="about"]{display:none}

/* v141 — public About and Contact pages match the new arrival design. */
.portal-info-modal{background:rgba(6,7,10,.82);padding:clamp(14px,4vw,52px)}.portal-info-dialog{width:min(1368px,100%);height:min(740px,calc(100dvh - 56px));display:grid;grid-template-columns:1.05fr .95fr;padding:0;border:1px solid rgba(255,255,255,.13);border-radius:34px;background:#f9f9fe;color:#25283a;box-shadow:0 30px 100px rgba(0,0,0,.52)}.portal-info-close{z-index:5;right:18px;top:17px;border:0;border-radius:50%;background:rgba(25,24,34,.11);color:#282839}.portal-info-art{position:relative;overflow:hidden;display:flex;flex-direction:column;justify-content:flex-end;padding:52px;background:radial-gradient(circle at 78% 8%,rgba(211,164,255,.9),transparent 25%),radial-gradient(circle at 76% 10%,rgba(140,184,255,.62),transparent 38%),linear-gradient(145deg,#292733,#333341)}.portal-info-art::before{content:"";position:absolute;top:-18%;right:-12%;width:360px;height:360px;border-radius:50%;background:radial-gradient(circle,rgba(242,213,244,.85),rgba(151,114,222,.68) 42%,transparent 70%);filter:blur(12px)}.portal-info-art p,.portal-info-art h2{position:relative;z-index:1;margin:0;color:#fff}.portal-info-art p{font-size:.72rem;font-weight:800;letter-spacing:.12em}.portal-info-art h2{margin-top:20px;font-size:clamp(2.1rem,4vw,4rem);line-height:1.08;letter-spacing:-.06em}.portal-info-content{min-width:0;display:flex;flex-direction:column;padding:clamp(34px,5vw,78px);background:linear-gradient(120deg,#fff,#fbf9ff)}.portal-info-brand{display:flex;align-items:center;gap:12px;font-size:.9rem;color:#202437}.portal-info-brand span{display:grid;place-items:center;width:46px;height:46px;overflow:hidden;border-radius:50%;background:#fff;box-shadow:0 12px 24px rgba(61,70,120,.15)}.portal-info-brand img{width:84%;height:84%;object-fit:contain}.portal-info-heading{padding:36px 0 0;border:0}.portal-info-heading p{display:none}.portal-info-heading h2{margin:0;color:#272a3b;font-size:clamp(2rem,3vw,2.9rem);letter-spacing:-.055em}.portal-info-heading h2::after{content:"Choose the way that works best for you.";display:block;margin-top:12px;color:#778096;font-size:1rem;font-weight:400;letter-spacing:0}.portal-info-modal[data-focus="about"] .portal-info-heading h2::after{content:"Learn more about APEX CAMPUS and our examination experience."}.portal-info-grid,.portal-info-modal[data-focus="about"] .portal-info-grid,.portal-info-modal[data-focus="contact"] .portal-info-grid{display:block;flex:1;min-height:0;padding-top:30px}.portal-info-panel{height:auto;min-height:0;padding:0;border:0;border-radius:0;background:transparent}.portal-info-panel[data-public-panel="about"]{overflow:visible}.portal-info-panel h2,.portal-info-panel .portal-info-label{display:none}.portal-about-content{height:auto;overflow:visible}.portal-about-content p{color:#596278;font-size:1rem;line-height:1.75}.portal-contact-list{gap:10px}.portal-contact-list div{display:flex;align-items:center;min-height:78px;padding:16px 18px;border:1px solid #dce2ef;border-radius:15px;background:#fff;transition:transform .2s ease,box-shadow .2s ease}.portal-contact-list div:hover{transform:translateY(-2px);box-shadow:0 12px 24px rgba(52,61,100,.09)}.portal-contact-list dt{margin:0;color:#272a3b;font-size:.82rem;text-transform:none;letter-spacing:0}.portal-contact-list dd{margin:7px 0 0;color:#65708a;font-size:.9rem}.portal-contact-list a{color:#4b5e9e}.portal-info-note{margin-top:28px;padding:0;border:0;color:#758097;font-size:.92rem;text-align:center}.portal-info-modal[data-focus="both"] [data-public-panel="about"]{display:none}
@media(max-width:820px){.portal-info-dialog{height:auto;max-height:calc(100dvh - 28px);grid-template-columns:1fr;overflow:auto;border-radius:26px}.portal-info-art{min-height:250px;padding:34px}.portal-info-art h2{font-size:2.4rem}.portal-info-content{padding:28px 24px}.portal-info-heading{padding-top:28px}.portal-info-grid{padding-top:24px}.portal-info-modal{padding:14px}.portal-info-close{background:rgba(255,255,255,.7)}}

/* v144 — Soft, continuous public windows without high-contrast seams. */
.portal-info-modal{background:radial-gradient(circle at 76% 12%,rgba(167,132,226,.18),transparent 31%),rgba(11,12,17,.76);backdrop-filter:blur(22px) saturate(115%);-webkit-backdrop-filter:blur(22px) saturate(115%)}
.portal-info-dialog{border:0;border-radius:42px;background:linear-gradient(120deg,#2a2934 0%,#343442 47%,#f8f8fd 48%,#fbf9ff 100%);box-shadow:0 36px 110px rgba(5,6,12,.42),0 1px 0 rgba(255,255,255,.16) inset;isolation:isolate}
.portal-info-dialog::before{content:"";position:absolute;z-index:4;inset:0;border-radius:inherit;pointer-events:none;background:linear-gradient(112deg,rgba(255,255,255,.10),transparent 15%,transparent 82%,rgba(255,255,255,.28));mix-blend-mode:soft-light}
.portal-info-art{background:radial-gradient(circle at 78% 8%,rgba(221,180,255,.76),transparent 27%),radial-gradient(circle at 75% 15%,rgba(128,169,255,.48),transparent 43%),linear-gradient(145deg,#282631,#343443 68%,#3a3947)}
.portal-info-art::after{content:"";position:absolute;z-index:2;top:0;right:-1px;bottom:0;width:100px;pointer-events:none;background:linear-gradient(90deg,transparent,rgba(248,248,253,.34) 74%,rgba(248,248,253,.88))}
.portal-info-close{width:43px;height:43px;border:0;background:rgba(255,255,255,.62);color:#3b3a4a;box-shadow:0 8px 20px rgba(26,24,38,.12);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);transition:transform .28s cubic-bezier(.2,.8,.2,1),background .28s ease,box-shadow .28s ease}.portal-info-close:hover{transform:scale(1.06) rotate(4deg);background:rgba(255,255,255,.88);box-shadow:0 12px 28px rgba(26,24,38,.18)}
.portal-info-content{position:relative;background:linear-gradient(120deg,rgba(255,255,255,.84),rgba(251,249,255,.94));overflow-y:auto;scrollbar-width:none}.portal-info-content::-webkit-scrollbar{display:none}.portal-info-brand span{box-shadow:0 14px 32px rgba(61,70,120,.12);background:rgba(255,255,255,.72)}
.portal-contact-list div{border:0;background:linear-gradient(105deg,rgba(255,255,255,.77),rgba(249,248,255,.7));box-shadow:0 8px 22px rgba(56,63,98,.055),inset 0 1px 0 rgba(255,255,255,.62)}.portal-contact-list div:hover{box-shadow:0 15px 28px rgba(52,61,100,.10),inset 0 1px 0 rgba(255,255,255,.78)}
.portal-info-grid{flex:0 0 auto}.portal-info-note{margin-top:auto;padding-top:26px;color:#7d8498}.portal-about-content{padding-bottom:18px}
@media(max-width:820px){.portal-info-dialog{border-radius:30px;background:linear-gradient(160deg,#2a2934 0%,#353443 35%,#f8f8fd 36%,#fbf9ff 100%)}.portal-info-art::after{top:auto;left:0;right:0;bottom:-1px;width:auto;height:76px;background:linear-gradient(180deg,transparent,rgba(248,248,253,.88))}.portal-info-close{right:15px;top:15px}.portal-info-content{overflow:visible}}

/* v146 — Keep About and Contact fully framed inside a single browser view. */
@media(min-width:821px) and (max-height:900px){
  .portal-info-modal{padding:16px}.portal-info-dialog{width:min(1240px,100%);height:calc(100dvh - 32px);grid-template-columns:1fr 1fr;border-radius:34px}
  .portal-info-art{padding:34px}.portal-info-art h2{margin-top:14px;font-size:clamp(2rem,4vw,3.25rem)}.portal-info-content{padding:24px clamp(28px,4vw,52px);overflow:hidden}
  .portal-info-brand span{width:40px;height:40px}.portal-info-heading{padding-top:20px}.portal-info-heading h2{font-size:clamp(1.75rem,3vw,2.3rem)}.portal-info-heading h2::after{margin-top:7px;font-size:.86rem}
  .portal-info-grid{padding-top:18px}.portal-about-content p{font-size:.9rem;line-height:1.52}.portal-contact-list{gap:7px}.portal-contact-list div{min-height:57px;padding:10px 13px}.portal-contact-list dd{margin-top:3px;font-size:.82rem}.portal-info-note{padding-top:14px;margin-top:auto;font-size:.78rem}
}
@media(min-width:821px) and (max-height:720px){
  .portal-info-dialog{height:calc(100dvh - 20px);border-radius:28px}.portal-info-art{padding:26px}.portal-info-art h2{font-size:2rem}.portal-info-content{padding:18px 30px}.portal-info-heading{padding-top:13px}.portal-info-heading h2{font-size:1.55rem}.portal-info-grid{padding-top:12px}.portal-about-content p{font-size:.8rem;line-height:1.42}.portal-contact-list div{min-height:47px;padding:7px 10px}.portal-contact-list dt{font-size:.72rem}.portal-contact-list dd{font-size:.73rem}.portal-info-note{padding-top:9px;font-size:.68rem}
}

/* Normal-height windows use the larger, more comfortable version of the design. */
@media(min-width:821px) and (min-height:761px) and (max-height:900px){
  .portal-info-modal{padding:24px}.portal-info-dialog{height:calc(100dvh - 48px);width:min(1320px,100%);grid-template-columns:1.04fr .96fr;border-radius:40px}
  .portal-info-art{padding:44px}.portal-info-art h2{margin-top:18px;font-size:clamp(2.5rem,4.1vw,3.7rem)}
  .portal-info-content{padding:34px clamp(38px,4.5vw,64px)}.portal-info-brand span{width:45px;height:45px}.portal-info-heading{padding-top:29px}.portal-info-heading h2{font-size:clamp(2rem,3.1vw,2.6rem)}.portal-info-heading h2::after{margin-top:10px;font-size:.96rem}
  .portal-info-grid{padding-top:25px}.portal-about-content p{font-size:.98rem;line-height:1.62}.portal-contact-list{gap:9px}.portal-contact-list div{min-height:68px;padding:13px 16px}.portal-contact-list dd{margin-top:5px;font-size:.88rem}.portal-info-note{padding-top:19px;font-size:.86rem}
}

/* v154 — Aligned icon-led contact cards with social channels. */
.portal-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.portal-contact-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.portal-contact-list .portal-contact-card{display:grid;grid-template-columns:42px minmax(0,1fr);gap:12px;align-items:center;min-height:76px;margin:0!important;padding:13px 14px!important}
.portal-contact-list .portal-contact-card dt{display:grid;place-items:center;margin:0!important}
.portal-contact-icon{display:grid;place-items:center;width:38px;height:38px;border-radius:13px;background:linear-gradient(135deg,#e8eeff,#f2ebff);color:#4e62ae;box-shadow:inset 0 1px 0 rgba(255,255,255,.86);cursor:default}
.portal-contact-icon svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.portal-contact-icon--facebook svg,.portal-contact-icon--tiktok svg{fill:currentColor;stroke:none}
.portal-contact-icon--whatsapp{color:#1b9a69;background:linear-gradient(135deg,#e3fbf0,#e9f8f3)}.portal-contact-icon--facebook{color:#3f62bc;background:linear-gradient(135deg,#e7edff,#edf0ff)}.portal-contact-icon--tiktok{color:#5b4d70;background:linear-gradient(135deg,#f2ecfb,#eeeaff)}.portal-contact-icon--address{color:#b15b79;background:linear-gradient(135deg,#ffe8ee,#fff0f3)}.portal-contact-icon--hours{color:#9a6a25;background:linear-gradient(135deg,#fff4dc,#fff8e9)}
.portal-contact-list .portal-contact-card dd{min-width:0;margin:0!important;color:#667089;font-size:.88rem;line-height:1.38;overflow-wrap:anywhere}.portal-contact-list .portal-contact-card dd a{display:inline-block;color:#5064a9;text-decoration:none}.portal-contact-list .portal-contact-card dd a:hover{text-decoration:underline}.portal-contact-list .portal-contact-card dd span{color:#667089}
@media(max-width:820px){.portal-contact-list{grid-template-columns:1fr}.portal-contact-list .portal-contact-card{min-height:64px}}
@media(min-width:821px) and (max-height:720px){.portal-contact-list{gap:7px}.portal-contact-list .portal-contact-card{grid-template-columns:34px minmax(0,1fr);gap:9px;min-height:48px;padding:7px 10px!important}.portal-contact-icon{width:31px;height:31px;border-radius:10px}.portal-contact-icon svg{width:16px;height:16px}.portal-contact-list .portal-contact-card dd{font-size:.74rem}}
