@font-face {
    font-family: "Nunito";
    font-style: normal;
    font-weight: 300 800;
    font-display: swap;
    src: url("nunito-latin.woff2?v=2") format("woff2");
}

*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

:root {
    --purple: #552e92;
    --purple-dark: #3d2070;
    --purple-light: #f0edf8;
    --purple-mid: #c9bfe8;
    --green: #38a169;
    --green-dark: #2f855a;
    --green-light: #f0fff4;
    --border: #e2e8f0;
    --text: #1a1a2e;
    --muted: #4a5568;
    --error: #b42318;
}

html { font-size: 18px; overflow-x: clip; background: #f0f0f0; }
body {
    min-height: 100vh;
    overflow-x: clip;
    background: #f0f0f0;
    color: var(--text);
    font-family: "Nunito", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    font-size: 1rem;
    font-weight: 300;
    -webkit-font-smoothing: antialiased;
}
button, input, textarea { font: inherit; }
small { font-size: 1rem; }
button { -webkit-tap-highlight-color: transparent; }
button[data-track-name] *, a[data-track-name] * { pointer-events: none; }
.app { max-width: 1024px; min-height: 100vh; margin: 0 auto; background: #fff; }

header { line-height: 0; background: var(--purple); padding-top: env(safe-area-inset-top); }
.header-home {
    display: block;
    background: var(--purple);
    color: #fff;
    text-decoration: none;
}
.header-home:focus-visible { outline: 3px solid #fff; outline-offset: -3px; }
.header-logo {
    display: block;
    width: 100%;
    height: auto;
    max-height: 74px;
    object-fit: contain;
    object-position: left center;
}

.hero-wrap { width: 100%; line-height: 0; }
.hero-wrap picture, .hero-wrap img { display: block; width: 100%; }
.hero-wrap img { height: auto; }
.hero-wrap.hidden { display: none; }
.container { width: 100%; max-width: 640px; margin: 0 auto; }
.step-back { display: none; }

.step { display: none; padding: 32px 48px 140px; }
.step.active { display: block; animation: fade-up .2s ease; }
@keyframes fade-up {
    from { opacity: 0; transform: translateY(6px); }
    to { opacity: 1; transform: translateY(0); }
}
.step-title { margin-bottom: 20px; color: var(--text); font-size: 26px; font-weight: 700; line-height: 1.2; }
.step-description { margin-bottom: 16px; color: #555; font-size: 18px; line-height: 1.5; }
.step-title-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 20px;
}
.step-title-row .step-title { margin-bottom: 0; }
.sec-lbl {
    display: block;
    margin-bottom: .625rem;
    color: var(--muted);
    font-size: 1rem;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
}
.step-q, .flt-ctx { margin-bottom: .875rem; color: var(--muted); font-size: 1rem; line-height: 1.5; }
.step-q strong { color: var(--text); font-weight: 700; }
.is-hidden { display: none !important; }
.visually-hidden {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    overflow: hidden !important;
    clip: rect(0 0 0 0) !important;
    clip-path: inset(50%) !important;
    white-space: nowrap !important;
}

.recents-section { margin-bottom: 1.375rem; }
.recent-chips { display: flex; flex-wrap: wrap; gap: .45rem; }
.recent-chip {
    display: inline-flex;
    align-items: center;
    overflow: hidden;
    border: 1.5px solid var(--purple-mid);
    border-radius: 20px;
    background: var(--purple-light);
    transition: background .12s, border-color .12s;
}
.recent-chip:hover { background: var(--purple-mid); }
.recent-postcode-main {
    display: inline-flex;
    align-items: center;
    gap: .35rem;
    border: 0;
    padding: .45rem .35rem .45rem .875rem;
    background: none;
    color: var(--text);
    cursor: pointer;
    font-weight: 700;
}
.recent-postcode-copy { display: grid; gap: .05rem; text-align: left; }
.recent-postcode-copy strong { font-size: 1rem; line-height: 1.2; }
.recent-postcode-copy small { color: var(--muted); font-size: 1rem; font-weight: 600; line-height: 1.2; }
.recent-postcode-source {
    color: var(--muted);
    font-size: 1rem;
    font-weight: 600;
}
.recent-chip-remove {
    border: 0;
    border-radius: 10px;
    padding: 2px 7px;
    background: none;
    color: var(--muted);
    cursor: pointer;
    font-size: 1rem;
    line-height: 1;
}
.recent-chip-remove:hover { background: var(--purple-mid); color: var(--text); }
.recent-search-list { display: flex; flex-direction: column; gap: .55rem; }
.recent-search-chip {
    display: flex;
    align-items: stretch;
    overflow: hidden;
    border: 1.5px solid var(--purple-mid);
    border-radius: 8px;
    background: var(--purple-light);
    transition: background .12s;
}
.recent-search-chip:hover { background: var(--purple-mid); }
.recent-search-main {
    min-width: 0;
    flex: 1;
    border: 0;
    padding: .7rem .75rem .68rem .85rem;
    background: none;
    color: var(--text);
    cursor: pointer;
    text-align: left;
}
.recent-search-route { display: block; font-size: 1rem; font-weight: 800; line-height: 1.25; }
.recent-search-detail { display: block; margin-top: .18rem; color: var(--muted); font-size: 1rem; line-height: 1.35; }
.recent-search-remove {
    width: 2.3rem;
    flex: 0 0 2.3rem;
    border: 0;
    border-left: 1px solid var(--purple-mid);
    background: rgba(255,255,255,.18);
    color: var(--muted);
    cursor: pointer;
    font-size: 1rem;
}
.recent-search-remove:hover { background: var(--purple-mid); color: var(--text); }

.text-input, .search-field {
    width: 100%;
    min-height: 52px;
    border: 1.5px solid var(--border);
    border-radius: 9px;
    background: #fff;
    color: var(--text);
}
.text-input { padding: .75rem .9rem; outline: none; }
.text-input:focus, .search-field:focus-within { border-color: var(--purple); box-shadow: 0 0 0 3px rgba(85,46,146,.10); }
.text-input[aria-invalid="true"] { border-color: var(--error); }
.input-action-row { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: .625rem; }
.field-help { margin-top: .45rem; color: var(--muted); font-size: 1rem; }
.form-error { min-height: 1.25rem; margin-top: .45rem; color: var(--error); font-size: 1rem; font-weight: 600; }
.btn-primary, .btn-success {
    min-height: 52px;
    border: 0;
    border-radius: 9px;
    padding: .75rem 1.25rem;
    background: var(--purple);
    color: #fff;
    cursor: pointer;
    font-weight: 700;
}
.btn-primary:hover:not(:disabled) { background: var(--purple-dark); }
.btn-primary:disabled { cursor: not-allowed; opacity: .5; }
.btn-primary.compact { white-space: nowrap; }
.full-width { width: 100%; margin-top: 1rem; }
.or-row { display: flex; align-items: center; gap: .75rem; margin: 1.1rem 0; color: #718096; font-size: 1rem; }
.or-row::before, .or-row::after { height: 1px; flex: 1; background: var(--border); content: ""; }
.location-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: .7rem;
    width: 100%;
    min-height: 52px;
    border: 0;
    border-radius: 10px;
    padding: 1rem 1.25rem;
    background: var(--purple);
    color: #fff;
    cursor: pointer;
    font-weight: 700;
}
.location-btn-icon { flex: 0 0 auto; font-size: 1.15rem; }
.location-btn-copy { display: grid; gap: .15rem; min-width: 0; text-align: left; }
.location-btn-detail { color: rgba(255,255,255,.84); font-size: 1rem; font-weight: 500; line-height: 1.35; }
.location-btn:hover:not(:disabled) { background: var(--purple-dark); }
.location-btn:disabled { cursor: not-allowed; opacity: .65; }
.location-status { margin-top: .5rem; color: var(--green-dark); font-size: 1rem; font-weight: 600; }

.airport-recents-section { margin-bottom: 1.4rem; }
.airport-recents { display: flex; flex-wrap: wrap; gap: .45rem; }
.airport-recent-chip {
    display: inline-flex;
    overflow: hidden;
    border: 1.5px solid var(--purple-mid);
    border-radius: 999px;
    background: var(--purple-light);
}
.airport-recent-main, .airport-recent-remove {
    border: 0;
    background: transparent;
    color: var(--text);
    cursor: pointer;
}
.airport-recent-main { padding: .42rem .25rem .42rem .85rem; font-size: 1rem; font-weight: 700; }
.airport-recent-remove { padding: .42rem .65rem .42rem .25rem; color: var(--muted); font-size: 1rem; }
.airport-recent-chip:hover { background: #e7e0f5; }
.airport-nearest-source { margin: -.35rem 0 .65rem; color: var(--green-dark); font-size: 1rem; font-weight: 600; }
.airport-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: .5rem; margin-bottom: 1.25rem; }
.airport-card {
    min-height: 60px;
    border: 1.5px solid var(--border);
    border-radius: 10px;
    padding: .55rem .4rem;
    background: #fff;
    color: var(--text);
    cursor: pointer;
    text-align: center;
}
.airport-card:hover { border-color: var(--purple); background: var(--purple-light); }
.airport-card span { display: block; font-size: 1rem; font-weight: 700; }
.all-airports-label { margin-top: .5rem; }
.airport-list { overflow: hidden; border: 1.5px solid var(--border); border-radius: 10px; }
.airport-row {
    display: flex;
    align-items: center;
    width: 100%;
    min-height: 52px;
    border: 0;
    border-bottom: 1px solid var(--border);
    padding: .75rem 1rem;
    background: #fff;
    color: var(--text);
    cursor: pointer;
    text-align: left;
}
.airport-row:last-child { border-bottom: 0; }
.airport-row:hover { background: var(--purple-light); }
.airport-row span { font-size: 1rem; }

.cal-month { margin-bottom: 2rem; }
.cal-month-name {
    padding: .5rem 0 .75rem;
    color: var(--purple);
    font-size: 1rem;
    font-weight: 700;
    text-align: center;
}
.cal-grid { display: grid; grid-template-columns: repeat(7, 1fr); gap: 2px; }
.cal-dow {
    padding: .3rem 0;
    color: var(--muted);
    font-size: 1rem;
    font-weight: 700;
    text-align: center;
    text-transform: uppercase;
}
.cal-day {
    display: flex;
    min-height: 40px;
    align-items: center;
    justify-content: center;
    border: 0;
    border-radius: 8px;
    background: transparent;
    color: var(--text);
    font-size: 1rem;
    transition: background .1s;
}
.cal-day.avail { cursor: pointer; }
.cal-day.avail:hover { background: var(--purple-light); color: var(--purple); }
.cal-day.is-today { border: 1.5px solid var(--purple-mid); color: var(--purple); font-weight: 700; }
.cal-day.is-selected { border: 0; background: var(--purple); color: #fff; font-weight: 700; }
.cal-day.is-confirming { background: var(--green); color: #fff; animation: pop .3s ease; }
@keyframes pop { 50% { transform: scale(1.08); } }
.ctx-bar {
    margin-bottom: .875rem;
    border: 1.5px solid var(--border);
    border-radius: 8px;
    padding: .625rem .875rem;
    background: #f8f7fc;
    color: var(--muted);
    font-size: 1rem;
}

.journey-time-card {
    display: flex;
    align-items: center;
    gap: .8rem;
    margin-bottom: 1.25rem;
    border: 1px solid #c6f6d5;
    border-radius: 10px;
    padding: .8rem .9rem;
    background: var(--green-light);
}
.journey-time-icon { flex: 0 0 auto; font-size: 1.5rem; }
.journey-time-card > span:last-child { display: grid; gap: .08rem; }
.journey-time-card small {
    color: var(--green-dark);
    font-size: 1rem;
    font-weight: 800;
    letter-spacing: .06em;
    text-transform: uppercase;
}
.journey-time-card strong { color: var(--text); font-size: 1rem; }
.journey-time-card span span { color: var(--muted); font-size: 1rem; }

.btn-skip {
    flex: 0 0 auto;
    border: 1.5px solid var(--purple);
    border-radius: 20px;
    padding: .3rem .75rem;
    background: #fff;
    color: var(--purple);
    cursor: pointer;
    font-size: 1rem;
    font-weight: 600;
}
.btn-skip:hover { background: var(--purple); color: #fff; }
.flight-section { margin-bottom: 1.25rem; }
.flt-date-strip { display: flex; gap: .5rem; margin-bottom: .625rem; padding: .25rem 0; overflow-x: auto; }
.flt-date-btn {
    flex: 0 0 auto;
    border: 1.5px solid var(--border);
    border-radius: 8px;
    padding: .55rem .875rem;
    background: #fff;
    color: var(--muted);
    cursor: pointer;
    font-size: 1rem;
    font-weight: 600;
    line-height: 1.3;
}
.flt-date-btn.active { border-color: var(--purple); background: var(--purple-light); color: var(--purple); font-weight: 700; }
.flt-search-wrap {
    display: flex;
    position: sticky;
    top: 0;
    z-index: 20;
    width: 100%;
    align-items: center;
    overflow: hidden;
    margin-bottom: .75rem;
    border: 1.5px solid var(--purple);
    border-radius: 10px;
    background: #fff;
    box-shadow: 0 2px 8px rgba(0,0,0,.1);
}
.flt-search-inp { min-width: 0; flex: 1; border: 0; outline: 0; padding: .625rem .875rem; background: transparent; color: var(--text); }
.flt-search-count { flex: 0 0 auto; padding: 0 .75rem 0 .4rem; color: var(--purple); font-size: 1rem; font-weight: 600; white-space: nowrap; }
.results-status { min-height: 1rem; margin: -.25rem 0 .5rem; color: var(--muted); font-size: 1rem; }
.flight-list { overflow: hidden; margin-bottom: .625rem; border: 1.5px solid var(--border); border-radius: 10px; }
.flight-row {
    display: flex;
    min-height: 76px;
    align-items: center;
    width: 100%;
    gap: .875rem;
    border: 0;
    border-bottom: 1px solid var(--border);
    padding: .75rem 1rem;
    background: #fff;
    color: var(--text);
    cursor: pointer;
    text-align: left;
}
.flight-row:last-child { border-bottom: 0; }
.flight-row:hover, .flight-row.selected { background: var(--purple-light); }
.fr-main { min-width: 0; flex: 1; }
.fr-top-line { display: flex; flex-wrap: wrap; align-items: baseline; gap: .5rem; margin-bottom: .2rem; }
.fr-time { flex: 0 0 auto; color: var(--purple); font-size: 1.25rem; font-weight: 800; line-height: 1.1; }
.fr-codes-inline { color: var(--muted); font-family: ui-monospace, monospace; font-size: 1rem; font-weight: 700; }
.fr-dest-line { display: block; color: var(--text); font-size: 1rem; font-weight: 700; line-height: 1.35; }
.fr-meta-line { display: block; margin-top: .15rem; color: var(--muted); font-size: 1rem; }
.fr-tail { width: 54px; height: 42px; flex: 0 0 auto; object-fit: contain; }
.flt-sec-hdr {
    display: flex;
    align-items: center;
    border-bottom: 1px solid var(--border);
    padding: .3rem 1rem;
    background: #f7f6fb;
    color: var(--muted);
    font-size: 1rem;
    font-weight: 700;
    letter-spacing: .05em;
    text-transform: uppercase;
}
.flight-empty { padding: 1.3rem 1rem; color: var(--muted); font-size: 1rem; line-height: 1.5; }
.flight-skeleton {
    height: 76px;
    border-bottom: 1px solid var(--border);
    background: linear-gradient(90deg, #ede9f5 25%, #f8f7fc 50%, #ede9f5 75%);
    background-size: 800px 100%;
    animation: shimmer 1.4s infinite linear;
}
@keyframes shimmer { to { background-position: 800px 0; } }
.text-button {
    border: 0;
    padding: .45rem 0;
    background: none;
    color: var(--purple);
    cursor: pointer;
    font-size: 1rem;
    font-weight: 700;
}
.manual-flight { margin-top: 1rem; border: 1.5px solid var(--border); border-radius: 10px; padding: 1rem; background: #f8f7fc; }
.manual-flight label { display: block; margin-bottom: .75rem; color: var(--text); font-size: 1rem; font-weight: 700; }
.manual-flight label span { color: var(--muted); font-weight: 400; }
.manual-flight .text-input { margin-top: .35rem; background: #fff; }
.two-fields { display: grid; grid-template-columns: 1fr 1fr; gap: .75rem; }
.flt-return-wrap { overflow: hidden; margin-bottom: .625rem; border: 1.5px solid var(--border); border-radius: 10px; }
.flt-return-wrap .flt-date-strip { margin: 0; border-bottom: 1px solid var(--border); padding: .5rem; background: #f7f6fb; }
.flt-return-wrap .results-status { margin: 0; padding: .5rem .75rem 0; }
.flt-return-wrap .flight-list { margin: 0; border: 0; border-radius: 0; }

.choice-stack { display: grid; gap: .625rem; }
.choice-card {
    display: flex;
    min-height: 72px;
    align-items: center;
    justify-content: space-between;
    gap: .75rem;
    width: 100%;
    border: 1.5px solid var(--border);
    border-radius: 10px;
    padding: .8rem 1rem;
    background: #fff;
    color: var(--text);
    cursor: pointer;
    text-align: left;
}
.choice-card:hover, .choice-card.is-selected { border-color: var(--purple); background: var(--purple-light); }
.choice-card > span:first-child { width: 100%; min-width: 0; }
.choice-card strong, .choice-card small, .choice-pickup { display: block; }
.choice-card strong { font-size: 1rem; }
.choice-card small { margin-top: .15rem; color: var(--muted); font-size: 1rem; font-weight: 400; }
.choice-pickup { margin-top: .45rem; color: var(--purple); font-size: 1rem; font-weight: 800; line-height: 1.3; }
.choice-heading { display: flex; align-items: center; justify-content: space-between; gap: .5rem; }
.badge { flex: 0 0 auto; border-radius: 999px; padding: .22rem .5rem; background: var(--green-light); color: var(--green-dark); font-size: 1rem; font-weight: 700; white-space: nowrap; }
.custom-arrival { margin-top: 1rem; }
.pickup-preview {
    display: grid;
    gap: .15rem;
    margin-top: 1rem;
    border: 1px solid #c6f6d5;
    border-radius: 9px;
    padding: .75rem .9rem;
    background: var(--green-light);
}
.pickup-preview small { color: var(--green-dark); font-weight: 700; text-transform: uppercase; }
.pickup-preview strong { color: var(--text); font-size: 1.05rem; }
.pickup-preview span { color: var(--muted); font-size: 1rem; }

.counter-list, .seats-panel, .luggage-panel { overflow: hidden; border: 1.5px solid var(--border); border-radius: 10px; }
.counter-row { display: flex; min-height: 76px; align-items: center; justify-content: space-between; gap: 1rem; border-bottom: 1px solid var(--border); padding: .75rem 1rem; }
.counter-row:last-child { border-bottom: 0; }
.counter-row strong, .counter-row span { display: block; }
.counter-row strong { font-size: 1rem; }
.counter-row span { color: var(--muted); font-size: 1rem; }
.counter { display: grid; grid-template-columns: 38px 30px 38px; align-items: center; text-align: center; }
.counter button { width: 38px; height: 38px; border: 1.5px solid var(--purple-mid); border-radius: 50%; background: #fff; color: var(--purple); cursor: pointer; font-size: 1.25rem; line-height: 1; }
.counter output { color: var(--text); font-weight: 700; }
.seats-panel, .luggage-panel { margin-top: 1rem; padding-top: 1rem; }
.seats-panel > .sec-lbl, .seats-panel > .step-q,
.luggage-panel > .sec-lbl, .luggage-panel > .step-q { padding: 0 1rem; }
.seats-panel .counter-row:first-of-type, .luggage-panel .counter-row:first-of-type { border-top: 1px solid var(--border); }
.compact-row { min-height: 68px; }
.special-requests-panel { margin-top: 1.25rem; }
.special-requests-panel .sec-lbl span { font-weight: 400; letter-spacing: 0; text-transform: none; }
.special-requests-input { min-height: 112px; resize: vertical; line-height: 1.45; }

.summary-story-item {
    display: block;
    width: calc(100% + 1.3rem);
    margin: 0 -.65rem;
    border: 0;
    border-radius: 8px;
    padding: .8rem .65rem;
    background: none;
    color: inherit;
    cursor: pointer;
    font: inherit;
    text-align: left;
}
.summary-story-item:hover { background: var(--purple-light); }
.summary-story-item:focus-visible { outline: 2px solid var(--purple); outline-offset: 2px; }
.summary-icon { display: inline-flex; align-items: center; font-size: 1.2rem; line-height: 1; }
.summary-copy { display: block; min-width: 0; }
.summary-copy > strong, .summary-copy > span { display: block; }
.summary-story-item small { display: flex; align-items: center; gap: .28rem; color: var(--purple); font-size: 1rem; font-weight: 700; }
.summary-story-item strong { margin-top: .12rem; color: var(--text); font-size: 1.08rem; line-height: 1.4; }
.summary-copy > span { margin-top: .18rem; color: var(--muted); font-size: 1rem; line-height: 1.5; }
.summary-story-item .summary-pencil {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: var(--muted);
    font-size: 1rem;
    line-height: 1;
}
.summary-continue { min-height: 56px; margin-top: 1.25rem; }
.summary-reassurance {
    margin-top: .85rem;
    border: 1px solid #b7ebc6;
    border-radius: 9px;
    padding: .85rem 1rem;
    background: var(--green-light);
    color: var(--green-dark);
    font-size: 1rem;
    line-height: 1.55;
}
.summary-reassurance strong { font-weight: 800; }
.email-row { display: flex; align-items: stretch; gap: .625rem; margin-bottom: .35rem; }
.email-field-wrap { position: relative; flex: 1; min-width: 0; }
.email-field {
    width: 100%;
    min-height: 66px;
    border: 2px solid var(--purple);
    border-radius: 14px;
    padding: 1.65rem 1.05rem .55rem;
    outline: none;
    background: #fff;
    color: var(--text);
    font: inherit;
    font-size: 1rem;
}
.email-field:focus { border-color: var(--purple-dark); box-shadow: 0 0 0 3px rgba(85,46,146,.1); }
.email-field-wrap.email-error .email-field { border-color: var(--error); }
.email-field-label { position: absolute; top: .45rem; left: 1.1rem; color: var(--muted); font-size: 1rem; font-weight: 700; pointer-events: none; }
.email-send-btn {
    display: grid;
    place-items: center;
    flex: 0 0 58px;
    border: 0;
    border-radius: 14px;
    background: var(--purple);
    color: #fff;
    cursor: pointer;
    font: inherit;
    font-size: 1.75rem;
}
.email-send-btn:hover { background: var(--purple-dark); }
.email-error-message { margin-top: .25rem; }
.email-skip { display: block; width: 100%; margin: .25rem 0 1.5rem; border: 0; padding: .7rem 0; background: none; color: var(--muted); cursor: pointer; font: inherit; font-size: 1rem; font-weight: 700; text-align: center; }
.email-skip:hover { color: var(--purple); }
.email-perks-intro { margin: 0 0 .35rem; color: var(--text); }
.email-perks { margin: 0; padding: 0; color: var(--text); list-style: none; line-height: 1.9; }
.btn-success { width: 100%; margin-top: 1rem; background: var(--green); font-size: 1.05rem; }
.btn-success:hover { background: var(--green-dark); }
.noscript { padding: 1rem; background: #fff3cd; color: #5f4500; text-align: center; }

@media (max-width: 1024px) {
    html { background: var(--purple); }
    body { background: #fff; }
    .app { max-width: 100%; }
}
@media (max-width: 639px) {
    html { font-size: 18px; }
    .header-logo { max-height: 64px; }
    .step { padding: 24px 20px 100px; }
    .step-title { font-size: 24px; }
    .airport-grid { grid-template-columns: repeat(2, 1fr); }
    .two-fields { grid-template-columns: 1fr; gap: 0; }
    #step-summary { padding-bottom: 72px; }
    #step-summary .step-title { margin-bottom: .65rem; }
    .summary-story-item { width: calc(100% + .8rem); margin: 0 -.4rem; padding: .62rem .4rem; }
    .summary-story-item strong { line-height: 1.3; }
    .summary-copy > span { display: inline; margin-top: 0; line-height: 1.38; }
    .summary-copy > span + span::before { content: " "; }
    .summary-continue { margin-top: .8rem; }
}
@media (max-width: 430px) {
    .input-action-row { grid-template-columns: 1fr; }
    .btn-primary.compact { width: 100%; }
}
