/* =============================================================
   ALTITUDE AUDIT
   Scoped entirely under .altitude-audit so nothing here can
   touch the rest of the theme, and the existing Altitude
   landing page (.altitude-page / .alt-*) is untouched.
   Light theme only, by design: this page is shown to clients
   on whatever machine they happen to have, and a dark variant
   only ever produced unreadable combinations over the hero.
   ============================================================= */

/* ============================================================
   Altitude — presence audit
   White-based, colourful, illustrated. Built for non-technical
   business owners: friendly doodle art, bold flat colour, big
   readable type. Nothing that reads like a developer tool.
   Type: Plus Jakarta Sans (UI) + Caveat (hand-drawn accents)
   ============================================================ */

.altitude-audit{
  /* Altitude brand: navy and gold, from the mark used on the existing
     Altitude page. Light theme only by design — this page is shown to
     clients on whatever machine they happen to have, and a dark variant
     only ever produced unreadable combinations over the hero. */
  color-scheme: light only;

  --white:#FFFFFF;
  --bg:#FFFFFF;
  --surface:#FFFFFF;
  --surface-2:#F7F8FA;
  --cream:#FCFAF5;

  --navy:#0A1D3B;
  --navy-2:#143059;
  --navy-3:#1E4175;
  --navy-soft:#EDF1F7;

  --gold:#C2A063;
  --gold-2:#D7BC8A;
  --gold-3:#A8863F;
  --gold-soft:#FBF4E6;

  --ink:#0A1D3B;
  --ink-2:#4A5A72;
  --ink-3:#7E8CA2;
  --line:#E4E9F0;
  --line-2:#F0F3F8;

  /* semantic, tuned to sit beside navy and gold without clashing */
  --critical:#B3261E;
  --critical-soft:#FDECEA;
  --warn:#9A6B10;
  --warn-soft:#FBF2E0;
  --good:#1C6B45;
  --good-soft:#E8F4EE;

  /* aliases kept so ported rules don't need rewriting */
  --mint:var(--gold);
  --mint-2:var(--gold-2);
  --mint-soft:var(--gold-soft);
  --green:var(--navy);
  --green-deep:var(--navy);
  --accent-ink:var(--navy-3);
  --coral:#B3261E;
  --coral-2:#D4756C;
  --coral-soft:#FDECEA;
  --amber:var(--gold);
  --amber-2:var(--gold-2);
  --amber-soft:var(--gold-soft);
  --sky:#2F6FB5;
  --sky-2:#6FA3D8;
  --sky-soft:#EDF3FA;
  --violet:#5B4B8A;
  --violet-2:#8C7CB8;
  --violet-soft:#F0EDF7;

  --shadow-xs:0 1px 2px rgba(10,29,59,.05);
  --shadow-sm:0 2px 6px rgba(10,29,59,.05), 0 12px 26px -16px rgba(10,29,59,.18);
  --shadow:0 4px 12px rgba(10,29,59,.06), 0 26px 50px -30px rgba(10,29,59,.30);
  --shadow-lg:0 10px 22px rgba(10,29,59,.07), 0 44px 80px -36px rgba(10,29,59,.34);

  --radius:18px;
  --radius-sm:12px;
}
.altitude-audit *{box-sizing:border-box;}

.altitude-audit{
  background:var(--bg);
  color:var(--ink);
  font-family:"Plus Jakarta Sans", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;
  font-size:16px; line-height:1.6; letter-spacing:-.011em;
  -webkit-font-smoothing:antialiased;
  position:relative; overflow-x:hidden;
}
.altitude-audit img{max-width:100%;}
.altitude-audit [hidden]{display:none !important;}
.altitude-audit a{color:var(--accent-ink);}
.altitude-audit h1,.altitude-audit h2,.altitude-audit h3,.altitude-audit h4{margin:0; font-weight:800; letter-spacing:-.033em; text-wrap:balance; line-height:1.08;}
.aa-hand{font-family:"Caveat", "Segoe Script", cursive; font-weight:700; letter-spacing:0;}
.aa-eyebrow{font-size:12.5px; font-weight:800; letter-spacing:.1em; text-transform:uppercase; color:var(--accent-ink);}

.aa-wrap{max-width:1020px; margin:0 auto; padding-left:20px; padding-right:20px; padding-block:0 80px; position:relative; z-index:1;}

/* ---- decorative doodle field (original artwork, drawn in SVG) ---- */
.aa-doodles{position:absolute; inset:0 0 auto 0; height:1000px; pointer-events:none; z-index:0; overflow:hidden;}
.aa-doodles svg{position:absolute; opacity:.85;}
.aa-d1{top:70px; left:-30px; width:150px; transform:rotate(-8deg);}
.aa-d2{top:130px; right:-24px; width:180px; transform:rotate(10deg);}
.aa-d3{top:430px; left:-46px; width:130px; transform:rotate(6deg);}
.aa-d4{top:520px; right:-30px; width:140px; transform:rotate(-12deg);}
@media (max-width:1100px){ .aa-doodles{display:none;} }

/* ---------------- masthead ---------------- */
.aa-masthead{display:flex; align-items:center; gap:14px; flex-wrap:wrap; padding-block:24px 10px;}
.aa-mark{display:flex; align-items:center; gap:11px; text-decoration:none;}
.aa-mark svg{display:block;}
.aa-mark-name{font-size:20px; font-weight:800; letter-spacing:-.025em; color:var(--ink);}
.aa-mark-sub{font-size:13.5px; font-weight:600; color:var(--ink-3); padding-left:14px; border-left:1px solid var(--line);}
.aa-sample-tag{
  margin-left:auto; font-size:12.5px; font-weight:800;
  color:var(--warn); background:var(--amber-soft);
  border:1.5px solid color-mix(in srgb, var(--amber) 34%, transparent);
  padding:7px 15px; border-radius:999px;
}

/* ---------------- live-data status strip ---------------- */
.aa-status{
  display:flex; align-items:flex-start; gap:14px; flex-wrap:wrap;
  margin-top:14px; padding:16px 20px; border-radius:var(--radius-sm);
  background:var(--amber-soft); border:1.5px solid color-mix(in srgb, var(--amber) 32%, transparent);
  font-size:14.5px; color:var(--ink-2); font-weight:500;
}
.aa-status.ok{background:var(--mint-soft); border-color:color-mix(in srgb, var(--mint) 32%, transparent);}
.aa-status b{color:var(--ink); display:block; font-size:15.5px; font-weight:800; margin-bottom:3px;}
.aa-status .aa-chips{display:flex; gap:8px; flex-wrap:wrap; margin-top:10px;}
.aa-chip{
  font-size:12.5px; font-weight:700; padding:5px 12px; border-radius:999px;
  background:var(--white); border:1.5px solid var(--line); color:var(--ink-2);
  display:inline-flex; align-items:center; gap:7px;
}
.aa-chip i{width:8px; height:8px; border-radius:50%; background:var(--ink-3); display:block;}
.aa-chip.live{color:var(--good); border-color:color-mix(in srgb, var(--good) 34%, transparent);}
.aa-chip.live i{background:var(--good);}
.aa-chip.off{color:var(--critical); border-color:color-mix(in srgb, var(--critical) 30%, transparent);}
.aa-chip.off i{background:var(--critical);}


/* ---------------- subject ---------------- */
.aa-subject{padding-block:30px 26px;}
.aa-subject h1{font-size:clamp(36px,5.8vw,56px);}
.aa-subject-meta{display:flex; flex-wrap:wrap; gap:8px 16px; margin-top:14px; font-size:15.5px; color:var(--ink-2); font-weight:600;}
.aa-dot{width:5px; height:5px; border-radius:50%; background:var(--coral-2); flex:none; align-self:center;}

/* ---------------- score card ---------------- */
.aa-hero-panel{
  background:var(--surface); border:2px solid var(--line);
  border-radius:var(--radius); box-shadow:var(--shadow); overflow:hidden; position:relative;
}
.aa-score-panel{
  display:grid; grid-template-columns:auto 1fr; gap:44px; align-items:center;
  padding:42px 46px 38px; position:relative;
  background:
    radial-gradient(420px 260px at 8% 10%, var(--mint-soft), transparent 70%),
    radial-gradient(380px 240px at 96% 90%, var(--sky-soft), transparent 70%);
}
.aa-gauge{width:236px; flex:none; max-width:100%;}
.aa-gauge svg{width:100%; height:auto; display:block; overflow:visible;}
.aa-gauge .aa-sweep{stroke-dasharray:var(--len); stroke-dashoffset:var(--len); animation:draw 1.15s cubic-bezier(.22,.72,.3,1) .1s forwards;}
@keyframes draw{to{stroke-dashoffset:0;}}
.aa-gauge .aa-cap{opacity:0; animation:pop .4s ease 1.05s forwards;}
@keyframes pop{to{opacity:1;}}

.aa-verdict .aa-eyebrow{margin-bottom:14px;}
.aa-verdict h2{font-size:clamp(27px,3.7vw,38px);}
.aa-verdict p{margin:14px 0 0; color:var(--ink-2); font-size:17.5px; max-width:46ch; font-weight:500;}

/* ledger */
.aa-risk{border-top:2px dashed var(--line); padding:34px 46px 40px; background:var(--cream);}
.aa-risk-head{display:flex; align-items:baseline; gap:16px; flex-wrap:wrap;}
.aa-risk-figure{
  font-size:clamp(44px,6.6vw,64px); font-weight:800; line-height:1;
  letter-spacing:-.045em; font-variant-numeric:tabular-nums; color:var(--critical);
}
.aa-risk-head h3{font-size:17.5px; font-weight:800; color:var(--ink); letter-spacing:-.022em;}
.aa-risk-note{font-size:15px; color:var(--ink-3); margin:12px 0 0; max-width:64ch; font-weight:500;}
.aa-math{margin:26px 0 0; padding:0; list-style:none;}
.aa-math li{
  display:flex; justify-content:space-between; gap:20px; align-items:baseline;
  padding:14px 0; border-bottom:1.5px solid color-mix(in srgb, var(--amber) 16%, transparent);
  font-size:15.5px; color:var(--ink-2); font-weight:600;
}
.aa-math li span:last-child{font-variant-numeric:tabular-nums; color:var(--ink); font-weight:800; white-space:nowrap;}
.aa-math li.aa-total{
  border-bottom:0; margin-top:8px; padding-top:18px;
  border-top:3px solid color-mix(in srgb, var(--amber) 34%, transparent);
  color:var(--ink); font-weight:800; font-size:17px;
}
.aa-math li.aa-total span:last-child{color:var(--critical); font-size:19px;}
/* The yearly line is the one that lands, so it gets the weight. */
.aa-math li.aa-total-year{
  margin-top:0; padding-top:14px; border-top:1.5px dashed color-mix(in srgb, var(--amber) 34%, transparent);
  font-size:18px;
}
.aa-math li.aa-total-year span:last-child{font-size:22px;}
.aa-risk-month{
  flex-basis:100%; margin:10px 0 0; font-size:16.5px; color:var(--ink-2); font-weight:500;
}
.aa-risk-month b{color:var(--ink); font-weight:800; font-variant-numeric:tabular-nums;}

/* ---------------- section head ---------------- */
.aa-section-head{display:flex; align-items:center; justify-content:space-between; gap:16px; margin:56px 0 20px; flex-wrap:wrap;}
.aa-section-head h2{font-size:27px; letter-spacing:-.035em;}
.aa-section-head .aa-hint{font-size:17px; color:var(--coral); transform:rotate(-2deg);}

/* ---------------- channels ---------------- */
.aa-channels{display:flex; flex-direction:column; gap:16px;}
.aa-channel{
  background:var(--surface); border:2px solid var(--line);
  border-radius:var(--radius); box-shadow:var(--shadow-sm); overflow:hidden;
  transition:box-shadow .22s ease, border-color .22s ease, transform .22s ease;
}
.aa-channel:hover{transform:translateY(-2px); box-shadow:var(--shadow);}
.aa-channel.c-website:has(.aa-ch-btn[aria-expanded="true"]){border-color:color-mix(in srgb, var(--sky) 55%, transparent);}
.aa-channel.c-gbp:has(.aa-ch-btn[aria-expanded="true"]){border-color:color-mix(in srgb, var(--coral) 50%, transparent);}
.aa-channel.c-instagram:has(.aa-ch-btn[aria-expanded="true"]){border-color:color-mix(in srgb, var(--violet) 55%, transparent);}
.aa-channel.c-content:has(.aa-ch-btn[aria-expanded="true"]){border-color:color-mix(in srgb, var(--amber) 55%, transparent);}

.aa-ch-btn{
  width:100%; display:grid; grid-template-columns:auto auto 1fr auto; gap:20px;
  align-items:center; background:none; border:0; cursor:pointer;
  padding:24px 28px; text-align:left; color:inherit; font:inherit;
}
.aa-ch-btn:hover{background:var(--surface-2);}
.aa-ch-btn:focus-visible{outline:3px solid var(--mint); outline-offset:-5px;}

/* illustrated channel badge */
.aa-ch-art{
  width:64px; height:64px; border-radius:20px; flex:none;
  display:grid; place-items:center; border:2px solid;
}
.c-website .aa-ch-art{background:var(--sky-soft); border-color:color-mix(in srgb, var(--sky) 40%, transparent);}
.c-gbp .aa-ch-art{background:var(--coral-soft); border-color:color-mix(in srgb, var(--coral) 40%, transparent);}
.c-instagram .aa-ch-art{background:var(--violet-soft); border-color:color-mix(in srgb, var(--violet) 40%, transparent);}
.c-content .aa-ch-art{background:var(--amber-soft); border-color:color-mix(in srgb, var(--amber) 42%, transparent);}
.aa-ch-art svg{width:36px; height:36px; display:block;}

.aa-ring{width:60px; height:60px; flex:none; position:relative;}
.aa-ring svg{width:100%; height:100%; transform:rotate(-90deg); display:block;}
.aa-ring .aa-val{stroke-dasharray:var(--c); stroke-dashoffset:var(--o); stroke-linecap:round;}
.aa-ring b{position:absolute; inset:0; display:grid; place-items:center; font-size:18px; font-weight:800; font-variant-numeric:tabular-nums; color:var(--ink); letter-spacing:-.03em;}
.aa-ring.aa-na b{font-size:12px; color:var(--ink-3); font-weight:700;}

