/* ============================================================================
   appvik.ai — site styles (scoped under body.appvik-ai)
   Ported from Claude Design handoff design-system + brief enhancements.
   Accent: Cool Mint #5DD4A8. Wordmark a=peach p=yellow p=mint vik=blue.
   ========================================================================== */

/* ---- Design tokens (scoped to avoid clobbering Elementor/Astra chrome) ---- */
body.appvik-ai {
  --brand-blue:#2563EB; --brand-mint:#5DD4A8; --brand-peach:#FF9968; --brand-yellow:#F5C800;
  --brand-blue-press:#1d4fc4; --brand-mint-press:#46b88e;
  --bg:#FFFFFF; --surface:#F8F8F7; --subtle:#F0EFE9; --border:#E2E1DA;
  --muted:#9B9A95; --secondary:#6B6A66; --ink:#111110;
  --fg1:var(--ink); --fg2:var(--secondary); --fg3:var(--muted); --fg-on-color:#FFFFFF;
  --font-display:"Poppins",ui-sans-serif,system-ui,sans-serif;
  --font-body:"Inter",ui-sans-serif,system-ui,sans-serif;
  --font-mono:"JetBrains Mono",ui-monospace,SFMono-Regular,Menlo,monospace;
  --font-wordmark:"Poppins",ui-sans-serif,system-ui,sans-serif;
  --fs-display:clamp(48px,5.4vw,64px); --fs-h1:clamp(40px,4.4vw,56px); --fs-h2:36px; --fs-h3:24px; --fs-h4:18px;
  --fs-body-l:17px; --fs-body-m:15px; --fs-body-s:13px; --fs-label:12px; --fs-mono:13px;
  --lh-display:1.04; --lh-heading:1.12; --lh-body:1.55; --lh-tight:1.25;
  --ls-display:-0.02em; --ls-heading:-0.015em; --ls-label:0.04em;
  --space-2xl:64px; --space-3xl:96px;
  --radius-sm:4px; --radius-md:8px; --radius-lg:12px; --radius-xl:16px; --radius-pill:999px;
  --shadow-1:0 1px 2px rgba(17,17,16,.04),0 1px 1px rgba(17,17,16,.03);
  --shadow-2:0 4px 12px rgba(17,17,16,.05),0 1px 2px rgba(17,17,16,.04);
  --shadow-3:0 12px 32px rgba(17,17,16,.08),0 2px 6px rgba(17,17,16,.04);
  --shadow-focus:0 0 0 3px color-mix(in srgb,var(--brand-mint) 28%,transparent);
  --grad-bar:linear-gradient(90deg,var(--brand-blue) 0%,var(--brand-mint) 33%,var(--brand-peach) 66%,var(--brand-yellow) 100%);
  --ease-out:cubic-bezier(0.16,1,0.3,1); --ease-in-out:cubic-bezier(0.4,0,0.2,1);
  --dur-fast:150ms; --dur-base:200ms; --dur-slow:300ms; --dur-reveal:400ms;
  background:var(--bg); color:var(--ink);
  font-family:var(--font-body); font-size:var(--fs-body-l); line-height:var(--lh-body);
  font-feature-settings:"cv01" 1; -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility;
  overflow-x:hidden;
}

/* ---- Night theme ---- */
body.appvik-ai[data-theme="night"]{
  --bg:#0F1117; --surface:#161922; --subtle:#1f2330; --border:#232735;
  --muted:#6d7488; --secondary:#a8aebb; --ink:#F4F6FA; --fg1:#F4F6FA; --fg2:#a8aebb;
  --shadow-1:0 1px 2px rgba(0,0,0,.5); --shadow-2:0 4px 14px rgba(0,0,0,.45); --shadow-3:0 16px 40px rgba(0,0,0,.55);
}

/* ---- Smooth scroll + sticky offset ---- */
html{scroll-behavior:smooth;}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto;}}
body.appvik-ai [id]{scroll-margin-top:100px;}

/* ---- Reset within scope ---- */
body.appvik-ai *,body.appvik-ai *::before,body.appvik-ai *::after{box-sizing:border-box;}

/* ---- Typography ---- */
body.appvik-ai h1,body.appvik-ai .h1,body.appvik-ai .display{font-family:var(--font-display);font-weight:700;font-size:var(--fs-h1);line-height:var(--lh-display);letter-spacing:var(--ls-display);margin:0;color:var(--fg1);}
body.appvik-ai .display{font-size:var(--fs-display);}
body.appvik-ai h2,body.appvik-ai .h2{font-family:var(--font-display);font-weight:700;font-size:var(--fs-h2);line-height:var(--lh-heading);letter-spacing:var(--ls-heading);margin:0;color:var(--fg1);}
body.appvik-ai h3,body.appvik-ai .h3{font-family:var(--font-display);font-weight:600;font-size:var(--fs-h3);line-height:var(--lh-heading);letter-spacing:var(--ls-heading);margin:0;color:var(--fg1);}
body.appvik-ai h4,body.appvik-ai .h4{font-family:var(--font-display);font-weight:600;font-size:var(--fs-h4);line-height:var(--lh-tight);margin:0;color:var(--fg1);}
body.appvik-ai p,body.appvik-ai .body-l{font-size:var(--fs-body-l);line-height:var(--lh-body);color:var(--fg2);margin:0;}
body.appvik-ai .body-m{font-size:var(--fs-body-m);line-height:var(--lh-body);color:var(--fg2);}
body.appvik-ai .body-s{font-size:var(--fs-body-s);line-height:var(--lh-body);color:var(--fg2);}
body.appvik-ai .label,body.appvik-ai .eyebrow{font-size:var(--fs-label);font-weight:500;letter-spacing:var(--ls-label);text-transform:uppercase;color:var(--fg2);}
body.appvik-ai code,body.appvik-ai .mono{font-family:var(--font-mono);font-size:var(--fs-mono);font-feature-settings:"calt" 0;}
body.appvik-ai a{color:var(--brand-blue);text-decoration:none;transition:opacity var(--dur-fast) var(--ease-out);}
body.appvik-ai a:hover{opacity:.82;}
body.appvik-ai ::selection{background:color-mix(in srgb,var(--brand-mint) 22%,transparent);color:var(--ink);}

/* ---- Layout ---- */
body.appvik-ai .wrap{max-width:1200px;margin:0 auto;padding:0 32px;position:relative;z-index:1;}
@media (max-width:720px){body.appvik-ai .wrap{padding:0 20px;}}
body.appvik-ai .av-section{position:relative;padding:var(--space-3xl) 0;}
body.appvik-ai .av-section>.wrap{position:relative;z-index:1;}

/* ---- Gradient mesh per section ---- */
body.appvik-ai .mesh{position:absolute;inset:0;pointer-events:none;z-index:0;opacity:1;}
body.appvik-ai .mesh.hero{background:
  radial-gradient(ellipse 800px 600px at 20% 30%,rgba(37,99,235,.16) 0%,transparent 70%),
  radial-gradient(ellipse 600px 500px at 80% 70%,rgba(93,212,168,.18) 0%,transparent 70%),
  radial-gradient(ellipse 700px 400px at 50% 50%,rgba(255,153,104,.10) 0%,transparent 70%),
  radial-gradient(ellipse 500px 600px at 10% 80%,rgba(245,200,0,.08) 0%,transparent 70%);
  animation:avMeshDrift 14s ease-in-out infinite alternate;}
body.appvik-ai .mesh.services{background:
  radial-gradient(ellipse 900px 500px at 50% 0%,rgba(93,212,168,.12) 0%,transparent 70%),
  radial-gradient(ellipse 700px 400px at 50% 100%,rgba(245,200,0,.06) 0%,transparent 70%);}
body.appvik-ai .mesh.pillars{background:
  radial-gradient(ellipse 700px 500px at 10% 0%,rgba(37,99,235,.08) 0%,transparent 70%),
  radial-gradient(ellipse 700px 500px at 95% 100%,rgba(93,212,168,.12) 0%,transparent 70%);}
body.appvik-ai .mesh.why{background:radial-gradient(ellipse 600px 700px at 0% 50%,rgba(93,212,168,.10) 0%,transparent 70%);}
body.appvik-ai .mesh.cta{background:
  radial-gradient(ellipse 1000px 600px at 30% 50%,rgba(37,99,235,.20) 0%,transparent 70%),
  radial-gradient(ellipse 900px 500px at 70% 50%,rgba(93,212,168,.22) 0%,transparent 70%),
  radial-gradient(ellipse 700px 400px at 50% 80%,rgba(255,153,104,.16) 0%,transparent 70%),
  radial-gradient(ellipse 600px 400px at 50% 20%,rgba(245,200,0,.14) 0%,transparent 70%);
  animation:avMeshDrift 10s ease-in-out infinite alternate;}
body.appvik-ai[data-theme="night"] .mesh.hero,body.appvik-ai[data-theme="night"] .mesh.cta{filter:saturate(1.1) brightness(1.4);opacity:.85;}
@keyframes avMeshDrift{0%{background-position:0% 0%,100% 100%,50% 50%,0% 100%;}100%{background-position:10% 4%,88% 96%,55% 45%,4% 96%;}}
body.appvik-ai.paused .mesh.hero,body.appvik-ai.paused .mesh.cta{animation-play-state:paused;}
@media (prefers-reduced-motion:reduce){body.appvik-ai .mesh{animation:none!important;}}

/* ---- Cursor glow ---- */
body.appvik-ai .cursor-glow{position:absolute;inset:0;pointer-events:none;z-index:0;background:radial-gradient(600px 400px at var(--cursor-x,50%) var(--cursor-y,50%),rgba(93,212,168,.10) 0%,transparent 60%);transition:background 400ms ease;}
@media (hover:none){body.appvik-ai .cursor-glow{display:none;}}
@media (prefers-reduced-motion:reduce){body.appvik-ai .cursor-glow{display:none;}}

/* ---- Reveal (only hide when JS is active, so no-JS/crawlers still see content) ---- */
body.appvik-ai.av-js .reveal{opacity:0;transform:translateY(20px);transition:opacity 600ms var(--ease-out),transform 600ms var(--ease-out);}
body.appvik-ai.av-js .reveal.in{opacity:1;transform:translateY(0);}
@media (prefers-reduced-motion:reduce){body.appvik-ai.av-js .reveal{opacity:1;transform:none;}}

