/* ================================================
   DESIGN TOKENS
================================================ */
:root {
    --navy:        #1e293b;
    --navy-mid:    #2d3748;
    --navy-light:  #475569;
    --gold:        #c0392b;
    --gold-light:  #e74c3c;
    --gold-dark:   #962d22;
    --cream:       #f8f9fa;
    --cream-dark:  #e9ecef;
    --white:       #ffffff;
    --text:        #1e293b;
    --text-mid:    #4a5568;
    --text-light:  #8e9aaf;
    --border-gold: rgba(192,57,43,0.25);
    --shadow-sm:   0 4px 12px rgba(0,0,0,.08);
    --shadow-md:   0 8px 32px rgba(0,0,0,.12);
    --shadow-lg:   0 20px 60px rgba(0,0,0,.18);
    --radius:      16px;
    --radius-lg:   24px;
    --ease:        cubic-bezier(.25,.46,.45,.94);
    --t:           0.35s;
}

/* ================================================
   RESET & BASE
================================================ */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; }
body {
    font-family: 'Lato', -apple-system, sans-serif;
    color: var(--text);
    background: var(--cream);
    line-height: 1.7;
    overflow-x: hidden;
}
a { text-decoration: none; color: inherit; transition: color var(--t) var(--ease); }
img { max-width: 100%; height: auto; display: block; }
ul { list-style: none; }
::-webkit-scrollbar { width: 6px; }
::-webkit-scrollbar-track { background: var(--navy); }
::-webkit-scrollbar-thumb { background: var(--gold); border-radius: 3px; }

/* ================================================
   SCROLL PROGRESS
================================================ */
.progress-bar {
    position: fixed; top: 0; left: 0; height: 3px; width: 0%;
    background: linear-gradient(90deg, var(--gold), var(--gold-light));
    z-index: 9999; transition: width .1s linear;
    pointer-events: none;
}

/* ================================================
   PAGE LOADER
================================================ */
.page-loader {
    position: fixed; inset: 0;
    background: var(--navy);
    display: flex; flex-direction: column;
    align-items: center; justify-content: center;
    z-index: 9998;
    transition: opacity .7s ease, visibility .7s ease;
}
.page-loader.hidden { opacity: 0; visibility: hidden; }
.loader-emblem {
    width: 72px; height: 72px; position: relative;
    animation: pulse-loader 1.6s ease-in-out infinite;
}
.loader-emblem::before,
.loader-emblem::after {
    content: ''; position: absolute;
    background: linear-gradient(135deg, var(--gold-dark), var(--gold-light));
    border-radius: 4px;
}
.loader-emblem::before { width: 14px; height: 72px; left: 50%; transform: translateX(-50%); }
.loader-emblem::after  { width: 72px; height: 14px; top: 50%; transform: translateY(-50%); }
@keyframes pulse-loader {
    0%,100% { transform: scale(1) rotate(0deg); opacity: 1; }
    50%      { transform: scale(.75) rotate(15deg); opacity: .6; }
}
.loader-name {
    color: var(--gold-light);
    font-family: 'Cinzel', serif;
    font-size: .8rem; letter-spacing: 4px;
    text-transform: uppercase; margin-top: 2rem;
}

/* ================================================
   SITE HEADER
================================================ */
.site-header {
    position: fixed; top: 0; left: 0; right: 0;
    z-index: 1000;
    transition: background var(--t) var(--ease), box-shadow var(--t) var(--ease);
}
.site-header.scrolled {
    background: rgba(7,17,31,.97);
    backdrop-filter: blur(16px);
    box-shadow: 0 4px 30px rgba(0,0,0,.5);
}
.top-bar {
    background: linear-gradient(90deg, var(--gold-dark), var(--gold), var(--gold-dark));
    color: var(--navy);
    text-align: center;
    padding: .55rem 1rem;
    font-size: .8rem; font-weight: 900;
    letter-spacing: 1.5px; text-transform: uppercase;
    max-height: 40px; overflow: hidden;
    transition: max-height .4s var(--ease), opacity .4s ease, padding .4s ease;
}
.site-header.scrolled .top-bar { max-height: 0; opacity: 0; padding: 0; }
.top-bar i { margin: 0 .45rem; }
.navbar {
    display: flex; align-items: center; justify-content: space-between;
    max-width: 1320px; margin: 0 auto; padding: 1.1rem 2rem;
    transition: padding var(--t) var(--ease);
}
.site-header.scrolled .navbar { padding: .75rem 2rem; }
.nav-brand { display: flex; align-items: center; gap: .75rem; }
.nav-brand img {
    width: 50px; height: 50px; object-fit: contain;
    border-radius: 50%; border: 2px solid var(--gold);
    background: var(--white);
}
.nav-brand-text {
    display: flex; flex-direction: column; line-height: 1;
}
.nav-brand-text .name {
    font-family: 'Cinzel', serif; color: var(--white);
    font-size: .95rem; font-weight: 700; line-height: 1.2;
    letter-spacing: 1px;
    text-shadow: 0 1px 6px rgba(0,0,0,.3);
}
.nav-brand-text .sub {
    display: block;
    color: var(--gold-light); font-size: .6rem;
    font-weight: 700; letter-spacing: 3px; text-transform: uppercase;
    margin-top: 2px;
    opacity: .85;
    background: linear-gradient(90deg, var(--gold-light), var(--gold), var(--gold-light));
    -webkit-background-clip: text; background-clip: text;
    -webkit-text-fill-color: transparent;
}
.nav-links { display: flex; align-items: center; gap: .25rem; }
.nav-links > li { position: relative; }
.nav-links a {
    color: rgba(255,255,255,.75);
    font-size: .82rem; font-weight: 700;
    letter-spacing: .5px; text-transform: uppercase;
    padding: .5rem 1rem; border-radius: 8px;
    position: relative;
}
.nav-links a::after {
    content: ''; position: absolute;
    bottom: 4px; left: 50%; transform: translateX(-50%);
    width: 0; height: 2px; background: var(--gold);
    transition: width var(--t) var(--ease);
}
.nav-links a:hover,
.nav-links a.active { color: var(--gold-light); }
.nav-links a:hover::after,
.nav-links a.active::after { width: 55%; }
.nav-cta {
    background: linear-gradient(135deg, var(--gold-dark), var(--gold-light)) !important;
    color: var(--navy) !important;
    font-weight: 900 !important;
    padding: .6rem 1.5rem !important;
    border-radius: 50px !important;
    box-shadow: 0 4px 18px rgba(201,168,76,.45);
}
.nav-cta::after { display: none !important; }
.nav-cta:hover { transform: translateY(-2px); box-shadow: 0 8px 28px rgba(201,168,76,.55) !important; }

/* Hamburger */
.hamburger {
    display: none; flex-direction: column; gap: 5px;
    cursor: pointer; padding: .5rem;
    border-radius: 8px; border: 1px solid var(--border-gold);
    background: rgba(255,255,255,.05);
}
.hamburger span {
    width: 24px; height: 2px;
    background: var(--white); border-radius: 2px;
    transition: transform var(--t) var(--ease), opacity var(--t);
}
.hamburger.open span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.hamburger.open span:nth-child(2) { opacity: 0; transform: scaleX(0); }
.hamburger.open span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

/* Mobile drawer */
.mobile-overlay {
    display: none; position: fixed; inset: 0;
    background: rgba(0,0,0,.65); z-index: 998;
}
.mobile-overlay.open { display: block; }
.mobile-drawer {
    position: fixed; top: 0; right: -100%;
    width: min(82vw, 320px); height: 100vh;
    background: var(--navy-mid); z-index: 999;
    padding: 5.5rem 2rem 2rem;
    display: flex; flex-direction: column; gap: .25rem;
    transition: right .4s var(--ease);
    box-shadow: -10px 0 60px rgba(0,0,0,.5);
    overflow-y: auto;
}
.mobile-drawer.open { right: 0; }
.mobile-drawer a {
    color: rgba(255,255,255,.8);
    font-size: 1.05rem; font-weight: 700;
    letter-spacing: 1px; text-transform: uppercase;
    padding: .9rem 1rem;
    border-bottom: 1px solid rgba(255,255,255,.07);
    display: flex; align-items: center; gap: .6rem;
    transition: color var(--t), padding-left var(--t);
}
.mobile-drawer a i { color: var(--gold); font-size: .9rem; width: 16px; }
.mobile-drawer a:hover { color: var(--gold-light); padding-left: 1.5rem; }

/* ================================================
   HERO
================================================ */
.hero {
    min-height: 100vh; position: relative;
    display: flex; align-items: center; justify-content: center;
    overflow: hidden; background: var(--navy);
}
.hero-slider { position: absolute; inset: 0; }
.hero-slide {
    position: absolute; inset: 0;
    background-size: cover; background-position: center;
    opacity: 0; transform: scale(1.12);
    transition: opacity .9s ease, transform 7s ease;
    will-change: opacity, transform;
}
.hero-slide.is-active {
    opacity: 1; transform: scale(1);
    animation: hero-ken-burns 8.5s ease-in-out both;
}
.hero-slide[aria-hidden='true'] { pointer-events: none; }
@keyframes hero-ken-burns {
    from { transform: scale(1); }
    to   { transform: scale(1.08); }
}
.hero-overlay {
    position: absolute; inset: 0;
    background: linear-gradient(145deg,
        rgba(7,17,31,.92) 0%,
        rgba(14,31,56,.78) 55%,
        rgba(7,17,31,.9) 100%
    );
}
.hero-controls {
    position: absolute; left: 50%; bottom: 7.25rem;
    transform: translateX(-50%); z-index: 3;
    display: inline-flex; align-items: center; gap: .75rem;
    padding: .45rem .8rem; border-radius: 999px;
    background: rgba(7,17,31,.45);
    border: 1px solid rgba(201,168,76,.35);
    backdrop-filter: blur(8px);
    box-shadow: 0 10px 30px rgba(0,0,0,.28);
}
.hero-nav {
    width: 40px; height: 40px; border-radius: 50%;
    border: 1px solid rgba(201,168,76,.4);
    background: rgba(7,17,31,.56);
    color: var(--gold-light);
    display: inline-flex; align-items: center; justify-content: center;
    cursor: pointer;
    transition: transform var(--t), background var(--t), color var(--t);
}
.hero-nav:hover {
    transform: translateY(-2px);
    background: rgba(201,168,76,.2);
    color: var(--white);
}
.hero-dots { display: inline-flex; align-items: center; gap: .4rem; }
.hero-dot {
    width: 11px; height: 11px; border-radius: 50%;
    border: 1px solid rgba(201,168,76,.8);
    background: transparent; cursor: pointer;
    transition: transform var(--t), background var(--t), border-color var(--t);
}
.hero-dot.is-active {
    background: var(--gold-light);
    border-color: var(--gold-light);
    transform: scale(1.12);
}

/* Particles */
.particles { position: absolute; inset: 0; overflow: hidden; pointer-events: none; }
.p {
    position: absolute; border-radius: 50%;
    background: rgba(201,168,76,.18);
    animation: rise linear infinite;
}
.p:nth-child(1)  { width:6px;  height:6px;  left:8%;  animation-duration:16s; animation-delay:0s;    bottom:-5%; }
.p:nth-child(2)  { width:10px; height:10px; left:22%; animation-duration:22s; animation-delay:3s;    bottom:-5%; }
.p:nth-child(3)  { width:4px;  height:4px;  left:37%; animation-duration:13s; animation-delay:6s;    bottom:-5%; }
.p:nth-child(4)  { width:8px;  height:8px;  left:53%; animation-duration:19s; animation-delay:1.5s;  bottom:-5%; }
.p:nth-child(5)  { width:5px;  height:5px;  left:68%; animation-duration:15s; animation-delay:7s;    bottom:-5%; }
.p:nth-child(6)  { width:12px; height:12px; left:82%; animation-duration:24s; animation-delay:2s;    bottom:-5%; }
.p:nth-child(7)  { width:7px;  height:7px;  left:14%; animation-duration:17s; animation-delay:9s;    bottom:-5%; }
.p:nth-child(8)  { width:9px;  height:9px;  left:59%; animation-duration:20s; animation-delay:4s;    bottom:-5%; }
.p:nth-child(9)  { width:5px;  height:5px;  left:43%; animation-duration:14s; animation-delay:8s;    bottom:-5%; }
.p:nth-child(10) { width:11px; height:11px; left:76%; animation-duration:21s; animation-delay:10s;   bottom:-5%; }
@keyframes rise {
    0%   { transform: translateY(0) rotate(0deg); opacity:0; }
    8%   { opacity: 1; }
    92%  { opacity: 1; }
    100% { transform: translateY(-110vh) rotate(720deg); opacity: 0; }
}

.hero-content {
    position: relative; z-index: 2;
    text-align: center; max-width: 920px;
    padding: 8rem 2rem 5rem;
}
.hero-eyebrow {
    display: inline-flex; align-items: center; gap: .75rem;
    color: var(--gold-light);
    font-family: 'Cinzel', serif;
    font-size: .75rem; letter-spacing: 5px; text-transform: uppercase;
    margin-bottom: 1.5rem;
    animation: fade-up .9s ease both;
}
.hero-eyebrow::before,
.hero-eyebrow::after { content:''; width:35px; height:1px; background:var(--gold); }
.hero-title {
    font-family: 'Cinzel', serif;
    font-size: clamp(2.8rem, 8vw, 5.5rem);
    color: var(--white); line-height: 1.05;
    font-weight: 700; margin-bottom: .5rem;
    text-shadow: 0 6px 40px rgba(0,0,0,.5);
    animation: fade-up .9s ease .2s both;
}
.hero-title .accent { color: var(--gold-light); }
.hero-subtitle {
    font-family: 'Playfair Display', serif;
    font-size: clamp(1.1rem, 2.5vw, 1.75rem);
    color: rgba(255,255,255,.72);
    font-style: italic; margin-bottom: 2.5rem;
    animation: fade-up .9s ease .35s both;
}
.hero-tagline {
    display: inline-block;
    background: rgba(201,168,76,.1);
    border: 1px solid rgba(201,168,76,.35);
    border-radius: 14px;
    padding: 1rem 2rem;
    margin-bottom: 2.5rem;
    animation: fade-up .9s ease .5s both;
}
.hero-tagline p {
    font-family: 'Playfair Display', serif;
    font-style: italic; color: var(--gold-light);
    font-size: 1.05rem; line-height: 1.6;
}
.hero-btns {
    display: flex; gap: 1rem; justify-content: center; flex-wrap: wrap;
    animation: fade-up .9s ease .65s both;
}
.hero-scroll {
    position: absolute; bottom: 2.5rem; left: 50%;
    transform: translateX(-50%);
    display: flex; flex-direction: column; align-items: center; gap: .5rem;
    color: rgba(255,255,255,.4);
    font-size: .72rem; letter-spacing: 3px; text-transform: uppercase;
    animation: fade-up .9s ease .9s both;
}
.scroll-arrow {
    width: 22px; height: 22px;
    border-right: 2px solid var(--gold);
    border-bottom: 2px solid var(--gold);
    transform: rotate(45deg);
    animation: bounce-arrow 1.6s ease-in-out infinite;
}
@keyframes bounce-arrow {
    0%,100% { transform:rotate(45deg) translateY(0); opacity:1; }
    50%      { transform:rotate(45deg) translateY(7px); opacity:.4; }
}
@keyframes fade-up {
    from { opacity:0; transform:translateY(40px); }
    to   { opacity:1; transform:translateY(0); }
}

/* Buttons */
.btn-gold {
    display: inline-flex; align-items: center; gap: .5rem;
    background: linear-gradient(135deg, var(--gold-dark), var(--gold-light));
    color: var(--navy); font-weight: 900;
    font-size: .88rem; letter-spacing: 1.5px; text-transform: uppercase;
    padding: 1rem 2.5rem; border-radius: 50px;
    box-shadow: 0 6px 28px rgba(201,168,76,.45);
    position: relative; overflow: hidden;
    transition: transform var(--t) var(--ease), box-shadow var(--t) var(--ease);
    border: none; cursor: pointer; font-family: 'Lato', sans-serif;
}
.btn-gold::before {
    content:''; position:absolute; top:0; left:-100%;
    width:100%; height:100%;
    background: linear-gradient(90deg,transparent,rgba(255,255,255,.25),transparent);
    transition: left .6s ease;
}
.btn-gold:hover { transform:translateY(-4px); box-shadow:0 14px 36px rgba(201,168,76,.55); color:var(--navy); }
.btn-gold:hover::before { left:100%; }
.btn-ghost {
    display: inline-flex; align-items: center; gap: .5rem;
    background: transparent; color: var(--white);
    font-weight: 700; font-size: .88rem;
    letter-spacing: 1.5px; text-transform: uppercase;
    padding: 1rem 2.5rem; border-radius: 50px;
    border: 2px solid rgba(255,255,255,.35);
    transition: all var(--t) var(--ease);
    cursor: pointer; font-family: 'Lato', sans-serif;
}
.btn-ghost:hover {
    border-color: var(--gold); color: var(--gold-light);
    background: rgba(201,168,76,.08); transform: translateY(-4px);
}

/* ================================================
   STATS STRIP
================================================ */
.stats-strip { background: var(--navy-mid); border-top: 1px solid var(--border-gold); }
.stats-grid {
    max-width: 1320px; margin: 0 auto; padding: 0 2rem;
    display: grid; grid-template-columns: repeat(4,1fr);
}
.stat-item {
    padding: 3rem 1.5rem; text-align: center;
    border-right: 1px solid rgba(255,255,255,.07);
    transition: background var(--t);
}
.stat-item:last-child { border-right: none; }
.stat-item:hover { background: rgba(201,168,76,.05); }
.stat-num {
    font-family: 'Cinzel', serif;
    font-size: clamp(2.2rem, 4vw, 3.5rem);
    font-weight: 700; color: var(--gold); line-height: 1;
    margin-bottom: .4rem;
}
.stat-lbl {
    color: rgba(255,255,255,.45);
    font-size: .72rem; letter-spacing: 2.5px;
    text-transform: uppercase; font-weight: 700;
}

