:root{--forest:#1f3d2b;--pine:#2f5d3f;--moss:#7a9a5b;--cream:#f6f3ec;--bark:#5a4632;--ink:#1d2420;--accent:#d9a441}
*{box-sizing:border-box}html{scroll-behavior:smooth}
body{margin:0;font-family:"Segoe UI",system-ui,-apple-system,Roboto,Helvetica,Arial,sans-serif;color:var(--ink);background:var(--cream);line-height:1.6;font-size:17px}
h1,h2,h3{font-family:Georgia,"Iowan Old Style","Palatino Linotype",serif;line-height:1.2;color:var(--forest)}
h2{font-size:clamp(1.8rem,3.5vw,2.4rem);margin:0 0 .3em}h3{font-size:1.15rem;margin:.2em 0 .4em}
.wrap{max-width:1120px;margin:0 auto;padding:0 22px}
section{padding:72px 0}section.wrap{padding:72px 22px}
.sub{color:#4a554e;max-width:640px;margin:0 0 32px}
.nav{position:sticky;top:0;z-index:10;background:rgba(31,61,43,.97);color:#fff}
.nav-in{display:flex;align-items:center;justify-content:space-between;height:66px}
.brand{display:flex;align-items:center;gap:10px;color:#fff;text-decoration:none;font-family:Georgia,serif;font-size:1.25rem;font-weight:700}
.brand svg{width:34px;height:34px;color:var(--accent)}.brand small{display:block;font-family:system-ui,sans-serif;font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;font-weight:500;opacity:.8}
.brand span{line-height:1.1}
nav{display:flex;gap:22px;align-items:center}nav a{color:#e8efe6;text-decoration:none;font-size:.95rem}nav a:hover{color:#fff}
.btn{display:inline-block;background:var(--accent);color:#1d2420;font-weight:700;padding:14px 26px;border-radius:999px;text-decoration:none;border:2px solid var(--accent);transition:.2s}
.btn:hover{filter:brightness(1.08);transform:translateY(-1px)}
.btn.sm{padding:8px 16px;font-size:.9rem;color:#1d2420!important}
.btn.ghost{background:transparent;color:#fff;border-color:rgba(255,255,255,.7)}
.btn.ghost.dark{color:var(--forest);border-color:var(--forest)}
.hero{position:relative;color:#fff;padding:120px 0 110px;background:linear-gradient(105deg,rgba(18,40,27,.92) 0%,rgba(24,52,35,.75) 55%,rgba(24,52,35,.35) 100%),url(img/job-20.jpg) center/cover no-repeat}
.hero h1{color:#fff;font-size:clamp(2.1rem,5vw,3.6rem);max-width:760px;margin:.2em 0 .4em}
.eyebrow{text-transform:uppercase;letter-spacing:.18em;font-size:.82rem;color:var(--accent);font-weight:700;margin:0}
.lead{font-size:1.15rem;max-width:620px;color:#e5ece4}
.cta{display:flex;flex-wrap:wrap;gap:14px;margin:28px 0}.cta.center{justify-content:center}
.badges{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:10px}
.badges li{background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.25);padding:6px 14px;border-radius:999px;font-size:.88rem}
.badges li:before{content:"\2713  ";color:var(--accent)}
.grid{display:grid;gap:20px}
.cards{grid-template-columns:repeat(3,1fr)}@media(max-width:900px){.cards{grid-template-columns:1fr 1fr}}@media(max-width:560px){.cards{grid-template-columns:1fr}}
.cards article{background:#fff;border-radius:14px;padding:22px;border-top:4px solid var(--moss);box-shadow:0 2px 10px rgba(31,61,43,.07)}
.cards p{margin:0;color:#4a554e;font-size:.95rem}
.band{background:var(--forest);color:#e5ece4}.band h2,.band h3{color:#fff}.band .sub{color:#c9d6c8}
.why{grid-template-columns:repeat(auto-fit,minmax(230px,1fr))}
.why div{border-left:3px solid var(--accent);padding-left:18px}.why p{margin:0;color:#c9d6c8}
.towns{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:10px}
.towns li{background:#fff;border:1px solid #dcd6c8;padding:8px 18px;border-radius:999px;font-weight:600;color:var(--pine)}
.note{margin-top:24px;font-style:italic;color:var(--bark)}
.gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:14px}
.gallery figure{margin:0;position:relative;aspect-ratio:4/3;border-radius:12px;overflow:hidden;background:#173022}
.gallery img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .4s}
.gallery figure:hover img{transform:scale(1.04)}
.gallery figcaption{position:absolute;left:0;right:0;bottom:0;padding:22px 12px 9px;font-size:.88rem;color:#fff;background:linear-gradient(transparent,rgba(0,0,0,.65))}
.gallery .ph{display:flex;align-items:center;justify-content:center;text-align:center;border:2px dashed rgba(255,255,255,.35);background:rgba(255,255,255,.05);color:#c9d6c8;font-weight:600}
.gallery .ph small{font-weight:400;opacity:.8}
.contact{text-align:center}.contact .sub{margin:0 auto 30px}
.contact-grid{display:flex;flex-wrap:wrap;gap:16px;justify-content:center}
.cbox{background:#fff;border-radius:14px;padding:20px 28px;text-decoration:none;color:var(--forest);box-shadow:0 2px 10px rgba(31,61,43,.08);min-width:260px}
.cbox small{display:block;color:#6a756e;text-transform:uppercase;letter-spacing:.12em;font-size:.75rem}.cbox strong{font-size:1.15rem;word-break:break-word}
footer{background:#152a1e;color:#a9b9aa;text-align:center;padding:26px 0;font-size:.9rem}
@media(max-width:760px){nav a:not(.btn){display:none}.hero{padding:80px 0 70px}section,section.wrap{padding:54px 0}section.wrap{padding:54px 20px}.brand{font-size:1.05rem}.btn{width:100%;text-align:center}.btn.sm{width:auto}.cbox{min-width:0;width:100%;padding:18px 16px}.cbox strong{font-size:clamp(.92rem,4.1vw,1.08rem);white-space:nowrap}.gallery{grid-template-columns:1fr 1fr;gap:10px}.gallery figcaption{font-size:.78rem}}
.gallery figure.wide{grid-column:span 2}
@media(min-width:761px){.gallery{grid-template-columns:repeat(4,1fr)}.gallery figure.wide{aspect-ratio:auto}.gallery figure.wide img{position:absolute;inset:0}}
.price-note{max-width:620px;margin:28px auto 0;background:#fff;border-left:4px solid var(--accent);border-radius:10px;padding:16px 20px;text-align:left;color:#3d4842;box-shadow:0 2px 10px rgba(31,61,43,.07)}.price-note strong{color:var(--forest)}
.brand img.logo{width:46px;height:46px;border-radius:50%;object-fit:cover;border:2px solid rgba(255,255,255,.85);background:#fff;flex:none}@media(max-width:760px){.brand img.logo{width:40px;height:40px}}
.towns li.county{background:var(--forest);border-color:var(--forest);color:#fff}footer a{color:#d9a441;text-decoration:none}footer a:hover{text-decoration:underline}