/* ---- Buttons ---- */
body.appvik-ai .btn{display:inline-flex;align-items:center;gap:8px;height:44px;padding:0 20px;font-family:var(--font-body);font-weight:500;font-size:14.5px;border-radius:var(--radius-md);border:0;cursor:pointer;transition:filter 150ms var(--ease-out),transform 100ms var(--ease-out),background-color 150ms var(--ease-out);font-feature-settings:"cv01" 1;position:relative;overflow:hidden;white-space:nowrap;flex-shrink:0;text-decoration:none;}
body.appvik-ai .btn:hover{filter:brightness(1.06);}
body.appvik-ai .btn:active{transform:scale(.97);}
body.appvik-ai .btn.primary{background:var(--brand-blue);color:#fff;}
body.appvik-ai .btn.outline{background:transparent;color:var(--brand-blue);border:1.5px solid var(--brand-blue);}
body.appvik-ai .btn.outline:hover{background:color-mix(in srgb,var(--brand-blue) 8%,transparent);filter:none;}
body.appvik-ai .btn.ai{background:var(--brand-mint);color:#08251a;}
body.appvik-ai .btn.lg{height:52px;padding:0 26px;font-size:15.5px;}
body.appvik-ai .btn.sm{height:36px;padding:0 14px;font-size:13px;}
body.appvik-ai .btn .arr{transition:transform 200ms var(--ease-out);}
body.appvik-ai .btn:hover .arr{transform:translateX(3px);}
body.appvik-ai .btn .ripple{position:absolute;border-radius:50%;pointer-events:none;width:10px;height:10px;background:rgba(255,255,255,.5);transform:translate(-50%,-50%) scale(0);animation:avRipple 500ms var(--ease-out) forwards;}
@keyframes avRipple{to{transform:translate(-50%,-50%) scale(40);opacity:0;}}

/* ---- Eyebrow badge ---- */
body.appvik-ai .eyebrow-badge{display:inline-flex;align-items:center;gap:8px;min-height:28px;padding:4px 12px;border-radius:999px;border:1px solid var(--border);background:color-mix(in srgb,var(--bg) 65%,transparent);backdrop-filter:blur(8px);font-size:12px;font-weight:500;letter-spacing:.02em;color:var(--secondary);white-space:nowrap;}
body.appvik-ai .eyebrow-badge .dot{width:6px;height:6px;border-radius:999px;background:var(--brand-mint);box-shadow:0 0 0 4px color-mix(in srgb,var(--brand-mint) 18%,transparent);}

/* ---- Card ---- */
body.appvik-ai .card{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-xl);padding:28px;transition:border-color 200ms var(--ease-out),transform 200ms var(--ease-out),box-shadow 200ms var(--ease-out);}
body.appvik-ai[data-theme="night"] .card{background:var(--surface);}
body.appvik-ai [data-tag]{display:inline-flex;padding:5px 11px;border-radius:999px;background:var(--surface);border:1px solid var(--border);font-size:12px;color:var(--secondary);}

/* ---- Wordmark ---- */
body.appvik-ai .wordmark{font-family:var(--font-wordmark);font-weight:800;letter-spacing:-.025em;line-height:1;display:inline-flex;font-size:28px;}
body.appvik-ai .wordmark>span{display:inline-block;}
body.appvik-ai .wordmark>.a{color:var(--brand-peach);}
body.appvik-ai .wordmark>.p1{color:var(--brand-yellow);}
body.appvik-ai .wordmark>.p2{color:var(--brand-mint);}
body.appvik-ai .wordmark>.vik{color:var(--brand-blue);}
body.appvik-ai .wm-hover>span{transition:filter 200ms var(--ease-out);}
body.appvik-ai .wm-hover>.a:hover{filter:drop-shadow(0 0 8px rgba(255,153,104,.55));}
body.appvik-ai .wm-hover>.p1:hover{filter:drop-shadow(0 0 8px rgba(245,200,0,.55));}
body.appvik-ai .wm-hover>.p2:hover{filter:drop-shadow(0 0 8px rgba(93,212,168,.55));}
body.appvik-ai .wm-hover>.vik:hover{filter:drop-shadow(0 0 8px rgba(37,99,235,.55));}

/* =====================  HEADER (Xpro template)  ===================== */
body.appvik-ai .av-nav{position:sticky;top:0;z-index:100;height:80px;display:flex;align-items:center;background:color-mix(in srgb,var(--bg) 78%,transparent);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-bottom:1px solid transparent;transition:border-color 250ms var(--ease-out),background 300ms ease;}
body.appvik-ai .av-nav.scrolled{border-bottom-color:var(--border);}
body.appvik-ai .av-nav .wrap{display:flex;align-items:center;justify-content:space-between;gap:24px;width:100%;}
body.appvik-ai .av-navlinks{display:flex;align-items:center;gap:4px;position:relative;}
body.appvik-ai .av-navlinks a{position:relative;padding:8px 14px;font-size:14.5px;font-weight:500;color:var(--secondary);text-decoration:none;transition:color 200ms;}
body.appvik-ai .av-navlinks a:hover{color:var(--ink);opacity:1;}
body.appvik-ai .av-underline{position:absolute;bottom:2px;left:0;width:0;height:2px;border-radius:999px;background:var(--brand-mint);opacity:0;transition:left 280ms cubic-bezier(.4,0,.2,1),width 280ms cubic-bezier(.4,0,.2,1),opacity 200ms;}
body.appvik-ai .av-iconbtn{display:flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:999px;border:1px solid var(--border);background:transparent;color:var(--secondary);cursor:pointer;transition:color 200ms,border-color 200ms;}
body.appvik-ai .av-iconbtn:hover{color:var(--ink);border-color:var(--ink);}
body.appvik-ai .av-burger{display:none;}
@media (max-width:860px){
  body.appvik-ai .av-navlinks{display:none;}
  body.appvik-ai .av-burger{display:flex;}
  body.appvik-ai .av-mobile{display:block;}
}
body.appvik-ai .av-mobile{display:none;position:fixed;top:80px;left:0;right:0;z-index:99;background:var(--bg);border-bottom:1px solid var(--border);padding:8px 20px 18px;transform:translateY(-12px);opacity:0;pointer-events:none;transition:opacity 240ms var(--ease-out),transform 240ms var(--ease-out);}
body.appvik-ai .av-mobile.open{opacity:1;transform:translateY(0);pointer-events:auto;}
body.appvik-ai .av-mobile a{display:block;padding:13px 0;font-size:16px;color:var(--ink);border-bottom:1px solid var(--border);}

/* =====================  HERO  ===================== */
body.appvik-ai .av-hero .wrap{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:56px;align-items:center;}
@media (max-width:900px){body.appvik-ai .av-hero .wrap{grid-template-columns:1fr;gap:36px;}}
body.appvik-ai .av-hero-stage{position:relative;height:440px;min-width:0;}
@media (max-width:900px){body.appvik-ai .av-hero-stage{height:360px;}}
body.appvik-ai .floaty{animation:avFloaty 6s ease-in-out infinite;}
@keyframes avFloaty{0%{transform:translateY(0);}50%{transform:translateY(-12px);}100%{transform:translateY(0);}}
@keyframes avBlink{0%,49%{opacity:1;}50%,100%{opacity:0;}}
@keyframes avFeedIn{from{opacity:0;transform:translateY(8px);}to{opacity:1;transform:translateY(0);}}
@keyframes avCtaGlow{0%,100%{box-shadow:0 0 0 0 rgba(37,99,235,0),var(--shadow-2);}50%{box-shadow:0 0 0 8px rgba(37,99,235,.10),0 8px 28px rgba(37,99,235,.28);}}
body.appvik-ai .cta-pulse{animation:avCtaGlow 2.6s ease-in-out infinite;}
@media (prefers-reduced-motion:reduce){body.appvik-ai .floaty,body.appvik-ai .cta-pulse{animation:none!important;}}

/* =====================  6-COLUMN FOOTER + WORLD MAP + WORDMARK  ===================== */
body.appvik-ai .av-footer{position:relative;background:var(--surface);border-top:1px solid var(--border);overflow:hidden;padding-top:72px;}
body.appvik-ai[data-theme="night"] .av-footer{background:#0b0d12;}
/* dotted world map behind columns */
body.appvik-ai .av-footmap{position:absolute;left:50%;top:24px;transform:translateX(-50%);width:min(1500px,135%);height:auto;aspect-ratio:4378/2435;z-index:0;pointer-events:none;opacity:.5;
  -webkit-mask:url(https://appvik.ai/wp-content/uploads/appvik/worldmap.svg) center/contain no-repeat;mask:url(https://appvik.ai/wp-content/uploads/appvik/worldmap.svg) center/contain no-repeat;
  background-color:transparent;
  background-image:radial-gradient(currentColor 1.15px,transparent 1.3px);
  background-size:9px 9px;color:color-mix(in srgb,var(--brand-mint) 70%,var(--secondary));}
body.appvik-ai .av-footmap{opacity:.42;}
body.appvik-ai[data-theme="night"] .av-footmap{opacity:.34;color:color-mix(in srgb,var(--brand-mint) 80%,#3a4150);}
@media (max-width:720px){body.appvik-ai .av-footmap{opacity:.32;top:8px;}}
body.appvik-ai .av-footinner{position:relative;z-index:2;}
body.appvik-ai .av-footgrid{display:grid;grid-template-columns:1.7fr 1fr 1.05fr 1fr 1.05fr 1.1fr;gap:36px;}
@media (max-width:1080px){body.appvik-ai .av-footgrid{grid-template-columns:1.4fr 1fr 1fr;row-gap:40px;}}
@media (max-width:600px){body.appvik-ai .av-footgrid{grid-template-columns:1fr 1fr;}}
body.appvik-ai .av-footcol{display:flex;flex-direction:column;gap:11px;min-width:0;}
body.appvik-ai .av-footcol .label{color:var(--ink);margin-bottom:3px;}
body.appvik-ai .av-footcol a{font-size:14px;color:var(--secondary);text-decoration:none;line-height:1.4;}
body.appvik-ai .av-footcol a:hover{color:var(--brand-mint);opacity:1;}
body.appvik-ai .av-social{display:flex;gap:10px;margin-top:4px;}
body.appvik-ai .av-social a{display:flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:8px;border:1px solid var(--border);color:var(--secondary);}
body.appvik-ai .av-social a:hover{color:var(--ink);border-color:var(--ink);}
body.appvik-ai .av-footbar{position:relative;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-top:48px;padding:24px 0 18px;border-top:1px solid var(--border);}
body.appvik-ai .av-footbar .mono{font-size:12px;color:var(--muted);}
body.appvik-ai .av-footbar a{font-size:12px;color:var(--muted);}
body.appvik-ai .av-footbar a:hover{color:var(--ink);}
/* giant page-ending wordmark */
body.appvik-ai .av-footmark{position:relative;z-index:1;width:100%;line-height:.82;text-align:center;padding:8px 0 0;margin-top:6px;font-family:var(--font-wordmark);font-weight:800;letter-spacing:-.04em;font-size:clamp(72px,20vw,320px);display:flex;justify-content:center;user-select:none;overflow:hidden;}
body.appvik-ai .av-footmark .a{color:var(--brand-peach);}
body.appvik-ai .av-footmark .p1{color:var(--brand-yellow);}
body.appvik-ai .av-footmark .p2{color:var(--brand-mint);}
body.appvik-ai .av-footmark .vik{color:var(--brand-blue);}
body.appvik-ai .av-footmark.tint .a,body.appvik-ai .av-footmark.tint .p1,body.appvik-ai .av-footmark.tint .p2,body.appvik-ai .av-footmark.tint .vik{color:color-mix(in srgb,var(--ink) 8%,transparent);}

/* =====================  CONTACT / LEGAL PAGES  ===================== */
body.appvik-ai .av-page-hero{position:relative;padding:120px 0 40px;overflow:hidden;}
body.appvik-ai .av-prose{max-width:760px;margin:0 auto;}
body.appvik-ai .av-prose h2{font-size:26px;margin:36px 0 12px;}
body.appvik-ai .av-prose h3{font-size:19px;margin:26px 0 8px;}
body.appvik-ai .av-prose p,body.appvik-ai .av-prose li{font-size:16px;color:var(--secondary);line-height:1.7;margin:0 0 12px;}
body.appvik-ai .av-prose ul{padding-left:20px;margin:0 0 16px;}
body.appvik-ai .av-contact-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:48px;align-items:start;max-width:1040px;margin:0 auto;}
@media (max-width:860px){body.appvik-ai .av-contact-grid{grid-template-columns:1fr;gap:32px;}}
body.appvik-ai .av-contact-card{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-xl);padding:32px;box-shadow:var(--shadow-2);}
/* WPForms restyle within scope */
body.appvik-ai .wpforms-field-label{font-family:var(--font-body)!important;font-size:13px!important;font-weight:500!important;color:var(--ink)!important;letter-spacing:.01em;}
body.appvik-ai .wpforms-container input[type=text],
body.appvik-ai .wpforms-container input[type=email],
body.appvik-ai .wpforms-container input[type=tel],
body.appvik-ai .wpforms-container input[type=url],
body.appvik-ai .wpforms-container select,
body.appvik-ai .wpforms-container textarea{width:100%!important;background:var(--surface)!important;border:1px solid var(--border)!important;border-radius:var(--radius-md)!important;padding:12px 14px!important;font-family:var(--font-body)!important;font-size:15px!important;color:var(--ink)!important;transition:border-color 180ms,box-shadow 180ms;}
body.appvik-ai .wpforms-container input:focus,
body.appvik-ai .wpforms-container textarea:focus,
body.appvik-ai .wpforms-container select:focus{outline:none!important;border-color:var(--brand-mint)!important;box-shadow:var(--shadow-focus)!important;}
body.appvik-ai .wpforms-container textarea{min-height:130px!important;}
body.appvik-ai .wpforms-submit{background:var(--brand-blue)!important;color:#fff!important;border:0!important;border-radius:var(--radius-md)!important;height:50px!important;padding:0 28px!important;font-family:var(--font-body)!important;font-weight:500!important;font-size:15.5px!important;cursor:pointer;transition:filter 150ms;}
body.appvik-ai .wpforms-submit:hover{filter:brightness(1.07)!important;}

/* ---- Astra cleanup (Xpro provides header/footer) ---- */
body.appvik-ai .site-content{padding:0!important;}
body.appvik-ai .ast-container,body.appvik-ai .site-content>.ast-container{max-width:100%!important;padding:0!important;margin:0!important;}
body.appvik-ai #primary{margin:0!important;padding:0!important;}
body.appvik-ai .entry-header,body.appvik-ai .ast-single-entry-banner{display:none!important;}
body.appvik-ai .entry-content{margin:0!important;}


/* ============================================================================
   NATIVE ELEMENTOR BRIDGES — style native widget output to the design system
   ========================================================================== */
/* Section scaffold: outer container.av-sec (full width) holds .av-mesh + inner .av-wrap */
body.appvik-ai .av-sec{position:relative;overflow:hidden;}
body.appvik-ai .av-wrap{position:relative;z-index:1;}
body.appvik-ai .av-mesh{position:absolute;inset:0;z-index:0;pointer-events:none;}
body.appvik-ai .av-mesh .elementor-widget-container{position:absolute;inset:0;}

/* Heading wrapper -> inner title bridges */
body.appvik-ai .av-eyebrow .elementor-heading-title{font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--brand-mint);}
body.appvik-ai .av-label .elementor-heading-title{font-size:12px;font-weight:500;letter-spacing:.04em;text-transform:uppercase;color:var(--muted);}
body.appvik-ai .av-label-ink .elementor-heading-title{color:var(--ink);}
body.appvik-ai .av-label-mint .elementor-heading-title{color:var(--brand-mint);}
body.appvik-ai .av-mono .elementor-heading-title{font-family:var(--font-mono);font-size:12px;color:var(--muted);font-weight:400;}
body.appvik-ai .av-mint .elementor-heading-title{color:var(--brand-mint);}
body.appvik-ai .av-ink .elementor-heading-title{color:var(--ink);}
body.appvik-ai .av-blue .elementor-heading-title{color:var(--brand-blue);}

/* Text editor variants */
body.appvik-ai .av-lead .elementor-widget-container{font-size:18px;color:var(--secondary);}
body.appvik-ai .av-t-muted .elementor-widget-container,body.appvik-ai .av-t-muted p{color:var(--muted);}
body.appvik-ai .av-t-ink .elementor-widget-container,body.appvik-ai .av-t-ink p{color:var(--ink);}
body.appvik-ai .av-t-ink-strong .elementor-widget-container,body.appvik-ai .av-t-ink-strong p{color:var(--ink);font-weight:500;}

/* Native Elementor Button -> brand button */
body.appvik-ai .av-btn .elementor-button{display:inline-flex;align-items:center;gap:8px;height:44px;padding:0 20px;font-family:var(--font-body);font-weight:500;font-size:14.5px;border-radius:var(--radius-md);border:0;line-height:1;transition:filter 150ms var(--ease-out),transform 100ms var(--ease-out);position:relative;overflow:hidden;}
body.appvik-ai .av-btn .elementor-button:hover{filter:brightness(1.06);}
body.appvik-ai .av-btn .elementor-button:active{transform:scale(.97);}
body.appvik-ai .av-btn-primary .elementor-button{background:var(--brand-blue);color:#fff;}
body.appvik-ai .av-btn-outline .elementor-button{background:transparent;color:var(--brand-blue);border:1.5px solid var(--brand-blue);}
body.appvik-ai .av-btn-outline .elementor-button:hover{background:color-mix(in srgb,var(--brand-blue) 8%,transparent);filter:none;}
body.appvik-ai .av-btn-ink .elementor-button{background:var(--ink);color:var(--bg);}
body.appvik-ai .av-btn-lg .elementor-button{height:52px;padding:0 26px;font-size:15.5px;}
body.appvik-ai .av-btn .elementor-button-icon,body.appvik-ai .av-btn .elementor-align-icon-right{transition:transform 200ms var(--ease-out);}
body.appvik-ai .av-btn .elementor-button:hover .elementor-button-icon{transform:translateX(3px);}

/* Nav links (native button widgets) */
body.appvik-ai .av-nav-link .elementor-button{background:transparent;color:var(--secondary);font-weight:500;font-size:14.5px;height:auto;padding:8px 14px;border-radius:8px;position:relative;}
body.appvik-ai .av-nav-link .elementor-button:hover{color:var(--ink);filter:none;background:transparent;}
body.appvik-ai .av-nav-link.av-active .elementor-button{color:var(--ink);}
body.appvik-ai .av-nav-link.av-active .elementor-button::after{content:"";position:absolute;left:14px;right:14px;bottom:2px;height:2px;border-radius:999px;background:var(--brand-mint);}

/* Hero two-column grid (inner container) */
body.appvik-ai .av-hero-grid{display:grid !important;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:56px;align-items:center;}
@media(max-width:900px){body.appvik-ai .av-hero-grid{grid-template-columns:1fr !important;gap:36px;}}

/* Service cards (.card .av-svc) */
body.appvik-ai .av-svc{cursor:pointer;}
body.appvik-ai .av-svc-tags{max-height:0;opacity:0;overflow:hidden;transition:max-height 320ms var(--ease-out),opacity 220ms;}
body.appvik-ai .av-svc-more .elementor-heading-title{color:var(--brand-mint);font-weight:500;font-size:13px;}
body.appvik-ai .av-tag{display:inline-flex;padding:5px 11px;border-radius:999px;background:var(--surface);border:1px solid var(--border);font-size:12px;color:var(--secondary);margin:0 6px 6px 0;}
body.appvik-ai .av-svc:hover{border-color:var(--brand-mint);transform:translateY(-2px);box-shadow:var(--shadow-2);}

/* FAQ accordion */
body.appvik-ai .av-faq{border-top:1px solid var(--border);}
body.appvik-ai .av-faq.av-faq-last{border-bottom:1px solid var(--border);}
body.appvik-ai .av-faq-q{cursor:pointer;padding:22px 0;display:flex;align-items:flex-start;gap:16px;}
body.appvik-ai .av-faq-q .elementor-widget{flex:1;}
body.appvik-ai .av-faq-icon{font-size:22px;line-height:1;color:var(--brand-mint);transition:transform 250ms var(--ease-out);margin-left:auto;align-self:flex-start;}
body.appvik-ai .av-faq-a{max-height:0;opacity:0;overflow:hidden;transition:max-height 340ms var(--ease-out),opacity 220ms;}

/* Industries (native cards + chips) */
body.appvik-ai .av-ind{border:1px solid var(--border);border-radius:var(--radius-xl);background:var(--bg);overflow:hidden;}
body.appvik-ai[data-theme="night"] .av-ind{background:var(--surface);}
body.appvik-ai .av-ind-head{cursor:pointer;padding:24px 24px 18px;display:flex;align-items:flex-start;gap:14px;}
body.appvik-ai .av-ind-head .elementor-widget{flex:1;}
body.appvik-ai .av-ind-icon{font-size:22px;line-height:1;color:var(--brand-mint);transition:transform 250ms var(--ease-out);margin-left:auto;align-self:flex-start;}
body.appvik-ai .av-ind-body{max-height:0;opacity:0;visibility:hidden;overflow:hidden;transition:max-height 420ms var(--ease-out),opacity 240ms;}
body.appvik-ai .av-chip{display:inline-flex;padding:8px 16px;border-radius:999px;border:1px solid var(--border);background:transparent;color:var(--secondary);font-family:var(--font-body);font-size:13.5px;font-weight:500;cursor:pointer;}
body.appvik-ai .av-chip.av-active{border-color:var(--brand-mint);background:color-mix(in srgb,var(--brand-mint) 14%,transparent);color:var(--ink);}
body.appvik-ai .av-ind-list .elementor-icon-list-item{align-items:flex-start;}
body.appvik-ai .av-ind-list .elementor-icon-list-icon{color:var(--brand-mint);}

/* Icon list tuning */
body.appvik-ai .av-checklist .elementor-icon-list-icon svg,body.appvik-ai .av-checklist .elementor-icon-list-icon{color:var(--brand-mint);fill:var(--brand-mint);}

/* Layout grids for native containers */
body.appvik-ai .av-grid-auto{display:grid !important;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:20px;}
body.appvik-ai .av-grid-3{display:grid !important;grid-template-columns:repeat(3,1fr);gap:20px;}
body.appvik-ai .av-grid-2{display:grid !important;grid-template-columns:1fr 1fr;gap:18px;align-items:stretch;}
@media(max-width:900px){body.appvik-ai .av-grid-3{grid-template-columns:1fr 1fr;}}
@media(max-width:680px){body.appvik-ai .av-grid-auto,body.appvik-ai .av-grid-3,body.appvik-ai .av-grid-2{grid-template-columns:1fr;}}
body.appvik-ai .av-ind-grid{display:grid !important;grid-template-columns:repeat(auto-fit,minmax(380px,1fr));gap:20px;align-items:start;}
@media(max-width:820px){body.appvik-ai .av-ind-grid{grid-template-columns:1fr;}}
body.appvik-ai .av-do-grid{display:grid !important;grid-template-columns:1fr 1fr;gap:1px;background:var(--border);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden;}
body.appvik-ai .av-do-cell{background:var(--bg);padding:24px;}
@media(max-width:680px){body.appvik-ai .av-do-grid{grid-template-columns:1fr;}}
body.appvik-ai .av-chiprow{display:flex !important;flex-wrap:wrap;gap:8px;}
body.appvik-ai .av-actions{display:flex !important;flex-direction:row !important;gap:12px;flex-wrap:wrap;}
body.appvik-ai .av-card-pad{padding:26px;}

/* Accent words inside native headings (class-based so wp_kses keeps them) */
body.appvik-ai .av-cw-mint{color:var(--brand-mint);}
body.appvik-ai .av-cw-blue{color:var(--brand-blue);}
body.appvik-ai .av-cw-nowrap{white-space:nowrap;}
body.appvik-ai .av-hero-h1 .elementor-heading-title{font-size:clamp(40px,6vw,64px);line-height:1.04;letter-spacing:-.028em;}
/* Wordmark rendered as a native heading */
body.appvik-ai .av-wordmark .elementor-heading-title{font-family:var(--font-wordmark);font-weight:800;letter-spacing:-.025em;line-height:1;display:inline-flex;}
body.appvik-ai .av-wordmark .a{color:var(--brand-peach);}
body.appvik-ai .av-wordmark .p1{color:var(--brand-yellow);}
body.appvik-ai .av-wordmark .p2{color:var(--brand-mint);}
body.appvik-ai .av-wordmark .vik{color:var(--brand-blue);}
body.appvik-ai .av-wordmark .dotai{color:var(--brand-mint);font-family:var(--font-mono);font-weight:500;}
/* Giant page-ending wordmark as native heading */
body.appvik-ai .av-footmark .elementor-heading-title{font-family:var(--font-wordmark);font-weight:800;letter-spacing:-.04em;line-height:.82;font-size:clamp(72px,20vw,320px);display:block;text-align:center;}
body.appvik-ai .av-footmark .a{color:var(--brand-peach);}
body.appvik-ai .av-footmark .p1{color:var(--brand-yellow);}
body.appvik-ai .av-footmark .p2{color:var(--brand-mint);}
body.appvik-ai .av-footmark .vik{color:var(--brand-blue);}
/* Footer native column links via icon-list */
body.appvik-ai .av-footlinks .elementor-icon-list-item a{font-size:14px;color:var(--secondary);}
body.appvik-ai .av-footlinks .elementor-icon-list-item a:hover{color:var(--brand-mint);}
body.appvik-ai .av-footlinks .elementor-icon-list-text{font-size:14px;color:var(--secondary);}

/* Container layout helpers for native build */
body.appvik-ai .av-hero-left{display:flex !important;flex-direction:column;gap:24px;max-width:640px;align-items:flex-start;}
body.appvik-ai .av-intro{display:flex !important;flex-direction:column;gap:14px;max-width:760px;}
body.appvik-ai .av-rowc{display:flex !important;flex-direction:row !important;align-items:center;gap:10px;}
body.appvik-ai .av-systems-head{display:flex !important;flex-direction:row !important;align-items:flex-end;justify-content:space-between;gap:24px;flex-wrap:wrap;}
body.appvik-ai .av-navlinks{display:flex !important;flex-direction:row !important;align-items:center;gap:2px;}
body.appvik-ai .av-nav-right{display:flex !important;flex-direction:row !important;align-items:center;gap:10px;}
body.appvik-ai .av-why-muted{padding:26px;border-radius:var(--radius-xl);background:var(--subtle);border:1px solid var(--border);}
body.appvik-ai .av-why-brand{padding:26px;border-radius:var(--radius-xl);background:var(--bg);border:1.5px solid var(--brand-blue);box-shadow:var(--shadow-2);}
body.appvik-ai[data-theme="night"] .av-why-brand{background:var(--surface);}
body.appvik-ai .av-faq-q{flex-direction:row !important;}
body.appvik-ai .av-ind-head{flex-direction:row !important;}
/* styled list inside text-editor */
body.appvik-ai .av-ul{list-style:none;margin:0;padding:0;}
body.appvik-ai .av-ul li{position:relative;padding-left:18px;margin-bottom:8px;font-size:14.5px;color:var(--secondary);line-height:1.5;}
body.appvik-ai .av-ul li::before{content:"";position:absolute;left:0;top:9px;width:5px;height:5px;border-radius:999px;background:var(--brand-mint);}
/* footer columns + bottom bar (native) */
body.appvik-ai .av-footgrid-n{display:grid !important;grid-template-columns:1.7fr 1fr 1.05fr 1fr 1.05fr 1.1fr;gap:36px;}
@media(max-width:1080px){body.appvik-ai .av-footgrid-n{grid-template-columns:1.4fr 1fr 1fr;row-gap:40px;}}
@media(max-width:600px){body.appvik-ai .av-footgrid-n{grid-template-columns:1fr 1fr;}}
body.appvik-ai .av-footlinks p{margin:0;}
body.appvik-ai .av-footlinks a{display:block;font-size:14px;color:var(--secondary);line-height:2;text-decoration:none;}
body.appvik-ai .av-footlinks a:hover{color:var(--brand-mint);}
body.appvik-ai .av-footbar-n{display:flex !important;flex-direction:row !important;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;border-top:1px solid var(--border);padding-top:24px;margin-top:8px;}
body.appvik-ai .av-contactgrid{display:grid !important;grid-template-columns:.9fr 1.1fr;gap:48px;align-items:start;}
@media(max-width:860px){body.appvik-ai .av-contactgrid{grid-template-columns:1fr;gap:32px;}}

/* === Fixes for native Elementor build === */
/* Heading/text colors must beat the Elementor kit defaults */
body.appvik-ai .elementor-heading-title{color:var(--fg1);}
body.appvik-ai .elementor-widget-text-editor{color:var(--fg2);}
body.appvik-ai .elementor-widget-text-editor a{color:var(--brand-mint);}
/* Header must be a horizontal bar */
body.appvik-ai .av-nav{height:auto;min-height:80px;flex-direction:row !important;}
body.appvik-ai .av-nav>.e-con-inner,body.appvik-ai .av-nav .wrap{display:flex !important;flex-direction:row !important;align-items:center;justify-content:space-between;gap:24px;width:100%;}
body.appvik-ai .av-nav .av-navlinks{flex-direction:row !important;width:auto;}
body.appvik-ai .av-nav .av-nav-right{flex-direction:row !important;width:auto;}
body.appvik-ai .av-nav .av-navlinks .elementor-widget,body.appvik-ai .av-nav .av-nav-right .elementor-widget{width:auto;}
body.appvik-ai .av-nav .elementor-widget-button .elementor-button-wrapper{display:inline-flex;}
/* keep CTA button in header compact (not full width) */
body.appvik-ai .av-nav-right .elementor-widget-button{width:auto;}

/* === Elementor places flex children in .e-con-inner: target it for all layouts === */
body.appvik-ai .av-grid-auto>.e-con-inner{display:grid !important;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:20px;}
body.appvik-ai .av-grid-3>.e-con-inner{display:grid !important;grid-template-columns:repeat(3,1fr);gap:20px;}
body.appvik-ai .av-grid-2>.e-con-inner{display:grid !important;grid-template-columns:1fr 1fr;gap:18px;align-items:stretch;}
body.appvik-ai .av-ind-grid>.e-con-inner{display:grid !important;grid-template-columns:repeat(auto-fit,minmax(360px,1fr));gap:20px;align-items:start;}
body.appvik-ai .av-do-grid>.e-con-inner{display:grid !important;grid-template-columns:1fr 1fr;gap:1px;}
body.appvik-ai .av-footgrid-n>.e-con-inner{display:grid !important;grid-template-columns:1.7fr 1fr 1.05fr 1fr 1.05fr 1.1fr;gap:36px;}
body.appvik-ai .av-contactgrid>.e-con-inner{display:grid !important;grid-template-columns:.9fr 1.1fr;gap:48px;align-items:start;}
body.appvik-ai .av-hero-grid>.e-con-inner{display:grid !important;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:56px;align-items:center;}
/* row flex layouts */
body.appvik-ai .av-nav .wrap>.e-con-inner{display:flex !important;flex-direction:row !important;align-items:center;justify-content:space-between;gap:24px;width:100%;}
body.appvik-ai .av-navlinks>.e-con-inner{display:flex !important;flex-direction:row !important;align-items:center;gap:2px;}
body.appvik-ai .av-nav-right>.e-con-inner{display:flex !important;flex-direction:row !important;align-items:center;gap:10px;}
body.appvik-ai .av-actions>.e-con-inner{display:flex !important;flex-direction:row !important;gap:12px;flex-wrap:wrap;}
body.appvik-ai .av-rowc>.e-con-inner{display:flex !important;flex-direction:row !important;align-items:center;gap:10px;}
body.appvik-ai .av-systems-head>.e-con-inner{display:flex !important;flex-direction:row !important;align-items:flex-end;justify-content:space-between;gap:24px;flex-wrap:wrap;}
body.appvik-ai .av-footbar-n>.e-con-inner{display:flex !important;flex-direction:row !important;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;}
body.appvik-ai .av-faq-q>.e-con-inner{display:flex !important;flex-direction:row !important;align-items:flex-start;gap:16px;}
body.appvik-ai .av-ind-head>.e-con-inner{display:flex !important;flex-direction:row !important;align-items:flex-start;gap:14px;}
/* tighter column gaps */
body.appvik-ai .av-hero-left>.e-con-inner{gap:24px;align-items:flex-start;}
body.appvik-ai .av-intro>.e-con-inner{gap:14px;}
body.appvik-ai .av-faq-q .elementor-widget,body.appvik-ai .av-ind-head>.e-con-inner>.e-con:first-child{flex:1;}
/* responsive */
@media(max-width:900px){body.appvik-ai .av-grid-3>.e-con-inner{grid-template-columns:1fr 1fr;}body.appvik-ai .av-hero-grid>.e-con-inner{grid-template-columns:1fr;gap:36px;}}
@media(max-width:1080px){body.appvik-ai .av-footgrid-n>.e-con-inner{grid-template-columns:1.4fr 1fr 1fr;row-gap:40px;}}
@media(max-width:860px){body.appvik-ai .av-contactgrid>.e-con-inner{grid-template-columns:1fr;gap:32px;}}
@media(max-width:820px){body.appvik-ai .av-ind-grid>.e-con-inner{grid-template-columns:1fr;}}
@media(max-width:680px){body.appvik-ai .av-grid-auto>.e-con-inner,body.appvik-ai .av-grid-3>.e-con-inner,body.appvik-ai .av-grid-2>.e-con-inner,body.appvik-ai .av-do-grid>.e-con-inner{grid-template-columns:1fr;}}
@media(max-width:600px){body.appvik-ai .av-footgrid-n>.e-con-inner{grid-template-columns:1fr 1fr;}}

/* buttons in flex rows must not stretch full width */
body.appvik-ai .av-actions .elementor-widget-button,body.appvik-ai .av-nav .elementor-widget-button,body.appvik-ai .av-actions .elementor-widget{width:auto !important;}
body.appvik-ai .av-actions>.e-con-inner{align-items:center;}

/* Elementor .e-con-inner is a flex item that shrinks to content; force it to fill for our layout containers */
body.appvik-ai .av-grid-auto>.e-con-inner,
body.appvik-ai .av-grid-3>.e-con-inner,
body.appvik-ai .av-grid-2>.e-con-inner,
body.appvik-ai .av-ind-grid>.e-con-inner,
body.appvik-ai .av-do-grid>.e-con-inner,
body.appvik-ai .av-footgrid-n>.e-con-inner,
body.appvik-ai .av-contactgrid>.e-con-inner,
body.appvik-ai .av-hero-grid>.e-con-inner,
body.appvik-ai .av-systems-head>.e-con-inner,
body.appvik-ai .av-footbar-n>.e-con-inner,
body.appvik-ai .av-actions>.e-con-inner,
body.appvik-ai .av-faq-q>.e-con-inner,
body.appvik-ai .av-ind-head>.e-con-inner{width:100%;}
/* card number must not wrap */
body.appvik-ai .av-rowc>.e-con-inner{width:auto;}
body.appvik-ai .av-rowc .elementor-widget-html{width:auto;flex:0 0 auto;}
body.appvik-ai .av-rowc .mono{white-space:nowrap;}
body.appvik-ai .av-rowc .elementor-widget-heading{flex:1;}
/* faq question text block grows, icon stays */
body.appvik-ai .av-faq-q>.e-con-inner>.e-con{flex:1;}
body.appvik-ai .av-faq-q>.e-con-inner>.elementor-widget-html{flex:0 0 auto;width:auto;}
body.appvik-ai .av-ind-head>.e-con-inner>.e-con{flex:1;}
body.appvik-ai .av-ind-head>.e-con-inner>.elementor-widget-html{flex:0 0 auto;width:auto;}
/* CTA actions centered */
body.appvik-ai .av-cta .av-actions>.e-con-inner{justify-content:center;}

/* Force layout container inners to fill (override Elementor boxed centering/flex shrink) */
body.appvik-ai .av-grid-auto>.e-con-inner,
body.appvik-ai .av-grid-3>.e-con-inner,
body.appvik-ai .av-grid-2>.e-con-inner,
body.appvik-ai .av-ind-grid>.e-con-inner,
body.appvik-ai .av-do-grid>.e-con-inner,
body.appvik-ai .av-footgrid-n>.e-con-inner,
body.appvik-ai .av-contactgrid>.e-con-inner,
body.appvik-ai .av-hero-grid>.e-con-inner,
body.appvik-ai .av-systems-head>.e-con-inner,
body.appvik-ai .av-footbar-n>.e-con-inner,
body.appvik-ai .av-nav .wrap>.e-con-inner,
body.appvik-ai .av-footinner>.e-con-inner{width:100% !important;max-width:100% !important;margin-inline:0 !important;flex-basis:100% !important;}

/* ===== MASTER container-width model (overrides Elementor flex-shrink/boxed) ===== */
/* .av-wrap / .wrap = centered 1200 max; everything else fills its parent */
body.appvik-ai .av-wrap>.e-con-inner,
body.appvik-ai .wrap>.e-con-inner{width:100% !important;max-width:1200px !important;margin-inline:auto !important;}
body.appvik-ai .e-con:not(.av-wrap):not(.wrap)>.e-con-inner{width:100% !important;max-width:100% !important;margin-inline:0 !important;}
/* keep the inline number row content-sized */
body.appvik-ai .av-rowc>.e-con-inner{justify-content:flex-start;}

/* ===== make column container children stretch to full width ===== */
body.appvik-ai .e-con>.e-con-inner{align-items:stretch !important;}
/* re-assert ROW containers (must come after the global stretch) */
body.appvik-ai .av-actions>.e-con-inner{flex-direction:row !important;align-items:center !important;justify-content:flex-start;flex-wrap:wrap;}
body.appvik-ai .av-cta .av-actions>.e-con-inner{justify-content:center !important;}
body.appvik-ai .av-rowc>.e-con-inner{flex-direction:row !important;align-items:center !important;justify-content:flex-start;}
body.appvik-ai .av-faq-q>.e-con-inner{flex-direction:row !important;align-items:flex-start !important;}
body.appvik-ai .av-ind-head>.e-con-inner{flex-direction:row !important;align-items:flex-start !important;}
body.appvik-ai .av-systems-head>.e-con-inner{flex-direction:row !important;align-items:flex-end !important;justify-content:space-between;flex-wrap:wrap;}
body.appvik-ai .av-footbar-n>.e-con-inner{flex-direction:row !important;align-items:center !important;justify-content:space-between;flex-wrap:wrap;}
body.appvik-ai .av-nav .wrap>.e-con-inner{flex-direction:row !important;align-items:center !important;justify-content:space-between;}
body.appvik-ai .av-navlinks>.e-con-inner{flex-direction:row !important;align-items:center !important;}
body.appvik-ai .av-nav-right>.e-con-inner{flex-direction:row !important;align-items:center !important;}

/* ===== FIX double-grid: outer containers stay flex column; grid/row lives on .e-con-inner ===== */
body.appvik-ai .av-grid-auto,
body.appvik-ai .av-grid-3,
body.appvik-ai .av-grid-2,
body.appvik-ai .av-ind-grid,
body.appvik-ai .av-do-grid,
body.appvik-ai .av-footgrid-n,
body.appvik-ai .av-contactgrid,
body.appvik-ai .av-hero-grid,
body.appvik-ai .av-systems-head,
body.appvik-ai .av-actions,
body.appvik-ai .av-footbar-n,
body.appvik-ai .av-rowc,
body.appvik-ai .av-faq-q,
body.appvik-ai .av-ind-head,
body.appvik-ai .av-navlinks,
body.appvik-ai .av-nav-right,
body.appvik-ai .av-chiprow{display:flex !important;flex-direction:column !important;align-items:stretch !important;}

/* chip row is a plain html-widget div: keep it a horizontal wrap */
body.appvik-ai .av-chiprow{display:flex !important;flex-direction:row !important;flex-wrap:wrap !important;align-items:center !important;gap:8px;}

/* Spline 3D robot (hero treatment A) on light background */
body.appvik-ai spline-viewer,body.appvik-ai .av-robot{display:block;position:absolute;inset:0;width:100%;height:100%;z-index:2;background:transparent;}
body.appvik-ai .av-robot::part(logo){display:none;}

/* Spline 3D robot (hero treatment A) - light, fills the stage */
body.appvik-ai spline-viewer,body.appvik-ai .av-robot{display:block;position:absolute;inset:0;width:100%;height:100%;z-index:2;background:transparent;}
body.appvik-ai .av-hero-stage spline-viewer{border-radius:16px;}

/* Lighten the Spline hero robot (filter the baked-dark scene) */
body.appvik-ai .av-hero spline-viewer,body.appvik-ai .av-robot{filter:brightness(2.0) contrast(0.86) saturate(0.92);}

/* ============================================================================
   IMPECCABLE POLISH PASS
   ========================================================================== */
/* FAQ: kill the inflated default container gaps -> compact question rows */
body.appvik-ai .av-faq>.e-con-inner{gap:0 !important;}
body.appvik-ai .av-faq-q{padding-top:18px !important;padding-bottom:18px !important;}
body.appvik-ai .av-faq-q .e-con>.e-con-inner{gap:4px !important;}
body.appvik-ai .av-faq-icon{margin-top:2px;}

/* Industries: closed cards should hug content, not stretch/inflate */
body.appvik-ai .av-ind-grid>.e-con-inner{align-items:start !important;}
body.appvik-ai .av-ind>.e-con-inner{gap:0 !important;}
body.appvik-ai .av-ind-head>.e-con-inner>.e-con>.e-con-inner{gap:6px !important;}

/* Service cards: tighten the over-loose internal stack a touch */
body.appvik-ai .av-svc>.e-con-inner{gap:12px !important;}
body.appvik-ai .av-rowc>.e-con-inner{gap:10px !important;}

/* Accessibility: visible keyboard focus rings (Elementor strips these) */
body.appvik-ai a:focus-visible,
body.appvik-ai button:focus-visible,
body.appvik-ai .elementor-button:focus-visible,
body.appvik-ai .av-chip:focus-visible,
body.appvik-ai input:focus-visible,
body.appvik-ai textarea:focus-visible,
body.appvik-ai select:focus-visible{outline:2px solid var(--brand-blue);outline-offset:2px;border-radius:5px;}
body.appvik-ai .av-faq-q:focus-visible,body.appvik-ai .av-ind-head:focus-visible,body.appvik-ai .av-svc:focus-visible{outline:2px solid var(--brand-mint);outline-offset:-2px;}

/* ============================================================================
   WORLD-CLASS ELEVATION (design-taste-frontend) - visual only, copy preserved
   Lever order: typography -> rhythm -> premium detail/motion. Mint accent locked.
   ========================================================================== */

/* --- 1. Typography: more confident, crafted display type --- */
body.appvik-ai .elementor-heading-title{text-wrap:balance;}
body.appvik-ai h1,body.appvik-ai .display,body.appvik-ai .av-hero-h1 .elementor-heading-title{letter-spacing:-0.035em;line-height:1.03;}
body.appvik-ai h2,body.appvik-ai .h2{letter-spacing:-0.025em;line-height:1.08;}
body.appvik-ai h3{letter-spacing:-0.015em;}
/* body: optimal measure + relaxed leading for premium readability */
body.appvik-ai .av-lead .elementor-widget-container{max-width:38rem;line-height:1.62;}
body.appvik-ai .av-intro .elementor-widget-text-editor .elementor-widget-container{max-width:60ch;}
/* refined eyebrow + section labels (tighter, more deliberate) */
body.appvik-ai .av-eyebrow .elementor-heading-title{font-size:11.5px;letter-spacing:0.16em;font-weight:600;}
body.appvik-ai .av-label .elementor-heading-title{letter-spacing:0.12em;}
body.appvik-ai .eyebrow-badge{box-shadow:0 1px 2px rgba(17,17,16,.05);letter-spacing:.06em;}

/* --- 2. Softer, tinted elevation tokens (no harsh black shadows) --- */
body.appvik-ai{--shadow-1:0 1px 2px rgba(17,17,16,.04);--shadow-2:0 8px 24px -10px rgba(17,17,16,.12),0 2px 6px -3px rgba(17,17,16,.06);--shadow-3:0 28px 64px -20px rgba(17,17,16,.18),0 8px 18px -10px rgba(17,17,16,.10);}

/* --- 3. Premium micro-interactions (motivated: feedback + hierarchy) --- */
body.appvik-ai .card,body.appvik-ai .av-svc,body.appvik-ai .av-ind,body.appvik-ai .av-why-brand,body.appvik-ai .av-why-muted{transition:transform .4s cubic-bezier(.16,1,.3,1),box-shadow .4s cubic-bezier(.16,1,.3,1),border-color .25s ease;}
body.appvik-ai .av-svc:hover{transform:translateY(-4px);box-shadow:var(--shadow-3) !important;border-color:color-mix(in srgb,var(--brand-mint) 60%,var(--border)) !important;}
body.appvik-ai .av-ind:hover{border-color:color-mix(in srgb,var(--brand-mint) 45%,var(--border));box-shadow:var(--shadow-2);}
body.appvik-ai .av-chip{transition:transform .2s cubic-bezier(.16,1,.3,1),background-color .2s,border-color .2s,color .2s;}
body.appvik-ai .av-chip:hover{transform:translateY(-1px);}
/* buttons: tactile press + brand-tinted glow on the primary CTA */
body.appvik-ai .av-btn .elementor-button{transition:transform .18s cubic-bezier(.16,1,.3,1),box-shadow .28s var(--ease-out),filter .15s;}
body.appvik-ai .av-btn-primary .elementor-button{box-shadow:0 1px 2px rgba(37,99,235,.22),0 10px 24px -10px rgba(37,99,235,.45);}
body.appvik-ai .av-btn-primary .elementor-button:hover{transform:translateY(-1px);box-shadow:0 2px 4px rgba(37,99,235,.28),0 16px 30px -10px rgba(37,99,235,.55);}
body.appvik-ai .av-btn .elementor-button:active{transform:translateY(0) scale(.98);}
body.appvik-ai .av-nav-link .elementor-button{transition:color .2s ease;}
@media (prefers-reduced-motion:reduce){body.appvik-ai .card,body.appvik-ai .av-svc,body.appvik-ai .av-ind,body.appvik-ai .av-btn .elementor-button,body.appvik-ai .av-chip{transition:none !important;}body.appvik-ai .av-svc:hover{transform:none;}}

/* --- 4. Restraint: per-section gradient meshes as premium depth, not loud blobs --- */
body.appvik-ai .mesh.hero{opacity:.78;}
body.appvik-ai .mesh.cta{opacity:.6;}
body.appvik-ai .mesh.services,body.appvik-ai .mesh.pillars,body.appvik-ai .mesh.why{opacity:.62;}

/* --- 5. Hero robot: soft grounding glow (premium product-shot framing) --- */
body.appvik-ai .av-hero-stage::after{content:"";position:absolute;left:50%;bottom:4%;width:58%;height:34px;transform:translateX(-50%);background:radial-gradient(ellipse at center,color-mix(in srgb,var(--brand-mint) 26%,transparent) 0%,transparent 72%);filter:blur(8px);pointer-events:none;z-index:0;}

/* --- 6. Crisper hairlines (tinted, not muddy) --- */
body.appvik-ai .av-faq{border-top-color:color-mix(in srgb,var(--border) 88%,var(--ink));}

/* === Six Systems 3D motif (6 nodes = 6 systems), contained in the header's right space === */
body.appvik-ai .av-systems{position:relative;}
body.appvik-ai .av-sys3d{position:absolute;top:56px;right:20px;width:clamp(300px,28vw,420px);height:220px;z-index:0;pointer-events:none;opacity:0;transform:translateY(10px);transition:opacity .8s var(--ease-out),transform .8s var(--ease-out);}
body.appvik-ai .av-sys3d.av-in{opacity:.96;transform:none;}
@media(max-width:1080px){body.appvik-ai .av-sys3d{display:none !important;}}

/* emilkowalski motion language: control feedback should feel quick + useful, one easing */
body.appvik-ai .card,body.appvik-ai .av-svc,body.appvik-ai .av-ind{transition:transform .26s cubic-bezier(.16,1,.3,1),box-shadow .26s cubic-bezier(.16,1,.3,1),border-color .2s ease;}

/* ============================================================================
   UI-TYPOGRAPHY (Butterick) refinements - Poppins main / Inter body / JetBrains mono
   ========================================================================== */
/* Kerning + common ligatures ON everywhere; keep Inter single-storey a (cv01) */
body.appvik-ai{font-feature-settings:"kern" 1,"liga" 1,"cv01" 1;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;}
body.appvik-ai h1,body.appvik-ai h2,body.appvik-ai h3,body.appvik-ai h4,body.appvik-ai .elementor-heading-title{font-feature-settings:"kern" 1,"liga" 1;}
/* Line-height into Butterick's range (fix the one over-loose lead) */
body.appvik-ai .av-lead .elementor-widget-container{line-height:1.55;}
/* ALL-CAPS labels: letterspacing within 5-12% (was a touch high) + kerning */
body.appvik-ai .av-eyebrow .elementor-heading-title{letter-spacing:0.12em;}
body.appvik-ai .av-label .elementor-heading-title,body.appvik-ai .label,body.appvik-ai .eyebrow{letter-spacing:0.09em;}
/* Tabular, lining figures for numerals (counters, card numbers, mono data) */
body.appvik-ai .av-count,body.appvik-ai .mono,body.appvik-ai .av-footbar-n .mono{font-variant-numeric:tabular-nums lining-nums;font-feature-settings:"tnum" 1,"kern" 1;}

/* ============================================================================
   BATCH A: header/mobile, hero badge, problem glass card, FAQ cards, industries 2-col
   ========================================================================== */
/* --- Header: more prominent --- */
body.appvik-ai .av-nav{background:color-mix(in srgb,var(--bg) 86%,transparent);transition:background .3s ease,box-shadow .3s ease,border-color .25s ease;}
body.appvik-ai .av-nav.scrolled{background:color-mix(in srgb,var(--bg) 95%,transparent);box-shadow:0 1px 0 var(--border),0 10px 30px -22px rgba(17,17,16,.45);}
/* --- Mobile header: centered logo + burger only --- */
@media(max-width:860px){
  body.appvik-ai .av-nav .wrap>.e-con-inner{justify-content:center !important;position:relative;}
  body.appvik-ai .av-nav>.e-con-inner>a,body.appvik-ai .av-nav .wrap a[href="/"]{margin-inline:auto;}
  body.appvik-ai .av-nav .av-nav-right{position:absolute;right:0;top:0;bottom:0;display:flex;align-items:center;width:auto;}
  body.appvik-ai .av-nav .av-nav-right .elementor-widget-button{display:none !important;}
  body.appvik-ai .av-nav [data-theme-toggle]{display:none !important;}
  body.appvik-ai .av-burger{display:flex !important;}
  body.appvik-ai .av-mobile a{font-family:var(--font-display);font-weight:600;}
}
/* --- Hero eyebrow badge: wrap nicely on small screens --- */
@media(max-width:620px){
  body.appvik-ai .eyebrow-badge{white-space:normal;line-height:1.5;border-radius:14px;padding:8px 14px;align-items:flex-start;}
  body.appvik-ai .eyebrow-badge .dot{margin-top:6px;}
}

/* --- Problem bar -> centered glassy gradient card --- */
body.appvik-ai .av-problem{background-color:transparent !important;border:0 !important;}
body.appvik-ai .av-problem .av-intro{max-width:880px !important;margin-inline:auto;align-items:center;text-align:center;padding:clamp(36px,5vw,64px);border-radius:26px;position:relative;overflow:hidden;background:radial-gradient(130% 150% at 50% -10%,color-mix(in srgb,var(--brand-mint) 12%,transparent) 0%,transparent 55%),color-mix(in srgb,var(--bg) 72%,var(--surface));backdrop-filter:blur(6px);box-shadow:var(--shadow-3);}
body.appvik-ai .av-problem .av-intro::before{content:"";position:absolute;inset:0;border-radius:inherit;padding:1.5px;background:linear-gradient(135deg,color-mix(in srgb,var(--brand-mint) 65%,transparent),transparent 38%,color-mix(in srgb,var(--brand-blue) 38%,transparent));-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none;}
body.appvik-ai .av-problem .av-intro>*{position:relative;z-index:1;}
body.appvik-ai .av-problem .av-intro .elementor-widget-text-editor:last-of-type .elementor-widget-container{font-size:20px !important;color:var(--ink) !important;font-weight:600;}

/* --- FAQ: real cards that breathe + circular expand symbol --- */
body.appvik-ai .av-faq{border:1px solid var(--border) !important;border-radius:16px;background:var(--bg);padding:2px 24px;transition:border-color .25s,box-shadow .25s,background .25s;}
body.appvik-ai .av-faq.av-faq-last{border-bottom:1px solid var(--border) !important;}
body.appvik-ai .av-faq:hover{border-color:color-mix(in srgb,var(--brand-mint) 45%,var(--border));box-shadow:var(--shadow-2);}
body.appvik-ai .av-faq.av-open{border-color:color-mix(in srgb,var(--brand-mint) 55%,var(--border));background:linear-gradient(180deg,color-mix(in srgb,var(--brand-mint) 6%,var(--bg)),var(--bg));box-shadow:var(--shadow-2);}
body.appvik-ai .av-faq-icon{width:30px;height:30px;border-radius:999px;display:flex;align-items:center;justify-content:center;background:color-mix(in srgb,var(--brand-mint) 13%,transparent);color:var(--brand-mint);font-size:19px;line-height:1;flex:0 0 auto;transition:background .25s,color .25s,transform .25s var(--ease-out);}
body.appvik-ai .av-faq.av-open .av-faq-icon{background:var(--brand-mint);color:#08251a;}

/* --- Industries: 2 columns, first two open by default --- */
body.appvik-ai .av-ind-grid>.e-con-inner{grid-template-columns:1fr 1fr !important;align-items:start !important;}
@media(max-width:820px){body.appvik-ai .av-ind-grid>.e-con-inner{grid-template-columns:1fr !important;}}

/* ============================================================================
   BATCH B: systems liveliness + icons, how/why, CTA globe, footer rocket
   ========================================================================== */
@keyframes avFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-4px)}}

/* --- Systems: animated topic icon + accent boundary + connected feel --- */
body.appvik-ai .av-svc-ico{width:46px;height:46px;border-radius:13px;display:flex;align-items:center;justify-content:center;color:var(--brand-mint);margin-bottom:6px;background:linear-gradient(140deg,color-mix(in srgb,var(--brand-mint) 20%,transparent),color-mix(in srgb,var(--brand-mint) 6%,transparent));border:1px solid color-mix(in srgb,var(--brand-mint) 32%,var(--border));box-shadow:inset 0 1px 0 rgba(255,255,255,.4);animation:avFloat 5s ease-in-out infinite;}
body.appvik-ai .av-svc-ico svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;}
@media(prefers-reduced-motion:reduce){body.appvik-ai .av-svc-ico{animation:none;}}
body.appvik-ai .av-svc{border:1px solid color-mix(in srgb,var(--brand-mint) 22%,var(--border)) !important;position:relative;overflow:hidden;}
body.appvik-ai .av-svc::before{content:"";position:absolute;left:0;top:0;height:3px;width:100%;background:var(--grad-bar);opacity:.55;transition:opacity .3s var(--ease-out);}
body.appvik-ai .av-svc:hover::before{opacity:1;}
body.appvik-ai .av-svc:nth-child(odd) .av-svc-ico{animation-delay:.6s;}

/* --- How we work: lively do/don't grid --- */
body.appvik-ai .av-do-grid{border:1px solid var(--border) !important;border-radius:20px;box-shadow:var(--shadow-2);}
body.appvik-ai .av-do-cell{transition:background .25s ease;}
body.appvik-ai .av-do-grid>.e-con-inner>*:nth-child(odd){box-shadow:inset 3px 0 0 color-mix(in srgb,var(--brand-mint) 55%,transparent);}
body.appvik-ai .av-do-grid>.e-con-inner>*:nth-child(odd):hover{background:color-mix(in srgb,var(--brand-mint) 6%,var(--bg));}
body.appvik-ai .av-do-grid>.e-con-inner>*:nth-child(even):hover{background:color-mix(in srgb,var(--muted) 7%,var(--bg));}

/* --- Why: livelier contrast cards --- */
body.appvik-ai .av-why-brand{background:linear-gradient(140deg,color-mix(in srgb,var(--brand-mint) 8%,var(--bg)),var(--bg)) !important;border-color:color-mix(in srgb,var(--brand-mint) 55%,var(--border)) !important;box-shadow:var(--shadow-2);transition:transform .32s var(--ease-out),box-shadow .32s var(--ease-out);}
body.appvik-ai .av-why-brand:hover{transform:translateY(-3px);box-shadow:var(--shadow-3);}
body.appvik-ai .av-why-muted{opacity:.82;transition:opacity .3s ease;}
body.appvik-ai .av-why:hover .av-why-muted{opacity:1;}

/* --- CTA: Three.js particle globe behind content --- */
body.appvik-ai .av-cta-globe{position:absolute;inset:0;z-index:1;pointer-events:none;opacity:0;transition:opacity 1.1s var(--ease-out);}
body.appvik-ai .av-cta-globe.av-in{opacity:1;}
body.appvik-ai .av-cta .av-wrap{z-index:2 !important;}
body.appvik-ai .mesh.cta{opacity:.42;}

/* --- Footer: rocket canvas + readability --- */
body.appvik-ai .av-footmap{opacity:.34 !important;}
body.appvik-ai[data-theme="night"] .av-footmap{opacity:.28 !important;}
body.appvik-ai .av-rocket{position:absolute;z-index:1;pointer-events:none;}
body.appvik-ai .av-footinner{position:relative;z-index:3;}
body.appvik-ai .av-footlinks a,body.appvik-ai .av-footcol a{color:var(--secondary) !important;}
body.appvik-ai .av-footcol .label{color:var(--ink) !important;opacity:1;}
body.appvik-ai .av-footmark{z-index:2;}

/* ============================================================================
   BATCH C: spacing, premium headers, multicolor card highlights, icons-right,
            all-card hover, footer link hover, bigger sticky logo
   ========================================================================== */
/* --- 1. More breathing room for How / Why / FAQ --- */
body.appvik-ai .av-how,body.appvik-ai .av-why,body.appvik-ai .av-faq-sec{padding-top:112px !important;padding-bottom:112px !important;}
@media(min-width:1180px){body.appvik-ai .av-how>.e-con-inner>.av-wrap,body.appvik-ai .av-why>.e-con-inner>.av-wrap,body.appvik-ai .av-faq-sec>.e-con-inner>.av-wrap{padding-left:40px;padding-right:40px;}}
body.appvik-ai .av-do-cell{padding:28px !important;}
body.appvik-ai .av-why-brand,body.appvik-ai .av-why-muted{padding:30px !important;}
body.appvik-ai .av-faq{padding:6px 30px !important;}
body.appvik-ai .av-faq-sec dl{margin-top:6px;}

/* --- 2. Premium 4-color gradient bar above every section header --- */
body.appvik-ai .av-secbar{width:48px;height:4px;border-radius:999px;background:var(--grad-bar);margin-bottom:18px;box-shadow:0 1px 6px -1px color-mix(in srgb,var(--brand-mint) 40%,transparent);}
body.appvik-ai .av-problem .av-secbar,body.appvik-ai .av-cta .av-secbar{margin-left:auto;margin-right:auto;}
body.appvik-ai .av-eyebrow .elementor-heading-title{font-weight:600;}

/* --- 3. Multicolor gradient highlight on every section's card --- */
body.appvik-ai .av-ind,body.appvik-ai .av-faq,body.appvik-ai .av-why-brand{position:relative;overflow:hidden;}
body.appvik-ai .av-ind::before,body.appvik-ai .av-faq::before,body.appvik-ai .av-why-brand::before{content:"";position:absolute;left:0;top:0;height:3px;width:100%;background:var(--grad-bar);opacity:.55;transition:opacity .3s var(--ease-out);z-index:3;}
body.appvik-ai .av-ind:hover::before,body.appvik-ai .av-faq:hover::before,body.appvik-ai .av-why:hover .av-why-brand::before{opacity:1;}

/* --- 4. Topic icons on the RIGHT of card headers --- */
body.appvik-ai .av-rowc>.e-con-inner{align-items:flex-start;}
body.appvik-ai .av-rowc .av-svc-ico{margin-left:auto;margin-bottom:0;flex:0 0 auto;width:44px;height:44px;}
body.appvik-ai .av-ind-ico{width:42px;height:42px;border-radius:12px;display:flex;align-items:center;justify-content:center;color:var(--brand-mint);background:linear-gradient(140deg,color-mix(in srgb,var(--brand-mint) 18%,transparent),color-mix(in srgb,var(--brand-mint) 5%,transparent));border:1px solid color-mix(in srgb,var(--brand-mint) 28%,var(--border));box-shadow:inset 0 1px 0 rgba(255,255,255,.4);flex:0 0 auto;margin-left:auto;margin-right:12px;animation:avFloat 5.5s ease-in-out infinite;}
body.appvik-ai .av-ind-ico svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;}
@media(prefers-reduced-motion:reduce){body.appvik-ai .av-ind-ico{animation:none;}}

