/* Application flows (registration, Beneficial Ownership, CSD): page shell, progress, side panel and form furniture */
.a-root {
  width:100%;
  min-height:100vh;
  display:flex;
  flex-direction:column;
  background:var(--color-background);
  color:var(--color-text-body);
  font-family:var(--font-body);
  font-size:var(--font-size-md);
  line-height:1.5;
  -webkit-font-smoothing:antialiased;
}
.a-root * {
  box-sizing:border-box;
}
.a-root h1,.a-root h2,.a-root h3,.a-root p,.a-root ul,.a-root ol,.a-root dl,.a-root dd,.a-root fieldset {
  margin:0;
}
.a-root ul,.a-root ol {
  padding:0;
  list-style:none;
}
.a-wrap {
  width:100%;
  max-width:var(--container-app);
  margin-inline:auto;
  padding-inline:var(--space-5);
}
.btn {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  min-height:var(--control-height);
  padding:0 var(--space-6);
  border-radius:var(--radius-lg);
  font:600 var(--font-size-md)/1.1 var(--font-body);
  text-decoration:none;
  cursor:pointer;
  border:0;
  text-align:center;
}
.btn-primary {
  background:var(--color-accent);
  color:var(--color-white);
}
.btn-primary:hover {
  background:var(--color-accent-hover);
  color:var(--color-white);
}
.btn-ghost {
  background:var(--color-white);
  color:var(--color-primary);
  border:1.5px solid var(--color-primary);
}
.btn-ghost:hover {
  background:var(--color-primary);
  color:var(--color-white);
}
.a-link {
  display:inline-flex;
  align-items:center;
  min-height:var(--tap-size);
  padding:0 var(--space-1);
  border:0;
  background:none;
  font:600 var(--font-size-sm)/1.2 var(--font-body);
  color:var(--color-primary);
  text-decoration:underline;
  text-underline-offset:3px;
  cursor:pointer;
}
.a-link:hover {
  color:var(--color-accent);
}
.a-hdr {
  background:var(--color-background);
  border-bottom:1px solid var(--color-border-soft);
}
.a-hdr-in {
  display:flex;
  align-items:center;
  justify-content:space-between;
  height:60px;
  gap:var(--space-3);
}
.a-logo {
  display:flex;
  align-items:center;
  gap:10px;
  font-family:var(--font-heading);
  font-weight:600;
  font-size:var(--fs-18);
  letter-spacing:-.01em;
  color:var(--color-primary);
  text-decoration:none;
  white-space:nowrap;
}
.logo-mark {
  position:relative;
  flex:none;
  width:30px;
  height:30px;
  border-radius:var(--radius-md);
  background:var(--color-primary);
}
.logo-mark::after {
  content:"";
  position:absolute;
  left:11px;
  top:6px;
  width:7px;
  height:13px;
  border:solid var(--color-background);
  border-width:0 2.5px 2.5px 0;
  transform:rotate(45deg);
}
.a-help {
  display:inline-flex;
  align-items:center;
  gap:var(--space-2);
  min-height:var(--tap-size);
  min-width:var(--tap-size);
  justify-content:center;
  padding:0 10px;
  border-radius:var(--radius-lg);
  border:1.5px solid var(--color-border-strong);
  color:var(--color-primary);
  text-decoration:none;
  font-weight:600;
  font-size:var(--font-size-sm);
}
.a-help-t {
  display:none;
}
.a-prog {
  padding-top:14px;
  padding-bottom:6px;
}
.a-prog-top {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:var(--space-3);
  margin-bottom:6px;
}
.a-step-t {
  font-size:var(--font-size-sm);
  color:var(--color-text-mid);
}
.a-step-t strong {
  color:var(--color-text);
}
.pg {
  display:grid;
  grid-template-columns:repeat(5,1fr);
  gap:6px;
}
.pg-item {
  display:block;
}
.pg-bar {
  display:block;
  height:6px;
  border-radius:3px;
  background:#D8D0BE;
}
.pg-c,.pg-l {
  display:none;
}
.pg-item.is-done .pg-bar,.pg-item.is-now .pg-bar {
  background:var(--color-primary);
}
.pg-item.is-now .pg-bar {
  background:var(--color-accent);
}
.a-intro {
  padding:14px 0 var(--space-1);
}
.a-intro p {
  font-size:var(--font-size-md);
  color:var(--color-text-mid);
}
.a-intro strong {
  color:var(--color-text);
}
.saved-note {
  display:inline-flex;
  align-items:center;
  gap:var(--space-2);
  font-size:var(--fs-14_5);
  font-weight:600;
  color:var(--color-secondary);
  margin-bottom:14px;
}
.tick {
  flex:none;
  position:relative;
  width:22px;
  height:22px;
  border-radius:var(--radius-round);
  background:var(--color-success-tint);
}
.tick::after {
  content:"";
  position:absolute;
  left:7px;
  top:3px;
  width:6px;
  height:11px;
  border:solid var(--color-secondary);
  border-width:0 2.5px 2.5px 0;
  transform:rotate(45deg);
}
.a-main {
  flex:1;
  padding-top:14px;
  padding-bottom:var(--space-6);
}
.a-grid {
  display:block;
}
.a-side {
  display:none;
}
.a-card {
  background:var(--color-white);
  border-top:1px solid var(--color-border);
  border-bottom:1px solid var(--color-border);
  margin-inline:-20px;
  padding:26px var(--space-5) 0;
}
.a-h {
  font-family:var(--font-heading);
  font-weight:600;
  font-size:var(--font-size-xl);
  line-height:1.08;
  letter-spacing:-.02em;
  color:var(--color-text);
  text-wrap:balance;
}
.a-h:focus {
  outline:none;
}
.a-lead {
  font-size:var(--fs-17_5);
  color:var(--color-text-mid);
  margin-top:10px;
  text-wrap:pretty;
}
.a-sub {
  font-family:var(--font-heading);
  font-weight:600;
  font-size:var(--fs-23);
  line-height:1.15;
  letter-spacing:-.01em;
  color:var(--color-text);
  margin:var(--space-8) 0 6px;
}
.a-fine {
  font-size:var(--fs-14_5);
  color:var(--color-muted);
  margin-top:18px;
}
.a-mhelp {
  margin:18px 0 0;
  font-size:var(--font-size-sm);
  color:var(--color-text-mid);
  text-align:center;
}
.a-mhelp a {
  font-weight:600;
}
.a-fs {
  border:0;
  padding:0;
  min-width:0;
  margin-top:26px;
}
.fgrid {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:18px 14px;
  margin-top:22px;
}
.fgrid.tight {
  margin-top:var(--space-4);
}
.fld {
  grid-column:1/-1;
  min-width:0;
}
.fld.half {
  grid-column:span 1;
}
.lbl {
  display:block;
  font-size:var(--font-size-sm);
  font-weight:600;
  color:var(--color-text-body);
  margin-bottom:6px;
  padding:0;
}
.opt {
  font-weight:400;
  color:var(--color-muted-soft);
  margin-left:6px;
}
.hint {
  font-size:var(--fs-14_5);
  line-height:1.4;
  color:var(--color-muted);
  margin:-2px 0 var(--space-2);
}
.inp-wrap {
  position:relative;
}
.inp {
  display:block;
  width:100%;
  height:var(--control-height);
  padding:0 var(--space-4);
  border:1.5px solid var(--color-input-border);
  border-radius:var(--radius-lg);
  background:var(--color-white);
  font:400 var(--font-size-md)/1.2 var(--font-body);
  color:var(--color-text-body);
  appearance:none;
  -webkit-appearance:none;
  margin:0;
}
textarea.inp {
  height:auto;
  min-height:108px;
  padding:14px var(--space-4);
  line-height:1.45;
  resize:vertical;
}
.inp::placeholder {
  color:var(--color-placeholder);
}
.inp:focus {
  outline:none;
  border-color:var(--color-primary);
  box-shadow:var(--shadow-focus);
}
.inp[aria-invalid="true"] {
  border-color:var(--color-danger);
  background:var(--color-danger-wash);
}
.inp.has-suffix {
  padding-right:98px;
}
.inp.has-ok {
  padding-right:var(--space-12);
}
.suffix {
  position:absolute;
  right:16px;
  top:0;
  height:var(--control-height);
  display:flex;
  align-items:center;
  font-size:var(--fs-16);
  color:var(--color-muted);
  pointer-events:none;
}
.err {
  display:flex;
  gap:var(--space-2);
  margin-top:var(--space-2);
  font-size:var(--fs-14_5);
  line-height:1.4;
  color:var(--color-danger);
  font-weight:500;
}
.err::before {
  content:"!";
  flex:none;
  width:18px;
  height:18px;
  border-radius:var(--radius-round);
  background:var(--color-danger);
  color:var(--color-white);
  font-size:var(--fs-12);
  font-weight:800;
  display:grid;
  place-items:center;
  margin-top:1px;
}
.chk {
  display:flex;
  gap:var(--space-3);
  align-items:flex-start;
  min-height:var(--tap-size);
  padding:var(--space-2) 0;
  cursor:pointer;
  font-size:var(--fs-16_5);
  line-height:1.4;
}
.chk input {
  flex:none;
  width:24px;
  height:24px;
  margin:0;
  accent-color:var(--color-primary);
}
.typecard {
  display:flex;
  gap:14px;
  align-items:flex-start;
  padding:var(--space-4);
  border:2px solid var(--color-primary);
  border-radius:var(--radius-lg);
  background:var(--color-success-wash);
}
.radio-on {
  flex:none;
  position:relative;
  width:24px;
  height:24px;
  border-radius:var(--radius-round);
  border:2px solid var(--color-primary);
  margin-top:1px;
}
.radio-on::after {
  content:"";
  position:absolute;
  inset:4px;
  border-radius:var(--radius-round);
  background:var(--color-primary);
}
.typecard strong {
  display:block;
  font-size:var(--fs-17_5);
  color:var(--color-text);
}
.typecard span {
  display:block;
  font-size:var(--fs-15);
  color:var(--color-text-mid);
  margin-top:2px;
}
.why {
  margin-top:var(--space-5);
  padding:var(--space-4) var(--space-4) 14px;
  border-radius:var(--radius-lg);
  background:var(--color-surface-alt);
}
.why strong {
  display:block;
  font-size:var(--fs-16);
  color:var(--color-text);
}
.why p {
  font-size:var(--font-size-sm);
  color:var(--color-text-mid);
  margin-top:var(--space-1);
}
.def {
  display:grid;
  gap:0;
  margin-top:var(--space-5);
  border:1px solid #E0D9CA;
  border-radius:var(--radius-lg);
  overflow:hidden;
}
.def div {
  display:flex;
  gap:14px;
  padding:var(--space-3) 14px;
  background:var(--color-surface-paper);
}
.def div+div {
  border-top:1px solid #E7E1D3;
}
.def dt {
  flex:none;
  width:108px;
  font-weight:700;
  font-size:var(--font-size-sm);
  color:var(--color-primary);
}
.def dd {
  font-size:var(--font-size-sm);
  color:var(--color-text-mid);
}
.seg.two {
  grid-template-columns:repeat(2,1fr);
}
.seg-b.on {
  background:var(--color-primary);
  border-color:var(--color-primary);
  color:var(--color-white);
}
.dcard {
  position:relative;
  min-width:0;
  margin:18px 0 0;
  padding:var(--space-4) var(--space-4) 18px;
  border:1px solid var(--color-border);
  border-radius:var(--radius-xl);
  background:var(--color-surface-paper);
}
.dcard legend {
  font-family:var(--font-heading);
  font-size:var(--fs-22);
  font-weight:600;
  color:var(--color-text);
  padding:0 6px;
  margin-left:-6px;
}
.alloc.ok {
  border-color:#9BC7AF;
  background:var(--color-success-wash-2);
}
.alloc.ok .alloc-msg {
  color:var(--color-secondary);
}
.alloc.ok .alloc-msg::before {
  background:var(--color-secondary);
}
.alloc.bad {
  border-color:var(--color-danger);
  background:var(--color-danger-wash);
}
.alloc.bad .alloc-msg {
  color:var(--color-danger);
}
.alloc.bad .alloc-msg::before {
  background:var(--color-danger);
}
.need {
  margin-top:22px;
  padding:var(--space-4);
  border-radius:var(--radius-lg);
  background:var(--color-surface-alt);
}
.need h2 {
  font-size:var(--fs-16);
  font-weight:700;
  color:var(--color-text);
}
.need li {
  display:flex;
  gap:10px;
  padding-top:var(--space-2);
  font-size:var(--font-size-sm);
  color:var(--color-text-soft);
}
.need li::before {
  content:"";
  flex:none;
  width:6px;
  height:6px;
  border-radius:var(--radius-round);
  background:var(--color-primary);
  margin-top:9px;
}
.up {
  margin-top:var(--space-4);
  padding:var(--space-4);
  border:1px solid var(--color-border);
  border-radius:var(--radius-xl);
  background:var(--color-white);
}
.up.is-done {
  border-color:#9BC7AF;
  background:var(--color-success-wash-2);
}
.up-h {
  display:flex;
  align-items:baseline;
  justify-content:space-between;
  gap:var(--space-3);
  margin-bottom:var(--space-3);
}
.up-h strong {
  font-size:var(--fs-18);
  color:var(--color-text);
}
.up-h span {
  font-size:var(--fs-13_5);
  color:var(--color-muted);
}
.drop {
  padding:18px 14px;
  border:1.5px dashed var(--color-input-border);
  border-radius:var(--radius-lg);
  text-align:center;
  background:var(--color-surface-warm);
}
.drop-t,.drop-s {
  display:none;
}
.btn-up {
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  width:100%;
  min-height:var(--control-height);
  border:0;
  border-radius:var(--radius-lg);
  background:var(--color-primary);
  color:var(--color-white);
  font:600 var(--font-size-md)/1.1 var(--font-body);
  cursor:pointer;
}
.btn-up:hover {
  background:var(--color-primary-deep);
}
.drop-f {
  font-size:var(--fs-14);
  color:var(--color-muted);
  margin-top:10px;
}
.file {
  display:flex;
  gap:var(--space-3);
  align-items:center;
}
.file-i {
  min-width:0;
}
.file-i strong {
  display:block;
  font-size:var(--fs-16_5);
  color:var(--color-text);
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.file-i span {
  display:block;
  font-size:var(--fs-14);
  color:var(--color-secondary);
  font-weight:600;
}
.file-a {
  display:flex;
  gap:var(--space-2);
  margin-top:10px;
  padding-left:34px;
}
.save-later .btn {
  min-height:52px;
}
.lock-line {
  display:flex;
  gap:10px;
  align-items:flex-start;
  margin-top:var(--space-5);
  font-size:var(--fs-14_5);
  color:var(--color-text-mid);
}
.lock-line svg {
  flex:none;
  color:var(--color-primary);
  margin-top:1px;
}
.rv-grid {
  display:grid;
  gap:0;
}
.rv-sec {
  margin-top:var(--space-4);
  border:1px solid var(--color-border);
  border-radius:var(--radius-lg);
  background:var(--color-white);
  overflow:hidden;
}
.rv-h {
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:var(--space-1) 14px var(--space-1) var(--space-4);
  background:#F7F3EA;
  border-bottom:1px solid #E7E1D3;
}
.rv-h h2 {
  font-size:var(--font-size-xs);
  font-weight:700;
  letter-spacing:.06em;
  text-transform:uppercase;
  color:var(--color-muted);
}
.rv-b {
  padding:14px var(--space-4);
}
.rv-b strong {
  display:block;
  font-size:var(--fs-18);
  line-height:1.3;
  color:var(--color-text);
}
.rv-b span,.rv-b p {
  display:block;
  font-size:var(--font-size-sm);
  color:var(--color-text-mid);
}
.rv-row {
  padding:var(--space-2) 0;
}
.rv-row+.rv-row {
  border-top:1px solid #EFE9DC;
}
.rv-pkg {
  display:flex;
  justify-content:space-between;
  align-items:baseline;
  gap:var(--space-3);
}
.rv-pkg .p {
  font-family:var(--font-heading);
  font-size:var(--fs-34);
  font-weight:600;
  color:var(--color-text);
  line-height:1;
}
.rv-inc li {
  display:flex;
  gap:10px;
  align-items:center;
  padding:5px 0;
  font-size:var(--fs-16);
}
.after {
  margin-top:var(--space-6);
}
.after ol li {
  position:relative;
  display:flex;
  gap:14px;
  padding:0 0 var(--space-4);
}
.after ol li:not(:last-child)::before {
  content:"";
  position:absolute;
  left:14px;
  top:32px;
  bottom:2px;
  width:2px;
  background:var(--color-line);
}
.after .n {
  flex:none;
  width:30px;
  height:30px;
  border-radius:var(--radius-round);
  background:var(--color-accent);
  color:var(--color-white);
  font-weight:700;
  font-size:var(--fs-14);
  display:grid;
  place-items:center;
}
.after strong {
  display:block;
  font-size:var(--font-size-md);
  line-height:1.35;
  padding-top:3px;
  color:var(--color-text);
}
.turn {
  display:inline-flex;
  margin-top:2px;
  padding:10px 14px;
  border-radius:var(--radius-lg);
  background:var(--color-success-bg);
  color:var(--color-primary);
  font-weight:600;
  font-size:var(--font-size-sm);
}
.pay-panel {
  margin-top:var(--space-6);
  padding:18px var(--space-4);
  border:1.5px solid var(--color-primary);
  border-radius:var(--radius-xl);
  background:var(--color-success-wash);
}
.pay-top {
  display:flex;
  justify-content:space-between;
  align-items:baseline;
  gap:var(--space-3);
}
.pay-top span {
  font-size:var(--font-size-sm);
  font-weight:600;
  color:var(--color-text);
}
.pay-top strong {
  font-family:var(--font-heading);
  font-size:var(--font-size-xxl);
  line-height:1;
  font-weight:600;
  color:var(--color-text);
}
.pay-note {
  font-size:var(--fs-14_5);
  color:var(--color-muted);
  margin-top:2px;
  text-align:right;
}
.pay-panel .seg {
  margin-top:14px;
}
.pay-panel .seg-b {
  font-size:var(--font-size-md);
}
.pay-desc {
  font-size:var(--fs-15);
  color:var(--color-text-mid);
  margin-top:10px;
}
.secure {
  display:flex;
  gap:var(--space-3);
  align-items:flex-start;
  margin-top:14px;
  padding-top:14px;
  border-top:1px solid #CFDCD4;
  font-size:var(--fs-14_5);
  line-height:1.45;
  color:var(--color-text-soft);
}
.secure svg {
  flex:none;
  color:var(--color-primary);
  margin-top:1px;
}
.auth {
  margin-top:var(--space-6);
}
.auth summary {
  cursor:pointer;
  min-height:var(--tap-size);
  display:flex;
  align-items:center;
  font-weight:600;
  font-size:var(--font-size-sm);
  color:var(--color-primary);
  text-decoration:underline;
  text-underline-offset:3px;
}
.auth .legal {
  margin-top:6px;
  padding:14px;
  border-radius:var(--radius-lg);
  background:#F7F3EA;
  font-size:var(--fs-14_5);
  line-height:1.5;
  color:var(--color-text-soft);
}
.consent-box {
  margin-top:14px;
}
.consent-box .chk {
  padding:10px var(--space-3);
  border:1.5px solid var(--color-input-border);
  border-radius:var(--radius-lg);
  background:var(--color-white);
}
.consent-box .chk.bad {
  border-color:var(--color-danger);
  background:var(--color-danger-wash);
}
.done {
  padding-bottom:28px;
}
.done-mark {
  display:grid;
  place-items:center;
  width:56px;
  height:var(--control-height);
  border-radius:var(--radius-round);
  background:var(--color-success-tint);
  margin-bottom:18px;
}
.done-mark span {
  position:relative;
  width:26px;
  height:26px;
}
.done-mark span::after {
  content:"";
  position:absolute;
  left:9px;
  top:2px;
  width:9px;
  height:17px;
  border:solid var(--color-secondary);
  border-width:0 3.5px 3.5px 0;
  transform:rotate(45deg);
}
.a-bar {
  position:sticky;
  bottom:0;
  z-index:15;
  display:flex;
  flex-wrap:wrap;
  gap:10px var(--space-3);
  align-items:center;
  margin:28px -20px 0;
  padding:12px 20px calc(12px + env(safe-area-inset-bottom));
  background:var(--color-white);
  border-top:1px solid var(--color-border);
}
.a-bar .btn-primary {
  flex:1;
}
.btn-back {
  min-width:56px;
  padding:0 18px;
  background:var(--color-white);
  color:var(--color-primary);
  border:1.5px solid var(--color-primary);
}
.btn-back:hover {
  background:var(--color-primary);
  color:var(--color-white);
}
.bar-note {
  flex-basis:100%;
  display:flex;
  align-items:center;
  gap:var(--space-2);
  font-size:var(--fs-13_5);
  line-height:1.3;
  color:var(--color-text-mid);
}
.bar-note svg {
  flex:none;
  color:var(--color-primary);
}
.sheet .btn {
  width:100%;
  margin-top:18px;
}
.sheet .a-link {
  margin-top:6px;
  width:100%;
  justify-content:center;
}
.pg.p4 {
  grid-template-columns:repeat(4,1fr);
}
.pg.p3 {
  grid-template-columns:repeat(3,1fr);
}
select.inp {
  padding-right:44px;
  background-image:linear-gradient(45deg,transparent 50%,var(--color-primary) 50%),linear-gradient(135deg,var(--color-primary) 50%,transparent 50%);
  background-position:calc(100% - 22px) 25px,calc(100% - 16px) 25px;
  background-size:6px 6px,6px 6px;
  background-repeat:no-repeat;
}
.optgrid {
  display:grid;
  gap:10px;
  margin-top:var(--space-2);
}
.optcard {
  display:flex;
  gap:14px;
  align-items:flex-start;
  padding:var(--space-4);
  border:1.5px solid var(--color-input-border);
  border-radius:var(--radius-lg);
  background:var(--color-white);
  cursor:pointer;
}
.optcard input {
  flex:none;
  width:24px;
  height:24px;
  margin:1px 0 0;
  accent-color:var(--color-primary);
}
.optcard strong {
  display:block;
  font-size:var(--font-size-md);
  line-height:1.3;
  color:var(--color-text);
}
.optcard span {
  display:block;
  font-size:var(--fs-15);
  color:var(--color-text-mid);
  margin-top:2px;
}
.optcard.on {
  border:2px solid var(--color-primary);
  background:var(--color-success-wash);
  padding:15.5px;
}
.chkbox {
  margin-top:var(--space-2);
  padding:6px 14px;
  border:1px solid var(--color-border);
  border-radius:var(--radius-lg);
  background:var(--color-white);
}
.chkbox .chk+.chk {
  border-top:1px solid var(--color-surface-tint-2);
}
.a-note {
  margin-top:var(--space-5);
  padding:14px var(--space-4);
  border-radius:var(--radius-lg);
  background:var(--color-surface-alt);
  font-size:var(--font-size-sm);
  color:var(--color-text-soft);
}
.a-note strong {
  color:var(--color-text);
}
.warnbox {
  margin-top:var(--space-4);
  padding:14px var(--space-4);
  border-radius:var(--radius-lg);
  border:1.5px solid #E6B7AA;
  background:#FFF8F5;
  font-size:var(--font-size-sm);
  color:#7A2A19;
}
.rv-b .sum-row {
  display:flex;
  justify-content:space-between;
  gap:var(--space-4);
  padding:var(--space-2) 0;
}
.rv-b .sum-row+.sum-row {
  border-top:1px solid #EFE9DC;
}
.rv-b .sum-row span {
  display:block;
  font-size:var(--fs-15);
  color:var(--color-muted);
}
.rv-b .sum-row strong {
  display:block;
  font-size:var(--fs-16_5);
  text-align:right;
  overflow-wrap:anywhere;
}
.side-list li .tick {
  flex:none;
}
.owner-note {
  font-size:var(--fs-15);
  color:var(--color-muted);
  margin-top:var(--space-2);
}
@media (min-width:860px){
  .a-wrap {
    padding-inline:var(--space-12);
  }
  .a-hdr-in {
    height:76px;
  }
  .a-logo {
    font-size:var(--fs-21);
  }
  .a-help-t {
    display:inline;
  }
  .a-prog {
    position:relative;
    padding-top:28px;
    padding-bottom:10px;
  }
  .a-prog-top {
    justify-content:flex-end;
    margin-bottom:0;
    position:absolute;
    right:48px;
    top:24px;
  }
  .a-step-t {
    display:none;
  }
  .pg {
    display:flex;
    align-items:center;
    gap:0;
  }
  .pg-item {
    display:flex;
    align-items:center;
    gap:10px;
  }
  .pg-bar {
    display:none;
  }
  .pg-c {
    display:grid;
    place-items:center;
    flex:none;
    width:32px;
    height:32px;
    border-radius:var(--radius-round);
    border:1.5px solid var(--color-input-border);
    background:var(--color-white);
    font-weight:700;
    font-size:var(--fs-14_5);
    color:var(--color-muted);
  }
  .pg-l {
    display:inline;
    font-size:var(--font-size-sm);
    font-weight:600;
    color:var(--color-muted);
  }
  .pg-item:not(:last-child)::after {
    content:"";
    width:var(--tap-size);
    height:2px;
    margin:0 var(--space-4);
    background:var(--color-line);
  }
  .pg-item.is-done .pg-c {
    background:var(--color-primary);
    border-color:var(--color-primary);
    color:var(--color-white);
  }
  .pg-item.is-done .pg-l {
    color:var(--color-primary);
  }
  .pg-item.is-done:not(:last-child)::after {
    background:var(--color-primary);
  }
  .pg-item.is-now .pg-c {
    background:var(--color-accent);
    border-color:var(--color-accent);
    color:var(--color-white);
  }
  .pg-item.is-now .pg-l {
    color:var(--color-text);
  }
  .a-intro {
    padding:18px 0 0;
  }
  .a-main {
    padding-top:var(--space-5);
    padding-bottom:var(--space-16);
  }
  .a-grid.has-side {
    display:grid;
    grid-template-columns:minmax(0,1fr) 340px;
    gap:var(--space-10);
    align-items:start;
  }
  .a-grid.wide {
    display:block;
    max-width:1040px;
    margin-inline:auto;
  }
  .a-side {
    display:block;
    position:sticky;
    top:24px;
  }
  .a-card {
    margin-inline:0;
    padding:44px var(--space-12) 0;
    border:1px solid var(--color-border);
    border-radius:var(--radius-xl);
    box-shadow:0 24px 48px -32px rgba(18,55,46,.28);
  }
  .a-h {
    font-size:var(--font-size-xxl);
  }
  .a-lead {
    font-size:var(--fs-19);
    max-width:620px;
  }
  .fgrid {
    gap:22px var(--space-5);
  }
  .a-mhelp {
    display:none;
  }
  .drop-t {
    display:block;
    font-size:var(--font-size-md);
    font-weight:600;
    color:var(--color-text);
  }
  .drop-s {
    display:block;
    font-size:var(--fs-14);
    color:var(--color-muted);
    margin:var(--space-1) 0 10px;
  }
  .drop {
    padding:26px var(--space-6);
  }
  .btn-up {
    width:auto;
    display:inline-flex;
    padding:0 26px;
  }
  .save-later .btn {
    flex:none;
  }
  .rv-grid {
    grid-template-columns:minmax(0,1fr) 360px;
    gap:var(--space-10);
    align-items:start;
  }
  .rv-right {
    position:sticky;
    top:24px;
  }
  .pay-panel {
    margin-top:var(--space-4);
  }
  .a-bar {
    margin:var(--space-10) -48px 0;
    padding:18px var(--space-12);
    border-radius:0 0 var(--radius-xl) var(--radius-xl);
    flex-wrap:nowrap;
  }
  .a-bar .btn-primary {
    flex:none;
    min-width:280px;
    margin-left:auto;
  }
  .a-bar .btn-back {
    order:-2;
  }
  .bar-note {
    flex-basis:auto;
    order:-1;
    margin-right:auto;
  }
  .side-card {
    padding:var(--space-6);
    border:1px solid var(--color-border);
    border-radius:var(--radius-xl);
    background:var(--color-white);
  }
  .side-card+.side-card {
    margin-top:var(--space-4);
  }
  .side-tag {
    font-size:var(--font-size-xs);
    font-weight:700;
    letter-spacing:.06em;
    text-transform:uppercase;
    color:var(--color-secondary);
  }
  .side-price {
    font-family:var(--font-heading);
    font-size:var(--fs-64);
    line-height:1;
    font-weight:600;
    letter-spacing:-.03em;
    color:var(--color-text);
    margin-top:var(--space-2);
  }
  .side-note {
    font-size:var(--fs-15);
    color:var(--color-muted);
    margin-top:var(--space-1);
  }
  .side-list {
    margin-top:14px;
    padding-top:var(--space-3);
    border-top:1px solid var(--color-border-faint);
  }
  .side-list li {
    display:flex;
    gap:10px;
    align-items:center;
    padding:5px 0;
    font-size:var(--font-size-sm);
  }
  .side-card strong.t {
    display:block;
    font-size:var(--font-size-md);
    color:var(--color-text);
  }
  .side-card p.s {
    font-size:var(--fs-15);
    color:var(--color-text-mid);
    margin-top:var(--space-1);
  }
  .side-card .btn {
    width:100%;
    margin-top:14px;
    min-height:52px;
  }
}

/* Gravity Forms progress steps: a band above the card and its side panel, like the designed progress bar */
.a-flow {
  position:relative;
  padding-top:52px;
}
.a-flow .mcr-gf {
  position:static;
}
.a-flow .mcr-gf .gf_page_steps {
  position:absolute;
  top:6px;
  left:var(--space-5);
  right:var(--space-5);
  margin:0;
}
@media (min-width:860px) {
  .a-flow {
    padding-top:88px;
  }
  .a-flow .mcr-gf .gf_page_steps {
    top:14px;
    left:var(--space-12);
    right:var(--space-12);
  }
}
