:root{--vi-bg:#faf7f2;--vi-paper:#fff;--vi-ink:#1f2a2e;--vi-muted:#5f6b6d;--vi-line:#e7e0d5;--vi-accent:#b85c38;--vi-accent-d:#93462a;--vi-sage:#5f7f66;--vi-sand:#f1e9dc;--vi-r:14px;--vi-serif:"Fraunces",Georgia,serif;--vi-sans:"Inter",system-ui,-apple-system,Segoe UI,Roboto,sans-serif}
body.vi-site{background:var(--vi-bg);color:var(--vi-ink);font-family:var(--vi-sans);font-size:17px;line-height:1.7;-webkit-font-smoothing:antialiased;overflow-x:hidden}
body.vi-site h1,body.vi-site h2,body.vi-site h3,body.vi-site h4,.vi-site .elementor-heading-title{font-family:var(--vi-serif);color:var(--vi-ink);line-height:1.2;letter-spacing:-.01em}
.vi-site a{color:var(--vi-accent);text-decoration:none}.vi-site a:hover{color:var(--vi-accent-d)}
.vi-site img{max-width:100%;height:auto}
.vi-wrap{max-width:1200px;margin:0 auto;padding:0 20px}
/* header */
.vi-header{background:rgba(250,247,242,.96);border-bottom:1px solid var(--vi-line);position:sticky;top:0;z-index:50;backdrop-filter:saturate(1.2) blur(6px)}
.admin-bar .vi-header{top:32px}
.vi-logo .elementor-heading-title{font-size:26px;font-weight:700}.vi-logo a{color:var(--vi-ink)!important}.vi-logo span{color:var(--vi-accent)}
.vi-header .elementskit-navbar-nav>li>a{font-family:var(--vi-sans);font-weight:500;font-size:15px;color:var(--vi-ink)!important;padding:24px 14px!important}
.vi-header .elementskit-navbar-nav>li>a:hover,.vi-header .elementskit-navbar-nav>li.current-menu-item>a{color:var(--vi-accent)!important}
.vi-header .elementskit-submenu-panel{border-radius:12px;border:1px solid var(--vi-line);box-shadow:0 14px 40px rgba(31,42,46,.12);padding:8px 0;min-width:230px}
.vi-header .elementskit-submenu-panel a{font-size:14px;padding:8px 18px!important;color:var(--vi-ink)!important}
.vi-header .elementskit-menu-hamburger{border:1px solid var(--vi-line)!important;border-radius:8px}
.vi-header .elementskit-menu-hamburger .elementskit-menu-hamburger-icon{background:var(--vi-ink)!important}
@media (max-width:1024px){.vi-header .elementskit-navbar-nav>li>a{padding:12px 18px!important}.vi-header .elementskit-menu-container{background:var(--vi-paper)!important}}
/* footer */
.vi-footer{background:#1f2a2e;color:#d9d4cb}.vi-footer .elementor-heading-title{color:#fff!important}
.vi-footer a{color:#e9cdb9!important}.vi-footer a:hover{color:#fff!important}.vi-footer ul{list-style:none;margin:0;padding:0}.vi-footer li{margin:0 0 8px}
.vi-footer .vi-copy{border-top:1px solid rgba(255,255,255,.12);font-size:14px;color:#a9b0b0}
/* cards */
.vi-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}
@media(max-width:1024px){.vi-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}}
@media(max-width:640px){.vi-grid{grid-template-columns:1fr}}
.vi-card{background:var(--vi-paper);border:1px solid var(--vi-line);border-radius:var(--vi-r);overflow:hidden;display:flex;flex-direction:column;transition:transform .2s,box-shadow .2s}
.vi-card:hover{transform:translateY(-3px);box-shadow:0 16px 36px rgba(31,42,46,.10)}
.vi-card-media{display:block;aspect-ratio:4/3;overflow:hidden;background:var(--vi-sand)}
.vi-card-img{width:100%;height:100%;object-fit:cover;display:block}
.vi-ph{background:linear-gradient(135deg,#efe4d3,#dfe7df)}
.vi-card-body{padding:18px 20px 22px}
.vi-chip{display:inline-block;font-size:12px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--vi-sage)!important;margin-bottom:8px}
.vi-card-title{font-size:20px;margin:0 0 8px}.vi-card-title a{color:var(--vi-ink)!important}.vi-card-title a:hover{color:var(--vi-accent)!important}
.vi-card-ex{font-size:15px;color:var(--vi-muted);margin:0;line-height:1.6}
.vi-cat-links{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}
.vi-cat-links a{background:var(--vi-paper);border:1px solid var(--vi-line);border-radius:999px;padding:7px 16px;font-size:14px;color:var(--vi-ink)!important}
.vi-cat-links a:hover{border-color:var(--vi-accent);color:var(--vi-accent)!important}.vi-cat-links span{color:var(--vi-muted);font-size:12px;margin-left:4px}
/* archive */
.vi-archive-head{background:var(--vi-sand);padding:56px 0 40px;margin-bottom:40px}
.vi-archive-head h1{font-size:clamp(32px,5vw,48px);margin:6px 0 10px}.vi-archive-desc{max-width:760px;color:var(--vi-muted)}
.vi-kicker{font-size:13px;text-transform:uppercase;letter-spacing:.08em;margin:0}.vi-kicker a{color:var(--vi-sage)!important}
.vi-pager{display:flex;gap:8px;justify-content:center;flex-wrap:wrap;margin:44px 0 70px}
.vi-pager .page-numbers{padding:8px 14px;border:1px solid var(--vi-line);border-radius:8px;background:#fff;color:var(--vi-ink)}
.vi-pager .current{background:var(--vi-ink);color:#fff;border-color:var(--vi-ink)}
/* article */
.vi-article .elementor-widget-text-editor{font-size:18px;line-height:1.8}
.vi-article h2.elementor-heading-title{font-size:clamp(25px,3vw,32px)}
.vi-article h3.elementor-heading-title{font-size:clamp(20px,2.4vw,23px)}
.vi-article .elementor-widget-text-editor ul,.vi-article .elementor-widget-text-editor ol{padding-left:1.3em}
.vi-article .elementor-widget-text-editor li{margin-bottom:.45em}
.vi-meta{font-size:14px;color:var(--vi-muted)}.vi-meta a{color:var(--vi-sage)!important;font-weight:600}
.vi-tip{background:var(--vi-sand);border-left:4px solid var(--vi-accent);border-radius:10px;padding:18px 22px}
.vi-article table{width:100%;border-collapse:collapse;font-size:15px;margin:8px 0 20px;background:#fff}
.vi-article th,.vi-article td{border:1px solid var(--vi-line);padding:10px 12px;text-align:left;vertical-align:top}
.vi-article th{background:var(--vi-sand)}
.vi-article .vi-table-wrap{overflow-x:auto}
.vi-hero-img img{border-radius:var(--vi-r);aspect-ratio:16/9;object-fit:cover;width:100%}
/* buttons, forms */
.vi-site .elementor-button{background:var(--vi-accent);border-radius:999px;font-weight:600;padding:14px 28px}
.vi-site .elementor-button:hover{background:var(--vi-accent-d)}
.vi-form{display:grid;gap:14px;max-width:640px}.vi-form label{display:grid;gap:6px;font-weight:500;font-size:15px}
.vi-form input,.vi-form textarea{border:1px solid var(--vi-line);border-radius:10px;padding:12px 14px;font:inherit;background:#fff}
.vi-form button{justify-self:start;background:var(--vi-accent);color:#fff;border:0;border-radius:999px;padding:13px 28px;font-weight:600;cursor:pointer}
.vi-hp{position:absolute;left:-9999px}.vi-notice{background:#e8f1ea;border-radius:10px;padding:12px 16px}
.vi-search form{display:flex;gap:8px}.vi-search input[type=search]{flex:1;border:1px solid var(--vi-line);border-radius:999px;padding:12px 18px;font:inherit}
.vi-search button{border:0;background:var(--vi-ink);color:#fff;border-radius:999px;padding:0 22px;cursor:pointer}
.vi-legal .elementor-widget-text-editor{max-width:820px}
.vi-hero .elementor-heading-title{color:#fff!important;font-size:clamp(34px,5vw,58px);max-width:760px}
.vi-hero .vi-kicker{color:#f3d9c9!important}.vi-hero .vi-search{max-width:620px;margin-top:8px}
.vi-hero .vi-search input[type=search]{background:#fff}
.vi-why{background:var(--vi-sand);margin-top:60px}
.vi-why .elementor-widget-text-editor{max-width:760px}
.elementor-button{background:var(--vi-accent,#b85c38)!important;color:#fff!important;border-radius:999px!important;padding:13px 26px!important;font-weight:600}
.elementor-button .elementor-button-text{color:#fff!important}
.elementor-button:hover{background:#1f2a2e!important}
.vi-hero-inner{max-width:1200px;margin:0 auto;padding:0 20px}
.vi-hero{box-shadow:inset 0 0 0 3000px rgba(20,28,30,.52)}
.vi-hero h1,.vi-hero .elementor-heading-title,body .vi-hero .elementor-widget-heading .elementor-heading-title{color:#fff!important;text-shadow:0 2px 18px rgba(0,0,0,.35)}
.vi-hero p{color:#fff!important}
.vi-search form{display:flex;gap:8px}.vi-search input[type=search]{flex:1;min-width:0}
.e-con.vi-archive-head{padding-left:20px!important;padding-right:20px!important}
.e-con.vi-archive-head>.e-con-inner{max-width:1200px;margin:0 auto;width:100%}
.vi-card a:has(.vi-card-img),.vi-card-media{display:block;aspect-ratio:16/10;overflow:hidden}.vi-card .vi-card-img{aspect-ratio:16/10;height:auto!important}
