
/* HET Power - Service & Trade Terms - build 2
   Every selector is anchored on #stt, so the sheet works inside any container
   and outranks rich-text rules such as ".editor_txt h1" (1,0,1 beats 0,1,1). */
#stt {
    /* White base matching the site, black only as small accents, brand cyan for rules and focus */
    --bg:#FFFFFF;
    --card:#FFFFFF;
    --ink:#1D1D1F;
    --body:#3D4854;
    --muted:#6B7A88;
    --line:#E6ECF2;
    --line-strong:#D8E2EA;
    --cy:#38BEEC;
    --cy-ink:#0E7FA8;
    --cy-wash:#E9F7FD;
    --warn:#A96A06;
    --warn-wash:#FDF4E3;
    --radius:14px;
    --maxw:1080px;
  }
#stt * {box-sizing:border-box}
#stt {
    margin:0;
    background:var(--bg);
    color:var(--body);
    font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"PingFang SC","Microsoft YaHei",sans-serif;
    font-size:16px;
    line-height:1.72;
    letter-spacing:.006em;
  }
#stt .wrap {max-width:var(--maxw);margin:0 auto;padding:0 24px}
/* ---------- hero ---------- */
  #stt .hero {
    position:relative;
    padding:60px 0 50px;
    background:
      radial-gradient(660px 330px at 92% -36%, rgba(56,190,236,.16), transparent 68%),
      linear-gradient(180deg,#FFFFFF 0%, #FBFDFE 100%);
    border-top:4px solid var(--cy);
    border-bottom:1px solid var(--line);
  }
#stt .eyebrow {
    display:inline-block;font-size:13px;letter-spacing:.20em;text-transform:uppercase;
    color:var(--cy-ink);border:1px solid rgba(56,190,236,.55);background:var(--cy-wash);
    padding:6px 12px;border-radius:999px;margin-bottom:24px;font-weight:650;
  }
#stt h1 {
    margin:0 0 22px;font-size:clamp(32px,4.4vw,52px);line-height:1.14;
    font-weight:800;letter-spacing:-.018em;color:var(--ink);
  }
#stt .hero p {margin:0;max-width:74ch;color:var(--body);font-size:16px}
#stt .chips {display:flex;flex-wrap:wrap;gap:10px;margin-top:30px}
#stt .chip {
    font-size:15px;color:var(--ink);background:#fff;
    border:1px solid var(--line-strong);border-radius:999px;padding:9px 16px;
    box-shadow:0 1px 3px rgba(29,29,31,.05);
  }
#stt .chip b {color:var(--cy-ink);font-weight:750}
/* ---------- section ---------- */
  #stt section {padding:62px 0;border-bottom:1px solid var(--line)}
#stt .sec-head {display:flex;gap:16px;align-items:baseline;margin-bottom:14px}
#stt .num {
    font-variant-numeric:tabular-nums;font-size:14px;letter-spacing:.08em;font-weight:750;
    color:#fff;background:var(--cy);border-radius:8px;padding:3px 10px;flex:none;
  }
#stt h2 {margin:0;font-size:clamp(23px,2.5vw,30px);line-height:1.28;font-weight:750;letter-spacing:-.012em;color:var(--ink)}
#stt .lede {margin:0 0 30px;max-width:80ch;color:var(--muted);font-size:16px}
/* ---------- cards ---------- */
  #stt .grid {display:grid;gap:14px}
#stt .g2 {grid-template-columns:repeat(auto-fit,minmax(310px,1fr))}
#stt .g3 {grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}
#stt .g4 {grid-template-columns:repeat(auto-fit,minmax(190px,1fr))}
#stt .card {
    background:var(--card);border:1px solid var(--line);border-radius:var(--radius);
    padding:22px 22px 20px;box-shadow:0 1px 2px rgba(29,29,31,.05);
  }
#stt .card h3 {margin:0 0 8px;font-size:16px;font-weight:750;color:var(--ink)}
#stt .card p {margin:0;color:var(--body);font-size:16px}
#stt .card .mark {
    display:inline-flex;min-width:26px;height:26px;padding:0 7px;border-radius:8px;
    align-items:center;justify-content:center;font-size:13px;font-weight:750;
    color:var(--cy-ink);background:var(--cy-wash);border:1px solid rgba(56,190,236,.45);
    margin-bottom:12px;font-variant-numeric:tabular-nums;
  }
/* ---------- dark stat strip: the only black block above the CTA, one row tall ---------- */
  #stt .stats {
    display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:1px;
    background:#2E3338;border-radius:var(--radius);overflow:hidden;margin-top:26px;
    box-shadow:0 12px 30px rgba(29,29,31,.14);
  }
