:root{
    --navy:#0a2d63;
    --navy-2:#103b7a;
    --cyan:#1cbfd3;
    --teal:#25c3a6;
    --bg:#f4f8fc;
    --card:#ffffff;
    --text:#19304e;
    --muted:#5f6f86;
    --border:rgba(10,45,99,.10);
    --shadow:0 14px 40px rgba(10,45,99,.12);
    --radius:20px;
}
*{box-sizing:border-box}
body{
    font-family:'Kanit',sans-serif;
    color:var(--text);
    background:var(--bg);
    line-height:1.7;
}
a{text-decoration:none}
.site-header .navbar{
    background:linear-gradient(90deg,var(--navy),var(--navy-2));
    padding:.95rem 0;
}
.navbar-brand{display:flex;align-items:center;gap:10px;font-size:1.25rem}
.brand-badge{
    width:38px;height:38px;border-radius:12px;
    display:inline-flex;align-items:center;justify-content:center;
    background:linear-gradient(135deg,var(--teal),var(--cyan));
    color:#fff;font-weight:700;
}
.navbar-dark .navbar-nav .nav-link{color:rgba(255,255,255,.9);font-weight:400}
.navbar-dark .navbar-nav .nav-link:hover{color:#fff}
.btn-cyan, .btn-outline-cyan:hover{
    background:linear-gradient(135deg,var(--teal),var(--cyan));
    border:none;color:#fff;
    box-shadow:0 10px 25px rgba(28,191,211,.25);
}
.btn-cyan:hover{color:#fff;transform:translateY(-1px)}
.btn-outline-cyan{
    border:1px solid rgba(28,191,211,.45);
    color:var(--navy);
    background:#fff;
}
.hero{
    background:radial-gradient(circle at top right, rgba(37,195,166,.20), transparent 32%), linear-gradient(135deg,#0c2e67,#123f84 55%, #0d6d93);
    color:#fff;
    padding:88px 0 74px;
    overflow:hidden;
    position:relative;
}
.hero:after{
    content:'';position:absolute;right:-90px;top:-70px;width:280px;height:280px;border-radius:50%;
    background:rgba(255,255,255,.06);
}
.hero h1{font-size:clamp(2rem,4vw,3.65rem);line-height:1.18;font-weight:700;margin-bottom:18px}
.hero p{font-size:1.08rem;color:rgba(255,255,255,.88)}
.hero-card{
    background:rgba(255,255,255,.10);
    backdrop-filter:blur(10px);
    border:1px solid rgba(255,255,255,.14);
    border-radius:24px;
    padding:28px;
    box-shadow:var(--shadow);
}
.stat-chip,.mini-chip{
    display:inline-flex;align-items:center;gap:8px;
    padding:10px 14px;border-radius:999px;font-size:.95rem;font-weight:500;
}
.mini-chip{background:rgba(255,255,255,.14);color:#fff;margin:0 8px 10px 0}
.stat-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin-top:22px}
.stat-box{
    background:#fff;color:var(--navy);border-radius:18px;padding:18px 16px;text-align:center;
}
.stat-box strong{font-size:1.7rem;display:block;line-height:1.2}
.section{padding:80px 0}
.section-title{max-width:760px;margin:0 auto 42px;text-align:center}
.section-title .eyebrow{
    display:inline-block;padding:7px 14px;border-radius:999px;background:rgba(28,191,211,.10);color:#0d6786;font-weight:500;font-size:.95rem;margin-bottom:12px;
}
.section-title h2{font-size:clamp(1.7rem,3vw,2.65rem);font-weight:700;margin-bottom:10px;color:var(--navy)}
.section-title p{color:var(--muted);margin-bottom:0}
.card-soft{
    background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:28px;height:100%;box-shadow:var(--shadow);
}
.icon-wrap{
    width:62px;height:62px;border-radius:18px;display:flex;align-items:center;justify-content:center;
    background:linear-gradient(135deg, rgba(37,195,166,.16), rgba(28,191,211,.18));
    color:var(--navy);font-size:1.5rem;margin-bottom:18px;
}
.card-soft h3,.card-soft h4{font-weight:600;color:var(--navy)}
.muted{color:var(--muted)}
.highlight-band{
    background:linear-gradient(135deg,#0f2f68,#0a5a83);
    color:#fff;border-radius:32px;padding:42px;box-shadow:var(--shadow)
}
.check-list{padding-left:0;list-style:none;margin:0}
.check-list li{position:relative;padding-left:32px;margin-bottom:12px}
.check-list li:before{
    content:'\f00c';font-family:'Font Awesome 6 Free';font-weight:900;
    position:absolute;left:0;top:3px;color:var(--teal)
}
.step-card{position:relative;padding-top:52px}
.step-number{
    position:absolute;top:-18px;left:26px;background:linear-gradient(135deg,var(--teal),var(--cyan));
    color:#fff;border-radius:14px;padding:8px 14px;font-weight:700;letter-spacing:.04em
}
.pricing-card{
    background:#fff;border:1px solid var(--border);border-radius:26px;padding:30px;height:100%;box-shadow:var(--shadow);position:relative;overflow:hidden
}
.pricing-card.featured{transform:translateY(-8px);border-color:rgba(28,191,211,.35)}
.pricing-card .top-tag{
    position:absolute;right:18px;top:18px;padding:6px 12px;border-radius:999px;background:rgba(28,191,211,.10);color:#0b6987;font-size:.9rem
}
.price-text{font-size:1.9rem;font-weight:700;color:var(--navy);line-height:1.2}
.accordion-item{border:none;border-radius:18px !important;overflow:hidden;box-shadow:0 8px 22px rgba(10,45,99,.08);margin-bottom:14px}
.accordion-button{font-weight:500;color:var(--navy);padding:20px 22px}
.accordion-button:not(.collapsed){background:#fff;color:var(--navy);box-shadow:none}
.accordion-body{color:var(--muted)}
.contact-box{background:#fff;border:1px solid var(--border);border-radius:22px;padding:28px;box-shadow:var(--shadow);height:100%}
.contact-box .contact-item{display:flex;gap:14px;align-items:flex-start;margin-bottom:16px}
.contact-box .contact-item i{width:42px;height:42px;border-radius:14px;display:flex;align-items:center;justify-content:center;background:rgba(28,191,211,.10);color:var(--navy)}
.site-footer{background:linear-gradient(135deg,#0a244f,#0d386f);color:#fff;padding:52px 0 28px;margin-top:40px}
.site-footer h5,.site-footer h6{font-weight:600}
.footer-links{list-style:none;padding-left:0;margin-bottom:0}
.footer-links li{margin-bottom:10px}
.footer-links a{color:rgba(255,255,255,.8)}
.footer-links a:hover{color:#fff}
.image-placeholder{
    background:linear-gradient(135deg,rgba(37,195,166,.14),rgba(28,191,211,.16));
    border:1px dashed rgba(10,45,99,.18);
    border-radius:22px;padding:32px;text-align:center;color:var(--navy);height:100%;display:flex;flex-direction:column;justify-content:center;min-height:300px
}
.image-placeholder i{font-size:3rem;margin-bottom:16px;color:#0b6987}
.kicker{font-size:.95rem;font-weight:500;color:#0b6987;text-transform:uppercase;letter-spacing:.08em}
.cta-strip{background:#fff;border:1px solid var(--border);border-radius:30px;padding:26px 30px;box-shadow:var(--shadow)}
.hero-actions .btn{padding:13px 22px;border-radius:14px;font-weight:500}
@media (max-width:991.98px){
    .hero{padding-top:72px}
    .highlight-band{padding:28px}
}
@media (max-width:575.98px){
    .hero-card{padding:22px}
    .stat-grid{grid-template-columns:1fr}
    .section{padding:64px 0}
}
