/* Vinergy design system - ported from prototype, scoped to .vin */
:root{--brand:#5bbc6d;--brand-dark:#3d9b50;--brand-deep:#1f6b33;--ink:#0d1b13;--ink-soft:#16281d;--slate:#45564b;--mint:#e8f5ec;--bg:#f7faf7;--card:#ffffff;--line:#dce8df;--radius:14px;--max:1180px;--font-display:'Space Grotesk',sans-serif;--font-body:'Inter',sans-serif;--font-mono:'IBM Plex Mono',monospace}
.vin,.vin *{margin:0;padding:0;box-sizing:border-box}
:root{--brand:#5bbc6d; --brand-dark:#3d9b50; --brand-deep:#1f6b33;
  --ink:#0d1b13; --ink-soft:#16281d;
  --slate:#45564b; --mint:#e8f5ec; --bg:#f7faf7; --card:#ffffff; --line:#dce8df;
  --radius:14px; --max:1180px;
  --font-display:'Space Grotesk',sans-serif; --font-body:'Inter',sans-serif; --font-mono:'IBM Plex Mono',monospace;}
.vin{font-family:var(--font-body);color:var(--ink);background:var(--bg);line-height:1.65;font-size:16px}
.vin img{max-width:100%;display:block}
.vin a{color:var(--brand-dark);text-decoration:none}
.vin h1, .vin h2, .vin h3, .vin h4{font-family:var(--font-display);line-height:1.15;letter-spacing:-.01em}
.vin .wrap{max-width:var(--max);margin:0 auto;padding:0 24px}
.vin .eyebrow{font-family:var(--font-mono);font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;color:var(--brand-dark);display:inline-flex;align-items:center;gap:.6em;margin-bottom:14px}
.vin .eyebrow::before{content:"";width:26px;height:2px;background:var(--brand)}
.vin section{padding:84px 0}
.vin .section-head{max-width:680px;margin-bottom:48px}
.vin .section-head h2{font-size:clamp(1.7rem,3.4vw,2.5rem);margin-bottom:14px}
.vin .section-head p{color:var(--slate)}
.vin .btn{display:inline-block;font-family:var(--font-display);font-weight:600;font-size:.95rem;padding:13px 26px;border-radius:999px;border:2px solid transparent;cursor:pointer;transition:.2s}
.vin .btn-primary{background:var(--brand);color:#08120b}
.vin .btn-primary:hover{background:var(--brand-dark);color:#fff}
.vin .btn-ghost{border-color:rgba(255,255,255,.55);color:#fff}
.vin .btn-ghost:hover{background:rgba(255,255,255,.14)}
.vin .btn-outline{border-color:var(--brand-dark);color:var(--brand-deep)}
.vin .btn-outline:hover{background:var(--mint)}
.vin header{position:sticky;top:0;z-index:60;background:rgba(247,250,247,.9);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.vin .nav{display:flex;align-items:center;justify-content:space-between;height:70px}
.vin .logo img{height:40px;width:auto}
.vin .nav-links{display:flex;align-items:center;gap:26px;list-style:none}
.vin .nav-links a{font-weight:500;font-size:.94rem;color:var(--ink)}
.vin .nav-links a:hover, .vin .nav-links a.active{color:var(--brand-dark)}
.vin .nav-cta{display:flex;align-items:center;gap:14px}
.vin .lang-toggle{font-family:var(--font-mono);font-size:.8rem;border:1px solid var(--line);border-radius:999px;overflow:hidden;display:flex}
.vin .lang-toggle button{border:0;background:transparent;padding:6px 12px;cursor:pointer;font-family:inherit;color:var(--slate)}
.vin .lang-toggle button.on{background:var(--ink);color:#fff}
.vin .login-link{font-family:var(--font-display);font-weight:600;font-size:.9rem;color:var(--brand-deep);border:2px solid var(--brand);border-radius:999px;padding:8px 18px}
.vin .login-link:hover{background:var(--brand);color:#08120b}
.vin .burger{display:none;background:none;border:0;cursor:pointer;width:40px;height:40px}
.vin .burger span{display:block;width:22px;height:2px;background:var(--ink);margin:5px auto;transition:.2s}
.vin .hero{position:relative;min-height:88vh;display:flex;align-items:center;color:#fff;overflow:hidden;padding:120px 0}
.vin .hero video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0}
.vin .hero::after{content:"";position:absolute;inset:0;background:linear-gradient(115deg,rgba(8,20,12,.92) 0%,rgba(10,27,16,.78) 55%,rgba(13,27,19,.55) 100%);z-index:1}
.vin .hero .wrap{position:relative;z-index:2}
.vin .hero h1{font-size:clamp(2.1rem,4.6vw,3.6rem);max-width:820px;margin-bottom:20px}
.vin .hero h1 em{font-style:normal;color:var(--brand)}
.vin .hero p{max-width:620px;font-size:1.08rem;color:#dbe9de;margin-bottom:34px}
.vin .hero .btn{margin-right:12px;margin-bottom:12px}
.vin .hero-tags{margin-top:44px;display:flex;flex-wrap:wrap;gap:10px}
.vin .hero-tags span{font-family:var(--font-mono);font-size:.72rem;letter-spacing:.06em;border:1px solid rgba(255,255,255,.28);border-radius:999px;padding:5px 12px;color:#cfe4d4}
.vin .pipeline{background:var(--ink);color:#fff;padding:90px 0}
.vin .pipeline .eyebrow{color:var(--brand)}
.vin .pipeline h2{color:#fff}
.vin .pipe-track{position:relative;margin-top:56px;display:grid;grid-template-columns:repeat(7,1fr);gap:18px}
.vin .pipe-track::before{content:"";position:absolute;top:26px;left:4%;right:4%;height:2px;background:linear-gradient(90deg,var(--brand),rgba(91,188,109,.25))}
.vin .pipe-step{position:relative;text-align:left}
.vin .pipe-node{width:52px;height:52px;border-radius:50%;background:var(--ink-soft);border:2px solid var(--brand);display:flex;align-items:center;justify-content:center;font-family:var(--font-mono);font-size:.85rem;color:var(--brand);margin-bottom:16px;position:relative;z-index:1}
.vin .pipe-step h3{font-size:.98rem;margin-bottom:6px}
.vin .pipe-step p{font-size:.82rem;color:#a9c2b1;line-height:1.5}
.vin .pulse{position:absolute;top:20px;left:4%;width:12px;height:12px;border-radius:50%;background:var(--brand);box-shadow:0 0 14px var(--brand);animation:travel 9s linear infinite}
@keyframes travel{0%{left:4%}100%{left:95%}}
@media (prefers-reduced-motion:reduce){
.vin .pulse{animation:none}
}
.vin .grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}
.vin .ind-card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;transition:.25s;display:flex;flex-direction:column}
.vin .ind-card:hover{transform:translateY(-5px);box-shadow:0 18px 40px rgba(13,27,19,.12)}
.vin .ind-card img{height:170px;object-fit:cover;width:100%}
.vin .ind-body{padding:22px}
.vin .ind-body h3{font-size:1.1rem;margin-bottom:8px}
.vin .ind-body p{font-size:.88rem;color:var(--slate)}
.vin .ind-body{display:flex;flex-direction:column;flex:1}
.vin .card-link{font-weight:600;font-size:.88rem;margin-top:14px;display:inline-block}
.vin .split{display:grid;grid-template-columns:1.05fr .95fr;gap:56px;align-items:center}
.vin .split:has(.eco-panel){grid-template-columns:.85fr 1.15fr;gap:44px}
.vin .split img, .vin .split video{border-radius:var(--radius);width:100%}
.vin .check{list-style:none;margin-top:20px}
.vin .check li{padding-left:30px;position:relative;margin-bottom:12px;color:var(--slate)}
.vin .check li::before{content:"✓";position:absolute;left:0;top:0;color:var(--brand-dark);font-weight:700}
.vin .eco-panel{background:linear-gradient(155deg,var(--ink) 0%,#12261a 70%,#16331f 100%);border:1px solid #1e3527;border-radius:var(--radius);padding:22px 18px 14px;box-shadow:0 18px 44px rgba(13,27,19,.25)}
.vin .eco-panel svg{width:100%;height:auto;display:block}
.vin .eco-node rect{fill:#12261a;stroke:#2f4a38;stroke-width:1.5}
.vin .eco-core rect{stroke:var(--brand);stroke-width:2}
.vin .eco-node text{fill:#e8f5ec;font-family:var(--font-display);font-size:14.5px;font-weight:600}
.vin .eco-node .eco-vi{fill:#8fb89b;font-size:11.5px;font-weight:500;font-family:var(--font-mono)}
.vin .eco-chip rect{fill:rgba(91,188,109,.14);stroke:rgba(91,188,109,.4);stroke-width:1.2}
.vin .eco-glyph{fill:none;stroke:var(--brand);stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.vin .eco-glyph-f{fill:var(--brand)}
.vin .eco-layer{font-family:var(--font-mono);font-size:10px;letter-spacing:.18em;fill:#6b8272;font-weight:500}
.vin .eco-sep{stroke:#1a2a20;stroke-width:1;stroke-dasharray:2 6}
.vin .eco-lock rect, .vin .eco-lock path{stroke:#9dbba7;stroke-width:1.5;fill:none}
.vin .eco-lock rect{fill:rgba(91,188,109,.12)}
.vin .eco-pipe-cmd{stroke:rgba(245,185,66,.35)}
.vin .eco-pipe{stroke:#2f4a38;stroke-width:2;fill:none}
.vin .eco-tele{fill:var(--brand)}
.vin .eco-cmd{fill:#f5b942}
.vin .eco-lbl{font-family:var(--font-mono);font-size:10.5px;fill:#9dbba7}
.vin .eco-ring{fill:none;stroke:var(--brand);opacity:0;animation:ecoring 3s ease-out infinite}
@keyframes ecoring{0%{r:34;opacity:.55;stroke-width:2}100%{r:70;opacity:0;stroke-width:.5}}
@media (prefers-reduced-motion:reduce){
.vin .eco-ring{animation:none}
}
.vin .eco-legend{display:flex;gap:22px;justify-content:center;padding:10px 0 4px;flex-wrap:wrap}
.vin .eco-legend span{display:flex;align-items:center;gap:8px}
.vin .eco-legend i{width:10px;height:10px;border-radius:50%;display:inline-block}
.vin .eco-legend em{font-style:normal;font-family:var(--font-mono);font-size:.72rem;color:#9dbba7}
.vin .map-link{font-size:.85rem;font-weight:600}
.vin .founders{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:22px;max-width:720px}
.vin .founder{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:26px;text-align:center;transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease}
.vin .founder:hover{transform:translateY(-5px);border-color:var(--brand);box-shadow:0 16px 36px rgba(13,27,19,.1)}
.vin .founder img{width:132px;height:132px;border-radius:50%;object-fit:cover;margin:0 auto 16px;border:3px solid var(--mint);box-shadow:0 0 0 2px var(--brand)}
.vin .founder h3{margin:0 0 4px;font-size:1.15rem}
.vin .founder .role{font-family:var(--font-mono);font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:var(--brand-dark);margin-bottom:12px}
.vin .founder .li-link{display:inline-flex;align-items:center;gap:7px;font-size:.86rem;font-weight:600}
.vin .founder .li-link svg{width:15px;height:15px;fill:currentColor}
.vin .demo-band{background:linear-gradient(120deg,var(--brand-deep),var(--brand-dark));color:#fff;border-radius:20px;padding:56px 48px;display:grid;grid-template-columns:1.2fr .8fr;gap:36px;align-items:center}
.vin .demo-band h2{color:#fff;font-size:clamp(1.5rem,3vw,2.2rem);margin-bottom:12px}
.vin .demo-band p{color:#e4f4e8;margin-bottom:0}
.vin .demo-actions{display:flex;flex-direction:column;gap:14px;align-items:flex-start}
.vin .demo-actions .btn{width:100%;text-align:center}
.vin .btn-white{background:#fff;color:var(--brand-deep)}
.vin .btn-white:hover{background:var(--mint)}
.vin .grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.vin .card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:28px;transition:.25s}
.vin .card:hover{box-shadow:0 14px 34px rgba(13,27,19,.1)}
.vin .card h3{font-size:1.05rem;margin:14px 0 8px}
.vin .card p{font-size:.9rem;color:var(--slate)}
.vin .icon-dot{width:46px;height:46px;border-radius:12px;background:var(--mint);display:flex;align-items:center;justify-content:center;font-size:1.3rem}
.vin .post-card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;display:flex;flex-direction:column}
.vin .post-card img{height:190px;object-fit:cover}
.vin .post-body{padding:22px;display:flex;flex-direction:column;flex:1}
.vin .post-body .meta{font-family:var(--font-mono);font-size:.72rem;color:var(--brand-dark);letter-spacing:.08em;text-transform:uppercase;margin-bottom:10px}
.vin .post-body h3{font-size:1.05rem;margin-bottom:10px}
.vin .post-body p{font-size:.88rem;color:var(--slate);flex:1}
.vin .post-body a{font-weight:600;font-size:.88rem;margin-top:14px;display:inline-block}
.vin .case-stats{display:flex;gap:22px;margin-top:14px;flex-wrap:wrap}
.vin .case-stats div strong{font-family:var(--font-display);font-size:1.3rem;color:var(--brand-deep);display:block}
.vin .case-stats div span{font-size:.75rem;color:var(--slate)}
.vin .stat-row{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;text-align:center}
.vin .stat-row strong{font-family:var(--font-display);font-size:2.4rem;color:var(--brand-deep);display:block}
.vin .stat-row span{font-size:.85rem;color:var(--slate)}
.vin .contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:48px}
.vin form .field{margin-bottom:16px}
.vin form label{display:block;font-weight:600;font-size:.85rem;margin-bottom:6px}
.vin form input, .vin form textarea, .vin form select{width:100%;padding:12px 14px;border:1px solid var(--line);border-radius:10px;font-family:var(--font-body);font-size:.95rem;background:#fff}
.vin form input:focus, .vin form textarea:focus, .vin form select:focus{outline:2px solid var(--brand);border-color:var(--brand)}
.vin .form-note{font-size:.8rem;color:var(--slate);margin-top:10px}
.vin footer{background:var(--ink);color:#c8d8cc;padding:64px 0 28px;margin-top:40px}
.vin .foot-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:36px;margin-bottom:40px}
.vin .foot-grid h4{color:#fff;font-size:.95rem;margin-bottom:14px}
.vin .foot-grid ul{list-style:none}
.vin .foot-grid li{margin-bottom:9px}
.vin .foot-grid a{color:#c8d8cc;font-size:.9rem}
.vin .foot-grid a:hover{color:var(--brand)}
.vin .foot-bottom{border-top:1px solid rgba(255,255,255,.12);padding-top:22px;font-size:.8rem;display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;color:#8fa697}
.vin .page{display:none}
.vin .page.active{display:block}
.vin .page-hero{background:var(--ink);color:#fff;padding:96px 0 72px}
.vin .page-hero h1{font-size:clamp(2rem,4vw,3rem);max-width:760px;margin-bottom:16px}
.vin .page-hero p{max-width:640px;color:#c4d8ca;font-size:1.05rem}
.vin .svc-block{display:grid;grid-template-columns:88px 1fr;gap:26px;padding:34px 0;border-bottom:1px solid var(--line)}
.vin .svc-num{font-family:var(--font-mono);font-size:1rem;color:var(--brand-dark);border:2px solid var(--brand);width:56px;height:56px;border-radius:50%;display:flex;align-items:center;justify-content:center}
.vin .svc-block h3{font-size:1.3rem;margin-bottom:10px}
.vin .svc-block p{color:var(--slate);max-width:760px}
@media(max-width:1000px){
.vin .pipe-track{grid-template-columns:repeat(4,1fr);row-gap:36px}
.vin .pipe-track::before, .vin .pulse{display:none}
.vin .grid-4{grid-template-columns:repeat(2,1fr)}
.vin .foot-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:820px){
.vin .nav-links{position:fixed;inset:70px 0 auto 0;background:#fff;flex-direction:column;padding:24px;border-bottom:1px solid var(--line);display:none;box-shadow:0 20px 40px rgba(0,0,0,.08)}
.vin .nav-links.open{display:flex}
.vin .burger{display:block}
.vin .split, .vin .contact-grid, .vin .demo-band{grid-template-columns:1fr}
.vin .grid-3{grid-template-columns:1fr}
.vin .stat-row{grid-template-columns:1fr}
.vin .pipe-track{grid-template-columns:repeat(2,1fr)}
.vin section{padding:60px 0}
.vin .hero{min-height:72vh}
.vin .login-link{display:none}
.vin .nav-links .login-mobile{display:block}
}
@media(min-width:821px){
.vin .login-mobile{display:none}
}
@media(max-width:520px){
.vin .grid-4{grid-template-columns:1fr}
}
.vin .rv{opacity:0;transform:translateY(26px);transition:opacity .7s cubic-bezier(.22,.75,.35,1),transform .7s cubic-bezier(.22,.75,.35,1)}
.vin .rv.in{opacity:1;transform:none}
.vin .rv-d1{transition-delay:.08s}
.vin .rv-d2{transition-delay:.16s}
.vin .rv-d3{transition-delay:.24s}
.vin .rv-d4{transition-delay:.32s}
.vin .rv-d5{transition-delay:.4s}
.vin .rv-d6{transition-delay:.48s}
.vin .rv-d7{transition-delay:.56s}
@media(prefers-reduced-motion:reduce){
.vin .rv{opacity:1;transform:none;transition:none}
}
.vin .hero .eyebrow, .vin .hero h1, .vin .hero p, .vin .hero .btn, .vin .hero .hero-tags{opacity:0;animation:heroUp .8s cubic-bezier(.22,.75,.35,1) forwards}
.vin .hero h1{animation-delay:.12s}
.vin .hero p{animation-delay:.24s}
.vin .hero .btn-primary{animation-delay:.36s}
.vin .hero .btn-ghost{animation-delay:.44s}
.vin .hero .hero-tags{animation-delay:.56s}
@keyframes heroUp{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){
.vin .hero .eyebrow, .vin .hero h1, .vin .hero p, .vin .hero .btn, .vin .hero .hero-tags{animation:none;opacity:1}
}
.vin .ind-card, .vin .svc-block, .vin .blog-card{transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease}
.vin .ind-card:hover, .vin .blog-card:hover{transform:translateY(-6px);box-shadow:0 18px 40px rgba(13,27,19,.12)}
.vin .ind-card img{transition:transform .6s ease}
.vin .ind-card:hover img{transform:scale(1.05)}
.vin .card-link{transition:letter-spacing .2s ease}
.vin .card-link:hover{letter-spacing:.03em}
.vin .pipe-node{transition:transform .25s ease,box-shadow .25s ease}
.vin .pipe-step:hover .pipe-node{transform:scale(1.12);box-shadow:0 0 0 8px rgba(91,188,109,.15)}
.vin .clients{background:var(--card);border-bottom:1px solid var(--line);padding:56px 0}
.vin .client-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:14px}
.vin .client-tile{background:var(--bg);border:1px solid var(--line);border-radius:var(--radius);min-height:76px;display:flex;align-items:center;justify-content:center;padding:14px;transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease}
.vin .client-tile:hover{transform:translateY(-4px);border-color:var(--brand);box-shadow:0 12px 28px rgba(13,27,19,.08)}
.vin .client-tile span{font-family:var(--font-display);font-weight:600;font-size:.95rem;color:var(--slate);text-align:center;transition:color .25s}
.vin .client-tile:hover span{color:var(--brand-deep)}
.vin .client-tile img{max-height:44px;width:auto;filter:grayscale(1);opacity:.65;transition:.25s}
.vin .client-tile:hover img{filter:none;opacity:1}
.vin .client-logo{height:44px;width:auto;filter:grayscale(1);opacity:.6;transition:.25s}
.vin .client-logo:hover{filter:none;opacity:1}
.vin .ind-clients{font-family:var(--font-mono);font-size:.68rem;letter-spacing:.05em;text-transform:uppercase;color:var(--brand-dark);margin:8px 0 2px}
.vin .stat-row strong{transition:color .2s}
.vin ::selection{background:var(--brand);color:#08120b}
.vin .card, .vin .ind-card, .vin .founder, .vin .client-tile, .vin .blog-card, .vin .post-card{border-radius:18px 18px 18px 5px}
.vin .demo-band{border-radius:26px 26px 26px 8px}
.vin .eco-panel{border-radius:20px 20px 20px 7px}
.vin .icon-dot{border-radius:58% 42% 55% 45%/48% 56% 44% 52%}
.vin .founder img{border-radius:56% 44% 52% 48%/50% 46% 54% 50%}
.vin section[style*="--mint"], .vin .clients{background-image:radial-gradient(rgba(91,188,109,.14) 1px,transparent 1.4px);background-size:22px 22px}
.vin .clients{background-color:var(--card)}
.vin .pipe-step:nth-child(odd) .pipe-node{transform:rotate(-2.5deg)}
.vin .pipe-step:nth-child(even) .pipe-node{transform:rotate(2deg)}
.vin .pipe-step:hover .pipe-node{transform:rotate(0) scale(1.12)}
.vin .card-link:hover, .vin .map-link:hover, .vin footer a:hover{text-decoration:underline;text-decoration-style:wavy;text-decoration-color:var(--brand);text-underline-offset:4px;text-decoration-thickness:1.5px}
.vin .stat-row div:nth-child(odd) strong{display:inline-block;transform:rotate(-1.2deg)}
.vin .stat-row div:nth-child(even) strong{display:inline-block;transform:rotate(1deg)}
.vin .drone-slot{background:var(--card);border:1.5px dashed var(--line);border-radius:18px 18px 18px 5px;min-height:150px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;text-align:center;padding:20px;color:var(--slate)}
.vin .drone-slot strong{font-family:var(--font-display);font-weight:600;color:var(--ink)}
.vin details summary{list-style:none;position:relative;padding-right:30px}
.vin details summary::-webkit-details-marker{display:none}
.vin details summary::after{content:"→";position:absolute;right:2px;top:0;color:var(--brand-dark);transition:transform .3s cubic-bezier(.34,1.56,.64,1)}
.vin details[open] summary::after{transform:rotate(90deg)}
.vin .page.active .page-hero .eyebrow{animation:heroUp .6s cubic-bezier(.22,.75,.35,1) both}
.vin .page.active .page-hero h1{animation:heroUp .6s .1s cubic-bezier(.22,.75,.35,1) both}
.vin .page.active .page-hero p{animation:heroUp .6s .2s cubic-bezier(.22,.75,.35,1) both}
@media(prefers-reduced-motion:reduce){
.vin .page.active .page-hero .eyebrow, .vin .page.active .page-hero h1, .vin .page.active .page-hero p{animation:none}
}
.vin .svc-num{transition:transform .3s cubic-bezier(.34,1.56,.64,1),color .3s}
.vin .svc-block:hover .svc-num{transform:rotate(-4deg) scale(1.14);color:var(--brand-dark)}
.vin .post-card{overflow:hidden}
.vin .post-card img{transition:transform .6s ease}
.vin .post-card:hover img{transform:scale(1.05)}
/* --- divi integration --- */
.et-l--header .et_pb_section,.et-l--header .et_pb_row,.et-l--header .et_pb_column{padding:0!important;margin:0!important;width:100%!important;max-width:100%!important}
.et-l--footer .et_pb_section,.et-l--footer .et_pb_row,.et-l--footer .et_pb_column{padding:0!important;margin:0!important;width:100%!important;max-width:100%!important}
.et-l--header .et_pb_module,.et-l--footer .et_pb_module{margin:0!important}
.vin-header,.vin-footer{background:transparent}
#page-container .et-l--header{position:sticky;top:0;z-index:500}
.vin .foot-legal{border-top:1px solid rgba(255,255,255,.08);margin-top:8px;padding-top:18px;font-size:.78rem;color:#8fa697;display:grid;gap:6px}
.vin .login-mobile{display:none}
@media(max-width:900px){.vin .nav-links{display:none;position:absolute;top:70px;left:0;right:0;background:var(--bg);flex-direction:column;align-items:flex-start;gap:0;padding:12px 24px;border-bottom:1px solid var(--line)}.vin .nav-links.open{display:flex}.vin .nav-links li{width:100%;padding:10px 0}.vin .burger{display:block}.vin .login-link{display:none}.vin .login-mobile{display:block}}

/* --- lang toggle + hero align --- */
.vin .lang-toggle a{border:0;background:transparent;padding:6px 12px;cursor:pointer;font-family:var(--font-mono);font-size:.8rem;color:var(--slate);line-height:1;display:flex;align-items:center;text-decoration:none;transition:.2s}
.vin .lang-toggle a:hover{color:var(--ink)}
.vin .lang-toggle a.on{background:var(--ink);color:#fff}
.vin .lang-toggle a.on:hover{color:#fff}
.vin .hero .wrap{max-width:var(--max);margin:0 auto;padding:0 24px;width:100%;text-align:left}
.vin .hero{min-height:74vh;padding:96px 0}
.vin .hero h1,.vin .hero p,.vin .hero .hero-tags{margin-left:0;margin-right:auto}

/* --- heading colour overrides (Divi sets h1-h6 colour globally) --- */
.vin h1,.vin h2,.vin h3,.vin h4,.vin h5,.vin h6{color:var(--ink)}
.vin .hero h1,.vin .hero h2,.vin .hero h3{color:#fff!important}
.vin .hero p{color:#dbe9de!important}
.vin .hero h1 em{color:var(--brand)!important;font-style:normal}
.vin .hero .eyebrow{color:var(--brand)!important}
.vin .hero .hero-tags span{color:#cfe4d4!important}
.vin .pipeline h2,.vin .pipeline h3{color:#fff!important}
.vin .pipeline p{color:#a9c2b1!important}
.vin .pipeline .eyebrow{color:var(--brand)!important}
.vin .demo-band h2{color:#fff!important}
.vin .demo-band p{color:#e4f4e8!important}
.vin footer h4{color:#fff!important}
.vin .hero .btn-primary{background:var(--brand)!important;color:#08120b!important}
.vin .hero .btn-primary:hover{background:var(--brand-dark)!important;color:#fff!important}
.vin .hero .btn-ghost{color:#fff!important;border-color:rgba(255,255,255,.55)!important}
.vin .hero .btn-ghost:hover{background:rgba(255,255,255,.16)!important;border-color:#fff!important}

/* --- sticky header --- */
#et-boc [class*="_tb_header"].et_pb_section{position:sticky;top:0;z-index:9999}
.admin-bar #et-boc [class*="_tb_header"].et_pb_section{top:32px}
.vin .vin-header header{position:static;background:rgba(247,250,247,.92);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
#et-boc [class*="_tb_header"] .et_pb_code_inner{position:static}
#page-container,#et-boc{overflow:visible!important}
@media(max-width:782px){.admin-bar #et-boc [class*="_tb_header"].et_pb_section{top:46px}}
@media(max-width:600px){.admin-bar #et-boc [class*="_tb_header"].et_pb_section{top:0}}

/* --- consistency pass --- */
.vin h1,.vin h2,.vin h3,.vin h4,.vin h5,.vin h6{padding-bottom:0;font-weight:700;line-height:1.15}
.vin .pipe-step h3,.vin .ind-body h3,.vin .card h3,.vin .founder h3{font-weight:600}
.vin section h2{font-size:clamp(1.7rem,3.4vw,2.5rem);margin-bottom:14px}
.vin .section-head h2{margin-bottom:14px}
.vin section h3{font-size:1.1rem}
.vin section{padding:84px 0}
.vin section.vin-tight{padding-top:0}
.vin section > .wrap > p,.vin .section-head p{color:var(--slate);max-width:680px}
.vin .eyebrow{margin-bottom:14px}
.vin .btn{font-size:.95rem;padding:13px 26px;line-height:1.2}

/* --- split alignment + footer seam --- */
.vin .split{align-items:start}
.vin .split:has(.eco-panel){align-items:center}
.vin section.vin-tight{padding-top:40px}
#main-content .container{padding-top:0!important;padding-bottom:0!important}
#et-boc .et_pb_post_content,#et-boc article,#et-boc .entry-content{margin:0!important;padding:0!important}
#et-boc [class*=_tb_footer].et_pb_section{margin-top:0!important}
.vin section#contact{padding-bottom:64px}
.vin footer{margin-top:0}

/* --- heading rhythm: one spec for every section heading block --- */
.vin .eyebrow{display:inline-flex;margin:0 0 14px}
.vin section h2{margin:0 0 14px}
.vin .section-head p,.vin .lede{color:var(--slate);margin:0;max-width:680px}
.vin .section-head{margin-bottom:48px;max-width:680px}
.vin .pipe-track{margin-top:48px}
.vin .split .check{margin-top:20px}
.vin .split .btn{margin-top:22px}
.vin .demo-band h2{margin:0 0 12px}
.vin .demo-band p{margin:0}

/* --- unified section rhythm: one vertical scale for every section --- */
.vin section{padding:84px 0}
.vin section.vin-tight{padding-top:84px}
.vin .pipeline{padding:84px 0}
.vin .clients{padding:84px 0}
.vin section#contact{padding:84px 0}
.vin .hero{padding:96px 0}
@media(max-width:900px){.vin section,.vin section.vin-tight,.vin .pipeline,.vin .clients,.vin section#contact{padding:56px 0}.vin .hero{padding:72px 0}}

/* --- hero fullscreen + eyebrow weight --- */
.vin .hero{min-height:calc(100vh - 70px);min-height:calc(100dvh - 70px);padding:0;display:flex;align-items:center}
.admin-bar .vin .hero{min-height:calc(100vh - 102px);min-height:calc(100dvh - 102px)}
@media(max-width:900px){.vin .hero{min-height:calc(100vh - 70px);min-height:calc(100dvh - 70px);padding:56px 0}}
.vin .eyebrow{font-weight:500;letter-spacing:.14em}
.vin .pipeline .eyebrow{font-weight:500}

/* --- button motion --- */
.vin .btn{position:relative;transition:background-color .22s ease,color .22s ease,border-color .22s ease,transform .22s ease,box-shadow .22s ease;will-change:transform}
.vin .btn:hover{transform:translateY(-2px)}
.vin .btn:active{transform:translateY(0)}
.vin .btn-outline{overflow:hidden;z-index:0}
.vin .btn-outline::before{content:"";position:absolute;inset:0;background:var(--mint);transform:scaleX(0);transform-origin:left center;transition:transform .28s cubic-bezier(.22,.75,.35,1);z-index:-1}
.vin .btn-outline:hover::before{transform:scaleX(1)}
.vin .btn-outline:hover{border-color:var(--brand-deep);box-shadow:0 8px 20px rgba(31,107,51,.16)}
.vin .btn-outline::after{content:"\2192";display:inline-block;margin-left:8px;transition:transform .28s cubic-bezier(.22,.75,.35,1)}
.vin .btn-outline:hover::after{transform:translateX(5px)}
.vin .btn-primary:hover{box-shadow:0 10px 24px rgba(91,188,109,.28)}
.vin .btn-white:hover{box-shadow:0 10px 24px rgba(0,0,0,.18)}
@media(prefers-reduced-motion:reduce){.vin .btn,.vin .btn-outline::before,.vin .btn-outline::after{transition:none}.vin .btn:hover{transform:none}}

/* --- unified button behaviour: same motion for every variant --- */
.vin .btn{position:relative;overflow:hidden;z-index:0;display:inline-flex;align-items:center;justify-content:center}
.vin .btn::before{content:"";position:absolute;inset:0;transform:scaleX(0);transform-origin:left center;transition:transform .28s cubic-bezier(.22,.75,.35,1);z-index:-1}
.vin .btn:hover::before{transform:scaleX(1)}
.vin .btn-outline::before{background:var(--mint)}
.vin .btn-primary::before{background:var(--brand-dark)}
.vin .btn-ghost::before{background:rgba(255,255,255,.16)}
.vin .btn-white::before{background:var(--mint)}
.vin .btn::after{content:"\2192";display:inline-block;margin-left:8px;transition:transform .28s cubic-bezier(.22,.75,.35,1)}
.vin .btn:hover::after{transform:translateX(5px)}
.vin .demo-actions .btn-white::after{content:none}
.vin .btn-primary:hover{color:#fff}
.vin .btn-outline:hover{color:var(--brand-deep);border-color:var(--brand-deep)}
.vin .split .btn,.vin .card .btn{margin-top:22px}

/* --- button typography lock: identical type on every variant --- */
.vin .btn,.vin a.btn,.vin button.btn,.vin .btn-primary,.vin .btn-outline,.vin .btn-ghost,.vin .btn-white{font-family:var(--font-display)!important;font-weight:600!important;font-size:.95rem!important;line-height:1.2!important;letter-spacing:0!important;text-transform:none!important;font-style:normal!important}
.vin .btn::after{font-family:var(--font-display)!important;font-weight:600!important;font-size:1em!important}
.vin .btn-outline{color:var(--brand-deep);-webkit-font-smoothing:antialiased}
.vin .btn{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}

/* --- faq section --- */
.vin section:has(details) .section-head{max-width:100%}
.vin section:has(details) .section-head h2{max-width:none}
.vin details p{max-width:78ch}
@media(max-width:820px){.vin section:has(details) .section-head h2{white-space:normal}}

/* --- who we serve heading --- */
.vin section:has(.grid-4) .section-head{max-width:100%}
.vin section:has(.grid-4) .section-head h2{max-width:none}
.vin section:has(.grid-4) .section-head p{max-width:760px}
@media(max-width:1040px){.vin section:has(.grid-4) .section-head h2{white-space:normal}}

/* --- footer brand --- */
.vin .foot-brand{text-align:left;display:block}
.vin .foot-logo{width:190px;height:auto;max-width:100%;object-fit:contain;display:block;margin:0 0 18px;background:none;padding:0;border-radius:0}
.vin .foot-brand p{max-width:360px;margin:0;text-align:left}
@media(max-width:900px){.vin .foot-logo{width:165px}}

/* --- client marquee --- */
.vin section:has(.client-marquee) .section-head{max-width:100%}
.vin section:has(.client-marquee) .section-head h2{max-width:none}
@media(max-width:1180px){.vin section:has(.client-marquee) .section-head h2{white-space:normal}}
.vin .client-marquee{overflow:hidden;position:relative;width:100%;margin-top:8px;-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.vin .client-track{display:flex;width:max-content;align-items:center;animation:vinMarquee 42s linear infinite}
.vin .client-dupe{display:flex;align-items:center}
.vin .client-marquee:hover .client-track{animation-play-state:paused}
@keyframes vinMarquee{from{transform:translateX(-50%)}to{transform:translateX(0)}}
.vin .client-tile{flex:0 0 auto;width:190px;height:96px;margin:0 10px;display:flex;align-items:center;justify-content:center;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:16px 20px;transition:border-color .25s ease,box-shadow .25s ease}
.vin .client-tile:hover{border-color:var(--brand);box-shadow:0 10px 24px rgba(13,27,19,.08)}
.vin .client-tile img{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;display:block;filter:grayscale(1);opacity:.72;transition:filter .25s ease,opacity .25s ease}
.vin .client-tile:hover img{filter:grayscale(0);opacity:1}
@media(max-width:900px){.vin .client-tile{width:150px;height:80px;margin:0 7px}}
@media(prefers-reduced-motion:reduce){.vin .client-track{animation:none}.vin .client-marquee{overflow-x:auto}.vin .client-dupe{display:none}}

/* --- marquee width + logo fit --- */
.vin .client-marquee{max-width:var(--max);margin:8px auto 0;padding:0 24px}
.vin .client-tile{padding:12px 16px}
.vin .client-tile img{max-height:56px;max-width:100%;width:auto;height:auto}
@media(max-width:900px){.vin .client-marquee{padding:0 16px}.vin .client-tile img{max-height:46px}}

/* --- wpforms skin: match the site's form design --- */
.vin .wpforms-container{margin:0;max-width:100%}
.vin .wpforms-form .wpforms-field{padding:0 0 16px}
.vin .wpforms-form .wpforms-field-label{font-family:var(--font-display);font-weight:600;font-size:.88rem;color:var(--ink);margin-bottom:6px;display:block}
.vin .wpforms-form .wpforms-required-label{color:var(--brand-dark)}
.vin .wpforms-form input[type=text],.vin .wpforms-form input[type=email],.vin .wpforms-form select,.vin .wpforms-form textarea{width:100%;font-family:var(--font-body);font-size:.95rem;color:var(--ink);background:var(--card);border:1px solid var(--line);border-radius:10px;padding:12px 14px;transition:border-color .2s ease,box-shadow .2s ease;max-width:100%}
.vin .wpforms-form textarea{min-height:130px;resize:vertical}
.vin .wpforms-form input:focus,.vin .wpforms-form select:focus,.vin .wpforms-form textarea:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px rgba(91,188,109,.18)}
.vin .wpforms-form .wpforms-field-description{font-size:.8rem;color:var(--slate)}
.vin .wpforms-form button[type=submit]{font-family:var(--font-display)!important;font-weight:600!important;font-size:.95rem!important;background:var(--brand);color:#08120b;border:2px solid transparent;border-radius:999px;padding:13px 26px;cursor:pointer;transition:background-color .22s ease,color .22s ease,transform .22s ease,box-shadow .22s ease}
.vin .wpforms-form button[type=submit]:hover{background:var(--brand-dark);color:#fff;transform:translateY(-2px);box-shadow:0 10px 24px rgba(91,188,109,.28)}
.vin .wpforms-form label.wpforms-error{color:#b3261e;font-size:.8rem;font-weight:500}
.vin .wpforms-form input.wpforms-error,.vin .wpforms-form textarea.wpforms-error{border-color:#b3261e}
.vin .wpforms-confirmation-container-full{background:var(--mint);border:1px solid var(--brand);border-radius:var(--radius);padding:20px 22px;color:var(--ink)}
.vin .wpforms-confirmation-container-full p{margin:0}

/* --- wpforms fit: full-width fields, taller select, matched button --- */
.vin .wpforms-container{--wpforms-field-size-input-height:52px;--wpforms-field-size-font-size:15px;--wpforms-field-size-line-height:24px;--wpforms-field-size-padding-h:14px;--wpforms-label-size-font-size:14px;--wpforms-label-size-line-height:20px;--wpforms-button-size-font-size:15.2px;--wpforms-button-size-height:auto;--wpforms-button-size-padding-h:26px;--wpforms-button-size-margin-top:6px;max-width:100%!important;width:100%!important}
.vin .wpforms-form .wpforms-field{max-width:100%!important;width:100%!important}
.vin .wpforms-form input[type=text],.vin .wpforms-form input[type=email],.vin .wpforms-form input[type=tel],.vin .wpforms-form select,.vin .wpforms-form textarea,.vin .wpforms-form .wpforms-field-medium,.vin .wpforms-form .wpforms-field-small,.vin .wpforms-form .wpforms-field-large{width:100%!important;max-width:100%!important;box-sizing:border-box}
.vin .wpforms-form select{height:52px!important;min-height:52px;line-height:1.5!important;padding:12px 44px 12px 14px!important;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='9' viewBox='0 0 14 9'%3E%3Cpath d='M1 1l6 6 6-6' fill='none' stroke='%2345564b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 16px center;background-size:14px 9px;background-color:var(--card);cursor:pointer;text-overflow:ellipsis}
.vin .wpforms-form select::-ms-expand{display:none}
.vin .wpforms-form button[type=submit],.vin .wpforms-form .wpforms-submit{font-family:var(--font-display)!important;font-weight:600!important;font-size:.95rem!important;line-height:1.2!important;letter-spacing:0!important;text-transform:none!important;height:auto!important;padding:13px 26px!important;border-radius:999px!important;border:2px solid transparent!important;background:var(--brand)!important;color:#08120b!important;width:auto!important;margin-top:6px!important}
.vin .wpforms-form button[type=submit]:hover{background:var(--brand-dark)!important;color:#fff!important;transform:translateY(-2px);box-shadow:0 10px 24px rgba(91,188,109,.28)}
.vin .wpforms-form button[type=submit]::after{content:"\2192";margin-left:8px;display:inline-block;transition:transform .28s cubic-bezier(.22,.75,.35,1)}
.vin .wpforms-form button[type=submit]:hover::after{transform:translateX(5px)}

/* --- contact grid alignment --- */
.vin .contact-grid{align-items:start}
.vin .contact-grid .wpforms-container{margin:0!important;padding:0!important}
.vin .wpforms-form{margin:0}
.vin .wpforms-form .wpforms-field-container > .wpforms-field:first-child{padding-top:0!important;margin-top:0!important}
.vin .wpforms-form .wpforms-field-container{padding-top:0;margin-top:0}
.vin .wpforms-error-noscript,.vin #wpforms-error-noscript{display:none!important;margin:0!important}
.vin .contact-grid > .wpforms-container{margin-top:4px!important}
.vin .contact-grid .card{margin-top:0}

/* --- split responsive fix --- */
@media(max-width:1024px){.vin .split,.vin .split:has(.eco-panel),.vin .contact-grid,.vin .demo-band{grid-template-columns:1fr!important;gap:32px!important;align-items:start!important}.vin .eco-panel{order:2}.vin .split > div:first-child{order:1}}
.vin .eco-panel{width:100%;overflow:hidden}
.vin .eco-panel svg{width:100%;height:auto;display:block;max-width:100%}
@media(max-width:1024px){.vin .eco-panel{padding:18px 14px 12px}}
@media(max-width:640px){.vin .split .btn,.vin .card .btn,.vin .hero .btn{display:flex;width:100%;text-align:center;margin-right:0}.vin .hero .btn+.btn{margin-top:4px}.vin .eco-legend{gap:12px;font-size:.9em}.vin .check li{padding-left:26px}}
@media(max-width:1024px){.vin .demo-band{padding:40px 26px}.vin .demo-actions{align-items:stretch}}

/* --- page hero colour (Divi sets h1-h6 to #333 globally) --- */
.vin .page-hero{background:var(--ink);color:#fff}
.vin .page-hero h1,.vin .page-hero h2,.vin .page-hero h3{color:#fff!important}
.vin .page-hero h1 em{color:var(--brand)!important;font-style:normal}
.vin .page-hero p{color:#c4d8ca!important}
.vin .page-hero .eyebrow{color:var(--brand)!important}
.vin .page-hero a:not(.btn){color:var(--brand)}
@media(max-width:900px){.vin .page-hero{padding:64px 0 52px}}

/* --- page hero width: use the full page measure, not a narrow column --- */
.vin .page-hero .wrap{max-width:var(--max);width:100%;margin:0 auto;padding:0 24px}
.vin .page-hero h1{max-width:none;width:100%}
.vin .page-hero p{max-width:none;width:100%}
@media(max-width:900px){.vin .page-hero .wrap{padding:0 16px}}

/* --- about page tweaks --- */
.vin section:has(.steps) .section-head,.vin section:has(.maturity) .section-head{max-width:100%}
.vin section:has(.steps) .section-head h2,.vin section:has(.maturity) .section-head h2{max-width:none}
.vin .section-head{max-width:100%}
.vin .section-head p,.vin .section-head > p{max-width:760px}
.vin .split img{width:100%;height:100%;max-height:420px;object-fit:cover;border-radius:var(--radius);display:block}
@media(max-width:1024px){.vin .split img{max-height:300px}}

/* --- services drone panel --- */
.vin .svc-drone-img{width:100%;height:100%;min-height:340px;max-height:none;object-fit:cover;border-radius:var(--radius);display:block}
.vin .split:has(.svc-drone-img){align-items:stretch}
.vin .split > div:has(> .svc-drone-img){display:flex}
@media(max-width:1024px){.vin .svc-drone-img{min-height:260px}}
@media(max-width:640px){.vin .svc-drone-img{min-height:200px}}

/* --- anchor offsets: keep targets clear of the sticky header --- */
.vin [id]{scroll-margin-top:90px}
.vin section[id]{scroll-margin-top:90px}

/* --- industries bands: alternating backgrounds, full bleed --- */
.vin section.ind-band{background:var(--bg)}
.vin section.ind-band-alt{background:var(--mint)}
.vin section.ind-band .split{margin-bottom:0}
.vin section.ind-band-alt .split > img,.vin section.ind-band-alt .split > picture{order:2}
.vin section.ind-band-alt .split > div{order:1}
html{scroll-padding-top:96px}
.vin section[id]{scroll-margin-top:96px}
.vin .ind-card{display:flex;flex-direction:column;height:100%}
.vin .ind-body{display:flex;flex-direction:column;flex:1}
.vin .ind-body p{flex:1}
.vin .card-link{margin-top:auto;padding-top:14px;align-self:flex-start}
.vin .grid-4{align-items:stretch}

/* --- drone page: inspection icons, rental band, equipment media --- */
.vin .svc-ico{display:block;width:52px;height:52px;margin-bottom:14px}
.vin .svc-ico svg{width:100%;height:100%;display:block;overflow:visible}
.vin .svc-ico .s{fill:none;stroke:var(--brand-dark);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.vin .svc-ico .scan{fill:var(--brand)}
.vin .svc-ico .bolt{fill:var(--brand)}
.vin .svc-ico .knob{fill:var(--brand)}
.vin .svc-ico .hub{fill:var(--brand);stroke:none}
@keyframes vinScan{0%,100%{transform:translateY(0);opacity:.35}50%{transform:translateY(6px);opacity:1}}
@keyframes vinSpin{from{transform:rotate(0)}to{transform:rotate(360deg)}}
@keyframes vinPulse{0%,100%{opacity:.35}50%{opacity:1}}
@keyframes vinSlide{0%,100%{transform:translateX(0)}50%{transform:translateX(7px)}}
.vin .svc-ico .scan{animation:vinScan 2.6s ease-in-out infinite}
.vin .ico-wind .rotor{transform-origin:24px 22px;animation:vinSpin 6s linear infinite}
.vin .ico-elec .bolt{animation:vinPulse 1.8s ease-in-out infinite}
.vin .ico-custom .k1{animation:vinSlide 3s ease-in-out infinite}
.vin .ico-custom .k2{animation:vinSlide 3s ease-in-out .4s infinite}
.vin .ico-custom .k3{animation:vinSlide 3s ease-in-out .8s infinite}
.vin .card:hover .svc-ico .scan{animation-duration:1.2s}
.vin .card:hover .ico-wind .rotor{animation-duration:2s}
@media(prefers-reduced-motion:reduce){.vin .svc-ico *{animation:none!important}}
.vin .rental-band{background:var(--ink);color:#fff}
.vin .rental-band h2,.vin .rental-band h3{color:#fff!important}
.vin .rental-band .lede,.vin .rental-band p{color:#c4d8ca!important}
.vin .rental-band .eyebrow{color:var(--brand)!important}
.vin .rental-band .check li{color:#c4d8ca}
.vin .rental-band .check li::before{color:var(--brand)}
.vin .rental-media{display:flex;align-items:center;justify-content:center}

/* --- drone equipment media heights: crop vertically, keep full width --- */
.vin .split figure img{width:100%;max-width:100%;height:190px;object-fit:cover;object-position:center;display:block;margin:0}
.vin .split figure figcaption{text-align:left;max-width:100%;margin:8px 0 0}
.vin .split > div > img:not(.rental-img):not(.svc-drone-img){width:100%;height:250px;object-fit:cover;object-position:center;display:block}
@media(max-width:1024px){.vin .split figure img{height:160px}.vin .split > div > img:not(.rental-img):not(.svc-drone-img){height:210px}}

/* --- rental media sizing: show the full frame, no crop --- */
.vin .rental-band .split{grid-template-columns:1fr 1fr;gap:48px;align-items:center}
.vin .rental-media{display:flex;align-items:center;justify-content:center;width:100%}
.vin .rental-img{width:100%;max-width:none;height:auto;min-height:0;object-fit:contain;display:block;border-radius:var(--radius);background:rgba(255,255,255,.04);padding:0}
@media(max-width:1024px){.vin .rental-band .split{grid-template-columns:1fr!important;gap:28px!important}.vin .rental-img{max-width:560px;margin:0 auto}}

/* --- blog cards: match the prototype card design --- */
.vin-blog .et_pb_blog_grid,.et_pb_blog .et_pb_blog_posts.et_grid_module{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}
.et_pb_blog .et_pb_post{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;margin:0!important;padding:0;display:flex;flex-direction:column;transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease}
.et_pb_blog .et_pb_post:hover{transform:translateY(-4px);box-shadow:0 18px 40px rgba(13,27,19,.12);border-color:var(--brand)}
.et_pb_blog .et_pb_post .et_pb_image_container{margin:0;border-radius:0}
.et_pb_blog .et_pb_post .et_pb_image_container img{width:100%;height:200px;object-fit:cover;display:block;border-radius:0}
.et_pb_blog .et_pb_post .post-meta{order:1;font-family:var(--font-mono);font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--brand-dark);margin:20px 22px 8px;padding:0}
.et_pb_blog .et_pb_post .post-meta a{color:var(--brand-dark);font-weight:500}
.et_pb_blog .et_pb_post .post-meta .published{display:none}
.et_pb_blog .et_pb_post .post-meta .published + span{margin-left:0}
.et_pb_blog .et_pb_post .entry-title{order:2;font-family:var(--font-display);font-size:1.06rem;font-weight:700;line-height:1.3;margin:0 22px 10px;padding:0}
.et_pb_blog .et_pb_post .entry-title a{color:var(--ink)}
.et_pb_blog .et_pb_post:hover .entry-title a{color:var(--brand-deep)}
.et_pb_blog .et_pb_post .post-content{order:3;margin:0 22px;flex:1}
.et_pb_blog .et_pb_post .post-content p{color:var(--slate);font-size:.92rem;line-height:1.6;margin:0;padding:0}
.et_pb_blog .et_pb_post .more-link,.et_pb_blog .et_pb_post a.more-link{order:4;display:inline-block;margin:16px 22px 22px;font-family:var(--font-display);font-weight:600;font-size:.9rem;color:var(--brand-dark)}
.et_pb_blog .et_pb_post .more-link::after{content:"\2192";margin-left:6px;display:inline-block;transition:transform .25s ease}
.et_pb_blog .et_pb_post:hover .more-link::after{transform:translateX(4px)}
.et_pb_blog .et_pb_post{display:flex;flex-direction:column}
.et_pb_blog .et_pb_post .et_pb_image_container{order:0}
@media(max-width:1024px){.et_pb_blog .et_pb_blog_posts.et_grid_module{grid-template-columns:repeat(2,1fr)}}
@media(max-width:680px){.et_pb_blog .et_pb_blog_posts.et_grid_module{grid-template-columns:1fr}}
.vin-pagination{display:flex;gap:8px;justify-content:center;align-items:center;margin:44px 0 0;flex-wrap:wrap}
.vin-pagination a,.vin-pagination span{font-family:var(--font-display);font-weight:600;font-size:.92rem;min-width:42px;height:42px;display:inline-flex;align-items:center;justify-content:center;padding:0 12px;border:1px solid var(--line);border-radius:999px;background:var(--card);color:var(--ink);transition:.2s}
.vin-pagination a:hover{border-color:var(--brand);background:var(--mint);color:var(--brand-deep)}
.vin-pagination .current{background:var(--ink);border-color:var(--ink);color:#fff}
.vin-pagination .dots{border:0;background:none;min-width:auto}
.et_pb_blog .pagination,.et_pb_blog .et_pb_alignleft,.et_pb_blog .et_pb_alignright{display:none!important}

/* --- blog cards --- */
.vin .vin-blog-section{padding:72px 0}
.vin .vin-blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;align-items:stretch}
.vin .vin-post{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;display:flex;flex-direction:column;transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease}
.vin .vin-post:hover{transform:translateY(-4px);box-shadow:0 18px 40px rgba(13,27,19,.12);border-color:var(--brand)}
.vin .vin-post-img{display:block;line-height:0}
.vin .vin-post-img img{width:100%;height:200px;object-fit:cover;display:block}
.vin .vin-post-body{padding:20px 22px 22px;display:flex;flex-direction:column;flex:1}
.vin .vin-post-cat{font-family:var(--font-mono);font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--brand-dark);display:block;margin-bottom:10px}
.vin .vin-post-title{font-family:var(--font-display);font-size:1.06rem;font-weight:700;line-height:1.32;margin:0 0 10px}
.vin .vin-post-title a{color:var(--ink)}
.vin .vin-post:hover .vin-post-title a{color:var(--brand-deep)}
.vin .vin-post-ex{color:var(--slate);font-size:.92rem;line-height:1.6;margin:0;flex:1}
.vin .vin-post-more{margin-top:16px;align-self:flex-start;font-family:var(--font-display);font-weight:600;font-size:.9rem;color:var(--brand-dark)}
.vin .vin-post-more::after{content:"\2192";margin-left:6px;display:inline-block;transition:transform .25s ease}
.vin .vin-post:hover .vin-post-more::after{transform:translateX(4px)}
@media(max-width:1024px){.vin .vin-blog-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:680px){.vin .vin-blog-grid{grid-template-columns:1fr}.vin .vin-blog-section{padding:48px 0}}
.vin .vin-pagination{display:flex;gap:8px;justify-content:center;align-items:center;margin:44px 0 0;flex-wrap:wrap}
.vin .vin-pagination a,.vin .vin-pagination span{font-family:var(--font-display);font-weight:600;font-size:.92rem;min-width:44px;height:44px;display:inline-flex;align-items:center;justify-content:center;padding:0 14px;border:1px solid var(--line);border-radius:999px;background:var(--card);color:var(--ink);transition:.2s}
.vin .vin-pagination a:hover{border-color:var(--brand);background:var(--mint);color:var(--brand-deep)}
.vin .vin-pagination .current{background:var(--ink);border-color:var(--ink);color:#fff}
.vin .vin-pagination .dots{border:0;background:none;min-width:auto;padding:0 4px}

/* --- single post: white page, readable measure, site typography --- */
body.single-post{background:var(--bg)}
body.single-post #main-content{background:var(--bg)}
body.single-post .et_pb_post,body.single-post article.post{background:transparent;border:0;box-shadow:none;padding:0;margin:0}
body.single-post #main-content .container{width:92%;max-width:820px;padding:56px 0 72px;margin:0 auto}
body.single-post #left-area{width:100%;padding-right:0;float:none}
body.single-post #sidebar{display:none}
body.single-post .entry-title,body.single-post h1.entry-title{font-family:var(--font-display);font-weight:700;font-size:clamp(1.8rem,3.6vw,2.6rem);line-height:1.2;color:var(--ink);margin:0 0 14px;padding:0}
body.single-post .post-meta{font-family:var(--font-mono);font-size:.76rem;letter-spacing:.1em;text-transform:uppercase;color:var(--brand-dark);margin:0 0 26px;padding:0}
body.single-post .post-meta a{color:var(--brand-dark)}
body.single-post .entry-content{font-family:var(--font-body);color:var(--ink);font-size:1.02rem;line-height:1.75}
body.single-post .entry-content p{margin:0 0 20px;color:var(--ink)}
body.single-post .entry-content h2{font-family:var(--font-display);font-size:1.6rem;font-weight:700;line-height:1.25;color:var(--ink);margin:38px 0 12px;padding:0}
body.single-post .entry-content h3{font-family:var(--font-display);font-size:1.22rem;font-weight:600;color:var(--ink);margin:28px 0 10px;padding:0}
body.single-post .entry-content a{color:var(--brand-dark);text-decoration:underline;text-underline-offset:3px}
body.single-post .entry-content a:hover{color:var(--brand-deep)}
body.single-post .entry-content ul,body.single-post .entry-content ol{margin:0 0 22px 22px}
body.single-post .entry-content li{margin-bottom:9px}
body.single-post .entry-content img{border-radius:var(--radius);height:auto;margin:24px auto}
body.single-post .entry-content strong{color:var(--ink);font-weight:600}
body.single-post .et_post_meta_wrapper{padding:0}
body.single-post .et_post_meta_wrapper img{width:100%;border-radius:var(--radius);margin-bottom:26px}
@media(max-width:900px){body.single-post #main-content .container{padding:36px 0 52px}}

/* --- single post footer seam --- */
body.single-post .et_pb_post{margin-bottom:0!important}
body.single-post #left-area{padding-bottom:0!important;margin-bottom:0!important}
body.single-post #main-content .container{padding:48px 0 44px!important;margin-bottom:0!important}
body.single-post #main-content{padding-bottom:0!important;margin-bottom:0!important}
body.single-post .entry-content>*:last-child{margin-bottom:0}
body.single-post .et_post_meta_wrapper:last-child{padding-bottom:0;margin-bottom:0}
body.single-post [class*=_tb_footer].et_pb_section{margin-top:0!important}
body.page .vin-blog-section{padding-bottom:64px}


/* --- hero button hover: label turns white --- */
.vin .hero .btn-primary:hover,.vin .hero .btn-primary:focus{background:var(--brand-dark)!important;color:#fff!important}
.vin .hero .btn-primary:hover *{color:#fff!important}
.vin .hero .btn-primary::before{background:var(--brand-dark)}
.vin .hero .btn-primary:hover::after{color:#fff!important}
.vin .hero .btn-ghost:hover{color:#fff!important;border-color:#fff!important}




/* --- nav labels on one line, row still allowed to shrink --- */
.vin .nav-links li,.vin .nav-links a{white-space:nowrap}
.vin .nav{min-width:0}
.vin .nav-links{min-width:0;flex-wrap:nowrap}
@media(min-width:981px) and (max-width:1400px){.vin .nav-links{gap:16px}.vin .nav-links a{font-size:13.4px}.vin .nav-cta{gap:12px;margin-left:14px}}
@media(min-width:981px) and (max-width:1200px){.vin .nav-links{gap:12px}.vin .nav-links a{font-size:12.8px}.vin .login-link{padding:7px 12px;font-size:12.5px}}