#stt .stat {background:var(--ink);padding:20px 18px}
#stt .stat b {display:block;font-size:25px;line-height:1.15;color:var(--cy);font-weight:800;letter-spacing:-.01em}
#stt .stat span {display:block;margin-top:6px;color:#9EB0BF;font-size:14px;line-height:1.5}
/* ---------- exclusions ---------- */
  #stt .xlist {display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(330px,1fr))}
#stt .xitem {
    display:flex;gap:13px;align-items:flex-start;padding:16px 18px;
    background:var(--card);border:1px solid var(--line);border-left:3px solid var(--cy);
    border-radius:12px;
  }
#stt .xitem i {
    flex:none;width:21px;height:21px;margin-top:2px;border-radius:6px;
    background:var(--warn-wash);border:1px solid rgba(169,106,6,.3);
    color:var(--warn);font-style:normal;font-size:12px;font-weight:800;
    display:flex;align-items:center;justify-content:center;
  }
#stt .xitem p {margin:0;font-size:16px;color:var(--body)}
#stt .xitem p b {color:var(--ink);font-weight:700}
/* ---------- timeline ---------- */
  #stt .timeline {position:relative;margin-top:6px;padding-left:26px}
#stt .timeline:before {content:"";position:absolute;left:7px;top:8px;bottom:10px;width:2px;
    background:linear-gradient(180deg,var(--cy),rgba(56,190,236,.22))}
#stt .tstep {position:relative;padding:0 0 26px}
#stt .tstep:last-child {padding-bottom:0}
#stt .tstep:before {
    content:"";position:absolute;left:-26px;top:7px;width:12px;height:12px;border-radius:50%;
    background:#fff;border:2px solid var(--cy);box-shadow:0 0 0 4px rgba(56,190,236,.16)
  }
#stt .tstep h3 {margin:0 0 6px;font-size:16px;font-weight:750;color:var(--ink)}
#stt .tstep p {margin:0;color:var(--body);font-size:16px}
#stt .tstep .when {
    display:inline-block;margin-left:10px;font-size:13px;color:var(--cy-ink);font-weight:700;
    border:1px solid rgba(56,190,236,.45);border-radius:6px;padding:1px 8px;background:var(--cy-wash);
    font-variant-numeric:tabular-nums;vertical-align:2px;
  }
#stt .steps {counter-reset:s;display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}
  @media (min-width:1024px){
#stt .steps {grid-template-columns:repeat(5,1fr)} }
  @media (max-width:560px){
#stt .steps {grid-template-columns:1fr} }
#stt .step {
    counter-increment:s;background:var(--card);border:1px solid var(--line);
    border-radius:12px;padding:18px;border-top:3px solid var(--cy);
  }
#stt .step:before {
    content:counter(s,decimal-leading-zero);display:block;font-size:13px;letter-spacing:.14em;
    color:var(--cy-ink);font-weight:750;margin-bottom:10px;font-variant-numeric:tabular-nums;
  }
#stt .step h3 {margin:0 0 6px;font-size:16px;font-weight:750;color:var(--ink)}
#stt .step p {margin:0;color:var(--body);font-size:16px}
/* ---------- table ---------- */
  #stt .tablewrap {overflow-x:auto;border:1px solid var(--line);border-radius:var(--radius);background:#fff}
#stt table {width:100%;border-collapse:collapse;min-width:540px}
#stt th, #stt td {text-align:left;padding:14px 16px;font-size:16px;border-bottom:1px solid var(--line);vertical-align:top}
#stt thead th {background:var(--ink);color:#fff;font-weight:650;font-size:13px;letter-spacing:.10em;text-transform:uppercase;white-space:nowrap;border-bottom:none}
#stt tbody tr:nth-child(even) {background:#FBFDFE}
#stt tbody tr:last-child td {border-bottom:none}
#stt td b {font-weight:700;color:var(--ink)}
#stt td span.sub {color:var(--muted);font-size:16px}
/* ---------- callout ---------- */
  #stt .callout {
    border:1px solid rgba(56,190,236,.38);border-left:3px solid var(--cy);
    background:var(--cy-wash);border-radius:12px;padding:18px 20px;margin-top:22px;
    display:flex;gap:14px;align-items:flex-start;
  }
#stt .callout .tag {flex:none;color:var(--cy-ink);font-size:13px;letter-spacing:.12em;text-transform:uppercase;padding-top:3px;font-weight:700}
#stt .callout p {margin:0;font-size:16px;color:#25414E}
/* ---------- faq ---------- */
  #stt .faq {display:grid;gap:12px;margin-top:6px}
#stt details {
    background:var(--card);border:1px solid var(--line);border-radius:12px;overflow:hidden;
    transition:border-color .18s ease,box-shadow .18s ease;
  }
#stt details[open] {border-color:rgba(56,190,236,.6);box-shadow:0 2px 12px rgba(56,190,236,.12)}
#stt summary {
    list-style:none;cursor:pointer;padding:20px 56px 20px 22px;position:relative;
    font-size:16px;font-weight:700;color:var(--ink);line-height:1.6;
  }
