/* ============================================================
   VICTORIAN PUBLISHING HOUSE  —  PREMIUM HEADER
   Scoped redesign. Loaded AFTER the base styles so it overrides.
   Brand palette preserved: forest green + copper + gold + ivory.
   ============================================================ */

:root{
  --vp-green:#29361a;
  --vp-green-deep:#1d2713;
  --vp-copper:#b46c29;
  --vp-gold:#c9a24b;
  --vp-gold-light:#e7c878;
  --vp-gold-deep:#a87f2e;
  --vp-ivory:#fdfaf3;
  --vp-ivory-2:#f4ecdb;
  --vp-ink:#2b2517;
}

/* ---------------- Scroll progress (functional luxury touch) -------------- */
.vp-scroll-progress{
  position:fixed; top:0; left:0; height:3px; width:0;
  background:linear-gradient(90deg,var(--vp-gold-deep),var(--vp-gold-light),var(--vp-gold));
  box-shadow:0 0 10px rgba(201,162,75,.6);
  z-index:2000; transition:width .12s linear; pointer-events:none;
}

/* ---------------------------- TOP UTILITY BAR --------------------------- */
.header-above.vp-topbar{
  background:linear-gradient(90deg,var(--vp-green-deep),var(--vp-green) 50%,var(--vp-green-deep));
  padding:0; position:relative; overflow:hidden;
}
.header-above.vp-topbar::after{           /* glowing gold hairline */
  content:""; position:absolute; left:0; right:0; bottom:0; height:2px;
  background:linear-gradient(90deg,transparent,var(--vp-gold),transparent); opacity:.75;
}
.vp-topbar .vp-topbar-inner{
  display:flex; align-items:center; justify-content:space-between;
  gap:16px; min-height:48px;
}
.vp-topbar-left{ display:flex; align-items:center; gap:12px; }
.vp-tagline{
  margin:0; color:var(--vp-ivory);
  font-family:"Playfair Display",Georgia,"Times New Roman",serif;
  font-size:15px; letter-spacing:.3px; line-height:1;
  display:inline-flex; align-items:center; gap:10px;
}
.vp-tagline i{ color:var(--vp-gold-light); font-size:15px; }
.vp-tagline .vp-accent{ color:var(--vp-gold-light); font-style:italic; }

.vp-topbar-right{ display:flex; align-items:center; gap:16px; }
.vp-top-link{
  display:inline-flex; align-items:center; gap:9px;
  color:var(--vp-ivory)!important; font-family:Oswald,sans-serif;
  font-size:12.5px; letter-spacing:1.4px; text-transform:uppercase;
  transition:color .3s ease;
}
.vp-top-link .vp-ic{
  width:30px; height:30px; border-radius:50%;
  display:inline-flex; align-items:center; justify-content:center;
  border:1px solid rgba(201,162,75,.45); color:var(--vp-gold-light);
  font-size:12px; transition:all .35s ease;
}
.vp-top-link:hover{ color:var(--vp-gold-light)!important; }
.vp-top-link:hover .vp-ic{
  background:var(--vp-gold); color:var(--vp-green-deep);
  border-color:var(--vp-gold); transform:translateY(-1px);
  box-shadow:0 4px 12px rgba(201,162,75,.4);
}
.vp-top-divider{ width:1px; height:20px; background:rgba(201,162,75,.3); }

/* -------------------------------- NAVBAR -------------------------------- */
nav.navbar.vp-nav{
  background:var(--vp-ivory);
  position:sticky; top:0; z-index:999;
  padding:14px 0; border-bottom:1px solid rgba(201,162,75,.20);
  transition:padding .35s ease, box-shadow .35s ease, background .35s ease;
}
nav.navbar.vp-nav.is-stuck{
  padding:7px 0;
  background:rgba(253,250,243,.92);
  -webkit-backdrop-filter:blur(10px); backdrop-filter:blur(10px);
  box-shadow:0 12px 34px rgba(41,54,26,.14);
}
.vp-nav .navbar-brand{ padding:0; }
.vp-nav .navbar-brand img{ transition:transform .35s ease; }
.vp-nav.is-stuck .navbar-brand img{ transform:scale(.88); }

/* nav links */
.vp-nav .navbar-nav{ gap:4px; align-items:center; }
.navbar-light .vp-nav .navbar-nav .nav-link,
.vp-nav .navbar-nav .nav-link{
  color:var(--vp-green)!important;
  font-family:Oswald,sans-serif!important;
  font-size:15px; font-weight:500; letter-spacing:0px; text-transform:uppercase;
  padding:10px 14px!important; position:relative;
}
/* kill the old vertical-bar separators */
.vp-nav .nav-link::before{ content:none!important; display:none!important; }
/* animated gold underline grows from center */
.vp-nav .nav-item > .nav-link::after{
  content:""; position:absolute; left:50%; bottom:3px; transform:translateX(-50%);
  width:0; height:2px; border-radius:2px;
  background:linear-gradient(90deg,var(--vp-gold-deep),var(--vp-gold-light));
  transition:width .35s ease;
}
.vp-nav .nav-item > .nav-link:hover::after,
.vp-nav .nav-item > .nav-link.active::after{ width:68%; }
.vp-nav .navbar-nav .nav-link:hover,
.vp-nav .navbar-nav .nav-link.active{ color:var(--vp-copper)!important; }
.vp-nav .dropdown-icon{ font-size:10px; margin-left:6px; transition:transform .3s ease; }

