/* Shared public presentation. Form state remains controlled by each page. */
body.theme50 {
  --theme50-paper: #faf7f0;
  --theme50-ink: #17182c;
  --theme50-muted: #50536b;
  --theme50-brand: #4338a5;
  --theme50-line: #ded9d3;
  --theme50-mint: #dff2e8;
  margin: 0;
  padding: 0;
  background: var(--theme50-paper);
  color: var(--theme50-ink);
  font: 16px/1.6 Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}
.theme50 *, .theme50 *::before, .theme50 *::after { box-sizing: border-box; }
.theme50 [hidden] { display: none !important; }
.theme50 a { color: var(--theme50-brand); text-underline-offset: 4px; }
.theme50 a:focus-visible, .theme50 button:focus-visible,
.theme50 input:focus-visible, .theme50 select:focus-visible, .theme50 textarea:focus-visible {
  outline: 3px solid #8871d7;
  outline-offset: 3px;
}
.theme50 img { max-width: 100%; height: auto; }
.theme50 font { font-family: inherit; }
.theme50 font[color], .theme50 .txt, .theme50 .txt2, .theme50 .txt3,
.theme50 .txtcmd, .theme50 .texte_legende, .theme50 .stat { color: inherit; }
.theme50 .txt, .theme50 .txt2, .theme50 .txt3, .theme50 .txtcmd,
.theme50 .stat, .theme50 .texte, .theme50 .texte_legende { font-family: inherit; font-size: .95rem; line-height: 1.65; }
.theme50 h1, .theme50 h2, .theme50 h3, .theme50 h4 {
  color: var(--theme50-ink);
  font-family: inherit;
  font-variant: normal;
  line-height: 1.2;
  background: none;
  padding-left: 0;
}
.theme50 h1 { font-size: clamp(1.65rem, 3.2vw, 2.65rem); font-weight: 750; letter-spacing: -.04em; }
.theme50 h1:has(.txt), .theme50 h1:has(table) { font-size: 1rem; font-weight: 400; letter-spacing: normal; line-height: 1.65; }
.theme50 h2 { font-size: clamp(1.45rem, 2.7vw, 2rem); font-weight: 700; border: 0; }
.theme50 h3 { font-size: 1.25rem; }
.theme50 h4 { font-size: 1.05rem; }
.theme50 div#container {
  width: min(1180px, calc(100% - 64px));
  min-height: 0;
  margin: 0 auto;
  background: transparent;
}
.theme50 #container::after { content: ""; display: table; clear: both; }
.theme50 #header {
  display: grid;
  grid-template-columns: auto 1fr;
  align-items: center;
  gap: 8px 28px;
  position: relative;
  width: 100%;
  height: auto;
  padding: 18px 0 12px;
  background: var(--theme50-ink);
  box-shadow: 0 0 0 100vmax var(--theme50-ink);
  clip-path: inset(0 -100vmax);
  color: #f7f5ff;
}
.theme50 #logo { float: none; width: auto; height: auto; padding: 0; }
.theme50 #logo img { display: block; width: 138px; height: auto; }
.theme50 .theme50-brand { color: #fff; font-size: 1.75rem; font-weight: 800; letter-spacing: -.06em; white-space: nowrap; text-decoration: none; }
.theme50 .theme50-brand span { color: #b9e8d1; }
.theme50 #menu_haut { float: none; width: auto; height: auto; padding: 0; text-align: right; font-size: .8rem; }
.theme50 #menu_haut > a { display: inline-block; margin-inline-start: 8px; vertical-align: middle; }
.theme50 #menu_haut > a img { width: auto; max-height: 28px; max-width: 65px; }
.theme50 #menu_haut .lienDetail2 { margin: 6px 0 0; font: inherit; }
.theme50 #menu_haut .lienDetail2 img { width: auto; max-height: 26px; }
.theme50 #header a { color: #f7f5ff; }
.theme50 #header a:hover, .theme50 #header a[aria-current="page"] { color: #b9e8d1; }
.theme50 .theme50-utilities { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 6px 15px; font-size: .82rem; }
.theme50 .theme50-utilities a { min-height: 32px; display: inline-flex; align-items: center; }
.theme50 #header > #fb-root, .theme50 #menu_img, .theme50 #resol, .theme50 #copy, .theme50 #free-flash-header { display: none !important; }
.theme50 #sms { position: static; width: auto; font-size: inherit; }
.theme50 #menu { grid-column: 1 / -1; position: static; width: auto; padding: 3px 0 0; }
.theme50 #navigation { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 2px 12px; margin: 0; padding: 0; }
.theme50 #navigation li { float: none; width: auto !important; height: auto; margin: 0; padding: 0; background: none !important; }
.theme50 #navigation li:empty { display: none; }
.theme50 #navigation li a {
  display: flex;
  align-items: center;
  gap: 3px;
  width: auto;
  height: auto;
  min-height: 40px;
  padding: 6px 0;
  font: 600 .85rem/1.4 Inter, system-ui, sans-serif;
  background: none;
  text-align: start;
}
.theme50 #navigation li a br { display: none; }
.theme50 #navigation li a font { font-size: inherit; }
.theme50 #navigation li a:hover { background: none; text-decoration: underline; }
.theme50 #blog, .theme50 #forum, .theme50 #lar, .theme50 #len,
.theme50 #fra, .theme50 #fra2, .theme50 #facebook {
  position: static;
  display: inline-block;
  width: auto;
  padding: 3px 7px;
  margin: 0;
  font-size: .78rem;
  vertical-align: middle;
}
.theme50 #blog img, .theme50 #forum img, .theme50 #lar img,
.theme50 #len img, .theme50 #fra img, .theme50 #fra2 img, .theme50 #facebook img { width: auto; max-height: 24px; }
.theme50 .theme50-hero {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  align-items: center;
  gap: clamp(25px, 5vw, 68px);
  padding: clamp(36px, 6vw, 78px) 0;
  clear: both;
}
.theme50 .theme50-hero h1 { margin: 0; font-size: clamp(2.25rem, 5vw, 4.4rem); font-weight: 760; line-height: 1.04; letter-spacing: -.055em; text-wrap: balance; }
.theme50 .theme50-hero h1 span { color: var(--theme50-brand); }
.theme50 .theme50-hero p { max-width: 49ch; margin: 22px 0 0; color: var(--theme50-muted); font-size: 1.1rem; line-height: 1.6; }
.theme50 .theme50-hero > img { display: block; width: 100%; aspect-ratio: 4 / 3; object-fit: cover; border-radius: 24px; }
.theme50 .theme50-button, .theme50 a.theme50-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 46px;
  padding: 10px 18px;
  border: 1px solid transparent;
  border-radius: 10px;
  background: var(--theme50-brand);
  color: #fff;
  font: 700 .95rem/1.4 Inter, system-ui, sans-serif;
  text-decoration: none;
}
.theme50 .theme50-hero .theme50-button { margin-top: 24px; }
.theme50 .theme50-button:hover { background: #352a8c; color: #fff; }
.theme50 #content, .theme50 #content2 { padding: 32px 0 48px; background: transparent; color: var(--theme50-ink); }
.theme50 #part1, .theme50 #part2, .theme50 #part1emailing, .theme50 #part2emailing,
.theme50 #part2bis, .theme50 #part2bisEm, .theme50 #part3, .theme50 #part4,
.theme50 #menucat, .theme50 #left, .theme50 #left2, .theme50 #right {
  float: none;
  width: 100%;
  max-width: 100%;
  padding: 22px 0;
  color: var(--theme50-ink);
  text-align: start;
}
.theme50 #part1emailing { max-width: 900px; margin-inline: auto; }
.theme50 #part2, .theme50 #part2bis, .theme50 #part2bisEm { display: flow-root; }
.theme50 #part3, .theme50 #part4 { padding-inline: 20px; }
.theme50 #left2 { max-width: 860px; margin-inline: auto; }
.theme50 #left p, .theme50 #left p.sans { float: none; width: auto; max-width: 100%; padding-left: 0; }
.theme50 #left span { font-size: inherit; }
.theme50 #left li { float: none; width: auto; margin: 0; }
.theme50 #form_contact { padding-left: 0; }
.theme50 #bloc1, .theme50 #bloc2, .theme50 #bloc1o, .theme50 #bloc2o,
.theme50 #bloc1oEm, .theme50 #bloc2oEm {
  float: left;
  width: calc(33.333% - 16px);
  padding: 18px;
  margin: 0 8px 24px;
  border: 1px solid var(--theme50-line);
  border-radius: 17px;
  background: #fff;
  color: var(--theme50-ink);
}
.theme50 #part2bisEm #bloc1oEm, .theme50 #part2bisEm #bloc2oEm { width: calc(25% - 16px); }
.theme50 #bloc1 > p:first-child, .theme50 #bloc2 > p:first-child,
.theme50 #bloc1o > p:first-child, .theme50 #bloc2o > p:first-child,
.theme50 #bloc1oEm > p:first-child, .theme50 #bloc2oEm > p:first-child { max-width: 100%; margin: 0 auto 12px; background-position: center; }
.theme50 .theme50-pack-title { width: auto !important; height: auto !important; background: none !important; padding: 0; font: 750 1.15rem/1.4 Inter, system-ui, sans-serif; color: var(--theme50-brand); }
.theme50 #bloc1 table, .theme50 #bloc2 table, .theme50 #bloc1o table,
.theme50 #bloc2o table, .theme50 #bloc1oEm table, .theme50 #bloc2oEm table { width: 100%; }
.theme50 .b1a, .theme50 .b2a { width: auto; height: auto; padding: 4px 0 18px; background: none; color: var(--theme50-ink); font: .92rem/1.7 Inter, system-ui, sans-serif; }
.theme50 .b1b, .theme50 .b2b, .theme50 .b1bo, .theme50 .b2bo { width: auto; height: auto; margin: 0; padding: 0; background: none; }
.theme50 .b1b a, .theme50 .b2b a, .theme50 .b1bo a, .theme50 .b2bo a {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 46px;
  padding: 10px 13px;
  border-radius: 9px;
  background: var(--theme50-brand);
  color: #fff;
  font: 700 .93rem/1.4 Inter, system-ui, sans-serif;
  text-decoration: none;
}
.theme50 .b1b a:hover, .theme50 .b2b a:hover, .theme50 .b1bo a:hover, .theme50 .b2bo a:hover { background: #352a8c; color: #fff; }
.theme50 .lienDetail, .theme50 .lienDetailPkoi, .theme50 .lienDetailRev,
.theme50 .lienDetailbis, .theme50 .lienDetail2, .theme50 .lienDetail3,
.theme50 .lienBas, .theme50 .lienHaut { font-family: inherit; font-size: .93rem; line-height: 1.5; color: var(--theme50-brand); }
.theme50 .b3, .theme50 .b4, .theme50 .b5, .theme50 .b3ci, .theme50 .b4ci {
  width: auto;
  height: auto;
  min-height: 210px;
  padding: 24px;
  border: 1px solid var(--theme50-line);
  border-radius: 16px;
  background: #fff;
  font: .94rem/1.65 Inter, system-ui, sans-serif;
  color: var(--theme50-ink);
}
.theme50 .b3a { height: auto; background: none; }
.theme50 table { max-width: 100%; }
.theme50 table[bgcolor] { background: #fff; color: var(--theme50-ink); border: 1px solid var(--theme50-line); border-radius: 14px; padding: 18px; }
.theme50 form { max-width: 100%; }
.theme50 form table { width: 100%; }
.theme50 form td { vertical-align: top; padding: 7px 6px; }
.theme50 form input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]):not([type="submit"]):not([type="button"]):not([type="reset"]):not([type="image"]):not(.button_send):not(.button_send2):not(.button_send3):not(.button_cancel3),
.theme50 form select, .theme50 form textarea {
  max-width: 100%;
  min-height: 42px;
  padding: 9px 11px;
  border: 1px solid #b8b2c5 !important;
  border-radius: 8px;
  background-color: #fff !important;
  color: var(--theme50-ink) !important;
  font: 1rem/1.35 Inter, system-ui, sans-serif !important;
}
.theme50 form input[type="checkbox"], .theme50 form input[type="radio"] { accent-color: var(--theme50-brand); width: 17px; height: 17px; vertical-align: middle; }
.theme50 form textarea { min-height: 120px; resize: vertical; }
.theme50 form input[type="submit"][value]:not([value=""]):not([type="image"]),
.theme50 form input[type="button"][value]:not([value=""]),
.theme50 form button:not([aria-label]):not(.filter) {
  min-height: 44px;
  padding: 10px 17px;
  border: 0;
  border-radius: 8px;
  background: var(--theme50-brand);
  color: #fff;
  font: 700 .95rem/1.4 Inter, system-ui, sans-serif;
  cursor: pointer;
}
.theme50 form input[name="t1"], .theme50 form input[name="t2"] { width: 45px; }
.theme50 form input[type="hidden"] { display: none !important; }
.theme50 #footer {
  position: relative;
  clear: both;
  width: 100%;
  height: auto;
  margin-top: 42px;
  padding: 30px 20px;
  background: var(--theme50-ink);
  color: #ecebf5;
  border-radius: 16px 16px 0 0;
  line-height: 1.8;
}
.theme50 #footer p { font-size: .85rem; line-height: 1.9; }
.theme50 #footer a, .theme50 #footer font { color: #ecebf5; }
.theme50 #footer a:hover { color: #b9e8d1; }
.theme50 #footer > center > img { max-width: 180px; }
.theme50 #copy2 { position: static; height: auto; }
.theme50 .vps-wrap { max-width: 1180px; padding: 0; color: var(--theme50-ink); font-family: inherit; }
.theme50 .vps-hero h1 .t, .theme50 .vps-h2 { color: var(--theme50-ink); }
.theme50 .vps-hero h1 .s, .theme50 .vps-hero p, .theme50 .vps-sub, .theme50 .vps-devise { color: var(--theme50-muted); }
.theme50 .vps-hero h1 .t:after { background: var(--theme50-brand); }
.theme50 .vps-card, .theme50 .vps-form, .theme50 .vps-arg { border: 1px solid var(--theme50-line); border-radius: 16px; box-shadow: none; }
.theme50 .vps-tbl th { background: var(--theme50-brand); }
.theme50 .vps-price, .theme50 .vps-nom, .theme50 .vps-h3, .theme50 .vps-arg h3 { color: var(--theme50-brand); }
.theme50 .vps-badge { background: var(--theme50-mint); color: #245346; }
.theme50 .vps-lang a { color: var(--theme50-brand); border-color: var(--theme50-line); }
.theme50 .vps-lang a.on { background: var(--theme50-brand); color: #fff; }
@media (max-width: 1000px) {
  .theme50 #part2bisEm #bloc1oEm, .theme50 #part2bisEm #bloc2oEm { width: calc(50% - 16px); }
  .theme50 #navigation { justify-content: flex-start; gap: 2px 17px; }
}
@media (max-width: 700px) {
  .theme50 div#container { width: calc(100% - 36px); }
  .theme50 #header { grid-template-columns: 1fr; gap: 9px; }
  .theme50 #menu_haut { text-align: start; }
  .theme50 .theme50-utilities { justify-content: flex-start; }
  .theme50 #navigation { gap: 2px 15px; }
  .theme50 #navigation li a { min-height: 35px; font-size: .82rem; }
  .theme50 .theme50-hero { grid-template-columns: 1fr; gap: 26px; padding-block: 36px; }
  .theme50 .theme50-hero h1 { font-size: clamp(2.2rem, 9vw, 3.3rem); }
  .theme50 .theme50-hero p { font-size: 1rem; }
  .theme50 .theme50-hero > img { aspect-ratio: 3 / 2; border-radius: 17px; }
  .theme50 #bloc1, .theme50 #bloc2, .theme50 #bloc1o, .theme50 #bloc2o { width: calc(50% - 16px); }
  .theme50 #part3, .theme50 #part4 { padding-inline: 0; }
  .theme50 #left2, .theme50 #left, .theme50 #right { padding: 15px 0; }
  .theme50 form table[width], .theme50 form table[width] td[width] { width: auto; }
  .theme50 form input[size], .theme50 form textarea[cols] { width: 100%; min-width: 0; }
  .theme50 form input[name="t1"], .theme50 form input[name="t2"] { width: 40px; }
  .theme50 form td { padding: 6px 3px; overflow-wrap: anywhere; }
  .theme50 form select { width: 100%; min-width: 0; }
  .theme50 .vps-tbl { display: block; overflow-x: auto; }
  .theme50 #footer { padding-inline: 16px; }
}
@media (max-width: 480px) {
  .theme50 #bloc1, .theme50 #bloc2, .theme50 #bloc1o, .theme50 #bloc2o,
  .theme50 #part2bisEm #bloc1oEm, .theme50 #part2bisEm #bloc2oEm { float: none; width: 100%; margin: 0 0 18px; }
  .theme50 .theme50-hero h1 { font-size: 2.35rem; }
  .theme50 form td .texte { width: auto; }
}
@media (prefers-reduced-motion: reduce) {
  .theme50 *, .theme50 *::before, .theme50 *::after { scroll-behavior: auto !important; transition-duration: 0s !important; animation-duration: 0s !important; }
}
.theme50 #header.theme50-header, .theme50 .theme50-header {
  display:flex; align-items:center; flex-wrap:wrap; gap:12px 28px; min-height:78px;
  height:auto; width:100%; margin:0; padding:18px 0; position:relative; isolation:isolate;
  color:#f7f5ff; background:#17182c; box-shadow:none; clip-path:none; z-index:10;
}
.theme50 .theme50-header::before { content:""; position:absolute; top:0; bottom:0; left:50%; width:100vw; transform:translateX(-50%); background:#17182c; z-index:-1; }
.theme50 > .theme50-header { padding-inline:max(18px,calc((100% - 1180px)/2)); }
.theme50 .theme50-header a { color:#f7f5ff; text-decoration:none; }
.theme50 .theme50-nav { display:flex; align-items:center; flex-wrap:wrap; gap:10px 22px; margin-inline-start:auto; font-size:.9rem; }
.theme50 .theme50-nav > a, .theme50 .theme50-nav summary { padding:8px 0; min-height:40px; cursor:pointer; }
.theme50 .theme50-nav details { position:relative; }
.theme50 .theme50-nav details > div { position:absolute; top:100%; left:0; width:220px; padding:12px; border-radius:12px; background:#fff; box-shadow:0 12px 35px #17182c25; border:1px solid #ded9d3; }
.theme50 .theme50-nav details a { display:block; padding:8px 10px; color:#17182c!important; border-radius:6px; }
.theme50 .theme50-nav details a:hover { background:#f1edff; }
.theme50 .theme50-client { border:1px solid #8172d7; padding:8px 12px!important; border-radius:8px; }
.theme50 .theme50-language { display:flex; gap:10px; font-size:.75rem; }
.theme50 .theme50-hero { max-width:1180px; margin-inline:auto; }
.theme50 > .theme50-hero { width:calc(100% - 64px); }
.theme50 .theme50-footer, .theme50 #footer.theme50-footer { background:#17182c; color:#ecebf5; padding:28px max(18px,calc((100% - 1180px)/2)); font: .875rem/1.8 Inter,system-ui,sans-serif; }
.theme50 .theme50-footer a { color:#ecebf5; }
.theme50 .theme50-footer-links { display:flex; flex-wrap:wrap; gap:10px 22px; }
.theme50 .theme50-footer p { margin:16px 0 0; }
.theme50 .theme50-table-scroll { max-width:100%; overflow-x:auto; }
.theme50 .catalogue { --ink:#17182c; --muted:#50536b; --navy:#4338a5; --line:#ded9d3; }
.theme50 .setup { background:#dff2e8; }
.theme50 .hosting { background:#4338a5; color:white; }
.theme50 .top { background:#17182c; }
.theme50 #content { min-width:0; max-width:100%; }
@media(max-width:700px){
 .theme50 .theme50-nav { margin-inline-start:0; gap:6px 18px; width:100%; font-size:.85rem; }
 .theme50 .theme50-language { position:absolute; top:25px; right:0; }
 .theme50 > .theme50-header .theme50-language { right:18px; }
 .theme50 > .theme50-hero { width:calc(100% - 36px); }
 .theme50 .theme50-nav details > div { width:190px; }
 .theme50 .theme50-nav details:nth-child(3) > div { left:auto; right:0; }
}
.theme50 .b1a > br + br, .theme50 .b2a > br + br { display:none; }
.theme50 .b1a > img, .theme50 .b2a > img { max-width:12px; }
.theme50 #part2bis > h1 { font-size:1rem; font-weight:400; line-height:1.65; letter-spacing:normal; }
.theme50 #footer.theme50-footer { padding-inline:24px; }
.theme50 .theme50-footer-links a { font-size:.9rem; }

/* Shared service cards, matching the published Facebook Ads cards.
   Suggested order: name, optional badge, price, note, features, details, action.
   Amount goes in .theme50-plan-price > strong; currency, tax and period remain visible.
   Keep secondary information as real nodes inside details, never truncate it. */
.theme50 .theme50-plans {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  align-items: stretch;
  gap: clamp(12px, 1.7vw, 20px);
  width: 100%;
  max-width: 1180px;
  margin-inline: auto;
  padding: 0;
  clear: both;
  color: #17182c;
  font: 1rem/1.6 Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  text-align: start;
}
.theme50 .theme50-plans.theme50-plans--2,
.theme50 .theme50-plans:has(> .theme50-plan:nth-child(2):last-child) {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.theme50 .theme50-plans.theme50-plans--3,
.theme50 .theme50-plans:has(> .theme50-plan:nth-child(3):last-child) {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
.theme50 .theme50-plan {
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  float: none;
  width: auto;
  min-width: 0;
  height: auto;
  margin: 0;
  padding: clamp(17px, 2.1vw, 26px);
  border: 1px solid var(--theme50-card-line, #ded9d3);
  border-radius: 17px;
  background: var(--theme50-card-background, #fff);
  color: #17182c;
  font: inherit;
  text-align: start;
}
.theme50 .theme50-plan font {
  color: inherit;
  font-family: inherit;
  font-size: inherit;
}
.theme50 .theme50-plan.theme50-plan--featured,
.theme50 .theme50-plans > .theme50-plan:nth-child(2) {
  --theme50-card-line: #8172d7;
  --theme50-card-background: #f1edff;
}
/* Compatibility when the existing containers retain their legacy IDs. */
.theme50 :is(#part2, #part2bis, #part2bisEm).theme50-plans {
  display: grid;
  width: 100%;
  max-width: 1180px;
  margin-inline: auto;
  padding: 0;
}
.theme50 :is(#bloc1, #bloc2, #bloc1o, #bloc2o, #bloc1oEm, #bloc2oEm).theme50-plan {
  float: none;
  width: auto;
  min-width: 0;
  height: auto;
  margin: 0;
  padding: clamp(17px, 2.1vw, 26px);
  border: 1px solid var(--theme50-card-line, #ded9d3);
  border-radius: 17px;
  background: var(--theme50-card-background, #fff);
}
.theme50 .theme50-plan .theme50-plan-name {
  width: auto;
  height: auto;
  min-height: 0;
  margin: 0;
  padding: 0;
  border: 0;
  background: none;
  color: #17182c;
  font: 750 1.05rem/1.4 Inter, system-ui, sans-serif;
  font-variant: normal;
  letter-spacing: normal;
}
.theme50 .theme50-plan .theme50-plan-badge {
  align-self: flex-start;
  margin: 12px 0 0;
  padding: 3px 9px;
  border-radius: 5px;
  background: #dff2e8;
  color: #245346;
  font: 700 .87rem/1.45 Inter, system-ui, sans-serif;
}
.theme50 .theme50-plan .theme50-plan-price {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 4px 6px;
  margin: 19px 0 0;
  padding: 0;
  color: #17182c;
  font: 700 .84rem/1.2 Inter, system-ui, sans-serif;
}
.theme50 .theme50-plan-price > strong {
  color: inherit;
  font-size: clamp(1.7rem, 2.7vw, 2.35rem);
  font-weight: 750;
  line-height: 1.2;
  letter-spacing: -.055em;
  white-space: nowrap;
}
.theme50 .theme50-plan-price > :is(span, small) {
  font-size: .84rem;
  line-height: 1.45;
  letter-spacing: normal;
}
.theme50 .theme50-plan .theme50-plan-note {
  margin: 4px 0 0;
  color: #50536b;
  font: .84rem/1.5 Inter, system-ui, sans-serif;
}
.theme50 .theme50-plan .theme50-plan-features {
  display: grid;
  gap: 7px;
  width: auto;
  margin: 16px 0 20px;
  padding: 15px 0 0;
  border-top: 1px solid #ded9d3;
  color: #50536b;
  font: .875rem/1.45 Inter, system-ui, sans-serif;
  list-style: none;
}
.theme50 .theme50-plan-features > li {
  position: relative;
  float: none;
  width: auto;
  margin: 0;
  padding: 0;
  padding-inline-start: 16px;
  color: inherit;
  font: inherit;
}
.theme50 .theme50-plan-features > li::before {
  content: "";
  position: absolute;
  inset-inline-start: 0;
  top: .43em;
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: #4338a5;
}
.theme50 .theme50-plan .theme50-plan-details {
  margin: 0 0 16px;
  padding: 0;
  border: 0;
  color: #50536b;
  font: .875rem/1.5 Inter, system-ui, sans-serif;
}
.theme50 .theme50-plan-details > summary {
  min-height: 40px;
  padding-block: 9px;
  color: #4338a5;
  font-weight: 700;
  cursor: pointer;
  text-underline-offset: 4px;
}
.theme50 .theme50-plan-details > summary:hover {
  text-decoration: underline;
}
.theme50 .theme50-plan-details > div {
  padding-block: 6px 10px;
  overflow-wrap: anywhere;
}
.theme50 .theme50-plan-details :is(p, li, td, th, font) {
  color: inherit;
  font: inherit;
}
.theme50 .theme50-plan-details p {
  margin: 0 0 10px;
}
.theme50 .theme50-plan-details :is(ul, ol) {
  margin: 0 0 10px;
  padding-inline-start: 18px;
}
.theme50 .theme50-plan-details a {
  color: #4338a5;
}
.theme50 .theme50-plan .theme50-plan-action {
  box-sizing: border-box;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  width: 100%;
  min-height: 48px;
  margin: auto 0 0;
  padding: 10px 18px;
  border: 1px solid transparent;
  border-radius: 10px;
  background: #4338a5;
  color: #fff;
  font: 700 .95rem/1.35 Inter, system-ui, sans-serif;
  text-align: center;
  text-decoration: none;
  white-space: normal;
  cursor: pointer;
}
.theme50 .theme50-plan .theme50-plan-action:hover {
  background: #352a8c;
  color: #fff;
}
.theme50 .theme50-plan :is(a, button, summary):focus-visible {
  outline: 3px solid #7959e5;
  outline-offset: 4px;
}
/* Keep the reasons to choose the service visible, in short readable groups. */
.theme50 .theme50-benefits {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  align-items: stretch;
  gap: clamp(12px, 1.7vw, 20px);
  max-width: 1180px;
  margin: 28px auto 0;
  padding: 0;
  color: #17182c;
  font: 1rem/1.6 Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  text-align: start;
}
.theme50 .theme50-benefit {
  min-width: 0;
  margin: 0;
  padding: clamp(20px, 2.3vw, 28px);
  border: 1px solid #ded9d3;
  border-radius: 17px;
  background: #fff;
}
.theme50 .theme50-benefit h3 {
  margin: 0;
  padding: 0;
  border: 0;
  background: none;
  color: #17182c;
  font: 750 1.05rem/1.4 Inter, system-ui, sans-serif;
  letter-spacing: normal;
}
.theme50 .theme50-benefit p {
  margin: 10px 0 0;
  color: #50536b;
  font: .95rem/1.6 Inter, system-ui, sans-serif;
}
.theme50 .theme50-benefit a {
  color: #4338a5;
  text-underline-offset: 4px;
}
@media (max-width: 990px) {
  .theme50 .theme50-plans,
  .theme50 .theme50-plans.theme50-plans--2,
  .theme50 .theme50-plans.theme50-plans--3,
  .theme50 .theme50-plans:has(> .theme50-plan:nth-child(2):last-child),
  .theme50 .theme50-plans:has(> .theme50-plan:nth-child(3):last-child) {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 470px) {
  .theme50 .theme50-plans,
  .theme50 .theme50-plans.theme50-plans--2,
  .theme50 .theme50-plans.theme50-plans--3,
  .theme50 .theme50-plans:has(> .theme50-plan:nth-child(2):last-child),
  .theme50 .theme50-plans:has(> .theme50-plan:nth-child(3):last-child) {
    grid-template-columns: minmax(0, 1fr);
  }
}
@media (max-width: 700px) {
  .theme50 .theme50-benefits {
    grid-template-columns: minmax(0, 1fr);
    margin-top: 22px;
  }
}
/* These classes are presentation hooks; native hidden state always takes precedence. */
.theme50 .theme50-plans[hidden], .theme50 .theme50-plan[hidden],
.theme50 .theme50-plan [hidden] { display: none !important; }

/* Shared type scale and spacing across service pages. */
body.theme50 {font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:16px;line-height:1.65;}
.theme50 :is(p.txt,p.txt2,p.txt3,.txtcmd,.texte,td,font) {font-family:inherit;font-size:1rem;line-height:1.65;}
.theme50 .theme50-plan-section,.theme50 .theme50-benefits-section,.theme50 .theme50-service-intro {clear:both;box-sizing:border-box;width:100%;max-width:1180px;margin:24px auto 48px;padding:0;}
.theme50 h2.theme50-section-title {height:auto;width:auto;background:none;color:#17182c;font:750 clamp(1.5rem,3vw,2rem)/1.25 Inter,system-ui,sans-serif;letter-spacing:-.035em;margin:0 0 24px;padding:0;font-variant:normal;text-align:start;}
.theme50 .theme50-more {clear:both;max-width:1180px;margin:20px auto;padding:18px 24px;border:1px solid #ded9d3;border-radius:14px;background:#fff;color:#50536b;}
.theme50 .theme50-more > summary {font:700 1rem/1.5 Inter,system-ui,sans-serif;color:#4338a5;cursor:pointer;}
.theme50 .theme50-more > div {padding-top:24px;}
.theme50 .theme50-service-intro {border:1px solid #ded9d3;background:#fff;border-radius:17px;padding:28px;}
.theme50 .theme50-service-intro :is(h1,h2,h3) {font:600 1rem/1.65 Inter,system-ui,sans-serif;letter-spacing:normal;background:none;color:#17182c;margin:0 0 12px;padding:0;}
.theme50 .theme50-service-intro br+br,.theme50 .theme50-home-more br+br {display:none;}
.theme50 .theme50-service-intro > br {display:none;}
.theme50 .theme50-service-intro p {margin:8px 0;}
.theme50 .theme50-home-more :is(#part1,#part2) {float:none;width:100%;max-width:none;margin:0;padding:0;}
.theme50 .theme50-home-more :is(h1,h2) {font-size:1.25rem;line-height:1.4;margin:22px 0 12px;}
.theme50 .theme50-home-more table {max-width:100%;}
.theme50 .theme50-benefit a {display:inline-block;margin-top:12px;font-size:.875rem;font-weight:700;}
.theme50 .theme50-plan-original ul {margin:0;padding-left:18px;}
.theme50 .theme50-plan-original li {margin:4px 0;font-size:.875rem;}
.theme50 .theme50-plan .theme50-plan-price strong {font-size:clamp(1.7rem,2.7vw,2.35rem);}
.theme50 .theme50-plan .theme50-plan-features li {font-size:.875rem;line-height:1.5;}
.theme50 .theme50-plan :is(.theme50-plan-name,.theme50-plan-price,.theme50-plan-note) {min-height:0;}
.theme50 .theme50-plan .theme50-plan-name {min-height:1.5em;}
.theme50 .vps-args {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;}
.theme50 .vps-arg {float:none;width:auto;margin:0;border-radius:17px;}
.theme50 .vps-h2 {font-size:2rem!important;}
.theme50 .vps-sub,.theme50 .vps-arg p,.theme50 .vps-faq dd {font-size:1rem;line-height:1.65;}
.theme50 #part2:empty {display:none;}
@media(max-width:700px){.theme50 .vps-args{grid-template-columns:1fr}.theme50 .theme50-service-intro{padding:20px}.theme50 .theme50-plan-section,.theme50 .theme50-benefits-section{margin-bottom:32px}.theme50 .theme50-more{padding:16px}.theme50 .theme50-section-title{margin-bottom:18px}}

.theme50 .theme50-plan-conditions{font-size:.875rem;line-height:1.55;color:#50536b;margin:14px 0 0}.theme50 .theme50-more .theme50-service-intro{border:0;margin:0;padding:12px 0;}

.theme50 .vps-arg{width:auto!important;max-width:none!important}.theme50 .vps-args{margin-top:40px;margin-bottom:40px}.theme50 .vps-arg h3{font-size:1.1rem!important;}

.theme50 .theme50-home-more #part1emailing{width:100%;max-width:none;margin:0;padding:0;float:none}.theme50 .theme50-home-more #part1emailing :is(h1,h3){font-size:1rem;font-weight:400;line-height:1.65;margin:12px 0;background:none}.theme50 #part1emailing img{display:none}.theme50 .theme50-plans:has(>.theme50-plan:nth-child(5):last-child){grid-template-columns:repeat(3,minmax(0,1fr))}@media(max-width:700px){.theme50 .theme50-plans:has(>.theme50-plan:nth-child(5):last-child){grid-template-columns:1fr}}
