/**
 * Tool: Paycheck Calculator USA 2026
 * File: /public_html/tools/paycheck-calculator/style.css
 * Part of: USAJobsKit.com
 * Last Updated: April 2026
 * Scoped to: .usk-tool
 */

/* ═══════════════════════════════════════════════════════════════════════════
   CSS VARIABLES
   ═══════════════════════════════════════════════════════════════════════════ */

.usk-tool {
    --clr-primary      : #1D4ED8;
    --clr-primary-hover: #1E40AF;
    --clr-navy         : #0F172A;
    --clr-success      : #10B981;
    --clr-error        : #DC2626;
    --clr-warning      : #F59E0B;
    --clr-bg           : #F8FAFC;
    --clr-border       : #E5E7EB;
    --clr-white        : #ffffff;
    --clr-text         : #1E293B;
    --clr-text-muted   : #64748B;
    --clr-text-light   : #94A3B8;
    --clr-card-bg      : #ffffff;
    --clr-section-bg   : #F1F5F9;
    --clr-highlight-bg : #EFF6FF;
    --clr-net          : #065F46;
    --clr-net-bg       : #ECFDF5;
    --clr-tax          : #991B1B;
    --clr-tax-bg       : #FEF2F2;

    --radius-sm  : 6px;
    --radius-md  : 10px;
    --radius-lg  : 14px;
    --radius-xl  : 20px;

    --shadow-sm  : 0 1px 3px rgba(0,0,0,0.07), 0 1px 2px rgba(0,0,0,0.05);
    --shadow-md  : 0 4px 12px rgba(0,0,0,0.08), 0 2px 6px rgba(0,0,0,0.04);
    --shadow-lg  : 0 10px 30px rgba(0,0,0,0.10), 0 4px 12px rgba(0,0,0,0.06);

    --transition : 0.18s ease;

    --font-base  : -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;

    font-family: var(--font-base);
    color      : var(--clr-text);
    max-width  : 1200px;
    margin     : 0 auto;
    padding    : 0 16px 60px;
    box-sizing : border-box;
}

.usk-tool *,
.usk-tool *::before,
.usk-tool *::after {
    box-sizing: inherit;
}

/* ── Visually hidden H1 ──────────────────────────────────────────────────── */
.usajobskit-page-title {
    position   : absolute !important;
    width      : 1px     !important;
    height     : 1px     !important;
    padding    : 0       !important;
    margin     : -1px    !important;
    overflow   : hidden  !important;
    clip       : rect(0,0,0,0) !important;
    white-space: nowrap  !important;
    border     : 0       !important;
}

/* ═══════════════════════════════════════════════════════════════════════════
   SECTION LABEL (EYEBROW)
   ═══════════════════════════════════════════════════════════════════════════ */

.usk-tool .usk-section-label {
    display      : inline-block;
    font-size    : 11px;
    font-weight  : 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color        : var(--clr-primary);
    background   : var(--clr-highlight-bg);
    border       : 1px solid #BFDBFE;
    border-radius: 999px;
    padding      : 4px 14px;
    margin-bottom: 20px;
}

/* ═══════════════════════════════════════════════════════════════════════════
   HERO SECTION
   ═══════════════════════════════════════════════════════════════════════════ */

