/* Brand palette (same as the original academy site) */
:root {
	--navy: #102a43;
	--blue: #1769e0;
	--blue-dark: #1054b6;
	--cyan: #19b8c5;
	--mint: #8ff3d2;
	--soft: #f4f8fc;
	--ink: #19324d;
	--muted: #52677d;
	--line: #e2ebf3;
}
* { box-sizing: border-box; }
body { color: var(--ink); font-family: 'DM Sans', sans-serif; background: #fff; }
html { scroll-behavior: smooth; }
::selection { color: #fff; background: var(--blue); }
:focus-visible { outline: 3px solid rgba(25,184,197,.65); outline-offset: 3px; }
h1, h2, h3, h4, h5, h6, .navbar-brand, .footer-brand { font-family: 'Plus Jakarta Sans', sans-serif; }
h1 { font-weight: 800; letter-spacing: -.04em; }
a { color: var(--blue); }
a:hover { color: var(--blue-dark); }

/* Navbar */
.navbar { min-height: 76px; }
.navbar-brand { color: var(--navy); font-size: 1rem; font-weight: 700; }
.brand-mark { display: inline-flex; align-items: center; justify-content: center; width: 36px; height: 36px; color: #fff; background: linear-gradient(135deg, var(--blue), var(--cyan)); border-radius: 11px; }
.nav-link { color: var(--muted); font-size: .88rem; font-weight: 600; }
.nav-link:hover, .nav-link.active { color: var(--blue); }
.dropdown-menu { border: 1px solid var(--line); border-radius: 12px; box-shadow: 0 14px 34px rgba(23,65,107,.12); }
.dropdown-item { font-size: .88rem; padding: .45rem 1rem; }
.dropdown-item:active { background: var(--blue); }
@media (min-width: 992px) { .navbar .dropdown:hover > .dropdown-menu { display: block; } }

/* Buttons */
.btn { border-radius: 9px; font-weight: 700; }
.btn-primary { background: var(--blue); border-color: var(--blue); }
.btn-primary:hover, .btn-primary:focus { background: var(--blue-dark); border-color: var(--blue-dark); }
.btn-outline-primary { color: var(--blue); border-color: var(--blue); }
.btn-outline-primary:hover { background: var(--blue); border-color: var(--blue); }
.btn-light-cta { color: var(--blue-dark); background: #fff; border-color: #fff; }
.btn-light-cta:hover { color: var(--navy); background: var(--mint); border-color: var(--mint); }

/* Hero */
.hero { position: relative; overflow: hidden; padding: 100px 0 90px; background: linear-gradient(120deg, #eef7ff 0%, #fff 58%, #effcfc 100%); }
.hero:after { content: ''; position: absolute; width: 390px; height: 390px; border-radius: 50%; background: rgba(25,184,197,.1); right: -130px; top: -150px; }
.hero > .container { position: relative; z-index: 1; }
.eyebrow { color: var(--blue); font-size: .78rem; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
.hero h1 { max-width: 680px; font-size: clamp(2.4rem, 5.2vw, 4.2rem); line-height: 1.08; }
.hero h1 span { color: var(--blue); }
.hero p.lead { max-width: 560px; color: #5a7188; font-size: 1.12rem; }
.hero-card { border: 1px solid var(--line); border-radius: 20px; background: #fff; box-shadow: 0 20px 45px rgba(16,42,67,.1); }
.check-list { list-style: none; padding: 0; margin: 0; }
.check-list li { position: relative; padding: .35rem 0 .35rem 1.9rem; color: var(--ink); }
.check-list li:before { content: '\F26A'; font-family: 'bootstrap-icons'; position: absolute; left: 0; top: .32rem; color: var(--cyan); }

/* Sections */
.section-space { padding: 84px 0; }
.section-soft { background: var(--soft); }
.section-title { font-size: clamp(1.8rem, 3vw, 2.6rem); color: var(--navy); }
.section-copy { color: #678096; max-width: 640px; }
.stats-strip { color: #fff; background: var(--navy); }
.stats-strip strong { display: block; color: #fff; font: 700 1rem 'Plus Jakarta Sans'; }
.stats-strip span { color: #a9c0d5; font-size: .88rem; }
.stats-strip i { color: var(--mint); font-size: 1.6rem; }

/* Cards */
.feature-card, .service-card, .info-card, .price-card, .quote-card, .blog-card {
	border: 1px solid #e5edf5; border-radius: 16px; background: #fff; box-shadow: 0 10px 30px rgba(23,65,107,.05); transition: transform .2s, box-shadow .2s;
}
.service-card:hover, .feature-card:hover, .blog-card:hover, .price-card:hover { transform: translateY(-5px); box-shadow: 0 18px 36px rgba(23,65,107,.12); }
.service-card img, .blog-card img { width: 100%; height: 190px; object-fit: cover; border-radius: 16px 16px 0 0; }
.service-card .card-body, .blog-card .card-body { padding: 1.25rem; }
.placeholder-image { display: flex; align-items: center; justify-content: center; height: 190px; color: #fff; font-size: 3rem; background: linear-gradient(135deg, var(--blue), var(--cyan)); border-radius: 16px 16px 0 0; }
.icon-box { display: inline-flex; align-items: center; justify-content: center; width: 52px; height: 52px; color: var(--blue); background: #eaf3ff; border-radius: 13px; font-size: 1.4rem; }
.badge-soft { color: var(--blue); background: #e9f2ff; font-weight: 700; }
.meta { display: block; color: #71869a; font-size: .8rem; font-weight: 600; text-transform: uppercase; letter-spacing: .06em; }
.step-no { display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; color: #fff; font: 800 1.05rem 'Plus Jakarta Sans'; background: linear-gradient(135deg, var(--blue), var(--cyan)); border-radius: 50%; }

/* Chips (areas, industries, related links) */
.chip-list { display: flex; flex-wrap: wrap; gap: .6rem; }
.chip { display: inline-block; padding: .45rem .95rem; color: var(--blue-dark); font-size: .9rem; font-weight: 600; text-decoration: none; background: #eaf3ff; border: 1px solid #d5e5fb; border-radius: 999px; }
.chip:hover { color: #fff; background: var(--blue); border-color: var(--blue); }

/* Pricing */
.price-card { padding: 1.75rem; position: relative; }
.price-card.popular { border: 2px solid var(--blue); }
.price-card .popular-tag { position: absolute; top: -13px; left: 1.5rem; padding: .2rem .8rem; color: #fff; font-size: .72rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; background: var(--blue); border-radius: 999px; }
.price { color: var(--navy); font: 800 2rem 'Plus Jakarta Sans'; }

/* Testimonials */
.quote-card { padding: 1.5rem; }
.quote-card p { color: #526b80; line-height: 1.7; }
.avatar-mark { display: inline-flex; align-items: center; justify-content: center; width: 42px; height: 42px; color: #fff; font-weight: 700; background: linear-gradient(135deg, var(--blue), var(--cyan)); border-radius: 50%; object-fit: cover; }
.stars { color: #f5a623; letter-spacing: 2px; }

/* CTA + page hero */
.cta { color: #fff; border-radius: 22px; background: linear-gradient(115deg, var(--blue), #0c9fac); }
.cta p { color: #d7f4f4; }
.page-hero { position: relative; overflow: hidden; padding: 74px 0; color: #fff; background: linear-gradient(120deg, #071c38, var(--navy) 48%, var(--blue)); }
.page-hero:after { content: ''; position: absolute; width: 340px; height: 340px; border: 1px solid rgba(143,243,210,.2); border-radius: 50%; right: -90px; top: -130px; box-shadow: 0 0 0 45px rgba(143,243,210,.04), 0 0 0 90px rgba(143,243,210,.025); }
.page-hero p { color: #c8dcf1; }
.breadcrumb-light { --bs-breadcrumb-divider-color: #8fb0d0; --bs-breadcrumb-item-active-color: #c8dcf1; font-size: .85rem; }
.breadcrumb-light a { color: var(--mint); text-decoration: none; }

/* Long text */
.prose { font-size: 1.05rem; line-height: 1.85; color: #2d455c; }
.prose p { margin-bottom: 1.2rem; }

/* FAQ */
.accordion-button:not(.collapsed) { color: var(--blue-dark); background: #eaf3ff; box-shadow: none; }
.accordion-item { border-color: var(--line); }

/* Forms */
.form-control, .form-select { border-radius: 10px; border-color: #d5e2ee; padding: .65rem .9rem; }
.form-control:focus, .form-select:focus { border-color: var(--blue); box-shadow: 0 0 0 .2rem rgba(23,105,224,.15); }
.hp-field { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.map-frame { width: 100%; height: 320px; border: 0; border-radius: 16px; }

/* Footer */
.site-footer { color: #d2e0ec; background: var(--navy); }
.site-footer h6 { color: #fff; margin-bottom: 1.1rem; }
.site-footer a, .site-footer p { display: block; color: #a8bfd2; text-decoration: none; font-size: .9rem; margin-bottom: .6rem; }
.site-footer a:hover { color: #fff; }
.footer-brand { display: inline-flex !important; align-items: center; gap: .5rem; color: #fff !important; font-size: 1.05rem !important; font-weight: 700; }
.social-links { display: flex; gap: .65rem; }
.social-links a { display: inline-flex; align-items: center; justify-content: center; width: 36px; height: 36px; margin: 0; color: #fff; border: 1px solid #45627b; border-radius: 50%; }
.social-links a:hover { background: var(--blue); border-color: var(--blue); }
.footer-bottom { display: flex; justify-content: space-between; flex-wrap: wrap; gap: 1rem; border-top: 1px solid #29455f; color: #8fa9bd; font-size: .8rem; }
.footer-bottom a { color: #a8bfd2; font-size: .8rem; margin: 0; }

/* Floating call / WhatsApp buttons */
.float-actions { position: fixed; right: 16px; bottom: 16px; z-index: 1030; display: flex; flex-direction: column; gap: .6rem; }
.float-btn { display: inline-flex; align-items: center; justify-content: center; width: 52px; height: 52px; color: #fff; font-size: 1.5rem; text-decoration: none; border-radius: 50%; box-shadow: 0 8px 22px rgba(16,42,67,.28); }
.float-btn:hover { color: #fff; transform: scale(1.06); }
.float-wa { background: #25d366; }
.float-call { background: var(--blue); }

@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } *, *::before, *::after { animation-duration: .01ms !important; transition-duration: .01ms !important; } }
@media (max-width: 991px) { .navbar-nav { padding: 1rem 0; } .hero { padding: 70px 0; } .navbar-collapse { max-height: calc(100vh - 76px); overflow-y: auto; } }
@media (max-width: 575px) { .section-space { padding: 58px 0; } .hero h1 { font-size: 2.3rem; } .hero p.lead { font-size: 1rem; } .footer-bottom { display: block; } .service-card img, .blog-card img, .placeholder-image { height: 165px; } }
