/* ═══════════════════════════════════════════
   ASSETLINE CAPITAL — PRODUCTION STYLESHEET
   Version 4.4 | Custom WordPress Theme
   (Mobile menu handled by ShiftNav — see custom.css)
═══════════════════════════════════════════ */

:root {
  --ink:       #0b1220;
  --ink2:      #152036;
  --ink3:      #1e3050;
  --gold:      #c0964a;
  --gold2:     #d4ad63;
  --gold3:     #e8c87a;
  --goldAlpha: rgba(192,150,74,.15);
  --cream:     #f6f1e9;
  --stone:     #ece7de;
  --white:     #ffffff;
  --muted:     #6b7a92;
  --border:    #e0dbd2;
  --success:   #1a5c38;
  --radius:    2px;
}

*, *::before, *::after { margin:0; padding:0; box-sizing:border-box; }
html { scroll-behavior:smooth; font-size:16px; }
body { font-family:'Outfit',sans-serif; color:var(--ink); background:var(--white); overflow-x:hidden; line-height:1.65; -webkit-font-smoothing:antialiased; }
img { max-width:100%; height:auto; display:block; }
a { text-decoration:none; color:inherit; }
h1,h2,h3,h4,h5 { font-family:'Cormorant Garamond',serif; line-height:1.1; }
button { font-family:'Outfit',sans-serif; }

.container { max-width:1380px; margin:0 auto; padding:0 5%; }
.label { display:block; font-size:.68rem; font-weight:600; letter-spacing:.2em; text-transform:uppercase; color:var(--gold); margin-bottom:.8rem; }
.label-line { display:flex; align-items:center; gap:.9rem; margin-bottom:1.2rem; }
.label-line::before { content:''; width:32px; height:1px; background:var(--gold); flex-shrink:0; }
.label-line span { font-size:.68rem; font-weight:600; letter-spacing:.2em; text-transform:uppercase; color:var(--gold); }

.btn { display:inline-flex; align-items:center; gap:.5rem; font-family:'Outfit',sans-serif; font-size:.78rem; font-weight:600; letter-spacing:.1em; text-transform:uppercase; padding:.95rem 2.4rem; border-radius:var(--radius); cursor:pointer; border:none; transition:all .22s ease; white-space:nowrap; }
.btn-primary { background:var(--gold); color:var(--ink); }
.btn-primary:hover { background:var(--gold2); transform:translateY(-2px); box-shadow:0 10px 35px rgba(192,150,74,.3); }
.btn-ghost { background:transparent; color:var(--white); border:1px solid rgba(255,255,255,.28); }
.btn-ghost:hover { border-color:var(--gold); color:var(--gold); background:rgba(192,150,74,.06); }
.btn-dark { background:var(--ink); color:var(--white); }
.btn-dark:hover { background:var(--ink2); transform:translateY(-1px); }
.btn-outline { background:transparent; color:var(--ink); border:1.5px solid var(--ink); }
.btn-outline:hover { background:var(--ink); color:var(--white); }

/* ═══ UTILITY BAR — Client Portal top-right link ═══ */
.utility-bar {
    position: fixed;
    top: 0; right: 0; left: 0;
    z-index: 1001;
    background: #0b1220;
    border-bottom: 1px solid rgba(192,150,74,.15);
    height: 32px;
    display: flex;
    align-items: center;
    transition: transform 0.3s ease, opacity 0.3s ease;
}
.utility-bar-inner {
    width: 100%;
    max-width: 1380px;
    margin: 0 auto;
    padding: 0 5%;
    display: flex;
    justify-content: flex-end;
    align-items: center;
}
.client-portal-link {
    font-family: 'Outfit', sans-serif;
    font-size: 0.62rem;
    font-weight: 500;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: rgba(255,255,255,0.55);
    text-decoration: none;
    transition: color 0.2s;
}
.client-portal-link:hover { color: var(--gold); }
.utility-bar.utility-bar-hidden {
    transform: translateY(-100%);
    opacity: 0;
    pointer-events: none;
}
.utility-bar.utility-bar-hidden ~ #nav { top: 0 !important; }

/* ═══ DESKTOP NAV ═══ */
#nav { position:fixed; top:32px; left:0; right:0; z-index:900; transition:background .35s, box-shadow .35s, top .3s ease; }
#nav.solid { background:rgba(11,18,32,.97); backdrop-filter:blur(18px); -webkit-backdrop-filter:blur(18px); box-shadow:0 1px 0 rgba(192,150,74,.18); }
.nav-wrap { display:flex; align-items:center; justify-content:space-between; padding:0.65rem 5%; max-width:1380px; margin:0 auto; }
.nav-logo { font-family:'Cormorant Garamond',serif; font-size:1.45rem; font-weight:700; color:var(--white); letter-spacing:.02em; flex-shrink:0; flex:0 0 auto; }
.nav-logo span { color:var(--gold); }
.nav-logo svg, .nav-logo img { height:58px; width:auto; display:block; }
.nav-logo svg rect:first-of-type { display:none; }
.nav-menu { display:flex; align-items:center; gap:1.6rem; list-style:none; }
.nav-menu > li > a { font-size:.73rem; font-weight:500; letter-spacing:.07em; text-transform:uppercase; color:rgba(255,255,255,.62); transition:color .2s; padding:.3rem 0; }
.nav-menu > li > a:hover { color:var(--gold); }
.nav-cta a { background:var(--gold) !important; color:var(--ink) !important; padding:.7rem 1.4rem !important; border-radius:var(--radius); font-weight:600 !important; font-size:.72rem !important; }
.nav-cta a:hover { background:var(--gold2) !important; }
/* burger controlled by media queries below */

/* Hide Client Portal from nav menu — lives in utility bar only */
.nav-menu li.nav-client-portal,
.nav-menu li.menu-item a[href*="client-portal"] { display:none !important; }
.nav-menu > li:empty,
.nav-menu > li > a:empty { display:none !important; }
.nav-menu, .nav-menu li { list-style:none !important; }

/* ═══ LOCKED SOLID NAV (non-homepage pages) ═══ */
#nav.solid-locked {
    background: rgba(11,18,32,.97) !important;
    backdrop-filter: blur(18px) !important;
    -webkit-backdrop-filter: blur(18px) !important;
    box-shadow: 0 1px 0 rgba(192,150,74,.18) !important;
}
body:not(.is-front-page) #nav {
    background-color: rgba(11,18,32,.97) !important;
    -webkit-backdrop-filter: blur(18px) !important;
    backdrop-filter: blur(18px) !important;
    box-shadow: 0 1px 0 rgba(192,150,74,.18) !important;
}