.aa-ch-name{font-size:22px; font-weight:800; letter-spacing:-.032em;}
.aa-ch-tally{display:flex; gap:8px; flex-wrap:wrap; margin-top:9px;}
.aa-tally{font-size:12.5px; font-weight:800; padding:4px 11px; border-radius:999px;}
.aa-t-crit{color:var(--critical); background:var(--critical-soft);}
.aa-t-warn{color:var(--warn); background:var(--warn-soft);}
.aa-t-good{color:var(--good); background:var(--good-soft);}
.aa-t-na{color:var(--ink-3); background:var(--line-2);}
.aa-chev{width:12px; height:12px; border-right:3px solid var(--ink-3); border-bottom:3px solid var(--ink-3); transform:rotate(45deg); transition:transform .24s ease; flex:none; margin-top:-5px; border-radius:0 0 3px 0;}
.aa-ch-btn[aria-expanded="true"] .aa-chev{transform:rotate(-135deg); margin-top:4px;}

.aa-findings{list-style:none; margin:0; padding:8px 28px 28px; border-top:2px dashed var(--line);}
.aa-ch-note{padding:18px 0 4px; font-size:15px; color:var(--ink-3); max-width:66ch; font-weight:500;}
.aa-finding{padding:24px 0; border-bottom:1.5px solid var(--line-2);}
.aa-finding:last-child{border-bottom:0; padding-bottom:6px;}
.aa-f-title{font-size:19.5px; font-weight:800; letter-spacing:-.032em; display:flex; gap:12px; align-items:center; flex-wrap:wrap; line-height:1.24;}
.aa-f-flag{font-size:11.5px; letter-spacing:.05em; text-transform:uppercase; padding:5px 12px; border-radius:999px; font-weight:800;}
.aa-flag-critical{color:var(--critical); background:var(--critical-soft);}
.aa-flag-warning{color:var(--warn); background:var(--warn-soft);}
.aa-flag-pass{color:var(--good); background:var(--good-soft);}
.aa-f-body{margin:10px 0 0; font-size:16.5px; color:var(--ink-2); max-width:68ch; font-weight:500;}
.aa-f-fix{
  margin:16px 0 0; font-size:16px; color:var(--ink); max-width:66ch; font-weight:600;
  background:var(--mint-soft); border:2px solid color-mix(in srgb, var(--mint) 30%, transparent);
  border-radius:var(--radius-sm); padding:16px 20px; position:relative;
}
.aa-f-fix b{font-size:16px; color:var(--accent-ink); display:block; margin-bottom:4px; font-weight:700; font-family:"Caveat", cursive; letter-spacing:0;}
.aa-f-src{font-size:13.5px; color:var(--ink-3); margin-top:12px; font-weight:500;}

/* ---------------- gate ---------------- */
.aa-gate{
  margin-top:56px; padding:46px;
  background:
    radial-gradient(520px 300px at 100% 0%, var(--violet-soft), transparent 62%),
    radial-gradient(520px 320px at 0% 100%, var(--mint-soft), transparent 62%),
    var(--surface);
  border:2px solid var(--line); border-radius:var(--radius); box-shadow:var(--shadow);
  position:relative; overflow:hidden;
}
.aa-gate h2{font-size:clamp(29px,3.9vw,38px);}
.aa-gate > p{margin:14px 0 0; color:var(--ink-2); max-width:54ch; font-size:17.5px; font-weight:500;}
.aa-gate-list{margin:32px 0 0; padding:0; list-style:none; display:grid; grid-template-columns:repeat(auto-fit,minmax(250px,1fr)); gap:18px 32px;}
.aa-gate-list li{display:grid; grid-template-columns:auto 1fr; gap:13px; align-items:start; font-size:16px; color:var(--ink-2); font-weight:600;}
.aa-tick{margin-top:3px; flex:none;}

