/* =====================================
   EDDUVEST LANSIA LANDING
===================================== */

:root{
    --font-main:"Inter", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    --ink:#0d1b2a;
    --ink-soft:#1f2a3d;
    --muted:#5f6f86;
    --muted-strong:#40516a;
    --paper:#f7fafc;
    --paper-soft:#eef4f8;
    --white:#ffffff;
    --line:rgba(15, 23, 42, .11);
    --navy:#071527;
    --blue:#2563eb;
    --blue-soft:#dbeafe;
    --teal:#0f766e;
    --teal-soft:#ccfbf1;
    --amber:#f5b83d;
    --red-soft:#fee2e2;
    --shadow-soft:0 18px 50px rgba(15, 23, 42, .10);
    --shadow-strong:0 26px 80px rgba(2, 8, 23, .26);
    --radius:8px;
    --section-y:104px;
    --section-y-sm:68px;
    --ease:cubic-bezier(.2, .8, .2, 1);
}

*{ box-sizing:border-box; }

html{
    width:100%;
    scroll-behavior:smooth;
}

body{
    width:100%;
    margin:0;
    overflow-x:hidden;
    font-family:var(--font-main);
    color:var(--ink);
    background:linear-gradient(180deg, #071527 0%, #f7fafc 24%, #eef4f8 100%);
    text-rendering:optimizeLegibility;
    -webkit-font-smoothing:antialiased;
}

img{
    max-width:100%;
    height:auto;
}

a{ color:inherit; }

::selection{ background:rgba(245, 184, 61, .35); }

.container{
    position:relative;
    z-index:2;
}

section{
    position:relative;
    overflow:hidden;
}

.hero-section,
.solutions-section,
.modules-section,
.consultation-section,
.timeline-section,
.cta-section,
.footer-section{
    color:var(--white);
}

.problems-section,
.preview-section,
.simulation-section,
.investment-section,
.team-section{
    color:var(--ink);
}

.problems-section,
.solutions-section,
.preview-section,
.modules-section,
.simulation-section,
.consultation-section,
.investment-section,
.timeline-section,
.team-section,
.cta-section{
    padding:var(--section-y) 0;
}

.hero-section::before,
.solutions-section::before,
.modules-section::before,
.consultation-section::before,
.timeline-section::before,
.cta-section::before{
    content:"";
    position:absolute;
    inset:0;
    z-index:0;
    pointer-events:none;
    background:
        linear-gradient(rgba(255,255,255,.035) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255,255,255,.035) 1px, transparent 1px);
    background-size:56px 56px;
    mask-image:linear-gradient(180deg, rgba(0,0,0,.9), transparent 82%);
}

.problems-section::before,
.preview-section::before,
.simulation-section::before,
.investment-section::before,
.team-section::before{
    content:"";
    position:absolute;
    inset:0;
    z-index:0;
    pointer-events:none;
    background:
        linear-gradient(135deg, rgba(37,99,235,.08), transparent 38%),
        linear-gradient(315deg, rgba(15,118,110,.08), transparent 42%);
}

/* =====================================
   SHARED TYPE AND COMPONENTS
===================================== */

.hero-badge,
.problems-badge,
.solutions-badge,
.preview-badge,
.modules-badge,
.simulation-badge,
.consultation-badge,
.investment-badge,
.timeline-badge,
.team-badge,
.cta-badge{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:40px;
    max-width:100%;
    padding:9px 16px;
    border-radius:999px;
    font-size:.9rem;
    font-weight:800;
    line-height:1.35;
    letter-spacing:0;
    border:1px solid currentColor;
}

.hero-badge,
.solutions-badge,
.modules-badge,
.consultation-badge,
.timeline-badge,
.cta-badge{
    color:#dbeafe;
    background:rgba(255,255,255,.08);
    border-color:rgba(255,255,255,.18);
    box-shadow:inset 0 1px 0 rgba(255,255,255,.12);
}

.problems-badge,
.preview-badge,
.simulation-badge,
.team-badge{
    color:#0f4f87;
    background:#e9f3ff;
    border-color:#b9d8fb;
}

.investment-badge{
    color:#991b1b;
    background:var(--red-soft);
    border-color:#fecaca;
}

.hero-title,
.problems-title,
.solutions-title,
.preview-title,
.modules-title,
.simulation-title,
.consultation-title,
.investment-title,
.timeline-title,
.team-title,
.cta-title{
    margin:18px 0 0;
    font-weight:900;
    line-height:1.05;
    letter-spacing:0;
}

.problems-title,
.solutions-title,
.preview-title,
.modules-title,
.simulation-title,
.consultation-title,
.investment-title,
.timeline-title,
.team-title,
.cta-title{
    font-size:3.35rem;
}

.problems-description,
.solutions-description,
.preview-description,
.modules-description,
.simulation-description,
.consultation-description,
.investment-description,
.timeline-description,
.team-description,
.cta-description,
.problems-footer,
.preview-footer,
.modules-footer,
.simulation-footer,
.consultation-footer,
.investment-footer,
.timeline-footer{
    margin-top:18px;
    font-size:1.05rem;
    line-height:1.85;
}

.problems-description,
.preview-description,
.simulation-description,
.investment-description,
.team-description,
.problems-footer,
.preview-footer,
.simulation-footer,
.investment-footer{
    color:var(--muted-strong);
}

.solutions-description,
.modules-description,
.consultation-description,
.timeline-description,
.cta-description,
.modules-footer,
.consultation-footer,
.timeline-footer{
    color:rgba(236, 244, 255, .82);
}

