:root{--ink:#231F20;--gold:#D2AC2A;--paper:#F4F1EA;--sand:#eae5da;--muted:#716d68;--line:#bcb5a7}
*{box-sizing:border-box}.cic-app{color:var(--ink);background:var(--paper);font-family:Arial,sans-serif;line-height:1.6;overflow:hidden}.cic-app a{color:inherit;text-decoration:none}.cic-app h1,.cic-app h2,.cic-app h3,.cic-app p{margin:0}.cic-app h1,.cic-app h2,.cic-app h3{font-weight:600;letter-spacing:-.045em;line-height:.98}.cic-app h1{font-size:clamp(3.5rem,8.4vw,8.4rem);max-width:900px}.cic-app h2{font-size:clamp(2.7rem,5vw,5rem)}.cic-app h2 span,.cic-app h1 em{color:var(--gold);font-style:normal}.section-shell{max-width:1180px;margin:0 auto;padding-left:clamp(1.25rem,5vw,4rem);padding-right:clamp(1.25rem,5vw,4rem)}.site-nav{align-items:center;display:flex;justify-content:space-between;margin:auto;max-width:1320px;padding:1.35rem clamp(1.25rem,5vw,4rem);position:absolute;top:0;left:0;right:0;z-index:2}.brand{align-items:center;display:flex;gap:.8rem}.brand-mark{align-items:center;background:var(--gold);color:var(--ink);display:flex;font-size:.7rem;font-weight:800;height:35px;justify-content:center;letter-spacing:.08em;width:35px}.brand-copy{display:flex;flex-direction:column;font-size:.7rem;letter-spacing:.03em;line-height:1.2;color:#bcb7ae}.brand-copy strong{color:var(--paper);font-size:.85rem;letter-spacing:.12em}.nav-link{color:var(--paper)!important;font-size:.77rem;font-weight:600;letter-spacing:.05em}.nav-link span{color:var(--gold);font-size:1rem;margin-left:.45rem}.hero{background:var(--ink);color:var(--paper);min-height:660px;overflow:hidden;padding:clamp(9rem,15vw,12rem) clamp(1.25rem,9vw,9rem) 5rem;position:relative}.hero-content{max-width:1000px;position:relative;z-index:1}.eyebrow{color:var(--gold);font-size:.68rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase}.pulse-dot,.status-dot{background:var(--gold);border-radius:50%;display:inline-block;height:7px;margin-right:.5rem;width:7px}.pulse-dot{box-shadow:0 0 0 6px #d2ac2a22}.hero-lede{color:#beb8af;font-size:clamp(1rem,1.6vw,1.25rem);margin:2rem 0 2.5rem;max-width:500px}.button{border:0;cursor:pointer;display:inline-flex;font:inherit;font-size:.72rem;font-weight:800;gap:1.5rem;justify-content:center;letter-spacing:.12em;padding:1.05rem 1.25rem;text-transform:uppercase}.button-gold{background:var(--gold);color:var(--ink)}.button-gold:hover{background:#e3c043}.button-dark{background:var(--ink);color:var(--paper)!important}.hero-grid{background-image:linear-gradient(#ffffff0b 1px,transparent 1px),linear-gradient(90deg,#ffffff0b 1px,transparent 1px);background-size:70px 70px;height:900px;opacity:.45;position:absolute;right:-5%;top:-10%;transform:perspective(500px) rotateY(-18deg) rotateX(35deg);width:65%}.hero-note{border:1px solid #ffffff32;bottom:5rem;padding:1.4rem;position:absolute;right:clamp(1.25rem,9vw,9rem);width:220px}.note-label,.note-meta,.note-foot{color:#a5a09a;font-size:.61rem;letter-spacing:.1em;text-transform:uppercase}.signal-icon{align-items:end;display:flex;gap:4px;height:45px;margin:1.4rem 0 .75rem}.signal-icon span{background:var(--gold);display:block;width:7px}.signal-icon span:nth-child(1){height:16px}.signal-icon span:nth-child(2){height:28px}.signal-icon span:nth-child(3){height:43px}.signal-icon span:nth-child(4){height:22px}.note-title{font-size:1.05rem;font-weight:600}.note-rule{border-top:1px solid #ffffff25;margin:1.2rem 0}.note-foot{font-size:.55rem}.status-dot{height:5px;width:5px}.mission{display:grid;gap:3rem;grid-template-columns:1fr 1fr;padding-bottom:clamp(6rem,12vw,10rem);padding-top:clamp(6rem,12vw,10rem)}.eyebrow-dark{color:var(--muted)}.section-intro h2{margin-top:1.4rem}.mission-copy{max-width:470px;padding-top:2.3rem}.intro-large{font-size:clamp(1.2rem,2vw,1.6rem);letter-spacing:-.02em;line-height:1.25;margin-bottom:1.6rem!important}.mission-copy>p:not(.intro-large){color:var(--muted);font-size:.95rem}.text-link{border-bottom:1px solid var(--gold);display:inline-block;font-size:.75rem;font-weight:800;letter-spacing:.1em;margin-top:2.2rem;padding-bottom:.45rem;text-transform:uppercase}.text-link span{color:var(--gold);font-size:1.1rem;margin-left:1rem}.challenge-section{background:var(--sand);padding:clamp(5rem,10vw,8rem) 0}.path-heading{align-items:end;display:flex;justify-content:space-between}.path-heading h2{margin-top:1.4rem}.path-aside{color:var(--muted);font-size:.75rem;line-height:1.7;text-align:right}.path-aside strong{color:var(--ink);font-size:.9rem}.challenge-grid{display:grid;gap:1rem;grid-template-columns:repeat(3,1fr);margin-top:4rem}.challenge-card{background:var(--paper);border-top:2px solid var(--gold);padding:1.5rem}.challenge-card-top{align-items:center;display:flex;justify-content:space-between}.path-number{color:var(--gold);font-size:1rem;font-weight:700}.tag{border:1px solid var(--line);display:inline-block;font-size:.55rem;font-weight:800;letter-spacing:.1em;padding:.3rem .45rem}.challenge-card h3{font-size:clamp(1.8rem,3vw,2.5rem);margin:1.6rem 0 .5rem}.challenge-summary{color:var(--muted);font-size:.87rem;min-height:3rem}.challenge-card details{border-top:1px solid var(--line);margin-top:1.5rem;padding-top:1rem}.challenge-card summary{cursor:pointer;font-size:.72rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.challenge-card ol{color:var(--muted);font-size:.82rem;margin:1rem 0;padding-left:1.2rem}.challenge-card li{margin-bottom:.55rem}.challenge-card code,.cipher-box code{background:#e5dfd3;font-family:Consolas,monospace;padding:.12rem .25rem}.writeup-tip{border-left:2px solid var(--gold);color:var(--muted);font-size:.76rem;font-style:italic;margin-top:1rem;padding-left:.7rem}.mini-form{border-top:1px solid var(--line);margin-top:1.3rem;padding-top:1rem}.mini-form label{display:block;font-size:.62rem;font-weight:800;letter-spacing:.1em;margin-bottom:.45rem;text-transform:uppercase}.mini-row{display:flex;gap:.4rem}.mini-row input{background:#fff;border:1px solid var(--line);font:inherit;font-size:.76rem;min-width:0;padding:.75rem;flex:1}.mini-row input:focus{border-color:var(--gold);outline:2px solid #d2ac2a44}.mini-row .button{font-size:.6rem;padding:.75rem}.mini-feedback{font-size:.72rem;min-height:1.4rem;margin-top:.5rem}.mini-feedback.success{color:#43813f}.mini-feedback.error{color:#a0443c}.sim-terminal{background:var(--ink);color:var(--paper);font-family:Consolas,monospace;font-size:.72rem;margin-top:1.5rem;padding:.9rem}.sim-terminal-bar{border-bottom:1px solid #ffffff20;color:var(--gold);padding-bottom:.65rem}.sim-terminal-bar span{color:#8f8981}.sim-output{color:#bcb7ae;min-height:5rem;padding:.8rem 0;white-space:pre-line}.sim-output strong{color:var(--gold);font-weight:400}.shell-form{align-items:center;border-top:1px solid #ffffff20;display:flex;gap:.5rem;padding-top:.65rem}.shell-form span{color:var(--gold)}.shell-form input{background:transparent;border:0;color:var(--paper);font:inherit;min-width:0;outline:0;width:100%}.cipher-box{background:var(--ink);color:var(--paper);display:flex;flex-direction:column;gap:.75rem;margin-top:1.5rem;padding:1rem}.cipher-label,.cipher-note{color:#98918a;font-size:.58rem;letter-spacing:.1em;text-transform:uppercase}.cipher-box code{color:var(--gold);font-size:.66rem;overflow-wrap:anywhere}.next-section{padding-bottom:clamp(6rem,12vw,10rem);padding-top:clamp(6rem,12vw,10rem)}.next-section h2{margin:1.4rem 0 1.5rem}.next-section>p:not(.eyebrow){color:var(--muted);max-width:500px;margin-bottom:2rem}.site-footer{background:#181617;color:#89837e;font-size:.65rem;letter-spacing:.08em;text-transform:uppercase}.footer-inner{align-items:center;display:flex;justify-content:space-between;padding-bottom:1.5rem;padding-top:1.5rem}.footer-inner b{color:var(--gold);margin:0 .3rem}.footer-inner a{color:var(--gold)}.sr-only{height:1px;margin:-1px;overflow:hidden;position:absolute;width:1px;clip:rect(0,0,0,0)}@media(max-width:900px){.challenge-grid{grid-template-columns:1fr}.challenge-card{max-width:620px}.challenge-card-summary{min-height:0}}@media(max-width:700px){.nav-link{display:none}.hero{min-height:670px;padding-top:8rem}.hero-note{bottom:2rem;left:1.25rem;right:auto;width:calc(100% - 2.5rem)}.hero-note .signal-icon,.hero-note .note-title,.hero-note .note-meta,.hero-note .note-rule,.hero-note .note-foot{display:none}.hero-note{padding:.8rem 1rem}.note-label{font-size:.58rem}.mission{grid-template-columns:1fr}.mission-copy{padding-top:0}.path-heading{align-items:start;display:block}.path-aside{text-align:left;margin-top:2rem}.footer-inner{align-items:start;flex-direction:column;gap:.8rem}.mini-row{align-items:stretch;flex-direction:column}.mini-row .button{width:100%}}
