:root{
  --bg:#efe3cf;
  --bg-2:#e5d0b4;
  --wood:#85522b;
  --wood-dark:#5a3418;
  --wood-light:#a76a3b;
  --brass:#d8aa52;
  --ink:#24160d;
  --text:#2f2117;
  --muted:#6e5543;
  --paper:#f9f4ea;
  --danger:#9c3f28;
  --ok:#356d39;
  --line:rgba(60,32,16,.14);
  --shadow:0 18px 42px rgba(59,33,18,.18);
  --radius:24px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:Inter,Arial,sans-serif;
  color:var(--text);
  background:
    linear-gradient(180deg, rgba(255,255,255,.45), transparent 300px),
    radial-gradient(circle at top right, rgba(255,255,255,.28), transparent 34%),
    linear-gradient(180deg,var(--bg),var(--bg-2));
}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
.container{width:min(1180px,calc(100% - 28px));margin:0 auto}
.page-bg{position:fixed;pointer-events:none;z-index:-1}
.wall{inset:0;background:
  linear-gradient(90deg, rgba(255,255,255,.05) 1px, transparent 1px),
  linear-gradient(rgba(97,70,50,.05) 1px, transparent 1px);
  background-size:120px 120px, 38px 38px;opacity:.55}
.paint-left{left:0;top:150px;width:180px;height:540px;background:radial-gradient(circle at top,#d63f22 0,rgba(214,63,34,.85) 26%,transparent 63%);filter:blur(1px);opacity:.62}
.paint-right{right:0;top:330px;width:220px;height:480px;background:radial-gradient(circle at top,#2052c6 0,rgba(32,82,198,.82) 28%,transparent 62%);opacity:.45}
.wood-panel,.wood-board{
  background:
    linear-gradient(180deg, rgba(255,255,255,.08), transparent 20%),
    repeating-linear-gradient(8deg, rgba(255,255,255,.06) 0 10px, rgba(0,0,0,.02) 10px 20px),
    linear-gradient(135deg, var(--wood-light), var(--wood) 52%, var(--wood-dark));
  color:#fff4e8;
  border:3px solid #4d2a12;
  border-radius:28px;
  box-shadow:var(--shadow), inset 0 1px 0 rgba(255,255,255,.18), inset 0 -12px 24px rgba(0,0,0,.1);
  position:relative;
}
.with-nails::before,.with-nails::after{
  content:"";position:absolute;width:18px;height:18px;border-radius:50%;
  background:radial-gradient(circle at 35% 35%, #e8d6bb, #6e5a44 60%, #39281a 100%);
  box-shadow:0 1px 0 rgba(255,255,255,.25), inset 0 1px 2px rgba(255,255,255,.2);
  top:12px;
}
.with-nails::before{left:12px}.with-nails::after{right:12px}
.site-header{padding:18px 0 10px;position:sticky;top:0;z-index:30;backdrop-filter:blur(8px)}
.nav-wrap{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:14px 18px}
.brand{display:flex;align-items:center;gap:14px;min-width:0}
.brand img{width:58px;height:58px;flex:none}
.brand strong{display:block;font-size:1.2rem}
.brand small{display:block;color:#f2decb}
.nav-links{display:flex;align-items:center;gap:14px;flex-wrap:wrap;color:#ffedd7;font-weight:700}
.btn,.plain-btn,button{font:inherit}
.btn,.plain-btn{
  display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:12px 18px;border-radius:18px;
  border:2px solid transparent;font-weight:800;cursor:pointer;transition:.2s ease
}
.btn:hover,.plain-btn:hover,button:hover{transform:translateY(-1px)}
.brass-btn,.primary-btn{
  background:linear-gradient(180deg,#f0c36b,#c6903f);color:#2b190e;border-color:#8b5b17;
  box-shadow:0 10px 22px rgba(135,88,22,.24), inset 0 1px 0 rgba(255,255,255,.35)
}
.secondary-btn{background:rgba(255,248,239,.76);border-color:#d6b387;color:#4c2f1c}
.ghost-btn{background:transparent;border-color:#c89d71;color:#fff5e5}
.flash-wrap{margin-top:12px}.flash{padding:14px 16px;border-radius:16px;font-weight:700}.flash-success{background:#dfeeda;color:#284e24}.flash-error{background:#f4ddd5;color:#742d1e}
.hero{padding:28px 0 12px}
.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:24px;align-items:center}
.paper-card{
  background:linear-gradient(180deg, rgba(255,255,255,.7), rgba(255,255,255,.92));
  border:2px solid rgba(104,71,43,.12);border-radius:30px;padding:32px;box-shadow:var(--shadow);position:relative;overflow:hidden
}
.paper-card::after{content:"";position:absolute;right:-20px;top:-20px;width:150px;height:150px;background:radial-gradient(circle,#c4a27c 0,transparent 68%);opacity:.18}
.eyebrow{display:inline-flex;padding:8px 14px;border-radius:999px;background:#f1dec6;border:1px solid #d5b08a;font-weight:800;color:#654124}
h1{font-size:clamp(2.5rem,6vw,5.2rem);line-height:.95;margin:18px 0 16px;color:#2b1a10}
.hero p{font-size:1.08rem;color:var(--muted);line-height:1.7}
.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:22px}
.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:22px}
.stat{background:#f7efe3;border:1px solid #e2cab0;border-radius:20px;padding:18px}
.stat strong{display:block;font-size:1.8rem;color:#412716}.stat span{color:#7a5d49;font-weight:600}
.hero-scene{min-height:530px;position:relative}
.workshop-card{height:100%;padding:22px 20px 26px}
.sign-row{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:18px}
.mini-plank{padding:10px 14px;border-radius:16px;background:linear-gradient(135deg,#936037,#704221);border:2px solid #472610;color:#fff1df;font-weight:800;box-shadow:inset 0 1px 0 rgba(255,255,255,.15)}
.therme{
  width:250px;height:320px;margin:22px auto 18px;border-radius:38px;background:linear-gradient(180deg,#f5f0e7,#d9cfbe);
  border:5px solid #9d8d77;position:relative;box-shadow:0 18px 30px rgba(47,28,13,.18)
}
.therme::before{content:"";position:absolute;left:50%;transform:translateX(-50%);top:24px;width:110px;height:18px;border-radius:10px;background:#a49682}
.therme::after{content:"";position:absolute;left:50%;transform:translateX(-50%);top:74px;width:132px;height:78px;border-radius:18px;background:#fff;box-shadow:inset 0 0 0 3px #d8cab6}
.pipe{position:absolute;background:linear-gradient(180deg,#caa36d,#8f6236);border:3px solid #68421d;border-radius:18px}
.pipe.top-left{width:34px;height:130px;top:-82px;left:48px}.pipe.top-right{width:34px;height:130px;top:-82px;right:48px}
.pipe.bottom-left{width:34px;height:105px;bottom:-66px;left:60px}.pipe.bottom-right{width:34px;height:105px;bottom:-66px;right:60px}
.badge-float{position:absolute;padding:12px 14px;border-radius:18px;font-weight:800;background:#fff7eb;border:2px solid #d6b287;box-shadow:0 10px 24px rgba(74,46,20,.16)}
.badge-float.one{left:0;top:78px}.badge-float.two{right:10px;top:130px}.badge-float.three{left:30px;bottom:70px}.badge-float.four{right:0;bottom:30px}
.search-board{margin-top:26px;padding:22px}
.form-grid{display:grid;grid-template-columns:1.1fr .8fr .8fr auto;gap:14px}
.field{display:flex;flex-direction:column;gap:8px}
label{font-weight:800;color:#4b2e1c}
input,select,textarea{
  width:100%;padding:14px 15px;border-radius:16px;border:2px solid #dcc5a6;background:#fffdf8;color:#2e1d13;outline:none
}
input:focus,select:focus,textarea:focus{border-color:#c6903f;box-shadow:0 0 0 4px rgba(198,144,63,.15)}
textarea{min-height:130px;resize:vertical}
.check-row,.district-grid,.service-grid,.two-col,.three-col,.results-grid,.feature-grid,.steps-grid,.dashboard-grid,.admin-grid{display:grid;gap:14px}
.check-row{grid-template-columns:repeat(3,auto);margin-top:12px;align-items:center}
.check-item,.district-item,.small-card,.result-card,.feature-card,.step-card,.dash-card,.admin-card,.legal-card{
  background:rgba(255,249,241,.92);border:2px solid #e1c7aa;border-radius:24px;padding:18px;box-shadow:var(--shadow)
}
.district-grid{grid-template-columns:repeat(3,1fr)}
.service-grid{grid-template-columns:repeat(2,1fr)}
.two-col{grid-template-columns:repeat(2,1fr)}
.three-col{grid-template-columns:repeat(3,1fr)}
.section{padding:22px 0 52px}
.section-head{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;flex-wrap:wrap;margin-bottom:18px}
.section-head h2{font-size:clamp(1.8rem,4vw,2.8rem);margin:0;color:#2c1b10}
.section-head p{margin:0;color:var(--muted);max-width:62ch;line-height:1.65}
.results-grid{grid-template-columns:repeat(2,1fr)}
.result-card{position:relative;overflow:hidden}
.result-card::before{content:"";position:absolute;top:0;right:0;width:120px;height:120px;background:radial-gradient(circle,#c8924f 0,transparent 70%);opacity:.13}
.result-top{display:flex;justify-content:space-between;gap:14px;align-items:flex-start}
.pill-row{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0}
.pill{display:inline-flex;padding:7px 11px;border-radius:999px;background:#f0deca;border:1px solid #d8b48d;font-size:.85rem;font-weight:800;color:#5b391f}
.pill.ok{background:#dcebd8;border-color:#9ec193;color:#264b28}
.score{min-width:120px;text-align:right;font-weight:800;color:#704721}
.muted{color:var(--muted);line-height:1.65}
.result-meta{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin:14px 0}
.action-row{display:flex;gap:10px;flex-wrap:wrap}
.feature-grid,.steps-grid,.dashboard-grid,.admin-grid{grid-template-columns:repeat(3,1fr)}
.icon{width:54px;height:54px;border-radius:16px;display:grid;place-items:center;background:linear-gradient(180deg,#f2c777,#cf9444);color:#2c190e;font-size:1.35rem;font-weight:900;border:2px solid #8f5c20}
.cta-plank{padding:24px;display:flex;justify-content:space-between;align-items:center;gap:18px;flex-wrap:wrap}
.form-shell{display:grid;grid-template-columns:1.1fr .9fr;gap:24px}
.side-note{padding:22px}
.site-footer{padding:18px 0 34px}.footer-board{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;padding:18px}.footer-links{display:flex;gap:14px;flex-wrap:wrap;color:#fff3e0;font-weight:800}
.cookie-wrap{position:fixed;left:16px;right:16px;bottom:16px;z-index:50}.cookie-board{display:flex;justify-content:space-between;gap:20px;align-items:center;padding:20px 22px}
.cookie-copy h3{margin:0 0 6px}.cookie-copy p{margin:0;color:#ffe7d0;line-height:1.6}.cookie-nail-btn{padding:14px 18px;border-radius:18px;border:3px solid #553014;background:
  repeating-linear-gradient(-8deg, rgba(255,255,255,.07) 0 8px, rgba(0,0,0,.03) 8px 16px),
  linear-gradient(135deg,#9f6538,#764220);color:#fff3e1;font-weight:900;box-shadow:0 12px 18px rgba(0,0,0,.18);position:relative;cursor:pointer}
.cookie-nail-btn::before,.cookie-nail-btn::after{content:"";position:absolute;top:8px;width:14px;height:14px;border-radius:50%;background:radial-gradient(circle at 35% 35%, #ead9c1, #73614b 60%, #39281a 100%)}
.cookie-nail-btn::before{left:8px}.cookie-nail-btn::after{right:8px}
.table-list{display:grid;gap:12px}.admin-actions,.spaced{display:flex;gap:10px;flex-wrap:wrap}.status{display:inline-flex;padding:6px 10px;border-radius:999px;font-weight:900}.status.pending{background:#fff0d6;color:#8a5a16}.status.approved{background:#dcebd8;color:#29502a}.status.rejected{background:#f2dad5;color:#7c2f24}
.note{font-size:.95rem;color:var(--muted)}
hr.sep{border:none;border-top:2px dashed #d5baa0;margin:20px 0}
@media (max-width: 980px){
  .hero-grid,.form-shell,.dashboard-grid{grid-template-columns:1fr}
  .stats,.results-grid,.feature-grid,.steps-grid,.admin-grid,.district-grid,.service-grid,.two-col,.three-col,.form-grid{grid-template-columns:1fr}
  .check-row{grid-template-columns:1fr}
  .hero-scene{min-height:auto}
  .therme{transform:scale(.9)}
  .nav-wrap{align-items:flex-start;flex-direction:column}
}
@media (max-width: 640px){
  h1{font-size:2.4rem}
  .paper-card{padding:24px}
  .cookie-board,.footer-board{padding:16px}
  .brand small{display:none}
}