.usk-tool .usk-hero {
    background   : linear-gradient(135deg, #0F172A 0%, #1D4ED8 60%, #1E40AF 100%);
    border-radius: var(--radius-xl);
    padding      : 52px 40px 44px;
    margin-bottom: 36px;
    position     : relative;
    overflow     : hidden;
}

.usk-tool .usk-hero::before {
    content      : '';
    position     : absolute;
    top          : -60px;
    right        : -60px;
    width        : 340px;
    height       : 340px;
    border-radius: 50%;
    background   : rgba(255,255,255,0.04);
    pointer-events: none;
}

.usk-tool .usk-hero::after {
    content      : '';
    position     : absolute;
    bottom       : -80px;
    left         : -40px;
    width        : 260px;
    height       : 260px;
    border-radius: 50%;
    background   : rgba(255,255,255,0.03);
    pointer-events: none;
}

.usk-tool .usk-hero-inner {
    position: relative;
    z-index : 1;
}

.usk-tool .usk-hero-badge {
    display      : inline-flex;
    align-items  : center;
    gap          : 8px;
    background   : rgba(255,255,255,0.12);
    border       : 1px solid rgba(255,255,255,0.20);
    border-radius: 999px;
    padding      : 6px 16px;
    font-size    : 12px;
    font-weight  : 600;
    color        : #BFDBFE;
    margin-bottom: 20px;
    letter-spacing: 0.02em;
}

.usk-tool .usk-badge-icon {
    font-size: 15px;
}

.usk-tool .usk-hero-headline {
    font-size    : clamp(22px, 4vw, 34px);
    font-weight  : 800;
    color        : #ffffff;
    line-height  : 1.2;
    margin       : 0 0 14px;
    letter-spacing: -0.02em;
}

.usk-tool .usk-hero-sub {
    font-size  : 15px;
    color      : #CBD5E1;
    line-height: 1.65;
    max-width  : 640px;
    margin     : 0 0 28px;
}

.usk-tool .usk-hero-stats {
    display  : flex;
    flex-wrap: wrap;
    gap      : 12px;
}

.usk-tool .usk-hero-stat {
    background   : rgba(255,255,255,0.10);
    border       : 1px solid rgba(255,255,255,0.15);
    border-radius: var(--radius-md);
    padding      : 12px 20px;
    text-align   : center;
    min-width    : 90px;
}

.usk-tool .usk-stat-number {
    display    : block;
    font-size  : 20px;
    font-weight: 800;
    color      : #ffffff;
    line-height: 1.1;
}

.usk-tool .usk-stat-label {
    display    : block;
    font-size  : 11px;
    color      : #93C5FD;
    margin-top : 4px;
    font-weight: 500;
}

/* ═══════════════════════════════════════════════════════════════════════════
   KEY FACTS
   ═══════════════════════════════════════════════════════════════════════════ */

.usk-tool .usk-key-facts {
    margin-bottom: 40px;
}

.usk-tool .usk-facts-grid {
    display              : grid;
    grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
    gap                  : 14px;
}

.usk-tool .usk-fact-card {
    display      : flex;
    align-items  : flex-start;
    gap          : 14px;
    background   : var(--clr-card-bg);
    border       : 1px solid var(--clr-border);
    border-radius: var(--radius-md);
    padding      : 16px 18px;
    box-shadow   : var(--shadow-sm);
    transition   : box-shadow var(--transition), transform var(--transition);
}

.usk-tool .usk-fact-card:hover {
    box-shadow: var(--shadow-md);
    transform : translateY(-1px);
}

.usk-tool .usk-fact-icon {
    font-size  : 22px;
    line-height: 1;
    flex-shrink: 0;
    margin-top : 2px;
}

.usk-tool .usk-fact-title {
    font-size  : 13px;
    font-weight: 700;
    color      : var(--clr-navy);
    margin-bottom: 4px;
}

.usk-tool .usk-fact-desc {
    font-size  : 12px;
    color      : var(--clr-text-muted);
    line-height: 1.5;
    margin     : 0;
}

/* ═══════════════════════════════════════════════════════════════════════════
   AUDIENCE / WHO CAN USE
   ═══════════════════════════════════════════════════════════════════════════ */

.usk-tool .usk-audience {
    margin-bottom: 40px;
}

.usk-tool .usk-audience-grid {
    display              : grid;
    grid-template-columns: repeat(auto-fill, minmax(210px, 1fr));
    gap                  : 14px;
}

.usk-tool .usk-audience-card {
    background   : var(--clr-card-bg);
    border       : 1px solid var(--clr-border);
    border-top   : 3px solid var(--clr-primary);
    border-radius: var(--radius-md);
    padding      : 20px 18px;
    text-align   : center;
    box-shadow   : var(--shadow-sm);
    transition   : box-shadow var(--transition), transform var(--transition);
}

.usk-tool .usk-audience-card:hover {
    box-shadow: var(--shadow-md);
    transform : translateY(-2px);
}

.usk-tool .usk-audience-icon {
    display    : block;
    font-size  : 28px;
    margin-bottom: 10px;
    line-height: 1;
}

.usk-tool .usk-audience-card strong {
    display    : block;
    font-size  : 13px;
    font-weight: 700;
    color      : var(--clr-navy);
    margin-bottom: 6px;
}

.usk-tool .usk-audience-card p {
    font-size  : 12px;
    color      : var(--clr-text-muted);
    line-height: 1.5;
    margin     : 0;
}

/* ═══════════════════════════════════════════════════════════════════════════
   CALCULATOR SECTION
   ═══════════════════════════════════════════════════════════════════════════ */

.usk-tool .usk-calculator-section {
    background   : var(--clr-card-bg);
    border       : 2px solid var(--clr-primary);
    border-radius: var(--radius-xl);
    padding      : 36px 36px 32px;
    margin-bottom: 40px;
    box-shadow   : 0 0 0 4px rgba(29,78,216,0.06), var(--shadow-md);
}

/* ── Form Section Labels ─────────────────────────────────────────────────── */

.usk-tool .usk-form-section-label {
    display      : block;
    font-size    : 13px;
    font-weight  : 700;
    color        : var(--clr-navy);
    margin-bottom: 18px;
    padding-left : 10px;
    border-left  : 3px solid var(--clr-primary);
}

.usk-tool .usk-form-helper-text {
    font-size    : 12.5px;
    color        : var(--clr-text-muted);
    margin       : -10px 0 18px;
    line-height  : 1.5;
}

/* ── Form Row ────────────────────────────────────────────────────────────── */

.usk-tool .usk-form-row {
    display              : grid;
    grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
    gap                  : 20px;
    margin-bottom        : 8px;
}

/* ── Form Group ─────────────────────────────────────────────────────────── */

.usk-tool .usk-form-group {
    display       : flex;
    flex-direction: column;
    gap           : 6px;
}

/* ── Label ───────────────────────────────────────────────────────────────── */

.usk-tool .usk-label {
    font-size  : 13px;
    font-weight: 600;
    color      : var(--clr-navy);
    line-height: 1.3;
    display    : flex;
    align-items: center;
    gap        : 5px;
    flex-wrap  : wrap;
}

.usk-tool .usk-required {
    color      : var(--clr-error);
    font-size  : 14px;
    line-height: 1;
}

.usk-tool .usk-optional {
    font-size  : 11px;
    font-weight: 400;
    color      : var(--clr-text-muted);
}

/* ── Input ───────────────────────────────────────────────────────────────── */

.usk-tool .usk-input {
    width        : 100%;
    height       : 48px;
    padding      : 0 16px;
    font-size    : 15px;
    font-weight  : 500;
    color        : var(--clr-navy);
    background   : var(--clr-bg);
    border       : 1.5px solid var(--clr-border);
    border-radius: var(--radius-md);
    outline      : none;
    transition   : border-color var(--transition), box-shadow var(--transition), background var(--transition);
    -webkit-appearance: none;
    appearance   : none;
    font-family  : var(--font-base);
}

.usk-tool .usk-input::placeholder {
    color      : var(--clr-text-light);
    font-weight: 400;
}

.usk-tool .usk-input:hover {
    border-color: #94A3B8;
}

.usk-tool .usk-input:focus {
    border-color: var(--clr-primary);
    background   : var(--clr-white);
    box-shadow   : 0 0 0 3px rgba(29,78,216,0.12);
}

.usk-tool .usk-input.usk-input-error {
    border-color: var(--clr-error) !important;
    background   : #FEF2F2;
    box-shadow   : 0 0 0 3px rgba(220,38,38,0.10) !important;
}

/* ── Input with Icon ─────────────────────────────────────────────────────── */

.usk-tool .usk-input-with-icon {
    position: relative;
}

.usk-tool .usk-input-icon {
    position      : absolute;
    left          : 16px !important;
    top           : 50%;
    transform     : translateY(-50%);
    font-size     : 14px;
    font-weight   : 700;
    color         : var(--clr-text-muted);
    pointer-events: none;
    z-index       : 1;
    line-height   : 1;
}

.usk-tool .usk-input-with-icon .usk-input {
    padding-left: 52px !important;
}

/* ── Select ─────────────────────────────────────────────────────────────── */

.usk-tool .usk-select-wrapper {
    position: relative;
}

.usk-tool .usk-select-wrapper::after {
    content       : '';
    position      : absolute;
    right         : 16px;
    top           : 50%;
    transform     : translateY(-50%);
    width         : 0;
    height        : 0;
    border-left   : 5px solid transparent;
    border-right  : 5px solid transparent;
    border-top    : 6px solid var(--clr-text-muted);
    pointer-events: none;
}

.usk-tool .usk-select {
    width              : 100% !important;
    height             : 48px !important;
    padding            : 0 44px 0 16px !important;
    font-size          : 15px !important;
    font-weight        : 500 !important;
    color              : var(--clr-navy) !important;
    background         : var(--clr-bg) !important;
    border             : 1.5px solid var(--clr-border) !important;
    border-radius      : var(--radius-md) !important;
    outline            : none !important;
    -webkit-appearance : none !important;
    appearance         : none !important;
    cursor             : pointer;
    transition         : border-color var(--transition), box-shadow var(--transition);
    font-family        : var(--font-base) !important;
    line-height        : normal !important;
}

.usk-tool .usk-select:hover {
    border-color: #94A3B8 !important;
}

.usk-tool .usk-select:focus {
    border-color: var(--clr-primary) !important;
    background   : var(--clr-white) !important;
    box-shadow   : 0 0 0 3px rgba(29,78,216,0.12) !important;
}

/* ── Field Help Text ─────────────────────────────────────────────────────── */

.usk-tool .usk-field-help {
    font-size  : 11.5px;
    color      : var(--clr-text-muted);
    line-height: 1.45;
}

/* ── Field Error ─────────────────────────────────────────────────────────── */

.usk-tool .usk-field-error {
    font-size  : 12px;
    color      : var(--clr-error);
    font-weight: 500;
    line-height: 1.4;
    display    : none;
}

/* ── Form Divider ────────────────────────────────────────────────────────── */

.usk-tool .usk-form-divider {
    border     : none;
    border-top : 1px dashed var(--clr-border);
    margin     : 24px 0;
}

/* ── Form Actions ────────────────────────────────────────────────────────── */

.usk-tool .usk-form-actions {
    margin-top: 28px;
    text-align: center;
}

.usk-tool .usk-form-disclaimer {
    font-size  : 11.5px;
    color      : var(--clr-text-muted);
    margin-top : 10px;
    margin-bottom: 0;
}

/* ── Global Error ────────────────────────────────────────────────────────── */

.usk-tool .usk-global-error {
    background   : #FEF2F2;
    border       : 1px solid #FECACA;
    border-left  : 4px solid var(--clr-error);
    border-radius: var(--radius-md);
    padding      : 14px 18px;
    font-size    : 14px;
    color        : var(--clr-error);
    font-weight  : 500;
    margin-bottom: 18px;
}

/* ═══════════════════════════════════════════════════════════════════════════
   BUTTONS
   ═══════════════════════════════════════════════════════════════════════════ */

.usk-tool .usk-btn-primary {
    display        : inline-flex;
    align-items    : center;
    justify-content: center;
    gap            : 10px;
    width          : 100%;
    max-width      : 420px;
    height         : 54px;
    padding        : 0 32px;
    font-size      : 16px;
    font-weight    : 700;
    color          : var(--clr-white);
    background     : var(--clr-primary);
    border         : none;
    border-radius  : var(--radius-md);
    cursor         : pointer;
    transition     : background var(--transition), transform var(--transition), box-shadow var(--transition);
    box-shadow     : 0 4px 14px rgba(29,78,216,0.35);
    text-decoration: none;
    font-family    : var(--font-base);
    white-space    : nowrap;
}

.usk-tool .usk-btn-primary:hover:not(:disabled) {
    background : var(--clr-primary-hover);
    box-shadow : 0 6px 20px rgba(29,78,216,0.45);
    transform  : translateY(-1px);
}

.usk-tool .usk-btn-primary:active:not(:disabled) {
    transform : translateY(0);
    box-shadow: 0 2px 8px rgba(29,78,216,0.30);
}

.usk-tool .usk-btn-primary:disabled,
.usk-tool .usk-btn-primary.usk-btn-loading {
    opacity   : 0.72;
    cursor    : not-allowed;
    transform : none;
    box-shadow: none;
}

.usk-tool .usk-btn-secondary {
    display        : inline-flex;
    align-items    : center;
    justify-content: center;
    gap            : 8px;
    height         : 44px;
    padding        : 0 22px;
    font-size      : 14px;
    font-weight    : 600;
    color          : var(--clr-primary);
    background     : var(--clr-white);
    border         : 1.5px solid var(--clr-primary);
    border-radius  : var(--radius-md);
    cursor         : pointer;
    transition     : background var(--transition), color var(--transition), transform var(--transition);
    text-decoration: none;
    font-family    : var(--font-base);
    white-space    : nowrap;
}

.usk-tool .usk-btn-secondary:hover:not(:disabled) {
    background: var(--clr-highlight-bg);
    transform : translateY(-1px);
}

.usk-tool .usk-btn-secondary:disabled {
    opacity: 0.6;
    cursor : not-allowed;
}

/* ── Loading Spinner ─────────────────────────────────────────────────────── */

.usk-tool .usk-btn-spinner {
    display         : none;
    width           : 18px;
    height          : 18px;
    border          : 2.5px solid rgba(255,255,255,0.35);
    border-top-color: #ffffff;
    border-radius   : 50%;
    animation       : usk-spin 0.65s linear infinite;
    flex-shrink     : 0;
}

@keyframes usk-spin {
    to { transform: rotate(360deg); }
}

/* ═══════════════════════════════════════════════════════════════════════════
   RESULTS WRAPPER
   ═══════════════════════════════════════════════════════════════════════════ */

.usk-tool .usk-results-wrapper {
    margin-bottom: 40px;
    animation    : none;
}

.usk-tool .usk-results-wrapper.usk-results-animate {
    animation: usk-fade-up 0.4s ease both;
}

@keyframes usk-fade-up {
    from { opacity: 0; transform: translateY(16px); }
    to   { opacity: 1; transform: translateY(0);    }
}

/* ── Primary Result Highlight ────────────────────────────────────────────── */

.usk-tool .usk-result-highlight {
    background   : linear-gradient(135deg, #065F46 0%, #047857 100%);
    border-radius: var(--radius-xl);
    padding      : 36px 32px;
    text-align   : center;
    margin-bottom: 24px;
    box-shadow   : 0 8px 32px rgba(6,95,70,0.25);
    position     : relative;
    overflow     : hidden;
}

.usk-tool .usk-result-highlight::before {
    content      : '';
    position     : absolute;
    top          : -40px;
    right        : -40px;
    width        : 200px;
    height       : 200px;
    border-radius: 50%;
    background   : rgba(255,255,255,0.05);
    pointer-events: none;
}

.usk-tool .usk-result-highlight-label {
    font-size     : 11px;
    font-weight   : 700;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color         : #6EE7B7;
    margin-bottom : 10px;
}

.usk-tool .usk-result-highlight-value {
    font-size    : clamp(38px, 8vw, 60px);
    font-weight  : 900;
    color        : #ffffff;
    line-height  : 1.0;
    letter-spacing: -0.02em;
    margin-bottom: 10px;
}

.usk-tool .usk-result-highlight-sub {
    font-size  : 13px;
    color      : #A7F3D0;
    line-height: 1.5;
}

/* ── Summary Grid ────────────────────────────────────────────────────────── */

.usk-tool .usk-summary-grid {
    display              : grid;
    grid-template-columns: repeat(auto-fill, minmax(170px, 1fr));
    gap                  : 12px;
    margin-bottom        : 28px;
}

.usk-tool .usk-summary-card {
    background   : var(--clr-card-bg);
    border       : 1px solid var(--clr-border);
    border-radius: var(--radius-md);
    padding      : 16px 16px 14px;
    text-align   : center;
    box-shadow   : var(--shadow-sm);
    transition   : transform var(--transition), box-shadow var(--transition);
}

.usk-tool .usk-summary-card:hover {
    transform : translateY(-1px);
    box-shadow: var(--shadow-md);
}

.usk-tool .usk-summary-card.usk-summary-card-accent {
    background  : var(--clr-highlight-bg);
    border-color: #BFDBFE;
}

.usk-tool .usk-summary-label {
    font-size    : 11px;
    font-weight  : 600;
    color        : var(--clr-text-muted);
    text-transform: uppercase;
    letter-spacing: 0.05em;
    margin-bottom: 6px;
}

.usk-tool .usk-summary-value {
    font-size  : 18px;
    font-weight: 800;
    color      : var(--clr-navy);
    line-height: 1.1;
}

.usk-tool .usk-summary-value.usk-val-deduction {
    color: var(--clr-error);
}

/* ═══════════════════════════════════════════════════════════════════════════
   BREAKDOWN SECTION
   ═══════════════════════════════════════════════════════════════════════════ */

.usk-tool .usk-breakdown-section {
    background   : var(--clr-card-bg);
    border       : 1px solid var(--clr-border);
    border-radius: var(--radius-lg);
    padding      : 24px 24px 20px;
    margin-bottom: 24px;
    box-shadow   : var(--shadow-sm);
    overflow     : hidden;
}

.usk-tool .usk-breakdown-title {
    font-size    : 17px;
    font-weight  : 700;
    color        : var(--clr-navy);
    margin       : 0 0 6px;
}

.usk-tool .usk-breakdown-intro {
    font-size    : 13px;
    color        : var(--clr-text-muted);
    margin       : 0 0 16px;
    line-height  : 1.5;
}

/* ── Table ───────────────────────────────────────────────────────────────── */

.usk-tool .usk-breakdown-table-wrapper {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}

.usk-tool .usk-table {
    width          : 100%;
    border-collapse: collapse;
    font-size      : 13.5px;
    min-width      : 300px;
}

.usk-tool .usk-table thead tr {
    background: var(--clr-section-bg);
}

.usk-tool .usk-table th {
    padding     : 10px 14px;
    font-size   : 11.5px;
    font-weight : 700;
    color       : var(--clr-text-muted);
    text-transform: uppercase;
    letter-spacing: 0.05em;
    white-space : nowrap;
    border-bottom: 2px solid var(--clr-border);
    text-align  : left;
}

.usk-tool .usk-table td {
    padding     : 10px 14px;
    border-bottom: 1px solid var(--clr-border);
    color       : var(--clr-text);
    line-height : 1.4;
    vertical-align: middle;
}

.usk-tool .usk-table tbody tr:last-child td {
    border-bottom: none;
}

.usk-tool .usk-table tbody tr:hover {
    background: #F8FAFC;
}

/* Row types */
.usk-tool .usk-table .usk-row-net td {
    background : var(--clr-net-bg);
    color      : var(--clr-net);
    font-weight: 800;
    font-size  : 15px;
}

.usk-tool .usk-table .usk-row-gross td {
    background : var(--clr-highlight-bg);
    font-weight: 700;
    color      : var(--clr-primary);
}

.usk-tool .usk-table .usk-row-tax td {
    color: var(--clr-tax);
}

.usk-tool .usk-table .usk-row-deduction td {
    color: #7C3AED;
}

.usk-tool .usk-table .usk-row-info td {
    color      : var(--clr-text-muted);
    font-style : italic;
    font-size  : 12.5px;
}

.usk-tool .usk-table .usk-row-current td {
    background : var(--clr-highlight-bg);
    font-weight: 700;
}

.usk-tool .usk-current-badge {
    display      : inline-block;
    font-size    : 10px;
    font-weight  : 700;
    background   : var(--clr-primary);
    color        : white;
    border-radius: 999px;
    padding      : 2px 8px;
    margin-left  : 6px;
    vertical-align: middle;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.usk-tool .usk-col-right {
    text-align: right !important;
}

.usk-tool .usk-val-mono {
    font-family: 'SFMono-Regular', 'Consolas', 'Liberation Mono', Menlo, monospace;
    font-size  : 13px;
    font-weight: 600;
}

.usk-tool .usk-val-net {
    color      : var(--clr-net);
    font-weight: 800;
}

.usk-tool .usk-row-note {
    font-size: 11.5px !important;
    color    : var(--clr-text-muted) !important;
    font-weight: 400 !important;
}

/* ═══════════════════════════════════════════════════════════════════════════
   INSIGHTS
   ═══════════════════════════════════════════════════════════════════════════ */

.usk-tool .usk-insights-section {
    background   : var(--clr-card-bg);
    border       : 1px solid var(--clr-border);
    border-radius: var(--radius-lg);
    padding      : 24px;
    margin-bottom: 24px;
    box-shadow   : var(--shadow-sm);
}

.usk-tool .usk-insights-grid {
    display              : grid;
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
    gap                  : 14px;
    margin-top           : 16px;
}

.usk-tool .usk-insight-card {
    background   : var(--clr-bg);
    border       : 1px solid var(--clr-border);
    border-left  : 4px solid var(--clr-primary);
    border-radius: var(--radius-md);
    padding      : 16px 18px;
    transition   : box-shadow var(--transition);
}

.usk-tool .usk-insight-card:hover {
    box-shadow: var(--shadow-md);
}

.usk-tool .usk-insight-header {
    display      : flex;
    align-items  : flex-start;
    gap          : 10px;
    margin-bottom: 8px;
}

.usk-tool .usk-insight-icon {
    font-size  : 20px;
    line-height: 1;
    flex-shrink: 0;
    margin-top : 1px;
}

.usk-tool .usk-insight-title {
    font-size  : 13px;
    font-weight: 700;
    color      : var(--clr-navy);
    line-height: 1.4;
}

.usk-tool .usk-insight-message {
    font-size  : 12.5px;
    color      : var(--clr-text-muted);
    line-height: 1.55;
    margin     : 0;
}

/* ═══════════════════════════════════════════════════════════════════════════
   CHART
   ═══════════════════════════════════════════════════════════════════════════ */

.usk-tool .usk-chart-section {
    background   : var(--clr-card-bg);
    border       : 1px solid var(--clr-border);
    border-radius: var(--radius-lg);
    padding      : 24px;
    margin-bottom: 24px;
    box-shadow   : var(--shadow-sm);
}

.usk-tool .usk-chart-wrapper {
    max-width : 480px;
    margin    : 0 auto;
    padding   : 10px 0;
}

.usk-tool .usk-chart-fallback {
    display   : none;
    text-align: center;
    font-size : 13px;
    color     : var(--clr-text-muted);
    padding   : 20px 0;
}

/* ═══════════════════════════════════════════════════════════════════════════
   RESULTS ACTIONS
   ═══════════════════════════════════════════════════════════════════════════ */

.usk-tool .usk-results-actions {
    display    : flex;
    flex-wrap  : wrap;
    gap        : 12px;
    align-items: center;
    margin-top : 8px;
    margin-bottom: 40px;
}

/* ═══════════════════════════════════════════════════════════════════════════
   HOW IT WORKS
   ═══════════════════════════════════════════════════════════════════════════ */

.usk-tool .usk-how-it-works {
    margin-bottom: 40px;
}

.usk-tool .usk-steps-grid {
    display              : grid;
    grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
    gap                  : 16px;
    margin-bottom        : 28px;
}

.usk-tool .usk-step {
    display      : flex;
    align-items  : flex-start;
    gap          : 14px;
    background   : var(--clr-card-bg);
    border       : 1px solid var(--clr-border);
    border-radius: var(--radius-md);
    padding      : 18px;
    box-shadow   : var(--shadow-sm);
}

.usk-tool .usk-step-number {
    width        : 36px;
    height       : 36px;
    min-width    : 36px;
    border-radius: 50%;
    background   : var(--clr-primary);
    color        : white;
    font-size    : 15px;
    font-weight  : 800;
    display      : flex;
    align-items  : center;
    justify-content: center;
    flex-shrink  : 0;
}

.usk-tool .usk-step-content strong {
    display    : block;
    font-size  : 13px;
    font-weight: 700;
    color      : var(--clr-navy);
    margin-bottom: 5px;
}

.usk-tool .usk-step-content p {
    font-size  : 12.5px;
    color      : var(--clr-text-muted);
    line-height: 1.55;
    margin     : 0;
}

/* ── Formula Box ─────────────────────────────────────────────────────────── */

.usk-tool .usk-formula-box {
    background   : var(--clr-navy);
    border-radius: var(--radius-lg);
    padding      : 28px 28px 24px;
    color        : #E2E8F0;
}

.usk-tool .usk-formula-title {
    font-size    : 13px;
    font-weight  : 700;
    color        : #93C5FD;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    margin-bottom: 18px;
}

.usk-tool .usk-formula-body {
    display      : flex;
    flex-direction: column;
    gap          : 10px;
    margin-bottom: 18px;
}

.usk-tool .usk-formula-line {
    display    : flex;
    align-items: baseline;
    gap        : 12px;
    flex-wrap  : wrap;
}

.usk-tool .usk-formula-line strong {
    font-size  : 13px;
    font-weight: 700;
    color      : #E2E8F0;
    min-width  : 200px;
    flex-shrink: 0;
}

.usk-tool .usk-formula-line code {
    font-size   : 12.5px;
    font-family : 'SFMono-Regular', 'Consolas', monospace;
    color       : #6EE7B7;
    background  : rgba(255,255,255,0.06);
    padding     : 3px 10px;
    border-radius: var(--radius-sm);
}

.usk-tool .usk-formula-note {
    font-size    : 12px;
    color        : #94A3B8;
    line-height  : 1.55;
    border-top   : 1px solid rgba(255,255,255,0.08);
    padding-top  : 14px;
    margin-bottom: 0;
}

/* ═══════════════════════════════════════════════════════════════════════════
   KEY INFORMATION
   ═══════════════════════════════════════════════════════════════════════════ */

.usk-tool .usk-key-info {
    margin-bottom: 40px;
}

.usk-tool .usk-info-grid {
    display              : grid;
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
    gap                  : 16px;
}

.usk-tool .usk-info-card {
    background   : var(--clr-card-bg);
    border       : 1px solid var(--clr-border);
    border-radius: var(--radius-md);
    padding      : 20px;
    box-shadow   : var(--shadow-sm);
    transition   : box-shadow var(--transition);
}

.usk-tool .usk-info-card:hover {
    box-shadow: var(--shadow-md);
}

.usk-tool .usk-info-card h3 {
    font-size    : 14px;
    font-weight  : 700;
    color        : var(--clr-navy);
    margin       : 0 0 8px;
}

.usk-tool .usk-info-card p {
    font-size  : 13px;
    color      : var(--clr-text-muted);
    line-height: 1.6;
    margin     : 0;
}

.usk-tool .usk-inline-link {
    color          : var(--clr-primary);
    text-decoration: underline;
    font-weight    : 500;
}

.usk-tool .usk-inline-link:hover {
    color: var(--clr-primary-hover);
}

/* ═══════════════════════════════════════════════════════════════════════════
   REAL EXAMPLES
   ═══════════════════════════════════════════════════════════════════════════ */

.usk-tool .usk-examples {
    margin-bottom: 40px;
}

.usk-tool .usk-examples-intro {
    font-size    : 13px;
    color        : var(--clr-text-muted);
    margin-bottom: 20px;
    line-height  : 1.5;
}

.usk-tool .usk-examples-grid {
    display              : grid;
    grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
    gap                  : 16px;
}

.usk-tool .usk-example-card {
    background   : var(--clr-card-bg);
    border       : 1px solid var(--clr-border);
    border-radius: var(--radius-lg);
    overflow     : hidden;
    box-shadow   : var(--shadow-sm);
    transition   : box-shadow var(--transition), transform var(--transition);
}

.usk-tool .usk-example-card:hover {
    box-shadow: var(--shadow-md);
    transform : translateY(-2px);
}

.usk-tool .usk-example-header {
    background : var(--clr-primary);
    padding    : 14px 16px;
    display    : flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap  : wrap;
    gap        : 6px;
}

.usk-tool .usk-example-role {
    font-size  : 13px;
    font-weight: 700;
    color      : #ffffff;
}

.usk-tool .usk-example-location {
    font-size    : 11px;
    font-weight  : 500;
    color        : #BFDBFE;
    background   : rgba(255,255,255,0.12);
    border-radius: 999px;
    padding      : 2px 10px;
}

.usk-tool .usk-example-body {
    padding: 14px 16px;
}

.usk-tool .usk-example-row {
    display        : flex;
    justify-content: space-between;
    align-items    : center;
    padding        : 6px 0;
    border-bottom  : 1px solid var(--clr-border);
    font-size      : 12.5px;
    gap            : 10px;
}

.usk-tool .usk-example-row:last-child {
    border-bottom: none;
}

.usk-tool .usk-example-row span {
    color: var(--clr-text-muted);
}

.usk-tool .usk-example-row strong {
    font-weight: 700;
    color      : var(--clr-navy);
}

.usk-tool .usk-example-highlight {
    background   : var(--clr-net-bg) !important;
    margin-top   : 6px;
    border-radius: var(--radius-sm);
    padding      : 8px !important;
}

.usk-tool .usk-example-highlight span {
    font-weight: 700 !important;
    color      : var(--clr-net) !important;
}

.usk-tool .usk-example-highlight strong {
    color    : var(--clr-net) !important;
    font-size: 14px;
}

.usk-tool .usk-example-note {
    font-size    : 11.5px;
    color        : var(--clr-text-muted);
    padding      : 10px 16px 14px;
    margin       : 0;
    border-top   : 1px dashed var(--clr-border);
    line-height  : 1.45;
}

/* ═══════════════════════════════════════════════════════════════════════════
   FAQ
   ═══════════════════════════════════════════════════════════════════════════ */

.usk-tool .usk-faq {
    margin-bottom: 40px;
}

.usk-tool .usk-faq-list {
    display      : flex;
    flex-direction: column;
    gap          : 8px;
}

.usk-tool .usk-faq-item {
    background   : var(--clr-card-bg);
    border       : 1px solid var(--clr-border);
    border-radius: var(--radius-md);
    overflow     : hidden;
    box-shadow   : var(--shadow-sm);
}

.usk-tool .usk-faq-question {
    display        : flex;
    justify-content: space-between;
    align-items    : center;
    gap            : 16px;
    width          : 100%;
    padding        : 16px 20px;
    font-size      : 14px;
    font-weight    : 600;
    color          : var(--clr-navy);
    background     : transparent;
    border         : none;
    text-align     : left;
    cursor         : pointer;
    transition     : background var(--transition), color var(--transition);
    font-family    : var(--font-base);
    line-height    : 1.4;
    min-height     : 52px;
}

.usk-tool .usk-faq-question:hover {
    background: var(--clr-bg);
    color     : var(--clr-primary);
}

.usk-tool .usk-faq-question[aria-expanded="true"] {
    background  : var(--clr-highlight-bg);
    color       : var(--clr-primary);
    border-bottom: 1px solid #BFDBFE;
}

.usk-tool .usk-faq-icon {
    font-size  : 20px;
    font-weight: 400;
    flex-shrink: 0;
    color      : var(--clr-primary);
    line-height: 1;
    transition : transform var(--transition);
}

.usk-tool .usk-faq-answer {
    padding   : 14px 20px 18px;
    font-size : 13.5px;
    color     : var(--clr-text-muted);
    line-height: 1.65;
}

.usk-tool .usk-faq-answer p {
    margin: 0;
}

/* ═══════════════════════════════════════════════════════════════════════════
   DATA SOURCES
   ═══════════════════════════════════════════════════════════════════════════ */

.usk-tool .usk-sources {
    background   : var(--clr-card-bg);
    border       : 1px solid var(--clr-border);
    border-radius: var(--radius-lg);
    padding      : 24px 24px 20px;
    margin-bottom: 24px;
    box-shadow   : var(--shadow-sm);
}

.usk-tool .usk-sources-list {
    margin       : 12px 0 14px;
    padding-left : 20px;
    display      : flex;
    flex-direction: column;
    gap          : 8px;
}

.usk-tool .usk-sources-list li {
    font-size  : 13px;
    color      : var(--clr-text-muted);
    line-height: 1.55;
}

.usk-tool .usk-sources-list strong {
    color      : var(--clr-navy);
    font-weight: 600;
}

.usk-tool .usk-sources-note {
    font-size    : 12px;
    color        : var(--clr-text-light);
    border-top   : 1px solid var(--clr-border);
    padding-top  : 12px;
    margin-bottom: 0;
    line-height  : 1.5;
}

/* ═══════════════════════════════════════════════════════════════════════════
   PRIVACY
   ═══════════════════════════════════════════════════════════════════════════ */

.usk-tool .usk-privacy {
    margin-bottom: 24px;
}

.usk-tool .usk-privacy-inner {
    display      : flex;
    align-items  : flex-start;
    gap          : 16px;
    background   : #F0FDF4;
    border       : 1px solid #BBF7D0;
    border-left  : 4px solid var(--clr-success);
    border-radius: var(--radius-md);
    padding      : 18px 20px;
}

.usk-tool .usk-privacy-icon {
    font-size  : 24px;
    line-height: 1;
    flex-shrink: 0;
    margin-top : 2px;
}

.usk-tool .usk-privacy-content strong {
    display    : block;
    font-size  : 13.5px;
    font-weight: 700;
    color      : #065F46;
    margin-bottom: 4px;
}

.usk-tool .usk-privacy-content p {
    font-size  : 12.5px;
    color      : #047857;
    line-height: 1.55;
    margin     : 0;
}

/* ═══════════════════════════════════════════════════════════════════════════
   TRUST / DEVELOPER SECTION
   ═══════════════════════════════════════════════════════════════════════════ */

.usk-tool .usk-trust {
    margin-bottom: 40px;
}

.usk-tool .usk-trust-card {
    display      : flex;
    align-items  : flex-start;
    gap          : 18px;
    background   : var(--clr-card-bg);
    border       : 1px solid var(--clr-border);
    border-top   : 4px solid var(--clr-primary);
    border-radius: var(--radius-lg);
    padding      : 24px;
    box-shadow   : var(--shadow-sm);
    flex-wrap    : wrap;
}

.usk-tool .usk-trust-avatar {
    flex-shrink: 0;
    position   : relative;
}

.usk-tool .usk-trust-avatar img {
    width        : 60px;
    height       : 60px;
    border-radius: 50%;
    object-fit   : cover;
    border       : 2px solid var(--clr-primary);
    display      : block;
}

.usk-tool .usk-trust-initials {
    display         : none;
    width           : 60px;
    height          : 60px;
    border-radius   : 50%;
    background      : var(--clr-primary);
    color           : white;
    font-size       : 20px;
    font-weight     : 800;
    align-items     : center;
    justify-content : center;
}

.usk-tool .usk-trust-info {
    flex: 1;
    min-width: 200px;
}

.usk-tool .usk-trust-byline {
    font-size    : 11px;
    font-weight  : 600;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color        : var(--clr-text-muted);
    margin-bottom: 4px;
}

.usk-tool .usk-trust-name {
    font-size    : 17px;
    font-weight  : 800;
    color        : var(--clr-navy);
    margin-bottom: 8px;
}

.usk-tool .usk-trust-link {
    color          : var(--clr-primary);
    text-decoration: none;
    display        : inline-flex;
    align-items    : center;
    gap            : 6px;
}

.usk-tool .usk-trust-link:hover {
    text-decoration: underline;
    color          : var(--clr-primary-hover);
}

.usk-tool .usk-trust-linkedin-icon {
    font-size: 14px;
}

.usk-tool .usk-trust-statement {
    font-size    : 13px;
    color        : var(--clr-text-muted);
    line-height  : 1.6;
    margin       : 0 0 10px;
}

.usk-tool .usk-trust-meta {
    display  : flex;
    flex-wrap: wrap;
    gap      : 6px 12px;
    font-size: 11.5px;
    color    : var(--clr-text-light);
}

.usk-tool .usk-trust-divider {
    color: var(--clr-border);
}

/* ═══════════════════════════════════════════════════════════════════════════
   RELATED TOOLS
   ═══════════════════════════════════════════════════════════════════════════ */

.usk-tool .usk-related-tools {
    margin-bottom: 40px;
}

.usk-tool .usk-related-grid {
    display              : grid;
    grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
    gap                  : 12px;
}

.usk-tool .usk-related-card {
    display       : flex;
    flex-direction: column;
    gap           : 6px;
    background    : var(--clr-card-bg);
    border        : 1px solid var(--clr-border);
    border-radius : var(--radius-md);
    padding       : 16px 18px;
    text-decoration: none;
    color         : inherit;
    box-shadow    : var(--shadow-sm);
    transition    : box-shadow var(--transition), transform var(--transition), border-color var(--transition);
}

.usk-tool .usk-related-card:hover {
    box-shadow  : var(--shadow-md);
    transform   : translateY(-2px);
    border-color: var(--clr-primary);
}

.usk-tool .usk-related-icon {
    font-size  : 22px;
    line-height: 1;
}

.usk-tool .usk-related-name {
    font-size  : 13px;
    font-weight: 700;
    color      : var(--clr-navy);
    line-height: 1.3;
}

.usk-tool .usk-related-desc {
    font-size  : 12px;
    color      : var(--clr-text-muted);
    line-height: 1.45;
}

/* ═══════════════════════════════════════════════════════════════════════════
   INLINE LINKS (in content paragraphs)
   ═══════════════════════════════════════════════════════════════════════════ */

.usk-tool a.usk-inline-link {
    color          : var(--clr-primary);
    text-decoration: underline;
    font-weight    : 500;
    transition     : color var(--transition);
}

.usk-tool a.usk-inline-link:hover {
    color: var(--clr-primary-hover);
}

/* ═══════════════════════════════════════════════════════════════════════════
   RESPONSIVE — TABLET (max-width: 768px)
   ═══════════════════════════════════════════════════════════════════════════ */

@media (max-width: 768px) {

    .usk-tool {
        padding: 0 12px 40px;
    }

    .usk-tool .usk-hero {
        padding      : 32px 22px 30px;
        border-radius: var(--radius-lg);
    }

    .usk-tool .usk-hero-headline {
        font-size: clamp(20px, 6vw, 28px);
    }

    .usk-tool .usk-hero-sub {
        font-size: 13.5px;
    }

    .usk-tool .usk-hero-stats {
        gap: 8px;
    }

    .usk-tool .usk-hero-stat {
        padding  : 10px 14px;
        min-width: 70px;
    }

    .usk-tool .usk-stat-number {
        font-size: 17px;
    }

    .usk-tool .usk-calculator-section {
        padding      : 22px 18px 20px;
        border-radius: var(--radius-lg);
    }

    .usk-tool .usk-form-row {
        grid-template-columns: 1fr;
        gap                  : 16px;
    }

    .usk-tool .usk-result-highlight {
        padding: 26px 20px;
    }

    .usk-tool .usk-result-highlight-value {
        font-size: clamp(32px, 10vw, 48px);
    }

    .usk-tool .usk-summary-grid {
        grid-template-columns: repeat(2, 1fr);
        gap                  : 10px;
    }

    .usk-tool .usk-summary-value {
        font-size: 16px;
    }

    .usk-tool .usk-facts-grid,
    .usk-tool .usk-audience-grid,
    .usk-tool .usk-steps-grid,
    .usk-tool .usk-info-grid,
    .usk-tool .usk-examples-grid,
    .usk-tool .usk-insights-grid,
    .usk-tool .usk-related-grid {
        grid-template-columns: 1fr;
    }

    .usk-tool .usk-formula-line {
        flex-direction: column;
        gap           : 4px;
    }

    .usk-tool .usk-formula-line strong {
        min-width: unset;
    }

    .usk-tool .usk-results-actions {
        flex-direction: column;
        align-items   : stretch;
    }

    .usk-tool .usk-btn-secondary {
        justify-content: center;
        width          : 100%;
    }

    .usk-tool .usk-btn-primary {
        max-width: 100%;
    }

    .usk-tool .usk-trust-card {
        padding: 18px;
        gap    : 14px;
    }

    .usk-tool .usk-col-hide-mobile {
        display: none !important;
    }

    .usk-tool .usk-table th,
    .usk-tool .usk-table td {
        padding  : 9px 10px;
        font-size: 12.5px;
    }

    .usk-tool .usk-breakdown-section {
        padding: 16px;
    }

    .usk-tool .usk-faq-question {
        font-size : 13px;
        padding   : 14px 16px;
        min-height: 48px;
    }

    .usk-tool .usk-formula-box {
        padding: 20px 18px;
    }
}

/* ═══════════════════════════════════════════════════════════════════════════
   RESPONSIVE — MOBILE (max-width: 480px)
   ═══════════════════════════════════════════════════════════════════════════ */

@media (max-width: 480px) {

    .usk-tool .usk-hero {
        padding: 24px 16px 22px;
    }

    .usk-tool .usk-hero-headline {
        font-size: 20px;
    }

    .usk-tool .usk-hero-stats {
        display              : grid;
        grid-template-columns: repeat(2, 1fr);
    }

    .usk-tool .usk-calculator-section {
        padding: 18px 14px;
    }

    .usk-tool .usk-result-highlight {
        padding: 22px 16px;
    }

    .usk-tool .usk-result-highlight-value {
        font-size: 34px;
    }

    .usk-tool .usk-result-highlight-sub {
        font-size: 11.5px;
    }

    .usk-tool .usk-summary-grid {
        grid-template-columns: repeat(2, 1fr);
        gap                  : 8px;
    }

    .usk-tool .usk-summary-card {
        padding: 12px 10px 10px;
    }

    .usk-tool .usk-summary-label {
        font-size: 10px;
    }

    .usk-tool .usk-summary-value {
        font-size: 14px;
    }

    .usk-tool .usk-input,
    .usk-tool .usk-select {
        height   : 48px !important;
        font-size: 15px !important;
    }

    .usk-tool .usk-btn-primary {
        height   : 52px;
        font-size: 15px;
    }

    .usk-tool .usk-table {
        font-size: 12px;
        min-width: 280px;
    }

    .usk-tool .usk-table th,
    .usk-tool .usk-table td {
        padding: 8px 8px;
    }

    .usk-tool .usk-example-card {
        border-radius: var(--radius-md);
    }

    .usk-tool .usk-trust-avatar img,
    .usk-tool .usk-trust-initials {
        width : 48px;
        height: 48px;
    }

    .usk-tool .usk-related-grid {
        grid-template-columns: repeat(2, 1fr);
        gap                  : 8px;
    }

    .usk-tool .usk-related-card {
        padding: 12px 12px;
    }

    .usk-tool .usk-related-icon {
        font-size: 18px;
    }

    .usk-tool .usk-related-name {
        font-size: 12px;
    }

    .usk-tool .usk-related-desc {
        display: none;
    }
}

/* ═══════════════════════════════════════════════════════════════════════════
   PRINT STYLES
   ═══════════════════════════════════════════════════════════════════════════ */

@media print {

    .usk-tool .usk-calculator-section,
    .usk-tool .usk-hero,
    .usk-tool .usk-key-facts,
    .usk-tool .usk-audience,
    .usk-tool .usk-results-actions,
    .usk-tool .usk-related-tools,
    .usk-tool .usk-faq,
    .usk-tool .usk-chart-section,
    .usk-tool .usk-how-it-works {
        display: none !important;
    }

    .usk-tool .usk-results-wrapper {
        display: block !important;
    }

    .usk-tool .usk-result-highlight {
        background  : #ffffff !important;
        border      : 2px solid #1D4ED8 !important;
        color       : #1D4ED8 !important;
        box-shadow  : none !important;
        border-radius: 8px;
    }

    .usk-tool .usk-result-highlight-value {
        color    : #1D4ED8 !important;
        font-size: 36px !important;
    }

    .usk-tool .usk-result-highlight-label,
    .usk-tool .usk-result-highlight-sub {
        color: #1D4ED8 !important;
    }

    .usk-tool .usk-table {
        font-size: 11px;
    }

    .usk-tool .usk-table th,
    .usk-tool .usk-table td {
        padding: 6px 8px;
    }

    .usk-tool .usk-sources,
    .usk-tool .usk-privacy,
    .usk-tool .usk-trust {
        break-inside: avoid;
    }

    .usk-tool * {
        box-shadow: none !important;
    }

    .usk-tool .usk-col-hide-mobile {
        display: table-cell !important;
    }
}

/* ═══════════════════════════════════════════════════════════════════════════
   FOCUS STYLES — ACCESSIBILITY
   ═══════════════════════════════════════════════════════════════════════════ */

.usk-tool .usk-input:focus-visible,
.usk-tool .usk-select:focus-visible,
.usk-tool .usk-btn-primary:focus-visible,
.usk-tool .usk-btn-secondary:focus-visible,
.usk-tool .usk-faq-question:focus-visible,
.usk-tool .usk-related-card:focus-visible {
    outline       : 3px solid var(--clr-primary);
    outline-offset: 3px;
}

/* ═══════════════════════════════════════════════════════════════════════════
   REDUCED MOTION
   ═══════════════════════════════════════════════════════════════════════════ */

@media (prefers-reduced-motion: reduce) {
    .usk-tool *,
    .usk-tool *::before,
    .usk-tool *::after {
        animation-duration  : 0.01ms !important;
        transition-duration : 0.01ms !important;
    }
}