/**
 * Tech Spartan — main.css v2 (Base, Reset, Layout, Typography, Utilities)
 */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&family=Plus+Jakarta+Sans:ital,wght@0,500;0,600;0,700;0,800;0,900;1,700&display=swap');

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{font-size:16px;scroll-behavior:smooth;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-x:hidden;max-width:100vw;width:100%}
body{font-family:var(--font-body);background:var(--bg-page);color:var(--text-body);line-height:1.65;overflow-x:hidden;max-width:100vw;width:100%;min-height:100vh;display:flex;flex-direction:column;position:relative}

/* ── Typography ── */
h1,h2,h3,h4,h5,h6{font-family:var(--font-head);color:var(--text-head);font-weight:800;line-height:1.22;letter-spacing:-0.02em}
h1{font-size:clamp(2.4rem,5vw,3.8rem);font-weight:900}
h2{font-size:clamp(1.9rem,3.5vw,2.7rem)}
h3{font-size:clamp(1.3rem,2.2vw,1.8rem)}
h4{font-size:1.25rem}
h5{font-size:1.05rem}
p{color:var(--text-body);font-size:1rem;margin-bottom:1.25rem}
p:last-child{margin-bottom:0}
a{color:var(--primary);text-decoration:none;transition:color var(--dur-f) var(--ease)}
a:hover{color:var(--secondary)}
img{max-width:100%;height:auto;display:block}
ul,ol{list-style:none}
strong{font-weight:700}

/* ── Container ── */
.container{width:100%;max-width:var(--max-w);margin-inline:auto;padding-inline:var(--gutter)}

/* ── Section helpers ── */
.section{padding:var(--section-y) 0}
.section-sm{padding:var(--section-y-sm) 0}
.section-light{background:var(--bg-soft)}
.section-dark{background:var(--bg-dark);color:var(--text-white)}

