html { overflow-x: hidden; }
body { font-family: 'Outfit', system-ui, sans-serif; color: #2a2a2a; background-color: #ffffff; overflow-x: hidden; -webkit-font-smoothing: antialiased; }

/* ProvenExpert widget overflow fix */
#pewl { max-width: 100%; overflow: hidden; }

/* Typography */
h2, h3 { overflow-wrap: break-word; word-break: break-word; hyphens: auto; }
h2 { font-size: clamp(2.2rem, 5vw, 3.5rem); color: #162a3e; font-weight: 800; line-height: 1.15; letter-spacing: -0.03em; }
h3 { font-size: clamp(1.5rem, 3vw, 2rem); color: #162a3e; font-weight: 700; line-height: 1.25; letter-spacing: -0.01em; }
p, li { font-size: 1.125rem; line-height: 1.8; color: #2a2a2a; font-weight: 300; }
footer li, footer a { color: #ffffff; }

/* Buttons */
.btn-primary {
    background-color: #b8723a; color: #ffffff; font-weight: 700; letter-spacing: 0.02em;
    padding: 1.2rem 2.8rem; display: inline-flex; align-items: center; gap: 0.75rem;
    transition: all 0.4s ease; border-radius: 8px;
}
.btn-primary:hover { background-color: #a06530; transform: translateY(-2px); box-shadow: 0 15px 30px -5px rgba(184, 114, 58, 0.35); color: #ffffff; }

.btn-secondary {
    background-color: transparent; color: #ffffff; font-weight: 700; letter-spacing: 0.02em;
    padding: 1.2rem 2.8rem; display: inline-flex; align-items: center; gap: 0.75rem;
    transition: all 0.4s ease; border: 2px solid rgba(255,255,255,0.4); border-radius: 8px;
}
.btn-secondary:hover { background-color: #ffffff; color: #162a3e; border-color: #ffffff; transform: translateY(-2px); }

/* Animations */
.reveal-up { opacity: 0; transform: translateY(24px); transition: all 1s cubic-bezier(0.16, 1, 0.3, 1); }
.reveal-up.in { opacity: 1; transform: translateY(0); }

.reveal-fade { opacity: 0; transition: all 1.5s cubic-bezier(0.16, 1, 0.3, 1); }
.reveal-fade.in { opacity: 1; }

/* Header */
#header { transition: background-color 0.4s ease, border-color 0.4s ease, padding 0.4s ease, box-shadow 0.4s ease; }

.header-transparent { background: transparent; padding-top: 1.5rem; padding-bottom: 1.5rem; border-bottom: 1px solid transparent; }
.header-transparent .nav-inner { background: rgba(22, 42, 62, 0.35); backdrop-filter: blur(14px); -webkit-backdrop-filter: blur(14px); border-radius: 16px; padding: 0.75rem 1.5rem; border: 1px solid rgba(255,255,255,0.08); }
.header-transparent .nav-link { color: rgba(255,255,255,0.9); }
.header-transparent .hamburger span { background-color: #ffffff; }

.header-scrolled { background: rgba(255, 255, 255, 0.98); backdrop-filter: blur(20px); border-bottom: 1px solid rgba(0,0,0,0.05); box-shadow: 0 10px 40px -10px rgba(0,0,0,0.1); padding-top: 1rem; padding-bottom: 1rem; }
.header-scrolled .nav-inner { background: transparent; backdrop-filter: none; border: none; border-radius: 0; padding: 0; }
.header-scrolled .nav-link { color: #2a2a2a; }
.header-scrolled .hamburger span { background-color: #162a3e; }

/* Logo */
#header img.logo-responsive { height: 5rem; transition: height 0.4s ease; }
#header.header-scrolled img.logo-responsive { height: 3.5rem; }

.logo-blue-filter { filter: brightness(0) invert(22%) sepia(35%) saturate(3088%) hue-rotate(190deg) brightness(96%) contrast(92%); }
.header-scrolled .logo-responsive { filter: brightness(0) invert(22%) sepia(35%) saturate(3088%) hue-rotate(190deg) brightness(96%) contrast(92%); }

/* Nav Links */
.nav-link { position: relative; }
.nav-link::after { content: ''; position: absolute; width: 0; height: 2px; bottom: -6px; left: 50%; background-color: #b8723a; transition: all 0.3s ease; transform: translateX(-50%); }
.nav-link:hover::after { width: 100%; }
.nav-link:hover { color: #b8723a !important; }

/* Dropdown */
.dropdown-menu {
    display: none; position: absolute; top: 100%; left: 0;
    background: #ffffff; box-shadow: 0 20px 50px -10px rgba(0,0,0,0.15);
    min-width: 340px; z-index: 50; padding: 1.5rem 0;
    border: 1px solid rgba(0,0,0,0.05); border-radius: 8px;
    transform-origin: top left;
}
.dropdown:hover .dropdown-menu, .dropdown:focus-within .dropdown-menu {
    display: block; animation: dropFade 0.3s ease forwards;
}
@keyframes dropFade {
    from { opacity: 0; transform: translateY(10px); }
    to { opacity: 1; transform: translateY(0); }
}
.dropdown-item {
    display: flex; flex-direction: column; padding: 0.8rem 2.5rem;
    color: #2a2a2a; transition: all 0.2s; font-weight: 600; font-size: 1rem;
}
.dropdown-item span.sub {
    font-size: 0.85rem; font-weight: 400; color: #6b7280; margin-top: 0.2rem; transition: all 0.2s;
}
.dropdown-item:hover { background: #f6f4f0; color: #b8723a; padding-left: 3rem; border-left: 3px solid #b8723a; }
.dropdown-item:hover span.sub { color: #162a3e; }

/* CTA Dropdown */
.cta-dropdown { position: relative; }
.cta-dropdown-trigger { cursor: pointer; border: none; }
.cta-dropdown-menu {
    display: none; position: absolute; top: 100%; right: 0;
    padding-top: 10px; z-index: 60;
}
.cta-dropdown:hover .cta-dropdown-menu,
.cta-dropdown:focus-within .cta-dropdown-menu {
    display: block; animation: dropFade 0.3s ease forwards;
}
.cta-dropdown-panel {
    position: relative;
    background: rgba(255, 255, 255, 0.98); backdrop-filter: blur(20px); -webkit-backdrop-filter: blur(20px);
    border-radius: 16px; box-shadow: 0 25px 60px -10px rgba(0,0,0,0.2), 0 0 0 1px rgba(0,0,0,0.05);
    padding: 14px; display: grid; grid-template-columns: 1fr 1fr; gap: 8px; min-width: 340px;
}
.cta-dropdown-panel::before {
    content: ''; position: absolute; top: -6px; right: 36px;
    width: 12px; height: 12px; background: #fff;
    border: 1px solid rgba(0,0,0,0.05); border-bottom: none; border-right: none;
    transform: rotate(45deg); z-index: 1;
}
.cta-card {
    display: flex; flex-direction: column; align-items: center; text-align: center;
    padding: 18px 12px; border-radius: 12px; background: #fff;
    border: 1px solid rgba(0,0,0,0.05); transition: all 0.25s ease;
    text-decoration: none; color: inherit;
}
.cta-card:hover {
    border-color: #b8723a; background: #fdf8f4;
    box-shadow: 0 8px 24px -4px rgba(184,114,58,0.18); transform: translateY(-2px);
}
.cta-icon { font-size: 26px; margin-bottom: 8px; }
.cta-title { font-size: 13px; font-weight: 700; color: #162a3e; line-height: 1.3; }
.cta-sub { font-size: 11px; color: #6b7280; margin-top: 2px; }

/* Mobile CTA Cards */
.cta-card-mobile {
    display: flex; flex-direction: column; align-items: center; text-align: center;
    padding: 16px 8px; background: #f6f4f0; border-radius: 12px;
    border: 1px solid transparent; transition: all 0.2s;
}
.cta-card-mobile:hover { border-color: #b8723a; background: #fdf8f4; }

/* Story Cards */
.story-card {
    background: #ffffff; border: 1px solid rgba(0,0,0,0.05); border-radius: 8px;
    transition: all 0.4s ease; padding: 1.5rem; position: relative; overflow: hidden;
    border-left: 3px solid transparent;
}
@media (min-width: 768px) { .story-card { padding: 3.5rem; } }
.story-card:hover { box-shadow: 0 12px 24px -8px rgba(0,0,0,0.08); transform: translateY(-2px); border-left-color: #b8723a; }
