:root{--navy:#002d62;--navy-deep:#001a3a;--red:#c8102e;--red-soft:#e83a52;--yellow:#f5d430;--white:#fff;--off-white:#f7f8fb;--ink:#121826;--muted:#5b657a;--line:#002d621f;--rainbow:linear-gradient(90deg, #e40303, #ff8c00, #ffed00, #008026, #24408e, #732982);--font-display:"Oswald", "Arial Narrow", sans-serif;--font-body:"Montserrat", "Segoe UI", sans-serif;--shadow:0 18px 40px #001a3a29;--radius:4px;--max:1100px}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth}body{font-family:var(--font-body);color:var(--ink);background:radial-gradient(circle at top right, #c8102e14, transparent 40%), radial-gradient(circle at 10% 20%, #002d6214, transparent 35%), linear-gradient(180deg, #fff 0%, var(--off-white) 100%);min-height:100vh;margin:0}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}button,input,select,textarea{font:inherit}#root{min-height:100vh}.app-shell{flex-direction:column;min-height:100vh;display:flex}.site-header{z-index:20;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--line);background:#ffffffeb;position:sticky;top:0}.site-header__inner{max-width:var(--max);justify-content:space-between;align-items:center;gap:1rem;margin:0 auto;padding:.85rem 1.25rem;display:flex}.brand{align-items:center;gap:.75rem;min-width:0;display:flex}.brand img{object-fit:contain;width:56px;height:56px}.brand__text{flex-direction:column;min-width:0;display:flex}.brand__text strong{font-family:var(--font-display);letter-spacing:.04em;color:var(--navy);font-size:1.35rem;line-height:1}.brand__text span{color:var(--muted);font-size:.85rem}.nav-toggle{border:1px solid var(--line);border-radius:var(--radius);color:var(--navy);cursor:pointer;background:#fff;padding:.5rem .75rem;display:none}.nav{align-items:center;gap:.35rem;display:flex}.nav a{color:var(--navy);border-radius:999px;padding:.55rem .85rem;font-weight:600}.nav a.active,.nav a:hover{background:#002d6214}.main{flex:1;width:100%}.page{max-width:var(--max);gap:1.75rem;margin:0 auto;padding:1.5rem 1.25rem 3rem;display:grid}.site-footer{background:var(--navy-deep);color:#fff;margin-top:auto}.site-footer__inner{max-width:var(--max);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin:0 auto;padding:1.75rem 1.25rem;display:flex}.site-footer .rainbow{background:var(--rainbow);height:4px}.social-links{flex-wrap:wrap;gap:.55rem;display:flex}.social-link{color:#fff;background:#ffffff1f;border:1px solid #ffffff2e;border-radius:999px;justify-content:center;align-items:center;width:2.4rem;height:2.4rem;transition:transform .15s,background .15s;display:inline-flex}.social-link:hover{color:var(--navy-deep);background:#f5d430f2;transform:translateY(-1px)}.social-admin-field .social-admin-label{color:var(--navy);align-items:center;gap:.5rem;display:inline-flex}.social-admin-field .social-admin-label svg{color:var(--navy)}.logo-admin{border:1px solid var(--line);background:#f8fafc;border-radius:12px;flex-wrap:wrap;align-items:flex-start;gap:1.25rem;padding:1rem;display:flex}.logo-admin__preview{border:1px solid var(--line);background:#fff;border-radius:12px;flex-shrink:0;place-items:center;width:140px;height:140px;display:grid;overflow:hidden}.logo-admin__preview img{object-fit:contain;width:100%;height:100%;padding:.5rem}.hero{color:#fff;min-height:min(68vh,560px);box-shadow:var(--shadow);background:linear-gradient(135deg,#002d62eb,#c8102ec7),url(/logo.png) 50%/cover;border-radius:18px;align-items:end;display:grid;position:relative;overflow:hidden}.hero__content{max-width:40rem;padding:2.5rem 1.75rem;animation:.7s both rise}.hero__logo{filter:drop-shadow(0 10px 20px #00000059);width:min(220px,55vw);margin-bottom:1.25rem;animation:4s ease-in-out infinite floaty}.hero h1{font-family:var(--font-display);letter-spacing:.04em;margin:0 0 .6rem;font-size:clamp(2.6rem,8vw,4.6rem);line-height:.95}.hero p{max-width:34rem;margin:0 0 1.25rem;font-size:1.15rem}.btn{background:var(--yellow);color:var(--navy-deep);cursor:pointer;border:none;border-radius:999px;justify-content:center;align-items:center;gap:.4rem;padding:.8rem 1.3rem;font-weight:700;transition:transform .2s,box-shadow .2s;display:inline-flex}.btn:hover{transform:translateY(-1px);box-shadow:0 10px 24px #0000002e}.btn.secondary{color:var(--navy);background:#fff}.btn.danger{background:var(--red);color:#fff}.btn.ghost{color:inherit;background:0 0;border:1px solid}.block{border:1px solid var(--line);background:#ffffffe0;border-radius:16px;padding:1.5rem;animation:.55s both rise}.block h2{font-family:var(--font-display);letter-spacing:.03em;color:var(--navy);margin:0 0 .75rem;font-size:clamp(1.8rem,4vw,2.4rem)}.rich-text p{color:var(--ink);white-space:pre-wrap;margin:0 0 1rem;line-height:1.65}.cta-block{background:linear-gradient(135deg, var(--navy), #123f7a);color:#fff;border:none;gap:.85rem;display:grid}.form-block form{gap:1rem;display:grid}.field{gap:.35rem;display:grid}.field label{color:var(--navy);font-weight:600}.field input:not([type=checkbox]),.field select,.field textarea{border:1px solid var(--line);background:#fff;border-radius:10px;width:100%;padding:.75rem .9rem}.field textarea{resize:vertical;min-height:120px}.checkbox-row{align-items:flex-start;gap:0;display:flex}.checkbox-row input[type=checkbox]{flex-shrink:0;width:auto;margin:.2rem 5px 0 0;padding:0}.field>.checkbox-row{flex-direction:column;align-items:flex-start;gap:5px}.field>.checkbox-row input[type=checkbox]{margin:0}.field-legend{color:var(--navy);font-weight:600}.checkbox-group{border:1px solid var(--line);background:#fff;border-radius:10px;flex-wrap:wrap;align-items:flex-start;gap:.65rem 1.25rem;padding:.95rem 1rem;display:flex}.checkbox-group .checkbox-row{flex:0 auto;width:auto;min-width:0;max-width:100%;margin:0}.checkbox-group .checkbox-row span{white-space:normal;overflow-wrap:break-word;word-break:normal;line-height:1.35}.form-error{color:var(--red);font-size:.9rem}.form-success{color:#0b5c28;background:#00802614;border:1px solid #00802640;border-radius:12px;padding:1rem}.admin-shell{background:#eef2f7;grid-template-columns:240px 1fr;min-height:100vh;display:grid}.admin-nav{background:var(--navy-deep);color:#fff;flex-direction:column;gap:.5rem;padding:1.25rem;display:flex}.admin-nav a{border-radius:10px;padding:.7rem .85rem}.admin-nav a.active,.admin-nav a:hover{background:#ffffff1a}.admin-main{padding:1.25rem}.panel{border:1px solid var(--line);background:#fff;border-radius:14px;margin-bottom:1rem;padding:1.25rem}.panel h1,.panel h2{color:var(--navy);margin-top:0}.table{border-collapse:collapse;width:100%}.table th,.table td{text-align:left;border-bottom:1px solid var(--line);vertical-align:top;padding:.7rem .5rem}.stack{gap:.75rem;display:grid}.row{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.login-page{place-items:center;min-height:100vh;padding:1.25rem;display:grid}.login-card{width:min(420px,100%);box-shadow:var(--shadow);border:1px solid var(--line);background:#fff;border-radius:16px;padding:1.75rem}.muted{color:var(--muted)}.badge{color:var(--navy);background:#002d6214;border-radius:999px;padding:.2rem .55rem;font-size:.8rem;font-weight:700;display:inline-block}.field-card{background:#f8fafc;transition:border-color .15s,box-shadow .15s,opacity .15s}.field-card__header{margin-bottom:.35rem}.drag-handle{border:1px solid var(--line);width:2.1rem;height:2.1rem;color:var(--navy);cursor:grab;-webkit-user-select:none;user-select:none;letter-spacing:-.12em;background:#fff;border-radius:8px;justify-content:center;align-items:center;font-size:1rem;line-height:1;display:inline-flex}.drag-handle:active{cursor:grabbing}.field-card.is-dragging{opacity:.55}.field-card.is-drop-target{border-color:var(--navy);box-shadow:0 0 0 2px #002d622e}@keyframes rise{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes floaty{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}@media (width<=800px){.nav-toggle{display:inline-flex}.nav{border:1px solid var(--line);min-width:180px;box-shadow:var(--shadow);background:#fff;border-radius:12px;flex-direction:column;align-items:stretch;padding:.5rem;display:none;position:absolute;top:74px;right:1.25rem}.nav.open{display:flex}.admin-shell{grid-template-columns:1fr}.admin-nav{flex-flow:wrap}}
