@font-face{font-family:"IBM Plex Sans";src:url("../assets/fonts/IBMPlexSans-Regular.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"IBM Plex Sans";src:url("../assets/fonts/IBMPlexSans-Medium.woff2") format("woff2");font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:"JetBrains Mono";src:url("../assets/fonts/JetBrainsMono-Regular.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap}
:root{--ink:#071426;--blue:#3974D8;--green:#10A978;--coral:#EF665A;--ice:#EEF3F9;--blue-pale:#EAF2FF;--green-pale:#D9FAED;--off:#F8FAFC;--white:#FFFFFF;--ease:cubic-bezier(.2,.8,.2,1)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--off);color:var(--ink);font-family:"IBM Plex Sans",Arial,sans-serif;font-weight:400}button,input,textarea,select{font:inherit}button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,a:focus-visible{outline:3px solid var(--green);outline-offset:3px}.shell{width:min(1160px,calc(100% - 48px));margin-inline:auto}
.site-header{position:sticky;top:0;z-index:20;border-bottom:1px solid rgba(255,255,255,.14);background:rgba(7,20,38,.96);color:var(--white);backdrop-filter:blur(14px)}.header-inner{min-height:62px;display:flex;align-items:center;justify-content:space-between;gap:20px}.wordmark{display:flex;align-items:center;gap:8px;color:var(--white);font-size:19px;font-weight:500;letter-spacing:-.04em;text-decoration:none}.animated-logo-mark{position:relative;display:block;width:30px;height:30px}.animated-logo-mark>img{width:100%;height:100%}.logo-signal,.logo-centre-pulse{position:absolute;top:12.5px;left:12.5px;width:5px;height:5px;border-radius:50%;background:var(--green);opacity:0;pointer-events:none}.wordmark:hover .logo-signal-a,.wordmark:focus-visible .logo-signal-a{animation:branch-a 900ms ease-in-out 0ms 1 both}.wordmark:hover .logo-signal-b,.wordmark:focus-visible .logo-signal-b{animation:branch-b 900ms ease-in-out 130ms 1 both}.wordmark:hover .logo-signal-c,.wordmark:focus-visible .logo-signal-c{animation:branch-c 900ms ease-in-out 260ms 1 both}.wordmark:hover .logo-centre-pulse,.wordmark:focus-visible .logo-centre-pulse{animation:centre 700ms ease 950ms 1 both}@keyframes branch-a{0%,100%{opacity:0;transform:translate(0,0) scale(.6)}12%,82%{opacity:1}50%{opacity:1;transform:translate(-9px,-12px) scale(.8)}}@keyframes branch-b{0%,100%{opacity:0;transform:translate(0,0) scale(.6)}12%,82%{opacity:1}50%{opacity:1;transform:translate(11px,-8px) scale(.8)}}@keyframes branch-c{0%,100%{opacity:0;transform:translate(0,0) scale(.6)}12%,82%{opacity:1}50%{opacity:1;transform:translate(-3px,13px) scale(.8)}}@keyframes centre{0%,100%{box-shadow:0 0 0 0 rgba(16,169,120,0);opacity:0;transform:scale(.7)}35%{box-shadow:0 0 0 8px rgba(16,169,120,.16);opacity:1;transform:scale(1.1)}70%{box-shadow:0 0 0 15px rgba(16,169,120,0);opacity:1;transform:scale(1)}}
.header-link{color:var(--white);font-size:14px;text-underline-offset:5px}.hero{position:relative;overflow:hidden;padding:62px 0 58px;background:var(--ink);color:var(--white)}.hero::before{position:absolute;inset:-30%;content:"";background:radial-gradient(circle at 12% 40%,rgba(239,102,90,.3),transparent 15%),radial-gradient(circle at 76% 0,rgba(16,169,120,.22),transparent 13%),radial-gradient(circle at 84% 90%,rgba(57,116,216,.3),transparent 19%);filter:blur(24px)}.hero .shell{position:relative}.hero h1{max-width:850px;margin:0;font-size:clamp(44px,6vw,76px);font-weight:400;letter-spacing:-.052em;line-height:.98}.hero p{max-width:770px;margin:22px 0 0;color:rgba(255,255,255,.8);font-size:20px;line-height:1.5}
.tool-actions{position:sticky;top:62px;z-index:15;border-bottom:1px solid rgba(7,20,38,.12);background:rgba(248,250,252,.96);backdrop-filter:blur(12px)}.tool-actions-inner{display:flex;align-items:center;justify-content:space-between;gap:18px;min-height:72px}.tool-actions p{margin:0;color:rgba(7,20,38,.65);font-size:13px}.button-row{display:flex;gap:8px}.button{min-height:44px;padding:0 16px;border:1px solid var(--ink);border-radius:999px;background:var(--white);color:var(--ink);cursor:pointer;font-size:13px;font-weight:500;transition:transform 220ms var(--ease),background 220ms var(--ease),color 220ms var(--ease)}.button:hover{transform:translateY(-2px);background:var(--blue-pale)}.button-primary{border-color:var(--green);background:var(--green)}.button-primary:hover{background:var(--white)}
.tool{padding:44px 0 80px}.tool-intro{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(260px,.8fr);gap:18px;margin-bottom:24px}.intro-card{padding:24px;border-radius:18px;background:var(--blue-pale)}.intro-card strong{display:block;margin-bottom:8px;font-size:18px;font-weight:500}.intro-card p{margin:0;color:rgba(7,20,38,.72);line-height:1.5}.intro-card.outcome{background:var(--green-pale)}
.section{margin-top:18px;padding:28px;border:1px solid rgba(7,20,38,.14);border-radius:20px;background:var(--white);box-shadow:0 10px 30px rgba(7,20,38,.05)}.section-head{display:grid;grid-template-columns:56px minmax(0,1fr);gap:18px;align-items:start;margin-bottom:24px}.section-number{color:var(--coral);font-size:42px;font-weight:500;letter-spacing:-.06em;line-height:1}.section h2{margin:0;font-size:30px;font-weight:400;letter-spacing:-.035em}.section-head p{margin:8px 0 0;color:rgba(7,20,38,.66);line-height:1.48}.field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.field{display:grid;gap:7px}.field.wide{grid-column:1/-1}.field label,.matrix label{font-size:13px;font-weight:500}.field small{color:rgba(7,20,38,.56);font-size:12px}.field input,.field textarea,.field select,.matrix input,.matrix textarea,.matrix select{width:100%;border:1px solid rgba(7,20,38,.2);border-radius:10px;background:var(--off);color:var(--ink)}.field input,.field select,.matrix input,.matrix select{min-height:44px;padding:0 12px}.field textarea,.matrix textarea{min-height:92px;padding:11px 12px;resize:vertical}.field input:focus,.field textarea:focus,.field select:focus,.matrix input:focus,.matrix textarea:focus,.matrix select:focus{border-color:var(--blue);background:var(--white)}
.matrix-wrap{overflow-x:auto;border:1px solid rgba(7,20,38,.13);border-radius:14px}.matrix{width:100%;min-width:780px;border-collapse:collapse;background:var(--white)}.matrix th{padding:12px;background:var(--ink);color:var(--white);font-family:"JetBrains Mono",monospace;font-size:10px;font-weight:400;text-align:left;text-transform:uppercase}.matrix td{padding:10px;border-top:1px solid rgba(7,20,38,.1);vertical-align:top}.matrix input,.matrix textarea{min-width:110px;border:0;background:var(--off)}.matrix textarea{min-height:70px}.check-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.check-card{padding:18px;border:1px solid rgba(7,20,38,.14);border-radius:14px;background:var(--off)}.check-card strong{display:block;margin-bottom:12px;font-weight:500}.check-options{display:flex;flex-wrap:wrap;gap:8px}.check-options label{display:flex;align-items:center;gap:6px;padding:8px 10px;border-radius:999px;background:var(--blue-pale);font-size:12px}.message{min-height:20px;margin:12px 0 0;color:var(--green);font-family:"JetBrains Mono",monospace;font-size:10px;text-transform:uppercase}.tool-footer{padding:46px 0;background:var(--ink);color:var(--white)}.tool-footer .shell{display:flex;align-items:center;justify-content:space-between;gap:24px}.tool-footer a{color:var(--white);text-underline-offset:5px}
@media(max-width:800px){.tool-actions{position:static}.tool-actions-inner{align-items:flex-start;flex-direction:column;padding-block:14px}.button-row{width:100%;flex-wrap:wrap}.button{flex:1}.tool-intro,.field-grid,.check-grid{grid-template-columns:1fr}.field.wide{grid-column:auto}.section{padding:23px 20px}.section-head{grid-template-columns:1fr;gap:8px}.tool-footer .shell{align-items:flex-start;flex-direction:column}}
@media(max-width:520px){.shell{width:min(100% - 28px,1160px)}.hero{padding:42px 0}.hero h1{font-size:43px}.hero p{font-size:17px}.header-link{font-size:12px}.button-row{display:grid;grid-template-columns:1fr 1fr}.button-row .button-primary{grid-column:1/-1}.section h2{font-size:27px}.section-number{font-size:36px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.logo-signal,.logo-centre-pulse{display:none}.button{transition:none}.button:hover{transform:none}}
@media print{.site-header,.tool-actions,.tool-footer{display:none!important}.hero{padding:26px 0;background:var(--white);color:var(--ink)}.hero::before{display:none}.hero p{color:var(--ink)}.tool{padding:10px 0}.section{break-inside:avoid;box-shadow:none}.shell{width:100%}}