/* --- 5. Every card hover-animated --- */
body.appvik-ai .av-ind{transition:transform .28s var(--ease-out),box-shadow .28s var(--ease-out),border-color .2s ease;}
body.appvik-ai .av-ind:hover{transform:translateY(-3px);box-shadow:var(--shadow-3);border-color:color-mix(in srgb,var(--brand-mint) 50%,var(--border));}
body.appvik-ai .av-faq{transition:transform .25s var(--ease-out),border-color .25s,box-shadow .25s,background .25s;}
body.appvik-ai .av-faq:hover{transform:translateY(-2px);}
body.appvik-ai .av-contact-card{transition:transform .3s var(--ease-out),box-shadow .3s var(--ease-out);}
body.appvik-ai .av-contact-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-3);}

/* --- 6. Footer links: animated hover pop + underline --- */
body.appvik-ai .av-footlinks a{display:block;position:relative;width:fit-content;transition:transform .22s var(--ease-out),color .2s ease;}
body.appvik-ai .av-footlinks a::after{content:"";position:absolute;left:0;bottom:1px;width:0;height:1.5px;border-radius:2px;background:var(--brand-mint);transition:width .26s var(--ease-out);}
body.appvik-ai .av-footlinks a:hover{transform:translateX(5px);color:var(--brand-mint) !important;}
body.appvik-ai .av-footlinks a:hover::after{width:calc(100% - 5px);}
body.appvik-ai .av-footbar-n a{transition:transform .2s var(--ease-out),color .2s;display:inline-block;}
body.appvik-ai .av-footbar-n a:hover{transform:translateY(-1px);color:var(--ink) !important;}
body.appvik-ai .av-social a{transition:transform .22s var(--ease-out),color .2s,border-color .2s;}
body.appvik-ai .av-social a:hover{transform:translateY(-3px);}

