/* GENERATED from config/visual-identity-v4.json and identity-v4.template.css. DO NOT EDIT. */
/* FOOTER V4 IDENTITY: GENERATED FILE, edit identity-v4.template.css and config/visual-identity-v4.json */
body .gvfs-system.gvfs-home,
body .gvfs-system.gvfs-services,
body .gvfs-system.gvfs-blog,
body .gvfs-system.gvfs-compact{
 --gvfs-primary:#006F62;--gvfs-deep:#062D28;--gvfs-accent:#CEDC00;
 --gvfs-background:#F5F7F3;--gvfs-text:#102B26;--gvfs-soft:#DDEDE6;
}
body .gvfs-system.gvfs-hospitality{
 --gvfs-primary:#087C70;--gvfs-deep:#063C37;--gvfs-accent:#91DFE8;
 --gvfs-background:#F1F8F4;--gvfs-text:#082E29;--gvfs-soft:#DBF0E9;
}
body .gvfs-system.gvfs-masters{
 --gvfs-primary:#103833;--gvfs-deep:#071F1C;--gvfs-accent:#D7A47E;
 --gvfs-background:#F6F3ED;--gvfs-text:#16352F;--gvfs-soft:#E8E5DC;
}
/* Compact editorial posts preserve the parent brand color while keeping a short footer. */
body.gv-brand--hospitality .gvfs-system:is(.gvfs-blog,.gvfs-compact){
 --gvfs-primary:#087C70;--gvfs-deep:#063C37;--gvfs-accent:#91DFE8;
 --gvfs-background:#F1F8F4;--gvfs-text:#082E29;--gvfs-soft:#DBF0E9;
}
body.gv-brand--masters .gvfs-system:is(.gvfs-blog,.gvfs-compact){
 --gvfs-primary:#103833;--gvfs-deep:#071F1C;--gvfs-accent:#D7A47E;
 --gvfs-background:#F6F3ED;--gvfs-text:#16352F;--gvfs-soft:#E8E5DC;
}
body .gvfs-system.gvfs-consulting{
 --gvfs-primary:#062D28;--gvfs-deep:#041C19;--gvfs-accent:#CEDC00;
 --gvfs-background:#F1F5F2;--gvfs-text:#0B2925;--gvfs-soft:#DCEAE5;
}
body .gvfs-system{
 --gvfs-font:'Inter',Arial,sans-serif;
 --gvfs-serif:'Instrument Serif',Georgia,serif;
 --gvfs-ink:var(--gvfs-text);
 --gvfs-dark:var(--gvfs-deep);
 --gvfs-cream:var(--gvfs-background);
 --gvfs-gold:var(--gvfs-accent);
 color:var(--gvfs-text);
 font-family:var(--gvfs-font);
}
body .gvfs-system .gvfs-stack,
body .gvfs-system.gvfs-consulting .gvfs-corporate-inner{max-width:1200px}
body .gvfs-system .gvfs-panel{border-radius:24px}
body .gvfs-system .gvfs-stage,
body .gvfs-system .gvfs-panel-intro{background:var(--gvfs-background)}
body .gvfs-system .gvfs-panel-intro{color:var(--gvfs-text)}
body .gvfs-system .gvfs-panel-intro::before{
 border-color:var(--gvfs-soft);
 box-shadow:0 0 0 63px color-mix(in srgb,var(--gvfs-soft) 20%,transparent),
            0 0 0 145px color-mix(in srgb,var(--gvfs-soft) 12%,transparent);
}
body .gvfs-system .gvfs-panel-intro .gvfs-kicker,
body .gvfs-system .gvfs-hint{color:var(--gvfs-primary)}
body .gvfs-system .gvfs-panel-intro .gvfs-statement em{color:var(--gvfs-primary)}
body .gvfs-system .gvfs-intro-bottom p{color:var(--gvfs-text)}
body .gvfs-system .gvfs-panel-portrait{background:var(--gvfs-soft);color:var(--gvfs-text)}
body .gvfs-system .gvfs-panel-portrait :is(.gvfs-kicker,.gvfs-portrait-desc){color:var(--gvfs-text)}
body .gvfs-system .gvfs-panel-portrait .gvfs-portrait-title em{color:var(--gvfs-primary)}
body .gvfs-system .gvfs-portrait-figure::before{
 border-color:color-mix(in srgb,var(--gvfs-primary) 35%,transparent);
 box-shadow:0 0 0 48px color-mix(in srgb,var(--gvfs-primary) 12%,transparent),
            0 0 0 120px color-mix(in srgb,var(--gvfs-primary) 6%,transparent);
}
body .gvfs-system .gvfs-panel-nav{background:var(--gvfs-deep);color:#FFFFFF}
body .gvfs-system .gvfs-panel-nav :is(.gvfs-kicker,.gvfs-nav-links h3,.gvfs-signature em){color:var(--gvfs-accent)}
body .gvfs-system .gvfs-panel-nav .gvfs-nav-links a{color:#FFFFFF}
body .gvfs-system .gvfs-panel-nav .gvfs-nav-links a:hover{color:var(--gvfs-accent)}
body .gvfs-system .gvfs-bottom{border-color:color-mix(in srgb,#FFFFFF 20%,transparent);color:color-mix(in srgb,#FFFFFF 75%,var(--gvfs-deep))}
body .gvfs-system .gvfs-panel-action{background:var(--gvfs-primary);color:#FFFFFF}
body .gvfs-system .gvfs-panel-action .gvfs-intro-bottom p{color:#FFFFFF}
body .gvfs-system .gvfs-panel-action :is(.gvfs-kicker,.gvfs-statement em,.gvfs-underline){color:var(--gvfs-accent)}
body .gvfs-system .gvfs-underline{color:var(--gvfs-text)}
body .gvfs-system .gvfs-panel-portrait .gvfs-underline:hover{color:var(--gvfs-primary)}
body .gvfs-system em{font-family:var(--gvfs-font)!important;font-style:normal}
body .gvfs-system:is(.gvfs-home,.gvfs-services) :is(.gvfs-statement em,.gvfs-portrait-title em){
 font-family:var(--gvfs-serif)!important;
 font-weight:400;
 font-style:italic;
}
/* The narrative serif belongs to Gonzalo Veci only, never to editorial subbrands or Consulting. */
body .gvfs-system:is(.gvfs-hospitality,.gvfs-masters,.gvfs-blog,.gvfs-compact,.gvfs-consulting) em{
 font-family:var(--gvfs-font)!important;
 font-style:normal;
}
/* Consulting has its own identity even when GV Brand System is absent on this separate WordPress. */
body .gvfs-system.gvfs-consulting .gvfs-corporate{
 background:var(--gvfs-deep);color:#FFFFFF;
 font-family:var(--gvfs-font);
}
body .gvfs-system.gvfs-consulting .gvfs-corporate .gvfs-kicker,
body .gvfs-system.gvfs-consulting .gvfs-corporate h2 em{color:var(--gvfs-accent)}
body .gvfs-system.gvfs-consulting .gvfs-corp-btn{
 background:var(--gvfs-accent);
 color:var(--gvfs-deep)!important;
 border-radius:8px;
}
body .gvfs-system.gvfs-consulting .gvfs-corp-btn:hover{filter:brightness(.94)}
body .gvfs-system.gvfs-consulting .gvfs-corporate-bottom{border-color:color-mix(in srgb,#FFFFFF 20%,transparent)}

/* CONTRAST & LAYOUT V4: explicit heading colors defeat WordPress/Elementor
   heading typography, which does not always inherit from the card. */
body .gvfs-system .gvfs-panel-intro .gvfs-statement{
 color:var(--gvfs-text)!important;
}
body .gvfs-system .gvfs-panel-intro .gvfs-statement em{
 color:var(--gvfs-primary)!important;
}
body .gvfs-system .gvfs-panel-portrait .gvfs-portrait-title{
 color:var(--gvfs-text)!important;
}
body .gvfs-system .gvfs-panel-portrait .gvfs-portrait-title em{
 color:var(--gvfs-primary)!important;
}
body .gvfs-system .gvfs-panel-nav .gvfs-signature h2,
body .gvfs-system .gvfs-panel-nav .gvfs-signature h2 > br{
 color:#FFFFFF!important;
}
body .gvfs-system .gvfs-panel-nav .gvfs-signature h2 em{
 color:var(--gvfs-accent)!important;
}
/* Services / dark CTA: white title, yellow only for the editorial emphasis. */
body .gvfs-system.gvfs-services .gvfs-panel-action .gvfs-kicker{
 color:#FFFFFF!important;
}
body .gvfs-system.gvfs-services .gvfs-panel-action .gvfs-statement{
 color:#FFFFFF!important;
}
body .gvfs-system.gvfs-services .gvfs-panel-action .gvfs-statement em{
 color:var(--gvfs-accent)!important;
}
body .gvfs-system.gvfs-services .gvfs-panel-action .gvfs-intro-bottom p{
 color:#FFFFFF!important;
}
body .gvfs-system.gvfs-services .gvfs-panel-action .gvfs-underline{
 color:#FFFFFF!important;
}
body .gvfs-system.gvfs-services .gvfs-panel-action .gvfs-underline:hover{
 color:#FFFFFF!important;
}
body .gvfs-system.gvfs-services .gvfs-panel-action{
 height:auto;
 min-height:clamp(490px,67svh,660px);
}
body .gvfs-system.gvfs-services .gvfs-panel-action .gvfs-inner{
 gap:clamp(15px,2.3vw,29px);
 padding-block:clamp(30px,3.25vw,54px);
}
body .gvfs-system.gvfs-services .gvfs-panel-action .gvfs-statement{
 font-size:clamp(43px,5.5vw,102px);
 line-height:1.015;
 letter-spacing:-.075em;
 max-width:1120px;
 text-wrap:balance;
}
body .gvfs-system.gvfs-services .gvfs-panel-action .gvfs-intro-bottom{
 gap:18px 24px;
 flex-wrap:wrap;
}
body .gvfs-system.gvfs-services .gvfs-panel-action .gvfs-intro-bottom p{
 max-width:580px;
}
/* Published Elementor may define a global H2 color on both sites. */
body .gvfs-system.gvfs-consulting .gvfs-corporate h2{
 color:#FFFFFF!important;
}
body .gvfs-system.gvfs-consulting .gvfs-corporate h2 em{
 color:var(--gvfs-accent)!important;
}
/* Footer copy and legal links must stay legible on dark backgrounds. */
body .gvfs-system .gvfs-panel-nav .gvfs-bottom,
body .gvfs-system.gvfs-consulting .gvfs-corporate-bottom{
 font-size:12px;
 line-height:1.6;
}
body .gvfs-system .gvfs-panel-nav .gvfs-bottom{
 color:#FFFFFF;
}
body .gvfs-system .gvfs-panel-nav .gvfs-bottom a{
 color:#FFFFFF;
}
body .gvfs-system .gvfs-panel-nav .gvfs-bottom a:hover{
 color:var(--gvfs-accent);
}
body .gvfs-system.gvfs-consulting .gvfs-corporate-bottom,
body .gvfs-system.gvfs-consulting .gvfs-corporate-bottom a{
 color:#FFFFFF;
}
@media(max-width:700px){
 body .gvfs-system.gvfs-services .gvfs-panel-action{
  min-height:510px;
 }
 body .gvfs-system.gvfs-services .gvfs-panel-action .gvfs-inner{
  padding:clamp(25px,6vw,35px) 23px;
  gap:20px;
 }
 body .gvfs-system.gvfs-services .gvfs-panel-action .gvfs-statement{
  font-size:clamp(38px,9.2vw,63px);
  line-height:1.05;
  letter-spacing:-.065em;
 }
 body .gvfs-system.gvfs-services .gvfs-panel-action .gvfs-intro-bottom{
  align-items:flex-start;
 }
 body .gvfs-system.gvfs-services .gvfs-panel-action .gvfs-underline{
  min-height:44px;
  align-items:center;
 }
}

@media(max-width:700px){
 body .gvfs-system .gvfs-panel{border-radius:16px}
}