/* ================================================
   LAYOUT HELPERS
================================================ */
.container { max-width: 1320px; margin: 0 auto; padding: 0 2rem; }
.section { padding: 6rem 0; }
.eyebrow {
    display: flex; align-items: center; gap: .75rem; justify-content: center;
    color: var(--gold);
    font-size: .72rem; letter-spacing: 3.5px;
    text-transform: uppercase; font-weight: 900;
    margin-bottom: 1rem;
}
.eyebrow::before,
.eyebrow::after { content:''; width:28px; height:1px; background:var(--gold); }
.section-title {
    font-family: 'Playfair Display', serif;
    font-size: clamp(2rem, 4vw, 3.25rem);
    color: var(--navy); text-align: center;
    line-height: 1.2; margin-bottom: 1.25rem;
}
.section-title.light { color: var(--white); }
.section-desc {
    text-align: center; max-width: 700px; margin: 0 auto 4rem;
    color: var(--text-mid); font-size: 1.05rem; line-height: 1.85;
}
.section-desc.light { color: rgba(255,255,255,.65); }
.inline-eyebrow {
    display: flex; align-items: center; gap: .75rem;
    color: var(--gold-dark);
    font-size: .72rem; letter-spacing: 3.5px;
    text-transform: uppercase; font-weight: 900;
    margin-bottom: 1rem;
}
.inline-eyebrow::before { content:''; width:36px; height:2px; background:var(--gold); }

/* Reveal on scroll */
.reveal {
    opacity: 0; transform: translateY(48px);
    transition: opacity .85s var(--ease), transform .85s var(--ease);
}
.reveal.visible { opacity:1; transform:translateY(0); }
.d1 { transition-delay:.14s; }
.d2 { transition-delay:.28s; }
.d3 { transition-delay:.42s; }

/* ================================================
   WELCOME / ABOUT
================================================ */
.welcome { background: var(--cream); }
.welcome-grid {
    display: grid; grid-template-columns: 1fr 1fr;
    gap: 5rem; align-items: center;
}
.welcome-media { position: relative; }
.welcome-img {
    width: 100%; height: 520px;
    object-fit: cover; border-radius: var(--radius-lg);
    box-shadow: var(--shadow-lg);
}
.welcome-badge {
    position: absolute; bottom: -2.5rem; right: -2rem;
    background: linear-gradient(135deg, var(--gold-dark), var(--gold));
    color: var(--navy); padding: 1.75rem;
    border-radius: var(--radius); box-shadow: var(--shadow-md);
    text-align: center; min-width: 130px;
}
.welcome-badge .icon { font-size: 2rem; line-height:1; margin-bottom:.3rem; color: var(--navy); }
.welcome-badge .label { font-size: .72rem; font-weight:900; letter-spacing:1.5px; text-transform:uppercase; }
.welcome-text h2 {
    font-family: 'Playfair Display', serif;
    font-size: clamp(1.8rem, 3.5vw, 2.8rem);
    color: var(--navy); line-height: 1.25; margin-bottom: 1.5rem;
}
.welcome-text p { color: var(--text-mid); font-size: 1.05rem; line-height: 1.85; margin-bottom: 1.25rem; }
.pull-quote {
    border-left: 4px solid var(--gold);
    padding: 1.25rem 1.75rem;
    background: rgba(201,168,76,.07);
    border-radius: 0 12px 12px 0;
    margin: 2rem 0;
}
.pull-quote q {
    font-family: 'Playfair Display', serif;
    font-size: 1.1rem; font-style: italic;
    color: var(--navy); line-height: 1.65;
}
.pull-quote cite {
    display: block; font-style: normal;
    font-weight: 900; color: var(--gold-dark);
    font-size: .8rem; letter-spacing: 1.5px;
    text-transform: uppercase; margin-top: .5rem;
}

/* ================================================
   PILLARS / SERVICES
================================================ */
.pillars { background: var(--navy); position: relative; overflow: hidden; }
.pillars::before {
    content:''; position:absolute; top:-30%; left:-15%;
    width:600px; height:600px;
    background:radial-gradient(circle,rgba(201,168,76,.07) 0%,transparent 70%);
    pointer-events:none;
}
.pillars::after {
    content:''; position:absolute; bottom:-30%; right:-10%;
    width:500px; height:500px;
    background:radial-gradient(circle,rgba(201,168,76,.05) 0%,transparent 70%);
    pointer-events:none;
}
.pillars-grid {
    display:grid; grid-template-columns:repeat(3,1fr);
    gap:2rem; position:relative; z-index:2;
}
.pillar-card {
    background:rgba(255,255,255,.04);
    border:1px solid rgba(201,168,76,.2);
    border-radius:var(--radius-lg);
    padding:3rem 2.5rem; text-align:center;
    position:relative; overflow:hidden;
    transition: transform var(--t) var(--ease), border-color var(--t), box-shadow var(--t) var(--ease);
}
.pillar-card::after {
    content:''; position:absolute; inset:0;
    background:linear-gradient(135deg,rgba(201,168,76,.08),transparent);
    opacity:0; transition:opacity var(--t);
}
.pillar-card:hover {
    transform:translateY(-14px);
    border-color:var(--gold);
    box-shadow:0 24px 60px rgba(0,0,0,.45),0 0 50px rgba(201,168,76,.1);
}
.pillar-card:hover::after { opacity:1; }
.pillar-icon {
    width:82px; height:82px;
    background:linear-gradient(135deg,var(--gold-dark),var(--gold));
    border-radius:50%;
    display:flex; align-items:center; justify-content:center;
    margin:0 auto 2rem;
    font-size:2rem;
    box-shadow:0 8px 28px rgba(201,168,76,.4);
    color: var(--navy);
}
.pillar-card h3 { font-family:'Playfair Display',serif; font-size:1.5rem; color:var(--white); margin-bottom:1rem; }
.pillar-card p { color:rgba(255,255,255,.58); line-height:1.75; font-size:.95rem; }
.pillar-card ul {
    text-align: left; margin-top: 1.25rem;
    display: grid; gap: .5rem;
}
.pillar-card ul li {
    color: rgba(255,255,255,.55);
    font-size: .88rem; line-height: 1.55;
    padding-left: 1.25rem; position: relative;
}
.pillar-card ul li::before {
    content: ''; position: absolute; left: 0; top: .55rem;
    width: 6px; height: 6px; border-radius: 50%;
    background: var(--gold);
}

/* ================================================
   PROCESS
================================================ */
.process-section { background:var(--cream); position:relative; }
.process-section::before {
    content:''; position:absolute; inset:0;
    background:url("data:image/svg+xml,%3Csvg width='80' height='80' viewBox='0 0 80 80' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle cx='40' cy='40' r='2.5' fill='%23c9a84c' fill-opacity='0.04'/%3E%3C/svg%3E");
}
.process-grid {
    position: relative; z-index: 2;
    display: grid; grid-template-columns: repeat(4,1fr); gap: 2rem;
}
.process-card {
    background: var(--white); border-radius: var(--radius-lg);
    padding: 2.5rem 2rem; text-align: center;
    box-shadow: var(--shadow-sm);
    border: 1px solid rgba(201,168,76,.15);
    transition: transform var(--t) var(--ease), box-shadow var(--t) var(--ease);
}
.process-card:hover { transform: translateY(-12px); box-shadow: var(--shadow-lg); }
.process-num {
    width: 52px; height: 52px;
    background: linear-gradient(135deg, var(--gold-dark), var(--gold));
    border-radius: 14px;
    display: flex; align-items: center; justify-content: center;
    color: var(--navy); font-family: 'Cinzel', serif;
    font-size: 1.25rem; font-weight: 700;
    margin: 0 auto 1.25rem;
    box-shadow: 0 4px 16px rgba(201,168,76,.35);
}
.process-card h3 { font-family:'Playfair Display',serif; font-size:1.3rem; color:var(--navy); margin-bottom:.75rem; }
.process-card p { color:var(--text-mid); font-size:.95rem; line-height:1.7; }

