/* AJANTA TECHCARE — TYPOGRAPHY, RESPONSIVE HERO & MOTION POLISH */
html, body { width:100%; max-width:100%; overflow-x:clip; }
body { font-family:'Manrope', Arial, sans-serif; font-size:15px; line-height:1.6; -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility; }
*, *::before, *::after { box-sizing:border-box; }
img { max-width:100%; }

/* Consistent type hierarchy */
.eyebrow, .breadcrumb, .tag, .topbar-track, .footer-col h4, .footer-badges span,
.service-feature .num, .page-hero-status, .page-hero-card small, .page-hero-card em,
.page-hero-tags { font-family:'DM Mono', monospace; }
.eyebrow { font-size:10px!important; line-height:1.4!important; letter-spacing:1.45px!important; margin-bottom:14px!important; }
.section .intro h2, .content h2 { font-weight:800; }
.section .intro > p:last-child, .content p { font-size:14px; line-height:1.75; }
.card h3, .service-feature h3, .plan h3, .step h3, .detail-card h3 { font-weight:800; }

/* Header */
.nav { min-width:0; }
.logo { flex:0 0 auto; }
.links { min-width:0; }
.links a { white-space:nowrap; }

/* Homepage trust strip: more premium without changing its structure */
.home-motion .trust-strip { position:relative; isolation:isolate; background:linear-gradient(110deg,#071a3d,#0c2852 55%,#071a3d); padding-top:28px; padding-bottom:28px; box-shadow:inset 0 1px rgba(255,255,255,.06), inset 0 -1px rgba(0,0,0,.14); }
.home-motion .trust-strip::before { content:""; position:absolute; inset:0; z-index:-1; background:linear-gradient(90deg,transparent,rgba(242,199,101,.08),transparent); transform:translateX(-100%); animation:trustSweep 6s ease-in-out infinite; }
.home-motion .trust-strip > div { position:relative; padding:0 24px; min-width:0; }
.home-motion .trust-strip > div:not(:last-child)::after { content:""; position:absolute; right:0; top:4px; width:1px; height:44px; background:linear-gradient(transparent,rgba(255,255,255,.18),transparent); }
.home-motion .trust-strip b { font-size:15px!important; line-height:1.25; letter-spacing:-.2px; }
.home-motion .trust-strip span { display:block; margin-top:6px; font-size:10.5px!important; line-height:1.5; color:#b9c8db; }
.home-motion .trust-strip > div:hover b { color:#ffe19a; }
@keyframes trustSweep { 0%,20%{transform:translateX(-100%)} 55%,100%{transform:translateX(100%)} }

/* Homepage hero: controlled headline sizing and no layout movement */
.home-motion .hero { min-height:600px; }
.home-motion .hero h1 { font-size:clamp(38px,4.65vw,66px)!important; line-height:1.04!important; letter-spacing:-2.8px!important; max-width:820px; overflow-wrap:anywhere; }
.home-motion .hero h1 em.typing-text { display:block; min-height:1.08em; max-width:100%; font-style:normal; }
.home-motion .typing-cursor { display:inline-block; vertical-align:-.03em; }
.home-motion .hero .lead { max-width:650px; font-size:15px; line-height:1.7; }
.home-motion .hero .eyebrow { font-size:9px!important; }
.home-motion .hero .buttons { margin-top:26px; }
.home-motion .hero .button { font-size:12px; padding:14px 18px; }

/* All inner-page heroes: compact, readable and wrapping-safe */
.page-hero, .page-hero-motion { width:100%; min-width:0; }
.page-hero-motion .inner { width:min(100%, 980px); max-width:980px!important; }
.page-hero-motion h1 { width:100%; max-width:900px!important; font-size:clamp(32px,4.1vw,58px)!important; line-height:1.06!important; letter-spacing:-2.2px!important; white-space:normal!important; overflow-wrap:anywhere; word-break:normal; margin-bottom:20px!important; }
.page-hero-motion h1 br { display:block!important; }
.page-hero-motion h1 em { display:block; min-height:1.08em; font-size:.92em; line-height:1.08!important; white-space:normal; }
.page-hero-motion .lead { font-size:14px!important; line-height:1.7!important; max-width:680px!important; }
.page-hero-motion .buttons { margin-top:24px!important; }
.page-hero-motion .button { font-size:12px; padding:13px 17px; }
.page-hero-motion .page-hero-tags { max-width:100%; white-space:normal; line-height:1.6; }
.page-hero-motion .page-typing-cursor { height:.78em; width:2px; margin-left:6px; }

/* Stable typing element: fixed minimum line box prevents mobile vertical jumps */
.page-typing-text { display:block; min-height:1.08em; max-width:100%; overflow-wrap:anywhere; }

/* Non-motion inner pages get the same professional compact hero treatment */
.page-hero:not(.page-hero-motion) { padding:82px max(5vw,24px) 76px; min-height:360px; display:flex; align-items:center; }
.page-hero:not(.page-hero-motion) .inner { width:min(100%,900px); }
.page-hero:not(.page-hero-motion) h1 { font-size:clamp(32px,4.3vw,58px); line-height:1.06; letter-spacing:-2.3px; max-width:850px; margin-bottom:18px; overflow-wrap:anywhere; }
.page-hero:not(.page-hero-motion) .lead { font-size:14px; line-height:1.7; max-width:650px; }
.page-hero:not(.page-hero-motion) .breadcrumb { margin-bottom:15px; font-size:9px; }

/* CTA / callout boxes: prevent clipping and keep columns balanced */
.contact-banner, .process-callout { width:100%; min-width:0; overflow:hidden; }
.contact-banner { display:grid; grid-template-columns:minmax(0,1.35fr) minmax(260px,.65fr); gap:36px; align-items:center; padding:54px max(4vw,34px); }
.contact-banner > div, .process-callout > div { min-width:0; }
.contact-banner h2, .process-callout h2 { max-width:760px; font-size:clamp(30px,3.4vw,50px)!important; line-height:1.08!important; letter-spacing:-2px!important; overflow-wrap:anywhere; }
.contact-banner p, .process-callout p { max-width:700px; }
.contact-actions { display:flex; justify-content:flex-end; align-items:center; flex-wrap:wrap; gap:10px; min-width:0; }
.contact-actions .button { white-space:nowrap; }

/* General font sizing / spacing */
.section { overflow:hidden; }
.section .intro { margin-bottom:40px; }
.section .intro h2 { font-size:clamp(30px,3.5vw,50px)!important; line-height:1.1!important; letter-spacing:-2px!important; }
.cards, .service-feature-grid, .plans, .steps, .detail-grid { min-width:0; }
.card p, .service-feature p, .plan p, .step p, .detail-card p { font-size:13px; line-height:1.7; }

/* Remove literal vertical-bar separators from document titles; use en dash instead. */

/* Mobile: no horizontal movement from animated text or oversized elements */
@media (max-width:900px) {
  .home-motion .hero { min-height:560px; }
  .home-motion .hero h1 { font-size:clamp(34px,7.4vw,52px)!important; letter-spacing:-2px!important; }
  .page-hero-motion { min-height:540px!important; padding:62px 24px 48px!important; align-items:center; }
  .page-hero-motion .inner { width:100%; padding:0!important; }
  .page-hero-motion h1 { font-size:clamp(30px,6.3vw,46px)!important; letter-spacing:-1.7px!important; }
  .page-hero-motion .lead { font-size:13.5px!important; }
  .page-hero-status { max-width:calc(100% - 40px); }
  .hero-card-one { right:5%!important; }
  .hero-card-two { right:5%!important; }
  .contact-banner { grid-template-columns:1fr; gap:25px; }
  .contact-actions { justify-content:flex-start; }
}
@media (max-width:620px) {
  .nav { height:70px; }
  .nav .logo img { width:155px!important; height:48px!important; }
  .home-motion .hero { min-height:0; padding:58px 20px 34px!important; }
  .home-motion .hero h1 { font-size:clamp(28px,8.2vw,38px)!important; line-height:1.06!important; letter-spacing:-1.25px!important; }
  .home-motion .hero h1 em.typing-text { min-height:1.12em; font-size:.84em; }
  .home-motion .hero .lead { font-size:12px; line-height:1.62; }
  .home-motion .hero .button { font-size:10.5px; padding:11px 13px; }
  .home-motion .hero-float-card { display:none; }
  .home-motion .hero-status { right:16px; top:16px; }
  .home-motion .trust-strip { grid-template-columns:1fr 1fr; padding:20px 14px; gap:0; }
  .home-motion .trust-strip > div { padding:10px 12px; }
  .home-motion .trust-strip > div:not(:last-child)::after { display:none; }
  .home-motion .trust-strip b { font-size:13px!important; }
  .home-motion .trust-strip span { font-size:9px!important; }
  .page-hero-motion { min-height:560px!important; padding:54px 20px 34px!important; }
  .page-hero-motion .breadcrumb { font-size:8px!important; margin-bottom:12px!important; }
  .page-hero-motion .eyebrow { font-size:8px!important; letter-spacing:1.05px!important; }
  .page-hero-motion h1 { font-size:clamp(25px,7.5vw,35px)!important; line-height:1.08!important; letter-spacing:-1.1px!important; }
  .page-hero-motion h1 em { font-size:.9em; min-height:1.15em; }
  .page-hero-motion .lead { font-size:11.5px!important; line-height:1.6!important; }
  .page-hero-motion .buttons { gap:8px!important; }
  .page-hero-motion .button { width:auto!important; min-width:0; padding:11px 13px!important; font-size:10px!important; }
  .page-hero-status { top:12px!important; right:12px!important; padding:6px 8px!important; font-size:6.5px!important; }
  .page-hero-card { display:none!important; }
  .page-hero-tags { margin-top:16px!important; font-size:7px!important; }
  .page-hero:not(.page-hero-motion) { min-height:320px; padding:62px 20px 54px; }
  .page-hero:not(.page-hero-motion) h1 { font-size:clamp(28px,8.2vw,38px); line-height:1.08; letter-spacing:-1.3px; }
  .page-hero:not(.page-hero-motion) .lead { font-size:12px; line-height:1.62; }
  .section { padding:62px 20px; }
  .section .intro { margin-bottom:30px; }
  .section .intro h2 { font-size:clamp(27px,7.5vw,36px)!important; letter-spacing:-1.25px!important; }
  .contact-banner, .process-callout { padding:30px 22px!important; border-radius:14px; }
  .contact-banner h2, .process-callout h2 { font-size:clamp(26px,7.2vw,34px)!important; letter-spacing:-1.2px!important; }
  .contact-actions { width:100%; }
  .contact-actions .button { flex:1 1 auto; justify-content:center; }
  .topbar-track { font-size:7px!important; letter-spacing:.8px!important; }
}
@media (prefers-reduced-motion:reduce) {
  .home-motion .trust-strip::before { animation:none; }
}


/* v7: remove all decorative vertical cursor/bar marks from hero/top sections. */
.page-typing-cursor, .typing-cursor { display:none !important; }
.page-hero-tags span { border-left:0 !important; padding-left:0 !important; }


/* Contact form submission */
.form-hp { position:absolute !important; left:-10000px !important; width:1px !important; height:1px !important; overflow:hidden !important; opacity:0 !important; pointer-events:none !important; }
#contact-form.is-sending .button { opacity:.72; pointer-events:none; }
#form-note.form-success { color:#16804b !important; }
#form-note.form-error { color:#b42318 !important; }
