/*
Theme Name: Vine & Branch Premium
Theme URI: https://vineandbranchgroups.com
Author: Vine & Branch Group, LLC
Description: Premium executive consulting WordPress theme for Vine & Branch Group, LLC.
Version: 1.0.0
Text Domain: vine-branch-premium
*/

:root{
  --navy:#0F2341;
  --navy-deep:#07172A;
  --gold:#B88A2E;
  --forest:#1F302D;
  --cream:#F5F3EF;
  --purple:#5A2D81;
  --white:#FFFFFF;
  --ink:#1B2531;
  --muted:#6B737C;
  --line:#DED8CE;
  --blue:#0C4E73;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:88px}
body{margin:0;background:var(--cream);color:var(--ink);font-family:"Inter",Arial,sans-serif;line-height:1.65;-webkit-font-smoothing:antialiased}
body.admin-bar .vb-header{top:32px}
a{text-decoration:none;color:inherit}
img{max-width:100%;height:auto}
.vb-container{width:min(1220px,92%);margin:0 auto}
.vb-section{padding:92px 0}
.vb-eyebrow{margin:0 0 12px;color:var(--gold);font-size:.75rem;font-weight:700;letter-spacing:.22em;text-transform:uppercase}
.vb-heading{font-family:"Cormorant Garamond",Georgia,serif;color:var(--navy);font-size:clamp(2.7rem,5vw,4.25rem);line-height:1;margin:.15em 0 .35em}
.vb-button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:12px 22px;background:var(--gold);border:1px solid var(--gold);color:#fff;font-weight:700;letter-spacing:.02em;transition:.18s ease}
.vb-button:hover{transform:translateY(-2px);background:#a97922;border-color:#a97922;color:#fff}
.vb-button--outline{background:transparent;border-color:rgba(255,255,255,.75)}
.vb-button--outline:hover{background:#fff;color:var(--navy);border-color:#fff}

/* Header */
.vb-header{position:sticky;top:0;z-index:999;background:rgba(8,27,50,.98);border-bottom:1px solid rgba(255,255,255,.08);backdrop-filter:blur(10px)}
.vb-navrow{min-height:100px;display:flex;align-items:center;justify-content:space-between;gap:32px}
.vb-brand{display:flex;align-items:center;gap:13px;color:#fff}
.vb-mark{width:60px;height:60px;flex:0 0 60px}
.vb-brandname{display:block;font-family:"Cormorant Garamond",Georgia,serif;font-size:1.68rem;font-weight:700;letter-spacing:.055em;line-height:1}
.vb-brandsub{display:block;margin-top:6px;color:#D4A84E;font-size:.68rem;font-weight:600;letter-spacing:.25em}
.vb-mainnav{display:flex;align-items:center;gap:34px;color:#fff;font-size:.88rem;text-transform:uppercase;letter-spacing:.04em}
.vb-mainnav a:not(.vb-button){padding:38px 0 34px;position:relative}
.vb-mainnav a:not(.vb-button)::after{content:"";position:absolute;left:0;right:0;bottom:26px;height:2px;background:var(--gold);transform:scaleX(0);transition:.2s}
.vb-mainnav a:not(.vb-button):hover::after{transform:scaleX(1)}
.vb-mainnav .vb-button{padding:10px 18px;min-height:42px}
.vb-menu-toggle{display:none;border:0;background:transparent;color:#fff;font-size:1.5rem;padding:10px;cursor:pointer}

/* Hero */
.vb-hero{position:relative;min-height:320px;display:flex;align-items:center;overflow:hidden;background:
linear-gradient(90deg,rgba(7,23,42,.98) 0%,rgba(7,23,42,.86) 38%,rgba(7,23,42,.33) 72%,rgba(7,23,42,.12) 100%),
url("https://images.unsplash.com/photo-1500534314209-a25ddb2bd429?auto=format&fit=crop&w=2400&q=90") center 52%/cover no-repeat}
.vb-hero:after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 74% 30%,rgba(215,173,89,.18),transparent 25%)}
.vb-hero-inner{position:relative;z-index:1;padding:30px 0;color:#fff}
.vb-hero-copy{max-width:680px}
.vb-hero h1{margin:0 0 11px;font-family:"Cormorant Garamond",Georgia,serif;font-size:clamp(3.6rem,6.3vw,6.2rem);line-height:.87;font-weight:600;letter-spacing:-.025em}
.vb-hero .vb-eyebrow{margin-top:5px}
.vb-hero-lead{max-width:620px;color:#F1F3F5;font-size:1.05rem;line-height:1.55}
.vb-hero-actions{display:flex;gap:14px;margin-top:20px;flex-wrap:wrap}

/* divisions */
.vb-divisions{background:#faf9f6;padding:17px 0 18px}
.vb-divisions-title{display:flex;align-items:center;justify-content:center;gap:20px;margin-bottom:8px;color:var(--navy);font-family:"Cormorant Garamond",Georgia,serif;font-size:1.55rem;letter-spacing:.14em;text-transform:uppercase}
.vb-divisions-title:before,.vb-divisions-title:after{content:"";width:95px;height:1px;background:var(--gold)}
.vb-division-grid{display:grid;grid-template-columns:repeat(5,1fr)}
.vb-division{padding:0 22px;text-align:center;border-right:1px solid var(--line)}
.vb-division:last-child{border-right:0}
.vb-division-icon{width:70px;height:70px;margin:0 auto 6px;border:2px solid currentColor;border-radius:50%;display:grid;place-items:center;font-family:"Cormorant Garamond",Georgia,serif;font-size:1.35rem;font-weight:700}
.vb-division h3{margin:0;font-family:"Cormorant Garamond",Georgia,serif;font-size:1.7rem;line-height:1}
.vb-division-label{margin:3px 0 7px;font-size:.73rem;letter-spacing:.14em;text-transform:uppercase;font-weight:700}
.vb-division p{margin:0 auto 9px;max-width:180px;color:#404851;font-size:.74rem;line-height:1.45}
.vb-division a{font-size:.72rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase}
.vb-advisory{color:#214C3E}.vb-counsel{color:var(--purple)}.vb-restoration{color:var(--blue)}.vb-resolution{color:#A56F12}.vb-emergency{color:#1D4E34}

/* lower homepage */
.vb-story-row{display:grid;grid-template-columns:1.1fr .52fr 1.12fr .98fr;min-height:210px}
.vb-who{background:var(--navy);color:#fff;padding:28px 42px}
.vb-who h2,.vb-about h2{margin:0 0 13px;color:#fff;font-family:"Cormorant Garamond",Georgia,serif;font-size:1rem;letter-spacing:.09em;font-weight:600}
.vb-who-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;text-align:center}
.vb-who-icon{font-size:1.45rem;color:var(--gold);margin-bottom:4px}
.vb-who-grid p{margin:0;font-size:.72rem;line-height:1.35}
.vb-seed{min-height:210px;background:
linear-gradient(rgba(15,35,65,.08),rgba(15,35,65,.08)),
url("https://images.unsplash.com/photo-1416879595882-3373a0480b5b?auto=format&fit=crop&w=900&q=85") center/cover}
.vb-verse{background:var(--navy);color:#fff;padding:30px 34px;display:flex;flex-direction:column;justify-content:center}
.vb-verse blockquote{margin:0;font-family:"Cormorant Garamond",Georgia,serif;font-size:1.15rem;font-style:italic;line-height:1.45}
.vb-verse cite{margin-top:12px;color:var(--gold);font-style:normal;font-size:.72rem;letter-spacing:.15em;text-transform:uppercase}
.vb-about{background:#f8f6f1;padding:28px 38px;color:#39414a}
.vb-about h2{color:var(--navy)}
.vb-about p{font-size:.78rem;line-height:1.5}
.vb-about .vb-button{font-size:.7rem;min-height:38px;padding:8px 16px}

.vb-values{display:grid;grid-template-columns:repeat(5,1fr);background:#fff;border-top:1px solid var(--line)}
.vb-value{padding:22px 24px;border-right:1px solid var(--line);min-height:125px}
.vb-value:last-child{border-right:0}
.vb-value h3{margin:0 0 5px;font-family:"Cormorant Garamond",Georgia,serif;color:var(--navy);font-size:1.15rem}
.vb-value p{margin:0;color:#555e68;font-size:.72rem;line-height:1.45}

/* generic posts/pages */
.vb-content{padding:70px 0;background:#fff}
.vb-content article{max-width:860px;margin:auto}
.vb-content h1{font-family:"Cormorant Garamond",Georgia,serif;font-size:3.3rem;color:var(--navy)}
.vb-content a{color:var(--gold);font-weight:600}

/* footer */
.vb-footer{background:var(--navy-deep);color:#fff;padding:42px 0}
.vb-footer-grid{display:grid;grid-template-columns:1fr auto auto;gap:45px;align-items:start}
.vb-footer strong{font-family:"Cormorant Garamond",Georgia,serif;font-size:1.35rem;letter-spacing:.05em}
.vb-footer p{margin:5px 0;color:#AEB8C4;font-size:.8rem}
.vb-footer a{display:block;color:#C9D1DA;font-size:.8rem;margin-bottom:7px}
.vb-footer a:hover{color:var(--gold)}

@media(max-width:1000px){
  .vb-mainnav{gap:17px}
  .vb-division-grid{grid-template-columns:repeat(2,1fr);gap:25px}
  .vb-division{border-right:0}
  .vb-story-row{grid-template-columns:1fr 1fr}
  .vb-values{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:760px){
  body.admin-bar .vb-header{top:46px}
  .vb-navrow{min-height:80px}
  .vb-menu-toggle{display:block}
  .vb-mainnav{display:none;position:absolute;left:0;right:0;top:80px;padding:20px 5% 30px;background:var(--navy);flex-direction:column;align-items:stretch}
  .vb-mainnav.is-open{display:flex}
  .vb-mainnav a:not(.vb-button){padding:11px 0}
  .vb-mainnav a:not(.vb-button)::after{display:none}
  .vb-hero{min-height:520px;background-position:64% center}
  .vb-hero-inner{padding:75px 0}
  .vb-hero h1{font-size:clamp(3.4rem,15vw,5rem)}
  .vb-division-grid,.vb-values,.vb-story-row{grid-template-columns:1fr}
  .vb-division{padding:22px 15px;border-bottom:1px solid var(--line)}
  .vb-who-grid{grid-template-columns:repeat(2,1fr)}
  .vb-seed{min-height:250px}
  .vb-footer-grid{grid-template-columns:1fr}
}
