/* The Growth Audit (/audit). Ported from docs/audit/audit-prototype.html: one question per screen, phone first.
   A standalone page: only fonts, tokens and the cookie notice come from the shared styles.
   The header and footer copy the live site's (measured on /blueprint/), so the brand sits in the same place. */
body.page-audit{
  --ink:#111111; --paper:#ffffff; --stone:#E8E5E1; --line:#d2cec8; --mute:#555555; --soft:#cfcac3;
  --on-ink:#ffffff; --err:#b3261e;
  --sans:'Space Grotesk','Helvetica Neue',Arial,sans-serif; --serif:'Instrument Serif','Times New Roman',serif;
  --gut:28px;
  margin:0;min-height:100svh;display:flex;flex-direction:column;
  background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.55;-webkit-font-smoothing:antialiased;color-scheme:light
}
@media (max-width:360px){body.page-audit{--gut:20px}}
.page-audit *{box-sizing:border-box}
.page-audit main{flex:1;display:flex;flex-direction:column}
.page-audit ::selection{background:var(--orange);color:var(--ink)}
.page-audit button,.page-audit input{font:inherit;color:inherit}
.page-audit button{cursor:pointer}
.page-audit :focus-visible{outline:2px solid var(--orange);outline-offset:2px}
.page-audit em.sw{font-family:var(--serif);font-style:italic;font-weight:400}
.page-audit a{color:inherit;text-underline-offset:3px}
.page-audit svg{display:block;max-width:100%}

