:root{--ink:#10233d;--muted:#68768a;--blue:#1b62d1;--orange:#ffad2b;--line:#e3eaf3;--soft:#eef6ff}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);font-family:Inter,Arial,sans-serif;line-height:1.5}a{color:inherit;text-decoration:none}.container{width:min(1160px,calc(100% - 40px));margin:auto}.topbar{background:var(--ink);color:#dbeaff;font-size:.83rem}.topbar .container{display:flex;justify-content:space-between;gap:15px;padding:8px 0}.topbar a{color:#fff;font-weight:700}.site-header{position:sticky;z-index:10;top:0;background:#fffd;border-bottom:1px solid var(--line);backdrop-filter:blur(10px)}.nav{min-height:76px;display:flex;align-items:center;justify-content:space-between;gap:25px}.brand{display:inline-flex;align-items:center;font-size:1.45rem;letter-spacing:-.07em;font-weight:850}.brand b{color:var(--blue)}.radar-mark{width:34px;height:34px;margin-right:9px;border:3px solid var(--blue);border-radius:50%;position:relative}.radar-mark:after{content:"";position:absolute;right:4px;top:4px;width:7px;height:7px;background:var(--orange);border-radius:50%}.nav nav{display:flex;gap:21px;font-size:.92rem;font-weight:700}.nav nav a:hover{color:var(--blue)}.button{display:inline-flex;align-items:center;justify-content:center;min-height:43px;padding:0 17px;border:0;border-radius:9px;background:var(--blue);color:#fff;font-weight:750;cursor:pointer}.button:hover{background:#104fae}.button.outline{background:#fff;border:1px solid #cad9ec;color:var(--ink)}.button.warm{background:var(--orange);color:#593300}.hero{padding:84px 0;background:linear-gradient(130deg,#f4f9ff,#e9f3ff 65%,#fff8e9)}.hero-grid{display:grid;grid-template-columns:1.1fr .75fr;align-items:center;gap:65px}.eyebrow{margin:0 0 10px;color:var(--blue);font-size:.84rem;font-weight:850;letter-spacing:.09em;text-transform:uppercase}h1,h2,h3{letter-spacing:-.045em;line-height:1.08}h1{max-width:690px;margin:0;font-size:clamp(2.4rem,5vw,4.35rem)}h1 em{color:var(--blue);font-style:normal}.lead{max-width:590px;color:#53637a;font-size:1.08rem}.search-box{display:grid;grid-template-columns:1fr 185px auto;gap:8px;max-width:700px;margin-top:28px;padding:9px;background:#fff;border:1px solid #d9e5f4;border-radius:13px;box-shadow:0 12px 28px #174b8b18}.search-box input,.search-box select,.archive-search input{min-height:50px;padding:0 14px;border:0;border-radius:8px;background:#f6faff;color:var(--ink)}.quick{display:flex;gap:9px;flex-wrap:wrap;color:var(--muted);font-size:.86rem}.quick a{padding:4px 8px;border:1px solid var(--line);border-radius:15px;background:#fff}.hero-aside{padding:38px;border:1px solid #d8e7f7;border-radius:17px;background:#fff;box-shadow:0 17px 35px #174b8b18;transform:rotate(1.5deg)}.hero-aside strong{display:block;font-size:1.8rem;line-height:1.1}.hero-aside span{display:block;margin-top:18px;color:#60718a}section{padding:80px 0}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:30px}.section-heading h2{margin:0;font-size:clamp(1.85rem,3.6vw,2.8rem)}.section-heading>p{max-width:410px;margin:0;color:var(--muted)}.category-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:13px}.category{min-height:135px;padding:18px;border:1px solid var(--line);border-radius:12px;background:#fff;transition:.2s}.category:hover{border-color:#b8d2f6;transform:translateY(-3px);box-shadow:0 10px 20px #174b8b12}.category-icon{display:grid;place-items:center;width:37px;height:37px;margin-bottom:13px;border-radius:9px;background:#e9f3ff;color:var(--blue);font-size:1.2rem}.category strong{display:block;font-size:.94rem}.category small{color:#708097}.jobs-category .category-icon{background:#fff1d8;color:#a55f00}.municipal{background:var(--ink);color:#fff}.municipal .eyebrow{color:#ffd183}.municipal .section-heading>p{color:#b5c7dc}.town-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.town{min-height:210px;padding:29px;display:flex;flex-direction:column;justify-content:end;border:1px solid #5478aa;border-radius:14px;background:linear-gradient(145deg,#306ec5,#173e79)}.town:nth-child(2){background:linear-gradient(145deg,#3a74c3,#23518f)}.town small{color:#ffd183;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.town h3{margin:7px 0 16px;font-size:1.65rem}.town span{text-decoration:underline;font-weight:700}.business-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.business-card{overflow:hidden;border:1px solid var(--line);border-radius:13px;background:#fff}.business-image{display:block;height:174px;background:linear-gradient(135deg,#dbeafa,#b8d5f5);background-size:cover;background-position:center}.business-body{padding:17px}.business-meta{display:flex;gap:8px;align-items:center;color:#68768a;font-size:.8rem}.featured{padding:3px 7px;border-radius:4px;background:#fff0d2;color:#935400;font-size:.68rem;font-weight:850;text-transform:uppercase}.business-card h3{margin:8px 0 6px;font-size:1.1rem}.business-card p{margin:0;color:var(--muted);font-size:.88rem}.business-footer{margin-top:15px;padding-top:13px;border-top:1px solid var(--line);font-size:.84rem;color:var(--blue);font-weight:750}.jobs{padding-top:0}.jobs-panel{display:grid;grid-template-columns:.78fr 1.22fr;overflow:hidden;border:1px solid #d9e6f4;border-radius:18px;background:#f2f8ff}.jobs-intro{padding:43px;background:linear-gradient(145deg,#103d86,#1b62d1);color:#fff}.jobs-intro .eyebrow{color:#ffd183}.jobs-intro h2{margin:0;font-size:2.35rem}.jobs-intro p:not(.eyebrow){color:#dceaff}.jobs-list{display:grid;gap:12px;align-content:center;padding:28px}.job{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:17px;border:1px solid #dce7f4;border-radius:11px;background:#fff}.job small{color:var(--blue);font-weight:800}.job h3{margin:3px 0;font-size:1rem}.job p{margin:0;color:var(--muted);font-size:.84rem}.job>a{color:var(--blue);font-size:.84rem;font-weight:800;white-space:nowrap}.cta{padding-top:0}.cta-panel{display:grid;grid-template-columns:1.15fr .85fr;align-items:center;gap:35px;padding:52px;border-radius:18px;background:linear-gradient(110deg,#2168d4,#103f8c);color:#fff}.cta .eyebrow{color:#ffd183}.cta h2{margin:0;font-size:2.55rem}.cta p:not(.eyebrow){color:#d9e8ff}.fine-print{font-size:.82rem}.fine-print code{color:#fff}.site-footer{margin-top:0;padding:42px 0;background:#08182e;color:#a9bbd2}.footer-grid{display:flex;justify-content:space-between;gap:28px}.site-footer .brand{color:#fff}.site-footer p{max-width:430px;margin:.6rem 0 0;font-size:.9rem}.footer-links{display:flex;gap:20px;flex-wrap:wrap}.archive-page,.detail-page,.simple-page{padding:70px 0}.archive-page h1,.detail-page h1,.simple-page h1{font-size:clamp(2.2rem,4vw,3.5rem)}.archive-search{display:flex;gap:10px;max-width:620px;margin:24px 0 32px}.archive-search input{flex:1;border:1px solid var(--line)}.archive-jobs{padding:0;max-width:800px}.detail-grid{display:grid;grid-template-columns:1.35fr .65fr;gap:52px;align-items:start}.detail-image{width:100%;height:auto;border-radius:14px;margin:14px 0}.entry-content{font-size:1.04rem}.contact-card{padding:25px;border:1px solid var(--line);border-radius:13px;background:#f8fbff}.contact-card h2{margin-top:0}.contact-card>a:not(.button){display:block;margin-bottom:15px;color:var(--blue);font-weight:750}.job-summary{color:var(--muted);font-size:1.08rem}.empty-state{padding:25px;border:1px dashed #b5c6dc;border-radius:10px;color:var(--muted)}.pagination{margin-top:30px}@media(max-width:880px){.nav nav{display:none}.hero-grid,.cta-panel,.jobs-panel,.detail-grid{grid-template-columns:1fr}.category-grid{grid-template-columns:repeat(3,1fr)}.business-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:560px){.container{width:min(100% - 28px,1160px)}.topbar .container span{display:none}.nav{min-height:66px}.nav .button{min-height:37px;padding:0 11px;font-size:.8rem}.hero{padding:61px 0}.search-box{grid-template-columns:1fr}.hero-aside{display:none}section{padding:58px 0}.category-grid{grid-template-columns:repeat(2,1fr)}.town-grid,.business-grid{grid-template-columns:1fr}.section-heading,.footer-grid{display:block}.section-heading>p{margin-top:12px}.jobs{padding-top:0}.jobs-intro,.jobs-list,.cta-panel{padding:31px 25px}.job{align-items:start;flex-direction:column}.footer-links{margin-top:24px}.archive-search{flex-direction:column}}
