:root{
  --bg:#f5f1ea;--soft:#fbf8f4;--text:#1d1d1d;--muted:#5c5c5c;--line:#ddd2c4;
  --primary:#1f3d43;--primary2:#2f5b63;--accent:#9c7b54;--dark:#111;--white:#fff;
  --shadow:0 12px 40px rgba(0,0,0,.08);--radius:18px;--max:1180px;
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Arial,Helvetica,sans-serif;background:var(--bg);color:var(--text);line-height:1.6}
a{text-decoration:none;color:inherit}img{max-width:100%;display:block}
.container{width:min(var(--max),calc(100% - 32px));margin:0 auto}
.topbar{background:var(--dark);color:rgba(255,255,255,.88);font-size:14px}.topbar-inner{display:flex;justify-content:space-between;gap:18px;padding:10px 0;flex-wrap:wrap}
.site-header{position:sticky;top:0;z-index:50;background:rgba(251,248,244,.96);backdrop-filter:blur(8px);border-bottom:1px solid rgba(31,61,67,.08)}
.header-inner{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:74px}
.brand{display:flex;align-items:center;gap:14px}.brand-mark{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;color:#fff;background:linear-gradient(135deg,var(--primary),var(--accent));font-weight:700}.brand-text strong{display:block;font-size:20px;line-height:1.2}.brand-text span{display:block;font-size:13px;color:var(--muted)}
.nav{display:flex;gap:22px;flex-wrap:wrap;justify-content:flex-end;font-size:15px}.nav a{color:var(--primary);font-weight:600}.nav .cta-small{padding:10px 16px;border-radius:999px;background:var(--primary);color:var(--white)}
.hero{position:relative;overflow:hidden;background:linear-gradient(115deg,rgba(17,17,17,.72),rgba(31,61,67,.62)),linear-gradient(135deg,#4b5e61 0%,#8a6f52 100%);color:var(--white)}
.hero-inner{display:grid;grid-template-columns:1.2fr .8fr;gap:42px;align-items:center;padding:90px 0 82px}.eyebrow{display:inline-block;padding:8px 14px;border-radius:999px;background:rgba(255,255,255,.12);font-size:14px;margin-bottom:18px}
h1,h2,h3{line-height:1.15;margin:0 0 18px}h1{font-size:clamp(38px,6vw,64px)}h2{font-size:clamp(30px,4.2vw,46px);color:var(--primary)}.hero p{font-size:19px;color:rgba(255,255,255,.92);margin:0}
.hero-actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:28px}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:12px 22px;border-radius:999px;font-weight:700}
.btn-primary{background:var(--white);color:var(--primary)}.btn-secondary{border:1px solid rgba(255,255,255,.38);color:var(--white);background:rgba(255,255,255,.08)}
section{padding:78px 0}.section-intro{max-width:800px;margin-bottom:34px}.section-intro p,.content p,.card p{color:var(--muted);margin:0}
.grid-2,.grid-3,.directory-grid,.footer-grid,.form-grid{display:grid;gap:24px}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.directory-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.footer-grid{grid-template-columns:1.2fr .8fr .8fr}.form-grid{grid-template-columns:1fr 1fr}
.card,.hero-card,.form-shell,.entry-card,.notice{background:var(--soft);border:1px solid var(--line);border-radius:var(--radius);padding:26px;box-shadow:var(--shadow)}
.hero-card{background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.18);color:#fff}.hero-list{display:grid;gap:12px;list-style:none;margin:0;padding:0}.hero-list li{padding:12px 14px;border-radius:14px;background:rgba(255,255,255,.1)}
.pill-row{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}.pill{padding:9px 14px;border-radius:999px;background:#efe7dc;color:var(--primary);font-weight:700;font-size:14px}
.ethics{background:linear-gradient(180deg,#f2ece3 0%,#f8f5f0 100%);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.ethics-list{display:grid;gap:16px;list-style:none;margin:0;padding:0}.ethics-list li{background:var(--white);border:1px solid var(--line);border-radius:16px;padding:18px 20px;box-shadow:var(--shadow)}.ethics-list strong{display:block;color:var(--primary);margin-bottom:6px;font-size:18px}
.layout-narrow{width:min(900px,calc(100% - 32px));margin:0 auto}.notice{padding:14px 16px}.warning{background:#fcf3dd;border-color:#e6d1a0;color:#8b5f09}.success{background:#e7f4ed;border-color:#b4ddc6;color:#1f6f4a}
.field{display:grid;gap:8px}.field.full{grid-column:1/-1}label{font-weight:700;color:var(--primary);font-size:15px}input,textarea,select{width:100%;min-height:48px;padding:12px 14px;border-radius:12px;border:1px solid var(--line);background:#fff;font:inherit;color:var(--text)}textarea{min-height:140px;resize:vertical}
.checkbox-row{display:flex;gap:10px;align-items:flex-start}.checkbox-row input[type=checkbox]{width:18px;min-height:18px;margin-top:3px}.helper,.small{font-size:13px;color:var(--muted)}.muted{color:var(--muted)}code,pre{font-family:ui-monospace,SFMono-Regular,Menlo,monospace}
.directory-toolbar{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:12px;margin:24px 0}.entry-meta{color:var(--muted);font-size:14px;margin-bottom:14px}.entry-links{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px}
.footer{background:#111;color:rgba(255,255,255,.85);padding:34px 0 22px}.footer h3{color:#fff;font-size:18px;margin-bottom:10px}.footer p,.footer li,.footer a{color:rgba(255,255,255,.75);font-size:15px}.footer ul{list-style:none;padding:0;margin:0;display:grid;gap:8px}.footer-bottom{padding-top:18px;border-top:1px solid rgba(255,255,255,.12);font-size:14px;color:rgba(255,255,255,.6)}
@media(max-width:980px){.hero-inner,.grid-2,.grid-3,.directory-grid,.footer-grid,.form-grid,.directory-toolbar{grid-template-columns:1fr}.nav{display:none}}
@media(max-width:680px){.hero-inner{padding:72px 0 64px}section{padding:62px 0}.card,.hero-card,.form-shell,.entry-card{padding:22px}.topbar-inner{flex-direction:column;gap:8px}.header-inner{min-height:66px}.brand-text strong{font-size:18px}}