/* header, as on the live site */
.page-audit header{position:sticky;top:0;z-index:60;background:#fff;border-bottom:1px solid var(--line)}
.page-audit header .wrap{max-width:1400px;margin:0 auto;padding:0 32px}
.page-audit .nav{display:flex;align-items:center;justify-content:space-between;height:68px}
.page-audit .brand{display:flex;align-items:center;gap:12px;font-size:14px;font-weight:500;letter-spacing:.04em;text-transform:uppercase;color:#141311;text-decoration:none}
.page-audit .brand svg{width:52px;height:auto}
@media (max-width:760px){.page-audit .nav{height:60px}.page-audit .brand{font-size:12px;gap:10px}.page-audit .brand svg{width:46px}}
@media (max-width:700px){.page-audit header .wrap{padding:0 var(--gut)}}

.page-audit .gut{padding-left:var(--gut);padding-right:var(--gut);flex:1}
.page-audit .au{max-width:720px;margin:0 auto;padding-block:28px 64px}
.page-audit .bar{height:3px;background:var(--stone);position:sticky;top:69px;z-index:59}
@media (max-width:760px){.page-audit .bar{top:61px}}
.page-audit .bar span{display:block;height:100%;width:0;background:var(--orange);transition:width .4s cubic-bezier(.16,1,.3,1)}

.page-audit h1{font-weight:300;font-size:clamp(38px,9vw,64px);line-height:1.02;letter-spacing:-.035em;margin:0;text-wrap:balance}
.page-audit h2{font-weight:300;font-size:clamp(28px,6vw,40px);line-height:1.05;letter-spacing:-.03em;margin:0;text-wrap:balance}
.page-audit h3{font-size:17px;font-weight:700;margin:0;line-height:1.3}
.page-audit h1:focus,.page-audit h2:focus{outline:none}
.page-audit p{margin:0}
.page-audit .lede{color:var(--mute);margin-top:12px;max-width:56ch}
.page-audit .small{font-size:14px}
.page-audit .mute{color:var(--mute)}
.page-audit .btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:52px;padding:14px 24px;border-radius:6px;border:1px solid var(--ink);background:var(--ink);color:var(--on-ink);font-weight:700;font-size:14px;letter-spacing:.08em;text-transform:uppercase;text-decoration:none;transition:background .15s ease-out,border-color .15s ease-out,color .15s ease-out}
.page-audit .btn:hover{background:#333}
.page-audit .btn.or{background:var(--orange);border-color:var(--orange);color:var(--ink)}
.page-audit .btn.or:hover{background:var(--ink);border-color:var(--ink);color:var(--on-ink)}
.page-audit .dark .btn.or:hover{background:var(--paper);border-color:var(--paper);color:var(--ink)}
.page-audit .btn.block{width:100%}
.page-audit .btn:disabled{opacity:.4;cursor:default}
.page-audit .btn[aria-busy="true"]{opacity:.7;cursor:progress}
.page-audit .linkbtn{border:0;background:none;padding:0;min-height:44px;min-width:44px;text-decoration:underline;text-underline-offset:3px;color:var(--mute);font-size:14px}
.page-audit .start{display:grid;gap:22px;padding-top:12px}
.page-audit .meta{display:flex;flex-wrap:wrap;gap:8px 20px;font-size:14px;color:var(--mute)}
.page-audit .checks{border-top:1px solid var(--line);padding-top:16px;font-size:14px;color:var(--mute)}
.page-audit .checks ul{list-style:none;padding:0;margin:8px 0 0;display:flex;flex-wrap:wrap;gap:8px}
.page-audit .checks li{border:1px solid var(--line);padding:4px 10px;color:var(--ink)}
.page-audit .qstep{font-size:14px;color:var(--mute);font-variant-numeric:tabular-nums}
.page-audit .q h2{margin-top:6px}
.page-audit .help{font-size:14px;color:var(--mute);margin-top:10px;max-width:56ch}
.page-audit .opts{display:grid;gap:10px;margin-top:22px}
.page-audit .opt{width:100%;text-align:left;min-height:56px;padding:14px 16px;border:1px solid var(--line);background:var(--paper);border-radius:6px;font-size:17px;line-height:1.35;display:flex;align-items:center;gap:12px;transition:border-color .15s ease-out,background .15s ease-out}
.page-audit .opt:hover{border-color:var(--ink)}
.page-audit .opt[aria-pressed="true"]{background:var(--ink);border-color:var(--ink);color:var(--on-ink)}
.page-audit .opt .dot{width:18px;height:18px;border:1.5px solid currentColor;border-radius:50%;flex:none;opacity:.6}
.page-audit .opt[aria-pressed="true"] .dot{background:var(--orange);border-color:var(--orange);opacity:1}
.page-audit .opt.multi .dot{border-radius:3px;position:relative}
.page-audit .opt.multi[aria-pressed="true"] .dot::after{content:"";position:absolute;left:5px;top:1px;width:5px;height:10px;border:solid var(--ink);border-width:0 2px 2px 0;transform:rotate(45deg)}
/* Q1 and Q5: the instruction above the answers, and the line beside Next */
.page-audit .pick{display:inline-block;margin-top:14px;padding:5px 10px;background:var(--orange);color:var(--ink);font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;line-height:1.4}
.page-audit .qnav.many{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px}
.page-audit .nexthint{font-size:14px;color:var(--mute);text-align:right}
@media (max-width:719px){
  .page-audit .qnav.many{grid-template-columns:1fr;gap:10px}
  .page-audit .qnav.many .nexthint{order:1;text-align:center}
  .page-audit .qnav.many #next{order:2;width:100%}
  .page-audit .qnav.many #back{order:3;justify-self:start}
}
.page-audit .opt.rank .dot{border-radius:50%;width:24px;height:24px;display:grid;place-items:center;font-size:13px;font-weight:700;color:var(--ink);font-variant-numeric:tabular-nums}
.page-audit .qnav{display:flex;justify-content:space-between;align-items:center;margin-top:18px}
.page-audit .in-l{animation:inl .36s cubic-bezier(.16,1,.3,1)}
.page-audit .in-r{animation:inr .36s cubic-bezier(.16,1,.3,1)}
@keyframes inl{from{transform:translateX(24px);opacity:0}to{transform:none;opacity:1}}
@keyframes inr{from{transform:translateX(-24px);opacity:0}to{transform:none;opacity:1}}
.page-audit .field{display:grid;gap:6px;margin-top:22px}
.page-audit .field label{font-size:14px;color:var(--mute)}
.page-audit .inp{min-height:52px;border:1px solid var(--line);background:var(--paper);padding:12px 14px;border-radius:0;font-size:17px;width:100%}
.page-audit .inp:focus{outline:2px solid var(--orange);outline-offset:-1px}
.page-audit .inp[aria-invalid="true"]{border-color:var(--err)}
.page-audit .err{color:var(--err);font-size:14px;min-height:20px;margin-top:8px}
.page-audit .hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}

/* results */
.page-audit .scorebox{background:var(--ink);color:var(--on-ink);padding:24px 20px;display:grid;gap:10px}
.page-audit .scorebox .lbl{color:var(--soft);font-size:15px;font-weight:400;line-height:1.4;letter-spacing:0;margin:0}
.page-audit .scorebox .num{font-size:clamp(88px,26vw,160px);font-weight:300;line-height:.9;letter-spacing:-.05em;font-variant-numeric:tabular-nums}
.page-audit .scorebox .num small{font-size:.28em;letter-spacing:0;color:var(--soft);margin-left:6px}
.page-audit .scorebox p{color:var(--stone);max-width:52ch}
.page-audit .scorebox .strong{color:var(--soft);font-size:14px}
.page-audit .gap{margin-top:28px;padding-bottom:24px;border-bottom:1px solid var(--line)}
.page-audit .gap .ev{font-size:19px;margin-top:12px;max-width:56ch}
.page-audit .gap .why{color:var(--mute);margin-top:8px}
.page-audit .sec{margin-top:32px}
.page-audit .areas{list-style:none;padding:0;margin:14px 0 0;border-top:1px solid var(--line)}
.page-audit .area{border-bottom:1px solid var(--line);padding:16px 0;display:grid;gap:8px}
.page-audit .area .top{display:flex;align-items:baseline;justify-content:space-between;gap:12px}
.page-audit .area .top b{font-size:18px;font-weight:500}
.page-audit .area .sc{font-size:14px;color:var(--mute);font-variant-numeric:tabular-nums;white-space:nowrap}
.page-audit .meter{height:6px;background:var(--stone);position:relative}
.page-audit .meter span{position:absolute;inset:0 auto 0 0;background:var(--ink)}
.page-audit .area.pg .meter span{background:var(--orange)}
.page-audit .tag{display:inline-block;font-size:12px;padding:2px 8px;border:1px solid var(--ink);margin-right:8px}
.page-audit .area.pg .tag{background:var(--orange);border-color:var(--orange);color:var(--ink)}
.page-audit .area.st .tag{background:var(--ink);color:var(--on-ink)}
.page-audit .area p{max-width:60ch}
.page-audit .area .fix{color:var(--mute)}
.page-audit .area .fix b{color:var(--ink)}
.page-audit .ideas{list-style:none;padding:0;margin:14px 0 0;display:grid;gap:10px}
.page-audit .idea a{display:grid;gap:4px;padding:14px;border:1px solid var(--line);text-decoration:none;height:100%}
.page-audit .idea a:hover{border-color:var(--ink)}
.page-audit .idea b{font-size:17px;font-weight:500}
.page-audit .idea span{font-size:14px;color:var(--mute)}
.page-audit .offer{margin-top:36px;background:var(--ink);color:var(--on-ink);padding:24px 20px;display:grid;gap:12px}
.page-audit .offer h2{color:var(--on-ink)}
.page-audit .offer p{color:var(--stone);max-width:56ch}
.page-audit .offer .alt{font-size:14px;color:var(--soft)}
.page-audit .offer .alt a{color:var(--on-ink)}
.page-audit .offer .linkbtn{color:var(--on-ink);font-size:inherit;min-height:0;min-width:0}
.page-audit .offer .calnote{font-size:14px;color:var(--soft)}
.page-audit .cal{background:var(--paper);min-height:640px}
.page-audit .cal iframe{display:block;width:100%;min-height:640px;border:0;overflow:hidden}
@media (max-width:719px){.page-audit .cal{margin:0 -20px}}  /* the calendar uses the full width of the dark box on phones */
.page-audit .note{margin-top:28px;font-size:13px;color:var(--mute);max-width:60ch}
.page-audit .note .linkbtn{font-size:13px;min-height:0;min-width:0}

/* footer, as on the live site */
.page-audit footer{background:#141311;color:#b5aea3;padding:26px 0 16px;font-size:14px}
.page-audit footer .wrap{max-width:1400px;margin:0 auto;padding:0 32px}
@media (max-width:700px){.page-audit footer .wrap{padding:0 var(--gut)}}
.page-audit footer a{color:#b5aea3;text-decoration:none}
.page-audit footer a:hover{color:#fff}
.page-audit .fgrid{display:flex;justify-content:space-between;align-items:center;gap:24px;flex-wrap:wrap}
.page-audit .fleft{display:flex;align-items:center;gap:22px;flex-wrap:wrap}
.page-audit .fbrand{display:flex;align-items:center;gap:10px;color:#fff;font-weight:400;font-size:15px;text-transform:uppercase;letter-spacing:-.02em}
.page-audit .fbrand svg{width:40px;height:auto}
.page-audit .fbottom{border-top:1px solid #2c2923;margin-top:18px;padding-top:12px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;font-size:13px}

@media (min-width:720px){ .page-audit .scorebox,.page-audit .offer{padding:32px 36px} .page-audit .ideas{grid-template-columns:repeat(3,minmax(0,1fr))} }
@media (prefers-reduced-motion:reduce){.page-audit *,.page-audit *::before,.page-audit *::after{animation:none!important;transition:none!important}}
