/* ESPFlight Support — refined editorial layout v2. Scoped, shadow-free, responsive.
   No changes to site-wide components, theme switch, docs, or API. */
body.supportPage {--sp-bg:var(--bg);--sp-ink:var(--text);--sp-muted:#54636a;--sp-green:#166d43;--sp-on-green:#fff;--sp-green-text:#11704b;--sp-line:#dce6e2;--sp-panel:#fff;--sp-soft:#f6f8f8;--sp-wash:#eaf7f0;--sp-art:#e4f3e9;background:var(--bg);}
html[data-theme="dark"] body.supportPage {--sp-muted:#b6c2c2;--sp-green:#42c992;--sp-on-green:#092319;--sp-green-text:#69e0ad;--sp-line:#394244;--sp-panel:#22262b;--sp-soft:#1c1f24;--sp-wash:#223b31;--sp-art:#202a27;}
body.supportPage .sp-main {overflow:clip;color:var(--sp-ink);}
body.supportPage .sp-main :is(h1,h2,h3,p,figure,ul,ol) {margin:0;}
body.supportPage .sp-main :is(a,button,summary):focus-visible {outline:2px solid var(--sp-green-text);outline-offset:4px;}
body.supportPage .sp-main [id]{scroll-margin-top:102px;}
body.supportPage .sp-container {margin-inline:auto;}
body.supportPage .sp-kicker {display:inline-flex;align-items:center;gap:10px;color:var(--sp-green-text);font-size:12px;font-weight:800;letter-spacing:.105em;text-transform:uppercase;line-height:1.5;}
body.supportPage .sp-kicker-line {height:2px;width:25px;background:currentColor;flex:none;}
body.supportPage .sp-hero {padding-block:clamp(58px,6.3vw,103px) clamp(67px,6.6vw,106px);}
body.supportPage .sp-hero-grid {display:grid;grid-template-columns:minmax(0,1.03fr) minmax(0,.97fr);gap:clamp(40px,5vw,90px);align-items:center;}
body.supportPage .sp-hero-copy {min-width:0;}
body.supportPage .sp-hero h1 {font-size:clamp(47px,5.25vw,78px);line-height:1.075;letter-spacing:-.057em;font-weight:800;max-width:11.9ch;margin:26px 0 25px;text-wrap:balance;}
body.supportPage .sp-hero h1 span {color:var(--sp-green-text);display:block;}
body.supportPage .sp-lead {font-size:clamp(16px,1.22vw,18px);line-height:1.86;color:var(--sp-muted);max-width:54ch;}
body.supportPage .sp-actions {display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:32px;}
body.supportPage .sp-btn {display:inline-flex;align-items:center;justify-content:center;gap:15px;min-height:54px;padding:13px 21px;border-radius:14px;border:1px solid transparent;font-size:15px;font-weight:800;line-height:1.45;text-decoration:none;white-space:normal;transition:background-color .18s,border-color .18s,color .18s;}
body.supportPage .sp-btn svg {width:18px;height:18px;flex:none;}
body.supportPage .sp-btn-primary {color:var(--sp-on-green);background:var(--sp-green);border-color:var(--sp-green);}
body.supportPage .sp-btn-primary:hover {background:#105a39;border-color:#105a39;color:#fff;}
html[data-theme="dark"] body.supportPage .sp-btn-primary:hover {background:#6ae3ae;border-color:#6ae3ae;color:#092319;}
body.supportPage .sp-btn-secondary {color:var(--sp-ink);background:transparent;border-color:var(--sp-line);}
body.supportPage .sp-btn-secondary:hover {border-color:var(--sp-green-text);background:var(--sp-wash);color:var(--sp-ink);}
body.supportPage .sp-promises {display:flex;align-items:center;flex-wrap:wrap;column-gap:22px;row-gap:8px;padding:0;list-style:none;margin-top:26px!important;}
body.supportPage .sp-promises li {display:flex;align-items:center;gap:7px;font-size:12.5px;color:var(--sp-muted);line-height:1.6;}
body.supportPage .sp-promises svg {height:15px;width:15px;stroke:var(--sp-green-text);flex:none;}
body.supportPage .sp-showcase {position:relative;min-width:0;min-height:585px;background:var(--sp-art);border:1px solid var(--sp-line);border-radius:26px;overflow:hidden;display:flex;flex-direction:column;isolation:isolate;}
body.supportPage .sp-showcase::before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse 70% 50% at 52% 43%,rgba(63,190,120,.14),transparent 80%);}
body.supportPage .sp-showcase-top {z-index:2;position:relative;display:flex;align-items:center;gap:9px;padding:25px 28px 0;font-size:11px;letter-spacing:.095em;font-weight:800;color:var(--sp-ink);line-height:1.45;}
body.supportPage .sp-live-dot {flex:none;width:8px;height:8px;border-radius:50%;background:var(--sp-green);}
body.supportPage .sp-showcase-mark {margin-inline-start:auto;color:var(--sp-green-text);font-size:10px;white-space:nowrap;}
body.supportPage .sp-showcase-stage {display:grid;place-items:center;position:relative;flex:1;min-height:390px;isolation:isolate;}
body.supportPage .sp-showcase-stage::before {content:"";position:absolute;width:min(79%,415px);aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,rgba(67,189,129,.16),rgba(67,189,129,.045) 52%,transparent 68%);z-index:-1;}
body.supportPage .sp-stage-orbit {pointer-events:none;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);border-radius:50%;border:1px solid rgba(63,149,100,.19);aspect-ratio:1;}
body.supportPage .sp-stage-orbit-one {width:min(82%,465px);}
body.supportPage .sp-stage-orbit-two {width:min(60%,345px);border-style:dashed;}
body.supportPage .sp-stage-cross {width:9px;height:9px;position:absolute;opacity:.5;}
body.supportPage .sp-stage-cross::before,body.supportPage .sp-stage-cross::after {content:"";position:absolute;background:var(--sp-green-text);}
body.supportPage .sp-stage-cross::before {width:9px;height:1px;top:4px;left:0;}
body.supportPage .sp-stage-cross::after {height:9px;width:1px;left:4px;top:0;}
body.supportPage .sp-stage-cross-one {inset:16% auto auto 13%;}
body.supportPage .sp-stage-cross-two {inset:auto 14% 19% auto;}
body.supportPage .sp-showcase picture {position:relative;z-index:1;display:block;width:min(93%,560px);max-height:425px;}
body.supportPage .sp-showcase img {display:block;width:100%;height:auto;max-height:425px;object-fit:contain;filter:contrast(1.04) saturate(1.07);}
body.supportPage .sp-stage-tag {position:absolute;z-index:2;bottom:18px;inset-inline-end:26px;border:1px solid var(--sp-line);color:var(--sp-green-text);background:var(--sp-panel);border-radius:999px;font-size:10px;font-weight:800;letter-spacing:.07em;padding:8px 12px;white-space:nowrap;}
body.supportPage .sp-showcase-bottom {display:flex;flex-direction:column;gap:7px;padding:22px 28px 26px;border-top:1px solid var(--sp-line);background:var(--sp-panel);position:relative;z-index:3;}
body.supportPage .sp-showcase-bottom strong {font-size:18px;line-height:1.5;font-weight:780;}
body.supportPage .sp-showcase-bottom span {font-size:13px;color:var(--sp-muted);line-height:1.65;}
body.supportPage .sp-section {padding-block:clamp(65px,6vw,94px);}
body.supportPage .sp-impact {background:var(--sp-soft);border-block:1px solid var(--sp-line);}
body.supportPage .sp-section-header {display:grid;grid-template-columns:minmax(0,1.3fr) minmax(280px,.7fr);gap:clamp(25px,6vw,95px);align-items:end;margin-bottom:33px;}
body.supportPage .sp-section-header h2,body.supportPage .sp-process h2,body.supportPage .sp-faq h2 {font-size:clamp(32px,3.25vw,47px);font-weight:780;letter-spacing:-.042em;line-height:1.19;margin:15px 0 0;text-wrap:balance;max-width:20ch;}
body.supportPage .sp-section-header p {font-size:15px;line-height:1.82;color:var(--sp-muted);max-width:51ch;padding-bottom:3px;}
body.supportPage .sp-impact-grid {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;}
body.supportPage .sp-impact-card {position:relative;min-width:0;padding:clamp(23px,2.45vw,35px);border:1px solid var(--sp-line);background:var(--sp-panel);border-radius:21px;}
body.supportPage .sp-impact-icon {width:52px;height:52px;border-radius:15px;background:var(--sp-wash);color:var(--sp-green-text);display:grid;place-items:center;}
body.supportPage .sp-impact-icon svg {width:26px;height:26px;}
body.supportPage .sp-impact-index {position:absolute;top:28px;inset-inline-end:30px;color:var(--sp-green-text);font-weight:800;font-size:13px;letter-spacing:.07em;}
body.supportPage .sp-impact-card h3 {font-size:clamp(19px,1.6vw,23px);line-height:1.38;font-weight:770;margin:28px 0 11px;}
body.supportPage .sp-impact-card p {font-size:14.5px;line-height:1.8;color:var(--sp-muted);max-width:40ch;}
body.supportPage .sp-process-grid {display:grid;grid-template-columns:minmax(0,1fr) minmax(370px,.82fr);gap:clamp(50px,8vw,135px);align-items:center;}
body.supportPage .sp-process h2 {max-width:17ch;}
body.supportPage .sp-process-intro {font-size:15px;line-height:1.85;color:var(--sp-muted);margin-top:17px!important;max-width:51ch;}
body.supportPage .sp-steps {list-style:none;padding:0;margin-top:32px!important;}
body.supportPage .sp-step {display:grid;grid-template-columns:42px minmax(0,1fr);gap:18px;padding-block:21px;border-top:1px solid var(--sp-line);}
body.supportPage .sp-step-num {display:grid;place-items:center;align-self:start;width:38px;height:38px;border-radius:12px;background:var(--sp-wash);color:var(--sp-green-text);font-size:12px;font-weight:800;}
body.supportPage .sp-step h3 {font-size:17px;line-height:1.4;font-weight:750;margin-bottom:6px;}
body.supportPage .sp-step p {color:var(--sp-muted);font-size:14px;line-height:1.8;}
body.supportPage .sp-payment {min-width:0;padding:clamp(27px,3.15vw,46px);border:1px solid var(--sp-line);border-radius:25px;background:var(--sp-panel);position:relative;overflow:hidden;}
body.supportPage .sp-payment::before {content:"";display:block;height:4px;background:var(--sp-green);position:absolute;inset:0 0 auto;}
body.supportPage .sp-payment-top {display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:37px;}
body.supportPage .sp-payment-icon {height:56px;width:56px;display:grid;place-items:center;color:var(--sp-green-text);background:var(--sp-wash);border-radius:18px;}
body.supportPage .sp-payment-icon svg {height:28px;width:28px;}
body.supportPage .sp-payment-label {font-size:11px;color:var(--sp-muted);letter-spacing:.07em;font-weight:800;}
body.supportPage .sp-payment h3 {font-size:clamp(27px,2.65vw,38px);letter-spacing:-.035em;line-height:1.25;margin:14px 0 15px;font-weight:780;max-width:16ch;}
body.supportPage .sp-payment p {font-size:15px;line-height:1.8;color:var(--sp-muted);max-width:50ch;}
body.supportPage .sp-payment-cta {width:100%;margin-top:25px;}
body.supportPage .sp-payment-foot {display:flex;gap:11px;align-items:flex-start;border-top:1px solid var(--sp-line);margin-top:26px;padding-top:22px;font-size:12.5px;line-height:1.85;color:var(--sp-muted);}
body.supportPage .sp-payment-foot svg {flex:none;width:18px;height:18px;stroke:var(--sp-green-text);margin-top:3px;}
body.supportPage .sp-faq {background:var(--sp-soft);border-top:1px solid var(--sp-line);}
body.supportPage .sp-faq-grid {display:grid;grid-template-columns:minmax(0,.65fr) minmax(0,1fr);gap:clamp(40px,8vw,130px);}
body.supportPage .sp-faq h2 {max-width:17ch;}
body.supportPage .sp-faq-list {border-top:1px solid var(--sp-line);min-width:0;}
body.supportPage .sp-faq-item {border-bottom:1px solid var(--sp-line);}
body.supportPage .sp-faq-item summary {cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:18px;list-style:none;padding-block:22px;font-size:16px;line-height:1.5;font-weight:720;}
body.supportPage .sp-faq-item summary::-webkit-details-marker {display:none;}
body.supportPage .sp-faq-plus {flex:none;display:grid;place-items:center;width:34px;height:34px;border-radius:11px;border:1px solid var(--sp-line);color:var(--sp-green-text);transition:transform .18s;}
body.supportPage .sp-faq-plus svg {width:18px;height:18px;}
body.supportPage .sp-faq-item[open] .sp-faq-plus {transform:rotate(45deg);background:var(--sp-wash);}
body.supportPage .sp-faq-answer {padding:0 54px 22px 0;}
body.supportPage .sp-faq-answer p {font-size:14.5px;line-height:1.85;color:var(--sp-muted);max-width:62ch;}
body.supportPage .sp-signoff {padding:49px 0 72px;background:var(--sp-bg);}
body.supportPage .sp-signoff-inner {display:flex;justify-content:space-between;align-items:center;gap:25px;}
body.supportPage .sp-signoff-label {color:var(--sp-green-text);font-size:11px;letter-spacing:.08em;font-weight:800;}
body.supportPage .sp-signoff h2 {font-size:clamp(22px,2vw,30px);font-weight:760;letter-spacing:-.02em;line-height:1.4;margin:12px 0 6px;}
body.supportPage .sp-signoff p {font-size:14px;line-height:1.75;color:var(--sp-muted);}
body.supportPage .sp-document-link {color:var(--sp-green-text);font-size:14px;font-weight:800;text-decoration:none;display:inline-flex;align-items:center;gap:9px;white-space:nowrap;min-height:44px;}
body.supportPage .sp-document-link:hover {text-decoration:underline;text-underline-offset:4px;}
body.supportPage .sp-document-link svg {height:18px;width:18px;}
/* Localise typography without changing global RTL or page fonts. */
html[lang="fa"] body.supportPage :is(h1,h2,h3) {letter-spacing:0;}
html[lang="fa"] body.supportPage .sp-kicker,html[lang="fa"] body.supportPage .sp-showcase-top,html[lang="fa"] body.supportPage .sp-signoff-label {letter-spacing:0;}
html[lang="fa"] body.supportPage .sp-hero h1 {font-size:clamp(38px,4.35vw,62px);line-height:1.45;max-width:15ch;letter-spacing:0;margin:20px 0 18px;}
html[lang="fa"] body.supportPage :is(.sp-section-header h2,.sp-process h2,.sp-faq h2) {line-height:1.55;letter-spacing:0;}
html[lang="fa"] body.supportPage .sp-payment h3 {line-height:1.52;letter-spacing:0;}
html[lang="fa"] body.supportPage .sp-faq-answer {padding-inline-end:54px;padding-inline-start:0;}
html[lang="fa"] body.supportPage .sp-impact-card h3 {line-height:1.65;}
@media (max-width:1060px){
 body.supportPage .sp-hero-grid {gap:28px;}
 body.supportPage .sp-hero h1 {font-size:clamp(44px,5vw,65px);}
 body.supportPage .sp-showcase {min-height:515px;}
 body.supportPage .sp-showcase-stage {min-height:322px;}
 body.supportPage .sp-process-grid {gap:45px;}
}
@media (max-width:870px){
 body.supportPage .sp-hero-grid,body.supportPage .sp-process-grid,body.supportPage .sp-faq-grid{grid-template-columns:1fr;}
 body.supportPage .sp-hero-grid{gap:36px;}
 body.supportPage .sp-hero h1 {max-width:16ch;}
 body.supportPage .sp-showcase {min-height:490px;}
 body.supportPage .sp-showcase-stage {min-height:320px;}
 body.supportPage .sp-process-grid{gap:30px;}
 body.supportPage .sp-faq-grid{gap:28px;}
}
@media (max-width:740px){
 body.supportPage .sp-hero {padding-block:48px 65px;}
 body.supportPage .sp-hero h1 {font-size:clamp(41px,8vw,58px);line-height:1.13;margin:20px 0 19px;}
 body.supportPage .sp-actions {align-items:stretch;flex-direction:column;gap:11px;margin-top:24px;}
 body.supportPage .sp-actions .sp-btn {width:100%;}
 body.supportPage .sp-impact-grid {grid-template-columns:1fr;gap:11px;}
 body.supportPage .sp-impact-card h3 {margin-top:18px;}
 body.supportPage .sp-section-header {grid-template-columns:1fr;gap:15px;}
 body.supportPage .sp-section {padding-block:62px;}
 body.supportPage .sp-signoff-inner {align-items:flex-start;flex-direction:column;gap:15px;}
}
@media (max-width:440px){
 body.supportPage .sp-showcase {border-radius:20px;min-height:405px;}
 body.supportPage .sp-showcase-top {padding:17px 19px 0;font-size:10px;}
 body.supportPage .sp-showcase-mark {font-size:9px;}
 body.supportPage .sp-showcase-stage {min-height:268px;}
 body.supportPage .sp-showcase picture {width:97%;}
 body.supportPage .sp-showcase img {max-height:290px;}
 body.supportPage .sp-stage-tag {bottom:7px;inset-inline-end:14px;font-size:9px;}
 body.supportPage .sp-showcase-bottom {padding:17px 19px 20px;}
 body.supportPage .sp-showcase-bottom strong {font-size:16px;}
 body.supportPage .sp-showcase-bottom span {font-size:12px;}
 body.supportPage .sp-promises {column-gap:13px;}
 body.supportPage .sp-process h2,body.supportPage .sp-faq h2,body.supportPage .sp-section-header h2 {font-size:clamp(28px,7.9vw,36px);}
 body.supportPage .sp-payment {padding:25px 21px;}
 body.supportPage .sp-payment-top {margin-bottom:25px;}
}
@media (prefers-reduced-motion:reduce){body.supportPage .sp-btn,body.supportPage .sp-faq-plus {transition:none;}}

