.registration-header { display:flex; align-items:center; justify-content:space-between; gap:24px; min-height:92px; }
.header-label { color:var(--navy-800); font-weight:800; }
.registration-hero { padding:64px 0; background:linear-gradient(135deg,var(--surface-blue),#fff); border-bottom:1px solid var(--line); }
.registration-hero__inner { display:grid; grid-template-columns:minmax(0,1.5fr) minmax(260px,.7fr); gap:42px; align-items:center; }
.hero-copy { max-width:760px; color:var(--ink-700); font-size:1.12rem; }
.registration-hero__notice { padding:24px; border:1px solid var(--line); border-radius:var(--radius-md); background:#fff; box-shadow:var(--shadow-sm); }
.registration-layout { display:grid; grid-template-columns:minmax(0,1fr) 360px; gap:42px; align-items:start; padding-top:56px; padding-bottom:72px; }
.form-section { padding:32px; margin-bottom:26px; border:1px solid var(--line); border-radius:var(--radius-lg); box-shadow:var(--shadow-sm); }
.section-kicker,.eyebrow { margin-bottom:8px; color:var(--red-700); font-size:.8rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.registration-options { display:grid; grid-template-columns:1fr 1fr; gap:20px; margin-top:24px; }
.registration-card { position:relative; display:block; padding:24px; border:2px solid var(--line); border-radius:var(--radius-md); cursor:pointer; transition:160ms ease; }
.registration-card:hover { border-color:var(--navy-700); transform:translateY(-2px); }
.registration-card:has(input:checked) { border-color:var(--red-600); box-shadow:0 0 0 4px var(--red-100); }
.registration-card input { position:absolute; top:20px; right:20px; width:22px; height:22px; accent-color:var(--red-600); }
.registration-card__heading { display:flex; flex-direction:column; gap:14px; padding-right:36px; }
.registration-card__heading strong { display:block; color:var(--navy-950); font-size:1.35rem; }
.registration-card__heading small { color:var(--ink-700); }
.registration-card__heading b { color:var(--red-700); }
.registration-card__description { display:block; margin-top:16px; color:var(--ink-700); }
.registration-card ul { padding-left:20px; }
.registration-card li { margin-bottom:8px; }
.registration-badge { display:inline-block; margin-bottom:14px; padding:5px 10px; border-radius:999px; background:var(--yellow-500); color:var(--navy-950); font-size:.75rem; font-weight:850; }
.field-group { margin-top:24px; }
.field-group label { display:block; margin-bottom:8px; color:var(--navy-950); font-weight:800; }
.field-group input { width:100%; min-height:50px; padding:12px 14px; border:1px solid var(--line-strong); border-radius:var(--radius-sm); }
.field-group--quantity { max-width:220px; }
.field-help { margin:7px 0 0; color:var(--ink-600); font-size:.9rem; }
.field-error { min-height:1.35em; margin:7px 0 0; color:var(--red-700); font-weight:700; font-size:.9rem; }
.form-error { margin-bottom:22px; padding:16px; border-left:5px solid var(--red-700); background:var(--red-100); color:var(--red-700); font-weight:800; }
.confirmation-row { display:flex; gap:12px; align-items:flex-start; margin-top:18px; }
.confirmation-row input { flex:0 0 auto; width:22px; height:22px; margin-top:2px; accent-color:var(--red-600); }
.registration-summary { position:sticky; top:24px; }
.registration-summary__card { padding:28px; border-radius:var(--radius-lg); background:var(--navy-950); color:#fff; box-shadow:var(--shadow-md); }
.registration-summary h2,.registration-summary .section-kicker { color:#fff; }
.registration-summary dl { margin:24px 0; }
.registration-summary dl div { display:flex; justify-content:space-between; gap:20px; padding:11px 0; border-bottom:1px solid rgba(255,255,255,.18); }
.registration-summary dt { color:#d9e8f3; }
.registration-summary dd { margin:0; text-align:right; font-weight:750; }
.registration-summary__total { display:flex; justify-content:space-between; gap:20px; padding-top:18px; font-size:1.15rem; }
.registration-summary__total strong { color:var(--yellow-500); font-size:1.45rem; }
.registration-summary__card > p:last-child { margin:20px 0 0; color:#d9e8f3; font-size:.88rem; }
.checkout-status { margin-bottom:60px; padding:26px; border:1px solid var(--line); border-radius:var(--radius-md); background:var(--success-bg); }
@media (max-width:900px) { .registration-layout,.registration-hero__inner { grid-template-columns:1fr; } .registration-summary { position:static; } }
@media (max-width:680px) { .registration-options { grid-template-columns:1fr; } .form-section { padding:22px; } .registration-header { align-items:flex-start; flex-direction:column; padding:18px 0; } .trust-bar__inner { gap:10px; flex-direction:column; padding:10px 0; } }

.form-section > .option-grid { margin-top:24px; }
.registration-card__conditional-price { display:block; margin-top:8px; color:var(--red-700); font-size:.86rem; font-weight:750; }


/* Standard vs Premium comparison */
.service-comparison { margin-top:26px; overflow:hidden; border:1px solid var(--line); border-radius:var(--radius-md); background:#fff; }
.service-comparison__heading { padding:22px 24px 14px; }
.service-comparison__heading h3 { margin:0 0 6px; color:var(--navy-950); }
.service-comparison__heading p { margin:0; color:var(--ink-700); }
.service-comparison__scroll { overflow-x:auto; }
.service-comparison table { width:100%; min-width:680px; border-collapse:collapse; }
.service-comparison th,.service-comparison td { padding:13px 16px; border-top:1px solid var(--line); text-align:left; vertical-align:middle; }
.service-comparison thead th { background:var(--navy-950); color:#fff; border-top:0; }
.service-comparison thead th:not(:first-child),.service-comparison tbody td { text-align:center; }
.service-comparison tbody th { width:48%; color:var(--navy-950); font-weight:700; }
.service-comparison tbody td { font-size:1.1rem; font-weight:850; }
.service-comparison small { display:block; margin-top:4px; color:#d9e8f3; font-weight:600; }
.registration-badge--inline { display:table; margin:0 auto 7px; padding-left:11px; padding-right:11px; white-space:nowrap; }
@media (max-width:680px) { .service-comparison__heading { padding:18px; } .service-comparison table { min-width:620px; } }