/* Body offset for utility bar */
body { padding-top: 32px; }
body.admin-bar #nav { top: 64px; }
@media (max-width:782px) { body.admin-bar #nav { top: 78px; } }

.hero { min-height:100vh; background:var(--ink); display:flex; align-items:center; padding:9rem 5% 5rem; position:relative; overflow:hidden; }
.hero-canvas { position:absolute; inset:0; overflow:hidden; }
.hero-canvas::before { content:''; position:absolute; inset:0; background-image: linear-gradient(rgba(192,150,74,.035) 1px, transparent 1px), linear-gradient(90deg, rgba(192,150,74,.035) 1px, transparent 1px); background-size:72px 72px; }
.hero-canvas::after { content:''; position:absolute; right:-5%; top:-15%; width:65%; height:110%; background:radial-gradient(ellipse at 60% 40%, rgba(192,150,74,.09) 0%, rgba(192,150,74,.04) 35%, transparent 65%); }
.hero-vline { position:absolute; left:calc(5% - 1px); top:0; bottom:0; width:1px; background:linear-gradient(180deg, transparent 0%, rgba(192,150,74,.5) 20%, rgba(192,150,74,.5) 80%, transparent 100%); }
.hero-inner { position:relative; z-index:2; max-width:1380px; margin:0 auto; width:100%; display:grid; grid-template-columns:1fr 400px; gap:5rem; align-items:center; }
.hero-eyebrow { display:flex; align-items:center; gap:.9rem; margin-bottom:2rem; animation:fadeUp .7s ease both; }
.hero-eyebrow::before { content:''; width:36px; height:1px; background:var(--gold); }
.hero-eyebrow span { font-size:.68rem; font-weight:600; letter-spacing:.2em; text-transform:uppercase; color:var(--gold); }
.hero h1 { font-size:clamp(3rem,5.2vw,5.2rem); font-weight:700; color:var(--white); line-height:1.0; margin-bottom:1.8rem; animation:fadeUp .7s .1s ease both; }
.hero h1 em { font-style:italic; color:var(--gold); }
.hero h1 .sub { display:block; font-weight:400; font-style:italic; font-size:.78em; color:rgba(255,255,255,.45); margin-top:.2rem; }
.hero-body { font-size:1.05rem; color:rgba(255,255,255,.58); line-height:1.78; max-width:500px; font-weight:300; margin-bottom:2.5rem; animation:fadeUp .7s .2s ease both; }
.hero-actions { display:flex; gap:1rem; flex-wrap:wrap; animation:fadeUp .7s .3s ease both; }
.hero-stats { display:grid; grid-template-columns:repeat(4,1fr); margin-top:4rem; padding-top:2.8rem; border-top:1px solid rgba(255,255,255,.08); animation:fadeUp .7s .45s ease both; }
.hstat { padding-right:1.5rem; }
.hstat:not(:last-child) { border-right:1px solid rgba(255,255,255,.08); margin-right:1.5rem; }
.hstat-num { font-family:'Cormorant Garamond',serif; font-size:2.4rem; font-weight:700; color:var(--gold); line-height:1; }
.hstat-label { font-size:.68rem; color:rgba(255,255,255,.38); text-transform:uppercase; letter-spacing:.1em; margin-top:.3rem; }

.hero-card { background:rgba(255,255,255,.04); border:1px solid rgba(192,150,74,.22); border-radius:4px; padding:2.4rem; backdrop-filter:blur(12px); animation:fadeUp .7s .35s ease both; }
.hc-title { font-family:'Cormorant Garamond',serif; font-size:1.55rem; font-weight:700; color:var(--white); margin-bottom:.3rem; }
.hc-sub { font-size:.8rem; color:rgba(255,255,255,.38); margin-bottom:1.8rem; }
.hc-field { margin-bottom:1rem; }
.hc-field label { display:block; font-size:.64rem; text-transform:uppercase; letter-spacing:.12em; color:rgba(255,255,255,.38); margin-bottom:.4rem; }
.hc-field select, .hc-field input { width:100%; background:rgba(255,255,255,.05); border:1px solid rgba(255,255,255,.1); border-radius:var(--radius); padding:.75rem 1rem; color:var(--white); font-family:'Outfit',sans-serif; font-size:.875rem; outline:none; transition:border-color .2s; -webkit-appearance:none; }
.hc-field select:focus, .hc-field input:focus { border-color:var(--gold); }
.hc-field select option { background:var(--ink2); color:var(--white); }
.hc-result { background:rgba(192,150,74,.1); border:1px solid rgba(192,150,74,.28); border-radius:var(--radius); padding:1.1rem 1.3rem; margin:1.3rem 0; }
.hc-result-label { font-size:.62rem; text-transform:uppercase; letter-spacing:.14em; color:var(--gold); margin-bottom:.3rem; }
.hc-result-value { font-family:'Cormorant Garamond',serif; font-size:2.1rem; font-weight:700; color:var(--white); }
.hc-result-note { font-size:.68rem; color:rgba(255,255,255,.3); margin-top:.25rem; line-height:1.45; }
.hc-cta { display:block; width:100%; text-align:center; }
.hc-disclaimer { font-size:.65rem; color:rgba(255,255,255,.22); text-align:center; margin-top:.8rem; line-height:1.55; }

.trust-bar { background:var(--gold); padding:1.1rem 5%; }
.trust-bar-inner { max-width:1380px; margin:0 auto; display:flex; align-items:center; justify-content:center; gap:2.5rem; flex-wrap:wrap; }
.tbar-item { display:flex; align-items:center; gap:.55rem; font-size:.77rem; font-weight:600; color:var(--ink); letter-spacing:.02em; }
.tbar-item svg { width:15px; height:15px; stroke-width:2.5; flex-shrink:0; }

.section { padding:7rem 0; }
.section-white { background:var(--white); }
.section-cream { background:var(--cream); }
.section-stone { background:var(--stone); }
.section-dark { background:var(--ink); }
.section-dark .section-title { color:var(--white); }
.section-dark .section-sub { color:rgba(255,255,255,.48); }
.section-header { margin-bottom:3.5rem; }
.section-header.centered { text-align:center; }
.section-header.centered .section-sub { margin:0 auto; }
.section-title { font-size:clamp(2rem,3.2vw,2.9rem); font-weight:700; color:var(--ink); margin-bottom:1rem; }
.section-sub { font-size:1rem; color:var(--muted); line-height:1.78; max-width:540px; font-weight:300; }
.split-header { display:flex; justify-content:space-between; align-items:flex-end; margin-bottom:3.5rem; gap:3rem; flex-wrap:wrap; }

.products-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:2px; background:var(--border); border:2px solid var(--border); }
.pcard { background:var(--white); padding:2.8rem 2.2rem; position:relative; overflow:hidden; cursor:pointer; transition:background .25s ease; display:block; }
.pcard::after { content:''; position:absolute; bottom:0; left:0; width:0; height:2.5px; background:var(--gold); transition:width .38s ease; }
.pcard:hover { background:var(--cream); }
.pcard:hover::after { width:100%; }
.pcard.pcard-dark { background:var(--ink); }
.pcard.pcard-dark:hover { background:var(--ink2); }
.pcard-ghost-num { font-family:'Cormorant Garamond',serif; font-size:4rem; font-weight:700; line-height:1; color:rgba(11,18,32,.055); margin-bottom:1.5rem; transition:color .25s; user-select:none; }
.pcard:hover .pcard-ghost-num { color:rgba(192,150,74,.12); }
.pcard.pcard-dark .pcard-ghost-num { color:rgba(192,150,74,.12); }
.pcard h3 { font-size:1.25rem; font-weight:700; color:var(--ink); margin-bottom:.4rem; }
.pcard.pcard-dark h3 { color:var(--white); }
.pcard-min { display:inline-block; font-size:.68rem; font-weight:600; color:var(--gold); letter-spacing:.06em; margin-bottom:.9rem; }
.pcard p { font-size:.95rem; color:var(--muted); line-height:1.7; font-weight:300; }
.pcard.pcard-dark p { color:rgba(255,255,255,.42); }
.pcard-link { display:inline-flex; align-items:center; gap:.5rem; margin-top:1.6rem; font-size:.72rem; font-weight:600; color:var(--ink); text-transform:uppercase; letter-spacing:.1em; transition:gap .2s; }
.pcard.pcard-dark .pcard-link { color:var(--gold); }
.pcard:hover .pcard-link { gap:.8rem; }
.pcard-link::after { content:'→'; }
.pcard-details-link { display:block; margin-top:.6rem; font-size:.68rem; color:var(--gold); letter-spacing:.06em; font-weight:500; text-decoration:none; }
.pcard-details-link:hover { text-decoration:underline; text-underline-offset:3px; }
.pcard.pcard-dark .pcard-details-link { color:rgba(255,255,255,.45); }
.pcard.pcard-dark .pcard-details-link:hover { color:var(--gold); }

