/* Full-screen presentation refinements for v2.6 */
.product-identity{display:flex;align-items:center;gap:.75rem;min-width:0}
.header-portrait{width:54px;height:54px;flex:0 0 54px;object-fit:contain;object-position:center bottom;border-radius:50%;background:radial-gradient(circle at 50% 34%,#287477,#071b2e 74%);border:2px solid #d6a43a;box-shadow:0 6px 18px #0005;overflow:hidden}
.product-identity .product-name{min-width:0}
.figure-bio {
  position: absolute;
  z-index: 3;
  inset: auto auto 1.25rem 1.25rem;
  width: min(55%, 25rem);
  padding: 1rem 1.15rem;
  border-radius: .8rem;
  border: 1px solid #ffffff45;
  border-inline-start: 5px solid #d6a43a;
  background: #071b2eea;
  color: #fff;
  box-shadow: 0 18px 45px #0007;
  direction: rtl;
}
.figure-bio b, .figure-bio span, .figure-bio small { display: block; }
.figure-bio > b { color: #f2cd73; font-size: 1.2rem; }
.figure-bio span { margin: .15rem 0 .55rem; font-weight: 800; }
.figure-bio small { color: #d9e5e9; line-height: 1.7; }
.show-visual.has-profile { background: linear-gradient(135deg,#061522,#123b50); }
.show-visual.has-profile img {
  width: 35%;
  height: 76%;
  margin: 5% auto 0 4%;
  object-fit: contain;
  object-position: left center;
  border-radius: .8rem;
  filter: grayscale(1) contrast(1.14) brightness(1.02);
  image-rendering: auto;
  box-shadow: 0 20px 45px #0008;
}
.opening-welcome {
  position:absolute;
  z-index:4;
  inset:4.6rem 3.2rem auto auto;
  width:min(50%,31rem);
  padding:1.15rem 1.25rem;
  border:1px solid #ffffff38;
  border-inline-start:5px solid #d6a43a;
  border-radius:1rem;
  background:#071b2edb;
  color:#fff;
  box-shadow:0 20px 50px #0007;
  backdrop-filter:blur(8px);
}
.opening-welcome p{margin:0;color:#f2cd73;font-size:.82rem;font-weight:900}
.opening-welcome h2{margin:.15rem 0 .45rem;font-size:clamp(1.55rem,2.4vw,2.35rem);line-height:1.2}
.opening-welcome>span{display:block;color:#e2edf0;line-height:1.75}
.opening-welcome ul{display:flex;flex-wrap:wrap;gap:.4rem;margin:.75rem 0 0;padding:0;list-style:none}
.opening-welcome li{padding:.28rem .55rem;border-radius:2rem;background:#ffffff12;border:1px solid #ffffff28;color:#fff;font-size:.78rem;font-weight:800}
.icon-button,.show-controls button{display:inline-flex;align-items:center;justify-content:center;gap:.42rem}
.icon-button svg,.show-controls button svg{width:1.15rem;height:1.15rem;flex:0 0 1.15rem;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.play-button svg,.stop-button svg{fill:currentColor;stroke:none}
.show-controls button span,.icon-button span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

.context-selector { padding: 4.5rem 0; background: #e9efed; }
.author-section { padding:4rem 0; background:#0b1f33; color:#fff; }
.author-card { display:grid; grid-template-columns:minmax(180px,.55fr) 1.25fr .85fr; gap:1.5rem; align-items:center; }
.author-portrait { align-self:stretch; min-height:340px; display:flex; align-items:end; justify-content:center; overflow:hidden; border-radius:1.1rem; background:radial-gradient(circle at 50% 35%,#236d70,#071b2e 70%); border:1px solid #ffffff30; }
.author-portrait img { width:100%; max-height:390px; object-fit:contain; object-position:center bottom; }
.author-copy h2 { margin:.15rem 0; color:#fff; font-size:clamp(2.2rem,4vw,3.4rem); }
.author-copy p { max-width:68ch; line-height:1.9; color:#e3edf0; }
.author-role { margin:.1rem 0 .7rem; color:#f2cd73!important; font-weight:900; font-size:1.12rem; }
.author-signature { margin-top:1rem; padding:.8rem 1rem; border-inline-start:4px solid #d6a43a; background:#ffffff0c; display:grid; gap:.25rem; }
.author-signature b { color:#f2cd73; }
.author-promise { padding:1.2rem; border-radius:.9rem; background:#fff; color:#142638; border-block-start:5px solid #167c78; }
.author-promise > b { color:#126b68; font-size:1.1rem; }
.author-promise ul { margin:.7rem 0 0; padding-inline-start:1.2rem; }
.author-promise li { margin:.55rem 0; line-height:1.65; }
.journey-benefits { grid-column:1/-1; padding:1.1rem 1.2rem; border-radius:.9rem; background:#ffffff0b; border:1px solid #ffffff24; }
.journey-benefits h3 { margin:0 0 .75rem; color:#f2cd73; }
.journey-benefits ul { margin:0; padding:0; list-style:none; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:.7rem; }
.journey-benefits li { padding:.75rem; border-radius:.65rem; background:#102d3d; border-inline-start:4px solid #167c78; line-height:1.55; }
.context-grid { display: grid; grid-template-columns: 1.08fr .92fr; gap: 2rem; align-items: start; }
.context-copy h2 { font-size: clamp(2rem,4vw,3.2rem); line-height: 1.25; margin: .2rem 0 1rem; }
.context-copy p { max-width: 68ch; line-height: 2; }
.context-card { background: #fff; border-radius: 1.1rem; padding: 1.5rem; box-shadow: 0 18px 55px #0b1f331c; display: grid; gap: 1rem; }
.context-card label { display: grid; gap: .2rem; }
.context-card label span { color: #5c6974; font-size: .87rem; }
.context-card select, .context-card input { width: 100%; min-height: 50px; border: 1px solid #91a3ad; border-radius: .7rem; padding: .7rem .8rem; background: #fff; color: #172636; font: inherit; }
.context-card optgroup { font-weight: 900; color: #0b1f33; }
.context-feedback { margin: 0; min-height: 2rem; padding: .75rem; border-radius: .65rem; background: #e5f4f1; border-inline-start: 4px solid #167c78; }

@media (max-width: 900px) {
  .author-card { grid-template-columns:1fr; }
  .author-portrait { min-height:260px; max-height:340px; }
  .author-portrait img { max-height:330px; }
  .journey-benefits ul { grid-template-columns:1fr; }
  .context-grid { grid-template-columns: 1fr; }
}

@media (min-width: 901px) and (min-height: 700px) {
  .axis-show {
    height: calc(100dvh - 72px);
    max-height: calc(100dvh - 72px);
    min-height: 0;
    padding-top: .55rem;
    overflow: hidden;
    display: grid;
    grid-template-rows: auto minmax(0, 1fr);
  }
  .show-stage { height: 100%; min-height: 0; padding-block: .55rem; gap: .85rem; }
  .show-top { min-height: 0; }
  .show-top h1 { margin-block: .1rem; font-size: clamp(1.35rem,2vw,2rem); line-height: 1.25; }
  .show-overline,.show-status { margin-block: .05rem; font-size: .82rem; }
  .show-visual, .show-copy { min-height: 0; height: 100%; }
  .show-copy { overflow: hidden; padding: 1rem 1.15rem; }
  .show-copy h2 { margin: .05rem 0 .35rem; font-size: clamp(1.35rem,2vw,1.9rem); line-height: 1.3; }
  .show-text { max-height: none; overflow: visible; }
}

@media (min-width: 901px) and (max-height: 699px) {
  .axis-show {
    height: calc(100dvh - 72px);
    max-height: calc(100dvh - 72px);
    min-height: 0;
    padding-top: .35rem;
    overflow: hidden;
    display: grid;
    grid-template-rows: auto minmax(0,1fr);
  }
  .show-top { padding-bottom: .25rem; }
  .show-top h1 { margin: 0; font-size: 1.25rem; }
  .show-overline,.show-status { margin: 0; font-size: .72rem; }
  .show-stage { height: 100%; min-height: 0; padding-block: .35rem; gap: .6rem; }
  .show-visual,.show-copy { height: 100%; min-height: 0; }
  .show-copy { overflow: hidden; padding: .7rem .85rem; }
  .show-copy h2 { margin: 0 0 .2rem; font-size: 1.2rem; }
  .show-copy .show-text { min-height: 0; max-height: none; overflow-y: auto; font-size: .82rem; line-height: 1.45; }
  .show-visual .visual-summary { font-size: .75rem; padding: .35rem .55rem; }
}

@media (max-width: 900px) {
  .axis-show {
    height: calc(100svh - 72px);
    height: calc(100dvh - 72px);
    max-height: calc(100dvh - 72px);
    min-height: 0;
    overflow: hidden;
    display: grid;
    grid-template-rows: auto minmax(0,1fr);
    padding-top: .45rem;
  }
  .show-top { gap: .2rem; padding-bottom: .35rem; }
  .show-top h1 { font-size: clamp(1.15rem,5vw,1.55rem); line-height: 1.2; margin: 0; }
  .show-overline,.show-status { font-size: .72rem; line-height: 1.35; }
  .show-stage {
    height: 100%;
    min-height: 0;
    grid-template-rows: minmax(125px,35%) minmax(0,65%);
    gap: .45rem;
    padding-block: .4rem;
  }
  .show-transcript { margin-top: 1rem; }
  .show-visual { min-height: 0; height: 100%; border-radius: .75rem; }
  .show-copy { min-height: 0; height: 100%; overflow: hidden; padding: .7rem .8rem; border-radius: .75rem; }
  .show-copy h2 { font-size: clamp(1.05rem,4.7vw,1.4rem); line-height: 1.25; margin: 0 0 .2rem; }
  .show-copy .kicker { font-size: .72rem; margin: 0; }
  .show-copy .show-text { max-height: none; min-height: 0; overflow-y: auto; font-size: .88rem; line-height: 1.55; }
  .show-copy > .show-controls { margin-top: .25rem; }
  .show-visual .visual-question { inset: .5rem .5rem auto auto; font-size: .74rem; padding: .35rem .5rem; max-width: 72%; }
  .show-visual .visual-summary { inset: auto .5rem .5rem .5rem; font-size: .72rem; line-height: 1.35; padding: .35rem .5rem; }
  .scene-dots { inset: .45rem auto auto .45rem; gap: .2rem; }
  .scene-dots i { width: 6px; height: 6px; }
}

@media (max-width: 520px) {
  .show-stage { padding-bottom: .35rem; }
  .controls-inner { gap: .3rem; padding-block: .2rem; }
  .playback, .manual-nav { gap: .4rem; }
  .stop-button, .control-button, .play-button { min-height: 38px!important; padding: .25rem .4rem!important; font-size: .72rem!important; }
  .figure-bio { inset: auto .75rem 3.8rem .75rem; width: auto; padding: .7rem .8rem; }
  .show-visual.has-profile img { width: 35%; height: 64%; margin: 9% auto 0 2%; object-position:left center; }
  .opening-welcome{inset:.6rem .6rem auto auto;width:55%;padding:.6rem .7rem;border-radius:.7rem}
  .opening-welcome h2{font-size:1rem;margin:.1rem 0 .25rem}
  .opening-welcome>span{font-size:.7rem;line-height:1.4}
  .opening-welcome ul{display:none}
  .opening-welcome p{font-size:.65rem}
  .compact-control{aspect-ratio:1;min-width:38px!important;width:38px!important;padding:.35rem!important}
  .compact-control span{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
  .play-button{min-width:0;width:100%!important}
  .show-copy > .show-controls .playback{grid-template-columns:minmax(0,1fr) 38px 38px!important}
  .show-copy > .show-controls .manual-nav{grid-template-columns:38px 38px!important;justify-content:end}
}

@media (max-width: 900px) and (max-height: 650px) {
  .app-header .header-inner { min-height: 58px; }
  .axis-show { height: calc(100dvh - 58px); max-height: calc(100dvh - 58px); }
  .show-stage { grid-template-rows: minmax(96px,30%) minmax(0,70%); }
  .show-top { display: none; }
  .show-visual .visual-summary { display: none; }
}

/* v3.0: controls live inside the text card instead of a bottom screen bar. */
.show-text {
  text-align: start;
}
.show-copy > .show-controls {
  position: static;
  inset: auto;
  margin-top: .45rem;
  padding: .3rem;
  border: 1px solid #35566a;
  border-radius: .8rem;
  background: #102d3d;
  box-shadow: none;
  flex: 0 0 auto;
}
.show-copy > .show-controls .stop-button,
.show-copy > .show-controls .play-button,
.show-copy > .show-controls .control-button {
  min-height: 44px;
  padding: .35rem .55rem;
  font-size: .82rem;
  white-space: nowrap;
}
.show-copy .show-text {
  flex: 1 1 auto;
  min-height: 0;
  max-height: none;
  overflow-y: auto;
  font-size: .98rem;
  line-height: 1.65;
}
.decision-reflection { display:grid; gap:.8rem; margin-top:.8rem; padding-top:.8rem; border-top:1px solid #cbd7d6; }
.decision-reflection label { display:grid; gap:.25rem; }
.decision-reflection fieldset { margin:0; padding:.7rem; border:1px solid #b8c6ca; border-radius:.65rem; }
.decision-reflection legend { padding-inline:.35rem; font-weight:900; color:#126b68; }
.decision-reflection fieldset label { display:flex; align-items:flex-start; gap:.45rem; margin:.35rem 0; }
.decision-reflection input { width:20px; height:20px; flex:0 0 auto; margin-top:.15rem; }
.decision-reflection select,.decision-reflection textarea { width:100%; padding:.55rem .65rem; border:1px solid #82979f; border-radius:.55rem; background:#fff; color:#142638; font:inherit; }
.reflection-note { margin:0; padding:.6rem .7rem; border-inline-start:4px solid #167c78; background:#e7f2f0; border-radius:.5rem; }
.reflection-error { margin:0; padding:.6rem .7rem; color:#842f25; background:#fff0ee; border-radius:.5rem; }
.reflection-submit,.reflection-next { min-height:44px; border:0; border-radius:.6rem; padding:.55rem .75rem; background:#d6a43a; color:#0b1f33; font:inherit; font-weight:900; cursor:pointer; }
.reflection-result { padding:.8rem; border:1px solid #82bdb2; border-inline-start:5px solid #167c78; border-radius:.65rem; background:#e7f2f0; }
.reflection-result p { margin:.4rem 0; }
.reflection-result small { display:block; color:#4d626a; margin:.5rem 0; }
.reflection-next { width:100%; margin-top:.35rem; }
.show-copy > .show-controls button:disabled { opacity:.5; cursor:not-allowed; }

.systemic-review-service { padding:3.5rem 0; background:#e7f2f0; color:#142638; }
.review-service-card { display:grid; grid-template-columns:1.15fr 1fr .9fr; gap:1.2rem; align-items:start; }
.review-service-card > * { min-width:0; }
.review-service-card h2 { margin:.2rem 0 .7rem; font-size:clamp(1.8rem,3vw,2.7rem); }
.review-service-card h3 { margin:0 0 .6rem; }
.review-service-card p,.review-service-card li { line-height:1.85; }
.review-service-boundaries,.review-service-card aside { padding:1.15rem; border-radius:.9rem; background:#fff; border:1px solid #b8d8d4; }
.review-service-boundaries ul { margin:.4rem 0 0; padding-inline-start:1.2rem; }
.review-service-card aside { border-inline-start:5px solid #c96f56; }
.review-service-card aside .button { display:inline-flex; margin-top:.5rem; text-decoration:none; }

.after-show { padding: 3.5rem 0; background: #f7f4ed; color: #142638; }
.after-show-inner { display: grid; gap: 1.4rem; }
.after-show-copy { max-width: 72ch; }
.after-show-copy h2 { margin: .2rem 0 .75rem; font-size: clamp(2rem,4vw,3rem); }
.after-show-copy p { line-height: 1.9; }
.after-show-points { display: grid; grid-template-columns: repeat(3,1fr); gap: 1rem; }
.after-show-points article { display: grid; gap: .35rem; padding: 1.1rem; border: 1px solid #cbd7d6; border-radius: .85rem; background: #fff; }
.after-show-points b { color: #126b68; font-size: 1.1rem; }
.after-show-points span { line-height: 1.75; }
.after-show .source-note,.after-show .video-note { margin: 0; padding: 1rem 1.1rem; border-radius: .75rem; line-height: 1.8; }
.after-show .source-note { background: #e7f2f0; border-inline-start: 4px solid #167c78; }
.after-show .video-note { background: #fff; border: 1px dashed #91a3ad; }
.show-copy .show-text .cue {
  padding-block: .2rem;
  margin-block: .08rem;
}
.show-visual .visual-question {
  inset: 1rem 1rem auto auto;
  max-width: min(72%,28rem);
}
.show-visual .visual-summary {
  position: absolute;
  z-index: 4;
  inset: auto 1rem 1rem 1rem;
  width: auto;
  margin: 0;
  padding: .7rem .9rem;
  display: grid;
  grid-template-columns: auto 1fr;
  align-items: center;
  gap: .7rem;
  border: 1px solid #b8d8d4;
  border-inline-start: 5px solid #167c78;
  border-radius: .7rem;
  background: #f8f5eef2;
  color: #142638;
  box-shadow: 0 12px 30px #0006;
}
.show-visual .visual-summary b { color: #126b68; }
.show-copy > .show-controls .controls-inner {
  width: 100%;
  min-height: 0;
  margin: 0;
  display: grid;
  grid-template-columns: minmax(0,1fr);
  gap: .55rem;
  align-items: center;
}
.show-copy > .show-controls .playback { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); width:100%; }
.show-copy > .show-controls .manual-nav { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); width:100%; }
.show-copy > .show-controls button { min-width:0; width:100%; overflow:hidden; text-overflow:ellipsis; }
.show-copy > .show-controls button span{font-size:clamp(.68rem,1.6vw,.82rem)}
.show-copy .kicker.title-speaking,.show-copy h2.title-speaking { background:#ffd978; color:#071b2e; border-radius:.45rem; box-shadow:inset 0 -3px #9b5a00,0 0 0 2px #fff7d0; }
.show-copy .kicker.title-speaking { padding:.15rem .4rem; width:max-content; max-width:100%; }
.show-copy h2.title-speaking { padding:.2rem .4rem; }
.show-copy .show-text .cue.active {
  background:#ffd978;
  color:#071b2e;
  border-inline-start-color:#9b5a00;
  box-shadow:inset 0 -3px #9b5a00,0 0 0 2px #fff7d0;
  font-weight:800;
}
.paid-pathways{padding-block:clamp(3rem,7vw,6rem)}
.language-switch{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.2rem;padding:.22rem;border:1px solid #60798a;border-radius:.85rem;background:#091d2d;box-shadow:inset 0 0 0 1px #ffffff0a}.language-switch a{display:flex;align-items:center;justify-content:center;gap:.38rem;min-width:5.7rem;min-height:2.6rem;padding:.35rem .6rem;border-radius:.65rem;color:#dce8ec;text-decoration:none;font-weight:800;line-height:1}.language-switch a b{display:grid;place-items:center;min-width:1.55rem;height:1.55rem;padding-inline:.2rem;border-radius:.42rem;background:#ffffff12;color:#f1c75b;font-size:.72rem}.language-switch a span{font-size:.78rem}.language-switch a.active{background:#f7f4ed;color:#0b1f33;box-shadow:0 .25rem .7rem #0004}.language-switch a.active b{background:#d6a43a;color:#0b1f33}.language-switch a:hover,.language-switch a:focus-visible{outline:2px solid #f1c75b;outline-offset:2px}
.subscription-gateway{margin-top:2rem;padding:clamp(1.3rem,4vw,2.4rem);border:1px solid #b7d6d3;border-radius:1.6rem;background:linear-gradient(145deg,#0b1f33 0%,#10394a 58%,#126b68 150%);color:#fff;box-shadow:0 1.5rem 3.5rem rgba(11,31,51,.18)}
.subscription-intro{display:grid;grid-template-columns:auto 1fr;gap:1rem;align-items:start}.subscription-intro h3{margin:.15rem 0 .35rem;color:#fff;font-size:clamp(1.5rem,3vw,2.15rem)}.subscription-intro p{margin:0;max-width:58rem;line-height:1.8;color:#dce8e9}
.subscription-badge{display:inline-flex;padding:.45rem .75rem;border-radius:999px;background:#d6a43a;color:#0b1f33;font-weight:900;white-space:nowrap}
.subscription-flow{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.7rem;margin:1.6rem 0;padding:0;list-style:none}
.subscription-flow li{display:flex;gap:.65rem;padding:1rem;border:1px solid rgba(255,255,255,.16);border-radius:1rem;background:rgba(255,255,255,.07)}.subscription-flow b{display:grid;place-items:center;flex:0 0 2rem;width:2rem;height:2rem;border-radius:50%;background:#d6a43a;color:#0b1f33}.subscription-flow span{display:flex;flex-direction:column;gap:.25rem;color:#dce8e9;line-height:1.55}.subscription-flow strong{color:#fff}
.audience-selector,.billing-selector{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin:1.5rem 0 1rem}.audience-selector{padding:1rem;border:1px solid rgba(255,255,255,.16);border-radius:1rem;background:rgba(255,255,255,.07)}.audience-selector h4,.billing-selector h4{margin:.1rem 0;color:#fff;font-size:1.35rem}.audience-selector p,.billing-selector p{margin:.1rem 0;color:#dce8e9;line-height:1.65}.audience-selector .plan-for{color:#d6a43a}.audience-toggle,.billing-toggle{display:grid;grid-template-columns:repeat(2,1fr);padding:.25rem;border-radius:.9rem;background:rgba(0,0,0,.25)}.audience-toggle button,.billing-toggle button{min-width:6rem;min-height:2.75rem;border:0;border-radius:.7rem;background:transparent;color:#fff;font:inherit;font-weight:850;cursor:pointer}.audience-toggle button.active,.billing-toggle button.active{background:#d6a43a;color:#0b1f33;box-shadow:0 .3rem .8rem rgba(0,0,0,.2)}
.billing-controls{display:grid;gap:.55rem;min-width:13rem}.billing-controls .audience-toggle,.billing-controls .billing-toggle{width:100%}.compact-audience-toggle{border:1px solid rgba(255,255,255,.16)}
.subscription-plans{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.subscription-plans article{position:relative;display:flex;flex-direction:column;align-items:flex-start;padding:1.35rem;border-radius:1.15rem;background:#fff;color:#0b1f33}.subscription-plans h4{margin:.1rem 0 .35rem;font-size:1.35rem}.subscription-plans p{margin:.15rem 0;line-height:1.7}.subscription-plans ul{margin:.7rem 0 1rem;padding-inline-start:1.2rem;line-height:1.8;color:#4d6071}.subscription-plans a{margin-top:auto;display:block;width:100%;padding:.8rem;border-radius:.75rem;background:#167c78;color:#fff;text-align:center;text-decoration:none;font-weight:900}.subscription-plans a:hover,.subscription-plans a:focus-visible{background:#0f6663}.plan-for{color:#167c78;font-weight:900;font-size:.9rem}.recommended-plan{outline:3px solid #d6a43a}.recommended-plan>span{position:absolute;inset-block-start:-.8rem;inset-inline-end:1rem;padding:.3rem .65rem;border-radius:999px;background:#d6a43a;color:#0b1f33;font-size:.76rem;font-weight:900}
.unit-balance{display:flex;align-items:baseline;gap:.55rem;margin:.2rem 0 .5rem}.unit-balance>strong{font-size:2.6rem;line-height:1;color:#0b1f33}.unit-balance span{display:flex;flex-direction:column;color:#526274;font-size:.85rem}.unit-balance b{color:#167c78}
.unit-explainer{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem;margin-top:1rem}.unit-explainer>div{padding:1rem;border:1px solid rgba(255,255,255,.16);border-radius:1rem;background:rgba(255,255,255,.07)}.unit-explainer h4{margin:0 0 .3rem;color:#fff}.unit-explainer p{margin:0;color:#dce8e9;line-height:1.7;font-size:.92rem}
.subscription-note{margin:1rem 0 0;padding:1rem;border-radius:.9rem;background:rgba(0,0,0,.2);color:#dce8e9;line-height:1.75}.subscription-note strong{color:#fff}.secondary-services-heading{margin-top:clamp(3rem,6vw,4.5rem);max-width:50rem}.secondary-services-heading h3{margin:.2rem 0;color:#0b1f33;font-size:clamp(1.4rem,2.5vw,1.9rem)}.secondary-services-heading p:last-child{line-height:1.8}
.need-nav{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.7rem;margin:2rem 0}
.need-nav a{display:flex;align-items:center;gap:.6rem;min-height:4.5rem;padding:.85rem;border:1px solid #cbd9da;border-radius:1rem;background:#fff;color:#0b1f33;text-decoration:none;font-weight:800;line-height:1.45;transition:.2s ease}
.need-nav a:hover,.need-nav a:focus-visible{border-color:#167c78;transform:translateY(-2px);box-shadow:0 .7rem 1.6rem rgba(11,31,51,.1)}
.need-nav span,.offer-number{display:grid;place-items:center;flex:0 0 2rem;width:2rem;height:2rem;border-radius:50%;background:#0b1f33;color:#d6a43a;font:800 .78rem/1 system-ui}
.service-category-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:1rem}
.service-category{grid-column:span 2;display:flex;flex-direction:column;align-items:flex-start;gap:.72rem;padding:1.5rem;border:1px solid #d7dfde;border-radius:1.35rem;background:linear-gradient(160deg,#fff 0%,#f7f4ed 100%);box-shadow:0 .8rem 2rem rgba(11,31,51,.07);scroll-margin-top:6rem}
.service-category:nth-child(4){grid-column:2/span 2}.service-category:nth-child(5){grid-column:4/span 2}
.category-icon{display:grid;place-items:center;width:3rem;height:3rem;border-radius:.9rem;background:#e3f1ef;color:#167c78}
.category-icon svg{width:1.55rem;height:1.55rem;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.service-category h3,.featured-services h3,.service-cta h3{margin:0;color:#0b1f33;font-size:clamp(1.25rem,2vw,1.65rem)}
.service-category p{margin:0;line-height:1.8;text-align:start}
.service-category ul{margin:.1rem 0 .4rem;padding:0;list-style:none;color:#3f5263;line-height:1.75}
.service-category li{position:relative;padding-inline-start:1.2rem}
.service-category li::before{content:"";position:absolute;inset-inline-start:0;top:.72em;width:.42rem;height:.42rem;border-radius:50%;background:#d6a43a}
.service-link{margin-top:auto;color:#126b68;font-weight:850;text-decoration:none}
.service-link:hover,.service-link:focus-visible{text-decoration:underline;text-underline-offset:.25rem}
.featured-services{margin-top:clamp(3rem,6vw,5rem)}
.section-heading{max-width:48rem}.section-heading>p:last-child{line-height:1.8}
.offer-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin-top:1.6rem}
.offer-grid article{display:flex;flex-direction:column;align-items:flex-start;gap:.7rem;padding:1.35rem;border:1px solid rgba(11,31,51,.14);border-radius:1.15rem;background:#fff;box-shadow:0 .7rem 2rem rgba(11,31,51,.06)}
.offer-grid h4{margin:0;color:#0b1f33;font-size:1.12rem;line-height:1.5}
.offer-grid p{margin:0;line-height:1.9;text-align:start}
.offer-grid a{margin-top:auto;color:#126b68;font-weight:800;text-decoration:none}
.offer-grid a:hover,.offer-grid a:focus-visible{text-decoration:underline;text-underline-offset:.25rem}
.offer-source{color:#526274;font-size:.95rem}
.service-cta{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(16rem,.7fr);gap:1.5rem;align-items:center;margin-top:2rem;padding:clamp(1.4rem,4vw,2.4rem);border-radius:1.4rem;background:#0b1f33;color:#fff}
.service-cta h3{color:#fff}.service-cta p{line-height:1.8}.service-cta .kicker{color:#d6a43a}
.service-cta-actions{display:grid;gap:.7rem}.service-cta-actions .button{text-align:center}
.service-cta-actions .secondary{border:1px solid #7891a5;background:transparent;color:#fff}
.scope-boundary{margin-top:1.5rem;padding:1.4rem 1.6rem;border-inline-start:.35rem solid #c96f56;border-radius:1rem;background:#fff4ef;color:#0b1f33}
.scope-boundary h3{margin-top:0}
@media (max-width: 900px) {
  .show-stage,
  .show-visual,
  .show-copy { min-width: 0; width: 100%; }
  .show-copy > .show-controls { max-width: 100%; overflow: visible; }
  .show-copy > .show-controls .controls-inner {
    min-width: 0;
    grid-template-columns: 1fr;
    padding: 0;
  }
  .show-copy > .show-controls .playback,
  .show-copy > .show-controls .manual-nav {
    display: grid;
    grid-template-columns: repeat(2,minmax(0,1fr));
  }
  .show-copy > .show-controls .play-button { grid-column: auto; }
  .show-visual .visual-summary {
    grid-template-columns: 1fr;
    gap: .15rem;
    padding: .6rem .75rem;
  }
  .after-show-points { grid-template-columns: 1fr; }
  .review-service-card { grid-template-columns:1fr; }
  .decision-reflection { font-size:.84rem; }
  .decision-reflection fieldset { padding:.5rem; }
  .offer-grid{grid-template-columns:1fr}
  .subscription-intro{grid-template-columns:1fr}.subscription-badge{width:max-content}.subscription-flow{grid-template-columns:repeat(2,minmax(0,1fr))}.subscription-plans{grid-template-columns:1fr}.unit-explainer{grid-template-columns:1fr}.audience-selector,.billing-selector{align-items:flex-start;flex-direction:column}.audience-toggle,.billing-toggle{width:100%}
  .need-nav{grid-template-columns:repeat(2,minmax(0,1fr))}
  .service-category-grid{grid-template-columns:1fr}
  .service-category,.service-category:nth-child(4),.service-category:nth-child(5){grid-column:auto}
  .service-cta{grid-template-columns:1fr}
  .paid-pathways{padding-block:2.5rem}
  .scope-boundary{padding:1.15rem}
}
@media (max-width:520px){.need-nav{grid-template-columns:1fr}.need-nav a{min-height:3.6rem}.service-category{padding:1.2rem}.subscription-flow{grid-template-columns:1fr}.subscription-gateway{padding:1.1rem}.recommended-plan>span{position:static;margin-bottom:.5rem}}
@media (max-width:520px){.header-inner{flex-wrap:wrap;padding-block:.4rem}.product-identity{flex:1 1 12rem;gap:.5rem}.header-portrait{width:42px;height:42px;flex-basis:42px}.product-identity .product-name{padding-inline-start:.65rem}.header-tools{width:100%;margin-inline-start:0;justify-content:space-between}.language-switch{width:7.2rem;flex:0 0 7.2rem}.language-switch a{min-width:3.15rem;padding:.3rem}.language-switch a span{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.language-switch a b{font-size:.68rem}.header-tools .icon-button{margin-inline-start:auto}}

/* Institutional relationship clarity */
.institutional-clarity{
  margin:26px 0;
  padding:24px;
  border:1px solid rgba(173,132,47,.28);
  border-radius:18px;
  background:linear-gradient(180deg,#fffaf0 0%,#ffffff 100%);
}
.institutional-clarity h4{
  margin:6px 0 10px;
  color:#102d4f;
  font-size:1.2rem;
}
.institutional-clarity p{
  line-height:1.85;
}
.institutional-clarity ul{
  margin:14px 0 0;
  padding-inline-start:22px;
  line-height:1.9;
}

/* Portrait framing: prioritize face visibility */
.header-portrait,
.author-portrait img {
  object-fit: cover;
  object-position: 50% 18%;
}

.header-portrait {
  transform: scale(1.18);
}

.author-portrait {
  overflow: hidden;
}

.author-portrait img {
  width: 100%;
  height: 100%;
  transform: scale(1.22);
}


/* Trial section visual */
.subscription-gateway-with-visual{
  display:grid;
  grid-template-columns:minmax(320px,.85fr) minmax(0,1.15fr);
  gap:2rem;
  align-items:center;
}
.subscription-gateway-with-visual > *:not(.subscription-visual){
  grid-column:2;
}
.subscription-visual{
  grid-column:1;
  grid-row:1 / span 8;
  align-self:stretch;
  min-height:520px;
  border-radius:1.5rem;
  overflow:hidden;
  background:#0b2238;
  box-shadow:0 24px 60px rgba(7,31,53,.16);
}
.subscription-visual img{
  width:100%;
  height:100%;
  min-height:520px;
  object-fit:cover;
  object-position:center;
  display:block;
}
@media(max-width:900px){
  .subscription-gateway-with-visual{
    grid-template-columns:1fr;
  }
  .subscription-gateway-with-visual > *:not(.subscription-visual),
  .subscription-visual{
    grid-column:1;
    grid-row:auto;
  }
  .subscription-visual{
    min-height:320px;
  }
  .subscription-visual img{
    min-height:320px;
    max-height:420px;
  }
}


/* Refined subscription visual after live visual review */
.subscription-gateway-with-visual{
  align-items:start;
}
.subscription-visual{
  grid-row:1 / span 3;
  align-self:start;
  min-height:0;
  height:460px;
  position:sticky;
  top:110px;
}
.subscription-visual img{
  min-height:0;
  height:100%;
  object-fit:cover;
  object-position:center center;
}
@media(max-width:900px){
  .subscription-visual{
    position:relative;
    top:auto;
    height:340px;
  }
}

/* English body-copy alignment: justified, titles excluded */
html[lang="en"] p,
html[lang="en"] li,
html[lang="en"] .show-text,
html[lang="en"] .show-text .cue,
html[lang="en"] .plan-description,
html[lang="en"] .subscription-note,
html[lang="en"] .unit-explainer,
html[lang="en"] .service-card p,
html[lang="en"] .author-copy p {
  text-align: justify;
  text-justify: inter-word;
  hyphens: auto;
}

html[lang="en"] h1,
html[lang="en"] h2,
html[lang="en"] h3,
html[lang="en"] h4,
html[lang="en"] h5,
html[lang="en"] h6,
html[lang="en"] .eyebrow,
html[lang="en"] .kicker,
html[lang="en"] button,
html[lang="en"] a {
  text-align: start;
  text-justify: auto;
  hyphens: none;
}


/* Subscription section visual + card cleanup after live review */
.subscription-gateway-with-visual{
  grid-template-columns:minmax(220px,.34fr) minmax(0,1fr);
  column-gap:1.5rem;
}

.subscription-visual{
  height:240px;
  grid-row:auto !important;
  position:relative;
  top:auto;
  border-radius:1.25rem;
  background:#fff;
}

.subscription-visual img{
  width:100%;
  height:100%;
  object-fit:contain;
  object-position:50% 50%;
  filter:none;
  opacity:1;
}

/* Keep the four journey steps readable instead of narrow text towers */
.subscription-flow{
  grid-column:1 / -1 !important;
  display:grid !important;
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  gap:1rem !important;
  margin-top:1.5rem;
}

.subscription-flow li{
  min-width:0;
  min-height:150px;
  padding:1.1rem !important;
  align-items:flex-start;
}

.subscription-flow li span{
  display:block;
  min-width:0;
}

.subscription-flow li strong{
  display:block;
  margin-bottom:.45rem;
  font-size:1.05rem;
  line-height:1.45;
}

.subscription-flow li span{
  font-size:.94rem;
  line-height:1.65;
}

@media(max-width:1100px){
  .subscription-gateway-with-visual{
    grid-template-columns:minmax(340px,.85fr) minmax(0,1.15fr);
  }
  .subscription-flow{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
}

@media(max-width:900px){
  .subscription-gateway-with-visual{
    grid-template-columns:1fr;
  }
  .subscription-visual{
    width:100%;
    height:380px;
  }
  .subscription-flow{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
}

@media(max-width:560px){
  .subscription-visual{
    height:300px;
  }
  .subscription-flow{
    grid-template-columns:1fr !important;
  }
  .subscription-flow li{
    min-height:0;
  }
}

/* Integrated trial-to-subscription journey */
.integrated-customer-journey{
  grid-column:1 / -1 !important;
  display:grid !important;
  grid-template-columns:repeat(5,minmax(0,1fr)) !important;
  gap:.9rem !important;
  margin:1.6rem 0 1.2rem;
}
.subscription-gateway-with-visual .integrated-customer-journey{order:-5}
.subscription-gateway-with-visual .subscription-intro{order:-4}
.subscription-gateway-with-visual .subscription-visual{order:-3;align-self:start}
.subscription-gateway-with-visual .audience-selector{order:-2}
.subscription-gateway-with-visual > *:not(.subscription-visual):not(.subscription-intro):not(.audience-selector):not(.integrated-customer-journey){order:0}
#journey-start{scroll-margin-top:1rem}
.integrated-customer-journey li{
  min-width:0;
  min-height:118px;
  padding:1rem !important;
  border-radius:1rem;
  background:#16324a;
  border:1px solid rgba(255,255,255,.12);
}
.integrated-customer-journey li b{
  display:inline-grid;
  place-items:center;
  width:34px;
  height:34px;
  border-radius:50%;
  background:#d9aa36;
  color:#071f35;
  margin-bottom:.55rem;
}
.integrated-customer-journey li strong{
  display:block;
  margin-bottom:.35rem;
  color:#fff;
  font-size:1.02rem;
}
.integrated-customer-journey li span{
  color:#dce6ec;
  line-height:1.6;
  font-size:.92rem;
}

.trial-value-review,
.relationship-decision{
  grid-column:1 / -1;
  display:grid;
  gap:1rem;
  margin:1rem 0;
  padding:1.25rem;
  border-radius:1rem;
  background:#fff;
  color:#142536;
  border:1px solid rgba(7,31,53,.12);
}

.trial-value-review ul{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:.8rem;
  margin:0;
  padding:0;
  list-style:none;
}
.trial-value-review li{
  padding:1rem;
  border-radius:.85rem;
  background:#f5f8fa;
  border:1px solid #dce5ea;
}
.trial-value-review li strong{
  display:block;
  color:#0d6f69;
  margin-bottom:.3rem;
}
.trial-value-review li span{
  display:block;
  line-height:1.65;
}

.relationship-options{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:.8rem;
}
.relationship-option{
  border:1px solid #cfdbe2;
  background:#f7f9fb;
  color:#142536;
  border-radius:.9rem;
  padding:1rem;
  text-align:start;
  cursor:pointer;
}
.relationship-option.active{
  border-color:#d9aa36;
  box-shadow:0 0 0 2px rgba(217,170,54,.16);
  background:#fffaf0;
}
.relationship-option strong,
.relationship-option span{
  display:block;
}
.relationship-option strong{
  font-size:1.05rem;
  color:#071f35;
  margin-bottom:.2rem;
}
.relationship-governance{
  grid-column:1 / -1;
  margin:0;
  padding:.85rem 1rem;
  border-inline-start:4px solid #0d8c83;
  background:#eef8f7;
  border-radius:.6rem;
}

@media(max-width:1100px){
  .integrated-customer-journey{
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  }
}
@media(max-width:800px){
  .integrated-customer-journey{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
  .trial-value-review ul{
    grid-template-columns:1fr;
  }
}
@media(max-width:560px){
  .integrated-customer-journey{
    grid-template-columns:1fr !important;
  }
  .relationship-options{
    grid-template-columns:1fr;
  }
}

@media(max-width:900px){
  .subscription-gateway-with-visual{grid-template-columns:1fr}
  .subscription-visual{width:100%;height:180px}
}

/* v4.8 same-page pricing, payment and unit ledger */
.plan-price{margin:.6rem 0;color:#071f35;font-weight:800}.plan-price strong{font-size:clamp(1.55rem,3vw,2.15rem)}.plan-price span{display:block;color:#516477;font-size:.78rem;font-weight:700}.plan-request{display:flex;align-items:center;justify-content:center;width:100%;min-height:50px;margin-top:auto;padding:.75rem 1rem;border:0;border-radius:.75rem;background:#0d8c83;color:#fff;cursor:pointer;font-family:inherit;font-size:1rem;font-weight:800;text-align:center;text-decoration:none}.plan-request:hover,.plan-request:focus-visible{background:#096d67;outline:3px solid rgba(217,170,54,.55);outline-offset:2px}.payment-stage{grid-column:1/-1;scroll-margin-top:1rem;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin-top:1.25rem;padding:1.25rem;border-radius:1.2rem;background:#f7fafb;color:#142536;border:2px solid #d9aa36}.payment-stage[hidden]{display:none}.payment-stage>div{padding:1.1rem;border-radius:.9rem;background:#fff;border:1px solid #dce5ea}.payment-stage h4{margin:.1rem 0 .7rem;color:#071f35}.payment-stage dl{display:grid;grid-template-columns:1fr 1fr;gap:.45rem;margin:0}.payment-stage dt{color:#5b6d7c}.payment-stage dd{margin:0;font-weight:800}.bank-transfer bdi{display:inline-block;direction:ltr;letter-spacing:.04em}.email-proof{margin-top:.9rem}.unit-ledger{border-top:4px solid #0d8c83!important}.subscription-visual{max-height:170px}.subscription-visual img{object-position:center 40%}
@media(max-width:800px){.payment-stage{grid-template-columns:1fr}.payment-stage dl{grid-template-columns:1fr 1fr}}
.payment-stage p,.payment-stage dt,.payment-stage dd{text-align:start;word-spacing:normal}.payment-stage bdi{max-width:100%;overflow-wrap:anywhere}

/* v4.8.2 supporting visuals beside trial pricing and package selection */
.trial-value-review{grid-template-columns:minmax(220px,.72fr) minmax(0,1.6fr);align-items:stretch}.trial-support-visual,.plans-support-visual{margin:0;overflow:hidden;border-radius:.9rem;background:#dce7ea}.trial-support-visual{grid-column:1;grid-row:1;min-height:210px}.trial-value-review>div{grid-column:2;grid-row:1;align-self:center}.trial-value-review>ul{grid-column:1/-1}.trial-support-visual img,.plans-support-visual img{display:block;width:100%;height:100%;object-fit:cover}.billing-selector-with-visual{display:grid;grid-template-columns:minmax(190px,.65fr) minmax(0,1.5fr);align-items:center;padding:1rem;border:1px solid rgba(255,255,255,.15);border-radius:1rem;background:rgba(255,255,255,.06)}.plans-support-visual{grid-column:1;grid-row:1/3;height:170px}.billing-selector-with-visual>div:first-of-type{grid-column:2;grid-row:1}.billing-selector-with-visual>.billing-controls{grid-column:2;grid-row:2;margin-top:.75rem}
@media(max-width:800px){.trial-value-review,.billing-selector-with-visual{grid-template-columns:1fr}.trial-support-visual,.trial-value-review>div,.trial-value-review>ul,.plans-support-visual,.billing-selector-with-visual>div:first-of-type,.billing-selector-with-visual>.billing-controls{grid-column:1}.trial-support-visual,.plans-support-visual{grid-row:auto;height:170px;min-height:170px}.trial-value-review>div{grid-row:auto}.trial-value-review>ul{grid-row:auto}}

/* v4.8.3 top invitation to the ongoing advisor */
.advisor-top-cta{display:flex;align-items:center;gap:.9rem;min-width:min(390px,34vw);padding:.55rem .7rem;border:1px solid rgba(239,197,98,.5);border-radius:.85rem;background:rgba(7,27,46,.72);color:#fff;text-decoration:none;box-shadow:0 10px 25px rgba(0,0,0,.18)}.advisor-top-cta span{display:grid;line-height:1.25}.advisor-top-cta strong{color:#f2cd73;font-size:.94rem}.advisor-top-cta small{color:#dce8ec;font-size:.72rem}.advisor-top-cta>b{margin-inline-start:auto;padding:.45rem .65rem;border-radius:.55rem;background:#d6a43a;color:#071b2e;font-size:.76rem;white-space:nowrap}.advisor-top-cta:hover,.advisor-top-cta:focus-visible{background:#102f43;outline:3px solid rgba(239,197,98,.45);outline-offset:2px}
@media(max-width:1100px){.advisor-top-cta{min-width:0}.advisor-top-cta small{display:none}}
@media(max-width:900px){.advisor-top-cta{width:100%;justify-content:space-between}.advisor-top-cta small{display:block}}
.app-header .advisor-top-cta{min-width:min(340px,28vw);padding:.42rem .55rem;border-radius:.75rem;background:#102f43;gap:.65rem}.app-header .advisor-top-cta>b{padding:.38rem .52rem}.app-header .advisor-top-cta strong{font-size:.86rem}.app-header .advisor-top-cta small{font-size:.67rem}
@media(max-width:1100px){.app-header .advisor-top-cta{min-width:0}.app-header .advisor-top-cta small{display:none}}
@media(max-width:900px){.app-header .advisor-top-cta{width:auto;max-width:100%}.app-header .advisor-top-cta small,.app-header .advisor-top-cta>b{display:none}}

/* v4.9.0 explicit transfer journey and private usage ledger */
.transfer-preview{grid-column:1/-1!important;grid-row:auto!important;padding-top:1rem;border-top:1px solid #dce5ea}.transfer-preview h4{margin:0 0 .75rem;color:#0b746e}.transfer-preview ol{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.7rem;margin:0;padding:0;list-style:none}.transfer-preview li{display:flex;align-items:flex-start;gap:.55rem;padding:.8rem;border:1px solid #dce5ea;border-radius:.75rem;background:#f6f9fa}.transfer-preview li b{display:grid;flex:0 0 1.75rem;width:1.75rem;height:1.75rem;place-items:center;border-radius:50%;background:#d9aa36;color:#071f35}.transfer-preview li span{color:#40586a;font-size:.88rem;line-height:1.65}.transfer-preview a{color:#087b74;font-weight:800}.subscription-plans article[role="button"]{cursor:pointer;transition:transform .18s ease,box-shadow .18s ease}.subscription-plans article[role="button"]:hover{transform:translateY(-3px);box-shadow:0 16px 34px rgba(2,21,37,.18)}.subscription-plans article[role="button"]:focus-visible{outline:4px solid #d9aa36;outline-offset:4px}.email-service-note{border-top:4px solid #0d8c83!important}.email-service-note p{margin-bottom:0}
@media(max-width:800px){.transfer-preview ol{grid-template-columns:1fr}.subscription-plans article[role="button"]:hover{transform:none}}

.email-service-note a{color:#087b74;font-weight:800}

/* v4.9.2 — justified copy and occupied visual sidebar */
.subscription-gateway p,
.subscription-gateway li span,
.payment-stage p,
.unit-explainer p,
.relationship-governance,
.after-show-copy p,
.secondary-services-heading p,
.service-category p {
  text-align: justify;
  text-justify: inter-word;
  hyphens: none;
}

.subscription-gateway-with-visual {
  align-items: start;
}

.subscription-gateway-with-visual > .subscription-visual {
  grid-column: 1;
  grid-row: 2 / span 10 !important;
  position: sticky;
  top: 110px;
  height: min(72vh, 760px);
  min-height: 520px;
  overflow: hidden;
  border: 1px solid rgba(217, 170, 54, .55);
  background: #071f35;
}

.subscription-visual img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

.visual-services {
  position: absolute;
  inset-inline: 1rem;
  bottom: 1rem;
  display: flex;
  flex-wrap: wrap;
  gap: .45rem;
  padding: .85rem;
  border: 1px solid rgba(255,255,255,.24);
  border-radius: 1rem;
  background: rgba(7,31,53,.88);
  color: #fff;
  box-shadow: 0 12px 30px rgba(0,0,0,.24);
  backdrop-filter: blur(10px);
}

.visual-services strong {
  flex-basis: 100%;
  color: #f2cd73;
  font-size: 1rem;
}

.visual-services span {
  padding: .35rem .55rem;
  border-radius: 999px;
  background: rgba(255,255,255,.12);
  font-size: .76rem;
}

.payment-stage h4,
.payment-stage dt,
.payment-stage dd,
.plan-price,
.unit-balance,
.plan-for,
button,
a {
  text-align: start;
}

@media (max-width: 900px) {
  .subscription-gateway-with-visual > .subscription-visual {
    grid-column: 1;
    grid-row: auto !important;
    position: relative;
    top: auto;
    width: 100%;
    height: 340px;
    min-height: 0;
  }

  .subscription-gateway p,
  .subscription-gateway li span,
  .payment-stage p,
  .unit-explainer p {
    text-align: start;
  }
}

/* v4.9.3 — professional author section */
.author-section {
  padding: clamp(3rem, 6vw, 5.5rem) 0;
  background:
    radial-gradient(circle at 85% 20%, rgba(18,107,104,.17), transparent 30%),
    linear-gradient(135deg, #071b2e 0%, #0b263b 100%);
}

.author-card {
  display: grid;
  grid-template-columns: minmax(280px, 360px) minmax(0, 1fr);
  gap: clamp(2rem, 5vw, 4.5rem);
  align-items: center;
  max-width: 1180px;
  margin-inline: auto;
}

.author-portrait {
  grid-column: 1;
  width: 100%;
  min-height: 0;
  aspect-ratio: 4 / 5;
  align-self: center;
  border: 1px solid rgba(242,205,115,.35);
  border-radius: 1.5rem;
  background:
    radial-gradient(circle at 50% 25%, #236d70, #092239 72%);
  box-shadow:
    0 28px 60px rgba(0,0,0,.28),
    inset 0 0 0 1px rgba(255,255,255,.06);
}

.author-portrait img {
  width: 100%;
  height: 100%;
  max-height: none;
  object-fit: cover;
  object-position: 50% 18%;
  transform: scale(1.06);
}

.author-copy {
  grid-column: 2;
  max-width: 760px;
}

.author-copy .kicker {
  margin: 0 0 .55rem;
  color: #d8e5e9;
  font-size: .94rem;
  font-weight: 800;
  letter-spacing: .02em;
}

.author-copy h2 {
  max-width: 12ch;
  margin: 0 0 .35rem;
  font-size: clamp(2.6rem, 5vw, 4.7rem);
  line-height: 1.15;
  letter-spacing: -.025em;
}

.author-role {
  margin: 0 0 1.4rem !important;
  color: #f2cd73 !important;
  font-size: clamp(1.05rem, 2vw, 1.3rem);
  line-height: 1.55;
}

.author-copy > p:not(.kicker):not(.author-role) {
  max-width: 66ch;
  margin: 0 0 1rem;
  color: #dce8ec;
  font-size: clamp(1rem, 1.5vw, 1.1rem);
  line-height: 1.95;
  text-align: justify;
  text-justify: inter-word;
}

.author-signature {
  max-width: 660px;
  margin-top: 1.5rem;
  padding: 1.1rem 1.25rem;
  gap: .45rem;
  border-inline-start: 4px solid #d9aa36;
  border-radius: .25rem .9rem .9rem .25rem;
  background: rgba(255,255,255,.07);
  box-shadow: 0 12px 30px rgba(0,0,0,.12);
}

.author-signature span {
  color: #f4f7f8;
  font-size: 1.05rem;
  line-height: 1.7;
}

.author-signature b {
  color: #f2cd73;
  font-size: .94rem;
}

@media (max-width: 800px) {
  .author-card {
    grid-template-columns: 1fr;
    gap: 1.75rem;
  }

  .author-portrait,
  .author-copy {
    grid-column: 1;
  }

  .author-portrait {
    width: min(100%, 340px);
    margin-inline: auto;
    aspect-ratio: 4 / 5;
  }

  .author-copy {
    text-align: start;
  }

  .author-copy h2 {
    max-width: none;
    font-size: clamp(2.25rem, 11vw, 3.5rem);
  }

  .author-copy > p:not(.kicker):not(.author-role) {
    text-align: start;
  }
}

/* v4.9.4 — payment-stage fixed-header offset */
.payment-stage {
  scroll-margin-top: 320px;
}

@media (max-width: 900px) {
  .payment-stage {
    scroll-margin-top: 210px;
  }
}

/* v4.9.5 — professional Arabic typography */
html[lang="ar"] body,
html[lang="ar"] button,
html[lang="ar"] input,
html[lang="ar"] select,
html[lang="ar"] textarea {
  font-family:
    "SF Arabic",
    "Geeza Pro",
    "Noto Sans Arabic",
    Tahoma,
    Arial,
    sans-serif;
}

html[lang="ar"] .author-copy h2 {
  max-width: none;
  width: max-content;
  white-space: nowrap;
  margin: 0 0 .55rem;
  font-family:
    "SF Arabic",
    "Geeza Pro",
    "Noto Sans Arabic",
    Tahoma,
    Arial,
    sans-serif;
  font-size: clamp(2.5rem, 4vw, 4rem);
  font-weight: 700;
  line-height: 1.3;
  letter-spacing: 0;
}

html[lang="ar"] .author-copy .kicker {
  font-weight: 700;
}

html[lang="ar"] .author-role {
  font-weight: 700;
}

html[lang="ar"] .author-copy > p:not(.kicker):not(.author-role) {
  font-weight: 400;
}

@media (max-width: 800px) {
  html[lang="ar"] .author-copy h2 {
    width: 100%;
    font-size: clamp(1.75rem, 7.2vw, 3rem);
    white-space: nowrap;
  }
}

/* v4.9.6 — compact advanced-services gateway */
.advanced-services-gateway {
  display: grid;
  grid-template-columns: minmax(260px, .72fr) minmax(0, 1.28fr);
  gap: 1.5rem;
  margin-top: 2.5rem;
  padding: clamp(1.4rem, 3vw, 2rem);
  border: 1px solid rgba(217,170,54,.45);
  border-radius: 1.25rem;
  background:
    linear-gradient(135deg, rgba(7,31,53,.97), rgba(16,57,74,.96));
  color: #fff;
  box-shadow: 0 20px 45px rgba(7,31,53,.16);
}

.advanced-services-copy {
  align-self: center;
}

.advanced-services-copy .kicker {
  color: #f2cd73;
}

.advanced-services-copy h3 {
  margin: .25rem 0 .75rem;
  color: #fff;
  font-size: clamp(1.45rem, 2.6vw, 2rem);
  line-height: 1.45;
}

.advanced-services-copy > p:last-child {
  margin-bottom: 0;
  color: #d9e5e9;
  line-height: 1.85;
  text-align: justify;
  text-justify: inter-word;
}

.advanced-service-links {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .75rem;
}

.advanced-service-links a {
  display: grid;
  align-content: center;
  gap: .3rem;
  min-height: 105px;
  padding: 1rem;
  border: 1px solid rgba(255,255,255,.16);
  border-radius: .85rem;
  background: rgba(255,255,255,.07);
  color: #fff;
  text-decoration: none;
  transition: background .18s ease, transform .18s ease;
}

.advanced-service-links a:hover,
.advanced-service-links a:focus-visible {
  transform: translateY(-2px);
  background: rgba(255,255,255,.13);
}

.advanced-service-links span {
  color: #f2cd73;
  font-weight: 800;
}

.advanced-service-links small {
  color: #dce7eb;
  line-height: 1.55;
}

.advanced-services-actions {
  grid-column: 1 / -1;
  display: flex;
  flex-wrap: wrap;
  gap: .75rem;
}

.advanced-services-actions .button {
  width: auto;
}

@media (max-width: 800px) {
  .advanced-services-gateway,
  .advanced-service-links {
    grid-template-columns: 1fr;
  }

  .advanced-services-copy > p:last-child {
    text-align: start;
  }

  .advanced-services-actions {
    display: grid;
    grid-template-columns: 1fr;
  }

  .advanced-services-actions .button {
    width: 100%;
  }
}

/* v4.9.7 — visual beside the subscription introduction */
.after-show-inner {
  display: grid;
  grid-template-columns: minmax(300px, .82fr) minmax(0, 1.18fr);
  column-gap: clamp(2rem, 5vw, 5rem);
  row-gap: 1.5rem;
  align-items: center;
  direction: ltr;
}

.after-show-copy {
  grid-column: 2;
  max-width: 760px;
  direction: rtl;
}

html[lang="en"] .after-show-copy {
  direction: ltr;
}

.after-show-inner > *:not(.after-show-copy):not(.after-show-visual) {
  grid-column: 1 / -1;
}

.after-show-visual {
  grid-column: 1;
  position: relative;
  width: 100%;
  height: clamp(330px, 34vw, 470px);
  margin: 0;
  overflow: hidden;
  border: 1px solid rgba(11,31,51,.14);
  border-radius: 1.35rem;
  background: #0b1f33;
  box-shadow: 0 24px 55px rgba(11,31,51,.16);
}

.after-show-visual img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

.after-show-visual::after {
  content: "";
  position: absolute;
  inset: 45% 0 0;
  background: linear-gradient(transparent, rgba(7,27,46,.9));
  pointer-events: none;
}

.after-show-visual figcaption {
  position: absolute;
  z-index: 1;
  inset-inline: 1.1rem;
  bottom: 1.1rem;
  display: grid;
  gap: .25rem;
  padding: .9rem 1rem;
  border: 1px solid rgba(255,255,255,.18);
  border-radius: .85rem;
  background: rgba(7,31,53,.76);
  color: #fff;
  backdrop-filter: blur(8px);
}

.after-show-visual figcaption strong {
  color: #f2cd73;
  font-size: 1.05rem;
}

.after-show-visual figcaption span {
  color: #e0eaed;
  font-size: .86rem;
  line-height: 1.55;
}

@media (max-width: 850px) {
  .after-show-inner {
    grid-template-columns: 1fr;
  }

  .after-show-copy,
  .after-show-visual,
  .after-show-inner > * {
    grid-column: 1 !important;
  }

  .after-show-visual {
    grid-row: 2;
    height: 300px;
  }

  .after-show-copy {
    grid-row: 1;
  }
}

/* v4.9.8 — RTL caption inside the Arabic image */
html[lang="ar"] .after-show-visual figcaption {
  direction: rtl;
  text-align: right;
  unicode-bidi: isolate;
}

html[lang="ar"] .after-show-visual figcaption strong,
html[lang="ar"] .after-show-visual figcaption span {
  display: block;
  width: 100%;
  direction: rtl;
  text-align: right;
}

html[lang="en"] .after-show-visual figcaption {
  direction: ltr;
  text-align: left;
}

/* v4.9.9 — complete Arabic RTL correction */

/* The grid remains LTR only for physical image placement. */
html[lang="ar"] .after-show-inner > * {
  direction: rtl;
}

/* Arabic subscription journey */
html[lang="ar"] .paid-pathways,
html[lang="ar"] .subscription-gateway,
html[lang="ar"] .subscription-flow,
html[lang="ar"] .subscription-intro,
html[lang="ar"] .audience-selector,
html[lang="ar"] .trial-value-review,
html[lang="ar"] .transfer-preview,
html[lang="ar"] .billing-selector,
html[lang="ar"] .billing-controls,
html[lang="ar"] .subscription-plans,
html[lang="ar"] .payment-stage,
html[lang="ar"] .unit-explainer,
html[lang="ar"] .advanced-services-gateway,
html[lang="ar"] .advanced-service-links,
html[lang="ar"] .advanced-services-actions,
html[lang="ar"] .scope-boundary,
html[lang="ar"] .visual-services {
  direction: rtl;
}

/* Text content */
html[lang="ar"] .paid-pathways :where(
  h2, h3, h4,
  p, li,
  dt, dd,
  strong, small,
  figcaption
) {
  direction: rtl;
  text-align: right;
}

/* Preserve natural Arabic punctuation and mixed content. */
html[lang="ar"] .subscription-flow li span,
html[lang="ar"] .subscription-intro,
html[lang="ar"] .audience-selector > div,
html[lang="ar"] .trial-value-review > div,
html[lang="ar"] .transfer-preview li span,
html[lang="ar"] .billing-selector > div,
html[lang="ar"] .plan-description,
html[lang="ar"] .subscription-plans li,
html[lang="ar"] .payment-stage p,
html[lang="ar"] .unit-explainer p,
html[lang="ar"] .subscription-note,
html[lang="ar"] .advanced-services-copy,
html[lang="ar"] .advanced-service-links a,
html[lang="ar"] .scope-boundary {
  direction: rtl;
  text-align: right;
  unicode-bidi: plaintext;
}

/* Image captions and service labels */
html[lang="ar"] .after-show-visual,
html[lang="ar"] .after-show-visual figcaption,
html[lang="ar"] .subscription-visual,
html[lang="ar"] .visual-services {
  direction: rtl;
  text-align: right;
}

html[lang="ar"] .visual-services strong {
  text-align: right;
}

/* Controls remain visually centered but read RTL. */
html[lang="ar"] .audience-toggle,
html[lang="ar"] .billing-toggle {
  direction: rtl;
}

html[lang="ar"] .audience-toggle button,
html[lang="ar"] .billing-toggle button,
html[lang="ar"] .plan-request,
html[lang="ar"] .advanced-services-actions .button {
  direction: rtl;
  text-align: center;
}

/* Plan cards */
html[lang="ar"] .subscription-plans article {
  direction: rtl;
  text-align: right;
}

html[lang="ar"] .subscription-plans article > ul {
  direction: rtl;
  padding-right: 1.2rem;
  padding-left: 0;
}

html[lang="ar"] .unit-balance,
html[lang="ar"] .plan-price {
  direction: rtl;
  text-align: right;
}

/* Number and email fragments must retain their internal order. */
html[lang="ar"] bdi,
html[lang="ar"] a[href^="mailto:"],
html[lang="ar"] .bank-transfer bdi {
  direction: ltr;
  unicode-bidi: isolate;
  display: inline-block;
  text-align: left;
}

/* Numbered transfer steps: number stays on the logical right. */
html[lang="ar"] .transfer-preview ol {
  direction: rtl;
}

html[lang="ar"] .transfer-preview li {
  direction: rtl;
  text-align: right;
}

/* Professional-boundary block */
html[lang="ar"] .scope-boundary h3,
html[lang="ar"] .scope-boundary p {
  direction: rtl;
  text-align: right;
}

/* English remains explicitly LTR. */
html[lang="en"] .after-show-inner > *,
html[lang="en"] .subscription-gateway,
html[lang="en"] .advanced-services-gateway {
  direction: ltr;
}

/* v4.10.0 — justified body copy and centered plan metrics */

/* Justify long-form body copy. */
main p:not(
  .kicker,
  .plan-for,
  .plan-price,
  .author-role,
  .privacy-line
),
main article li,
main aside li,
main .subscription-note,
main .relationship-governance,
main .plan-description,
main .transfer-preview li span,
main .advanced-service-links small {
  text-align: justify;
  text-justify: inter-word;
  hyphens: none;
}

/* Titles are excluded from justification. */
main h1,
main h2,
main h3,
main h4,
main h5,
main h6,
main .kicker,
main .plan-for {
  text-align: start;
  text-justify: auto;
}

/* Buttons and controls remain centered. */
main button,
main .button,
main .plan-request,
main .audience-toggle button,
main .billing-toggle button {
  text-align: center;
  text-justify: auto;
}

/* Center the package identity and numerical metrics. */
.subscription-plans article .plan-for,
.subscription-plans article > h4,
.subscription-plans article .unit-balance,
.subscription-plans article .unit-balance strong,
.subscription-plans article .unit-balance span,
.subscription-plans article .cycle-label,
.subscription-plans article .plan-price,
.subscription-plans article .plan-price strong,
.subscription-plans article .plan-price span {
  width: 100%;
  text-align: center !important;
  text-justify: auto;
}

/* Keep the number and its unit together and centered. */
.subscription-plans article .unit-balance {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  justify-content: center;
  column-gap: .5rem;
}

.subscription-plans article .unit-balance > span {
  width: auto;
}

.subscription-plans article .unit-balance .cycle-label {
  display: block;
  margin-top: .15rem;
}

/* Center the price while retaining correct number order. */
.subscription-plans article .plan-price {
  direction: rtl;
}

.subscription-plans article .plan-price strong {
  display: inline;
  width: auto;
  direction: ltr;
  unicode-bidi: isolate;
}

/* Descriptions and benefit lists remain justified. */
.subscription-plans article .plan-description,
.subscription-plans article > ul,
.subscription-plans article > ul li {
  direction: rtl;
  text-align: justify !important;
  text-justify: inter-word;
}

.subscription-plans article > ul {
  width: 100%;
  padding-inline-start: 0;
  padding-inline-end: 1.25rem;
}

/* English receives the same structure without RTL overrides. */
html[lang="en"] .subscription-plans article .plan-price,
html[lang="en"] .subscription-plans article .plan-description,
html[lang="en"] .subscription-plans article > ul,
html[lang="en"] .subscription-plans article > ul li {
  direction: ltr;
}

/* v4.10.0 — justified body copy and centered plan metrics */

/* Justify long-form body copy. */
main p:not(
  .kicker,
  .plan-for,
  .plan-price,
  .author-role,
  .privacy-line
),
main article li,
main aside li,
main .subscription-note,
main .relationship-governance,
main .plan-description,
main .transfer-preview li span,
main .advanced-service-links small {
  text-align: justify;
  text-justify: inter-word;
  hyphens: none;
}

/* Titles are excluded from justification. */
main h1,
main h2,
main h3,
main h4,
main h5,
main h6,
main .kicker,
main .plan-for {
  text-align: start;
  text-justify: auto;
}

/* Buttons and controls remain centered. */
main button,
main .button,
main .plan-request,
main .audience-toggle button,
main .billing-toggle button {
  text-align: center;
  text-justify: auto;
}

/* Center the package identity and numerical metrics. */
.subscription-plans article .plan-for,
.subscription-plans article > h4,
.subscription-plans article .unit-balance,
.subscription-plans article .unit-balance strong,
.subscription-plans article .unit-balance span,
.subscription-plans article .cycle-label,
.subscription-plans article .plan-price,
.subscription-plans article .plan-price strong,
.subscription-plans article .plan-price span {
  width: 100%;
  text-align: center !important;
  text-justify: auto;
}

/* Keep the number and its unit together and centered. */
.subscription-plans article .unit-balance {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  justify-content: center;
  column-gap: .5rem;
}

.subscription-plans article .unit-balance > span {
  width: auto;
}

.subscription-plans article .unit-balance .cycle-label {
  display: block;
  margin-top: .15rem;
}

/* Center the price while retaining correct number order. */
.subscription-plans article .plan-price {
  direction: rtl;
}

.subscription-plans article .plan-price strong {
  display: inline;
  width: auto;
  direction: ltr;
  unicode-bidi: isolate;
}

/* Descriptions and benefit lists remain justified. */
.subscription-plans article .plan-description,
.subscription-plans article > ul,
.subscription-plans article > ul li {
  direction: rtl;
  text-align: justify !important;
  text-justify: inter-word;
}

.subscription-plans article > ul {
  width: 100%;
  padding-inline-start: 0;
  padding-inline-end: 1.25rem;
}

/* English receives the same structure without RTL overrides. */
html[lang="en"] .subscription-plans article .plan-price,
html[lang="en"] .subscription-plans article .plan-description,
html[lang="en"] .subscription-plans article > ul,
html[lang="en"] .subscription-plans article > ul li {
  direction: ltr;
}

/* v4.10.1 — centered transfer cards and card-content integrity */

/* Section title */
.transfer-preview > h4 {
  width: 100%;
  margin: 0 0 1rem;
  text-align: center !important;
  text-justify: auto;
}

/* Equal card grid */
.transfer-preview ol {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  align-items: stretch;
  gap: 1rem;
  margin: 0;
  padding: 0;
}

/* Every step card */
.transfer-preview li {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  gap: .8rem;
  min-width: 0;
  min-height: 210px;
  padding: 1.15rem 1rem;
  overflow: hidden;
  border: 1px solid #d5e0e5;
  border-radius: 1rem;
  background: #f7f9fa;
  text-align: center;
}

/* Centered step number */
.transfer-preview li > b {
  display: grid;
  flex: 0 0 2.65rem;
  width: 2.65rem;
  height: 2.65rem;
  margin: 0 auto;
  place-items: center;
  border-radius: 50%;
  background: #dfaa2f;
  color: #071f35;
  font-size: 1.25rem;
  font-weight: 900;
  line-height: 1;
  text-align: center;
}

/* Centered step description */
.transfer-preview li > span {
  display: block;
  width: 100%;
  min-width: 0;
  margin: 0;
  color: #40586a;
  font-size: .96rem;
  line-height: 1.8;
  direction: rtl;
  text-align: center !important;
  text-justify: auto;
  overflow-wrap: anywhere;
  word-break: normal;
}

/* Email must never escape its card */
.transfer-preview a {
  display: inline;
  max-width: 100%;
  color: #087b74;
  font-weight: 800;
  direction: ltr;
  unicode-bidi: isolate;
  overflow-wrap: anywhere;
  word-break: break-word;
}

/* General protection for all cards */
.subscription-gateway article,
.subscription-gateway li,
.payment-stage > div,
.unit-explainer > div,
.advanced-service-links a,
.scope-boundary {
  min-width: 0;
  max-width: 100%;
  overflow-wrap: anywhere;
}

.subscription-plans {
  align-items: stretch;
}

.subscription-plans article {
  height: 100%;
}

.subscription-plans article > h4,
.subscription-plans article .plan-for,
.subscription-plans article .unit-balance,
.subscription-plans article .plan-price {
  text-align: center !important;
}

.subscription-plans article .plan-description,
.subscription-plans article > ul li {
  text-align: justify !important;
  text-justify: inter-word;
}

/* Keep buttons aligned at card bottoms */
.subscription-plans article .plan-request {
  margin-top: auto;
}

/* Tablet */
@media (max-width: 1050px) {
  .transfer-preview ol {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

/* Mobile */
@media (max-width: 600px) {
  .transfer-preview ol {
    grid-template-columns: 1fr;
  }

  .transfer-preview li {
    min-height: 0;
  }

  .transfer-preview li > span {
    font-size: .92rem;
  }
}

/* v4.11.2 — centered advanced-service cards */
.advanced-service-links a {
  align-content: center;
  justify-items: center;
  text-align: center !important;
}

.advanced-service-links a > span,
.advanced-service-links a > small,
html[lang="ar"] .advanced-service-links a,
html[lang="ar"] .advanced-service-links a > span,
html[lang="ar"] .advanced-service-links a > small,
html[lang="en"] .advanced-service-links a,
html[lang="en"] .advanced-service-links a > span,
html[lang="en"] .advanced-service-links a > small {
  width: 100%;
  margin-inline: auto;
  text-align: center !important;
  text-justify: auto;
}

.advanced-service-links a > span {
  display: block;
  line-height: 1.45;
}

.advanced-service-links a > small {
  display: block;
  max-width: 34rem;
}

/* v4.11.4 — reserve clear space above the visual summary */
@media (min-width: 901px) {
  .show-visual .opening-welcome {
    top: 4.6rem;
    bottom: 5.8rem;
    height: auto;
    max-height: none;
    overflow-y: auto;
    scrollbar-width: thin;
    scrollbar-color: #d6a43a #102d3d;
  }

  .show-visual .visual-summary {
    min-height: 3.8rem;
  }
}

@media (min-width: 901px) and (max-height: 760px) {
  .show-visual .opening-welcome {
    top: 3.7rem;
    right: 1.2rem;
    bottom: 4.8rem;
    width: min(53%, 29rem);
    padding: .85rem 1rem;
  }

  .show-visual .opening-welcome h2 {
    font-size: clamp(1.3rem, 2vw, 1.8rem);
  }

  .show-visual .opening-welcome > span {
    line-height: 1.55;
  }

  .show-visual .opening-welcome ul {
    margin-top: .5rem;
  }
}

/* v4.10.2 — centered visual-service pills */
.visual-services {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-items: stretch;
  justify-items: stretch;
  gap: .65rem;
  direction: rtl;
  text-align: center;
}

.visual-services > strong {
  grid-column: 1 / -1;
  width: 100%;
  margin-bottom: .15rem;
  text-align: center !important;
}

.visual-services > span {
  display: flex;
  width: 100%;
  min-width: 0;
  min-height: 48px;
  align-items: center;
  justify-content: center;
  padding: .55rem .7rem;
  border-radius: 999px;
  direction: rtl;
  text-align: center !important;
  line-height: 1.45;
}

@media (max-width: 420px) {
  .visual-services {
    grid-template-columns: 1fr;
  }

  .visual-services > strong {
    grid-column: 1;
  }
}

/* v4.10.3 — unit explainer card alignment */
.unit-explainer {
  align-items: stretch;
}

.unit-explainer > div {
  display: flex;
  height: 100%;
  min-width: 0;
  flex-direction: column;
  padding: 1.35rem;
}

.unit-explainer h4 {
  width: 100%;
  margin: 0 0 .85rem;
  direction: rtl;
  text-align: center !important;
}

.unit-explainer p {
  width: 100%;
  margin: 0;
  direction: rtl;
  text-align: justify !important;
  text-justify: inter-word;
  line-height: 1.85;
  overflow-wrap: anywhere;
}

/* v4.11.0 — fit-first conversion journey */
.fit-review {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(260px, .75fr);
  gap: 1rem 1.25rem;
  padding: clamp(1.25rem, 2.3vw, 2rem);
  border: 1px solid rgba(11, 116, 110, .22);
  border-top: 5px solid #d9aa36;
  border-radius: 1.2rem;
  background: #fff;
  color: #0b1f33;
  box-shadow: 0 18px 42px rgba(2, 21, 37, .1);
  scroll-margin-top: 190px;
}

.fit-review-copy h3 {
  margin: .25rem 0 .7rem;
  color: #0b1f33;
  font-size: clamp(1.55rem, 2.2vw, 2.25rem);
  line-height: 1.35;
}

.fit-review-copy > p:last-child,
.fit-review-boundary p,
.fit-review-no-charge {
  text-align: justify;
  text-justify: inter-word;
  line-height: 1.85;
}

.fit-review-output {
  display: grid;
  align-content: center;
  gap: .55rem;
  margin: 0;
  padding: 1rem 2.6rem 1rem 1rem;
  border-radius: .9rem;
  background: #edf6f5;
  color: #0b625e;
  font-weight: 800;
}

.fit-review-boundary {
  padding: 1rem 1.1rem;
  border-inline-start: 4px solid #d9aa36;
  border-radius: .75rem;
  background: #f5f7f8;
}

.fit-review-boundary strong { color: #0b746e; }
.fit-review-boundary p { margin: .25rem 0 0; }
.fit-review-cta { align-self: center; justify-self: stretch; text-align: center; }
.fit-review-no-charge { grid-column: 1 / -1; margin: 0; color: #40586a; font-weight: 700; }

.subscription-flow {
  grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
}

.subscription-flow li {
  min-width: 0;
}

.subscription-flow li span {
  overflow-wrap: anywhere;
}

.trial-request {
  width: 100%;
  margin-top: 1rem;
}

.billing-controls {
  justify-items: center;
}

.billing-controls .billing-toggle {
  max-width: 26rem;
}

.payment-stage {
  scroll-margin-top: 190px;
}

.payment-stage > .transfer-preview {
  grid-column: 1 / -1 !important;
}

.payment-stage[hidden] {
  display: none !important;
}

html[lang="en"] .fit-review-copy > p:last-child,
html[lang="en"] .fit-review-boundary p,
html[lang="en"] .fit-review-no-charge {
  direction: ltr;
}

html[lang="en"] .fit-review-output {
  padding: 1rem 1rem 1rem 2.6rem;
}

@media (max-width: 1100px) {
  .subscription-flow {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 800px) {
  .fit-review {
    grid-template-columns: 1fr;
    scroll-margin-top: 150px;
  }

  .fit-review-no-charge {
    grid-column: 1;
  }

  .payment-stage {
    scroll-margin-top: 150px;
  }
}

@media (max-width: 560px) {
  .subscription-flow {
    grid-template-columns: 1fr !important;
  }

  .fit-review {
    padding: 1rem;
  }
}

/* v4.11.1 — graphical transfer journey */
.transfer-preview {
  position: relative;
  overflow: hidden;
  padding: clamp(1.2rem, 2.3vw, 2rem) !important;
  border: 1px solid #d7e3e7 !important;
  border-top: 5px solid #d9aa36 !important;
  border-radius: 1.15rem;
  background:
    radial-gradient(circle at 12% 8%, rgba(13,140,131,.11), transparent 28%),
    linear-gradient(145deg, #ffffff 0%, #f3f8f8 100%);
}

.transfer-preview > h4 {
  position: relative;
  z-index: 2;
  margin-bottom: 1.4rem;
  color: #0b1f33;
  font-size: clamp(1.35rem, 2vw, 1.9rem);
}

.transfer-preview ol {
  position: relative;
  z-index: 1;
  gap: clamp(.65rem, 1.4vw, 1.15rem);
}

.transfer-preview ol::before {
  content: "";
  position: absolute;
  z-index: -1;
  top: 3.2rem;
  right: 10%;
  left: 10%;
  height: 4px;
  border-radius: 999px;
  background: linear-gradient(90deg, #0d8c83, #d9aa36, #0d8c83);
  opacity: .65;
}

.transfer-preview li {
  position: relative;
  min-height: 235px;
  padding: 1.05rem .9rem 1.15rem;
  border: 1px solid rgba(13,140,131,.18);
  border-radius: 1.1rem;
  background: rgba(255,255,255,.94);
  box-shadow: 0 12px 28px rgba(3,34,49,.08);
  transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}

.transfer-preview li:hover {
  transform: translateY(-4px);
  border-color: rgba(13,140,131,.4);
  box-shadow: 0 18px 34px rgba(3,34,49,.13);
}

.transfer-preview li::before {
  display: grid;
  width: 4.2rem;
  height: 4.2rem;
  margin: .2rem auto .15rem;
  place-items: center;
  border: 2px solid rgba(13,140,131,.22);
  border-radius: 1.15rem;
  background: linear-gradient(145deg, #e8f5f3, #fff);
  color: #0b746e;
  font-family: Arial, sans-serif;
  font-size: 2rem;
  font-style: normal;
  font-weight: 800;
  line-height: 1;
  box-shadow: inset 0 0 0 5px rgba(255,255,255,.75);
}

.transfer-preview li:nth-child(1)::before { content: "▤"; }
.transfer-preview li:nth-child(2)::before { content: "▥"; }
.transfer-preview li:nth-child(3)::before { content: "✉"; }
.transfer-preview li:nth-child(4)::before { content: "✓"; }

.transfer-preview li > b {
  position: absolute;
  top: .75rem;
  inset-inline-start: .75rem;
  z-index: 3;
  width: 2rem;
  height: 2rem;
  flex-basis: 2rem;
  margin: 0;
  background: #d9aa36;
  font-size: .95rem;
  box-shadow: 0 5px 14px rgba(217,170,54,.3);
}

.transfer-preview li > span {
  margin-top: .25rem;
  color: #344f61;
  font-size: .94rem;
  line-height: 1.8;
}

@media (max-width: 1050px) {
  .transfer-preview ol::before { display: none; }
}

@media (max-width: 600px) {
  .transfer-preview { padding: 1rem !important; }
  .transfer-preview li {
    display: grid;
    grid-template-columns: 3.7rem minmax(0,1fr);
    align-items: center;
    gap: .85rem;
    min-height: 0;
    text-align: start;
  }
  .transfer-preview li::before {
    width: 3.5rem;
    height: 3.5rem;
    margin: 0;
    font-size: 1.65rem;
  }
  .transfer-preview li > span {
    margin: 0;
    text-align: start !important;
  }
  .transfer-preview li > b {
    top: .45rem;
    inset-inline-start: .45rem;
    width: 1.65rem;
    height: 1.65rem;
    flex-basis: 1.65rem;
    font-size: .78rem;
  }
}

html[lang="en"] .unit-explainer h4,
html[lang="en"] .unit-explainer p {
  direction: ltr;
}
