:root{--blue:#2457ed;--ink:#111827;--muted:#667085;--line:#e7e9ee;--soft:#f5f7fb;--red:#e83d50}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;color:var(--ink);font:15px/1.6 Inter,Arial,sans-serif;background:#fff}a{color:inherit;text-decoration:none}
.site-header{height:70px;background:#fff;border-bottom:1px solid #e9e9e9;position:sticky;top:0;z-index:20;box-shadow:0 2px 7px #10182808}
.header-inner{max-width:1160px;height:100%;padding:0 24px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:25px}
.brand{display:inline-flex;align-items:center;gap:9px;white-space:nowrap}.brand-mark{width:37px;height:37px;border-radius:9px;background:var(--blue);color:#fff;display:grid;place-items:center;font-size:22px;font-weight:900}.brand-word{font-size:19px;font-weight:950;letter-spacing:-.7px}.brand-word span{color:var(--blue)}
.main-nav{display:flex;align-items:center;gap:34px}.main-nav a{font-weight:750;font-size:14px;color:#202939}.main-nav a:hover{color:var(--blue)}
.header-cta{background:var(--blue);color:#fff;padding:10px 16px;border-radius:7px;font-size:13px;font-weight:800}.header-cta span{padding-left:7px}
.intro{background:linear-gradient(105deg,#f2f5ff 0%,#f8f9ff 58%,#eaf0ff 100%);border-bottom:1px solid #edf0f7}
.intro-inner{max-width:1160px;min-height:365px;margin:auto;padding:48px 24px;display:flex;align-items:center;justify-content:space-between;gap:40px}
.intro-copy{max-width:620px;position:relative;z-index:1}.eyebrow{font-size:10px;letter-spacing:1.55px;font-weight:900;color:var(--blue)}
.intro h1{font-size:clamp(43px,5.5vw,64px);line-height:1.03;letter-spacing:-2.6px;margin:13px 0 14px;font-weight:900}.intro h1 span{color:var(--blue)}
.intro-copy>p{max-width:570px;color:#667085;font-size:16px;margin:0 0 23px}.primary-btn{display:inline-block;background:var(--blue);color:white;padding:12px 18px;border-radius:8px;font-size:13px;font-weight:850;box-shadow:0 7px 16px #2457ed2a}.primary-btn span{padding-left:8px}
.intro-visual{width:390px;min-width:330px;height:260px;position:relative;display:grid;place-items:center}.visual-glow{position:absolute;width:290px;height:220px;background:#dce6ff;border-radius:48% 52% 60% 40%;transform:rotate(-12deg)}
.notice-card{position:relative;width:290px;background:#fff;border:1px solid #e0e7f5;border-radius:15px;padding:18px 21px;box-shadow:0 20px 45px #17366e18;transform:rotate(2deg)}
.notice-title{background:var(--blue);color:#fff;text-align:center;border-radius:7px;padding:9px;font-weight:900;font-size:13px;margin-bottom:8px}.notice-row{display:flex;align-items:center;gap:11px;padding:9px 2px;border-bottom:1px solid #edf0f5;font-size:13px;font-weight:750}.notice-row i{font-style:normal;color:var(--blue);font-size:17px}.notice-foot{font-size:11px;color:#8a93a5;padding-top:10px}
.content-wrap{max-width:1160px;margin:0 auto;padding:45px 24px 65px;display:grid;grid-template-columns:minmax(0,1fr) 285px;gap:30px;align-items:start}
.feed-section{margin-bottom:48px}.section-title{display:flex;justify-content:space-between;align-items:end;gap:15px;margin-bottom:19px}.section-title h2{font-size:29px;line-height:1.2;letter-spacing:-.8px;margin:5px 0 3px}.section-title p{margin:0;color:var(--muted);font-size:13px}.section-count{font-size:9px;font-weight:900;letter-spacing:.5px;color:#167343;background:#eaf8ef;border-radius:30px;padding:7px 10px;white-space:nowrap}.deadline-count{background:#fff0f1;color:#c43242}
.job-feed{display:grid;gap:14px}.job-card{padding:19px 20px 17px;border:1px solid var(--line);border-radius:9px;background:#fff;transition:box-shadow .2s,border-color .2s}.job-card:hover{border-color:#c9d5fb;box-shadow:0 8px 22px #172b500d}
.card-top{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.type-tag{font-size:10px;font-weight:900;letter-spacing:.2px;padding:5px 9px;border-radius:3px;background:#edf2ff;color:#2454d9}.type-tag.private{background:#f5eaff;color:#853ac0}.type-tag.internship{background:#e8f8f1;color:#178451}.new-tag{font-size:9px;color:var(--red);font-weight:900;letter-spacing:.4px}
.job-card h3{font-size:19px;line-height:1.35;margin:0 0 3px;font-weight:850;letter-spacing:-.3px}.company{font-size:13px;font-weight:750;color:#475467;margin-bottom:12px}
.job-meta{display:flex;flex-wrap:wrap;gap:7px 18px;border-top:1px solid #edf0f4;padding-top:11px;color:#667085;font-size:11px}.job-meta .deadline{color:#bd3543;font-weight:800}
.details-link{display:inline-block;margin-top:13px;color:var(--blue);font-size:12px;font-weight:900}.details-link:hover{text-decoration:underline}
.sidebar{padding-top:7px}.side-panel{border:1px solid #dedfe4;border-radius:9px;padding:22px 20px;margin-bottom:20px;background:#fff}.side-panel h3{font-size:18px;margin:0 0 9px;letter-spacing:-.3px}.side-panel p{font-size:12px;color:#667085;line-height:1.7;margin:0 0 14px}.side-highlight{font-size:11px;font-weight:750;padding:9px 0;border-top:1px solid #eff1f4}.side-highlight span{color:#15945b;font-weight:900;margin-right:7px}.reminder-panel{background:#f8faff;border-color:#e5ebfb}.reminder-panel a{font-size:12px;color:var(--blue);font-weight:850}
.empty{padding:25px;border:1px dashed #d8deea;border-radius:9px;color:#667085;background:#fafbfe;font-size:13px}
.site-footer{border-top:1px solid var(--line);padding:25px 24px;text-align:center}.site-footer .brand{justify-content:center}.site-footer p{font-size:12px;color:#667085;margin:8px 0}.site-footer small{font-size:10px;color:#98a2b3}
.disclaimer{font-size:11px;color:#8a93a5;line-height:1.6}
@media(max-width:850px){.content-wrap{grid-template-columns:1fr}.sidebar{display:grid;grid-template-columns:1fr 1fr;gap:14px;padding:0}.side-panel{margin:0}.intro-visual{width:320px;min-width:290px}}
@media(max-width:620px){.header-inner{padding:0 15px}.main-nav{gap:13px}.main-nav a{font-size:11px}.header-cta{display:none}.brand-word{font-size:17px}.intro-inner{padding:39px 20px;min-height:0}.intro-visual{display:none}.intro h1{font-size:48px}.intro-copy>p{font-size:14px}.content-wrap{padding:34px 16px 45px}.section-title{align-items:start}.section-title h2{font-size:26px}.section-count{font-size:8px}.job-card{padding:16px}.job-card h3{font-size:17px}.sidebar{grid-template-columns:1fr}}

/* Compact feed-first homepage: no hero/banner above job listings */
.content-wrap{padding-top:34px}
@media(max-width:620px){.content-wrap{padding-top:26px}}

/* Job details page styling */
.topbar{height:70px;background:#fff;border-bottom:1px solid #e9e9e9;position:sticky;top:0;z-index:20;box-shadow:0 2px 7px #10182808;display:flex;align-items:center;justify-content:space-between;padding:0 max(24px,calc((100% - 1112px)/2))}
.topbar .logo{display:inline-flex;align-items:center;gap:9px;white-space:nowrap}
.topbar .logo>b,.footer-logo>b{width:37px;height:37px;border-radius:9px;background:var(--blue);color:#fff;display:grid;place-items:center;font-size:22px;font-weight:900}
.topbar .logo>span,.footer-logo>span{font-size:19px;font-weight:950;letter-spacing:-.7px}
.topbar .logo>span>span,.footer-logo>span>span{color:var(--blue)}
.topbar nav a{font-size:13px;font-weight:800;color:var(--blue)}
.detail-wrap{max-width:900px;min-height:calc(100vh - 210px);margin:0 auto;padding:48px 24px 65px}
.detail-wrap>.eyebrow{display:inline-block;margin-bottom:12px}
.detail-card{border:1px solid var(--line);border-radius:12px;padding:30px;background:#fff;box-shadow:0 10px 30px #172b500b}
.detail-card h1{font-size:clamp(27px,4vw,38px);line-height:1.2;letter-spacing:-1px;margin:15px 0 8px}
.detail-card> b{display:block;color:#475467;font-size:16px;margin-bottom:22px}
.detail-card p{font-size:14px;color:#475467;line-height:1.8;margin:12px 0}
.detail-card p>b{color:var(--ink)}
.button{display:inline-block;padding:12px 17px;border-radius:7px;font-size:13px;font-weight:850;margin:5px 8px 5px 0}
.button.primary{background:var(--blue);color:#fff}
.detail-card .disclaimer{padding:12px 14px;background:#fff9e9;border-left:3px solid #e6ad37;border-radius:4px;color:#7a6025}
body>footer{border-top:1px solid var(--line);padding:25px 24px;text-align:center;background:#fff}
.footer-logo{display:inline-flex;align-items:center;gap:9px}
body>footer p{font-size:12px;color:#667085;margin:8px 0}
body>footer small{font-size:10px;color:#98a2b3}
@media(max-width:620px){.topbar{padding:0 16px}.detail-wrap{padding:30px 16px 45px}.detail-card{padding:20px}.detail-card h1{font-size:27px}}