/* ESPFlight Support v3 — alignment with the canonical site system (v53).
   Main, header and footer must share the SAME 1500px / 24px / 16px
   content contract as Home, About, Makers and Documentation. */
body.supportPage :is(.siteHeader .container,.footer .container,.sp-main .container) {
  box-sizing:border-box;
  width:min(var(--esp-content-max),calc(100% - 2 * var(--esp-gutter))) !important;
  max-width:var(--esp-content-max) !important;
  margin-inline:auto !important;
}
/* The shared theme rules previously excluded Support.  Match their actual
   selected-text foreground/background contrast in both colour schemes. */
html:not([data-theme="dark"]) body.supportPage ::selection {
  background:rgba(66,184,131,.18);
  color:#163244;
  -webkit-text-fill-color:#163244;
  text-shadow:none;
}
html[data-theme="dark"] body.supportPage ::selection {
  background:rgba(102,221,176,.29);
  color:#fff;
  -webkit-text-fill-color:#fff;
  text-shadow:none;
}
/* Harmonise keyboard focus with the 3px visible site-wide treatment.
   Never substitute a box shadow for the outline. */
body.supportPage .sp-main :is(a,button,summary):focus-visible {
  outline:3px solid var(--accent);
  outline-offset:3px;
}
/* Site v53 reduced-motion preference applies here as well. */
@media (prefers-reduced-motion:reduce) {
  body.supportPage .sp-main *,
  body.supportPage .sp-main *::before,
  body.supportPage .sp-main *::after {
    scroll-behavior:auto !important;
    transition-duration:.01ms !important;
    animation-duration:.01ms !important;
    animation-iteration-count:1 !important;
  }
}

/* Editorial page heading scale, matching the v1 visual-system role contract. */
@media (min-width:741px) {
  html[lang="en"] body.supportPage .sp-hero h1 {
    font-size:clamp(42px,4.3vw,62px);
    line-height:1.16;
    letter-spacing:-.048em;
  }
}
