        body { font-family: 'Segoe UI', Roboto, Helvetica, Arial, sans-serif; background-color: #f8fafc; color: #1e293b; }
        .timeline-item { transition: all 0.2s ease; }
        
        /* Hide scrollbar for mobile carousel */
        .scrollbar-hide::-webkit-scrollbar { display: none; }
        .scrollbar-hide { -ms-overflow-style: none; scrollbar-width: none; }
        
        .kpi-card { transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1); cursor: pointer; outline: none; }
        .kpi-card:hover, .kpi-card:focus-visible { transform: translateY(-5px); box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 8px 10px -6px rgba(0, 0, 0, 0.1); }
        
        .modal-overlay { position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: rgba(15, 23, 42, 0.8); display: none; justify-content: center; align-items: center; z-index: 100; backdrop-filter: blur(4px); }
        .modal-content { background: white; padding: 0; border-radius: 1rem; max-width: 900px; width: 90%; max-height: 90vh; overflow: hidden; display: flex; flex-direction: column; }
        .modal-body { padding: 2rem; overflow-y: auto; flex-grow: 1; }
        .focus-ring:focus-visible { outline: 3px solid #60a5fa; outline-offset: 3px; }
        
        .animate-fade-in { animation: fadeIn 0.4s ease-out forwards; }
        @keyframes fadeIn {
            from { opacity: 0; transform: translateY(5px); }
            to { opacity: 1; transform: translateY(0); }
        }

        /* AI Result Formatting - Force bolded Blue 900 for all headers */
        .ai-result h1, .ai-result h2, .ai-result h3, .ai-result h4 { 
            font-weight: 800 !important; 
            color: #1e3a8a !important; 
            margin-top: 1.5rem; 
            margin-bottom: 0.75rem; 
            border-bottom: 2px solid #f1f5f9; 
            padding-bottom: 0.25rem; 
        }
        .ai-result p { margin-bottom: 1rem; line-height: 1.6; color: #1e293b; }
        .ai-result strong { font-weight: 700; color: #1e3a8a; }
        .ai-result ul { list-style-type: disc; padding-left: 1.5rem; margin-bottom: 1.25rem; border-left: none !important; }
        .ai-result li { margin-bottom: 0.5rem; border-left: none !important; }
        .ai-result blockquote { border-left: none !important; padding-left: 0 !important; margin: 0 !important; border: none !important; }
        
        .score-badge {
            display: inline-block;
            padding: 0.5rem 1.25rem;
            border-radius: 9999px;
            font-weight: 800;
            font-size: 1.1rem;
            letter-spacing: -0.025em;
            border: 2px solid; 
            box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1);
            margin-bottom: 1.5rem;
        }

        @media print {
            @page { margin: 0.75in; }
            body * { visibility: hidden !important; }
            #aiModal, #aiModal *, #aiOutputArea, #aiOutputArea * { visibility: visible !important; }
            #aiModal { position: static !important; display: block !important; background: white !important; backdrop-filter: none !important; }
            #aiModal .modal-content { width: 100% !important; max-width: none !important; max-height: none !important; box-shadow: none !important; border: 0 !important; border-top: none !important; border-radius: 0 !important; }
            #aiModal .modal-body { overflow: visible !important; padding: 0 !important; }
            #aiModal .bg-blue-900, button[aria-label="Close modal"], #ai-result-actions, #ai-cta-block, #aiInputArea, #main-nav, nav, header, #chatWidget { display: none !important; visibility: hidden !important; }
            #aiOutputArea { display: block !important; font-size: 11pt; }
            .score-badge { border: 2px solid !important; -webkit-print-color-adjust: exact; print-color-adjust: exact; }
            .ai-result h2 { page-break-after: avoid; break-after: avoid; }
            .ai-result p, .ai-result li { orphans: 2; widows: 2; }
        }
        
        .section-header-accent {
            background-color: #1e3a8a;
            color: white;
            padding: 0.75rem 1.5rem;
            border-radius: 0.5rem 0.5rem 0 0;
            display: inline-block;
            font-weight: 700;
        }

        .skip-link { position: absolute; left: -999px; top: 10px; background: #1e3a8a; color: white; padding: 8px 12px; border-radius: 8px; z-index: 100; font-size: 13px; font-weight: 700; text-decoration: none; }
        .skip-link:focus { left: 14px; }

        /* Prevent iOS auto-zoom on input focus */
        @media (max-width: 767px) {
            body > .bg-blue-950 {
                padding-bottom: max(0px, calc(100vh - 41rem));
                padding-bottom: max(0px, calc(100svh - 41rem));
            }
        }

        @media (max-width: 768px) {
            #jdInput, #jdUrlInput, textarea, input {
                font-size: 16px !important;
            }
            .modal-content { width: 94%; max-height: 92vh; }
            .modal-body { padding: 1.25rem; }
        }

/* Ask Rajiv Chat Widget */
        #chatWidget{position:fixed;bottom:24px;right:24px;z-index:9000;font-family:'Segoe UI',system-ui,sans-serif}
        #chatToggleBtn{width:56px;height:56px;border-radius:50%;background:#1e3a8a;border:2px solid rgba(255,255,255,.25);cursor:pointer;color:#fff;display:flex;align-items:center;justify-content:center;box-shadow:0 6px 24px rgba(30,58,138,.5),0 0 0 4px rgba(255,255,255,.12);transition:transform .15s,background .15s,box-shadow .15s;margin-left:auto;animation:chatPulse 3s 2s ease-out 2}
        @keyframes chatPulse{0%,100%{box-shadow:0 6px 24px rgba(30,58,138,.5),0 0 0 4px rgba(255,255,255,.12)}50%{box-shadow:0 6px 24px rgba(30,58,138,.5),0 0 0 8px rgba(96,165,250,.25)}}
        #chatToggleBtn:hover{background:#1d4ed8;transform:scale(1.07);box-shadow:0 8px 28px rgba(30,58,138,.55),0 0 0 4px rgba(255,255,255,.18)}
        #chatToggleBtn:focus-visible{outline:3px solid #60a5fa;outline-offset:3px}
        #chatPanel{position:absolute;bottom:68px;right:0;width:340px;max-height:500px;background:#fff;border-radius:16px;box-shadow:0 20px 60px rgba(15,23,42,.22);display:flex;flex-direction:column;overflow:hidden;transform-origin:bottom right}
        .chat-panel-hidden{opacity:0;pointer-events:none;transform:scale(.94) translateY(10px);transition:opacity .18s,transform .18s}
        .chat-panel-visible{opacity:1;pointer-events:all;transform:scale(1) translateY(0);transition:opacity .18s,transform .18s}
        #chatHeader{background:#0f172a;color:#fff;padding:14px 16px;display:flex;align-items:center;gap:10px;flex-shrink:0}
        .chat-avatar{width:36px;height:36px;border-radius:50%;background:#1e3a8a;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:15px;color:#fff;flex-shrink:0;border:2px solid #2563eb}
        .chat-header-info{flex:1;min-width:0}
        .chat-name{font-weight:700;font-size:13px;line-height:1.2}
        .chat-sub{font-size:10.5px;color:#94a3b8;font-weight:400;margin-top:1px}
        #chatCloseBtn{background:none;border:none;color:#94a3b8;cursor:pointer;padding:4px;border-radius:6px;line-height:1;flex-shrink:0;transition:color .12s}
        #chatCloseBtn:hover{color:#fff}
        #chatMessages{flex:1;overflow-y:auto;padding:14px 12px;display:flex;flex-direction:column;gap:10px;scroll-behavior:smooth;min-height:120px}
        .chat-msg{display:flex;max-width:100%}
        .chat-msg-user{justify-content:flex-end}
        .chat-msg-assistant{justify-content:flex-start}
        .chat-bubble{max-width:82%;padding:9px 13px;border-radius:14px;font-size:13px;line-height:1.5;word-break:break-word}
        .chat-msg-user .chat-bubble{background:#1e3a8a;color:#fff;border-bottom-right-radius:4px}
        .chat-msg-assistant .chat-bubble{background:#f1f5f9;color:#1e293b;border-bottom-left-radius:4px}
        .chat-typing{display:flex;align-items:center;gap:4px;padding:11px 14px}
        .chat-typing span{width:6px;height:6px;border-radius:50%;background:#94a3b8;display:inline-block;animation:chatDot 1.2s infinite}
        .chat-typing span:nth-child(2){animation-delay:.2s}
        .chat-typing span:nth-child(3){animation-delay:.4s}
        @keyframes chatDot{0%,60%,100%{transform:translateY(0);opacity:.5}30%{transform:translateY(-5px);opacity:1}}
        #chatInputArea{border-top:1px solid #e2e8f0;padding:10px 12px;display:flex;gap:8px;align-items:center;flex-shrink:0;background:#fff}
        #chatInput{flex:1;border:1px solid #e2e8f0;border-radius:10px;padding:8px 12px;font-size:13px;font-family:inherit;outline:none;transition:border-color .15s;background:#f8fafc;color:#1e293b}
        #chatInput:focus{border-color:#2563eb;background:#fff}
        #chatInput:disabled{opacity:.5}
        #chatSendBtn{background:#1e3a8a;color:#fff;border:none;border-radius:10px;width:36px;height:36px;display:flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0;transition:background .12s}
        #chatSendBtn:hover:not(:disabled){background:#1d4ed8}
        #chatSendBtn:disabled{opacity:.5;cursor:default}
        @media(max-width:400px){#chatPanel{width:calc(100vw - 32px);right:0}}
        @media(prefers-reduced-motion:reduce){.chat-panel-hidden,.chat-panel-visible{transition:none}.chat-typing span{animation:none;opacity:.6}}

/* Sub-page hero: reserve consistent vertical space for the description so Expertise/Experience/Journey heroes match in height on desktop */
@media (min-width: 768px) {
  .subhero-note { min-height: 6.75rem; }
}