/* --- 7. Header: sticky + bigger logo --- */
body.appvik-ai .av-nav{position:sticky;top:0;}
body.appvik-ai .av-nav .av-wordmark .elementor-heading-title{font-size:30px;}
body.appvik-ai .av-nav .av-wordmark .dotai{font-size:14px;}

/* Fix: systems card header row must fill the card so the title wraps + icon stays inside */
body.appvik-ai .av-rowc>.e-con-inner{width:100% !important;flex-wrap:nowrap;}
body.appvik-ai .av-rowc .elementor-widget-heading{flex:1 1 auto;min-width:0;}
body.appvik-ai .av-svc-ico{flex:0 0 44px;}
body.appvik-ai .av-ind-head>.e-con-inner>.e-con{min-width:0;}

/* ============================================================================
   BATCH D: real-fixed header, How-we-work gradient cards, prominent headers
   ========================================================================== */
/* --- 1. Header truly fixed (Xpro wraps it in an 85px box so sticky can't travel) --- */
body.appvik-ai .av-nav{position:fixed !important;top:0;left:0;right:0;width:100%;z-index:1000;}
.xpro-theme-builder-header,.xpro-theme-builder-header-nav{min-height:85px;}
body.admin-bar .av-nav{top:32px;}
@media screen and (max-width:782px){body.admin-bar .av-nav{top:46px;}}

