/* GEX Levels — access.html page styles
   Extracted verbatim from the pages' former inline <style> block (2026-08-10).
   Reason: the site ships `style-src 'self'` with no 'unsafe-inline', no nonce and
   no hash, so every inline <style> was silently dropped by the browser and these
   pages rendered as unstyled HTML in production (Times New Roman, no background).
   Loading the same bytes from /assets/ is the only way this CSS applies.
   Do not move it back inline: scripts/audit-csp-safety.mjs now gates the build.
   Byte-identical to the former inline CSS; cascade order is unchanged. */
/* ----------------------------------------------------------- access.html */
.acc-shell{display:flex;flex-direction:column}
.acc-hero{position:relative;width:100%;max-width:var(--shell);margin-inline:auto;padding:40px var(--pad) 4px}
.acc-hero__inner{display:flex;flex-direction:column}
.acc-hero__title{margin-top:14px;font-size:clamp(30px,7vw,46px);max-width:24ch}
.acc-hero__lede{margin-top:18px;max-width:68ch}
.acc-grid{width:100%;max-width:var(--shell);margin-inline:auto;padding:32px var(--pad);display:grid;grid-template-columns:1fr;gap:20px;align-items:start}
.acc-form{display:flex;flex-direction:column;gap:20px;padding:24px 20px;background:var(--panel);border:1px solid var(--line);border-radius:var(--r)}
.acc-form__head{display:flex;flex-direction:column;gap:6px}
.acc-form__head h2{font-size:22px}
.acc-form__hint{color:var(--muted);font-size:15px}
.acc-field{display:flex;flex-direction:column;gap:8px}
.acc-field__label{color:var(--head);font-size:15px;font-weight:600;letter-spacing:-0.01em}
.acc-field__label small{color:var(--muted);font-size:14px;font-weight:400}
.acc-field__input{
  width:100%;min-height:48px;padding:12px 14px;
  background:var(--field);border:1px solid var(--line-2);border-radius:var(--rb);
  color:var(--text);font:inherit;font-size:16px;line-height:1.5;
  appearance:none;-webkit-appearance:none;
  transition:border-color .16s ease,box-shadow .16s ease;
}
.acc-field__input::placeholder{color:#6d6a63}
.acc-field__input:hover{border-color:#4a4335}
.acc-field__input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px rgba(200,168,120,.22)}
select.acc-field__input{
  padding-right:40px;cursor:pointer;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' fill='none' stroke='%239c9fa8' stroke-width='1.4' stroke-linecap='round'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 14px center;background-size:10px 6px;
}
select.acc-field__input option{background:var(--panel-2);color:var(--text)}
.acc-field__textarea{min-height:150px;line-height:1.7;resize:vertical}
.acc-field__input:user-invalid,.acc-field__input[aria-invalid="true"],.acc-field.is-error .acc-field__input{border-color:var(--down)}
.acc-field__input:user-invalid:focus,.acc-field__input[aria-invalid="true"]:focus{box-shadow:0 0 0 3px rgba(239,83,80,.2)}
.acc-field.is-error .acc-field__hint,.acc-field__error{color:var(--down)}
/* failure is never colour-only: each invalid field states the problem in words */
.acc-field:has(:user-invalid)::after,.acc-field.is-error::after,.checkbox-row:has(:user-invalid)::after{
  display:block;color:var(--down);font-size:14px;font-weight:600;line-height:1.6;
}
.acc-field:has(input[name="full_name"]:user-invalid)::after{content:"Enter the name on your account."}
.acc-field:has(input[name="email"]:user-invalid)::after{content:"Enter a valid email address — the review reply is sent there."}
.acc-field:has(select[name="product_requested"]:user-invalid)::after{content:"Choose which product you need access to."}
.acc-field:has(textarea[name="message"]:user-invalid)::after{content:"Tell us what you need access to."}
.checkbox-row:has(input[name="compliance_acknowledged"]:user-invalid){border-color:var(--down)}
.checkbox-row:has(input[name="compliance_acknowledged"]:user-invalid)::after{grid-column:1 / -1;content:"You must acknowledge this before the request can be submitted."}
.acc-field__input:user-valid{border-color:rgba(200,168,120,.5)}
.acc-field__hint{color:var(--muted);font-size:14px;line-height:1.6}
.acc-form__form > .field-hint{margin-top:-8px}
.turnstile-row{display:flex;flex-direction:column;gap:10px}
.acc-form__legal{color:var(--muted);font-size:14px;line-height:1.7}
.acc-aside{display:flex;flex-direction:column;gap:14px;padding:24px 20px;background:var(--panel-2);border:1px solid var(--line);border-radius:var(--r)}
.acc-aside__title{font-size:20px}
.acc-aside__sub{color:var(--muted);font-size:15px}
.acc-aside__mini{display:flex;flex-direction:column;gap:6px;padding:16px;background:var(--panel);border:1px solid var(--line);border-radius:var(--rb)}
.acc-aside__mini p{color:var(--muted);font-size:15px;line-height:1.6}
.acc-aside__mini--feature{border-color:var(--accent)}
.acc-aside__chip{align-self:flex-start;padding:4px 10px;border:1px solid var(--line-2);border-radius:999px;color:var(--muted);font-size:11px;font-weight:650;letter-spacing:.1em;text-transform:uppercase}
.acc-aside__chip--gold{border-color:var(--accent);color:var(--accent)}
.acc-aside__amount{color:var(--head);font-size:26px;font-weight:600;letter-spacing:-0.02em;line-height:1.2;font-variant-numeric:tabular-nums}
.acc-aside__amount small{color:var(--muted);font-size:15px;font-weight:400}
.acc-aside__note{padding:16px;background:var(--panel);border:1px solid var(--line);border-radius:var(--rb)}
.acc-aside__reassurance{display:flex;flex-direction:column;gap:8px;padding-top:14px;border-top:1px solid var(--line)}
.acc-aside__reassurance li{position:relative;padding-left:20px;color:var(--muted);font-size:15px;line-height:1.6}
.acc-aside__reassurance li::before{content:"";position:absolute;left:2px;top:9px;width:6px;height:6px;border-radius:50%;background:var(--accent)}
.acc-health{width:calc(100% - (2 * var(--pad)));max-width:var(--shell);margin:0 auto 52px;display:flex;flex-direction:column;gap:16px;padding:24px 20px}
.acc-health__head{display:flex;flex-direction:column;gap:6px}
.acc-health__head h3{font-size:18px}
.acc-health__hint{color:var(--muted);font-size:14px}
.acc-health__row{display:grid;grid-template-columns:1fr;gap:12px}
.acc-health__row > div{display:flex;flex-direction:column;gap:4px;min-width:0;padding:14px;background:var(--panel-2);border:1px solid var(--line);border-radius:var(--rb)}
.acc-health__row dt{color:var(--muted);font-size:11px;font-weight:650;letter-spacing:.1em;text-transform:uppercase}
.acc-health__row dd{margin:0}
.acc-health__row strong{color:var(--head);font-size:16px;font-weight:600;font-variant-numeric:tabular-nums;word-break:break-all}
.acc-health > .ld-btn{align-self:flex-start}
@media (min-width:560px){
  .acc-health__row{grid-template-columns:1fr 1fr}
}
@media (min-width:760px){
  .acc-form,.acc-aside,.acc-health{padding:28px 26px}
}
@media (min-width:1000px){
  .acc-grid{grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:24px;padding-top:40px}
  .acc-hero{padding-top:64px}
}