/* ── Section title block ── */
.sec-wrap{max-width:760px;margin-inline:auto;text-align:center;margin-bottom:52px}
.sec-wrap.left{text-align:left;margin-left:0}
.sec-badge{display:inline-flex;align-items:center;gap:7px;padding:5px 16px;background:var(--primary-light);border:1px solid var(--border-blue);border-radius:var(--r-full);color:var(--primary);font-size:0.78rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;margin-bottom:14px}
.sec-badge.badge-gold{background:var(--accent-gold-light);border-color:rgba(245,158,11,.3);color:#b45309}
.sec-badge.badge-red{background:var(--crimson-light);border-color:rgba(230,57,70,.25);color:var(--crimson)}
.sec-badge.badge-green{background:var(--green-light);border-color:rgba(22,163,74,.25);color:var(--green)}
.sec-title{color:var(--text-head);margin-bottom:14px}
.sec-sub{font-size:1.1rem;color:var(--text-muted);line-height:1.65}

/* ── Text utilities ── */
.text-gradient{background:var(--grad-brand);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.text-blue{color:var(--primary)}
.text-cyan{color:var(--secondary)}
.text-gold{color:var(--accent-gold)}
.text-red{color:var(--crimson)}
.text-white{color:#ffffff}
.text-muted{color:var(--text-muted)}

/* ── Buttons (Kotak Metallic Ruby-Red & Action Blue) ── */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;padding:12px 28px;font-family:var(--font-head);font-size:0.95rem;font-weight:800;border-radius:var(--r-full);border:1.5px solid transparent;cursor:pointer;text-decoration:none;transition:all var(--dur-b) var(--ease);line-height:1.2;white-space:nowrap}
.btn-primary{background:var(--grad-ruby);color:#fff;box-shadow:var(--shadow-red)}
.btn-primary:hover{background:var(--grad-brand);transform:translateY(-2px);box-shadow:0 14px 36px rgba(237,28,36,.45);color:#fff}
.btn-blue{background:var(--grad-blue);color:#fff;box-shadow:var(--shadow-blue)}
.btn-blue:hover{background:var(--kotak-blue-dark);transform:translateY(-2px);box-shadow:0 14px 36px rgba(34,100,209,.4);color:#fff}
.btn-dark{background:var(--text-head);color:#fff;box-shadow:var(--shadow-sm)}
.btn-dark:hover{background:#1e293b;transform:translateY(-2px);color:#fff}
.btn-gold{background:var(--grad-gold);color:#fff;box-shadow:0 8px 24px rgba(245,158,11,.3)}
.btn-gold:hover{transform:translateY(-2px);box-shadow:0 14px 36px rgba(245,158,11,.46);color:#fff}
.btn-outline{background:#fff;border-color:var(--border-strong);color:var(--text-head);box-shadow:var(--shadow-xs)}
.btn-outline:hover{border-color:var(--primary);color:var(--primary);transform:translateY(-2px)}
.btn-outline-white{background:transparent;border-color:rgba(255,255,255,.6);color:#fff}
.btn-outline-white:hover{background:rgba(255,255,255,.15);border-color:#fff;color:#fff}
.btn-wa{background:#25d366;color:#fff;box-shadow:0 8px 24px rgba(37,211,102,.32)}
.btn-wa:hover{background:#20ba5a;transform:translateY(-2px);color:#fff;box-shadow:0 14px 36px rgba(37,211,102,.5)}
.btn-sm{padding:8px 20px;font-size:0.86rem;border-radius:var(--r-full)}
.btn-lg{padding:15px 36px;font-size:1.05rem;border-radius:var(--r-full)}
.btn-xl{padding:18px 44px;font-size:1.15rem;border-radius:var(--r-full)}

/* ── Grid ── */
.grid{display:grid;gap:28px}
.g-2{grid-template-columns:repeat(2,1fr)}
.g-3{grid-template-columns:repeat(3,1fr)}
.g-4{grid-template-columns:repeat(4,1fr)}
.g-auto-3{grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}
.g-auto-4{grid-template-columns:repeat(auto-fill,minmax(250px,1fr))}

/* ── Cards ── */
.card{background:#fff;border:1px solid var(--border);border-radius:var(--r-lg);padding:28px;box-shadow:var(--shadow-card);transition:all var(--dur-b) var(--ease)}
.card:hover{border-color:var(--border-blue);transform:translateY(-5px);box-shadow:var(--shadow-card-hover)}
.card-blue-border:hover{border-color:var(--primary)}
.card-feature{position:relative;overflow:hidden}
.card-feature::before{content:'';position:absolute;top:0;left:0;width:4px;height:0;background:var(--primary);border-radius:0 0 4px 0;transition:height .4s var(--ease)}
.card-feature:hover::before{height:100%}

/* ── Badges (Kotak 811 Soft Tints) ── */
.badge{display:inline-flex;align-items:center;gap:4px;padding:4px 12px;font-size:.74rem;font-weight:800;border-radius:var(--r-full);text-transform:uppercase;letter-spacing:.04em}
.badge-blue{background:var(--primary-light);color:var(--primary);border:1px solid #bfdbfe}
.badge-cyan{background:var(--secondary-light);color:#0369a1;border:1px solid #bae6fd}
.badge-gold{background:var(--accent-gold-light);color:#b45309;border:1px solid #fde68a}
.badge-green{background:var(--green-light);color:#15803d;border:1px solid #bbf7d0}
.badge-burgundy, .badge-red{background:var(--burgundy-light);color:var(--burgundy);border:1px solid var(--burgundy-border)}
.badge-purple{background:var(--purple-light);color:#6d28d9;border:1px solid #e9d5ff}

/* ── Icon Box (Axis Soft Luxury Badges) ── */
.icon-box{width:50px;height:50px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.35rem;flex-shrink:0}
.icon-box-sm{width:38px;height:38px;border-radius:50%;font-size:1rem}
.ib-blue{background:var(--primary-light);color:var(--primary);border:1px solid rgba(0,87,217,0.18)}
.ib-cyan{background:var(--secondary-light);color:#0369a1}
.ib-gold{background:var(--accent-gold-light);color:#b45309}
.ib-green{background:var(--green-light);color:var(--green);border:1px solid rgba(22,163,74,0.15)}
.ib-burgundy, .ib-red{background:var(--burgundy-light);color:var(--burgundy);border:1px solid var(--burgundy-border)}
.ib-purple{background:var(--purple-light);color:var(--purple)}
.ib-orange{background:#fff7ed;color:#c2410c}

/* ── Ticker / Marquee (Axis Luxury Pill Chips) ── */
.marquee-wrap{overflow:hidden;background:#ffffff;border-top:1.5px solid var(--border);border-bottom:1.5px solid var(--border);padding:14px 0;white-space:nowrap;position:relative}
.marquee-track{display:inline-flex;gap:18px;animation:marquee 40s linear infinite}
.marquee-track:hover{animation-play-state:paused}
@keyframes marquee{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}
.marquee-item{display:inline-flex;align-items:center;gap:8px;padding:8px 18px;background:var(--bg-soft);border:1.5px solid var(--border);border-radius:var(--r-full);font-family:var(--font-head);font-size:.88rem;font-weight:700;letter-spacing:-.01em;transition:all var(--dur-f) var(--ease);text-decoration:none;box-shadow:var(--shadow-xs)}
.marquee-item:hover{background:#ffffff;border-color:var(--burgundy);transform:translateY(-2px);box-shadow:var(--shadow-sm);color:var(--burgundy) !important}
.marquee-item i{font-size:.92rem}

/* ── Arrow link ── */
.link-arrow{display:inline-flex;align-items:center;gap:6px;font-weight:700;font-size:.92rem;color:var(--primary);transition:gap var(--dur-f) var(--ease)}
.link-arrow:hover{gap:10px;color:var(--burgundy)}

/* ── Divider ── */
.divider{border:none;border-top:1px solid var(--border);margin:32px 0}

/* ── FAQ accordion ── */
.faq-list{display:flex;flex-direction:column;gap:12px;max-width:900px;margin-inline:auto}
.faq-item{background:#fff;border:1.5px solid var(--border);border-radius:var(--r-md);overflow:hidden;transition:border-color var(--dur-f) var(--ease)}
.faq-item.open{border-color:var(--primary);box-shadow:var(--shadow-sm)}
.faq-q{padding:18px 22px;display:flex;justify-content:space-between;align-items:center;cursor:pointer;font-family:var(--font-head);font-size:1.02rem;font-weight:700;color:var(--text-head);gap:12px}
.faq-icon{color:var(--primary);font-size:.8rem;flex-shrink:0;transition:transform var(--dur-f) var(--ease)}
.faq-item.open .faq-icon{transform:rotate(180deg)}
.faq-a{padding:0 22px 18px;font-size:.96rem;color:var(--text-body);line-height:1.7;display:none}
.faq-item.open .faq-a{display:block}

/* ── Form controls ── */
.form-group{margin-bottom:16px}
.form-label{display:block;font-size:.84rem;font-weight:700;color:var(--text-body);margin-bottom:5px;font-family:var(--font-head)}
.form-control{width:100%;padding:10px 14px;background:#fff;border:1.5px solid var(--border-strong);border-radius:var(--r-md);color:var(--text-head);font-family:var(--font-body);font-size:.96rem;transition:border-color var(--dur-f)}
.form-control:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px rgba(0,87,217,.14)}
textarea.form-control{resize:vertical;min-height:110px}
select.form-control{cursor:pointer}

/* ── Floating WhatsApp ── */
.wa-float{position:fixed;bottom:26px;right:26px;width:56px;height:56px;background:#25d366;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-size:1.85rem;z-index:9999;box-shadow:0 10px 28px rgba(37,211,102,.4);transition:all var(--dur-b) var(--ease);text-decoration:none}
.wa-float:hover{transform:scale(1.12);color:#fff;box-shadow:0 16px 40px rgba(37,211,102,.6)}