/* --- 2. Section headers: bigger, prominent, lively animated gradient bar --- */
body.appvik-ai .av-secbar{width:56px;height:4px;background:linear-gradient(90deg,var(--brand-blue),var(--brand-mint),var(--brand-peach),var(--brand-yellow),var(--brand-blue));background-size:220% 100%;animation:avBarShift 6s linear infinite;}
@keyframes avBarShift{0%{background-position:0% 50%}100%{background-position:220% 50%}}
@media(prefers-reduced-motion:reduce){body.appvik-ai .av-secbar{animation:none;}}
body.appvik-ai .av-eyebrow .elementor-heading-title{font-size:12.5px;font-weight:700;letter-spacing:0.14em;}
body.appvik-ai .av-systems h2.elementor-heading-title,body.appvik-ai .av-industries h2.elementor-heading-title,body.appvik-ai .av-how h2.elementor-heading-title,body.appvik-ai .av-why h2.elementor-heading-title,body.appvik-ai .av-faq-sec h2.elementor-heading-title{font-size:clamp(34px,3.8vw,46px) !important;letter-spacing:-0.028em;}

/* --- 3. How we work: gradient cards (not a table) --- */
body.appvik-ai .av-do-grid{background:transparent !important;border:0 !important;border-radius:0 !important;box-shadow:none !important;overflow:visible !important;}
body.appvik-ai .av-do-grid>.e-con-inner{gap:18px !important;}
body.appvik-ai .av-do-grid>.e-con-inner>.av-do-cell:nth-child(1),body.appvik-ai .av-do-grid>.e-con-inner>.av-do-cell:nth-child(2){background:transparent !important;padding:0 4px 2px !important;box-shadow:none !important;}
body.appvik-ai .av-do-grid>.e-con-inner>.av-do-cell:nth-child(n+3){background:var(--bg) !important;border:1px solid var(--border);border-radius:16px;padding:24px 26px !important;position:relative;overflow:hidden;box-shadow:var(--shadow-1);box-shadow:none;transition:transform .26s var(--ease-out),box-shadow .26s var(--ease-out),border-color .2s ease;}
body.appvik-ai .av-do-grid>.e-con-inner>.av-do-cell:nth-child(n+3)::before{content:"";position:absolute;left:0;top:0;height:3px;width:100%;background:var(--grad-bar);opacity:.5;transition:opacity .3s var(--ease-out);}
body.appvik-ai .av-do-grid>.e-con-inner>.av-do-cell:nth-child(n+3):hover{transform:translateY(-3px);box-shadow:var(--shadow-3);border-color:color-mix(in srgb,var(--brand-mint) 45%,var(--border));}
body.appvik-ai .av-do-grid>.e-con-inner>.av-do-cell:nth-child(n+3):hover::before{opacity:1;}
body.appvik-ai .av-do-grid>.e-con-inner>.av-do-cell:nth-child(odd):nth-child(n+3){box-shadow:inset 4px 0 0 color-mix(in srgb,var(--brand-mint) 55%,transparent);}
body.appvik-ai .av-do-grid>.e-con-inner>.av-do-cell:nth-child(even):nth-child(n+3) p{color:var(--muted) !important;}