/* ================================================
   TESTIMONIALS
================================================ */
.testimonials-section {
    background:linear-gradient(160deg, #f8f2e8 0%, #f4e7cf 55%, #f7efe1 100%);
    position:relative; overflow:hidden;
}
.testimonials-section::before {
    content:''; position:absolute; inset:0;
    background:radial-gradient(circle at 15% 20%, rgba(201,168,76,.14), transparent 38%),
               radial-gradient(circle at 88% 80%, rgba(160,112,48,.1), transparent 36%);
    pointer-events:none;
}
.testimonials-grid {
    position:relative; z-index:2;
    display:grid; grid-template-columns:repeat(3, minmax(0, 1fr));
    gap:1.35rem;
}
.testimonial-card {
    background:rgba(255,255,255,.78);
    border:1px solid rgba(160,112,48,.2);
    border-radius:18px;
    overflow:hidden; padding: 2rem;
    box-shadow:0 14px 36px rgba(0,0,0,.12);
    transition:transform var(--t), box-shadow var(--t), border-color var(--t);
}
.testimonial-card:hover {
    transform:translateY(-8px);
    border-color:rgba(160,112,48,.45);
    box-shadow:0 20px 44px rgba(0,0,0,.18);
}
.testimonial-stars {
    color: var(--gold); font-size: 1.1rem; letter-spacing: 2px;
    margin-bottom: 1rem;
}
.testimonial-card blockquote {
    font-family:'Playfair Display',serif;
    font-size: 1rem; font-style: italic;
    color: var(--navy); line-height: 1.7;
    margin-bottom: 1.25rem;
}
.testimonial-author {
    display: flex; flex-direction: column; gap: .2rem;
    padding-top: 1rem; border-top: 1px solid rgba(201,168,76,.2);
}
.testimonial-author strong {
    color: var(--navy); font-size: .95rem;
}
.testimonial-author span {
    color: var(--gold-dark); font-size: .78rem;
    letter-spacing: 1px; text-transform: uppercase; font-weight: 700;
}

/* ================================================
   NEWSFLASH TICKER
================================================ */
.newsflash { background: var(--navy-mid); border-top: 1px solid var(--border-gold); border-bottom: 1px solid var(--border-gold); }
.newsflash-inner {
    max-width: 1320px; margin: 0 auto; padding: 0 2rem;
    display: flex; align-items: center; gap: 1.25rem;
    height: 52px; overflow: hidden;
}
.newsflash-label {
    display: flex; align-items: center; gap: .5rem;
    color: var(--gold); font-size: .68rem; font-weight: 900;
    letter-spacing: 2px; text-transform: uppercase;
    white-space: nowrap; min-width: max-content;
}
.newsflash-ticker {
    flex: 1; overflow: hidden; position: relative;
}
.newsflash-items {
    display: flex; gap: 3rem;
    animation: ticker-scroll 35s linear infinite;
    width: max-content;
}
.newsflash-item {
    display: flex; align-items: center; gap: .6rem;
    white-space: nowrap;
    color: rgba(255,255,255,.6); font-size: .85rem;
    transition: color var(--t);
}
.newsflash-item:hover { color: var(--gold-light); }
.newsflash-badge {
    display: inline-block;
    background: rgba(201,168,76,.2);
    border: 1px solid rgba(201,168,76,.4);
    color: var(--gold-light);
    font-size: .6rem; font-weight: 900;
    letter-spacing: 1px; text-transform: uppercase;
    padding: .15rem .5rem; border-radius: 4px;
}
@keyframes ticker-scroll {
    0%   { transform: translateX(0); }
    100% { transform: translateX(-50%); }
}

/* ================================================
   CONTACT
================================================ */
.contact-section { background: var(--cream); }
.contact-grid { display:grid; grid-template-columns:1fr 1.3fr; gap:5rem; align-items:start; }
.c-eyebrow {
    display:flex; align-items:center; gap:.75rem;
    color:var(--gold-dark); font-size:.72rem;
    letter-spacing:3.5px; text-transform:uppercase; font-weight:900;
    margin-bottom:1rem;
}
.c-eyebrow::before { content:''; width:36px; height:2px; background:var(--gold); }
.contact-info h2 { font-family:'Playfair Display',serif; font-size:2.5rem; color:var(--navy); line-height:1.25; margin-bottom:1.5rem; }
.contact-info > p { color:var(--text-mid); font-size:1.05rem; line-height:1.8; margin-bottom:2.25rem; }
.cdet { display:flex; align-items:flex-start; gap:1.25rem; margin-bottom:1.5rem; }
.cdet-ico {
    width:50px; height:50px; min-width:50px;
    background:linear-gradient(135deg,var(--gold-dark),var(--gold));
    border-radius:14px;
    display:flex; align-items:center; justify-content:center;
    color:var(--navy); font-size:1.05rem;
    box-shadow:0 4px 16px rgba(201,168,76,.3);
}
.cdet-txt strong { display:block; color:var(--navy); font-weight:900; margin-bottom:.3rem; }
.cdet-txt span, .cdet-txt a { color:var(--text-mid); font-size:.95rem; line-height:1.65; }
.cdet-txt a:hover { color:var(--gold-dark); }
.cf-card {
    background:var(--white); border-radius:var(--radius-lg);
    padding:3.5rem; box-shadow:var(--shadow-md);
    border:1px solid rgba(201,168,76,.15);
}
.cf-card h3 { font-family:'Playfair Display',serif; font-size:1.75rem; color:var(--navy); margin-bottom:.5rem; }
.cf-card > p { color:var(--text-mid); font-size:.95rem; margin-bottom:2rem; }
.f-group { margin-bottom:1.5rem; }
.f-group label { display:block; font-size:.82rem; font-weight:900; color:var(--navy); letter-spacing:.5px; margin-bottom:.45rem; }
.f-group input, .f-group textarea, .f-group select {
    width:100%; padding:.85rem 1.25rem;
    border:2px solid #e5e7eb; border-radius:12px;
    font-family:'Lato',sans-serif; font-size:.95rem;
    color:var(--text); background:var(--cream);
    outline:none;
    transition:border-color .3s, box-shadow .3s;
}
.f-group input:focus, .f-group textarea:focus, .f-group select:focus {
    border-color:var(--gold);
    box-shadow:0 0 0 4px rgba(201,168,76,.12);
}
.f-group textarea { resize:vertical; min-height:140px; }
.f-row { display:grid; grid-template-columns:1fr 1fr; gap:1rem; }
.btn-submit {
    width:100%; padding:1rem 2rem;
    background:linear-gradient(135deg,var(--navy),var(--navy-light));
    color:var(--white); border:none; border-radius:50px;
    font-family:'Lato',sans-serif;
    font-size:.9rem; font-weight:900;
    letter-spacing:1.5px; text-transform:uppercase;
    cursor:pointer;
    transition: transform var(--t) var(--ease), box-shadow var(--t) var(--ease);
    box-shadow:0 6px 22px rgba(7,17,31,.3);
}
.btn-submit:hover { transform:translateY(-3px); box-shadow:0 12px 32px rgba(7,17,31,.42); }
.btn-submit:disabled { opacity:.75; cursor:not-allowed; transform:none; }

/* ================================================
   FOOTER
================================================ */
footer { background:var(--navy); position:relative; overflow:hidden; }
footer::before {
    content:''; position:absolute; top:0; left:0; right:0; height:3px;
    background:linear-gradient(90deg,var(--gold-dark),var(--gold-light),var(--gold-dark));
}
footer::after {
    content:'';
    position:absolute;
    inset:0;
    pointer-events:none;
    background:
        radial-gradient(circle at 8% 14%, rgba(192, 57, 43, 0.12), transparent 34%),
        radial-gradient(circle at 86% 78%, rgba(37, 99, 235, 0.12), transparent 36%);
}
.footer-grid {
    position: relative;
    z-index: 1;
    max-width:1320px; margin:0 auto; padding:4.3rem 2rem 2.15rem;
    display:grid; grid-template-columns:2fr 1fr 1fr 1.5fr; gap:2.2rem;
}
.f-brand .f-logo-row { display:flex; align-items:center; gap:.75rem; margin-bottom:1.5rem; }
.f-brand .f-logo-row img { width:56px; height:56px; object-fit:contain; border-radius:50%; border:2px solid var(--gold); background:var(--white); }
.f-brand .f-logo-row .f-name { font-family:'Cinzel',serif; color:var(--white); font-size:1rem; font-weight:600; display:block; }
.f-brand .f-logo-row .f-sub  { color:var(--gold); font-size:.65rem; letter-spacing:2px; text-transform:uppercase; display:block; }
.f-brand p { color:rgba(255,255,255,.58); font-size:.88rem; line-height:1.65; margin-bottom:1.05rem; max-width: 36ch; }
.f-social { display:flex; gap:.65rem; }
.f-social a {
    width:40px; height:40px;
    background:rgba(255,255,255,.06);
    border:1px solid rgba(255,255,255,.1);
    border-radius:50%;
    display:flex; align-items:center; justify-content:center;
    color:rgba(255,255,255,.78); font-size:.92rem;
    transition:all var(--t) var(--ease);
}
.f-social a:hover {
    background: linear-gradient(135deg, var(--gold-dark), var(--gold-light));
    border-color: var(--gold-light);
    color: var(--navy);
    transform:translateY(-3px);
    box-shadow: 0 10px 20px rgba(201,168,76,.35);
}
.f-col h4 { font-family:'Cinzel',serif; font-size:.75rem; color:var(--gold); letter-spacing:2.5px; text-transform:uppercase; margin-bottom:1rem; }
.f-col ul li { margin-bottom:.52rem; }
.f-col ul li a { color:rgba(255,255,255,.58); font-size:.88rem; display:flex; align-items:center; gap:.45rem; transition:color var(--t), padding-left var(--t); }
.f-col ul li a i { font-size:.65rem; color:var(--gold); }
.f-col ul li a:hover { color:var(--gold-light); padding-left:.25rem; }
.fc-item { display:flex; align-items:flex-start; gap:.75rem; margin-bottom:.68rem; }
.fc-item i { color:var(--gold); width:16px; font-size:.82rem; margin-top:3px; }
.fc-item span, .fc-item a { color:rgba(255,255,255,.58); font-size:.88rem; line-height:1.48; }
.fc-item a:hover { color:var(--gold-light); }
.footer-bottom {
    position: relative;
    z-index: 1;
    border-top:1px solid rgba(255,255,255,.07);
    max-width:1320px; margin:0 auto; padding:1.15rem 2rem;
    display:flex; align-items:center; justify-content:space-between;
    flex-wrap:wrap; gap:1rem;
}
.footer-bottom p { color:rgba(255,255,255,.42); font-size:.8rem; }
.legal { display:flex; gap:1.5rem; }
.legal a { color:rgba(255,255,255,.42); font-size:.8rem; }
.legal a:hover { color:var(--gold); }

/* ================================================
   BACK TO TOP
================================================ */
.back-top {
    position:fixed; bottom:2rem; right:2rem;
    width:50px; height:50px;
    background:linear-gradient(135deg,var(--gold-dark),var(--gold));
    color:var(--navy); border-radius:50%;
    display:flex; align-items:center; justify-content:center;
    font-size:1.1rem; border:none; cursor:pointer;
    box-shadow:0 4px 22px rgba(201,168,76,.5);
    opacity:0; visibility:hidden; transform:translateY(20px);
    transition:all var(--t) var(--ease); z-index:900;
}
.back-top.visible { opacity:1; visibility:visible; transform:translateY(0); }
.back-top:hover { transform:translateY(-4px); box-shadow:0 10px 32px rgba(201,168,76,.6); }

/* ================================================
   CHAT WIDGET
================================================ */
.chat-widget { position: fixed; bottom: 2rem; right: 5rem; z-index: 950; }
.chat-button {
    width: 56px; height: 56px; border-radius: 50%;
    background: linear-gradient(135deg, var(--gold-dark), var(--gold));
    color: var(--navy); border: none; cursor: pointer;
    display: flex; align-items: center; justify-content: center;
    box-shadow: 0 6px 24px rgba(201,168,76,.45);
    transition: transform var(--t), box-shadow var(--t);
    position: relative;
}
.chat-button:hover { transform: translateY(-3px) scale(1.05); box-shadow: 0 10px 32px rgba(201,168,76,.6); }
.chat-icon { display: block; }
.chat-close-icon { display: none; }
.chat-button.active .chat-icon { display: none; }
.chat-button.active .chat-close-icon { display: block; }
.chat-notification {
    position: absolute; top: -4px; right: -4px;
    width: 20px; height: 20px; border-radius: 50%;
    background: #e53e3e; color: white;
    font-size: .7rem; font-weight: 900;
    display: flex; align-items: center; justify-content: center;
    animation: pulse-notif 2s ease-in-out infinite;
}
@keyframes pulse-notif { 0%,100% { transform: scale(1); } 50% { transform: scale(1.15); } }
.chat-window {
    position: absolute; bottom: 70px; right: 0;
    width: 360px; max-height: 500px;
    background: var(--white); border-radius: var(--radius-lg);
    box-shadow: 0 20px 60px rgba(0,0,0,.2);
    border: 1px solid rgba(201,168,76,.2);
    display: none; flex-direction: column;
    overflow: hidden;
}
.chat-window.open { display: flex; }
.chat-header {
    background: var(--navy);
    padding: 1rem 1.25rem;
    display: flex; align-items: center; justify-content: space-between;
    border-bottom: 2px solid var(--gold);
}
.chat-header-info { display: flex; align-items: center; gap: .75rem; }
.chat-avatar {
    width: 38px; height: 38px; border-radius: 50%;
    background: rgba(201,168,76,.2);
    display: flex; align-items: center; justify-content: center;
    color: var(--gold);
}
.chat-header-text h4 { color: var(--white); font-size: .9rem; font-family: 'Cinzel', serif; }
.chat-status { color: #48bb78; font-size: .72rem; font-weight: 700; }
.chat-minimize {
    background: none; border: none; color: rgba(255,255,255,.6);
    cursor: pointer; padding: .25rem;
    transition: color var(--t);
}
.chat-minimize:hover { color: var(--gold-light); }
.chat-messages {
    flex: 1; padding: 1rem; overflow-y: auto;
    max-height: 300px; background: var(--cream);
}
.chat-message { display: flex; gap: .5rem; margin-bottom: .75rem; }
.message-avatar {
    width: 28px; height: 28px; min-width: 28px; border-radius: 50%;
    background: var(--navy); color: var(--gold);
    display: flex; align-items: center; justify-content: center;
}
.message-avatar svg { width: 14px; height: 14px; }
.message-content {
    background: var(--white); padding: .75rem 1rem;
    border-radius: 0 12px 12px 12px;
    box-shadow: var(--shadow-sm);
    max-width: 85%;
}
.message-content p { font-size: .88rem; color: var(--text); line-height: 1.55; }
.message-time { font-size: .68rem; color: var(--text-light); margin-top: .25rem; display: block; }
.user-message .message-content {
    background: var(--navy); color: var(--white);
    border-radius: 12px 0 12px 12px; margin-left: auto;
}
.user-message .message-content p { color: var(--white); }
.user-message { flex-direction: row-reverse; }
.quick-replies { display: flex; flex-wrap: wrap; gap: .4rem; padding: .5rem 0; }
.quick-reply-btn {
    background: rgba(201,168,76,.1); border: 1px solid rgba(201,168,76,.3);
    color: var(--navy); font-size: .78rem; font-weight: 700;
    padding: .4rem .75rem; border-radius: 999px; cursor: pointer;
    transition: all var(--t);
}
.quick-reply-btn:hover { background: var(--gold); color: var(--navy); }
.chat-input-wrapper {
    padding: .75rem 1rem; border-top: 1px solid rgba(201,168,76,.15);
    background: var(--white);
}
.chat-form { display: flex; gap: .5rem; }
.chat-input {
    flex: 1; padding: .6rem 1rem;
    border: 2px solid #e5e7eb; border-radius: 999px;
    font-family: 'Lato', sans-serif; font-size: .88rem;
    outline: none; background: var(--cream);
    transition: border-color .3s;
}
.chat-input:focus { border-color: var(--gold); }
.chat-send-btn {
    width: 38px; height: 38px; border-radius: 50%;
    background: var(--navy); color: var(--gold);
    border: none; cursor: pointer;
    display: flex; align-items: center; justify-content: center;
    transition: background var(--t);
}
.chat-send-btn:hover { background: var(--navy-light); }
.chat-footer-text { text-align: center; font-size: .68rem; color: var(--text-light); margin-top: .35rem; }

/* ================================================
   RESPONSIVE
================================================ */
@media (max-width:1100px) {
    .welcome-grid          { grid-template-columns:1fr; gap:3.5rem; }
    .welcome-badge         { right:1rem; }
    .pillars-grid          { grid-template-columns:1fr; gap:1.5rem; }
    .process-grid          { grid-template-columns:repeat(2,1fr); }
    .testimonials-grid     { grid-template-columns:1fr; }
    .contact-grid          { grid-template-columns:1fr; gap:3rem; }
    .footer-grid           { grid-template-columns:1fr 1fr; gap:2.5rem; }
}
@media (max-width:768px) {
    .section               { padding:5rem 0; }
    .nav-links             { display:none; }
    .hamburger             { display:flex; }
    .hero-controls         { bottom: 6.6rem; }
    .stats-grid            { grid-template-columns:repeat(2,1fr); }
    .stat-item             { border-right:none; border-bottom:1px solid rgba(255,255,255,.07); }
    .stat-item:nth-child(odd) { border-right:1px solid rgba(255,255,255,.07); }
    .stat-item:nth-child(3),
    .stat-item:nth-child(4)   { border-bottom:none; }
    .process-grid          { grid-template-columns:1fr; }
    .footer-grid           { grid-template-columns:1fr; gap:2rem; }
    .footer-bottom         { flex-direction:column; text-align:center; }
    .legal                 { flex-wrap:wrap; justify-content:center; gap:1rem; }
    .hero-btns             { flex-direction:column; align-items:center; }
    .cf-card               { padding:2rem; }
    .f-row                 { grid-template-columns:1fr; }
    .chat-window           { width: min(92vw, 360px); right: -1rem; }
}
@media (max-width:480px) {
    .container, .navbar    { padding:0 1.25rem; }
    .hero-content          { padding:7rem 1.25rem 4rem; }
    .hero-controls         { bottom: 6rem; }
    .hero-nav              { width: 36px; height: 36px; }
    .hero-dot              { width: 10px; height: 10px; }
}


/* ================================================
   BLOG — HERO (Slider + Floating Panel)
================================================ */
.blog-hero {
    position: relative;
    min-height: 100svh;
    min-height: 100vh;
    min-height: 700px;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    color: var(--white);
    padding: 120px 6% 70px;
    overflow: hidden;
    background: var(--navy);
}
.blog-hero::before {
    content: '';
    position: absolute; inset: 0;
    background:
        radial-gradient(circle at 10% 20%, rgba(201,168,76,.12) 0%, transparent 42%),
        radial-gradient(circle at 85% 75%, rgba(14,31,56,.5) 0%, transparent 48%),
        linear-gradient(115deg, rgba(7,17,31,.85) 0%, rgba(14,31,56,.45) 50%, rgba(30,12,20,.3) 100%);
    pointer-events: none; z-index: 0;
}
.blog-hero::after {
    content: '';
    position: absolute; inset: 0;
    background-image: radial-gradient(rgba(255,255,255,.07) 1px, transparent 1px);
    background-size: 3px 3px;
    opacity: .06;
    pointer-events: none; z-index: 0;
}

/* Layout Grid */
.blog-hero-layout {
    --bh-panel-height: 540px;
    width: min(1380px, 100%);
    display: grid;
    grid-template-columns: minmax(0,1.65fr) minmax(340px,1fr);
    gap: 28px;
    align-items: stretch;
    position: relative; z-index: 2;
}
.blog-hero-layout::after {
    content: '';
    position: absolute;
    top: 14%; bottom: 14%;
    left: calc(62% + 14px);
    width: 1px;
    background: linear-gradient(to bottom, rgba(255,255,255,0) 0%, rgba(255,255,255,.5) 22%, rgba(201,168,76,.55) 50%, rgba(255,255,255,.5) 78%, rgba(255,255,255,0) 100%);
    box-shadow: 0 0 20px rgba(201,168,76,.3);
    pointer-events: none; opacity: .75;
}

/* Slider Column */
.blog-hero-slider {
    position: relative;
    min-height: var(--bh-panel-height);
    height: 100%;
    border-radius: 28px;
    overflow: hidden;
    box-shadow: 0 24px 56px rgba(0,0,0,.4);
    border: 1px solid rgba(255,255,255,.15);
    transition: transform .35s ease, box-shadow .35s ease;
    touch-action: pan-y;
    -webkit-user-select: none; user-select: none;
}
.blog-hero-slider::before {
    content: '';
    position: absolute; top: 0; left: 0; right: 0; height: 3px;
    background: linear-gradient(90deg, rgba(255,255,255,0) 0%, rgba(201,168,76,.9) 45%, rgba(255,255,255,0) 100%);
    z-index: 4; pointer-events: none;
}
.blog-hero-slider:hover {
    transform: translateY(-4px);
    box-shadow: 0 30px 62px rgba(0,0,0,.45);
}
.blog-hero-slider:focus-visible {
    outline: 2px solid rgba(255,255,255,.9);
    outline-offset: 4px;
}

/* Slides */
.bh-slider-container {
    position: absolute; top: 0; left: 0; width: 100%; height: 100%;
    overflow: hidden; z-index: 1;
}
.bh-slider { position: relative; width: 100%; height: 100%; }
.bh-slide {
    position: absolute; width: 100%; height: 100%;
    opacity: 0;
    transition: opacity 1.2s cubic-bezier(.22,1,.36,1);
    will-change: opacity;
}
.bh-slide.active { opacity: 1; }
.bh-slide img {
    width: 100%; height: 100%;
    object-fit: cover;
    transform: scale(1.08);
}
.bh-slide.active img {
    animation: bhZoomOut 5800ms ease-out forwards;
}
@keyframes bhZoomOut {
    0% { transform: scale(1.08); }
    100% { transform: scale(1); }
}

/* Overlay */
.bh-overlay {
    position: absolute; inset: 0;
    background: linear-gradient(130deg, rgba(7,17,31,.4) 0%, rgba(14,31,56,.2) 38%, rgba(201,168,76,.08) 72%, rgba(0,0,0,.3) 100%);
    z-index: 1;
}

/* Nav Arrows */
.bh-nav-arrow {
    position: absolute; top: 50%; transform: translateY(-50%);
    background: rgba(255,255,255,.1);
    border: 1px solid rgba(255,255,255,.2);
    color: var(--white);
    width: 56px; height: 56px;
    border-radius: 50%;
    display: flex; align-items: center; justify-content: center;
    cursor: pointer; z-index: 3;
    transition: all .4s cubic-bezier(.4,0,.2,1);
    backdrop-filter: blur(15px);
    -webkit-backdrop-filter: blur(15px);
    box-shadow: 0 8px 32px rgba(0,0,0,.3);
}
.bh-nav-arrow:hover {
    background: rgba(201,168,76,.85);
    border-color: rgba(255,255,255,.4);
    transform: translateY(-50%) scale(1.15);
    box-shadow: 0 12px 40px rgba(201,168,76,.4);
}
.bh-nav-arrow.bh-prev { left: 20px; }
.bh-nav-arrow.bh-next { right: 20px; }
.bh-nav-arrow i { font-size: 1.3rem; transition: transform .3s ease; }
.bh-nav-arrow:hover i { transform: scale(1.2); }
.bh-nav-arrow.bh-prev:hover i { transform: translateX(-3px) scale(1.2); }
.bh-nav-arrow.bh-next:hover i { transform: translateX(3px) scale(1.2); }

/* Progress */
.bh-progress {
    position: absolute; left: 22px; right: 22px; bottom: 18px;
    z-index: 4;
    display: flex; align-items: center; justify-content: space-between;
    gap: 16px; pointer-events: none;
}
.bh-progress-dots {
    display: inline-flex; align-items: center; gap: 8px;
    pointer-events: auto;
}
.bh-progress-dot {
    width: 8px; height: 8px; border: 0;
    border-radius: 999px;
    background: rgba(255,255,255,.45);
    cursor: pointer; padding: 0;
    transition: width .28s ease, background-color .28s ease, transform .28s ease;
}
.bh-progress-dot.active {
    width: 24px;
    background: rgba(255,255,255,.95);
}
.bh-progress-dot:hover {
    transform: scale(1.08);
    background: rgba(255,255,255,.85);
}
.bh-progress-track {
    flex: 1; height: 3px; border-radius: 999px;
    background: rgba(255,255,255,.22);
    overflow: hidden; position: relative;
}
.bh-progress-bar {
    width: 0; height: 100%; border-radius: inherit;
    background: linear-gradient(90deg, rgba(255,255,255,.7) 0%, rgba(201,168,76,.95) 100%);
}
@keyframes bhProgressCountdown {
    from { width: 0; }
    to   { width: 100%; }
}

/* Content Panel */
.blog-hero-content {
    position: relative; z-index: 2;
    max-width: none;
    min-height: var(--bh-panel-height);
    height: 100%;
    padding: 48px 36px;
    margin: 0;
    text-align: left;
    display: flex; flex-direction: column;
    justify-content: center; gap: 10px;
    background: linear-gradient(152deg, rgba(7,17,31,.92) 0%, rgba(14,31,56,.94) 62%, rgba(30,18,12,.88) 100%);
    backdrop-filter: blur(30px);
    -webkit-backdrop-filter: blur(30px);
    border-radius: 30px;
    border: 1px solid rgba(255,255,255,.2);
    box-shadow: 0 25px 60px rgba(0,0,0,.45),
                inset 0 1px 0 rgba(255,255,255,.25);
    animation: bhFadeInUp 1s ease-out both;
    transition: transform .35s ease, box-shadow .35s ease;
}
.blog-hero-content::before {
    content: '';
    position: absolute; top: -2px; left: -2px; right: -2px; bottom: -2px;
    background: linear-gradient(135deg, rgba(255,255,255,.25) 0%, rgba(255,255,255,.04) 50%, rgba(255,255,255,.25) 100%);
    border-radius: 30px; z-index: -1;
    opacity: 0; transition: opacity .4s ease;
}
.blog-hero-content:hover::before { opacity: 1; }
.blog-hero-content::after {
    content: '';
    position: absolute; left: 24px; right: 24px; bottom: 16px; height: 1px;
    background: linear-gradient(90deg, rgba(255,255,255,.06) 0%, rgba(201,168,76,.6) 50%, rgba(255,255,255,.06) 100%);
    pointer-events: none;
}
.blog-hero-content:hover {
    transform: translateY(-4px);
    box-shadow: 0 30px 64px rgba(0,0,0,.5), inset 0 1px 0 rgba(255,255,255,.25);
}

/* Kicker */
.bh-kicker {
    display: inline-flex; align-items: center; gap: 10px;
    margin-bottom: 8px;
    color: rgba(255,255,255,.82);
    font-family: 'Cinzel', serif;
    font-size: .78rem; letter-spacing: .18em;
    text-transform: uppercase; font-weight: 600;
}
.bh-kicker::before {
    content: '';
    width: 30px; height: 1px;
    background: linear-gradient(90deg, rgba(255,255,255,.2), rgba(201,168,76,.95));
    border-radius: 999px;
}

/* Title & Subtitle inside panel */
.blog-hero-content .blog-hero-title {
    font-family: 'Cinzel', serif;
    font-size: clamp(2rem, 3.4vw, 3rem);
    color: var(--white); line-height: 1.1;
    font-weight: 700; margin-bottom: 12px;
    text-shadow: 0 8px 28px rgba(0,0,0,.35);
    text-wrap: balance;
}
.blog-hero-title .accent { color: var(--gold-light); }
.blog-hero-content .blog-hero-subtitle {
    font-family: 'Playfair Display', serif;
    font-size: clamp(1rem, 1.2vw, 1.14rem);
    color: rgba(255,255,255,.88);
    font-style: italic;
    margin: 0 0 20px;
    max-width: 42ch;
    font-weight: 400; line-height: 1.75;
    text-wrap: pretty;
}

/* Search inside panel */
.blog-search-wrap {
    max-width: 540px;
    position: relative;
}
.blog-search-icon {
    position: absolute; left: 1.5rem; top: 50%;
    transform: translateY(-50%);
    color: var(--gold); font-size: .95rem;
    pointer-events: none;
}
.blog-search-input {
    width: 100%; padding: 1rem 1.5rem 1rem 3.25rem;
    border: 2px solid rgba(201,168,76,.35);
    border-radius: 14px;
    background: rgba(7,17,31,.6);
    backdrop-filter: blur(12px);
    color: var(--white);
    font-family: 'Lato', sans-serif; font-size: .95rem;
    outline: none;
    transition: border-color var(--t), box-shadow var(--t), background var(--t);
}
.blog-search-input::placeholder { color: rgba(255,255,255,.4); }
.blog-search-input:focus {
    border-color: var(--gold);
    box-shadow: 0 0 0 4px rgba(201,168,76,.15);
    background: rgba(7,17,31,.75);
}

/* Stagger Animations */
.blog-hero-content .bh-kicker,
.blog-hero-content .blog-hero-title,
.blog-hero-content .blog-hero-subtitle,
.blog-hero-content .blog-search-wrap {
    opacity: 0; transform: translateY(14px);
    animation: bhItemIn .7s cubic-bezier(.22,1,.36,1) forwards;
}
.blog-hero-content .bh-kicker       { animation-delay: .2s; }
.blog-hero-content .blog-hero-title  { animation-delay: .35s; }
.blog-hero-content .blog-hero-subtitle { animation-delay: .5s; }
.blog-hero-content .blog-search-wrap { animation-delay: .65s; }

@keyframes bhItemIn {
    from { opacity: 0; transform: translateY(14px); }
    to   { opacity: 1; transform: translateY(0); }
}
@keyframes bhFadeInUp {
    0%   { opacity: 0; transform: translateY(40px); }
    100% { opacity: 1; transform: translateY(0); }
}

/* Scroll Indicator */
.bh-scroll-indicator {
    position: absolute; bottom: 24px; left: 50%;
    transform: translateX(-50%); z-index: 3;
    display: flex; flex-direction: column;
    align-items: center; gap: 10px;
    animation: bhFadeInUp 1s ease-out 1s both;
}
.bh-scroll-indicator span {
    color: var(--white);
    font-size: .85rem; font-weight: 500;
    letter-spacing: 1px; text-transform: uppercase;
    opacity: .85;
}
.bh-mouse {
    width: 26px; height: 42px;
    border: 2px solid rgba(255,255,255,.7);
    border-radius: 20px;
    position: relative;
    display: flex; justify-content: center;
    padding-top: 8px;
}
.bh-mouse::before {
    content: '';
    width: 3px; height: 9px;
    background: var(--white);
    border-radius: 2px;
    animation: bhScroll 2s infinite;
}
@keyframes bhScroll {
    0%   { opacity: 1; transform: translateY(0); }
    100% { opacity: 0; transform: translateY(14px); }
}

@media (prefers-reduced-motion: reduce) {
    .blog-hero-content .bh-kicker,
    .blog-hero-content .blog-hero-title,
    .blog-hero-content .blog-hero-subtitle,
    .blog-hero-content .blog-search-wrap {
        animation: none; opacity: 1; transform: none;
    }
    .bh-slide img { transform: none; }
    .bh-slide.active img { animation: none; }
}

/* ================================================
   BLOG — CATEGORIES
================================================ */
.blog-categories {
    background: var(--navy);
    border-bottom: 1px solid var(--border-gold);
    position: sticky; top: 0; z-index: 100;
}
.category-filters {
    display: flex; gap: .5rem;
    padding: 1rem 0;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
}
.category-filters::-webkit-scrollbar { display: none; }
.cat-btn {
    display: inline-flex; align-items: center; gap: .45rem;
    white-space: nowrap;
    background: rgba(255,255,255,.04);
    border: 1px solid rgba(255,255,255,.1);
    border-radius: 999px;
    color: rgba(255,255,255,.75);
    font-size: .8rem; font-weight: 700;
    letter-spacing: .5px;
    padding: .65rem 1.15rem;
    cursor: pointer;
    transition: all var(--t);
}

/* ================================================
   HOMEPAGE REVAMP 2026 (SCOPED)
================================================ */
.site-home {
    --dm-bg: #f4f5f7;
    --dm-surface: #ffffff;
    --dm-ink: #1e293b;
    --dm-muted: #4b5563;
    --dm-brand: #c0392b;
    --dm-brand-2: #e74c3c;
    --dm-highlight: #2563eb;
    --dm-border: rgba(30, 41, 59, 0.12);
    --dm-shadow: 0 20px 50px rgba(30, 41, 59, 0.12);
    background:
        radial-gradient(circle at 8% 0%, rgba(192, 57, 43, 0.08), transparent 32%),
        radial-gradient(circle at 90% 18%, rgba(37, 99, 235, 0.06), transparent 28%),
        linear-gradient(180deg, #f8f9fa 0%, #f1f3f5 38%, #ffffff 100%);
    color: var(--dm-ink);
    font-family: 'Lato', sans-serif;
}

.site-home .dm-nav {
    background: rgba(255, 255, 255, 0.82);
    border-bottom: 1px solid var(--dm-border);
    backdrop-filter: blur(14px);
}

.site-home .dm-navbar {
    max-width: 1240px;
}

.site-home .dm-brand img {
    border-color: rgba(192, 57, 43, 0.25);
    background: #ffffff;
}

.site-home .dm-brand .name {
    color: #1e293b;
    text-shadow: none;
}

.site-home .dm-brand .sub {
    color: var(--dm-brand);
    -webkit-text-fill-color: initial;
    background: none;
}

.site-home .dm-nav-links a {
    color: #1f2937;
    font-size: 0.77rem;
}

.site-home .dm-nav-links a::after {
    background: var(--dm-brand);
}

.site-home .dm-nav-links a:hover,
.site-home .dm-nav-links a.active {
    color: var(--dm-brand);
}

.site-home .dm-nav-cta {
    background: linear-gradient(135deg, var(--dm-brand), var(--dm-brand-2));
    color: #ffffff;
    border-radius: 999px;
    box-shadow: 0 12px 30px rgba(192, 57, 43, 0.24);
}

.site-home .dm-nav-cta:hover {
    color: #ffffff;
}

.site-home .dm-hamburger {
    background: #ffffff;
    border-color: rgba(192, 57, 43, 0.22);
}

.site-home .dm-hamburger span {
    background: #1e293b;
}

.site-home .dm-mobile-drawer {
    background: #1e293b;
}

.site-home .dm-mobile-drawer a {
    color: rgba(255, 255, 255, 0.9);
}

.dm-hero {
    position: relative;
    min-height: 100vh;
    padding: 8.6rem 0 5rem;
    overflow: hidden;
}

/* ── Hero Image Slider ── */
.dm-hero-slider {
    position: absolute;
    inset: 0;
    z-index: 0;
}

.dm-slide {
    position: absolute;
    inset: 0;
    background-size: cover;
    background-position: center;
    opacity: 0;
    transition: opacity 1.2s ease-in-out;
    will-change: opacity;
}

.dm-slide.active {
    opacity: 1;
}

.dm-slide-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(
        135deg,
        rgba(255, 255, 255, 0.55) 0%,
        rgba(248, 250, 252, 0.42) 40%,
        rgba(239, 246, 255, 0.38) 100%
    );
    z-index: 1;
    transition: background 1.1s ease;
}

/* ── Adaptive contrast: text transitions ── */
.dm-hero-copy h1,
.dm-hero-sub,
.dm-kicker,
.dm-hero-badges li,
.dm-hero-badges i,
.dm-btn-secondary {
    transition: color 0.9s ease, text-shadow 0.9s ease,
                background 0.9s ease, border-color 0.9s ease,
                backdrop-filter 0.9s ease;
}
.dm-kicker::before {
    transition: background 0.9s ease;
}

/* Dark image → use light text */
.dm-hero[data-hero-theme="dark"] .dm-slide-overlay {
    background: linear-gradient(
        105deg,
        rgba(0, 0, 0, 0.54) 0%,
        rgba(0, 0, 0, 0.28) 45%,
        rgba(0, 0, 0, 0.06) 100%
    );
}
.dm-hero[data-hero-theme="dark"] .dm-hero-copy h1 {
    color: #f8fafc;
    text-shadow: 0 2px 20px rgba(0, 0, 0, 0.80), 0 0 4px rgba(0, 0, 0, 0.55);
}
.dm-hero[data-hero-theme="dark"] .dm-hero-sub {
    color: #e2e8f0;
    text-shadow: 0 1px 12px rgba(0, 0, 0, 0.70);
}
.dm-hero[data-hero-theme="dark"] .dm-kicker {
    color: #fca5a5;
}
.dm-hero[data-hero-theme="dark"] .dm-kicker::before {
    background: #fca5a5;
}
.dm-hero[data-hero-theme="dark"] .dm-hero-badges li {
    color: #f1f5f9;
}
.dm-hero[data-hero-theme="dark"] .dm-hero-badges i {
    color: #fca5a5;
}
.dm-hero[data-hero-theme="dark"] .dm-btn-secondary {
    border-color: rgba(255, 255, 255, 0.45);
    background: rgba(255, 255, 255, 0.10);
    color: #f1f5f9;
    backdrop-filter: blur(4px);
}

/* Light image → reinforce dark text */
.dm-hero[data-hero-theme="light"] .dm-slide-overlay {
    background: linear-gradient(
        135deg,
        rgba(255, 255, 255, 0.62) 0%,
        rgba(248, 250, 252, 0.42) 40%,
        rgba(239, 246, 255, 0.20) 100%
    );
}
.dm-hero[data-hero-theme="light"] .dm-hero-copy h1 {
    color: #1e293b;
    text-shadow: 0 1px 12px rgba(255, 255, 255, 0.90), 0 0 2px rgba(255, 255, 255, 0.65);
}
.dm-hero[data-hero-theme="light"] .dm-hero-sub {
    color: #1e293b;
    text-shadow: 0 1px 8px rgba(255, 255, 255, 0.85);
}
.dm-hero[data-hero-theme="light"] .dm-kicker {
    color: var(--dm-brand);
}
.dm-hero[data-hero-theme="light"] .dm-kicker::before {
    background: var(--dm-brand);
}
.dm-hero[data-hero-theme="light"] .dm-hero-badges li {
    color: #1e293b;
}
.dm-hero[data-hero-theme="light"] .dm-hero-badges i {
    color: var(--dm-brand);
}
.dm-hero[data-hero-theme="light"] .dm-btn-secondary {
    border-color: rgba(192, 57, 43, 0.25);
    background: #ffffff;
    color: #1e293b;
}

.dm-slide-dots {
    position: absolute;
    bottom: 1.5rem;
    left: 50%;
    transform: translateX(-50%);
    display: flex;
    gap: 0.55rem;
    z-index: 3;
}

.dm-dot {
    width: 10px;
    height: 10px;
    border-radius: 50%;
    border: 2px solid var(--dm-brand);
    background: transparent;
    cursor: pointer;
    padding: 0;
    transition: background 0.3s ease, transform 0.3s ease;
}

.dm-dot.active {
    background: var(--dm-brand);
    transform: scale(1.25);
}

.dm-dot:hover {
    background: var(--dm-brand);
}

.dm-hero-bg {
    position: absolute;
    inset: 0;
    background:
        radial-gradient(circle at var(--x, 50%) var(--y, 45%), rgba(192, 57, 43, 0.10), transparent 28%),
        radial-gradient(circle at 72% 22%, rgba(37, 99, 235, 0.07), transparent 24%),
        linear-gradient(130deg, rgba(255, 255, 255, 0.32) 0%, rgba(248, 250, 252, 0.22) 45%, rgba(239, 246, 255, 0.28) 100%);
}

.dm-hero::before {
    content: '';
    position: absolute;
    left: -110px;
    bottom: -180px;
    width: 500px;
    height: 500px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(192, 57, 43, 0.10), transparent 70%);
}

.dm-hero-grid {
    position: relative;
    z-index: 2;
    display: grid;
    grid-template-columns: 1.2fr 0.95fr;
    gap: 2rem;
    align-items: center;
}

.dm-kicker {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    font-size: 0.74rem;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    font-weight: 900;
    color: var(--dm-brand);
    margin-bottom: 1.2rem;
}

.dm-kicker::before {
    content: '';
    width: 30px;
    height: 2px;
    background: var(--dm-brand);
}

.dm-hero-copy h1 {
    font-family: 'Cinzel', serif;
    font-size: clamp(2.4rem, 5vw, 4.1rem);
    line-height: 1.04;
    color: #1e293b;
    margin-bottom: 1.1rem;
    text-shadow: 0 1px 12px rgba(255,255,255,0.85), 0 0 2px rgba(255,255,255,0.6);
    max-width: 16ch;
}

.dm-hero-sub {
    color: #1e293b;
    max-width: 58ch;
    font-size: 1.04rem;
    line-height: 1.8;
    margin-bottom: 1.6rem;
    text-shadow: 0 1px 8px rgba(255,255,255,0.8);
}

.dm-hero-actions {
    display: flex;
    align-items: center;
    gap: 0.9rem;
    flex-wrap: wrap;
    margin-bottom: 1.5rem;
}

.dm-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0.88rem 1.5rem;
    border-radius: 999px;
    font-size: 0.83rem;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    font-weight: 900;
    transition: transform 0.25s ease, box-shadow 0.25s ease, background 0.25s ease;
}