.problem-card,
.preview-feature-card,
.module-card,
.simulation-card,
.consultation-card,
.investment-sign-card,
.timeline-card,
.team-card,
.cta-feature,
.learning-flow,
.simulation-benefits,
.consultation-features,
.investment-check-card,
.team-support{
    position:relative;
    height:100%;
    border-radius:var(--radius);
    transition:
        transform .32s var(--ease),
        border-color .32s var(--ease),
        box-shadow .32s var(--ease),
        background-color .32s var(--ease);
}

.problem-card,
.preview-feature-card,
.simulation-card,
.investment-sign-card,
.team-card,
.team-support{
    background:rgba(255, 255, 255, .88);
    border:1px solid var(--line);
    box-shadow:var(--shadow-soft);
}

.module-card,
.consultation-card,
.timeline-card,
.cta-feature,
.learning-flow,
.simulation-benefits,
.consultation-features,
.investment-check-card{
    background:linear-gradient(180deg, rgba(255,255,255,.105), rgba(255,255,255,.055));
    border:1px solid rgba(255,255,255,.16);
    box-shadow:0 20px 70px rgba(2, 8, 23, .18);
    backdrop-filter:blur(18px);
}

.problem-card:hover,
.preview-feature-card:hover,
.module-card:hover,
.simulation-card:hover,
.consultation-card:hover,
.investment-sign-card:hover,
.team-card:hover,
.cta-feature:hover,
.solution-visual:hover,
.learning-flow:hover,
.simulation-benefits:hover,
.consultation-features:hover,
.investment-check-card:hover,
.team-support:hover{
    transform:translateY(-6px);
}

.problem-card:hover,
.preview-feature-card:hover,
.simulation-card:hover,
.investment-sign-card:hover,
.team-card:hover,
.team-support:hover{
    border-color:rgba(37, 99, 235, .28);
    box-shadow:0 24px 70px rgba(15, 23, 42, .15);
}

.module-card:hover,
.consultation-card:hover,
.timeline-card:hover,
.cta-feature:hover,
.solution-visual:hover,
.learning-flow:hover,
.simulation-benefits:hover,
.consultation-features:hover,
.investment-check-card:hover{
    border-color:rgba(245, 184, 61, .46);
    box-shadow:0 28px 80px rgba(2, 8, 23, .26);
}

.hero-feature-list,
.preview-feature-list,
.simulation-list,
.consultation-list,
.investment-list{
    list-style:none;
    padding-left:0;
}

.hero-feature-list li,
.preview-feature-list li,
.simulation-list li,
.consultation-list li,
.investment-list li{
    position:relative;
    margin-bottom:12px;
    padding-left:34px;
    line-height:1.65;
}

