.asltip-mform-page{--am-navy:#0b2f52;--am-blue:#1578cc;--am-blue-soft:#e3eff9;--am-ground:#f4f8fc;--am-border:#dbe7f2;--am-input:#cbdeef;--am-ink:#14243a;--am-ink2:#33475b;--am-muted:#5b6876;--am-hint:#7b8794;--am-good:#0d7d3f;--am-good-bg:#e0f7ea;--am-bad:#a11d1d;--am-bad-bg:#fde2e2;
  font-family:Roboto,Heebo,system-ui,sans-serif;color:var(--am-ink)}
.asltip-mform-page *,.asltip-mform-page *::before,.asltip-mform-page *::after{box-sizing:border-box}
.asltip-mform-page a{color:var(--am-blue)}
.asltip-mform-page *:focus-visible{outline:2px solid var(--am-blue);outline-offset:2px}
.asltip-mform__opt:has(input:focus-visible),.asltip-mform__drop:has(input:focus-visible){outline:2px solid #1578cc;outline-offset:2px}
/* Page shell mirrors the members-area V2 template (themes/asltip/css/members-home-v2.css):
   ground #f4f8fc, 34px/60px vertical padding, .wrapper capped at 1240px / 92%. */
.asltip-mform-page{background:var(--am-ground);padding:34px 0 60px}
.asltip-mform-page .wrapper,.asltip-mform-page>.asltip-mform-page__inner{max-width:1240px;width:92%;margin:0 auto}
.asltip-mform-page__inner{margin:0 auto;padding:0}
.asltip-mform-page__title{margin:0 0 20px}
.am-i,.asltip-mform-page svg.am-i{width:18px;height:18px;flex:0 0 18px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;vertical-align:middle}
.am-i--s{width:15px;height:15px;flex-basis:15px}.am-i--l{width:22px;height:22px;flex-basis:22px}

/* ---- hero ---- */
/* Hero, eyebrow and cards mirror .asltip-home-hero / .asltip-home-eyebrow / .asltip-home-card in
   themes/asltip/css/members-home-v2.css so the form and Switch-to-DD pages read as members-area pages. */
.asltip-mform__hero{background:linear-gradient(115deg,#0b2f52 0%,#14548e 62%,#1578cc 118%);color:#fff;padding:34px 38px;border-radius:16px;margin-bottom:16px}
.asltip-mform__eyebrow{display:inline-flex;align-items:center;gap:8px;font:700 12px Heebo,sans-serif;letter-spacing:1.2px;text-transform:uppercase;color:#8fc1ea}
.asltip-mform__eyebrow::before{content:"";width:20px;height:3px;border-radius:2px;background:#1acd6a}
.asltip-mform__hero h1{font:700 32px Heebo,sans-serif;margin:6px 0 6px;color:#fff}
.asltip-mform__hero p{margin:7px 0 18px;color:#b9d4ec;max-width:60ch;font-size:14px}
.asltip-mform__steps{display:flex;gap:10px;list-style:none;padding:0;margin:0;flex-wrap:wrap}
.asltip-mform__step{display:flex;align-items:center;gap:8px;font:500 13px Heebo,sans-serif;padding:7px 12px;border-radius:999px;background:rgba(255,255,255,.14)}
.asltip-mform__step.is-current{background:#fff;color:var(--am-navy)}
.asltip-mform__step.is-done{background:rgba(255,255,255,.22)}
.asltip-mform__step i{width:20px;height:20px;border-radius:50%;background:rgba(255,255,255,.25);display:inline-flex;align-items:center;justify-content:center;font-style:normal;font-size:11px;font-weight:700}
.asltip-mform__step.is-current i{background:var(--am-blue);color:#fff}
.asltip-mform__step.is-done i{background:#1acd6a;color:var(--am-navy)}

/* ---- body ---- */
.asltip-mform__body{background:transparent}
.asltip-mform__body>form{padding:0;display:flex;flex-direction:column;gap:18px}
.asltip-mform__body>.asltip-mform__done{padding:26px 40px 34px;display:flex;flex-direction:column;gap:18px}
.asltip-mform__body form{padding:0;display:flex;flex-direction:column;gap:18px}
.asltip-mform__body .asltip-mform__fees-wrap{padding:0;margin-bottom:20px}
.asltip-mform__body .asltip-mform__done{padding:26px 40px 34px}

/* ---- membership / payment choice cards ---- */
.asltip-mform__choice-grid,.asltip-mform__pay{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.asltip-mform__opt{border:2px solid var(--am-border);border-radius:14px;padding:14px 16px;display:flex;gap:12px;align-items:flex-start;position:relative;cursor:pointer;background:#fff;font-weight:400}
.asltip-mform__pay .asltip-mform__opt{padding:16px 18px}
.asltip-mform__opt input{position:absolute;opacity:0;width:0;height:0}
.asltip-mform__opt:has(input:checked),.asltip-mform__opt.is-on{border-color:var(--am-blue);background:#f0f7ff}
.asltip-mform__opt strong{display:block;font:700 15px Heebo,sans-serif;color:var(--am-navy)}
.asltip-mform__pay .asltip-mform__opt strong{font-size:16px}
.asltip-mform__opt>span>span{display:block;font-size:13px;color:var(--am-muted);font-weight:400;margin-top:2px}
.asltip-mform__tag{position:absolute;top:12px;right:12px;font:600 11px Heebo,sans-serif;background:var(--am-good-bg);color:var(--am-good);padding:2px 8px;border-radius:999px;font-style:normal}
.asltip-mform__opt .am-i{color:#7b8794}.asltip-mform__opt.is-on .am-i,.asltip-mform__opt:has(input:checked) .am-i{color:#1578cc}

/* ---- dev fill strip ---- */
.asltip-mform__dev{background:#fffbeb;border:1px dashed #f59e0b;border-radius:10px;padding:12px 16px;margin:0;display:flex;gap:10px;align-items:center;flex-wrap:wrap;font-size:13px;color:#78350f}

/* ---- section cards ---- */
.asltip-mform__section{border:1px solid var(--am-border);border-radius:14px;padding:20px 22px;margin:0;display:flex;flex-direction:column;gap:12px;background:#fff;box-shadow:0 1px 2px rgba(11,47,82,.05)}
.asltip-mform__section>.asltip-mform__section-h,.asltip-mform__section>h3{font:700 12.5px Heebo,sans-serif;letter-spacing:1px;text-transform:uppercase;color:var(--am-ink);margin:0;padding:0;display:flex;align-items:center;gap:10px;width:100%}
.asltip-mform__section>.asltip-mform__section-h>.am-i,.asltip-mform__section>h3>.am-i{width:31px;height:31px;flex:0 0 31px;padding:7px;border-radius:9px;background:var(--am-blue-soft);color:var(--am-blue)}
.asltip-mform__section-help{margin-left:auto;font:400 12px Roboto,sans-serif;color:var(--am-hint);font-weight:400;text-transform:none;letter-spacing:0}

/* ---- field grid ---- */
.asltip-mform__grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.asltip-mform__field{display:flex;flex-direction:column;gap:5px;font-size:12px;color:var(--am-muted)}
.asltip-mform__field--checkbox,.asltip-mform__field--checkboxes,.asltip-mform__field--radio,.asltip-mform__field--textarea{grid-column:1/-1}
.asltip-mform__field>label,.asltip-mform__field>fieldset>legend{color:var(--am-ink);font-weight:500;font-size:13px;margin:0}
.asltip-mform__field fieldset{border:0;margin:0;padding:0;min-width:0}
.asltip-mform__req{color:#dc2626;font-style:normal}
.asltip-mform__field input[type=text],.asltip-mform__field input[type=email],.asltip-mform__field input[type=tel],.asltip-mform__field select,.asltip-mform__field textarea{display:flex;align-items:center;height:40px;border:1px solid var(--am-input);border-radius:10px;background:#fff;padding:0 12px;font:400 14px Roboto,sans-serif;color:var(--am-ink);width:100%}
.asltip-mform__field textarea{height:auto;padding:10px 12px;min-height:80px}
.asltip-mform__field.is-error input,.asltip-mform__field.is-error select,.asltip-mform__field.is-error textarea{border-color:#dc2626;box-shadow:0 0 0 3px #fde2e2}
.asltip-mform__field.is-ok input,.asltip-mform__field.is-ok select,.asltip-mform__field.is-ok textarea{border-color:var(--am-good)}
.asltip-mform__choice{display:flex;align-items:flex-start;gap:8px;font-weight:400!important;margin:2px 0}
.asltip-mform__choice input{-webkit-appearance:auto;appearance:auto;margin-top:3px;width:16px;height:16px;flex:0 0 16px;padding:0;accent-color:var(--am-blue)}
.asltip-mform__help{font-size:12px;color:var(--am-hint);margin:0}
.asltip-mform__error{font-size:12px;color:#b91c1c;margin:0;font-weight:600;display:flex;gap:5px;align-items:center}

/* ---- documents drop zones ---- */
.asltip-mform__drop{position:relative;display:flex;align-items:center;gap:12px;border:1.5px dashed #a5cbe9;border-radius:12px;padding:14px 16px;background:var(--am-ground);font-size:13px;cursor:pointer;color:var(--am-ink)}
.asltip-mform__drop.is-ok{border-color:var(--am-good);background:#f0fbf4;border-style:solid}
.asltip-mform__drop.is-error{border-color:#dc2626;background:#fef2f2}
.asltip-mform__drop-text{display:flex;flex-direction:column;gap:2px}
.asltip-mform__drop-text strong{display:block;font-weight:500;color:var(--am-navy)}
.asltip-mform__drop-text span{color:var(--am-muted)}
.asltip-mform__drop .asltip-mform__btn{margin-left:auto;flex:0 0 auto}
.asltip-mform__drop input[type=file]{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%;height:100%}

/* ---- fees table ---- */
.asltip-mform__fees-wrap{overflow-x:auto;margin-bottom:20px}
.asltip-mform__fees{width:100%;border-collapse:collapse;font-size:14px;border:1px solid var(--am-border);border-radius:14px;overflow:hidden;min-width:480px;background:#fff}
.asltip-mform__fees th,.asltip-mform__fees td{padding:12px 14px;text-align:left;border-top:1px solid #edf2f7}
.asltip-mform__fees th:not(:first-child),.asltip-mform__fees td:not(:first-child){text-align:right;font-variant-numeric:tabular-nums}
.asltip-mform__fees thead th{background:var(--am-navy);color:#fff;border-top:0;font:600 12px Heebo,sans-serif;letter-spacing:.06em;text-transform:uppercase}
.asltip-mform__fees td.is-dd{background:#f0fbf4;color:var(--am-good);font-weight:700}

/* ---- DD guarantee ---- */
.asltip-mform__guarantee{display:flex;gap:12px;align-items:flex-start;background:#fff;border:1px solid var(--am-border);border-radius:12px;padding:12px 14px;font-size:13px;color:var(--am-ink2)}
.asltip-mform__guarantee strong{color:var(--am-navy)}
.asltip-mform__guarantee details{margin-top:4px}
.asltip-mform__guarantee summary{cursor:pointer;color:var(--am-blue);font-weight:500}
.asltip-mform__guarantee details p{font-size:13px}
.asltip-mform__section--next{gap:8px}
.asltip-mform__section--next p{margin:0;font-size:15px;line-height:1.55;color:var(--am-ink2)}
.asltip-mform__section--how{margin-bottom:20px}

/* ---- actions / buttons ---- */
.asltip-mform__actions{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;padding-top:6px}
.asltip-mform__back{color:var(--am-navy);font-size:14px;display:inline-flex;align-items:center;gap:6px;text-decoration:none}
.asltip-mform .asltip-mform__btn,.asltip-mform-page .asltip-mform__btn{display:inline-flex;align-items:center;gap:8px;background:var(--am-navy);color:#fff;border:1px solid var(--am-navy);border-radius:9px;padding:10px 16px;font-size:14px;font-weight:600;text-transform:none;letter-spacing:normal;cursor:pointer;text-decoration:none}
.asltip-mform .asltip-mform__btn:hover,.asltip-mform-page .asltip-mform__btn:hover{background:#1578cc;border-color:#1578cc}
.asltip-mform .asltip-mform__btn--big,.asltip-mform-page .asltip-mform__btn--big{padding:13px 22px;font-size:15px;border-radius:12px}
.asltip-mform .asltip-mform__btn--small,.asltip-mform-page .asltip-mform__btn--small{padding:8px 12px;font-size:13px;border-radius:8px}
.asltip-mform .asltip-mform__btn--o,.asltip-mform-page .asltip-mform__btn--o{background:#fff;color:var(--am-navy);border-color:var(--am-input)}

/* ---- alerts ---- */
.asltip-mform__alert{display:flex;gap:10px;align-items:flex-start;background:#fef2f2;border:1px solid #fecaca;color:#7f1d1d;padding:12px 16px;border-radius:12px;margin:0;font-size:14px}
.asltip-mform__alert.is-bad{background:#fff5f5;border-color:#f3b4b4;color:#7f1d1d}

/* ---- confirmation ---- */
.asltip-mform__done{display:flex;flex-direction:column;gap:14px;align-items:flex-start}
.asltip-mform__tick{width:56px;height:56px;border-radius:50%;background:var(--am-good-bg);color:var(--am-good);display:flex;align-items:center;justify-content:center}
.asltip-mform__done h2{font:700 24px Heebo,sans-serif;margin:0;color:var(--am-navy)}
.asltip-mform__office{font-size:13px;color:var(--am-hint);margin:0}
.asltip-mform__summary{display:grid;grid-template-columns:1fr 1fr;gap:12px;width:100%}
.asltip-mform__sumc{border:1px solid var(--am-border);border-radius:12px;padding:12px 14px;font-size:13px}
.asltip-mform__sumc small{display:block;color:var(--am-hint);font-size:12px;margin-bottom:4px}
.asltip-mform__sumc strong{font:700 15px Heebo,sans-serif;color:var(--am-navy)}
.asltip-mform__pill{display:inline-flex;align-items:center;padding:3px 9px;border-radius:999px;font:500 11px Heebo,sans-serif;background:var(--am-good-bg);color:var(--am-good)}
.asltip-mform__timeline{display:flex;flex-direction:column;gap:10px;width:100%;list-style:none;padding:0;margin:0}
.asltip-mform__tl{display:flex;align-items:flex-start;gap:10px;font-size:14px}
.asltip-mform__tl i,.asltip-mform__tl .am-i{width:22px;height:22px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;flex:0 0 22px;background:#eef2f6;color:#94a3b8;font-style:normal;font-size:12px;font-weight:700}
.asltip-mform__tl.is-ok i,.asltip-mform__tl.is-ok .am-i{background:var(--am-good-bg);color:var(--am-good)}

/* ---- honeypot ---- */
.asltip-mform__hp{position:absolute;left:-9999px;top:-9999px}

/* ---- mobile ---- */
@media (max-width:640px){
  .asltip-mform__hero{padding:22px}
  .asltip-mform__body form{padding:0}
.asltip-mform__body .asltip-mform__fees-wrap{padding:0}
.asltip-mform__body .asltip-mform__done{padding:20px}
  .asltip-mform__steps{flex-wrap:wrap}
  .asltip-mform__choice-grid,.asltip-mform__pay,.asltip-mform__grid,.asltip-mform__summary{grid-template-columns:1fr}
  .asltip-mform__actions{flex-direction:column;align-items:stretch}
  .asltip-mform__actions .asltip-mform__btn{justify-content:center}
  .asltip-mform__fees{min-width:0;font-size:12px}
  .asltip-mform__fees th,.asltip-mform__fees td{padding:8px 6px}
}

/* Radio/checkbox option labels: the theme sets label{font-size:19px} site-wide (style.min.css), so scope our own size here. */
.asltip-mform .asltip-mform__choice{font-size:14px;line-height:1.5;color:var(--am-ink)}

/* Step 2 copy blocks: term and cancellation above the table, the Direct Debit saving note and
   payment intro above the choices, and the per-method explainer below them. */
.asltip-mform__terms{background:#fff;border:1px solid var(--am-border);border-radius:14px;padding:16px 18px;margin-bottom:20px;font-size:15px;line-height:1.6;color:var(--am-ink)}
.asltip-mform__terms p{margin:0 0 10px;font-size:15px}.asltip-mform__terms p:last-child{margin:0}
.asltip-mform__saving{display:flex;gap:12px;align-items:flex-start;background:#f0f7ff;border:1px solid #cfe4f8;border-radius:14px;padding:14px 16px}
.asltip-mform__saving .am-i{color:#1578cc;flex:0 0 auto}
.asltip-mform__saving p{margin:0;font-size:15px;line-height:1.55;color:var(--am-ink)}
.asltip-mform__payh{font:700 18px Heebo,sans-serif;color:var(--am-navy);margin:6px 0 0}
.asltip-mform__payintro{font-size:15px;line-height:1.55;color:var(--am-muted)}
.asltip-mform__payintro p{margin:0;font-size:15px}
.asltip-mform__panel{background:#fff;border:1px solid var(--am-border);border-radius:14px;padding:16px 18px;font-size:15px;line-height:1.6;color:var(--am-ink)}
.asltip-mform__panel h4{font:700 13px Heebo,sans-serif;letter-spacing:.06em;text-transform:uppercase;color:var(--am-navy);margin:0 0 10px}
.asltip-mform__panel p{margin:0 0 10px;font-size:15px}.asltip-mform__panel p:last-child{margin:0}
.asltip-mform__panel ol{margin:0;padding-left:20px;display:flex;flex-direction:column;gap:8px}
.asltip-mform__panel ol li{font-size:15px;line-height:1.55}
.asltip-mform__panel ol li strong{color:var(--am-navy)}
.asltip-mform__knowh{font:700 13px Heebo,sans-serif;letter-spacing:.06em;text-transform:uppercase;color:var(--am-navy);margin:4px 0 0}
.asltip-mform__ticks{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}
.asltip-mform__ticks li{display:flex;gap:10px;align-items:flex-start;font-size:15px;line-height:1.55}
.asltip-mform__ticks .am-i{color:#1578cc;flex:0 0 auto;margin-top:3px}