.dm-btn-primary {
    background: linear-gradient(135deg, var(--dm-brand), var(--dm-brand-2));
    color: #ffffff;
    box-shadow: 0 14px 26px rgba(192, 57, 43, 0.24);
}

.dm-btn-primary:hover {
    color: #ffffff;
    transform: translateY(-3px);
}

.dm-btn-secondary {
    border: 1px solid rgba(192, 57, 43, 0.25);
    background: #ffffff;
    color: #1e293b;
}

.dm-btn-secondary:hover {
    transform: translateY(-3px);
    color: var(--dm-brand);
    border-color: var(--dm-brand);
}

.dm-hero-badges {
    display: flex;
    flex-wrap: wrap;
    gap: 0.7rem 1.1rem;
}

.dm-hero-badges li {
    font-size: 0.86rem;
    color: #1e293b;
    font-weight: 700;
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
}

.dm-hero-badges i {
    color: var(--dm-brand);
}

.dm-hero-panel {
    background: rgba(15, 23, 42, 0.94);
    color: #e5e7eb;
    border-radius: 24px;
    padding: 1.7rem;
    border: 1px solid rgba(255, 255, 255, 0.12);
    box-shadow: 0 30px 60px rgba(2, 6, 23, 0.35);
}

.dm-panel-label {
    font-size: 0.74rem;
    text-transform: uppercase;
    letter-spacing: 0.18em;
    color: #f8fafc;
    margin-bottom: 1rem;
    font-weight: 900;
}

.dm-panel-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 0.8rem;
    margin-top: 0.9rem;
    font-size: 0.9rem;
}

.dm-panel-row strong {
    color: #3b82f6;
    font-size: 1rem;
}

.dm-meter {
    margin-top: 0.45rem;
    height: 8px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.12);
    overflow: hidden;
}