/* premium dropdown panel */
.vp-nav .custom-dropdown .dropdown-menu{
  background:#fff!important; border:none; border-top:3px solid var(--vp-gold);
  border-radius:0 0 12px 12px; box-shadow:0 26px 54px rgba(41,54,26,.18);
  padding:14px; margin-top:12px;
}
.vp-nav .custom-dropdown .dropdown-menu li{
  border-bottom:1px solid rgba(41,54,26,.06)!important; margin:0 6px 4px 0;
}
.vp-nav .custom-dropdown .dropdown-item{
  color:var(--vp-green)!important; background:transparent!important;
  font-family:Oswald,sans-serif!important; text-transform:capitalize;
  font-size:15px; border-radius:8px; padding:9px 14px 9px 16px!important;
  position:relative; transition:all .25s ease;
}
.vp-nav .custom-dropdown .dropdown-item::before{        /* gold dot marker */
  content:""; position:absolute; left:7px; top:50%; transform:translateY(-50%);
  width:0; height:6px; background:var(--vp-gold); border-radius:50%;
  transition:width .25s ease;
}
.vp-nav .custom-dropdown .dropdown-item:hover{
  background:var(--vp-ivory-2)!important; color:var(--vp-copper)!important;
  padding-left:22px!important;
}
.vp-nav .custom-dropdown .dropdown-item:hover::before{ width:6px; }

/* gold-gradient CTA pill with shine sweep */
.vp-nav .vp-cta{
  display:inline-flex; align-items:center; gap:10px;
  font-family:Oswald,sans-serif; text-transform:uppercase;
  letter-spacing:1.2px; font-size:14px; font-weight:600;
  color:var(--vp-green-deep)!important;
  background:linear-gradient(135deg,var(--vp-gold-light),var(--vp-gold) 55%,var(--vp-gold-deep));
  padding:13px 26px; border-radius:50px; border:1px solid rgba(255,255,255,.45);
  box-shadow:0 8px 22px rgba(180,108,41,.28);
  position:relative; overflow:hidden;
  transition:transform .3s ease, box-shadow .3s ease;
}
.vp-nav .vp-cta span, .vp-nav .vp-cta img{ position:relative; z-index:2; }
.vp-nav .vp-cta::before{
  content:""; position:absolute; top:0; left:-130%; width:60%; height:100%;
  background:linear-gradient(120deg,transparent,rgba(255,255,255,.7),transparent);
  transform:skewX(-20deg); transition:left .6s ease;
}
.vp-nav .vp-cta:hover{ transform:translateY(-2px); box-shadow:0 16px 32px rgba(180,108,41,.42); }
.vp-nav .vp-cta:hover::before{ left:140%; }

/* mobile toggler */
.vp-nav .navbar-toggler{
  border:1px solid var(--vp-gold)!important; padding:6px 11px; border-radius:8px;
}
.vp-nav .navbar-toggler:focus{ box-shadow:0 0 0 .2rem rgba(201,162,75,.3); }

/* --------------------------- RESPONSIVE ------------------------------ */
@media (max-width:1199px){
  nav.navbar.vp-nav{ padding:10px 0; }
  nav.navbar.vp-nav.is-stuck{ padding:8px 0; }
  .vp-nav .nav-item > .nav-link::after{ display:none; }     /* underline off in stacked menu */
  .vp-nav .navbar-nav{ gap:2px; }
  .vp-nav .custom-dropdown .dropdown-menu{
    box-shadow:none; border-top:none; border-radius:8px;
    background:var(--vp-ivory-2)!important; padding:6px;
  }
}
@media (max-width:767px){
  .vp-topbar-left{ display:none; }                          /* keep top bar tidy on phones */
  .vp-topbar .vp-topbar-inner{ justify-content:center; }
  .vp-topbar-right{ gap:14px; }
}
@media (max-width:420px){
  .vp-top-link{ font-size:11px; letter-spacing:1px; gap:7px; }
  .vp-top-link .vp-ic{ width:26px; height:26px; }
}

/* ====================================================================
   PREMIUM MOBILE / TABLET DRAWER  (<= 1199px)
   ==================================================================== */
.vp-mobile-head, .vp-mobile-actions{ display:none; }