/* ===================================================================
   SECTION HEADER ANIMATED ICONS (lottie-style inline SVG)
   =================================================================== */
body.appvik-ai .av-sec-anim{display:inline-flex;align-items:center;margin-bottom:6px;}
body.appvik-ai .av-sec-ico{width:44px;height:44px;flex-shrink:0;overflow:visible;}

/* problem — pulsing alert ring */
@keyframes avIcoPulse{0%,100%{transform:scale(.85);opacity:.85}50%{transform:scale(1.1);opacity:.35}}
body.appvik-ai .av-ip{transform-box:fill-box;transform-origin:center;animation:avIcoPulse 2.6s ease-in-out infinite;}

/* problem — blinking dot */
@keyframes avIcoBlink{0%,100%{opacity:1}50%{opacity:.2}}
body.appvik-ai .av-ib{animation:avIcoBlink 2.6s ease-in-out infinite;}

/* systems — spinning dashed ring */
@keyframes avIcoSpin{to{transform:rotate(360deg)}}
body.appvik-ai .av-isp{transform-box:fill-box;transform-origin:center;animation:avIcoSpin 8s linear infinite;}

/* how-we-work — sequential flowing chevrons */
@keyframes avIcoSeq{0%,100%{opacity:.25}40%{opacity:1}}
body.appvik-ai .av-ia1{animation:avIcoSeq 1.6s ease-in-out infinite;}
body.appvik-ai .av-ia2{animation:avIcoSeq 1.6s ease-in-out .27s infinite;}
body.appvik-ai .av-ia3{animation:avIcoSeq 1.6s ease-in-out .54s infinite;}

