
:root{
    --navy:#06183f;
    --navy-2:#0b2b68;
    --blue:#0e7dff;
    --blue-2:#4aa7ff;
    --purple:#6a43f4;
    --cyan:#22c7bd;
    --text:#081a40;
    --muted:#5d6d8a;
    --line:#dce7f8;
    --soft:#f5f9ff;
    --white:#fff;
    --shadow:0 18px 45px rgba(25,70,140,.10);
    --radius:22px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:"Source Sans 3",Arial,sans-serif;color:var(--text);background:#fff;font-size:18px;line-height:1.55}
img{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration:none}
p{margin:0 0 1.2rem;color:var(--muted)}
h1,h2,h3{margin:0 0 1rem;line-height:1.08;letter-spacing:-.025em}
h1{font-size:clamp(3rem,6vw,5.6rem);font-weight:600}
h1 span,h2 span{color:var(--blue)}
h2{font-size:clamp(2.1rem,4vw,3.7rem);font-weight:600}
h3{font-size:1.35rem}
.container{width:min(1180px,calc(100% - 40px));margin:auto}
.narrow{max-width:850px}
.center{text-align:center}
.section{padding:100px 0}
.compact-top{padding-top:24px}
.section-soft{background:linear-gradient(180deg,#f7faff,#f1f7ff)}
.section-dark{background:radial-gradient(circle at 80% 20%,#164a9b 0,#0b2a67 35%,#06183f 75%);color:#fff}
.section-dark p{color:#d6e3fb}
.eyebrow{display:inline-flex;align-items:center;gap:8px;margin-bottom:18px;font-size:.84rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#176fd8}
.eyebrow::before{content:"";width:26px;height:2px;background:currentColor}
.eyebrow-light{color:#8ac4ff}
.lead,.section-lead{font-size:1.25rem;max-width:760px}
.section-lead{margin-inline:auto}
.skip-link{position:absolute;left:-9999px;top:10px;background:#fff;padding:10px;z-index:10000}
.skip-link:focus{left:10px}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
.site-header{position:sticky;top:0;z-index:1000;background:rgba(255,255,255,.92);backdrop-filter:blur(16px);border-bottom:1px solid rgba(220,231,248,.85)}
.header-inner{height:82px;display:flex;align-items:center;gap:28px}
.brand img{width:165px}
.main-nav{margin-left:auto;display:flex;align-items:center;gap:28px;font-size:1rem;font-weight:600}
.main-nav a{color:#4c5e7f;position:relative}
.main-nav a:hover,.main-nav a.is-active{color:var(--navy)}
.main-nav a.is-active::after{content:"";position:absolute;left:0;right:0;bottom:-12px;height:2px;background:var(--blue)}
.menu-toggle{display:none;background:none;border:0;padding:8px}
.menu-toggle span:not(.sr-only){display:block;width:25px;height:2px;background:var(--navy);margin:5px 0}
.button{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:0 25px;border:1px solid transparent;border-radius:14px;background:linear-gradient(135deg,#087cff,#4168f3);color:#fff;font-weight:700;box-shadow:0 12px 28px rgba(14,125,255,.24);transition:.2s ease;cursor:pointer;font:inherit}
.button:hover{transform:translateY(-2px);box-shadow:0 16px 32px rgba(14,125,255,.3)}
.button-small{min-height:44px;padding:0 18px;font-size:.95rem}
.button-secondary{background:#fff;color:var(--navy);border-color:#cdddf5;box-shadow:none}
.button-light{background:#fff;color:var(--navy);box-shadow:none}
.button-row{display:flex;gap:14px;flex-wrap:wrap;margin:28px 0}
.hero{padding-top:70px;overflow:hidden;background:radial-gradient(circle at 80% 25%,#edf5ff,transparent 40%)}
.hero-grid{display:grid;grid-template-columns:.88fr 1.45fr;align-items:center;gap:30px}
.hero-copy{padding:40px 0;position:relative;z-index:2}
.hero-copy h1{font-size:clamp(3.2rem,6.4vw,6.2rem)}
.hero-visual{margin-right:-130px}
.hero-visual img{width:1200px;max-width:none}
.hero-points{display:flex;flex-wrap:wrap;gap:14px;margin-top:30px;color:#435777;font-size:.95rem}
.hero-points span{padding-left:22px;position:relative}
.hero-points span::before{content:"✓";position:absolute;left:0;color:#1b8cfa;font-weight:700}
.trust-strip{padding:28px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:#fbfdff}
.trust-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.trust-grid div{display:flex;flex-direction:column;padding:8px 20px;border-left:2px solid #d8e8ff}
.trust-grid strong{font-size:1.1rem}
.trust-grid span{font-size:.95rem;color:var(--muted)}
.visual-frame,.image-card{border-radius:var(--radius);overflow:hidden;background:#fff;border:1px solid #e3ecfa;box-shadow:var(--shadow)}
.visual-frame{margin-top:50px}
.visual-frame img,.wide-image img{width:100%}
.two-column{display:grid;grid-template-columns:1fr 1.12fr;align-items:center;gap:70px}
.check-list{list-style:none;padding:0;margin:25px 0}
.check-list li{position:relative;padding:9px 0 9px 34px;color:#3d4f6d}
.check-list li::before{content:"✓";position:absolute;left:0;top:9px;width:23px;height:23px;border-radius:50%;display:grid;place-items:center;background:#eaf5ff;color:#0d7be8;font-size:.8rem;font-weight:700}
.text-link{display:inline-flex;gap:8px;color:#0b72df;font-weight:700}
.section-heading{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:35px}
.card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.feature-card,.detail-card,.branch-card,.contact-panel,.form-panel{background:#fff;border:1px solid #e0e9f7;border-radius:20px;padding:28px;box-shadow:0 12px 35px rgba(28,68,130,.07)}
.feature-card{transition:.2s ease}
.feature-card:hover{transform:translateY(-4px);box-shadow:var(--shadow)}
.feature-card .icon{width:52px;height:52px;border-radius:15px;display:grid;place-items:center;margin-bottom:25px;background:linear-gradient(135deg,#e8f4ff,#eef0ff);font-size:1.6rem;color:#086ee5}
.feature-card p{margin-bottom:0}
.branch-links{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;margin-top:28px}
.branch-links a{padding:10px 15px;border-radius:999px;background:#fff;border:1px solid #dfe9f7;color:#40516e;font-weight:600;font-size:.95rem}
.branch-links a:hover{border-color:#7fb7ff;color:#0874e3}
.cta-section{padding-top:50px}
.cta-panel{padding:48px 55px;border-radius:28px;background:linear-gradient(135deg,#071a44,#104a9c);color:#fff;display:flex;justify-content:space-between;align-items:center;gap:40px}
.cta-panel h2{font-size:clamp(2rem,3vw,3rem)}
.cta-panel p{color:#d7e6ff;margin-bottom:0}
.site-footer{background:#06142f;color:#fff;padding:70px 0 25px;margin-top:70px}
.footer-grid{display:grid;grid-template-columns:1.7fr 1fr 1fr;gap:70px}
.footer-logo{width:160px;filter:brightness(0) invert(1);margin-bottom:20px}
.footer-grid p{color:#aebddb;max-width:480px}
.footer-grid h2{font-size:1rem;letter-spacing:.08em;text-transform:uppercase}
.footer-grid a{display:block;color:#c9d5ea;margin:9px 0}
.footer-grid a:hover{color:#fff}
.footer-bottom{border-top:1px solid rgba(255,255,255,.12);margin-top:45px;padding-top:22px;display:flex;justify-content:space-between;color:#8ea0c1;font-size:.9rem}
.page-hero{padding-bottom:45px;background:radial-gradient(circle at 50% 0,#eef6ff,transparent 55%)}
.page-hero h1{font-size:clamp(3rem,5.5vw,5.2rem)}
.three-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.detail-card .step{font-size:.85rem;color:#1678e8;font-weight:700}
.detail-card h2{font-size:1.7rem;margin-top:35px}
.modules-page-grid{grid-template-columns:repeat(3,1fr)}
.module-card h2{font-size:1.5rem}
.module-status{display:inline-block;margin-top:18px;padding:6px 10px;border-radius:99px;background:#f0f6ff;color:#2c6db8;font-size:.8rem;font-weight:700}
.branch-detail-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:22px}
.branch-card span{font-size:.85rem;color:#7f98bb;font-weight:700}
.branch-card h2{font-size:1.8rem;margin-top:25px}
.branch-card strong{display:block;color:#37618f;font-size:.95rem}
.branch-card a{color:#0875e6;font-weight:700}
.branch-card.highlight{border-color:#bdd7ff;background:linear-gradient(145deg,#fff,#f4f9ff)}
.industry-hero{padding-top:85px;background:radial-gradient(circle at 90% 20%,#edf5ff,transparent 45%)}
.industry-hero h1{font-size:clamp(3rem,5vw,5rem)}
.availability-note{padding:15px 18px;border-radius:14px;background:#f2f7ff;border:1px solid #d8e7fb;font-size:.9rem}
.stat-panel{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid #dce8f7;border-radius:22px;overflow:hidden}
.stat-panel div{padding:35px 20px;text-align:center;background:#f7faff;border-right:1px solid #dce8f7}
.stat-panel div:last-child{border:0}
.stat-panel strong{display:block;font-size:2.6rem;color:#0b73df}
.stat-panel span{font-size:.9rem;color:#60728f}
.contact-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:25px;align-items:start}
.contact-direct{margin:25px 0;padding:20px;border-radius:15px;background:#f3f8ff}
.contact-direct span{display:block;font-size:.8rem;color:#7385a1;text-transform:uppercase;letter-spacing:.1em}
.contact-direct a{color:#0874e3;font-weight:700}
.form-panel label{display:block;font-weight:600;margin-bottom:17px}
.form-panel input,.form-panel textarea{display:block;width:100%;margin-top:7px;padding:14px 15px;border:1px solid #cfdcf0;border-radius:12px;background:#fbfdff;font:inherit;color:var(--navy)}
.form-panel input:focus,.form-panel textarea:focus{outline:3px solid rgba(14,125,255,.14);border-color:#4a9bf4}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}
.honeypot{position:absolute!important;left:-9999px!important}
.form-note{font-size:.84rem;margin-top:12px}
.success-message,.error-message{padding:22px;border-radius:15px}
.success-message{background:#eafaf3;border:1px solid #bfead6}
.error-message{background:#fff0f0;border:1px solid #ffd1d1;color:#9c3030;margin-bottom:20px}
.prose{max-width:820px}
.prose h2{font-size:1.8rem;margin-top:35px}
.prose a{color:#0874e3;text-decoration:underline}

@media(max-width:980px){
    body{font-size:17px}
    .header-cta{display:none}
    .menu-toggle{display:block;margin-left:auto}
    .main-nav{display:none;position:absolute;top:82px;left:20px;right:20px;padding:18px;flex-direction:column;align-items:stretch;gap:4px;background:#fff;border:1px solid #dbe6f7;border-radius:16px;box-shadow:var(--shadow)}
    .main-nav.is-open{display:flex}
    .main-nav a{padding:12px}
    .main-nav a.is-active::after{display:none}
    .hero-grid,.two-column,.contact-grid{grid-template-columns:1fr}
    .hero-visual{margin:0 -30px}
    .hero-visual img{width:110%;max-width:110%}
    .card-grid,.modules-page-grid{grid-template-columns:repeat(2,1fr)}
    .trust-grid,.three-grid{grid-template-columns:1fr}
    .trust-grid div{border-left:0;border-top:2px solid #d8e8ff}
    .footer-grid{grid-template-columns:1fr 1fr}
    .footer-grid>div:first-child{grid-column:1/-1}
    .reverse-mobile>div:first-child{order:2}
}
@media(max-width:680px){
    .section{padding:70px 0}
    .container{width:min(100% - 28px,1180px)}
    h1{font-size:2.85rem}
    .header-inner{height:72px}
    .main-nav{top:72px}
    .brand img{width:135px}
    .hero{padding-top:35px}
    .hero-grid{gap:10px}
    .hero-copy{padding:20px 0}
    .hero-visual{margin:0 -14px}
    .button-row{flex-direction:column}
    .button-row .button{width:100%}
    .section-heading{display:block}
    .section-heading .text-link{margin-top:8px}
    .card-grid,.modules-page-grid,.branch-detail-grid{grid-template-columns:1fr}
    .form-grid{grid-template-columns:1fr}
    .cta-panel{padding:34px 25px;display:block}
    .cta-panel .button{margin-top:20px}
    .footer-grid{grid-template-columns:1fr}
    .footer-grid>div:first-child{grid-column:auto}
    .footer-bottom{display:block}
    .footer-bottom span{display:block;margin:6px 0}
    .stat-panel{grid-template-columns:1fr}
    .stat-panel div{border-right:0;border-bottom:1px solid #dce8f7}
}


/* =========================================================
   VIREVO v3 — Warmte, vertrouwen en subtiele beweging
   ========================================================= */

:root{
    --warm-bg:#fdfbf8;
    --warm-cream:#fff7ef;
    --warm-peach:#fff0e6;
    --warm-purple:#7658e8;
    --warm-cyan:#29bfb5;
    --warm-blue:#3378ee;
    --deep:#071a3f;
    --deep-soft:#102b61;
    --soft-shadow:0 30px 80px rgba(36,60,105,.13);
}

body{
    background:
        radial-gradient(circle at 0% 0%,rgba(255,239,226,.45),transparent 28%),
        var(--warm-bg);
}

.site-header{
    background:rgba(253,251,248,.88);
    border-bottom:1px solid rgba(219,225,236,.72);
}

.hero-v3{
    position:relative;
    min-height:calc(100vh - 82px);
    padding:90px 0 70px;
    overflow:hidden;
    display:flex;
    align-items:center;
    background:
        linear-gradient(135deg,rgba(255,250,245,.98),rgba(244,249,255,.95) 48%,rgba(247,244,255,.96));
}

.hero-v3::after{
    content:"";
    position:absolute;
    inset:auto 0 0;
    height:180px;
    background:linear-gradient(to bottom,transparent,var(--warm-bg));
    pointer-events:none;
}

.hero-v3-inner{
    position:relative;
    z-index:3;
    display:grid;
    grid-template-columns:.94fr 1.22fr;
    align-items:center;
    gap:28px;
}

.hero-v3-copy h1{
    font-size:clamp(3.9rem,6.5vw,7.25rem);
    letter-spacing:-.055em;
    max-width:880px;
}

.hero-v3-copy h1 span{
    background:linear-gradient(100deg,#0a68d7 15%,#6553e7 55%,#20a99f 105%);
    -webkit-background-clip:text;
    background-clip:text;
    color:transparent;
}

.eyebrow-warm{
    color:#b66d38;
}

.button-warm{
    background:linear-gradient(135deg,#0b7ef5,#6b57e5 70%,#34afa7);
    box-shadow:0 16px 36px rgba(68,89,212,.26);
}

.button-glass{
    background:rgba(255,255,255,.72);
    color:var(--deep);
    border-color:rgba(121,143,180,.22);
    box-shadow:0 12px 30px rgba(45,62,94,.07);
    backdrop-filter:blur(14px);
}

.confidence-row{
    display:flex;
    flex-wrap:wrap;
    gap:20px;
    margin-top:26px;
    color:#495d7b;
    font-size:.96rem;
    font-weight:600;
}

.confidence-row span{
    display:flex;
    align-items:center;
    gap:8px;
}

.confidence-row i{
    width:9px;
    height:9px;
    border-radius:50%;
    background:linear-gradient(135deg,#1a87f7,#31b5a8);
    box-shadow:0 0 0 5px rgba(44,151,203,.10);
}

.hero-stage{
    position:relative;
    min-height:620px;
    display:flex;
    align-items:center;
    justify-content:center;
}

.stage-backdrop{
    position:absolute;
    width:78%;
    height:72%;
    border-radius:48%;
    background:
        radial-gradient(circle at 40% 40%,rgba(255,255,255,.92),rgba(232,241,255,.75) 52%,rgba(240,232,255,.55));
    filter:blur(2px);
    box-shadow:0 35px 100px rgba(51,92,161,.14);
    animation:stageBreath 8s ease-in-out infinite;
}

.hero-main-visual{
    position:relative;
    z-index:2;
    width:112%;
    max-width:none;
    margin-right:-15%;
    filter:drop-shadow(0 35px 45px rgba(41,66,120,.13));
    animation:visualFloat 7s ease-in-out infinite;
}

.hero-glow{
    position:absolute;
    border-radius:50%;
    filter:blur(8px);
    opacity:.66;
    animation:glowDrift 12s ease-in-out infinite alternate;
}

.hero-glow-one{
    width:520px;
    height:520px;
    right:-100px;
    top:-160px;
    background:radial-gradient(circle,rgba(105,85,229,.18),transparent 68%);
}

.hero-glow-two{
    width:460px;
    height:460px;
    left:-180px;
    bottom:-180px;
    background:radial-gradient(circle,rgba(255,175,109,.18),transparent 68%);
    animation-delay:-4s;
}

.hero-orbit{
    position:absolute;
    border:1px solid rgba(79,121,191,.10);
    border-radius:50%;
}

.orbit-one{
    width:680px;
    height:680px;
    right:-160px;
    top:15px;
    animation:slowRotate 38s linear infinite;
}

.orbit-two{
    width:440px;
    height:440px;
    right:45px;
    top:130px;
    animation:slowRotateReverse 30s linear infinite;
}

.floating-card{
    position:absolute;
    z-index:4;
    display:flex;
    align-items:center;
    gap:12px;
    padding:13px 16px;
    border:1px solid rgba(255,255,255,.72);
    border-radius:16px;
    background:rgba(255,255,255,.80);
    box-shadow:0 18px 45px rgba(40,67,112,.14);
    backdrop-filter:blur(15px);
    animation:cardFloat 5.5s ease-in-out infinite;
}

.floating-card strong,.floating-card small{display:block}
.floating-card strong{font-size:.92rem}
.floating-card small{font-size:.76rem;color:#71809a}

.floating-card-a{left:3%;top:17%}
.floating-card-b{right:-2%;bottom:19%;animation-delay:-2.2s}
.floating-card-c{left:12%;bottom:8%;animation-delay:-3.6s}

.floating-icon{
    width:34px;height:34px;border-radius:11px;display:grid;place-items:center;
    background:#e8f6ef;color:#22935f;font-weight:700;
}
.floating-icon-purple{background:#f0ecff;color:#6653df}
.pulse-dot{
    width:13px;height:13px;border-radius:50%;background:#2ab7a9;
    box-shadow:0 0 0 0 rgba(42,183,169,.45);
    animation:pulseDot 2.2s infinite;
}

.warm-trust-band{
    padding:26px 0 48px;
    background:var(--warm-bg);
}
.trust-story{
    padding:34px 40px;
    border-radius:24px;
    background:linear-gradient(100deg,#fff5ea,#f4f7ff 50%,#f2efff);
    border:1px solid rgba(225,220,231,.80);
    text-align:center;
}
.trust-story p{
    margin:0 0 5px;
    font-size:1.15rem;
}
.trust-story strong{
    font-size:1.35rem;
    color:#163e76;
}

.story-section{
    background:var(--warm-bg);
}
.story-grid{
    display:grid;
    grid-template-columns:.9fr 1.1fr;
    gap:80px;
    align-items:center;
}
.emotional-benefits{
    display:grid;
    gap:14px;
    margin-top:32px;
}
.emotional-benefits article{
    display:grid;
    grid-template-columns:52px 1fr;
    gap:15px;
    padding:15px 0;
    border-bottom:1px solid rgba(204,214,231,.65);
}
.emotional-benefits article>span{
    width:42px;height:42px;border-radius:13px;display:grid;place-items:center;
    background:linear-gradient(135deg,#fff0df,#edf3ff);
    color:#7860d8;font-size:.8rem;font-weight:700;
}
.emotional-benefits h3{margin:0 0 4px}
.emotional-benefits p{margin:0;font-size:.96rem}
.story-visual{position:relative}
.soft-image-shell{
    position:relative;
    border-radius:34px;
    overflow:hidden;
    background:#fff;
    border:1px solid rgba(218,224,237,.85);
    box-shadow:var(--soft-shadow);
}
.soft-image-shell::before{
    content:"";position:absolute;inset:0;
    background:linear-gradient(130deg,rgba(255,228,203,.14),transparent 35%,rgba(110,91,225,.08));
    pointer-events:none;z-index:1;
}
.image-float{animation:subtleFloat 8s ease-in-out infinite}
.story-quote{
    position:absolute;
    left:-35px;
    bottom:-35px;
    max-width:310px;
    padding:22px 24px;
    border-radius:20px;
    background:rgba(255,255,255,.91);
    border:1px solid rgba(231,225,220,.9);
    box-shadow:0 20px 50px rgba(65,74,94,.14);
    backdrop-filter:blur(14px);
}
.story-quote span{font-size:2.8rem;line-height:.5;color:#d58c55}
.story-quote p{margin:5px 0 0;color:#273b5c;font-weight:600}

.flow-section{
    position:relative;
    overflow:hidden;
    color:#fff;
    background:
      radial-gradient(circle at 15% 20%,rgba(53,193,182,.14),transparent 30%),
      radial-gradient(circle at 85% 90%,rgba(117,88,232,.22),transparent 34%),
      linear-gradient(145deg,#07183e,#0c2d66 58%,#102a58);
}
.light-copy{color:#cad9ef}
.process-flow{
    position:relative;
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:18px;
    margin-top:65px;
}
.flow-line{
    position:absolute;
    left:12%;right:12%;top:31px;height:2px;
    background:rgba(255,255,255,.16);
}
.flow-line span{
    display:block;width:24%;height:100%;
    background:linear-gradient(90deg,transparent,#65c9ff,#a493ff,transparent);
    animation:flowMove 4.8s linear infinite;
}
.flow-step{
    position:relative;
    z-index:2;
    padding:24px 20px 26px;
    border:1px solid rgba(255,255,255,.13);
    border-radius:20px;
    background:rgba(255,255,255,.07);
    backdrop-filter:blur(12px);
}
.flow-number{
    width:62px;height:62px;margin-bottom:28px;border-radius:19px;display:grid;place-items:center;
    background:linear-gradient(135deg,#29a4f0,#745de3);
    box-shadow:0 12px 30px rgba(18,116,217,.30);
    font-weight:700;
}
.flow-step h3{font-size:1.2rem}
.flow-step p{color:#bdcde5;margin:0;font-size:.94rem}

.modular-section{
    background:
      radial-gradient(circle at 20% 10%,rgba(255,220,190,.32),transparent 28%),
      linear-gradient(180deg,#fffaf5,#f8fbff);
}
.modular-header{
    display:grid;
    grid-template-columns:1fr .8fr;
    gap:70px;
    align-items:end;
}
.modular-header p{font-size:1.15rem}
.visual-stage{
    position:relative;
    margin-top:55px;
    padding:16px;
    border-radius:34px;
    background:rgba(255,255,255,.78);
    border:1px solid rgba(219,226,239,.85);
    box-shadow:var(--soft-shadow);
    overflow:hidden;
}
.visual-stage img{position:relative;z-index:2;border-radius:24px}
.visual-stage-glow{
    position:absolute;inset:10% 8%;
    background:radial-gradient(circle,rgba(87,122,235,.13),transparent 64%);
    animation:stageBreath 7s ease-in-out infinite;
}
.promise-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:18px;
    margin-top:22px;
}
.promise-grid article{
    padding:22px 24px;
    border-radius:17px;
    background:rgba(255,255,255,.70);
    border:1px solid rgba(219,226,239,.78);
}
.promise-grid strong,.promise-grid span{display:block}
.promise-grid strong{font-size:1.08rem;margin-bottom:3px}
.promise-grid span{font-size:.93rem;color:#697a94}

.human-platform-section{
    background:#fff;
}
.check-list-warm li::before{
    background:linear-gradient(135deg,#fff0e2,#eef2ff);
    color:#7b5edb;
}
.text-link-warm{color:#7658db}
.platform-window{
    border-radius:26px;
    overflow:hidden;
    background:#fff;
    border:1px solid #dfe6f1;
    box-shadow:var(--soft-shadow);
    animation:subtleFloat 8s ease-in-out infinite;
}
.window-bar{
    display:flex;gap:7px;padding:14px 16px;background:#f6f7fa;border-bottom:1px solid #e5e9f0;
}
.window-bar span{width:9px;height:9px;border-radius:50%;background:#d0d6e0}
.window-bar span:nth-child(1){background:#e6a783}
.window-bar span:nth-child(2){background:#e2c86b}
.window-bar span:nth-child(3){background:#77c2ae}

.branch-experience-section{
    background:linear-gradient(180deg,#f7f8fc,#fffaf6);
}
.branch-experience-grid{
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:24px;
}
.branch-experience-card{
    position:relative;
    min-height:410px;
    border-radius:28px;
    overflow:hidden;
    border:1px solid rgba(215,223,236,.90);
    background:#fff;
    box-shadow:0 20px 55px rgba(46,65,99,.09);
    transition:transform .35s ease,box-shadow .35s ease;
}
.branch-experience-card:hover{
    transform:translateY(-7px);
    box-shadow:0 30px 70px rgba(46,65,99,.15);
}
.branch-experience-card img{
    position:absolute;
    right:-4%;bottom:-6%;
    width:66%;
    transition:transform .55s ease;
}
.branch-experience-card:hover img{transform:scale(1.035) translateY(-4px)}
.branch-card-content{
    position:relative;
    z-index:2;
    max-width:56%;
    padding:38px;
}
.branch-card-content>span{
    display:inline-block;
    margin-bottom:20px;
    color:#6b5ed4;
    text-transform:uppercase;
    letter-spacing:.09em;
    font-size:.78rem;
    font-weight:700;
}
.branch-card-content h3{font-size:1.65rem}
.branch-card-content b{color:#176fd8;font-size:.95rem}
.branch-card-legal{background:linear-gradient(145deg,#fffaf4,#f7f9ff)}
.branch-card-ict{background:linear-gradient(145deg,#f4f9ff,#f8f5ff)}
.branch-card-horeca{background:linear-gradient(145deg,#fff7ed,#f6fbff)}
.branch-card-more{
    background:linear-gradient(135deg,#0b2a62,#322b78);
    color:#fff;
}
.branch-card-more p{color:#ced9ef}
.branch-card-more .branch-card-content{max-width:70%}
.branch-card-more .branch-card-content>span{color:#9ccfff}
.branch-card-more .branch-card-content b{color:#fff}
.branch-orbs{position:absolute;right:10%;top:22%;width:190px;height:190px}
.branch-orbs i{position:absolute;border-radius:50%;filter:blur(.2px);animation:orbFloat 6s ease-in-out infinite}
.branch-orbs i:nth-child(1){width:120px;height:120px;background:rgba(80,182,255,.35);left:0;top:0}
.branch-orbs i:nth-child(2){width:90px;height:90px;background:rgba(184,116,255,.38);right:0;bottom:0;animation-delay:-2s}
.branch-orbs i:nth-child(3){width:55px;height:55px;background:rgba(63,214,188,.40);right:12px;top:5px;animation-delay:-4s}

.assurance-section{
    background:
      radial-gradient(circle at 5% 15%,rgba(46,181,169,.10),transparent 25%),
      linear-gradient(145deg,#07183d,#0d2c64);
    color:#fff;
}
.assurance-grid{
    display:grid;
    grid-template-columns:.78fr 1.22fr;
    gap:80px;
}
.assurance-intro p{color:#cad8ed}
.assurance-items{
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:16px;
}
.assurance-items article{
    display:grid;
    grid-template-columns:40px 1fr;
    gap:15px;
    padding:23px;
    border-radius:18px;
    border:1px solid rgba(255,255,255,.13);
    background:rgba(255,255,255,.06);
}
.assurance-items article>span{
    width:34px;height:34px;border-radius:12px;display:grid;place-items:center;
    background:linear-gradient(135deg,#38bfb2,#6a61dd);
}
.assurance-items h3{font-size:1.12rem;margin-bottom:5px}
.assurance-items p{color:#b9c9df;margin:0;font-size:.92rem}

.final-cta-section{background:var(--warm-bg)}
.final-cta{
    position:relative;
    overflow:hidden;
    text-align:center;
    padding:75px 45px;
    border-radius:34px;
    background:
      radial-gradient(circle at 20% 20%,rgba(55,196,183,.21),transparent 30%),
      radial-gradient(circle at 80% 80%,rgba(127,95,229,.26),transparent 34%),
      linear-gradient(145deg,#09204e,#173d83);
    color:#fff;
    box-shadow:0 35px 90px rgba(27,54,103,.20);
}
.final-cta h2{font-size:clamp(2.8rem,5vw,5rem);position:relative;z-index:2}
.final-cta p{color:#d4e1f4;font-size:1.15rem;position:relative;z-index:2}
.center-buttons{justify-content:center;position:relative;z-index:2}
.button-large{min-height:58px;padding:0 30px}
.button-dark-glass{
    background:rgba(255,255,255,.09);
    color:#fff;
    border-color:rgba(255,255,255,.25);
    box-shadow:none;
}
.final-cta-glow{
    position:absolute;width:500px;height:500px;border-radius:50%;
    background:radial-gradient(circle,rgba(255,255,255,.09),transparent 65%);
    left:50%;top:50%;transform:translate(-50%,-50%);
    animation:stageBreath 6s ease-in-out infinite;
}

/* Reveal motion */
.reveal{
    opacity:0;
    transform:translateY(28px);
    transition:opacity .8s cubic-bezier(.2,.7,.2,1),transform .8s cubic-bezier(.2,.7,.2,1);
}
.reveal.is-visible{
    opacity:1;
    transform:translateY(0);
}
.reveal-delay-1{transition-delay:.14s}

/* Motion keyframes */
@keyframes visualFloat{
    0%,100%{transform:translateY(0)}
    50%{transform:translateY(-12px)}
}
@keyframes cardFloat{
    0%,100%{transform:translateY(0)}
    50%{transform:translateY(-9px)}
}
@keyframes subtleFloat{
    0%,100%{transform:translateY(0)}
    50%{transform:translateY(-7px)}
}
@keyframes stageBreath{
    0%,100%{transform:scale(.98);opacity:.78}
    50%{transform:scale(1.03);opacity:1}
}
@keyframes glowDrift{
    from{transform:translate3d(0,0,0) scale(1)}
    to{transform:translate3d(30px,18px,0) scale(1.08)}
}
@keyframes slowRotate{to{transform:rotate(360deg)}}
@keyframes slowRotateReverse{to{transform:rotate(-360deg)}}
@keyframes pulseDot{
    0%{box-shadow:0 0 0 0 rgba(42,183,169,.42)}
    70%{box-shadow:0 0 0 12px rgba(42,183,169,0)}
    100%{box-shadow:0 0 0 0 rgba(42,183,169,0)}
}
@keyframes flowMove{
    from{transform:translateX(-120%)}
    to{transform:translateX(520%)}
}
@keyframes orbFloat{
    0%,100%{transform:translateY(0) translateX(0)}
    50%{transform:translateY(-12px) translateX(7px)}
}

@media (prefers-reduced-motion: reduce){
    html{scroll-behavior:auto}
    *,*::before,*::after{
        animation-duration:.01ms!important;
        animation-iteration-count:1!important;
        transition-duration:.01ms!important;
    }
    .reveal{opacity:1;transform:none}
}

@media(max-width:1050px){
    .hero-v3-inner,.story-grid,.assurance-grid{grid-template-columns:1fr}
    .hero-v3{text-align:center}
    .hero-v3-copy{max-width:850px;margin:auto}
    .hero-v3-copy .lead{margin-inline:auto}
    .hero-actions,.confidence-row{justify-content:center}
    .hero-stage{min-height:540px}
    .hero-main-visual{width:100%;margin-right:0}
    .floating-card-a{left:8%}
    .floating-card-b{right:4%}
    .story-copy{max-width:800px}
    .story-quote{left:15px}
    .process-flow{grid-template-columns:repeat(2,1fr)}
    .flow-line{display:none}
    .modular-header{grid-template-columns:1fr}
    .branch-card-content{max-width:66%}
}

@media(max-width:760px){
    .hero-v3{padding-top:55px}
    .hero-v3-copy h1{font-size:3.45rem}
    .hero-stage{min-height:390px;margin-top:10px}
    .floating-card{display:none}
    .hero-main-visual{width:115%;max-width:115%;margin-inline:-7.5%}
    .confidence-row{gap:11px 16px;font-size:.88rem}
    .trust-story{padding:26px 20px}
    .story-grid{gap:45px}
    .story-quote{position:relative;left:auto;bottom:auto;margin:-10px 16px 0}
    .process-flow,.promise-grid,.branch-experience-grid,.assurance-items{grid-template-columns:1fr}
    .flow-step{display:grid;grid-template-columns:58px 1fr;gap:0 15px}
    .flow-step .flow-number{grid-row:1/3;width:52px;height:52px;margin:0}
    .flow-step p{grid-column:2}
    .modular-header{gap:10px}
    .branch-experience-card{min-height:480px}
    .branch-experience-card img{width:94%;right:-8%}
    .branch-card-content{max-width:100%;padding:30px}
    .branch-card-content p{max-width:65%}
    .branch-card-more{min-height:360px}
    .branch-card-more .branch-card-content{max-width:100%}
    .branch-orbs{right:-10px;bottom:-5px;top:auto}
    .final-cta{padding:55px 22px}
}


/* =========================================================
   VIREVO v4 — ORGANIC MOTION
   ========================================================= */

.hero-v3{display:none!important}

.hero-organic{
    position:relative;
    min-height:calc(100vh - 82px);
    padding:88px 0 42px;
    overflow:hidden;
    isolation:isolate;
    background:
        radial-gradient(circle at 12% 15%,rgba(255,236,218,.60),transparent 26%),
        radial-gradient(circle at 86% 18%,rgba(112,91,226,.18),transparent 30%),
        radial-gradient(circle at 68% 82%,rgba(38,189,177,.15),transparent 28%),
        linear-gradient(135deg,#fffdf9 0%,#f7fbff 48%,#f7f3ff 100%);
}

.hero-organic::after{
    content:"";
    position:absolute;
    left:0;right:0;bottom:-1px;
    height:120px;
    background:linear-gradient(to bottom,transparent,var(--warm-bg));
    z-index:0;
    pointer-events:none;
}

.organic-sky{
    position:absolute;
    inset:0;
    overflow:hidden;
    z-index:-3;
}

.organic-blob{
    position:absolute;
    border-radius:48% 52% 58% 42% / 42% 55% 45% 58%;
    filter:blur(18px);
    opacity:.44;
    will-change:transform,border-radius;
}

.blob-a{
    width:380px;height:320px;
    left:-90px;top:80px;
    background:linear-gradient(135deg,#ffd9bd,#fff1e2);
    animation:organicMorphA 24s ease-in-out infinite alternate;
}

.blob-b{
    width:520px;height:440px;
    right:-150px;top:-90px;
    background:linear-gradient(145deg,#c7d9ff,#d9ccff);
    animation:organicMorphB 31s ease-in-out infinite alternate;
}

.blob-c{
    width:390px;height:350px;
    right:22%;bottom:-160px;
    background:linear-gradient(145deg,#bdebe4,#dbf4ed);
    animation:organicMorphC 28s ease-in-out infinite alternate;
}

.organic-routes{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    z-index:-1;
    pointer-events:none;
    opacity:.78;
}

.route{
    fill:none;
    stroke-width:1.35;
    stroke-linecap:round;
    stroke-dasharray:10 15;
}

.route-one{
    stroke:url(#none);
    stroke:#6b7ee0;
    opacity:.23;
    animation:routeFlow 18s linear infinite;
}

.route-two{
    stroke:#35aa9f;
    opacity:.19;
    animation:routeFlowReverse 23s linear infinite;
}

.route-three{
    stroke:#d69a6c;
    opacity:.16;
    animation:routeFlow 27s linear infinite;
}

.route-node{
    fill:#fff;
    stroke:#6e78d9;
    stroke-width:2;
    filter:drop-shadow(0 0 9px rgba(89,101,211,.48));
    animation:nodePulse 3.4s ease-in-out infinite;
}

.node-two{animation-delay:-1.1s}
.node-three{animation-delay:-2.2s}

.hero-organic-grid{
    display:grid;
    grid-template-columns:.86fr 1.14fr;
    gap:34px;
    align-items:center;
    position:relative;
    z-index:2;
}

.hero-organic-copy{
    max-width:710px;
}

.organic-eyebrow{
    color:#7b5dce;
}

.hero-organic-copy h1{
    margin:17px 0 24px;
    max-width:760px;
    font-size:clamp(3rem,5vw,5.55rem);
    line-height:1.01;
    letter-spacing:-.05em;
    color:#10284b;
}

.hero-organic-copy h1 span{
    color:#355f96;
    font-weight:500;
}

.hero-organic-copy .lead{
    max-width:650px;
    font-size:1.17rem;
    line-height:1.72;
    color:#546a87;
}

.hero-signature{
    display:inline-flex;
    align-items:center;
    gap:12px;
    margin:8px 0 24px;
    color:#213c64;
    font-size:1rem;
    font-weight:650;
}

.hero-signature::before{
    content:"";
    width:38px;
    height:1px;
    background:linear-gradient(90deg,#7364df,#39afa5);
}

.organic-platform{
    position:relative;
    min-height:615px;
    display:grid;
    place-items:center;
    perspective:1200px;
}

.platform-halo{
    position:absolute;
    width:78%;
    height:72%;
    border-radius:49% 51% 55% 45% / 46% 56% 44% 54%;
    background:
        radial-gradient(circle at 40% 40%,rgba(255,255,255,.92),rgba(230,238,255,.72) 48%,rgba(237,229,255,.52) 72%);
    box-shadow:0 45px 110px rgba(40,66,118,.14);
    animation:haloBreathe 10s ease-in-out infinite;
}

.platform-ring{
    position:absolute;
    border:1px solid rgba(92,105,185,.16);
    border-radius:50%;
}

.ring-a{
    width:500px;height:500px;
    animation:ringRotate 42s linear infinite;
}

.ring-b{
    width:620px;height:410px;
    transform:rotate(-17deg);
    animation:ringRotateReverse 49s linear infinite;
}

.organic-main-visual{
    position:relative;
    z-index:3;
    width:108%;
    max-width:none;
    margin-right:-8%;
    filter:drop-shadow(0 36px 50px rgba(41,66,119,.14));
    animation:organicVisualFloat 8.5s ease-in-out infinite;
    transform-origin:center;
}

.orbit-card{
    position:absolute;
    z-index:5;
    display:flex;
    align-items:center;
    gap:11px;
    min-width:174px;
    padding:13px 15px;
    border-radius:17px;
    border:1px solid rgba(255,255,255,.84);
    background:rgba(255,255,255,.79);
    box-shadow:0 20px 48px rgba(52,71,106,.14);
    backdrop-filter:blur(16px);
    animation:organicCardFloat 7s ease-in-out infinite;
}

.orbit-card strong,.orbit-card small{display:block}
.orbit-card strong{font-size:.92rem;color:#1b355b}
.orbit-card small{font-size:.75rem;color:#71809a}

.orbit-card-a{left:2%;top:20%}
.orbit-card-b{right:-1%;top:34%;animation-delay:-2.3s}
.orbit-card-c{left:12%;bottom:12%;animation-delay:-4.4s}

.orbit-status{
    width:12px;height:12px;border-radius:50%;
    box-shadow:0 0 0 6px rgba(49,177,157,.10);
}

.status-green{background:#4ab78b}
.status-purple{background:#7b63db;box-shadow:0 0 0 6px rgba(123,99,219,.10)}
.status-cyan{background:#28b8b0;box-shadow:0 0 0 6px rgba(40,184,176,.10)}

.data-bead{
    position:absolute;
    z-index:4;
    width:8px;height:8px;border-radius:50%;
    background:#fff;
    box-shadow:0 0 0 5px rgba(91,104,218,.11),0 0 20px rgba(91,104,218,.45);
}

.bead-a{animation:beadPathA 11s linear infinite}
.bead-b{animation:beadPathB 14s linear infinite -4s}
.bead-c{animation:beadPathC 17s linear infinite -8s}

.hero-confidence{
    position:relative;
    z-index:3;
    display:flex;
    flex-wrap:wrap;
    justify-content:center;
    gap:10px 28px;
    padding-top:18px;
    color:#61738d;
    font-size:.91rem;
    font-weight:600;
}

.hero-confidence span{
    display:flex;
    align-items:center;
    gap:9px;
}

.hero-confidence span::before{
    content:"";
    width:7px;height:7px;border-radius:50%;
    background:linear-gradient(135deg,#6f64d9,#2fb3a7);
}

.story-section,.modular-section,.branch-experience-section,.final-cta-section{
    position:relative;
    overflow:hidden;
}

.story-section::before,
.modular-section::before,
.branch-experience-section::before{
    content:"";
    position:absolute;
    width:420px;height:420px;
    border-radius:47% 53% 61% 39% / 39% 46% 54% 61%;
    filter:blur(34px);
    opacity:.16;
    pointer-events:none;
    animation:sectionBlob 24s ease-in-out infinite alternate;
}

.story-section::before{
    right:-160px;top:110px;background:#f6b789;
}

.modular-section::before{
    left:-180px;bottom:80px;background:#8a77e8;
}

.branch-experience-section::before{
    right:-130px;bottom:110px;background:#5cc9bd;
}

.branch-experience-card img,
.soft-image-shell,
.visual-stage img,
.platform-window{
    will-change:transform;
}

.branch-experience-card:nth-child(odd) img{
    animation:imageDriftA 10s ease-in-out infinite;
}

.branch-experience-card:nth-child(even) img{
    animation:imageDriftB 12s ease-in-out infinite;
}

.soft-image-shell img{
    animation:imageDriftA 13s ease-in-out infinite;
}

.visual-stage img{
    animation:imageDriftB 15s ease-in-out infinite;
}

.platform-window img{
    animation:imageDriftA 11s ease-in-out infinite;
}

@keyframes organicMorphA{
    0%{transform:translate3d(0,0,0) rotate(0deg);border-radius:48% 52% 58% 42% / 42% 55% 45% 58%}
    50%{transform:translate3d(42px,-18px,0) rotate(7deg);border-radius:58% 42% 44% 56% / 53% 41% 59% 47%}
    100%{transform:translate3d(70px,24px,0) rotate(-4deg);border-radius:41% 59% 53% 47% / 57% 48% 52% 43%}
}

@keyframes organicMorphB{
    0%{transform:translate3d(0,0,0) scale(1);border-radius:47% 53% 42% 58% / 55% 42% 58% 45%}
    50%{transform:translate3d(-54px,34px,0) scale(1.06);border-radius:59% 41% 56% 44% / 41% 58% 42% 59%}
    100%{transform:translate3d(-22px,76px,0) scale(.96);border-radius:43% 57% 39% 61% / 60% 46% 54% 40%}
}

@keyframes organicMorphC{
    0%{transform:translate3d(0,0,0) rotate(0deg)}
    50%{transform:translate3d(28px,-46px,0) rotate(-8deg)}
    100%{transform:translate3d(-20px,-16px,0) rotate(5deg)}
}

@keyframes routeFlow{
    to{stroke-dashoffset:-400}
}

@keyframes routeFlowReverse{
    to{stroke-dashoffset:400}
}

@keyframes nodePulse{
    0%,100%{transform:scale(1);opacity:.65}
    50%{transform:scale(1.8);opacity:1}
}

@keyframes haloBreathe{
    0%,100%{transform:scale(.97) rotate(-1deg);border-radius:49% 51% 55% 45% / 46% 56% 44% 54%}
    50%{transform:scale(1.035) rotate(1.5deg);border-radius:57% 43% 46% 54% / 54% 42% 58% 46%}
}

@keyframes ringRotate{
    to{transform:rotate(360deg)}
}

@keyframes ringRotateReverse{
    from{transform:rotate(-17deg)}
    to{transform:rotate(-377deg)}
}

@keyframes organicVisualFloat{
    0%,100%{transform:translate3d(0,0,0) rotateX(0deg) rotateY(0deg)}
    33%{transform:translate3d(7px,-10px,0) rotateX(.6deg) rotateY(-.7deg)}
    66%{transform:translate3d(-5px,-4px,0) rotateX(-.4deg) rotateY(.8deg)}
}

@keyframes organicCardFloat{
    0%,100%{transform:translate3d(0,0,0) rotate(0deg)}
    35%{transform:translate3d(6px,-8px,0) rotate(.5deg)}
    70%{transform:translate3d(-4px,-3px,0) rotate(-.4deg)}
}

@keyframes beadPathA{
    0%{left:18%;top:25%;opacity:0}
    10%{opacity:1}
    45%{left:50%;top:40%;opacity:1}
    80%{left:76%;top:22%;opacity:1}
    100%{left:88%;top:38%;opacity:0}
}

@keyframes beadPathB{
    0%{left:16%;top:76%;opacity:0}
    15%{opacity:1}
    50%{left:48%;top:58%;opacity:1}
    85%{left:82%;top:68%;opacity:1}
    100%{left:88%;top:52%;opacity:0}
}

@keyframes beadPathC{
    0%{left:38%;top:14%;opacity:0}
    15%{opacity:1}
    50%{left:64%;top:48%;opacity:1}
    85%{left:34%;top:72%;opacity:1}
    100%{left:20%;top:52%;opacity:0}
}

@keyframes sectionBlob{
    0%{transform:translate3d(0,0,0) scale(1);border-radius:47% 53% 61% 39% / 39% 46% 54% 61%}
    100%{transform:translate3d(42px,-26px,0) scale(1.12);border-radius:58% 42% 45% 55% / 54% 39% 61% 46%}
}

@keyframes imageDriftA{
    0%,100%{transform:translate3d(0,0,0) scale(1)}
    50%{transform:translate3d(5px,-7px,0) scale(1.012)}
}

@keyframes imageDriftB{
    0%,100%{transform:translate3d(0,0,0) scale(1)}
    50%{transform:translate3d(-6px,-5px,0) scale(1.01)}
}

@media(max-width:1050px){
    .hero-organic-grid{grid-template-columns:1fr}
    .hero-organic-copy{text-align:center;margin-inline:auto}
    .hero-organic-copy .lead{margin-inline:auto}
    .hero-signature{justify-content:center}
    .hero-actions{justify-content:center}
    .organic-platform{min-height:520px}
    .organic-main-visual{width:98%;margin-right:0}
    .orbit-card-a{left:8%}
    .orbit-card-b{right:6%}
}

@media(max-width:760px){
    .hero-organic{padding-top:56px}
    .hero-organic-copy h1{font-size:3rem}
    .hero-organic-copy .lead{font-size:1.02rem}
    .organic-platform{min-height:370px}
    .organic-main-visual{width:112%;max-width:112%}
    .orbit-card{display:none}
    .platform-ring{display:none}
    .hero-confidence{font-size:.82rem;gap:9px 16px}
}


/* =========================================================
   VIREVO v5 — warmer, intuïtiever en organisch op iedere pagina
   ========================================================= */

body{
    position:relative;
    overflow-x:hidden;
    background:
        radial-gradient(circle at 8% 12%,rgba(255,229,204,.22),transparent 22%),
        radial-gradient(circle at 91% 18%,rgba(115,96,224,.12),transparent 25%),
        radial-gradient(circle at 74% 76%,rgba(45,184,170,.10),transparent 24%),
        #fcfbf8;
    background-attachment:fixed;
}

body::before,
body::after{
    content:"";
    position:fixed;
    z-index:-20;
    pointer-events:none;
    filter:blur(46px);
    opacity:.18;
    border-radius:44% 56% 62% 38% / 45% 39% 61% 55%;
}

body::before{
    width:460px;height:400px;
    left:-180px;top:24%;
    background:#f0ae7a;
    animation:globalBlobA 32s ease-in-out infinite alternate;
}

body::after{
    width:520px;height:470px;
    right:-210px;bottom:5%;
    background:#8171dd;
    animation:globalBlobB 37s ease-in-out infinite alternate;
}

.theme-sand{--page-accent:#b9784c;--page-accent-soft:#fff0df;--page-glow:#f0b98f}
.theme-apricot{--page-accent:#cb714e;--page-accent-soft:#fff0e8;--page-glow:#efaa80}
.theme-mint{--page-accent:#278f83;--page-accent-soft:#eaf8f4;--page-glow:#6bc8b7}
.theme-aqua{--page-accent:#2389a4;--page-accent-soft:#e8f7fa;--page-glow:#72c4d6}
.theme-blush{--page-accent:#a96988;--page-accent-soft:#fff0f5;--page-glow:#dca5bd}
.theme-steel{--page-accent:#526c94;--page-accent-soft:#eef3f9;--page-glow:#91a8c9}
.theme-ocean{--page-accent:#247ca4;--page-accent-soft:#e9f5fb;--page-glow:#65b5d1}
.theme-lilac{--page-accent:#715dc4;--page-accent-soft:#f2efff;--page-glow:#a99be4}
.theme-indigo{--page-accent:#5260c8;--page-accent-soft:#eef0ff;--page-glow:#8b94e4}

.organic-page-hero{
    position:relative;
    overflow:hidden;
    isolation:isolate;
    background:
        radial-gradient(circle at 14% 15%,var(--page-accent-soft),transparent 30%),
        radial-gradient(circle at 88% 20%,rgba(220,227,255,.64),transparent 34%),
        linear-gradient(145deg,#fffdf9,#f7fbff 55%,#faf7ff);
}

.page-motion-layer{
    position:absolute;
    inset:0;
    z-index:-2;
    pointer-events:none;
    overflow:hidden;
}

.page-motion-layer svg{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    opacity:.45;
}

.page-motion-layer path{
    fill:none;
    stroke:var(--page-accent);
    stroke-width:1.25;
    stroke-linecap:round;
    stroke-dasharray:9 15;
    opacity:.23;
    animation:pageLineFlow 25s linear infinite;
}

.page-motion-layer path+path{
    animation-direction:reverse;
    animation-duration:31s;
    opacity:.16;
}

.page-blob{
    position:absolute;
    border-radius:46% 54% 61% 39% / 48% 42% 58% 52%;
    filter:blur(22px);
    opacity:.32;
}

.page-blob-a{
    width:430px;height:360px;left:-120px;top:-60px;
    background:var(--page-glow);
    animation:pageBlobA 25s ease-in-out infinite alternate;
}

.page-blob-b{
    width:500px;height:420px;right:-160px;bottom:-120px;
    background:#bdb7ed;
    animation:pageBlobB 31s ease-in-out infinite alternate;
}

.industry-organic-grid,
.branches-hero-grid{
    display:grid;
    grid-template-columns:.91fr 1.09fr;
    gap:66px;
    align-items:center;
    position:relative;
    z-index:2;
}

.industry-organic-copy h1,
.branches-organic-hero h1{
    max-width:760px;
    font-size:clamp(2.85rem,4.8vw,5.15rem);
    line-height:1.03;
    letter-spacing:-.048em;
    font-weight:600;
    color:#122a4c;
}

.branches-organic-hero h1 span{
    color:#536d98;
    font-weight:500;
}

.industry-organic-copy .lead,
.branches-organic-hero .lead{
    max-width:680px;
    color:#5a6e89;
    font-size:1.14rem;
    line-height:1.72;
}

.industry-organic-visual,
.branches-hero-visual{
    position:relative;
    min-height:500px;
    display:grid;
    place-items:center;
}

.industry-organic-visual img,
.branches-hero-visual img{
    position:relative;
    z-index:2;
    width:106%;
    max-width:none;
    filter:drop-shadow(0 32px 50px rgba(44,66,105,.13));
    animation:industryImageFloat 10s ease-in-out infinite;
}

.visual-halo{
    position:absolute;
    width:78%;height:72%;
    border-radius:51% 49% 58% 42% / 44% 57% 43% 56%;
    background:
        radial-gradient(circle at 40% 35%,rgba(255,255,255,.94),var(--page-accent-soft) 58%,rgba(235,236,255,.42));
    box-shadow:0 35px 95px rgba(50,67,103,.11);
    animation:visualHaloMorph 12s ease-in-out infinite;
}

.visual-note{
    position:absolute;
    z-index:4;
    left:5%;bottom:10%;
    min-width:185px;
    padding:14px 16px 14px 42px;
    border-radius:17px;
    border:1px solid rgba(255,255,255,.85);
    background:rgba(255,255,255,.82);
    box-shadow:0 18px 44px rgba(52,69,103,.13);
    backdrop-filter:blur(14px);
    animation:softCardDrift 8s ease-in-out infinite;
}

.visual-note>span{
    position:absolute;left:16px;top:20px;
    width:12px;height:12px;border-radius:50%;
    background:var(--page-accent);
    box-shadow:0 0 0 6px var(--page-accent-soft);
}

.visual-note strong,.visual-note small{display:block}
.visual-note strong{font-size:.91rem;color:#193456}
.visual-note small{font-size:.75rem;color:#75849a}

.industry-intro{
    background:linear-gradient(180deg,rgba(255,255,255,.48),rgba(255,250,245,.68));
}

.industry-intro-grid{
    display:grid;
    grid-template-columns:.82fr 1.18fr;
    gap:90px;
    align-items:end;
}

.industry-intro-grid h2{
    font-size:clamp(2.3rem,3.8vw,4rem);
    font-weight:600;
    letter-spacing:-.035em;
}

.industry-intro-lead{
    margin:0;
    max-width:720px;
    font-size:1.23rem;
    line-height:1.8;
    color:#596d87;
}

.soft-feature-section{
    position:relative;
    background:
        radial-gradient(circle at 12% 18%,var(--page-accent-soft),transparent 27%),
        linear-gradient(180deg,#f7faff,#f5f8fc);
}

.soft-feature-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:20px;
}

.soft-feature-card{
    position:relative;
    min-height:270px;
    padding:31px 30px;
    overflow:hidden;
    border-radius:28px 21px 30px 22px;
    border:1px solid rgba(213,224,238,.82);
    background:
        radial-gradient(circle at 100% 0,var(--page-accent-soft),transparent 40%),
        rgba(255,255,255,.83);
    box-shadow:0 18px 48px rgba(41,64,104,.08);
    backdrop-filter:blur(14px);
    transition:transform .45s cubic-bezier(.2,.75,.2,1),box-shadow .45s ease,border-radius .45s ease;
}

.soft-feature-card:nth-child(2n){
    border-radius:22px 31px 22px 29px;
    transform:translateY(12px);
}

.soft-feature-card:nth-child(3n){
    border-radius:31px 23px 27px 21px;
}

.soft-feature-card::after{
    content:"";
    position:absolute;
    width:140px;height:140px;
    right:-70px;bottom:-80px;
    border-radius:48% 52% 61% 39% / 40% 57% 43% 60%;
    background:var(--page-accent-soft);
    opacity:.78;
    transition:transform .55s ease;
}

.soft-feature-card:hover{
    transform:translateY(-7px) rotate(-.2deg);
    border-radius:24px 31px 23px 29px;
    box-shadow:0 28px 68px rgba(41,64,104,.13);
}

.soft-feature-card:nth-child(2n):hover{
    transform:translateY(5px) rotate(.2deg);
}

.soft-feature-card:hover::after{transform:scale(1.22) translate(-8px,-8px)}

.soft-feature-index{
    display:inline-flex;
    width:37px;height:37px;
    align-items:center;justify-content:center;
    border-radius:12px;
    background:var(--page-accent-soft);
    color:var(--page-accent);
    font-size:.75rem;
    font-weight:700;
}

.soft-feature-card h2{
    margin:27px 0 11px;
    max-width:290px;
    font-size:clamp(1.55rem,2.2vw,2.15rem);
    line-height:1.08;
    letter-spacing:-.028em;
    font-weight:600;
}

.soft-feature-card p{
    position:relative;
    z-index:2;
    margin:0;
    max-width:330px;
    color:#61738d;
    line-height:1.65;
}

.industry-quote-section{
    background:linear-gradient(180deg,#fffdf9,#fbf7f2);
}

.industry-quote{
    position:relative;
    max-width:980px;
    padding:65px 75px;
    border-radius:38px 28px 42px 31px;
    overflow:hidden;
    background:
        radial-gradient(circle at 14% 10%,var(--page-accent-soft),transparent 34%),
        linear-gradient(145deg,#fff,#fafbff);
    border:1px solid rgba(219,224,235,.88);
    box-shadow:0 28px 75px rgba(48,65,96,.10);
    text-align:center;
}

.industry-quote>span{
    display:block;
    height:42px;
    color:var(--page-accent);
    font-size:5rem;
    line-height:.8;
    opacity:.55;
}

.industry-quote blockquote{
    margin:12px auto 28px;
    max-width:760px;
    color:#1d385d;
    font-size:clamp(1.7rem,3.2vw,3rem);
    line-height:1.25;
    letter-spacing:-.025em;
    font-weight:500;
}

.organic-branches-section{
    background:
        radial-gradient(circle at 8% 14%,rgba(255,226,201,.30),transparent 25%),
        radial-gradient(circle at 92% 80%,rgba(115,101,218,.15),transparent 27%),
        linear-gradient(180deg,#fffdf9,#f5f8fc);
}

.organic-branch-grid{
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:20px;
}

.organic-branch-card{
    position:relative;
    display:grid;
    grid-template-columns:58px 1fr;
    gap:20px;
    min-height:245px;
    padding:31px 34px;
    overflow:hidden;
    border-radius:30px 22px 34px 24px;
    border:1px solid rgba(214,223,236,.84);
    background:rgba(255,255,255,.80);
    box-shadow:0 17px 48px rgba(44,64,100,.08);
    backdrop-filter:blur(12px);
    transition:transform .42s cubic-bezier(.2,.75,.2,1),box-shadow .42s ease,border-radius .42s ease;
}

.organic-branch-card:nth-child(4n+2),
.organic-branch-card:nth-child(4n+3){
    border-radius:23px 34px 25px 31px;
}

.organic-branch-card::before{
    content:"";
    position:absolute;
    width:180px;height:180px;
    right:-90px;bottom:-95px;
    border-radius:47% 53% 60% 40% / 42% 58% 42% 58%;
    background:linear-gradient(145deg,var(--page-accent-soft),rgba(227,235,255,.72));
    transition:transform .55s ease;
}

.organic-branch-card:hover{
    transform:translateY(-6px);
    border-radius:25px 34px 24px 32px;
    box-shadow:0 27px 68px rgba(44,64,100,.13);
}

.organic-branch-card:hover::before{transform:scale(1.22) translate(-8px,-8px)}

.organic-branch-number{
    position:relative;
    z-index:2;
    width:45px;height:45px;
    display:grid;place-items:center;
    border-radius:14px;
    color:var(--page-accent);
    background:var(--page-accent-soft);
    font-size:.78rem;
    font-weight:700;
}

.organic-branch-card div{position:relative;z-index:2}
.organic-branch-card h2{
    margin:2px 0 12px;
    color:#183457;
    font-size:clamp(1.55rem,2.2vw,2.15rem);
    font-weight:600;
    letter-spacing:-.026em;
}
.organic-branch-card p{
    max-width:470px;
    color:#65768e;
    line-height:1.65;
}
.organic-branch-card strong{
    color:var(--page-accent);
    font-size:.93rem;
}
.organic-branch-card strong span{
    display:inline-block;
    transition:transform .25s ease;
}
.organic-branch-card:hover strong span{transform:translateX(5px)}

.feature-card,
.branch-card{
    border-radius:26px 20px 29px 22px;
}

.feature-card h2,
.branch-card h2{
    font-weight:600;
    letter-spacing:-.025em;
}

.modules-grid .feature-card,
.modules-page-grid .feature-card{
    min-height:245px;
    background:
        radial-gradient(circle at 100% 0,rgba(238,242,255,.92),transparent 41%),
        rgba(255,255,255,.84);
}

.page-hero h1,
.industry-hero h1{
    font-weight:600;
    letter-spacing:-.045em;
}

@keyframes globalBlobA{
    from{transform:translate3d(0,0,0) rotate(0deg)}
    to{transform:translate3d(95px,-70px,0) rotate(13deg) scale(1.14)}
}

@keyframes globalBlobB{
    from{transform:translate3d(0,0,0) rotate(0deg)}
    to{transform:translate3d(-85px,-55px,0) rotate(-10deg) scale(1.10)}
}

@keyframes pageLineFlow{to{stroke-dashoffset:-440}}

@keyframes pageBlobA{
    0%{transform:translate3d(0,0,0) rotate(0);border-radius:46% 54% 61% 39% / 48% 42% 58% 52%}
    100%{transform:translate3d(65px,32px,0) rotate(8deg);border-radius:59% 41% 44% 56% / 39% 58% 42% 61%}
}

@keyframes pageBlobB{
    0%{transform:translate3d(0,0,0) rotate(0)}
    100%{transform:translate3d(-70px,-38px,0) rotate(-7deg) scale(1.1)}
}

@keyframes industryImageFloat{
    0%,100%{transform:translate3d(0,0,0) rotate(.2deg)}
    50%{transform:translate3d(7px,-10px,0) rotate(-.35deg)}
}

@keyframes visualHaloMorph{
    0%,100%{transform:scale(.97) rotate(-1deg);border-radius:51% 49% 58% 42% / 44% 57% 43% 56%}
    50%{transform:scale(1.03) rotate(1.5deg);border-radius:60% 40% 45% 55% / 56% 43% 57% 44%}
}

@keyframes softCardDrift{
    0%,100%{transform:translate3d(0,0,0)}
    50%{transform:translate3d(5px,-8px,0)}
}

@media(max-width:1050px){
    .industry-organic-grid,.branches-hero-grid,.industry-intro-grid{grid-template-columns:1fr}
    .industry-organic-copy,.branches-organic-hero{text-align:center}
    .industry-organic-copy .lead,.branches-organic-hero .lead{margin-inline:auto}
    .industry-organic-copy .button-row{justify-content:center}
    .industry-organic-visual,.branches-hero-visual{min-height:430px}
    .soft-feature-grid{grid-template-columns:repeat(2,1fr)}
}

@media(max-width:760px){
    .industry-organic-copy h1,.branches-organic-hero h1{font-size:2.85rem}
    .industry-organic-visual,.branches-hero-visual{min-height:330px}
    .industry-organic-visual img,.branches-hero-visual img{width:115%}
    .visual-note{display:none}
    .soft-feature-grid,.organic-branch-grid{grid-template-columns:1fr}
    .soft-feature-card:nth-child(2n){transform:none}
    .soft-feature-card:nth-child(2n):hover{transform:translateY(-7px)}
    .industry-intro-grid{gap:24px}
    .industry-quote{padding:48px 24px}
    .organic-branch-card{grid-template-columns:47px 1fr;padding:27px 24px}
}

@media(prefers-reduced-motion:reduce){
    body::before,body::after,.page-blob,.page-motion-layer path,
    .industry-organic-visual img,.branches-hero-visual img,.visual-halo,.visual-note{
        animation:none!important;
    }
}


/* =========================================================
   VIREVO v6 — v8.0.1 product alignment
   ========================================================= */

.header-utility{
    border-bottom:1px solid rgba(213,221,234,.68);
    background:rgba(244,247,252,.84);
    backdrop-filter:blur(15px);
}

.header-utility-inner{
    min-height:34px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:20px;
    font-size:.82rem;
    font-weight:600;
}

.utility-phone{
    display:inline-flex;
    align-items:center;
    gap:7px;
    color:#5d6f89;
}

.utility-phone span{
    color:#6758d5;
    font-size:.85rem;
}

.utility-logins{
    display:flex;
    align-items:center;
    gap:8px;
}

.utility-logins a{
    padding:5px 10px;
    border-radius:9px;
    color:#536783;
    transition:background .2s ease,color .2s ease;
}

.utility-logins a:hover{
    background:rgba(255,255,255,.8);
    color:#244c83;
}

.utility-logins .utility-login-primary{
    background:rgba(101,87,214,.09);
    color:#5d4fc5;
}

.modules-organic-hero{
    --page-accent:#5260c8;
    --page-accent-soft:#eef0ff;
    --page-glow:#8b94e4;
}

.modules-hero-grid{
    display:grid;
    grid-template-columns:.92fr 1.08fr;
    gap:62px;
    align-items:center;
    position:relative;
    z-index:2;
}

.modules-hero-visual{
    position:relative;
    min-height:500px;
    display:grid;
    place-items:center;
}

.modules-hero-visual img{
    position:relative;
    z-index:2;
    width:108%;
    max-width:none;
    filter:drop-shadow(0 32px 50px rgba(44,66,105,.13));
    animation:industryImageFloat 10s ease-in-out infinite;
}

.module-group-section{
    position:relative;
    overflow:hidden;
    background:linear-gradient(180deg,#fffdf9,#fff);
}

.module-group-soft{
    background:
        radial-gradient(circle at 90% 10%,rgba(113,95,210,.10),transparent 28%),
        linear-gradient(180deg,#f6f9fd,#fbfcff);
}

.module-group-heading{
    max-width:850px;
    margin-bottom:36px;
}

.module-group-heading h2{
    max-width:830px;
    font-size:clamp(2rem,3.4vw,3.55rem);
    font-weight:600;
    letter-spacing:-.035em;
}

.verified-module-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:18px;
}

.verified-module-card{
    position:relative;
    min-height:220px;
    padding:27px;
    overflow:hidden;
    border:1px solid rgba(214,223,236,.84);
    border-radius:27px 21px 30px 23px;
    background:
        radial-gradient(circle at 100% 0,rgba(236,240,255,.82),transparent 43%),
        rgba(255,255,255,.82);
    box-shadow:0 17px 46px rgba(44,64,100,.075);
    backdrop-filter:blur(12px);
    transition:transform .4s cubic-bezier(.2,.75,.2,1),box-shadow .4s ease,border-radius .4s ease;
}

.verified-module-card:nth-child(2n){
    border-radius:22px 30px 23px 28px;
    transform:translateY(10px);
}

.verified-module-card::after{
    content:"";
    position:absolute;
    width:135px;height:135px;
    right:-70px;bottom:-72px;
    border-radius:46% 54% 62% 38% / 42% 57% 43% 58%;
    background:linear-gradient(145deg,rgba(115,96,218,.10),rgba(50,181,171,.10));
    transition:transform .5s ease;
}

.verified-module-card:hover{
    transform:translateY(-6px);
    border-radius:23px 31px 24px 29px;
    box-shadow:0 26px 65px rgba(44,64,100,.12);
}

.verified-module-card:nth-child(2n):hover{
    transform:translateY(3px);
}

.verified-module-card:hover::after{
    transform:scale(1.2) translate(-8px,-8px);
}

.verified-module-code{
    display:inline-flex;
    min-width:43px;
    height:35px;
    align-items:center;
    justify-content:center;
    padding:0 10px;
    border-radius:11px;
    background:linear-gradient(135deg,#eef1ff,#eaf8f5);
    color:#5a56bd;
    font-size:.7rem;
    font-weight:700;
    letter-spacing:.05em;
}

.verified-module-card h3{
    position:relative;
    z-index:2;
    margin:24px 0 9px;
    color:#173455;
    font-size:1.55rem;
    line-height:1.08;
    letter-spacing:-.025em;
    font-weight:600;
}

.verified-module-card p{
    position:relative;
    z-index:2;
    margin:0;
    color:#64758e;
    line-height:1.62;
}

.platform-access-section{
    background:linear-gradient(180deg,#fffdf9,#f7f8fc);
}

.access-callout{
    display:grid;
    grid-template-columns:1fr auto;
    gap:45px;
    align-items:center;
    padding:50px 55px;
    border-radius:34px 27px 38px 29px;
    color:#fff;
    background:
        radial-gradient(circle at 15% 15%,rgba(54,194,181,.20),transparent 27%),
        radial-gradient(circle at 88% 80%,rgba(124,91,225,.27),transparent 32%),
        linear-gradient(145deg,#0a214f,#173e82);
    box-shadow:0 30px 80px rgba(29,54,101,.18);
}

.access-callout h2{
    margin-bottom:10px;
    font-size:clamp(2rem,3.5vw,3.55rem);
    font-weight:600;
}

.access-callout p{
    max-width:760px;
    margin:0;
    color:#cfddf0;
    font-size:1.08rem;
}

.access-actions{
    display:flex;
    flex-direction:column;
    gap:10px;
    min-width:215px;
}

@media(max-width:1050px){
    .modules-hero-grid{grid-template-columns:1fr}
    .modules-organic-hero{text-align:center}
    .modules-organic-hero .lead{margin-inline:auto}
    .modules-organic-hero .button-row{justify-content:center}
    .modules-hero-visual{min-height:420px}
    .verified-module-grid{grid-template-columns:repeat(2,1fr)}
    .access-callout{grid-template-columns:1fr}
    .access-actions{flex-direction:row;min-width:0}
}

@media(max-width:760px){
    .header-utility-inner{min-height:39px}
    .utility-phone{display:none}
    .utility-logins{width:100%;justify-content:center}
    .utility-logins a{padding:6px 9px}
    .modules-hero-visual{min-height:320px}
    .modules-hero-visual img{width:116%}
    .verified-module-grid{grid-template-columns:1fr}
    .verified-module-card:nth-child(2n){transform:none}
    .verified-module-card:nth-child(2n):hover{transform:translateY(-6px)}
    .access-callout{padding:39px 24px}
    .access-actions{flex-direction:column}
}

@media(prefers-reduced-motion:reduce){
    .modules-hero-visual img{animation:none!important}
}
