/* Direção visual institucional: marfim, verde profundo, vinho e metal fosco. */
.vk-institutional { --vk-luxe-gold:#bd9a62; --vk-luxe-line:rgba(117,103,77,.24); }
.vk-institutional ::selection { background:#d8c5a3; color:#14251c; }
.vk-institutional .vk-header-inner { border-color:rgba(223,208,178,.28); box-shadow:0 16px 40px -18px rgba(9,23,16,.45),inset 0 1px 0 rgba(247,244,236,.12); }
.vk-institutional .vk-header-inner.is-scrolled { box-shadow:0 18px 40px -20px rgba(9,23,16,.5),inset 0 1px 0 rgba(247,244,236,.16); }
.vk-institutional .vk-button { font-weight:550; letter-spacing:-.02em; gap:24px; transition:background .25s,border-color .25s,box-shadow .25s; }
.vk-institutional .vk-button-light { background:#f4efe4; border-color:#f4efe4; box-shadow:0 8px 20px -14px rgba(0,0,0,.4); }
.vk-institutional .vk-button-light:hover { background:#e7ddca; border-color:#e7ddca; }
.vk-institutional .vk-nav-action { box-shadow:none; border-color:rgba(222,205,175,.42); }
.vk-institutional .vk-link { gap:24px; text-underline-offset:5px; font-weight:550; }
.vk-institutional .vk-link:focus-visible,.vk-institutional .vk-button:focus-visible { outline-offset:6px; }
.vk-institutional .vk-footer-main { align-items:flex-start; padding-block:68px; gap:80px; }
.vk-institutional .vk-footer-summary { max-width:350px; }
.vk-institutional .vk-footer-summary .vk-brand { margin-bottom:22px; }
.vk-institutional .vk-footer-links { gap:15px; }
.vk-institutional .vk-footer-links>p { color:#d0b27e; font-size:11px; letter-spacing:.14em; text-transform:uppercase; margin-bottom:8px; }
.vk-institutional .vk-footer-links a { font-size:13px; color:rgba(247,244,236,.8); }
.vk-institutional .vk-footer-bottom { border-color:rgba(217,195,156,.2); padding-block:26px; }

/* Home: contraste de escala, respiro e superfícies menos fragmentadas. */
.vk-home-page :is(.vk-definition,.vk-benefits,.vk-evidence,.vk-company,.vk-home-editorial-intro) h2,
.vk-about-page .vk-section h2 { font-weight:480; letter-spacing:-.05em; }
.vk-home-page .vk-overview h1 { font-weight:480; letter-spacing:-.055em; line-height:1.09; }
.vk-home-page .vk-overview-lead { line-height:1.85; color:rgba(247,244,236,.77); }
.vk-home-page .vk-overview .vk-actions { gap:24px; }
.vk-home-page .vk-definition { margin:28px 20px 0; border:1px solid var(--vk-luxe-line); border-radius:30px; background:#eee9de; }
.vk-home-page .vk-story-heading { gap:clamp(50px,7vw,104px); }
.vk-home-page .vk-definition h2 { max-width:17ch; font-size:clamp(38px,3.6vw,52px); }
.vk-home-page .vk-flow-node { width:11px; height:11px; border:3px solid #eee9de; background:var(--vk-luxe-gold); outline-color:rgba(139,111,69,.35); }
.vk-home-page .vk-story-flow::before { top:5px; background:var(--vk-luxe-line); }
.vk-home-page .vk-story-flow h3 { font-weight:550; font-size:21px; }
.vk-home-page .vk-story-routes { border-color:var(--vk-luxe-line); gap:28px; }
.vk-home-page .vk-story-routes a { border-color:var(--vk-luxe-line); font-size:13px; align-items:center; }
.vk-home-page .vk-story-routes a span { width:28px; height:28px; display:grid; place-items:center; border:1px solid var(--vk-luxe-line); border-radius:50%; flex:none; transition:background .25s,color .25s; }
.vk-home-page .vk-story-routes a:hover span { background:#173126; color:#f5efe2; }
.vk-home-page .vk-benefits h2 { font-size:clamp(36px,3.1vw,46px); }
.vk-home-page .vk-benefit-list article { border-color:var(--vk-luxe-line); background:#f5f1e8; border-radius:20px; padding:30px; gap:22px; box-shadow:0 12px 28px -28px rgba(22,39,28,.35); }
.vk-home-page .vk-benefit-index { min-width:28px; width:28px; height:28px; background:transparent; color:#8c7147; border:1px solid var(--vk-luxe-line); font-size:10px; }
.vk-home-page .vk-benefit-list h3 { font-weight:550; font-size:21px; }
.vk-home-page .vk-evidence { border:1px solid var(--vk-luxe-line); background:#eee9de; }
.vk-home-page .vk-evidence h2 { font-size:clamp(36px,3.1vw,46px); }
.vk-home-page .vk-product-tablist { padding:5px; border-color:var(--vk-luxe-line); }
.vk-home-page .vk-bridge-panel { padding:clamp(36px,4vw,60px); border:1px solid rgba(204,180,140,.35); border-radius:30px; background:#142c22; gap:40px 64px; }
.vk-home-page .vk-bridge-panel::after { border-color:rgba(210,189,151,.14); }
.vk-home-page .vk-bridge-copy h2 { font-size:clamp(34px,3.1vw,46px); font-weight:480; }
.vk-home-page .vk-bridge-profiles { gap:18px; }
.vk-home-page .vk-bridge-profiles>div { border-color:rgba(222,204,172,.23); background:rgba(248,242,228,.025); border-radius:18px; padding:25px; gap:15px; }
.vk-home-page .vk-bridge-profiles h3 { font-weight:500; }

/* Aplicações: recuperação dos grandes painéis coloridos com foto emoldurada. */
.vk-home-page .vk-solution-brief { overflow:visible; }
.vk-home-page .vk-solution-brief>.vk-wrap { width:min(1392px,calc(100% - 80px)); }
.vk-home-page .vk-brief-realestate { background:transparent; margin-inline:0; border-radius:0; }
.vk-home-page .vk-brief-card { position:relative; padding:11px; border:1px solid rgba(211,188,150,.3); border-radius:32px; background:#163326; color:#f7f2e8; box-shadow:0 26px 56px -42px rgba(14,35,24,.48); }
.vk-home-page .vk-brief-realestate .vk-brief-card { background:#511126; border-color:rgba(214,177,147,.32); box-shadow:0 26px 56px -42px rgba(58,12,28,.42); }
.vk-home-page .vk-brief-opening { min-height:568px; grid-template-columns:minmax(0,1fr) minmax(0,1fr); align-items:stretch; gap:0; }
.vk-home-page .vk-brief-copy { position:static; align-self:center; padding:44px clamp(32px,4vw,60px); }
.vk-home-page .vk-brief-copy .vk-eyebrow { color:#d8bc89; margin-bottom:30px; font-size:11px; letter-spacing:.14em; }
.vk-home-page .vk-brief-copy h2 { max-width:20ch; color:#f7f2e8; font-size:clamp(34px,3vw,46px); font-weight:480; line-height:1.17; letter-spacing:-.045em; }
.vk-home-page .vk-brief-copy .vk-description { color:rgba(247,242,232,.78); font-size:16px; line-height:1.9; margin-top:28px; }
.vk-home-page .vk-brief-copy .vk-link { color:#f7f2e8; border-color:rgba(237,221,191,.4); margin-top:34px; font-size:14px; gap:28px; }
.vk-home-page .vk-brief-copy :is(a,button):focus-visible { outline-color:#d8bc89; }
.vk-home-page .vk-brief-photo { aspect-ratio:auto; min-height:568px; border:1px solid rgba(249,241,221,.25); border-radius:23px; background:#10261b; }
.vk-home-page .vk-brief-ma .vk-brief-photo { order:-1; }
.vk-home-page .vk-brief-realestate .vk-brief-photo { order:0; }
.vk-home-page .vk-brief-photo img { position:absolute; inset:0; filter:saturate(.68); }
.vk-home-page .vk-brief-photo figcaption { left:28px; bottom:28px; font-size:10px; text-transform:uppercase; letter-spacing:.12em; line-height:1.8; }
.vk-home-page .vk-brief-context,.vk-home-page .vk-brief-topics { width:min(1280px,calc(100% - 80px)); margin-inline:auto; }
.vk-home-page .vk-brief-context { margin-top:60px; border-color:var(--vk-luxe-line); padding-top:44px; }
.vk-home-page .vk-brief-context>.vk-eyebrow { color:#8d7148; font-size:11px; letter-spacing:.13em; }
.vk-home-page .vk-brief-context h3 { font-weight:500; font-size:clamp(26px,2.1vw,32px); }
.vk-home-page .vk-brief-topics { margin-top:42px; gap:46px; }
.vk-home-page .vk-brief-topics article { border-color:var(--vk-luxe-line); }
.vk-home-page .vk-brief-topics .vk-story-angle { color:#9b7949; font-size:22px; }
.vk-home-page .vk-brief-topics h3 { font-weight:550; }

/* Editorial e institucional compartilham a mesma hierarquia discreta. */
.vk-home-page .vk-governance-editorial { border:1px solid rgba(213,185,145,.22); }
.vk-home-page .vk-governance-columns h2 { font-weight:480; }
.vk-institutional .vk-interviews-art { border:1px solid rgba(217,185,144,.4); box-shadow:0 24px 50px -38px rgba(65,15,32,.4); }
.vk-institutional .vk-interviews-copy h2 { font-weight:480; }
.vk-home-page .vk-home-editorial-card { border:0; border-radius:0; background:transparent; box-shadow:none; }
.vk-home-page .vk-home-editorial-image { margin:0; border-radius:20px; overflow:hidden; border:1px solid var(--vk-luxe-line); }
.vk-home-page .vk-home-editorial-card-copy { padding:27px 2px 0; }
.vk-home-page .vk-home-editorial-meta { font-size:10px; color:#8b714a; letter-spacing:.04em; }
.vk-home-page .vk-home-editorial-card h3 { font-weight:500; line-height:1.35; margin-top:5px; }
.vk-home-page .vk-home-editorial-card .vk-link { width:fit-content; padding-top:16px; }
.vk-home-page .vk-company { border-color:var(--vk-luxe-line); }
.vk-home-page .vk-company h2 { font-size:clamp(36px,3.3vw,48px); }
.vk-about-page .vk-origin-type { border:1px solid var(--vk-luxe-line); background:#eee8dc; }
.vk-about-page .vk-principles-grid article { border-color:var(--vk-luxe-line); background:#f5f1e8; box-shadow:none; }
.vk-about-page .vk-principles-grid h3 { font-weight:500; }
.vk-about-page .vk-principles-purpose .vk-principles-grid article { background:none; border-color:rgba(218,195,153,.25); }
.vk-about-page .vk-principles-purpose { border:1px solid rgba(218,195,153,.25); }
.vk-home-page .vk-faq h2 { font-size:clamp(36px,3vw,44px); font-weight:480; }
.vk-home-page .vk-faq-list { border-color:var(--vk-luxe-line); }

/* Encerramento e contato: hierarquia simples e ação principal evidente. */
.vk-institutional .vk-contact { background:#17372a; border:1px solid rgba(213,185,145,.27); }
.vk-institutional .vk-contact::after { border-color:rgba(213,185,145,.16); box-shadow:0 0 0 70px rgba(213,185,145,.02); }
.vk-institutional .vk-contact h2 { font-weight:480; }
.vk-institutional .vk-contact .vk-eyebrow { color:#d8bc89; }
.vk-institutional .vk-contact-panel { border:1px solid rgba(217,193,154,.28); background:rgba(6,24,15,.28); padding:38px; border-radius:24px; }
.vk-institutional .vk-contact-panel>h3 { font-weight:480; font-size:28px; }
.vk-institutional .vk-contact-panel>.vk-overline { color:#d8bc89; font-size:10px; letter-spacing:.13em; }
.vk-institutional .vk-contact-actions { align-items:stretch; flex-direction:column; gap:20px; margin-top:28px; }
.vk-institutional .vk-contact-actions>.vk-button { flex:initial; width:100%; justify-content:space-between; }
.vk-institutional .vk-contact-actions>.vk-link { align-self:flex-start; margin:0; font-size:13px; }
.vk-institutional .vk-contact-panel>.vk-contact-privacy { font-size:11px!important; line-height:1.8; color:rgba(247,242,232,.6); border-color:rgba(217,193,154,.2); }

/* Dock de contato não modal, acessível também sem JavaScript. */
.vk-institutional .vk-contact-dock { position:fixed; z-index:40; right:24px; bottom:max(24px,env(safe-area-inset-bottom)); width:fit-content; }
.vk-institutional .vk-contact-dock>summary { list-style:none; display:flex; align-items:center; gap:13px; min-height:56px; padding:7px 19px 7px 8px; border-radius:999px; border:1px solid rgba(213,185,145,.55); background:#10251b; color:#f7f2e8; box-shadow:0 10px 32px -14px rgba(8,24,14,.55); cursor:pointer; font-size:12px; font-weight:550; }
.vk-institutional .vk-contact-dock>summary::-webkit-details-marker { display:none; }
.vk-institutional .vk-contact-dock>summary:hover { background:#1c382a; }
.vk-institutional .vk-contact-dock>summary:focus-visible { outline:3px solid #c8a873; outline-offset:4px; }
.vk-institutional .vk-dock-icon { display:grid; place-items:center; width:38px; height:38px; border-radius:50%; background:rgba(215,189,144,.1); color:#d4b683; }
.vk-institutional .vk-dock-icon svg { width:21px; height:21px; fill:none; stroke:currentColor; stroke-width:1.25; stroke-linecap:round; stroke-linejoin:round; }
.vk-institutional .vk-dock-toggle { margin-left:8px; color:#d4b683; font-size:18px; font-weight:400; transition:transform .2s; }
.vk-institutional .vk-contact-dock[open] .vk-dock-toggle { transform:rotate(45deg); }
.vk-institutional .vk-dock-panel { position:absolute; bottom:calc(100% + 12px); right:0; width:350px; max-width:calc(100vw - 32px); max-height:calc(100dvh - 120px); overflow:auto; background:#f7f3e9; color:#17291e; border:1px solid #cfc2ab; border-radius:24px; padding:28px; box-shadow:0 24px 70px -24px rgba(13,32,20,.4); }
.vk-institutional .vk-dock-heading .vk-eyebrow { font-size:9px; letter-spacing:.1em; color:#8c7147; }
.vk-institutional .vk-dock-heading h2 { font-size:27px; font-weight:480; line-height:1.2; letter-spacing:-.04em; margin:18px 0 14px; }
.vk-institutional .vk-dock-heading>p { font-size:13px; line-height:1.7; color:#6c7469; margin-bottom:24px; }
.vk-institutional .vk-dock-panel nav { display:grid; gap:10px; }
.vk-institutional .vk-dock-panel nav a { display:flex; align-items:center; justify-content:space-between; gap:18px; padding:17px 16px; border:1px solid #d9d0c0; border-radius:14px; text-decoration:none; transition:border-color .2s,background .2s; }
.vk-institutional .vk-dock-panel nav a:hover { border-color:#9c845a; background:#eee6d7; }
.vk-institutional .vk-dock-panel nav .vk-dock-primary { background:#17372a; color:#f7f2e8; border-color:#17372a; }
.vk-institutional .vk-dock-panel nav .vk-dock-primary:hover { background:#244b39; }
.vk-institutional .vk-dock-panel nav strong { display:block; font-size:13px; line-height:1.5; font-weight:600; }
.vk-institutional .vk-dock-panel nav small { display:block; font-size:10px; line-height:1.65; margin-top:5px; opacity:.73; }
.vk-institutional .vk-dock-footnote { margin-top:22px; font-size:10px; letter-spacing:.04em; color:#7a7d70; }
@media(min-width:841px) and (prefers-reduced-motion:no-preference) {
 .vk-institutional .vk-contact-dock[open] .vk-dock-panel { animation:vk-dock-enter .25s ease-out both; }
 @keyframes vk-dock-enter { from { opacity:0; transform:translateY(8px); } to { opacity:1; transform:translateY(0); } }
}
@media(max-width:1050px) {
 .vk-home-page .vk-brief-opening { min-height:0; grid-template-columns:1fr; }
 .vk-home-page .vk-brief-photo { min-height:360px; order:-1!important; }
 .vk-home-page .vk-brief-copy { padding:40px; }
 .vk-home-page .vk-brief-copy h2 { max-width:26ch; }
 .vk-home-page .vk-brief-context,.vk-home-page .vk-brief-topics { width:calc(100% - 32px); }
}
@media(max-width:840px) {
 .vk-institutional .vk-footer-main { gap:36px; padding-block:48px; }
 .vk-home-page .vk-definition { margin-inline:14px; }
 .vk-home-page .vk-bridge-panel { gap:36px; }
 .vk-home-page .vk-solution-brief>.vk-wrap { width:calc(100% - 36px); }
}
@media(max-width:650px) {
 .vk-institutional .vk-footer-main { gap:32px; }
 .vk-institutional .vk-footer-bottom { padding-bottom:100px; }
 .vk-home-page .vk-definition { margin:20px 10px 0; border-radius:24px; }
 .vk-home-page .vk-definition h2 { font-size:34px; }
 .vk-home-page .vk-story-heading { gap:28px; }
 .vk-home-page .vk-story-flow::before { display:none; }
 .vk-home-page .vk-story-routes { gap:10px; }
 .vk-home-page .vk-benefit-list article,.vk-home-page .vk-benefit-list article:first-child { padding:25px 23px; }
 .vk-home-page .vk-benefit-list h3 { font-size:20px; }
 .vk-home-page .vk-bridge-panel { padding:30px 24px; border-radius:24px; }
 .vk-home-page .vk-bridge-profiles>div { padding:23px; }
 .vk-home-page .vk-solution-brief>.vk-wrap { width:calc(100% - 20px); }
 .vk-home-page .vk-brief-card { padding:8px; border-radius:27px; }
 .vk-home-page .vk-brief-photo { min-height:310px; border-radius:19px; }
 .vk-home-page .vk-brief-photo figcaption { left:22px; bottom:22px; font-size:9px; }
 .vk-home-page .vk-brief-copy { padding:32px 22px 36px; }
 .vk-home-page .vk-brief-copy .vk-eyebrow { margin-bottom:24px; }
 .vk-home-page .vk-brief-copy h2 { font-size:32px; line-height:1.2; }
 .vk-home-page .vk-brief-copy .vk-description { font-size:15px; line-height:1.85; margin-top:24px; }
 .vk-home-page .vk-brief-copy .vk-link { font-size:12px; gap:20px; margin-top:30px; }
 .vk-home-page .vk-brief-context,.vk-home-page .vk-brief-topics { width:calc(100% - 24px); }
 .vk-home-page .vk-brief-context { margin-top:38px; padding-top:30px; }
 .vk-home-page .vk-brief-topics { margin-top:32px; gap:28px; }
 .vk-home-page .vk-home-editorial-cards { gap:38px; }
 .vk-home-page .vk-home-editorial-card-copy { padding-top:23px; }
 .vk-institutional .vk-contact-panel { padding:28px 24px; }
 .vk-institutional .vk-contact-panel>h3 { font-size:26px; }
 .vk-institutional .vk-contact-dock { right:14px; bottom:max(14px,env(safe-area-inset-bottom)); }
 .vk-institutional .vk-contact-dock>summary { min-height:52px; font-size:11px; gap:10px; padding-right:16px; }
 .vk-institutional .vk-dock-icon { width:34px; height:34px; }
 .vk-institutional .vk-dock-panel { padding:25px; }
}
@media(forced-colors:active) {
 .vk-institutional .vk-contact-dock>summary,.vk-institutional .vk-dock-panel { border:1px solid CanvasText; background:Canvas; color:CanvasText; }
 .vk-institutional .vk-dock-panel nav .vk-dock-primary { background:Canvas; color:LinkText; border-color:LinkText; }
}
