:root{--ink:#18212b;--muted:#66727d;--primary:#176b55;--primary2:#0f5544;--soft:#eef6f2;--line:#dfe7e3;--bg:#f8faf9;--white:#fff;--accent:#f1b94c}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Arial;color:var(--ink);background:var(--bg);line-height:1.55}a{text-decoration:none;color:inherit}.topbar{height:76px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 max(5vw,24px);position:sticky;top:0;z-index:5}.brand{display:flex;gap:10px;align-items:center;font-size:17px}.brand b{color:var(--primary)}.brand-mark{display:grid;place-items:center;width:38px;height:38px;border-radius:11px;background:var(--primary);color:white;font-weight:800;font-size:12px}.topbar nav{display:flex;align-items:center;gap:25px;font-size:14px}.topbar nav a:not(.btn):hover{color:var(--primary)}.menu{display:none;background:none;border:0;font-size:25px}.btn{display:inline-flex;align-items:center;justify-content:center;border-radius:10px;padding:11px 17px;font-weight:700;border:1px solid transparent;cursor:pointer}.btn-primary{background:var(--primary);color:white}.btn-primary:hover{background:var(--primary2)}.btn-outline{border-color:var(--primary);color:var(--primary);background:white}.btn-light{background:#fff;color:var(--primary)}.btn-lg{padding:14px 20px}.hero{display:grid;grid-template-columns:1.2fr .8fr;gap:60px;padding:95px max(7vw,25px) 75px;background:linear-gradient(135deg,#eef7f3,#fff)}.eyebrow{text-transform:uppercase;letter-spacing:1.5px;color:var(--primary);font-size:12px;font-weight:800;margin-bottom:12px}.hero h1{font-size:clamp(44px,6vw,72px);line-height:1.03;letter-spacing:-3px;margin:0 0 25px}.hero h1 span{color:var(--primary)}.hero p{font-size:19px;color:var(--muted);max-width:650px}.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin:30px 0}.trust{font-size:13px;color:var(--muted)}.trust span{color:var(--primary);font-weight:900}.request-card,.panel,.contact-card,.pro-card,.request-list article,.local-box{background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:0 12px 40px #16352a0d}.request-card{padding:28px;align-self:center;transform:rotate(1.2deg)}.card-label{font-size:12px;color:var(--muted);margin-bottom:30px}.request-card h3{font-size:22px;margin:0 0 10px}.request-card p{font-size:15px;color:var(--muted)}.mini-row{display:flex;gap:18px;flex-wrap:wrap;color:var(--muted);font-size:13px;margin:18px 0}.tag,.pill,.tags span{display:inline-block;padding:5px 10px;border-radius:99px;background:var(--soft);color:var(--primary);font-size:12px;font-weight:700}.stats{display:grid;grid-template-columns:repeat(3,1fr);max-width:1000px;margin:-25px auto 0;background:white;border:1px solid var(--line);border-radius:16px;padding:25px;position:relative;box-shadow:0 10px 35px #16352a0b}.stats div{text-align:center;border-right:1px solid var(--line)}.stats div:last-child{border:0}.stats strong{display:block;font-size:25px}.stats span{color:var(--muted);font-size:12px}.section{padding:85px max(7vw,25px)}.section h2,.local-section h2{font-size:38px;line-height:1.1;margin:0 0 35px;letter-spacing:-1px}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.steps article{background:#fff;border:1px solid var(--line);padding:28px;border-radius:16px}.steps article>span{color:var(--primary);font-weight:900}.steps h3{font-size:20px}.steps p,.local-section p{color:var(--muted)}.local-section{padding:75px max(7vw,25px);display:grid;grid-template-columns:1.3fr .7fr;gap:70px;background:#183d32;color:#fff}.local-section .eyebrow{color:#a8dfc9}.local-section p{color:#d5e4df}.local-box{color:var(--ink);padding:28px}.local-box div{font-size:25px}.local-box strong,.local-box span{display:block}.local-box span{color:var(--muted);font-size:13px}.local-box hr{border:0;border-top:1px solid var(--line);margin:22px 0}.cat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.cat-grid a{background:#fff;border:1px solid var(--line);border-radius:15px;padding:22px;font-size:25px}.cat-grid b,.cat-grid small{display:block}.cat-grid b{font-size:16px;margin-top:10px}.cat-grid small{font-size:12px;color:var(--muted)}.cta{margin:0 max(5vw,20px) 70px;padding:55px;text-align:center;border-radius:25px;background:var(--primary);color:#fff}.cta h2{font-size:34px;margin:0}.cta p{opacity:.8}.cta .btn{margin-top:15px}footer{padding:30px max(5vw,24px);border-top:1px solid var(--line);background:#fff;color:var(--muted);display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;font-size:13px}footer p{width:100%;margin:0}.form-page,.login{max-width:820px;margin:auto;padding:70px 24px}.form-intro{text-align:center;margin-bottom:30px}.form-intro h1,.login h1,.directory h1,.legal h1,.dashboard h1{font-size:42px;letter-spacing:-1.5px;line-height:1.1;margin:0 0 12px}.form-intro p,.directory>p{color:var(--muted)}.panel{padding:30px;display:grid;gap:20px}.panel label{font-weight:700;font-size:14px;display:grid;gap:7px}.panel input,.panel select,.panel textarea,.filters input,.filters select{font:inherit;border:1px solid #ccd8d2;border-radius:9px;padding:12px;background:#fff;color:var(--ink)}.panel input[type=checkbox]{display:inline;width:auto}.two{display:grid;grid-template-columns:1fr 1fr;gap:18px}.notice{background:var(--soft);border-radius:10px;padding:13px;color:#2c5146;font-size:13px}.login{max-width:500px}.login .panel>a{color:var(--primary);font-weight:700;text-align:center}.directory{padding:75px max(7vw,25px)}.filters{display:flex;gap:10px;margin:30px 0}.filters input{flex:1}.pro-grid{display:grid;gap:15px}.pro-card{padding:20px;display:grid;grid-template-columns:auto 1fr auto;gap:18px;align-items:center}.avatar{width:55px;height:55px;border-radius:15px;display:grid;place-items:center;background:var(--soft);color:var(--primary);font-weight:900}.avatar.big{width:90px;height:90px;font-size:22px}.pro-card h3{margin:7px 0 3px}.pro-card p{margin:0;color:var(--muted);font-size:14px}.pro-card>a{color:var(--primary);font-weight:800}.empty{display:none;padding:30px;text-align:center;color:var(--muted)}.profile{padding:70px max(7vw,25px)}.profile-head{display:flex;gap:25px;align-items:center;padding-bottom:40px;border-bottom:1px solid var(--line)}.profile-head h1{font-size:45px;margin:7px 0}.profile-body{display:grid;grid-template-columns:1fr 350px;gap:50px;padding-top:40px}.contact-card{padding:25px;height:max-content}.tags{display:flex;gap:8px;flex-wrap:wrap}.dashboard{padding:60px max(6vw,24px)}.dash-head{display:flex;justify-content:space-between;gap:20px;align-items:center}.dash-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;margin:35px 0}.dash-stats div{background:#fff;border:1px solid var(--line);border-radius:15px;padding:22px}.dash-stats b,.dash-stats span{display:block}.dash-stats b{font-size:30px}.dash-stats span{font-size:13px;color:var(--muted)}.request-list{display:grid;gap:15px}.request-list article{padding:25px}.request-list h3{margin:10px 0}.request-list p{color:var(--muted)}.admin-row{display:flex;align-items:center;gap:10px;padding:18px 0;border-bottom:1px solid var(--line)}.admin-row>div{flex:1}.admin-row span{display:block;color:var(--muted);font-size:13px}.legal{max-width:850px;margin:auto;padding:70px 24px;min-height:70vh}.legal p{color:var(--muted);max-width:750px}.legal h2{margin-top:35px}@media(max-width:760px){.topbar nav{display:none;position:absolute;top:76px;left:0;right:0;background:#fff;padding:20px;flex-direction:column;border-bottom:1px solid var(--line)}.topbar nav.open{display:flex}.menu{display:block}.hero,.local-section,.profile-body{grid-template-columns:1fr}.hero{padding-top:55px}.request-card{transform:none}.stats,.steps,.cat-grid,.dash-stats,.two{grid-template-columns:1fr}.stats div{border-right:0;border-bottom:1px solid var(--line);padding:10px}.section{padding:60px 24px}.local-section{gap:30px}.cta{padding:40px 20px}.form-intro h1,.directory h1,.dashboard h1,.legal h1{font-size:34px}.pro-card{grid-template-columns:auto 1fr}.pro-card>a{grid-column:2}.dash-head{display:block}.filters{flex-direction:column}.profile-head{align-items:flex-start;flex-direction:column}.profile-head h1{font-size:35px}.admin-row{align-items:flex-start;flex-wrap:wrap}}
.notice.error{border-color:#e5a6a6;background:#fff5f5;color:#8a1c1c}
.notice.success{border-color:#b8d9c0}
.admin-row form{margin:0;display:flex;gap:8px;align-items:center}
.admin-row small{display:block;margin-top:6px;opacity:.8}
.admin-row p{margin:.5rem 0}
code{background:#f1f1f1;padding:.15rem .35rem;border-radius:4px}