.hero-feature-list li::before,
.preview-feature-list li::before,
.simulation-list li::before,
.consultation-list li::before,
.investment-list li::before{
    content:"";
    position:absolute;
    left:0;
    top:.48em;
    width:18px;
    height:18px;
    border-radius:50%;
    background:linear-gradient(135deg, var(--teal), #22c55e);
    box-shadow:0 8px 18px rgba(15, 118, 110, .24);
}

.hero-feature-list li::after,
.preview-feature-list li::after,
.simulation-list li::after,
.consultation-list li::after,
.investment-list li::after{
    content:"";
    position:absolute;
    left:6px;
    top:calc(.48em + 4px);
    width:6px;
    height:9px;
    border:solid #fff;
    border-width:0 2px 2px 0;
    transform:rotate(45deg);
}

.btn-login,
.btn-register,
.cta-btn-login,
.cta-btn-register,
.investment-btn{
    position:relative;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:52px;
    max-width:100%;
    padding:14px 24px;
    border-radius:var(--radius);
    overflow:hidden;
    border:1px solid transparent;
    text-decoration:none;
    font-weight:850;
    line-height:1.2;
    transition:
        transform .28s var(--ease),
        box-shadow .28s var(--ease),
        background-color .28s var(--ease),
        border-color .28s var(--ease);
}

.btn-login,
.cta-btn-login,
.investment-btn{
    color:#101827;
    background:linear-gradient(135deg, #ffd86b, var(--amber));
    box-shadow:0 14px 34px rgba(245, 184, 61, .28);
}

.btn-register,
.cta-btn-register{
    color:#ffffff;
    background:rgba(255,255,255,.08);
    border-color:rgba(255,255,255,.24);
}

.btn-login:hover,
.btn-register:hover,
.cta-btn-login:hover,
.cta-btn-register:hover,
.investment-btn:hover{
    transform:translateY(-3px);
}

.btn-register:hover,
.cta-btn-register:hover{
    background:rgba(255,255,255,.14);
    border-color:rgba(255,255,255,.38);
}

/* =====================================
   HERO
===================================== */

.hero-section{
    min-height:100svh;
    display:flex;
    align-items:center;
    padding:96px 0 72px;
    background:
        linear-gradient(120deg, rgba(7,21,39,.96) 0%, rgba(13,34,56,.94) 48%, rgba(13,27,42,.91) 100%),
        linear-gradient(135deg, rgba(37,99,235,.28), transparent 44%),
        linear-gradient(315deg, rgba(245,184,61,.18), transparent 48%);
}

.hero-section::after{
    content:"";
    position:absolute;
    inset:auto 0 0;
    z-index:1;
    height:190px;
    pointer-events:none;
    background:linear-gradient(180deg, transparent, rgba(247, 250, 252, .92));
}

.hero-row{ min-height:calc(100svh - 168px); }

.hero-title{
    max-width:760px;
    color:#ffffff;
    font-size:6.1rem;
    text-shadow:0 18px 55px rgba(2, 8, 23, .38);
}

.hero-subtitle{
    margin:22px 0 0;
    max-width:650px;
    color:#9bd8ff;
    font-size:1.55rem;
    font-weight:850;
    line-height:1.35;
}

.hero-description{
    max-width:650px;
    margin-top:24px;
    color:rgba(236, 244, 255, .82);
    font-size:1.08rem;
    line-height:1.9;
}

.hero-feature-list{
    display:grid;
    grid-template-columns:repeat(2, minmax(0, 1fr));
    gap:12px 18px;
    max-width:650px;
    margin:30px 0 0;
}

.hero-feature-list li{
    margin-bottom:0;
    color:#ffffff;
    font-weight:700;
}

.hero-buttons{
    display:flex;
    flex-wrap:wrap;
    gap:14px;
    margin-top:34px;
}

.hero-image{
    width:min(100%, 560px);
    filter:drop-shadow(0 28px 60px rgba(2, 8, 23, .35));
    transform:translate(var(--parallax-x, 0), var(--parallax-y, 0));
    animation:heroFloat 5.5s ease-in-out infinite;
}

@keyframes heroFloat{
    0%, 100%{ transform:translate(var(--parallax-x, 0), var(--parallax-y, 0)); }
    50%{ transform:translate(var(--parallax-x, 0), calc(var(--parallax-y, 0) - 14px)); }
}

/* =====================================
   PROBLEMS
===================================== */

.problems-section{ background:linear-gradient(180deg, #f7fafc 0%, #eef4f8 100%); }
.problems-list{ margin-top:52px; }
.problem-card{ padding:28px; }

.problem-icon,
.preview-feature-icon,
.module-icon,
.simulation-icon,
.consultation-icon,
.investment-sign-icon,
.team-icon,
.cta-feature-icon,
.benefit-icon,
.feature-icon{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:58px;
    height:58px;
    margin-bottom:18px;
    border-radius:var(--radius);
    font-size:2rem;
    line-height:1;
    background:linear-gradient(135deg, var(--blue-soft), var(--teal-soft));
    box-shadow:inset 0 1px 0 rgba(255,255,255,.65);
}

.problem-card h4,
.preview-feature-card h4,
.simulation-card h4,
.investment-sign-card h5,
.team-card h5{
    color:var(--ink);
    font-weight:850;
    line-height:1.25;
}

.problem-card p,
.preview-feature-card p,
.simulation-card p,
.investment-sign-card p,
.team-card p,
.team-support p{
    color:var(--muted);
    line-height:1.75;
}

/* =====================================
   SOLUTIONS
===================================== */

.solutions-section{ background:linear-gradient(180deg, #0b1c30 0%, #10243a 52%, #071527 100%); }
.solution-item{ margin-top:64px !important; }
.solution-content{ padding:20px 24px; }

.solution-content h3,
.simulation-content h3,
.consultation-content h3,
.investment-content h3{
    margin-bottom:16px;
    font-size:2.05rem;
    font-weight:880;
    line-height:1.2;
}

.solution-content h3,
.consultation-content h3{ color:#ffffff; }

.solution-content p,
.consultation-content p{
    color:rgba(236, 244, 255, .78);
    line-height:1.85;
}

.solution-visual{
    min-height:230px;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:28px;
    border-radius:var(--radius);
    color:#ffffff;
    text-align:center;
    font-size:1.9rem;
    font-weight:900;
    line-height:1.25;
    background:linear-gradient(135deg, rgba(37,99,235,.28), rgba(15,118,110,.22)), rgba(255,255,255,.07);
    border:1px solid rgba(255,255,255,.16);
    box-shadow:0 22px 70px rgba(2, 8, 23, .22);
}

/* =====================================
   PREVIEW
===================================== */

.preview-section{ background:linear-gradient(180deg, #eef4f8 0%, #ffffff 50%, #f7fafc 100%); }
.preview-mockup{ position:relative; text-align:center; }

.preview-image{
    width:min(100%, 560px);
    border-radius:var(--radius);
    box-shadow:0 28px 80px rgba(15, 23, 42, .18);
    transform:translate(var(--parallax-x, 0), var(--parallax-y, 0));
    transition:transform .35s var(--ease), box-shadow .35s var(--ease);
}

.preview-image:hover{ box-shadow:0 34px 90px rgba(15, 23, 42, .23); }
.preview-content{ padding:24px; }

.preview-content h3{
    color:var(--ink);
    font-size:2.05rem;
    font-weight:880;
}

.preview-content p,
.preview-feature-list li{
    color:var(--muted-strong);
    line-height:1.82;
}

.preview-feature-list{ margin-top:22px; }
.preview-feature-card{ padding:28px; text-align:center; }

/* =====================================
   MODULES
===================================== */

.modules-section{ background:linear-gradient(180deg, #071527 0%, #102236 58%, #0c1b2c 100%); }
.module-card{ padding:28px; }

.module-card h4,
.consultation-card h4,
.cta-feature h5{
    color:#ffffff;
    font-weight:850;
    line-height:1.25;
}

.module-card p,
.consultation-card p,
.cta-feature p{
    color:rgba(236, 244, 255, .76);
    line-height:1.75;
}

.learning-flow{
    margin-top:16px;
    padding:32px;
}

.learning-flow h3,
.simulation-benefits h3,
.consultation-features h3{
    margin-bottom:24px;
    color:#ffffff;
    text-align:center;
    font-size:1.8rem;
    font-weight:850;
}

.flow-item,
.benefit-item,
.consultation-feature-item{
    display:flex;
    min-height:132px;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:10px;
    padding:18px 12px;
    border-radius:var(--radius);
    color:#ffffff;
    font-size:2rem;
    text-align:center;
    border:1px solid rgba(255,255,255,.15);
    background:rgba(255,255,255,.10);
}

.flow-item span,
.benefit-item p,
.consultation-feature-item p{
    margin:0;
    color:rgba(255, 255, 255, .88);
    font-size:.98rem;
    font-weight:750;
    line-height:1.45;
}

/* =====================================
   SIMULATION
===================================== */

.simulation-section{ background:linear-gradient(180deg, #ffffff 0%, #eef4f8 100%); }
.simulation-content h3,
.investment-content h3{ color:var(--ink); }

.simulation-content p,
.investment-content p{
    color:var(--muted-strong);
    line-height:1.85;
}

.simulation-list li,
.investment-list li{
    color:var(--ink-soft);
    font-weight:650;
}

.simulation-card{
    padding:34px;
    text-align:center;
}

.simulation-benefits{
    padding:32px;
    background:linear-gradient(135deg, rgba(25,56,92,.92), rgba(38,72,110,.92));
}

/* =====================================
   CONSULTATION
===================================== */

.consultation-section{ background:linear-gradient(180deg, #0c1b2c 0%, #10243a 100%); }
.consultation-list li{ color:#ffffff; font-weight:650; }
.consultation-card{ padding:34px; text-align:center; }
.consultation-features{ padding:32px; }

/* =====================================
   INVESTMENT CHECK
===================================== */

.investment-section{ background:linear-gradient(180deg, #f7fafc 0%, #ffffff 100%); }

.investment-check-card{
    padding:32px;
    color:#ffffff;
    background:linear-gradient(135deg, rgba(127, 29, 29, .96), rgba(15, 23, 42, .95));
}

.investment-check-card h4{
    margin-bottom:22px;
    font-size:1.35rem;
    font-weight:850;
}

.investment-demo-box label{
    display:block;
    margin:16px 0 8px;
    color:rgba(255,255,255,.72);
    font-size:.9rem;
    font-weight:780;
}

.investment-demo-value{
    width:100%;
    padding:14px 16px;
    border-radius:var(--radius);
    color:#ffffff;
    background:rgba(255,255,255,.1);
    border:1px solid rgba(255,255,255,.16);
    line-height:1.45;
    overflow-wrap:anywhere;
}

.investment-btn{
    width:100%;
    margin-top:18px;
    border:0;
}

.investment-alert{
    margin-top:16px;
    padding:14px 16px;
    border-radius:var(--radius);
    color:#ffffff;
    font-weight:850;
    text-align:center;
    background:rgba(220,38,38,.78);
    border:1px solid rgba(255,255,255,.18);
}

.investment-alert[data-tone="safe"]{ background:rgba(15,118,110,.84); }
.investment-alert[data-tone="warning"]{ color:#271400; background:rgba(245,184,61,.92); }
.investment-alert[data-tone="danger"]{ background:rgba(220,38,38,.82); }

.investment-subtitle,
.team-subtitle{
    margin:0;
    color:var(--ink);
    font-size:2rem;
    font-weight:880;
    text-align:center;
}

.investment-sign-card{
    padding:28px;
    text-align:center;
}

/* =====================================
   TIMELINE
===================================== */

.timeline-section{ background:linear-gradient(180deg, #071527 0%, #0f2438 100%); }

.timeline-wrapper{
    position:relative;
    display:grid;
    gap:24px;
    max-width:960px;
    margin:62px auto 0;
}

.timeline-wrapper::before{
    content:"";
    position:absolute;
    left:50%;
    top:0;
    bottom:0;
    width:1px;
    background:linear-gradient(180deg, transparent, rgba(255,255,255,.22), transparent);
}

.timeline-item{
    position:relative;
    display:grid;
    grid-template-columns:1fr 84px 1fr;
    align-items:center;
    gap:22px;
}

.timeline-item:nth-child(odd) .timeline-card{ grid-column:1; }
.timeline-item:nth-child(even) .timeline-card{ grid-column:3; }

.timeline-number{
    grid-column:2;
    display:flex;
    align-items:center;
    justify-content:center;
    width:64px;
    height:64px;
    margin:auto;
    border-radius:50%;
    color:#101827;
    background:linear-gradient(135deg, #ffd86b, var(--amber));
    font-weight:900;
    box-shadow:0 14px 34px rgba(245, 184, 61, .22);
}

.timeline-card{ padding:26px; }

.timeline-card h3{
    color:#ffffff;
    font-size:1.25rem;
    font-weight:850;
}

.timeline-card p{
    margin-bottom:0;
    color:rgba(236, 244, 255, .76);
    line-height:1.75;
}

/* =====================================
   TEAM
===================================== */

.team-section{ background:linear-gradient(180deg, #eef4f8 0%, #ffffff 100%); }
.team-card{ padding:28px; text-align:center; }
.team-support{ padding:32px; }

.team-support h3{
    color:var(--ink);
    font-size:1.45rem;
    font-weight:880;
}

/* =====================================
   CTA AND FOOTER
===================================== */

.cta-section{ background:linear-gradient(180deg, #ffffff 0%, #071527 18%, #071527 100%); }

.cta-wrapper{
    position:relative;
    overflow:hidden;
    padding:64px 42px;
    border-radius:var(--radius);
    background:
        linear-gradient(135deg, rgba(37,99,235,.92), rgba(15,118,110,.86)),
        linear-gradient(180deg, #0d2238, #071527);
    border:1px solid rgba(255,255,255,.16);
    box-shadow:var(--shadow-strong);
}

.cta-wrapper::after{
    content:"";
    position:absolute;
    inset:0;
    z-index:0;
    pointer-events:none;
    background:
        linear-gradient(120deg, rgba(255,255,255,.18), transparent 30%),
        linear-gradient(300deg, rgba(245,184,61,.20), transparent 44%);
}

.cta-wrapper > .row{
    position:relative;
    z-index:1;
}

.cta-title{ color:#ffffff; }

.cta-feature{
    min-height:155px;
    padding:24px 18px;
    text-align:center;
}

.footer-section{
    padding:62px 0 34px;
    background:#071527;
}

.footer-brand{
    margin-bottom:16px;
    color:#ffffff;
    font-size:1.55rem;
    font-weight:900;
}

.footer-description,
.footer-info p,
.footer-links,
.footer-copyright{
    color:rgba(236, 244, 255, .72);
    line-height:1.75;
}

.footer-title{
    color:#ffffff;
    font-size:1rem;
    font-weight:850;
}

.footer-links{
    list-style:none;
    padding-left:0;
    margin:16px 0 0;
}

.footer-links li{ margin-bottom:10px; }

.footer-links a{
    text-decoration:none;
    transition:color .25s var(--ease);
}

.footer-links a:hover{ color:var(--amber); }

.footer-divider{
    margin:34px 0 22px;
    border-color:rgba(255,255,255,.14);
}

.footer-copyright{
    margin-bottom:0;
    font-size:.92rem;
}

/* =====================================
   JS ENHANCEMENTS
===================================== */

.landing-scroll-progress{
    position:fixed;
    top:0;
    left:0;
    z-index:9999;
    width:calc(var(--landing-scroll, 0) * 100%);
    height:4px;
    background:linear-gradient(90deg, var(--amber), #22c55e, var(--blue));
    box-shadow:0 8px 20px rgba(37,99,235,.25);
    pointer-events:none;
}

.landing-pointer-glow{
    position:absolute;
    left:var(--pointer-x, 50%);
    top:var(--pointer-y, 50%);
    z-index:1;
    width:220px;
    height:220px;
    opacity:0;
    pointer-events:none;
    transform:translate(-50%, -50%);
    background:radial-gradient(circle, rgba(255,255,255,.16), transparent 68%);
    transition:opacity .25s var(--ease);
}

.has-pointer-glow:hover .landing-pointer-glow{ opacity:1; }

.problem-hidden,
.solution-hidden,
.preview-hidden,
.module-hidden,
.simulation-hidden,
.consultation-hidden,
.investment-hidden,
.timeline-hidden,
.team-hidden,
.cta-hidden{
    opacity:0;
    transform:translateY(30px);
}

.problem-show,
.solution-show,
.preview-show,
.module-show,
.simulation-show,
.consultation-show,
.investment-show,
.timeline-show,
.team-show,
.cta-show{
    opacity:1;
    transform:translateY(0);
    transition:
        opacity .76s var(--ease) var(--reveal-delay, 0ms),
        transform .76s var(--ease) var(--reveal-delay, 0ms);
}

.is-interactive-surface.is-tilting{
    transform:
        perspective(900px)
        rotateX(var(--tilt-x, 0deg))
        rotateY(var(--tilt-y, 0deg))
        translateY(-3px);
}

.magnetic-button{ isolation:isolate; }

.landing-ripple{
    position:absolute;
    z-index:0;
    width:14px;
    height:14px;
    border-radius:50%;
    background:rgba(255,255,255,.46);
    transform:translate(-50%, -50%) scale(0);
    animation:landingRipple .62s ease-out forwards;
}

@keyframes landingRipple{
    to{
        opacity:0;
        transform:translate(-50%, -50%) scale(18);
    }
}

.flow-item.is-active,
.timeline-item.is-active .timeline-card{
    border-color:rgba(245, 184, 61, .48);
    background:rgba(245, 184, 61, .12);
}

.timeline-item.is-active .timeline-number{ transform:scale(1.06); }
.investment-check-card.is-checking{ opacity:.9; }

/* =====================================
   RESPONSIVE
===================================== */

@media (max-width:1199.98px){
    .hero-title{ font-size:5rem; }
    .hero-feature-list{ grid-template-columns:1fr; }
}

@media (max-width:991.98px){
    :root{ --section-y:82px; }

    .hero-section{
        min-height:auto;
        padding:94px 0 78px;
        text-align:center;
    }

    .hero-row{
        min-height:auto;
        row-gap:44px;
    }

    .hero-description,
    .hero-subtitle,
    .hero-feature-list{
        margin-left:auto;
        margin-right:auto;
    }

    .hero-buttons{ justify-content:center; }

    .hero-feature-list{
        max-width:520px;
        text-align:left;
    }

    .preview-content,
    .simulation-content,
    .consultation-content,
    .investment-content,
    .solution-content{
        padding:12px 2px;
        text-align:center;
    }

    .preview-feature-list,
    .simulation-list,
    .consultation-list,
    .investment-list{
        max-width:560px;
        margin-left:auto;
        margin-right:auto;
        text-align:left;
    }

    .solution-item{
        margin-top:48px !important;
        row-gap:22px;
    }

    .timeline-wrapper::before{ left:32px; }

    .timeline-item{
        grid-template-columns:64px 1fr;
        gap:18px;
    }

    .timeline-item:nth-child(odd) .timeline-card,
    .timeline-item:nth-child(even) .timeline-card{ grid-column:2; }

    .timeline-number{
        grid-column:1;
        width:58px;
        height:58px;
    }

    .footer-section,
    .footer-section .text-md-end{ text-align:center !important; }
}

@media (max-width:767.98px){
    :root{ --section-y:var(--section-y-sm); }

    .container{
        padding-left:22px;
        padding-right:22px;
    }

    .hero-section{ padding:74px 0 58px; }
    .hero-title{ font-size:3.45rem; }
    .hero-subtitle{ font-size:1.12rem; }

    .hero-description,
    .problems-description,
    .solutions-description,
    .preview-description,
    .modules-description,
    .simulation-description,
    .consultation-description,
    .investment-description,
    .timeline-description,
    .team-description,
    .cta-description{
        font-size:1rem;
        line-height:1.78;
    }

    .problems-list{
        margin-top:34px;
        row-gap:18px;
    }

    .problem-card,
    .preview-feature-card,
    .module-card,
    .simulation-card,
    .consultation-card,
    .investment-sign-card,
    .team-card{ padding:24px; }

    .solution-visual{
        min-height:150px;
        padding:24px 18px;
    }

    .learning-flow,
    .simulation-benefits,
    .consultation-features,
    .investment-check-card,
    .team-support{ padding:24px; }

    .learning-flow .row > .col{
        flex:0 0 50%;
        width:50%;
    }

    .flow-item,
    .benefit-item,
    .consultation-feature-item{ min-height:116px; }

    .cta-wrapper{ padding:44px 22px; }

    .cta-buttons,
    .hero-buttons{ width:100%; }

    .btn-login,
    .btn-register,
    .cta-btn-login,
    .cta-btn-register{
        flex:1 1 100%;
        width:100%;
    }
}

@media (max-width:575.98px){
    .container{
        padding-left:18px;
        padding-right:18px;
    }

    .hero-badge,
    .problems-badge,
    .solutions-badge,
    .preview-badge,
    .modules-badge,
    .simulation-badge,
    .consultation-badge,
    .investment-badge,
    .timeline-badge,
    .team-badge,
    .cta-badge{
        min-height:36px;
        padding:8px 13px;
        font-size:.78rem;
    }

    .problems-title,
    .solutions-title,
    .preview-title,
    .modules-title,
    .simulation-title,
    .consultation-title,
    .investment-title,
    .timeline-title,
    .team-title,
    .cta-title{
        font-size:2.05rem;
        line-height:1.12;
    }

    .hero-image{ width:min(100%, 390px); }
    .preview-image{ width:100%; }

    .timeline-wrapper{
        margin-top:40px;
        gap:18px;
    }

    .timeline-wrapper::before{ left:24px; }

    .timeline-item{
        grid-template-columns:48px 1fr;
        gap:14px;
    }

    .timeline-number{
        width:48px;
        height:48px;
        font-size:.86rem;
    }

    .timeline-card{ padding:22px; }
    .timeline-card h3{ font-size:1.08rem; }

    .learning-flow .row,
    .simulation-benefits .row,
    .consultation-features .row{
        --bs-gutter-x:12px;
        --bs-gutter-y:12px;
    }

    .flow-item,
    .benefit-item,
    .consultation-feature-item{
        min-height:108px;
        font-size:1.65rem;
    }

    .footer-section{ padding-top:48px; }
}

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

/* ------------------------------------------
   Refinement � readability & polish
   ------------------------------------------ */

/* -- Better selection & focus -- */
::selection {
    background: rgba(37, 99, 235, .18);
    color: var(--ink, #0d1b2a);
}
:focus-visible {
    outline: 2.5px solid var(--blue, #2563eb);
    outline-offset: 2px;
    border-radius: 2px;
}

/* -- Hero polish -- */
.hero-section {
    background:
        linear-gradient(180deg, #071527 0%, #0a1e35 42%, #0f2744 100%);
}
.hero-title {
    letter-spacing: -.03em;
}
.hero-subtitle {
    color: rgba(219, 234, 254, .7);
    font-weight: 600;
}
.hero-description {
    color: rgba(219, 234, 254, .78);
    font-weight: 400;
}
.hero-feature-list li {
    color: rgba(236, 244, 255, .82);
}
.hero-image {
    filter: drop-shadow(0 20px 60px rgba(37, 99, 235, .15));
    transition: transform .4s var(--ease), filter .4s var(--ease);
}
.hero-section:hover .hero-image {
    filter: drop-shadow(0 28px 80px rgba(37, 99, 235, .22));
}

/* -- Dark section headings contrast -- */
.solutions-title,
.modules-title,
.consultation-title,
.timeline-title,
.cta-title {
    color: #ffffff;
    letter-spacing: -.02em;
}
.solutions-description,
.modules-description,
.consultation-description,
.timeline-description,
.cta-description {
    color: rgba(236, 244, 255, .78);
}

/* -- Light section polish -- */
.problems-section,
.preview-section,
.simulation-section,
.investment-section,
.team-section {
    background: linear-gradient(180deg, var(--paper, #f7fafc), var(--paper-soft, #eef4f8));
}
.problems-title,
.preview-title,
.simulation-title,
.investment-title,
.team-title {
    letter-spacing: -.02em;
}
.problems-description,
.preview-description,
.simulation-description,
.investment-description,
.team-description {
    color: var(--muted-strong, #40516a);
}

/* -- Section transition overlays -- */
.problems-section::before {
    background:
        radial-gradient(ellipse at 50% 0%, rgba(37, 99, 235, .06), transparent 58%),
        radial-gradient(ellipse at 80% 100%, rgba(15, 118, 110, .05), transparent 42%);
}
.solutions-section::before {
    mask-image: linear-gradient(180deg, rgba(0,0,0,.95), transparent 76%);
}
.simulation-section::before {
    background:
        radial-gradient(ellipse at 20% 40%, rgba(37, 99, 235, .06), transparent 48%),
        radial-gradient(ellipse at 80% 60%, rgba(15, 118, 110, .05), transparent 44%);
}

/* -- Card refinements -- */
.problem-card,
.preview-feature-card,
.simulation-card,
.investment-sign-card,
.team-card,
.team-support {
    background: rgba(255, 255, 255, .92);
    border: 1px solid rgba(15, 23, 42, .07);
    box-shadow: 0 4px 16px rgba(15, 23, 42, .05), 0 1px 3px rgba(15, 23, 42, .04);
    transition: transform .32s var(--ease), border-color .32s var(--ease), box-shadow .32s var(--ease);
}
.problem-card:hover,
.preview-feature-card:hover,
.simulation-card:hover,
.investment-sign-card:hover,
.team-card:hover,
.team-support:hover {
    border-color: rgba(37, 99, 235, .2);
    box-shadow: 0 8px 32px rgba(15, 23, 42, .08), 0 2px 8px rgba(15, 23, 42, .04);
}

.module-card,
.consultation-card,
.timeline-card,
.cta-feature,
.learning-flow,
.consultation-features {
    background: linear-gradient(180deg, rgba(255, 255, 255, .09), rgba(255, 255, 255, .04));
    border-color: rgba(255, 255, 255, .12);
    backdrop-filter: blur(12px);
    transition: transform .32s var(--ease), border-color .32s var(--ease), box-shadow .32s var(--ease), background .32s var(--ease);
}
.simulation-benefits {
    border-color: rgba(255, 255, 255, .18);
    backdrop-filter: blur(12px);
    transition: transform .32s var(--ease), border-color .32s var(--ease), box-shadow .32s var(--ease), background .32s var(--ease);
}
.module-card:hover,
.consultation-card:hover,
.timeline-card:hover,
.cta-feature:hover,
.solution-visual:hover,
.learning-flow:hover,
.simulation-benefits:hover,
.consultation-features:hover {
    border-color: rgba(245, 184, 61, .35);
    box-shadow: 0 16px 48px rgba(2, 8, 23, .2);
}

/* -- Badge refinement -- */
.hero-badge,
.solutions-badge,
.modules-badge,
.consultation-badge,
.timeline-badge,
.cta-badge {
    background: rgba(255, 255, 255, .06);
    border-color: rgba(255, 255, 255, .14);
    color: rgba(219, 234, 254, .9);
}
.problems-badge,
.preview-badge,
.simulation-badge,
.team-badge {
    background: #e9f3ff;
    border-color: #b9d8fb;
    color: #0f4f87;
}

/* -- Button refinements -- */
.btn-login,
.cta-btn-login,
.investment-btn {
    background: linear-gradient(135deg, #ffd86b, var(--amber, #f5b83d));
    box-shadow: 0 8px 24px rgba(245, 184, 61, .24);
    color: #0d1b2a;
    font-weight: 900;
    letter-spacing: .01em;
}
.btn-login:hover,
.cta-btn-login:hover,
.investment-btn:hover {
    box-shadow: 0 12px 36px rgba(245, 184, 61, .32);
    transform: translateY(-3px);
}
.btn-login:active,
.cta-btn-login:active,
.investment-btn:active {
    transform: translateY(-1px) scale(.98);
    box-shadow: 0 4px 12px rgba(245, 184, 61, .2);
}

.btn-register,
.cta-btn-register {
    background: rgba(255, 255, 255, .07);
    border-color: rgba(255, 255, 255, .2);
    color: #ffffff;
    font-weight: 800;
}
.btn-register:hover,
.cta-btn-register:hover {
    background: rgba(255, 255, 255, .12);
    border-color: rgba(255, 255, 255, .32);
    transform: translateY(-3px);
}
.btn-register:active,
.cta-btn-register:active {
    transform: translateY(-1px) scale(.98);
    background: rgba(255, 255, 255, .08);
}

/* -- Typography refinement -- */
.problems-description,
.solutions-description,
.preview-description,
.modules-description,
.simulation-description,
.consultation-description,
.investment-description,
.timeline-description,
.team-description,
.cta-description,
.problems-footer,
.preview-footer,
.modules-footer,
.simulation-footer,
.consultation-footer,
.investment-footer,
.timeline-footer {
    line-height: 1.8;
    max-width: 720px;
}
.problems-description,
.preview-description,
.simulation-description,
.investment-description,
.team-description {
    color: var(--muted-strong, #40516a);
}

/* -- List items refinement -- */
.hero-feature-list li,
.solution-item,
.preview-feature-list li,
.module-feature-list li,
.simulation-list li,
.consultation-list li,
.investment-list li {
    line-height: 1.7;
}

/* -- Footer polish -- */
.footer-section {
    background: linear-gradient(180deg, #0a1e35, #071527);
    border-top: 1px solid rgba(255, 255, 255, .06);
}
.footer-section p,
.footer-section small {
    color: rgba(219, 234, 254, .65);
}

/* -- CTA section -- */
.cta-wrapper {
    background: linear-gradient(135deg, rgba(37, 99, 235, .08), rgba(15, 118, 110, .06));
    border: 1px solid rgba(255, 255, 255, .12);
    backdrop-filter: blur(16px);
}

/* -- Timeline refinement -- */
.timeline-wrapper::before {
    background: linear-gradient(180deg, rgba(37, 99, 235, .3), rgba(245, 184, 61, .2));
}
.timeline-number {
    font-weight: 950;
    box-shadow: 0 4px 14px rgba(37, 99, 235, .18);
}

/* -- Disable hover on touch -- */
@media (hover: none) and (pointer: coarse) {
    .problem-card:hover,
    .preview-feature-card:hover,
    .module-card:hover,
    .simulation-card:hover,
    .consultation-card:hover,
    .investment-sign-card:hover,
    .team-card:hover,
    .cta-feature:hover,
    .solution-visual:hover,
    .learning-flow:hover,
    .simulation-benefits:hover,
    .consultation-features:hover,
    .team-support:hover {
        transform: none !important;
        border-color: inherit !important;
        box-shadow: inherit !important;
    }
    .btn-login:hover,
    .btn-register:hover,
    .cta-btn-login:hover,
    .cta-btn-register:hover,
    .investment-btn:hover {
        transform: none !important;
        box-shadow: inherit !important;
    }
    .hero-section:hover .hero-image {
        filter: drop-shadow(0 20px 60px rgba(37, 99, 235, .15));
    }
    .hero-image {
        filter: drop-shadow(0 14px 40px rgba(37, 99, 235, .12));
    }
    .magnetic-button {
        transition: transform .15s ease;
    }
    .magnetic-button:active {
        transform: scale(.96) !important;
    }
}

/* -- Mobile responsive refinement -- */
@media (max-width: 575.98px) {
    .hero-title {
        font-size: 2.65rem;
    }
    .hero-subtitle {
        font-size: 1rem;
    }
    .hero-description {
        font-size: .95rem;
    }
    .problems-title,
    .solutions-title,
    .preview-title,
    .modules-title,
    .simulation-title,
    .consultation-title,
    .investment-title,
    .timeline-title,
    .team-title,
    .cta-title {
        font-size: 1.85rem;
        letter-spacing: -.01em;
    }
    .hero-feature-list li {
        font-size: .9rem;
    }
    .btn-login,
    .btn-register,
    .cta-btn-login,
    .cta-btn-register,
    .investment-btn {
        min-height: 48px;
        padding: 12px 20px;
        font-size: .92rem;
    }
    .problem-card,
    .preview-feature-card,
    .module-card,
    .simulation-card,
    .consultation-card,
    .investment-sign-card,
    .team-card {
        padding: 20px;
    }
    .learning-flow,
    .simulation-benefits,
    .consultation-features,
    .investment-check-card,
    .team-support {
        padding: 20px;
    }
    .cta-wrapper {
        padding: 36px 18px;
    }
    .problems-description,
    .solutions-description,
    .preview-description,
    .modules-description,
    .simulation-description,
    .consultation-description,
    .investment-description,
    .timeline-description,
    .team-description,
    .cta-description {
        font-size: .95rem;
        line-height: 1.7;
    }
    section {
        padding: var(--section-y-sm) 0;
    }
}

/* -- Extra small (max 400px) -- */
@media (max-width: 400px) {
    .container {
        padding-left: 14px;
        padding-right: 14px;
    }
    .hero-title {
        font-size: 2.15rem;
    }
    .problems-title,
    .solutions-title,
    .preview-title,
    .modules-title,
    .simulation-title,
    .consultation-title,
    .investment-title,
    .timeline-title,
    .team-title,
    .cta-title {
        font-size: 1.55rem;
    }
    .hero-badge,
    .problems-badge,
    .solutions-badge,
    .preview-badge,
    .modules-badge,
    .simulation-badge,
    .consultation-badge,
    .investment-badge,
    .timeline-badge,
    .team-badge,
    .cta-badge {
        font-size: .72rem;
        min-height: 32px;
        padding: 6px 11px;
    }
    .btn-login,
    .btn-register,
    .cta-btn-login,
    .cta-btn-register,
    .investment-btn {
        min-height: 44px;
        padding: 10px 16px;
        font-size: .85rem;
    }
}

/* -- Scroll-to-top button -- */
.landing-scroll-top {
    position: fixed;
    bottom: 28px;
    right: 28px;
    z-index: 9999;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 48px;
    height: 48px;
    border: none;
    border-radius: 50%;
    background: linear-gradient(135deg, var(--teal, #0f766e), var(--blue, #2563eb));
    color: #fff;
    font-size: 1.2rem;
    box-shadow: 0 4px 16px rgba(37, 99, 235, .28);
    cursor: pointer;
    opacity: 0;
    transform: translateY(20px) scale(.85);
    pointer-events: none;
    transition: opacity .3s var(--ease), transform .3s var(--ease), box-shadow .3s var(--ease);
}
.landing-scroll-top.visible {
    opacity: 1;
    transform: translateY(0) scale(1);
    pointer-events: auto;
}
.landing-scroll-top:hover {
    box-shadow: 0 8px 28px rgba(37, 99, 235, .35);
    transform: translateY(-2px) scale(1.05);
}
.landing-scroll-top:active {
    transform: translateY(0) scale(.95);
    box-shadow: 0 2px 8px rgba(37, 99, 235, .2);
}

@media (max-width: 575.98px) {
    .landing-scroll-top {
        bottom: 20px;
        right: 20px;
        width: 44px;
        height: 44px;
        font-size: 1.05rem;
    }
}
@media (hover: none) {
    .landing-scroll-top:hover {
        transform: translateY(0) scale(1);
        box-shadow: 0 4px 16px rgba(37, 99, 235, .28);
    }
}
