@import url('https://fonts.googleapis.com/css2?family=Archivo+Black&family=IBM+Plex+Mono:wght@400;600&family=Manrope:wght@400;600;700&display=swap');
:root{--ink:#101828;--paper:#f8fafc;--blue:#175cff;--cyan:#83f2ff;--line:#cbd5e1;--muted:#526071;--white:#fff;--warn:#ef5a2f}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:Manrope,sans-serif}
.nav{height:78px;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(24px,5vw,80px);border-bottom:1px solid var(--line)}
.brand{font:20px "Archivo Black",sans-serif;color:var(--ink);text-decoration:none;letter-spacing:-1px}.brand span{color:var(--blue)}
.nav-link{font:600 13px "IBM Plex Mono",monospace;color:var(--ink);text-decoration:none}.nav-link span{color:var(--blue)}
main{overflow:hidden}.hero{min-height:680px;display:grid;grid-template-columns:1.15fr .85fr;gap:7vw;align-items:center;padding:70px clamp(24px,7vw,120px);background:linear-gradient(135deg,var(--paper) 72%,#e6eeff 72%)}
.eyebrow{font:600 11px "IBM Plex Mono",monospace;letter-spacing:.14em;text-transform:uppercase;color:var(--blue)}
h1{font:clamp(52px,7vw,108px)/.89 "Archivo Black",sans-serif;letter-spacing:-.065em;text-transform:uppercase;margin:22px 0 28px}h1 em{font-style:normal;color:var(--blue)}
.lede{max-width:650px;font-size:clamp(17px,1.5vw,21px);line-height:1.6;color:var(--muted);margin-bottom:34px}
.primary,button{display:inline-flex;align-items:center;justify-content:space-between;gap:36px;background:var(--blue);color:white;border:0;padding:18px 21px;font:700 14px "IBM Plex Mono",monospace;text-decoration:none;cursor:pointer;box-shadow:7px 7px 0 var(--cyan);transition:transform .15s,box-shadow .15s}.primary:hover,button:hover{transform:translate(3px,3px);box-shadow:4px 4px 0 var(--cyan)}
.inspection{position:relative;background:white;border:1px solid var(--ink);padding:24px;box-shadow:14px 14px 0 var(--ink);transform:rotate(1.5deg);font-family:"IBM Plex Mono",monospace}
.inspection-head{display:flex;justify-content:space-between;border-bottom:2px solid var(--ink);padding-bottom:13px;font-size:11px}.score{display:flex;align-items:end;gap:12px;padding:28px 0}.score strong{font:84px/.8 "Archivo Black",sans-serif;color:var(--blue)}.score span{font-size:11px;line-height:1.5}.check{display:flex;justify-content:space-between;padding:14px 0;border-top:1px dashed var(--line);font-size:12px}.warning{color:var(--warn)}.stamp{position:absolute;right:22px;bottom:-30px;border:4px double var(--warn);color:var(--warn);font-weight:600;padding:9px 13px;transform:rotate(-8deg);background:white}
.method{padding:90px clamp(24px,7vw,120px)}.method-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);margin-top:28px}.method article{padding:30px 35px 30px 0;border-right:1px solid var(--line)}.method article+article{padding-left:35px}.method article:last-child{border-right:0}.method article>span{font:600 12px "IBM Plex Mono",monospace;color:var(--blue)}h2{font:clamp(30px,4vw,58px)/1 "Archivo Black",sans-serif;letter-spacing:-.045em;text-transform:uppercase}.method h2{font-size:24px;letter-spacing:-.03em;margin:35px 0 13px}.method p,.audit>div>p{color:var(--muted);line-height:1.6}
.audit{display:grid;grid-template-columns:.8fr 1.2fr;gap:8vw;background:var(--ink);color:white;padding:90px clamp(24px,7vw,120px)}.audit h2{margin:20px 0}.audit>div>p:last-child{color:#aab5c5}
form{display:grid;gap:20px}label{display:grid;gap:8px;font:600 11px "IBM Plex Mono",monospace;text-transform:uppercase;letter-spacing:.07em}input,select{width:100%;padding:17px 15px;background:#182236;color:white;border:1px solid #41506a;font:16px Manrope,sans-serif;outline:none}input:focus,select:focus{border-color:var(--cyan);box-shadow:0 0 0 3px #83f2ff25}.consent{display:flex;align-items:flex-start;text-transform:none;letter-spacing:0;color:#b9c4d4;line-height:1.5}.consent input{width:16px;margin:3px 8px 0 0}.form-note,#form-message{font-size:12px;color:#9eacc0;margin:0}#form-message.error{color:#ff9a7c}
.result{padding:70px clamp(24px,7vw,120px);background:#edf2f9}.result-head{display:flex;align-items:center;justify-content:space-between;max-width:1240px;margin:auto}.result-head h2{margin:12px 0 30px}.pulse{font:600 11px "IBM Plex Mono",monospace;background:var(--cyan);padding:9px 12px;color:var(--ink)}
.progress-panel{max-width:1240px;margin:0 auto;display:grid;grid-template-columns:320px 1fr;background:var(--ink);color:white;min-height:390px;box-shadow:13px 13px 0 var(--cyan)}
.progress-visual{position:relative;display:grid;place-items:center;overflow:hidden;background:radial-gradient(circle,#1d2b45 0 2px,transparent 3px) 0 0/21px 21px;border-right:1px solid #35435b}
.audit-orbit{position:absolute;width:220px;height:220px;border:1px solid #53617a;border-radius:50%;animation:orbit 8s linear infinite}.audit-orbit:before,.audit-orbit:after{content:"";position:absolute;border:1px dashed #40506b;border-radius:50%}.audit-orbit:before{inset:25px}.audit-orbit:after{inset:53px}.audit-orbit span{position:absolute;left:50%;top:50%;width:50%;height:1px;background:linear-gradient(90deg,var(--cyan),transparent);transform-origin:left;animation:scan 2.8s linear infinite}.audit-orbit i{position:absolute;width:9px;height:9px;background:var(--cyan);border-radius:50%;top:27px;right:40px;box-shadow:0 0 18px var(--cyan)}
.progress-number{z-index:1;display:flex;align-items:flex-end}.progress-number strong{font:82px/.8 "Archivo Black",sans-serif}.progress-number span{font:18px "IBM Plex Mono",monospace;color:var(--cyan);padding:0 0 5px 4px}
.progress-copy{padding:52px clamp(26px,5vw,75px)}.progress-label{font:600 10px "IBM Plex Mono",monospace;letter-spacing:.16em;text-transform:uppercase;color:var(--blue);margin:0 0 12px}.progress-copy .progress-label{color:var(--cyan)}.progress-copy h3,.report-cover h3{font:clamp(25px,3vw,40px)/1.05 "Archivo Black",sans-serif;text-transform:uppercase;letter-spacing:-.035em;margin:0 0 12px}.progress-copy>p:not(.progress-label):not(.stay-note){color:#b8c3d3;margin:0}.progress-track{height:5px;background:#35435b;margin:34px 0 25px;overflow:hidden}.progress-track span{display:block;width:8%;height:100%;background:var(--cyan);transition:width 1s ease}.progress-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;padding:0;margin:0;list-style:none;counter-reset:steps}.progress-steps li{counter-increment:steps;font:10px/1.4 "IBM Plex Mono",monospace;color:#718098;text-transform:uppercase}.progress-steps li:before{content:"0" counter(steps);display:block;border-top:2px solid #3c4960;padding-top:9px;margin-bottom:5px}.progress-steps li.active{color:white}.progress-steps li.active:before{border-color:var(--cyan);color:var(--cyan)}.stay-note{font-size:12px;color:#718098;margin:30px 0 0}
.report-shell{max-width:1240px;margin:0 auto}.report-cover{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:34px;background:white;border:1px solid var(--line);padding:28px 32px;margin-bottom:18px}.score-orbit{width:112px;height:112px;border-radius:50%;display:flex;align-items:baseline;justify-content:center;padding-top:31px;background:conic-gradient(var(--blue) var(--score-angle,0deg),#dfe6f1 0);position:relative}.score-orbit:before{content:"";position:absolute;inset:8px;border-radius:50%;background:white}.score-orbit strong,.score-orbit span{position:relative;z-index:1}.score-orbit strong{font:39px "Archivo Black",sans-serif}.score-orbit span{font:11px "IBM Plex Mono",monospace;color:var(--muted)}.report-cover h3{font-size:28px;margin-bottom:6px}.report-cover>div>p:last-child{font:12px "IBM Plex Mono",monospace;color:var(--muted);margin:0}.report-actions{display:flex;flex-direction:column;gap:10px}.report-actions button{min-width:205px;padding:13px 15px;font-size:11px;box-shadow:none}.report-actions button:hover{transform:none;box-shadow:none}.action-secondary{background:white!important;color:var(--ink)!important;border:1px solid var(--line)!important}.action-primary{background:var(--blue)}
.report-document{color:#223047;font-size:16px;line-height:1.75;overflow:hidden}.report-document>h1{font:clamp(34px,5vw,64px)/.98 "Archivo Black",sans-serif;color:var(--ink);letter-spacing:-.05em;text-transform:none;margin:0 0 18px;padding:clamp(28px,6vw,70px);background:white;border:1px solid var(--line);border-bottom:6px solid var(--blue)}.report-section{background:white;border:1px solid var(--line);padding:clamp(28px,6vw,70px);margin:0 0 18px;position:relative}.report-section:before{content:"";position:absolute;left:0;top:0;bottom:0;width:5px;background:var(--blue)}.report-section:nth-of-type(2n):before{background:var(--cyan)}.report-document h2{font:clamp(25px,3vw,38px)/1.08 "Archivo Black",sans-serif;color:var(--ink);letter-spacing:-.04em;text-transform:none;margin:0 0 30px;padding:0 0 22px;border-bottom:1px solid var(--line)}.report-document h3{font:700 20px Manrope,sans-serif;color:var(--ink);margin:35px 0 14px}.report-document p{max-width:920px}.report-document strong{color:var(--ink)}.report-document code{font:600 11px "IBM Plex Mono",monospace;background:#eaf0ff;color:#1549bf;padding:3px 6px;border-radius:2px}.report-document blockquote{margin:28px 0;padding:18px 22px;border-left:5px solid var(--cyan);background:#f2f8fb;color:#425168}.report-document ul,.report-document ol{padding-left:25px;max-width:960px}.report-document li{padding:4px 0 4px 8px}.report-document hr{border:0;border-top:1px dashed var(--line);margin:40px 0}.table-wrap{width:100%;overflow-x:auto;margin:28px 0 42px;border:1px solid var(--line)}.report-document table{width:100%;border-collapse:collapse;min-width:720px;font-size:13px;line-height:1.55}.report-document th{background:var(--ink);color:white;text-align:left;font:600 10px "IBM Plex Mono",monospace;text-transform:uppercase;letter-spacing:.06em;padding:14px}.report-document td{vertical-align:top;padding:16px 14px;border-bottom:1px solid var(--line)}.report-document tr:last-child td{border-bottom:0}.report-document tr:nth-child(even) td{background:#f8fafc}.report-document a{color:var(--blue)}
@keyframes orbit{to{transform:rotate(360deg)}}@keyframes scan{to{transform:rotate(360deg)}}
footer{display:flex;justify-content:space-between;padding:30px clamp(24px,5vw,80px);border-top:1px solid var(--line);font:11px "IBM Plex Mono",monospace}
@media(max-width:850px){.hero,.audit{grid-template-columns:1fr}.hero{padding-top:45px;background:var(--paper)}.inspection{margin:30px 12px 20px 0}.method-grid{grid-template-columns:1fr}.method article,.method article+article{padding:25px 0;border-right:0;border-bottom:1px solid var(--line)}.progress-panel{grid-template-columns:1fr}.progress-visual{min-height:280px;border-right:0;border-bottom:1px solid #35435b}.progress-steps{grid-template-columns:1fr 1fr}.report-cover{grid-template-columns:auto 1fr}.report-actions{grid-column:1/-1;flex-direction:row}.report-actions button{min-width:0;flex:1}footer{gap:20px;flex-direction:column}}
@media(max-width:560px){.result-head{align-items:flex-end}.result-head h2{font-size:30px}.progress-visual{min-height:240px}.progress-copy{padding:35px 24px}.report-cover{grid-template-columns:1fr}.score-orbit{width:96px;height:96px;padding-top:25px}.report-actions{flex-direction:column}.report-document{font-size:15px}.report-document h2{margin-top:50px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.primary,button{transition:none}}
@media print{
  @page{size:A4;margin:16mm}
  body{background:white}.nav,.hero,.method,.audit,footer,.result-head,.progress-panel,.report-actions{display:none!important}
  main{overflow:visible}.result{display:block!important;padding:0;background:white}.report-shell{display:block!important;max-width:none}.report-cover{border:0;border-bottom:2px solid #101828;padding:0 0 20px;margin:0 0 25px;grid-template-columns:auto 1fr}.score-orbit{print-color-adjust:exact;-webkit-print-color-adjust:exact}.report-document{font-size:10.5pt;line-height:1.5;overflow:visible}.report-document>h1{font-size:28pt;margin-bottom:18px;padding:0 0 22px;border:0;border-bottom:4px solid #175cff}.report-section{border:0;padding:20px 0;margin:0;break-inside:auto}.report-section:before{display:none}.report-document h2{font-size:19pt;break-after:avoid}.report-document h3{break-after:avoid}.report-document table{min-width:0;font-size:8pt}.table-wrap{overflow:visible;break-inside:auto}.report-document tr,.report-document blockquote{break-inside:avoid}.report-document a{color:#101828;text-decoration:none}
}
