/* Public support pages share the approved materials. The four approved spreads
   and the private AdminLayout do not load this stylesheet. */
.support-page {
  --brand:var(--blue); --brand-readable:#073dcf; --brand-soft:#d9e4ff; --brand-tint:#f0f5ff;
  --ink-2:#344966; --line-soft:#e4eaf5; --white:#fff; --bg-warm:#f8faff;
  --card-bg:rgba(249,251,255,.78); --card-border:#e0e8f6; --field-bg:rgba(255,255,255,.9);
  --radius-sm:12px; --radius-md:20px; --radius-lg:28px; --radius-xl:36px; --radius-pill:999px;
  --shadow-sm:0 5px 18px rgba(29,57,105,.055); --shadow-md:0 18px 48px rgba(29,57,105,.09);
  background:radial-gradient(ellipse at 84% 6%,#edf3ff 0,transparent 36%),linear-gradient(#fff,#fafcff 65%,#fff);
}
.support-page main { min-height:420px; }
.support-page .container { width:min(var(--max),calc(100% - var(--gutter)*2)); margin-inline:auto; }
.support-page .support-context { display:flex; justify-content:space-between; align-items:center; gap:20px; padding-top:36px; color:var(--muted); font-size:10px; letter-spacing:1.4px; line-height:1.6; }
.support-page .support-context a { color:var(--blue); }
.support-page .support-context span { text-align:right; }
.support-page .page-hero { width:min(var(--max),calc(100% - var(--gutter)*2)); margin-inline:auto; padding:clamp(38px,5vw,76px) 0 52px; display:grid; grid-template-columns:minmax(0,1.05fr) minmax(0,.9fr); align-items:center; gap:clamp(32px,6vw,88px); }
.support-page .page-hero .container { width:100%; margin:0; grid-column:1; grid-row:1; min-width:0; }
.support-page .page-hero-media { grid-column:2; grid-row:1; margin:0; padding:8px; border-radius:30px; background:var(--glass-soft-fill); border:1px solid #fff; box-shadow:var(--glass-shadow); }
.support-page .page-hero-media img { width:100%; height:clamp(240px,26vw,356px); object-fit:cover; border-radius:23px; }
.support-page .page-hero h1 { font-size:clamp(36px,5.1vw,72px); font-weight:600; line-height:1.1; letter-spacing:-.045em; text-wrap:balance; }
.support-page .page-hero p { color:var(--muted); font-size:16px; margin-top:22px; max-width:36em; }
.support-page .page-hero .hero-eyebrow, .support-page .section-kicker { display:block; color:var(--blue); font-size:11px; font-weight:700; letter-spacing:1.8px; text-transform:uppercase; line-height:1.6; margin:0 0 20px; }
.support-page .crumb-link { display:inline-flex; min-height:44px; align-items:center; color:var(--blue); font-size:12px; }
.support-page .page-body { padding:8px 0 92px; }
.support-page .page-body h2 { margin:42px 0 18px; font-size:clamp(26px,3.1vw,40px); line-height:1.22; letter-spacing:-.035em; font-weight:600; }
.support-page .page-body h3 { font-size:23px; line-height:1.3; letter-spacing:-.025em; font-weight:600; }
.support-page .page-body p { margin:14px 0; color:var(--ink-2); line-height:1.85; }
.support-page .page-body ul { padding-left:22px; margin:16px 0; color:var(--ink-2); }
.support-page .page-body li { padding-left:4px; margin:10px 0; line-height:1.85; }
.support-page .page-body li::marker { color:var(--blue); }
.support-page .page-body p>a:not(.button):not(.btn), .support-page .page-body li>a { color:var(--brand-readable); text-decoration:underline; text-underline-offset:4px; }
.support-page :is(.grid,.service-grid,.split) { display:grid; gap:24px; min-width:0; }
.support-page :is(.grid-2,.service-grid,.split) { grid-template-columns:repeat(2,minmax(0,1fr)); }
.support-page .grid-3 { grid-template-columns:repeat(3,minmax(0,1fr)); }
.support-page .page-body .grid { margin-top:24px; }
.support-page :is(.surface,.card,.service-card,.guide-card,.consultation-details) { border:1px solid var(--card-border); border-radius:28px; background:var(--card-bg); box-shadow:inset 0 1px 0 #fff,var(--shadow-sm); min-width:0; }
.support-page :is(.surface,.card) { padding:clamp(24px,3.1vw,42px); }
.support-page .content-section { margin-top:24px; }
.support-page .content-section>h2:first-child { margin-top:0; }
.support-page .content-section .section-kicker+h2 { margin-top:0; }
.support-page .reveal { opacity:1; transform:none; }
.support-page :is(p,li,dd,dt,h1,h2,h3,a,label,figcaption) { overflow-wrap:break-word; }
/* Cards use the same generous type and quiet glass edges as the main site. */
.support-page .service-card { display:flex; flex-direction:column; padding:32px; text-decoration:none; min-height:290px; transition:transform .2s,box-shadow .2s; }
.support-page .service-card:hover, .support-page .guide-card:hover, .support-page .card-link:hover { transform:translateY(-3px); box-shadow:var(--shadow-md); }
.support-page .card-icon { width:58px; height:58px; border:1px solid #e5eafa; border-radius:19px; display:grid; place-items:center; margin-bottom:24px; color:var(--blue); background:rgba(255,255,255,.9); font-size:24px; }
.support-page .card-icon img { width:42px; height:42px; object-fit:contain; }
.support-page .service-card p { color:var(--muted); font-size:14px; margin:14px 0 24px; }
.support-page .service-card-action { margin-top:auto; display:flex; align-items:center; justify-content:space-between; gap:18px; color:var(--blue); font-size:13px; font-weight:700; min-height:44px; }
.support-page .service-arrow { font-size:25px; font-weight:400; }
.support-page .card-image { height:210px; overflow:hidden; border-radius:18px; margin-bottom:24px; }
.support-page .card-image img { width:100%; height:100%; object-fit:cover; }
.support-page .card h2 { margin-top:0; }
.support-page .guide-card { overflow:hidden; display:flex; flex-direction:column; transition:transform .2s,box-shadow .2s; }
.support-page .guide-cover { height:220px; overflow:hidden; margin:8px 8px 0; border-radius:21px; }
.support-page .guide-cover img { width:100%; height:100%; object-fit:cover; }
.support-page .guide-body { padding:26px; }
.support-page .guide-body p { font-size:14px; color:var(--muted); }
.support-page .article-sections { display:grid; gap:24px; }
.support-page .article-section { display:grid; grid-template-columns:56px minmax(0,1fr); gap:24px; padding:32px; }
.support-page .article-section .section-number { color:var(--blue); font-size:12px; letter-spacing:1px; padding-top:7px; }
.support-page .article-section h2 { margin:0 0 18px; font-size:clamp(25px,2.6vw,34px); }
.support-page .article-section p:last-child, .support-page .article-section ul:last-child { margin-bottom:0; }
.support-page .article-action { margin-top:30px; }
.support-page .consultation-details { margin-top:36px; }
.support-page .consultation-details h2 { margin-top:0; }
/* Button aliases preserve existing form and payment hooks. */
.support-page .btn { display:inline-flex; align-items:center; justify-content:center; gap:16px; min-height:52px; padding:14px 24px; border:1px solid var(--card-border); border-radius:999px; font-size:14px; font-weight:700; line-height:1.5; cursor:pointer; text-decoration:none; text-align:center; background:var(--glass-fill); color:var(--ink); box-shadow:inset 0 1px 0 #fff,var(--shadow-sm); }
.support-page .btn-primary, .support-page .btn-dark { color:white; background:linear-gradient(145deg,#185bff,#073dcf); border-color:rgba(255,255,255,.5); box-shadow:inset 0 1px 1px #ffffff70,0 7px 18px #0a4bff25; }
.support-page .btn-secondary, .support-page .btn-ghost, .support-page .btn-outline { background:var(--glass-fill); color:var(--brand-readable); }
.support-page .btn:hover { filter:brightness(.97); }
.support-page .btn:disabled { opacity:.6; cursor:not-allowed; }
.support-page .button, .support-page .btn { max-width:100%; white-space:normal; }
.support-page .button-lg { min-height:56px; padding:16px 27px; }
.support-page .section-sub { max-width:48em; color:var(--muted); }
.support-page .site-footer { background:rgba(255,255,255,.8); }
.support-page .support-image-notes { flex-basis:100%; max-width:440px; font-size:12px; }
.support-page .support-image-notes summary { display:list-item; cursor:pointer; min-height:44px; padding-block:12px; font-weight:600; }
.support-page .support-image-notes p { margin:6px 0 12px; font-size:12px; color:var(--muted); }
/* Form presentation only: selectors and submission behaviour stay intact. */
.support-page .form-panel { border:1px solid var(--card-border); border-radius:28px; padding:clamp(22px,3vw,38px); background:var(--card-bg); box-shadow:inset 0 1px 0 #fff,var(--shadow-sm); }
.support-page .form-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:22px 18px; }
.support-page .form-field { min-width:0; }
.support-page .form-field label { display:block; margin-bottom:9px; font-size:13px; font-weight:600; }
.support-page .form-field :is(input,select,textarea) { width:100%; min-width:0; max-width:100%; min-height:48px; padding:13px 14px; border:1px solid #d5dff1; border-radius:14px; color:var(--ink); background:var(--field-bg); font:inherit; font-size:15px; line-height:1.5; box-shadow:inset 0 1px 2px #213f6510; }
.support-page .form-field textarea { min-height:110px; resize:vertical; }
.support-page .form-field :is(input,select,textarea):focus { outline:3px solid #0a4bff1a; outline-offset:1px; border-color:var(--blue); }
.support-page .form-consent { margin:24px 0; color:var(--muted); font-size:12px; line-height:1.8; }
.support-page .form-consent-row { display:flex; align-items:flex-start; gap:11px; margin:12px 0; min-height:44px; }
.support-page .form-consent-row p { margin:0; }
.support-page .form-consent-row label { cursor:pointer; }
.support-page .form-consent-row a { color:var(--brand-readable); text-decoration:underline; text-underline-offset:3px; }
.support-page .form-consent input[type=checkbox] { flex:none; width:18px; height:18px; margin-top:4px; accent-color:var(--blue); }
.support-page .form-prefill, .support-page .form-success { padding:17px 20px; background:var(--brand-tint); border:1px solid var(--brand-soft); border-radius:16px; color:var(--brand-readable); line-height:1.8; font-size:13px; margin:0 0 22px; overflow-wrap:anywhere; }
.support-page .form-success { margin:18px 0 0; }
.support-page .form-error { padding:17px 20px; background:#fff2f3; border:1px solid #e3bac1; color:#8f2430; border-radius:16px; margin:18px 0 0; line-height:1.8; font-size:13px; }
.support-page .lead-form[aria-busy=true] { cursor:progress; }
.support-page .lead-form[aria-busy=true] :is(input,select,textarea) { pointer-events:none; }
.support-page table { width:100%; border-collapse:collapse; }
.support-page th, .support-page td { padding:14px 12px; text-align:left; border-bottom:1px solid var(--line); overflow-wrap:anywhere; }
.support-page .media-dialog { width:min(1100px,calc(100% - 32px)); padding:22px; color:var(--ink); background:var(--glass-fill); max-height:90vh; }
.support-page .media-dialog figure { margin:0; }
.support-page .media-dialog-image { width:100%; max-height:70vh; object-fit:contain; }
.support-page .media-dialog-image:not([src]) { display:none; }
.support-page .media-dialog-caption { margin-top:16px; color:var(--muted); font-size:13px; line-height:1.7; }
.support-page .media-dialog-close { display:block; margin:0 0 12px auto; width:44px; height:44px; border-radius:50%; background:white; font-size:28px; }
@media(max-width:1000px) {
  .support-page .grid-3 { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .support-page .page-hero { gap:32px; }
  .support-page .service-card { padding:26px; }
}
@media(max-width:700px) {
  .support-page .support-context { padding-top:28px; font-size:9px; letter-spacing:.8px; }
  .support-page .page-hero { grid-template-columns:1fr; gap:30px; padding:32px 0 38px; }
  .support-page .page-hero .container { grid-row:1; grid-column:1; }
  .support-page .page-hero-media { grid-row:2; grid-column:1; max-width:100%; border-radius:24px; }
  .support-page .page-hero-media img { height:210px; border-radius:17px; }
  .support-page .page-hero h1 { font-size:clamp(36px,9vw,52px); }
  .support-page .page-hero p { font-size:14px; margin-top:18px; }
  .support-page :is(.grid-2,.grid-3,.service-grid,.split) { grid-template-columns:1fr; gap:20px; }
  .support-page .page-body { padding-bottom:64px; }
  .support-page .page-body h2 { margin-top:32px; }
  .support-page :is(.surface,.card,.service-card) { padding:24px; border-radius:23px; }
  .support-page .article-section { grid-template-columns:1fr; gap:12px; }
  .support-page .article-section h2 { margin-top:0; }
  .support-page .article-section .section-number { padding-top:0; }
  .support-page .form-grid { grid-template-columns:1fr; gap:20px; }
  .support-page .form-panel { padding:22px; }
  .support-page .filing-chip { max-width:100%; }
  .support-page .footer-entity { overflow-wrap:anywhere; }
}
@media(prefers-reduced-motion:reduce) { .support-page :is(.service-card,.guide-card,.card-link) { transition:none; transform:none!important; } }
@media(prefers-reduced-transparency:reduce), (prefers-contrast:more) { .support-page { --card-bg:#f8faff; --card-border:#b8c6df; } }

.support-page .surface>.section-kicker+h2 { margin-top:0; }
.support-page[data-support-route="privacy"] .page-body>.container { padding:clamp(24px,5vw,56px); background:var(--card-bg); border:1px solid var(--card-border); border-radius:28px; box-shadow:inset 0 1px 0 #fff,var(--shadow-sm); }
.support-page[data-support-route="privacy"] .page-body h2 { padding-top:28px; border-top:1px solid var(--line); margin-top:32px; font-size:clamp(23px,2.7vw,32px); }
