/* Shared visual system. No data or access-control changes. */
:root{color-scheme:dark;--ink:#edf5fa;--blue:#78f1d1;--muted:#a9bbc9;--paper:#070c14;--line:#263648;--accent:#9eacff;--surface:#101a27;--surface2:#142233}body{background:var(--paper);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,sans-serif}a{color:#89e6df}a:hover{color:#c4fff3}h1,h2,h3,.resource-card h3,.service-card h3{font-family:Inter,ui-sans-serif,system-ui,sans-serif;font-weight:650;letter-spacing:-.045em}h1{line-height:1.04}h2{line-height:1.14}header{border-color:var(--line);background:#090f19ed}header .brand{color:#f1f7fc;display:flex;gap:10px;align-items:center}nav a{color:#c1ceda}.wrap{width:min(1240px,calc(100% - 48px))}.brand:before{content:'CT';font:bold 11px/34px ui-monospace,monospace;text-align:center;width:34px;height:34px;background:#17362f;border:1px solid #4f9b89;border-radius:10px;color:#8ef3d8}.button,button{background:#8bf3d5;color:#071914;border-color:#8bf3d5;border-radius:8px;transition:background .2s,transform .2s}.button:hover,button:hover{color:#071914;background:#b2ffe9;filter:none}.secondary,.button.secondary{background:#152232;border:1px solid #42576a;color:#e3eef7}button:disabled{opacity:.45;cursor:not-allowed}button:disabled:hover{transform:none}.notice,.callout{background:#122631;color:#c9e8ed;border-color:#78d8cc;border-radius:8px}.eyebrow,.badge{color:#93e8cf}.small,.lead,.intro,.sources p,.card p,article p{color:var(--muted)}.workspace aside,.plan,fieldset,.finding,.resource-card,#resource,#outcome,.service-card,.scope-choice,.scope-panel pre{background:var(--surface);color:var(--ink);border-color:var(--line)}.choices label{background:#182536;border-color:#3d5162}.scope-choice:hover{border-color:#78dbc5;background:#142a32}input,select,textarea,input[type=email],input[name=organisation]{background:#0b1420;color:var(--ink);border:1px solid #486074;border-radius:6px}input[type=radio],input[type=checkbox]{accent-color:#80efd1}.frame-stage{background:#0b1724;border-color:#354d62}.node{border-color:#3d5467;color:#c6d8e7}.node.current{background:#88efd1;color:#071914;border-color:#88efd1}.tag,.pill,.learning-topics span{color:#a9efde;background:#112a2a;border-color:#315c56;border-radius:20px}.flow span,.flow li{background:#122431;color:#d4e7ef;border-color:#355166}.flow strong,th{color:#a9efde}.skip:focus{background:#8bf3d5;color:#071914}.contact,.band{background:#111e2b;color:var(--ink)}#form-error,#registration-error,#learning-error,#scope-error{color:#ffb7b7}progress{accent-color:#87efcf}summary{color:#e1edf6}footer{color:var(--muted)}:focus-visible{outline:3px solid #c6b7ff!important;outline-offset:4px!important}.record dd{color:#b6c8d7}
.contents a,.box{background:#142330;color:#cee8ee;border-color:#355261}.box p{color:#b5cbd9}
/* Homepage: a security architecture view, explicitly illustrative. */
.home .nav{min-height:84px}.home .hero-shell{position:relative;overflow:hidden;border-bottom:1px solid var(--line);background:radial-gradient(ellipse at 80% 30%,#123a3c65,transparent 55%),radial-gradient(ellipse at 15% 0%,#24346c40,transparent 55%)}.home .hero-shell:before{content:'';position:absolute;inset:0;background-image:linear-gradient(#7eabc009 1px,transparent 1px),linear-gradient(90deg,#7eabc009 1px,transparent 1px);background-size:48px 48px;pointer-events:none}.home .hero-layout{position:relative;display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:60px;padding:94px 0 76px}.home h1{font-size:clamp(46px,5.2vw,76px);margin:24px 0}.home h1 span{color:#90f0d6}.home .hero-lead{max-width:560px;color:#b4c6d6;font-size:19px;line-height:1.75}.home .label{display:inline-flex;gap:9px;align-items:center;color:#99ecd7;font:600 11px/1.6 ui-monospace,monospace;letter-spacing:.09em;text-transform:uppercase}.home .label:before{content:'';height:6px;width:6px;border-radius:50%;background:#89f1d5;box-shadow:0 0 14px #79f0c9}.home .hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin:28px 0 20px}.home .hero-actions .button{margin:0;padding:14px 19px}.home .fine{font-size:12px;color:#9aafbf}.home .architecture{background:#0d1721dc;border:1px solid #365663;border-radius:18px;box-shadow:0 30px 100px #0007;overflow:hidden;min-width:0}.home .arch-top{padding:16px 21px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;gap:12px;color:#b8cad7;font:11px/1.5 ui-monospace,monospace;letter-spacing:.08em}.home .arch-top span:last-child{color:#95cabc}.home .arch-svg{display:block;width:100%;height:auto}.home .arch-svg text{font-family:ui-monospace,monospace}.home .network-path{fill:none;stroke:#58d9bc;stroke-width:1.7;stroke-dasharray:5 8;animation:route 16s linear infinite}.home .orbit{transform-origin:260px 192px;animation:orbit 55s linear infinite}.home .halo{animation:halo 5s ease-in-out infinite}.home .arch-bottom{padding:18px 22px;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:12px;font-size:12px;color:#abbece}.home .arch-bottom button{padding:3px 8px;font-size:11px;background:transparent;color:#b9d6df;border-color:#35515f}.home .scope-strip{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;padding:24px 0;color:#afc3d2;font:12px/1.5 ui-monospace,monospace}.home .scope-strip span{color:#90ebd1}.home main>section{padding:80px 0;border-bottom:1px solid var(--line)}.home .section-head{display:flex;justify-content:space-between;align-items:end;gap:35px;margin-bottom:32px}.home .section-head h2{font-size:clamp(32px,4vw,47px);max-width:640px;margin:12px 0}.home .section-head p{max-width:390px;color:#a5bacb}.home .cap-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.home .cap{position:relative;padding:28px;background:linear-gradient(145deg,#132331,#0c1520);border:1px solid var(--line);border-radius:12px;transition:border-color .2s,transform .2s}.home .cap:hover{border-color:#5c9c99;transform:translateY(-3px)}.home .cap .number{font:12px ui-monospace,monospace;color:#90dacb}.home .cap h3{font-size:23px;margin:30px 0 12px;letter-spacing:-.025em}.home .cap p{font-size:15px;color:#a8becd;line-height:1.8}.home .cap a{font-size:14px;text-underline-offset:5px}.home .status{display:inline-block;margin-top:20px;font:10px/1.5 ui-monospace,monospace;color:#a9bbd1;border:1px solid #35475d;padding:4px 8px;border-radius:4px}.home .experience{display:grid;grid-template-columns:280px minmax(0,1fr);gap:30px}.home .experience-tabs{display:flex;flex-direction:column;gap:12px}.home .experience-tabs button{text-align:left;padding:20px;background:#101c2a;border-color:#2a3b4e;color:#c0d1df;font-size:15px}.home .experience-tabs button[aria-selected=true]{background:#173934;border-color:#78dcc2;color:#b8ffe9}.home .experience-panel{background:linear-gradient(130deg,#142935,#101b2d);border:1px solid #365366;border-radius:12px;padding:36px;min-width:0}.home .experience-panel h3{font-size:28px;margin:0 0 12px}.home .experience-panel>p{color:#b4c8d7}.home .control-flow{display:flex;align-items:stretch;gap:10px;margin:25px 0;list-style:none;padding:0}.home .control-flow li{flex:1;min-width:0;border:1px solid #416671;border-radius:7px;padding:15px;font:12px/1.6 ui-monospace,monospace;color:#ace9dc;background:#0a1722}.home .control-flow b{display:block;font-size:10px;color:#7d9eae;margin-bottom:10px}.home .outcome-note{border-left:2px solid #8af0ce;padding-left:18px;font-size:14px}.home .start-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.home .start-card{border:1px solid #344756;border-radius:14px;padding:34px;background:#0f1c29}.home .start-card.highlight{background:linear-gradient(130deg,#163c38,#102631);border-color:#467e72}.home .start-card h3{font-size:28px;margin:16px 0}.home .start-card p{color:#b8cbd5}.home .cta-section{display:flex;align-items:center;justify-content:space-between;gap:35px}.home .cta-section h2{font-size:clamp(30px,4vw,46px);max-width:650px;margin:0 0 16px}.home .cta-section p{color:#a7bfcc}.home .footer-grid{display:flex;justify-content:space-between;gap:24px;flex-wrap:wrap;padding:35px 0}.home footer{font-size:13px}.home .footer-links{display:flex;gap:20px;flex-wrap:wrap}.home .pause-motion *{animation-play-state:paused!important}@keyframes route{to{stroke-dashoffset:-130}}@keyframes orbit{to{transform:rotate(360deg)}}@keyframes halo{50%{opacity:.45}}@media(max-width:980px){.home .hero-layout{gap:32px;padding:55px 0;grid-template-columns:1fr 1fr}.home .experience{grid-template-columns:220px minmax(0,1fr)}.home .control-flow{flex-wrap:wrap}.home .control-flow li{flex-basis:40%}}@media(max-width:720px){.wrap{width:calc(100% - 36px)}.home .nav{align-items:flex-start;flex-direction:column;padding:18px 0;gap:18px}.home nav{gap:15px}.home .hero-layout{grid-template-columns:1fr;padding:45px 0}.home h1{font-size:49px}.home .hero-lead{font-size:17px}.home .cap-grid,.home .start-grid,.home .experience{grid-template-columns:1fr}.home .experience-tabs{flex-direction:row;flex-wrap:wrap}.home .experience-tabs button{padding:12px;flex:1;min-width:130px}.home .experience-panel{padding:22px}.home .section-head,.home .cta-section{display:block}.home main>section{padding:50px 0}.home .scope-strip{gap:14px}.home .arch-top{font-size:10px}.home .footer-grid{display:block}.home .footer-links{margin:20px 0}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}@media print{body{background:white!important;color:#16222b!important}h1,h2,h3,p,dd,.finding{color:#16222b!important}.finding,#report{background:white!important}.architecture,.experience{display:none!important}}
