:root { color-scheme:light; --navy:#102b39; --blue:#0d6f9f; --orange:#ef7d18; --ink:#172f3b; --muted:#607581; --line:#dbe4e8; --soft:#f4f8fa; --danger:#a33d36; }
* { box-sizing:border-box; }
body { margin:0; color:var(--ink); background:linear-gradient(150deg,#eaf2f5 0,#f9fbfc 42%,#eef4f6 100%); font:15px/1.5 Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; }
.site-header { min-height:74px; display:flex; align-items:center; gap:12px; padding:0 max(20px,calc((100vw - 1080px)/2)); color:#fff; background:var(--navy); }
.brand-mark { width:40px; height:40px; display:grid; place-items:center; border:2px solid var(--orange); border-radius:10px; color:#fff; font-size:22px; font-weight:900; }
.site-header strong,.site-header span { display:block; }.site-header strong { font-size:12px; letter-spacing:.13em; }.site-header span { color:#a9bec8; font-size:11px; }
main { width:min(1080px,calc(100% - 32px)); margin:32px auto 60px; }
.hero { padding:42px 46px; color:#fff; background:linear-gradient(130deg,#12394d,#0d2633); border-radius:18px; box-shadow:0 18px 50px rgba(16,43,57,.16); }
.hero > span { color:#7ec5e5; font-size:11px; font-weight:900; letter-spacing:.13em; }.hero h1 { margin:8px 0 8px; font-size:clamp(34px,6vw,58px); line-height:1; letter-spacing:-.04em; }.hero p { max-width:790px; margin:0; color:#c8d8df; font-size:16px; }
.standards { display:flex; flex-wrap:wrap; gap:8px; margin-top:24px; }.standards strong { padding:7px 10px; color:#fff; background:rgba(255,255,255,.09); border:1px solid rgba(255,255,255,.12); border-radius:99px; font-size:11px; }
form { display:grid; gap:18px; margin-top:20px; }.form-section { padding:28px 32px; background:#fff; border:1px solid rgba(23,47,59,.08); border-radius:14px; box-shadow:0 8px 26px rgba(16,43,57,.06); }
form[hidden] { display:none!important; }
.section-heading { display:flex; align-items:flex-start; gap:14px; margin-bottom:22px; }.section-heading > b { width:34px; height:34px; flex:0 0 34px; display:grid; place-items:center; color:#fff; background:var(--blue); border-radius:50%; font-size:13px; }.section-heading h2 { margin:0; font-size:21px; }.section-heading p { margin:4px 0 0; color:var(--muted); font-size:13px; }
h3 { margin:24px 0 10px; color:var(--navy); font-size:13px; letter-spacing:.04em; text-transform:uppercase; }.form-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }.form-grid.compact { grid-template-columns:repeat(3,minmax(0,1fr)); }.full { grid-column:1/-1; }
label > span,.block-label > span { display:block; margin-bottom:6px; color:#38515d; font-size:11px; font-weight:800; }.form-section em { color:var(--danger); font-style:normal; }
input,select,textarea { width:100%; min-width:0; min-height:44px; padding:10px 11px; color:var(--ink); background:#fff; border:1px solid #cad7dd; border-radius:8px; font:inherit; outline:0; } textarea { min-height:90px; resize:vertical; } input:focus,select:focus,textarea:focus { border-color:#6da8c5; box-shadow:0 0 0 3px rgba(13,111,159,.12); }
fieldset { margin:22px 0 0; padding:0; border:0; } legend { margin-bottom:9px; color:#38515d; font-size:11px; font-weight:900; }.choice-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:8px; }.choice-grid label,.cert-list label { display:flex; align-items:center; gap:9px; min-height:43px; padding:9px 11px; background:var(--soft); border:1px solid #e1e9ec; border-radius:8px; cursor:pointer; }.choice-grid input,.cert-list input,.check-card input { width:17px; min-height:17px; flex:0 0 17px; }.choice-grid span { margin:0; color:var(--ink); font-size:11px; }
.check-card { display:flex; align-items:center; gap:10px; min-height:70px; padding:11px 13px; background:#f4f8fa; border:1px solid #dce6ea; border-radius:9px; }.check-card span { margin:0; }.check-card strong,.check-card small { display:block; }.check-card strong { font-size:11px; }.check-card small { margin-top:2px; color:var(--muted); font-size:10px; }
.capacity-grid { margin-top:22px; }.short-select { max-width:360px; }.consent-card { display:flex; align-items:flex-start; gap:10px; margin-top:20px; padding:14px 16px; background:#eef7fb; border:1px solid #c6dde8; border-radius:9px; cursor:pointer; }.consent-card input { width:18px; min-height:18px; flex:0 0 18px; margin-top:2px; }.consent-card span { margin:0; color:var(--ink); font-size:12px; }.intro-card { border-top:4px solid var(--orange); }
.block-label { display:block; margin-top:16px; }.rate-table-wrap { overflow:auto; border:1px solid var(--line); border-radius:10px; }.rate-table { width:100%; min-width:960px; border-collapse:collapse; }.rate-table th { padding:10px; color:var(--muted); background:#f2f6f8; font-size:10px; text-align:left; text-transform:uppercase; letter-spacing:.05em; }.rate-table td { padding:8px; border-top:1px solid var(--line); }.rate-table input,.rate-table select { min-height:39px; padding:7px 8px; font-size:12px; }.rate-table td:nth-child(1){min-width:180px}.rate-table td:nth-child(2){width:100px}.rate-table td:nth-child(3){min-width:145px}.rate-table td:nth-child(4){width:75px}.rate-table td:nth-child(5),.rate-table td:nth-child(6){width:115px}.money { display:flex; align-items:center; border:1px solid #cad7dd; border-radius:8px; }.money span { padding-left:8px; color:var(--muted); }.money input { border:0; padding-left:4px; }.remove { width:34px; height:34px; border:0; border-radius:6px; color:var(--danger); background:#fbeeed; font-size:20px; cursor:pointer; }.secondary { margin-top:12px; padding:10px 14px; color:var(--blue); background:#fff; border:1px solid #bdd2dc; border-radius:8px; font-weight:800; cursor:pointer; }
.reference-card { margin-top:12px; padding:16px; background:#f8fafb; border:1px solid #e3eaed; border-radius:10px; }.reference-card > strong { display:block; margin-bottom:12px; font-size:12px; }.document-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }.document-grid label { padding:12px; background:#f8fafb; border:1px dashed #c8d6dc; border-radius:9px; }.document-grid input { min-height:auto; padding:7px; background:#fff; font-size:11px; }.upload-note { margin:12px 0 0; color:var(--muted); font-size:11px; }
.cert-list { display:grid; gap:8px; }.cert-list label { align-items:flex-start; }.cert-list span { margin:0; color:var(--ink); font-size:12px; }.signature-grid { margin-top:20px; }.submit-bar { position:sticky; bottom:12px; z-index:5; display:flex; align-items:center; justify-content:space-between; gap:20px; padding:18px 20px; color:#fff; background:rgba(16,43,57,.97); border:1px solid rgba(255,255,255,.1); border-radius:12px; box-shadow:0 14px 35px rgba(16,43,57,.28); backdrop-filter:blur(8px); }.submit-bar strong,.submit-bar span { display:block; }.submit-bar span { margin-top:3px; color:#b9cbd4; font-size:11px; }.submit-bar button { min-height:45px; padding:0 18px; color:#fff; background:var(--orange); border:0; border-radius:8px; font:inherit; font-weight:900; cursor:pointer; }.submit-bar button:disabled { opacity:.65; cursor:wait; }
#interest-message.error,#qualification-message.error { padding:14px 16px; color:#832f2a; background:#fbe9e7; border:1px solid #f0c5c1; border-radius:9px; font-weight:700; }.success-card { padding:55px 30px; text-align:center; }.success-card > div { width:62px; height:62px; display:grid; place-items:center; margin:0 auto 18px; color:#24704a; background:#dff2e7; border-radius:50%; font-size:30px; font-weight:900; }.success-card h2 { margin:0; font-size:30px; }.success-card p { max-width:650px; margin:12px auto; color:var(--muted); }.success-card small { display:block; color:var(--muted); }.success-card a { display:inline-block; margin-top:24px; padding:11px 16px; color:#fff; background:var(--blue); border-radius:8px; text-decoration:none; font-weight:800; }.invitation-error > div { color:#8a3d35; background:#f8e7e4; }
.trap { position:absolute!important; left:-10000px!important; width:1px!important; height:1px!important; overflow:hidden!important; } footer { padding:24px; color:#748791; text-align:center; font-size:11px; }
@media(max-width:820px){.choice-grid{grid-template-columns:repeat(2,1fr)}.form-grid.compact{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){main{width:min(100% - 16px,1080px);margin-top:10px}.hero{padding:30px 22px;border-radius:12px}.form-section{padding:22px 18px}.form-grid,.form-grid.compact,.document-grid{grid-template-columns:1fr}.full{grid-column:auto}.choice-grid{grid-template-columns:1fr}.submit-bar{position:static;align-items:stretch;flex-direction:column}.submit-bar button{width:100%}.site-header{padding:0 16px}}
