/* EDUVIA V106 — canonical simple UI: no animation, no transition, no backdrop blur. */
:root{--tone-10f83111:rgba(7, 94, 140, 0.18);--tone-14c4914c:rgba(7, 94, 140, 0.16);--tone-247ca4:#247ca4;--tone-366fd0:#366fd0;--tone-454c73bd:rgba(0, 52, 125, 0.20);--tone-7854c8:#7854c8;--tone-b34a5bf0:rgba(7, 94, 140, 0.3);--tone-d550a5f4:rgba(0, 52, 125, 0.16);--tone-e3f6f0:#e3f6f0;--tone-e8efed:#e8efed;--tone-f0eafe:#f0eafe;--ink:#11243f;--muted:#5f7390;--line:rgba(0, 52, 125, 0.10);--green:var(--theme-primary,#078ee8);--blue-dark:var(--theme-primary-darker,#123d6b);--mint:#eaf4ff;--blue:#3b76e8;--orange:#f59e42;--violet:#8c63e7;--surface:var(--tone-09fa70dc,rgba(255, 255, 255, 0.78));--shadow:0 24px 70px rgba(8, 48, 110, 0.10);--radius:30px;font-family:"Outfit",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:#f6faff;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;--portal-form-visible-height:100dvh;--portal-form-viewport-top:0px;--portal-form-keyboard-inset:0px;--readable-font:"Outfit",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--eduvia-shared-blue:var(--theme-primary,#078ee8);--eduvia-shared-blue-dark:#075da7;--eduvia-shared-ink:#172033;--eduvia-shared-muted:var(--theme-text-muted,#60758d);--eduvia-shared-line:#e3eaf2;--eduvia-shared-soft:#f6f9fc;--eduvia-shared-surface:var(--theme-surface,#fff);--eduvia-shared-radius:16px;--eduvia-shared-safe-bottom:env(safe-area-inset-bottom, 0px);--eduvia-shared-shadow:0 12px 34px rgba(15, 23, 42, 0.09);}
*{box-sizing:border-box;}
html{scroll-padding-top:110px;}
body{min-width:320px;min-height:100dvh;margin:0;overflow-x:hidden;background:radial-gradient(circle at 87% 4%, rgba(155, 206, 255, 0.28), transparent 24rem),
    radial-gradient(circle at 4% 32%, rgba(200, 222, 255, 0.22), transparent 27rem),
    linear-gradient(180deg, var(--theme-surface-elevated,#fbfdff) 0%, #f2f8ff 55%, var(--theme-surface-elevated,#fbfdff) 100%);}
body.menu-open{overflow:hidden;}
a,
button{-webkit-tap-highlight-color:transparent;}
a{color:inherit;}
button,
input{font:inherit;}
.skip-link{position:fixed;z-index:999;top:12px;left:12px;padding:10px 14px;transform:translateY(-150%);border-radius:var(--radius-md-lg,12px);color:var(--theme-surface,#fff);background:var(--blue-dark);}
.skip-link:focus{transform:none;}
.page-glow{position:fixed;z-index:-1;width:28rem;height:28rem;border-radius:50%;filter:blur(90px);opacity:0.3;pointer-events:none;}
.page-glow-one{top:15%;right:-16rem;background:#8fd1ff;}
.page-glow-two{top:56%;left:-18rem;background:#d7e9ff;}
.glass{border:1px solid var(--tone-dec94ca2,rgba(255, 255, 255, 0.86));background:rgba(255, 255, 255, 0.73);box-shadow:var(--shadow);}
.site-header{position:fixed;z-index:100;top:0;right:0;left:0;padding:18px 28px;}
.site-header.scrolled{padding-top:10px;}
.nav-shell{display:grid;grid-template-columns:auto 1fr auto;align-items:center;width:min(1160px, 100%);min-height:64px;margin:0 auto;padding:9px 12px 9px 19px;border-color:var(--tone-8fafb20d,rgba(255, 255, 255, 0.9));border-radius:var(--radius-4xl,22px);box-shadow:0 16px 44px rgba(22, 56, 112, 0.08);}
.site-header.scrolled .nav-shell{min-height:58px;box-shadow:0 18px 54px rgba(22, 56, 112, 0.12);}
.brand,
.footer-brand{display:inline-flex;align-items:center;gap:10px;text-decoration:none;}
.brand img,
.footer-brand img{width:38px;height:38px;border-radius:11px;box-shadow:0 8px 20px var(--tone-d550a5f4);}
.brand > span,
.footer-brand > span{font-size:14px;font-weight:800;letter-spacing:-0.035em;}
.brand strong,
.footer-brand strong{color:var(--green);}
.nav-menu{display:flex;align-items:center;justify-content:center;gap:clamp(18px, 2.6vw, 34px);}
.nav-menu a{position:relative;padding:10px 0;color:#55625f;font-size:12px;font-weight:700;text-decoration:none;}
.nav-menu a::after{position:absolute;right:50%;bottom:3px;left:50%;height:2px;border-radius:2px;background:var(--green);content:"";}
.nav-menu a:hover,
.nav-menu a.active{color:var(--blue-dark);}
.nav-menu a:hover::after,
.nav-menu a.active::after{right:12%;left:12%;}
.nav-cta{display:inline-flex;align-items:center;gap:13px;min-height:43px;padding:0 8px 0 18px;border-radius:15px;color:var(--theme-surface,#fff);background:var(--green);box-shadow:0 10px 26px var(--tone-454c73bd);font-size:11px;font-weight:800;text-decoration:none;}
.nav-cta i{display:grid;width:29px;height:29px;place-items:center;border-radius:var(--radius-md,10px);color:var(--blue-dark);background:rgba(255, 255, 255, 0.94);font-style:normal;}
.nav-cta:hover{transform:translateY(-2px);background:var(--blue-dark);box-shadow:0 15px 32px var(--tone-b34a5bf0);}
.menu-button{display:none;}
.section{width:min(1180px, calc(100% - 48px));margin:0 auto;}
.hero{display:grid;grid-template-columns:minmax(0, 1.05fr) minmax(360px, 0.95fr);align-items:center;gap:clamp(40px, 6vw, 86px);min-height:760px;padding-top:122px;}
.hero-stage{position:relative;min-width:0;perspective:1400px;}
.hero-orb{position:absolute;border-radius:50%;pointer-events:none;}
.orb-one{top:-14%;left:-14%;width:270px;height:270px;border:1px solid rgba(7, 94, 140, 0.11);box-shadow:0 0 0 42px rgba(7, 94, 140, 0.025),
    0 0 0 86px rgba(7, 94, 140, 0.018);}
.orb-two{right:-2%;bottom:-12%;width:170px;height:170px;background:radial-gradient(circle at 35% 30%, rgba(155, 210, 240, 0.64), rgba(106, 165, 198, 0.05));filter:blur(2px);}
.product-scene{position:relative;min-height:455px;transform-style:preserve-3d;}
.dashboard-window{position:absolute;z-index:2;top:55px;right:0;left:2%;overflow:hidden;border:1px solid var(--tone-8fafb20d,rgba(255, 255, 255, 0.9));border-radius:28px;background:var(--tone-8fafb20d,rgba(255, 255, 255, 0.9));box-shadow:0 38px 80px rgba(31, 58, 73, 0.2),
    0 10px 30px rgba(31, 58, 73, 0.08);transform:rotateY(8deg) rotateX(1deg) rotateZ(-1deg);transform-origin:50% 50%;}
.window-top{display:flex;align-items:center;justify-content:space-between;height:49px;padding:0 15px 0 19px;border-bottom:1px solid #edf3f8;}
.window-brand{display:flex;align-items:center;gap:8px;color:#2d353a;font-size:8px;font-weight:800;}
.window-brand img{width:23px;height:23px;border-radius:7px;}
.window-actions{display:flex;align-items:center;gap:7px;}
.window-actions i{width:7px;height:7px;border-radius:50%;background:#d9e5e1;}
.window-actions b{display:grid;width:25px;height:25px;margin-left:4px;place-items:center;border-radius:var(--radius-sm,8px);color:var(--theme-surface,#fff);background:linear-gradient(145deg, #1375ab, #085077);font-size:7px;}
.dashboard-body{display:grid;grid-template-columns:50px 1fr;min-height:312px;background:#f7faff;}
.dash-rail{display:flex;align-items:center;flex-direction:column;gap:11px;padding-top:17px;border-right:1px solid #e8efec;background:var(--theme-surface,#fff);}
.dash-rail span{display:grid;width:28px;height:28px;place-items:center;border-radius:9px;color:#98a8a3;font-size:11px;}
.dash-rail span.active{color:var(--green);background:#e7f7f2;}
.dash-content{min-width:0;padding:18px 18px 15px;}
.dash-heading,
.chart-title{display:flex;align-items:center;justify-content:space-between;}
.dash-heading div,
.chart-title span{display:flex;flex-direction:column;}
.dash-heading small,
.chart-title small,
.ring-card small{color:#8a9995;font-size:7px;}
.dash-heading strong{margin-top:3px;font-size:13px;}
.dash-heading button{padding:6px 8px;border:1px solid #e1eae7;border-radius:7px;color:#66746f;background:var(--theme-surface,#fff);font-size:6px;}
.metric-row{display:grid;grid-template-columns:repeat(3, 1fr);gap:8px;margin-top:14px;}
.metric-row article{display:flex;align-items:center;gap:8px;padding:10px;border:1px solid var(--tone-e8efed);border-radius:11px;background:var(--theme-surface,#fff);}
.metric-row i{display:grid;width:27px;height:27px;flex:0 0 auto;place-items:center;border-radius:var(--radius-sm,8px);font-size:9px;font-style:normal;}
.metric-row i.green{color:#08537b;background:#e4f7f1;}
.metric-row i.blue{color:#306fc8;background:#eaf2ff;}
.metric-row i.orange{color:#c87521;background:#fff3e7;}
.metric-row span{display:flex;min-width:0;flex-direction:column;}
.metric-row small{color:#8c9a96;font-size:6px;}
.metric-row strong{margin-top:2px;font-size:10px;}
.chart-grid{display:grid;grid-template-columns:1.7fr 0.8fr;gap:9px;margin-top:9px;}
.bar-card,
.ring-card{min-width:0;padding:12px;border:1px solid var(--tone-e8efed);border-radius:var(--radius-md-lg,12px);background:var(--theme-surface,#fff);}
.chart-title strong{margin-top:2px;font-size:8px;}
.chart-title em{padding:4px 5px;border-radius:5px;color:#075986;background:#e9f8f3;font-size:6px;font-style:normal;font-weight:800;}
.bar-chart{display:flex;align-items:flex-end;gap:6px;height:75px;margin-top:9px;padding-top:8px;border-bottom:1px solid var(--tone-edf2f0,#edf2f0);background:repeating-linear-gradient(to bottom, var(--tone-edf2f0,#edf2f0) 0, var(--tone-edf2f0,#edf2f0) 1px, transparent 1px, transparent 23px);}
.bar-chart span{width:100%;height:var(--bar);min-height:12px;border-radius:4px 4px 1px 1px;background:linear-gradient(180deg, #4290bb, #0a5c88);transform-origin:bottom;}
.bar-chart span:nth-child(2n){opacity:0.66;}
.ring-card{display:flex;align-items:center;flex-direction:column;justify-content:center;}
.progress-ring{display:grid;width:61px;height:61px;margin:8px 0 6px;place-items:center;border-radius:50%;background:conic-gradient(var(--green) 0 86%, #e9f2ff 86%);}
.progress-ring::before{grid-area:1/1;width:46px;height:46px;border-radius:50%;background:var(--theme-surface,#fff);content:"";}
.progress-ring strong{z-index:1;grid-area:1/1;font-size:11px;}
.ring-card > span{color:#899793;font-size:6px;}
.activity-line{display:flex;align-items:center;gap:8px;height:34px;margin-top:9px;padding:0 10px;border:1px solid var(--tone-e8efed);border-radius:var(--radius-md,10px);background:var(--theme-surface,#fff);}
.activity-line i{width:17px;height:17px;border-radius:var(--radius-xs,6px);background:#e5f6f1;}
.activity-line span{width:28%;height:5px;border-radius:9px;background:var(--tone-edf2f0,#edf2f0);}
.activity-line span + span{width:17%;}
.activity-line b{width:23px;height:9px;margin-left:auto;border-radius:5px;background:#dff5ee;}
.mini-panel{position:absolute;z-index:5;display:flex;align-items:center;gap:10px;min-width:158px;padding:11px 12px;border-radius:var(--radius-xl,16px);box-shadow:0 18px 44px rgba(29, 54, 68, 0.15);}
.mini-panel div{display:flex;flex-direction:column;}
.mini-panel small{color:#879792;font-size:7px;}
.mini-panel strong{margin-top:2px;font-size:9px;}
.panel-icon{display:grid;width:30px;height:30px;flex:0 0 auto;place-items:center;border-radius:var(--radius-md,10px);font-style:normal;font-weight:800;}
.panel-icon.violet{color:#7952cf;background:var(--tone-f0eafe);}
.panel-icon.green{color:#08537b;background:#e5f7f1;}
.mini-panel em{margin-left:auto;color:#085984;font-size:7px;font-style:normal;font-weight:800;}
.panel-student{top:13px;right:2%;}
.panel-sync{bottom:11px;left:-1%;}
.hero-copy{position:relative;z-index:3;}
.eyebrow,
.section-kicker{display:inline-flex;align-items:center;gap:8px;color:var(--green);font-size:10px;font-weight:800;letter-spacing:0.15em;}
.eyebrow i{width:7px;height:7px;border-radius:50%;background:var(--green);box-shadow:0 0 0 5px rgba(7, 94, 140, 0.1);}
.hero h1{max-width:560px;margin:18px 0 20px;font-size:clamp(46px, 5vw, 67px);line-height:1.03;letter-spacing:-0.062em;}
.hero h1 span,
.section-heading h2 span{color:var(--green);}
.hero-copy > p{max-width:540px;margin:0;color:var(--muted);font-size:15px;line-height:1.8;}
.hero-actions{display:flex;flex-wrap:wrap;gap:11px;margin-top:29px;}
.button{display:inline-flex;align-items:center;justify-content:center;gap:15px;min-height:52px;padding:0 20px;border-radius:17px;font-size:12px;font-weight:800;text-decoration:none;}
.button-primary{color:var(--theme-surface,#fff);background:var(--green);box-shadow:0 13px 30px var(--tone-454c73bd);}
.button-primary span{font-size:16px;}
.button-primary:hover{transform:translateY(-3px);background:var(--blue-dark);box-shadow:0 19px 37px var(--tone-b34a5bf0);}
.button-ghost{border:1px solid rgba(23, 58, 77, 0.12);background:rgba(255, 255, 255, 0.64);}
.button-ghost:hover{transform:translateY(-3px);background:var(--theme-surface,#fff);box-shadow:0 13px 30px rgba(42, 64, 76, 0.1);}
.play-icon{display:grid;width:25px;height:25px;place-items:center;border-radius:50%;color:var(--green);background:#e4f6f0;font-size:8px;font-style:normal;}
.trust-row{display:flex;flex-wrap:wrap;gap:18px;margin-top:28px;}
.trust-row span{display:inline-flex;align-items:center;gap:6px;color:#66746f;font-size:9px;font-weight:700;}
.trust-row i{display:grid;width:17px;height:17px;place-items:center;border-radius:50%;color:var(--green);background:#e2f6ef;font-size:8px;font-style:normal;}
.solution-section,
.portal-section,
.partner-section,
.contact-section{padding-top:105px;}
.section-heading{display:flex;align-items:end;justify-content:space-between;gap:50px;}
.section-heading h2{margin:12px 0 0;font-size:clamp(34px, 4.2vw, 54px);line-height:1.08;letter-spacing:-0.052em;}
.section-heading > p{max-width:430px;margin:0 0 5px;color:var(--muted);font-size:13px;line-height:1.75;}
.section-heading.centered{align-items:center;flex-direction:column;gap:16px;text-align:center;}
.section-heading.centered > p{max-width:560px;margin:0;}
.feature-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:14px;margin-top:40px;}
.feature-card,
.portal-card{position:relative;overflow:hidden;border:1px solid rgba(16, 56, 78, 0.1);background:var(--tone-09fa70dc,rgba(255, 255, 255, 0.78));box-shadow:0 18px 48px rgba(37, 61, 75, 0.07);transform:perspective(900px)
    rotateX(var(--rx, 0deg))
    rotateY(var(--ry, 0deg))
    translateY(var(--lift, 0px));transform-style:preserve-3d;}
.feature-card::before,
.portal-card::before{position:absolute;top:var(--mouse-y, 50%);left:var(--mouse-x, 50%);width:220px;height:220px;border-radius:50%;background:radial-gradient(circle, rgba(86, 164, 207, 0.14), transparent 68%);content:"";opacity:0;pointer-events:none;transform:translate(-50%, -50%);}
.feature-card:hover::before,
.portal-card:hover::before{opacity:1;}
.feature-card:hover,
.portal-card:hover{--lift:-7px;border-color:rgba(7, 94, 140, 0.22);box-shadow:0 28px 65px rgba(25, 57, 76, 0.13);}
.feature-card{min-height:350px;padding:30px;border-radius:27px;}
.feature-large{display:grid;grid-template-columns:0.95fr 1.05fr;gap:24px;background:radial-gradient(circle at 85% 15%, rgba(168, 212, 236, 0.32), transparent 42%),
    var(--tone-923a33a9,rgba(255, 255, 255, 0.82));}
.feature-card > *{position:relative;z-index:1;}
.feature-icon{display:grid;width:43px;height:43px;margin-bottom:26px;place-items:center;border-radius:var(--radius-lg,14px);color:#08547d;background:var(--tone-e3f6f0);font-size:17px;}
.feature-icon.blue{color:#3d70c8;background:#eaf2ff;}
.feature-icon.orange{color:#c97724;background:#fff1e4;}
.feature-card small{color:#82908c;font-size:8px;font-weight:800;letter-spacing:0.12em;}
.feature-card h3{margin:9px 0 13px;font-size:clamp(20px, 2vw, 28px);line-height:1.2;letter-spacing:-0.04em;}
.feature-card p{margin:0;color:var(--muted);font-size:11px;line-height:1.7;}
.insight-widget{align-self:end;padding:18px;border:1px solid var(--tone-8fafb20d,rgba(255, 255, 255, 0.9));border-radius:var(--radius-3xl,20px);background:rgba(255, 255, 255, 0.83);box-shadow:0 19px 44px rgba(39, 66, 82, 0.11);}
.insight-top,
.insight-stat,
.insight-note{display:flex;align-items:center;justify-content:space-between;}
.insight-top span{font-size:8px;font-weight:800;}
.insight-top b{padding:4px 6px;border-radius:var(--radius-xs,6px);color:#075986;background:#e7f7f2;font-size:6px;}
.insight-stat{justify-content:flex-start;gap:9px;margin-top:16px;}
.insight-stat strong{font-size:23px;letter-spacing:-0.05em;}
.insight-stat span{max-width:65px;color:#84928e;font-size:7px;line-height:1.35;}
.insight-bars{display:flex;align-items:end;gap:7px;height:70px;margin-top:15px;}
.insight-bars i{width:100%;height:48%;border-radius:5px 5px 2px 2px;background:linear-gradient(180deg, #559dc5, var(--theme-primary,#078ee8));}
.insight-bars i:nth-child(2){height:64%;opacity:0.66;}
.insight-bars i:nth-child(3){height:57%;}
.insight-bars i:nth-child(4){height:78%;opacity:0.66;}
.insight-bars i:nth-child(5){height:71%;}
.insight-bars i:nth-child(6){height:91%;opacity:0.66;}
.insight-bars i:nth-child(7){height:84%;}
.insight-note{justify-content:flex-start;gap:8px;margin-top:13px;padding-top:12px;border-top:1px solid #e9efed;}
.insight-note > span{display:grid;width:24px;height:24px;place-items:center;border-radius:var(--radius-sm,8px);color:var(--theme-primary,#078ee8);background:#e8f7f2;font-size:9px;}
.insight-note p{display:flex;flex-direction:column;}
.insight-note b{color:#293136;font-size:7px;}
.insight-note small{margin-top:2px;color:#91a09b;font-size:6px;letter-spacing:0;}
.avatar-stack{display:flex;align-items:center;margin-top:58px;}
.avatar-stack i{display:grid;width:35px;height:35px;margin-left:-7px;place-items:center;border:3px solid var(--theme-surface,#fff);border-radius:50%;color:var(--theme-surface,#fff);background:#3978d7;font-size:8px;font-style:normal;font-weight:800;}
.avatar-stack i:first-child{margin-left:0;background:#0c6392;}
.avatar-stack i:nth-child(3){background:#e78b3e;}
.avatar-stack i:nth-child(4){background:#8660d6;}
.avatar-stack span{margin-left:8px;color:#778580;font-size:8px;font-weight:800;}
.growth-line{position:relative;display:flex;align-items:end;gap:9px;height:80px;margin-top:38px;padding:0 8px 8px;border-bottom:1px solid #e5ece9;}
.growth-line::before{position:absolute;right:4px;bottom:27px;left:4px;height:2px;background:linear-gradient(90deg, transparent, #f0a45e 15%, #dc7525);content:"";transform:rotate(-12deg);}
.growth-line i{width:100%;height:25%;border-radius:4px 4px 1px 1px;background:#fee6d0;}
.growth-line i:nth-child(2){height:40%;}
.growth-line i:nth-child(3){height:58%;}
.growth-line i:nth-child(4){height:82%;background:#f4a45f;}
.growth-line span{position:absolute;top:0;right:0;color:#cc742a;font-size:8px;font-weight:800;}
.portal-grid{display:grid;}
.portal-card{--accent:var(--theme-primary,#078ee8);--accent-deep:#054567;--accent-soft:var(--tone-e3f6f0);flex-direction:column;background:radial-gradient(circle at 92% 4%, color-mix(in srgb, var(--accent) 18%, transparent), transparent 38%),
    linear-gradient(145deg, var(--tone-431952a6,rgba(255, 255, 255, 0.96)), rgba(255, 255, 255, 0.74));text-decoration:none;}
.portal-card.siswa{--accent:var(--tone-247ca4);--accent-deep:#175d7c;--accent-soft:#e8f6fb;}
.portal-card.admin{--accent:var(--tone-366fd0);--accent-deep:#2856a5;--accent-soft:#eaf1ff;}
.portal-card.foundation{--accent:var(--tone-7854c8);--accent-deep:#5e3fa4;--accent-soft:var(--tone-f0eafe);}
.portal-card > *{position:relative;z-index:1;}
.portal-card::after{position:absolute;border:1px solid color-mix(in srgb, var(--accent) 17%, transparent);border-radius:50%;box-shadow:0 0 0 25px color-mix(in srgb, var(--accent) 4%, transparent),
    0 0 0 51px color-mix(in srgb, var(--accent) 2%, transparent);content:"";}
.portal-card:hover::after{transform:translate(-13px, 13px) scale(1.08);}
.portal-number{position:absolute;color:color-mix(in srgb, var(--accent) 22%, #dbe3e0);font-weight:800;}
.portal-card-head{display:flex;align-items:flex-start;justify-content:space-between;min-height:62px;}
.portal-icon{display:grid;width:57px;height:57px;place-items:center;border:1px solid rgba(255, 255, 255, 0.84);border-radius:var(--radius-2xl,18px);color:var(--accent-deep);background:var(--accent-soft);box-shadow:0 14px 28px color-mix(in srgb, var(--accent) 16%, transparent),
    inset 0 1px 0 rgba(255, 255, 255, 0.8);font-size:22px;}
.portal-card:hover .portal-icon{transform:translateY(-3px) rotate(-4deg) scale(1.05);box-shadow:0 19px 36px color-mix(in srgb, var(--accent) 24%, transparent);}
.portal-status{display:inline-flex;align-items:center;gap:6px;margin:4px 45px 0 0;padding:7px 9px;border:1px solid color-mix(in srgb, var(--accent) 13%, transparent);border-radius:var(--radius-pill,999px);color:var(--accent-deep);background:color-mix(in srgb, var(--accent-soft) 82%, white);font-size:7px;font-weight:800;}
.portal-status i{width:6px;height:6px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 4px color-mix(in srgb, var(--accent) 10%, transparent);}
.portal-card-copy{max-width:410px;margin-top:27px;}
.portal-card-copy > small{color:#93a09c;font-size:8px;font-weight:800;letter-spacing:0.12em;}
.portal-card-copy h3{margin:8px 0 10px;font-size:27px;letter-spacing:-0.04em;}
.portal-card-copy p{margin:0;color:var(--muted);font-size:11px;line-height:1.7;}
.portal-mini-ui{margin-top:24px;padding:14px;border:1px solid color-mix(in srgb, var(--accent) 10%, var(--tone-8fafb20d,rgba(255, 255, 255, 0.9)));border-radius:var(--radius-2xl,18px);background:var(--tone-dc0ed917,rgba(255, 255, 255, 0.72));box-shadow:0 15px 38px color-mix(in srgb, var(--accent) 8%, transparent),
    inset 0 1px 0 var(--tone-cc53ce15,rgba(255, 255, 255, 0.92));}
.portal-card:hover .portal-mini-ui{transform:translateY(-4px);background:var(--tone-ac114555,rgba(255, 255, 255, 0.88));}
.mini-ui-top,
.mini-ui-row{display:flex;align-items:center;justify-content:space-between;}
.mini-ui-top{color:#879590;font-size:7px;font-weight:700;}
.mini-ui-top b{padding:4px 6px;border-radius:var(--radius-xs,6px);color:var(--accent-deep);background:var(--accent-soft);font-size:6px;}
.mini-ui-row{justify-content:flex-start;gap:10px;margin-top:12px;}
.mini-ui-row > i{display:grid;width:31px;height:31px;flex:0 0 auto;place-items:center;border-radius:9px;color:var(--accent-deep);background:var(--accent-soft);font-size:8px;font-style:normal;font-weight:800;}
.mini-ui-row > span{display:flex;min-width:0;flex-direction:column;}
.mini-ui-row > span b{color:#343e43;font-size:8px;}
.mini-ui-row > span small{margin-top:2px;color:#98a49f;font-size:6px;}
.mini-ui-row > em{margin-left:auto;color:var(--accent-deep);font-size:8px;font-style:normal;font-weight:800;}
.mini-ui-progress{height:4px;margin-top:12px;overflow:hidden;border-radius:99px;background:color-mix(in srgb, var(--accent) 10%, var(--tone-edf2f0,#edf2f0));}
.mini-ui-progress span{display:block;width:var(--progress);height:100%;border-radius:inherit;background:linear-gradient(90deg, var(--accent), color-mix(in srgb, var(--accent) 55%, white));transform-origin:left;}
.portal-enter{display:flex;align-items:center;justify-content:space-between;margin-top:auto;padding-top:20px;color:var(--accent-deep);font-size:9px;}
.portal-enter i{display:grid;width:35px;height:35px;place-items:center;border-radius:var(--radius-md-lg,12px);color:var(--accent-deep);background:var(--accent-soft);font-size:14px;font-style:normal;}
.portal-card:hover .portal-enter i{color:var(--theme-surface,#fff);background:var(--accent);transform:translateX(3px) rotate(-4deg);}
.portal-grid{grid-template-columns:repeat(4, minmax(0, 1fr));gap:12px;margin-top:34px;}
.portal-card{display:grid;grid-template-rows:1fr auto;gap:10px 13px;align-items:center;min-height:168px;padding:19px;border-radius:23px;}
.portal-card::after{top:-92px;right:-92px;width:165px;height:165px;}
.portal-number{top:16px;right:17px;font-size:8px;}
.portal-icon-3d{position:relative;display:grid;grid-row:1 / 3;place-items:center;border-radius:var(--radius-2xl,18px);perspective:320px;transform:rotateX(9deg) rotateY(-10deg);transform-style:preserve-3d;}
.portal-icon-3d::before{position:absolute;inset:5px -4px -5px 4px;border-radius:17px;background:color-mix(in srgb, var(--accent) 27%, #b8c9c3);box-shadow:0 13px 24px color-mix(in srgb, var(--accent) 22%, transparent);content:"";transform:translateZ(-11px);}
.portal-icon-3d > i{position:absolute;inset:0;display:grid;place-items:center;overflow:hidden;border:1px solid rgba(255, 255, 255, 0.84);border-radius:var(--radius-2xl,18px);color:var(--accent-deep);background:radial-gradient(circle at 28% 18%, var(--tone-9203fef5,rgba(255, 255, 255, 0.95)), transparent 31%),
    linear-gradient(145deg, color-mix(in srgb, var(--accent-soft) 72%, white), var(--accent-soft));box-shadow:inset 0 1px 0 var(--theme-surface,#fff),
    inset -7px -8px 16px color-mix(in srgb, var(--accent) 9%, transparent);font-size:21px;font-style:normal;text-shadow:0 2px 3px var(--tone-8fafb20d,rgba(255, 255, 255, 0.9));transform:translateZ(9px);}
.portal-icon-3d > i::after{position:absolute;top:6px;left:9px;width:25px;height:9px;border-radius:50%;background:rgba(255, 255, 255, 0.6);content:"";filter:blur(2px);transform:rotate(-18deg);}
.portal-icon-3d > b{position:absolute;width:8px;height:8px;border:2px solid var(--tone-8fafb20d,rgba(255, 255, 255, 0.9));border-radius:50%;background:var(--accent);box-shadow:0 2px 7px color-mix(in srgb, var(--accent) 45%, transparent);transform:translateZ(14px);}
.portal-card:hover .portal-icon-3d{transform:translateY(-4px) rotateX(3deg) rotateY(8deg) scale(1.05);}
.portal-compact-copy{min-width:0;align-self:end;}
.portal-compact-copy small{display:block;overflow:hidden;color:#96a29e;font-size:6px;font-weight:800;letter-spacing:0.1em;text-overflow:ellipsis;white-space:nowrap;}
.portal-compact-copy h3{margin:4px 0 4px;font-size:16px;letter-spacing:-0.04em;}
.portal-compact-copy p{display:-webkit-box;margin:0;overflow:hidden;color:var(--muted);font-size:8px;line-height:1.45;-webkit-box-orient:vertical;-webkit-line-clamp:2;}
.portal-compact-status{display:inline-flex;grid-column:2;align-items:center;align-self:start;gap:5px;width:fit-content;color:var(--accent-deep);font-size:6px;font-weight:800;}
.portal-compact-status i{width:5px;height:5px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 10%, transparent);}
.portal-arrow{display:grid;grid-column:3;grid-row:1 / 3;width:34px;height:34px;place-items:center;border:1px solid color-mix(in srgb, var(--accent) 10%, transparent);border-radius:11px;color:var(--accent-deep);background:color-mix(in srgb, var(--accent-soft) 78%, white);font-size:13px;}
.portal-card:hover .portal-arrow{color:var(--theme-surface,#fff);background:var(--accent);transform:translateX(3px) rotate(-5deg);}
.network-cta{position:relative;display:grid;align-items:center;margin-top:18px;overflow:hidden;border:1px solid rgba(7, 94, 140, 0.13);color:inherit;background:radial-gradient(circle at 11% 50%, rgba(104, 178, 220, 0.25), transparent 21%),
    linear-gradient(120deg, rgba(241, 252, 248, 0.96), var(--tone-dec94ca2,rgba(255, 255, 255, 0.86)));box-shadow:0 22px 60px rgba(30, 63, 82, 0.09);text-decoration:none;cursor:pointer;}
.network-cta:hover,
.network-cta:focus-visible{border-color:rgba(7, 94, 140, 0.28);box-shadow:0 28px 70px rgba(30, 63, 82, 0.14);}
.network-cta:focus-visible{outline:4px solid var(--tone-14c4914c);outline-offset:4px;}
.network-cta:hover .network-button,
.network-cta:focus-visible .network-button{background:var(--blue-dark);box-shadow:0 20px 38px rgba(7, 94, 140, 0.31);transform:translateY(-3px);}
.network-visual{position:relative;width:138px;height:138px;}
.network-visual::before,
.network-visual::after{position:absolute;inset:17px;border:1px solid var(--tone-10f83111);border-radius:50%;content:"";}
.network-visual::after{inset:2px;border-style:dashed;border-color:rgba(7, 94, 140, 0.12);}
.network-center{position:absolute;z-index:2;inset:39px;display:grid;place-items:center;border:1px solid var(--tone-8fafb20d,rgba(255, 255, 255, 0.9));border-radius:var(--radius-2xl,18px);background:var(--tone-cc53ce15,rgba(255, 255, 255, 0.92));box-shadow:0 15px 35px var(--tone-10f83111);}
.network-center img{width:47px;height:47px;border-radius:13px;}
.network-dot{position:absolute;z-index:3;display:grid;width:28px;height:28px;place-items:center;border:3px solid var(--tone-9203fef5,rgba(255, 255, 255, 0.95));border-radius:50%;color:var(--theme-surface,#fff);background:var(--theme-primary,#078ee8);box-shadow:0 8px 18px var(--tone-d550a5f4);font-size:7px;font-style:normal;font-weight:800;}
.network-dot.dot-one{top:4px;left:54px;}
.network-dot.dot-two{top:52px;right:0;background:var(--tone-247ca4);}
.network-dot.dot-three{bottom:0;left:58px;background:var(--tone-366fd0);}
.network-dot.dot-four{top:53px;left:0;background:var(--tone-7854c8);}
.network-copy{position:relative;z-index:2;}
.network-copy h3{max-width:620px;margin:9px 0 10px;font-size:clamp(23px, 2.8vw, 34px);line-height:1.15;letter-spacing:-0.045em;}
.network-copy p{max-width:650px;margin:0;color:var(--muted);font-size:10px;line-height:1.65;}
.network-button{position:relative;z-index:2;display:inline-flex;align-items:center;gap:18px;min-height:54px;padding:0 10px 0 20px;border-radius:17px;color:var(--theme-surface,#fff);background:var(--green);box-shadow:0 14px 30px var(--tone-454c73bd);font-size:10px;font-weight:800;text-decoration:none;}
.network-button i{display:grid;width:34px;height:34px;place-items:center;border-radius:11px;color:var(--blue-dark);background:var(--theme-surface,#fff);font-size:13px;font-style:normal;}
.network-button:hover{transform:translateY(-3px);background:var(--blue-dark);box-shadow:0 20px 38px rgba(7, 94, 140, 0.31);}
.network-cta{grid-template-columns:122px 1fr auto;gap:24px;min-height:168px;padding:22px 27px;border-radius:27px;}
.network-visual{transform:scale(0.78);}
body.portal-modal-open{overflow:hidden;}
.portal-modal[hidden]{display:none;}
.portal-modal{position:fixed;z-index:300;inset:0;display:grid;place-items:center;padding:22px;}
.portal-modal-backdrop{position:absolute;inset:0;opacity:0;}
.portal-modal-panel{position:relative;z-index:1;width:min(880px, 100%);max-height:min(780px, calc(100dvh - 44px));padding:34px;overflow:auto;outline:none;opacity:0;transform:translateY(24px) scale(0.94) rotateX(4deg);transform-origin:center;}
.portal-modal.is-open .portal-modal-backdrop{opacity:1;}
.portal-modal.is-open .portal-modal-panel{opacity:1;transform:none;}
.portal-modal-close{position:absolute;z-index:4;top:20px;right:20px;display:grid;width:39px;height:39px;place-items:center;cursor:pointer;}
.portal-modal-close:hover{transform:rotate(6deg) scale(1.05);background:var(--theme-surface,#fff);}
.portal-modal-close span{display:block;grid-area:1 / 1;width:15px;height:2px;border-radius:2px;background:#4c5b57;}
.portal-modal-close span:first-child{transform:rotate(45deg);}
.portal-modal-close span:last-child{transform:rotate(-45deg);}
.portal-modal-heading{display:grid;grid-template-columns:74px 1fr;align-items:center;gap:17px;padding-right:50px;}
.modal-brand-mark{position:relative;display:grid;width:72px;height:72px;place-items:center;}
.modal-brand-mark::before{position:absolute;inset:-17px;z-index:-1;content:"";}
.modal-brand-mark img{width:51px;height:51px;border-radius:15px;}
.modal-brand-mark > i{position:absolute;top:7px;right:7px;width:9px;height:9px;border:2px solid var(--theme-surface,#fff);border-radius:50%;background:#157db7;box-shadow:0 0 0 4px rgba(21, 125, 183, 0.1);}
.portal-modal-heading h2{margin:5px 0 5px;font-size:clamp(28px, 4vw, 42px);line-height:1.08;letter-spacing:-0.052em;}
.portal-modal-heading p{max-width:570px;margin:0;color:var(--muted);font-size:9px;line-height:1.6;}
.portal-modal-grid{display:grid;grid-template-columns:repeat(2, minmax(0, 1fr));gap:11px;margin-top:31px;}
.modal-portal{--modal-accent:var(--theme-primary,#078ee8);--modal-deep:#054567;--modal-soft:var(--tone-e3f6f0);position:relative;display:grid;align-items:center;gap:13px;min-height:132px;padding:17px;overflow:hidden;text-decoration:none;transform-style:preserve-3d;}
.modal-siswa{--modal-accent:var(--tone-247ca4);--modal-deep:#175d7c;--modal-soft:#e8f6fb;}
.modal-admin{--modal-accent:var(--tone-366fd0);--modal-deep:#2856a5;--modal-soft:#eaf1ff;}
.modal-yayasan{--modal-accent:var(--tone-7854c8);--modal-deep:#5e3fa4;--modal-soft:var(--tone-f0eafe);}
.modal-portal::after{position:absolute;top:-62px;right:-62px;width:125px;height:125px;content:"";}
.modal-portal:hover{border-color:color-mix(in srgb, var(--modal-accent) 28%, white);box-shadow:0 23px 45px color-mix(in srgb, var(--modal-accent) 15%, transparent);transform:translateY(-4px) perspective(700px) rotateX(1deg) rotateY(-1deg);}
.modal-icon-3d{position:relative;display:grid;place-items:center;perspective:300px;transform:rotateX(8deg) rotateY(-11deg);transform-style:preserve-3d;}
.modal-icon-3d::before{position:absolute;inset:5px -4px -5px 4px;content:"";transform:translateZ(-10px);}
.modal-icon-3d > i{position:absolute;inset:0;display:grid;place-items:center;border:1px solid var(--tone-ac114555,rgba(255, 255, 255, 0.88));border-radius:17px;color:var(--modal-deep);background:radial-gradient(circle at 28% 17%, var(--theme-surface,#fff), transparent 30%),
    linear-gradient(145deg, color-mix(in srgb, var(--modal-soft) 68%, white), var(--modal-soft));box-shadow:inset -7px -8px 14px color-mix(in srgb, var(--modal-accent) 9%, transparent);font-size:20px;font-style:normal;transform:translateZ(9px);}
.modal-icon-3d > b{position:absolute;width:10px;height:10px;border:2px solid var(--theme-surface,#fff);border-radius:50%;background:var(--modal-accent);box-shadow:0 3px 8px color-mix(in srgb, var(--modal-accent) 34%, transparent);transform:translateZ(14px);}
.modal-portal:hover .modal-icon-3d{transform:translateY(-3px) rotateX(2deg) rotateY(9deg) scale(1.04);}
.modal-portal-copy{display:flex;min-width:0;flex-direction:column;}
.modal-portal-copy small{color:#98a49f;font-size:6px;font-weight:800;letter-spacing:0.1em;}
.modal-portal-copy strong{margin-top:4px;font-size:15px;letter-spacing:-0.035em;}
.modal-portal-copy em{margin-top:5px;overflow:hidden;color:var(--muted);font-size:7px;font-style:normal;text-overflow:ellipsis;white-space:nowrap;}
.modal-arrow{position:relative;z-index:2;display:grid;width:33px;height:33px;place-items:center;font-size:13px;}
.modal-portal:hover .modal-arrow{transform:translateX(3px);}
.portal-modal-footer{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:18px;padding:14px 16px 0;border-top:1px solid rgba(18, 55, 76, 0.08);}
.portal-modal-footer > span{display:inline-flex;align-items:center;gap:7px;color:#7c8985;font-size:7px;font-weight:700;}
.portal-modal-footer > span i{width:6px;height:6px;border-radius:50%;background:#1074ab;box-shadow:0 0 0 4px rgba(16, 116, 171, 0.09);}
.portal-modal-footer > a{display:inline-flex;align-items:center;gap:10px;min-height:42px;padding:0 8px 0 15px;border-radius:13px;color:var(--theme-surface,#fff);background:var(--green);box-shadow:0 11px 24px var(--tone-d550a5f4);font-size:8px;font-weight:800;text-decoration:none;}
.portal-modal-footer > a i{display:grid;width:28px;height:28px;place-items:center;border-radius:9px;color:var(--blue-dark);background:var(--theme-surface,#fff);font-style:normal;}
.partner-card{display:grid;grid-template-columns:1.1fr 0.9fr;align-items:center;gap:45px;min-height:300px;padding:clamp(35px, 6vw, 72px);border-radius:34px;background:radial-gradient(circle at 90% 15%, rgba(152, 205, 235, 0.28), transparent 37%),
    rgba(255, 255, 255, 0.75);}
.partner-copy h2{max-width:600px;margin:12px 0 16px;font-size:clamp(31px, 4vw, 48px);line-height:1.1;letter-spacing:-0.052em;}
.partner-copy p{max-width:620px;margin:0;color:var(--muted);font-size:12px;line-height:1.75;}
.partner-logos{display:flex;align-items:center;justify-content:center;gap:18px;}
.partner-logos figure{display:flex;align-items:center;gap:9px;margin:0;padding:14px;border:1px solid rgba(20, 61, 83, 0.08);border-radius:19px;background:rgba(255, 255, 255, 0.8);box-shadow:0 14px 32px rgba(35, 60, 74, 0.07);}
.partner-logos figure > img{width:55px;height:55px;border-radius:var(--radius-lg,14px);}
.partner-logos figcaption{max-width:67px;font-size:9px;font-weight:800;line-height:1.25;}
.partner-logos > span{color:var(--green);font-size:19px;font-weight:500;}
.partner-logos .genius-logo{width:160px;min-height:85px;}
.partner-logos .genius-logo img{width:100%;height:auto;border-radius:0;}
.contact-section{padding-bottom:90px;}
.contact-card{position:relative;display:grid;grid-template-columns:1.1fr 0.9fr;align-items:center;gap:50px;min-height:330px;padding:clamp(38px, 6vw, 74px);overflow:hidden;border-radius:36px;color:var(--theme-surface,#fff);background:radial-gradient(circle at 90% 10%, rgba(84, 170, 218, 0.32), transparent 35%),
    linear-gradient(135deg, #07415f, var(--theme-primary,#078ee8) 66%, #0b689a);box-shadow:0 30px 75px rgba(5, 66, 99, 0.25);}
.contact-card::before,
.contact-card::after{position:absolute;border:1px solid rgba(255, 255, 255, 0.12);border-radius:50%;content:"";}
.contact-card::before{top:-170px;right:-80px;width:390px;height:390px;}
.contact-card::after{right:74px;bottom:-220px;width:420px;height:420px;}
.contact-card > *{position:relative;z-index:1;}
.section-kicker.light{color:#b7def4;}
.contact-card h2{max-width:650px;margin:12px 0 15px;font-size:clamp(33px, 4.4vw, 53px);line-height:1.08;letter-spacing:-0.052em;}
.contact-card p{margin:0;color:var(--tone-dc0ed917,rgba(255, 255, 255, 0.72));font-size:12px;}
.contact-buttons{display:grid;gap:10px;}
.contact-buttons a{display:grid;grid-template-columns:42px 1fr auto;align-items:center;gap:12px;min-height:68px;padding:10px 13px;border:1px solid rgba(255, 255, 255, 0.22);border-radius:var(--radius-2xl,18px);background:rgba(255, 255, 255, 0.11);text-decoration:none;}
.contact-buttons a:hover{transform:translateX(5px);background:rgba(255, 255, 255, 0.18);}
.contact-icon{display:grid;width:42px;height:42px;place-items:center;border-radius:13px;color:var(--blue-dark);background:var(--theme-surface,#fff);font-size:16px;}
.contact-buttons a > span:nth-child(2){display:flex;flex-direction:column;}
.contact-buttons small{color:rgba(255, 255, 255, 0.62);font-size:7px;}
.contact-buttons strong{margin-top:2px;font-size:11px;}
.contact-buttons i{display:grid;width:30px;height:30px;place-items:center;border-radius:var(--radius-md,10px);background:rgba(255, 255, 255, 0.12);font-size:12px;font-style:normal;}
.site-footer{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:30px;width:min(1180px, calc(100% - 48px));margin:0 auto;padding:28px 0 38px;border-top:1px solid var(--line);}
.footer-brand img{width:32px;height:32px;border-radius:var(--radius-md,10px);}
.site-footer p{margin:0;color:#899792;font-size:8px;text-align:center;}
.footer-links{display:flex;gap:16px;}
.footer-links a{color:#73827d;font-size:8px;font-weight:700;text-decoration:none;}
.footer-links a:hover{color:var(--green);}
.reveal{opacity:0;transform:translateY(28px);}
.reveal.in-view{opacity:1;transform:none;}
@media (max-width: 1060px){.hero{grid-template-columns:1fr 0.86fr;gap:35px;}
.feature-grid{grid-template-columns:1fr 1fr;}
.feature-large{grid-column:1 / -1;}
.portal-grid{grid-template-columns:1fr 1fr;}}
@media (max-width: 860px){.site-header{padding:13px 16px;}
.nav-shell{grid-template-columns:1fr auto;padding:8px 9px 8px 14px;}
.menu-button{display:grid;width:41px;height:41px;place-items:center;border:0;border-radius:13px;background:#e7f6f1;cursor:pointer;}
.menu-button span{display:block;grid-area:1/1;width:17px;height:2px;border-radius:3px;background:var(--blue-dark);}
.menu-button span:first-child{transform:translateY(-4px);}
.menu-button span:last-child{transform:translateY(4px);}
.menu-button[aria-expanded="true"] span:first-child{transform:rotate(45deg);}
.menu-button[aria-expanded="true"] span:last-child{transform:rotate(-45deg);}
.nav-menu{position:fixed;top:85px;right:16px;left:16px;display:flex;align-items:stretch;flex-direction:column;gap:2px;padding:12px;border:1px solid var(--tone-8fafb20d,rgba(255, 255, 255, 0.9));border-radius:var(--radius-4xl,22px);visibility:hidden;opacity:0;background:var(--tone-cc53ce15,rgba(255, 255, 255, 0.92));box-shadow:0 26px 70px rgba(32, 58, 72, 0.18);transform:translateY(-12px) scale(0.98);transform-origin:top;}
.nav-menu.open{visibility:visible;opacity:1;transform:none;}
.nav-menu a{padding:13px 14px;border-radius:var(--radius-md-lg,12px);}
.nav-menu a::after{display:none;}
.nav-menu a.active,
  .nav-menu a:hover{background:#edf8f4;}
.nav-cta{display:none;}
.hero{grid-template-columns:1fr;gap:23px;min-height:auto;padding-top:125px;text-align:center;}
.hero-stage{order:2;width:min(620px, 100%);margin:0 auto;}
.hero-copy{order:1;}
.hero h1,
  .hero-copy > p{margin-right:auto;margin-left:auto;}
.hero-actions,
  .trust-row{justify-content:center;}
.product-scene{min-height:430px;}
.dashboard-window{right:4%;left:4%;transform:rotateX(2deg);}
.section-heading{align-items:flex-start;flex-direction:column;gap:18px;}
.partner-card,
  .contact-card{grid-template-columns:1fr;}
.network-cta{grid-template-columns:140px 1fr;}
.network-button{grid-column:1 / -1;justify-self:center;}}
@media (max-width: 640px){html{scroll-padding-top:92px;}
.section,
  .site-footer{width:min(100% - 26px, 1180px);}
.site-header{padding:9px 10px;}
.site-header.scrolled{padding-top:7px;}
.nav-shell{min-height:58px;border-radius:19px;}
.brand img{width:35px;height:35px;}
.brand > span{font-size:13px;}
.nav-menu{top:76px;right:10px;left:10px;}
.hero{padding-top:105px;}
.hero h1{margin-top:15px;font-size:clamp(40px, 12vw, 55px);}
.hero-copy > p{font-size:13px;line-height:1.7;}
.hero-actions{margin-top:23px;}
.button{min-height:49px;border-radius:15px;}
.trust-row{gap:9px 13px;margin-top:22px;}
.trust-row span{font-size:8px;}
.product-scene{min-height:320px;}
.dashboard-window{top:47px;right:0;left:0;border-radius:19px;}
.window-top{height:36px;}
.dashboard-body{grid-template-columns:38px 1fr;min-height:225px;}
.dash-rail{gap:6px;padding-top:12px;}
.dash-rail span{width:24px;height:24px;font-size:8px;}
.dash-content{padding:12px 10px 10px;}
.metric-row{gap:5px;margin-top:9px;}
.metric-row article{gap:5px;padding:6px;}
.metric-row i{width:22px;height:22px;}
.chart-grid{margin-top:6px;}
.bar-card,
  .ring-card{padding:8px;}
.bar-chart{height:50px;}
.progress-ring{width:49px;height:49px;margin:4px 0;}
.progress-ring::before{width:37px;height:37px;}
.activity-line{height:25px;margin-top:5px;}
.mini-panel{min-width:127px;padding:8px 9px;border-radius:13px;}
.panel-icon{width:25px;height:25px;}
.panel-student{top:14px;}
.panel-sync{bottom:2px;}
.solution-section,
  .portal-section,
  .partner-section,
  .contact-section{padding-top:78px;}
.section-heading h2{font-size:36px;}
.feature-grid{grid-template-columns:1fr;margin-top:27px;}
.feature-large{grid-template-columns:1fr;}
.feature-card{min-height:300px;padding:24px;border-radius:23px;}
.feature-large{min-height:520px;}
.avatar-stack{margin-top:39px;}
.portal-grid{grid-template-columns:1fr;gap:12px;margin-top:28px;}


.portal-card-head{min-height:54px;}
.portal-icon{width:51px;height:51px;border-radius:var(--radius-xl,16px);font-size:19px;}
.portal-status{margin-right:38px;}
.portal-card-copy{margin-top:19px;}
.portal-card-copy h3{margin:6px 0 8px;font-size:23px;}
.portal-card-copy p{font-size:9px;}
.portal-mini-ui{margin-top:17px;padding:12px;}
.portal-enter{padding-top:15px;}
.network-cta{grid-template-columns:1fr;justify-items:center;gap:19px;margin-top:12px;text-align:center;}
.network-visual{width:126px;height:126px;}
.network-copy h3{font-size:28px;}
.network-button{width:100%;justify-content:center;}
.partner-card{gap:32px;padding:32px 22px;border-radius:27px;text-align:center;}
.partner-copy h2{font-size:34px;}
.partner-logos{gap:8px;}
.partner-logos figure{padding:9px;}
.partner-logos figure > img{width:45px;height:45px;}
.partner-logos .genius-logo{width:135px;min-height:67px;}
.contact-section{padding-bottom:65px;}
.contact-card{gap:32px;padding:37px 22px;border-radius:29px;}
.contact-card h2{font-size:37px;}
.site-footer{grid-template-columns:1fr;justify-items:center;gap:13px;padding-bottom:calc(28px + env(safe-area-inset-bottom));text-align:center;}}
@media (max-width: 390px){.hero h1{font-size:39px;}
.hero-actions{display:grid;}
.button{width:100%;}

.portal-status{padding:6px 8px;font-size:6px;}
.portal-card-copy p{font-size:8px;}
.network-copy h3{font-size:25px;}
.partner-logos figcaption{display:none;}}
@media (max-width: 700px){.portal-modal{align-items:end;padding:9px;}
.portal-modal-panel{width:100%;max-height:min(820px, calc(100dvh - 18px));padding:25px 17px 18px;transform:translateY(45px) scale(0.97);}
.portal-modal-close{top:15px;right:15px;}
.portal-modal-heading{grid-template-columns:58px 1fr;gap:13px;padding-right:35px;}
.modal-brand-mark{width:56px;height:56px;}
.modal-brand-mark img{width:41px;height:41px;border-radius:var(--radius-md-lg,12px);}
.portal-modal-heading h2{font-size:28px;}
.portal-modal-heading p{font-size:8px;}
.portal-modal-grid{grid-template-columns:1fr;gap:8px;margin-top:23px;}
.modal-portal{grid-template-columns:55px 1fr 32px;min-height:104px;padding:13px;}
.modal-icon-3d{width:50px;height:50px;}
.modal-icon-3d > i,
  .modal-icon-3d::before{border-radius:15px;}
.portal-modal-footer{align-items:stretch;flex-direction:column;gap:12px;padding-right:0;padding-left:0;}
.portal-modal-footer > span{justify-content:center;}
.portal-modal-footer > a{justify-content:center;}}
@media (max-width: 640px){.portal-card{display:grid;grid-template-columns:56px minmax(0, 1fr) 34px;grid-template-rows:1fr auto;gap:8px 11px;min-height:148px;padding:16px;border-radius:21px;}
.portal-number{display:block;top:13px;right:14px;}

.portal-icon-3d > i,
  .portal-icon-3d::before{border-radius:var(--radius-xl,16px);}
.portal-compact-copy h3{margin-top:3px;font-size:16px;}
.portal-compact-copy p{display:block;overflow:hidden;font-size:7px;text-overflow:ellipsis;white-space:nowrap;}
.portal-arrow{width:32px;height:32px;}
.network-cta{min-height:0;padding:25px 20px;}}
@media (max-width: 390px){.portal-card{min-height:142px;padding:14px;}
.portal-compact-copy small{font-size:5.5px;}
.portal-compact-copy p{max-width:175px;}}
@media (hover: none){.feature-card:hover,
  .portal-card:hover{--lift:0px;}
.feature-card:active,
  .portal-card:active,
  .button:active,
  .nav-cta:active{transform:scale(0.985);}}
@media (prefers-reduced-motion: reduce){.reveal{opacity:1;transform:none;}}
.portal-card{grid-template-columns:68px minmax(0, 1fr) 36px;}
.portal-icon-3d,
.modal-icon-3d{width:64px;height:64px;}
.portal-icon-3d::before,
.modal-icon-3d::before{inset:7px 2px 1px 7px;border:1px solid var(--tone-923a33a9,rgba(255, 255, 255, 0.82));border-radius:var(--radius-4xl,22px);background:radial-gradient(circle at 28% 18%, var(--tone-9203fef5,rgba(255, 255, 255, 0.95)), transparent 38%),
    color-mix(in srgb, var(--accent, var(--modal-accent)) 10%, var(--tone-dec94ca2,rgba(255, 255, 255, 0.86)));box-shadow:0 14px 27px color-mix(in srgb, var(--accent, var(--modal-accent)) 17%, transparent),
    inset 0 1px var(--tone-cc53ce15,rgba(255, 255, 255, 0.92));}
.portal-icon-3d > i.portal-art,
.modal-icon-3d > i.portal-art{inset:-7px;border:0;border-radius:0;background-color:transparent;background-image:url("/portal-icons-3d-v151.webp?v=152");background-repeat:no-repeat;background-size:200% 200%;box-shadow:none;filter:drop-shadow(0 9px 8px rgba(24, 39, 47, 0.18));transform:translateZ(14px);}
.portal-icon-3d > i.portal-art::after,
.modal-icon-3d > i.portal-art::after{display:none;}
.portal-icon-3d > i.portal-art.portal-art-guru,
.modal-icon-3d > i.portal-art.portal-art-guru{background-position:100% 0;}
.portal-icon-3d > i.portal-art.portal-art-siswa,
.modal-icon-3d > i.portal-art.portal-art-siswa{background-position:0 0;}
.portal-icon-3d > i.portal-art.portal-art-admin,
.modal-icon-3d > i.portal-art.portal-art-admin{background-position:0 100%;}
.portal-icon-3d > i.portal-art.portal-art-yayasan,
.modal-icon-3d > i.portal-art.portal-art-yayasan{background-position:100% 100%;}
.portal-icon-3d > b,
.modal-icon-3d > b{right:2px;bottom:0;}
.modal-portal{grid-template-columns:68px minmax(0, 1fr) 36px;}
@media (max-width: 640px){.portal-card{grid-template-columns:60px minmax(0, 1fr) 34px;}
.portal-icon-3d,
  .modal-icon-3d{width:57px;height:57px;}}
.hero-actions .button.button-primary{border:1px solid rgba(23, 58, 77, 0.12);color:var(--ink);background:var(--tone-09fa70dc,rgba(255, 255, 255, 0.78));box-shadow:0 13px 30px rgba(42, 64, 76, 0.09);}
.hero-actions .button.button-primary:hover{color:var(--blue-dark);background:var(--theme-surface,#fff);box-shadow:0 18px 36px rgba(42, 64, 76, 0.14);}
.hero-actions .button.button-join{border-color:transparent;color:var(--theme-surface,#fff);background:var(--green);box-shadow:0 13px 30px var(--tone-454c73bd);}
.hero-actions .button.button-join:hover{color:var(--theme-surface,#fff);background:var(--blue-dark);box-shadow:0 19px 37px var(--tone-b34a5bf0);}
.hero-actions .button-join .play-icon{color:var(--blue-dark);background:var(--tone-9203fef5,rgba(255, 255, 255, 0.95));}
.download-section{padding-top:105px;content-visibility:auto;contain-intrinsic-size:auto 760px;}
.download-shell{position:relative;display:grid;grid-template-columns:minmax(0, 0.96fr) minmax(420px, 1.04fr);align-items:center;gap:clamp(28px, 5vw, 72px);min-height:590px;padding:clamp(38px, 6vw, 72px);overflow:hidden;border:1px solid var(--tone-cc53ce15,rgba(255, 255, 255, 0.92));border-radius:40px;background:radial-gradient(
      circle at 92% 10%,
      rgba(111, 185, 226, 0.32),
      transparent 34%
    ),
    radial-gradient(
      circle at 48% 110%,
      rgba(135, 176, 255, 0.2),
      transparent 36%
    ),
    linear-gradient(
      135deg,
      rgba(248, 253, 251, 0.95),
      rgba(235, 249, 244, 0.86)
    );box-shadow:0 35px 90px rgba(31, 60, 76, 0.12),
    inset 0 1px 0 var(--tone-9203fef5,rgba(255, 255, 255, 0.95));isolation:isolate;contain:layout paint;}
.download-shell.reveal{opacity:1;transform:none;}
.download-shell::before,
.download-shell::after{position:absolute;z-index:-1;border-radius:50%;content:"";pointer-events:none;}
.download-shell::before{top:-190px;right:-150px;width:430px;height:430px;border:1px dashed var(--tone-14c4914c);}
.download-shell::after{bottom:-120px;left:34%;width:260px;height:260px;background:rgba(255, 255, 255, 0.48);filter:blur(6px);}
.download-copy{position:relative;z-index:4;}
.download-copy h2{max-width:600px;margin:14px 0 18px;font-size:clamp(36px, 4.1vw, 54px);line-height:1.08;letter-spacing:-0.057em;}
.download-copy h2 span{color:var(--green);}
.download-copy > p{max-width:550px;margin:0;color:var(--muted);font-size:12px;line-height:1.75;}
.download-platforms{display:flex;flex-wrap:wrap;gap:8px;margin-top:24px;}
.download-platform{display:inline-grid;grid-template-columns:27px auto;align-items:center;gap:9px;min-height:54px;padding:8px 12px;border:1px solid rgba(31, 68, 89, 0.09);border-radius:var(--radius-xl,16px);background:var(--tone-8fafb20d,rgba(255, 255, 255, 0.9));box-shadow:0 10px 24px rgba(41, 69, 85, 0.06);}
.download-platform.is-ready{border-color:var(--tone-10f83111);background:rgba(236, 250, 246, 0.84);}
.download-platform > svg,
.download-platform .web-platform-icon{width:25px;height:25px;color:#08567f;fill:currentColor;}
.download-platform .web-platform-icon{display:grid;place-items:center;border-radius:9px;background:#e5f4ff;color:#2977bd;font-size:17px;font-weight:800;}
.download-platform > span:last-child{display:flex;flex-direction:column;gap:1px;}
.download-platform small{color:#85928e;font-size:6px;font-weight:700;}
.download-platform strong{font-size:9px;letter-spacing:-0.02em;}
.playstore-mark .play-a{fill:#2875a8;}
.playstore-mark .play-b{fill:#f4b742;}
.playstore-mark .play-c{fill:#4d8df5;}
.playstore-mark .play-d{fill:#e85b66;}
.download-main-button{display:inline-grid;grid-template-columns:40px 1fr 34px;align-items:center;gap:12px;min-width:260px;min-height:66px;margin-top:24px;padding:7px 9px 7px 10px;border:0;border-radius:19px;color:var(--theme-surface,#fff);background:linear-gradient(135deg, #076394, #054b71);box-shadow:0 18px 36px rgba(7, 94, 140, 0.27),
    inset 0 1px 0 rgba(255, 255, 255, 0.24);text-align:left;cursor:pointer;}
.download-main-button:hover{transform:translateY(-4px);box-shadow:0 24px 45px rgba(7, 94, 140, 0.34),
    inset 0 1px 0 rgba(255, 255, 255, 0.24);}
.download-main-button:focus-visible{outline:3px solid var(--tone-454c73bd);outline-offset:4px;}
.download-button-icon{display:grid;width:40px;height:40px;place-items:center;border:1px solid rgba(255, 255, 255, 0.3);border-radius:13px;background:rgba(255, 255, 255, 0.16);font-size:19px;font-weight:800;}
.download-main-button > span:nth-child(2){display:flex;flex-direction:column;gap:2px;}
.download-main-button small{color:rgba(255, 255, 255, 0.7);font-size:6px;font-weight:700;}
.download-main-button strong{font-size:12px;letter-spacing:-0.02em;}
.download-main-button > i{display:grid;width:34px;height:34px;place-items:center;border-radius:11px;color:var(--blue-dark);background:var(--theme-surface,#fff);font-size:14px;font-style:normal;}
.download-main-button:hover > i{transform:translateX(3px);}
.download-note{display:flex;align-items:center;gap:8px;margin-top:13px;color:#788681;font-size:7px;font-weight:600;}
.download-note i{width:6px;height:6px;border-radius:50%;background:#1174ab;box-shadow:0 0 0 4px rgba(17, 116, 171, 0.09);}
.download-visual{--download-x:0px;--download-y:0px;position:relative;z-index:3;min-height:430px;border-radius:35px;perspective:900px;transform-style:preserve-3d;}
.download-visual::before{position:absolute;inset:8% 3% 5%;z-index:-2;border-radius:42%;background:rgba(61, 150, 199, 0.2);filter:blur(38px);content:"";}
.download-visual img{position:absolute;inset:0;width:100%;height:100%;border:1px solid var(--tone-cc53ce15,rgba(255, 255, 255, 0.92));border-radius:32px;object-fit:cover;object-position:center;box-shadow:0 30px 65px rgba(25, 58, 77, 0.17),
    inset 0 1px 0 var(--tone-8fafb20d,rgba(255, 255, 255, 0.9));transform:translate3d(var(--download-x), var(--download-y), 0) rotateY(-2deg);}
.download-visual-orbit{position:absolute;z-index:-1;top:-28px;right:-25px;width:170px;height:170px;border:1px dashed rgba(7, 94, 140, 0.21);border-radius:50%;}
.download-visual-orbit::before,
.download-visual-orbit::after{position:absolute;border-radius:50%;content:"";}
.download-visual-orbit::before{top:16px;left:18px;width:12px;height:12px;background:#68b1d9;box-shadow:0 0 0 8px rgba(104, 177, 217, 0.13);}
.download-visual-orbit::after{right:5px;bottom:33px;width:8px;height:8px;background:#7f9deb;}
.device-float{position:absolute;z-index:5;display:inline-flex;align-items:center;gap:7px;min-height:37px;padding:0 12px;border:1px solid rgba(255, 255, 255, 0.94);border-radius:13px;color:#43514d;background:var(--tone-431952a6,rgba(255, 255, 255, 0.96));box-shadow:0 13px 28px rgba(35, 62, 77, 0.14);font-size:7px;font-weight:800;}
.device-float svg,
.device-float i{width:17px;height:17px;color:#08567f;fill:currentColor;font-style:normal;}
.device-float i{display:grid;place-items:center;border-radius:var(--radius-xs,6px);background:#e4f6f0;}
.device-float-windows{top:29px;left:-18px;}
.device-float-mobile{right:-15px;bottom:75px;}
.device-float-web{bottom:-15px;left:19%;}
body.download-modal-open{overflow:hidden;}
.download-modal[hidden],
.download-modal-status[hidden]{display:none;}
.download-modal{position:fixed;z-index:320;inset:0;display:grid;place-items:center;padding:22px;}
.download-modal-backdrop{position:absolute;inset:0;opacity:0;}
.download-modal-panel{position:relative;z-index:1;width:min(930px, 100%);max-height:min(790px, calc(100dvh - 44px));padding:36px;overflow:auto;outline:none;opacity:0;transform:translateY(26px) scale(0.94) rotateX(4deg);transform-origin:center;}
.download-modal.is-open .download-modal-backdrop{opacity:1;}
.download-modal.is-open .download-modal-panel{opacity:1;transform:none;}
.download-modal-close{position:absolute;z-index:5;top:20px;right:20px;display:grid;width:40px;height:40px;place-items:center;cursor:pointer;}
.download-modal-close:hover{transform:rotate(6deg) scale(1.05);background:var(--theme-surface,#fff);}
.download-modal-close span{display:block;grid-area:1 / 1;width:15px;height:2px;border-radius:2px;background:#4c5b57;}
.download-modal-close span:first-child{transform:rotate(45deg);}
.download-modal-close span:last-child{transform:rotate(-45deg);}
.download-modal-heading{display:grid;grid-template-columns:72px 1fr;align-items:center;gap:17px;padding-right:52px;}
.download-modal-mark{display:grid;width:68px;height:68px;place-items:center;font-size:27px;font-weight:800;}
.download-modal-heading h2{margin:5px 0 5px;font-size:clamp(28px, 4vw, 42px);line-height:1.08;letter-spacing:-0.052em;}
.download-modal-heading p{margin:0;color:var(--muted);font-size:9px;line-height:1.6;}
.download-choice-grid{display:grid;grid-template-columns:repeat(4, minmax(0, 1fr));gap:12px;margin-top:31px;}
.download-choice{--choice-accent:var(--theme-primary,#078ee8);--choice-soft:#e4f7f1;position:relative;display:grid;grid-template-rows:58px 1fr 34px;align-items:center;min-height:238px;padding:19px;overflow:hidden;border:1px solid rgba(7, 94, 140, 0.12);border-radius:var(--radius-5xl,24px);color:var(--ink);background:radial-gradient(
      circle at 100% 0%,
      color-mix(in srgb, var(--choice-accent) 15%, transparent),
      transparent 43%
    ),
    rgba(255, 255, 255, 0.74);box-shadow:0 15px 38px
    color-mix(in srgb, var(--choice-accent) 8%, transparent);font:inherit;text-align:left;text-decoration:none;cursor:pointer;}
.download-choice-android{--choice-accent:#417bd0;--choice-soft:#ebf2ff;}
.download-choice-apk{--choice-accent:#08547d;--choice-soft:#e2f6f0;}
.download-choice-apk .download-choice-icon b{font-size:12px;letter-spacing:0.04em;}
.download-choice-web{--choice-accent:#7956c8;--choice-soft:#f1ebff;}
@media (min-width: 701px) and (max-width: 980px){.download-choice-grid{grid-template-columns:repeat(2, minmax(0, 1fr));}}
.download-choice:hover{border-color:color-mix(in srgb, var(--choice-accent) 28%, white);box-shadow:0 24px 46px
    color-mix(in srgb, var(--choice-accent) 16%, transparent);transform:translateY(-5px);}
.download-choice:focus-visible{outline:3px solid
    color-mix(in srgb, var(--choice-accent, var(--green)) 24%, transparent);outline-offset:3px;}
.download-choice-icon{display:grid;width:56px;height:56px;place-items:center;border:1px solid var(--tone-cc53ce15,rgba(255, 255, 255, 0.92));border-radius:var(--radius-2xl,18px);color:var(--choice-accent);background:var(--choice-soft);box-shadow:0 12px 25px
    color-mix(in srgb, var(--choice-accent) 14%, transparent);font-size:24px;font-weight:800;}
.download-choice-icon svg{width:28px;height:28px;fill:currentColor;}
.download-choice > span:nth-child(2){display:flex;flex-direction:column;align-self:end;}
.download-choice small{color:#97a39f;font-size:6px;font-weight:800;letter-spacing:0.11em;}
.download-choice strong{margin-top:6px;font-size:15px;letter-spacing:-0.035em;}
.download-choice em{margin-top:7px;color:var(--muted);font-size:7px;font-style:normal;line-height:1.5;}
.download-choice > i{display:grid;width:34px;height:34px;place-items:center;align-self:end;justify-self:end;border-radius:11px;color:var(--choice-accent);background:var(--choice-soft);font-size:14px;font-style:normal;}
.download-choice:hover > i{color:var(--theme-surface,#fff);background:var(--choice-accent);transform:translateX(3px);}
.download-modal-status{position:sticky;z-index:6;right:0;bottom:0;left:0;display:grid;grid-template-columns:38px 1fr;align-items:center;gap:10px;width:min(360px, 100%);margin:18px auto 0;padding:10px 13px;}
.download-modal-status > span{display:grid;width:36px;height:36px;place-items:center;border-radius:var(--radius-md-lg,12px);color:var(--theme-surface,#fff);background:#4b81d2;font-size:12px;}
.download-modal-status > div{display:flex;flex-direction:column;}
.download-modal-status strong{font-size:10px;}
.download-modal-status small{margin-top:2px;color:#667b96;font-size:7px;}
@media (max-width: 1020px){.download-shell{grid-template-columns:minmax(0, 0.94fr) minmax(360px, 1.06fr);gap:28px;padding:45px 38px;}
.download-visual{min-height:390px;}}
@media (max-width: 860px){.download-shell{grid-template-columns:1fr;}
.download-copy{text-align:center;}
.download-copy > p{margin-right:auto;margin-left:auto;}
.download-platforms,
  .download-note{justify-content:center;}
.download-main-button{margin-right:auto;margin-left:auto;}
.download-visual{width:min(650px, 100%);min-height:460px;margin:5px auto 0;}}
@media (max-width: 700px){.download-modal{align-items:end;padding:9px;}
.download-modal-panel{width:100%;max-height:calc(100dvh - 18px);padding:25px 17px 18px;transform:translateY(45px) scale(0.97);}
.download-modal-close{top:15px;right:15px;}
.download-modal-heading{grid-template-columns:56px 1fr;gap:13px;padding-right:36px;}
.download-modal-mark{width:54px;height:54px;font-size:22px;}
.download-modal-heading h2{font-size:28px;}
.download-choice-grid{grid-template-columns:1fr;gap:8px;margin-top:22px;}
.download-choice{grid-template-columns:50px 1fr 31px;grid-template-rows:1fr;gap:11px;min-height:92px;padding:12px;border-radius:19px;}
.download-choice-icon{width:48px;height:48px;border-radius:15px;}
.download-choice > span:nth-child(2){align-self:center;}
.download-choice > i{align-self:center;}}
@media (max-width: 640px){.download-section{padding-top:78px;}
.download-shell{gap:33px;min-height:auto;padding:34px 20px 29px;border-radius:29px;}
.download-copy h2{font-size:36px;}
.download-copy > p{font-size:10px;}
.download-platforms{display:grid;grid-template-columns:repeat(3, minmax(0, 1fr));gap:6px;}
.download-platform{grid-template-columns:1fr;justify-items:center;gap:4px;min-width:0;padding:8px 5px;text-align:center;}
.download-platform > span:last-child{align-items:center;}
.download-main-button{width:100%;min-width:0;}
.download-note{font-size:6px;}
.download-visual{min-height:320px;}
.download-visual img{border-radius:23px;}
.device-float{padding:0 9px;font-size:6px;}
.device-float-windows{top:18px;left:-8px;}
.device-float-mobile{right:-6px;bottom:52px;}
.device-float-web{bottom:-10px;}}
@media (max-width: 390px){.download-copy h2{font-size:32px;}
.download-platform strong{font-size:8px;}
.download-visual{min-height:270px;}
.device-float-mobile{display:none;}}
@media (prefers-reduced-motion: reduce){.download-visual img{transform:none;}}
@media (max-width: 900px), (pointer: coarse){input:not([type="hidden"]),
  textarea,
  select,
  [contenteditable="true"]{scroll-margin-top:calc(var(--portal-form-viewport-top) + 22px);scroll-margin-bottom:calc(
      var(--portal-form-keyboard-inset) + env(safe-area-inset-bottom) + 34px
    );}
.portal-mobile-auth-surface{box-sizing:border-box;min-height:var(--portal-form-visible-height)!important;overflow-x:hidden;overflow-y:auto;overscroll-behavior-y:contain;-webkit-overflow-scrolling:touch;touch-action:pan-y;}
.portal-mobile-page-scroll{min-height:0!important;overflow-x:hidden!important;overflow-y:auto!important;overscroll-behavior-y:contain;-webkit-overflow-scrolling:touch;touch-action:pan-y;}
html.portal-mobile-form-active .portal-mobile-page-scroll,
  html.portal-mobile-keyboard-open .portal-mobile-page-scroll{scroll-padding-top:max(20px, env(safe-area-inset-top));scroll-padding-bottom:max(76px, calc(env(safe-area-inset-bottom) + 48px));}
html.portal-mobile-keyboard-open .portal-mobile-auth-surface{height:var(--portal-form-visible-height)!important;min-height:0!important;padding-top:max(12px, env(safe-area-inset-top))!important;padding-bottom:max(72px, calc(env(safe-area-inset-bottom) + 44px))!important;align-items:flex-start!important;scroll-padding-top:max(18px, env(safe-area-inset-top));scroll-padding-bottom:max(36px, env(safe-area-inset-bottom));}
html.portal-mobile-keyboard-open .portal-mobile-form-overlay{box-sizing:border-box!important;inset:auto 0 auto 0!important;top:var(--portal-form-viewport-top)!important;width:100%!important;height:var(--portal-form-visible-height)!important;min-height:0!important;max-height:var(--portal-form-visible-height)!important;padding-top:max(10px, env(safe-area-inset-top))!important;padding-right:max(10px, env(safe-area-inset-right))!important;padding-bottom:max(34px, env(safe-area-inset-bottom))!important;padding-left:max(10px, env(safe-area-inset-left))!important;align-items:flex-start!important;justify-content:center!important;overflow-x:hidden!important;overflow-y:auto!important;scroll-padding-top:max(16px, env(safe-area-inset-top));scroll-padding-bottom:max(38px, env(safe-area-inset-bottom));overscroll-behavior-y:contain;-webkit-overflow-scrolling:touch;touch-action:pan-y;}
html.portal-mobile-keyboard-open .portal-mobile-form-dialog{box-sizing:border-box!important;width:min(100%, var(--portal-form-dialog-width, 680px))!important;height:auto!important;min-height:0!important;max-height:calc(var(--portal-form-visible-height) - 20px)!important;margin-top:0!important;margin-bottom:10px!important;flex:0 0 auto!important;overflow-x:hidden!important;overflow-y:auto!important;overscroll-behavior-y:contain;-webkit-overflow-scrolling:touch;touch-action:pan-y;scroll-padding-top:max(16px, env(safe-area-inset-top));scroll-padding-bottom:max(72px, calc(env(safe-area-inset-bottom) + 44px));scroll-margin-top:max(10px, env(safe-area-inset-top));scroll-margin-bottom:max(34px, env(safe-area-inset-bottom));}
html.portal-mobile-keyboard-open .portal-mobile-form-dialog > form,
  html.portal-mobile-keyboard-open form.portal-mobile-form{height:auto!important;min-height:0!important;max-height:none!important;overflow:visible!important;padding-bottom:max(52px, calc(env(safe-area-inset-bottom) + 30px));}
html.portal-mobile-keyboard-open .portal-mobile-scroll-region{scroll-padding-top:max(16px, env(safe-area-inset-top));scroll-padding-bottom:max(38px, env(safe-area-inset-bottom));overscroll-behavior-y:contain;-webkit-overflow-scrolling:touch;}}
@media (max-width: 900px) and (max-height: 680px), (max-width: 900px) and (pointer: coarse){html.portal-mobile-keyboard-open .portal-mobile-form-dialog{margin-top:0!important;}}
html{font-size:17px;-webkit-text-size-adjust:100%;text-size-adjust:100%;}
body,
button,
input,
select,
textarea{font-family:var(--readable-font);font-kerning:normal;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;}
body{font-size:16px;line-height:1.6;letter-spacing:0;}
h1,
h2,
h3,
h4,
h5,
h6{line-height:1.24;letter-spacing:-0.032em;text-wrap:balance;}
p{font-size:16px;line-height:1.72;letter-spacing:0;text-wrap:pretty;}
small{font-size:13px;line-height:1.5;letter-spacing:0;}
button,
[role="button"],
input,
select,
textarea{font-size:15px;line-height:1.4;letter-spacing:0;}
label{font-size:14px;line-height:1.5;letter-spacing:0;}
table th{font-size:13px;line-height:1.45;letter-spacing:0.025em;}
table td{font-size:15px;line-height:1.55;letter-spacing:0;}
nav a,
nav button,
.nav-button,
.unified-group button,
.unified-bottom button{font-size:14px;line-height:1.35;letter-spacing:0;}
.eyebrow,
[class*="eyebrow"],
[class*="kicker"],
.unified-group em{font-size:13px;line-height:1.4;}
.badge,
[class*="-badge"],
[class*="-status"]{font-size:12px;line-height:1.4;letter-spacing:0.02em;}
.muted,
[class*="-subtitle"],
[class*="-description"],
[class*="-caption"],
[class*="-helper"],
[class*="-hint"],
[class*="-note"]{font-size:14px;line-height:1.6;letter-spacing:0;}
.panel-head p,
.page-head p,
.record-card p,
.modal-card p,
.login-card p{font-size:16px;line-height:1.68;}
.notice,
.toast,
.form-error,
.empty{font-size:15px;line-height:1.65;}
.actions button,
.table-actions button,
.modal-close,
.close{font-size:14px;}
.landing-readable-v168 .nav-menu a{font-size:15px;}
.landing-readable-v168 .nav-cta,
.landing-readable-v168 .button{font-size:15px;}
.landing-readable-v168 .hero-copy > p,
.landing-readable-v168 .hero > p{font-size:18px;line-height:1.75;}
.landing-readable-v168 .section-heading > p,
.landing-readable-v168 .section-head p,
.landing-readable-v168 .partner-copy p,
.landing-readable-v168 .partners-pane > p,
.landing-readable-v168 .contact-pane > p,
.landing-readable-v168 .contact-card p{font-size:16px;line-height:1.72;}
.landing-readable-v168 .feature-card p,
.landing-readable-v168 .portal-card-copy p,
.landing-readable-v168 .portal-compact-copy p,
.landing-readable-v168 .network-copy p{font-size:15px;line-height:1.65;}
.landing-readable-v168 .feature-card small,
.landing-readable-v168 .portal-card-copy > small,
.landing-readable-v168 .portal-compact-copy small,
.landing-readable-v168 .modal-portal-copy small,
.landing-readable-v168 .partner-logos figcaption{font-size:12px;line-height:1.5;}
.landing-readable-v168 .portal-status,
.landing-readable-v168 .portal-compact-status,
.landing-readable-v168 .network-dot{font-size:11px;}
.landing-readable-v168 .portal-enter,
.landing-readable-v168 .network-button{font-size:13px;}
.landing-readable-v168 .portal-modal-heading p{font-size:15px;}
.landing-readable-v168 .modal-portal-copy em,
.landing-readable-v168 .portal-modal-footer > span,
.landing-readable-v168 .portal-modal-footer > a{font-size:13px;line-height:1.5;}
.landing-readable-v168 .contact-buttons small,
.landing-readable-v168 .contact-action small{font-size:12px;}
.landing-readable-v168 .contact-buttons strong,
.landing-readable-v168 .contact-action b{font-size:14px;}
.landing-readable-v168 .site-footer p,
.landing-readable-v168 .footer-links a{font-size:14px;line-height:1.65;}
.landing-readable-v168 .window-brand,
.landing-readable-v168 .window-actions b,
.landing-readable-v168 .dash-heading small,
.landing-readable-v168 .chart-title small,
.landing-readable-v168 .ring-card small,
.landing-readable-v168 .metric-row small,
.landing-readable-v168 .ring-card > span,
.landing-readable-v168 .mini-panel small,
.landing-readable-v168 .insight-note small,
.landing-readable-v168 .mini-ui-top b,
.landing-readable-v168 .mini-ui-row > span small{font-size:11px;}
.landing-readable-v168 .dash-rail span,
.landing-readable-v168 .metric-row i,
.landing-readable-v168 .metric-row strong,
.landing-readable-v168 .chart-title strong,
.landing-readable-v168 .chart-title em,
.landing-readable-v168 .mini-panel strong,
.landing-readable-v168 .mini-panel em,
.landing-readable-v168 .trust-row span,
.landing-readable-v168 .trust-row i,
.landing-readable-v168 .insight-top span,
.landing-readable-v168 .insight-top b,
.landing-readable-v168 .insight-stat span,
.landing-readable-v168 .insight-note > span,
.landing-readable-v168 .insight-note b,
.landing-readable-v168 .avatar-stack i,
.landing-readable-v168 .avatar-stack span,
.landing-readable-v168 .growth-line span,
.landing-readable-v168 .mini-ui-top,
.landing-readable-v168 .mini-ui-row > i,
.landing-readable-v168 .mini-ui-row > span b,
.landing-readable-v168 .mini-ui-row > em{font-size:12px;line-height:1.4;}
.landing-readable-v168 .download-copy > p{font-size:16px;line-height:1.72;}
.landing-readable-v168 .download-platform small,
.landing-readable-v168 .download-main-button small,
.landing-readable-v168 .download-choice small,
.landing-readable-v168 .download-modal-status small{font-size:12px;}
.landing-readable-v168 .download-platform strong,
.landing-readable-v168 .download-main-button strong,
.landing-readable-v168 .download-modal-status strong{font-size:14px;}
.landing-readable-v168 .download-note,
.landing-readable-v168 .download-choice em{font-size:13px;line-height:1.5;}
.landing-readable-v168 .device-float{font-size:12px;}
.landing-readable-v168 .download-modal-heading p{font-size:15px;}
.topbar small,
.owner-profile small,
.summary-card small,
.panel-head p,
.record-meta small,
.record-meta b,
.data-table td small,
.document-name small,
.admin small,
header small{font-size:13px;line-height:1.5;}
.record-card h3,
.panel-head h3,
.toolbar h3{font-size:18px;line-height:1.35;}
.record-meta b,
.owner-profile b{font-size:14px;}
.text-xs{font-size:13px;line-height:1.5;}
.text-sm{font-size:15px;line-height:1.55;}
@media (max-width: 760px){body{font-size:16px;}
p{font-size:15px;line-height:1.68;}
nav a,
  nav button,
  .nav-button,
  .unified-bottom button{font-size:12px;line-height:1.25;}
.landing-readable-v168 .hero-copy > p,
  .landing-readable-v168 .hero > p{font-size:16px;line-height:1.68;}
.landing-readable-v168 .section-heading > p,
  .landing-readable-v168 .section-head p,
  .landing-readable-v168 .feature-card p,
  .landing-readable-v168 .portal-card-copy p,
  .landing-readable-v168 .portal-compact-copy p,
  .landing-readable-v168 .network-copy p,
  .landing-readable-v168 .download-copy > p{font-size:15px;line-height:1.65;}
table th{font-size:12px;}
table td{font-size:14px;}}
:is(
  .modal-card > .close,
  .modal-card > .modal-close,
  .teacher-student-scan-dialog [data-scan-close],
  .employee-attendance-v126-dialog [data-attendance-close],
  .teacher-duty-v08-dialog > header > button[aria-label="Tutup"],
  .teacher-qr-close,
  .teacher-qr-viewer-close,
  .employee-id-card-dialog [data-employee-card-close],
  .student-id-card-dialog [data-student-card-close],
  .portal-student-preview-close-v190,
  .portal-management-notification-actions button[data-close],
  .owner-notification-head-actions button[data-notification-close],
  button[data-close-school-notifications][aria-label="Tutup"],
  .download-modal-close,
  .portal-modal-close
){display:inline-grid!important;place-items:center!important;flex:0 0 auto!important;width:44px!important;min-width:44px!important;max-width:44px!important;height:44px!important;min-height:44px!important;max-height:44px!important;padding:0!important;border:1px solid #fecaca;border-radius:var(--radius-pill,999px);background:#fee2e2;color:var(--theme-danger,#b91c1c);font-size:27px;font-weight:800;line-height:1;opacity:1!important;visibility:visible!important;box-shadow:0 5px 14px rgb(185 28 28 / 12%);-webkit-tap-highlight-color:transparent;}
:is(
  .modal-card > .close,
  .modal-card > .modal-close,
  .teacher-student-scan-dialog [data-scan-close],
  .employee-attendance-v126-dialog [data-attendance-close],
  .teacher-duty-v08-dialog > header > button[aria-label="Tutup"],
  .teacher-qr-close,
  .teacher-qr-viewer-close,
  .employee-id-card-dialog [data-employee-card-close],
  .student-id-card-dialog [data-student-card-close],
  .portal-student-preview-close-v190,
  .portal-management-notification-actions button[data-close],
  .owner-notification-head-actions button[data-notification-close],
  button[data-close-school-notifications][aria-label="Tutup"],
  .download-modal-close,
  .portal-modal-close
):is(:hover, :focus-visible, :active){border-color:#fca5a5;background:#fecaca;color:#991b1b;outline:3px solid rgb(239 68 68 / 16%);outline-offset:2px!important;}
@media (max-width: 760px){:is(
    .modal-card > .close,
    .modal-card > .modal-close,
    .teacher-student-scan-dialog [data-scan-close],
    .employee-attendance-v126-dialog [data-attendance-close],
    .teacher-duty-v08-dialog > header > button[aria-label="Tutup"],
    .teacher-qr-close,
    .teacher-qr-viewer-close,
    .employee-id-card-dialog [data-employee-card-close],
    .student-id-card-dialog [data-student-card-close],
    .portal-student-preview-close-v190,
    .portal-management-notification-actions button[data-close],
    .owner-notification-head-actions button[data-notification-close],
    button[data-close-school-notifications][aria-label="Tutup"],
    .download-modal-close,
    .portal-modal-close
  ){width:46px!important;min-width:46px!important;max-width:46px!important;height:46px!important;min-height:46px!important;max-height:46px!important;font-size:29px;}}
.employee-id-card-dialog [data-employee-card-close]{display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:7px!important;width:auto!important;min-width:94px!important;max-width:none!important;padding:0 14px!important;position:relative!important;z-index:8!important;}
.employee-id-card-dialog [data-employee-card-close] > span{display:block!important;font-size:27px;font-weight:800;line-height:1;transform:translateY(-1px);}
.employee-id-card-dialog [data-employee-card-close] > b{display:block!important;color:inherit;font-size:12px;font-weight:900;line-height:1;}
@media (max-width: 430px){.employee-id-card-dialog [data-employee-card-close]{min-width:86px!important;padding-inline:11px!important;}}
@media (max-width: 700px){body .portal-section .portal-grid{grid-template-columns:repeat(2, minmax(0, 1fr))!important;gap:10px!important;}
body .portal-section .portal-card{display:flex!important;aspect-ratio:1 / 1;min-height:0!important;align-items:center;justify-content:center;gap:4px!important;padding:10px!important;text-align:center;}
body .portal-section .portal-icon-3d{width:clamp(76px, 23vw, 94px)!important;height:clamp(76px, 23vw, 94px)!important;flex:0 0 auto;}
body .portal-section .portal-icon-3d > i.portal-art{inset:-10px!important;}
body .portal-section .portal-compact-copy{align-self:auto;}
body .portal-section .portal-compact-copy h3{margin:2px 0 0!important;font-size:clamp(13px, 4vw, 17px);}
body .portal-section .portal-compact-copy p,
  body .portal-section .portal-compact-status,
  body .portal-section .portal-arrow{display:none!important;}}
html[data-eduvia-product="pendidikan"] body,
html[data-eduvia-product="pendidikan"] button,
html[data-eduvia-product="pendidikan"] input,
html[data-eduvia-product="pendidikan"] select,
html[data-eduvia-product="pendidikan"] textarea{font-family:"Outfit",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;}
html[data-eduvia-product="pendidikan"] button,
html[data-eduvia-product="pendidikan"] a[role="button"]{-webkit-tap-highlight-color:transparent;}
html[data-eduvia-portal="guru"] .portal-guru-dashboard{gap:14px!important;}
html[data-eduvia-portal="guru"]
  .portal-guru-dashboard
  > .portal-school-report-gradient{min-height:0!important;margin:0!important;padding:20px!important;border:1px solid var(--eduvia-shared-line);border-radius:var(--radius-2xl,18px);background:var(--eduvia-shared-surface);color:var(--eduvia-shared-ink);box-shadow:none;}
html[data-eduvia-portal="guru"]
  .portal-guru-dashboard
  > .portal-school-report-gradient::before,
html[data-eduvia-portal="guru"]
  .portal-guru-dashboard
  > .portal-school-report-gradient::after{content:none!important;display:none!important;}
html[data-eduvia-portal="guru"]
  .portal-guru-dashboard
  > .portal-school-report-gradient
  :is(h1, h2, h3, p, span, b, strong){color:var(--eduvia-shared-ink);-webkit-text-fill-color:var(--eduvia-shared-ink)!important;text-shadow:none;}
html[data-eduvia-portal="guru"]
  .portal-guru-dashboard
  > .portal-school-report-gradient
  h2{margin-bottom:6px!important;font-size:clamp(20px, 2.4vw, 27px);line-height:1.18;}
html[data-eduvia-portal="guru"]
  .portal-guru-dashboard
  > .portal-school-report-gradient
  p{max-width:720px!important;margin:0!important;color:var(--eduvia-shared-muted);-webkit-text-fill-color:var(--eduvia-shared-muted)!important;opacity:1!important;line-height:1.55;}
html[data-eduvia-portal="guru"] .eduvia-dashboard-metrics{gap:10px!important;}
html[data-eduvia-portal="guru"] .eduvia-dashboard-metric{min-width:0!important;min-height:68px!important;padding:12px 13px!important;border:1px solid var(--eduvia-shared-line);border-radius:15px;background:var(--eduvia-shared-surface);box-shadow:none;display:grid!important;grid-template-columns:34px minmax(0, 1fr)!important;align-items:center!important;justify-content:initial!important;gap:10px!important;transform:none!important;}
html[data-eduvia-portal="guru"] .eduvia-dashboard-metric > :first-child{width:34px!important;height:34px!important;min-width:34px!important;margin:0!important;border-radius:var(--radius-md,10px);}
html[data-eduvia-portal="guru"] .eduvia-dashboard-metric > :last-child{min-width:0!important;}
html[data-eduvia-portal="guru"] .eduvia-dashboard-metric > :last-child > p:first-child{margin:0!important;font-size:21px;line-height:1;}
html[data-eduvia-portal="guru"] .eduvia-dashboard-metric > :last-child > p:last-child{margin:5px 0 0!important;overflow:hidden!important;color:var(--eduvia-shared-muted);font-size:10px;line-height:1.2;text-overflow:ellipsis!important;white-space:nowrap!important;}
html[data-eduvia-product="pendidikan"].eduvia-dashboard-ready
  :is(.hero-panel, .dashboard-hero, .welcome-panel){border:1px solid var(--eduvia-shared-line);border-radius:var(--radius-2xl,18px);background:var(--eduvia-shared-surface);color:var(--eduvia-shared-ink);box-shadow:none;}
html[data-eduvia-product="pendidikan"].eduvia-dashboard-ready
  :is(.hero-panel, .dashboard-hero, .welcome-panel)
  :is(h1, h2, h3, p, span, small, b){color:inherit;-webkit-text-fill-color:currentColor!important;}
html[data-eduvia-product="pendidikan"].eduvia-dashboard-ready
  :is(.stats, .summary-grid)
  :is(.stat, .summary-card){padding:13px!important;border:1px solid var(--eduvia-shared-line);border-radius:15px;background:var(--eduvia-shared-surface);box-shadow:none;}
















@media (max-width: 640px){html[data-eduvia-product="pendidikan"][data-eduvia-portal="pemilih"] main{width:100%!important;padding-inline:14px!important;}
html[data-eduvia-product="pendidikan"][data-eduvia-portal="pemilih"] .selector{padding:16px 0!important;}
html[data-eduvia-product="pendidikan"][data-eduvia-portal="pemilih"] .selector-head{margin-bottom:10px!important;}
html[data-eduvia-product="pendidikan"][data-eduvia-portal="pemilih"]
    .selector-head
    :is(p, .secure-status){display:none!important;}
html[data-eduvia-product="pendidikan"][data-eduvia-portal="pemilih"] .portal-grid{display:grid!important;grid-template-columns:repeat(2, minmax(0, 1fr))!important;align-items:stretch!important;gap:12px!important;}
html[data-eduvia-product="pendidikan"][data-eduvia-portal="pemilih"] .portal-card{min-width:0!important;min-height:0!important;aspect-ratio:1 / 1!important;padding:8px 6px!important;border:1px solid #e2eaf3;border-radius:var(--radius-4xl,22px);background:var(--theme-surface,#fff);box-shadow:0 9px 24px rgba(8, 48, 110, 0.08);display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;gap:5px!important;overflow:hidden!important;text-align:center!important;transform:none!important;}
html[data-eduvia-product="pendidikan"][data-eduvia-portal="pemilih"] .portal-card .card-top{display:flex!important;width:100%!important;align-items:center!important;justify-content:center!important;margin:0!important;}
html[data-eduvia-product="pendidikan"][data-eduvia-portal="pemilih"] .portal-card .portal-icon{display:grid!important;width:min(82%, 168px)!important;height:auto!important;aspect-ratio:1 / 1!important;flex:0 0 auto!important;margin:0!important;border:1px solid rgba(7, 142, 232, 0.12);border-radius:clamp(var(--radius-3xl,20px), 6vw, 32px);background:linear-gradient(145deg, var(--theme-surface,#fff), #f2f8fd);box-shadow:0 7px 18px rgba(8, 48, 110, 0.09);}
html[data-eduvia-product="pendidikan"][data-eduvia-portal="pemilih"]
    .portal-card
    .portal-icon
    .portal-art{display:block!important;inset:-6px!important;width:auto!important;height:auto!important;background-size:200% 200%!important;}
html[data-eduvia-product="pendidikan"][data-eduvia-portal="pemilih"] .portal-card .portal-copy{display:block!important;width:100%!important;min-width:0!important;margin:0!important;text-align:center!important;}
html[data-eduvia-product="pendidikan"][data-eduvia-portal="pemilih"] .portal-card .portal-copy h2{margin:0!important;color:var(--eduvia-shared-ink);font-size:clamp(12px, 3.5vw, 15px);font-weight:750;line-height:1.22;text-align:center!important;text-wrap:balance!important;}
html[data-eduvia-product="pendidikan"][data-eduvia-portal="pemilih"]
    .portal-card
    :is(.number, .enter, .portal-copy small, .portal-copy p){display:none!important;}
html[data-eduvia-portal="guru"]
    .portal-guru-dashboard
    > .portal-school-report-gradient{padding:16px!important;}
html[data-eduvia-portal="guru"] .eduvia-dashboard-metrics{grid-template-columns:repeat(2, minmax(0, 1fr))!important;gap:8px!important;}
html[data-eduvia-portal="guru"] .eduvia-dashboard-metric{min-height:62px!important;padding:10px!important;grid-template-columns:30px minmax(0, 1fr)!important;gap:8px!important;}
html[data-eduvia-portal="guru"] .eduvia-dashboard-metric > :first-child{width:30px!important;height:30px!important;min-width:30px!important;}
html[data-eduvia-portal="guru"]
    .eduvia-dashboard-metric
    > :last-child
    > p:first-child{font-size:18px;}

}


/* EDUVIA notification viewport stack v95 */
#portal-notification-stack-v95{position:fixed!important;right:max(16px,env(safe-area-inset-right))!important;bottom:max(16px,env(safe-area-inset-bottom))!important;top:auto!important;left:auto!important;z-index:2147483000!important;display:flex!important;flex-direction:column!important;align-items:flex-end!important;gap:10px!important;width:min(440px,calc(100vw - 24px))!important;max-width:calc(100vw - 24px)!important;margin:0!important;padding:0!important;pointer-events:none!important;box-sizing:border-box!important}
#portal-notification-stack-v95>#portal-global-notification-v78,#portal-notification-stack-v95>#portal-notification-permission-v78{position:relative!important;inset:auto!important;width:100%!important;max-width:100%!important;margin:0!important;box-sizing:border-box!important}
#portal-notification-stack-v95>#portal-notification-permission-v78{display:flex!important;align-items:center!important;gap:11px!important;padding:13px 14px!important;background:#fff!important;color:#152238!important;border:1px solid #d9e4e1!important;border-radius:18px!important;box-shadow:0 18px 55px rgba(15,23,42,.22)!important;pointer-events:auto!important}
#portal-notification-stack-v95>#portal-global-notification-v78{display:flex!important;align-items:center!important;gap:12px!important;padding:14px 16px!important;background:#fff!important;color:#172033!important;border:1px solid #dce7e4!important;border-radius:18px!important;box-shadow:0 20px 60px rgba(15,23,42,.25)!important}
@media(max-width:640px){#portal-notification-stack-v95{right:10px!important;bottom:max(10px,env(safe-area-inset-bottom))!important;width:calc(100vw - 20px)!important;max-width:calc(100vw - 20px)!important}}
