
:root{
  --navy:#011630; --navy-2:#08264d; --gold:#d9a441; --gold-light:#f4d991;
  --cream:#fbf8f1; --white:#fff; --green:#316b42; --ink:#10213a;
  --border:#e5d5ad; --shadow:0 24px 70px rgba(1,22,48,.16);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Montserrat,Arial,sans-serif;background:var(--cream);color:var(--ink)}
button,input,select{font:inherit}
button{cursor:pointer}
.app-shell{min-height:100vh}
.topbar{height:100px;display:flex;align-items:center;justify-content:space-between;padding:18px clamp(24px,5vw,78px);background:var(--navy);color:#fff;border-bottom:3px solid var(--gold)}
.brand{display:flex;gap:15px;align-items:center;color:#fff;text-decoration:none}
.brand strong{font-size:18px;line-height:.95;letter-spacing:2px}
.brand em{color:var(--gold);font-style:normal}
.brand small{display:block;margin-top:7px;font-size:9px;color:#e7d5a8;line-height:1.35}
.compass{width:52px;height:52px;border:1px solid var(--gold);border-radius:50%;display:grid;place-items:center;color:var(--gold);font-size:28px}
.ghost-button{background:transparent;color:white;border:1px solid rgba(255,255,255,.28);padding:10px 15px;border-radius:999px}
.hero-copy{padding:clamp(50px,8vw,110px) clamp(28px,7vw,105px);display:flex;flex-direction:column;justify-content:center}
.screen{display:none}
.screen.active{display:grid}
#homeScreen{min-height:670px;grid-template-columns:1.06fr .94fr;background:linear-gradient(105deg,#fff 0 54%,var(--navy) 54%)}
.eyebrow{font-size:12px;font-weight:800;letter-spacing:2px;color:var(--gold)}
h1{font-size:clamp(43px,5vw,76px);line-height:.98;letter-spacing:-3px;margin:18px 0 24px;color:var(--navy)}
h1 span{color:var(--gold)}
.hero-copy p{max-width:660px;font-size:18px;line-height:1.75}
.hero-actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:23px}
.primary-button,.secondary-button{border-radius:9px;padding:15px 22px;font-weight:800;border:1px solid var(--gold)}
.primary-button{background:var(--gold);color:var(--navy);box-shadow:0 9px 24px rgba(217,164,65,.25)}
.secondary-button{background:#fff;color:var(--navy)}
.primary-button:disabled{opacity:.45;cursor:not-allowed}
.trust-row{display:flex;gap:22px;flex-wrap:wrap;margin-top:26px;font-size:12px;color:#5d6675}
.hero-visual{position:relative;overflow:hidden;display:grid;place-items:center;min-height:650px;color:white}
.gold-arc{position:absolute;width:680px;height:680px;border:3px solid rgba(217,164,65,.65);border-radius:50%;right:-300px;top:-260px}
.compass-large{width:min(48vw,380px);aspect-ratio:1;border:2px solid var(--gold);border-radius:50%;position:relative;box-shadow:0 0 0 24px rgba(217,164,65,.05),0 0 0 48px rgba(217,164,65,.025)}
.ring{position:absolute;inset:13%;border:1px solid rgba(255,255,255,.45);border-radius:50%}
.needle{position:absolute;left:50%;top:50%;transform-origin:0 0;background:var(--gold)}
.north{width:8px;height:42%;clip-path:polygon(50% 0,100% 100%,0 100%);transform:translate(-50%,-100%)}
.south{width:8px;height:42%;clip-path:polygon(0 0,100% 0,50% 100%);transform:translate(-50%,0)}
.east{width:42%;height:8px;clip-path:polygon(0 0,100% 50%,0 100%);transform:translate(0,-50%)}
.west{width:42%;height:8px;clip-path:polygon(100% 0,0 50%,100% 100%);transform:translate(-100%,-50%)}
.center-star{position:absolute;inset:0;display:grid;place-items:center;font-size:82px;color:white}
.motto{position:absolute;bottom:54px;letter-spacing:3px;font-size:11px;color:var(--gold)}
.project-block{padding:80px clamp(24px,6vw,90px);background:#fff}
.project-block>div:first-child{display:flex;align-items:end;gap:25px;margin-bottom:35px}
.section-number{font-size:54px;font-weight:800;color:var(--gold)}
h2{font-size:clamp(30px,4vw,50px);color:var(--navy);margin:0}
.mission-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.mission-grid article,.card,.progress-card,.send-card{background:#fff;border:1px solid var(--border);border-radius:15px;box-shadow:0 10px 35px rgba(1,22,48,.07)}
.mission-grid article{padding:24px;border-top:6px solid var(--navy)}
.mission-grid article b{width:38px;height:38px;display:grid;place-items:center;border-radius:50%;background:var(--gold);color:var(--navy)}
.mission-grid h3{color:var(--navy);margin:16px 0 6px}.mission-grid p{margin:0;font-size:13px}
.modal-screen{min-height:calc(100vh - 100px);place-items:center;padding:45px;background:linear-gradient(135deg,var(--navy),var(--navy-2))}
.identity-card{width:min(620px,94vw);padding:38px}
.back-link{border:0;background:transparent;color:var(--navy);padding:0;margin-bottom:30px}
.identity-card h2{font-size:38px;margin:10px 0}
.identity-card form{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:28px}
.identity-card label:first-child{grid-column:1/-1}
label{font-size:13px;font-weight:700;color:var(--navy)}
input,select{width:100%;margin-top:8px;padding:14px;border:1px solid #c9cfd8;border-radius:8px;background:white}
.full{grid-column:1/-1;margin-top:5px}
.dashboard{padding:55px clamp(24px,7vw,105px);background:var(--cream)}
.dashboard-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:28px}
.dashboard-head h2{margin-top:8px}
.progress-card{padding:24px 28px;margin-bottom:25px}
.progress-card>div:first-child{display:flex;justify-content:space-between}
.progress-track{height:13px;background:#e8e5dc;border-radius:999px;margin-top:15px;overflow:hidden}
#progressBar{height:100%;width:0;background:linear-gradient(90deg,var(--gold),#f2c766);transition:.4s}
.dashboard-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.mission-card{padding:23px;border:1px solid var(--border);border-radius:15px;background:white}
.mission-card.done{border-color:#a8c7ae;background:#f6fbf7}
.mission-card .number{font-weight:800;color:var(--gold);font-size:12px}
.mission-card h3{color:var(--navy)}
.mission-card button{border:0;background:var(--navy);color:white;border-radius:7px;padding:10px 13px}
.send-card{display:flex;justify-content:space-between;align-items:center;padding:26px;margin-top:24px}
footer{display:flex;justify-content:center;gap:28px;flex-wrap:wrap;padding:24px;background:var(--navy);color:#d7c89e;font-size:11px;border-top:3px solid var(--gold)}
@media(max-width:900px){
  #homeScreen{grid-template-columns:1fr;background:#fff}.hero-visual{min-height:500px;background:var(--navy)}
  .mission-grid,.dashboard-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:600px){
  .topbar{padding:14px 16px}.brand small,.ghost-button{display:none}
  .hero-copy{padding:52px 24px}h1{letter-spacing:-2px}
  .mission-grid,.dashboard-grid{grid-template-columns:1fr}
  .identity-card form{grid-template-columns:1fr}.identity-card label:first-child,.full{grid-column:auto}
  .dashboard-head,.send-card{align-items:flex-start;flex-direction:column;gap:18px}
}
