/* Shared presentation layer. Existing routes, product data and theme remain in place. */
:root {
  --dc-ink: #17233b;
  --dc-muted: #526078;
  --dc-surface: #ffffff;
  --dc-soft: #f6f5f1;
  --dc-line: #dce2ed;
  --dc-action: #5041cc;
  --dc-button: #5041cc;
  --dc-accent: #eae7ff;
}
body:not(.light-theme) {
  --dc-ink: #edf0f8;
  --dc-muted: #b6c0d3;
  --dc-surface: #171d30;
  --dc-soft: #101628;
  --dc-line: #36405a;
  --dc-action: #b6adff;
  --dc-button: #5b48d2;
  --dc-accent: #2b2555;
}
body .dc-skip-link { position: absolute; left: 16px; top: -100px; z-index: 100000; padding: 14px 22px; background: #fff; color: #17233b; border: 2px solid #5041cc; border-radius: 8px; }
body .dc-skip-link:focus { top: 12px; }
body a:focus-visible, body button:focus-visible, body input:focus-visible, body select:focus-visible, body textarea:focus-visible, body summary:focus-visible { outline: 3px solid #7566e7; outline-offset: 4px; }
body .theme-navbar .notices-bar { background: #5041cc; }
body .theme-navbar .notices-bar .content { gap: 18px; padding: 10px 50px; }
body .theme-navbar .notices-bar .text { font-size: 13px; font-weight: 400; line-height: 1.5; }
body .theme-navbar .notices-bar .action-btn { padding: 0; margin: 0; color: #fff; background: transparent; font-size: 13px; font-weight: 600; line-height: 1.5; text-decoration: underline; text-underline-offset: 3px; }
body .theme-navbar .notices-bar .action-btn:hover { background: transparent; box-shadow: none; text-decoration-thickness: 2px; }
.dc-modern-pilot .btn { border-radius: 10px; letter-spacing: 0; white-space: normal; line-height: 1.4; }
.dc-modern-pilot .btn-fill-primary, .dc-modern-pilot .btn-fill-success { color: #fff; background: var(--dc-button); border-color: var(--dc-button); }
.dc-modern-pilot .btn-fill-primary:hover, .dc-modern-pilot .btn-fill-success:hover { background: #4032af; border-color: #4032af; }
/* Legacy rows use 15px negative margins; 4vw container gutters fall below that at 375px. */
@media (max-width: 374.98px) {
  .dc-modern-pilot .container { padding-left: 15px; padding-right: 15px; }
  .dc-modern-pilot .se-head-dm .se-top-22 { font-size: 32px; line-height: 1.25; overflow-wrap: break-word; }
}
.dc-home { background: var(--dc-surface); color: var(--dc-ink); }
.dc-home .container, .dc-modern-service > .container-fluid { width: 100%; max-width: 1280px; padding-left: 28px; padding-right: 28px; }
.dc-home a { text-underline-offset: 4px; }
.dc-home .hh-hero { padding: 58px 0 48px; background: var(--dc-soft); color: var(--dc-ink); }
.dc-home .hh-hero::before { display: block; content: ''; position: absolute; inset: auto -160px -340px auto; width: 850px; height: 850px; background: url('/assets/images/theme/favicon.svg') center/contain no-repeat; opacity: .045; mask-image: none; -webkit-mask-image: none; pointer-events: none; }
.dc-home .hh-hero::after { display: none; }
.dc-home .hh-grid { grid-template-columns: minmax(0, 1.12fr) minmax(0, 1fr); gap: 56px; }
.dc-home .hh-eyebrow { border: none; border-left: 3px solid #6a62fe; border-radius: 0; padding: 0 0 0 12px; background: none; color: var(--dc-action); letter-spacing: .06em; backdrop-filter: none; }
.dc-home .hh-title { margin: 22px 0; color: var(--dc-ink); font-size: clamp(34px, 3.5vw, 50px); line-height: 1.16; letter-spacing: -.035em; }
.dc-home .hh-sub { max-width: 580px; color: var(--dc-muted); font-size: 17px; line-height: 1.8; margin-bottom: 28px; }
.dc-home .hh-actions { gap: 12px; }
.dc-home .hh-btn { min-height: 50px; border-radius: 8px; font-size: 14px; padding: 14px 22px; justify-content: center; }
.dc-home .hh-btn.solid { color: #fff; background: #5846d8; box-shadow: none; }
.dc-home .hh-btn.ghost { color: var(--dc-ink); border-color: #9aa1af; background: transparent; }
.dc-home .hh-btn:hover { transform: none; filter: none; background: #4534b5; color: #fff; }
.dc-hero-figure { position: relative; min-width: 0; margin: 0; padding: 20px 0 0 20px; }
.dc-hero-figure::before { content: ''; position: absolute; left: 0; top: 0; right: 24px; bottom: 70px; border: 1px solid #a6a0db; border-radius: 10px 120px 10px 10px; }
.dc-hero-photo { position: relative; overflow: hidden; border-radius: 8px 100px 8px 8px; background: #243149; }
.dc-hero-photo > img { display: block; width: 100%; height: auto; aspect-ratio: 1.14; object-fit: cover; }
.dc-hero-seal { position: absolute; right: 22px; bottom: 22px; width: 88px; height: 88px; display: grid; place-items: center; border-radius: 50%; background: var(--dc-soft); }
.dc-hero-seal img { display: block; width: 72px; height: 72px; }
.dc-hero-figure figcaption { display: flex; flex-wrap: wrap; gap: 6px 14px; padding: 18px 110px 0 0; color: var(--dc-muted); font-size: 12px; line-height: 1.7; }
.dc-hero-figure figcaption span { font-weight: 600; color: var(--dc-ink); }
.dc-home-proof { border-bottom: 1px solid var(--dc-line); background: var(--dc-surface); }
.dc-home-proof .container { display: flex; justify-content: space-between; align-items: center; gap: 16px; padding-top: 22px; padding-bottom: 22px; flex-wrap: wrap; }
.dc-home-proof span { display: flex; align-items: center; gap: 12px; color: var(--dc-muted); font-size: 14px; }
.dc-home-proof span::before { content: ''; width: 7px; height: 7px; flex-shrink: 0; border-radius: 50%; background: #6a62fe; }
.dc-home-proof strong { color: var(--dc-ink); font-weight: 600; }
.dc-home-paths { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 28px; padding-top: 32px; }
.dc-home-paths a { display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 0 0 22px; border-bottom: 1px solid var(--dc-line); color: var(--dc-ink); text-decoration: none; }
.dc-home-paths strong { display: block; font-weight: 600; font-size: 15px; }
.dc-home-paths small { display: block; color: var(--dc-muted); margin-top: 5px; line-height: 1.6; font-size: 13px; }
.dc-home-paths a > span:last-child { color: var(--dc-action); font-size: 24px; }
.dc-home-paths a:hover { border-color: #6a62fe; }
.dc-home-paths a:hover strong { color: var(--dc-action); }
.dc-home-section { padding: 76px 0; }
.dc-home-section--soft { background: var(--dc-soft); }
.dc-home-head { max-width: 760px; margin-bottom: 32px; }
.dc-home-kicker, .dc-decision__eyebrow { color: var(--dc-action); font-size: 13px; letter-spacing: .06em; font-weight: 600; text-transform: uppercase; margin-bottom: 12px; }
.dc-home h2, .dc-decision__head h2 { color: var(--dc-ink); font: 600 clamp(27px, 3vw, 38px)/1.25 var(--primary-font); letter-spacing: -.025em; }
.dc-home-head p:not(.dc-home-kicker), .dc-decision__intro { color: var(--dc-muted); font-size: 17px; line-height: 1.75; margin: 16px 0 0; }
.dc-home .hp-plans { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px; max-width: none; margin: 0; }
.dc-home .hp-plan { min-width: 0; display: flex; flex-direction: column; padding: 28px; border: 1px solid var(--dc-line); border-radius: 16px; background: var(--dc-surface); box-shadow: none; transform: none; }
.dc-home .dc-plan-art { margin: -28px -28px 24px; padding: 18px 28px 14px; background: #f2f1f8; border-bottom: 1px solid #e5e2ef; }
.dc-plan-art img { display: block; width: 128px; height: auto; }
.dc-home .hp-plan::before { display: none; }
.dc-home .hp-plan:hover { border-color: #a6a0db; }
.dc-home .hp-plan h3 { color: var(--dc-ink); font: 600 21px/1.4 var(--primary-font); margin: 0 0 10px; }
.dc-home .hp-plan h3 a { color: inherit; text-decoration: none; }
.dc-home .hp-plan h3 a:hover { text-decoration: underline; }
.dc-home .dc-plan-fit { color: var(--dc-muted); line-height: 1.7; font-size: 15px; margin: 0 0 22px; min-height: 76px; }
.dc-home .dc-plan-name { color: var(--dc-muted); font-size: 13px; margin: 0 0 4px; }
.dc-home .hp-plan-price { color: var(--dc-ink); display: flex; flex-wrap: wrap; gap: 6px; align-items: baseline; margin: 0 0 20px; }
.dc-home .hp-plan-price .amt { color: var(--dc-ink); font: 600 32px/1.3 var(--primary-font); letter-spacing: -.03em; }
.dc-home .hp-plan-price small { color: var(--dc-muted); font-size: 14px; }
.dc-home .dc-plan-specs, .dc-decision__specs { margin: 0 0 22px; }
.dc-plan-specs > div, .dc-decision__specs > div { display: grid; grid-template-columns: minmax(0, .7fr) minmax(0, 1fr); gap: 12px; border-bottom: 1px solid var(--dc-line); padding: 11px 0; font-size: 14px; }
.dc-plan-specs dt, .dc-decision__specs dt { font-weight: 400; color: var(--dc-muted); }
.dc-plan-specs dd, .dc-decision__specs dd { margin: 0; color: var(--dc-ink); font-weight: 500; text-align: right; overflow-wrap: anywhere; }
.dc-home .hp-plan-btn { display: inline-flex; justify-content: center; align-items: center; width: 100%; min-height: 48px; margin-top: auto; border: 1px solid var(--dc-line); border-radius: 9px; color: var(--dc-ink); background: var(--dc-soft); font-size: 14px; font-weight: 600; padding: 10px 14px; text-decoration: none; box-shadow: none; }
.dc-home .hp-plan-btn:hover { color: #fff; background: var(--dc-button); border-color: var(--dc-button); }
.dc-home-note { color: var(--dc-muted); font-size: 14px; line-height: 1.7; margin-top: 24px; max-width: 900px; }
.dc-home-note a, .dc-home-other a, .dc-decision a:not(.btn) { color: var(--dc-action); text-decoration: underline; }
.dc-home-other { display: flex; flex-wrap: wrap; gap: 14px 26px; margin-top: 24px; padding-top: 24px; border-top: 1px solid var(--dc-line); font-size: 15px; }
.dc-home-domain { display: grid; grid-template-columns: 1fr 1fr; gap: 40px; align-items: center; }
.dc-home-domain p { color: var(--dc-muted); line-height: 1.7; }
.dc-home-domain .dc-home-kicker { color: var(--dc-action); }
.dc-home-domain-section { position: relative; }
.dc-domain-art { display: block; width: 168px; height: auto; margin: 0 0 22px; }
.dc-domain-label { display: block; font-weight: 600; margin-bottom: 10px; }
.dc-domain-controls { display: flex; gap: 8px; padding: 7px; background: var(--dc-surface); border: 1px solid var(--dc-line); border-radius: 12px; }
.dc-domain-controls input { width: 100%; min-width: 0; border: 0; padding: 12px; background: transparent; color: var(--dc-ink); font-size: 16px; }
.dc-domain-controls button { flex-shrink: 0; padding: 12px 22px; min-height: 48px; background: var(--dc-button); color: #fff; border: 0; border-radius: 8px; font-weight: 600; }
.dc-home-table-wrap { overflow-x: auto; }
.dc-home-table { width: 100%; border-collapse: collapse; color: var(--dc-ink); font-size: 15px; line-height: 1.6; }
.dc-home-table caption { caption-side: top; color: var(--dc-muted); padding: 0 0 18px; text-align: left; }
.dc-home-table th, .dc-home-table td { padding: 20px 18px; border-bottom: 1px solid var(--dc-line); vertical-align: top; text-align: left; }
.dc-home-table thead th { background: var(--dc-soft); font-weight: 600; }
.dc-home-table a { color: var(--dc-action); text-decoration: underline; }
.dc-home-steps { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 36px; padding: 0; margin: 0; list-style: none; counter-reset: dc-step; }
.dc-home-steps li { counter-increment: dc-step; }
.dc-home-steps li::before { content: '0' counter(dc-step); display: block; font: 500 20px/1.3 var(--primary-font); color: var(--dc-action); padding-bottom: 20px; margin-bottom: 20px; border-bottom: 1px solid var(--dc-line); }
.dc-home-steps h3 { font: 600 20px/1.4 var(--primary-font); color: var(--dc-ink); }
.dc-home-steps p { color: var(--dc-muted); font-size: 16px; line-height: 1.75; }
.dc-home-faq { max-width: 900px; }
.dc-home-faq details { padding: 20px 0; border-bottom: 1px solid var(--dc-line); }
.dc-home-faq summary { font-size: 18px; font-weight: 500; color: var(--dc-ink); cursor: pointer; }
.dc-home-faq details p { color: var(--dc-muted); line-height: 1.8; margin: 15px 0 0; max-width: 76ch; }
.dc-home-faq a { display: inline-block; padding: 12px 0 0; color: var(--dc-action); }
.dc-home-contact { display: flex; justify-content: space-between; align-items: center; gap: 32px; }
.dc-home-contact > div { max-width: 680px; }
.dc-home-contact p { color: var(--dc-muted); font-size: 17px; line-height: 1.75; }
.dc-home-contact .btn { flex-shrink: 0; }
.dc-modern-pilot .rv-sec { background: var(--dc-soft); border-color: var(--dc-line); padding: 40px 0; }
.dc-modern-pilot .rv-sec .container-fluid { max-width: 1280px; padding: 0 28px; }
.dc-modern-pilot .rv-card { background: var(--dc-surface); border-color: var(--dc-line); box-shadow: none; }
.dc-modern-pilot .rv-card:hover { transform: none; }
.dc-modern-pilot .rv-brand-txt, .dc-modern-pilot .rv-who strong { color: var(--dc-ink); }
.dc-modern-pilot .rv-text, .dc-modern-pilot .rv-who small { color: var(--dc-muted); }
.dc-modern-pilot .rv-all { color: var(--dc-action); }
/* Opted-in service pages share the same hierarchy, without changing their grid/data. */
body .header.dc-modern-service { background: var(--dc-soft); color: var(--dc-ink); padding-bottom: 60px; border-bottom: 1px solid var(--dc-line); }
body .dc-modern-service .title-1 { color: var(--dc-ink); font: 600 clamp(34px, 4vw, 54px)/1.16 var(--primary-font); letter-spacing: -.035em; max-width: 700px; }
body .dc-modern-service .title-5 { color: var(--dc-action); font-size: 14px; font-weight: 600; margin-bottom: 16px; }
body .dc-modern-service .para-1 { color: var(--dc-muted); font-size: 17px; line-height: 1.8; max-width: 660px; }
body .dc-modern-service .navigator { padding: 26px 0; margin-bottom: 40px; flex-wrap: wrap; gap: 12px 24px; }
body .dc-modern-service .navigator .title, body .dc-modern-service .navigator .item { color: var(--dc-muted); font-size: 14px; }
body .dc-modern-service .navigator .item.active { color: var(--dc-action); border-color: var(--dc-button); }
body .dc-modern-service .dc-service-hero-media { position: relative; border-radius: 8px 90px 8px 8px; max-width: 510px; border-bottom: 5px solid #6a62fe; }
body .dc-modern-service .dc-service-hero-media::after { content: ''; position: absolute; right: 16px; bottom: 16px; width: 48px; height: 48px; border: 5px solid #fff; border-radius: 50%; background: #fff url('/assets/images/theme/favicon.svg') center/contain no-repeat; }
.dc-service-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 18px 24px; }
.dc-service-secondary { display: inline-flex; align-items: center; min-height: 48px; color: var(--dc-action); font-weight: 600; text-decoration: underline; text-underline-offset: 4px; }
.dc-service-secondary:hover { color: var(--dc-ink); }
.dc-modern-pilot main { background: var(--dc-surface); }
.dc-modern-pilot #packade { padding-top: 64px; padding-bottom: 64px; }
.dc-modern-pilot .se-head h2 { font-family: var(--primary-font); font-size: clamp(27px,3vw,38px); line-height: 1.3; letter-spacing: -.02em; }
.dc-decision.container { max-width: 1280px; padding: 70px 28px; color: var(--dc-ink); }
.dc-decision__head { max-width: 780px; margin-bottom: 32px; }
.dc-decision__heading-row { display: flex; justify-content: space-between; gap: 32px; align-items: flex-start; }
.dc-decision__art { flex: 0 0 144px; width: 144px; height: 104px; padding: 8px; background: #f2f1f8; border-radius: 8px; }
.dc-decision__grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 22px; }
.dc-decision__card { display: flex; flex-direction: column; padding: 26px; border: 1px solid var(--dc-line); border-radius: 16px; background: var(--dc-surface); min-width: 0; }
.dc-decision__category { color: var(--dc-action); font-size: 14px; font-weight: 600; margin-bottom: 10px; }
.dc-decision__name { font: 600 21px/1.4 var(--primary-font); color: var(--dc-ink); }
.dc-decision__fit, .dc-decision__scope { color: var(--dc-muted); font-size: 15px; line-height: 1.75; }
.dc-decision__link { margin-top: auto; padding-top: 12px; font-weight: 600; }
.dc-decision__note { padding: 26px 30px; margin-top: 24px; border-radius: 12px; background: var(--dc-soft); }
.dc-decision__note h3 { font-size: 20px; color: var(--dc-ink); }
.dc-decision__note p { color: var(--dc-muted); line-height: 1.75; }
.dc-modern-pilot [id] { scroll-margin-top: 24px; }
@media (max-width: 991px) {
  .dc-home .hh-grid { grid-template-columns: 1fr; gap: 32px; }
  .dc-hero-figure { max-width: 580px; width: 100%; justify-self: center; }
  .dc-hero-photo > img { aspect-ratio: 1.65; }
  .dc-home .hp-plans { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .dc-home-domain { grid-template-columns: 1fr; gap: 20px; }
  .dc-decision__grid { grid-template-columns: 1fr; }
  .dc-home-contact { align-items: flex-start; flex-direction: column; }
}
@media (max-width: 767px) {
  .dc-home-paths { grid-template-columns: 1fr; gap: 16px; }
  .dc-home-paths a { padding-bottom: 16px; }
  body .dc-modern-service .dc-service-hero-media { display: block; max-width: 480px; border-top-right-radius: 70px; }
  body .dc-modern-service .dc-service-hero { display: block !important; aspect-ratio: 1.8; }
}
@media (max-width: 575px) {
  .dc-home .container, .dc-modern-service > .container-fluid, .dc-modern-pilot .rv-sec .container-fluid { padding-left: 20px; padding-right: 20px; }
  .dc-home .hh-hero { padding: 42px 0 44px; }
  .dc-home .hh-title { font-size: 34px; }
  .dc-home .hh-sub { font-size: 16px; line-height: 1.7; margin-bottom: 24px; }
  .dc-home .hh-actions { display: grid; grid-template-columns: 1fr; }
  .dc-home .hh-btn { width: 100%; }
  .dc-home-proof .container { gap: 10px; align-items: flex-start; flex-direction: column; }
  .dc-home-section { padding: 48px 0; }
  .dc-home .hp-plans, .dc-home-steps { grid-template-columns: 1fr; gap: 18px; }
  .dc-home .hp-plan { padding: 24px; }
  .dc-home .dc-plan-art { margin: -24px -24px 22px; padding: 14px 24px 12px; }
  .dc-hero-figure { padding-left: 12px; padding-top: 12px; }
  .dc-hero-figure::before { border-top-right-radius: 84px; bottom: 54px; }
  .dc-hero-photo { border-top-right-radius: 72px; }
  .dc-hero-seal { width: 64px; height: 64px; right: 12px; bottom: 26px; }
  .dc-hero-seal img { width: 52px; height: 52px; }
  .dc-hero-figure figcaption { padding-right: 82px; font-size: 11px; gap: 2px 8px; }
  .dc-home .dc-plan-fit { min-height: 0; }
  .dc-domain-controls { flex-direction: column; }
  .dc-home-table { min-width: 660px; }
  .dc-home-table th, .dc-home-table td { padding: 16px 12px; }
  .dc-decision.container { padding: 48px 20px; }
  .dc-decision__heading-row { flex-direction: column-reverse; gap: 18px; }
  .dc-decision__art { flex-basis: auto; width: 110px; height: auto; }
  body .header.dc-modern-service { padding-top: 42px; padding-bottom: 44px; text-align: left !important; }
  body .dc-modern-service .para-1 { font-size: 16px; line-height: 1.75; }
  body .dc-modern-service .btn { width: 100%; }
  .dc-service-actions { gap: 12px; }
}
@media (prefers-reduced-motion: reduce) {
  .dc-home *, .dc-modern-service *, .dc-decision *, .theme-footer .partners .track { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
}