/* industries — spinning equator ellipse */
body.appvik-ai .av-iorb{transform-box:fill-box;transform-origin:center;animation:avIcoSpin 5s linear infinite;}

/* why — checkmark stroke draw (loops: draw → hold → fade → repeat) */
@keyframes avIcoDraw{
  0%{stroke-dashoffset:50;opacity:0}
  15%{opacity:1}
  55%{stroke-dashoffset:0;opacity:1}
  85%,100%{stroke-dashoffset:0;opacity:.55}
}
body.appvik-ai .av-ick{stroke-dasharray:50;animation:avIcoDraw 3.5s ease-out infinite;}

/* faq — sequential bouncing dots */
@keyframes avIcoBounce{0%,70%,100%{transform:scale(1)}35%{transform:scale(1.65)}}
body.appvik-ai .av-id1{transform-box:fill-box;transform-origin:center;animation:avIcoBounce 1.5s ease-in-out infinite;}
body.appvik-ai .av-id2{transform-box:fill-box;transform-origin:center;animation:avIcoBounce 1.5s ease-in-out .22s infinite;}
body.appvik-ai .av-id3{transform-box:fill-box;transform-origin:center;animation:avIcoBounce 1.5s ease-in-out .44s infinite;}

/* cta — rising double chevrons */
@keyframes avIcoRise{0%,100%{transform:translateY(0);opacity:.85}50%{transform:translateY(-6px);opacity:1}}
body.appvik-ai .av-ir1{animation:avIcoRise 1.9s ease-in-out infinite;}
body.appvik-ai .av-ir2{animation:avIcoRise 1.9s ease-in-out .32s infinite;}

/* ===================================================================
   CARD ICON BREATHE ANIMATION (was missing from prior session)
   =================================================================== */
@keyframes avBreathe{0%,100%{transform:scale(1)}50%{transform:scale(1.12)}}
body.appvik-ai .av-svc-ico svg,
body.appvik-ai .av-ind-ico svg{transform-origin:center;transform-box:fill-box;animation:avBreathe 3.6s ease-in-out infinite;}

/* ===== Header: transparent + non-sticky ===== */
body.appvik-ai .av-nav{position:relative !important;top:auto !important;left:auto !important;right:auto !important;width:auto !important;z-index:auto !important;background:transparent !important;background-color:transparent !important;box-shadow:none !important;border-bottom:none !important;}
body.appvik-ai.av-js{padding-top:0 !important;}
body.appvik-ai .av-nav.scrolled{background:transparent !important;box-shadow:none !important;}

/* ===== Section header icons: right-aligned ===== */
body.appvik-ai .av-hdr-rel{position:relative !important;overflow:visible !important;}
body.appvik-ai .av-sec-anim{position:absolute !important;right:0;top:0;margin:0 !important;display:block !important;}

/* ===== Section header: icon LEFT, headers RIGHT in same row (grid layout) ===== */
body.appvik-ai .av-hdr-rel{display:grid !important;grid-template-columns:56px 1fr !important;align-items:end !important;column-gap:18px !important;position:static !important;overflow:visible !important;}
body.appvik-ai .av-hdr-rel .av-sec-anim{position:static !important;right:auto !important;top:auto !important;margin:0 !important;display:block !important;grid-column:1 !important;grid-row:1 / span 8 !important;align-self:end !important;}
body.appvik-ai .av-hdr-rel .av-secbar{grid-column:2 !important;}
body.appvik-ai .av-hdr-rel .elementor-widget-heading{grid-column:2 !important;}
body.appvik-ai .av-hdr-rel .elementor-widget-text-editor{grid-column:2 !important;}
body.appvik-ai .av-sec-ico{width:44px;height:44px;}

/* ===== Fix: icon centered beside headers (not bottom-aligned) ===== */
body.appvik-ai .av-hdr-rel .av-sec-anim{align-self:center !important;grid-row:1 / span 10 !important;}

/* ===== Fix: icon top-aligned with eyebrow (start) ===== */
body.appvik-ai .av-hdr-rel .av-sec-anim{align-self:start !important;}

/* ===== Section header: eyebrow above full-width, icon+H2 on one single line ===== */
/* Remove multicolor gradient bar */
body.appvik-ai .av-secbar{display:none !important;}
/* Eyebrow: spans full width as row 1 above icon+H2 */
body.appvik-ai .av-hdr-rel .av-eye{grid-column:1 / -1 !important;grid-row:1 !important;margin-bottom:6px;}
/* Icon: auto row (row 2 when eyebrow present, row 1 when not), centered */
body.appvik-ai .av-hdr-rel .av-sec-anim{grid-row:auto !important;align-self:center !important;margin-right:6px;}
/* H2 heading: same auto row as icon, col 2, centered */
body.appvik-ai .av-hdr-rel .elementor-widget-heading:not(.av-eye){align-self:center !important;}

/* Fix: eyebrow class is av-eyebrow (not av-eye) — full-width row 1 */
body.appvik-ai .av-hdr-rel .av-eyebrow{grid-column:1 / -1 !important;grid-row:1 !important;margin-bottom:4px;}
/* Icon auto-places to row 2 col 1; H2 auto-places to row 2 col 2 */
body.appvik-ai .av-hdr-rel .elementor-widget-heading:not(.av-eyebrow){align-self:center !important;}

/* ===== av-hdr-wrap: grid on header wrapper only (not full section) ===== */
/* Reset av-hdr-rel - no longer a grid */
body.appvik-ai .av-hdr-rel{display:block !important;grid-template-columns:unset !important;align-items:unset !important;column-gap:unset !important;}
/* Grid on the tight header wrapper */
body.appvik-ai .av-hdr-wrap{display:grid !important;grid-template-columns:56px 1fr !important;align-items:center !important;column-gap:18px !important;}
body.appvik-ai .av-hdr-wrap .av-sec-anim{grid-column:1 !important;grid-row:auto !important;align-self:center !important;margin-right:0 !important;}
body.appvik-ai .av-hdr-wrap .av-secbar{display:none !important;}
body.appvik-ai .av-hdr-wrap .av-eyebrow{grid-column:1 / -1 !important;grid-row:1 !important;margin-bottom:4px !important;}
body.appvik-ai .av-hdr-wrap .elementor-widget-heading:not(.av-eyebrow){grid-column:2 !important;grid-row:auto !important;align-self:center !important;}
/* ===== Industries: full-width intro + single-line H2 ===== */
body.appvik-ai .av-industries .av-intro{width:100% !important;max-width:100% !important;}
body.appvik-ai .av-industries .av-hdr-wrap .elementor-widget-heading:not(.av-eyebrow) .elementor-heading-title{font-size:clamp(1.4rem,1.95vw,2.2rem) !important;white-space:nowrap !important;}

/* ===== Problem card: full stretch + multicolor brand gradient ===== */
body.appvik-ai .av-problem .av-intro{width:100% !important;max-width:100% !important;border-radius:0 !important;background:linear-gradient(to right,rgba(109,40,217,0.11) 0%,rgba(37,99,235,0.14) 25%,rgba(93,212,168,0.18) 50%,rgba(245,200,0,0.13) 75%,rgba(255,153,104,0.12) 100%) !important;}
/* Title full stretch: flex row, H2 takes remaining width */
body.appvik-ai .av-problem .av-hdr-wrap{display:flex !important;flex-direction:row !important;align-items:center !important;gap:18px !important;}
body.appvik-ai .av-problem .av-hdr-wrap .av-sec-anim{flex:0 0 auto !important;grid-column:unset !important;grid-row:unset !important;}
body.appvik-ai .av-problem .av-hdr-wrap .elementor-widget-heading:not(.av-eyebrow){flex:1 !important;grid-column:unset !important;grid-row:unset !important;}
/* Problem card: rounded card with padding */
body.appvik-ai .av-problem .av-intro{border-radius:28px !important;margin:0 48px !important;width:calc(100% - 96px) !important;padding:56px 64px !important;}

/* ===== How-we-work & Why: replace fixed-px 581px grid with responsive 1fr 1fr ===== */
body.appvik-ai .av-do-grid .e-con-inner{grid-template-columns:1fr 1fr !important;}
body.appvik-ai .av-grid-2 .e-con-inner{grid-template-columns:1fr 1fr !important;}

/* ===== FAQ cards: 2-column grid (class set by JS) ===== */
body.appvik-ai .av-cards-2col{display:grid !important;grid-template-columns:1fr 1fr !important;gap:16px !important;align-items:start !important;}

