/* Layout idea: a navy loading-dock header, then a ruled manifest of features on a pale blue wash. Colors come from the product. */
:root{--navy:#07143D;--blue:#1457EE;--deep:#0A38B5;--wash:#F5F7FF;--rule:#AFC2FF;--soft:#45506E;--white:#fff;--red:#B42318;
--display:"Archivo",-apple-system,"Segoe UI",sans-serif;--body:"IBM Plex Sans",-apple-system,"Segoe UI",sans-serif}
*{box-sizing:border-box}
body{margin:0;background:var(--wash);color:var(--navy);font:400 17px/1.55 var(--body)}
header{background:var(--navy);color:var(--white);padding:28px clamp(16px,6vw,80px) 64px}
.logo{display:block;width:210px;max-width:100%;height:auto;margin:-14px 0 44px -10px}
h1{font:800 clamp(38px,7vw,76px)/1.02 var(--display);letter-spacing:-.02em;margin:0 0 20px;max-width:15ch;text-wrap:balance}
header p{font-size:clamp(18px,2vw,21px);max-width:58ch;margin:0;color:#D7E1FF}
.tag{display:inline-block;margin-bottom:20px;padding:4px 10px;border:1px solid var(--rule);font:600 13px/1.4 var(--body);letter-spacing:.06em;text-transform:uppercase;color:#D7E1FF}
.cta{display:inline-block;margin-top:32px;padding:12px 22px;background:var(--blue);color:var(--white);font:700 17px/1.2 var(--display);text-decoration:none}
.cta:hover{background:var(--deep)}
.cta:focus-visible,button:focus-visible{outline:3px solid var(--rule);outline-offset:2px}
main{padding:56px clamp(16px,6vw,80px);max-width:1240px}
h2{font:800 clamp(24px,3vw,32px)/1.15 var(--display);margin:0 0 24px;text-wrap:balance}
.group{margin:0 0 8px;font:600 13px/1.4 var(--body);letter-spacing:.06em;text-transform:uppercase;color:var(--soft)}
ul.manifest{list-style:none;margin:0 0 40px;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));column-gap:48px;border-top:3px solid var(--navy)}
.manifest li{padding:22px 0;border-bottom:1px solid var(--rule)}
h3{font:700 20px/1.25 var(--display);margin:0 0 6px;color:var(--deep)}
.manifest p{margin:0;color:var(--soft);max-width:48ch}
.note{margin:-24px 0 64px;color:var(--soft);font-size:15px;max-width:70ch}
section+section{margin-top:64px}
ul.next{margin:0;padding:0;list-style:none;display:grid;gap:8px}
.next li{padding-left:16px;border-left:3px solid var(--blue)}
/* Request access */
#request{scroll-margin-top:24px;border-top:3px solid var(--navy);padding-top:32px}
#request>p{margin:0 0 28px;color:var(--soft);max-width:60ch}
form{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:20px 32px;max-width:900px}
label{display:block;font:600 15px/1.4 var(--body);margin-bottom:6px}
label span{font-weight:400;color:var(--soft)}
input,textarea{display:block;width:100%;padding:10px 12px;border:1px solid var(--rule);border-radius:0;background:var(--white);color:var(--navy);font:400 17px/1.4 var(--body)}
input:focus,textarea:focus{outline:2px solid var(--blue);outline-offset:0;border-color:var(--blue)}
textarea{min-height:140px;resize:vertical}
.wide{grid-column:1/-1}
.trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
button{justify-self:start;padding:12px 26px;border:0;background:var(--blue);color:var(--white);font:700 17px/1.2 var(--display);cursor:pointer}
button:hover{background:var(--deep)}
button[disabled]{opacity:.6;cursor:wait}
.status{margin:12px 0 0;font-weight:600}
.status.error{color:var(--red)}
.thanks{max-width:60ch;padding:22px 0;border-bottom:1px solid var(--rule)}
.thanks h3{margin-bottom:6px}
.thanks p{margin:0;color:var(--soft)}
footer{padding:24px clamp(16px,6vw,80px);border-top:1px solid var(--rule);color:var(--soft);font-size:15px}