#stt summary::-webkit-details-marker {display:none}
#stt summary:before {
    content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--cy);
    opacity:0;transition:opacity .18s ease;
  }
#stt details[open] summary:before {opacity:1}
#stt summary:after {
    content:"";position:absolute;right:22px;top:27px;width:10px;height:10px;
    border-right:2.5px solid var(--cy-ink);border-bottom:2.5px solid var(--cy-ink);
    transform:rotate(45deg);transition:transform .2s ease;
  }
#stt details[open] summary:after {transform:rotate(-135deg);top:30px}
#stt summary:focus-visible {outline:2px solid var(--cy);outline-offset:-2px;border-radius:12px}
#stt .answer {padding:0 22px 22px;color:var(--body);font-size:16px}
#stt .answer p {margin:0 0 12px}
#stt .answer p:last-child {margin-bottom:0}
#stt .answer ul {margin:8px 0 0;padding-left:20px}
#stt .answer li {margin:5px 0}
#stt .answer b {color:var(--ink);font-weight:700}
/* ---------- CTA: the second and last black block, button sits on the right ---------- */
  #stt .cta {
    margin-top:26px;border-radius:20px;overflow:hidden;position:relative;
    background:
      radial-gradient(520px 260px at 94% -10%, rgba(56,190,236,.30), transparent 66%),
      linear-gradient(160deg,#1F2A33 0%, #14181D 74%);
    padding:42px 40px;
    display:grid;grid-template-columns:1fr auto;gap:34px;align-items:center;
  }
#stt .cta h2 {margin:0 0 12px;font-size:clamp(22px,2.5vw,29px);color:#fff}
#stt .cta p {margin:0;color:#AFC0CE;font-size:16px;max-width:58ch}
#stt .cta-side {display:flex;flex-direction:column;align-items:flex-start;gap:15px;min-width:251px}
#stt .btn {
    display:inline-flex;align-items:center;gap:10px;text-decoration:none;
    background:var(--cy);color:#04212E;font-weight:800;font-size:16px;
    padding:15px 26px;border-radius:11px;letter-spacing:.01em;white-space:nowrap;
    box-shadow:0 10px 26px rgba(56,190,236,.30);
    transition:transform .16s ease,box-shadow .16s ease,filter .16s ease;
  }
#stt .btn:hover {transform:translateY(-1px);filter:brightness(1.06);box-shadow:0 14px 32px rgba(56,190,236,.42)}
#stt .btn:focus-visible {outline:2px solid #fff;outline-offset:3px}
#stt .btn svg {width:16px;height:16px;fill:none;stroke:#04212E;stroke-width:2.4}
#stt .cta-side .meta {font-size:16px;color:#8FA2B1;line-height:1.7}
#stt .cta-side .meta a {color:var(--cy);text-decoration:none;border-bottom:1px solid rgba(56,190,236,.45)}
#stt .cta-side .meta a:hover {border-bottom-color:var(--cy)}
  @media (max-width:840px){
#stt .cta {grid-template-columns:1fr;gap:24px;padding:32px 24px}
#stt .cta-side {min-width:0}
  }
#stt .tail {padding:30px 0 64px}

  @media (max-width:640px){
#stt .hero {padding:44px 0 38px}
#stt section {padding:46px 0}
#stt .cta {border-radius:16px}
#stt summary {padding:18px 48px 18px 18px}
#stt summary:after {right:18px;top:25px}
  }
  @media (prefers-reduced-motion:reduce){
#stt * {transition:none!important;animation:none!important}
  }

/* ---- cascade guard: everything the theme also declares for rich text ---- */
#stt {font-size:16px; line-height:1.72; color:#3D4854; background:#fff; overflow:visible;}
#stt h1 {font-size:clamp(32px,4.4vw,52px); font-weight:800; line-height:1.14; margin:0 0 22px; color:#1D1D1F;}
#stt h2 {font-size:clamp(23px,2.5vw,30px); font-weight:750; line-height:1.28; margin:0; color:#1D1D1F;}
#stt h3 {font-size:16px; font-weight:750; line-height:1.5; margin:0 0 8px; color:#1D1D1F;}
#stt p {margin:0; line-height:1.72;}
#stt b, #stt strong {font-weight:700; line-height:inherit;}
#stt ul {margin:8px 0 0; padding-left:20px;}
#stt li {margin:5px 0; line-height:1.72;}
#stt table {display:table; table-layout:auto; width:100%; min-width:540px; border-collapse:collapse;}
#stt th, #stt td {min-width:0; padding:14px 16px; text-align:left; vertical-align:top;}
#stt thead th {background:#1D1D1F; color:#fff; text-align:left;}
#stt caption {display:none;}
#stt img {max-width:100%;}
#stt .mt-26 {margin-top:26px;}
#stt .mt-22 {margin-top:22px;}
