/* Page styles for /canadian-cloud-paas-hosting. Shared head.php supplies Inter and base.css. */
.hs-nodejs-page {
      --bg-white: #ffffff;
      --bg-grey: #f6f7f9;
      --bg-grey-subtle: #f9fafb;
      --text-main: #111827;
      --text-secondary: #4b5563;
      --text-muted: #626c7b;
      --brand-red: #b91c1c;
      --brand-red-light: #fef2f2;
      --brand-red-border: #fecaca;
      --accent-emerald: #047857;
      --accent-blue: #1e40af;
      --blue-light: #eff6ff;
      --blue-border: #bfdbfe;
      --border-light: #e5e7eb;
      --border-medium: #d1d5db;
      --shadow-sm: 0 1px 3px rgba(17, 24, 39, 0.05);
      --shadow-md: 0 10px 30px -5px rgba(17, 24, 39, 0.06), 0 4px 12px -2px rgba(17, 24, 39, 0.04);
      --radius-sm: 8px;
      --radius-md: 12px;
      --radius-lg: 16px;
      --max-w: 1180px;
    }

    .hs-nodejs-page, .hs-nodejs-page *, .hs-nodejs-page *::before, .hs-nodejs-page *::after { box-sizing: border-box; margin: 0; padding: 0; }
    .hs-nodejs-page {
      font-family: 'Inter', 'Inter Fallback', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
      background: var(--bg-white);
      color: var(--text-main);
      line-height: 1.6;
      -webkit-font-smoothing: antialiased;
    }
    .hs-nodejs-page button, .hs-nodejs-page input, .hs-nodejs-page select, .hs-nodejs-page textarea, .hs-nodejs-page summary { font: inherit; }
    .hs-nodejs-page a { color: var(--brand-red); text-decoration: underline; text-underline-offset: 3px; }
    .hs-nodejs-page a:hover { text-decoration-thickness: 2px; }
    .hs-nodejs-page a:focus-visible, .hs-nodejs-page summary:focus-visible {
      outline: 3px solid var(--accent-blue);
      outline-offset: 5px;
      border-radius: 3px;
    }
    .hs-nodejs-page section[id] { scroll-margin-top: 28px; }
    .hs-nodejs-page .hsn-skip-link {
      position: absolute;
      top: 12px;
      left: 12px;
      transform: translateY(-180%);
      z-index: 10;
      padding: 12px 18px;
      background: var(--text-main);
      color: #fff;
      border-radius: var(--radius-sm);
    }
    .hs-nodejs-page .hsn-skip-link:focus { transform: translateY(0); }
    .hs-nodejs-page .hsn-container { max-width: var(--max-w); margin: 0 auto; padding: 0 24px; }
    .hs-nodejs-page .hsn-eyebrow {
      display: inline-block;
      font-size: 0.75rem;
      font-weight: 700;
      text-transform: uppercase;
      letter-spacing: 0.08em;
      color: var(--brand-red);
      margin-bottom: 12px;
    }
    .hs-nodejs-page .hsn-text-red { color: var(--brand-red); }
    .hs-nodejs-page .hsn-hero-section {
      background: var(--bg-white);
      padding: 76px 0 72px;
      border-bottom: 1px solid var(--border-light);
    }
    .hs-nodejs-page .hsn-hero-grid {
      display: grid;
      grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr);
      gap: 40px;
      align-items: center;
    }
    .hs-nodejs-page .hsn-hero-title {
      font-size: clamp(1.95rem, 4.2vw, 3.5rem);
      font-weight: 800;
      line-height: 1.08;
      letter-spacing: -0.035em;
      margin-bottom: 24px;
    }
    .hs-nodejs-page .hsn-title-line { display: block; }
    .hs-nodejs-page .hsn-hero-lead {
      font-size: 1.05rem;
      color: var(--text-secondary);
      line-height: 1.68;
      margin-bottom: 20px;
      max-width: 580px;
    }
    .hs-nodejs-page .hsn-hero-meta {
      font-size: 0.8125rem;
      color: var(--text-muted);
      margin-bottom: 28px;
      display: flex;
      align-items: center;
      gap: 8px 14px;
      flex-wrap: wrap;
    }
    .hs-nodejs-page .hsn-hero-meta strong { color: var(--text-main); font-weight: 600; }
    .hs-nodejs-page .hsn-btn-group { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; }
    .hs-nodejs-page .hsn-btn-primary, .hs-nodejs-page .hsn-btn-secondary {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      gap: 8px;
      font-size: 0.875rem;
      font-weight: 600;
      line-height: 1.45;
      min-height: 46px;
      padding: 13px 22px;
      border-radius: 999px;
      text-decoration: none;
      text-align: center;
      transition: background-color 0.2s ease, transform 0.2s ease;
    }
    .hs-nodejs-page .hsn-btn-primary { background: var(--text-main); color: #fff; }
    .hs-nodejs-page .hsn-btn-primary:hover { background: var(--brand-red); transform: translateY(-1px); }
    .hs-nodejs-page .hsn-btn-secondary { background: #f3f4f6; color: var(--text-main); border: 1px solid var(--border-light); }
    .hs-nodejs-page .hsn-btn-secondary:hover { background: #e5e7eb; }
    .hs-nodejs-page .hsn-hero-art { width: 100%; max-width: 640px; justify-self: center; }
    .hs-nodejs-page .hsn-hero-img { display: block; width: 100%; height: auto; aspect-ratio: 3 / 2; object-fit: contain; }
    .hs-nodejs-page .hsn-rules-section { background: var(--bg-grey); padding: 64px 0; }
    .hs-nodejs-page .hsn-section-header { max-width: 730px; margin-bottom: 36px; }
    .hs-nodejs-page .hsn-section-title {
      font-size: clamp(1.75rem, 3vw, 2.35rem);
      font-weight: 800;
      line-height: 1.15;
      letter-spacing: -0.025em;
      margin-bottom: 14px;
    }
    .hs-nodejs-page .hsn-section-subtitle { font-size: 1rem; color: var(--text-secondary); }
    .hs-nodejs-page .hsn-rules-grid {
      display: grid;
      grid-template-columns: repeat(4, minmax(0, 1fr));
      background: var(--bg-white);
      border: 1px solid var(--border-light);
      border-radius: var(--radius-md);
      overflow: hidden;
      box-shadow: var(--shadow-sm);
    }
    .hs-nodejs-page .hsn-rule-card { min-width: 0; padding: 28px 24px; border-right: 1px solid var(--border-light); }
    .hs-nodejs-page .hsn-rule-card:last-child { border-right: none; }
    .hs-nodejs-page .hsn-rule-num { font-size: 1.75rem; font-weight: 800; color: #c1c8d2; line-height: 1; margin-bottom: 18px; letter-spacing: -0.03em; }
    .hs-nodejs-page .hsn-rule-title { font-size: 0.925rem; font-weight: 700; margin-bottom: 8px; line-height: 1.35; }
    .hs-nodejs-page .hsn-rule-desc { font-size: 0.8125rem; color: var(--text-secondary); line-height: 1.6; }
    .hs-nodejs-page .hsn-logo-section { background: var(--bg-white); padding: 44px 0 32px; border-block: 1px solid var(--border-light); }
    .hs-nodejs-page .hsn-logo-header { max-width: 750px; margin: 0 auto; text-align: center; }
    .hs-nodejs-page .hsn-logo-title { font-size: 1.3rem; font-weight: 700; line-height: 1.3; letter-spacing: -0.02em; margin-bottom: 12px; }
    .hs-nodejs-page .hsn-logo-header p { font-size: 0.925rem; color: var(--text-secondary); line-height: 1.7; }
    .hs-nodejs-page .hsn-provider-logo-row { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 48px; max-width: 570px; margin: 22px auto 0; align-items: center; }
    .hs-nodejs-page .hsn-provider-logo-link { display: flex; align-items: center; justify-content: center; min-width: 0; height: 124px; padding: 8px 16px; border-radius: 10px; }
    .hs-nodejs-page .hsn-provider-logo-link:hover { background: var(--bg-grey-subtle); }
    .hs-nodejs-page .hsn-provider-logo-link img { display: block; max-width: 100%; height: auto; object-fit: contain; }
    .hs-nodejs-page .hsn-provider-logo-link--fullhost img { width: 148px; }
    .hs-nodejs-page .hsn-provider-logo-link--cantrust img { width: 200px; }
    .hs-nodejs-page .hsn-alternating-section { background: var(--bg-grey); padding: 56px 0 88px; }
    .hs-nodejs-page .hsn-alternating-header { text-align: center; max-width: 760px; margin: 0 auto 64px; }
    .hs-nodejs-page .hsn-feature-row {
      display: grid;
      grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
      gap: 64px;
      align-items: center;
      margin-bottom: 80px;
    }
    .hs-nodejs-page .hsn-feature-row:last-child { margin-bottom: 0; }
    .hs-nodejs-page .hsn-feature-row.hsn-reverse .hsn-feature-text { grid-column: 2; grid-row: 1; }
    .hs-nodejs-page .hsn-feature-row.hsn-reverse .hsn-image-mockup-frame { grid-column: 1; grid-row: 1; }
    .hs-nodejs-page .hsn-feature-text h3 {
      font-size: clamp(1.5rem, 2.4vw, 1.95rem);
      font-weight: 800;
      letter-spacing: -0.025em;
      margin-bottom: 16px;
      line-height: 1.2;
    }
    .hs-nodejs-page .hsn-feature-text p { font-size: 0.975rem; color: var(--text-secondary); line-height: 1.68; margin-bottom: 22px; }
    .hs-nodejs-page .hsn-check-list { list-style: none; display: flex; flex-direction: column; gap: 11px; }
    .hs-nodejs-page .hsn-check-list li { display: flex; align-items: flex-start; gap: 10px; font-size: 0.885rem; font-weight: 500; line-height: 1.5; }
    .hs-nodejs-page .hsn-check-icon { flex-shrink: 0; color: var(--brand-red); font-size: 1rem; font-weight: 800; line-height: 1.4; }
    .hs-nodejs-page .hsn-image-mockup-frame {
      background: var(--bg-grey);
      border-radius: 18px;
      overflow: hidden;
    }
    .hs-nodejs-page .hsn-feature-img {
      display: block;
      width: 100%;
      height: auto;
      aspect-ratio: 16 / 11;
      object-fit: contain;
      border-radius: var(--radius-md);
      background: var(--bg-grey);
    }
    
    .hs-nodejs-page .hsn-providers-section { background: var(--bg-white); padding: 80px 0 72px; border-top: 1px solid var(--border-light); }
    .hs-nodejs-page .hsn-providers-section .hsn-section-header { max-width: 800px; margin: 0 auto 18px; text-align: center; }
    .hs-nodejs-page .hsn-affiliate-disclosure { max-width: 800px; margin: 0 auto 34px; text-align: center; color: var(--text-muted); font-size: 0.76rem; }
    .hs-nodejs-page .hsn-provider-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 26px; align-items: stretch; }
    .hs-nodejs-page .hsn-provider-grid > .hsn-provider-card:only-child { grid-column: 1 / -1; width: min(100%, 565px); justify-self: center; }
    .hs-nodejs-page .hsn-provider-card {
      display: flex;
      flex-direction: column;
      min-width: 0;
      position: relative;
      background: var(--bg-white);
      border: 1px solid var(--border-light);
      border-radius: 14px;
      box-shadow: 0 12px 32px rgba(17, 24, 39, 0.075);
      overflow: hidden;
    }
    .hs-nodejs-page .hsn-provider-body { padding: 26px 24px 22px; flex: 1; }
    .hs-nodejs-page .hsn-provider-brand { display: flex; align-items: center; gap: 16px; min-height: 96px; padding-right: 94px; margin-bottom: 22px; }
    .hs-nodejs-page .hsn-provider-mark { width: 76px; height: 76px; flex: 0 0 76px; object-fit: contain; padding: 8px; border-radius: 14px; border: 1px solid var(--border-light); background: var(--bg-grey); }
    .hs-nodejs-page .hsn-provider-brand-text { min-width: 0; }
    .hs-nodejs-page .hsn-provider-name { font-size: 1.75rem; font-weight: 800; line-height: 1.2; letter-spacing: -0.025em; margin-bottom: 5px; }
    .hs-nodejs-page .hsn-provider-name .hsn-keep-together { white-space: nowrap; }
    .hs-nodejs-page .hsn-provider-product { font-size: 0.8rem; line-height: 1.5; color: var(--text-muted); font-weight: 500; }
    .hs-nodejs-page .hsn-provider-description { font-size: 0.875rem; line-height: 1.7; color: var(--text-secondary); margin-bottom: 18px; }
    .hs-nodejs-page .hsn-provider-best-for { background: #f4f5f7; border: 1px solid var(--border-light); border-radius: 7px; padding: 13px 14px; margin-bottom: 18px; }
    .hs-nodejs-page .hsn-provider-best-for h4 { font-size: 0.64rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.08em; margin-bottom: 5px; }
    .hs-nodejs-page .hsn-provider-best-for p { color: var(--text-secondary); font-size: 0.8rem; line-height: 1.6; }
    .hs-nodejs-page .hsn-provider-facts { list-style: none; padding-top: 15px; border-top: 1px solid var(--border-light); display: grid; gap: 9px; font-size: 0.745rem; line-height: 1.55; color: var(--text-secondary); }
    .hs-nodejs-page .hsn-provider-facts > li { display: grid; grid-template-columns: 16px minmax(0,1fr); gap: 8px; align-items: start; }
    .hs-nodejs-page .hsn-provider-facts strong { font-weight: 600; color: var(--text-main); }
    .hs-nodejs-page .hsn-fact-icon { color: var(--brand-red); width: 15px; height: 15px; margin-top: 2px; }
    .hs-nodejs-page .hsn-provider-more summary {
      position: absolute;
      top: 35px;
      right: 24px;
      display: inline-flex;
      align-items: center;
      gap: 8px;
      list-style: none;
      border: 1px solid var(--border-medium);
      border-radius: 5px;
      color: var(--text-main);
      background: #fff;
      padding: 7px 10px;
      font-size: 0.7rem;
      font-weight: 600;
      line-height: 1.4;
      cursor: pointer;
    }
    .hs-nodejs-page .hsn-provider-more summary::-webkit-details-marker { display: none; }
    .hs-nodejs-page .hsn-provider-more summary::marker { content: ""; }
    .hs-nodejs-page .hsn-provider-more summary:hover { border-color: var(--brand-red); color: var(--brand-red); }
    .hs-nodejs-page .hsn-provider-more .hsn-more-indicator { display: inline-block; font-weight: 500; font-size: 0.9rem; line-height: 1; }
    .hs-nodejs-page .hsn-provider-more[open] .hsn-more-indicator { transform: rotate(45deg); }
    .hs-nodejs-page .hsn-provider-more-content { margin-top: 17px; padding: 14px; border: 1px solid var(--blue-border); border-radius: 7px; background: var(--blue-light); color: var(--text-secondary); font-size: 0.76rem; line-height: 1.65; }
    .hs-nodejs-page .hsn-provider-more-content h4 { color: var(--accent-blue); font-size: 0.77rem; margin-bottom: 7px; }
    .hs-nodejs-page .hsn-provider-more-content p + p { margin-top: 8px; }
    .hs-nodejs-page .hsn-provider-footer { margin-top: auto; padding: 21px 24px 18px; background: #f9fafb; border-top: 1px solid var(--border-light); }
    .hs-nodejs-page .hsn-provider-offer { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); align-items: center; gap: 20px; }
    .hs-nodejs-page .hsn-price-label { display: block; font-size: 0.62rem; color: var(--text-muted); font-weight: 600; letter-spacing: 0.09em; text-transform: uppercase; margin-bottom: 3px; }
    .hs-nodejs-page .hsn-price-value { display: block; font-size: 1.65rem; color: var(--text-main); font-weight: 800; line-height: 1.2; letter-spacing: -0.035em; margin-bottom: 5px; }
    .hs-nodejs-page .hsn-price-context { color: var(--text-muted); font-size: 0.68rem; line-height: 1.55; }
    .hs-nodejs-page .hsn-provider-actions { display: flex; flex-direction: column; align-items: stretch; gap: 12px; }
    .hs-nodejs-page .hsn-provider-cta { display: inline-flex; justify-content: center; align-items: center; width: 100%; min-height: 58px; border-radius: 8px; padding: 16px 22px; color: #fff; background: var(--brand-red); text-decoration: none; text-align: center; font-size: 1.05rem; font-weight: 700; line-height: 1.4; transition: background-color 0.2s ease; }
    .hs-nodejs-page .hsn-provider-cta:hover { background: #991b1b; }
    .hs-nodejs-page .hsn-provider-review { color: var(--text-main); font-size: 0.74rem; font-weight: 600; text-decoration: none; text-align: center; }
    .hs-nodejs-page .hsn-provider-review:hover { color: var(--brand-red); text-decoration: underline; }
    .hs-nodejs-page .hsn-provider-link-note { text-align: center; color: var(--text-muted); font-size: 0.7rem; line-height: 1.5; }
    .hs-nodejs-page .hsn-provider-fine-print { margin-top: 18px; font-size: 0.65rem; line-height: 1.6; color: var(--text-muted); }
    .hs-nodejs-page .hsn-review-note { margin-top: 22px; font-size: 0.72rem; color: var(--text-muted); text-align: center; }
    
    .hs-nodejs-page .hsn-learning-section { background: var(--bg-grey); padding: 84px 0 88px; border-top: 1px solid var(--border-light); }
    .hs-nodejs-page .hsn-learning-layout { display: grid; grid-template-columns: minmax(270px, 360px) minmax(0, 1fr); gap: 48px; align-items: start; }
    .hs-nodejs-page .hsn-learning-intro, .hs-nodejs-page .hsn-faq-intro { padding-top: 6px; min-width: 0; }
    .hs-nodejs-page .hsn-split-title { font-size: clamp(2.1rem, 3.55vw, 3.25rem); font-weight: 800; line-height: 1.04; letter-spacing: -0.045em; max-width: 420px; }
    .hs-nodejs-page .hsn-learning-intro p { margin-top: 22px; max-width: 410px; color: var(--text-secondary); font-size: 0.9375rem; line-height: 1.75; }
    .hs-nodejs-page .hsn-learning-panel { list-style: none; border: 1px solid #d9dce1; border-radius: 12px; background: #fff; overflow: hidden; box-shadow: 0 24px 52px rgba(17, 24, 39, 0.09), 0 7px 18px rgba(17, 24, 39, 0.04); }
    .hs-nodejs-page .hsn-learning-row { display: grid; grid-template-columns: 64px minmax(0, 1fr); gap: 18px; padding: 28px 28px 28px 24px; border-top: 1px solid #eceff3; }
    .hs-nodejs-page .hsn-learning-row:first-child { border-top: 0; }
    .hs-nodejs-page .hsn-learning-number { color: #d6dde7; font-size: 3rem; line-height: 0.95; letter-spacing: -0.05em; font-weight: 800; align-self: start; }
    .hs-nodejs-page .hsn-learning-copy { min-width: 0; }
    .hs-nodejs-page .hsn-learning-copy h3 { margin-bottom: 10px; color: var(--brand-red); font-size: 1.0625rem; font-weight: 700; line-height: 1.35; letter-spacing: -0.025em; }
    .hs-nodejs-page .hsn-learning-copy p { color: var(--text-secondary); font-size: 0.875rem; line-height: 1.75; }
    .hs-nodejs-page .hsn-learning-copy strong { color: var(--text-main); font-weight: 600; }
    .hs-nodejs-page .hsn-faq-section { padding: 88px 0 92px; border-top: 1px solid var(--border-light); background: #fff; }
    .hs-nodejs-page .hsn-faq-layout { display: grid; grid-template-columns: minmax(260px, 340px) minmax(0, 1fr); gap: 56px; align-items: start; }
    .hs-nodejs-page .hsn-faq-intro p { margin-top: 22px; max-width: 350px; color: var(--text-secondary); font-size: 0.875rem; line-height: 1.75; }
    .hs-nodejs-page .hsn-faq-list { min-width: 0; border: 1px solid #e2e5e9; border-radius: 14px; background: #fff; box-shadow: 0 16px 38px rgba(17, 24, 39, 0.06); overflow: hidden; }
    .hs-nodejs-page .hsn-faq-item { border-top: 1px solid #eceff2; }
    .hs-nodejs-page .hsn-faq-item:first-child { border-top: 0; }
    .hs-nodejs-page .hsn-faq-item summary { list-style: none; cursor: pointer; display: grid; grid-template-columns: minmax(0, 1fr) 28px; gap: 18px; align-items: center; min-height: 70px; padding: 21px 22px; color: var(--text-main); font-size: 0.9375rem; line-height: 1.5; font-weight: 700; }
    .hs-nodejs-page .hsn-faq-item summary::-webkit-details-marker { display: none; }
    .hs-nodejs-page .hsn-faq-item summary::marker { content: ""; }
    .hs-nodejs-page .hsn-faq-item summary:hover { background: var(--bg-grey-subtle); }
    .hs-nodejs-page .hsn-faq-item summary:focus-visible { outline-offset: -4px; border-radius: 4px; }
    .hs-nodejs-page .hsn-faq-plus { width: 26px; height: 26px; border: 1px solid #dfe2e6; border-radius: 7px; display: inline-flex; align-items: center; justify-content: center; color: var(--brand-red); font-size: 1.125rem; line-height: 1; font-weight: 600; transition: transform 0.2s ease, background-color 0.2s ease; }
    .hs-nodejs-page .hsn-faq-item[open] .hsn-faq-plus { transform: rotate(45deg); background: #f8eeee; }
    .hs-nodejs-page .hsn-faq-answer { padding: 0 68px 24px 22px; color: var(--text-secondary); font-size: 0.875rem; line-height: 1.75; }
    .hs-nodejs-page .hsn-faq-answer a { font-weight: 600; }
    .hs-nodejs-page .hsn-faq-answer strong { font-weight: 600; color: var(--text-main); }
    .hs-nodejs-page .hsn-page-footer { padding: 24px 0; border-top: 1px solid var(--border-light); font-size: 0.8rem; color: var(--text-muted); }
    .hs-nodejs-page .hsn-page-footer a { font-weight: 700; text-decoration: none; }

    @media (max-width: 1100px) {
      .hs-nodejs-page .hsn-provider-brand { padding-right: 0; }
      .hs-nodejs-page .hsn-provider-more summary { position: static; margin-top: 16px; }
    }
    @media (max-width: 960px) {
      .hs-nodejs-page .hsn-learning-layout, .hs-nodejs-page .hsn-faq-layout { grid-template-columns: minmax(0, 1fr); gap: 32px; }
      .hs-nodejs-page .hsn-learning-intro, .hs-nodejs-page .hsn-faq-intro { padding-top: 0; }
      .hs-nodejs-page .hsn-split-title { max-width: 690px; font-size: clamp(2.1rem, 5vw, 3rem); }
      .hs-nodejs-page .hsn-learning-intro p, .hs-nodejs-page .hsn-faq-intro p { max-width: 680px; margin-top: 18px; }

      .hs-nodejs-page .hsn-hero-grid, .hs-nodejs-page .hsn-feature-row { grid-template-columns: 1fr; gap: 36px; }
      .hs-nodejs-page .hsn-hero-grid { max-width: 740px; margin: 0 auto; }
      .hs-nodejs-page .hsn-hero-art { max-width: 570px; }
      .hs-nodejs-page .hsn-hero-title { font-size: clamp(2.3rem, 6.5vw, 3.5rem); }
      .hs-nodejs-page .hsn-feature-row.hsn-reverse .hsn-feature-text, .hs-nodejs-page .hsn-feature-row.hsn-reverse .hsn-image-mockup-frame { grid-column: auto; grid-row: auto; }
      .hs-nodejs-page .hsn-image-mockup-frame { max-width: 670px; width: 100%; justify-self: center; }
      .hs-nodejs-page .hsn-rules-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
      .hs-nodejs-page .hsn-rule-card:nth-child(2) { border-right: none; }
      .hs-nodejs-page .hsn-rule-card:nth-child(-n+2) { border-bottom: 1px solid var(--border-light); }
      .hs-nodejs-page .hsn-provider-grid { grid-template-columns: 1fr; max-width: 650px; margin-inline: auto; }
      .hs-nodejs-page .hsn-provider-grid > .hsn-provider-card:only-child { width: 100%; }
    }
    @media (max-width: 600px) {
      .hs-nodejs-page .hsn-container { padding: 0 20px; }
      .hs-nodejs-page .hsn-hero-section { padding: 44px 0; }
      .hs-nodejs-page .hsn-hero-title { font-size: clamp(1.95rem, 7.8vw, 2.8rem); }
      .hs-nodejs-page .hsn-hero-lead { font-size: 0.98rem; }
      .hs-nodejs-page .hsn-hero-grid { gap: 24px; }
      .hs-nodejs-page .hsn-rules-section { padding: 44px 0; }
      .hs-nodejs-page .hsn-rules-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
      .hs-nodejs-page .hsn-rule-card { padding: 22px 16px; }
      .hs-nodejs-page .hsn-rule-title { font-size: 0.875rem; }
      .hs-nodejs-page .hsn-rule-desc { font-size: 0.8125rem; line-height: 1.6; }
      .hs-nodejs-page .hsn-rule-num { font-size: 1.5rem; margin-bottom: 12px; }
      .hs-nodejs-page .hsn-logo-section { padding: 34px 0 28px; }
      .hs-nodejs-page .hsn-logo-title { font-size: 1.2rem; }
      .hs-nodejs-page .hsn-logo-header p { font-size: 0.875rem; }
      .hs-nodejs-page .hsn-provider-logo-row { gap: 20px; margin-block: 20px 0; }
      .hs-nodejs-page .hsn-provider-logo-link { padding: 8px 4px; height: 96px; }
      .hs-nodejs-page .hsn-provider-logo-link--fullhost img { width: 110px; }
      .hs-nodejs-page .hsn-provider-logo-link--cantrust img { width: 150px; }
      .hs-nodejs-page .hsn-section-header { margin-bottom: 28px; }
      .hs-nodejs-page .hsn-alternating-section { padding: 40px 0 52px; }
      .hs-nodejs-page .hsn-alternating-header { margin-bottom: 42px; text-align: left; }
      .hs-nodejs-page .hsn-feature-row { gap: 28px; margin-bottom: 54px; }
      .hs-nodejs-page .hsn-image-mockup-frame { border-radius: 14px; }
      .hs-nodejs-page .hsn-providers-section { padding: 48px 0; }
      .hs-nodejs-page .hsn-providers-section .hsn-section-header { text-align: left; }
      .hs-nodejs-page .hsn-affiliate-disclosure { text-align: left; margin-bottom: 26px; }
      .hs-nodejs-page .hsn-provider-grid { grid-template-columns: 1fr; gap: 22px; }
      .hs-nodejs-page .hsn-provider-grid > .hsn-provider-card:only-child { width: 100%; }
      .hs-nodejs-page .hsn-provider-body { padding: 22px 20px; }
      .hs-nodejs-page .hsn-provider-brand { align-items: flex-start; min-height: 80px; gap: 14px; }
      .hs-nodejs-page .hsn-provider-mark { width: 72px; height: 72px; flex-basis: 72px; }
      .hs-nodejs-page .hsn-provider-name { font-size: 1.625rem; }
      .hs-nodejs-page .hsn-provider-more summary { position: static; margin-top: 16px; }
      .hs-nodejs-page .hsn-provider-more-content { margin-top: 12px; }
      .hs-nodejs-page .hsn-provider-footer { padding: 20px; }
      .hs-nodejs-page .hsn-provider-offer { grid-template-columns: 1fr; gap: 18px; }
      .hs-nodejs-page .hsn-provider-cta { min-height: 62px; font-size: 1.125rem; padding: 18px 24px; }
      .hs-nodejs-page .hsn-price-value { font-size: 1.45rem; }
      .hs-nodejs-page .hsn-learning-section { padding: 50px 0 56px; }
      .hs-nodejs-page .hsn-learning-layout, .hs-nodejs-page .hsn-faq-layout { gap: 28px; }
      .hs-nodejs-page .hsn-split-title { font-size: clamp(2rem, 8.2vw, 2.7rem); line-height: 1.08; letter-spacing: -0.04em; }
      .hs-nodejs-page .hsn-learning-intro p, .hs-nodejs-page .hsn-faq-intro p { font-size: 0.9rem; line-height: 1.75; }
      .hs-nodejs-page .hsn-learning-row { grid-template-columns: 40px minmax(0, 1fr); gap: 14px; padding: 23px 18px; }
      .hs-nodejs-page .hsn-learning-number { font-size: 2.25rem; }
      .hs-nodejs-page .hsn-learning-copy h3 { font-size: 1rem; margin-bottom: 9px; }
      .hs-nodejs-page .hsn-learning-copy p { font-size: 0.875rem; line-height: 1.75; }
      .hs-nodejs-page .hsn-faq-section { padding: 50px 0 56px; }
      .hs-nodejs-page .hsn-faq-item summary { padding: 20px 18px; gap: 14px; font-size: 0.9375rem; }
      .hs-nodejs-page .hsn-faq-answer { padding: 0 18px 24px; font-size: 0.875rem; line-height: 1.75; }
    }
    @media (max-width: 420px) {
      .hs-nodejs-page .hsn-rule-card { padding: 20px 14px; }
      .hs-nodejs-page .hsn-learning-row { grid-template-columns: minmax(0, 1fr); gap: 12px; }
      .hs-nodejs-page .hsn-learning-number { font-size: 2rem; }
      .hs-nodejs-page .hsn-price-value { font-size: 1.65rem; }
      .hs-nodejs-page .hsn-provider-actions { gap: 12px; }
    }
    @media (prefers-reduced-motion: reduce) {
      .hs-nodejs-page .hsn-btn-primary, .hs-nodejs-page .hsn-btn-secondary, .hs-nodejs-page .hsn-provider-cta, .hs-nodejs-page .hsn-faq-plus { transition: none; }
      .hs-nodejs-page .hsn-btn-primary:hover { transform: none; }
    }
