/* Transportal action tokens reuse the approved home styling. */
:root { --tp-action:#bd2032; --tp-action-hover:#a71b2b; --tp-action-radius:10px; --tp-action-text:#fff; --tp-ui-ink:#202936; --tp-ui-muted:#596574; --tp-ui-line:#dce2e8; --tp-ui-paper:#fff; --tp-ui-soft:#f3f6f9; }
html[data-theme="dark"] { --tp-ui-ink:#f0f4f8; --tp-ui-muted:#b9c5d2; --tp-ui-line:#394654; --tp-ui-paper:#19232f; --tp-ui-soft:#253340; }
html body .tp-dossier .button.button--primary,
html body .tp-dossier .closing-cta .button,
html body main.tp-medical .tp-medical__button,
html body .qe-entry .qe-preset .qe-primary,
html body #uploadForm .btn-submit,
html body .tp-step-next:not(:disabled) {
    background:var(--tp-action) !important; color:var(--tp-action-text) !important;
    border:1px solid var(--tp-action) !important; border-radius:var(--tp-action-radius) !important;
    min-height:52px; padding:13px 22px; line-height:1.5; font-weight:700;
    text-decoration:none; box-shadow:none; transition:background-color .16s,transform .16s;
}
html body .tp-dossier .button { border-radius:var(--tp-action-radius); min-height:52px; }
html body :is(.tp-dossier .button, .tp-medical__button, .tp-entry-context a, .header-utility-link):focus-visible { outline:3px solid #2469ba !important; outline-offset:4px !important; }
@media (hover:hover) and (pointer:fine) {
    html body .tp-dossier .button.button--primary:hover,
    html body .tp-dossier .closing-cta .button:hover,
    html body main.tp-medical .tp-medical__button:hover,
    html body #uploadForm .btn-submit:hover,
    html body .tp-step-next:not(:disabled):hover { background:var(--tp-action-hover) !important; }
}
html body :is(.tp-dossier .button, .tp-medical__button, .qe-primary):active { transform:translateY(1px); }
html body #main-header .header-utility-link { min-width:44px !important; min-height:44px !important; height:44px !important; }
@media (min-width:1280px) {
    html body #main-header .header-utility-link { width:auto; gap:6px; padding-inline:8px; }
    html body #main-header .header-utility-link > span { display:inline; font-size:12px; }
}
.tp-entry-context { display:flex; align-items:flex-start; justify-content:space-between; gap:24px; margin:20px auto; padding:20px 24px; max-width:1120px; border:1px solid var(--tp-ui-line); border-left:3px solid var(--tp-action); border-radius:10px; color:var(--tp-ui-ink); background:var(--tp-ui-paper); text-align:left; }
.tp-entry-context__eyebrow { display:block; margin-bottom:6px; font-size:12px; font-weight:700; color:var(--tp-ui-muted); }
.tp-entry-context strong { display:block; font-size:19px; line-height:1.45; }
.tp-entry-context p { margin:8px 0 !important; font-size:15px !important; line-height:1.65; color:var(--tp-ui-ink) !important; }
.tp-entry-context small { font-size:13px; line-height:1.6; color:var(--tp-ui-muted); }
.tp-entry-context a { flex-shrink:0; display:inline-flex; align-items:center; justify-content:center; min-height:44px; padding:8px 14px; border:1px solid var(--tp-ui-line); border-radius:8px; font-size:14px; color:var(--tp-ui-ink); text-decoration:underline; text-underline-offset:3px; }
/* Project scoping: DESIGN.md ink/canvas/body/utility-card tokens, scoped to this form. */
#uploadForm .tp-service-brief { min-width:0; margin:0 0 24px; padding:24px; border:1px solid #7a7a7a; border-radius:18px; background:#f5f5f7; color:#1d1d1f; }
#uploadForm .tp-service-brief legend { padding:0 8px; font-size:17px; font-weight:600; line-height:1.47; color:inherit; }
#uploadForm .tp-service-brief p { margin:0 0 17px; font-size:17px; line-height:1.47; color:inherit; }
#uploadForm .tp-service-brief__fields { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:17px; }
#uploadForm .tp-service-brief__fields > div { min-width:0; }
#uploadForm .tp-service-brief__fields label { display:block; margin-bottom:8px; font-size:17px; font-weight:600; line-height:1.47; color:inherit; }
#uploadForm .tp-service-brief .input { box-sizing:border-box; min-width:0; width:100%; min-height:44px; padding:12px; border:1px solid #7a7a7a; border-radius:8px; background:#fff; color:#1d1d1f; font-size:17px; line-height:1.47; }
#uploadForm .tp-service-brief .input::placeholder { color:#333; opacity:1; }
#uploadForm .tp-service-brief__nda { display:flex; align-items:center; gap:12px; min-height:44px; margin-top:17px; font-size:17px; line-height:1.47; color:inherit; }
#uploadForm .tp-service-brief__nda input { flex:0 0 auto; width:24px; height:24px; accent-color:#0066cc; }
#uploadForm .tp-service-brief .tp-service-brief__note { margin:17px 0 0; font-size:14px; line-height:1.47; }
#uploadForm .tp-service-brief :is(input,select):focus-visible { outline:2px solid #0071e3; outline-offset:4px; }
html[data-theme="dark"] #uploadForm .tp-service-brief { background:#272729; color:#fff; border-color:#ccc; }
html[data-theme="dark"] #uploadForm .tp-service-brief .input { background:#272729; color:#fff; border-color:#ccc; }
html[data-theme="dark"] #uploadForm .tp-service-brief .input::placeholder { color:#ccc; }
@media (max-width:640px) {
    #uploadForm .tp-service-brief { padding:17px; }
    #uploadForm .tp-service-brief__fields { grid-template-columns:minmax(0,1fr); }
}
.qe-next { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; margin-top:28px; padding-top:24px; border-top:1px solid var(--qe-border); }
.qe-next strong { display:block; margin-bottom:6px; font-size:15px; }
.qe-next p { margin:0; font-size:14px; color:var(--qe-muted); line-height:1.7; }
@media (max-width:600px) {
    .tp-entry-context { flex-direction:column; gap:12px; margin:16px 0; padding:16px; }
    .tp-entry-context strong { font-size:17px; }
    .qe-next { grid-template-columns:1fr; gap:16px; }
    html[data-theme] body.home .home-premium-hero[data-home-palette] { padding-top:104px !important; padding-bottom:32px !important; }
    html[data-theme] body.home .home-premium-shell { row-gap:24px !important; }
    html[data-theme] body.home #home-services.tp-services-before-visual { width:100%; min-width:0; padding:16px 0 24px !important; text-align:left; }
    html[data-theme] body.home #home-services.tp-services-before-visual > .home-premium-shell { width:100%; padding:0; margin:0; }
    html[data-theme] body.home .home-premium-copy > p { margin-bottom:20px !important; }
    html[data-theme] body.home .home-premium-mark { margin-block:8px 12px !important; }
}
@media (prefers-reduced-motion:reduce) { html body :is(.tp-dossier .button, .tp-medical__button, .qe-primary) { transition:none !important; transform:none !important; } }

/* Account recovery only: consistent labels, compact layout and clear actions. */
html body .member-container.tp-recovery-page { box-sizing:border-box; padding:0; width:calc(100% - 32px); max-width:540px; margin:144px auto 64px !important; }
html body .tp-recovery-page .member-card { padding:32px !important; border:1px solid var(--tp-ui-line) !important; border-radius:12px; background:var(--tp-ui-paper) !important; box-shadow:0 10px 30px rgba(20,32,48,.06) !important; }
html body .tp-recovery-page .member-title { margin-bottom:12px; font-size:32px; line-height:1.25; text-align:left; background:none !important; color:var(--tp-ui-ink) !important; -webkit-text-fill-color:var(--tp-ui-ink) !important; text-shadow:none !important; }
html body .tp-recovery-page .member-subtitle { margin-bottom:28px; font-size:16px; line-height:1.65; text-align:left; color:var(--tp-ui-muted) !important; }
html body .tp-recovery-page .form-group { margin-bottom:20px; }
html body .tp-recovery-page .form-label { display:block; margin-bottom:8px; color:var(--tp-ui-ink) !important; font-size:15px; font-weight:600; }
html body .tp-recovery-page .form-input { box-sizing:border-box; min-width:0; height:50px; padding:12px 14px; font-size:16px; border:1px solid var(--tp-ui-line) !important; border-radius:8px; background:var(--tp-ui-paper) !important; color:var(--tp-ui-ink) !important; }
html body .tp-recovery-page .form-input::placeholder { color:var(--tp-ui-muted) !important; opacity:1; }
html body .tp-recovery-page .tp-recovery-inline .btn-primary { flex-shrink:0; min-height:48px; border:1px solid var(--tp-ui-line) !important; border-radius:8px; background:var(--tp-ui-soft) !important; color:var(--tp-ui-ink) !important; font-size:14px !important; box-shadow:none !important; }
html body .tp-recovery-page .btn-full { box-sizing:border-box; min-height:52px; padding:12px 20px; border:1px solid var(--tp-action) !important; border-radius:10px !important; background:var(--tp-action) !important; color:#fff !important; font-size:16px; box-shadow:none !important; }
html body .tp-recovery-page .btn-full:hover:not(:disabled) { background:var(--tp-action-hover) !important; transform:none; }
html body .tp-recovery-page :is(input,button,a):focus-visible { outline:3px solid #2469ba; outline-offset:3px; }
html body .tp-recovery-page .member-footer { margin-top:20px; padding-top:16px; border-top:1px solid var(--tp-ui-line); color:var(--tp-ui-muted); }
html body .tp-recovery-page .member-footer a { display:inline-flex; align-items:center; min-height:44px; color:var(--tp-ui-muted) !important; text-decoration:underline !important; text-underline-offset:3px; }
@media (max-width:600px) {
    html body .member-container.tp-recovery-page { margin:104px auto 40px !important; }
    html body .tp-recovery-page .member-card { padding:20px !important; }
    html body .tp-recovery-page .member-title { font-size:28px; }
    html body .tp-recovery-page .member-subtitle { margin-bottom:24px; }
}
@media (max-width:420px) {
    html body .tp-recovery-page .tp-recovery-inline { flex-direction:column; }
    html body .tp-recovery-page .tp-recovery-inline .form-input { flex:auto !important; }
}

/* Reset states: keep feedback legible without changing recovery behavior. */
html body .tp-reset-page .tp-reset-message { margin:20px 0; padding:16px; border:1px solid; border-radius:8px; font-size:16px; line-height:1.65; text-align:left; overflow-wrap:anywhere; }
html body .tp-reset-page .tp-reset-message--error { background:#fff1f2; border-color:#f3b7bf; color:#9f1239; }
html body .tp-reset-page .tp-reset-message--success { background:#ecfdf5; border-color:#a7d9c5; color:#065f46; }
html[data-theme="dark"] body .tp-reset-page .tp-reset-message--error { background:#39222c; border-color:#805162; color:#ffb3c1; }
html[data-theme="dark"] body .tp-reset-page .tp-reset-message--success { background:#17382e; border-color:#407763; color:#a7f3d0; }
html body .tp-reset-page .member-card > .form-group:last-child { margin-bottom:0; }

/* Login only: leave signup, account recovery and dashboard layouts unchanged. */
html body .member-container.tp-auth-page.tp-auth-login {
    width:min(1080px,calc(100% - 48px)); max-width:1080px;
    min-height:0; margin:144px auto 64px !important; padding:0 !important;
    grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); gap:32px; align-items:start;
}
html body .tp-auth-login .tp-auth-intro { padding:28px 24px 28px 0; border:0; }
html body .tp-auth-login .tp-auth-eyebrow { color:var(--tp-action); margin-bottom:16px; }
html[data-theme="dark"] body .tp-auth-login .tp-auth-eyebrow { color:#ff8c99; }
html body .tp-auth-login .tp-auth-intro h2 { font-size:clamp(28px,3vw,36px); line-height:1.3; letter-spacing:-.035em; }
html body .tp-auth-login .tp-auth-intro > p { margin-top:16px; font-size:16px; line-height:1.65; }
html body .tp-auth-login .tp-auth-benefits { margin-top:24px; }
html body .tp-auth-login .tp-auth-benefits li { min-height:60px; }
html body .tp-auth-login .tp-auth-support { padding-top:20px; }
html body .tp-auth-login .member-card { padding:32px !important; border-radius:12px; box-shadow:0 10px 30px rgba(20,32,48,.06) !important; }
html body .tp-auth-login .member-title { font-size:32px; line-height:1.25; margin-bottom:10px; background:none !important; color:var(--tp-member-text) !important; -webkit-text-fill-color:var(--tp-member-text) !important; text-shadow:none !important; }
html body .tp-auth-login .member-subtitle { margin-bottom:24px; }
html body .tp-auth-login .form-group { margin-bottom:16px; }
html body .tp-auth-login .form-input { height:50px; font-size:16px; border-radius:8px; }
html body .tp-auth-login .form-input:focus-visible { outline:2px solid #2469ba; outline-offset:2px; }
html body .tp-auth-login .form-group:has(input[name="remember"]) { display:flex; flex-wrap:wrap; gap:4px 16px; align-items:center; }
html body .tp-auth-login .form-group:has(input[name="remember"]) > label { display:inline-flex; align-items:center; justify-content:flex-start; align-self:flex-start; width:auto !important; gap:8px; min-height:44px; color:var(--tp-member-muted) !important; }
html body .tp-auth-login .form-group:has(input[name="remember"]) > div { display:flex; flex-wrap:wrap; gap:4px 14px; }
html body .tp-auth-login .form-group:has(input[name="remember"]) a,
html body .tp-auth-login .member-footer a { display:inline-flex; align-items:center; min-height:44px; margin:0 !important; color:var(--tp-member-strong-muted) !important; text-decoration:underline !important; text-underline-offset:3px; }
html body .tp-auth-login .btn-full { min-height:52px; padding:12px 20px; border:1px solid var(--tp-action) !important; border-radius:10px !important; background:var(--tp-action) !important; color:#fff !important; font-size:16px; box-shadow:none !important; }
html body .tp-auth-login .btn-full:hover:not(:disabled) { background:var(--tp-action-hover) !important; transform:none; }
html body .tp-auth-login :is(a,button,input[type="checkbox"]):focus-visible { outline:3px solid #2469ba; outline-offset:3px; }
html body .tp-auth-login .member-footer { margin-top:16px; padding-top:16px; }
@media (max-width:820px) {
    html body .member-container.tp-auth-page.tp-auth-login { width:calc(100% - 32px); max-width:560px; margin:104px auto 40px !important; grid-template-columns:minmax(0,1fr); gap:24px; }
    html body .tp-auth-login .member-card { padding:24px !important; }
    html body .tp-auth-login .tp-auth-intro { padding:8px 8px 24px; }
    html body .tp-auth-login .member-title { font-size:28px; }
}

/* Inquiry only: compact entry, explicit navigation state, shared action tokens. */
html body:has(.tp-inquiry-page) .bulletinwp-placement-sticky-footer { display:none !important; }
html body:has(.tp-inquiry-page) { padding-bottom:0 !important; }
html body .tp-inquiry-page.page-top-section { padding:144px 0 64px !important; }
html body .tp-inquiry-page > .section-header { max-width:900px; margin:0 auto 24px !important; padding:0 16px; text-align:left; }
html body .tp-inquiry-page .section-tag { margin-bottom:12px; padding:0 !important; border:0 !important; border-radius:0; background:none !important; box-shadow:none; color:var(--tp-action) !important; font-size:12px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; }
html[data-theme="dark"] body .tp-inquiry-page .section-tag { color:#ff8c99 !important; }
html body .tp-inquiry-page .section-header h1 { margin:0 0 12px; font-size:clamp(28px,3vw,38px) !important; line-height:1.2; letter-spacing:-.035em; background:none !important; color:var(--tp-ui-ink) !important; -webkit-text-fill-color:var(--tp-ui-ink) !important; }
html body .tp-inquiry-page .section-header p { margin:0; color:var(--tp-ui-muted); font-size:16px; line-height:1.65; }
html body .tp-inquiry-page .inquiry-container { padding:0 16px !important; }
html body .tp-inquiry-page .iq-tabs { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:4px; margin:0 0 20px; padding:4px; border:1px solid var(--tp-ui-line); border-radius:12px; background:var(--tp-ui-soft); }
html body .tp-inquiry-page .iq-tab-btn { min-width:0; min-height:48px; padding:10px 16px; border:1px solid transparent; border-radius:8px; color:var(--tp-ui-muted); background:transparent; box-shadow:none; backdrop-filter:none; font-size:15px; line-height:1.5; transition:background-color .15s,color .15s; }
html body .tp-inquiry-page .iq-tab-btn.active { color:var(--tp-ui-ink); background:var(--tp-ui-paper); border-color:var(--tp-ui-line); font-weight:700; box-shadow:0 2px 4px rgba(20,32,48,.04); }
html body .tp-inquiry-page .iq-tab-btn:hover { color:var(--tp-ui-ink); background:var(--tp-ui-paper); }
html body .tp-inquiry-page .glass-card { padding:28px !important; border:1px solid var(--tp-ui-line) !important; border-radius:12px; background:var(--tp-ui-paper) !important; box-shadow:0 8px 24px rgba(20,32,48,.04) !important; backdrop-filter:none; -webkit-backdrop-filter:none; }
html body .tp-inquiry-page .form-group { margin-bottom:20px; }
html body .tp-inquiry-page .label { margin-bottom:8px; color:var(--tp-ui-ink); font-weight:600; }
html body .tp-inquiry-page .input-field { min-height:48px; padding:12px 14px; border:1px solid var(--tp-ui-line) !important; border-radius:8px; background:var(--tp-ui-paper) !important; color:var(--tp-ui-ink) !important; font-size:16px; }
html body .tp-inquiry-page .input-field::placeholder { color:var(--tp-ui-muted); opacity:1; }
html body .tp-inquiry-page .input-field:focus-visible { border-color:#2469ba !important; outline:2px solid #2469ba !important; outline-offset:2px; }
html body .tp-inquiry-page :is(.btn-primary,.iq-outline-btn) { display:inline-flex; align-items:center; justify-content:center; min-height:52px; padding:12px 24px !important; border-radius:10px !important; font-size:16px !important; font-weight:700; line-height:1.5; text-decoration:none; box-shadow:none; }
html body .tp-inquiry-page .btn-primary { background:var(--tp-action) !important; border:1px solid var(--tp-action) !important; color:#fff !important; }
html body .tp-inquiry-page .btn-primary:hover:not(:disabled) { background:var(--tp-action-hover) !important; }
html body .tp-inquiry-page .btn-primary:disabled { opacity:.6; cursor:wait; }
html body .tp-inquiry-page .iq-outline-btn { background:var(--tp-ui-paper); border:1px solid var(--tp-ui-line); color:var(--tp-ui-ink); }
html body .tp-inquiry-page :is(.iq-tab-btn,.btn-primary,.iq-outline-btn):focus-visible { outline:3px solid #2469ba !important; outline-offset:3px; }
html body .tp-inquiry-page .iq-guest-note { padding:12px 16px !important; margin-bottom:20px !important; border:1px solid var(--tp-ui-line) !important; border-radius:8px !important; background:var(--tp-ui-soft) !important; color:var(--tp-ui-muted) !important; text-align:left !important; line-height:1.6; }
html body .tp-inquiry-page .iq-member-lock-title { color:var(--tp-ui-ink) !important; }
html body .tp-inquiry-page .iq-member-lock-desc { color:var(--tp-ui-muted) !important; }
@media (max-width:768px) {
    html body .tp-inquiry-page.page-top-section { padding-top:112px !important; padding-bottom:40px !important; }
    html body .tp-inquiry-page > .section-header { margin-bottom:20px !important; }
    html body .tp-inquiry-page .glass-card { padding:20px !important; }
    html body .tp-inquiry-page button[name="submit_inquiry"] { width:100%; }
}
@media (prefers-reduced-motion:reduce) { html body .tp-inquiry-page .iq-tab-btn { transition:none; } }

/* Mobile navigation: the main action stays above the independently scrolling links. */
#mobile-menu-overlay .mobile-menu-primary { flex:0 0 auto; padding:12px max(16px, env(safe-area-inset-right)) 16px max(16px, env(safe-area-inset-left)); border-bottom:1px solid var(--tp-ui-line); }
#mobile-menu-overlay .mobile-primary-quote { display:flex; align-items:center; justify-content:space-between; gap:12px; width:100%; min-height:52px; padding:12px 18px; border:1px solid var(--tp-action); border-radius:var(--tp-action-radius); background:var(--tp-action); color:var(--tp-action-text); font-size:16px; font-weight:700; line-height:1.5; text-decoration:none; }
#mobile-menu-overlay .mobile-primary-quote:hover { background:var(--tp-action-hover); }
#mobile-menu-overlay .mobile-primary-quote:active { transform:translateY(1px); }
#mobile-menu-overlay .mobile-nav-utilities { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:6px; margin-bottom:20px; padding-bottom:20px; border-bottom:1px solid var(--tp-ui-line); }
#mobile-menu-overlay .mobile-nav-utilities a { display:flex; align-items:center; justify-content:center; min-width:0; min-height:44px; padding:8px 4px; border:1px solid var(--tp-ui-line); border-radius:8px; background:var(--tp-ui-soft); color:var(--tp-ui-ink); font-size:14px; font-weight:600; line-height:1.4; text-align:center; text-decoration:none; overflow-wrap:anywhere; }
#mobile-menu-overlay .mobile-nav-utilities a:hover { background:var(--tp-ui-paper); }
#mobile-menu-overlay .mobile-menu-content { padding-top:16px; }
#mobile-menu-overlay .mobile-nav-group { margin-bottom:16px; padding-bottom:12px; }
#mobile-menu-overlay .mobile-nav-toggle { font-size:18px; min-height:44px; }
#mobile-menu-overlay .mobile-primary-quote:focus-visible,
#mobile-menu-overlay .mobile-nav-utilities a:focus-visible { outline:3px solid #2469ba; outline-offset:3px; }

/* On mobile forms, contact is an ordinary action below the content, not an overlay.
   Desktop, marketing pages and the home one-stop CTA retain their existing behavior. */
@media (max-width:768px) {
    html body:has(.tp-recovery-page) #tp-quick-inquiry-root,
    html body #tp-quick-inquiry-root.tpqi-after-content { padding:8px 16px 32px; text-align:center; }
    html body:has(.tp-recovery-page) #tp-quick-inquiry-root .tpqi-trigger,
    html body #tp-quick-inquiry-root.tpqi-after-content .tpqi-trigger { position:relative; inset:auto; transform:none; width:auto; max-width:100%; min-height:48px; margin:0 auto; padding:10px 18px; flex-direction:row; gap:10px; border-radius:10px; opacity:1; filter:none; box-shadow:none; }
    html body:has(.tp-recovery-page) #tp-quick-inquiry-root .tpqi-trigger__icon,
    html body #tp-quick-inquiry-root.tpqi-after-content .tpqi-trigger__icon { width:24px; height:24px; flex-basis:24px; }
    html body:has(.tp-recovery-page) #tp-quick-inquiry-root .tpqi-trigger__label,
    html body #tp-quick-inquiry-root.tpqi-after-content .tpqi-trigger__label { position:static; width:auto; height:auto; margin:0; overflow:visible; clip:auto; white-space:normal; color:var(--tpqi-text); font-size:14px; line-height:1.5; }
    html body:has(.tp-recovery-page) #tp-quick-inquiry-root .tpqi-trigger:focus-visible,
    html body #tp-quick-inquiry-root.tpqi-after-content .tpqi-trigger:focus-visible { outline:3px solid #2469ba; outline-offset:3px; }
}
