* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

:root {
    /* Silverside Home Buyers palette v2 (Sept 26, 2026), modeled on nextjourneyhomes.com: bright blue, orange CTA, navy, white */
    --primary: #04406f;        /* navy: footer, stats bar, dark headings */
    --secondary: #0974c8;      /* bright blue: links, nav button, step numbers, outlines */
    --accent: #d04a00;         /* orange CTA (NJH #ef5f00, darkened to pass 4.5:1 with white text) */
    --accent-light: #ffd166;   /* warm yellow for numbers on navy */
    --success: #1f8f0a;        /* green for check marks and the offer pill */
    --background: #ffffff;
    --surface: #f8f9fa;
    --text: #1f2d3d;
    --text-light: #566573;
    --border: #e6ebf0;
    --silver: #7d8da0;
    --font-display: 'DM Sans', -apple-system, sans-serif;
    --font-body: 'DM Sans', -apple-system, sans-serif;
    --space-xs: 0.5rem;
    --space-sm: 1rem;
    --space-md: 2rem;
    --space-lg: 4rem;
    --space-xl: 6rem;
    --shadow-sm: 0 2px 8px rgba(4,64,111,0.06);
    --shadow-md: 0 4px 16px rgba(4,64,111,0.10);
    --shadow-lg: 0 8px 32px rgba(4,64,111,0.14);
}

body {
    font-family: var(--font-body);
    line-height: 1.7;
    color: var(--text);
    background: var(--background);
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

/* Typography */
h1, h2, h3, h4 {
    font-family: var(--font-display);
    font-weight: 700;
    line-height: 1.2;
    color: var(--primary);
}

h1 { font-size: clamp(2.5rem, 5vw, 4rem); margin-bottom: 1.5rem; }
h2 { font-size: clamp(2rem, 4vw, 3rem); margin-bottom: 1rem; }
h3 { font-size: clamp(1.5rem, 3vw, 2rem); margin-bottom: 0.75rem; }
h4 { font-size: 1.25rem; margin-bottom: 0.5rem; }

p {
    font-size: 1.125rem;
    color: var(--text-light);
    max-width: 65ch;
}

/* Container */
.container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 var(--space-md);
}

.container-wide {
    max-width: 1400px;
    margin: 0 auto;
    padding: 0 var(--space-md);
}

/* Header */
header {
    background: var(--background);
    border-bottom: 1px solid var(--border);
    position: sticky;
    top: 0;
    z-index: 1000;
    backdrop-filter: blur(10px);
    background: rgba(255, 255, 255, 0.95);
}

nav {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 1.5rem 0;
}

.logo {
    font-family: var(--font-display);
    font-size: 1.5rem;
    font-weight: 700;
    color: var(--primary);
    letter-spacing: -0.02em;
}

.nav-links {
    display: flex;
    gap: 2rem;
    align-items: center;
}

.nav-links a {
    color: var(--text);
    text-decoration: none;
    font-weight: 500;
    font-size: 0.95rem;
    transition: color 0.3s;
}

.nav-links a:hover {
    color: var(--accent);
}

.btn {
    display: inline-block;
    padding: 0.875rem 2rem;
    border-radius: 8px;
    font-weight: 600;
    font-size: 1rem;
    text-decoration: none;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    cursor: pointer;
    border: none;
    font-family: var(--font-body);
}

.btn-primary {
    background: var(--accent);
    color: white;
}

.btn-primary:hover {
    background: #b84100;
    transform: translateY(-2px);
    box-shadow: var(--shadow-md);
}

.btn-secondary {
    background: transparent;
    color: white;
    border: 2px solid white;
}

.btn-secondary:hover {
    background: white;
    color: var(--primary);
}

.btn-large {
    padding: 1.25rem 3rem;
    font-size: 1.125rem;
}

