html { scroll-behavior:smooth; scroll-padding:24px 0 100px; }
.hero { height:580px; max-height:none; }
.hero-overlay { background:linear-gradient(90deg,rgba(0,35,67,.85),rgba(0,45,80,.25)); }
.hero-content { max-width:1160px; margin:auto; padding:48px 24px 64px; }
.hero h1 { font-size:clamp(32px,4vw,54px); line-height:1.25; letter-spacing:-.5px; }
.hero-tag { background:#ffffff20; border:1px solid #ffffff70; padding:6px 14px; }
.hero-actions { display:flex; flex-wrap:wrap; align-items:center; gap:20px; margin-top:26px; }
.hero-jobs { display:inline-flex; gap:24px; padding:13px 22px; border-radius:9px; background:#fff; color:var(--cp-navy); font-size:15px; font-weight:700; text-decoration:none; }
.hero-company { color:#fff; text-decoration:none; font-size:14px; border-bottom:1px solid #ffffff80; padding:6px 0; }
.intro { max-width:1120px; margin:32px auto; padding:32px; border:1px solid var(--border); border-radius:18px; }
.intro p { font-size:15px; line-height:1.9; max-width:960px; }
.intro h2,.section-header h2 { font-size:24px; }
.stats { gap:16px; margin-top:24px; }
.stat-item { padding:18px 12px; }
.stat-num { font-size:28px; }
.jobs-section { max-width:1120px; margin:0 auto; padding-bottom:40px; scroll-margin-top:24px; }
.section-header { padding:8px 0 20px; }
.search-module { padding:24px; margin-bottom:24px; background:white; border:1px solid var(--border); border-radius:16px; }
.search-bar { min-height:48px; }
.category { border:1px solid var(--border); border-radius:14px; margin-bottom:18px; }
.category-header { padding:18px 24px; border-radius:13px 13px 0 0; }
.category.collapsed .category-header { border-radius:13px; }
.job-card { padding:22px 24px; scroll-margin-top:88px; }
.job-card:hover { background:#f8fbfd; }
.job-title { font-size:17px; }
.job-tag { color:#007573; }
.job-expand { flex-shrink:0; background:transparent; border:0; color:#44617a; font:inherit; font-size:12px; display:flex; align-items:center; gap:9px; cursor:pointer; min-height:28px; }
.job-expand svg { width:16px; height:16px; transition:transform .2s; }
.job-card.expanded .job-expand svg { transform:rotate(180deg); }
.job-card.expanded .job-detail { background:#f5f8fb; padding:22px; border-radius:12px; overflow:visible; }
.job-detail h4 { font-size:15px; margin-top:22px; }
.job-detail ul { font-size:14px; line-height:1.9; }
.contact-bar { background:#fff; border:1px solid #e0e8ee; padding:16px; scroll-margin:100px 0; }
.btn { min-height:42px; padding:10px 16px; }
.btn-primary { background:#007f80; }
.sticky-cta { left:auto; right:24px; bottom:20px; width:240px; border-radius:14px; padding:8px; box-shadow:0 6px 30px #00396820; }
.sticky-cta-btn { font-size:14px; border-radius:9px; padding:12px 18px; }
body:has(.job-card.expanded) .sticky-cta { display:none; }
a:focus-visible,button:focus-visible { outline:3px solid #00b2b1; outline-offset:4px; }
@media(max-width:1190px) { .intro,.jobs-section { margin-left:24px; margin-right:24px; } }
@media(max-width:600px) {
 .hero { height:490px; min-height:420px; }
 .hero-content { padding:28px 22px 48px; }
 .hero-overlay { background:linear-gradient(180deg,rgba(0,57,104,.2),rgba(0,35,67,.85)); }
 .hero h1 { font-size:32px; }
 .hero-actions { gap:18px; margin-top:22px; }
 .hero-jobs { padding:12px 18px; font-size:14px; gap:18px; }
 .intro { margin:20px 16px 28px; padding:22px 18px; border-radius:14px; }
 .intro h2,.section-header h2 { font-size:21px; }
 .intro p { font-size:14px; }
 .stats { gap:8px; }
 .stat-item { padding:14px 4px; }
 .stat-num { font-size:24px; }
 .jobs-section { margin:0 16px; }
 .search-module { padding:16px; }
 .category-header { padding:16px; }
 .job-card { padding:20px 16px; }
 .job-title { font-size:16px; }
 .job-title-row { gap:8px; }
 .job-expand span { display:none; }
 .job-card.expanded .job-detail { padding:16px 12px; }
 .contact-bar { padding:12px; }
 .contact-actions { flex-wrap:wrap; }
 .sticky-cta { width:auto; left:16px; right:16px; bottom:calc(10px + env(safe-area-inset-bottom)); padding:6px; }
}
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } *,*::before,*::after { animation:none !important; transition:none !important; } }