/* ===== Mobile responsive fixes ===== */
@media(max-width:860px){
  /* Problem card: compact on mobile */
  body.appvik-ai .av-problem .av-intro{margin:0 12px !important;width:calc(100% - 24px) !important;padding:28px 20px !important;border-radius:20px !important;}
  body.appvik-ai .av-problem .av-hdr-wrap{flex-direction:column !important;align-items:flex-start !important;gap:10px !important;}
  body.appvik-ai .av-problem .av-hdr-wrap .elementor-widget-heading:not(.av-eyebrow) .elementor-heading-title{font-size:1.35rem !important;white-space:normal !important;}
  /* Industries heading: allow wrap on mobile */
  body.appvik-ai .av-industries .av-hdr-wrap .elementor-widget-heading:not(.av-eyebrow) .elementor-heading-title{white-space:normal !important;font-size:1.5rem !important;}
  /* Do/Don't & Why grids: keep 2-col but force smaller */
  body.appvik-ai .av-do-grid .e-con-inner,body.appvik-ai .av-grid-2 .e-con-inner{gap:8px !important;}
  body.appvik-ai .av-do-cell,body.appvik-ai .av-why-muted,body.appvik-ai .av-why-brand{padding:10px !important;font-size:13px !important;}
  /* FAQ: single col on mobile for readability */
  body.appvik-ai .av-cards-2col{grid-template-columns:1fr !important;}
  /* Burger active state */
  body.appvik-ai .av-burger.av-open svg{transform:rotate(90deg);}
}
/* ===== Systems: 3-col -> 2-col ===== */
body.appvik-ai .av-grid-auto .e-con-inner{grid-template-columns:1fr 1fr !important;}

/* ===== Industries: fixed-px -> responsive 1fr 1fr ===== */
body.appvik-ai .av-ind-grid .e-con-inner{grid-template-columns:1fr 1fr !important;}

/* ===== Mobile nav: hide desktop links, show burger (override Elementor) ===== */
@media(max-width:860px){
  body.appvik-ai .av-navlinks{display:none !important;}
  body.appvik-ai .av-burger{display:flex !important;align-items:center;justify-content:center;}
  body.appvik-ai .av-nav-right .av-nav-link{display:none !important;}
}
@media(min-width:861px){
  body.appvik-ai .av-mobile{display:none !important;}
}
/* Systems 2-col on mobile: single col */
@media(max-width:640px){
  body.appvik-ai .av-grid-auto .e-con-inner{grid-template-columns:1fr !important;}
  body.appvik-ai .av-ind-grid .e-con-inner{grid-template-columns:1fr !important;}
}
/* === Systems: 3-col desktop, 2-col tablet/mobile === */
body.appvik-ai .av-grid-auto .e-con-inner{grid-template-columns:1fr 1fr 1fr !important;}
@media(max-width:860px){body.appvik-ai .av-grid-auto .e-con-inner{grid-template-columns:1fr 1fr !important;}}
@media(max-width:480px){body.appvik-ai .av-grid-auto .e-con-inner{grid-template-columns:1fr !important;}}

/* === Industries mobile: 2-col (override 1fr single-col) === */
@media(max-width:820px){
  body.appvik-ai .av-ind-grid .e-con-inner,
  body.appvik-ai .av-ind-grid>.e-con-inner{grid-template-columns:1fr 1fr !important;}
}
@media(max-width:480px){
  body.appvik-ai .av-ind-grid .e-con-inner,
  body.appvik-ai .av-ind-grid>.e-con-inner{grid-template-columns:1fr !important;}
}

/* === FAQ: left-align all cards, compact spacing like PRICING === */
body.appvik-ai .av-faq .av-faq-q>.e-con-inner{justify-content:space-between !important;align-items:center !important;padding:0 !important;gap:12px !important;}
body.appvik-ai .av-faq .av-faq-q .e-con-boxed{padding:0 !important;flex:1 !important;min-width:0 !important;}
body.appvik-ai .av-faq .av-faq-q .e-con-boxed>.e-con-inner{padding:0 !important;gap:3px !important;}
body.appvik-ai .av-faq .av-faq-q .elementor-heading-title{text-align:left !important;}
body.appvik-ai .av-faq .av-faq-q .av-mono{text-align:left !important;}
body.appvik-ai .av-faq .av-faq-q .elementor-widget-html{flex-shrink:0 !important;}

/* === Industries mobile: equal height cards, text uses full width === */
@media(max-width:820px){
  body.appvik-ai .av-ind-grid>.e-con-inner{align-items:stretch !important;}
  body.appvik-ai .av-ind-grid .av-ind{display:flex !important;flex-direction:column !important;height:100% !important;}
  body.appvik-ai .av-ind-grid .av-ind .av-ind-head{flex-shrink:0;}
  body.appvik-ai .av-ind-grid .av-ind *{white-space:normal !important;word-break:break-word !important;overflow-wrap:break-word !important;}
}

/* FAQ: force heading widgets to stretch full-width (overrides Elementor align-self:center) */
body.appvik-ai .av-faq .av-faq-q .e-con-boxed .elementor-widget-heading{align-self:stretch !important;width:100% !important;}
body.appvik-ai .av-faq .av-faq-q .e-con-boxed .elementor-widget{align-self:stretch !important;width:100% !important;}

/* === PRICING card: match font-size with other FAQ cards (18px) === */
body.appvik-ai .av-faq:last-child h4{font-size:1.125rem !important;line-height:1.35 !important;}

/* === Burger menu: add display:block when open (was stuck at display:none) === */
body.appvik-ai .av-mobile.open{display:block !important;opacity:1 !important;transform:translateY(0) !important;pointer-events:auto !important;}

/* === Industries mobile: inner content uses full card width === */
@media(max-width:820px){
  body.appvik-ai .av-ind .e-con-inner,
  body.appvik-ai .av-ind-body .e-con-inner{width:100% !important;max-width:100% !important;flex-basis:100% !important;min-width:0 !important;}
  body.appvik-ai .av-ind-body *{max-width:100% !important;}
}

/* === Burger: ensure mobile nav visible when open (override base display:none) === */
@media(max-width:860px){
  body.appvik-ai .av-mobile{display:none !important;}
  body.appvik-ai .av-mobile.open{display:block !important;opacity:1 !important;transform:translateY(0) !important;pointer-events:auto !important;}
}

/* === Burger: fix padding squashing the SVG icon === */
body.appvik-ai .av-burger{padding:0 !important;display:flex !important;align-items:center !important;justify-content:center !important;width:38px !important;height:38px !important;cursor:pointer;}
body.appvik-ai .av-burger svg{display:block !important;flex-shrink:0 !important;}

/* === Industries mobile: override boxed container fixed width === */
@media(max-width:820px){
  body.appvik-ai .av-ind .e-con-boxed,
  body.appvik-ai .av-ind-head,
  body.appvik-ai .av-ind-body{width:100% !important;max-width:100% !important;min-width:0 !important;}
  body.appvik-ai .av-ind .e-con-boxed>.e-con-inner,
  body.appvik-ai .av-ind-head>.e-con-inner,
  body.appvik-ai .av-ind-body>.e-con-inner{width:100% !important;max-width:100% !important;min-width:0 !important;}
  body.appvik-ai .av-ind .elementor-widget{align-self:stretch !important;width:100% !important;}
}

/* === Industries mobile: fix flex-row inner — make content box grow to fill card width === */
@media(max-width:820px){
  /* d2 inner is flex-row; force it to fill and content box to grow */
  body.appvik-ai .av-ind-head>.e-con-inner{
    flex-wrap:nowrap !important;
    width:100% !important;
    max-width:100% !important;
  }
  body.appvik-ai .av-ind-head>.e-con-inner>.e-con-boxed{
    flex:1 1 0% !important;
    min-width:0 !important;
    width:auto !important;
    max-width:none !important;
  }
  /* Deep inner containers must also fill */
  body.appvik-ai .av-ind-head>.e-con-inner>.e-con-boxed>.e-con-inner,
  body.appvik-ai .av-ind-head>.e-con-inner>.e-con-boxed>.e-con-inner>.e-con-boxed,
  body.appvik-ai .av-ind-head>.e-con-inner>.e-con-boxed>.e-con-inner>.e-con-boxed>.e-con-inner{
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
  }
  body.appvik-ai .av-ind-head>.e-con-inner>.e-con-boxed .elementor-widget{
    align-self:stretch !important;
    width:100% !important;
    min-width:0 !important;
  }
}
/* === Industries mobile: hide decorative icon, content fills full row === */
@media(max-width:820px){
  body.appvik-ai .av-ind-ico{display:none !important;}
  body.appvik-ai .av-ind-head>.e-con-inner{align-items:center !important;}
  body.appvik-ai .av-ind-head>.e-con-inner>.e-con-boxed{flex:1 1 0% !important;min-width:0 !important;width:auto !important;max-width:100% !important;}
  body.appvik-ai .av-ind-head>.e-con-inner>.e-con-boxed>.e-con-inner{width:100% !important;max-width:100% !important;min-width:0 !important;}
  body.appvik-ai .av-ind-head>.e-con-inner>.e-con-boxed .elementor-widget{width:100% !important;max-width:100% !important;min-width:0 !important;align-self:stretch !important;}
}/* === RESET: strip all previous av-ind mobile overrides, start clean === */
@media(max-width:820px){
  body.appvik-ai .av-ind .e-con-boxed{width:unset !important;max-width:unset !important;min-width:unset !important;}
  body.appvik-ai .av-ind-head,body.appvik-ai .av-ind-body{width:unset !important;max-width:unset !important;min-width:unset !important;}
  body.appvik-ai .av-ind .e-con-boxed>.e-con-inner,body.appvik-ai .av-ind-head>.e-con-inner,body.appvik-ai .av-ind-body>.e-con-inner{width:unset !important;max-width:unset !important;min-width:unset !important;flex-basis:unset !important;}
  body.appvik-ai .av-ind .elementor-widget{align-self:unset !important;width:unset !important;}
  body.appvik-ai .av-ind *{white-space:unset !important;word-break:unset !important;overflow-wrap:unset !important;}
  body.appvik-ai .av-ind-head>.e-con-inner{align-items:unset !important;flex-wrap:unset !important;flex-direction:unset !important;}
  body.appvik-ai .av-ind-head>.e-con-inner>.e-con-boxed{flex:unset !important;min-width:unset !important;width:unset !important;max-width:unset !important;}
  body.appvik-ai .av-ind-head>.e-con-inner>.e-con-boxed>.e-con-inner,
  body.appvik-ai .av-ind-head>.e-con-inner>.e-con-boxed>.e-con-inner>.e-con-boxed,
  body.appvik-ai .av-ind-head>.e-con-inner>.e-con-boxed>.e-con-inner>.e-con-boxed>.e-con-inner{width:unset !important;max-width:unset !important;min-width:unset !important;}
  body.appvik-ai .av-ind-head>.e-con-inner>.e-con-boxed .elementor-widget{align-self:unset !important;width:unset !important;min-width:unset !important;}
  body.appvik-ai .av-ind-ico{display:unset !important;}

  /* === CLEAN FIX: hide side icon, content box grows to fill row === */
  body.appvik-ai .av-ind-ico{display:none !important;}
  body.appvik-ai .av-ind-head>.e-con-inner>.e-con-boxed:first-child{flex:1 1 0% !important;min-width:0 !important;}
  body.appvik-ai .av-ind-head>.e-con-inner>.e-con-boxed:first-child .e-con-inner{width:100% !important;max-width:100% !important;}
  body.appvik-ai .av-ind-head>.e-con-inner>.e-con-boxed:first-child .e-con-boxed{width:100% !important;max-width:100% !important;}
  body.appvik-ai .av-ind-head>.e-con-inner>.e-con-boxed:first-child .elementor-widget{width:100% !important;max-width:100% !important;align-self:stretch !important;}
}
/* Industries mobile: fix heading padding — 24px L/R on av-ind-head + 10px on firstBox crush heading to 46px on mobile */
@media(max-width:820px){
  body.appvik-ai .av-ind-head{padding-left:10px !important;padding-right:10px !important;}
  body.appvik-ai .av-ind-head>.e-con-inner>.e-con-boxed:first-child{padding-left:0 !important;padding-right:0 !important;}
}

/* Industries mobile: reduce heading font from 24px so long words fit in narrow 2-col cards */
@media(max-width:820px){
  body.appvik-ai .av-ind .elementor-heading-title{font-size:15px !important;line-height:1.3 !important;}
}

/* Hide burger on desktop */
@media(min-width:861px){body.appvik-ai .av-burger{display:none !important;}}
