:root{
  --bg:#f6f8fb;
  --card:#ffffff;
  --ink:#223a57;
  --muted:#66758a;
  --line:#dfe7f1;
  --brand:#b10d0d;
  --brand-dark:#850909;
  --blue:#1f6feb;
  --soft:#eef4fb;
  --shadow:0 14px 34px rgba(34,58,87,.09);
  --radius:22px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:Lato,Arial,sans-serif;
  color:var(--ink);
  background:
    radial-gradient(900px 420px at 12% -10%, rgba(177,13,13,.10), transparent 62%),
    radial-gradient(780px 360px at 90% 0%, rgba(31,111,235,.10), transparent 60%),
    var(--bg);
}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit}
button{cursor:pointer}
img{max-width:100%;display:block}
.wrapper{width:min(1180px, calc(100% - 32px));margin:0 auto}
.hidden{display:none!important}
.header{
  position:sticky;top:0;z-index:30;
  background:rgba(255,255,255,.92);
  backdrop-filter:blur(12px);
  border-bottom:1px solid var(--line);
}
.header-inner{height:72px;display:flex;align-items:center;justify-content:space-between;gap:18px}
.logo{display:flex;align-items:center;gap:12px;font-weight:800;color:var(--ink)}
.logo-mark{width:42px;height:42px;border-radius:0 16px 0 16px;background:var(--brand);color:#fff;display:grid;place-items:center;box-shadow:0 10px 24px rgba(177,13,13,.18)}
.nav{display:flex;align-items:center;gap:22px;color:var(--muted);font-size:14px}
.nav a:hover{color:var(--brand)}
.actions{display:flex;align-items:center;gap:10px}
.btn,.btn-secondary,.btn-ghost{
  border:0;border-radius:16px;padding:11px 16px;font-weight:700;line-height:1;display:inline-flex;align-items:center;justify-content:center;gap:8px;transition:.2s ease;
}
.btn{background:var(--brand);color:#fff;box-shadow:0 10px 24px rgba(177,13,13,.18)}
.btn:hover{background:var(--brand-dark);transform:translateY(-1px)}
.btn-secondary{background:#fff;color:var(--ink);border:1px solid var(--line);box-shadow:0 8px 22px rgba(34,58,87,.06)}
.btn-secondary:hover{border-color:#c4cfdb;transform:translateY(-1px)}
.btn-ghost{background:transparent;color:var(--muted);padding:8px 10px}
.btn-ghost:hover{background:var(--soft);color:var(--ink)}
.btn.full,.btn-secondary.full{width:100%}
.btn.small,.btn-secondary.small{padding:8px 11px;border-radius:12px;font-size:13px}
.hero{padding:44px 0 28px}
.hero-grid{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:24px;align-items:start}
.eyebrow{display:inline-flex;align-items:center;gap:8px;padding:7px 11px;border:1px solid rgba(177,13,13,.18);border-radius:999px;background:rgba(177,13,13,.05);color:var(--brand);font-size:13px;font-weight:800}
h1{font-size:clamp(30px,4.5vw,54px);line-height:1.04;margin:18px 0 12px;color:var(--ink);letter-spacing:-.04em}
.lead{font-size:18px;line-height:1.65;color:var(--muted);max-width:780px;margin:0}
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}
.quick-card{padding:22px}
.quick-card h3{margin:0 0 14px;font-size:19px}
.steps{margin:0;padding:0;list-style:none;display:grid;gap:12px;color:var(--muted);font-size:14px;line-height:1.5}
.steps li{display:flex;gap:10px;align-items:flex-start}.dot{flex:0 0 28px;width:28px;height:28px;border-radius:0 11px 0 11px;background:var(--ink);color:#fff;display:grid;place-items:center;font-size:12px;font-weight:800}
.toolbar{margin:28px 0 10px;display:grid;grid-template-columns:minmax(0,1fr) 210px 180px;gap:12px}
.field{position:relative}.field svg{position:absolute;left:14px;top:50%;transform:translateY(-50%);width:19px;color:#90a0b5}.input,.select,.textarea{width:100%;border:1px solid var(--line);border-radius:16px;background:#fff;color:var(--ink);padding:13px 14px;outline:none;transition:.18s}.textarea{min-height:170px;resize:vertical;line-height:1.55}.input.with-icon{padding-left:43px}.input:focus,.select:focus,.textarea:focus{border-color:rgba(177,13,13,.55);box-shadow:0 0 0 4px rgba(177,13,13,.08)}
.chips,.tags{display:flex;gap:8px;flex-wrap:wrap}.chip{display:inline-flex;align-items:center;border:1px solid var(--line);background:#fff;color:var(--muted);border-radius:999px;padding:7px 10px;font-size:12px;font-weight:700}.chip.red{color:var(--brand);background:rgba(177,13,13,.05);border-color:rgba(177,13,13,.16)}
.catalog-head{display:flex;justify-content:space-between;align-items:center;margin:28px 0 18px}.catalog-head h2{font-size:24px;margin:0;color:var(--ink)}.muted{color:var(--muted)}
.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;padding-bottom:52px}.fund-card{overflow:hidden;display:flex;flex-direction:column;min-height:100%;transition:.22s ease}.fund-card:hover{transform:translateY(-3px);box-shadow:0 18px 42px rgba(34,58,87,.13)}.cover{aspect-ratio:16/10;background:linear-gradient(135deg,#e8eff7,#fff);object-fit:cover;width:100%}.fund-card-body{padding:18px;display:flex;flex-direction:column;gap:12px;flex:1}.fund-title{font-weight:900;font-size:18px;line-height:1.25;margin:0;color:var(--ink)}.fund-meta{font-size:13px;color:var(--muted)}.preview{font-size:14px;line-height:1.55;color:var(--muted);margin:0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.progress-line{height:9px;background:#edf2f7;border-radius:999px;overflow:hidden}.progress-bar{height:100%;background:var(--brand);border-radius:999px;min-width:0}.fund-stats{display:flex;justify-content:space-between;gap:12px;font-size:13px;color:var(--muted)}.fund-stats strong{color:var(--ink)}
.detail{padding:30px 0 64px}.back-row{margin-bottom:16px}.detail-grid{display:grid;grid-template-columns:330px minmax(0,1fr);gap:24px;align-items:start}.sticky{position:sticky;top:92px}.donation-panel{padding:20px}.donation-panel h2{font-size:22px;margin:0 0 12px}.amount-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.custom-amount{display:flex;gap:8px;margin-top:12px}.custom-amount .input{min-width:0}.summary-box{margin-top:18px;padding:14px;border-radius:18px;background:var(--soft);border:1px solid var(--line)}.summary-row{display:flex;justify-content:space-between;gap:10px;font-size:14px;margin-bottom:8px}.recent-list{list-style:none;padding:0;margin:12px 0 0;display:grid;gap:10px}.recent-list li{padding:10px 0;border-bottom:1px solid var(--line);font-size:14px}.recent-list li:last-child{border-bottom:0}.donation-from{font-weight:800;color:var(--ink)}.donation-memo{color:var(--muted);font-size:12px;display:block;margin-top:3px}
.article{overflow:hidden}.article-body{padding:24px}.article-author{display:flex;align-items:center;gap:12px;margin-bottom:16px}.avatar{width:44px;height:44px;border-radius:50%;background:#edf2f7}.article-title{font-size:28px;line-height:1.15;margin:0 0 6px}.markdown{color:var(--ink);line-height:1.72}.markdown h1,.markdown h2,.markdown h3{letter-spacing:0;color:var(--ink);line-height:1.25}.markdown h1{font-size:28px}.markdown h2{font-size:23px}.markdown h3{font-size:19px}.markdown p{color:var(--ink)}.markdown a{color:var(--brand);font-weight:800}.markdown img{border-radius:16px;margin:14px 0}.article-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:20px}
.modal{position:fixed;inset:0;background:rgba(9,17,28,.58);z-index:60;display:flex;align-items:center;justify-content:center;padding:16px}.modal-box{width:min(980px,100%);max-height:92vh;background:#fff;border-radius:24px;box-shadow:0 30px 80px rgba(0,0,0,.24);display:flex;flex-direction:column;overflow:hidden}.modal-head{display:flex;align-items:center;justify-content:space-between;padding:18px 22px;border-bottom:1px solid var(--line)}.modal-head h3{margin:0}.modal-grid{display:grid;grid-template-columns:minmax(0,1fr) 360px;min-height:0}.form{padding:22px;overflow:auto}.preview-pane{padding:22px;border-left:1px solid var(--line);background:#fbfdff;overflow:auto}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.form-row{margin-bottom:15px}.label{display:block;color:var(--ink);font-weight:800;font-size:13px;margin-bottom:7px}.help{font-size:12px;color:var(--muted);line-height:1.45;margin:7px 0 0}.error{color:#b00020}.success{color:#0f7b35}.form-actions{display:flex;justify-content:space-between;gap:12px;margin-top:16px}.stepper{display:flex;gap:8px;margin-bottom:18px}.step-pill{border:1px solid var(--line);border-radius:999px;padding:7px 10px;font-size:12px;font-weight:800;color:var(--muted)}.step-pill.active{color:#fff;background:var(--brand);border-color:var(--brand)}
.notice{padding:12px 14px;border-radius:16px;border:1px solid var(--line);background:#fff;font-size:14px;line-height:1.5}.notice.warn{border-color:rgba(177,13,13,.2);background:rgba(177,13,13,.06)}.status{margin-top:12px}.empty{padding:26px;text-align:center;color:var(--muted)}.mobile-only{display:none}.desktop-only{display:inline-flex}
@media (max-width:980px){.hero-grid,.detail-grid,.modal-grid{grid-template-columns:1fr}.sticky{position:static}.grid{grid-template-columns:repeat(2,minmax(0,1fr))}.preview-pane{border-left:0;border-top:1px solid var(--line)}.toolbar{grid-template-columns:1fr 1fr}.toolbar .field{grid-column:1/-1}.nav{display:none}.desktop-only{display:none}.mobile-only{display:inline-flex}}
@media (max-width:640px){.wrapper{width:min(100% - 20px,1180px)}.header-inner{height:auto;padding:10px 0;align-items:flex-start;flex-direction:column}.actions{width:100%;display:grid;grid-template-columns:1fr 1fr}.actions .btn,.actions .btn-secondary{width:100%;font-size:13px;padding:10px}.hero{padding-top:24px}h1{font-size:31px}.lead{font-size:16px}.toolbar{grid-template-columns:1fr}.grid{grid-template-columns:1fr}.catalog-head{align-items:flex-start;flex-direction:column;gap:8px}.form-grid{grid-template-columns:1fr}.modal{padding:8px}.modal-box{max-height:96vh;border-radius:18px}.amount-grid{grid-template-columns:1fr 1fr}.custom-amount{flex-direction:column}.article-title{font-size:23px}}
