/* RVisio — clean white/black UI with subtle purple accents */
:root{
  --bg:#ffffff;
  --surface:#ffffff;
  --surface-soft:#f7f7fa;
  --surface-purple:#fbf8ff;
  --text:#111111;
  --muted:#5f5f68;
  --muted-2:#7b7b86;
  --line:#e8e8ee;
  --line-strong:#d9d9e2;
  --black:#0d0d10;
  --purple:#8f63d9;
  --purple-dark:#6d43bb;
  --purple-soft:#efe7ff;
  --purple-faint:#f7f1ff;
  --shadow:0 18px 50px rgba(17,17,17,.08);
  --shadow-soft:0 10px 28px rgba(17,17,17,.06);
  --radius:24px;
  --radius-sm:16px;
  --container:min(1160px,92vw);
}

*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;background:var(--bg);}
body{
  font-family:'Inter',system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  background:var(--bg);
  color:var(--text);
  min-height:100vh;
  overflow-x:hidden;
  line-height:1.65;
  text-rendering:optimizeLegibility;
}
[hidden]{display:none!important;}
a{color:inherit;text-decoration:none;}
img{display:block;max-width:100%;}
.container{width:var(--container);margin-inline:auto;}

.bg-blur{position:fixed;z-index:-1;border-radius:999px;filter:blur(72px);opacity:.32;pointer-events:none;}
.bg-blur-1{width:260px;height:260px;background:#efe5ff;top:70px;left:-90px;}
.bg-blur-2{width:320px;height:320px;background:#f4eefd;right:-120px;bottom:80px;}
.bg-blur-3{width:220px;height:220px;background:#f1e6ff;right:20%;top:38%;opacity:.18;}

.header{
  position:sticky;top:0;z-index:90;
  background:rgba(255,255,255,.88);
  backdrop-filter:blur(18px);
  border-bottom:1px solid rgba(17,17,17,.08);
}
.nav-wrap{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:14px 0;}
.logo-box{display:flex;align-items:center;gap:13px;min-width:0;}
.logo-circle{
  width:64px;height:64px;border-radius:50%;display:flex;align-items:center;justify-content:center;overflow:hidden;flex-shrink:0;
  background:linear-gradient(135deg,#ffffff 0%,#f4efff 55%,#ffffff 100%);
  border:1px solid rgba(17,17,17,.08);
  box-shadow:0 12px 30px rgba(143,99,217,.14);
}
.logo{max-height:43px;width:auto;}
.brand-name{font-weight:800;font-size:1.18rem;line-height:1.1;color:var(--black);letter-spacing:-.02em;}
.brand-sub{font-size:.78rem;color:var(--muted);line-height:1.2;}
.nav{display:flex;align-items:center;justify-content:flex-end;gap:7px;}
.nav a{
  display:inline-flex;align-items:center;justify-content:center;
  min-height:42px;padding:0 14px;border-radius:999px;
  color:#25252b;font-weight:700;font-size:.94rem;
  transition:background .2s ease,color .2s ease,transform .2s ease;
}
.nav a:hover{background:var(--surface-soft);transform:translateY(-1px);}
.nav a.active{background:var(--black);color:#fff;}
.nav-toggle{display:none;align-items:center;justify-content:center;flex-direction:column;gap:5px;width:50px;height:50px;border-radius:16px;border:1px solid var(--line);background:#fff;cursor:pointer;box-shadow:var(--shadow-soft);}
.nav-toggle span{width:21px;height:2px;border-radius:999px;background:var(--black);transition:transform .22s ease,opacity .22s ease;}
.nav-toggle[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg);}
.nav-toggle[aria-expanded="true"] span:nth-child(2){opacity:0;}
.nav-toggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}

.hero,.page-hero,.contact-hero-new{position:relative;overflow:hidden;display:flex;align-items:center;background:#fff;}
.hero{min-height:76vh;}
.page-hero{min-height:44vh;}
.hero-home,.page-hero-services,.page-hero-about,.page-hero-pricing,.page-hero-contact,.contact-hero-new{background-size:cover;background-position:center;}
.hero-home{background-image:url('domov-hero-bg.png');}
.page-hero-services{background-image:url('https://images.unsplash.com/photo-1498050108023-c5249f4df085?auto=format&fit=crop&w=1600&q=80');}
.page-hero-about{background-image:url('https://images.unsplash.com/photo-1522071820081-009f0129c71c?auto=format&fit=crop&w=1600&q=80');}
.page-hero-pricing{background-image:url('https://images.unsplash.com/photo-1556740749-887f6717d7e4?auto=format&fit=crop&w=1600&q=80');}
.page-hero-contact,.contact-hero-new{background-image:url('https://images.unsplash.com/photo-1516321497487-e288fb19713f?auto=format&fit=crop&w=1600&q=80');}
.hero-overlay,.contact-hero-overlay{
  position:absolute;inset:0;
  background:
    linear-gradient(90deg,rgba(255,255,255,.96),rgba(255,255,255,.86) 46%,rgba(255,255,255,.72)),
    radial-gradient(circle at 72% 45%,rgba(143,99,217,.18),transparent 34%);
}
.hero-content,.page-hero-content{position:relative;z-index:1;width:100%;text-align:center;padding:108px 0;}
.page-hero-content{padding:82px 0;}
.hero-badge,.contact-badge,.selector-badge{
  display:inline-flex;align-items:center;gap:8px;margin-bottom:18px;padding:9px 15px;border-radius:999px;
  background:var(--purple-faint);border:1px solid #eadfff;color:var(--purple-dark);font-weight:800;font-size:.86rem;
}
.hero h1,.page-hero h1,.contact-hero-text h1{
  font-family:'Cormorant Garamond',Georgia,serif;
  font-size:clamp(2.25rem,5.6vw,5rem);line-height:.98;margin-bottom:18px;color:var(--black);letter-spacing:-.035em;
}
.hero p,.page-hero p,.contact-hero-text p{width:min(780px,100%);margin:0 auto;color:var(--muted);font-size:1.08rem;}
.hero-type-note{margin-top:14px;color:var(--muted);font-weight:700;}
.typewriter-highlight{
  display:inline-flex;align-items:baseline;margin-left:.15em;padding:.04em .22em;border-radius:.28em;
  background:linear-gradient(135deg,#f4ebff,#ffffff);box-shadow:inset 0 0 0 1px #eadfff;color:var(--purple-dark);
}
.typewriter-highlight .typewriter-text{color:var(--purple-dark);}
.typewriter-soft{font-weight:900;color:var(--purple-dark);}
.typewriter-cursor{display:inline-block;color:var(--purple);animation:typewriterBlink .85s steps(1) infinite;}
@keyframes typewriterBlink{0%,49%{opacity:1}50%,100%{opacity:0}}
.about-type-line{display:flex;flex-wrap:wrap;align-items:center;gap:.3rem;margin-bottom:14px;}
.about-type-label{color:var(--muted);font-weight:800;}

.hero-buttons{display:flex;justify-content:center;align-items:center;gap:14px;flex-wrap:wrap;margin-top:30px;}
.hero-buttons-left{justify-content:flex-start;}
.btn{
  display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:0 22px;border-radius:999px;
  font-weight:800;letter-spacing:-.01em;border:1px solid transparent;transition:transform .2s ease,box-shadow .2s ease,background .2s ease,color .2s ease,border-color .2s ease;text-align:center;cursor:pointer;
}
.btn:hover{transform:translateY(-2px);}
.btn-primary{background:var(--black);color:#fff;box-shadow:0 14px 32px rgba(17,17,17,.18);}
.btn-primary:hover{background:var(--purple-dark);box-shadow:0 16px 36px rgba(109,67,187,.22);}
.btn-secondary{background:#fff;color:var(--black);border-color:var(--line-strong);box-shadow:var(--shadow-soft);}
.btn-secondary:hover{border-color:#d9c8ff;background:var(--purple-faint);}
.btn-full{width:100%;}

.hero-cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-top:40px;}
.mini-card,.quick-card{
  min-height:108px;padding:18px;border-radius:22px;background:rgba(255,255,255,.82);border:1px solid var(--line);box-shadow:var(--shadow-soft);
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease;
}
.mini-card:hover,.quick-card:hover{transform:translateY(-5px);border-color:#dccbff;box-shadow:var(--shadow);}
.mini-card i,.quick-card i,.service-card i,.choose-card i{color:var(--purple);font-size:1.35rem;}
.mini-card span,.quick-card span{font-weight:800;text-align:center;}

.section{padding:88px 0;}
.section-dark{background:linear-gradient(180deg,#fbfbfd,#fff);border-block:1px solid var(--line);}
.section-head{text-align:center;margin-bottom:38px;}
.section-head h2,.split-text h2,.cta-box h2{font-family:'Cormorant Garamond',Georgia,serif;color:var(--black);letter-spacing:-.025em;line-height:1.05;}
.section-head h2{font-size:clamp(2rem,4vw,3rem);margin-bottom:10px;}
.section-head p,.split-text p,.service-card p,.choose-card p,.gallery-card p,.path-card p,.quick-step p,.info-box p,.pricing-subtitle,.pricing-mini-card p,.service-row p,.footer-text,.summary-empty,.builder-note,.selector-head p{color:var(--muted);}
.center-button{text-align:center;margin-top:30px;}

.grid-4,.pricing-grid,.pricing-grid-small,.gallery-grid,.path-grid,.quick-steps,.choose-grid,.info-boxes{display:grid;gap:22px;}
.grid-4{grid-template-columns:repeat(4,minmax(0,1fr));}
.pricing-grid,.gallery-grid,.path-grid,.quick-steps,.choose-grid,.info-boxes{grid-template-columns:repeat(3,minmax(0,1fr));}
.pricing-grid-small{grid-template-columns:repeat(3,minmax(0,1fr));}
.service-card,.choose-card,.pricing-card,.pricing-mini-card,.info-box,.contact-panel,.option-box,.gallery-card,.path-card,.quick-step,.service-row,.contact-hero-text,.contact-info-card,.selector-block,.selection-card,.selection-summary-card,.selection-list-box,.summary-sticky-card,.builder-section,.contact-form-premium,.compare-table-wrap,.form-smart-panel,.form-banner,.upload-zone,.summary-chip{
  background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-soft);
}
.service-card,.choose-card,.pricing-mini-card,.info-box,.gallery-card,.path-card,.quick-step{padding:26px;}
.service-card,.choose-card,.pricing-card,.pricing-mini-card,.gallery-card,.path-card,.quick-step,.service-row,.selection-card,.option-box{transition:transform .22s ease,border-color .22s ease,box-shadow .22s ease;}
.service-card:hover,.choose-card:hover,.pricing-card:hover,.pricing-mini-card:hover,.gallery-card:hover,.path-card:hover,.quick-step:hover,.service-row:hover,.selection-card:hover,.option-box:hover{transform:translateY(-6px);border-color:#d7c3ff;box-shadow:var(--shadow);}
.service-card h3,.choose-card h3,.gallery-card h3,.path-card h3,.quick-step h3,.info-box h3,.pricing-mini-card h3{color:var(--black);margin-bottom:9px;line-height:1.25;}

.split{display:grid;grid-template-columns:1fr 1fr;gap:34px;align-items:center;}
.split-text h2{font-size:clamp(2rem,4vw,3rem);margin-bottom:16px;}
.split-image img,.gallery-card img,.choose-card img,.pricing-card img,.service-showcase img{border-radius:24px;box-shadow:var(--shadow);width:100%;object-fit:cover;}
.check-list{list-style:none;margin:20px 0 26px;display:grid;gap:12px;}
.check-list li{position:relative;padding-left:28px;color:#2d2d33;font-weight:650;}
.check-list li::before{content:'✓';position:absolute;left:0;top:0;color:var(--purple-dark);font-weight:900;}

.service-list{display:grid;gap:20px;}
.service-row{display:grid;grid-template-columns:82px 1fr;gap:22px;align-items:start;padding:26px;}
.service-row-icon,.pricing-icon,.pricing-mini-icon,.selection-icon,.option-icon,.contact-line i,.quick-step-number{
  display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--black),#2d243a 55%,var(--purple-dark));color:#fff;box-shadow:0 14px 30px rgba(17,17,17,.14);
}
.service-row-icon{width:82px;height:82px;border-radius:22px;font-size:1.8rem;}
.service-row h2{color:var(--black);font-size:1.35rem;margin-bottom:8px;line-height:1.25;}
.card-links{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px;}
.small-link{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:0 14px;border-radius:999px;background:var(--surface-soft);border:1px solid var(--line);font-weight:800;color:var(--black);}
.small-link:hover{background:var(--purple-faint);border-color:#d9c8ff;}
.service-showcase{display:grid;grid-template-columns:1.05fr .95fr;gap:28px;align-items:center;margin-top:20px;}
.service-showcase-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;}

.pricing-card{position:relative;overflow:hidden;display:flex;flex-direction:column;padding:0;}
.pricing-card>img{height:190px;width:100%;object-fit:cover;border-radius:0;margin:0;box-shadow:none;filter:saturate(.8);}
.pricing-top,.pricing-list,.pricing-actions,.pricing-price{margin-inline:24px;}
.pricing-top{text-align:center;margin-top:24px;margin-bottom:12px;}
.pricing-icon{width:64px;height:64px;border-radius:20px;margin:0 auto 14px;font-size:1.4rem;}
.pricing-card h3{font-size:1.45rem;color:var(--black);margin-bottom:8px;}
.pricing-price{text-align:center;font-size:2rem;line-height:1;font-weight:900;color:var(--black);margin-top:18px;margin-bottom:18px;}
.pricing-list{list-style:none;display:grid;gap:10px;margin-bottom:24px;}
.pricing-list li{position:relative;padding-left:24px;color:#34343b;font-weight:650;}
.pricing-list li::before{content:'✓';position:absolute;left:0;top:0;color:var(--purple-dark);font-weight:900;}
.pricing-actions{display:grid;gap:10px;margin-top:auto;margin-bottom:24px;}
.pricing-card-featured{border:2px solid #d2bcff;box-shadow:0 20px 60px rgba(143,99,217,.14);}
.pricing-badge{position:absolute;top:14px;right:14px;z-index:2;background:var(--black);color:#fff;border-radius:999px;padding:8px 12px;font-weight:900;font-size:.75rem;}
.pricing-mini-card{text-align:center;}
.pricing-mini-icon{width:56px;height:56px;border-radius:18px;margin:0 auto 14px;}
.pricing-mini-price{font-weight:900;color:var(--purple-dark);font-size:1.08rem;margin-bottom:8px;white-space:nowrap;}
.compare-table-wrap{overflow:auto;box-shadow:var(--shadow-soft);}
.compare-table{width:100%;min-width:720px;border-collapse:collapse;background:#fff;}
.compare-table th,.compare-table td{text-align:left;padding:17px 18px;border-bottom:1px solid var(--line);color:var(--text);}
.compare-table th{background:#111;color:#fff;font-weight:900;}
.compare-table td{color:#34343b;}
.compare-table tbody tr:hover{background:var(--purple-faint);}

.contact-hero-new{padding:74px 0 54px;min-height:auto;}
.contact-hero-grid{position:relative;z-index:1;display:grid;grid-template-columns:1.15fr .85fr;gap:24px;align-items:stretch;}
.contact-hero-text,.contact-info-card{padding:30px;background:rgba(255,255,255,.88);backdrop-filter:blur(10px);}
.contact-hero-text h1{text-align:left;font-size:clamp(2rem,4.5vw,4rem);}
.contact-hero-text p{margin:0;width:100%;}
.contact-hero-points{display:grid;gap:10px;margin-top:22px;}
.contact-point{display:flex;align-items:center;gap:10px;color:#2f2f35;font-weight:700;}
.contact-point i{width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--purple-faint);color:var(--purple-dark);font-size:.78rem;}
.contact-info-card h2,.contact-panel h2{color:var(--black);margin-bottom:16px;}
.contact-line{display:flex;align-items:center;gap:12px;margin-bottom:14px;color:#25252b;font-weight:700;word-break:break-word;}
.contact-line i{width:40px;height:40px;min-width:40px;border-radius:13px;}
.contact-note{color:var(--muted);margin-top:16px;}
.contact-side-buttons{display:grid;gap:10px;margin-top:22px;}
.contact-main-section{padding-top:70px;}
.contact-builder{display:grid;grid-template-columns:1.15fr .55fr;gap:24px;align-items:start;}
.contact-builder-main,.contact-builder-side{min-width:0;}
.contact-form-premium{padding:30px;display:flex;flex-direction:column;gap:14px;}
.form-banner{display:flex;align-items:center;gap:16px;padding:16px;margin-bottom:4px;background:var(--surface-purple);}
.form-banner-illu{width:58px;height:58px;min-width:58px;border-radius:18px;display:flex;align-items:center;justify-content:center;background:#fff;border:1px solid var(--line);}
.form-banner-illu svg{width:42px;height:42px;filter:invert(1);opacity:.85;}
.form-banner strong{display:block;color:var(--black);margin-bottom:3px;}
.form-banner span{display:block;color:var(--muted);font-size:.92rem;}
.form-smart-panel{padding:20px;background:var(--surface-purple);}
.smart-panel-head{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;}
.smart-panel-label{text-transform:uppercase;font-size:.78rem;letter-spacing:.08em;color:var(--purple-dark);font-weight:900;margin-bottom:4px;}
.form-smart-panel h4{color:var(--black);font-size:1.08rem;}
.smart-progress-pill,.smart-tag{display:inline-flex;align-items:center;border-radius:999px;background:#fff;border:1px solid var(--line);color:var(--black);font-weight:800;}
.smart-progress-pill{padding:9px 13px;}
.smart-progress-bar{height:10px;border-radius:999px;background:#ececf3;margin:16px 0 14px;overflow:hidden;}
.smart-progress-bar span{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--black),var(--purple));transition:width .25s ease;}
.smart-tags{display:flex;flex-wrap:wrap;gap:9px;}
.smart-tag{padding:7px 11px;font-size:.88rem;}
.smart-tag.is-muted{color:var(--muted);}
.builder-section{padding:24px;background:#fff;box-shadow:none;margin-bottom:2px;}
.builder-title-row{display:flex;align-items:flex-end;justify-content:space-between;gap:14px;flex-wrap:wrap;margin-bottom:16px;}
.builder-title-row h3,.summary-sticky-card h3,.selection-list-box h3,.selection-summary-card h3{color:var(--black);}
.form-grid,.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;}
.form-group{display:flex;flex-direction:column;gap:8px;}
.contact-form-premium label{color:var(--black);font-weight:850;font-size:.94rem;}
.contact-form-premium input,.contact-form-premium textarea,.contact-form-premium select{
  width:100%;border:1px solid var(--line-strong);background:#fff;color:var(--black);border-radius:16px;padding:14px 15px;outline:none;font:inherit;transition:border-color .18s ease,box-shadow .18s ease;
}
.contact-form-premium textarea{min-height:170px;resize:vertical;}
.contact-form-premium input::placeholder,.contact-form-premium textarea::placeholder{color:#8a8a94;}
.contact-form-premium input:focus,.contact-form-premium textarea:focus,.contact-form-premium select:focus{border-color:var(--purple);box-shadow:0 0 0 4px rgba(143,99,217,.12);}
.option-grid,.interactive-grid,.interactive-grid-4{display:grid;gap:16px;}
.option-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
.option-grid-3{grid-template-columns:repeat(3,minmax(0,1fr));}
.interactive-grid{grid-template-columns:repeat(3,minmax(0,1fr));}
.interactive-grid-4{grid-template-columns:repeat(4,minmax(0,1fr));}
.option-box,.selection-card{position:relative;overflow:hidden;cursor:pointer;}
.option-box{padding:18px;}
.option-box input,.selection-card input{position:absolute;inset:0;opacity:0;cursor:pointer;}
.option-main,.selection-card-top{display:flex;align-items:center;gap:13px;}
.option-icon,.selection-icon{width:48px;height:48px;min-width:48px;border-radius:15px;}
.option-title,.selection-card h3{display:block;color:var(--black);font-weight:900;line-height:1.22;}
.option-subtitle,.selection-card p{display:block;color:var(--muted);font-size:.9rem;line-height:1.4;}
.option-check{position:absolute;top:13px;right:13px;width:26px;height:26px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#f1f1f5;color:#8a8a94;}
.option-box:has(input:checked),.selection-card:has(input:checked){border-color:#cbb3ff;background:var(--purple-faint);box-shadow:0 0 0 3px rgba(143,99,217,.10);}
.option-box:has(input:checked) .option-check{background:var(--purple-dark);color:#fff;}
.option-box:has(input:checked)::before,.selection-card:has(input:checked)::before{content:'Vybrané';position:absolute;top:12px;right:12px;z-index:3;background:var(--black);color:#fff;border-radius:999px;padding:5px 10px;font-size:.72rem;font-weight:900;}
.selection-card-body{padding:18px;position:relative;z-index:1;}
.selection-card-top{align-items:flex-start;margin-bottom:14px;}
.selection-price{font-size:1.12rem;font-weight:950;color:var(--purple-dark);white-space:nowrap;}
.summary-sticky-card{position:sticky;top:100px;padding:26px;background:var(--surface-purple);}
.summary-label{font-size:.9rem;color:var(--purple-dark);font-weight:900;margin-bottom:6px;text-transform:uppercase;letter-spacing:.06em;}
.summary-item-list{display:grid;gap:10px;margin-top:14px;}
.summary-chip{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border-radius:16px;background:#fff;box-shadow:none;}
.summary-chip span{font-weight:800;color:var(--black);}
.summary-chip strong{white-space:nowrap;color:var(--purple-dark);}
.contact-total-box{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:20px;padding:16px;border-radius:18px;background:var(--black);color:#fff;}
.contact-total-box strong{font-size:1.45rem;}
.summary-side-actions,.summary-actions,.pricing-actions{display:grid;gap:10px;}
.field-helper{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;color:var(--muted);font-size:.86rem;margin-top:8px;}
.contact-form-footer{display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap;margin-top:4px;}
.contact-form-note{display:flex;align-items:center;gap:10px;color:var(--muted);max-width:610px;}
.contact-form-note i{color:var(--purple-dark);}
.form-status-message{display:flex;align-items:center;gap:12px;margin:0 auto 24px;padding:15px 18px;max-width:880px;border-radius:18px;background:#eefbf3;border:1px solid #bee8cd;color:#123d22;font-weight:800;}
.form-status-message.is-error{background:#fff0f0;border-color:#ffc7c7;color:#6e1717;}
.upload-zone{position:relative;background:#fff;border-style:dashed;box-shadow:none;}
.upload-input{position:absolute!important;inset:0!important;opacity:0!important;cursor:pointer;}
.upload-ui{display:flex;align-items:center;gap:16px;padding:18px;}
.upload-icon{width:50px;height:50px;border-radius:16px;background:var(--purple-faint);color:var(--purple-dark);display:flex;align-items:center;justify-content:center;font-size:1.25rem;}
.upload-text strong{display:block;color:var(--black);}
.upload-text span{display:block;color:var(--muted);font-size:.9rem;}
.upload-meta{margin-top:10px;color:var(--muted);}
.upload-meta-row{display:flex;justify-content:space-between;gap:12px;font-weight:800;}
.upload-list{display:grid;gap:8px;margin-top:10px;}
.upload-item{display:flex;justify-content:space-between;gap:10px;padding:10px 12px;border:1px solid var(--line);border-radius:12px;background:#fff;color:var(--black);}
.helper-muted{font-size:.88rem;margin-top:8px;color:var(--muted);}

.cta-section{padding:28px 0 88px;}
.cta-box{padding:42px 30px;border-radius:30px;background:linear-gradient(135deg,#111,#28202f 62%,#4d3275);color:#fff;text-align:center;box-shadow:var(--shadow);}
.cta-box h2{color:#fff;font-size:clamp(2rem,4vw,3rem);margin-bottom:12px;}
.cta-box p{color:#f4efff;max-width:780px;margin:0 auto 22px;}
.cta-box .btn-secondary{background:#fff;color:var(--black);}
.cta-box .btn-primary{background:#fff;color:var(--black);}

.footer{border-top:1px solid var(--line);background:#fff;margin-top:24px;}
.footer-wrap{display:flex;align-items:flex-start;justify-content:space-between;gap:22px;padding:28px 0;}
.footer .brand-name{color:var(--black);}
.footer-links{display:flex;align-items:center;flex-wrap:wrap;gap:10px;}
.footer-links a{display:inline-flex;align-items:center;min-height:38px;padding:0 12px;border-radius:999px;color:#303037;font-weight:800;}
.footer-links a:hover{background:var(--surface-soft);}

.fade-up,.fade-left,.fade-right{animation:fadeUp .65s ease both;}
@keyframes fadeUp{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}

@media (max-width:1100px){
  .grid-4{grid-template-columns:repeat(2,minmax(0,1fr));}
  .contact-builder,.contact-hero-grid,.service-showcase,.interactive-grid,.interactive-grid-4{grid-template-columns:1fr;}
  .summary-sticky-card{position:static;}
}
@media (max-width:980px){
  .nav-toggle{display:inline-flex;}
  .nav{
    display:none;position:fixed;left:16px;right:16px;top:88px;z-index:100;flex-direction:column;align-items:stretch;gap:8px;padding:14px;
    background:#fff;border:1px solid var(--line);border-radius:22px;box-shadow:0 24px 70px rgba(17,17,17,.18);
  }
  .nav.nav-open{display:flex;}
  .nav a{justify-content:flex-start;border-radius:15px;background:#fff;border:1px solid var(--line);min-height:48px;}
  .nav a.active{background:var(--black);color:#fff;border-color:var(--black);}
  body.nav-open{overflow:hidden;}
  .pricing-grid,.pricing-grid-small,.gallery-grid,.path-grid,.quick-steps,.choose-grid,.info-boxes{grid-template-columns:repeat(2,minmax(0,1fr));}
  .split,.form-grid,.contact-grid,.option-grid-3{grid-template-columns:1fr;}
  .hero-cards,.service-showcase-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
  .split-image{order:-1;}
}
@media (max-width:760px){
  :root{--container:calc(100vw - 32px);--radius:20px;}
  body{padding-bottom:calc(env(safe-area-inset-bottom,0px) + 88px);}
  .nav-wrap{padding:10px 0;}
  .logo-circle{width:50px;height:50px;}
  .logo{max-height:32px;}
  .brand-name{font-size:1.04rem;}
  .brand-sub{font-size:.72rem;}
  .nav{top:74px;left:12px;right:12px;}
  .hero{min-height:auto;}
  .page-hero{min-height:auto;}
  .hero-content{padding:64px 0 54px;}
  .page-hero-content{padding:56px 0 48px;}
  .hero h1,.page-hero h1,.contact-hero-text h1{font-size:clamp(2.1rem,11vw,3.1rem);line-height:1.02;}
  .hero p,.page-hero p,.contact-hero-text p{font-size:.98rem;}
  .hero-buttons,.hero-buttons-left{display:grid;grid-template-columns:1fr;gap:10px;width:100%;}
  .hero-buttons .btn,.hero-buttons-left .btn{width:100%;}
  .hero-cards,.grid-4,.pricing-grid,.pricing-grid-small,.gallery-grid,.path-grid,.quick-steps,.choose-grid,.info-boxes,.option-grid,.interactive-grid,.interactive-grid-4{grid-template-columns:1fr;}
  .section{padding:58px 0;}
  .section-head{margin-bottom:28px;}
  .service-row{grid-template-columns:1fr;padding:20px;}
  .service-row-icon{width:62px;height:62px;border-radius:18px;font-size:1.35rem;}
  .card-links{display:grid;grid-template-columns:1fr;}
  .small-link{width:100%;}
  .service-card,.choose-card,.pricing-mini-card,.info-box,.gallery-card,.path-card,.quick-step,.contact-form-premium,.builder-section,.summary-sticky-card{padding:20px;}
  .pricing-card>img,.gallery-card img,.choose-card img{height:165px;}
  .pricing-top,.pricing-list,.pricing-actions,.pricing-price{margin-inline:20px;}
  .pricing-badge{position:static;display:inline-flex;margin:16px 16px 0 auto;width:max-content;}
  .contact-hero-new{padding:46px 0 36px;}
  .contact-hero-text,.contact-info-card{padding:22px;}
  .contact-hero-text h1{text-align:left;}
  .contact-form-premium input,.contact-form-premium textarea,.contact-form-premium select{font-size:16px;}
  .contact-form-footer{align-items:stretch;}
  .contact-form-footer .btn{width:100%;}
  .upload-ui{align-items:flex-start;}
  .upload-btn{display:none;}
  .compare-table{min-width:560px;}
  .compare-table th,.compare-table td{padding:12px 10px;font-size:.88rem;}
  .footer-wrap{flex-direction:column;}
  .bottom-dock{
    position:fixed;left:10px;right:10px;bottom:calc(10px + env(safe-area-inset-bottom,0px));z-index:120;
    display:flex;gap:7px;padding:8px;border-radius:22px;background:rgba(255,255,255,.94);backdrop-filter:blur(16px);border:1px solid var(--line);box-shadow:0 18px 50px rgba(17,17,17,.16);
  }
  .bottom-dock a{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;min-height:54px;border-radius:17px;color:#25252b;font-weight:850;font-size:.72rem;}
  .bottom-dock a.active{background:var(--black);color:#fff;}
  .bottom-dock i{font-size:1rem;}
}
@media (max-width:480px){
  :root{--container:calc(100vw - 24px);}
  .brand-sub{display:none;}
  .hero h1,.page-hero h1,.contact-hero-text h1{font-size:2rem;}
  .btn{min-height:48px;padding:0 16px;}
  .section{padding:48px 0;}
  .footer-links{gap:6px;}
}

/* =========================================================
   RVisio final tuning: viac čiernej, stále čistá biela/čierna
   s jemnými fialovými detailmi podľa loga
   ========================================================= */
.header{
  background:rgba(10,10,12,.94);
  border-bottom:1px solid rgba(255,255,255,.10);
  box-shadow:0 10px 35px rgba(0,0,0,.10);
}
.logo-circle{
  background:linear-gradient(135deg,#ffffff 0%,#f5f1ff 58%,#ffffff 100%);
  border:1px solid rgba(255,255,255,.18);
  box-shadow:0 12px 30px rgba(0,0,0,.22),0 0 0 1px rgba(143,99,217,.10);
}
.brand-name{color:#ffffff;}
.brand-sub{color:#d8d8de;}
.nav a{color:#f4f4f6;}
.nav a:hover{background:rgba(255,255,255,.10);color:#ffffff;}
.nav a.active{background:#ffffff;color:#0b0b0d;}
.nav-toggle{background:#151518;border-color:rgba(255,255,255,.16);box-shadow:0 12px 30px rgba(0,0,0,.22);}
.nav-toggle span{background:#ffffff;}

.hero-overlay,.contact-hero-overlay{
  background:
    linear-gradient(90deg,rgba(255,255,255,.95),rgba(255,255,255,.86) 45%,rgba(255,255,255,.68)),
    radial-gradient(circle at 78% 48%,rgba(12,12,14,.18),transparent 38%),
    radial-gradient(circle at 72% 42%,rgba(143,99,217,.20),transparent 34%);
}
.hero-badge,.contact-badge,.selector-badge{
  background:#0d0d10;
  border-color:#0d0d10;
  color:#ffffff;
  box-shadow:0 12px 28px rgba(0,0,0,.14);
}
.typewriter-highlight{
  background:linear-gradient(135deg,#0d0d10 0%,#20182a 72%,#6d43bb 100%);
  box-shadow:none;
}
.typewriter-highlight .typewriter-text,.typewriter-highlight .typewriter-cursor{color:#ffffff;}

.section-dark{
  background:linear-gradient(180deg,#0d0d10 0%,#151319 100%);
  border-block:1px solid rgba(255,255,255,.08);
  color:#ffffff;
}
.section-dark .section-head h2,
.section-dark .split-text h2,
.section-dark .service-row h2,
.section-dark .info-box h3,
.section-dark .quick-step h3{color:#ffffff;}
.section-dark .section-head p,
.section-dark .split-text p,
.section-dark .service-row p,
.section-dark .check-list li{color:#e7e7ec;}
.section-dark .check-list li::before{color:#c7a8ff;}
.section-dark .btn-primary{background:#ffffff;color:#0d0d10;box-shadow:0 14px 34px rgba(255,255,255,.10);}
.section-dark .btn-primary:hover{background:#efe7ff;color:#0d0d10;}
.section-dark .btn-secondary{background:rgba(255,255,255,.06);color:#ffffff;border-color:rgba(255,255,255,.22);box-shadow:none;}
.section-dark .btn-secondary:hover{background:rgba(255,255,255,.12);border-color:rgba(199,168,255,.45);}

.service-row-icon,.pricing-icon,.pricing-mini-icon,.selection-icon,.option-icon,.contact-line i,.quick-step-number{
  background:linear-gradient(135deg,#050506 0%,#17131f 58%,#6d43bb 100%);
}
.service-card,.choose-card,.pricing-card,.pricing-mini-card,.info-box,.contact-panel,.option-box,.gallery-card,.path-card,.quick-step,.service-row,.contact-hero-text,.contact-info-card,.selector-block,.selection-card,.selection-summary-card,.selection-list-box,.summary-sticky-card,.builder-section,.contact-form-premium,.compare-table-wrap,.form-smart-panel,.form-banner,.upload-zone,.summary-chip{
  border-color:#ddddE6;
}
.service-card:hover,.choose-card:hover,.pricing-card:hover,.pricing-mini-card:hover,.gallery-card:hover,.path-card:hover,.quick-step:hover,.service-row:hover,.selection-card:hover,.option-box:hover{
  border-color:#0d0d10;
  box-shadow:0 20px 55px rgba(0,0,0,.12);
}
.pricing-card-featured{border-color:#0d0d10;}
.pricing-badge,.option-box:has(input:checked)::before,.selection-card:has(input:checked)::before{background:#0d0d10;color:#ffffff;}
.small-link:hover,.btn-secondary:hover{border-color:#0d0d10;background:#f5f1ff;}

.cta-box{
  background:linear-gradient(135deg,#050506 0%,#111114 54%,#221a2e 78%,#6d43bb 100%);
}
.footer{
  background:#0d0d10;
  border-top:1px solid rgba(255,255,255,.10);
}
.footer .brand-name{color:#ffffff;}
.footer-text{color:#d8d8de;}
.footer-links a{color:#f4f4f6;}
.footer-links a:hover{background:rgba(255,255,255,.10);color:#ffffff;}

@media (max-width:980px){
  .nav{
    background:#0d0d10;
    border-color:rgba(255,255,255,.12);
    box-shadow:0 24px 70px rgba(0,0,0,.28);
  }
  .nav a{background:#151518;border-color:rgba(255,255,255,.12);color:#ffffff;}
  .nav a.active{background:#ffffff;color:#0d0d10;border-color:#ffffff;}
}
@media (max-width:760px){
  .bottom-dock{
    background:rgba(13,13,16,.94);
    border-color:rgba(255,255,255,.12);
    box-shadow:0 18px 50px rgba(0,0,0,.24);
  }
  .bottom-dock a{color:#f4f4f6;}
  .bottom-dock a.active{background:#ffffff;color:#0d0d10;}
}


/* =========================================================
   HEADER LOGO – animated, original feeling, no circle
   ========================================================= */
.logo-circle{
  width:auto !important;
  height:auto !important;
  padding:0;
  border-radius:0 !important;
  background:transparent !important;
  border:none !important;
  box-shadow:none !important;
  overflow:visible;
  animation:logoFloat 4.8s ease-in-out infinite;
  transform-origin:center;
}
.logo{
  max-height:52px;
  width:auto;
  filter:drop-shadow(0 10px 22px rgba(143,99,217,.18));
  transition:transform .28s ease,filter .28s ease;
}
.logo-box:hover .logo-circle,
.logo-circle:hover{
  transform:translateY(-2px) rotate(4deg) scale(1.04);
}
.logo-box:hover .logo,
.logo-circle:hover .logo{
  filter:drop-shadow(0 14px 28px rgba(143,99,217,.26));
}
@keyframes logoFloat{
  0%,100%{transform:translateY(0);}
  50%{transform:translateY(-4px);}
}
@media (max-width:760px){
  .logo-circle{width:auto !important;height:auto !important;}
  .logo{max-height:38px;}
}
@media (max-width:560px){
  .logo{max-height:34px;}
}


/* =========================================================
   FINAL POLISH – logo hover animation + better step cards
   ========================================================= */
.logo-circle{
  animation:none !important;
  transform-origin:center;
  transition:transform .25s ease, filter .25s ease;
}
.logo{
  transition:transform .28s ease,filter .28s ease;
}
.logo-box:hover .logo-circle,
.logo-circle:hover{
  animation:logoHoverWiggle .85s cubic-bezier(.22,.61,.36,1) 1;
}
.logo-box:hover .logo,
.logo-circle:hover .logo{
  transform:scale(1.06) rotate(-2deg);
  filter:drop-shadow(0 16px 30px rgba(143,99,217,.28));
}
@keyframes logoHoverWiggle{
  0%{transform:translateY(0) rotate(0deg) scale(1);}
  25%{transform:translateY(-3px) rotate(4deg) scale(1.04);}
  55%{transform:translateY(-1px) rotate(-3deg) scale(1.06);}
  80%{transform:translateY(-2px) rotate(2deg) scale(1.03);}
  100%{transform:translateY(0) rotate(0deg) scale(1);}
}

.quick-step{
  position:relative;
}
.quick-step-number{
  width:46px !important;
  height:46px !important;
  min-width:46px;
  border-radius:50% !important;
  margin:0 auto 16px;
  background:#ffffff !important;
  color:#111114 !important;
  border:1px solid #d8cdf4 !important;
  box-shadow:0 10px 24px rgba(0,0,0,.08), 0 0 0 6px rgba(133,94,201,.06) !important;
  font-weight:800;
  font-size:1rem;
  position:relative;
}
.quick-step-number::after{
  content:'';
  position:absolute;
  width:10px;
  height:10px;
  border-radius:50%;
  right:3px;
  top:3px;
  background:linear-gradient(135deg,#8f63d9,#b497f2);
  box-shadow:0 0 0 3px #ffffff;
}
.quick-step:hover .quick-step-number{
  transform:translateY(-2px) scale(1.04);
  box-shadow:0 14px 28px rgba(0,0,0,.10), 0 0 0 8px rgba(133,94,201,.07) !important;
}
.section-dark .quick-step-number{
  background:#ffffff !important;
  color:#111114 !important;
  border-color:#cab8f0 !important;
}
@media (max-width:760px){
  .quick-step-number{
    width:42px !important;
    height:42px !important;
    min-width:42px;
    margin-bottom:14px;
  }
  .quick-step-number::after{
    width:9px;
    height:9px;
  }
}


/* =========================================================
   AI AUTOMATIZÁCIE – doplnenie vizuálu a dôrazu
   ========================================================= */
.service-card-ai,
.service-row-ai,
.section-ai-pricing .pricing-card-featured{background:linear-gradient(180deg,#ffffff 0%,#fbf8ff 100%);} 
.service-row-featured{border-color:#d8d8e5;}
.service-row-ai{position:relative;overflow:hidden;}
.service-row-ai::after{content:'';position:absolute;right:-70px;top:-70px;width:210px;height:210px;border-radius:999px;background:radial-gradient(circle,rgba(143,99,217,.16),transparent 68%);pointer-events:none;}
.section-ai-pricing{background:linear-gradient(180deg,#ffffff 0%,#fbf8ff 55%,#ffffff 100%);border-top:1px solid var(--line);border-bottom:1px solid var(--line);} 
.section-ai-pricing .pricing-card > img{background:#fbf8ff;object-fit:cover;}
.service-showcase-grid img[src$="ai-automatizacia.svg"],.split-image img[src$="ai-automatizacia.svg"]{background:#fbf8ff;border:1px solid var(--line);} 
@media (max-width:760px){.section-ai-pricing .hero-badge{margin-bottom:12px;}}

/* =========================================================
   PROFESSIONAL FINAL VERSION — RVisio
   refined layout, richer sections, preserved color identity
   ========================================================= */
.section-kicker{display:inline-flex;align-items:center;gap:8px;margin-bottom:12px;padding:8px 13px;border-radius:999px;background:var(--purple-faint);border:1px solid #eadfff;color:var(--purple-dark);font-size:.78rem;font-weight:950;text-transform:uppercase;letter-spacing:.08em}.dark-kicker{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.18);color:#fff}.section-tight{padding:30px 0}.section-soft{background:linear-gradient(180deg,#fbfbfd,#fff);border-block:1px solid var(--line)}
.hero-pro{min-height:auto;background:radial-gradient(circle at 78% 30%,rgba(143,99,217,.15),transparent 30%),linear-gradient(180deg,#fff,#fbfbfd)}.hero-pro-grid{display:grid;grid-template-columns:1.02fr .98fr;gap:36px;align-items:center;padding:92px 0 72px}.hero-pro-copy{text-align:left}.hero-pro-copy h1{font-family:'Cormorant Garamond',Georgia,serif;font-size:clamp(2.4rem,5.4vw,5.4rem);line-height:.98;letter-spacing:-.04em;margin:18px 0;color:var(--black)}.hero-pro-copy p{font-size:1.08rem;color:var(--muted);max-width:720px}.hero-trust-row{display:flex;flex-wrap:wrap;gap:10px;margin:22px 0 4px}.hero-trust-row span{display:inline-flex;align-items:center;gap:8px;padding:9px 13px;border-radius:999px;background:#fff;border:1px solid var(--line);box-shadow:var(--shadow-soft);font-weight:850;color:#25252b}.hero-trust-row i{color:var(--purple-dark)}.hero-pro-visual{position:relative}.hero-pro-visual>img,.page-hero-split>img{width:100%;border-radius:30px;border:1px solid rgba(17,17,17,.08);box-shadow:0 28px 90px rgba(17,17,17,.13);object-fit:cover}.floating-proof{position:absolute;background:rgba(255,255,255,.92);backdrop-filter:blur(16px);border:1px solid var(--line);border-radius:20px;padding:14px 16px;box-shadow:0 18px 45px rgba(17,17,17,.12);display:grid;gap:2px}.floating-proof strong{color:var(--black);line-height:1}.floating-proof span{color:var(--muted);font-size:.84rem;font-weight:750}.proof-a{left:-18px;bottom:34px}.proof-b{right:-12px;top:36px}.trust-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;padding:16px;border:1px solid var(--line);border-radius:26px;background:#fff;box-shadow:var(--shadow-soft)}.trust-strip div{padding:16px 18px;border-radius:18px;background:linear-gradient(135deg,#fff,#fbf8ff)}.trust-strip strong{display:block;color:var(--black);font-size:1rem}.trust-strip span{display:block;color:var(--muted);font-weight:650;font-size:.9rem}.product-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.product-card{display:grid;grid-template-columns:220px 1fr;gap:20px;padding:16px;background:#fff;border:1px solid var(--line);border-radius:30px;box-shadow:var(--shadow-soft);transition:.24s ease}.product-card:hover{transform:translateY(-6px);border-color:#111;box-shadow:var(--shadow)}.product-card img{height:100%;min-height:220px;width:100%;object-fit:cover;border-radius:22px}.product-card div{align-self:center}.product-card span{display:inline-flex;margin-bottom:9px;color:var(--purple-dark);font-weight:950;font-size:.78rem;text-transform:uppercase;letter-spacing:.08em}.product-card h3{font-size:1.35rem;line-height:1.15;color:var(--black);margin-bottom:10px}.product-card p{color:var(--muted);margin-bottom:14px}.product-card strong{display:inline-flex;padding:8px 12px;border-radius:999px;background:#0d0d10;color:#fff}.product-card-featured{background:linear-gradient(135deg,#fff,#fbf8ff);border-color:#d8c7ff}.split-pro{gap:42px}.benefit-panel,.value-stack{display:grid;gap:16px}.benefit-card,.review-card,.value-card{background:#fff;border:1px solid var(--line);border-radius:24px;padding:24px;box-shadow:var(--shadow-soft)}.section-dark .benefit-card{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.14);box-shadow:none}.benefit-card i,.value-card i{width:48px;height:48px;border-radius:16px;display:flex;align-items:center;justify-content:center;margin-bottom:14px;background:linear-gradient(135deg,#050506,#6d43bb);color:#fff}.benefit-card h3,.value-card h3{color:var(--black);margin-bottom:7px}.section-dark .benefit-card h3{color:#fff}.benefit-card p,.review-card p,.value-card p{color:var(--muted)}.section-dark .benefit-card p{color:#e7e7ec}.process-steps .quick-step{text-align:center}.review-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.stars{color:var(--purple-dark);font-weight:950;letter-spacing:.08em;margin-bottom:12px}.review-card strong{display:block;margin-top:14px;color:var(--black)}.page-hero-pro{min-height:auto;background:radial-gradient(circle at 82% 30%,rgba(143,99,217,.16),transparent 32%),linear-gradient(180deg,#fff,#fbfbfd)}.page-hero-split{display:grid;grid-template-columns:1fr .78fr;gap:34px;align-items:center;padding:72px 0}.page-hero-split h1{font-family:'Cormorant Garamond',Georgia,serif;font-size:clamp(2.2rem,4.7vw,4.4rem);line-height:1;letter-spacing:-.035em;margin:15px 0;color:var(--black)}.page-hero-split p{font-size:1.05rem;color:var(--muted);max-width:760px}.page-hero-split img{max-height:410px}.services-feature-list{display:grid;gap:28px}.service-feature{display:grid;grid-template-columns:.88fr 1.12fr;gap:34px;align-items:center;padding:24px;background:#fff;border:1px solid var(--line);border-radius:34px;box-shadow:var(--shadow-soft)}.service-feature-reverse{grid-template-columns:1.12fr .88fr}.service-feature-reverse .service-feature-media{order:2}.service-feature-media img{width:100%;height:360px;object-fit:cover;border-radius:26px;box-shadow:var(--shadow-soft)}.service-feature h2{font-family:'Cormorant Garamond',Georgia,serif;font-size:clamp(1.9rem,3.2vw,3rem);line-height:1.05;color:var(--black);margin-bottom:12px}.service-feature p{color:var(--muted)}.faq-list{display:grid;gap:12px;max-width:900px;margin:0 auto}.faq-list details{background:#fff;border:1px solid var(--line);border-radius:20px;box-shadow:var(--shadow-soft);padding:18px 20px}.faq-list summary{cursor:pointer;font-weight:900;color:var(--black);font-size:1.05rem}.faq-list p{margin-top:10px;color:var(--muted)}.contact-hero-pro{background:radial-gradient(circle at 74% 36%,rgba(143,99,217,.16),transparent 32%),linear-gradient(180deg,#fff,#fbfbfd)}.contact-builder-pro{grid-template-columns:1fr 380px}.contact-form-pro{border-radius:30px}.form-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ai-selection{background:linear-gradient(135deg,#fff,#fbf8ff)}.inline-radios{display:flex;flex-wrap:wrap;gap:10px}.inline-radios label{display:inline-flex!important;align-items:center;gap:7px;padding:12px 13px;border:1px solid var(--line);border-radius:14px;background:#fff;cursor:pointer}.inline-radios input{width:auto!important}.mini-guarantee{display:flex;gap:10px;margin-top:16px;padding:14px;border-radius:16px;background:#fff;border:1px solid var(--line);color:var(--muted);font-weight:750}.mini-guarantee i{color:var(--purple-dark);margin-top:3px}.form-banner-illu i{font-size:1.5rem;color:var(--purple-dark)}.upload-zone.is-dragover{background:var(--purple-faint);border-color:var(--purple)}.upload-remove{border:none;background:#111;color:#fff;width:32px;height:32px;border-radius:50%;cursor:pointer}.upload-details{min-width:0}.upload-name{font-weight:850;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.upload-sub{font-size:.85rem;color:var(--muted)}.value-card{display:grid;grid-template-columns:auto 1fr;gap:0 16px;align-items:start}.value-card i{grid-row:1/3}.value-card h3{margin-top:2px}.value-card p{grid-column:2}.ai-price .pricing-subtitle,.section-dark .pricing-subtitle,.section-dark .pricing-list li{color:#e7e7ec}.section-dark .pricing-card{background:rgba(255,255,255,.07);border-color:rgba(255,255,255,.16);box-shadow:none}.section-dark .pricing-card h3,.section-dark .pricing-price{color:#fff}.section-dark .pricing-card>img{opacity:.95}.section-dark .pricing-list li::before{color:#c7a8ff}.section-dark .pricing-card .btn-primary{background:#fff;color:#0d0d10}.section-dark .pricing-card .pricing-badge{background:#fff;color:#0d0d10}
@media (max-width:1100px){.hero-pro-grid,.page-hero-split,.contact-builder-pro{grid-template-columns:1fr}.page-hero-split img{max-height:none}.trust-strip{grid-template-columns:repeat(2,1fr)}.product-card{grid-template-columns:1fr}.product-card img{height:260px}.service-feature,.service-feature-reverse{grid-template-columns:1fr}.service-feature-reverse .service-feature-media{order:0}.form-card-grid{grid-template-columns:1fr}.floating-proof{position:static;margin-top:12px}.hero-pro-visual{display:grid}.review-grid{grid-template-columns:1fr}}
@media (max-width:760px){.hero-pro-grid{padding:54px 0 44px}.hero-pro-copy h1,.page-hero-split h1{font-size:2.25rem}.hero-pro-copy p,.page-hero-split p{font-size:.98rem}.hero-trust-row{display:grid}.trust-strip{grid-template-columns:1fr}.product-grid{grid-template-columns:1fr}.product-card{padding:12px;border-radius:24px}.product-card img{height:210px;border-radius:18px}.page-hero-split{padding:46px 0}.service-feature{padding:16px;border-radius:26px}.service-feature-media img{height:220px;border-radius:20px}.contact-builder-pro{gap:16px}.inline-radios{display:grid}.form-banner{align-items:flex-start}.value-card{grid-template-columns:1fr}.value-card p{grid-column:1}.value-card i{grid-row:auto}.section-tight{padding:20px 0}}


/* =========================================================
   Hero background artwork refresh – richer local visuals
   ========================================================= */
.hero-home-pro,
.page-hero-services-pro,
.page-hero-about-pro,
.page-hero-pricing-pro,
.contact-hero-bg-pro{
  background-repeat:no-repeat;
  background-size:cover;
  background-position:center right;
  border-bottom:1px solid rgba(17,17,17,.06);
}
.hero-home-pro{
  background-image:
    linear-gradient(90deg,rgba(255,255,255,.97) 0%,rgba(255,255,255,.90) 42%,rgba(255,255,255,.66) 100%),
    url('bg-home-hero.png');
}
.page-hero-services-pro{
  background-image:
    linear-gradient(90deg,rgba(255,255,255,.97) 0%,rgba(255,255,255,.90) 42%,rgba(255,255,255,.70) 100%),
    url('bg-services-hero.png');
}
.page-hero-about-pro{
  background-image:
    linear-gradient(90deg,rgba(255,255,255,.97) 0%,rgba(255,255,255,.91) 45%,rgba(255,255,255,.72) 100%),
    url('bg-about-hero.png');
}
.page-hero-pricing-pro{
  background-image:
    linear-gradient(90deg,rgba(255,255,255,.97) 0%,rgba(255,255,255,.90) 43%,rgba(255,255,255,.68) 100%),
    url('bg-pricing-hero.png');
}
.contact-hero-bg-pro{
  background-image:url('bg-contact-hero.png');
  background-position:center right;
}
.contact-hero-bg-pro .contact-hero-overlay{
  background:
    linear-gradient(90deg,rgba(255,255,255,.97),rgba(255,255,255,.91) 46%,rgba(255,255,255,.72)),
    radial-gradient(circle at 78% 48%,rgba(143,99,217,.16),transparent 35%),
    linear-gradient(180deg,rgba(255,255,255,.05),rgba(255,255,255,.08));
}
.hero-home-pro .hero-pro-visual>img,
.page-hero-services-pro .page-hero-split>img,
.page-hero-about-pro .page-hero-split>img,
.page-hero-pricing-pro .page-hero-split>img{
  background:rgba(255,255,255,.86);
  backdrop-filter:blur(8px);
}
@media (max-width:980px){
  .hero-home-pro,
  .page-hero-services-pro,
  .page-hero-about-pro,
  .page-hero-pricing-pro,
  .contact-hero-bg-pro{
    background-position:72% center;
  }
}
@media (max-width:760px){
  .hero-home-pro{
    background-image:
      linear-gradient(180deg,rgba(255,255,255,.97) 0%,rgba(255,255,255,.92) 36%,rgba(255,255,255,.86) 100%),
      url('bg-home-hero.png');
    background-position:76% center;
  }
  .page-hero-services-pro{
    background-image:
      linear-gradient(180deg,rgba(255,255,255,.97) 0%,rgba(255,255,255,.92) 38%,rgba(255,255,255,.86) 100%),
      url('bg-services-hero.png');
    background-position:74% center;
  }
  .page-hero-about-pro{
    background-image:
      linear-gradient(180deg,rgba(255,255,255,.97) 0%,rgba(255,255,255,.93) 40%,rgba(255,255,255,.87) 100%),
      url('bg-about-hero.png');
    background-position:73% center;
  }
  .page-hero-pricing-pro{
    background-image:
      linear-gradient(180deg,rgba(255,255,255,.97) 0%,rgba(255,255,255,.92) 38%,rgba(255,255,255,.86) 100%),
      url('bg-pricing-hero.png');
    background-position:74% center;
  }
  .contact-hero-bg-pro .contact-hero-overlay{
    background:
      linear-gradient(180deg,rgba(255,255,255,.97),rgba(255,255,255,.93) 42%,rgba(255,255,255,.88)),
      radial-gradient(circle at 78% 42%,rgba(143,99,217,.13),transparent 32%);
  }
}


/* =========================================================
   RVisio realistic/pro visual refresh – richer visuals, inspired by modern AI-service layouts
   ========================================================= */
.hero-home-pro{
  background-image:
    linear-gradient(90deg,rgba(255,255,255,.97) 0%,rgba(255,255,255,.88) 40%,rgba(255,255,255,.64) 100%),
    url('bg-home-rich.png') !important;
}
.page-hero-services-pro{
  background-image:
    linear-gradient(90deg,rgba(255,255,255,.97) 0%,rgba(255,255,255,.88) 42%,rgba(255,255,255,.66) 100%),
    url('bg-services-rich.png') !important;
}
.page-hero-about-pro{
  background-image:
    linear-gradient(90deg,rgba(255,255,255,.98) 0%,rgba(255,255,255,.90) 43%,rgba(255,255,255,.68) 100%),
    url('bg-about-rich.png') !important;
}
.page-hero-pricing-pro{
  background-image:
    linear-gradient(90deg,rgba(255,255,255,.98) 0%,rgba(255,255,255,.90) 43%,rgba(255,255,255,.68) 100%),
    url('bg-pricing-rich.png') !important;
}
.contact-hero-bg-pro{
  background-image:url('bg-contact-rich.png') !important;
}
.hero-pro-visual > img,
.page-hero-split > img,
.product-card img,
.service-feature-media img,
.pricing-card > img,
.pricing-photo-card img,
.usecase-card img{
  filter:saturate(1.02) contrast(1.02);
}
.hero-pro-visual > img,
.page-hero-split > img{
  border:1px solid rgba(255,255,255,.65);
  background:rgba(255,255,255,.72);
  box-shadow:0 30px 90px rgba(17,17,17,.18),0 0 0 10px rgba(255,255,255,.35);
}
.hero-pro-grid{position:relative;}
.hero-pro-grid::before{
  content:'';
  position:absolute;
  right:5%;top:16%;width:360px;height:360px;border-radius:999px;
  background:radial-gradient(circle,rgba(143,99,217,.22),transparent 64%);
  filter:blur(8px);
  pointer-events:none;
}
.hero-trust-row span{
  backdrop-filter:blur(10px);
  background:rgba(255,255,255,.78);
  border:1px solid rgba(17,17,17,.08);
  border-radius:999px;
  padding:8px 12px;
}
.floating-proof{
  backdrop-filter:blur(14px);
  border:1px solid rgba(255,255,255,.75);
  background:rgba(255,255,255,.84);
}
.orbit-section{padding:38px 0;background:#0d0d10;color:#fff;overflow:hidden;position:relative;}
.orbit-section::before{content:'';position:absolute;inset:auto -15% -45% auto;width:520px;height:520px;border-radius:999px;background:rgba(143,99,217,.22);filter:blur(65px);}
.orbit-wrap{display:grid;grid-template-columns:1fr 440px;gap:36px;align-items:center;position:relative;z-index:1;}
.orbit-copy h2{font-family:'Cormorant Garamond',Georgia,serif;font-size:clamp(2rem,3.4vw,3.2rem);line-height:1.04;margin:8px 0 10px;color:#fff;}
.orbit-copy p{color:#e7e7ec;max-width:720px;}
.orbit-visual{height:300px;position:relative;border:1px solid rgba(255,255,255,.13);border-radius:32px;background:radial-gradient(circle at 50% 50%,rgba(143,99,217,.22),rgba(255,255,255,.04) 42%,rgba(255,255,255,.02));overflow:hidden;}
.orbit-visual::before,.orbit-visual::after{content:'';position:absolute;inset:44px;border:1px dashed rgba(199,168,255,.34);border-radius:50%;animation:spinOrbit 18s linear infinite;}
.orbit-visual::after{inset:78px;animation-duration:24s;animation-direction:reverse;opacity:.7;}
.orbit-core{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:90px;height:90px;border-radius:28px;background:#fff;display:flex;align-items:center;justify-content:center;box-shadow:0 20px 55px rgba(0,0,0,.35);z-index:2;}
.orbit-core img{max-width:66px;max-height:66px;}
.orbit-visual span{position:absolute;left:50%;top:50%;display:inline-flex;align-items:center;gap:8px;min-width:126px;justify-content:center;padding:10px 12px;border-radius:999px;background:rgba(255,255,255,.92);color:#111;font-weight:900;box-shadow:0 14px 34px rgba(0,0,0,.22);}
.orbit-visual span:nth-of-type(1){transform:translate(-50%,-50%) translate(-155px,-72px)}
.orbit-visual span:nth-of-type(2){transform:translate(-50%,-50%) translate(150px,-70px)}
.orbit-visual span:nth-of-type(3){transform:translate(-50%,-50%) translate(-145px,82px)}
.orbit-visual span:nth-of-type(4){transform:translate(-50%,-50%) translate(145px,82px)}
.orbit-visual i{color:var(--purple-dark);}
@keyframes spinOrbit{to{transform:rotate(360deg)}}
.product-grid{align-items:stretch;}
.product-card{position:relative;overflow:hidden;}
.product-card::after{content:'';position:absolute;right:-80px;bottom:-100px;width:210px;height:210px;border-radius:999px;background:rgba(143,99,217,.10);filter:blur(8px);}
.product-card > div{position:relative;z-index:1;}
.product-card img{box-shadow:inset 0 0 0 1px rgba(255,255,255,.25);}
.usecase-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;}
.usecase-card{background:#fff;border:1px solid var(--line);border-radius:28px;overflow:hidden;box-shadow:var(--shadow-soft);transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease;}
.usecase-card:hover{transform:translateY(-6px);border-color:#111;box-shadow:var(--shadow);}
.usecase-card img{width:100%;height:210px;object-fit:cover;}
.usecase-card h3{padding:20px 22px 6px;color:var(--black);}
.usecase-card p{padding:0 22px 22px;color:var(--muted);}
.pricing-photo-card{position:relative;border-radius:34px;overflow:hidden;box-shadow:0 28px 80px rgba(17,17,17,.16);min-height:420px;background:#0d0d10;}
.pricing-photo-card img{width:100%;height:100%;min-height:420px;object-fit:cover;opacity:.92;}
.pricing-photo-card::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,transparent 38%,rgba(13,13,16,.88));}
.pricing-photo-card div{position:absolute;left:24px;right:24px;bottom:24px;z-index:1;display:flex;justify-content:space-between;gap:14px;align-items:center;padding:18px;border-radius:22px;background:rgba(255,255,255,.90);backdrop-filter:blur(14px);}
.pricing-photo-card strong{color:#111;font-size:1.2rem;}
.pricing-photo-card span{display:inline-flex;border-radius:999px;background:#111;color:#fff;font-weight:950;padding:9px 13px;white-space:nowrap;}
.contact-proof-strip{padding:26px 0 0;background:linear-gradient(180deg,#fff,#fbfbfd);}
.contact-proof-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;}
.contact-proof-grid div{display:grid;grid-template-columns:auto 1fr;gap:2px 12px;padding:18px 20px;border:1px solid var(--line);border-radius:22px;background:#fff;box-shadow:var(--shadow-soft);}
.contact-proof-grid i{grid-row:1/3;width:44px;height:44px;border-radius:15px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#050506,#6d43bb);color:#fff;}
.contact-proof-grid strong{color:#111;line-height:1.2;}
.contact-proof-grid span{color:var(--muted);font-size:.92rem;}
.form-smart-panel{background:linear-gradient(135deg,#0d0d10,#21182d);color:#fff;}
.form-smart-panel h4,.form-smart-panel .smart-panel-label{color:#fff;}
.form-smart-panel .smart-progress-pill,.form-smart-panel .smart-tag{background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.18);color:#fff;}
.smart-progress-bar{background:rgba(255,255,255,.18);}
.smart-progress-bar span{background:linear-gradient(90deg,#fff,#b497f2);}
.contact-form-premium{box-shadow:0 25px 80px rgba(17,17,17,.10);}
.selection-card.compact-card{min-height:100%;}
.selection-card-body{background:linear-gradient(180deg,rgba(255,255,255,.75),rgba(255,255,255,.98));}
.upload-zone{background:linear-gradient(135deg,#fff,#fbf8ff);}
@media (max-width:1100px){
  .orbit-wrap{grid-template-columns:1fr;}
  .usecase-grid,.contact-proof-grid{grid-template-columns:1fr;}
}
@media (max-width:760px){
  .orbit-section{padding:34px 0;}
  .orbit-visual{height:260px;}
  .orbit-visual span{font-size:.78rem;min-width:104px;padding:8px 10px;}
  .orbit-visual span:nth-of-type(1){transform:translate(-50%,-50%) translate(-95px,-72px)}
  .orbit-visual span:nth-of-type(2){transform:translate(-50%,-50%) translate(96px,-72px)}
  .orbit-visual span:nth-of-type(3){transform:translate(-50%,-50%) translate(-96px,76px)}
  .orbit-visual span:nth-of-type(4){transform:translate(-50%,-50%) translate(96px,76px)}
  .orbit-core{width:74px;height:74px;border-radius:22px;}
  .orbit-core img{max-width:54px;}
  .pricing-photo-card,.pricing-photo-card img{min-height:300px;}
  .pricing-photo-card div{display:grid;align-items:start;}
}

/* =========================================================
   FINAL FTP FIX – cache-safe layout + stable hero rendering
   ========================================================= */
.hero-pro-grid,
.page-hero-split{
  display:grid !important;
  align-items:center !important;
}
.hero-pro-grid{
  grid-template-columns:minmax(0,1.02fr) minmax(360px,.98fr) !important;
  gap:clamp(24px,4vw,46px) !important;
}
.page-hero-split{
  grid-template-columns:minmax(0,1fr) minmax(320px,.78fr) !important;
  gap:clamp(22px,4vw,42px) !important;
}
.hero-pro-copy,
.page-hero-split > div{
  min-width:0 !important;
  text-align:left !important;
}
.hero-pro-copy h1{
  max-width:780px !important;
  font-size:clamp(2.45rem,4.75vw,4.85rem) !important;
  line-height:1.02 !important;
}
.hero-pro-copy h1 .typewriter-highlight{
  display:inline-flex !important;
  align-items:center !important;
  width:auto !important;
  max-width:100% !important;
  min-height:0 !important;
  font-size:.82em !important;
  line-height:.98 !important;
  padding:.04em .18em .08em !important;
  vertical-align:baseline !important;
  white-space:nowrap !important;
}
.hero-pro-copy h1 .typewriter-text,
.hero-pro-copy h1 .typewriter-cursor{
  line-height:1 !important;
}
.hero-pro-visual{
  display:block !important;
  min-width:0 !important;
  position:relative !important;
}
.hero-pro-visual > img,
.page-hero-split > img{
  display:block !important;
  width:100% !important;
  height:auto !important;
  max-width:100% !important;
  object-fit:cover !important;
}
.product-card img,
.service-feature-media img,
.pricing-card > img,
.usecase-card img{
  display:block !important;
  width:100% !important;
  object-fit:cover !important;
}
@media (max-width:1100px){
  .hero-pro-grid,
  .page-hero-split{
    grid-template-columns:1fr !important;
  }
  .hero-pro-copy h1{
    max-width:none !important;
  }
}
@media (max-width:760px){
  .hero-pro-copy h1 .typewriter-highlight{
    font-size:.78em !important;
    white-space:normal !important;
  }
}
