.page-hero{position:relative;overflow:hidden;min-height:360px;border-radius:0;margin-bottom:clamp(32px,4vw,48px);background-image:linear-gradient(135deg,#092519d9,#115638cc),var(--hero-image, none);background-size:cover;background-position:center}.page-hero__content{position:relative;color:#fff;padding:clamp(32px,4vw,56px);max-width:960px}.page-hero__title{font-size:clamp(2.8rem,4vw,3.4rem);font-weight:700;margin-bottom:.75rem}.page-hero__subtitle{font-size:1.075rem;margin-bottom:1.5rem;max-width:620px}.page-section__subtitle{max-width:700px}#requirements{padding:clamp(40px,5vw,64px) 0}#requirements .page-section__header{text-align:center;margin-bottom:clamp(48px,6vw,72px);position:relative}#requirements .page-section__title{font-size:clamp(2.25rem,4vw,3.5rem);color:#0a1f15;font-weight:900;margin-bottom:16px;background:linear-gradient(135deg,#0c2f1e,#0f6a43,#0d5537);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;letter-spacing:-.02em}#requirements .page-section__subtitle{font-size:1.25rem;color:#4a5a4f;max-width:680px;margin:0 auto;line-height:1.7;font-weight:500}.campus-dashboard{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(28px,4vw,48px);max-width:1440px;margin:0 auto;padding:clamp(20px,3vw,40px) clamp(16px,2vw,24px)}.campus-dashboard-card{display:flex;flex-direction:column;border-radius:28px;overflow:hidden;background:#fff;box-shadow:0 10px 40px #0c2f1e26;transition:all .3s cubic-bezier(.4,0,.2,1);border:2px solid transparent;position:relative}.campus-dashboard-card:before{content:"";position:absolute;top:0;left:0;right:0;height:6px;background:linear-gradient(90deg,#0f6a43,#0d5537,#0f6a43);opacity:1;z-index:100}.campus-dashboard-card:hover{transform:translateY(-4px);box-shadow:0 15px 50px #0f6a4333;border-color:#0f6a431a}.campus-dashboard-card__image{width:100%;height:380px;background-size:cover;background-position:center center;background-repeat:no-repeat;position:relative;overflow:hidden;border-bottom:5px solid #0f6a43;flex-shrink:0;order:0;z-index:1}.campus-dashboard-card__image:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(135deg,rgba(15,106,67,.1) 0%,transparent 50%,rgba(13,85,55,.15) 100%);z-index:1}.campus-dashboard-card__image:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(to bottom,#0000,#0000000d 40%,#00000080);z-index:2}.campus-dashboard-card__content{padding:clamp(32px,5vw,48px);display:flex;flex-direction:column;gap:18px;flex:1;background:linear-gradient(to bottom,#fff,#fafbfa);position:relative;order:1;z-index:2}.campus-dashboard-card__content:before{content:"";position:absolute;top:0;left:clamp(32px,5vw,48px);right:clamp(32px,5vw,48px);height:1px;background:linear-gradient(90deg,transparent,rgba(15,106,67,.2),transparent)}.campus-dashboard-card__eyebrow{text-transform:uppercase;letter-spacing:.25em;font-size:.6875rem;color:#fff;margin:0;font-weight:800;display:inline-block;padding:8px 18px;background:linear-gradient(135deg,#0f6a43,#0d5537);border-radius:24px;align-self:flex-start;box-shadow:0 4px 12px #0f6a434d;position:relative;overflow:hidden}.campus-dashboard-card__eyebrow:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left .6s ease}.campus-dashboard-card:hover .campus-dashboard-card__eyebrow:before{left:100%}.campus-dashboard-card__title{font-size:clamp(1.625rem,2.8vw,2.125rem);color:#0a1f15;margin:0;font-weight:900;line-height:1.2;letter-spacing:-.02em;position:relative;padding-bottom:12px}.campus-dashboard-card__title:after{content:"";position:absolute;bottom:0;left:0;width:50px;height:3px;background:linear-gradient(90deg,#0f6a43,transparent);border-radius:2px}.campus-dashboard-card__text{font-size:1rem;color:#3a4a3f;margin:0;line-height:1.75;font-weight:500}.campus-dashboard-card__details{list-style:none;margin:16px 0 0;padding:0;display:flex;flex-direction:column;gap:12px}.campus-dashboard-card__details li{color:#2d3d32;position:relative;padding:16px 18px 16px 48px;font-weight:600;font-size:.9375rem;line-height:1.65;background:linear-gradient(135deg,#f8faf9,#eef3ef);border-radius:14px;border-left:4px solid #0f6a43;transition:all .3s ease}.campus-dashboard-card__details li:hover{background:linear-gradient(135deg,#eef3ef,#e4ebe6);transform:translate(6px);box-shadow:0 6px 18px #0f6a431f}.campus-dashboard-card__details li:before{content:"●";position:absolute;left:18px;top:16px;color:#0f6a43;font-weight:800;font-size:1.125rem}.campus-dashboard-card__link{margin-top:auto;font-size:.9375rem;font-weight:800;letter-spacing:.08em;color:#fff;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:10px;transition:all .4s cubic-bezier(.4,0,.2,1);align-self:stretch;background:linear-gradient(135deg,#0f6a43,#0d5537);padding:16px 28px;border-radius:16px;box-shadow:0 8px 20px #0f6a4359;position:relative;overflow:hidden;text-transform:uppercase}.campus-dashboard-card__link:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.15),transparent);transition:left .6s ease}.campus-dashboard-card__link:hover:before{left:100%}.campus-dashboard-card__link:after{content:"→";font-size:1.375rem;transition:transform .4s cubic-bezier(.4,0,.2,1);font-weight:900}.campus-dashboard-card__link:hover{box-shadow:0 12px 32px #0f6a4380;transform:translateY(-3px);background:linear-gradient(135deg,#0d5537,#0b4430)}.campus-dashboard-card__link:hover:after{transform:translate(6px)}.campus-dashboard-card__link--disabled{background:linear-gradient(135deg,#9ca3af,#6b7280);box-shadow:0 8px 20px #9ca3af40;cursor:not-allowed;pointer-events:none}.campus-dashboard-card__link--disabled:after{content:"⏳";font-size:1.25rem}.requirements-modal{position:fixed;top:0;left:0;right:0;bottom:0;background:#0a1410a6;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);z-index:9999;display:none;align-items:center;justify-content:center;padding:20px;opacity:0;transition:opacity .2s ease}.requirements-modal.is-open{display:flex;opacity:1}.requirements-modal__container{background:#fff;border-radius:20px;max-width:1000px;width:100%;max-height:90vh;overflow:hidden;box-shadow:0 24px 60px #00000040,0 8px 24px #0f6a431f;position:relative;border:1px solid rgba(15,106,67,.12)}.requirements-modal__header{position:sticky;top:0;background:#0f5b3f;padding:clamp(32px,5vw,48px);color:#fff;z-index:10;border-bottom:1px solid rgba(255,255,255,.12);box-shadow:0 2px 12px #0000001f;position:relative;overflow:hidden}.requirements-modal__header-top{display:flex;justify-content:space-between;align-items:flex-start;gap:24px;margin-bottom:16px;position:relative;z-index:1}.requirements-modal__label{text-transform:uppercase;letter-spacing:.22em;font-size:.7rem;font-weight:700;opacity:.85;margin:0 0 8px;padding:6px 12px;background:#ffffff1f;border-radius:999px;display:inline-block;border:1px solid rgba(255,255,255,.18)}.requirements-modal__title{font-size:clamp(2rem,4vw,2.75rem);font-weight:700;line-height:1.15;margin:0;color:#fff;text-shadow:none}.requirements-modal__subtitle{font-size:1.02rem;opacity:.9;margin:0;line-height:1.6;position:relative;z-index:1;max-width:700px}.requirements-modal__close{background:#ffffff1f;border:1px solid rgba(255,255,255,.3);color:#fff;width:44px;height:44px;border-radius:10px;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:1.5rem;transition:background .2s ease,border-color .2s ease,transform .2s ease;flex-shrink:0;line-height:1}.requirements-modal__close:hover{background:#fff3;border-color:#ffffff80;transform:scale(1.03)}.requirements-modal__close:active{transform:scale(.98)}.requirements-modal__body{padding:clamp(36px,5vw,56px);overflow-y:auto;max-height:calc(90vh - 220px);background:#fff;position:relative}.requirements-modal__body::-webkit-scrollbar{width:10px}.requirements-modal__body::-webkit-scrollbar-track{background:#f3f5f3;border-radius:8px}.requirements-modal__body::-webkit-scrollbar-thumb{background:#c5d1c8;border-radius:8px;border:2px solid #f3f5f3}.requirements-modal__body::-webkit-scrollbar-thumb:hover{background:#b4c3b8}.requirements-modal__section{margin-bottom:40px}.requirements-modal__section:last-child{margin-bottom:0}.requirements-modal__section-title{font-size:1.2rem;font-weight:700;color:#0b3a27;margin:0 0 18px;padding:0 0 10px;border-bottom:1px solid rgba(15,106,67,.2)}.requirements-modal__list{list-style:disc;margin:0;padding-left:22px;display:flex;flex-direction:column;gap:12px}.requirements-modal__list li{font-size:1rem;color:#2d3d32;line-height:1.75;position:relative;font-weight:500;background:#f9fbfa;padding:14px 16px;border-radius:12px;border:1px solid rgba(15,106,67,.12)}.requirements-modal__coming-soon{padding:40px 32px;background:#f4f7f5;border-radius:18px;text-align:center;border:1px dashed rgba(15,106,67,.3)}.requirements-modal__coming-soon-title{font-size:1.5rem;font-weight:700;color:#0f6a43;margin:0 0 16px}.requirements-modal__coming-soon-text{font-size:1rem;color:#4a5a4f;line-height:1.7;max-width:500px;margin:0 auto}@media (max-width: 1024px){.campus-dashboard{grid-template-columns:1fr;gap:clamp(24px,4vw,32px)}}@media (max-width: 768px){.campus-dashboard-card__image{height:240px}.campus-dashboard-card__content{padding:clamp(20px,5vw,28px)}.campus-dashboard-card:hover{transform:translateY(-2px)}.requirements-modal{padding:12px}.requirements-modal__container{max-height:95vh;border-radius:24px}.requirements-modal__header{padding:24px 20px}.requirements-modal__label{font-size:.65rem}.requirements-modal__title{font-size:1.75rem}.requirements-modal__subtitle{font-size:1rem}.requirements-modal__close{width:44px;height:44px;font-size:1.5rem}.requirements-modal__body{padding:24px 20px;max-height:calc(95vh - 180px)}.requirements-modal__section-title{font-size:1.25rem}.requirements-modal__list li{padding:12px 14px;font-size:.9375rem}}@media (max-width: 480px){.campus-dashboard-card__details{padding:16px}.campus-dashboard-card__details li{font-size:.8125rem}.requirements-modal__header,.requirements-modal__body{padding:20px 16px}.requirements-modal__section{margin-bottom:32px}.requirements-modal__coming-soon{padding:32px 24px}}html{scroll-behavior:smooth}
