:root{
    --navy:#071b45;
    --navy2:#0f2d78;
    --blue:#0b66d8;
    --blue2:#2f8dff;
    --gold:#ffbf33;
    --green:#11a876;
    --red:#ef5c5c;
    --ink:#16213f;
    --muted:#67728c;
    --light:#f7faff;
    --line:#e5edf7;
    --card:#ffffff;
    --shadow:0 24px 70px rgba(7,27,69,.14);
    --shadow-soft:0 14px 38px rgba(7,27,69,.08);
}

*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{
    font-family:'Inter', Arial, Helvetica, sans-serif;
    color:var(--ink);
    background:#fff;
    line-height:1.6;
    overflow-x:hidden;
}
a{text-decoration:none;color:inherit}
.container{width:min(1180px,calc(100% - 40px));margin:0 auto}
.narrow{width:min(920px,calc(100% - 40px))}
.section{padding:92px 0;position:relative}
.section::before{
    content:"";
    position:absolute;
    top:0;
    left:50%;
    transform:translateX(-50%);
    width:min(1180px,calc(100% - 40px));
    height:1px;
    background:linear-gradient(90deg,transparent,rgba(11,102,216,.18),transparent);
}
.eyebrow{
    display:inline-flex;align-items:center;gap:10px;
    padding:10px 16px;border-radius:999px;
    color:var(--blue);background:rgba(11,102,216,.08);
    border:1px solid rgba(11,102,216,.14);
    font-size:13px;font-weight:900;letter-spacing:.02em;
}
.eyebrow:before{
    content:"";width:9px;height:9px;border-radius:50%;
    background:var(--gold);box-shadow:0 0 0 6px rgba(255,191,51,.24);
}
h1,.page-hero h1,.section-title,.cta-box h2,.price-panel strong,.hero-stats strong,.metric-card b{
    font-family:'Sora','Inter',Arial,sans-serif;
}
.section-title{
    color:var(--navy);
    font-size:clamp(34px,4.3vw,58px);
    line-height:1.03;
    letter-spacing:-.055em;
    font-weight:950;
    margin-top:16px;
}
.section-lead{font-size:18px;color:var(--muted);max-width:820px;margin-top:18px}
.light-title{color:#fff}
.light-text{color:rgba(255,255,255,.75)}
.btn{
    display:inline-flex;align-items:center;justify-content:center;
    padding:15px 22px;border-radius:16px;border:0;
    font-weight:950;font-size:15px;cursor:pointer;transition:.25s ease;
}
.btn-primary{background:linear-gradient(135deg,var(--blue),#0048a8);color:#fff;box-shadow:0 18px 34px rgba(11,102,216,.28)}
.btn-light{background:#fff;color:var(--navy);border:1px solid var(--line);box-shadow:var(--shadow-soft)}
.btn-gold{background:var(--gold);color:var(--navy)}
.btn:hover{transform:translateY(-2px)}

.svg-icon{width:1.2em;height:1.2em;display:block}

.site-header{position:fixed;inset:18px 0 auto 0;z-index:50;pointer-events:none}
.nav{
    pointer-events:auto;
    display:flex;align-items:center;justify-content:space-between;
    padding:12px 14px 12px 18px;
    background:rgba(255,255,255,.88);
    border:1px solid rgba(229,237,247,.95);
    backdrop-filter:blur(18px);
    border-radius:22px;
    box-shadow:0 14px 38px rgba(7,27,69,.08);
    position:relative;
}
.brand,.footer-brand{display:flex;align-items:center;gap:12px;font-weight:950;color:var(--navy)}
.logo{
    width:42px;height:42px;border-radius:14px;
    display:grid;place-items:center;
    background:linear-gradient(135deg,var(--blue),var(--navy));
    color:#fff;font-weight:950;box-shadow:0 12px 22px rgba(11,102,216,.25);
}
.nav-links{display:flex;gap:22px;align-items:center;font-size:14px;color:#4f5a74;font-weight:850}
.nav-links a:hover{color:var(--blue)}
.nav-cta{background:var(--navy);color:#fff!important;padding:11px 16px;border-radius:14px}
.menu-button{display:none;border:0;background:var(--light);color:var(--navy);border-radius:12px;padding:10px 12px;font-weight:900}

.hero,.page-hero{
    position:relative;
    padding:155px 0 92px;
    overflow:hidden;
    background:
        radial-gradient(circle at 10% 10%, rgba(255,191,51,.30), transparent 28%),
        radial-gradient(circle at 92% 8%, rgba(47,141,255,.18), transparent 30%),
        linear-gradient(180deg,#f9fbff 0%,#fff 72%);
    isolation:isolate;
}
.hero:before,.page-hero:before{
    content:"";position:absolute;inset:0;
    background-image:
        linear-gradient(rgba(7,27,69,.045) 1px,transparent 1px),
        linear-gradient(90deg,rgba(7,27,69,.045) 1px,transparent 1px);
    background-size:44px 44px;
    mask-image:linear-gradient(180deg,#000 0%,transparent 80%);
}
.hero::after,.page-hero::after{
    content:"";position:absolute;inset:-20%;z-index:0;pointer-events:none;
    background:
        radial-gradient(circle at 20% 20%, rgba(11,102,216,.16), transparent 28%),
        linear-gradient(90deg, rgba(11,102,216,.10) 1px, transparent 1px),
        linear-gradient(rgba(11,102,216,.10) 1px, transparent 1px);
    background-size:100% 100%, 72px 72px, 72px 72px;
    mask-image:radial-gradient(circle at 72% 38%, #000 0%, transparent 62%);
    animation:gridPulse 8s ease-in-out infinite alternate;
    opacity:.55;
}
.hero-grid{position:relative;z-index:1;display:grid;grid-template-columns:1.02fr .98fr;gap:56px;align-items:center}
.hero h1,.page-hero h1{
    color:var(--navy);
    font-size:clamp(44px,6.8vw,82px);
    line-height:.96;letter-spacing:-.07em;font-weight:950;
    margin-top:18px;
}
.hero h1 span{color:var(--blue)}
.hero-copy p,.page-hero p{font-size:20px;color:#4c5772;max-width:740px;margin:24px 0 30px}
.hero-actions{display:flex;gap:14px;flex-wrap:wrap}
.hero-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:34px}
.hero-stats div,.metric-card{
    background:#fff;border:1px solid var(--line);border-radius:22px;padding:18px;box-shadow:var(--shadow-soft);
}
.hero-stats strong{display:block;font-size:28px;line-height:1;color:var(--navy);font-weight:950}
.hero-stats span{display:block;font-size:13px;color:var(--muted);font-weight:760;margin-top:6px}

.hero-visual{position:relative;min-height:560px;display:grid;place-items:center}
.platform-card{
    width:min(520px,100%);
    background:#0e1628;border-radius:28px;padding:14px;
    box-shadow:0 34px 84px rgba(7,27,69,.30);
    border:1px solid rgba(255,255,255,.14);
    position:relative;overflow:hidden;
}
.dashboard-top{
    background:linear-gradient(135deg,#0b5fd0,var(--blue2));
    color:#fff;border-radius:18px 18px 0 0;
    padding:18px 20px;display:flex;justify-content:space-between;align-items:center;
}
.dashboard-top span{font-size:12px;font-weight:900;background:rgba(255,255,255,.16);padding:7px 10px;border-radius:999px}
.dashboard-body{background:#fff;border-radius:0 0 18px 18px;padding:18px;display:grid;grid-template-columns:1fr 1fr;gap:12px}
.metric-card small{display:block;color:var(--muted);font-weight:760}
.metric-card b{font-size:30px;color:var(--navy)}
.chart-card{grid-column:1/-1;background:linear-gradient(135deg,#f8fbff,#eef5ff);border:1px solid var(--line);border-radius:20px;padding:18px}
.bar-chart,.mini-bars{height:110px;display:flex;align-items:end;gap:10px}
.bar-chart i,.mini-bars i{flex:1;border-radius:999px 999px 8px 8px;background:linear-gradient(180deg,var(--blue2),var(--blue))}
.bar-chart i:nth-child(1),.mini-bars i:nth-child(1){height:48%}
.bar-chart i:nth-child(2),.mini-bars i:nth-child(2){height:62%}
.bar-chart i:nth-child(3),.mini-bars i:nth-child(3){height:56%}
.bar-chart i:nth-child(4),.mini-bars i:nth-child(4){height:74%}
.bar-chart i:nth-child(5),.mini-bars i:nth-child(5){height:86%;background:linear-gradient(180deg,var(--gold),#f79b22)}
.bar-chart i:nth-child(6),.mini-bars i:nth-child(6){height:78%}
.floating-note,.float-note{
    position:absolute;background:rgba(255,255,255,.94);border:1px solid var(--line);
    padding:14px 16px;border-radius:20px;box-shadow:var(--shadow-soft);font-weight:900;color:var(--navy);
    display:flex;align-items:center;gap:10px;backdrop-filter:blur(12px);
}
.note-one{top:90px;left:0}.note-two{right:0;bottom:110px}.note-three{left:20px;bottom:210px}
.floating-icon{width:34px;height:34px;border-radius:13px;display:grid;place-items:center;background:rgba(255,191,51,.22);color:var(--blue)}
.floating-icon .svg-icon{width:20px;height:20px}

.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:42px}
.service-card,.role-card,.custom-card{
    background:#fff;border:1px solid var(--line);border-radius:26px;padding:26px;
    box-shadow:var(--shadow-soft);transition:.25s ease;
}
.service-card:hover,.role-card:hover,.custom-card:hover{transform:translateY(-5px);box-shadow:0 24px 52px rgba(7,27,69,.11)}
.service-card .icon,.role-icon,.service-detail-card .icon{
    width:56px;height:56px;border-radius:18px;display:grid;place-items:center;
    background:linear-gradient(135deg,rgba(11,102,216,.12),rgba(255,191,51,.22));
    color:var(--blue);margin-bottom:18px;
}
.service-card .icon .svg-icon,.role-icon .svg-icon,.service-detail-card .icon .svg-icon{width:27px;height:27px}
.service-card h3,.role-card h3,.custom-card h3{font-size:19px;color:var(--navy);line-height:1.25;margin-bottom:8px}
.service-card p,.role-card p,.custom-card p{font-size:14px;color:var(--muted)}
.service-card a{display:inline-block;margin-top:14px;color:var(--blue);font-weight:900}
.highlighted{border-color:rgba(11,102,216,.26);background:linear-gradient(180deg,#fff,#f8fbff)}

.industries,.tech-stack-section,.management-section{background:linear-gradient(180deg,#fff,#f7faff)}
.industries-grid,.benefit-grid,.performance-grid,.contact-grid,.security-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:40px;align-items:start}
.industry-list{display:grid;gap:14px}
.industry-item{
    display:grid;grid-template-columns:auto 1fr;gap:8px 14px;
    background:#fff;border:1px solid var(--line);border-radius:22px;padding:18px;box-shadow:var(--shadow-soft);
    transition:.25s ease;
}
.industry-item:hover{transform:translateY(-3px);box-shadow:0 20px 46px rgba(7,27,69,.11)}
.industry-icon{grid-row:1/3;width:46px;height:46px;border-radius:16px;display:grid;place-items:center;background:rgba(11,102,216,.10);color:var(--blue)}
.industry-icon .svg-icon{width:25px;height:25px}
.industry-list b{color:var(--navy)}
.industry-list p{color:var(--muted);font-size:14px}

.stack-grid,.client-grid,.security-list{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:42px}
.stack-grid div,.client-grid article,.security-list div{
    background:#fff;border:1px solid var(--line);border-radius:24px;padding:22px;box-shadow:var(--shadow-soft);
}
.stack-grid b,.client-grid b,.security-list b{display:block;color:var(--navy);font-size:18px;margin-bottom:8px}
.stack-grid span,.client-grid p,.security-list p{color:var(--muted);font-size:14px}
.client-grid span{display:inline-block;margin-bottom:10px;color:var(--blue);font-weight:900;font-size:13px}

.benefit-list{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}
.benefit-list div{
    background:#fff;border:1px solid var(--line);border-radius:20px;padding:18px;
    display:flex;gap:12px;align-items:flex-start;box-shadow:var(--shadow-soft);
}
.benefit-list span{
    width:28px;height:28px;flex:0 0 28px;border-radius:10px;
    display:grid;place-items:center;background:rgba(17,168,118,.12);color:var(--green);font-weight:950;
}
.benefit-list p{font-size:14px;font-weight:780;color:#26314f}

.process,.performance-section{
    background:var(--navy);color:#fff;position:relative;overflow:hidden;isolation:isolate;
}
.process::before,.performance-section::before{
    content:"";position:absolute;inset:0;pointer-events:none;
    background:
        radial-gradient(circle at 82% 12%, rgba(47,141,255,.30), transparent 26%),
        linear-gradient(90deg, rgba(255,255,255,.055) 1px, transparent 1px),
        linear-gradient(rgba(255,255,255,.055) 1px, transparent 1px);
    background-size:100% 100%, 58px 58px, 58px 58px;
    animation:gridPulse 9s ease-in-out infinite alternate;
}
.process .container,.performance-section .container{position:relative;z-index:1}
.process .section-title{color:#fff}
.process-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:42px}
.process-grid div{
    background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.14);
    border-radius:26px;padding:24px;
}
.process-grid b{display:block;color:var(--gold);font-size:30px;margin-bottom:8px}
.process-grid h3{font-size:18px;margin-bottom:8px}
.process-grid p{color:rgba(255,255,255,.72);font-size:14px}

.cta-section{padding:48px 0;background:linear-gradient(135deg,#f7fbff,#fff)}
.cta-box{
    background:var(--navy);color:#fff;border-radius:36px;padding:46px;
    display:grid;grid-template-columns:1fr auto;gap:30px;align-items:center;overflow:hidden;
}
.cta-box h2{font-size:clamp(30px,4vw,48px);line-height:1.05;letter-spacing:-.04em}
.cta-box p{margin-top:12px;color:rgba(255,255,255,.75);max-width:760px}

.phone-wrap{position:relative;min-height:660px;display:grid;place-items:center}
.blue-blob{
    position:absolute;width:560px;height:560px;border-radius:46% 54% 51% 49%;
    background:linear-gradient(145deg,var(--blue),#003991);transform:rotate(-8deg);box-shadow:var(--shadow);
}
.parent-phone{
    position:relative;width:min(345px,92vw);background:#111827;border-radius:42px;padding:14px;
    box-shadow:0 34px 86px rgba(7,27,69,.34);border:1px solid rgba(255,255,255,.16);transform:rotate(2.5deg);
    overflow:hidden;
}
.phone-screen{min-height:685px;background:#fff;border-radius:30px;overflow:hidden}
.phone-top{background:linear-gradient(135deg,#0b5fd0,var(--blue2));color:#fff;padding:20px 18px 62px;position:relative}
.phone-status{display:flex;justify-content:space-between;font-size:13px;font-weight:800}
.phone-top h3{font-size:26px;margin-top:24px}.phone-top p{font-size:12px;opacity:.88;margin-top:2px}
.student-card{
    position:absolute;left:18px;right:18px;bottom:-38px;background:#fff;border-radius:20px;padding:14px;
    display:flex;align-items:center;gap:12px;box-shadow:0 14px 34px rgba(7,27,69,.18);color:var(--ink);
}
.student-avatar-icon{width:56px;height:56px;border-radius:18px;display:grid;place-items:center;background:linear-gradient(135deg,#ffe082,#2f8dff);color:#fff}
.student-avatar-icon .svg-icon{width:28px;height:28px}
.student-card b{display:block;color:var(--navy)}.student-card small{color:var(--muted);font-weight:750}
.phone-body{padding:58px 14px 14px}
.app-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.app-grid div{
    min-height:96px;border:1px solid var(--line);border-radius:18px;background:linear-gradient(180deg,#fff,#f8fbff);
    display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:8px;
}
.app-icon{width:30px;height:30px;display:grid;place-items:center;color:var(--blue);margin-bottom:4px}
.app-icon .svg-icon{width:25px;height:25px}
.app-grid b{font-size:11px;line-height:1.2;color:var(--navy);margin-top:5px}.app-grid small{font-size:8.5px;color:var(--muted)}
.mini-performance{margin-top:14px;padding:16px;border-radius:22px;background:linear-gradient(135deg,#f8fbff,#eef5ff);border:1px solid var(--line)}
.mini-performance > div:first-child{display:flex;justify-content:space-between;margin-bottom:12px}
.mini-performance b{font-size:14px;color:var(--navy)}.mini-performance span{font-size:12px;color:var(--green);font-weight:900}
.float-a{top:88px;left:0}.float-b{right:0;bottom:124px}.float-c{left:16px;bottom:220px}

.analytics-card{
    background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.14);
    border-radius:34px;padding:24px;box-shadow:0 34px 88px rgba(0,0,0,.20);backdrop-filter:blur(18px);
    position:relative;overflow:hidden;
}
.analytics-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}
.analytics-header span{background:rgba(255,191,51,.18);color:var(--gold);padding:8px 11px;border-radius:999px;font-size:12px;font-weight:950}
.analytics-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:14px}
.line-graph,.performance-groups{background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.12);border-radius:24px;padding:18px}
.line-graph svg{width:100%;height:220px;display:block}
.donut{
    width:150px;height:150px;border-radius:50%;background:conic-gradient(var(--green) 0 42%,var(--gold) 42% 72%,var(--red) 72% 100%);
    display:grid;place-items:center;margin:12px auto;box-shadow:inset 0 0 0 18px rgba(255,255,255,.09);
}
.donut span{width:86px;height:86px;border-radius:50%;background:var(--navy);display:grid;place-items:center;text-align:center;font-weight:950}
.donut small{display:block;font-size:11px;color:rgba(255,255,255,.68)}
.performance-groups p{display:flex;gap:9px;align-items:center;color:rgba(255,255,255,.72);font-size:13px;margin-top:8px}
.performance-groups i{width:10px;height:10px;border-radius:50%;display:block}.green{background:var(--green)}.gold{background:var(--gold)}.red{background:var(--red)}
.insight-row{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:14px}
.insight-row div{background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.12);border-radius:18px;padding:14px}
.insight-row b{display:block;font-size:22px}.insight-row span{font-size:12px;color:rgba(255,255,255,.67);font-weight:800}

.split-header{display:grid;grid-template-columns:.9fr 1.1fr;gap:36px;align-items:end}
.split-header > p{background:#fff;border:1px solid var(--line);border-radius:28px;padding:28px;box-shadow:var(--shadow-soft);color:var(--muted)}
.role-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:42px}
.role-card{min-height:230px}

.pricing-section{background:linear-gradient(135deg,#f7fbff,#fff)}
.price-card{
    margin-top:42px;background:#fff;border:1px solid var(--line);border-radius:36px;overflow:hidden;
    display:grid;grid-template-columns:1fr 1fr;box-shadow:var(--shadow);
}
.price-card > div:first-child{padding:42px}.price-card h3{font-size:30px;color:var(--navy);line-height:1.1;margin-bottom:14px}.price-card p{color:var(--muted)}
.price-panel{background:linear-gradient(135deg,var(--blue),var(--navy));color:#fff;padding:42px}
.price-panel small{font-weight:950;color:var(--gold);letter-spacing:.08em}
.price-panel strong{display:block;font-size:clamp(54px,8vw,90px);line-height:.95;letter-spacing:-.06em}
.price-panel span{display:block;font-weight:950;color:#e7f2ff;margin-bottom:22px}.price-panel p{color:rgba(255,255,255,.86);font-weight:780;margin-top:8px}

.page-hero{padding:150px 0 70px}
.contact-card,.contact-details{
    background:#fff;border:1px solid var(--line);border-radius:30px;padding:30px;box-shadow:var(--shadow-soft);
}
.contact-card h2,.contact-details h2{color:var(--navy);font-size:30px;line-height:1.1;margin-bottom:18px}
.contact-form{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}
.contact-form label{display:grid;gap:7px;font-weight:850;color:var(--navy);font-size:14px}
.contact-form input,.contact-form select,.contact-form textarea{
    width:100%;border:1px solid var(--line);border-radius:15px;padding:13px 14px;font:inherit;color:var(--ink);background:#fff;
}
.contact-form input:focus,.contact-form select:focus,.contact-form textarea:focus{outline:3px solid rgba(11,102,216,.12);border-color:rgba(11,102,216,.35)}
.contact-form .full{grid-column:1/-1}.contact-form button{width:max-content}
.contact-form small{color:var(--red)}
.honeypot{position:absolute!important;left:-9999px!important;opacity:0!important;height:0!important;width:0!important}
.success-message{background:rgba(17,168,118,.12);color:#06764f;border:1px solid rgba(17,168,118,.22);border-radius:16px;padding:13px 14px;margin-bottom:18px;font-weight:850}
.error-message{background:rgba(239,92,92,.12);color:#9f2f2f;border:1px solid rgba(239,92,92,.2);border-radius:16px;padding:13px 14px;margin-bottom:18px}
.contact-details p{color:var(--muted);margin-bottom:20px}
.contact-item{display:flex;gap:14px;align-items:flex-start;border:1px solid var(--line);border-radius:18px;padding:15px;margin-top:12px}
.contact-icon{width:44px;height:44px;flex:0 0 44px;border-radius:16px;display:grid;place-items:center;color:var(--blue);background:rgba(11,102,216,.10)}
.contact-icon .svg-icon{width:23px;height:23px}
.contact-item b{display:block;color:var(--navy)}.contact-item a{color:var(--blue);font-weight:850}
.mini-pitch{margin-top:20px;background:var(--light);border:1px solid var(--line);border-radius:22px;padding:18px}.mini-pitch h3{color:var(--navy);margin-bottom:8px}
.checkbox-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}
.checkbox-grid label{display:flex!important;flex-direction:row;align-items:center;gap:8px;background:var(--light);border:1px solid var(--line);border-radius:14px;padding:10px;font-weight:750}
.checkbox-grid input{width:auto}

.service-detail-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:36px;align-items:start}
.service-detail-card{background:#fff;border:1px solid var(--line);border-radius:28px;padding:30px;box-shadow:var(--shadow-soft)}
.service-detail-card h2{color:var(--navy);font-size:30px;margin-bottom:10px}.service-detail-card p{color:var(--muted)}

.security-list div span{display:grid;place-items:center;width:52px;height:52px;border-radius:18px;background:rgba(11,102,216,.10);color:var(--blue);margin-bottom:14px}
.security-list div span .svg-icon{width:26px;height:26px}

.platform-card::after,.parent-phone::after,.analytics-card::after{
    content:"";position:absolute;inset:-45% -70%;
    background:linear-gradient(115deg,transparent 35%,rgba(255,255,255,.22) 48%,transparent 62%);
    transform:translateX(-35%);
    animation:screenShine 7s ease-in-out infinite;
    pointer-events:none;
}

.reveal{opacity:0;transform:translateY(24px);transition:opacity .75s ease, transform .75s cubic-bezier(.2,.8,.2,1)}
.reveal.is-visible{opacity:1;transform:translateY(0)}

.floating-cta{
    position:fixed;right:22px;bottom:22px;z-index:80;
    display:flex;align-items:center;gap:12px;
    padding:12px 16px 12px 12px;
    background:rgba(7,27,69,.94);color:#fff;
    border:1px solid rgba(255,255,255,.16);border-radius:22px;
    box-shadow:0 22px 52px rgba(7,27,69,.28);backdrop-filter:blur(16px);transition:.25s ease;
}
.floating-cta:hover{transform:translateY(-3px);box-shadow:0 26px 68px rgba(7,27,69,.34)}
.floating-cta-icon{width:42px;height:42px;border-radius:16px;display:grid;place-items:center;background:linear-gradient(135deg,var(--blue),var(--gold));color:#fff}
.floating-cta-icon .svg-icon{width:22px;height:22px}
.floating-cta strong{display:block;font-size:13px;line-height:1.1}.floating-cta small{display:block;font-size:11px;color:rgba(255,255,255,.68);margin-top:2px}

.footer{background:#061632;color:rgba(255,255,255,.72);padding:48px 0 20px}
.footer-grid{display:grid;grid-template-columns:1.2fr .8fr .8fr .8fr;gap:30px}
.footer-brand{color:#fff;margin-bottom:12px}.footer p{max-width:500px}
.footer h4{color:#fff;margin-bottom:12px}.footer a{display:block;margin-top:8px}
.footer a:hover{color:#fff}
.footer-bottom{border-top:1px solid rgba(255,255,255,.12);margin-top:34px;padding-top:20px;display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;font-size:14px}

@keyframes gridPulse{0%{transform:translate3d(0,0,0) scale(1);opacity:.32}100%{transform:translate3d(-18px,12px,0) scale(1.03);opacity:.72}}
@keyframes screenShine{0%,55%{transform:translateX(-38%);opacity:0}67%{opacity:1}100%{transform:translateX(38%);opacity:0}}

@media (prefers-reduced-motion: reduce){
    .hero::after,.page-hero::after,.performance-section::before,.process::before,.platform-card::after,.parent-phone::after,.analytics-card::after{animation:none}
    .reveal{opacity:1;transform:none}
}

@media (max-width:1050px){
    .hero-grid,.industries-grid,.benefit-grid,.performance-grid,.contact-grid,.split-header,.price-card,.cta-box,.service-detail-grid,.security-grid{grid-template-columns:1fr}
    .service-grid,.role-grid,.stack-grid,.client-grid,.security-list{grid-template-columns:repeat(2,1fr)}
    .process-grid,.footer-grid{grid-template-columns:repeat(2,1fr)}
    .hero{padding-top:132px}
}
@media (max-width:900px){
    .nav-links{display:none}
    .menu-button{display:block}
    .nav.open .nav-links{
        display:flex;position:absolute;left:0;right:0;top:76px;flex-direction:column;align-items:flex-start;
        background:#fff;border:1px solid var(--line);padding:20px;border-radius:22px;box-shadow:var(--shadow);
    }
    .hero-stats,.benefit-list,.analytics-grid,.insight-row,.footer-grid{grid-template-columns:1fr}
    .floating-note,.float-note{display:none}
}
@media (max-width:680px){
    .container,.narrow{width:min(100% - 28px,1180px)}
    .hero h1,.page-hero h1{font-size:43px}
    .hero-copy p,.page-hero p{font-size:17px}
    .section{padding:66px 0}
    .service-grid,.role-grid,.process-grid,.contact-form,.stack-grid,.client-grid,.checkbox-grid,.security-list{grid-template-columns:1fr}
    .contact-form .full{grid-column:auto}
    .phone-wrap{min-height:620px}.parent-phone{width:min(320px,92vw)}.phone-screen{min-height:630px}
    .price-card > div:first-child,.price-panel,.cta-box{padding:30px}
    .floating-cta{left:14px;right:14px;bottom:14px;justify-content:center}
    .footer{padding-bottom:96px}
}
