:root{color:#14253a;font-synthesis:none;background:#f6f9fd;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{background:radial-gradient(circle at 92% 4%,#dcecff 0,#0000 27rem),#f7faff;min-width:320px;min-height:100vh;margin:0}button,input,textarea{font:inherit}button{cursor:pointer}.landing{grid-template-rows:auto 1fr auto;min-height:100vh;padding:28px clamp(22px,5vw,72px);display:grid}.brand{color:#0a2f5a;letter-spacing:.12em;align-items:center;gap:10px;font-weight:800;display:flex}.brand small{color:#6f7f91;border-left:1px solid #c5d1df;padding-left:12px;font-size:.72rem;font-weight:650}.brand-mark{color:#fff;background:#0a2f5a;border-radius:10px;place-items:center;width:34px;height:34px;font-family:Georgia,serif;font-size:1.2rem;display:grid}.language-toggle{color:#0b4f91;letter-spacing:.02em;background:#ffffffe6;border:1px solid #b9cce0;border-radius:999px;margin-left:auto;padding:8px 13px;font-size:.84rem;font-weight:800}.language-toggle:hover{background:#edf6ff;border-color:#0b4f91}.language-toggle.floating{float:right}.hero{grid-template-columns:minmax(0,1.08fr) minmax(320px,.92fr);align-items:center;gap:clamp(40px,7vw,110px);width:min(1180px,100%);margin:auto;padding:72px 0;display:grid}.hero h1,.intro-card h1,.processing h1,.report-header h1{color:#09294e;letter-spacing:-.035em;margin:12px 0 20px;font-family:Georgia,Times New Roman,serif;font-weight:600;line-height:1.02}.hero h1{max-width:800px;font-size:clamp(3.4rem,7vw,6.7rem)}.subhead{color:#415671;max-width:720px;font-size:clamp(1.2rem,2vw,1.55rem);line-height:1.55}.eyebrow{text-transform:uppercase;color:#386da8;letter-spacing:.13em;font-size:.78rem;font-weight:800}.facts{flex-wrap:wrap;gap:10px;margin:30px 0;display:flex}.facts span{color:#46617f;background:#ffffffb3;border:1px solid #c8d8e9;border-radius:999px;padding:9px 13px;font-size:.9rem}.primary{color:#fff;background:#0b4f91;border:0;border-radius:12px;padding:14px 22px;font-weight:750;box-shadow:0 10px 24px #0b4f912e}.primary:hover:not(:disabled){background:#073b70;transform:translateY(-1px)}.primary:disabled{opacity:.48;cursor:not-allowed;box-shadow:none}.primary.large{padding:17px 26px;font-size:1.05rem}.path-card{color:#fff;background:linear-gradient(145deg,#092b51,#0f5a9f);border-radius:36px 36px 140px;min-height:480px;position:relative;overflow:hidden;box-shadow:0 34px 80px #082b5147}.path-card:before{content:"";border:1px solid #ffffff2e;border-radius:24px 24px 120px;position:absolute;inset:22px}.path-line{border:3px solid #0000;border-color:#0000 #0000 #d7b35f #d7b35f;border-radius:0 0 0 170px;width:65%;height:65%;position:absolute;top:16%;left:18%;transform:rotate(-15deg)}.path-node{background:#fff;border:5px solid #0b4f91;border-radius:50%;width:18px;height:18px;position:absolute;box-shadow:0 0 0 2px #d7b35f}.path-node.one{bottom:22%;left:18%}.path-node.two{bottom:44%;left:48%}.path-node.three{top:18%;right:19%}.path-card p{letter-spacing:.18em;color:#c9dcf1;font-size:.72rem;font-weight:800;position:absolute}.path-card p:first-of-type{bottom:12%;left:11%}.path-card p:nth-of-type(2){bottom:35%;left:42%}.path-card p:nth-of-type(3){top:9%;right:9%}footer{color:#708197;font-size:.82rem}.centered{place-items:center;min-height:100vh;padding:28px;display:grid}.intro-card,.processing{background:#fff;border:1px solid #dce6f1;border-radius:24px;width:min(760px,100%);padding:clamp(28px,6vw,64px);box-shadow:0 24px 70px #193d631a}.intro-card h1,.processing h1{font-size:clamp(2rem,5vw,3.4rem)}.intro-card p{color:#40536a;font-size:1.05rem;line-height:1.72}.processing{text-align:center}.spinner{border:4px solid #d9e6f3;border-top-color:#0b4f91;border-radius:50%;width:48px;height:48px;margin:0 auto 28px;animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.assessment-page{min-height:100vh;padding-bottom:32px}.assessment-header{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#ffffffe0;grid-template-columns:1fr auto auto;align-items:center;gap:14px;padding:20px clamp(20px,5vw,64px);display:grid}.brand.compact{font-size:.85rem}.brand.compact .brand-mark{width:30px;height:30px}.progress-track{background:#dce7f2;height:4px}.progress-track div{background:linear-gradient(90deg,#0b4f91,#d2a844);height:100%;transition:width .35s}.question-card{background:#fff;border:1px solid #dce6f1;border-radius:24px;width:min(860px,100% - 32px);margin:clamp(28px,6vw,64px) auto 20px;padding:clamp(24px,5vw,54px);box-shadow:0 24px 70px #193d6317}.question-meta{color:#5b7694;justify-content:space-between;gap:20px;font-size:.85rem;font-weight:700;display:flex}.question-card h1{color:#0a2f5a;margin:22px 0 12px;font-family:Georgia,serif;font-size:clamp(1.65rem,4vw,2.5rem);font-weight:600;line-height:1.2}.help{color:#5e7187;font-size:1rem;line-height:1.55}.options{gap:12px;margin-top:28px;display:grid}.option{cursor:pointer;background:#fbfdff;border:1px solid #cfdcea;border-radius:14px;align-items:flex-start;gap:14px;padding:17px 18px;font-size:1rem;line-height:1.45;transition:border .15s,background .15s;display:flex}.option:hover{border-color:#7ca3ca}.option.selected{background:#edf6ff;border-color:#0b4f91;box-shadow:0 0 0 1px #0b4f91}.option input{accent-color:#0b4f91;flex:none;width:19px;height:19px;margin-top:2px}textarea,.detail-input,.email-card input[type=email]{color:#18314d;resize:vertical;background:#fbfdff;border:1px solid #c5d6e7;border-radius:13px;width:100%;margin-top:22px;padding:15px;font-size:1rem;line-height:1.55}textarea:focus,input:focus{border-color:#286cac;outline:3px solid #2a70b42e}.question-actions{justify-content:space-between;gap:16px;margin-top:34px;display:flex}.secondary-button{color:#284968;background:#fff;border:1px solid #c7d6e5;border-radius:12px;padding:13px 21px;font-weight:700}.secondary-button:disabled{opacity:.4;cursor:not-allowed}.save-note{text-align:center;color:#6a7e94;font-size:.86rem}.error{color:#9f2f2f;font-weight:650;line-height:1.45}.success{color:#17683b;font-weight:700}.notice{color:#705817;background:#fff8df;border-radius:12px;padding:14px 16px}.allocation{gap:13px;margin-top:26px;display:grid}.total{z-index:1;color:#5f7184;background:#edf1f6;border-radius:999px;justify-self:end;padding:9px 13px;font-weight:800;position:sticky;top:12px}.total.complete{color:#17683b;background:#e4f6ec}.allocation-row{border-bottom:1px solid #edf1f5;grid-template-columns:minmax(170px,1fr) minmax(150px,1.2fr) 52px;align-items:center;gap:15px;padding:13px 0;display:grid}.allocation-row input{accent-color:#0b4f91;width:100%}.allocation-row strong{text-align:right;color:#0a2f5a}.ranking{gap:10px;margin:28px 0 0;padding:0;list-style:none;display:grid}.ranking li{background:#fbfdff;border:1px solid #cfdeeb;border-radius:13px;grid-template-columns:34px 1fr auto;align-items:center;gap:12px;padding:13px;line-height:1.4;display:grid}.rank-number{color:#fff;background:#0a2f5a;border-radius:9px;place-items:center;width:30px;height:30px;font-weight:800;display:grid}.rank-actions{gap:6px;display:flex}.rank-actions button{color:#164b7c;background:#fff;border:1px solid #c7d5e4;border-radius:8px;width:35px;height:35px;font-weight:800}.rank-actions button:disabled{opacity:.25;cursor:not-allowed}.report-shell{width:min(1080px,100% - 32px);margin:0 auto;padding:72px 0}.report-header{color:#fff;background:linear-gradient(145deg,#092b51,#0c4d89);border-radius:28px;padding:clamp(28px,6vw,64px);box-shadow:0 28px 70px #092b513d}.report-header h1{color:#fff;font-size:clamp(2.2rem,5vw,4rem)}.report-header h2{color:#f0cf76;font-family:Georgia,serif;font-size:clamp(1.8rem,4vw,3rem)}.report-header p{max-width:850px;font-size:1.08rem;line-height:1.7}.report-header .eyebrow{color:#bdd9f5}.report-language{justify-content:flex-end;margin-bottom:16px;display:flex}.report-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin:24px 0;display:grid}.report-card,.secondary,.warning,.email-card{background:#fff;border:1px solid #d9e5f0;border-radius:18px;padding:26px}.report-card h3,.secondary h3,.warning h3,.email-card h3{color:#0a2f5a;margin-top:0;font-family:Georgia,serif;font-size:1.35rem}.report-card p,.report-card li,.secondary p,.warning p,.email-card p{color:#465c74;line-height:1.65}.report-card ul{padding-left:20px}.secondary,.warning,.email-card{margin-top:18px}.warning{background:#fffdf7;border-left:5px solid #d2a844}.consent{color:#40566e;gap:10px;margin:18px 0;line-height:1.45;display:flex}.disclaimer{color:#6e7d8d;max-width:900px;margin:28px auto 0;font-size:.84rem;line-height:1.65}.admin-login input{border:1px solid #c5d6e7;border-radius:12px;width:100%;margin:18px 0;padding:14px}.admin-shell{min-height:100vh}.admin-content{grid-template-columns:minmax(0,1fr) minmax(340px,.65fr);gap:24px;width:min(1180px,100% - 32px);margin:48px auto;display:grid}.admin-content h1{color:#0a2f5a;font-family:Georgia,serif;font-size:2.5rem}.admin-table{background:#fff;border:1px solid #d7e3ef;border-radius:16px;overflow:hidden}.admin-row{text-align:left;color:#29445f;background:#fff;border:0;border-bottom:1px solid #e4ebf2;grid-template-columns:130px 100px 80px 1fr;gap:12px;width:100%;padding:14px 16px;display:grid}.admin-row:not(.heading):hover{background:#f0f7ff}.admin-row.heading{color:#fff;background:#0a2f5a;font-weight:800}.admin-detail{background:#fff;border:1px solid #d7e3ef;border-radius:18px;max-height:calc(100vh - 140px);padding:26px;position:relative;overflow:auto}.admin-detail h2,.admin-detail h3{color:#0a2f5a}.close{color:#5e7187;background:0 0;border:0;font-size:1.8rem;position:absolute;top:12px;right:16px}.metric{border-bottom:1px solid #e7edf3;grid-template-columns:1fr repeat(3,auto);gap:10px;padding:11px 0;font-size:.86rem;display:grid}.metric strong{color:#173d62}@media (width<=780px){.hero{grid-template-columns:1fr;padding:52px 0}.path-card{min-height:300px}.hero h1{font-size:clamp(3rem,15vw,4.8rem)}.report-grid{grid-template-columns:1fr}.allocation-row{grid-template-columns:1fr 58px}.allocation-row input{grid-area:2/1/auto/-1}.question-meta{flex-direction:column;gap:6px}.brand small{display:none}.assessment-header{grid-template-columns:1fr auto}.assessment-header>span{grid-column:1/-1}.language-toggle{white-space:nowrap}.admin-content{grid-template-columns:1fr}.admin-row{grid-template-columns:90px 80px 1fr}.admin-row span:nth-child(3){display:none}.metric{grid-template-columns:1fr 1fr}.admin-detail{max-height:none}}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}