.dm-meter span {
    display: block;
    width: var(--w);
    height: 100%;
    background: linear-gradient(90deg, #3b82f6, #60a5fa);
}

.dm-panel-foot {
    margin-top: 1.1rem;
    font-size: 0.83rem;
    color: rgba(229, 231, 235, 0.82);
    line-height: 1.6;
}

.dm-section {
    padding: 4.9rem 0;
}

.site-home .dm-about {
    background:
        radial-gradient(circle at 8% 30%, rgba(192, 57, 43, 0.06), transparent 34%),
        linear-gradient(180deg, #f8f9fa 0%, #f1f3f5 100%);
}

.site-home .dm-results {
    background:
        radial-gradient(circle at 88% 15%, rgba(37, 99, 235, 0.07), transparent 36%),
        linear-gradient(180deg, #f8f9fa 0%, #eef1f5 100%);
}

.site-home .dm-testimonials {
    background:
        radial-gradient(circle at 12% 18%, rgba(192, 57, 43, 0.06), transparent 34%),
        linear-gradient(180deg, #f8f9fa 0%, #eef2f7 100%);
}

.dm-section h2 {
    font-family: 'Playfair Display', serif;
    font-size: clamp(2rem, 4vw, 3rem);
    line-height: 1.2;
    color: #1e293b;
    margin-bottom: 1rem;
}

.dm-center {
    text-align: center;
}

.dm-label {
    color: var(--dm-brand);
    font-weight: 900;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    font-size: 0.72rem;
    margin-bottom: 0.9rem;
}

.dm-about-grid {
    display: grid;
    grid-template-columns: 1.1fr 1fr;
    gap: 2rem;
    align-items: start;
}

.dm-about-grid p {
    color: #334155;
    line-height: 1.8;
    margin-bottom: 0.9rem;
}

.dm-about-cards {
    display: grid;
    gap: 1rem;
}

.dm-mini-card {
    padding: 1.25rem;
    background: var(--dm-surface);
    border: 1px solid var(--dm-border);
    border-radius: 16px;
    box-shadow: var(--dm-shadow);
}

.dm-mini-card i {
    color: var(--dm-brand);
    font-size: 1.2rem;
    margin-bottom: 0.6rem;
}

.dm-mini-card h3 {
    color: #1e293b;
    margin-bottom: 0.45rem;
    font-size: 1.06rem;
}

.dm-mini-card p {
    color: #475569;
    font-size: 0.92rem;
    line-height: 1.7;
}

.dm-services {
    background: linear-gradient(170deg, #1e293b 0%, #2d3748 50%, #1a1a2e 100%);
}

.dm-services .dm-label,
.dm-services h2 {
    color: #f8fafc;
}

.dm-services-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1rem;
    margin-top: 2rem;
}

.dm-service-card {
    background: rgba(255, 255, 255, 0.06);
    border: 1px solid rgba(255, 255, 255, 0.14);
    border-radius: 18px;
    padding: 1.45rem;
    color: #e2e8f0;
    transition: transform 0.3s ease, border-color 0.3s ease;
}

.dm-service-card:hover {
    transform: translateY(-8px);
    border-color: rgba(59, 130, 246, 0.58);
}

.dm-service-head {
    display: flex;
    align-items: center;
    gap: 0.6rem;
    margin-bottom: 0.8rem;
}

.dm-service-head i {
    color: #3b82f6;
    font-size: 1.2rem;
}

.dm-service-head h3 {
    font-size: 1.05rem;
    color: #ffffff;
    line-height: 1.4;
}

.dm-service-card p {
    color: rgba(226, 232, 240, 0.86);
    line-height: 1.7;
    font-size: 0.93rem;
}

.dm-service-card ul {
    margin-top: 0.9rem;
    display: grid;
    gap: 0.5rem;
}

.dm-service-card li {
    position: relative;
    padding-left: 1rem;
    color: rgba(226, 232, 240, 0.82);
    font-size: 0.86rem;
}

.dm-service-card li::before {
    content: '';
    position: absolute;
    left: 0;
    top: 0.55rem;
    width: 5px;
    height: 5px;
    border-radius: 50%;
    background: #3b82f6;
}

.dm-results-grid {
    margin-top: 1.6rem;
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0.9rem;
}

.dm-result-card {
    background: #ffffff;
    border: 1px solid var(--dm-border);
    border-radius: 16px;
    padding: 1.2rem;
    text-align: center;
    box-shadow: var(--dm-shadow);
}

.dm-result-num {
    font-family: 'Cinzel', serif;
    font-size: clamp(2rem, 3vw, 2.7rem);
    color: var(--dm-brand);
    line-height: 1;
    margin-bottom: 0.4rem;
}

.dm-result-card p {
    color: #475569;
    font-size: 0.9rem;
}

.dm-testimonials {
    background: linear-gradient(180deg, #f8fafc 0%, #eef4f8 100%);
}

.dm-testimonial-grid {
    margin-top: 1.4rem;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.9rem;
}

.dm-quote {
    background: #ffffff;
    border: 1px solid rgba(15, 23, 42, 0.08);
    border-radius: 16px;
    padding: 1.2rem;
    box-shadow: var(--dm-shadow);
}

.dm-quote p {
    color: #334155;
    line-height: 1.8;
    margin-bottom: 1rem;
    font-style: italic;
}

.dm-quote h3 {
    color: #1e293b;
    font-size: 0.96rem;
    margin-bottom: 0.2rem;
}

.dm-quote span {
    color: #64748b;
    font-size: 0.78rem;
    text-transform: uppercase;
    letter-spacing: 0.09em;
}

.dm-contact {
    background: #1e293b;
}

.dm-contact-grid {
    display: grid;
    grid-template-columns: 1fr 1.1fr;
    gap: 1.2rem;
    align-items: start;
}

.dm-contact-copy .dm-label,
.dm-contact-copy h2 {
    color: #f8fafc;
}

.dm-contact-copy p {
    color: rgba(226, 232, 240, 0.9);
    line-height: 1.8;
    margin-bottom: 1rem;
}

.dm-contact-copy ul {
    display: grid;
    gap: 0.8rem;
}

.dm-contact-copy li {
    color: #e2e8f0;
    display: flex;
    align-items: center;
    gap: 0.55rem;
    font-size: 0.92rem;
}

.dm-contact-copy i {
    color: #3b82f6;
}

.dm-contact-copy a {
    color: #ffffff;
}

.dm-form-card {
    background: #ffffff;
    border-radius: 18px;
    border: 1px solid rgba(255, 255, 255, 0.2);
    box-shadow: 0 26px 45px rgba(2, 6, 23, 0.25);
    padding: 1.5rem;
}

.form-status {
    display: none;
    margin: 0 0 1rem;
    padding: 0.8rem 0.9rem;
    border-radius: 10px;
    border: 1px solid rgba(22, 163, 74, 0.35);
    background: rgba(22, 163, 74, 0.1);
    color: #166534;
    font-size: 0.9rem;
    line-height: 1.4;
    font-weight: 600;
}

.form-status.visible {
    display: block;
}

.site-home .f-group label {
    color: #1e293b;
}

.site-home .f-group input,
.site-home .f-group textarea,
.site-home .f-group select {
    background: #f8fafc;
    border-color: rgba(15, 23, 42, 0.16);
}

.site-home .btn-submit {
    background: linear-gradient(135deg, var(--dm-brand), var(--dm-brand-2));
    box-shadow: 0 14px 30px rgba(192, 57, 43, 0.25);
}

.site-home .btn-submit:hover {
    box-shadow: 0 20px 34px rgba(192, 57, 43, 0.32);
}

.dm-footer {
    background: #020617;
}

.dm-footer-grid {
    display: grid;
    grid-template-columns: 1.3fr 1fr 1fr 1fr;
    gap: 1.2rem;
    padding: 3rem 2rem 1.6rem;
}

.dm-footer .f-logo-row {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    margin-bottom: 1rem;
}

.dm-footer .f-logo-row img {
    width: 52px;
    height: 52px;
    border-radius: 50%;
    background: #ffffff;
    border: 2px solid rgba(59, 130, 246, 0.4);
}

.dm-footer .f-name {
    color: #f8fafc;
    font-family: 'Cinzel', serif;
    display: block;
}

.dm-footer .f-sub {
    color: #3b82f6;
    font-size: 0.68rem;
    letter-spacing: 0.1em;
    text-transform: uppercase;
}

.dm-footer p,
.dm-footer li,
.dm-footer a {
    color: rgba(226, 232, 240, 0.78);
    line-height: 1.7;
}

.dm-footer h4 {
    color: #ffffff;
    margin-bottom: 0.75rem;
    font-size: 0.82rem;
    text-transform: uppercase;
    letter-spacing: 0.1em;
}

.dm-footer a:hover {
    color: #3b82f6;
}

.dm-footer-bottom {
    border-top: 1px solid rgba(226, 232, 240, 0.16);
    padding: 0.9rem 2rem 2rem;
}

.site-home .back-top {
    background: linear-gradient(135deg, var(--dm-brand), var(--dm-brand-2));
    color: #ffffff;
}

.dm-reveal {
    opacity: 0;
    transform: translateY(34px);
    transition: opacity 0.8s ease, transform 0.8s ease;
}

.dm-reveal.visible {
    opacity: 1;
    transform: translateY(0);
}

@media (max-width: 1050px) {
    .dm-hero-grid,
    .dm-about-grid,
    .dm-contact-grid {
        grid-template-columns: 1fr;
    }

    .dm-services-grid,
    .dm-results-grid,
    .dm-testimonial-grid,
    .dm-footer-grid {
        grid-template-columns: 1fr 1fr;
    }
}

@media (max-width: 760px) {
    .dm-hero {
        padding-top: 6.8rem;
    }

    .dm-hero-copy h1 {
        max-width: none;
    }

    .dm-services-grid,
    .dm-results-grid,
    .dm-testimonial-grid,
    .dm-footer-grid {
        grid-template-columns: 1fr;
    }

    .dm-section {
        padding: 4.4rem 0;
    }

    .site-home .dm-navbar,
    .site-home .container {
        padding-left: 1.2rem;
        padding-right: 1.2rem;
    }
}

@media (prefers-reduced-motion: reduce) {
    .dm-reveal {
        opacity: 1;
        transform: none;
        transition: none;
    }
}

/* ================================================
   INNER PAGES REVAMP 2026 (SCOPED)
================================================ */
.site-inner {
    --inner-accent: #c0392b;
    --inner-accent-2: #e74c3c;
    --inner-bg: #f4f7fb;
    --inner-ink: #1e293b;
    --inner-muted: #475569;
    background:
        radial-gradient(circle at 15% 5%, rgba(192, 57, 43, 0.07), transparent 26%),
        radial-gradient(circle at 86% 18%, rgba(37, 99, 235, 0.06), transparent 24%),
        linear-gradient(180deg, #f8f9fa 0%, #eff3f8 42%, #ffffff 100%);
    color: var(--inner-ink);
}

.site-inner .site-header,
.site-inner .header {
    position: sticky;
    top: 0;
    z-index: 1000;
    background: rgba(255, 255, 255, 0.9);
    backdrop-filter: blur(14px);
    border-bottom: 1px solid rgba(15, 23, 42, 0.09);
    box-shadow: 0 8px 28px rgba(15, 23, 42, 0.08);
}

.site-inner .header .container {
    max-width: 1240px;
}

.site-inner .nav,
.site-inner .navbar {
    max-width: 1240px;
    margin: 0 auto;
}

.site-inner .logo img,
.site-inner .nav-brand img {
    border-color: rgba(192, 57, 43, 0.2);
    background: #ffffff;
}

.site-inner .nav-brand-text .name,
.site-inner .logo-text {
    color: var(--inner-ink);
    text-shadow: none;
}

.site-inner .nav-brand-text .sub {
    color: var(--inner-accent);
    background: none;
    -webkit-text-fill-color: initial;
}

.site-inner .nav-links a,
.site-inner .nav-menu a {
    color: #1e293b;
}

.site-inner .nav-links a:hover,
.site-inner .nav-links a.active,
.site-inner .nav-menu a:hover,
.site-inner .nav-menu a.active {
    color: var(--inner-accent);
}

.site-inner .nav-cta,
.site-inner .btn.btn-primary {
    background: linear-gradient(135deg, var(--inner-accent), var(--inner-accent-2));
    color: #ffffff;
    border-radius: 999px;
    box-shadow: 0 12px 28px rgba(192, 57, 43, 0.24);
    border: none;
}

.site-inner .nav-cta:hover,
.site-inner .btn.btn-primary:hover {
    color: #ffffff;
    transform: translateY(-2px);
}

.site-inner .hamburger {
    border-color: rgba(192, 57, 43, 0.25);
    background: #ffffff;
}

.site-inner .hamburger span {
    background: #1e293b;
}

.site-inner .mobile-drawer {
    background: #1e293b;
}

.site-inner .mobile-drawer a {
    color: rgba(255, 255, 255, 0.9);
}

/* Compatibility for pages using inline toggle classes */
.site-inner .hamburger.is-active span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.site-inner .hamburger.is-active span:nth-child(2) { opacity: 0; transform: scaleX(0); }
.site-inner .hamburger.is-active span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }
.site-inner .mobile-overlay.is-active { display: block; }
.site-inner .mobile-drawer.is-open { right: 0; }

.site-inner .legal-page {
    padding: 7.2rem 0 3.4rem;
    min-height: 100vh;
}

.site-inner .legal-header {
    background: linear-gradient(140deg, #1e293b 0%, #2d3748 58%, #c0392b 100%);
    border-radius: 20px;
    padding: 1.65rem;
    color: #ffffff;
    box-shadow: 0 28px 45px rgba(2, 6, 23, 0.22);
    border: 1px solid rgba(255, 255, 255, 0.12);
}

.site-inner .legal-header h1 {
    color: #ffffff;
    font-family: 'Cinzel', serif;
    letter-spacing: 0.01em;
}

.site-inner .legal-updated {
    color: rgba(248, 250, 252, 0.88);
}

.site-inner .legal-content {
    margin-top: 1.3rem;
    background: rgba(255, 255, 255, 0.82);
    border: 1px solid rgba(15, 23, 42, 0.09);
    border-radius: 20px;
    box-shadow: 0 24px 44px rgba(15, 23, 42, 0.08);
    backdrop-filter: blur(5px);
    padding: 1.5rem;
}

.site-inner .inner-page-shell {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 280px;
    gap: 1rem;
    align-items: start;
}

.site-inner .inner-main-content {
    min-width: 0;
}

.site-inner .inner-toc {
    position: sticky;
    top: 95px;
    background: rgba(255, 255, 255, 0.9);
    border: 1px solid rgba(15, 23, 42, 0.1);
    border-radius: 14px;
    box-shadow: 0 16px 34px rgba(15, 23, 42, 0.08);
    padding: 1rem;
    backdrop-filter: blur(8px);
}

.site-inner .inner-toc h3 {
    font-size: 0.78rem;
    text-transform: uppercase;
    letter-spacing: 0.11em;
    color: #1e293b;
    margin-bottom: 0.7rem;
}

.site-inner .inner-toc-list {
    display: grid;
    gap: 0.25rem;
}

.site-inner .inner-toc-link {
    display: block;
    font-size: 0.82rem;
    line-height: 1.45;
    color: #334155;
    padding: 0.42rem 0.55rem;
    border-radius: 8px;
    transition: background 0.2s ease, color 0.2s ease, transform 0.2s ease;
}

.site-inner .inner-toc-link:hover {
    background: rgba(192, 57, 43, 0.1);
    color: var(--inner-accent);
    transform: translateX(2px);
}

.site-inner .inner-toc-link.active {
    background: linear-gradient(135deg, rgba(192, 57, 43, 0.14), rgba(231, 76, 60, 0.11));
    color: #962d22;
    font-weight: 800;
}

.site-inner .inner-read-time {
    margin-top: 0.7rem;
    display: inline-block;
    font-size: 0.78rem;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: rgba(248, 250, 252, 0.93);
    background: rgba(255, 255, 255, 0.08);
    border: 1px solid rgba(255, 255, 255, 0.22);
    border-radius: 999px;
    padding: 0.3rem 0.7rem;
}

.site-inner .legal-section {
    border: 1px solid rgba(15, 23, 42, 0.07);
    border-radius: 14px;
    background: #ffffff;
    padding: 1rem;
    margin-bottom: 0.75rem;
}

.site-inner .legal-section h2,
.site-inner .legal-section h3,
.site-inner .legal-section h4 {
    color: var(--inner-ink);
}

.site-inner .legal-section p,
.site-inner .legal-section li,
.site-inner .legal-section td,
.site-inner .legal-section th,
.site-inner .legal-section span {
    color: var(--inner-muted);
}

.site-inner .legal-section a {
    color: var(--inner-accent);
    text-decoration-thickness: 1px;
    text-underline-offset: 3px;
}

.site-inner .help-topic-card,
.site-inner .doc-card,
.site-inner .status-item,
.site-inner .incident,
.site-inner .maintenance-notice,
.site-inner .faq-item,
.site-inner .sitemap-section,
.site-inner .api-section,
.site-inner .sitemap-info {
    border: 1px solid rgba(15, 23, 42, 0.09);
    background: #ffffff;
    border-radius: 14px;
    box-shadow: 0 14px 30px rgba(15, 23, 42, 0.08);
}

.site-inner .help-topic-card:hover,
.site-inner .doc-card:hover,
.site-inner .status-item:hover,
.site-inner .sitemap-section:hover {
    transform: translateY(-5px);
    border-color: rgba(192, 57, 43, 0.35);
}

.site-inner details.faq-item {
    overflow: hidden;
}

.site-inner details.faq-item summary {
    position: relative;
    cursor: pointer;
    list-style: none;
    padding-right: 2.2rem;
}

.site-inner details.faq-item summary::-webkit-details-marker {
    display: none;
}

.site-inner details.faq-item summary::after {
    content: '+';
    position: absolute;
    right: 0;
    top: 0;
    color: var(--inner-accent);
    font-weight: 900;
    font-size: 1rem;
    transition: transform 0.2s ease;
}

.site-inner details.faq-item[open] summary::after {
    content: '-';
}

.site-inner .status-badge.operational,
.site-inner .status-indicator.operational {
    background: rgba(16, 185, 129, 0.15);
    color: #065f46;
    border-color: rgba(16, 185, 129, 0.35);
}

.site-inner .blog-hero::before {
    opacity: 0.45;
}

.site-inner .blog-categories {
    background: rgba(15, 23, 42, 0.92);
    backdrop-filter: blur(10px);
}

.site-inner footer,
.site-inner .footer {
    background: #020617;
    border-top: 1px solid rgba(226, 232, 240, 0.16);
}

.site-inner .footer-main,
.site-inner .footer-grid {
    max-width: 1240px;
    margin: 0 auto;
}

.site-inner .footer a,
.site-inner .footer p,
.site-inner .footer li,
.site-inner footer a,
.site-inner footer p,
.site-inner footer li {
    color: rgba(226, 232, 240, 0.82);
}

.site-inner .footer h4,
.site-inner footer h4 {
    color: #f8fafc;
}

.site-inner .footer a:hover,
.site-inner footer a:hover {
    color: #3b82f6;
}

.site-inner .social-link,
.site-inner .f-social a {
    border-color: rgba(59, 130, 246, 0.3);
}

.site-inner .footer-social {
    display: flex;
    gap: 0.65rem;
}

.site-inner .footer-social .social-link {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: rgba(255, 255, 255, 0.06);
    border: 1px solid rgba(59, 130, 246, 0.3);
    color: rgba(226, 232, 240, 0.9);
    font-size: 0.95rem;
    line-height: 1;
    transition: transform 0.2s ease, color 0.2s ease, background 0.2s ease, border-color 0.2s ease;
}

.site-inner .footer-social .social-link:hover {
    background: rgba(59, 130, 246, 0.18);
    border-color: rgba(59, 130, 246, 0.7);
    color: #dbeafe;
    transform: translateY(-3px);
}

.site-inner .footer-logo-img,
.site-inner .f-logo-row img {
    border-color: rgba(59, 130, 246, 0.4);
    background: #ffffff;
}

.site-inner .back-top {
    background: linear-gradient(135deg, var(--inner-accent), var(--inner-accent-2));
    color: #ffffff;
}

@media (max-width: 900px) {
    .site-inner .inner-page-shell {
        grid-template-columns: 1fr;
    }

    .site-inner .inner-toc {
        position: static;
        order: -1;
    }

    .site-inner .legal-page {
        padding-top: 7rem;
    }

    .site-inner .legal-content {
        padding: 1.2rem;
    }

    .site-inner .legal-header {
        padding: 1.5rem;
    }
}
.cat-btn i { font-size: .75rem; }
.cat-btn:hover {
    color: var(--gold-light);
    border-color: rgba(201,168,76,.4);
    background: rgba(201,168,76,.08);
}
.cat-btn.is-active {
    background: linear-gradient(135deg, var(--gold-dark), var(--gold-light));
    color: var(--navy);
    border-color: var(--gold);
    box-shadow: 0 4px 18px rgba(201,168,76,.35);
}

/* ================================================
   BLOG — FEATURED ARTICLE
================================================ */
.blog-featured { background: var(--cream); }
.featured-card {
    display: grid; grid-template-columns: 1.1fr 1fr;
    gap: 0; border-radius: var(--radius-lg);
    overflow: hidden;
    background: var(--white);
    box-shadow: var(--shadow-lg);
    border: 1px solid rgba(201,168,76,.15);
}
.featured-img-wrap {
    position: relative; overflow: hidden;
}
.featured-img-wrap img {
    width: 100%; height: 100%; object-fit: cover;
    transition: transform .6s var(--ease);
}
.featured-card:hover .featured-img-wrap img { transform: scale(1.04); }
.featured-badge {
    position: absolute; top: 1.5rem; left: 1.5rem;
    display: inline-flex; align-items: center; gap: .4rem;
    background: linear-gradient(135deg, var(--gold-dark), var(--gold));
    color: var(--navy); font-size: .7rem; font-weight: 900;
    letter-spacing: 1.5px; text-transform: uppercase;
    padding: .5rem 1rem; border-radius: 999px;
    box-shadow: 0 4px 14px rgba(201,168,76,.4);
}
.featured-body {
    padding: 3rem 3.5rem;
    display: flex; flex-direction: column; justify-content: center;
}
.featured-body h2 {
    font-family: 'Playfair Display', serif;
    font-size: clamp(1.5rem, 2.5vw, 2rem);
    color: var(--navy); line-height: 1.3;
    margin-bottom: 1.25rem;
}
.featured-body p {
    color: var(--text-mid); font-size: .95rem;
    line-height: 1.8; margin-bottom: 1rem;
}

/* Article meta (shared) */
.article-meta {
    display: flex; flex-wrap: wrap; align-items: center; gap: .75rem;
    margin-bottom: 1rem;
}
.meta-cat {
    display: inline-flex; align-items: center; gap: .35rem;
    background: rgba(201,168,76,.1);
    border: 1px solid rgba(201,168,76,.25);
    color: var(--gold-dark); font-size: .7rem; font-weight: 900;
    letter-spacing: 1px; text-transform: uppercase;
    padding: .3rem .75rem; border-radius: 999px;
}
.meta-cat i { font-size: .65rem; }
.meta-date,
.meta-read {
    display: inline-flex; align-items: center; gap: .3rem;
    color: var(--text-light); font-size: .78rem; font-weight: 700;
}
.meta-date i, .meta-read i { font-size: .7rem; color: var(--gold); }

/* ================================================
   BLOG — GRID
================================================ */
.blog-grid-section { background: var(--cream); }
.blog-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 2rem;
}
.blog-card {
    background: var(--white);
    border-radius: var(--radius-lg);
    overflow: hidden;
    border: 1px solid rgba(201,168,76,.12);
    box-shadow: var(--shadow-sm);
    display: flex; flex-direction: column;
    transition: transform var(--t) var(--ease), box-shadow var(--t) var(--ease), border-color var(--t);
}
.blog-card:hover {
    transform: translateY(-10px);
    box-shadow: var(--shadow-lg);
    border-color: rgba(201,168,76,.35);
}
.blog-card-img {
    position: relative; overflow: hidden;
    aspect-ratio: 16/10;
}
.blog-card-img img {
    width: 100%; height: 100%; object-fit: cover;
    transition: transform .6s var(--ease);
}
.blog-card:hover .blog-card-img img { transform: scale(1.06); }
.card-badge {
    position: absolute; top: 1rem; left: 1rem;
    font-size: .65rem; font-weight: 900;
    letter-spacing: 1px; text-transform: uppercase;
    padding: .35rem .85rem; border-radius: 999px;
    box-shadow: 0 2px 10px rgba(0,0,0,.2);
}
.badge-ai       { background: #7c3aed; color: #fff; }
.badge-security { background: #dc2626; color: #fff; }
.badge-cloud    { background: #0891b2; color: #fff; }
.badge-trends   { background: var(--gold); color: var(--navy); }
.badge-guide    { background: #059669; color: #fff; }
.blog-card-body {
    padding: 1.75rem 2rem 2rem;
    display: flex; flex-direction: column; flex: 1;
}
.blog-card-body h3 {
    font-family: 'Playfair Display', serif;
    font-size: 1.2rem; color: var(--navy);
    line-height: 1.35; margin-bottom: .75rem;
    transition: color var(--t);
}
.blog-card:hover .blog-card-body h3 { color: var(--gold-dark); }
.blog-card-body > p {
    color: var(--text-mid); font-size: .9rem;
    line-height: 1.7; margin-bottom: 1.25rem; flex: 1;
}

/* Blog layout hardening for production rendering */
.blog-hero-layout,
.featured-card,
.blog-grid,
.blog-card,
.blog-card-body,
.blog-archive-card,
.traffic-cluster-grid,
.traffic-faq-grid,
.traffic-related-grid {
    min-width: 0;
}

.featured-body h2,
.blog-card-body h3,
.blog-card-body > p,
.traffic-cluster-link strong,
.traffic-faq-item h4,
.traffic-faq-item p {
    overflow-wrap: anywhere;
    word-break: normal;
}

#ad-blog-featured,
#ad-blog-grid,
.ad-container,
.ad-container .container,
.ad-container iframe,
.ad-container ins {
    max-width: 100%;
}

.ad-container,
#ad-blog-featured,
#ad-blog-grid {
    overflow: hidden;
}

.card-tags {
    display: flex; flex-wrap: wrap; gap: .4rem;
    margin-bottom: 1.25rem;
}
.card-tags .tag {
    background: rgba(201,168,76,.08);
    border: 1px solid rgba(201,168,76,.2);
    color: var(--gold-dark);
    font-size: .68rem; font-weight: 700;
    letter-spacing: .5px; text-transform: uppercase;
    padding: .25rem .65rem; border-radius: 6px;
    transition: background var(--t), color var(--t);
}
.card-tags .tag:hover {
    background: var(--gold); color: var(--navy);
}
.card-link {
    display: inline-flex; align-items: center; gap: .4rem;
    color: var(--navy); font-size: .82rem; font-weight: 900;
    letter-spacing: .5px; text-transform: uppercase;
    transition: color var(--t), gap var(--t);
    margin-top: auto;
}
.card-link i { font-size: .7rem; transition: transform var(--t); }
.card-link:hover { color: var(--gold-dark); }
.card-link:hover i { transform: translateX(4px); }

/* No results */
.blog-load-more-wrap {
    margin-top: 2rem;
    text-align: center;
}

.blog-load-more-btn {
    min-width: 240px;
}

.blog-no-results {
    text-align: center; padding: 5rem 2rem;
}
.blog-no-results h3 {
    font-family: 'Playfair Display', serif;
    font-size: 1.5rem; color: var(--navy); margin-bottom: .5rem;
}
.blog-no-results p { color: var(--text-mid); }

/* ================================================
   BLOG — ARCHIVE
================================================ */
.blog-archive-section {
    background: linear-gradient(180deg, #f7f7f5 0%, #f3f4f6 100%);
    padding: 2.25rem 0 3rem;
}

.blog-archive-card {
    background: #ffffff;
    border-radius: var(--radius-lg);
    border: 1px solid rgba(201,168,76,.16);
    box-shadow: var(--shadow-sm);
    padding: 1.5rem 1.75rem;
}

.blog-archive-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: .5rem;
}

.blog-archive-head h3 {
    display: inline-flex;
    align-items: center;
    gap: .55rem;
    font-family: 'Playfair Display', serif;
    font-size: 1.35rem;
    color: var(--navy);
}

.blog-archive-head h3 i {
    color: var(--gold-dark);
    font-size: .95rem;
}

.archive-reset {
    border: 1px solid rgba(201,168,76,.35);
    border-radius: 999px;
    background: #fff;
    color: var(--navy);
    font-weight: 800;
    letter-spacing: .4px;
    text-transform: uppercase;
    font-size: .7rem;
    padding: .45rem .85rem;
    cursor: pointer;
    transition: background var(--t), color var(--t), border-color var(--t);
}

.archive-reset:hover,
.archive-reset.is-active {
    background: var(--gold);
    border-color: var(--gold);
    color: var(--navy);
}

.blog-archive-intro {
    color: var(--text-mid);
    font-size: .92rem;
    margin-bottom: 1rem;
}

.blog-archive-list {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: .65rem;
}

.archive-chip {
    width: 100%;
    border: 1px solid rgba(30,41,59,.12);
    background: #fff;
    color: var(--navy);
    border-radius: 10px;
    padding: .62rem .72rem;
    text-align: left;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .8rem;
    cursor: pointer;
    transition: border-color var(--t), box-shadow var(--t), transform var(--t), background var(--t);
}

.archive-chip:hover {
    border-color: rgba(201,168,76,.6);
    box-shadow: 0 8px 24px rgba(2,6,23,.08);
    transform: translateY(-2px);
}

.archive-chip.is-active {
    background: linear-gradient(135deg, rgba(201,168,76,.18), rgba(201,168,76,.09));
    border-color: rgba(201,168,76,.62);
}

.archive-chip-label {
    font-size: .85rem;
    font-weight: 700;
}

.archive-chip-count {
    min-width: 1.5rem;
    height: 1.5rem;
    border-radius: 999px;
    background: rgba(30,41,59,.08);
    color: var(--navy);
    font-size: .74rem;
    font-weight: 800;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

/* ================================================
   BLOG — NEWSLETTER
================================================ */
.blog-newsletter {
    background: var(--navy);
    position: relative; overflow: hidden;
}
.blog-newsletter::before {
    content: ''; position: absolute; inset: 0;
    background:
        radial-gradient(circle at 20% 50%, rgba(201,168,76,.1), transparent 45%),
        radial-gradient(circle at 80% 50%, rgba(201,168,76,.06), transparent 40%);
    pointer-events: none;
}
.newsletter-card {
    position: relative; z-index: 2;
    text-align: center;
    max-width: 640px; margin: 0 auto;
    padding: 0 2rem;
}
.newsletter-icon {
    width: 72px; height: 72px;
    background: linear-gradient(135deg, var(--gold-dark), var(--gold));
    border-radius: 50%;
    display: flex; align-items: center; justify-content: center;
    margin: 0 auto 1.5rem;
    font-size: 1.75rem; color: var(--navy);
    box-shadow: 0 8px 28px rgba(201,168,76,.4);
}
.newsletter-card h2 {
    font-family: 'Playfair Display', serif;
    font-size: clamp(1.6rem, 3vw, 2.5rem);
    color: var(--white); margin-bottom: .75rem;
}
.newsletter-card > p {
    color: rgba(255,255,255,.6);
    font-size: 1.05rem; line-height: 1.7;
    margin-bottom: 2rem;
}
.newsletter-input-row {
    display: flex; gap: .75rem; max-width: 480px; margin: 0 auto;
}
.newsletter-input-row input {
    flex: 1; padding: .9rem 1.5rem;
    border: 2px solid rgba(201,168,76,.35);
    border-radius: 999px;
    background: rgba(255,255,255,.06);
    color: var(--white);
    font-family: 'Lato', sans-serif; font-size: .95rem;
    outline: none;
    transition: border-color var(--t), box-shadow var(--t);
}
.newsletter-input-row input::placeholder { color: rgba(255,255,255,.35); }
.newsletter-input-row input:focus {
    border-color: var(--gold);
    box-shadow: 0 0 0 4px rgba(201,168,76,.15);
}
.newsletter-privacy {
    color: rgba(255,255,255,.35);
    font-size: .78rem; margin-top: 1rem;
}
.newsletter-privacy a { color: var(--gold-light); text-decoration: underline; }
.newsletter-privacy a:hover { color: var(--gold); }

/* ================================================
   BLOG — RESPONSIVE
================================================ */
@media (max-width: 1100px) {
    .blog-grid { grid-template-columns: repeat(2, 1fr); }
    .featured-card { grid-template-columns: 1fr; }
    .featured-body { padding: 2.5rem; }
    .blog-archive-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 768px) {
    .blog-hero { min-height: 600px; height: auto; padding: 100px 4.5% 40px; }
    .blog-hero-layout { --bh-panel-height: 340px; grid-template-columns: 1fr; gap: 20px; }
    .blog-hero-layout::after { display: none; }
    .blog-hero-slider { border-radius: 20px; }
    .blog-hero-content {
        min-height: auto; padding: 36px 22px; margin: 0;
        border-radius: 20px;
    }
    .blog-hero-content .blog-hero-title { font-size: clamp(1.6rem, 7vw, 2rem); line-height: 1.2; }
    .blog-hero-content .blog-hero-subtitle { font-size: 1rem; }
    .bh-kicker { letter-spacing: .14em; font-size: .72rem; }
    .blog-hero-content::after { left: 18px; right: 18px; bottom: 12px; }
    .bh-nav-arrow { width: 48px; height: 48px; opacity: .9; }
    .bh-nav-arrow.bh-prev { left: 14px; }
    .bh-nav-arrow.bh-next { right: 14px; }
    .bh-nav-arrow i { font-size: 1.1rem; }
    .bh-progress { left: 14px; right: 14px; bottom: 12px; gap: 10px; }
    .bh-progress-dot { width: 7px; height: 7px; }
    .bh-progress-dot.active { width: 18px; }
    .bh-scroll-indicator { bottom: 16px; }
    .bh-scroll-indicator span { font-size: .72rem; }
    .bh-mouse { width: 22px; height: 36px; }
    .blog-grid { grid-template-columns: 1fr; }
    .blog-archive-card { padding: 1.2rem; }
    .blog-archive-head { flex-direction: column; align-items: flex-start; }
    .blog-archive-list { grid-template-columns: 1fr; }
    .category-filters { gap: .35rem; padding: .75rem 0; }
    .cat-btn { padding: .5rem 1rem; font-size: .72rem; }
    .newsletter-input-row { flex-direction: column; }
    .newsletter-input-row input,
    .newsletter-input-row .btn-gold { width: 100%; }
}
@media (max-width: 480px) {
    .blog-hero-content { width: calc(100% - 16px); margin: 0 8px; padding: 24px 16px; border-radius: 14px; }
    .bh-nav-arrow { width: 40px; height: 40px; }
    .bh-nav-arrow.bh-prev { left: 8px; }
    .bh-nav-arrow.bh-next { right: 8px; }
    .featured-body { padding: 1.75rem; }
    .blog-card-body { padding: 1.25rem 1.5rem 1.5rem; }
}

/* ================================================
   ARTICLE READER
================================================ */
.article-hero {
    min-height: 36vh;
    display: flex;
    align-items: flex-end;
    padding-bottom: 3rem;
}
.article-section {
    background: var(--cream);
    padding: 4rem 0 5rem;
}
.article-reader {
    max-width: 860px;
    margin: 0 auto;
    background: #fff;
    border-radius: var(--radius-lg);
    box-shadow: 0 8px 40px rgba(7,17,31,.08);
    padding: 3rem;
    position: relative;
    margin-top: -4rem;
    z-index: 2;
}
.article-reader-img {
    border-radius: var(--radius);
    overflow: hidden;
    margin-bottom: 2rem;
    box-shadow: 0 4px 20px rgba(7,17,31,.10);
}
.article-reader-img img {
    width: 100%;
    height: auto;
    display: block;
    object-fit: cover;
    max-height: 460px;
}
.article-reader-body {
    font-family: 'Lato', sans-serif;
    font-size: 1.1rem;
    line-height: 1.85;
    color: #2a2a2a;
}
.article-reader-body p {
    margin-bottom: 1.4rem;
}
.article-reader-body h2,
.article-reader-body h3,
.article-reader-body h4 {
    font-family: 'Playfair Display', serif;
    color: var(--navy);
    margin: 2rem 0 1rem;
}
.article-reader-body h2 { font-size: 1.6rem; }
.article-reader-body h3 { font-size: 1.35rem; }
.article-reader-body a {
    color: var(--gold);
    text-decoration: underline;
    text-underline-offset: 3px;
    transition: color var(--t) var(--ease);
}
.article-reader-body a:hover { color: var(--gold-light); }
.article-reader-body img {
    max-width: 100%;
    height: auto;
    border-radius: var(--radius);
    margin: 1.5rem 0;
}
.article-reader-body blockquote {
    border-left: 4px solid var(--gold);
    background: rgba(201,168,76,.06);
    padding: 1.25rem 1.5rem;
    margin: 1.75rem 0;
    border-radius: 0 var(--radius) var(--radius) 0;
    font-style: italic;
    color: #444;
}
.article-reader-body ul,
.article-reader-body ol {
    padding-left: 1.5rem;
    margin-bottom: 1.4rem;
}
.article-reader-body li {
    margin-bottom: .5rem;
}
.article-reader-footer {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 1.25rem;
    margin-top: 3rem;
    padding-top: 2rem;
    border-top: 1px solid rgba(7,17,31,.08);
    flex-wrap: wrap;
}

/* ---- Article Responsive ---- */
@media (max-width: 768px) {
    .article-hero { min-height: 30vh; padding-bottom: 2rem; }
    .article-reader { padding: 2rem 1.5rem; margin-top: -3rem; border-radius: var(--radius); }
    .article-reader-body { font-size: 1.02rem; }
    .article-reader-footer { gap: .75rem; }
}
@media (max-width: 480px) {
    .article-reader { padding: 1.5rem 1.15rem; margin-top: -2.5rem; }
    .article-reader-body { font-size: .97rem; line-height: 1.75; }
    .article-reader-img img { max-height: 280px; }
}

/* ================================================
   INNER PAGES — PREMIUM POLISH 2026
================================================ */

/* ---- Scroll Progress Bar ---- */
#progressBar {
    position: fixed;
    top: 0; left: 0;
    height: 3px;
    width: 0%;
    background: linear-gradient(90deg, #c0392b 0%, #e74c3c 55%, #2563eb 100%);
    z-index: 9999;
    pointer-events: none;
    transition: width 0.08s linear;
    border-radius: 0 3px 3px 0;
}

/* ---- Back to Top ---- */
#backTop {
    position: fixed;
    bottom: 2rem; right: 2rem;
    width: 48px; height: 48px;
    border-radius: 50%;
    background: linear-gradient(135deg, #c0392b, #e74c3c);
    color: #fff;
    border: none;
    cursor: pointer;
    display: flex; align-items: center; justify-content: center;
    font-size: 1rem;
    box-shadow: 0 8px 24px rgba(192, 57, 43, 0.38);
    opacity: 0;
    transform: translateY(12px);
    transition: opacity 0.28s ease, transform 0.28s ease, box-shadow 0.22s ease;
    z-index: 998;
}
#backTop.visible {
    opacity: 1;
    transform: translateY(0);
}
#backTop:hover {
    box-shadow: 0 14px 32px rgba(192, 57, 43, 0.52);
    transform: translateY(-4px);
}

/* ---- Legal Header — Dramatic Hero Base ---- */
.site-inner .legal-header {
    position: relative;
    overflow: hidden;
    text-align: center;
    padding: 3.5rem 2.5rem 2.8rem;
}

.site-inner .legal-header > * {
    position: relative;
    z-index: 1;
}

/* Pattern layer via ::before */
.site-inner .legal-header::before {
    content: '';
    position: absolute;
    inset: 0;
    pointer-events: none;
    z-index: 0;
}

/* Glowing orb via ::after */
.site-inner .legal-header::after {
    content: '';
    position: absolute;
    width: 380px; height: 380px;
    border-radius: 50%;
    filter: blur(72px);
    opacity: 0.22;
    right: -100px; top: -100px;
    pointer-events: none;
    z-index: 0;
    background: #e74c3c;
}

/* H1 sizing */
.site-inner .legal-header h1 {
    font-size: clamp(2rem, 5vw, 3.2rem);
    line-height: 1.15;
    margin-bottom: 0.6rem;
}

/* ---- Page Hero Icon ---- */
.site-inner .page-hero-icon {
    display: block;
    font-size: 3rem;
    margin-bottom: 1rem;
    line-height: 1;
}

/* ---- Per-page Hero Backgrounds (gradient + pattern) ---- */

/* Help Center — teal circuit dot grid */
.page-help .legal-header {
    background: linear-gradient(140deg, #1e293b 0%, #2d3748 55%, #c0392b 100%);
}
.page-help .legal-header::before {
    background-image: radial-gradient(rgba(192, 57, 43, 0.3) 1px, transparent 1px);
    background-size: 22px 22px;
}
.page-help .legal-header::after { background: #e74c3c; }
.page-help .page-hero-icon { color: #f87171; }

/* Documentation — indigo diagonal code grid */
.page-docs .legal-header {
    background: linear-gradient(140deg, #1e293b 0%, #1e3a5f 55%, #2563eb 100%);
}
.page-docs .legal-header::before {
    background-image:
        repeating-linear-gradient(45deg, rgba(99, 102, 241, 0.14) 0px, rgba(99, 102, 241, 0.14) 1px, transparent 1px, transparent 20px),
        repeating-linear-gradient(-45deg, rgba(99, 102, 241, 0.08) 0px, rgba(99, 102, 241, 0.08) 1px, transparent 1px, transparent 20px);
}
.page-docs .legal-header::after { background: #818cf8; }
.page-docs .page-hero-icon { color: #a5b4fc; }

/* System Status — emerald pulse rings */
.page-status .legal-header {
    background: linear-gradient(140deg, #052e16 0%, #064e3b 55%, #059669 100%);
}
.page-status .legal-header::before {
    background-image: radial-gradient(ellipse, rgba(16, 185, 129, 0.22) 1px, transparent 1px);
    background-size: 30px 30px;
}
.page-status .legal-header::after { background: #10b981; opacity: 0.28; }
.page-status .page-hero-icon { color: #3b82f6; }

/* Legal pages (Privacy / Terms / Cookies) — violet grid */
.page-legal .legal-header {
    background: linear-gradient(140deg, #1a1035 0%, #170c2e 55%, #4c1d95 100%);
}
.page-legal .legal-header::before {
    background-image:
        linear-gradient(rgba(167, 139, 250, 0.12) 1px, transparent 1px),
        linear-gradient(90deg, rgba(167, 139, 250, 0.12) 1px, transparent 1px);
    background-size: 38px 38px;
}
.page-legal .legal-header::after { background: #a855f7; }
.page-legal .page-hero-icon { color: #c4b5fd; }

/* Sitemap — teal node network */
.page-sitemap .legal-header {
    background: linear-gradient(140deg, #1e293b 0%, #2d3748 55%, #c0392b 100%);
}
.page-sitemap .legal-header::before {
    background-image:
        linear-gradient(rgba(192, 57, 43, 0.12) 1px, transparent 1px),
        linear-gradient(90deg, rgba(192, 57, 43, 0.12) 1px, transparent 1px);
    background-size: 28px 28px;
}
.page-sitemap .legal-header::after { background: #e74c3c; }
.page-sitemap .page-hero-icon { color: #67e8f9; }

/* ---- Typography Polish ---- */
.site-inner .legal-section h2 {
    font-family: 'Playfair Display', serif;
    font-size: clamp(1.25rem, 2.5vw, 1.55rem);
    line-height: 1.3;
    margin-bottom: 0.85rem;
    letter-spacing: -0.01em;
}

.site-inner .legal-section h3 {
    font-size: 1.08rem;
    font-weight: 800;
    letter-spacing: -0.005em;
    margin-bottom: 0.6rem;
    color: #1e293b;
}

.site-inner .inner-toc h3 {
    font-family: 'Cinzel', serif;
    font-size: 0.72rem;
    letter-spacing: 0.14em;
}

.site-inner .legal-updated {
    font-size: 0.95rem;
    margin-top: 0.5rem;
}

/* ---- Help Search Input Polish ---- */
.site-inner .help-search-box {
    position: relative;
    max-width: 540px;
    margin: 0 auto 2rem;
}
.site-inner .help-search-input {
    width: 100%;
    padding: 1rem 3.5rem 1rem 1.5rem;
    border: 1.5px solid rgba(192, 57, 43, 0.25);
    border-radius: 999px;
    font-family: 'Lato', sans-serif;
    font-size: 1rem;
    background: #ffffff;
    color: #1e293b;
    box-shadow: 0 4px 18px rgba(192, 57, 43, 0.1);
    outline: none;
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
}
.site-inner .help-search-input:focus {
    border-color: #c0392b;
    box-shadow: 0 0 0 4px rgba(192, 57, 43, 0.14), 0 4px 18px rgba(192, 57, 43, 0.14);
}
.site-inner .help-search-btn {
    position: absolute;
    right: 0.75rem; top: 50%;
    transform: translateY(-50%);
    background: linear-gradient(135deg, #c0392b, #e74c3c);
    border: none; border-radius: 50%;
    width: 40px; height: 40px;
    color: #fff;
    cursor: pointer;
    display: flex; align-items: center; justify-content: center;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.site-inner .help-search-btn:hover {
    transform: translateY(-50%) scale(1.08);
    box-shadow: 0 8px 20px rgba(192, 57, 43, 0.35);
}

/* ---- Emoji label to icon-compatible card ---- */
.site-inner .help-icon,
.site-inner .doc-icon {
    font-size: 2rem;
    margin-bottom: 0.65rem;
    display: block;
}

/* ---- Status badge glow ---- */
.site-inner .status-badge.operational {
    animation: pulse-green 2.5s ease-in-out infinite;
}
@keyframes pulse-green {
    0%, 100% { box-shadow: 0 0 0 0 rgba(16, 185, 129, 0); }
    50%       { box-shadow: 0 0 0 6px rgba(16, 185, 129, 0.22); }
}

/* ---- Doc link arrow on hover ---- */
.site-inner .doc-link {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    color: #c0392b;
    font-weight: 800;
    font-size: 0.88rem;
    letter-spacing: 0.04em;
    text-decoration: none;
    transition: gap 0.2s ease, color 0.2s ease;
}
.site-inner .doc-link::after {
    content: '→';
    transition: transform 0.2s ease;
}
.site-inner .doc-link:hover {
    color: #962d22;
    gap: 0.6rem;
}

/* ---- Footer newsletter input ---- */
.site-inner .footer-newsletter-input,
.site-inner .nl-input {
    border: 1.5px solid rgba(59, 130, 246, 0.3);
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.06);
    color: #f8fafc;
    padding: 0.75rem 1.25rem;
    font-family: 'Lato', sans-serif;
    outline: none;
    transition: border-color 0.2s, box-shadow 0.2s;
}
.site-inner .footer-newsletter-input:focus,
.site-inner .nl-input:focus {
    border-color: #3b82f6;
    box-shadow: 0 0 0 4px rgba(59, 130, 246, 0.14);
}

/* ---- Mobile responsive for back-to-top ---- */
@media (max-width: 600px) {
    #backTop {
        bottom: 1.25rem; right: 1.25rem;
        width: 42px; height: 42px;
        font-size: 0.9rem;
    }
}

/* ---- prefers-reduced-motion ---- */
@media (prefers-reduced-motion: reduce) {
    #progressBar { transition: none; }
    #backTop { transition: opacity 0.1s ease; }
    .status-badge.operational { animation: none; }
    .site-inner .legal-header::after { display: none; }
    .site-inner .help-topic-card,
    .site-inner .doc-card,
    .site-inner .status-item,
    .site-inner .sitemap-section { transition: none; }
    .site-inner .inner-toc-link { transition: none; }
    .dm-slide { transition: none; }
    .dm-hero video { display: none; }
}

/* ─── Chat Widget ─── */
.chat-widget {
    position: fixed;
    bottom: 28px;
    right: 28px;
    z-index: 9999;
    font-family: 'Lato', sans-serif;
}
.chat-toggle {
    width: 60px;
    height: 60px;
    border-radius: 50%;
    border: none;
    background: linear-gradient(135deg, #c0392b, #e74c3c);
    color: #fff;
    font-size: 1.5rem;
    cursor: pointer;
    box-shadow: 0 6px 24px rgba(192, 57, 43, .45);
    display: flex;
    align-items: center;
    justify-content: center;
    transition: transform .3s ease, box-shadow .3s ease;
    position: relative;
    z-index: 2;
}
.chat-toggle:hover {
    transform: scale(1.1);
    box-shadow: 0 8px 32px rgba(192, 57, 43, .55);
}
.chat-toggle .chat-icon-close { display: none; }
.chat-widget.open .chat-toggle .chat-icon-open { display: none; }
.chat-widget.open .chat-toggle .chat-icon-close { display: inline; }

/* Chat Box */
.chat-box {
    position: absolute;
    bottom: 76px;
    right: 0;
    width: 370px;
    max-height: 520px;
    background: #fff;
    border-radius: 16px;
    box-shadow: 0 12px 48px rgba(0, 0, 0, .2);
    display: flex;
    flex-direction: column;
    overflow: hidden;
    opacity: 0;
    visibility: hidden;
    transform: translateY(20px) scale(.95);
    transition: opacity .3s ease, transform .3s ease, visibility .3s ease;
}
.chat-widget.open .chat-box {
    opacity: 1;
    visibility: visible;
    transform: translateY(0) scale(1);
}

/* Header */
.chat-header {
    background: linear-gradient(135deg, #1e293b, #2d3a50);
    color: #fff;
    padding: 16px 18px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}
.chat-header-info {
    display: flex;
    align-items: center;
    gap: 12px;
}
.chat-avatar {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background: rgba(255, 255, 255, .15);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.1rem;
}
.chat-header-name {
    display: block;
    font-weight: 700;
    font-size: .95rem;
}
.chat-header-status {
    display: block;
    font-size: .75rem;
    opacity: .8;
}
.chat-header-status i {
    font-size: .45rem;
    color: #2ecc71;
    margin-right: 4px;
    vertical-align: middle;
}
.chat-close {
    background: none;
    border: none;
    color: #fff;
    font-size: 1rem;
    cursor: pointer;
    opacity: .7;
    transition: opacity .2s;
    padding: 4px;
}
.chat-close:hover { opacity: 1; }

/* Messages */
.chat-messages {
    flex: 1;
    overflow-y: auto;
    padding: 18px 16px;
    display: flex;
    flex-direction: column;
    gap: 14px;
    max-height: 340px;
    min-height: 200px;
    background: #f8f9fa;
}
.chat-msg {
    display: flex;
    flex-direction: column;
    max-width: 85%;
}
.chat-msg.bot { align-self: flex-start; }
.chat-msg.user { align-self: flex-end; }
.chat-bubble {
    padding: 10px 14px;
    border-radius: 14px;
    font-size: .9rem;
    line-height: 1.5;
    word-wrap: break-word;
}
.chat-msg.bot .chat-bubble {
    background: #fff;
    color: #1e293b;
    border: 1px solid #e2e8f0;
    border-bottom-left-radius: 4px;
}
.chat-msg.user .chat-bubble {
    background: linear-gradient(135deg, #c0392b, #e74c3c);
    color: #fff;
    border-bottom-right-radius: 4px;
}
.chat-time {
    font-size: .7rem;
    color: #94a3b8;
    margin-top: 4px;
    padding: 0 4px;
}
.chat-msg.user .chat-time { text-align: right; }

/* Typing indicator */
.chat-typing {
    display: flex;
    gap: 4px;
    padding: 10px 14px;
    align-items: center;
}
.chat-typing span {
    width: 7px;
    height: 7px;
    background: #94a3b8;
    border-radius: 50%;
    animation: chatBounce 1.4s infinite ease-in-out both;
}
.chat-typing span:nth-child(1) { animation-delay: 0s; }
.chat-typing span:nth-child(2) { animation-delay: .2s; }
.chat-typing span:nth-child(3) { animation-delay: .4s; }
@keyframes chatBounce {
    0%, 80%, 100% { transform: scale(0); }
    40% { transform: scale(1); }
}

/* Quick Picks */
.chat-quick-picks {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    padding: 4px 0 6px;
}
.chat-pick {
    border: 1px solid #e2e8f0;
    background: #fff;
    color: #1e293b;
    padding: 7px 14px;
    border-radius: 20px;
    font-size: .8rem;
    font-family: inherit;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    transition: all .2s ease;
    white-space: nowrap;
}
.chat-pick:hover {
    background: linear-gradient(135deg, #c0392b, #e74c3c);
    color: #fff;
    border-color: #c0392b;
    transform: translateY(-1px);
    box-shadow: 0 3px 10px rgba(192, 57, 43, .25);
}
.chat-pick i { font-size: .75rem; }

/* Input */
.chat-input-area {
    display: flex;
    align-items: center;
    padding: 12px 14px;
    border-top: 1px solid #e2e8f0;
    background: #fff;
    gap: 8px;
}
.chat-input {
    flex: 1;
    border: 1px solid #e2e8f0;
    border-radius: 24px;
    padding: 10px 16px;
    font-size: .9rem;
    outline: none;
    transition: border-color .2s;
    font-family: inherit;
    background: #f8f9fa;
}
.chat-input:focus {
    border-color: #c0392b;
    background: #fff;
}
.chat-send {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    border: none;
    background: linear-gradient(135deg, #c0392b, #e74c3c);
    color: #fff;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: .9rem;
    transition: transform .2s, box-shadow .2s;
    flex-shrink: 0;
}
.chat-send:hover {
    transform: scale(1.1);
    box-shadow: 0 4px 16px rgba(192, 57, 43, .4);
}

/* Mobile */
@media (max-width: 480px) {
    .chat-widget { bottom: 16px; right: 16px; }
    .chat-box { width: calc(100vw - 32px); right: 0; bottom: 72px; }
    .chat-toggle { width: 52px; height: 52px; font-size: 1.3rem; }
}

/* ================================================
   MONETIZATION
================================================ */

/* Google AdSense */
.monetization-ad {
    margin: 2rem 0;
    padding: 1rem;
    background: var(--cream-dark);
    border-radius: var(--radius);
    border: 1px solid var(--border-gold);
    text-align: center;
    min-height: 250px;
}

.adsbygoogle {
    display: block;
}

/* Affiliate Links */
.affiliate-badge {
    display: inline-block;
    margin-left: 0.4rem;
    padding: 0.2rem 0.5rem;
    background: var(--gold-light);
    color: var(--white);
    border-radius: 4px;
    font-size: 0.7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    opacity: 0.85;
    transition: opacity var(--t) var(--ease);
}

a[data-affiliate]:hover .affiliate-badge {
    opacity: 1;
}

/* Affiliate Disclosure */
.affiliate-disclosure {
    display: flex;
    align-items: flex-start;
    gap: 1rem;
    padding: 1rem;
    margin: 2rem 0;
    background: linear-gradient(135deg, rgba(201,168,76,.08), rgba(201,168,76,.04));
    border-left: 4px solid var(--gold-light);
    border-radius: var(--radius);
    color: var(--text-mid);
    font-size: 0.9rem;
    line-height: 1.6;
}

.affiliate-disclosure i {
    color: var(--gold-light);
    flex-shrink: 0;
    margin-top: 0.15rem;
    font-size: 1.1rem;
}

.affiliate-disclosure span {
    flex: 1;
}

/* Sponsored Content */
.sponsored-content {
    position: relative;
    border: 2px solid var(--gold);
    border-radius: var(--radius-lg);
    background: linear-gradient(135deg, rgba(201,168,76,.05), rgba(201,168,76,.02));
    padding: 0;
    overflow: hidden;
}

.sponsored-badge {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 1rem 1.5rem;
    background: linear-gradient(135deg, var(--gold-dark), var(--gold), var(--gold-light));
    color: var(--navy);
}

.sponsored-label {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: 1px;
    font-size: 0.85rem;
}

.sponsored-label i {
    font-size: 0.9rem;
}

.sponsor-name {
    font-size: 0.8rem;
    opacity: 0.85;
    font-weight: 700;
}

.sponsored-content > * {
    padding: 1.5rem;
}

.sponsored-content > *:first-of-type {
    padding-top: 0;
}

.sponsored-disclosure {
    display: flex;
    align-items: center;
    gap: 0.8rem;
    padding: 1rem 1.5rem;
    background: rgba(192,57,43,.08);
    border-top: 1px solid var(--border-gold);
    color: var(--text-mid);
    font-size: 0.85rem;
    font-weight: 600;
    line-height: 1.5;
}

.sponsored-disclosure i {
    color: var(--gold);
    font-size: 0.95rem;
    flex-shrink: 0;
}

/* Ad Container */
.ad-container {
    display: flex;
    justify-content: center;
    margin: 2rem 0;
    padding: 1rem;
}

.ad-label {
    font-size: 0.75rem;
    color: var(--text-light);
    text-transform: uppercase;
    letter-spacing: 1px;
    font-weight: 700;
    text-align: center;
    margin-bottom: 0.5rem;
    opacity: 0.7;
}

/* Revenue sections */
.rev-growth {
    background: linear-gradient(145deg, #0e1828, #1a2940);
    color: var(--white);
}

.rev-growth .section-desc,
.rev-growth h2,
.rev-growth .dm-label {
    color: var(--white);
}

.rev-offer-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1.2rem;
    margin-top: 1.75rem;
}

.rev-offer-card {
    background: rgba(255, 255, 255, 0.06);
    border: 1px solid rgba(201, 168, 76, 0.24);
    border-radius: var(--radius);
    padding: 1.4rem;
    box-shadow: 0 12px 28px rgba(0, 0, 0, 0.2);
}

.rev-offer-card h3 {
    font-size: 1rem;
    margin-bottom: 0.6rem;
}

.rev-offer-card p {
    color: rgba(255, 255, 255, 0.82);
    font-size: 0.92rem;
    line-height: 1.6;
    margin-bottom: 1rem;
}

.rev-offer-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    font-size: 0.85rem;
    text-align: center;
}

.rev-offer-note {
    margin-top: 0.9rem;
    font-size: 0.8rem;
    color: var(--text-light);
}

.rev-actions {
    margin-top: 1.6rem;
    display: flex;
    gap: 0.85rem;
    justify-content: center;
    flex-wrap: wrap;
}

.rev-home-ad {
    margin-top: 1.4rem;
    border-top: 1px solid rgba(201, 168, 76, 0.26);
    padding-top: 1.25rem;
}

.rev-house-ad {
    border: 1px solid var(--border-gold);
    border-radius: var(--radius);
    background: linear-gradient(135deg, rgba(30, 41, 59, 0.96), rgba(16, 28, 48, 0.96));
    color: var(--white);
    padding: 1.15rem;
    max-width: 760px;
    margin: 0 auto;
    text-align: center;
}

.rev-house-ad-label {
    color: var(--gold-light);
    font-size: 0.72rem;
    text-transform: uppercase;
    letter-spacing: 1px;
    font-weight: 700;
    margin-bottom: 0.45rem;
}

.rev-house-ad p {
    margin-bottom: 0.8rem;
}

.rev-engine-section {
    margin-top: -1rem;
}

.rev-engine-card {
    border: 1px solid rgba(201, 168, 76, 0.25);
    box-shadow: var(--shadow-sm);
}

.traffic-cluster-section {
    margin-top: -1rem;
}

.traffic-cluster-card {
    border: 1px solid rgba(30, 41, 59, 0.14);
}

.traffic-cluster-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: .85rem;
    margin-top: 1rem;
}

.traffic-cluster-link {
    display: block;
    background: linear-gradient(150deg, rgba(255, 255, 255, 0.98), rgba(245, 247, 252, 0.98));
    border: 1px solid #e2e8f0;
    border-radius: 12px;
    padding: .95rem;
    color: var(--text);
    transition: transform .2s ease, border-color .2s ease, box-shadow .2s ease;
}

.traffic-cluster-link strong {
    display: block;
    font-size: .96rem;
    margin-bottom: .4rem;
}

.traffic-cluster-link span {
    color: var(--text-mid);
    font-size: .86rem;
    line-height: 1.5;
}

.traffic-cluster-link:hover {
    transform: translateY(-2px);
    border-color: rgba(192, 57, 43, .35);
    box-shadow: 0 10px 22px rgba(15, 23, 42, .08);
}

.traffic-share {
    margin-top: .7rem;
}

.traffic-share-btn {
    border: 1px solid var(--border-gold);
    background: rgba(255, 255, 255, 0.88);
    color: var(--text-mid);
    border-radius: 999px;
    padding: .32rem .7rem;
    font-size: .74rem;
    font-weight: 700;
    letter-spacing: .2px;
    display: inline-flex;
    align-items: center;
    gap: .35rem;
    cursor: pointer;
    transition: all .2s ease;
}

.traffic-share-btn:hover {
    background: linear-gradient(135deg, #c0392b, #e74c3c);
    color: #fff;
    border-color: #c0392b;
}

.traffic-hub {
    background: linear-gradient(145deg, #0d1727, #1c2d49);
    color: var(--white);
}

.traffic-hub .dm-label,
.traffic-hub h2,
.traffic-hub .section-desc {
    color: var(--white);
}

.traffic-hub-grid {
    margin-top: 1.4rem;
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: .85rem;
}

.traffic-hub-card {
    border: 1px solid rgba(255, 255, 255, .18);
    border-radius: 14px;
    padding: 1rem;
    background: rgba(255, 255, 255, .05);
    color: var(--white);
    transition: transform .2s ease, background .2s ease;
}

.traffic-hub-card i {
    color: var(--gold-light);
    margin-bottom: .65rem;
}

.traffic-hub-card h3 {
    font-size: .96rem;
    margin-bottom: .45rem;
}

.traffic-hub-card p {
    font-size: .86rem;
    line-height: 1.5;
    color: rgba(255,255,255,.86);
}

.traffic-hub-card:hover {
    transform: translateY(-3px);
    background: rgba(255, 255, 255, .1);
}

.traffic-faq-section {
    margin-top: -1rem;
}

.traffic-faq-card {
    border: 1px solid rgba(30, 41, 59, 0.14);
}

.traffic-faq-grid {
    margin-top: 1rem;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: .85rem;
}

.traffic-faq-item {
    background: linear-gradient(155deg, rgba(255,255,255,.98), rgba(247,250,253,.98));
    border: 1px solid #e2e8f0;
    border-radius: 12px;
    padding: .95rem;
}

.traffic-faq-item h4 {
    margin-bottom: .45rem;
    font-size: .94rem;
}

.traffic-faq-item p {
    font-size: .84rem;
    line-height: 1.55;
    color: var(--text-mid);
    margin: 0 0 .35rem;
}

.traffic-related {
    border-top: 1px solid rgba(30, 41, 59, .1);
    padding-top: 2rem;
}

.traffic-related h2 {
    font-size: 1.4rem;
    margin-bottom: .85rem;
}

.traffic-related-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: .9rem;
}

.traffic-related-card {
    border: 1px solid rgba(15, 23, 42, .1);
    border-radius: 12px;
    background: linear-gradient(160deg, rgba(255,255,255,.99), rgba(247,250,252,.99));
    padding: .95rem;
}

.traffic-related-card h3 {
    font-size: .95rem;
    margin-bottom: .45rem;
}

.traffic-related-card p {
    font-size: .84rem;
    line-height: 1.55;
    color: var(--text-mid);
    margin-bottom: .6rem;
}

.rev-article-stack {
    margin-top: 2rem;
    padding-top: 2rem;
    border-top: 1px solid var(--border-gold);
}

.rev-article-stack h2 {
    font-size: 1.55rem;
    margin-bottom: 0.7rem;
}

.rev-article-stack p {
    color: var(--text-mid);
    margin-bottom: 0.9rem;
}

/* Responsive */
@media (max-width: 768px) {
    .monetization-ad {
        margin: 1.5rem 0;
        min-height: 200px;
    }

    .affiliate-disclosure {
        gap: 0.75rem;
        padding: 0.75rem;
        margin: 1.5rem 0;
    }

    .sponsored-badge {
        flex-direction: column;
        align-items: flex-start;
        gap: 0.5rem;
        padding: 0.75rem 1rem;
    }

    .sponsored-content {
        padding: 0;
    }

    .sponsored-content > * {
        padding: 1rem;
    }

    .sponsored-disclosure {
        padding: 0.75rem 1rem;
        gap: 0.5rem;
    }

    .rev-offer-grid {
        grid-template-columns: 1fr;
    }

    .rev-actions {
        flex-direction: column;
    }

    .traffic-hub-grid {
        grid-template-columns: 1fr;
    }

    .traffic-cluster-grid {
        grid-template-columns: 1fr;
    }

    .traffic-faq-grid {
        grid-template-columns: 1fr;
    }

    .traffic-related-grid {
        grid-template-columns: 1fr;
    }
}

/* ================================================
   MEDIA KIT PAGE
================================================ */
.media-kit-page {
    background: radial-gradient(circle at 20% 0%, rgba(192,57,43,.08), transparent 38%), var(--cream);
}

.mk-hero {
    padding: 11rem 0 4.5rem;
    background: linear-gradient(135deg, #0f1b2d, #1f3657 50%, #14243b);
    color: var(--white);
}

.mk-hero-grid {
    display: grid;
    grid-template-columns: 1.4fr 1fr;
    gap: 2rem;
    align-items: start;
}

.mk-kicker {
    display: inline-block;
    margin-bottom: .8rem;
    text-transform: uppercase;
    letter-spacing: 1.6px;
    font-weight: 800;
    font-size: .75rem;
    color: #f6b2aa;
}

.mk-hero h1 {
    font-family: 'Playfair Display', serif;
    font-size: clamp(2rem, 4.4vw, 3.2rem);
    line-height: 1.15;
    margin-bottom: 1rem;
}

.mk-hero p {
    color: rgba(255,255,255,.86);
    max-width: 62ch;
}

.mk-cta-row {
    margin-top: 1.4rem;
    display: flex;
    flex-wrap: wrap;
    gap: .8rem;
}

.mk-outline {
    background: transparent !important;
    border: 2px solid var(--gold-light);
    color: var(--gold-light) !important;
}

.mk-metrics {
    background: rgba(255,255,255,.07);
    border: 1px solid rgba(255,255,255,.16);
    border-radius: var(--radius);
    padding: 1.3rem;
}

.mk-metrics h2 {
    font-size: 1.1rem;
    margin-bottom: .8rem;
}

.mk-metric {
    display: flex;
    align-items: baseline;
    gap: .7rem;
    padding: .45rem 0;
}

.mk-metric span {
    color: var(--gold-light);
    font-size: 1.4rem;
    font-weight: 900;
}

.mk-metrics small {
    display: block;
    margin-top: .6rem;
    color: rgba(255,255,255,.68);
    font-size: .78rem;
}

.mk-section {
    padding-top: 4rem;
    padding-bottom: 4rem;
}

.mk-grid {
    margin-top: 1.4rem;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1rem;
}

.mk-card,
.mk-price-card {
    background: var(--white);
    border: 1px solid var(--border-gold);
    border-radius: var(--radius);
    box-shadow: var(--shadow-sm);
    padding: 1.25rem;
}

.mk-card h3,
.mk-price-card h3 {
    margin-bottom: .6rem;
    font-size: 1.05rem;
}

.mk-card p,
.mk-price-card p {
    color: var(--text-mid);
    margin-bottom: .75rem;
}

.mk-card ul,
.mk-price-card ul {
    list-style: none;
    display: grid;
    gap: .42rem;
    color: var(--text-mid);
    font-size: .94rem;
}

.mk-card ul li::before,
.mk-price-card ul li::before {
    content: '• ';
    color: var(--gold);
    font-weight: 900;
}

.mk-pricing-grid {
    margin-top: 1.4rem;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1rem;
}

.mk-price {
    font-size: 2rem;
    font-weight: 900;
    color: var(--text);
    margin-bottom: .8rem;
}

.mk-price span {
    font-size: .95rem;
    font-weight: 700;
    color: var(--text-light);
}

.mk-featured {
    position: relative;
    border-width: 2px;
    transform: translateY(-6px);
}

.mk-badge {
    position: absolute;
    top: -12px;
    right: 12px;
    background: var(--gold-light);
    color: var(--white);
    font-weight: 800;
    font-size: .72rem;
    padding: .25rem .55rem;
    border-radius: 999px;
    text-transform: uppercase;
}

.mk-price-card .btn-gold {
    margin-top: .95rem;
    width: 100%;
    display: inline-flex;
    justify-content: center;
}

.mk-inquiry-grid {
    display: grid;
    grid-template-columns: 1.1fr 1fr;
    gap: 1.2rem;
    align-items: start;
}

.mk-checklist {
    list-style: none;
    margin-top: 1rem;
    display: grid;
    gap: .6rem;
}

.mk-checklist i {
    color: var(--gold-light);
    margin-right: .5rem;
}

.mk-reco-panel {
    margin-top: 1.1rem;
    background: linear-gradient(145deg, rgba(30, 41, 59, 0.96), rgba(17, 29, 50, 0.96));
    border: 1px solid rgba(201, 168, 76, 0.32);
    border-radius: var(--radius);
    padding: 1rem;
    color: var(--white);
    box-shadow: var(--shadow-sm);
}

.mk-reco-kicker {
    font-size: .72rem;
    text-transform: uppercase;
    letter-spacing: 1px;
    font-weight: 800;
    color: #f2a9a2;
    margin-bottom: .4rem;
}

.mk-reco-panel h3 {
    margin-bottom: .45rem;
}

.mk-reco-panel p {
    color: rgba(255,255,255,.86);
}

.mk-reco-meta {
    margin-top: .7rem;
    display: flex;
    flex-wrap: wrap;
    gap: .7rem;
    font-size: .82rem;
}

.mk-reco-meta span {
    background: rgba(255,255,255,.08);
    border: 1px solid rgba(255,255,255,.14);
    border-radius: 999px;
    padding: .22rem .6rem;
}

.mk-form {
    background: var(--white);
    border: 1px solid var(--border-gold);
    border-radius: var(--radius);
    box-shadow: var(--shadow-sm);
    padding: 1.2rem;
    display: grid;
    gap: .5rem;
}

.mk-form label {
    font-weight: 700;
    font-size: .86rem;
}

.mk-form input,
.mk-form select,
.mk-form textarea {
    width: 100%;
    border: 1px solid #d5dbe7;
    border-radius: 10px;
    padding: .7rem .78rem;
    font: inherit;
    color: var(--text);
    background: #fff;
    margin-bottom: .45rem;
}

.mk-form input:focus,
.mk-form select:focus,
.mk-form textarea:focus {
    outline: none;
    border-color: var(--gold-light);
    box-shadow: 0 0 0 3px rgba(231,76,60,.14);
}

.mk-form-status {
    border-radius: 10px;
    padding: .7rem .8rem;
    font-size: .88rem;
    font-weight: 700;
    border: 1px solid #d6deea;
    background: #f4f8ff;
    color: #1d3655;
    margin-bottom: .2rem;
}

.mk-form-status.is-success {
    border-color: #4ca274;
    background: #effcf4;
    color: #13532f;
}

.mk-form button[disabled] {
    opacity: .72;
    cursor: not-allowed;
}

.mk-ops {
    margin-top: .7rem;
    border-top: 1px dashed #d3dae7;
    padding-top: .7rem;
    color: var(--text-mid);
    font-size: .86rem;
}

.mk-ops-config {
    display: grid;
    gap: .4rem;
    margin-bottom: .7rem;
}

.mk-ops-config label {
    font-size: .78rem;
    font-weight: 700;
    color: var(--text);
}

.mk-ops-config input,
.mk-ops-config select {
    border: 1px solid #d5dbe7;
    border-radius: 8px;
    padding: .52rem .62rem;
    font: inherit;
    font-size: .82rem;
    background: #fff;
}

.mk-ops-config input:focus,
.mk-ops-config select:focus {
    outline: none;
    border-color: var(--gold-light);
    box-shadow: 0 0 0 2px rgba(231,76,60,.12);
}

.mk-ops-actions {
    margin-top: .55rem;
    display: flex;
    gap: .5rem;
    flex-wrap: wrap;
}

.mk-ops .btn-gold {
    padding: .55rem .85rem;
    font-size: .8rem;
}

@media (max-width: 980px) {
    .mk-hero-grid,
    .mk-inquiry-grid,
    .mk-grid,
    .mk-pricing-grid {
        grid-template-columns: 1fr;
    }

    .mk-featured {
        transform: none;
    }
}

@media (max-width: 640px) {
    .mk-hero {
        padding-top: 9.6rem;
    }

    .mk-cta-row {
        flex-direction: column;
    }

    .mk-cta-row .btn-gold {
        width: 100%;
        justify-content: center;
    }
}