/* Hero Section */
.hero {
    padding: var(--space-xl) 0;
    background: linear-gradient(135deg, #f8f9fa 0%, #ffffff 100%);
    position: relative;
    overflow: hidden;
}

.hero::before {
    content: '';
    position: absolute;
    top: -50%;
    right: -10%;
    width: 800px;
    height: 800px;
    background: radial-gradient(circle, rgba(9,116,200,0.06) 0%, transparent 70%);
    border-radius: 50%;
}

.hero-content {
    position: relative;
    z-index: 1;
    max-width: 800px;
    text-align: center;
    margin: 0 auto;
}

.hero h1 {
    margin-bottom: 1.5rem;
    animation: fadeInUp 0.8s ease-out;
}

.hero p {
    font-size: 1.375rem;
    margin: 0 auto 2.5rem;
    color: var(--text-light);
    animation: fadeInUp 0.8s ease-out 0.1s backwards;
}

.hero-cta {
    display: flex;
    gap: 1rem;
    justify-content: center;
    flex-wrap: wrap;
    animation: fadeInUp 0.8s ease-out 0.2s backwards;
}

@keyframes fadeInUp {
    from {
        opacity: 0;
        transform: translateY(30px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.trust-bar {
    display: flex;
    justify-content: center;
    gap: 3rem;
    margin-top: 4rem;
    flex-wrap: wrap;
    animation: fadeInUp 0.8s ease-out 0.3s backwards;
}

.trust-item {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    color: var(--text-light);
    font-size: 0.95rem;
}

.trust-icon {
    width: 24px;
    height: 24px;
    color: var(--success);
}

/* Stats Bar */
.stats {
    background: var(--primary);
    color: white;
    padding: var(--space-lg) 0;
}

.stats-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: var(--space-lg);
    text-align: center;
}

.stat-item h3 {
    color: var(--accent-light);
    font-size: 3rem;
    margin-bottom: 0.5rem;
}

.stat-item p {
    color: rgba(255,255,255,0.9);
    font-size: 1rem;
}

/* Promise Section */
.promise {
    padding: var(--space-xl) 0;
    background: var(--background);
}

.section-header {
    text-align: center;
    max-width: 700px;
    margin: 0 auto 4rem;
}

.section-header h2 {
    margin-bottom: 1rem;
}

.promise-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 3rem;
}

.promise-card {
    text-align: center;
    padding: 2rem;
    border-radius: 16px;
    background: var(--surface);
    transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}

.promise-card:hover {
    transform: translateY(-8px);
    box-shadow: var(--shadow-lg);
}

.promise-icon {
    width: 80px;
    height: 80px;
    margin: 0 auto 1.5rem;
    background: white;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: var(--shadow-sm);
}

.promise-icon svg {
    width: 40px;
    height: 40px;
    color: var(--accent);
}

.promise-card h3 {
    margin-bottom: 1rem;
    color: var(--primary);
}

.promise-card p {
    color: var(--text-light);
    margin: 0 auto;
}

/* How It Works */
.how-it-works {
    padding: var(--space-xl) 0;
    background: var(--surface);
}

.steps-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 2rem;
    margin-top: 4rem;
}

.step {
    position: relative;
    padding: 2rem;
    background: white;
    border-radius: 12px;
    box-shadow: var(--shadow-sm);
}

.step-number {
    position: absolute;
    top: -1.5rem;
    left: 2rem;
    width: 3rem;
    height: 3rem;
    background: var(--accent);
    color: white;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 700;
    font-size: 1.5rem;
    box-shadow: var(--shadow-md);
}

.step h3 {
    margin-top: 1.5rem;
    margin-bottom: 1rem;
}

.step p {
    color: var(--text-light);
}

/* Testimonials */
.testimonials {
    padding: var(--space-xl) 0;
    background: white;
}

.testimonial-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
    gap: 2rem;
    margin-top: 4rem;
}

.testimonial {
    padding: 2.5rem;
    background: var(--surface);
    border-radius: 16px;
    border-left: 4px solid var(--accent);
    transition: transform 0.3s;
}

.testimonial:hover {
    transform: scale(1.02);
}

.stars {
    color: var(--accent-light);
    font-size: 1.25rem;
    margin-bottom: 1rem;
}

.testimonial-text {
    font-size: 1.125rem;
    line-height: 1.8;
    color: var(--text);
    margin-bottom: 1.5rem;
    font-style: italic;
}

.testimonial-author {
    display: flex;
    align-items: center;
    gap: 1rem;
}