.vehicle-section { background:var(--ink); position:relative; overflow:hidden; background-image:url('https://sample2.saulrosen.com/wp-content/uploads/2026/04/car.png'); background-repeat:no-repeat; background-position:center right; background-size:contain; }
.vehicle-section::before { content:''; position:absolute; inset:0; background:rgba(11,18,32,.75); }
.vehicle-inner { display:grid; grid-template-columns:1fr 1fr; gap:5.5rem; align-items:center; position:relative; z-index:2; }
.vehicle-title { font-size:clamp(2.2rem,3.5vw,3rem); font-weight:700; color:var(--white); margin-bottom:1rem; }
.vehicle-title em { color:var(--gold); font-style:italic; }
.vehicle-body { font-size:.95rem; color:rgba(255,255,255,.52); line-height:1.78; font-weight:300; margin-bottom:2.5rem; }
.vehicle-steps { display:flex; flex-direction:column; gap:0; margin-bottom:2.5rem; }
.vstep { display:flex; gap:1.4rem; align-items:flex-start; padding:1.4rem 0; border-bottom:1px solid rgba(255,255,255,.07); }
.vstep:last-child { border-bottom:none; }
.vstep-num { width:34px; height:34px; flex-shrink:0; background:rgba(192,150,74,.12); border:1px solid rgba(192,150,74,.3); border-radius:var(--radius); display:flex; align-items:center; justify-content:center; font-family:'Cormorant Garamond',serif; font-size:.95rem; font-weight:700; color:var(--gold); }
.vstep h4 { font-family:'Cormorant Garamond',serif; font-size:1.05rem; font-weight:600; color:var(--white); margin-bottom:.25rem; }
.vstep p { font-size:.83rem; color:rgba(255,255,255,.42); line-height:1.65; font-weight:300; }
.vehicle-grid { display:grid; grid-template-columns:1fr 1fr; gap:2px; background:rgba(255,255,255,.06); }
.vgrid-item { background:rgba(255,255,255,.03); padding:1.8rem 1.6rem; }
.vgrid-icon { margin-bottom:.9rem; }
.vgrid-icon svg { width:48px; height:48px; display:block; margin:0 auto 0.75rem; }
.vgrid-item h4 { font-family:'Cormorant Garamond',serif; font-size:1rem; color:var(--gold); margin-bottom:.4rem; }
.vgrid-item p { font-size:.8rem; color:rgba(255,255,255,.38); line-height:1.65; font-weight:300; }
.secure-strip { background:rgba(192,150,74,.1); border:1px solid rgba(192,150,74,.25); border-radius:var(--radius); padding:1.4rem 1.8rem; display:flex; gap:1.2rem; align-items:flex-start; margin-top:1.4rem; }
.secure-strip-icon { flex-shrink:0; }
.secure-strip-icon svg { width:32px; height:32px; display:block; flex-shrink:0; }
.secure-strip h4 { font-family:'Cormorant Garamond',serif; font-size:.95rem; color:var(--gold); margin-bottom:.3rem; }
.secure-strip p { font-size:.78rem; color:rgba(255,255,255,.42); line-height:1.6; font-weight:300; }

.criteria-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:2px; background:var(--border); margin-top:3.5rem; }
.crit-card { background:var(--white); padding:2.5rem 2rem; }
.crit-num { font-family:'Cormorant Garamond',serif; font-size:.85rem; font-weight:700; color:var(--gold); letter-spacing:.1em; margin-bottom:1.2rem; display:flex; align-items:center; gap:.6rem; }
.crit-num::before { content:''; width:20px; height:1px; background:var(--gold); }
.crit-card h3 { font-size:1.1rem; font-weight:700; color:var(--ink); margin-bottom:.6rem; }
.crit-card p { font-size:.84rem; color:var(--muted); line-height:1.7; font-weight:300; }

.process-grid { display:grid; grid-template-columns:1fr 1fr; gap:5.5rem; align-items:start; }
.pstep-list { display:flex; flex-direction:column; margin-top:.5rem; }
.pstep { display:flex; gap:1.8rem; padding:2rem 0; border-bottom:1px solid var(--border); position:relative; }
.pstep:last-child { border-bottom:none; }
.pstep::before { content:''; position:absolute; left:1.65rem; top:3.8rem; bottom:-1px; width:1px; background:linear-gradient(180deg, var(--gold) 0%, transparent 100%); opacity:.2; }
.pstep:last-child::before { display:none; }
.pstep-num { width:3.3rem; height:3.3rem; flex-shrink:0; background:var(--ink); color:var(--gold); font-family:'Cormorant Garamond',serif; font-size:1.2rem; font-weight:700; display:flex; align-items:center; justify-content:center; border-radius:var(--radius); }
.pstep h3 { font-size:1.05rem; font-weight:700; color:var(--ink); margin-bottom:.35rem; }
.pstep p { font-size:.855rem; color:var(--muted); line-height:1.72; font-weight:300; }
.pstep-badge { display:inline-block; margin-top:.6rem; font-size:.62rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:var(--gold); background:rgba(192,150,74,.1); border:1px solid rgba(192,150,74,.22); padding:.18rem .65rem; border-radius:1px; }
.commitment-box { background:var(--ink); border-radius:4px; padding:2.8rem; position:sticky; top:105px; }
.commitment-box h3 { font-family:'Cormorant Garamond',serif; font-size:1.75rem; color:var(--white); margin-bottom:.5rem; }
.commitment-box > p { font-size:.855rem; color:rgba(255,255,255,.48); line-height:1.75; font-weight:300; margin-bottom:2rem; }
.commitment-box > p strong { color:var(--gold2); font-weight:600; }
.commit-list { list-style:none; display:flex; flex-direction:column; gap:.95rem; margin-bottom:2rem; }
.commit-list li { display:flex; align-items:center; gap:.9rem; font-size:.855rem; color:rgba(255,255,255,.7); }
.commit-list li::before { content:'✓'; width:20px; height:20px; flex-shrink:0; background:rgba(192,150,74,.18); color:var(--gold); display:flex; align-items:center; justify-content:center; border-radius:50%; font-size:.72rem; font-weight:700; }
.commitment-box .btn { width:100%; text-align:center; justify-content:center; }
.commit-phone { margin-top:1.4rem; text-align:center; font-size:.76rem; color:rgba(255,255,255,.28); }
.commit-phone a { color:var(--gold); font-weight:600; }

.partner-inner { display:grid; grid-template-columns:1fr 1fr; gap:5.5rem; align-items:center; }
.partner-benefits { list-style:none; margin-top:1.8rem; display:flex; flex-direction:column; gap:.85rem; }
.partner-benefits li { display:flex; align-items:flex-start; gap:.8rem; font-size:.875rem; color:var(--muted); line-height:1.65; }
.partner-benefits li::before { content:'✓'; color:var(--gold); font-weight:700; flex-shrink:0; margin-top:.05rem; }
.partner-cards { display:flex; flex-direction:column; gap:2px; background:var(--border); }
.pcard-row { background:var(--white); padding:1.4rem 1.8rem; display:flex; align-items:center; gap:1.3rem; transition:all .22s; cursor:default; }
.pcard-row:hover { background:var(--ink); transform:translateX(-5px); }
.pcard-row:hover .pcard-row-title { color:var(--white); }
.pcard-row:hover .pcard-row-sub { color:rgba(255,255,255,.4); }
.pcard-row-icon { width:44px; height:44px; flex-shrink:0; background:var(--ink); color:var(--gold); display:flex; align-items:center; justify-content:center; border-radius:var(--radius); font-size:1.15rem; transition:background .22s; }
.pcard-row-icon svg { width:28px; height:28px; display:block; flex-shrink:0; }
.pcard-row:hover .pcard-row-icon { background:rgba(192,150,74,.2); }
.pcard-row-title { font-family:'Cormorant Garamond',serif; font-size:1rem; font-weight:700; color:var(--ink); margin-bottom:.15rem; transition:color .22s; }
.pcard-row-sub { font-size:.77rem; color:var(--muted); transition:color .22s; }

.testi-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:2px; background:rgba(255,255,255,.05); margin-top:3.5rem; }
.tcard { background:rgba(255,255,255,.03); padding:2.4rem; border:1px solid rgba(255,255,255,.06); transition:background .2s; }
.tcard:hover { background:rgba(255,255,255,.07); }
.tcard-open { font-family:'Cormorant Garamond',serif; font-size:3.5rem; color:var(--gold); opacity:.35; line-height:.8; margin-bottom:1rem; }
.tcard p { font-size:.875rem; color:rgba(255,255,255,.58); line-height:1.78; font-style:italic; font-weight:300; margin-bottom:1.5rem; }
.tcard-name { font-size:.855rem; font-weight:600; color:var(--white); }
.tcard-role { font-size:.73rem; color:var(--gold); margin-top:.18rem; }

