:root {
    --snow-bg: #f4f7f9;
    --snow-panel: #ffffff;
    --ice-blue: #86b9e0;
    --ice-deep: #2c5282;
    --text-main: #334155;
    --text-dim: #94a3b8;
}

* { margin: 0; padding: 0; box-sizing: border-box; }
body {
    background-color: var(--snow-bg);
    color: var(--text-main);
    font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", Arial, sans-serif;
    line-height: 1.7;
    position: relative;
    overflow-x: hidden;
}

/* Background element */
body::before {
    content: ''; position: fixed; top: -20vh; left: -10vw; width: 120vw; height: 70vh;
    background: radial-gradient(ellipse at center, rgba(134, 185, 224, 0.15) 0%, transparent 70%);
    z-index: -1; pointer-events: none;
}

a { text-decoration: none; color: inherit; transition: 0.3s; }
.wrap { max-width: 1200px; margin: 0 auto; padding: 0 20px; }

/* Structural difference: 
   Floating Nav on bottom for mobile, fixed top right for desktop.
   Hero left aligned.
   Stats as a vertical sidebar.
   Features as a slider/grid.
*/

.top-bar {
    display: flex; justify-content: space-between; align-items: center;
    padding: 30px 0; border-bottom: 1px solid rgba(134, 185, 224, 0.2);
}
.brand { font-size: 24px; font-weight: 800; color: var(--ice-deep); letter-spacing: -1px; }
.nav { display: flex; gap: 40px; align-items: center;}
.nav a { font-size: 14px; font-weight: 600; color: var(--text-dim); }
.nav a:hover { color: var(--ice-deep); }
.dl-btn { background: var(--ice-deep); color: #fff; padding: 12px 30px; border-radius: 40px; box-shadow: 0 4px 15px rgba(44, 82, 130, 0.2); }
.dl-btn:hover { background: var(--ice-blue); transform: translateY(-2px); }

/* Main Grid */
.main-grid {
    display: grid; grid-template-columns: 200px 1fr; gap: 60px; margin-top: 60px;
}

/* Left Sidebar - Stats & Trust */
.side-info {
    display: flex; flex-direction: column; gap: 40px; position: sticky; top: 40px; height: fit-content;
}
.stat-item { padding-bottom: 20px; border-bottom: 1px dashed rgba(134, 185, 224, 0.3); }
.stat-item b { display: block; font-size: 32px; color: var(--ice-blue); line-height: 1; margin-bottom: 5px;}
.stat-item span { font-size: 12px; color: var(--text-dim); text-transform: uppercase; font-weight: 600;}

.trust-box { background: #fff; padding: 20px; border-radius: 12px; box-shadow: 0 10px 30px rgba(0,0,0,0.02); border: 1px solid rgba(134, 185, 224, 0.1); }
.t-li { font-size: 12px; font-weight: 600; display: flex; align-items: center; gap: 8px; margin-bottom: 10px; color: var(--ice-deep);}
.t-li:last-child { margin-bottom: 0; }
.t-li::before { content: ''; width: 6px; height: 6px; background: var(--ice-blue); border-radius: 50%; }

/* Right Content Area */
.content-area { padding-bottom: 100px; }

/* Hero */
.hero { margin-bottom: 80px; }
.hero h1 { font-size: 64px; color: var(--ice-deep); line-height: 1.1; margin-bottom: 30px; letter-spacing: -2px;}
.hero p { font-size: 20px; color: var(--text-dim); max-width: 600px; margin-bottom: 40px; line-height: 1.6;}
.h-acts { display: flex; gap: 20px; }
.btn-w { background: #fff; color: var(--ice-deep); border: 1px solid var(--ice-deep); padding: 12px 30px; border-radius: 40px; font-weight: bold; }
.btn-w:hover { background: var(--snow-bg); }

/* Features */
.section-title { font-size: 28px; color: var(--ice-deep); margin-bottom: 40px; font-weight: 800; display: flex; align-items: center; gap: 15px;}
.section-title::after { content: ''; flex: 1; height: 1px; background: rgba(134, 185, 224, 0.2); }

.f-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 30px; margin-bottom: 80px; }
.f-box { background: #fff; padding: 40px; border-radius: 20px; box-shadow: 0 10px 40px rgba(0,0,0,0.03); transition: 0.3s;}
.f-box:hover { transform: translateY(-5px); box-shadow: 0 15px 50px rgba(134, 185, 224, 0.15); }
.f-box h3 { font-size: 20px; color: var(--ice-deep); margin-bottom: 15px; }
.f-box p { font-size: 15px; color: var(--text-dim); }

/* Nodes (Map points style) */
.node-wrap { background: #fff; border-radius: 20px; padding: 40px; display: flex; flex-wrap: wrap; gap: 15px; margin-bottom: 80px; box-shadow: 0 10px 40px rgba(0,0,0,0.03);}
.n-pt { background: var(--snow-bg); padding: 10px 20px; border-radius: 30px; font-size: 14px; font-weight: 600; color: var(--ice-deep); display: flex; align-items: center; gap: 10px;}
.n-pt span { background: var(--ice-blue); color: #fff; font-size: 11px; padding: 2px 8px; border-radius: 10px;}

/* Reviews and FAQ Side by Side inside content area */
.info-row { display: grid; grid-template-columns: 1fr 1fr; gap: 40px; }

.r-card { background: #fff; padding: 30px; border-radius: 16px; margin-bottom: 20px; border-left: 4px solid var(--ice-blue);}
.r-card .s { color: var(--ice-blue); margin-bottom: 10px; font-size: 12px;}
.r-card p { font-size: 14px; color: var(--text-main); margin-bottom: 10px; font-style: italic;}
.r-card b { font-size: 12px; color: var(--text-dim); }

.q-acc { background: #fff; border-radius: 16px; padding: 20px; margin-bottom: 20px; box-shadow: 0 5px 20px rgba(0,0,0,0.02);}
.q-acc .q { font-weight: 700; color: var(--ice-deep); cursor: pointer; display: flex; justify-content: space-between; font-size: 15px;}
.q-acc .a { font-size: 14px; color: var(--text-dim); padding-top: 15px; display: none; }

.foot { text-align: center; padding: 40px 0; color: var(--text-dim); font-size: 13px; border-top: 1px solid rgba(134, 185, 224, 0.2); margin-top: 40px;}

@media (max-width: 900px) {
    .main-grid { grid-template-columns: 1fr; }
    .side-info { position: static; flex-direction: row; flex-wrap: wrap; gap: 20px; margin-bottom: 40px;}
    .stat-item { border-bottom: none; border-right: 1px dashed rgba(134, 185, 224, 0.3); padding-right: 20px; padding-bottom: 0;}
    .nav { display: none; }
    .f-grid, .info-row { grid-template-columns: 1fr; }
}