@media (max-width:1199px){
  /* keep the toggler + CTA absolutely placed and vertically centred */
  .vp-nav .container{ position:relative; }
  .vp-nav .navbar-toggler{
    display:inline-block; position:absolute; right:0; top:50% !important;
    transform:translateY(-50%) !important;
  }
  .vp-nav .navbar-right{
    position:absolute; right:64px; top:50% !important; transform:translateY(-50%) !important;
  }
  .vp-nav .navbar-right .vp-cta{ white-space:nowrap; }

  /* full-screen drawer */
  nav.navbar.vp-nav .navbar-collapse{
    position:fixed; inset:0; height:100vh; width:100%;
    background:var(--vp-ivory);
    z-index:1045;                       /* below Bootstrap modal (1055) */
    padding:0; overflow-y:auto; text-align:left;
  }
  nav.navbar.vp-nav .navbar-collapse.show::before{
    content:""; position:fixed; top:0; left:0; right:0; height:4px; z-index:2;
    background:linear-gradient(90deg,var(--vp-gold-deep),var(--vp-gold-light),var(--vp-gold));
  }

  /* drawer head: logo + close */
  .vp-mobile-head{
    display:flex; align-items:center; justify-content:space-between;
    padding:18px 22px; background:#fff;
    border-bottom:1px solid rgba(201,162,75,.25);
  }
  .vp-mobile-head img{ height:44px; width:auto; }
  .vp-menu-close{
    width:42px; height:42px; border-radius:50%;
    border:1px solid var(--vp-gold); background:transparent; color:var(--vp-green);
    font-size:18px; display:inline-flex; align-items:center; justify-content:center;
    transition:all .35s ease; cursor:pointer;
  }
  .vp-menu-close:hover{ background:var(--vp-gold); color:#fff; transform:rotate(90deg); }

  /* nav list */
  nav.navbar.vp-nav .navbar-collapse .navbar-nav{
    padding:10px 22px; gap:0; align-items:stretch;
  }
  nav.navbar.vp-nav .navbar-nav .nav-item{ border-bottom:1px solid rgba(41,54,26,.08); }
  nav.navbar.vp-nav .navbar-nav .nav-link{
    font-size:18px!important; letter-spacing:1px; padding:15px 4px!important;
    display:flex; align-items:center; justify-content:space-between;
  }
  .vp-nav .custom-dropdown.open .dropdown-icon{ transform:rotate(180deg); }

  /* dropdown panel inside drawer — hidden until JS adds .open */
  .vp-nav .custom-dropdown .dropdown-menu{
    background:var(--vp-ivory-2)!important; border-radius:10px; border-top:none;
    margin:2px 0 12px!important; padding:6px!important;
    width:100%!important; left:auto!important; box-shadow:none;
    display:none!important; position:static!important;
    opacity:1!important; visibility:visible!important; transform:none!important;
  }
  .vp-nav .custom-dropdown.open .dropdown-menu{ display:block!important; }
  .vp-nav .custom-dropdown .dropdown-menu li{
    width:100%!important; margin:0!important;
    border-bottom:1px solid rgba(41,54,26,.06)!important;
  }
  .vp-nav .custom-dropdown .dropdown-item{ font-size:15px; padding:11px 14px!important; }
  .vp-nav .custom-dropdown .dropdown-item:hover{ padding-left:18px!important; }

  /* actions */
  .vp-mobile-actions{
    display:flex; flex-direction:column; gap:14px; padding:6px 22px 44px;
  }
  .vp-mobile-actions .vp-mobile-cta{ width:100%; justify-content:center; padding:15px; }
  .vp-mobile-chat{
    display:inline-flex; align-items:center; justify-content:center; gap:10px;
    width:100%; padding:14px; border-radius:50px;
    border:1px solid var(--vp-green); color:var(--vp-green)!important;
    font-family:Oswald,sans-serif; text-transform:uppercase; letter-spacing:1px; font-size:14px;
    transition:all .35s ease;
  }
  .vp-mobile-chat:hover{ background:var(--vp-green); color:#fff!important; }
}

/* ====================================================================
   PREMIUM HERO
   ==================================================================== */
html{ scroll-behavior:smooth; scroll-padding-top:90px; }

.vp-hero{ position:relative; isolation:isolate; }

/* cinematic slow zoom on the background */
.vp-hero .lcp-hero-img{ z-index:0; animation:vpHeroZoom 24s ease-in-out infinite alternate; }
@keyframes vpHeroZoom{ from{ transform:scale(1);} to{ transform:scale(1.09);} }

/* layered overlay: warm glow + vignette + base darken (keeps the bookshelf visible) */
.vp-hero::after{
  content:""; position:absolute; inset:0; z-index:1; pointer-events:none;
  background:
    radial-gradient(60% 50% at 50% 20%, rgba(231,200,120,.12), transparent 60%),
    radial-gradient(130% 105% at 50% 38%, transparent 30%, rgba(15,20,10,.5) 78%, rgba(12,16,8,.9) 100%),
    linear-gradient(180deg, rgba(18,24,12,.55) 0%, rgba(18,24,12,.42) 50%, rgba(18,24,12,.8) 100%);
}
/* thin inset gold frame */
.vp-hero::before{
  content:""; position:absolute; inset:22px; z-index:2; pointer-events:none;
  border:1px solid rgba(201,162,75,.30); border-radius:6px;
}

.vp-hero .img-left, .vp-hero .img-right{ z-index:2; filter:drop-shadow(0 22px 40px rgba(0,0,0,.45)); }
.vp-hero .container{ position:relative; z-index:3; }

/* floating decorative motifs */
.vp-hero-motif{
  position:absolute; z-index:2; color:rgba(201,162,75,.16); pointer-events:none;
  font-size:clamp(34px,4vw,64px);
}
.vp-hero-motif-1{ top:17%; left:7%; animation:vpFloat 7s ease-in-out infinite; }
.vp-hero-motif-2{ top:24%; right:9%; animation:vpFloat 9s ease-in-out infinite; }
.vp-hero-motif-3{ bottom:24%; left:13%; font-size:clamp(26px,3vw,46px); animation:vpFloat 8s ease-in-out infinite reverse; }
@keyframes vpFloat{ 0%,100%{ transform:translateY(0) rotate(0);} 50%{ transform:translateY(-16px) rotate(4deg);} }

/* eyebrow with flanking gold rules */
.vp-hero .vp-eyebrow{
  display:flex!important; align-items:center; justify-content:center; gap:16px;
  font-size:clamp(13px,1.1vw,16px)!important; letter-spacing:3px;
  color:var(--vp-gold-light); margin-bottom:20px; font-weight:500;
}
.vp-hero .vp-eyebrow::before, .vp-hero .vp-eyebrow::after{
  content:""; height:1px; width:46px; background:linear-gradient(90deg,transparent,var(--vp-gold));
}
.vp-hero .vp-eyebrow::after{ background:linear-gradient(90deg,var(--vp-gold),transparent); }
.vp-hero .vp-eyebrow span{ white-space:normal; }

/* main title: condensed sans + serif-italic gold accent */
.vp-hero .vp-hero-title{ text-shadow:0 6px 30px rgba(0,0,0,.4); line-height:1.04; }
.vp-hero .vp-gold-word{
  font-family:"Playfair Display",Georgia,serif; font-style:italic; font-weight:600;
  text-transform:none; padding:0 .06em;
  background:linear-gradient(135deg,var(--vp-gold-light),var(--vp-gold) 55%,var(--vp-gold-deep));
  -webkit-background-clip:text; background-clip:text;
  -webkit-text-fill-color:transparent; color:var(--vp-gold);
}

.vp-hero .main-para{ color:#ece4d3; }

/* buttons (keep classes + behaviour, restyle to premium) */
.vp-hero .btn-container{ margin-top:8px; }
.vp-hero .theme-btn1{
  background:linear-gradient(135deg,var(--vp-gold-light),var(--vp-gold) 55%,var(--vp-gold-deep))!important;
  color:var(--vp-green-deep)!important; border:1px solid rgba(255,255,255,.4)!important;
  border-radius:50px!important; font-family:Oswald,sans-serif; letter-spacing:1px;
  padding:14px 32px!important; box-shadow:0 10px 26px rgba(180,108,41,.35);
}
.vp-hero .theme-btn1:hover{ transform:translateY(-2px); color:var(--vp-green-deep)!important; }
.vp-hero .theme-btn2{
  background:transparent!important; border:1.5px solid var(--vp-gold)!important;
  color:var(--vp-ivory)!important; border-radius:50px!important;
  font-family:Oswald,sans-serif; letter-spacing:1px; padding:14px 32px!important; transition:all .35s ease;
}
.vp-hero .theme-btn2:hover{ background:var(--vp-gold)!important; color:var(--vp-green-deep)!important; transform:translateY(-2px); }

/* scroll cue */
.vp-scroll-cue{
  display:inline-flex; flex-direction:column; align-items:center; gap:9px; margin-top:30px;
  color:var(--vp-gold-light)!important; font-family:Oswald,sans-serif;
  font-size:11px; letter-spacing:2px; text-transform:uppercase;
}
.vp-scroll-mouse{
  width:26px; height:42px; border:2px solid rgba(231,200,120,.7); border-radius:14px;
  display:flex; justify-content:center; padding-top:7px;
}
.vp-scroll-dot{ width:4px; height:8px; border-radius:4px; background:var(--vp-gold-light); animation:vpScrollDot 1.6s ease-in-out infinite; }
@keyframes vpScrollDot{ 0%{opacity:0; transform:translateY(-4px);} 50%{opacity:1; transform:translateY(4px);} 100%{opacity:0; transform:translateY(10px);} }
.vp-scroll-cue:hover{ color:#fff!important; }

@media (max-width:991px){
  .vp-hero::before{ inset:12px; }
  .vp-hero-motif{ display:none; }
}

/* mobile hero: stack full-width buttons on a single line + tidy spacing */
@media (max-width:767px){
  .vp-hero .btn-container{
    flex-direction:column !important;
    gap:12px !important;
    width:100%;
    margin-bottom:8px !important;
  }
  .vp-hero .btn-container .theme-btn1,
  .vp-hero .btn-container .theme-btn2{
    width:100%; max-width:340px; margin:0 auto !important;
    display:flex; align-items:center; justify-content:center;
    white-space:nowrap;
    padding:14px 16px !important;
    font-size:13.5px; letter-spacing:.5px; line-height:1.1;
  }
  .vp-hero .main-para{ width:100% !important; margin-bottom:1rem; }
  .vp-hero .vp-hero-title{ line-height:1.1; }
}
@media (max-width:575px){
  .vp-hero .vp-eyebrow{ gap:10px; letter-spacing:2px; }
  .vp-hero .vp-eyebrow::before, .vp-hero .vp-eyebrow::after{ width:22px; }
  .vp-scroll-cue{ margin-top:18px; }
  .vp-hero .btn-container .theme-btn1,
  .vp-hero .btn-container .theme-btn2{ font-size:12.5px; padding:13px 12px !important; }
}

/* ====================================================================
   TABLET / MOBILE LOGO SIZING  — make the brand mark larger & legible
   ==================================================================== */
@media (max-width:1199px){
  .vp-nav .navbar-brand{ width:auto !important; margin-right:0; padding:0; flex:0 0 auto; }
  .vp-nav .navbar-brand img{
    height:54px !important; width:auto !important; max-width:none !important;
  }
  .vp-nav.is-stuck .navbar-brand img{ transform:none; height:46px !important; }
}
@media (max-width:575px){
  .vp-nav .navbar-brand img{ height:48px !important; }
}
@media (max-width:360px){
  .vp-nav .navbar-brand img{ height:44px !important; }
}

/* CTA must never wrap to two lines */
.vp-nav .vp-cta{ white-space:nowrap; }

/* desktop "tweener" 1200–1399: tighten so the full nav sits comfortably */
@media (max-width:1399px){
  .vp-nav .navbar-nav{ gap:2px; }
  .vp-nav .navbar-nav .nav-link{ padding:10px 9px !important; }
  .vp-nav .vp-cta{ padding:11px 18px; letter-spacing:.6px; }
}

/* ====================================================================
   SECOND FOLD — "Publishing Partner" section
   ==================================================================== */
.vp-partner{
  position:relative; overflow:hidden;
  background:linear-gradient(180deg,#fffdf8 0%, #f4ecdb 100%);
}
.vp-partner::before{                 /* faint editorial quotation mark */
  content:"\201C"; position:absolute; top:-70px; left:6px;
  font-family:"Playfair Display",Georgia,serif; font-size:320px; line-height:1;
  color:rgba(201,162,75,.10); z-index:0; pointer-events:none;
}
.vp-partner::after{                  /* soft warm glow top-right */
  content:""; position:absolute; top:-120px; right:-120px; width:380px; height:380px;
  background:radial-gradient(circle, rgba(201,162,75,.16), transparent 70%);
  z-index:0; pointer-events:none;
}
.vp-partner > .container{ position:relative; z-index:1; }

/* eyebrow */
.vp-partner .vp-eyebrow-2{
  display:inline-flex; align-items:center; gap:12px; margin-bottom:12px;
  font-family:Oswald,sans-serif; text-transform:uppercase; letter-spacing:2px;
  color:var(--vp-copper); font-size:14px; font-weight:600;
}
.vp-partner .vp-eyebrow-2::before{
  content:""; width:38px; height:2px;
  background:linear-gradient(90deg,var(--vp-gold-deep),var(--vp-gold));
}

/* heading */
.vp-partner .vp-partner-title{
  font-family:Oswald,sans-serif; color:var(--vp-green);
  font-size:clamp(30px,3.4vw,52px); line-height:1.08; text-transform:capitalize; margin:0 0 14px;
}
.vp-partner .vp-gold-word{
  font-family:"Playfair Display",Georgia,serif; font-style:italic; font-weight:600; text-transform:none;
  background:linear-gradient(135deg,var(--vp-gold-deep),var(--vp-copper) 55%,var(--vp-gold-deep));
  -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent; color:var(--vp-copper);
}
.vp-partner .s1-left p{ color:#574a38; line-height:1.85; }

/* premium stat cards */
.vp-partner .vp-stats{
  display:grid; grid-template-columns:repeat(3,1fr); gap:16px; margin:30px 0 6px;
}
.vp-partner .vp-stat-card{
  position:relative; overflow:hidden; text-align:center;
  background:#fff; border:1px solid rgba(201,162,75,.28); border-radius:14px;
  padding:20px 14px; box-shadow:0 10px 26px rgba(41,54,26,.06);
  transition:transform .35s ease, box-shadow .35s ease, border-color .35s ease;
}
.vp-partner .vp-stat-card::before{
  content:""; position:absolute; top:0; left:0; right:0; height:3px;
  background:linear-gradient(90deg,var(--vp-gold-light),var(--vp-gold),var(--vp-gold-deep));
}
.vp-partner .vp-stat-card:hover{
  transform:translateY(-6px); box-shadow:0 20px 42px rgba(41,54,26,.15);
  border-color:rgba(201,162,75,.5);
}
.vp-partner .vp-stat-ic{
  display:inline-flex; align-items:center; justify-content:center;
  width:48px; height:48px; border-radius:50%; margin-bottom:10px;
  background:rgba(201,162,75,.14); color:var(--vp-copper); font-size:19px;
  transition:all .35s ease;
}
.vp-partner .vp-stat-card:hover .vp-stat-ic{ background:var(--vp-gold); color:var(--vp-green-deep); }
.vp-partner .vp-stat-num{
  display:flex; align-items:baseline; justify-content:center; gap:2px;
  font-family:Oswald,sans-serif;
}
.vp-partner .vp-stat-num .count{
  margin:0; line-height:1; font-size:40px; font-weight:700; color:var(--vp-green);
}
.vp-partner .vp-stat-num span{ font-size:26px; font-weight:700; color:var(--vp-copper); }
.vp-partner .vp-stat-label{
  margin-top:8px; font-family:Oswald,sans-serif; text-transform:uppercase;
  letter-spacing:.8px; font-size:12.5px; font-weight:500; color:var(--vp-copper); line-height:1.25;
}

/* buttons */
.vp-partner .vp-btn-solid, .vp-partner .vp-btn-ghost{
  display:inline-flex; align-items:center; gap:9px;
  font-family:Oswald,sans-serif; text-transform:uppercase; letter-spacing:.8px; font-size:14px; font-weight:600;
  padding:14px 26px; border-radius:50px; transition:all .35s ease; cursor:pointer;
}
.vp-partner .vp-btn-solid{
  background:linear-gradient(135deg,var(--vp-gold-light),var(--vp-gold) 55%,var(--vp-gold-deep));
  color:var(--vp-green-deep)!important; border:1px solid rgba(255,255,255,.4);
  box-shadow:0 10px 24px rgba(180,108,41,.28);
}
.vp-partner .vp-btn-solid:hover{ transform:translateY(-2px); box-shadow:0 16px 32px rgba(180,108,41,.42); color:var(--vp-green-deep)!important; }
.vp-partner .vp-btn-ghost{ background:transparent; color:var(--vp-green)!important; border:1.5px solid var(--vp-green); }
.vp-partner .vp-btn-ghost:hover{ background:var(--vp-green); color:#fff!important; transform:translateY(-2px); }

/* form card refinements */
.vp-partner .s1-form{ position:relative; box-shadow:0 30px 60px rgba(41,54,26,.18); }
.vp-partner .vp-form-badge{
  display:inline-flex; align-items:center; gap:8px; margin-bottom:14px;
  background:linear-gradient(135deg,var(--vp-gold-light),var(--vp-gold-deep));
  color:var(--vp-green-deep); font-family:Oswald,sans-serif; text-transform:uppercase;
  letter-spacing:1px; font-size:12px; font-weight:600; padding:7px 16px; border-radius:50px;
}
.vp-partner .form-wrap .form-control:focus{
  border:1px solid var(--vp-gold-light)!important;
  box-shadow:0 0 0 .18rem rgba(201,162,75,.25)!important;
}
.vp-partner .s1-form .theme-btn1{
  background:linear-gradient(135deg,var(--vp-gold-light),var(--vp-gold) 55%,var(--vp-gold-deep))!important;
  color:var(--vp-green-deep)!important; border:1px solid rgba(255,255,255,.4)!important;
  border-radius:50px!important; font-family:Oswald,sans-serif; letter-spacing:1px;
}
.vp-partner .s1-form .theme-btn1:hover{ transform:translateY(-2px); color:var(--vp-green-deep)!important; }

/* responsive */
@media (max-width:991px){
  .vp-partner .s1-left{ margin-bottom:40px; }
}
@media (max-width:575px){
  .vp-partner::before{ font-size:190px; top:-44px; }
  .vp-partner .vp-stats{ gap:10px; }
  .vp-partner .vp-stat-card{ padding:14px 8px; border-radius:11px; }
  .vp-partner .vp-stat-ic{ width:40px; height:40px; font-size:16px; }
  .vp-partner .vp-stat-num .count{ font-size:28px; }
  .vp-partner .vp-stat-num span{ font-size:19px; }
  .vp-partner .vp-stat-label{ font-size:10.5px; letter-spacing:.3px; }
  .vp-partner .vp-btn-solid, .vp-partner .vp-btn-ghost{ width:100%; justify-content:center; }
}

/* ====================================================================
   SECTION 3 — Services (original hover-reveal, made premium)
   ==================================================================== */
.vp-services{ background:linear-gradient(180deg,#ffffff 0%, #f6efe1 100%); position:relative; }

/* header */
.vp-services .vp-eyebrow-center{
  display:inline-flex!important; align-items:center; justify-content:center; gap:14px;
  font-family:Oswald,sans-serif!important; text-transform:uppercase; letter-spacing:2px!important;
  color:var(--vp-copper)!important; font-size:15px!important; font-weight:600!important; margin-bottom:8px;
}
.vp-services .vp-eyebrow-center::before, .vp-services .vp-eyebrow-center::after{
  content:""; width:42px; height:2px; background:linear-gradient(90deg,transparent,var(--vp-gold));
}
.vp-services .vp-eyebrow-center::after{ background:linear-gradient(90deg,var(--vp-gold),transparent); }
.vp-services .vp-services-title{ color:var(--vp-green)!important; font-family:Oswald,sans-serif; }
.vp-services .our-service-hd p{ color:#5d4f3b!important; }

/* card shell — warmer ivory, rounded, soft shadow, lift on hover */
.vp-services .service-box{
  background:#fbf7ef!important;
  border:1px solid rgba(201,162,75,.22);
  border-radius:18px!important;
  box-shadow:0 12px 30px rgba(41,54,26,.08);
  transition:transform .45s ease, box-shadow .45s ease, border-color .45s ease;
}
.vp-services .service-box:hover{
  transform:translateY(-6px);
  box-shadow:0 26px 50px rgba(41,54,26,.18);
  border-color:rgba(201,162,75,.5);
}

/* gentle image zoom on hover */
.vp-services .service-img img{ transition:transform .6s ease; }
.vp-services .service-box:hover .service-img img{ transform:scale(1.06); }

/* readable premium green overlay behind the revealed content */
.vp-services .service-content::after{
  background:linear-gradient(180deg, rgba(41,54,26,.92), rgba(29,39,19,.97))!important;
  opacity:0; transition:opacity .5s ease!important;
}
.vp-services .service-box:hover .service-content::after{ opacity:1!important; }

/* slim gold bar that grows across the top of the revealed panel */
.vp-services .service-content::before{
  content:""; position:absolute; top:0; left:50%; transform:translateX(-50%);
  width:0; height:3px; border-radius:3px; z-index:2;
  background:linear-gradient(90deg,var(--vp-gold-light),var(--vp-gold-deep));
  transition:width .5s ease .05s;
}
.vp-services .service-box:hover .service-content::before{ width:72%; }

/* title + copy on reveal */
.vp-services .service-content .font-25{ transition:color .3s ease; }
.vp-services .service-box:hover .service-content p{ color:#f1ead9!important; }

/* FIRST VIEW = heading only. Paragraph, button and link stay hidden until hover */
.vp-services .service-content p,
.vp-services .service-content .btn-container,
.vp-services .service-content > a{
  opacity:0; visibility:hidden; transform:translateY(12px);
  transition:opacity .4s ease, visibility .4s ease, transform .45s ease;
}
.vp-services .service-box:hover .service-content p,
.vp-services .service-box:hover .service-content .btn-container,
.vp-services .service-box:hover .service-content > a{
  opacity:1; visibility:visible; transform:translateY(0);
}

/* ---- buttons (premium + fixed) ---- */
.vp-services .service-content .btn-container{ margin:8px 0 4px!important; }
.vp-services .service-content .theme-btn1{
  background:linear-gradient(135deg,var(--vp-gold-light),var(--vp-gold) 55%,var(--vp-gold-deep))!important;
  color:var(--vp-green-deep)!important; border:none!important; border-radius:50px!important;
  padding:12px 28px!important; font-family:Oswald,sans-serif; letter-spacing:.8px; font-weight:600; font-size:14px;
  box-shadow:0 8px 20px rgba(0,0,0,.28);
}
.vp-services .service-content .theme-btn1:hover{ transform:translateY(-2px); color:var(--vp-green-deep)!important; }
.vp-services .service-content > a{
  color:#fff!important; font-family:Oswald,sans-serif; text-transform:uppercase;
  letter-spacing:1px; font-size:13px; font-weight:600;
  display:inline-flex; align-items:center; gap:7px;
}
.vp-services .service-content > a u{ text-decoration:none!important; }
.vp-services .service-content > a::after{ content:"\2192"; transition:transform .3s ease; }
.vp-services .service-content > a:hover{ color:var(--vp-gold-light)!important; }
.vp-services .service-content > a:hover::after{ transform:translateX(5px); }

/* ---- MOBILE/TABLET (<=768): no hover on touch, so show content as a clean
        static card (image on top, info + buttons always visible & tappable) --- */
@media (max-width:768px){
  .vp-services .service-box{ padding-bottom:0!important; display:flex; flex-direction:column; }
  .vp-services .service-content{
    position:static!important; bottom:auto!important; height:auto!important;
    background:#fff!important; color:inherit!important;
    padding:20px!important; align-items:flex-start!important; text-align:left!important;
    justify-content:flex-start!important;
  }
  .vp-services .service-content::after{ display:none!important; }
  .vp-services .service-content::before{ display:none!important; }
  .vp-services .service-content .font-25{ color:var(--vp-green)!important; }
  .vp-services .service-content p{ color:#5d4f3b!important; height:auto!important; }
  .vp-services .service-content > a{ color:var(--vp-copper)!important; margin-top:10px; }
  /* on touch there is no hover — keep everything visible */
  .vp-services .service-content p,
  .vp-services .service-content .btn-container,
  .vp-services .service-content > a{
    opacity:1!important; visibility:visible!important; transform:none!important;
  }
}

/* ====================================================================
   Shared centred eyebrow (reusable across sections)
   ==================================================================== */
.vp-eyebrow-center{
  display:inline-flex!important; align-items:center; justify-content:center; gap:14px;
  font-family:Oswald,sans-serif!important; text-transform:uppercase; letter-spacing:2px!important;
  color:var(--vp-copper)!important; font-size:15px!important; font-weight:600!important; margin-bottom:8px;
}
.vp-eyebrow-center::before, .vp-eyebrow-center::after{
  content:""; width:42px; height:2px; background:linear-gradient(90deg,transparent,var(--vp-gold));
}
.vp-eyebrow-center::after{ background:linear-gradient(90deg,var(--vp-gold),transparent); }

/* ====================================================================
   "MORE THAN A PUBLISHER" — why-choose feature cards
   ==================================================================== */
.vp-why{ background:linear-gradient(180deg,#fffdf8 0%, #f4ecdb 100%); position:relative; }
.vp-why .vp-why-title{ color:var(--vp-green)!important; font-family:Oswald,sans-serif; }
.vp-why .vp-why-title .vp-gold-word{
  font-family:"Playfair Display",Georgia,serif; font-style:italic; font-weight:600; text-transform:none;
  background:linear-gradient(135deg,var(--vp-gold-deep),var(--vp-copper) 55%,var(--vp-gold-deep));
  -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent; color:var(--vp-copper);
}
.vp-why .choose-heading p{ color:#5d4f3b!important; }

/* even, consistent gaps on all sides (24px horizontal + vertical) */
.vp-why .row{ --bs-gutter-x:1.5rem; --bs-gutter-y:1.5rem; }

/* premium feature cards (keep the green/copper alternation, elevate it) */
.vp-why .choose-box{
  position:relative; overflow:hidden; height:100%;
  margin-bottom:0!important;
  border-radius:16px!important; padding:30px 26px!important;
  border:1px solid rgba(255,255,255,.12)!important;
  box-shadow:0 14px 34px rgba(41,54,26,.12);
  transition:transform .4s ease, box-shadow .4s ease!important;
}
.vp-why .choose-box.brown-bg{ background:linear-gradient(135deg,#c4823a,#9a5a1f)!important; }
.vp-why .choose-box.green-bg{ background:linear-gradient(135deg,#33442a,#1d2713)!important; }
.vp-why .choose-box::before, .vp-why .choose-box::after{ display:none!important; }
.vp-why .choose-box::after{                          /* faint gold corner glow */
  content:""!important; display:block!important; position:absolute; top:-40px; right:-40px;
  width:140px; height:140px; border-radius:50%;
  background:radial-gradient(circle, rgba(231,200,120,.22), transparent 70%); pointer-events:none;
}
.vp-why .choose-box:hover{ transform:translateY(-6px); box-shadow:0 26px 52px rgba(41,54,26,.24); }
.vp-why .vp-why-ic{
  display:inline-flex; align-items:center; justify-content:center;
  width:56px; height:56px; border-radius:14px; margin-bottom:16px;
  background:rgba(231,200,120,.16); color:var(--vp-gold-light); font-size:23px;
  border:1px solid rgba(231,200,120,.4); transition:all .4s ease;
}
.vp-why .choose-box:hover .vp-why-ic{ background:var(--vp-gold); color:var(--vp-green-deep); transform:rotate(-6deg); }
.vp-why .choose-box h3{ font-family:Oswald,sans-serif!important; color:#fff!important; font-size:23px; margin-bottom:10px; }
.vp-why .choose-box p{ color:rgba(255,255,255,.86)!important; line-height:1.7; }

/* ====================================================================
   CONNECT / CTA banner
   ==================================================================== */
.vp-connect{ position:relative; }
.vp-connect::before{
  content:""; position:absolute; inset:0; z-index:0;
  background:linear-gradient(120deg, rgba(15,20,10,.93) 0%, rgba(29,39,19,.78) 50%, rgba(18,24,12,.45) 100%);
}
.vp-connect > .container{ position:relative; z-index:1; }
.vp-connect .vp-eyebrow-light{
  display:inline-flex; align-items:center; gap:12px; margin-bottom:12px;
  font-family:Oswald,sans-serif; text-transform:uppercase; letter-spacing:2px;
  color:var(--vp-gold-light); font-size:15px; font-weight:600;
}
.vp-connect .vp-eyebrow-light::before{
  content:""; width:40px; height:2px; background:linear-gradient(90deg,var(--vp-gold-deep),var(--vp-gold));
}
.vp-connect .vp-connect-title{ color:#fff!important; font-family:Oswald,sans-serif; }
.vp-connect .vp-connect-title .vp-gold-word{
  font-family:"Playfair Display",Georgia,serif; font-style:italic; font-weight:600; text-transform:none;
  background:linear-gradient(135deg,var(--vp-gold-light),var(--vp-gold) 55%,var(--vp-gold-deep));
  -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent; color:var(--vp-gold-light);
}
.vp-connect .cta-left p{ color:#ece4d3!important; }

/* premium buttons */
.vp-connect .btn-container .theme-btn2{
  background:transparent!important; border:1.5px solid var(--vp-gold)!important; color:#fff!important;
  border-radius:50px!important; font-family:Oswald,sans-serif; letter-spacing:.8px; padding:13px 28px!important;
  transition:all .35s ease;
}
.vp-connect .btn-container .theme-btn2:hover{ background:var(--vp-gold)!important; color:var(--vp-green-deep)!important; transform:translateY(-2px); }
.vp-connect .btn-container .theme-btn1{
  background:linear-gradient(135deg,var(--vp-gold-light),var(--vp-gold) 55%,var(--vp-gold-deep))!important;
  color:var(--vp-green-deep)!important; border:none!important; border-radius:50px!important;
  font-family:Oswald,sans-serif; letter-spacing:.8px; padding:13px 28px!important;
  box-shadow:0 10px 24px rgba(180,108,41,.35);
}
.vp-connect .btn-container .theme-btn1:hover{ transform:translateY(-2px); color:var(--vp-green-deep)!important; }

@media (max-width:575px){
  .vp-why .choose-box{ padding:24px 20px!important; }
  .vp-connect .btn-container{ flex-direction:column; align-items:stretch!important; }
  .vp-connect .btn-container .theme-btn1, .vp-connect .btn-container .theme-btn2{ width:100%; justify-content:center; text-align:center; }
}

/* ====================================================================
   PORTFOLIO — "Some Of Our Successful Publications"
   ==================================================================== */
.vp-portfolio{
  position:relative; overflow:hidden;
  background:linear-gradient(160deg,#1d2713 0%, #29361a 48%, #18200f 100%)!important;
}
.vp-portfolio::before{                       /* soft gold glow, top centre */
  content:""; position:absolute; top:-160px; left:50%; transform:translateX(-50%);
  width:680px; height:420px; z-index:0; pointer-events:none;
  background:radial-gradient(circle, rgba(201,162,75,.16), transparent 70%);
}
.vp-portfolio > .container-fluid{ position:relative; z-index:1; }

/* heading */
.vp-eyebrow-on-dark{ color:var(--vp-gold-light)!important; }
.vp-portfolio .vp-portfolio-title{ color:#fff!important; font-family:Oswald,sans-serif; }
.vp-portfolio .vp-portfolio-title .vp-gold-word{
  font-family:"Playfair Display",Georgia,serif; font-style:italic; font-weight:600; text-transform:none;
  background:linear-gradient(135deg,var(--vp-gold-light),var(--vp-gold) 55%,var(--vp-gold-deep));
  -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent; color:var(--vp-gold-light);
}

/* premium pill tabs */
.vp-portfolio .nav-tabs{ gap:10px 12px; flex-wrap:wrap; }
.vp-portfolio .nav-tabs .nav-link{
  border:1px solid rgba(231,200,120,.35)!important; border-radius:50px!important;
  background:rgba(255,255,255,.04)!important; color:#efe6d3!important;
  font-family:Oswald,sans-serif!important; text-transform:uppercase; letter-spacing:1px;
  font-size:14px!important; font-weight:500; padding:10px 24px!important; transition:all .3s ease;
}
.vp-portfolio .nav-tabs .nav-link::before{ display:none!important; content:none!important; }
.vp-portfolio .nav-tabs .nav-link:hover{ border-color:var(--vp-gold)!important; color:#fff!important; transform:translateY(-2px); }
.vp-portfolio .nav-tabs .nav-link.active{
  background:linear-gradient(135deg,var(--vp-gold-light),var(--vp-gold) 55%,var(--vp-gold-deep))!important;
  color:var(--vp-green-deep)!important; border-color:transparent!important;
  box-shadow:0 10px 24px rgba(180,108,41,.4);
}

/* flip cards (Published Books) */
.vp-portfolio .flip-front, .vp-portfolio .flip-back{
  border-radius:12px!important; box-shadow:0 18px 38px rgba(0,0,0,.5);
}
.vp-portfolio .flip-front{ overflow:hidden; border:1px solid rgba(231,200,120,.25); }
.vp-portfolio .flip-front img{ border-radius:12px!important; }
.vp-portfolio .flip-back{ border:1px solid rgba(231,200,120,.45); }
.vp-portfolio .flip-back h4{ font-family:Oswald,sans-serif; color:#fff; letter-spacing:.5px; }
.vp-portfolio .flip-back p{ color:var(--vp-gold-light); margin-bottom:0; }
.vp-portfolio .flip-back .theme-btn2{
  background:linear-gradient(135deg,var(--vp-gold-light),var(--vp-gold) 55%,var(--vp-gold-deep))!important;
  color:var(--vp-green-deep)!important; border:none!important; border-radius:50px!important;
  font-family:Oswald,sans-serif; letter-spacing:.6px; font-weight:600;
}

/* image grids (Author Websites / Illustrations / Marketing) */
.vp-portfolio .cover-box, .vp-portfolio .portfolio-img{
  border-radius:12px!important; overflow:hidden; position:relative;
  border:1px solid rgba(231,200,120,.22);
  box-shadow:0 14px 32px rgba(0,0,0,.42);
  transition:transform .4s ease, box-shadow .4s ease, border-color .4s ease;
}
.vp-portfolio .cover-box img, .vp-portfolio .portfolio-img img{ border-radius:12px!important; }
.vp-portfolio .cover-box:hover, .vp-portfolio .portfolio-img:hover{
  transform:translateY(-6px); box-shadow:0 26px 50px rgba(0,0,0,.55);
  border-color:rgba(231,200,120,.55);
}

@media (max-width:575px){
  .vp-portfolio .nav-tabs .nav-link{ padding:8px 16px!important; font-size:12px!important; letter-spacing:.5px; }
}