.apply-split { display:grid; grid-template-columns:1fr 1fr; min-height:680px; }
.apply-left { background:var(--ink); padding:5.5rem 5%; display:flex; flex-direction:column; justify-content:center; position:relative; overflow:hidden; }
.apply-left::before { content:''; position:absolute; inset:0; background:radial-gradient(ellipse at 25% 80%, rgba(192,150,74,.1) 0%, transparent 60%); }
.apply-left-inner { position:relative; z-index:2; }
.apply-left .section-title { color:var(--white); }
.apply-left .section-sub { color:rgba(255,255,255,.48); margin-top:.8rem; }
.apply-trust-list { display:flex; flex-direction:column; gap:.75rem; margin-top:1.8rem; }
.apply-trust-row { display:flex; align-items:center; gap:.85rem; font-size:.845rem; color:rgba(255,255,255,.52); }
.apply-trust-dot { width:6px; height:6px; background:var(--gold); border-radius:50%; flex-shrink:0; }
.apply-phone-box { margin-top:3rem; padding-top:2.5rem; border-top:1px solid rgba(255,255,255,.1); }
.apply-phone-box p { font-size:.72rem; color:rgba(255,255,255,.28); margin-bottom:.5rem; }
.apply-phone-box .tel { font-family:'Cormorant Garamond',serif; font-size:2rem; font-weight:700; color:var(--gold); display:block; }
.apply-phone-box .eml { font-size:.82rem; color:rgba(255,255,255,.32); display:block; margin-top:.25rem; }
.apply-right { background:var(--stone); padding:5.5rem 5%; display:flex; flex-direction:column; justify-content:center; }
.apply-right h3 { font-family:'Cormorant Garamond',serif; font-size:1.85rem; color:var(--ink); margin-bottom:.35rem; }
.apply-right > p { font-size:.82rem; color:var(--muted); margin-bottom:2rem; }
.form-row { display:grid; grid-template-columns:1fr 1fr; gap:1rem; }
.ff { margin-bottom:1rem; }
.ff label { display:block; font-size:.63rem; text-transform:uppercase; letter-spacing:.1em; color:var(--muted); margin-bottom:.38rem; font-weight:600; }
.ff input, .ff select, .ff textarea { width:100%; border:1.5px solid var(--border); border-radius:var(--radius); padding:.76rem 1rem; font-family:'Outfit',sans-serif; font-size:.875rem; color:var(--ink); background:var(--white); outline:none; -webkit-appearance:none; transition:border-color .2s; }
.ff input:focus, .ff select:focus, .ff textarea:focus { border-color:var(--ink); }
.ff textarea { resize:vertical; min-height:78px; }
.form-btn { width:100%; background:var(--ink); color:var(--white); border:none; padding:1.05rem; font-family:'Outfit',sans-serif; font-size:.8rem; font-weight:600; letter-spacing:.1em; text-transform:uppercase; cursor:pointer; border-radius:var(--radius); transition:all .2s; margin-top:.4rem; }
.form-btn:hover { background:var(--gold); color:var(--ink); }
.form-note { font-size:.68rem; color:var(--muted); text-align:center; margin-top:.85rem; line-height:1.55; }