.aa-form{margin-top:36px; padding-top:32px; border-top:2px dashed var(--line); display:grid; grid-template-columns:1fr 1fr; gap:18px;}
.aa-field{display:flex; flex-direction:column; gap:8px;}
.aa-field.aa-wide{grid-column:1/-1;}
.aa-field label{font-size:14px; font-weight:800; color:var(--ink-2);}
.aa-field input, .aa-field select{
  background:var(--surface); border:2px solid var(--line); border-radius:var(--radius-sm);
  padding:15px 18px; font:inherit; font-size:16.5px; font-weight:600; color:var(--ink); width:100%;
  transition:border-color .16s ease, box-shadow .16s ease;
}
.aa-field input::placeholder{color:var(--ink-3); font-weight:500;}
.aa-field input:focus, .aa-field select:focus{
  outline:none; border-color:var(--mint);
  box-shadow:0 0 0 4px color-mix(in srgb, var(--mint) 18%, transparent);
}
.aa-form-actions{grid-column:1/-1; display:flex; align-items:center; gap:20px; flex-wrap:wrap;}
.aa-btn{
  background:var(--ink); color:var(--white); border:0; border-radius:999px; padding:17px 34px;
  font-family:inherit; font-weight:800; font-size:17px; letter-spacing:-.022em;
  cursor:pointer; transition:transform .14s ease, box-shadow .18s ease;
  box-shadow:0 6px 0 0 color-mix(in srgb, var(--mint) 82%, black);
}
.aa-btn{background:linear-gradient(135deg, var(--mint) 0%, #34D399 100%); color:#053B25;}
.aa-btn:hover{transform:translateY(-2px); box-shadow:0 8px 0 0 color-mix(in srgb, var(--mint) 82%, black);}
.aa-btn:active{transform:translateY(3px); box-shadow:0 3px 0 0 color-mix(in srgb, var(--mint) 82%, black);}
.aa-btn:disabled{opacity:.55; cursor:default; transform:none;}
.aa-btn:focus-visible{outline:3px solid var(--ink); outline-offset:3px;}
.aa-form-note{font-size:14.5px; color:var(--ink-3); max-width:34ch; font-weight:500;}
.aa-sent{font-size:16.5px; color:var(--good); background:var(--good-soft); border:2px solid color-mix(in srgb, var(--good) 30%, transparent); border-radius:var(--radius-sm); padding:20px 22px; margin-top:22px; font-weight:700;}

/* ---------------- model ---------------- */
.aa-model{margin-top:22px; background:var(--surface); border:2px solid var(--line); border-radius:var(--radius); box-shadow:var(--shadow-sm); overflow:hidden;}
.aa-model summary{cursor:pointer; padding:22px 28px; list-style:none; font-size:15.5px; font-weight:800; color:var(--ink-2); display:flex; align-items:center; justify-content:space-between; gap:12px;}
.aa-model summary::-webkit-details-marker{display:none;}
.aa-model summary:focus-visible{outline:3px solid var(--mint); outline-offset:-5px;}
.aa-model[open] summary{border-bottom:2px dashed var(--line);}
.aa-model-body{padding:26px 28px 30px;}
.aa-model-body > p{margin:0 0 22px; font-size:16px; color:var(--ink-2); max-width:64ch; font-weight:500;}
.aa-tbl-scroll{overflow-x:auto;}
.altitude-audit table{border-collapse:collapse; width:100%; font-size:16px; min-width:460px;}
.altitude-audit th,.altitude-audit td{text-align:left; padding:14px 16px 14px 0; border-bottom:1.5px solid var(--line-2);}
.altitude-audit th{font-size:13px; letter-spacing:.05em; text-transform:uppercase; color:var(--ink-3); font-weight:800;}
.altitude-audit td{font-weight:600;}
td.n, th.n{text-align:right; padding-right:0;}
td.n{font-variant-numeric:tabular-nums;}
.altitude-audit tfoot td{border-bottom:0; font-weight:800; color:var(--ink); padding-top:17px;}

.altitude-audit .aa-foot{margin-top:52px; padding-top:28px; border-top:2px dashed var(--line); font-size:14.5px; color:var(--ink-3); display:flex; justify-content:space-between; gap:14px; flex-wrap:wrap; font-weight:600;}

/* ---------------- landing ---------------- */
.aa-hero{padding-block:44px 16px; text-align:center;}
.aa-hero-badge{
  display:inline-flex; align-items:center; gap:9px; margin-bottom:24px;
  background:var(--amber-soft); border:2px solid color-mix(in srgb, var(--amber) 34%, transparent);
  color:var(--warn); font-weight:800; font-size:14px; padding:8px 18px; border-radius:999px;
}
.aa-hero h1{font-size:clamp(44px,7.4vw,80px); max-width:16ch; margin-inline:auto;}
.aa-hero h1 .aa-hl{position:relative; white-space:nowrap; color:var(--mint);}
.aa-hero h1 .aa-hl svg{position:absolute; left:-4%; bottom:-.16em; width:108%; height:.36em;}
.aa-hero p.aa-lede{margin:26px auto 0; font-size:20.5px; color:var(--ink-2); max-width:50ch; font-weight:500;}
.aa-hero-stats{display:flex; gap:20px; flex-wrap:wrap; margin:36px 0 0; justify-content:center;}
.aa-hero-stats div{
  background:var(--surface); border:2px solid var(--line); border-radius:18px;
  padding:16px 26px; box-shadow:var(--shadow-xs); min-width:150px;
}
.aa-hero-stats b{display:block; font-size:32px; letter-spacing:-.04em; font-weight:800; margin-bottom:1px;}
.aa-hero-stats span{font-size:14px; color:var(--ink-3); font-weight:700;}
.aa-hs-1 b{color:var(--sky);} .aa-hs-2 b{color:var(--coral);} .aa-hs-3 b{color:var(--violet);}

.aa-audit-card{
  margin:44px auto 0; max-width:780px; text-align:left;
  background:var(--surface); border:2px solid var(--line);
  border-radius:26px; box-shadow:var(--shadow-lg); padding:38px;
}
.aa-audit-form{display:grid; grid-template-columns:1fr 1fr; gap:18px;}

.aa-progress{margin-top:32px;}
.aa-progress-track{height:10px; background:var(--line-2); border-radius:999px; overflow:hidden;}
.aa-progress-track i{display:block; height:100%; width:0; border-radius:999px; background:linear-gradient(90deg, var(--sky), var(--mint) 50%, var(--amber)); transition:width .6s cubic-bezier(.3,.7,.3,1);}
.aa-progress-steps{margin:24px 0 0; padding:0; list-style:none; display:flex; flex-direction:column; gap:14px;}
.aa-progress-steps li{font-size:16px; color:var(--ink-3); display:flex; gap:14px; align-items:center; transition:color .3s ease; font-weight:600;}
.aa-progress-steps li.aa-active{color:var(--ink); font-weight:800;}
.aa-progress-steps li.aa-done{color:var(--good);}
.aa-pip{width:12px; height:12px; border-radius:50%; background:var(--line); flex:none; transition:background .3s ease, box-shadow .3s ease;}
.aa-progress-steps li.aa-active .aa-pip{background:var(--mint); box-shadow:0 0 0 6px color-mix(in srgb, var(--mint) 20%, transparent);}
.aa-progress-steps li.aa-done .aa-pip{background:var(--good);}

.aa-err{margin-top:22px; font-size:16px; color:var(--critical); background:var(--critical-soft); border:2px solid color-mix(in srgb, var(--critical) 28%, transparent); border-radius:var(--radius-sm); padding:17px 20px; font-weight:700;}
.aa-sample-link{margin-top:30px; font-size:17px; color:var(--ink-3); text-align:center; font-weight:600;}

.aa-covers{margin-top:72px; display:grid; grid-template-columns:repeat(auto-fit,minmax(230px,1fr)); gap:20px;}
.aa-cover{
  background:var(--surface); border:2px solid var(--line); border-radius:var(--radius);
  padding:30px 26px 32px; box-shadow:var(--shadow-sm);
  transition:transform .22s ease, box-shadow .22s ease;
}
.aa-cover:hover{transform:translateY(-4px) rotate(-.6deg); box-shadow:var(--shadow);}
.aa-cover h3{font-size:21px; margin-bottom:10px;}
.aa-cover p{margin:0; font-size:15.5px; color:var(--ink-2); font-weight:500;}
.aa-cover .aa-art{
  width:64px; height:64px; border-radius:20px; display:grid; place-items:center;
  margin-bottom:18px; border:2px solid;
}
.aa-cover:nth-child(1) .aa-art{background:var(--sky-soft); border-color:color-mix(in srgb, var(--sky) 40%, transparent);}
.aa-cover:nth-child(2) .aa-art{background:var(--coral-soft); border-color:color-mix(in srgb, var(--coral) 40%, transparent);}
.aa-cover:nth-child(3) .aa-art{background:var(--violet-soft); border-color:color-mix(in srgb, var(--violet) 40%, transparent);}
.aa-cover:nth-child(4) .aa-art{background:var(--amber-soft); border-color:color-mix(in srgb, var(--amber) 42%, transparent);}
.aa-cover .aa-art svg{width:36px; height:36px;}

@media (max-width:760px){
  .aa-score-panel{grid-template-columns:1fr; gap:28px; padding:30px 22px 26px; justify-items:center; text-align:center;}
  .aa-verdict p{max-width:none;}
  .aa-risk{padding:28px 22px 32px;}
  .aa-gauge{width:200px;}
  .aa-ch-btn{grid-template-columns:auto 1fr auto; gap:14px; padding:20px 18px;}
  .aa-ch-art{display:none;}
  .aa-ring{width:52px; height:52px;}
  .aa-ch-name{font-size:19px;}
  .aa-findings{padding:8px 18px 22px;}
  .aa-gate{padding:30px 22px;}
  .aa-audit-card{padding:26px 20px;}
  .aa-form, .aa-audit-form{grid-template-columns:1fr;}
  .aa-model-body{padding:22px 18px;}
  .aa-hero-stats div{min-width:0; flex:1; padding:14px 18px;}
}
@media (prefers-reduced-motion: reduce){
  *{transition:none !important; animation:none !important;}
  .aa-gauge .aa-sweep{stroke-dashoffset:0 !important;}
  .aa-gauge .aa-cap{opacity:1 !important;}
}

/* partial-audit notice */
.aa-partial{
  margin:0; padding:18px 46px; background:var(--amber-soft);
  border-top:2px dashed color-mix(in srgb, var(--amber) 34%, transparent);
  font-size:15.5px; color:var(--ink-2); font-weight:500;
}
.aa-partial b{display:block; color:var(--ink); font-weight:800; font-size:16.5px; margin-bottom:3px;}
@media (max-width:760px){ .aa-partial{padding:16px 22px;} }

/* ---- business typeahead ---- */
.aa-typeahead{position:relative;}
.aa-suggest{
  position:absolute; top:100%; left:0; right:0; z-index:30; margin:8px 0 0; padding:6px;
  list-style:none; background:var(--surface); border:2px solid var(--line);
  border-radius:var(--radius-sm); box-shadow:var(--shadow); max-height:320px; overflow-y:auto;
}
.aa-suggest li{
  padding:12px 14px; border-radius:11px; cursor:pointer;
  display:flex; flex-direction:column; gap:2px;
}
.aa-suggest li:hover, .aa-suggest li.aa-on{background:var(--mint-soft);}
.aa-suggest li b{font-size:16px; font-weight:800; color:var(--ink);}
.aa-suggest li em{font-style:normal; font-size:13.5px; color:var(--ink-3); font-weight:500;}
.aa-picked{
  display:flex; align-items:center; gap:12px; flex-wrap:wrap; margin:10px 0 0;
  font-size:14.5px; font-weight:700; color:var(--good);
  background:var(--good-soft); border:2px solid color-mix(in srgb, var(--good) 28%, transparent);
  border-radius:12px; padding:10px 14px;
}
.aa-picked button{
  margin-left:auto; background:none; border:0; color:var(--accent-ink);
  font:inherit; font-size:14px; font-weight:800; cursor:pointer; text-decoration:underline;
}

/* ---- analysing screen ---- */
.aa-progress-head{display:flex; align-items:flex-end; justify-content:space-between; gap:20px; margin-bottom:18px;}
.aa-progress-head h3{font-size:24px; letter-spacing:-.035em; margin-top:4px;}
.aa-progress-pct{display:flex; align-items:baseline; gap:2px; color:var(--mint); font-weight:800;}
.aa-progress-pct span{font-size:36px; letter-spacing:-.045em; font-variant-numeric:tabular-nums;}
.aa-progress-pct small{font-size:17px;}
.aa-progress-steps li{
  display:grid; grid-template-columns:auto 1fr auto; align-items:center; gap:14px;
  padding:3px 0;
}
.aa-progress-steps li .aa-lbl{transition:color .3s ease;}
.aa-progress-steps li.aa-done .aa-lbl{color:var(--ink-3);}
.aa-progress-steps li .aa-tick-mini{
  width:20px; height:20px; border-radius:50%; opacity:0; transform:scale(.6);
  background:var(--good); position:relative; transition:opacity .25s ease, transform .25s ease;
}
.aa-progress-steps li.aa-done .aa-tick-mini{opacity:1; transform:scale(1);}
.aa-progress-steps li .aa-tick-mini::after{
  content:""; position:absolute; left:6px; top:4px; width:6px; height:10px;
  border-right:2.6px solid #fff; border-bottom:2.6px solid #fff; transform:rotate(42deg);
}
.aa-progress-steps li.aa-active .aa-pip{
  animation:pulse 1.4s ease-in-out infinite;
}
@keyframes pulse{
  0%,100%{box-shadow:0 0 0 5px color-mix(in srgb, var(--mint) 22%, transparent);}
  50%{box-shadow:0 0 0 11px color-mix(in srgb, var(--mint) 6%, transparent);}
}
.aa-progress-foot{margin:22px 0 0; font-size:14px; color:var(--ink-3); font-weight:500; max-width:56ch;}
@media (prefers-reduced-motion: reduce){ .aa-progress-steps li.aa-active .aa-pip{animation:none;} }



/* ============================================================
   Parallax backdrop
   Four original layers that drift with the cursor at different
   rates, over a procedural paper grain. No photography, no
   bitmaps - it all ships as vectors and CSS.
   ============================================================ */
.aa-bg{position:fixed; inset:-60px; z-index:0; pointer-events:none; overflow:hidden;}
.aa-bg-layer{position:absolute; inset:0; will-change:transform; transition:transform .35s cubic-bezier(.2,.7,.3,1);}

/* warm sunset wash, lifted from the reference palette */
.aa-bg-sun{
  background:
    radial-gradient(1100px 620px at 50% 104%, rgba(255,138,76,.30), transparent 62%),
    radial-gradient(900px 520px at 22% 96%, rgba(251,113,133,.24), transparent 60%),
    radial-gradient(900px 540px at 82% 92%, rgba(252,211,77,.26), transparent 62%),
    radial-gradient(880px 560px at 14% 2%, rgba(16,185,129,.12), transparent 60%),
    radial-gradient(820px 520px at 88% 6%, rgba(56,189,248,.12), transparent 60%);
}
.aa-bg-palms{display:flex; align-items:flex-end;}
.aa-bg-palms svg{width:100%; height:46vh; min-height:280px; display:block;}
.aa-bg-doodles{
  background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22620%22%20height%3D%22620%22%20viewBox%3D%220%200%20620%20620%22%20fill%3D%22none%22%3E%3Cg%20stroke%3D%22%2312241D%22%20opacity%3D%220.055%22%20stroke-width%3D%223%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20fill%3D%22none%22%3E%20%20%3C%21--%20storefront%20--%3E%20%20%3Cg%20transform%3D%22translate%2824%2C26%29%22%3E%3Cpath%20d%3D%22M6%2030h56v40H6z%22%2F%3E%3Cpath%20d%3D%22M2%2030l7-16h50l7%2016z%22%2F%3E%3Cpath%20d%3D%22M20%2014v16M34%2014v16M48%2014v16%22%2F%3E%3Crect%20x%3D%2224%22%20y%3D%2246%22%20width%3D%2220%22%20height%3D%2224%22%20rx%3D%222%22%2F%3E%3C%2Fg%3E%20%20%3C%21--%20fork%20and%20knife%20--%3E%20%20%3Cg%20transform%3D%22translate%28160%2C20%29%22%3E%3Cpath%20d%3D%22M8%204v22a6%206%200%200012%200V4M14%2026v40%22%2F%3E%3Cpath%20d%3D%22M40%204c8%206%208%2022%200%2026v36%22%2F%3E%3C%2Fg%3E%20%20%3C%21--%20map%20pin%20--%3E%20%20%3Cg%20transform%3D%22translate%28268%2C24%29%22%3E%3Cpath%20d%3D%22M26%2074s22-24%2022-40a22%2022%200%2010-44%200c0%2016%2022%2040%2022%2040z%22%2F%3E%3Ccircle%20cx%3D%2226%22%20cy%3D%2233%22%20r%3D%228%22%2F%3E%3C%2Fg%3E%20%20%3C%21--%20star%20--%3E%20%20%3Cg%20transform%3D%22translate%28378%2C32%29%22%3E%3Cpath%20d%3D%22M26%204l7%2015%2016%202-12%2011%203%2016-14-8-14%208%203-16-12-11%2016-2z%22%2F%3E%3C%2Fg%3E%20%20%3C%21--%20chat%20bubble%20--%3E%20%20%3Cg%20transform%3D%22translate%28482%2C26%29%22%3E%3Cpath%20d%3D%22M4%208h64v40H36L18%2062V48H4z%22%2F%3E%3Cpath%20d%3D%22M18%2024h34M18%2034h22%22%2F%3E%3C%2Fg%3E%20%20%3C%21--%20phone%20with%20chart%20--%3E%20%20%3Cg%20transform%3D%22translate%2840%2C158%29%22%3E%3Crect%20x%3D%224%22%20y%3D%224%22%20width%3D%2244%22%20height%3D%2270%22%20rx%3D%228%22%2F%3E%3Cpath%20d%3D%22M14%2056l10-14%208%207%2010-18%22%2F%3E%3Cpath%20d%3D%22M20%2012h12%22%2F%3E%3C%2Fg%3E%20%20%3C%21--%20coffee%20cup%20--%3E%20%20%3Cg%20transform%3D%22translate%28156%2C168%29%22%3E%3Cpath%20d%3D%22M6%2020h40v26a14%2014%200%2001-14%2014H20a14%2014%200%2001-14-14z%22%2F%3E%3Cpath%20d%3D%22M46%2026h8a8%208%200%20010%2016h-8%22%2F%3E%3Cpath%20d%3D%22M16%204c3%204%200%208%200%2010M30%204c3%204%200%208%200%2010%22%2F%3E%3C%2Fg%3E%20%20%3C%21--%20magnifier%20--%3E%20%20%3Cg%20transform%3D%22translate%28266%2C164%29%22%3E%3Ccircle%20cx%3D%2226%22%20cy%3D%2226%22%20r%3D%2220%22%2F%3E%3Cpath%20d%3D%22M41%2041l17%2017%22%2F%3E%3C%2Fg%3E%20%20%3C%21--%20lightbulb%20--%3E%20%20%3Cg%20transform%3D%22translate%28380%2C162%29%22%3E%3Cpath%20d%3D%22M26%206a18%2018%200%2000-10%2033v9h20v-9A18%2018%200%200026%206z%22%2F%3E%3Cpath%20d%3D%22M19%2058h14M21%2066h10%22%2F%3E%3C%2Fg%3E%20%20%3C%21--%20camera%20--%3E%20%20%3Cg%20transform%3D%22translate%28486%2C168%29%22%3E%3Crect%20x%3D%224%22%20y%3D%2214%22%20width%3D%2256%22%20height%3D%2240%22%20rx%3D%227%22%2F%3E%3Ccircle%20cx%3D%2232%22%20cy%3D%2234%22%20r%3D%2212%22%2F%3E%3Cpath%20d%3D%22M20%2014l5-8h14l5%208%22%2F%3E%3C%2Fg%3E%20%20%3C%21--%20shopping%20bag%20--%3E%20%20%3Cg%20transform%3D%22translate%2830%2C296%29%22%3E%3Cpath%20d%3D%22M8%2022h40l5%2046H3z%22%2F%3E%3Cpath%20d%3D%22M18%2022v-6a10%2010%200%200120%200v6%22%2F%3E%3C%2Fg%3E%20%20%3C%21--%20clock%20--%3E%20%20%3Cg%20transform%3D%22translate%28150%2C298%29%22%3E%3Ccircle%20cx%3D%2228%22%20cy%3D%2230%22%20r%3D%2224%22%2F%3E%3Cpath%20d%3D%22M28%2016v14l10%207%22%2F%3E%3C%2Fg%3E%20%20%3C%21--%20rising%20arrow%20--%3E%20%20%3Cg%20transform%3D%22translate%28262%2C306%29%22%3E%3Cpath%20d%3D%22M4%2050l16-20%2012%2011%2020-29%22%2F%3E%3Cpath%20d%3D%22M40%2012h14v14%22%2F%3E%3C%2Fg%3E%20%20%3C%21--%20heart%20--%3E%20%20%3Cg%20transform%3D%22translate%28378%2C300%29%22%3E%3Cpath%20d%3D%22M28%2060S4%2044%204%2026A14%2014%200%200128%2018%2014%2014%200%200152%2026c0%2018-24%2034-24%2034z%22%2F%3E%3C%2Fg%3E%20%20%3C%21--%20wifi%20--%3E%20%20%3Cg%20transform%3D%22translate%28482%2C308%29%22%3E%3Cpath%20d%3D%22M4%2022a40%2040%200%200156%200%22%2F%3E%3Cpath%20d%3D%22M16%2034a24%2024%200%200132%200%22%2F%3E%3Ccircle%20cx%3D%2232%22%20cy%3D%2246%22%20r%3D%223%22%2F%3E%3C%2Fg%3E%20%20%3C%21--%20plate%20--%3E%20%20%3Cg%20transform%3D%22translate%2846%2C430%29%22%3E%3Ccircle%20cx%3D%2230%22%20cy%3D%2230%22%20r%3D%2226%22%2F%3E%3Ccircle%20cx%3D%2230%22%20cy%3D%2230%22%20r%3D%2214%22%2F%3E%3C%2Fg%3E%20%20%3C%21--%20calendar%20--%3E%20%20%3Cg%20transform%3D%22translate%28158%2C432%29%22%3E%3Crect%20x%3D%224%22%20y%3D%2210%22%20width%3D%2252%22%20height%3D%2246%22%20rx%3D%226%22%2F%3E%3Cpath%20d%3D%22M4%2024h52M18%204v12M42%204v12%22%2F%3E%3C%2Fg%3E%20%20%3C%21--%20speech%20with%20stars%20--%3E%20%20%3Cg%20transform%3D%22translate%28270%2C436%29%22%3E%3Cpath%20d%3D%22M4%206h56v34H28L14%2052V40H4z%22%2F%3E%3Cpath%20d%3D%22M16%2022l4%205%204-5M32%2022l4%205%204-5%22%2F%3E%3C%2Fg%3E%20%20%3C%21--%20sparkle%20--%3E%20%20%3Cg%20transform%3D%22translate%28388%2C438%29%22%3E%3Cpath%20d%3D%22M26%204l5%2016%2016%205-16%205-5%2016-5-16-16-5%2016-5z%22%2F%3E%3C%2Fg%3E%20%20%3C%21--%20ticket%20--%3E%20%20%3Cg%20transform%3D%22translate%28482%2C440%29%22%3E%3Cpath%20d%3D%22M4%2018h56v12a6%206%200%20000%2012v12H4V42a6%206%200%20000-12z%22%2F%3E%3Cpath%20d%3D%22M28%2018v36%22%2F%3E%3C%2Fg%3E%3C%2Fg%3E%3C%2Fsvg%3E");
  background-size:620px 620px; background-repeat:repeat; opacity:.9;
}
.aa-bg-blooms .aa-bloom{position:absolute; filter:drop-shadow(0 8px 20px rgba(120,95,40,.10));}
.aa-bloom-a{width:190px; top:-34px; left:-42px; transform:rotate(-18deg);}
.aa-bloom-b{width:150px; top:26px; left:78px; transform:rotate(26deg);}
.aa-bloom-c{width:230px; right:-56px; bottom:-48px; transform:rotate(14deg);}

/* procedural paper grain - no image file */
.aa-bg-grain{
  position:absolute; inset:0; opacity:.5; mix-blend-mode:multiply;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='260' height='260'%3E%3Cfilter id='p'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.82' numOctaves='4' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='260' height='260' filter='url(%23p)' opacity='0.30'/%3E%3C/svg%3E");
}
.aa-wrap{position:relative; z-index:1;}

/* the report pages need calmer ground than the landing page */
.aa-bg.aa-calm .aa-bg-sun{opacity:.45;}
.aa-bg.aa-calm .aa-bg-palms{opacity:.55;}





@media (max-width:760px){
  .aa-bloom-b{display:none;}
  .aa-bloom-a{width:130px;} .aa-bloom-c{width:160px;}
  .aa-bg-palms svg{height:32vh; min-height:200px;}
}
@media (prefers-reduced-motion: reduce){
  .aa-bg-layer{transition:none !important; transform:none !important;}
}

/* ============================================================
   Conversion flow — from "here's what's broken" to "here's the fix,
   here's the price". Tied to the reader's own findings.
   ============================================================ */
.aa-convert{
  margin-top:64px; padding:46px 44px 48px;
  background:
    radial-gradient(640px 360px at 4% 0%, var(--amber-soft), transparent 62%),
    radial-gradient(620px 380px at 96% 100%, var(--sky-soft), transparent 62%),
    var(--surface);
  border:2px solid var(--line); border-radius:var(--radius); box-shadow:var(--shadow);
}
.aa-convert-head h2{font-size:clamp(30px,4.2vw,42px); margin-top:10px;}
.aa-convert-head p{margin:16px 0 0; font-size:18px; color:var(--ink-2); max-width:56ch; font-weight:500;}
.aa-convert-head b{color:var(--ink); font-weight:800;}

.aa-fixlist{list-style:none; margin:36px 0 0; padding:0; display:grid; gap:14px;}
.aa-fixrow{
  background:var(--surface); border:2px solid var(--line); border-radius:var(--radius-sm);
  padding:22px 24px;
}
.aa-fixrow-head{display:flex; align-items:center; justify-content:space-between; gap:16px; flex-wrap:wrap;}
.aa-fixrow-head h3{font-size:20px;}
.aa-fixrow-count{
  font-size:13px; font-weight:800; padding:5px 13px; border-radius:999px;
  background:var(--line-2); color:var(--ink-2); white-space:nowrap;
}
.aa-fixrow-count.aa-crit{background:var(--critical-soft); color:var(--critical);}
.aa-fixrow-blurb{margin:9px 0 0; font-size:15.5px; color:var(--ink-2); font-weight:500; max-width:64ch;}
.aa-fixrow-items{list-style:none; margin:16px 0 0; padding:0; display:grid; gap:8px;}
.aa-fixrow-items li{
  display:grid; grid-template-columns:auto 1fr; gap:11px; align-items:center;
  font-size:15px; color:var(--ink); font-weight:600;
}
.aa-fixrow-items li.aa-more{color:var(--ink-3); font-weight:500; padding-left:21px; display:block;}
.aa-fx{width:10px; height:10px; border-radius:3px; flex:none;}
.aa-fx-critical{background:var(--critical);}
.aa-fx-warning{background:var(--warn);}

.aa-plans{display:grid; grid-template-columns:repeat(auto-fit,minmax(280px,1fr)); gap:20px; margin-top:38px;}
.aa-plan{
  background:var(--surface); border:2px solid var(--line); border-radius:var(--radius);
  padding:30px 28px 32px; position:relative; box-shadow:var(--shadow-sm);
  display:flex; flex-direction:column;
}
.aa-plan-hi{border-color:var(--mint); box-shadow:var(--shadow);}
.aa-plan-flag{
  position:absolute; top:-13px; left:28px; background:var(--mint); color:#053B25;
  font-size:12.5px; font-weight:800; padding:5px 14px; border-radius:999px;
}
.aa-plan h3{font-size:22px;}
.aa-plan-price{display:flex; align-items:baseline; gap:8px; margin-top:14px;}
.aa-plan-price b{font-size:46px; font-weight:800; letter-spacing:-.045em; line-height:1;}
.aa-plan-price span{font-size:15px; color:var(--ink-3); font-weight:700;}
.aa-plan-note{
  margin-top:8px; font-size:14px; font-weight:800; color:var(--gold-3);
  background:var(--gold-soft); border:1px solid color-mix(in srgb, var(--gold) 45%, transparent);
  display:inline-block; padding:5px 12px; border-radius:999px;
}
.aa-plan-tag{margin:16px 0 0; font-size:16px; color:var(--ink-2); font-weight:500;}
.aa-plan-best{margin:10px 0 0; font-size:14.5px; color:var(--ink-3); font-weight:600;}
.aa-plan-extras{list-style:none; margin:18px 0 0; padding:0; display:grid; gap:10px;}
.aa-plan-extras li{display:grid; grid-template-columns:auto 1fr; gap:10px; align-items:center; font-size:14.5px; color:var(--ink-2); font-weight:600;}
.aa-plan-btn{margin-top:24px; width:100%;}
.aa-plan:not(.aa-plan-hi) .aa-plan-btn{
  background:var(--surface-2); color:var(--ink); border:2px solid var(--line); box-shadow:none;
}
.aa-plan:not(.aa-plan-hi) .aa-plan-btn:hover{border-color:var(--mint); transform:translateY(-2px);}

.aa-included{margin-top:42px; padding-top:34px; border-top:2px dashed var(--line);}
.aa-included h3{font-size:21px; margin-bottom:22px;}
.aa-included-grid{list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(auto-fit,minmax(290px,1fr)); gap:18px 30px;}
.aa-included-grid li{display:grid; grid-template-columns:auto 1fr; gap:12px; align-items:start;}
.aa-included-grid b{display:block; font-size:16px; font-weight:800; margin-bottom:2px;}
.aa-included-grid div{font-size:14.5px; color:var(--ink-2); font-weight:500;}

.aa-maitre{
  margin-top:42px; padding:32px 30px;
  background:linear-gradient(135deg, var(--violet-soft), var(--sky-soft));
  border:2px solid color-mix(in srgb, var(--violet) 32%, transparent);
  border-radius:var(--radius);
}
.aa-maitre h3{font-size:24px; margin-top:10px;}
.aa-maitre p{margin:14px 0 0; font-size:16px; color:var(--ink-2); font-weight:500; max-width:62ch;}
.aa-maitre-tiers{display:flex; gap:14px; flex-wrap:wrap; margin-top:22px;}
.aa-mt{
  background:var(--surface); border:2px solid var(--line); border-radius:var(--radius-sm);
  padding:16px 20px; min-width:190px;
}
.aa-mt b{display:block; font-size:16px; font-weight:800;}
.aa-mt-price{display:block; font-size:28px; font-weight:800; letter-spacing:-.04em; margin-top:4px;}
.aa-mt-price small{font-size:13px; color:var(--ink-3); font-weight:700; margin-left:4px;}
.aa-mt-detail{display:block; font-size:13.5px; color:var(--ink-3); font-weight:600; margin-top:3px;}
.aa-maitre-actions{display:flex; gap:22px; align-items:center; flex-wrap:wrap; margin-top:24px;}
.aa-btn-ghost{background:var(--ink); color:#fff; box-shadow:none;}
.aa-btn-ghost:hover{box-shadow:none;}
.aa-maitre-demo{font-size:14.5px; color:var(--ink-2); font-weight:500;}
.aa-maitre-demo b{font-weight:800; color:var(--ink);}
.aa-maitre-demo small{color:var(--ink-3);}

@media (max-width:760px){
  .aa-convert{padding:30px 22px 34px;}
  .aa-fixrow{padding:18px 18px;}
  .aa-maitre{padding:24px 20px;}
  .aa-plan{padding:26px 22px 28px;}
}

/* white ground: the colour washes were fighting the content */
.altitude-audit{background:var(--white) !important;}
.aa-bg-sun{opacity:.34;}
.aa-bg-doodles{opacity:.62;}
.aa-bg-grain{opacity:.28;}
.aa-bg-blooms{opacity:.72;}

.aa-field label .aa-opt{font-weight:600; color:var(--ink-3); font-size:12.5px; margin-left:6px;}
.aa-audited-url{
  margin:16px 0 0; font-size:14.5px; color:var(--ink-2); font-weight:500;
  background:var(--surface-2); border:1.5px solid var(--line);
  border-radius:12px; padding:12px 16px; display:inline-block;
}
.aa-audited-url b{color:var(--ink); font-weight:800;}

/* buttons: bigger, higher contrast, harder to miss */
.aa-btn{
  padding:18px 38px; font-size:17.5px; letter-spacing:-.024em;
  box-shadow:0 8px 0 -2px color-mix(in srgb, var(--green-deep) 85%, black),
             0 14px 28px -12px color-mix(in srgb, var(--green) 70%, transparent);
}
.aa-btn:hover{box-shadow:0 10px 0 -2px color-mix(in srgb, var(--green-deep) 85%, black),
                     0 18px 34px -12px color-mix(in srgb, var(--green) 75%, transparent);}
.aa-btn:active{box-shadow:0 3px 0 -2px color-mix(in srgb, var(--green-deep) 85%, black);}
.aa-plan-btn{padding:17px 28px; font-size:16.5px;}
.aa-plan:not(.aa-plan-hi) .aa-plan-btn{
  background:var(--white); color:var(--ink); border:2.5px solid var(--ink);
  box-shadow:0 5px 0 -1px var(--ink);
}
.aa-plan:not(.aa-plan-hi) .aa-plan-btn:hover{box-shadow:0 7px 0 -1px var(--ink);}
.aa-btn-ghost{box-shadow:0 6px 0 -1px #000;}
.aa-btn-ghost:hover{box-shadow:0 8px 0 -1px #000;}

/* ============================================================
   Hero legibility over a photographic background.
   The photo sits behind a white scrim that is strongest exactly
   where the headline falls, so any image can be dropped in
   without the copy disappearing into it.
   ============================================================ */
.aa-bg-scrim{
  position:absolute; inset:0; pointer-events:none;
  background:
    radial-gradient(1100px 620px at 50% 26%, rgba(255,255,255,.96), rgba(255,255,255,.70) 46%, rgba(255,255,255,.34) 72%, transparent 88%),
    linear-gradient(180deg, rgba(255,255,255,.82) 0%, rgba(255,255,255,.55) 34%, rgba(255,255,255,.78) 100%);
}
.aa-hero h1, .aa-hero p.aa-lede, .aa-subject h1{
  text-shadow:0 1px 0 rgba(255,255,255,.9), 0 0 22px rgba(255,255,255,.85);
}

/* ---- Maitre: a headline offer, sized like one ---- */
.aa-maitre{
  margin-top:52px; padding:44px 42px 46px;
  background:
    radial-gradient(620px 340px at 0% 0%, var(--violet-soft), transparent 64%),
    radial-gradient(600px 360px at 100% 100%, var(--sky-soft), transparent 64%),
    var(--white);
  border:2.5px solid var(--ink); border-radius:var(--radius);
  box-shadow:0 10px 0 -2px var(--ink), var(--shadow);
}
.aa-maitre-top{max-width:70ch;}
.aa-maitre h3{font-size:clamp(28px,4vw,40px); margin-top:12px; line-height:1.06;}
.aa-maitre-lede{margin:16px 0 0; font-size:19px; color:var(--ink-2); font-weight:600;}
.aa-maitre-grid{
  display:grid; grid-template-columns:1.25fr .95fr; gap:38px; margin-top:34px;
  align-items:start;
}
.aa-maitre-left p{margin:0; font-size:16.5px; color:var(--ink-2); font-weight:500;}
.aa-maitre-points{list-style:none; margin:22px 0 0; padding:0; display:grid; gap:13px;}
.aa-maitre-points li{
  display:grid; grid-template-columns:auto 1fr; gap:12px; align-items:start;
  font-size:16px; color:var(--ink); font-weight:600;
}
.aa-maitre-right{
  background:var(--surface); border:2px solid var(--line);
  border-radius:var(--radius-sm); padding:24px 22px 26px;
}
.aa-maitre-tiers{display:grid; gap:12px;}
.aa-mt{
  background:var(--surface-2); border:2px solid var(--line);
  border-radius:12px; padding:14px 18px;
}
.aa-mt b{display:block; font-size:15.5px; font-weight:800;}
.aa-mt-price{display:block; font-size:30px; font-weight:800; letter-spacing:-.04em; margin-top:2px;}
.aa-mt-price small{font-size:13px; color:var(--ink-3); font-weight:700; margin-left:5px;}
.aa-mt-detail{display:block; font-size:13.5px; color:var(--ink-3); font-weight:600; margin-top:2px;}
.aa-maitre-btn{width:100%; margin-top:18px;}
.aa-maitre-demo{
  margin-top:20px; padding-top:18px; border-top:2px dashed var(--line); text-align:center;
}
.aa-maitre-demo-label{
  display:block; font-size:12.5px; font-weight:800; letter-spacing:.08em;
  text-transform:uppercase; color:var(--ink-3); margin-bottom:6px;
}
.aa-maitre-demo b{display:block; font-size:22px; font-weight:800; letter-spacing:-.02em; color:var(--ink);}
.aa-maitre-demo small{display:block; margin-top:5px; font-size:13.5px; color:var(--ink-3); font-weight:500;}
@media (max-width:860px){
  .aa-maitre-grid{grid-template-columns:1fr; gap:26px;}
  .aa-maitre{padding:28px 22px 30px;}
}

/* =============================================================
   ALTITUDE BRAND — the mark, and the surfaces it sits on
   ============================================================= */
.altitude-audit .aa-mark svg{width:38px;height:38px;display:block;}
.altitude-audit .aa-mark-name{
  font-size:21px; font-weight:800; letter-spacing:.14em; text-transform:uppercase;
  color:var(--navy);
}
.altitude-audit .aa-mark-sub{color:var(--ink-3); font-weight:600;}

/* buttons: navy with a gold lift, not candy green */
.altitude-audit .aa-btn{
  background:var(--navy); color:#fff; border:0; border-radius:999px;
  padding:18px 38px; font-family:inherit; font-weight:700; font-size:17px;
  letter-spacing:-.016em; cursor:pointer;
  box-shadow:0 8px 0 -2px var(--gold-3), 0 16px 30px -14px rgba(10,29,59,.5);
  transition:transform .14s ease, box-shadow .18s ease, background .18s ease;
}
.altitude-audit .aa-btn:hover{
  transform:translateY(-2px); background:var(--navy-2);
  box-shadow:0 10px 0 -2px var(--gold-3), 0 20px 36px -14px rgba(10,29,59,.55);
}
.altitude-audit .aa-btn:active{transform:translateY(1px); box-shadow:0 5px 0 -2px var(--gold-3);}
.altitude-audit .aa-btn:disabled{opacity:.5; transform:none;}
.altitude-audit .aa-plan:not(.aa-plan-hi) .aa-plan-btn{
  background:var(--white); color:var(--navy); border:2px solid var(--navy);
  box-shadow:0 5px 0 -1px var(--navy);
}
.altitude-audit .aa-plan:not(.aa-plan-hi) .aa-plan-btn:hover{
  background:var(--navy-soft); box-shadow:0 7px 0 -1px var(--navy);
}
.altitude-audit .aa-btn-ghost{background:var(--gold-3); box-shadow:0 7px 0 -1px var(--navy);}
.altitude-audit .aa-btn-ghost:hover{background:var(--gold); box-shadow:0 9px 0 -1px var(--navy);}

/* gold accents where mint used to be */
.altitude-audit .aa-hero h1 .aa-hl{color:var(--navy);}
.altitude-audit .aa-eyebrow{color:var(--gold-3);}
.altitude-audit .aa-plan-hi{border-color:var(--gold);}
.altitude-audit .aa-plan-flag{background:var(--gold); color:var(--navy);}
.altitude-audit .aa-f-fix{
  background:var(--navy-soft); border-color:rgba(10,29,59,.14);
}
.altitude-audit .aa-f-fix b{color:var(--navy-3);}
.altitude-audit .aa-hero-badge{
  background:var(--gold-soft); border-color:var(--gold); color:var(--gold-3);
}
.altitude-audit .aa-maitre{
  background:
    radial-gradient(620px 340px at 0% 0%, var(--navy-soft), transparent 64%),
    radial-gradient(600px 360px at 100% 100%, var(--gold-soft), transparent 64%),
    var(--white);
  border-color:var(--navy); box-shadow:0 10px 0 -2px var(--navy), var(--shadow);
}
.altitude-audit .aa-hs-1 b{color:var(--navy);}
.altitude-audit .aa-hs-2 b{color:var(--gold-3);}
.altitude-audit .aa-hs-3 b{color:var(--navy-3);}

/* =============================================================
   THE GATE — teaser, then one email, then everything
   ============================================================= */
.altitude-audit .aa-locked-zone{position:relative;}
.altitude-audit .aa-locked-zone.aa-is-locked{max-height:420px; overflow:hidden;}
.altitude-audit .aa-locked-zone.aa-is-locked .aa-findings{filter:blur(5px); user-select:none; pointer-events:none;}
.altitude-audit .aa-locked-veil{
  position:absolute; inset:auto 0 0 0; height:280px; pointer-events:none;
  background:linear-gradient(180deg, rgba(255,255,255,0) 0%, rgba(255,255,255,.92) 58%, #fff 100%);
}
.altitude-audit .aa-locked-hint{
  color:var(--gold-3); font-weight:700; font-size:14px;
  background:var(--gold-soft); border:1.5px solid var(--gold);
  padding:5px 13px; border-radius:999px;
}

.altitude-audit .aa-unlock{
  margin-top:-40px; position:relative; z-index:2;
  background:
    radial-gradient(720px 380px at 100% 0%, var(--gold-soft), transparent 62%),
    radial-gradient(640px 360px at 0% 100%, var(--navy-soft), transparent 62%),
    var(--white);
  border:2.5px solid var(--navy); border-radius:var(--radius);
  box-shadow:0 10px 0 -2px var(--gold-3), var(--shadow-lg);
  padding:44px 42px 46px;
}
.altitude-audit .aa-unlock-inner{max-width:720px;}
.altitude-audit .aa-unlock h2{font-size:clamp(28px,4vw,40px); margin-top:12px; line-height:1.06;}
.altitude-audit .aa-unlock > .aa-unlock-inner > p{margin:14px 0 0; font-size:18px; color:var(--ink-2); font-weight:500; max-width:56ch;}
.altitude-audit .aa-unlock-list{
  list-style:none; margin:26px 0 0; padding:0;
  display:grid; grid-template-columns:repeat(auto-fit,minmax(260px,1fr)); gap:13px 28px;
}
.altitude-audit .aa-unlock-list li{
  display:grid; grid-template-columns:auto 1fr; gap:12px; align-items:center;
  font-size:16px; color:var(--ink); font-weight:600;
}
.altitude-audit .aa-unlock-form{margin-top:30px; padding-top:26px; border-top:2px dashed var(--line);}

/* =============================================================
   MOCKUP OFFER — the strongest thing on the page
   ============================================================= */
.altitude-audit .aa-mockup{
  margin-top:52px; padding:44px 42px;
  display:grid; grid-template-columns:minmax(0,320px) 1fr; gap:40px; align-items:center;
  background:linear-gradient(135deg, var(--navy) 0%, var(--navy-2) 60%, var(--navy-3) 100%);
  border-radius:var(--radius); box-shadow:var(--shadow-lg);
  color:#fff; position:relative; overflow:hidden;
}
.altitude-audit .aa-mockup::after{
  content:""; position:absolute; inset:0; pointer-events:none;
  background:radial-gradient(620px 300px at 90% 10%, rgba(194,160,99,.22), transparent 62%);
}
.altitude-audit .aa-mockup-art{position:relative; z-index:1;}
.altitude-audit .aa-mockup-art svg{width:100%; height:auto; display:block; filter:drop-shadow(0 18px 34px rgba(0,0,0,.35));}
.altitude-audit .aa-mockup-body{position:relative; z-index:1;}
.altitude-audit .aa-mockup-body .aa-eyebrow{color:var(--gold-2);}
.altitude-audit .aa-mockup h2{font-size:clamp(28px,3.8vw,40px); color:#fff; margin-top:12px; line-height:1.06;}
.altitude-audit .aa-mockup p{margin:16px 0 0; font-size:17px; color:rgba(255,255,255,.82); font-weight:500; max-width:52ch;}
.altitude-audit .aa-mockup strong{color:#fff;}
.altitude-audit .aa-mockup-promise{
  display:inline-flex; align-items:center; gap:12px; margin-top:22px;
  background:rgba(194,160,99,.16); border:1.5px solid rgba(194,160,99,.5);
  border-radius:999px; padding:11px 20px; font-size:16.5px; color:#fff;
}
.altitude-audit .aa-mockup-promise b{color:var(--gold-2);}
.altitude-audit .aa-mockup-clock{display:block; width:22px; height:22px; color:var(--gold-2); flex:none;}
.altitude-audit .aa-mockup-clock svg{width:100%; height:100%; display:block;}
.altitude-audit .aa-mockup .aa-btn{margin-top:26px; background:var(--gold); color:var(--navy); box-shadow:0 8px 0 -2px var(--gold-3);}
.altitude-audit .aa-mockup .aa-btn:hover{background:var(--gold-2); box-shadow:0 10px 0 -2px var(--gold-3);}

/* =============================================================
   MODALS
   ============================================================= */
.altitude-audit .aa-modal{position:fixed; inset:0; z-index:99999; display:grid; place-items:center; padding:20px;}
.altitude-audit .aa-modal-back{
  position:absolute; inset:0; background:rgba(10,29,59,.55);
  backdrop-filter:blur(3px); opacity:0; transition:opacity .22s ease;
}
.altitude-audit .aa-modal.aa-open .aa-modal-back{opacity:1;}
.altitude-audit .aa-modal-card{
  position:relative; width:100%; max-width:560px; max-height:90vh; overflow-y:auto;
  background:var(--white); border:2.5px solid var(--navy); border-radius:var(--radius);
  box-shadow:0 10px 0 -2px var(--gold-3), 0 40px 80px -30px rgba(10,29,59,.6);
  padding:38px 36px 34px;
  transform:translateY(18px) scale(.97); opacity:0;
  transition:transform .24s cubic-bezier(.2,.8,.3,1), opacity .22s ease;
}
.altitude-audit .aa-modal.aa-open .aa-modal-card{transform:none; opacity:1;}
.altitude-audit .aa-modal-card--slim{max-width:460px;}
.altitude-audit .aa-modal-card h3{font-size:clamp(23px,3vw,29px); margin-top:10px; line-height:1.1;}
.altitude-audit .aa-modal-card > p{margin:13px 0 0; font-size:16.5px; color:var(--ink-2); font-weight:500;}
.altitude-audit .aa-modal-form{margin-top:24px; padding-top:0; border-top:0; grid-template-columns:1fr;}
.altitude-audit .aa-modal-x{
  position:absolute; top:14px; right:16px; width:36px; height:36px; border-radius:50%;
  background:var(--surface-2); border:1.5px solid var(--line); color:var(--ink-2);
  font-size:22px; line-height:1; cursor:pointer; transition:background .15s ease;
}
.altitude-audit .aa-modal-x:hover{background:var(--line-2); color:var(--ink);}

@media (max-width:860px){
  .altitude-audit .aa-mockup{grid-template-columns:1fr; gap:28px; padding:30px 22px;}
  .altitude-audit .aa-mockup-art{max-width:300px;}
}
@media (max-width:760px){
  .altitude-audit .aa-unlock{padding:28px 22px 30px; margin-top:-24px;}
  .altitude-audit .aa-modal-card{padding:28px 22px 26px;}
}
@media (prefers-reduced-motion: reduce){
  .altitude-audit .aa-modal-card, .altitude-audit .aa-modal-back{transition:none;}
}

/* =============================================================
   STICKY ACTION BAR — the ask is never more than a glance away
   ============================================================= */
.altitude-audit .aa-stickybar{
  position:fixed; left:0; right:0; top:0; z-index:9000;
  background:rgba(255,255,255,.96); backdrop-filter:blur(10px);
  border-bottom:1px solid var(--line); box-shadow:0 6px 20px -12px rgba(10,29,59,.35);
  transform:translateY(-100%); transition:transform .28s cubic-bezier(.2,.8,.3,1);
}
.altitude-audit .aa-stickybar.aa-show{transform:none;}
.altitude-audit .aa-stickybar-in{
  max-width:1020px; margin:0 auto; padding:11px 20px;
  display:flex; align-items:center; gap:18px;
}
.altitude-audit .aa-sb-back{
  display:inline-flex; align-items:center; gap:7px; flex:none;
  background:none; border:1.5px solid var(--line); border-radius:999px;
  padding:8px 16px 8px 12px; font:inherit; font-size:14.5px; font-weight:700;
  color:var(--ink-2); cursor:pointer; transition:border-color .15s ease, color .15s ease;
}
.altitude-audit .aa-sb-back:hover{border-color:var(--navy); color:var(--navy);}
.altitude-audit .aa-sb-back svg{width:17px; height:17px;}
.altitude-audit .aa-sb-id{display:flex; align-items:center; gap:11px; min-width:0; flex:1;}
.altitude-audit .aa-sb-score{
  display:grid; place-items:center; width:36px; height:36px; border-radius:50%;
  font-size:15px; font-weight:800; flex:none; color:#fff;
}
.altitude-audit .aa-sb-score--bad{background:var(--critical);}
.altitude-audit .aa-sb-score--weak{background:var(--warn);}
.altitude-audit .aa-sb-score--fair{background:var(--gold-3);}
.altitude-audit .aa-sb-score--good{background:var(--good);}
.altitude-audit .aa-sb-name{
  font-weight:700; font-size:16px; color:var(--ink);
  white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
}
.altitude-audit .aa-sb-acts{display:flex; align-items:center; gap:16px; flex:none;}
.altitude-audit .aa-sb-tel{
  display:inline-flex; align-items:center; gap:8px; font-size:15px; font-weight:700;
  color:var(--navy); text-decoration:none;
}
.altitude-audit .aa-sb-tel svg{width:15px; height:15px;}
.altitude-audit .aa-sb-cta{padding:11px 24px; font-size:15.5px; box-shadow:0 5px 0 -2px var(--gold-3);}
.altitude-audit .aa-sb-cta:hover{box-shadow:0 7px 0 -2px var(--gold-3);}
@media (max-width:760px){
  .altitude-audit .aa-sb-back span, .altitude-audit .aa-sb-tel span, .altitude-audit .aa-sb-name{display:none;}
  .altitude-audit .aa-sb-id{flex:none;}
  .altitude-audit .aa-sb-acts{margin-left:auto; gap:6px;}
  .altitude-audit .aa-stickybar-in{padding:9px 14px; gap:10px;}
  /* Thumbs, not cursors: every control in the bar gets a 44px target.
     The icons stay the size they were — only the hit area grows. */
  .altitude-audit .aa-sb-back,
  .altitude-audit .aa-sb-tel{
    width:44px; height:44px; min-height:44px; padding:0;
    justify-content:center; border-radius:50%;
  }
  .altitude-audit .aa-sb-tel{background:var(--navy-soft);}
  .altitude-audit .aa-sb-tel svg{width:19px; height:19px;}
  .altitude-audit .aa-sb-back svg{width:19px; height:19px;}
  .altitude-audit .aa-sb-cta{padding:0 20px; min-height:44px; font-size:15px;}
}

/* =============================================================
   BENCHMARK — a score means nothing without a comparison
   ============================================================= */
.altitude-audit .aa-bench{
  margin-top:40px; padding:36px 38px;
  background:var(--surface); border:2px solid var(--line); border-radius:var(--radius);
  box-shadow:var(--shadow-sm);
}
.altitude-audit .aa-bench h2{font-size:clamp(24px,3.2vw,32px); margin-top:10px; line-height:1.1;}
.altitude-audit .aa-bench-head p{margin:12px 0 0; font-size:16.5px; color:var(--ink-2); font-weight:500; max-width:58ch;}
.altitude-audit .aa-bench-bars{list-style:none; margin:30px 0 0; padding:0; display:grid; gap:18px;}
.altitude-audit .aa-bench-bars li{
  display:grid; grid-template-columns:minmax(0,230px) 1fr auto; gap:18px; align-items:center;
}
.altitude-audit .aa-bench-label{font-size:15px; font-weight:600; color:var(--ink-2);}
.altitude-audit .aa-is-me .aa-bench-label{color:var(--ink); font-weight:800;}
.altitude-audit .aa-bench-track{height:14px; border-radius:999px; background:var(--line-2); overflow:hidden;}
.altitude-audit .aa-bench-fill{
  display:block; height:100%; width:var(--w); border-radius:999px;
  animation:aa-grow 1s cubic-bezier(.2,.8,.3,1) both;
}
@keyframes aa-grow{from{width:0;}to{width:var(--w);}}
.altitude-audit .aa-bench-bad{background:var(--critical);}
.altitude-audit .aa-bench-weak{background:var(--warn);}
.altitude-audit .aa-bench-fair{background:var(--gold);}
.altitude-audit .aa-bench-good{background:var(--good);}
.altitude-audit .aa-bench-mid{background:var(--ink-3);}
.altitude-audit .aa-bench-top{background:var(--navy);}
.altitude-audit .aa-bench-val{font-size:19px; font-weight:800; font-variant-numeric:tabular-nums; min-width:2.4ch; text-align:right;}
@media (max-width:680px){
  .altitude-audit .aa-bench{padding:26px 20px;}
  .altitude-audit .aa-bench-bars li{grid-template-columns:1fr auto; gap:8px 14px;}
  .altitude-audit .aa-bench-label{grid-column:1/-1;}
}

/* =============================================================
   WHAT HAPPENS NEXT
   ============================================================= */
.altitude-audit .aa-steps-sec{margin-top:56px;}
.altitude-audit .aa-steps-head h2{font-size:clamp(28px,4vw,40px); margin-top:10px; line-height:1.06;}
.altitude-audit .aa-steps-head p{margin:14px 0 0; font-size:17.5px; color:var(--ink-2); font-weight:500; max-width:56ch;}
.altitude-audit .aa-steps-list{
  list-style:none; margin:34px 0 0; padding:0;
  display:grid; grid-template-columns:repeat(auto-fit,minmax(280px,1fr)); gap:20px;
}
.altitude-audit .aa-steps-list li{
  background:var(--surface); border:2px solid var(--line); border-radius:var(--radius);
  padding:30px 26px 32px; box-shadow:var(--shadow-sm); position:relative;
}
.altitude-audit .aa-step-n{
  display:grid; place-items:center; width:46px; height:46px; border-radius:14px;
  background:var(--navy); color:var(--gold-2); font-size:20px; font-weight:800;
  margin-bottom:18px;
}
.altitude-audit .aa-step-when{
  display:inline-block; font-size:12.5px; font-weight:800; letter-spacing:.08em;
  text-transform:uppercase; color:var(--gold-3); background:var(--gold-soft);
  padding:4px 11px; border-radius:999px; margin-bottom:10px;
}
.altitude-audit .aa-steps-list h3{font-size:20px; margin-bottom:9px;}
.altitude-audit .aa-steps-list p{margin:0; font-size:15.5px; color:var(--ink-2); font-weight:500;}
.altitude-audit .aa-steps-cta{
  margin-top:28px; display:flex; align-items:center; gap:20px; flex-wrap:wrap;
  font-size:16px; color:var(--ink-2); font-weight:500;
}
.altitude-audit .aa-steps-cta a{font-weight:800; color:var(--navy);}

/* =============================================================
   GUARANTEE
   ============================================================= */
.altitude-audit .aa-guarantee{margin-top:56px;}
.altitude-audit .aa-guarantee h2{font-size:clamp(26px,3.6vw,36px); margin-top:10px;}
.altitude-audit .aa-guarantee-grid{
  margin-top:28px; display:grid; grid-template-columns:repeat(auto-fit,minmax(260px,1fr)); gap:18px;
}
.altitude-audit .aa-guarantee-card{
  background:var(--navy-soft); border:2px solid rgba(10,29,59,.1); border-radius:var(--radius);
  padding:26px 24px 28px;
}
.altitude-audit .aa-guarantee-card h3{font-size:18px; margin:14px 0 8px;}
.altitude-audit .aa-guarantee-card p{margin:0; font-size:15px; color:var(--ink-2); font-weight:500;}

/* =============================================================
   FAQ
   ============================================================= */
.altitude-audit .aa-faq{margin-top:56px;}
.altitude-audit .aa-faq h2{font-size:clamp(26px,3.6vw,36px); margin-top:10px;}
.altitude-audit .aa-faq-list{margin-top:26px; display:grid; gap:12px;}
.altitude-audit .aa-faq-item{
  background:var(--surface); border:2px solid var(--line); border-radius:var(--radius-sm);
  overflow:hidden;
}
.altitude-audit .aa-faq-item[open]{border-color:var(--navy);}
.altitude-audit .aa-faq-item summary{
  cursor:pointer; list-style:none; padding:20px 24px;
  display:flex; align-items:center; justify-content:space-between; gap:18px;
  font-size:17.5px; font-weight:700; color:var(--ink);
}
.altitude-audit .aa-faq-item summary::-webkit-details-marker{display:none;}
.altitude-audit .aa-faq-plus{
  position:relative; width:18px; height:18px; flex:none;
}
.altitude-audit .aa-faq-plus::before, .altitude-audit .aa-faq-plus::after{
  content:""; position:absolute; background:var(--navy); border-radius:2px;
  transition:transform .22s ease, opacity .22s ease;
}
.altitude-audit .aa-faq-plus::before{inset:8px 0 8px 0; height:2.5px;}
.altitude-audit .aa-faq-plus::after{inset:0 8px 0 8px; width:2.5px;}
.altitude-audit .aa-faq-item[open] .aa-faq-plus::after{transform:scaleY(0); opacity:0;}
.altitude-audit .aa-faq-item p{
  margin:0; padding:0 24px 22px; font-size:16px; color:var(--ink-2);
  font-weight:500; max-width:72ch;
}

/* =============================================================
   FINAL CTA
   ============================================================= */
.altitude-audit .aa-final{
  margin-top:60px; padding:52px 44px 56px; text-align:center;
  background:linear-gradient(140deg, var(--navy) 0%, var(--navy-2) 55%, var(--navy-3) 100%);
  border-radius:var(--radius); box-shadow:var(--shadow-lg); color:#fff;
  position:relative; overflow:hidden;
}
.altitude-audit .aa-final::after{
  content:""; position:absolute; inset:0; pointer-events:none;
  background:radial-gradient(700px 320px at 50% 0%, rgba(194,160,99,.22), transparent 64%);
}
.altitude-audit .aa-final-in{position:relative; z-index:1; max-width:640px; margin:0 auto;}
.altitude-audit .aa-final .aa-eyebrow{color:var(--gold-2);}
.altitude-audit .aa-final h2{font-size:clamp(30px,4.4vw,46px); color:#fff; margin-top:12px; line-height:1.04;}
.altitude-audit .aa-final p{margin:16px 0 0; font-size:18px; color:rgba(255,255,255,.84); font-weight:500;}
.altitude-audit .aa-final strong{color:var(--gold-2);}
.altitude-audit .aa-final-acts{margin-top:30px; display:flex; gap:16px; justify-content:center; flex-wrap:wrap;}
.altitude-audit .aa-final .aa-btn{background:var(--gold); color:var(--navy); box-shadow:0 8px 0 -2px var(--gold-3);}
.altitude-audit .aa-final .aa-btn:hover{background:var(--gold-2); box-shadow:0 10px 0 -2px var(--gold-3);}
.altitude-audit .aa-final .aa-btn-ghost{
  background:transparent; color:#fff; border:2px solid rgba(255,255,255,.4); box-shadow:none;
}
.altitude-audit .aa-final .aa-btn-ghost:hover{background:rgba(255,255,255,.1); border-color:#fff; box-shadow:none;}
.altitude-audit .aa-final-or{
  margin-top:26px; display:flex; align-items:center; justify-content:center; gap:12px;
  flex-wrap:wrap; font-size:16px; color:rgba(255,255,255,.7);
}
.altitude-audit .aa-final-or a{color:#fff; font-weight:800; font-size:20px; text-decoration:none;}
@media (max-width:680px){
  .altitude-audit .aa-final{padding:36px 22px 40px;}
  .altitude-audit .aa-steps-list li{padding:24px 20px 26px;}
  .altitude-audit .aa-faq-item summary{padding:16px 18px; font-size:16px;}
  .altitude-audit .aa-faq-item p{padding:0 18px 18px;}
}

/* =============================================================
   COMPETITORS — the businesses actually taking the calls
   ============================================================= */
.altitude-audit .aa-comp{
  margin-top:40px; padding:36px 38px;
  background:var(--surface); border:2px solid var(--line); border-radius:var(--radius);
  box-shadow:var(--shadow-sm);
}
.altitude-audit .aa-comp h2{font-size:clamp(25px,3.4vw,34px); margin-top:10px; line-height:1.08;}
.altitude-audit .aa-comp-head p{margin:12px 0 0; font-size:16.5px; color:var(--ink-2); font-weight:500; max-width:62ch;}
.altitude-audit .aa-comp-head strong{color:var(--ink);}
.altitude-audit .aa-comp-table{margin-top:26px; border:2px solid var(--line); border-radius:var(--radius-sm); overflow:hidden;}
.altitude-audit .aa-comp-row{
  display:grid; grid-template-columns:62px 1fr auto auto; gap:16px; align-items:center;
  padding:16px 20px; border-bottom:1px solid var(--line-2); background:var(--surface);
}
.altitude-audit .aa-comp-row:last-child{border-bottom:0;}
.altitude-audit .aa-comp-pos{
  font-size:17px; font-weight:800; color:var(--ink-3); font-variant-numeric:tabular-nums;
}
.altitude-audit .aa-comp-name{font-size:17px; font-weight:700; color:var(--ink); min-width:0;}
.altitude-audit .aa-comp-name em{font-style:normal; color:var(--ink-3); font-weight:600;}
.altitude-audit .aa-comp-stat{font-size:15px; color:var(--ink-2); font-weight:500; white-space:nowrap;}
.altitude-audit .aa-comp-stat b{font-weight:800; color:var(--ink);}
.altitude-audit .aa-comp-me{
  background:var(--navy); color:#fff; border-bottom:0;
  box-shadow:inset 4px 0 0 var(--gold);
}
.altitude-audit .aa-comp-me .aa-comp-pos{color:var(--gold-2);}
.altitude-audit .aa-comp-me .aa-comp-name,
.altitude-audit .aa-comp-me .aa-comp-stat b{color:#fff;}
.altitude-audit .aa-comp-me .aa-comp-name em,
.altitude-audit .aa-comp-me .aa-comp-stat{color:rgba(255,255,255,.72);}
.altitude-audit .aa-comp-gap{
  margin:22px 0 0; padding:16px 20px; font-size:16px; font-weight:500; color:var(--ink-2);
  background:var(--gold-soft); border:1.5px solid var(--gold); border-radius:var(--radius-sm);
}
.altitude-audit .aa-comp-gap strong{color:var(--ink); font-weight:800;}
.altitude-audit .aa-comp-cta{margin-top:24px;}
@media (max-width:680px){
  .altitude-audit .aa-comp{padding:26px 20px;}
  .altitude-audit .aa-comp-row{grid-template-columns:48px 1fr; gap:6px 12px; padding:14px 16px;}
  .altitude-audit .aa-comp-stat{grid-column:2; font-size:14px;}
}

/* ============================================================
   THE CONTACT CARD, DIRECTLY UNDER THE SCORE

   Three big tap-targets rather than a plain "contact us" field.
   Picking from a list is far less work than inventing a reason,
   and it tells us what they want before we pick up the phone.
   Rows on mobile, rows on desktop too — a three-across grid
   shrinks each option's text to the point where nobody reads it.
   ============================================================ */
.altitude-audit .aa-leadcard{
  margin-top:28px; padding:36px 34px 34px;
  background:var(--navy); color:#fff;
  border-radius:var(--radius); box-shadow:var(--shadow-lg);
  position:relative; overflow:hidden; scroll-margin-top:90px;
}
.altitude-audit .aa-leadcard::after{
  content:""; position:absolute; inset:auto -60px -90px auto;
  width:260px; height:260px; border-radius:50%;
  background:radial-gradient(circle, rgba(194,160,99,.26) 0%, transparent 68%);
  pointer-events:none;
}
.altitude-audit .aa-leadcard-head{position:relative; z-index:1; max-width:48ch;}
.altitude-audit .aa-leadcard .aa-eyebrow{color:var(--gold-2);}
.altitude-audit .aa-leadcard h2{
  margin:10px 0 0; color:#fff; font-size:clamp(27px, 4.6vw, 38px);
}
.altitude-audit .aa-leadcard-head p{
  margin:12px 0 0; font-size:17px; line-height:1.55; color:rgba(255,255,255,.82); font-weight:500;
}
.altitude-audit .aa-leadcard-head p strong{color:var(--gold-2); font-weight:800;}

.altitude-audit .aa-leadcard-form{margin-top:26px; position:relative; z-index:1;}

/* Some themes define .screen-reader-text and some do not, so the audit
   carries its own rather than depending on the theme it is dropped into. */
.altitude-audit .screen-reader-text{
  position:absolute !important; width:1px; height:1px; overflow:hidden;
  clip:rect(1px,1px,1px,1px); clip-path:inset(50%); white-space:nowrap; border:0; padding:0; margin:-1px;
}

/* ---- the three choices ---- */
.altitude-audit .aa-choices{
  border:0; margin:0; padding:0; display:grid; gap:12px;
}
.altitude-audit .aa-choice{
  position:relative; display:block; cursor:pointer;
}
.altitude-audit .aa-choice input{
  position:absolute; opacity:0; width:1px; height:1px; margin:0; pointer-events:none;
}
.altitude-audit .aa-choice-in{
  display:grid; grid-template-columns:auto 1fr auto; align-items:center; gap:16px;
  min-height:76px; padding:18px 20px;
  background:rgba(255,255,255,.07);
  border:2px solid rgba(255,255,255,.18);
  border-radius:var(--radius-sm);
  transition:background .15s ease, border-color .15s ease, transform .12s ease;
}
.altitude-audit .aa-choice:hover .aa-choice-in{
  background:rgba(255,255,255,.12); border-color:rgba(255,255,255,.34);
}
.altitude-audit .aa-choice:active .aa-choice-in{transform:translateY(1px);}
.altitude-audit .aa-choice input:checked + .aa-choice-in{
  background:rgba(194,160,99,.17); border-color:var(--gold);
  box-shadow:0 0 0 1px var(--gold) inset;
}
.altitude-audit .aa-choice input:focus-visible + .aa-choice-in{
  outline:3px solid var(--gold-2); outline-offset:3px;
}
.altitude-audit .aa-choice-icon{
  display:grid; place-items:center; width:46px; height:46px; flex:none;
  border-radius:12px; background:rgba(255,255,255,.1); color:#fff;
}
.altitude-audit .aa-choice input:checked + .aa-choice-in .aa-choice-icon{
  background:var(--gold); color:var(--navy);
}
.altitude-audit .aa-choice-icon svg{width:24px; height:24px;}
.altitude-audit .aa-choice-txt{display:block; min-width:0;}
.altitude-audit .aa-choice-txt b{
  display:block; font-size:17.5px; font-weight:800; color:#fff; letter-spacing:-.02em; line-height:1.25;
}
.altitude-audit .aa-choice-txt em{
  display:block; margin-top:4px; font-style:normal;
  font-size:14.5px; font-weight:500; line-height:1.4; color:rgba(255,255,255,.72);
}
.altitude-audit .aa-choice-tick{
  width:26px; height:26px; flex:none; border-radius:50%;
  border:2px solid rgba(255,255,255,.4); background:transparent;
  position:relative; transition:background .15s ease, border-color .15s ease;
}
.altitude-audit .aa-choice input:checked + .aa-choice-in .aa-choice-tick{
  background:var(--gold); border-color:var(--gold);
}
.altitude-audit .aa-choice input:checked + .aa-choice-in .aa-choice-tick::after{
  content:""; position:absolute; left:8px; top:4px; width:6px; height:11px;
  border:solid var(--navy); border-width:0 2.6px 2.6px 0; transform:rotate(43deg);
}
.altitude-audit .aa-choice-flag{
  position:absolute; top:-9px; right:16px;
  font-size:11px; font-weight:800; letter-spacing:.07em; text-transform:uppercase;
  color:var(--navy); background:var(--gold-2);
  padding:4px 10px; border-radius:999px; pointer-events:none;
}

/* ---- name / email / phone ---- */
.altitude-audit .aa-leadcard-fields{
  margin-top:22px; padding-top:22px; border-top:1px solid rgba(255,255,255,.16);
  display:grid; grid-template-columns:repeat(3, 1fr); gap:16px;
}
.altitude-audit .aa-leadcard-fields .aa-field label{color:rgba(255,255,255,.78);}
.altitude-audit .aa-leadcard-fields .aa-field input{
  background:rgba(255,255,255,.95); border-color:transparent; color:var(--ink);
  min-height:54px;
}
.altitude-audit .aa-leadcard-fields .aa-field input:focus{
  background:#fff; border-color:var(--gold);
  box-shadow:0 0 0 4px rgba(194,160,99,.32);
}
.altitude-audit .aa-leadcard-submit{
  grid-column:1/-1; display:flex; align-items:center; gap:20px; flex-wrap:wrap;
}
/* On navy, the page's default button shadow reads as a stray gold arc, so
   the card's button gets a flat gold treatment of its own. */
.altitude-audit .aa-leadcard-submit .aa-btn{
  min-height:58px; background:var(--gold); color:var(--navy);
  box-shadow:0 5px 0 -1px var(--gold-3);
}
.altitude-audit .aa-leadcard-submit .aa-btn:hover{
  background:var(--gold-2); box-shadow:0 7px 0 -1px var(--gold-3);
}
.altitude-audit .aa-leadcard-submit .aa-btn:active{box-shadow:0 2px 0 -1px var(--gold-3);}
.altitude-audit .aa-leadcard-submit .aa-btn:focus-visible{outline:3px solid #fff; outline-offset:3px;}
.altitude-audit .aa-leadcard-submit .aa-form-note{color:rgba(255,255,255,.62); max-width:38ch;}
.altitude-audit .aa-leadcard .aa-sent{
  position:relative; z-index:1;
  background:rgba(255,255,255,.95); border-color:var(--good);
}

@media (max-width:760px){
  .altitude-audit .aa-leadcard{padding:28px 18px 26px; border-radius:16px;}
  .altitude-audit .aa-leadcard h2{font-size:26px;}
  .altitude-audit .aa-leadcard-head p{font-size:16px;}
  /* The tick goes on narrow screens: the gold border and gold icon already
     say which one is picked, and dropping it gives the wording back about
     40px — the difference between a clean two lines and an ugly four. */
  .altitude-audit .aa-choice-in{
    grid-template-columns:auto 1fr; gap:14px; padding:16px 15px; min-height:0;
    align-items:start;
  }
  .altitude-audit .aa-choice-tick{display:none;}
  .altitude-audit .aa-choice-txt b{font-size:16.5px;}
  .altitude-audit .aa-choice-txt em{font-size:14.5px; margin-top:5px;}
  .altitude-audit .aa-choice-icon{width:40px; height:40px; border-radius:11px;}
  .altitude-audit .aa-choice-icon svg{width:21px; height:21px;}
  .altitude-audit .aa-choice-flag{right:12px;}
  .altitude-audit .aa-leadcard-fields{grid-template-columns:1fr; gap:14px;}
  .altitude-audit .aa-leadcard-submit .aa-btn{width:100%; text-align:center;}
  .altitude-audit .aa-leadcard-submit .aa-form-note{max-width:none; text-align:center; width:100%;}
}

/* =============================================================
   THE INSTANT MOCKUP

   The one thing on the page that is a picture rather than a
   number. Everything in the phone is the business's own data,
   so the frame has to look like a real phone or the content
   stops reading as real too.
   ============================================================= */
.altitude-audit .aa-mk{
  margin-top:40px; padding:40px 38px 34px; border-radius:var(--radius);
  background:linear-gradient(170deg,#FCFAF5 0%,#F4F7FB 100%);
  border:2px solid var(--line); position:relative; overflow:hidden;
  scroll-margin-top:90px;
}
.altitude-audit .aa-mk::after{
  content:""; position:absolute; right:-80px; top:-80px; width:300px; height:300px;
  border-radius:50%; background:radial-gradient(circle,rgba(194,160,99,.20) 0%,transparent 68%);
  pointer-events:none;
}
.altitude-audit .aa-mk-head{max-width:46ch; position:relative; z-index:1;}
.altitude-audit .aa-mk-head h2{margin:10px 0 0; font-size:clamp(27px,4.4vw,38px);}
.altitude-audit .aa-mk-head p{margin:14px 0 0; font-size:17px; color:var(--ink-2); font-weight:500;}
.altitude-audit .aa-mk-head p strong{color:var(--ink); font-weight:800;}

.altitude-audit .aa-mk-grid{
  margin-top:34px; display:grid; grid-template-columns:300px 1fr; gap:40px;
  align-items:start; position:relative; z-index:1;
}

/* ---- the phone ---- */
.altitude-audit .aa-phone{
  width:300px; border-radius:40px; background:#0b0f16; padding:11px;
  box-shadow:0 10px 24px rgba(10,29,59,.14), 0 48px 80px -36px rgba(10,29,59,.46);
  position:relative;
}
.altitude-audit .aa-phone::before{
  content:""; position:absolute; top:22px; left:50%; transform:translateX(-50%);
  width:84px; height:22px; border-radius:999px; background:#0b0f16; z-index:4;
}
.altitude-audit .aa-screen{
  border-radius:30px; overflow:hidden; background:#fff; height:566px;
  display:flex; flex-direction:column; position:relative;
}
.altitude-audit .aa-statusbar{
  position:absolute; inset:0 0 auto 0; z-index:3; height:34px;
  display:flex; align-items:center; justify-content:space-between; padding:0 18px;
  font-size:11.5px; font-weight:800; color:#fff; text-shadow:0 1px 3px rgba(0,0,0,.5);
}
.altitude-audit .aa-sitebar{
  position:absolute; top:44px; left:0; right:0; z-index:3;
  display:flex; align-items:center; justify-content:space-between; padding:0 14px; gap:10px;
}
.altitude-audit .aa-burger{display:grid; gap:4px; flex:none;}
.altitude-audit .aa-burger i{
  display:block; width:19px; height:2.4px; background:#fff; border-radius:2px;
  box-shadow:0 1px 2px rgba(0,0,0,.4);
}
.altitude-audit .aa-sb-pill{
  background:var(--gold); color:var(--navy); font-size:11.5px; font-weight:800;
  padding:7px 14px; border-radius:999px; white-space:nowrap;
}

.altitude-audit .aa-mk-hero{position:relative; height:272px; flex:none; overflow:hidden;}
.altitude-audit .aa-mk-hero img{
  position:absolute; inset:0; width:100%; height:100%; object-fit:cover; display:block;
}
.altitude-audit .aa-mk-nophoto{
  position:absolute; inset:0; display:grid; place-items:center;
  background:linear-gradient(150deg,var(--navy-2) 0%,var(--navy) 100%);
}
.altitude-audit .aa-mk-nophoto span{
  font-size:90px; font-weight:800; color:rgba(255,255,255,.14); line-height:1;
}
.altitude-audit .aa-mk-scrim{
  position:absolute; inset:0;
  background:linear-gradient(180deg,rgba(6,14,28,.55) 0%,rgba(6,14,28,.14) 30%,
                             rgba(6,14,28,.72) 56%,rgba(6,14,28,.93) 100%);
}
.altitude-audit .aa-mk-herotxt{
  position:absolute; left:16px; right:16px; bottom:15px; top:74px; z-index:2; color:#fff;
  display:flex; flex-direction:column; justify-content:flex-end;
}
.altitude-audit .aa-mk-kick{
  display:block; font-size:10px; font-weight:800; letter-spacing:.12em;
  text-transform:uppercase; color:var(--gold-2);
}
.altitude-audit .aa-mk-herotxt h3{
  margin:5px 0 0; font-size:25px; font-weight:800; letter-spacing:-.03em; line-height:1.05; color:#fff;
}
.altitude-audit .aa-mk-sub{margin:5px 0 0; font-size:12.5px; font-weight:600; color:rgba(255,255,255,.93);}
.altitude-audit .aa-mk-stars{
  margin:9px 0 0; display:flex; align-items:center; gap:6px;
  font-size:11.5px; font-weight:700; color:#fff;
}
.altitude-audit .aa-mk-stars svg{width:12px; height:12px; flex:none;}
.altitude-audit .aa-mk-cta{margin-top:11px; display:flex; gap:8px;}
.altitude-audit .aa-mk-cta span{
  flex:1; text-align:center; font-size:12.5px; font-weight:800; padding:11px 4px; border-radius:999px;
}
.altitude-audit .aa-mk-cta1{background:var(--gold); color:var(--navy);}
.altitude-audit .aa-mk-cta2{
  background:rgba(255,255,255,.17); color:#fff; border:1.5px solid rgba(255,255,255,.5);
}

.altitude-audit .aa-mk-body{flex:1; overflow:hidden; padding:13px 16px 0; background:#fff;}
.altitude-audit .aa-mk-links{display:flex; gap:7px; margin-bottom:13px;}
.altitude-audit .aa-mk-links span{
  flex:1; text-align:center; font-size:9px; font-weight:800; color:var(--navy);
  background:var(--navy-soft); border-radius:7px; padding:8px 2px; line-height:1.2;
  white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
}
.altitude-audit .aa-mk-quote{
  border:1.5px solid var(--line); border-radius:10px; padding:11px 12px; background:var(--cream);
}
.altitude-audit .aa-mk-qstars{display:flex; gap:2px; margin-bottom:6px;}
.altitude-audit .aa-mk-qstars svg{width:11px; height:11px;}
.altitude-audit .aa-mk-quote p{
  margin:0; font-size:11px; line-height:1.45; font-weight:600; color:var(--ink);
}
.altitude-audit .aa-mk-quote cite{
  display:block; margin-top:6px; font-style:normal; font-size:9.5px;
  font-weight:800; color:var(--ink-3);
}
.altitude-audit .aa-mk-where{
  margin-top:10px; padding:9px 11px; border-radius:9px;
  background:var(--surface-2); border:1.5px solid var(--line);
  display:flex; align-items:center; gap:7px; font-size:9.5px; font-weight:700; color:var(--ink-2);
  line-height:1.3;
}
.altitude-audit .aa-mk-where svg{width:13px; height:13px; flex:none;}
.altitude-audit .aa-mk-call{
  margin-top:9px; padding:10px 11px; border-radius:9px; background:var(--navy); color:#fff;
  display:flex; align-items:center; gap:7px; font-size:10px; font-weight:700;
}
.altitude-audit .aa-mk-call svg{width:12px; height:12px; flex:none;}
/* A long business name wraps to two lines and would otherwise push the hero
   text up into the nav bar. */
.altitude-audit .aa-mk-herotxt h3.aa-mk-long{font-size:19.5px; letter-spacing:-.026em; line-height:1.12;}
.altitude-audit .aa-mk-rest{
  margin:16px 0 0; padding:13px 16px; border-radius:var(--radius-sm);
  background:var(--navy-soft); font-size:14.5px; line-height:1.5;
  color:var(--ink-2); font-weight:500;
}

/* ---- the right-hand column ---- */
.altitude-audit .aa-mk-right{padding-top:4px;}
.altitude-audit .aa-mk-compare{
  display:grid; grid-template-columns:1fr auto 1fr; gap:14px; align-items:center;
}
.altitude-audit .aa-mk-dial{text-align:center;}
.altitude-audit .aa-mk-dial svg{width:104px; height:104px; display:block; margin:0 auto;}
.altitude-audit .aa-mk-dlbl{
  display:block; margin-top:8px; font-size:12px; font-weight:800;
  letter-spacing:.07em; text-transform:uppercase; color:var(--ink-3);
}
.altitude-audit .aa-mk-arrow{color:var(--gold-3); display:grid; place-items:center;}
.altitude-audit .aa-mk-arrow svg{width:26px; height:26px;}

.altitude-audit .aa-mk-gains{margin:26px 0 0; padding:0; list-style:none; display:grid; gap:11px;}
.altitude-audit .aa-mk-gains li{
  display:grid; grid-template-columns:22px 1fr; gap:11px; align-items:start;
  font-size:15.5px; color:var(--ink-2); font-weight:500; line-height:1.45;
}
.altitude-audit .aa-mk-gains b{color:var(--ink); font-weight:800;}
.altitude-audit .aa-mk-tick{
  width:22px; height:22px; border-radius:50%; background:var(--good);
  display:grid; place-items:center; margin-top:2px;
}
.altitude-audit .aa-mk-tick svg{width:12px; height:12px;}

.altitude-audit .aa-mk-acts{margin-top:28px; display:flex; gap:14px; flex-wrap:wrap;}
.altitude-audit .aa-mk-acts .aa-btn{
  background:var(--gold); color:var(--navy); box-shadow:0 5px 0 -1px var(--gold-3);
  min-height:56px;
}
.altitude-audit .aa-mk-acts .aa-btn:hover{background:var(--gold-2); box-shadow:0 7px 0 -1px var(--gold-3);}
.altitude-audit .aa-mk-acts .aa-btn-line{
  background:#fff; color:var(--ink); border:2.5px solid var(--ink); box-shadow:0 5px 0 -1px var(--ink);
}
.altitude-audit .aa-mk-acts .aa-btn-line:hover{background:#fff; box-shadow:0 7px 0 -1px var(--ink);}
.altitude-audit .aa-mk-note{margin:14px 0 0; max-width:34ch;}

.altitude-audit .aa-mk-basis{
  position:relative; z-index:1; margin:30px 0 0; padding:16px 20px;
  border-radius:var(--radius-sm); background:var(--gold-soft); border:1.5px solid var(--gold);
  font-size:15px; line-height:1.55; color:var(--ink-2); font-weight:500;
}
.altitude-audit .aa-mk-basis b{color:var(--ink); font-weight:800;}

@media (max-width:860px){
  .altitude-audit .aa-mk{padding:28px 18px 26px;}
  .altitude-audit .aa-mk-head h2{font-size:26px;}
  .altitude-audit .aa-mk-head p{font-size:16px;}
  .altitude-audit .aa-mk-grid{grid-template-columns:1fr; gap:32px; justify-items:center;}
  .altitude-audit .aa-mk-right{width:100%;}
  .altitude-audit .aa-mk-acts{flex-direction:column;}
  .altitude-audit .aa-mk-acts .aa-btn{width:100%; text-align:center;}
  .altitude-audit .aa-mk-note{max-width:none; text-align:center;}
}
@media (max-width:360px){
  /* The phone frame is a fixed 300px; below this it needs to shrink. */
  .altitude-audit .aa-phone{transform:scale(.92); transform-origin:top center;}
}

/* =============================================================
   CLIENT RESULTS — unnamed, but real
   ============================================================= */
.altitude-audit .aa-proof{margin-top:48px;}
.altitude-audit .aa-proof-head{max-width:52ch;}
.altitude-audit .aa-proof-head h2{margin:10px 0 0; font-size:clamp(26px,4vw,36px);}
.altitude-audit .aa-proof-head p{margin:12px 0 0; font-size:17px; color:var(--ink-2); font-weight:500;}
.altitude-audit .aa-proof-grid{
  margin-top:26px; display:grid; grid-template-columns:repeat(auto-fit,minmax(248px,1fr)); gap:16px;
}
.altitude-audit .aa-proof-card{
  background:var(--surface); border:2px solid var(--line); border-radius:var(--radius);
  padding:24px 24px 22px; box-shadow:var(--shadow-sm);
  border-left:5px solid var(--gold);
}
.altitude-audit .aa-proof-who{
  margin:0; font-size:13.5px; font-weight:800; letter-spacing:.04em;
  text-transform:uppercase; color:var(--ink-3);
}
.altitude-audit .aa-proof-result{
  margin:10px 0 0; font-size:19px; font-weight:800; line-height:1.3;
  letter-spacing:-.025em; color:var(--ink);
}
.altitude-audit .aa-proof-when{
  margin:9px 0 0; font-size:14.5px; font-weight:600; color:var(--good);
}
.altitude-audit .aa-proof-note{
  margin:20px 0 0; font-size:15.5px; color:var(--ink-3); font-weight:500;
}
@media (max-width:680px){
  .altitude-audit .aa-proof-grid{grid-template-columns:1fr;}
  .altitude-audit .aa-proof-card{padding:20px 20px 18px;}
  .altitude-audit .aa-proof-result{font-size:18px;}
}

/* =============================================================
   THE BOOKING STEP, SHOWN THE MOMENT THEY SUBMIT

   A thank-you line is a dead end. This is the one moment we
   know for certain they are still on the page, so it offers
   the calendar instead.
   ============================================================= */
.altitude-audit .aa-sent-msg{margin:0; font-size:16.5px; font-weight:700;}
.altitude-audit .aa-sent-note{
  margin:10px 0 0; font-size:15px; line-height:1.55; font-weight:500; color:var(--ink-2);
}
.altitude-audit .aa-sent-book{
  display:inline-flex; align-items:center; justify-content:center; margin-top:16px;
  text-decoration:none; min-height:52px;
  background:var(--gold); color:var(--navy); box-shadow:0 5px 0 -1px var(--gold-3);
}
.altitude-audit .aa-sent-book:hover{background:var(--gold-2); box-shadow:0 7px 0 -1px var(--gold-3);}
.altitude-audit .aa-sent-book:active{box-shadow:0 2px 0 -1px var(--gold-3);}
/* Inside the navy contact card the confirmation sits on white, so the
   body copy has to flip back to dark ink. */
.altitude-audit .aa-leadcard .aa-sent-note{color:var(--ink-2);}
@media (max-width:620px){
  .altitude-audit .aa-sent-book{width:100%;}
}

/* ---- one card, everything points here ---- */
.altitude-audit .aa-chosen-plan{
  grid-column:1/-1; margin:0; padding:11px 15px; border-radius:var(--radius-sm);
  background:rgba(194,160,99,.18); border:1px solid var(--gold);
  font-size:14.5px; font-weight:700; color:#fff;
}
.altitude-audit .aa-chosen-plan[hidden]{display:none !important;}
/* A page that silently jumps leaves people wondering whether the button
   did anything, so the card says "here, this one". */
@keyframes aa-flash{
  0%{box-shadow:var(--shadow-lg), 0 0 0 0 rgba(194,160,99,.75);}
  100%{box-shadow:var(--shadow-lg), 0 0 0 16px rgba(194,160,99,0);}
}
.altitude-audit .aa-leadcard.aa-flash{animation:aa-flash 1.1s ease-out 1;}
@media (prefers-reduced-motion:reduce){
  .altitude-audit .aa-leadcard.aa-flash{animation:none;}
}

/* ---- the calendar, inline in the confirmation ---- */
.altitude-audit .aa-cal{margin-top:20px; padding-top:18px; border-top:2px dashed var(--line);}
.altitude-audit .aa-cal-head{
  margin:0; font-size:18px; font-weight:800; letter-spacing:-.022em; color:var(--ink);
}
.altitude-audit .aa-cal-sub{
  margin:6px 0 0; font-size:15px; font-weight:500; color:var(--ink-2);
}
.altitude-audit .aa-cal-slot{
  margin-top:14px; min-width:0; width:100%; height:680px;
  border:2px solid var(--line); border-radius:var(--radius-sm); overflow:hidden; background:#fff;
}
.altitude-audit .aa-cal-link{
  display:inline-flex; align-items:center; justify-content:center; margin-top:16px;
  text-decoration:none; min-height:52px;
  background:var(--gold); color:var(--navy); box-shadow:0 5px 0 -1px var(--gold-3);
}
.altitude-audit .aa-cal-link:hover{background:var(--gold-2); box-shadow:0 7px 0 -1px var(--gold-3);}
/* Once the widget has loaded the big button is clutter, so it steps back
   to a quiet link rather than disappearing — some people's extensions
   break the embed and they still need a way through. */
.altitude-audit .aa-cal-link--quiet{
  display:block; margin-top:12px; padding:0; min-height:0; background:none; box-shadow:none;
  color:var(--accent-ink); font-size:14px; font-weight:600; text-align:center; text-decoration:underline;
}
.altitude-audit .aa-cal-link--quiet:hover{background:none; box-shadow:none;}
.altitude-audit .aa-cal-done{
  margin:16px 0 0; padding:14px 18px; border-radius:var(--radius-sm);
  background:var(--good-soft); border:2px solid var(--good);
  font-size:16px; font-weight:800; color:var(--good);
}
@media (max-width:620px){
  .altitude-audit .aa-cal-slot{height:740px;}
  .altitude-audit .aa-cal-link{width:100%;}
}

/* ---- a finding reads: what's wrong, why it matters, how it gets fixed ---- */
.altitude-audit .aa-f-part{margin:12px 0 0;}
.altitude-audit .aa-f-label{
  display:block; font-size:11.5px; font-weight:800; letter-spacing:.09em;
  text-transform:uppercase; color:var(--ink-3); margin-bottom:5px;
}
.altitude-audit .aa-f-part p{
  margin:0; font-size:16px; line-height:1.6; color:var(--ink-2); font-weight:500;
}
.altitude-audit .aa-f-part--fix{
  padding:14px 18px; border-radius:var(--radius-sm);
  background:var(--navy-soft); border-left:4px solid var(--gold);
}
.altitude-audit .aa-f-part--fix .aa-f-label{color:var(--accent-ink);}
.altitude-audit .aa-f-part--fix p{color:var(--ink); font-weight:700;}
@media (max-width:620px){
  .altitude-audit .aa-f-part--fix{padding:12px 14px;}
  .altitude-audit .aa-f-part p{font-size:15.5px;}
}

/* =============================================================
   THREE OPTIONS: MONTHLY, ONE-TIME, AND A QUOTE

   The quote card carries no price on purpose, so it needs a
   visual weight of its own: lighter than the two priced cards,
   but still obviously one of the three choices.
   ============================================================= */
.altitude-audit .aa-plans--three{
  grid-template-columns:repeat(auto-fit,minmax(272px,1fr)); align-items:stretch;
}
.altitude-audit .aa-plans--three .aa-plan{display:flex; flex-direction:column;}
.altitude-audit .aa-plans--three .aa-plan-btn{margin-top:auto;}

/* The period sits next to the figure, so a one-off and a monthly
   price can never be mistaken for each other. */
.altitude-audit .aa-plan-price span{white-space:nowrap;}

/* What a plan does NOT include, said on the card rather than saved
   up for the call. */
.altitude-audit .aa-plan-no{color:var(--ink-3);}
.altitude-audit .aa-plan-no .aa-no{
  display:grid; place-items:center; width:21px; height:21px; flex:none;
  border-radius:50%; background:var(--line-2); color:var(--ink-3);
}
.altitude-audit .aa-plan-no .aa-no svg{width:11px; height:11px;}

.altitude-audit .aa-plan-quote{
  background:var(--cream); border-style:dashed; border-color:var(--gold);
}
.altitude-audit .aa-plan-price--quote b{
  font-size:30px; letter-spacing:-.03em; color:var(--gold-3);
}

/* The arithmetic that makes the one-time fix an easy yes. */
.altitude-audit .aa-plan-compare{
  margin:22px 0 0; padding:16px 20px; border-radius:var(--radius-sm);
  background:var(--navy); color:#fff;
  font-size:16.5px; font-weight:700; line-height:1.5; text-align:center;
}

/* Only the quote needs a location, so the field appears with it. */
.altitude-audit .aa-field-location[hidden]{display:none !important;}

@media (max-width:620px){
  .altitude-audit .aa-plan-compare{font-size:15.5px; padding:14px 16px; text-align:left;}
  .altitude-audit .aa-plan-price--quote b{font-size:26px;}
}

/* An option that is not offered until the reader has got far enough down the
   page to be asking the question it answers. */
.altitude-audit .aa-choice-later[hidden]{display:none !important;}

/* =============================================================
   WHAT IS IN THE REST OF THE REPORT

   The contact card sits high on the page because that is when
   somebody is most willing to act. The danger is that it reads
   as the end. This strip shows there are four more parts below,
   so the card becomes one option rather than the exit.
   ============================================================= */
.altitude-audit .aa-contents{margin-top:28px;}
.altitude-audit .aa-contents-lead{
  margin:0 0 14px; font-size:15px; font-weight:800; letter-spacing:.02em; color:var(--ink-3);
}
.altitude-audit .aa-contents-list{
  list-style:none; margin:0; padding:0;
  /* Fixed tracks rather than auto-fit: four items in a three-column grid
     leave one orphan on a second row, which reads as a mistake. */
  display:grid; grid-template-columns:repeat(4,1fr); gap:12px;
}
@media (max-width:1040px){
  .altitude-audit .aa-contents-list{grid-template-columns:repeat(2,1fr);}
}
.altitude-audit .aa-contents-list a{
  display:grid; grid-template-columns:auto 1fr auto; align-items:center; gap:13px;
  height:100%; padding:15px 16px; text-decoration:none;
  background:var(--surface); border:2px solid var(--line); border-radius:var(--radius-sm);
  transition:border-color .15s ease, transform .12s ease, box-shadow .16s ease;
}
.altitude-audit .aa-contents-list a:hover{
  border-color:var(--gold); transform:translateY(-2px); box-shadow:var(--shadow-sm);
}
.altitude-audit .aa-contents-n{
  display:grid; place-items:center; width:30px; height:30px; flex:none; border-radius:9px;
  background:var(--navy); color:#fff; font-size:14px; font-weight:800;
}
.altitude-audit .aa-contents-txt{display:block; min-width:0;}
.altitude-audit .aa-contents-txt b{
  display:block; font-size:15.5px; font-weight:800; color:var(--ink); line-height:1.25;
  letter-spacing:-.018em;
}
.altitude-audit .aa-contents-txt em{
  display:block; margin-top:3px; font-style:normal; font-size:13.5px; font-weight:500;
  color:var(--ink-3); line-height:1.4;
}
.altitude-audit .aa-contents-arrow{color:var(--gold-3); display:grid; place-items:center;}
.altitude-audit .aa-contents-arrow svg{width:18px; height:18px;}
@media (max-width:620px){
  .altitude-audit .aa-contents-list{grid-template-columns:1fr; gap:10px;}
  .altitude-audit .aa-contents-list a{padding:13px 14px; min-height:60px;}
}