.author-avatar {
    width: 60px;
    height: 60px;
    border-radius: 50%;
    background: linear-gradient(135deg, var(--accent) 0%, var(--accent-light) 100%);
    display: flex;
    align-items: center;
    justify-content: center;
    color: white;
    font-weight: 700;
    font-size: 1.25rem;
}

.author-info strong {
    display: block;
    color: var(--primary);
    font-weight: 600;
}

.author-info small {
    color: var(--text-light);
    font-size: 0.95rem;
}

/* CTA Section */
.cta-section {
    padding: var(--space-xl) 0;
    background: linear-gradient(135deg, var(--primary) 0%, var(--secondary) 100%);
    color: white;
    text-align: center;
}

.cta-section h2 {
    color: white;
    margin-bottom: 1.5rem;
}

.cta-section p {
    color: rgba(255,255,255,0.9);
    font-size: 1.25rem;
    margin: 0 auto 2.5rem;
}

.cta-buttons {
    display: flex;
    gap: 1rem;
    justify-content: center;
    flex-wrap: wrap;
}

.btn-white {
    background: white;
    color: var(--primary);
}

.btn-white:hover {
    background: var(--surface);
    transform: translateY(-2px);
}

/* Footer */
footer {
    background: var(--primary);
    color: white;
    padding: var(--space-lg) 0 var(--space-md);
}

.footer-content {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: 3rem;
    margin-bottom: 3rem;
}

.footer-section h4 {
    color: white;
    margin-bottom: 1.5rem;
    font-size: 1.125rem;
}

.footer-links {
    list-style: none;
}

.footer-links li {
    margin-bottom: 0.75rem;
}

.footer-links a {
    color: rgba(255,255,255,0.8);
    text-decoration: none;
    transition: color 0.3s;
    font-size: 0.95rem;
}

.footer-links a:hover {
    color: white;
}

.footer-bottom {
    border-top: 1px solid rgba(255,255,255,0.1);
    padding-top: 2rem;
    text-align: center;
    color: rgba(255,255,255,0.7);
    font-size: 0.9rem;
}

/* Lead Form Modal */
.modal {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0,0,0,0.6);
    backdrop-filter: blur(4px);
    z-index: 2000;
    align-items: center;
    justify-content: center;
    padding: var(--space-md);
}

.modal.active {
    display: flex;
    animation: fadeIn 0.3s;
}

@keyframes fadeIn {
    from { opacity: 0; }
    to { opacity: 1; }
}

.modal-content {
    background: white;
    padding: 3rem;
    border-radius: 20px;
    max-width: 600px;
    width: 100%;
    position: relative;
    animation: slideUp 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}