footer { background:#07101e; padding:5rem 0 2.5rem; }
.footer-grid { display:grid; grid-template-columns:2fr 1fr 1fr 1fr; gap:4rem; padding-bottom:4rem; border-bottom:1px solid rgba(255,255,255,.07); margin-bottom:2.5rem; }
.footer-logo { font-family:'Cormorant Garamond',serif; font-size:1.4rem; font-weight:700; color:var(--white); margin-bottom:1.1rem; display:block; }
.footer-logo span { color:var(--gold); }
.footer-logo svg, .footer-logo img { height:52px; width:auto; display:block; margin-bottom:1rem; }
.footer-about { font-size:.82rem; color:var(--cream); line-height:1.75; max-width:265px; font-weight:300; margin-top:-5px; }
.footer-contacts { margin-top:0; padding-top:12px; display:flex; flex-direction:column; gap:.45rem; }
.footer-contacts a, .footer-contacts span { font-size:.8rem; color:var(--cream); display:flex; align-items:center; gap:0.5rem; }
.footer-contacts a { transition:color .2s; }
.footer-contacts a:hover { color:var(--gold); }
.footer-contacts svg { flex-shrink:0; }
.footer-grid > div { display:flex; flex-direction:column; }
.footer-grid > div:first-child { justify-content:flex-start; }
.footer-grid > div:first-child .footer-contacts { margin-top:auto; }
.footer-col h4 { font-size:1.26rem; font-weight:700; text-transform:uppercase; letter-spacing:.12em; color:var(--gold); margin-bottom:1.2rem; }
.footer-col ul { list-style:none; display:flex; flex-direction:column; gap:.55rem; }
.footer-col ul a { font-size:.8rem; color:var(--cream); transition:color .2s; font-weight:300; }
.footer-col ul a:hover { color:var(--gold); }
.footer-legal { display:none; }
.footer-bottom { display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:1rem; padding-top:1.4rem; }
.footer-bottom p { font-size:.72rem; color:#A9A9A9; }
.footer-social-link { display:inline-flex; align-items:center; justify-content:center; width:36px; height:36px; border:1px solid rgba(255,255,255,.15); border-radius:2px; color:rgba(255,255,255,.4); transition:all .22s ease; }
.footer-social-link:hover { border-color:var(--gold); color:var(--gold); background:rgba(192,150,74,.08); }

.modal-bg { display:none; position:fixed; inset:0; z-index:990; background:rgba(11,18,32,.88); backdrop-filter:blur(8px); align-items:center; justify-content:center; padding:2rem; }
.modal-bg.open { display:flex; }
.modal-box { background:var(--white); border-radius:4px; max-width:620px; width:100%; max-height:88vh; overflow-y:auto; padding:3.5rem; position:relative; animation:fadeUp .28s ease; }
.modal-x { position:absolute; top:1.4rem; right:1.6rem; background:none; border:none; font-size:1.3rem; cursor:pointer; color:var(--muted); line-height:1; transition:color .2s; }
.modal-x:hover { color:var(--ink); }
.modal-box h2 { font-size:2rem; color:var(--ink); margin-bottom:.4rem; }
.modal-tag { display:inline-block; font-size:.68rem; font-weight:700; color:var(--gold); background:rgba(192,150,74,.1); border:1px solid rgba(192,150,74,.2); padding:.2rem .7rem; margin-bottom:1.4rem; }
.modal-box p { font-size:.88rem; color:var(--muted); line-height:1.78; font-weight:300; margin-bottom:.9rem; }
.modal-list { list-style:none; display:flex; flex-direction:column; gap:.68rem; margin:1.4rem 0; }
.modal-list li { display:flex; gap:.7rem; font-size:.855rem; color:var(--ink); }
.modal-list li::before { content:'✓'; color:var(--gold); font-weight:700; flex-shrink:0; }
.modal-box .btn { margin-top:1.4rem; }

@keyframes fadeUp { from{opacity:0;transform:translateY(22px)} to{opacity:1;transform:translateY(0)} }
@keyframes dotPulse { 0%,100%{opacity:.3;transform:scale(.75)} 50%{opacity:1;transform:scale(1)} }
.reveal { opacity:0; transform:translateY(26px); transition:opacity .65s ease, transform .65s ease; }
.reveal.in { opacity:1; transform:none; }
.reveal-delay-1 { transition-delay:.1s; }
.reveal-delay-2 { transition-delay:.2s; }
.reveal-delay-3 { transition-delay:.3s; }

/* STANDALONE PAGES */
.contact-grid { display:grid; grid-template-columns:1fr 1.2fr; gap:4rem; margin-top:3rem; align-items:start; }
.contact-cards { display:flex; flex-direction:column; gap:1px; background:var(--border); border:1px solid var(--border); }
.contact-card { background:var(--white); padding:2.2rem 2rem; }
.contact-card-icon { display:flex; align-items:center; justify-content:center; margin-bottom:1rem; }
.contact-card h3 { font-family:'Cormorant Garamond',serif; font-size:1.25rem; color:var(--ink); margin-bottom:.6rem; }
.contact-card-value { display:block; font-family:'Cormorant Garamond',serif; font-size:1.15rem; font-weight:700; color:var(--gold); text-decoration:none; margin-bottom:.2rem; transition:color .2s; }
.contact-card-value:hover { color:var(--ink); }
.contact-card-value-sub { font-size:.85rem; color:var(--ink); font-weight:500; }
.contact-card-note { font-size:.78rem; color:var(--muted); margin-top:.75rem; line-height:1.6; }
.contact-form-box { background:var(--cream); padding:2.8rem; border:1px solid var(--border); }
.contact-form-box h2 { font-size:1.6rem; margin-bottom:.5rem; }
.contact-map { width:100%; background:var(--ink); }
.contact-map iframe { display:block; }

.about-story { max-width:780px; margin:3rem auto 0; font-size:1rem; line-height:1.82; color:var(--ink); }
.about-story p { margin-bottom:1.2rem; }

.faq-group { margin-top:3rem; border-top:1px solid var(--border); }
.faq-group-title { font-family:'Cormorant Garamond',serif; font-size:1.1rem; font-weight:700; color:var(--gold); letter-spacing:.14em; text-transform:uppercase; padding:2.2rem 0 1rem; margin-bottom:0; }
.faq-item { border-bottom:1px solid var(--border); padding:1.4rem 0; }
.faq-item summary { display:flex; justify-content:space-between; align-items:center; gap:1.5rem; cursor:pointer; list-style:none; padding:.4rem 0; }
.faq-item summary::-webkit-details-marker { display:none; }
.faq-q { font-family:'Cormorant Garamond',serif; font-size:1.2rem; font-weight:600; color:var(--ink); flex:1; line-height:1.35; }
.faq-plus { font-size:1.5rem; color:var(--gold); font-weight:300; transition:transform .25s ease; line-height:1; flex-shrink:0; }
.faq-item[open] .faq-plus { transform:rotate(45deg); }
.faq-a { padding-top:1rem; font-size:.92rem; color:var(--muted); line-height:1.78; font-weight:300; padding-right:3rem; }
.faq-a p { margin-bottom:.8rem; }
.faq-a p:last-child { margin-bottom:0; }

.site-main { min-height:50vh; }
.wp-block-group { max-width:none; }

/* ═══ FULL APPLICATION PAGE ═══ */
.full-application-page { background:var(--cream); min-height:calc(100vh - 85px); padding:11rem 0 6rem; }
.full-application-page .container { max-width:880px; }
.full-application-page .page-header { text-align:center; margin-bottom:3rem; }
.full-application-page .page-header .label-line { justify-content:center; }
.full-application-page h1 { font-size:clamp(2.2rem,4vw,3.2rem); font-weight:700; color:var(--ink); line-height:1.05; margin-bottom:1rem; }
.full-application-page h1 em { font-style:italic; color:var(--gold); }
.full-application-page .intro { font-size:1rem; color:var(--muted); line-height:1.75; max-width:620px; margin:0 auto; font-weight:300; }
.full-application-page .form-wrap { background:var(--white); border:1px solid var(--border); border-radius:4px; padding:3.5rem; box-shadow:0 20px 60px rgba(11,18,32,.05); scroll-margin-top:120px; }
.full-application-page .form-wrap .wpcf7 label { display:block; font-size:.63rem; text-transform:uppercase; letter-spacing:.1em; color:var(--muted); margin-bottom:.38rem; font-weight:600; }
.full-application-page .form-wrap input[type="text"],
.full-application-page .form-wrap input[type="email"],
.full-application-page .form-wrap input[type="tel"],
.full-application-page .form-wrap input[type="number"],
.full-application-page .form-wrap select,
.full-application-page .form-wrap textarea { width:100%; border:1.5px solid var(--border); border-radius:2px; padding:.76rem 1rem; font-family:'Outfit',sans-serif; font-size:.875rem; color:var(--ink); background:var(--white); outline:none; -webkit-appearance:none; transition:border-color .2s; }
.full-application-page .form-wrap input:focus,
.full-application-page .form-wrap select:focus,
.full-application-page .form-wrap textarea:focus { border-color:var(--ink); }
.full-application-page .form-wrap .wpcf7-submit { width:100%; background:var(--ink); color:var(--white); border:none; padding:1.1rem; font-family:'Outfit',sans-serif; font-size:.82rem; font-weight:600; letter-spacing:.1em; text-transform:uppercase; cursor:pointer; border-radius:2px; transition:all .2s; margin-top:1rem; }
.full-application-page .form-wrap .wpcf7-submit:hover { background:var(--gold); color:var(--ink); }

/* ═══ PARTNER INTRODUCER FORM ═══ */
#introducer-form .partner-form-box { background:rgba(255,255,255,.04); border:1px solid rgba(192,150,74,.22); border-radius:4px; padding:3rem; margin-top:2.5rem; }
#introducer-form .partner-form-box .wpcf7 label { color:rgba(255,255,255,.7); font-size:.63rem; text-transform:uppercase; letter-spacing:.1em; font-weight:600; display:block; margin-bottom:.4rem; }
#introducer-form .partner-form-box input[type="text"],
#introducer-form .partner-form-box input[type="email"],
#introducer-form .partner-form-box input[type="tel"],
#introducer-form .partner-form-box select,
#introducer-form .partner-form-box textarea { background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.12); color:var(--white); border-radius:2px; padding:.76rem 1rem; font-family:'Outfit',sans-serif; font-size:.875rem; width:100%; outline:none; transition:border-color .2s; }
#introducer-form .partner-form-box input:focus,
#introducer-form .partner-form-box select:focus,
#introducer-form .partner-form-box textarea:focus { border-color:var(--gold); }
#introducer-form .partner-form-box input::placeholder,
#introducer-form .partner-form-box textarea::placeholder { color:rgba(255,255,255,.3); }
#introducer-form .partner-form-box .wpcf7-submit { background:var(--gold); color:var(--ink); border:none; padding:1.1rem 2.4rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase; cursor:pointer; border-radius:2px; transition:all .22s ease; width:100%; margin-top:1rem; font-size:.82rem; }
#introducer-form .partner-form-box .wpcf7-submit:hover { background:var(--gold2); transform:translateY(-2px); box-shadow:0 10px 35px rgba(192,150,74,.3); }

/* ═══ TESTIMONIALS background ═══ */
.section-dark#testimonials { position:relative; }
.section-dark#testimonials::before { content:''; position:absolute; inset:0; background-image:linear-gradient(rgba(192,150,74,.035) 1px, transparent 1px),linear-gradient(90deg, rgba(192,150,74,.035) 1px, transparent 1px); background-size:72px 72px; pointer-events:none; z-index:0; }
.section-dark#testimonials .container { position:relative; z-index:1; }

/* ═══ DESKTOP DROPDOWN NAV ═══ */
.has-dropdown { position:relative; }
.nav-dropdown { display:none; position:absolute; top:100%; left:50%; transform:translateX(-50%); background:rgba(11,18,32,.98); backdrop-filter:blur(18px); border:1px solid rgba(192,150,74,.18); border-radius:2px; padding:.5rem 0; list-style:none; min-width:220px; z-index:910; box-shadow:0 20px 40px rgba(0,0,0,.4); margin-top:0; }
.nav-dropdown li a { display:block !important; padding:.65rem 1.4rem !important; font-size:.72rem !important; color:rgba(255,255,255,.7) !important; white-space:nowrap; border-bottom:1px solid rgba(255,255,255,.05); }
.nav-dropdown li:last-child a { border-bottom:none; }
.nav-dropdown li a:hover { color:var(--gold) !important; background:rgba(192,150,74,.06); }
.has-dropdown > a::after { content:' ↓'; font-size:.6rem; opacity:.5; margin-left:.3rem; }
.has-dropdown::after { content:''; position:absolute; top:100%; left:0; right:0; height:.6rem; background:transparent; }
.has-dropdown:hover .nav-dropdown { display:block; }

.nav-menu .menu-item-has-children { position:relative; }
.nav-menu .sub-menu { display:none; position:absolute; top:100%; left:50%; transform:translateX(-50%); background:rgba(11,18,32,.98); backdrop-filter:blur(18px); border:1px solid rgba(192,150,74,.18); border-radius:2px; padding:.5rem 0; list-style:none; min-width:220px; z-index:910; box-shadow:0 20px 40px rgba(0,0,0,.4); margin-top:0; }
.nav-menu .sub-menu li a { display:block !important; padding:.65rem 1.4rem !important; font-size:.72rem !important; color:rgba(255,255,255,.7) !important; white-space:nowrap; border-bottom:1px solid rgba(255,255,255,.05); }
.nav-menu .sub-menu li:last-child a { border-bottom:none; }
.nav-menu .sub-menu li a:hover { color:var(--gold) !important; background:rgba(192,150,74,.06); }
.nav-menu .menu-item-has-children > a::after { content:' ↓'; font-size:.6rem; opacity:.5; margin-left:.3rem; }
.nav-menu .menu-item-has-children::after { content:''; position:absolute; top:100%; left:0; right:0; height:.6rem; background:transparent; }
.nav-menu .menu-item-has-children:hover .sub-menu { display:block; }

/* ═══ PRODUCT PAGE ═══ */
.prod-hero { background:var(--ink); padding:10rem 0 5rem; position:relative; overflow:hidden; }
.prod-hero::before { content:''; position:absolute; inset:0; background-image:linear-gradient(rgba(192,150,74,.035) 1px, transparent 1px),linear-gradient(90deg, rgba(192,150,74,.035) 1px, transparent 1px); background-size:72px 72px; pointer-events:none; }
.prod-hero-inner { position:relative; z-index:2; max-width:860px; }
.prod-hero-title { font-family:'Cormorant Garamond',serif; font-size:clamp(2.6rem,4.5vw,4.2rem); font-weight:700; color:var(--white); line-height:1.0; margin-bottom:1.2rem; }
.prod-hero-title em { color:var(--gold); font-style:italic; display:block; }
.prod-hero-body { font-size:1.05rem; color:rgba(255,255,255,.62); line-height:1.75; max-width:640px; margin-bottom:2rem; font-weight:300; }
.prod-hero-badges { display:flex; gap:1rem; flex-wrap:wrap; margin-bottom:2.5rem; }
.prod-badge { background:rgba(192,150,74,.1); border:1px solid rgba(192,150,74,.28); border-radius:2px; padding:.8rem 1.4rem; }
.prod-badge-label { display:block; font-size:.6rem; text-transform:uppercase; letter-spacing:.15em; color:var(--gold); margin-bottom:.25rem; font-family:'Outfit',sans-serif; font-weight:600; }
.prod-badge-value { display:block; font-family:'Cormorant Garamond',serif; font-size:1.35rem; font-weight:700; color:var(--white); line-height:1; }
.prod-hero-actions { display:flex; gap:1rem; flex-wrap:wrap; }
.prod-table-wrap { overflow-x:auto; margin:2rem 0 1rem; border:1px solid var(--border); border-radius:2px; }
.prod-table { width:100%; border-collapse:collapse; }
.prod-table th { background:var(--ink); color:var(--gold); font-family:'Outfit',sans-serif; font-size:.65rem; font-weight:700; letter-spacing:.12em; text-transform:uppercase; padding:1rem 1.4rem; text-align:left; white-space:nowrap; }
.prod-table td { padding:1rem 1.4rem; border-bottom:1px solid var(--border); color:var(--ink); font-size:.9rem; }
.prod-table tbody tr:last-child td { border-bottom:none; }
.prod-table tbody tr:nth-child(even) td { background:var(--cream); }
.prod-table td strong { font-weight:700; }
.prod-table-note { font-size:.75rem; color:var(--muted); line-height:1.6; font-style:italic; margin-top:.5rem; }
.prod-who-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:2px; background:var(--border); margin-top:2.5rem; }
.prod-who-item { background:var(--white); padding:2rem 1.8rem; display:flex; gap:1.4rem; align-items:flex-start; }
.prod-who-num { font-family:'Cormorant Garamond',serif; font-size:.82rem; font-weight:700; color:var(--gold); flex-shrink:0; padding-top:.15rem; letter-spacing:.06em; }
.prod-who-item h3 { font-size:1rem; font-weight:700; color:var(--ink); margin-bottom:.4rem; }
.prod-who-item p { font-size:.875rem; color:var(--muted); line-height:1.68; font-weight:300; }

/* ═══ HOME MENU ITEM — icon only ═══ */
.nav-home > a { font-size:0 !important; padding:.3rem .2rem !important; display:inline-flex !important; align-items:center !important; }
.nav-home > a::before { content:''; display:inline-block; width:17px; height:17px; background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23c0964a' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 9l9-7 9 7v11a2 2 0 01-2 2H5a2 2 0 01-2-2z'/%3E%3Cpolyline points='9 22 9 12 15 12 15 22'/%3E%3C/svg%3E"); background-repeat:no-repeat; background-size:contain; flex-shrink:0; }
.nav-home > a:hover::before { background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23d4ad63' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 9l9-7 9 7v11a2 2 0 01-2 2H5a2 2 0 01-2-2z'/%3E%3Cpolyline points='9 22 9 12 15 12 15 22'/%3E%3C/svg%3E"); }

/* ═══ INNER PAGE title sizing ═══ */
body:not(.is-front-page) .section-title { font-size:26px; }
.is-front-page .section-title { font-size:clamp(2rem,3.2vw,2.9rem); }
.is-front-page .hero h1 { font-size:clamp(3rem,5.2vw,5.2rem) !important; }
.prod-hero-title { font-size:clamp(2.6rem,4.5vw,4.2rem) !important; }

/* ═══ CONTACT FORM ═══ */
.contact-form-box .wpcf7 p { margin-bottom:1rem; }
.contact-form-box .wpcf7 label { display:block; font-size:.63rem; font-family:'Outfit',sans-serif; font-weight:600; text-transform:uppercase; letter-spacing:.1em; color:var(--muted); margin-bottom:.38rem; }
.contact-form-box .wpcf7 input[type="text"],
.contact-form-box .wpcf7 input[type="email"],
.contact-form-box .wpcf7 input[type="tel"],
.contact-form-box .wpcf7 input[type="url"],
.contact-form-box .wpcf7 select,
.contact-form-box .wpcf7 textarea { width:100%; border:1.5px solid var(--border); border-radius:var(--radius); padding:.76rem 1rem; font-family:'Outfit',sans-serif; font-size:.875rem; color:var(--ink); background:var(--white); outline:none; -webkit-appearance:none; transition:border-color .2s; box-shadow:none; }
.contact-form-box .wpcf7 input[type="text"]:focus,
.contact-form-box .wpcf7 input[type="email"]:focus,
.contact-form-box .wpcf7 input[type="tel"]:focus,
.contact-form-box .wpcf7 select:focus,
.contact-form-box .wpcf7 textarea:focus { border-color:var(--ink); }
.contact-form-box .wpcf7 textarea { resize:vertical; min-height:120px; }
.contact-form-box .wpcf7 input[type="submit"] { width:100%; background:var(--ink); color:var(--white); border:none; padding:1.05rem; font-family:'Outfit',sans-serif; font-size:.8rem; font-weight:600; letter-spacing:.1em; text-transform:uppercase; cursor:pointer; border-radius:var(--radius); transition:all .2s; margin-top:.5rem; -webkit-appearance:none; }
.contact-form-box .wpcf7 input[type="submit"]:hover { background:var(--gold); color:var(--ink); }
.contact-form-box .wpcf7-not-valid-tip { font-size:.68rem; color:#c0392b; margin-top:.25rem; display:block; }
.contact-form-box .wpcf7-response-output { margin:1rem 0 0; padding:.75rem 1rem; font-size:.78rem; border-radius:var(--radius); border:1.5px solid var(--border); }
.contact-form-box .wpcf7-mail-sent-ok { border-color:#1a5c38; background:rgba(26,92,56,.08); color:#1a5c38; }
.contact-form-box .wpcf7-mail-sent-ng,
.contact-form-box .wpcf7-aborted { border-color:#c0392b; background:rgba(192,57,43,.08); color:#c0392b; }

/* ═══ WordPress Content ═══ */
main ul, article ul, .entry-content ul, .wp-content ul { list-style-type:disc; list-style-position:outside; margin-left:2rem; margin-bottom:1.5rem; padding-left:2rem; }
main ul li, article ul li, .entry-content ul li, .wp-content ul li { margin-bottom:.75rem; line-height:1.6; }
main ol, article ol, .entry-content ol, .wp-content ol { list-style-type:decimal; list-style-position:outside; margin-left:2rem; margin-bottom:1.5rem; padding-left:2rem; }
main ol li, article ol li, .entry-content ol li, .wp-content ol li { margin-bottom:.75rem; line-height:1.6; }
main ul ul, article ul ul, .entry-content ul ul, .wp-content ul ul, main ol ol, article ol ol, .entry-content ol ol, .wp-content ol ol { margin-left:1.5rem; margin-top:.5rem; margin-bottom:.5rem; }
main p, article p, .entry-content p, .wp-content p { margin-bottom:1rem; line-height:1.6; }
main h1, main h2, main h3, main h4, main h5, main h6, article h1, article h2, article h3, article h4, article h5, article h6, .entry-content h1, .entry-content h2, .entry-content h3, .entry-content h4, .entry-content h5, .entry-content h6, .wp-content h1, .wp-content h2, .wp-content h3, .wp-content h4, .wp-content h5, .wp-content h6 { margin-top:1.5rem; margin-bottom:1rem; line-height:1.3; }
main table, article table, .entry-content table, .wp-content table { width:100%; border-collapse:collapse; margin:1.5rem 0; }
main table th, article table th, .entry-content table th, .wp-content table th, main table td, article table td, .entry-content table td, .wp-content table td { border:1px solid #ddd; padding:.75rem; text-align:left; }
main table th, article table th, .entry-content table th, .wp-content table th { background-color:#f9f9f9; font-weight:600; }
main blockquote, article blockquote, .entry-content blockquote, .wp-content blockquote { margin:1.5rem 0; padding-left:1.5rem; border-left:4px solid #ccc; font-style:italic; color:#666; }

/* ═══ PAGE LOADER ═══ */
.assetline-page-loader { position:fixed; inset:0; background:#0b1220; z-index:999999; display:flex; align-items:center; justify-content:center; transition:opacity 0.5s ease, visibility 0.5s ease; overflow:hidden; }
.assetline-page-loader.loaded { opacity:0; visibility:hidden; pointer-events:none; }
.loader-content { text-align:center; animation:fadeInUp 0.6s ease; position:relative; z-index:2; padding:2rem; }
.loader-logo { font-family:'Cormorant Garamond',Georgia,serif; font-size:clamp(2rem,6vw,2.8rem); font-weight:700; color:#ffffff; letter-spacing:0.02em; margin-bottom:2rem; line-height:1.2; }
.loader-logo span { color:#c0964a; }
.loader-spinner { position:relative; width:80px; height:80px; margin:0 auto; }
.spinner-ring { position:absolute; inset:0; border:3px solid transparent; border-top-color:#c0964a; border-radius:50%; animation:spin 1.2s cubic-bezier(0.5,0,0.5,1) infinite; }
.spinner-ring:nth-child(1) { animation-delay:-0.45s; border-top-color:#c0964a; }
.spinner-ring:nth-child(2) { animation-delay:-0.3s; border-top-color:#d4ad63; opacity:0.7; }
.spinner-ring:nth-child(3) { animation-delay:-0.15s; border-top-color:#e8c87a; opacity:0.4; }
@keyframes spin { 0%{transform:rotate(0deg)} 100%{transform:rotate(360deg)} }
@keyframes fadeInUp { from{opacity:0;transform:translateY(30px)} to{opacity:1;transform:translateY(0)} }
body.loading { overflow:hidden !important; height:100vh; position:fixed; width:100%; }

/* ═══════════════════════════════════════════════════════
   RESPONSIVE
═══════════════════════════════════════════════════════ */
/* font-size moved to main 961px block */

@media (max-width: 1100px) {
    .hero-inner { grid-template-columns:1fr; }
    .hero-card { max-width:480px; }
    .vehicle-inner,.process-grid,.partner-inner { grid-template-columns:1fr; gap:3.5rem; }
    .apply-split { grid-template-columns:1fr; }
    .apply-left,.apply-right { padding:4rem 5%; }
    .products-grid { grid-template-columns:1fr 1fr; }
    .criteria-grid { grid-template-columns:1fr 1fr; }
    .testi-grid { grid-template-columns:1fr 1fr; }
    .footer-grid { grid-template-columns:1fr 1fr; }
    .hero-stats { grid-template-columns:repeat(2,1fr); gap:1.5rem; }
    .hstat:not(:last-child) { border-right:none; }
    .contact-grid { grid-template-columns:1fr; gap:2.5rem; }
}

@media (max-width: 960px) {
    .section { padding:5rem 0; }
    .products-grid { grid-template-columns:1fr; }
    .criteria-grid { grid-template-columns:1fr; }
    .vehicle-grid { grid-template-columns:1fr; }
    .testi-grid { grid-template-columns:1fr; }
    .footer-grid { grid-template-columns:1fr; }
    .form-row { grid-template-columns:1fr; }
    .trust-bar-inner { flex-direction:column; gap:1.2rem; text-align:center; }
    .split-header { flex-direction:column; gap:1rem; }
    .hero-stats { grid-template-columns:repeat(2,1fr); }
    .contact-card { padding:1.8rem 1.5rem; }
    .contact-form-box { padding:2rem 1.5rem; }
    .faq-q { font-size:1.05rem; }
    .faq-a { padding-right:0; }
    .full-application-page { padding:8rem 0 4rem; }
    .full-application-page .form-wrap { padding:2rem 1.5rem; }
    #introducer-form .partner-form-box { padding:2rem 1.5rem; }
    .prod-hero { padding:8rem 0 3.5rem; }
    .prod-hero-badges { gap:.7rem; }
    .prod-badge { padding:.6rem 1rem; }
    .prod-badge-value { font-size:1.15rem; }
    .prod-who-grid { grid-template-columns:1fr; }
    .prod-table th, .prod-table td { padding:.75rem 1rem; font-size:.82rem; }
    body:not(.is-front-page) .section-title { font-size:22px; }
    .footer-legal-inner { flex-direction:column; gap:.3rem; }
    .loader-logo { font-size:2rem; margin-bottom:1.5rem; }
    .loader-spinner { width:60px; height:60px; }
    .spinner-ring { border-width:2px; }

    #nav.solid, #nav.solid-locked {
        background-color: rgba(11,18,32,.97) !important;
        -webkit-backdrop-filter: blur(18px) !important;
        backdrop-filter: blur(18px) !important;
        box-shadow: 0 1px 0 rgba(192,150,74,.18) !important;
    }

    /* Force nav solid on mobile from first paint */
    #nav {
        background: rgba(11,18,32,.97) !important;
        backdrop-filter: blur(18px) !important;
        -webkit-backdrop-filter: blur(18px) !important;
        box-shadow: 0 1px 0 rgba(192,150,74,.18) !important;
    }

    /* Logo — hide SVG divider line, size for mobile */
    .nav-logo svg line { display: none; }
    .nav-logo svg { height: 60px !important; width: auto !important; max-width: 220px !important; }

    /* Nav wrap — logo left, burger right */
    .nav-wrap {
        display: flex !important;
        flex-direction: row !important;
        align-items: center !important;
        justify-content: space-between !important;
        flex-wrap: nowrap !important;
        padding-top: 0.65rem !important;
        padding-bottom: 0.65rem !important;
    }
    .nav-logo { flex: 0 0 auto !important; }

    /* Show burger button */
    .nav-burger { display: flex !important; }

    /* Show close button inside panel */
    .nav-close { display: block !important; }

    /* Apply Now — plain text on mobile */
    .nav-menu .nav-cta a,
    .nav-menu li.nav-cta a {
        background: none !important;
        color: rgba(255,255,255,.75) !important;
        padding: 0 !important;
        border-radius: 0 !important;
        font-weight: 500 !important;
        font-size: 1rem !important;
        letter-spacing: .06em !important;
    }
    .nav-menu .nav-cta a:hover { color: var(--gold) !important; }

    /* Mobile menu panel — slides in from right */
    .nav-menu {
        display: flex !important;
        flex-direction: column !important;
        position: fixed !important;
        top: 0 !important;
        right: 0 !important;
        bottom: 0 !important;
        width: min(320px, 85vw) !important;
        height: 100vh !important;
        background: var(--ink) !important;
        border-left: 1px solid rgba(192,150,74,.2) !important;
        padding: 5rem 2rem 2rem !important;
        gap: 0 !important;
        overflow-y: auto !important;
        z-index: 9999 !important;
        transform: translateX(100%) !important;
        transition: transform 0.3s ease !important;
        list-style: none !important;
        box-shadow: none !important;
    }
    .nav-menu.open {
        transform: translateX(0) !important;
        box-shadow: -20px 0 60px rgba(0,0,0,.5) !important;
    }

    /* Mobile menu items */
    .nav-menu > li > a {
        display: block !important;
        font-size: 1rem !important;
        font-weight: 500 !important;
        letter-spacing: .06em !important;
        color: rgba(255,255,255,.75) !important;
        padding: 0.9rem 0 !important;
        border-bottom: 1px solid rgba(255,255,255,.07) !important;
        text-transform: uppercase !important;
        transition: color .2s !important;
    }
    .nav-menu > li > a:hover { color: var(--gold) !important; }
    .nav-menu > li:last-child > a { border-bottom: none !important; }

    /* Submenu arrows */
    .nav-menu .menu-item-has-children > a::after {
        content: ' +' !important;
        float: right !important;
        opacity: .5 !important;
        font-size: .85rem !important;
    }
    .nav-menu .menu-item-has-children.submenu-open > a::after {
        content: ' −' !important;
    }

    /* Mobile sub-menu */
    .nav-menu .sub-menu {
        display: none !important;
        position: static !important;
        transform: none !important;
        background: rgba(255,255,255,.04) !important;
        border: none !important;
        border-left: 2px solid rgba(192,150,74,.3) !important;
        border-radius: 0 !important;
        box-shadow: none !important;
        padding: 0.25rem 0 0.25rem 1rem !important;
        margin: 0.25rem 0 0.5rem !important;
        min-width: 0 !important;
    }
    .nav-menu .menu-item-has-children.submenu-open > .sub-menu {
        display: block !important;
    }
    .nav-menu .sub-menu li a {
        font-size: .85rem !important;
        color: rgba(255,255,255,.6) !important;
        padding: .55rem 0 !important;
        display: block !important;
        border-bottom: none !important;
        white-space: normal !important;
    }
    .nav-menu .sub-menu li a:hover { color: var(--gold) !important; }

    /* Dark overlay behind open menu */
    #nav::before {
        content: '';
        position: fixed;
        inset: 0;
        background: rgba(0,0,0,.5);
        opacity: 0;
        pointer-events: none;
        transition: opacity .3s ease;
        z-index: 9998;
    }
    #nav:has(.nav-menu.open)::before {
        opacity: 1;
        pointer-events: auto;
    }

    /* Hide Client Portal from mobile menu */
    .nav-menu li.nav-client-portal,
    .nav-menu li.menu-item a[href*="client-portal"] { display: none !important; }
}

/* ═══════════════════════════════════════════════════════
   BURGER BUTTON & CLOSE BUTTON
═══════════════════════════════════════════════════════ */
.nav-burger {
    display: none;
    flex-direction: column;
    justify-content: center;
    gap: 5px;
    background: none;
    border: none;
    cursor: pointer;
    padding: 8px;
    flex-shrink: 0;
}
.nav-burger span {
    display: block;
    width: 24px;
    height: 2px;
    background: var(--white);
    border-radius: 2px;
    transition: transform 0.25s ease, opacity 0.25s ease;
    transform-origin: center;
}
.nav-burger.open span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.nav-burger.open span:nth-child(2) { opacity: 0; transform: scaleX(0); }
.nav-burger.open span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

.nav-close {
    display: none;
    position: absolute;
    top: 1.4rem;
    right: 1.2rem;
    background: none;
    border: none;
    cursor: pointer;
    color: var(--white);
    font-size: 1.6rem;
    line-height: 1;
    padding: 0.4rem;
    opacity: 0.7;
    transition: opacity 0.2s;
    z-index: 10;
}
.nav-close:hover { opacity: 1; }

/* Desktop: ensure burger and close are hidden */
@media (min-width: 961px) {
    body { font-size: 17px; }
    .nav-burger { display: none !important; }
    .nav-close  { display: none !important; }
    .nav-menu {
        display: flex !important;
        position: static !important;
        transform: none !important;
        flex-direction: row !important;
        background: transparent !important;
        border: none !important;
        padding: 0 !important;
        width: auto !important;
        height: auto !important;
        overflow: visible !important;
        box-shadow: none !important;
    }
}

/* ═══════════════════════════════════════════════════════
   PRODUCT PAGE — LOAN ESTIMATOR
═══════════════════════════════════════════════════════ */
.hc-estimator {
    background: var(--ink);
    border: 1px solid rgba(192,150,74,.22);
    border-radius: 4px;
    padding: 2.4rem;
    margin-top: 2rem;
}
.hc-row { margin-bottom: 1rem; }
.hc-label {
    display: block;
    font-size: .64rem;
    text-transform: uppercase;
    letter-spacing: .12em;
    color: rgba(255,255,255,.38);
    margin-bottom: .4rem;
    font-family: 'Outfit', sans-serif;
    font-weight: 600;
}
.hc-select, .hc-input {
    width: 100%;
    background: rgba(255,255,255,.05);
    border: 1px solid rgba(255,255,255,.1);
    border-radius: var(--radius);
    padding: .75rem 1rem;
    color: var(--white);
    font-family: 'Outfit', sans-serif;
    font-size: .875rem;
    outline: none;
    transition: border-color .2s;
    -webkit-appearance: none;
}
.hc-select:focus, .hc-input:focus { border-color: var(--gold); }
.hc-select option { background: var(--ink2); color: var(--white); }
.hc-result {
    background: rgba(192,150,74,.1);
    border: 1px solid rgba(192,150,74,.28);
    border-radius: var(--radius);
    padding: 1.1rem 1.3rem;
    margin-top: 1.3rem;
}
.hc-amount {
    font-family: 'Cormorant Garamond', serif;
    font-size: 2.1rem;
    font-weight: 700;
    color: var(--white);
    line-height: 1;
    margin-bottom: .3rem;
}
.hc-note {
    font-size: .68rem;
    color: rgba(255,255,255,.38);
    line-height: 1.45;
}

/* POPIA / CF7 acceptance checkbox alignment */
.wpcf7-acceptance .wpcf7-list-item {
    display: flex;
    align-items: flex-start;
    gap: 0.6rem;
    margin: 0.5rem 0 1rem;
}
.wpcf7-acceptance .wpcf7-list-item input[type="checkbox"] {
    width: 16px;
    height: 16px;
    min-width: 16px;
    margin-top: 3px;
    flex-shrink: 0;
    accent-color: var(--gold);
}
.wpcf7-acceptance .wpcf7-list-item-label {
    font-size: .78rem;
    color: var(--muted);
    line-height: 1.6;
}
/* Footer phones row */
.footer-contact-phones {
    display: flex;
    align-items: center;
    gap: 0.5rem;
}
.footer-contact-phones span a {
    color: var(--cream);
    font-size: .8rem;
    transition: color .2s;
}
.footer-contact-phones span a:hover { color: var(--gold); }
.footer-logo svg rect:first-of-type { display: none; }
/* CF7 success message in dark sections */
#introducer-form .wpcf7-response-output,
#introducer-form .wpcf7-mail-sent-ok {
    color: var(--white) !important;
    border-color: #1a5c38 !important;
    background: rgba(26,92,56,.15) !important;
}