.cvi-studio-landing,
.cvi-studio-landing * { box-sizing: border-box; }
.cvi-studio-landing {
  --cvi-ink:#102b3a;
  --cvi-blue:#147fa4;
  --cvi-blue-dark:#0e5975;
  --cvi-aqua:#67d7d1;
  --cvi-sun:#f6bd58;
  --cvi-coral:#ef8067;
  --cvi-paper:#f7f4ee;
  --cvi-muted:#667982;
  --cvi-white:#fff;
  --cvi-line:rgba(16,43,58,.11);
  color:var(--cvi-ink);
  background:#fff;
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  line-height:1.55;
  overflow:hidden;
}
.cvi-studio-landing a { color:inherit; }
.cvi-studio-landing img { display:block; max-width:100%; }
.cvi-landing-wrap { width:min(1180px,calc(100% - 40px)); margin-inline:auto; }
.cvi-landing-nav {
  position:relative; z-index:20; display:flex; align-items:center; justify-content:space-between;
  min-height:84px; gap:24px;
}
.cvi-landing-brand { display:flex; align-items:center; gap:11px; color:var(--cvi-ink); text-decoration:none; font-weight:900; letter-spacing:-.03em; }
.cvi-landing-brand i { display:grid; place-items:center; width:39px; height:39px; border-radius:13px; background:var(--cvi-sun); color:#553d0d; font-style:normal; box-shadow:0 10px 26px rgba(246,189,88,.28); }
.cvi-landing-links { display:flex; align-items:center; gap:11px; }
.cvi-landing-link { padding:11px 14px; color:#536b75; font-size:14px; font-weight:800; text-decoration:none; }
.cvi-landing-button { display:inline-flex; align-items:center; justify-content:center; gap:9px; min-height:48px; padding:12px 19px; border:1px solid var(--cvi-blue); border-radius:14px; color:#fff; background:var(--cvi-blue); box-shadow:0 12px 28px rgba(20,127,164,.21); font-weight:850; text-decoration:none; transition:transform .2s,box-shadow .2s,background .2s; }
.cvi-landing-button:hover { color:#fff; background:var(--cvi-blue-dark); transform:translateY(-2px); box-shadow:0 17px 34px rgba(20,127,164,.27); }
.cvi-landing-button--light { border-color:rgba(255,255,255,.22); background:rgba(255,255,255,.1); box-shadow:none; backdrop-filter:blur(12px); }
.cvi-landing-button--light:hover { background:rgba(255,255,255,.18); }
.cvi-landing-button--ghost { border-color:var(--cvi-line); color:var(--cvi-ink); background:#fff; box-shadow:none; }
.cvi-landing-button--ghost:hover { color:var(--cvi-ink); background:#f5f8f8; box-shadow:none; }

.cvi-landing-hero {
  position:relative; min-height:780px; padding:48px 0 94px;
  background:
    radial-gradient(circle at 82% 8%,rgba(103,215,209,.26),transparent 31%),
    radial-gradient(circle at 3% 78%,rgba(246,189,88,.22),transparent 28%),
    linear-gradient(180deg,#fbfdfd 0%,#f4f8f7 66%,#fff 100%);
}
.cvi-landing-hero::before { content:""; position:absolute; left:50%; top:160px; width:670px; height:670px; border:1px solid rgba(20,127,164,.08); border-radius:50%; transform:translateX(10%); }
.cvi-landing-hero-grid { position:relative; z-index:2; display:grid; grid-template-columns:minmax(0,.94fr) minmax(500px,1.06fr); align-items:center; gap:clamp(35px,6vw,86px); padding-top:70px; }
.cvi-landing-eyebrow { display:inline-flex; align-items:center; gap:9px; padding:8px 11px; border:1px solid rgba(20,127,164,.13); border-radius:999px; color:var(--cvi-blue); background:rgba(255,255,255,.7); font-size:12px; font-weight:900; letter-spacing:.11em; text-transform:uppercase; }
.cvi-landing-eyebrow::before { content:""; width:7px; height:7px; border-radius:50%; background:var(--cvi-aqua); box-shadow:0 0 0 5px rgba(103,215,209,.17); }
.cvi-landing-copy h1 { max-width:650px; margin:20px 0 20px; font-size:clamp(53px,6.5vw,91px); line-height:.91; letter-spacing:-.07em; font-weight:900; }
.cvi-landing-copy h1 em { color:var(--cvi-blue); font-style:normal; }
.cvi-landing-copy > p { max-width:620px; margin:0; color:var(--cvi-muted); font-size:clamp(17px,1.7vw,21px); }
.cvi-landing-hero-actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:31px; }
.cvi-landing-trust { display:flex; flex-wrap:wrap; gap:18px; margin-top:28px; color:#6d7f87; font-size:13px; font-weight:750; }
.cvi-landing-trust span { display:flex; align-items:center; gap:7px; }
.cvi-landing-trust span::before { content:"✓"; display:grid; place-items:center; width:20px; height:20px; border-radius:50%; color:#0d6e68; background:rgba(103,215,209,.22); font-size:12px; }

.cvi-landing-demo { position:relative; min-height:590px; perspective:1300px; }
.cvi-landing-demo::before { content:""; position:absolute; inset:8% -9% -3% 10%; border-radius:50%; background:radial-gradient(circle,rgba(20,127,164,.22),transparent 67%); filter:blur(20px); }
.cvi-demo-window { position:absolute; inset:28px 0 auto; padding:12px; border:1px solid rgba(255,255,255,.74); border-radius:29px; background:rgba(255,255,255,.76); box-shadow:0 35px 90px rgba(16,43,58,.19); backdrop-filter:blur(24px); transform:rotateY(-7deg) rotateX(3deg); animation:cvi-float 7s ease-in-out infinite; }
.cvi-demo-browser { display:flex; align-items:center; gap:6px; height:30px; padding:0 8px; }
.cvi-demo-browser i { width:8px; height:8px; border-radius:50%; background:#d3dfe1; }
.cvi-demo-browser span { flex:1; height:17px; max-width:220px; margin-left:12px; border-radius:999px; background:#edf2f2; }
.cvi-demo-cover { position:relative; height:302px; overflow:hidden; display:flex; align-items:flex-end; padding:34px; border-radius:20px; color:#fff; background:linear-gradient(180deg,rgba(9,27,38,.05),rgba(9,27,38,.73)),url('../media/mediterranean-luxe.svg') center/cover; }
.cvi-demo-cover small { display:block; margin-bottom:5px; color:var(--cvi-aqua); font-weight:900; letter-spacing:.13em; }
.cvi-demo-cover strong { display:block; max-width:400px; font-size:43px; line-height:.97; letter-spacing:-.055em; }
.cvi-demo-timeline { display:grid; grid-template-columns:1.3fr .85fr .85fr; gap:9px; margin-top:9px; }
.cvi-demo-card { min-height:130px; padding:15px; border-radius:16px; background:#eef4f4; }
.cvi-demo-card:first-child { color:#fff; background:linear-gradient(150deg,#147fa4,#0e435b); }
.cvi-demo-card b { display:block; font-size:13px; }
.cvi-demo-card small { color:inherit; opacity:.66; }
.cvi-demo-card i { display:block; width:64%; height:7px; margin-top:26px; border-radius:99px; background:currentColor; opacity:.15; }
.cvi-demo-float { position:absolute; z-index:4; display:flex; align-items:center; gap:10px; padding:12px 15px; border:1px solid rgba(255,255,255,.75); border-radius:15px; background:rgba(255,255,255,.88); box-shadow:0 18px 45px rgba(16,43,58,.14); backdrop-filter:blur(15px); font-size:12px; font-weight:850; animation:cvi-float-small 5s ease-in-out infinite; }
.cvi-demo-float i { display:grid; place-items:center; width:32px; height:32px; border-radius:10px; background:rgba(103,215,209,.22); font-style:normal; }
.cvi-demo-float--one { top:5px; right:-17px; }
.cvi-demo-float--two { left:-28px; bottom:30px; animation-delay:-2s; }

.cvi-landing-strip { position:relative; z-index:3; margin-top:-34px; }
.cvi-landing-strip-inner { display:grid; grid-template-columns:repeat(4,1fr); border:1px solid var(--cvi-line); border-radius:24px; background:#fff; box-shadow:0 23px 60px rgba(16,43,58,.09); }
.cvi-landing-strip-inner div { padding:24px; text-align:center; }
.cvi-landing-strip-inner div + div { border-left:1px solid var(--cvi-line); }
.cvi-landing-strip strong { display:block; font-size:16px; letter-spacing:-.02em; }
.cvi-landing-strip span { color:var(--cvi-muted); font-size:12px; }

.cvi-landing-section { padding:112px 0; }
.cvi-landing-section--paper { background:var(--cvi-paper); }
.cvi-landing-section-heading { max-width:760px; margin:0 auto 54px; text-align:center; }
.cvi-landing-section-heading span { color:var(--cvi-blue); font-size:12px; font-weight:900; letter-spacing:.13em; text-transform:uppercase; }
.cvi-landing-section-heading h2 { margin:12px 0 15px; font-size:clamp(38px,5vw,64px); line-height:.99; letter-spacing:-.06em; }
.cvi-landing-section-heading p { margin:0; color:var(--cvi-muted); font-size:18px; }
.cvi-landing-features { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:17px; }
.cvi-feature-card { position:relative; min-height:235px; padding:28px; overflow:hidden; border:1px solid var(--cvi-line); border-radius:22px; background:#fff; transition:transform .25s,box-shadow .25s,border-color .25s; }
.cvi-feature-card:hover { transform:translateY(-5px); border-color:rgba(20,127,164,.26); box-shadow:0 22px 55px rgba(16,43,58,.09); }
.cvi-feature-card__icon { display:grid; place-items:center; width:47px; height:47px; border-radius:15px; color:#0c655f; background:rgba(103,215,209,.22); font-size:21px; }
.cvi-feature-card:nth-child(2) .cvi-feature-card__icon,.cvi-feature-card:nth-child(5) .cvi-feature-card__icon { color:#7a5200; background:rgba(246,189,88,.24); }
.cvi-feature-card:nth-child(3) .cvi-feature-card__icon,.cvi-feature-card:nth-child(6) .cvi-feature-card__icon { color:#93412f; background:rgba(239,128,103,.18); }
.cvi-feature-card h3 { margin:24px 0 8px; font-size:22px; letter-spacing:-.035em; }
.cvi-feature-card p { margin:0; color:var(--cvi-muted); }

.cvi-landing-process { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; counter-reset:cvi-step; }
.cvi-process-card { position:relative; padding:30px 27px; border-top:1px solid var(--cvi-line); counter-increment:cvi-step; }
.cvi-process-card::before { content:"0" counter(cvi-step); display:block; margin-bottom:36px; color:var(--cvi-blue); font-size:13px; font-weight:900; letter-spacing:.12em; }
.cvi-process-card::after { content:""; position:absolute; top:-3px; left:27px; width:62px; height:5px; border-radius:99px; background:var(--cvi-aqua); }
.cvi-process-card h3 { margin:0 0 9px; font-size:26px; letter-spacing:-.045em; }
.cvi-process-card p { margin:0; color:var(--cvi-muted); }

.cvi-landing-split { display:grid; grid-template-columns:minmax(0,.92fr) minmax(480px,1.08fr); align-items:center; gap:clamp(45px,8vw,100px); }
.cvi-landing-split-copy span { color:var(--cvi-blue); font-size:12px; font-weight:900; letter-spacing:.13em; text-transform:uppercase; }
.cvi-landing-split-copy h2 { margin:13px 0 18px; font-size:clamp(40px,5vw,65px); line-height:.98; letter-spacing:-.06em; }
.cvi-landing-split-copy > p { color:var(--cvi-muted); font-size:18px; }
.cvi-landing-checks { display:grid; gap:13px; margin-top:25px; }
.cvi-landing-checks div { display:flex; gap:12px; }
.cvi-landing-checks i { flex:0 0 26px; display:grid; place-items:center; height:26px; border-radius:9px; background:rgba(103,215,209,.2); color:#0d6d68; font-style:normal; font-weight:900; }
.cvi-security-card { position:relative; min-height:500px; display:grid; place-items:center; overflow:hidden; border-radius:32px; color:#fff; background:linear-gradient(145deg,#0c6684,#102b3a); box-shadow:0 30px 80px rgba(16,43,58,.18); }
.cvi-security-card::before,.cvi-security-card::after { content:""; position:absolute; border:1px solid rgba(255,255,255,.13); border-radius:50%; }
.cvi-security-card::before { width:510px; height:510px; right:-230px; top:-190px; }
.cvi-security-card::after { width:350px; height:350px; left:-190px; bottom:-180px; }
.cvi-security-lock { position:relative; z-index:2; width:min(370px,75%); padding:27px; border:1px solid rgba(255,255,255,.16); border-radius:24px; background:rgba(255,255,255,.1); box-shadow:0 25px 60px rgba(0,0,0,.18); backdrop-filter:blur(18px); }
.cvi-security-lock > i { display:grid; place-items:center; width:58px; height:58px; margin-bottom:24px; border-radius:18px; color:#5e430a; background:var(--cvi-sun); font-size:25px; font-style:normal; }
.cvi-security-lock strong { display:block; font-size:25px; line-height:1.05; letter-spacing:-.04em; }
.cvi-security-lock p { margin:9px 0 22px; color:rgba(255,255,255,.7); }
.cvi-security-user { display:flex; align-items:center; gap:11px; padding:12px; border-radius:14px; background:rgba(255,255,255,.09); }
.cvi-security-user i { display:grid; place-items:center; width:38px; height:38px; border-radius:12px; color:var(--cvi-ink); background:var(--cvi-aqua); font-style:normal; font-weight:900; }
.cvi-security-user span { display:flex; flex-direction:column; }
.cvi-security-user small { color:rgba(255,255,255,.58); }

.cvi-landing-final { padding:0 0 100px; }
.cvi-landing-final-card { position:relative; overflow:hidden; display:grid; grid-template-columns:1fr auto; align-items:center; gap:35px; padding:clamp(38px,6vw,78px); border-radius:31px; color:#fff; background:linear-gradient(135deg,#126f91,#102b3a); }
.cvi-landing-final-card::after { content:"✦"; position:absolute; right:6%; bottom:-83px; color:rgba(255,255,255,.07); font-size:260px; line-height:1; }
.cvi-landing-final-card h2 { max-width:720px; margin:0 0 12px; font-size:clamp(37px,5vw,64px); line-height:.96; letter-spacing:-.06em; }
.cvi-landing-final-card p { max-width:650px; margin:0; color:rgba(255,255,255,.7); font-size:17px; }
.cvi-landing-final-card .cvi-landing-button { position:relative; z-index:2; flex-shrink:0; color:var(--cvi-ink); border-color:#fff; background:#fff; box-shadow:none; }
.cvi-landing-final-card .cvi-landing-button:hover { color:var(--cvi-ink); background:#eef6f6; }
.cvi-landing-footer { display:flex; align-items:center; justify-content:space-between; gap:20px; padding:29px 0; border-top:1px solid var(--cvi-line); color:#76878e; font-size:13px; }
.cvi-landing-footer a { color:var(--cvi-blue); font-weight:800; text-decoration:none; }

.cvi-reveal { opacity:1; transform:none; transition:opacity .7s ease,transform .7s ease; }
.cvi-studio-landing.cvi-landing-animate .cvi-reveal { opacity:0; transform:translateY(24px); }
.cvi-studio-landing.cvi-landing-animate .cvi-reveal.is-visible { opacity:1; transform:none; }
@keyframes cvi-float { 0%,100%{transform:rotateY(-7deg) rotateX(3deg) translateY(0)} 50%{transform:rotateY(-5deg) rotateX(2deg) translateY(-12px)} }
@keyframes cvi-float-small { 0%,100%{transform:translateY(0)} 50%{transform:translateY(-8px)} }

body.cvi-studio-standalone { margin:0; background:#fff; }
body.cvi-studio-standalone .cvi-studio-page-shell { min-height:100vh; }
body.cvi-studio-standalone.admin-bar .cvi-landing-nav { min-height:84px; }

@media (max-width:1020px) {
  .cvi-landing-hero-grid,.cvi-landing-split { grid-template-columns:1fr; }
  .cvi-landing-copy { text-align:center; }
  .cvi-landing-copy h1,.cvi-landing-copy > p { margin-inline:auto; }
  .cvi-landing-hero-actions,.cvi-landing-trust { justify-content:center; }
  .cvi-landing-demo { width:min(700px,100%); margin:0 auto; }
  .cvi-landing-features { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .cvi-landing-split-copy { max-width:730px; }
}
@media (max-width:760px) {
  .cvi-landing-wrap { width:min(100% - 26px,1180px); }
  .cvi-landing-nav { min-height:72px; }
  .cvi-landing-links .cvi-landing-link { display:none; }
  .cvi-landing-links .cvi-landing-button { min-height:42px; padding:9px 13px; font-size:13px; }
  .cvi-landing-hero { min-height:0; padding:35px 0 75px; }
  .cvi-landing-hero-grid { gap:39px; padding-top:43px; }
  .cvi-landing-copy h1 { font-size:clamp(48px,14vw,67px); }
  .cvi-landing-demo { min-height:430px; }
  .cvi-demo-window { inset:20px 8px auto; transform:none; animation:none; }
  .cvi-demo-cover { height:220px; padding:24px; }
  .cvi-demo-cover strong { font-size:31px; }
  .cvi-demo-timeline { grid-template-columns:1.25fr .75fr; }
  .cvi-demo-card { min-height:95px; }
  .cvi-demo-card:last-child { display:none; }
  .cvi-demo-float--one { right:0; }
  .cvi-demo-float--two { left:0; bottom:5px; }
  .cvi-landing-strip { margin-top:-27px; }
  .cvi-landing-strip-inner { grid-template-columns:repeat(2,1fr); }
  .cvi-landing-strip-inner div + div { border-left:0; }
  .cvi-landing-strip-inner div:nth-child(even) { border-left:1px solid var(--cvi-line); }
  .cvi-landing-strip-inner div:nth-child(n+3) { border-top:1px solid var(--cvi-line); }
  .cvi-landing-section { padding:82px 0; }
  .cvi-landing-section-heading { margin-bottom:39px; }
  .cvi-landing-features,.cvi-landing-process { grid-template-columns:1fr; }
  .cvi-feature-card { min-height:0; }
  .cvi-landing-final-card { grid-template-columns:1fr; }
  .cvi-landing-final-card .cvi-landing-button { justify-self:start; }
  .cvi-landing-footer { align-items:flex-start; flex-direction:column; }
}
@media (max-width:470px) {
  .cvi-landing-brand strong { font-size:14px; }
  .cvi-landing-hero-actions { display:grid; }
  .cvi-landing-button { width:100%; }
  .cvi-landing-trust { display:grid; justify-content:start; text-align:left; }
  .cvi-landing-demo { min-height:385px; }
  .cvi-demo-window { padding:8px; border-radius:21px; }
  .cvi-demo-cover { height:195px; border-radius:15px; }
  .cvi-demo-float { padding:9px 11px; }
  .cvi-demo-float--two { display:none; }
  .cvi-security-card { min-height:420px; }
}
@media (prefers-reduced-motion:reduce) {
  .cvi-demo-window,.cvi-demo-float { animation:none !important; }
  .cvi-reveal { opacity:1; transform:none; transition:none; }
  .cvi-landing-button,.cvi-feature-card { transition:none; }
}
.cvi-landing-button[data-cvi-install-app]{font:inherit;cursor:pointer}.cvi-landing-button[data-cvi-install-app].is-ready{border-color:#63cec9;background:#eafafa;color:#126d78}.cvi-landing-button[data-cvi-install-app].is-installed{opacity:.68;cursor:default}