@keyframes slideUp {
    from {
        opacity: 0;
        transform: translateY(30px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.modal-close {
    position: absolute;
    top: 1.5rem;
    right: 1.5rem;
    background: none;
    border: none;
    font-size: 2rem;
    cursor: pointer;
    color: var(--text-light);
    transition: color 0.3s;
}

.modal-close:hover {
    color: var(--primary);
}

.form-header {
    text-align: center;
    margin-bottom: 2rem;
}

.form-header h3 {
    margin-bottom: 0.5rem;
}

.form-header p {
    color: var(--text-light);
    margin: 0 auto;
}

.form-group {
    margin-bottom: 1.5rem;
}

label {
    display: block;
    margin-bottom: 0.5rem;
    font-weight: 600;
    color: var(--primary);
    font-size: 0.95rem;
}

input, select, textarea {
    width: 100%;
    padding: 1rem;
    border: 2px solid var(--border);
    border-radius: 8px;
    font-size: 1rem;
    font-family: var(--font-body);
    transition: border-color 0.3s;
}

input:focus, select:focus, textarea:focus {
    outline: none;
    border-color: var(--accent);
}

/* Responsive */
@media (max-width: 768px) {
    .nav-links {
        display: none;
    }
    
    .hero {
        padding: var(--space-lg) 0;
    }
    
    .promise-grid,
    .steps-grid,
    .testimonial-grid {
        grid-template-columns: 1fr;
    }
    
    .trust-bar {
        gap: 1.5rem;
    }
    
    .modal-content {
        padding: 2rem;
    }
}

/* Live Chat Widget */
.chat-widget {
    position: fixed;
    bottom: 2rem;
    right: 2rem;
    z-index: 9999;
    font-family: var(--font-body);
}

.chat-bubble {
    width: 60px;
    height: 60px;
    background: var(--accent);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    box-shadow: 0 4px 16px rgba(9,116,200,0.28);
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    position: relative;
}

.chat-bubble:hover {
    transform: scale(1.1);
    box-shadow: 0 8px 24px rgba(9,116,200,0.38);
}

.chat-bubble svg {
    width: 28px;
    height: 28px;
    color: white;
}

.chat-bubble.active {
    display: none;
}

.chat-online-indicator {
    position: absolute;
    top: 2px;
    right: 2px;
    width: 14px;
    height: 14px;
    background: var(--success);
    border: 3px solid white;
    border-radius: 50%;
    animation: pulse 2s infinite;
}

@keyframes pulse {
    0%, 100% {
        box-shadow: 0 0 0 0 rgba(39, 174, 96, 0.7);
    }
    50% {
        box-shadow: 0 0 0 6px rgba(39, 174, 96, 0);
    }
}

.chat-box {
    display: none;
    position: fixed;
    bottom: 2rem;
    right: 2rem;
    width: 380px;
    height: 600px;
    background: white;
    border-radius: 16px;
    box-shadow: 0 8px 40px rgba(0,0,0,0.15);
    flex-direction: column;
    overflow: hidden;
    animation: slideUpChat 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}

.chat-box.active {
    display: flex;
}

@keyframes slideUpChat {
    from {
        opacity: 0;
        transform: translateY(20px) scale(0.95);
    }
    to {
        opacity: 1;
        transform: translateY(0) scale(1);
    }
}

.chat-header {
    background: var(--primary);
    color: white;
    padding: 1.25rem;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.chat-header-info {
    display: flex;
    align-items: center;
    gap: 0.75rem;
}

.chat-avatar {
    width: 40px;
    height: 40px;
    background: var(--accent);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: white;
    font-weight: 700;
    font-size: 1.125rem;
    position: relative;
}

.chat-avatar::after {
    content: '';
    position: absolute;
    bottom: 0;
    right: 0;
    width: 12px;
    height: 12px;
    background: var(--success);
    border: 2px solid var(--primary);
    border-radius: 50%;
}

.chat-header-text h4 {
    font-size: 1rem;
    margin: 0;
    color: white;
    font-family: var(--font-body);
}

.chat-header-text p {
    font-size: 0.8rem;
    margin: 0;
    color: rgba(255,255,255,0.8);
    display: flex;
    align-items: center;
    gap: 0.25rem;
}

.chat-online-dot {
    width: 6px;
    height: 6px;
    background: var(--success);
    border-radius: 50%;
    display: inline-block;
}

.chat-close {
    background: none;
    border: none;
    color: white;
    cursor: pointer;
    font-size: 1.5rem;
    padding: 0;
    width: 32px;
    height: 32px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    transition: background 0.3s;
}

.chat-close:hover {
    background: rgba(255,255,255,0.1);
}

.chat-body {
    flex: 1;
    overflow-y: auto;
    padding: 1.5rem;
    background: #f8f9fa;
}

.chat-welcome {
    background: white;
    padding: 1.5rem;
    border-radius: 12px;
    margin-bottom: 1rem;
    box-shadow: var(--shadow-sm);
}

.chat-welcome h3 {
    font-size: 1.125rem;
    margin-bottom: 0.5rem;
    color: var(--primary);
}

.chat-welcome p {
    font-size: 0.95rem;
    color: var(--text-light);
    margin: 0;
}

.chat-lead-form {
    background: white;
    padding: 1.5rem;
    border-radius: 12px;
    box-shadow: var(--shadow-sm);
}

.chat-form-group {
    margin-bottom: 1rem;
}

.chat-form-group label {
    display: block;
    margin-bottom: 0.5rem;
    font-weight: 600;
    color: var(--primary);
    font-size: 0.875rem;
}

.chat-form-group input {
    width: 100%;
    padding: 0.75rem;
    border: 2px solid var(--border);
    border-radius: 8px;
    font-size: 0.95rem;
    font-family: var(--font-body);
    transition: border-color 0.3s;
}

.chat-form-group input:focus {
    outline: none;
    border-color: var(--accent);
}

.chat-submit {
    width: 100%;
    padding: 0.875rem;
    background: var(--accent);
    color: white;
    border: none;
    border-radius: 8px;
    font-weight: 600;
    font-size: 1rem;
    cursor: pointer;
    transition: all 0.3s;
    font-family: var(--font-body);
}

.chat-submit:hover {
    background: #b84100;
    transform: translateY(-2px);
}

.chat-messages {
    display: none;
}

.chat-messages.active {
    display: block;
}

.chat-message {
    margin-bottom: 1rem;
    animation: fadeIn 0.3s;
}

.chat-message-bot {
    display: flex;
    gap: 0.75rem;
}

.chat-message-avatar {
    width: 32px;
    height: 32px;
    background: var(--accent);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: white;
    font-weight: 700;
    font-size: 0.875rem;
    flex-shrink: 0;
}

.chat-message-bubble {
    background: white;
    padding: 0.875rem 1.125rem;
    border-radius: 12px;
    max-width: 80%;
    box-shadow: var(--shadow-sm);
}

.chat-message-bubble p {
    margin: 0;
    font-size: 0.95rem;
    color: var(--text);
    line-height: 1.5;
}

.chat-message-user {
    display: flex;
    justify-content: flex-end;
}

.chat-message-user .chat-message-bubble {
    background: var(--accent);
    color: white;
}

.chat-message-user .chat-message-bubble p {
    color: white;
}

.chat-typing {
    display: none;
    align-items: center;
    gap: 0.75rem;
    margin-bottom: 1rem;
}

.chat-typing.active {
    display: flex;
}

.chat-typing-dots {
    background: white;
    padding: 0.875rem 1.125rem;
    border-radius: 12px;
    display: flex;
    gap: 0.25rem;
}

.chat-typing-dot {
    width: 8px;
    height: 8px;
    background: var(--text-light);
    border-radius: 50%;
    animation: typingDot 1.4s infinite;
}

.chat-typing-dot:nth-child(2) {
    animation-delay: 0.2s;
}

.chat-typing-dot:nth-child(3) {
    animation-delay: 0.4s;
}

@keyframes typingDot {
    0%, 60%, 100% {
        transform: translateY(0);
        opacity: 0.7;
    }
    30% {
        transform: translateY(-10px);
        opacity: 1;
    }
}

.chat-footer {
    padding: 1rem 1.5rem;
    background: white;
    border-top: 1px solid var(--border);
    display: none;
}

.chat-footer.active {
    display: block;
}

.chat-input-wrapper {
    display: flex;
    gap: 0.75rem;
}

.chat-input {
    flex: 1;
    padding: 0.75rem;
    border: 2px solid var(--border);
    border-radius: 8px;
    font-size: 0.95rem;
    font-family: var(--font-body);
}

.chat-input:focus {
    outline: none;
    border-color: var(--accent);
}

.chat-send {
    padding: 0.75rem 1.25rem;
    background: var(--accent);
    color: white;
    border: none;
    border-radius: 8px;
    font-weight: 600;
    cursor: pointer;
    transition: background 0.3s;
}

.chat-send:hover {
    background: #b84100;
}

@media (max-width: 768px) {
    .chat-box {
        width: calc(100vw - 2rem);
        height: calc(100vh - 4rem);
        bottom: 1rem;
        right: 1rem;
    }
    
    .chat-widget {
        bottom: 1rem;
        right: 1rem;
    }
}

/* Smooth scroll */
html {
    scroll-behavior: smooth;
}

/* Selection */
::selection {
    background: var(--accent);
    color: white;
}

/* ===== Additions (Sept 2026) ===== */
.logo a{color:inherit;text-decoration:none}
.hero .btn-secondary{color:var(--primary);border-color:var(--primary)}
.hero .btn-secondary:hover{background:var(--primary);color:#fff}
.nav-links a.active{color:var(--accent)}
.honeypot{position:absolute;left:-9999px;height:0;overflow:hidden}
.form-note{font-size:.85rem;color:var(--text-light);margin-top:.75rem;text-align:center}
.form-error{display:none;color:#c0392b;font-size:.9rem;margin-top:.75rem;text-align:center}
.mobile-callbar{display:none}
@media (max-width:768px){
  .mobile-callbar{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:9998;background:var(--primary);box-shadow:0 -2px 12px rgba(0,0,0,.15)}
  .mobile-callbar a,.mobile-callbar button{flex:1;padding:14px 8px;text-align:center;color:#fff;font:600 1rem var(--font-body);text-decoration:none;border:0;background:transparent;cursor:pointer}
  .mobile-callbar button{background:var(--accent)}
  body{padding-bottom:56px}
  .chat-widget{bottom:72px !important}
  nav{padding:1rem 0}
  .logo{font-size:1.2rem}
}
/* Page hero (inner pages) */
.page-hero{background:linear-gradient(135deg,#f8f9fa 0%,#fff 100%);padding:4rem 0 3rem;border-bottom:1px solid var(--border)}
.page-hero h1{font-size:clamp(2rem,4.5vw,3rem);margin-bottom:1rem}
.page-hero p.lede{font-size:1.2rem;color:var(--text-light);max-width:65ch}
.crumbs{font-size:.9rem;color:var(--text-light);margin-bottom:1rem}
.crumbs a{color:var(--text-light)}
.meta-line{font-size:.9rem;color:var(--text-light);margin-top:1rem}
/* Layout with sidebar */
.page-grid{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:3rem;padding:3rem 0 4rem;align-items:start}
@media (max-width:960px){.page-grid{grid-template-columns:1fr}}
.sidebar{position:sticky;top:96px}
.side-card{background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:1.75rem}
.side-card h3{font-size:1.35rem;margin-bottom:.5rem}
.side-card p{font-size:.95rem;color:var(--text-light);margin-bottom:1rem}
.side-card .form-group{margin-bottom:.9rem}
.side-card input,.side-card select,.side-card textarea{width:100%;padding:.75rem;border:2px solid var(--border);border-radius:8px;font:1rem var(--font-body);background:#fff}
.side-card label{display:block;font-weight:500;font-size:.9rem;margin-bottom:.3rem}
/* Prose */
.prose{font-size:1.075rem;max-width:72ch}
.prose h2{font-size:1.8rem;margin:2.5rem 0 1rem}
.prose h3{font-size:1.3rem;margin:1.75rem 0 .75rem;font-family:var(--font-body);font-weight:700}
.prose p{margin-bottom:1.1rem;color:var(--text);max-width:none;font-size:inherit}
.prose ul,.prose ol{margin:0 0 1.25rem 1.4rem}
.prose li{margin-bottom:.5rem}
.prose a{color:var(--accent)}
.prose table{width:100%;border-collapse:collapse;margin:1.25rem 0 1.75rem;font-size:.97rem}
.prose th,.prose td{border:1px solid var(--border);padding:.65rem .8rem;text-align:left;vertical-align:top}
.prose th{background:var(--surface)}
.callout{background:#fff8f0;border-left:4px solid var(--accent);padding:1.1rem 1.25rem;border-radius:8px;margin:1.5rem 0}
.callout p:last-child{margin-bottom:0}
.quick-answer{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:1.25rem 1.4rem;margin-bottom:2rem}
.inline-cta{background:var(--primary);color:#fff;border-radius:16px;padding:2rem;margin:2.5rem 0;text-align:center}
.inline-cta h3{color:#fff;margin:0 0 .5rem;font-family:var(--font-display);font-size:1.5rem}
.inline-cta p{color:rgba(255,255,255,.85);margin:0 auto 1.25rem}
.inline-cta .btn{margin:.25rem}
.inline-cta .btn-secondary{color:#fff;border-color:#fff}
.related{border-top:1px solid var(--border);margin-top:3rem;padding-top:2rem}
.related ul{list-style:none;margin:0}
.related a{color:var(--accent);text-decoration:none;font-weight:500}
.disclaimer{font-size:.88rem;color:var(--text-light);font-style:italic;margin-top:2rem}
/* FAQ */
.faq-item{border:1px solid var(--border);border-radius:12px;margin-bottom:.9rem;background:#fff}
.faq-item summary{cursor:pointer;padding:1.1rem 1.25rem;font-weight:600;font-size:1.05rem;list-style:none;display:flex;justify-content:space-between;gap:1rem}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary::after{content:'+';color:var(--accent);font-size:1.4rem;line-height:1}
.faq-item[open] summary::after{content:'–'}
.faq-item .faq-a{padding:0 1.25rem 1.1rem}
.faq-item .faq-a p{margin-bottom:.75rem}
/* Cards grid */
.card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.5rem;margin:1.5rem 0 2rem}
.card{border:1px solid var(--border);border-radius:14px;padding:1.5rem;background:#fff;text-decoration:none;color:var(--text);transition:box-shadow .2s,transform .2s;display:block}
.card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}
.card .tag{font-size:.8rem;text-transform:uppercase;letter-spacing:.06em;color:var(--accent);font-weight:700}
.card h3{font-size:1.2rem;margin:.4rem 0 .5rem;font-family:var(--font-body);font-weight:700}
.card p{font-size:.95rem;color:var(--text-light);margin:0}
/* Honest quick-contact panel (replaces fake live chat) */
.chat-box{height:auto;max-height:calc(100vh - 4rem)}
.chat-body{overflow-y:auto}
.qc-actions{display:grid;grid-template-columns:1fr 1fr;gap:.6rem;margin-bottom:1rem}
.qc-actions a{display:block;text-align:center;padding:.7rem;border-radius:8px;border:2px solid var(--primary);color:var(--primary);font-weight:600;text-decoration:none}
.qc-actions a:first-child{background:var(--primary);color:#fff}
.qc-sent{display:none;text-align:center;padding:1rem 0}
.chat-lead-form textarea{width:100%;padding:.75rem;border:2px solid var(--border);border-radius:8px;font:1rem var(--font-body);resize:vertical;min-height:70px}
.modal{z-index:10001 !important}
.modal-content{max-height:calc(100vh - 2rem);overflow-y:auto}
@media (max-width:768px){.chat-box{bottom:64px !important;max-height:calc(100vh - 80px)}}
.chat-bubble::before{content:"Talk to a real person";position:absolute;right:70px;white-space:nowrap;background:var(--primary);color:#fff;font:600 .85rem var(--font-body);padding:.45rem .8rem;border-radius:999px;box-shadow:var(--shadow-md)}
@media (max-width:768px){.chat-bubble::before{display:none}}

/* QA fixes Sept 25 */
.card-grid{grid-template-columns:repeat(auto-fill,minmax(min(280px,100%),1fr))}
.prose table{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch}
.side-card .form-note a{display:inline-block;padding:.35rem 0}
.chat-bubble{background:var(--secondary)}
.nav-links a.btn-primary,.nav-links a.btn-primary:hover{color:#fff}
footer p,.cta-section p,.stats p,.inline-cta p,.result p{color:rgba(255,255,255,.85)}
.page-grid>*{min-width:0}
.card{min-width:0;overflow-wrap:anywhere}
.prose a.btn,.prose a.btn:hover,.inline-cta a.btn-primary{color:#fff}
.inline-cta a.btn-secondary{color:#fff;border-color:#fff}
.hero h1,.hero p,.hero-cta,.trust-bar{animation:none}

/* ===== Site-wide fixes (Sept 26, 2026) ===== */
/* 1) Mobile navigation: links were display:none under 768px with no menu button, so phones had no navigation.
      Show them as a scrollable strip under the logo. The Call button is hidden here because the bottom bar already has Call. */
@media (max-width:768px){
  nav{flex-wrap:wrap;padding:.75rem 0 .35rem;row-gap:.25rem}
  .nav-links{display:flex;width:100%;gap:1.1rem;overflow-x:auto;white-space:nowrap;padding:.25rem 0 .55rem;-webkit-overflow-scrolling:touch;scrollbar-width:none;margin:0}
  .nav-links::-webkit-scrollbar{display:none}
  .nav-links a{font-size:.95rem;flex:none}
  .nav-links a.btn{display:none}
}


/* ===== Silverside re-skin v2 (Sept 26, 2026): bright, warm, NJH-style ===== */
h1,h2,h3{letter-spacing:-.015em;color:var(--primary)}
h1{font-weight:800}
h2,h3{font-weight:700}
a{color:var(--secondary)}
.btn-primary{background:var(--accent);color:#fff}
.btn-primary:hover{background:#b84100}
.nav-links a.btn-primary,.nav-links a.btn-primary:hover{background:var(--secondary);color:#fff}
.nav-links a.btn-primary:hover{background:#0862ab}
.btn-secondary{color:var(--secondary);border:2px solid var(--secondary)}
.hero .btn-secondary,.founder-actions .btn-secondary{color:var(--secondary);border-color:var(--secondary)}
.hero .btn-secondary:hover,.founder-actions .btn-secondary:hover{background:var(--secondary);color:#fff}
.nav-links a.active{color:var(--secondary)}
.tag{color:var(--secondary)}
.step-number{background:var(--secondary)}
.stats{background:linear-gradient(135deg,#0b4260 0%,#194a6f 100%)}
.stats h3{color:#fff}
.trust-icon{color:var(--success)}
::selection{background:var(--secondary);color:#fff}
.chat-bubble{background:var(--secondary)}
.chat-bubble::before{background:var(--primary)}
.mobile-callbar{background:var(--primary)}
.mobile-callbar button{background:var(--accent)}
.cta-section{background:linear-gradient(135deg,#0974c8 0%,#04406f 100%)}
.inline-cta{background:linear-gradient(135deg,#0974c8 0%,#04406f 100%)}
footer{background:#04406f}
.page-hero{background:linear-gradient(135deg,#eaf3fb 0%,#fff 100%)}
.promise-icon{background:rgba(9,116,200,.1);color:var(--secondary)}
.faq-list summary::after{color:var(--secondary)}
.review .stars{color:#fbbc04}
.cta-section .btn-secondary,.inline-cta .btn-secondary,.inline-cta a.btn-secondary{color:#fff;border-color:#fff}
.cta-section .btn-secondary:hover,.inline-cta .btn-secondary:hover{background:#fff;color:var(--secondary)}
.cta-section .btn-white{background:var(--accent);color:#fff}
.cta-section .btn-white:hover{background:#b84100;color:#fff}

/* Silverside additions: logo mark, facts table, find-us */
.logo a{display:inline-flex;align-items:center;gap:.55rem;color:var(--secondary)}
.logo-mark{width:30px;height:30px;flex:none}
.glance{padding:var(--space-xl) 0;background:#fff}
.glance-wrap{max-width:900px;margin:0 auto;border:1px solid var(--border);border-radius:16px;overflow:hidden;box-shadow:var(--shadow-sm)}
.glance-table{width:100%;border-collapse:collapse;font-size:.98rem}
.glance-table th,.glance-table td{padding:.9rem 1.1rem;border-bottom:1px solid var(--border);text-align:left;vertical-align:top}
.glance-table th{width:26%;background:var(--surface);font-weight:700;color:var(--primary)}
.glance-table tr:last-child th,.glance-table tr:last-child td{border-bottom:0}
@media (max-width:640px){.glance-table th,.glance-table td{display:block;width:auto}.glance-table th{border-bottom:0;padding-bottom:.2rem}.glance-table td{padding-top:.2rem}}
.findus{padding:var(--space-xl) 0;background:var(--surface)}
.findus-grid{display:grid;grid-template-columns:minmax(280px,.9fr) minmax(0,1.1fr);gap:2rem;align-items:stretch}
.findus-card{background:#fff;border:1px solid var(--border);border-radius:16px;padding:1.75rem}
.findus-card h3{font-size:1.3rem;margin-bottom:.5rem}
.findus-card .nap{font-size:1.05rem;line-height:1.7;margin-bottom:1rem}
.findus-card .hours{color:var(--text-light);margin-bottom:.9rem}
.findus-map iframe{width:100%;height:100%;min-height:340px;border-radius:16px;display:block}
@media (max-width:900px){.findus-grid{grid-template-columns:1fr}.findus-map iframe{min-height:280px}}
.team-photo{margin:1.5rem 0 2rem}
.team-photo img{width:100%;height:auto;border-radius:16px;display:block}
.team-photo figcaption{font-size:.9rem;color:var(--text-light);margin-top:.5rem}
.page-hero{background:linear-gradient(135deg,#f5f4ef 0%,#fff 100%)}
