/* CodeUdaya public site v15 — light theme
   ink #172140 · indigo #4F46E5 · marigold #F2A007 · leaf #12A150 · mist #F4F6FB · line #E3E7F0 */
:root{--hx-ink:#172140;--hx-indigo:#4f46e5;--hx-indigo-d:#3f37c9;--hx-gold:#f2a007;--hx-gold-d:#c98400;--hx-leaf:#12a150;--hx-mist:#f4f6fb;--hx-line:#e3e7f0;--hx-muted:#5b6682}
body{font-family:'Plus Jakarta Sans','DM Sans',system-ui,sans-serif;background:#fff;color:var(--hx-ink)}
h1,h2,h3,h4{font-family:'Plus Jakarta Sans',Manrope,system-ui,sans-serif}
:focus-visible{outline:3px solid #a5a1ff;outline-offset:2px}

/* shared buttons (also fixes old .btn hover on light pages) */
.btn:hover{border-color:inherit}
.btn-primary,.btn-primary:hover{color:#fff}
.btn-outline:hover{background:#f4f6fb;color:#172140}
.btn-light:hover{background:#f1f3fa;color:#101220}
.hx-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:50px;padding:0 22px;border-radius:14px;font-weight:700;font-size:15.5px;line-height:1;border:1.5px solid transparent;transition:background .15s,border-color .15s,color .15s;cursor:pointer;text-align:center}
.hx-btn-primary{background:var(--hx-indigo);color:#fff;box-shadow:0 10px 24px rgba(79,70,229,.24)}
.hx-btn-primary:hover{background:var(--hx-indigo-d);color:#fff}
.hx-btn-taxi{background:var(--hx-gold);color:#1d1600;box-shadow:0 10px 24px rgba(242,160,7,.25)}
.hx-btn-taxi:hover{background:#e09400;color:#1d1600}
.hx-btn-ghost{background:#fff;color:var(--hx-ink);border-color:#cfd6e4}
.hx-btn-ghost:hover{background:var(--hx-mist);border-color:#b9c2d6;color:var(--hx-ink)}
.hx-btn-light{background:#fff;color:var(--hx-indigo)}
.hx-btn-light:hover{background:#eef0ff;color:var(--hx-indigo-d)}
.hx-btn-line{background:transparent;color:#fff;border-color:rgba(255,255,255,.55)}
.hx-btn-line:hover{background:rgba(255,255,255,.12);color:#fff}

/* layout */
.hx{overflow:hidden}
.hx-section{padding:84px 0}
.hx-soft{background:var(--hx-mist)}
.hx-head{max-width:720px;margin:0 0 40px}
.hx-head h2,.hx-dash-copy h2,.hx-taxi-grid h2,.hx-school h2{font-size:clamp(28px,3.6vw,42px);font-weight:800;letter-spacing:-.8px;line-height:1.12;margin:0 0 14px;color:var(--hx-ink)}
.hx-head p,.hx-dash-copy>p,.hx-taxi-grid p,.hx-school p{font-size:17px;line-height:1.65;color:var(--hx-muted);margin:0;max-width:62ch}
.hx-center{text-align:center;margin-top:32px}

/* hero */
.hx-hero{padding:132px 0 72px;background:linear-gradient(180deg,#fbfcff 0%,#f2f5fb 100%);border-bottom:1px solid var(--hx-line)}
.hx-hero-grid{display:grid;grid-template-columns:minmax(0,1.02fr) minmax(0,1fr);gap:56px;align-items:center}
.hx-kicker{display:inline-flex;align-items:center;gap:10px;margin:0 0 20px;padding:7px 14px 7px 12px;border-radius:40px;background:#fff;border:1px solid var(--hx-line);font-size:14px;font-weight:600;color:#3c4763}
.hx-dot{width:9px;height:9px;border-radius:50%;background:var(--hx-leaf);box-shadow:0 0 0 4px rgba(18,161,80,.16)}
.hx-hero h1{font-size:clamp(36px,5.2vw,62px);line-height:1.04;letter-spacing:-1.8px;font-weight:800;margin:0 0 20px;color:var(--hx-ink);max-width:15ch}
.hx-lead{font-size:clamp(16.5px,1.6vw,19px);line-height:1.6;color:var(--hx-muted);max-width:52ch;margin:0 0 30px}
.hx-actions{display:flex;flex-wrap:wrap;gap:12px}
.hx-proof{display:flex;flex-wrap:wrap;gap:8px 22px;list-style:none;padding:0;margin:28px 0 0;color:#46506b;font-size:14px;font-weight:600}
.hx-proof li{display:flex;align-items:center;gap:8px}
.hx-proof li:before{content:"";width:16px;height:16px;border-radius:50%;background:#e7f6ec url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4 8.5l2.5 2.5L12 5.5' fill='none' stroke='%2312a150' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/16px no-repeat}

.hx-town{position:relative;max-width:580px;justify-self:end;width:100%}
.hx-map{width:100%;height:auto;display:block;border-radius:28px;box-shadow:0 30px 70px rgba(23,33,64,.14);border:1px solid var(--hx-line);background:#fff}
.hx-taxi{offset-path:path("M78 360H150V210H330V290H470");offset-rotate:0deg;animation:hxdrive 9s cubic-bezier(.45,.05,.4,.95) infinite}
@keyframes hxdrive{0%{offset-distance:0%}12%{offset-distance:0%}82%{offset-distance:100%}100%{offset-distance:100%}}
.hx-card{position:absolute;background:#fff;border:1px solid var(--hx-line);border-radius:16px;box-shadow:0 18px 40px rgba(23,33,64,.14);padding:12px 14px;font-size:13px;line-height:1.35}
.hx-card b{display:block;font-size:13.5px;color:var(--hx-ink)}
.hx-card small{display:block;color:#6b7590;font-size:12px;margin-top:2px}
.hx-card-ride{left:-26px;bottom:34px;padding:14px 16px;border-left:4px solid var(--hx-gold)}
.hx-fare{display:block;margin-top:6px;font-size:15px;color:#3c4763}
.hx-fare em{font-style:normal;font-weight:700;color:var(--hx-ink)}
.hx-fare strong{font-size:20px;color:var(--hx-gold-d)}
.hx-card-order{top:22px;right:-18px;display:flex;gap:10px;align-items:center}
.hx-card-del{bottom:-20px;right:22px;display:flex;gap:10px;align-items:center}
.hx-ic{display:grid;place-items:center;width:34px;height:34px;border-radius:10px}
.hx-ic svg,.hx-role-ic svg,.hx-app-ic svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.hx-ic-g{background:#e7f6ec;color:var(--hx-leaf)}
.hx-pulse{width:12px;height:12px;border-radius:50%;background:var(--hx-indigo);box-shadow:0 0 0 0 rgba(79,70,229,.5);animation:hxpulse 2s infinite}
@keyframes hxpulse{70%{box-shadow:0 0 0 10px rgba(79,70,229,0)}100%{box-shadow:0 0 0 0 rgba(79,70,229,0)}}

/* role doors */
.hx-roles{margin-top:-1px;padding:0 0 10px;background:linear-gradient(180deg,#f2f5fb 0 50%,#fff 50%)}
.hx-role-grid{display:grid;grid-template-columns:repeat(4,1fr);background:#fff;border:1px solid var(--hx-line);border-radius:22px;box-shadow:0 20px 50px rgba(23,33,64,.08);overflow:hidden;transform:translateY(-34px)}
.hx-role{position:relative;display:flex;flex-direction:column;gap:6px;padding:26px 24px 24px;color:var(--hx-ink);border-right:1px solid var(--hx-line);transition:background .15s}
.hx-role:last-child{border-right:0}
.hx-role:hover{background:#fafbfe;color:var(--hx-ink)}
.hx-role b{font-size:18px;font-weight:800;margin-top:8px}
.hx-role small{color:var(--hx-muted);font-size:14px;line-height:1.5;flex:1}
.hx-role em{font-style:normal;font-weight:700;font-size:14.5px;margin-top:10px;color:var(--rc)}
.hx-role:hover em{text-decoration:underline;text-underline-offset:4px}
.hx-role-ic{display:grid;place-items:center;width:44px;height:44px;border-radius:13px;background:var(--rb);color:var(--rc)}
.hx-role-owner{--rc:#0f7a3c;--rb:#e7f6ec}
.hx-role-taxi{--rc:#a86e00;--rb:#fff3d6}
.hx-role-cust{--rc:#4f46e5;--rb:#eef0ff}
.hx-role-del{--rc:#0b7285;--rb:#e3f6f8}

.hx-live{padding:0 0 10px}
.hx-live-row{display:flex;flex-wrap:wrap;justify-content:center;gap:12px 56px;color:var(--hx-muted)}
.hx-live-row strong{font-size:28px;font-weight:800;color:var(--hx-ink);margin-right:8px}
.hx-live-row span{font-size:15px}

/* apps */
.hx-apps{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.hx-app{display:flex;flex-direction:column;background:#fff;border:1px solid var(--hx-line);border-radius:20px;padding:26px 24px;border-top:4px solid var(--c);transition:box-shadow .2s,border-color .2s}
.hx-app:hover{box-shadow:0 18px 44px rgba(23,33,64,.10)}
.hx-app-ic{display:grid;place-items:center;width:46px;height:46px;border-radius:14px;color:var(--c);background:color-mix(in srgb,var(--c) 12%,#fff);margin-bottom:16px}
.hx-app h3{font-size:19px;font-weight:800;margin:0 0 8px;color:var(--hx-ink)}
.hx-app p{color:var(--hx-muted);font-size:14.5px;line-height:1.55;margin:0 0 20px;flex:1}
.hx-app-cta{align-self:flex-start;display:inline-flex;align-items:center;min-height:42px;padding:0 16px;border-radius:11px;font-weight:700;font-size:14.5px;color:var(--c);background:color-mix(in srgb,var(--c) 10%,#fff);border:1.5px solid color-mix(in srgb,var(--c) 30%,#fff);transition:background .15s,color .15s}
.hx-app-cta:hover{background:var(--c);color:#fff;border-color:var(--c)}

/* dashboard */
.hx-dash-wrap{background:var(--hx-mist);border-top:1px solid var(--hx-line);border-bottom:1px solid var(--hx-line)}
.hx-dash-grid{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:56px;align-items:center}
.hx-ticks{list-style:none;padding:0;margin:26px 0 0;display:grid;gap:12px}
.hx-ticks li{display:flex;gap:12px;align-items:flex-start;font-weight:600;color:#2b3550}
.hx-ticks li:before{content:"";flex:0 0 22px;height:22px;border-radius:7px;background:#eef0ff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4 8.5l2.5 2.5L12 5.5' fill='none' stroke='%234f46e5' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/16px no-repeat}
.hx-dash{margin:0;background:#fff;border:1px solid var(--hx-line);border-radius:24px;padding:22px;box-shadow:0 28px 60px rgba(23,33,64,.12)}
.hx-dash figcaption{font-size:13px;font-weight:700;color:#6b7590;margin-bottom:14px}
.hx-kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.hx-kpis div{background:var(--hx-mist);border-radius:14px;padding:14px}
.hx-kpis small{display:block;font-size:12px;color:#6b7590;font-weight:600}
.hx-kpis strong{display:block;font-size:24px;font-weight:800;margin:4px 0 2px;color:var(--hx-ink)}
.hx-kpis em{font-style:normal;font-size:12px;color:#6b7590}
.hx-kpis em.up{color:var(--hx-leaf);font-weight:700}
.hx-charts{display:grid;grid-template-columns:1.6fr 1fr;gap:12px;margin-top:12px}
.hx-chart{border:1px solid var(--hx-line);border-radius:14px;padding:14px}
.hx-chart b,.hx-top b{display:block;font-size:13px;margin-bottom:8px;color:var(--hx-ink)}
.hx-chart svg{width:100%;height:auto;display:block}
.hx-bar{transform-box:fill-box;transform-origin:bottom;animation:hxgrow .9s cubic-bezier(.2,.8,.2,1) both;animation-delay:calc(var(--i)*70ms)}
@keyframes hxgrow{from{transform:scaleY(0)}to{transform:scaleY(1)}}
.hx-donut{display:flex;flex-direction:column;align-items:center}
.hx-donut b{align-self:flex-start}
.hx-donut svg{max-width:130px}
.hx-legend{list-style:none;padding:0;margin:8px 0 0;font-size:12px;color:#46506b;display:grid;gap:4px}
.hx-legend i{display:inline-block;width:10px;height:10px;border-radius:3px;margin-right:6px;vertical-align:-1px}
.hx-top{margin-top:12px;border:1px solid var(--hx-line);border-radius:14px;padding:14px}
.hx-top-row{display:grid;grid-template-columns:1.3fr 1fr 34px;gap:12px;align-items:center;font-size:13px;padding:5px 0;color:#2b3550}
.hx-meter{height:8px;border-radius:8px;background:#eef1f7;overflow:hidden}
.hx-meter i{display:block;height:100%;background:var(--hx-leaf);border-radius:8px}
.hx-top-row em{font-style:normal;font-weight:700;text-align:right}

/* taxi */
.hx-taxi-sec{background:#fffaf0;border-bottom:1px solid #f4e6c4}
.hx-taxi-grid{display:grid;grid-template-columns:1fr minmax(0,440px);gap:56px;align-items:center}
.hx-taxi-grid>div>.hx-btn{margin-top:26px}
.hx-calc{background:#fff;border:1px solid #f0dfb8;border-radius:22px;padding:24px;box-shadow:0 24px 50px rgba(150,100,0,.10);display:grid;gap:16px}
.hx-calc>b{font-size:16px}
.hx-calc label{display:grid;gap:8px;font-size:14px;font-weight:600;color:#46506b}
.hx-calc label span{float:right;color:var(--hx-ink);font-weight:800}
.hx-calc label{grid-template-columns:1fr auto}
.hx-calc input[type=range]{grid-column:1/-1;width:100%;accent-color:var(--hx-gold);height:24px}
.hx-calc-out{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;background:#fff6dc;border-radius:16px;padding:16px 18px}
.hx-calc-out strong{font-size:34px;font-weight:800;color:#8a5a00;letter-spacing:-.5px}
.hx-calc-out small{color:#7a6230;font-size:13px;font-weight:600}

/* steps (a real sequence) */
.hx-steps{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(3,1fr);gap:0;counter-reset:none;border:1px solid var(--hx-line);border-radius:22px;overflow:hidden}
.hx-steps li{padding:28px 26px;border-right:1px solid var(--hx-line);background:#fff}
.hx-steps li:last-child{border-right:0}
.hx-steps span{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:var(--hx-ink);color:#fff;font-weight:800;margin-bottom:16px}
.hx-steps li:nth-child(2) span{background:var(--hx-indigo)}
.hx-steps li:nth-child(3) span{background:var(--hx-leaf)}
.hx-steps h3{font-size:18px;font-weight:800;margin:0 0 8px}
.hx-steps p{color:var(--hx-muted);font-size:14.5px;line-height:1.55;margin:0}

/* pricing */
.hx-prices{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.hx-price{background:#fff;border:1px solid var(--hx-line);border-radius:20px;padding:26px}
.hx-price h3{font-size:15px;font-weight:700;color:#6b7590;margin:0}
.hx-amt{font-size:26px;font-weight:800;color:var(--hx-ink);margin:8px 0 10px}
.hx-amt small{font-size:14px;color:#6b7590;font-weight:600}
.hx-price p:last-child{color:var(--hx-muted);font-size:14.5px;line-height:1.55;margin:0}
.hx-price-main{border:2px solid var(--hx-indigo);box-shadow:0 18px 40px rgba(79,70,229,.14)}

/* school, quote, final */
.hx-school{display:flex;gap:32px;align-items:center;justify-content:space-between;flex-wrap:wrap;border:1px solid var(--hx-line);border-radius:24px;padding:36px;background:linear-gradient(120deg,#fff 40%,#f2f1ff)}
.hx-school>div:first-child{flex:1;min-width:280px}
.hx-school-cta{display:flex;gap:12px;flex-wrap:wrap}
.hx-quote-sec{padding:64px 0}
.hx-quote{max-width:760px}
.hx-quote blockquote{margin:0 0 14px;font-size:clamp(20px,2.6vw,27px);line-height:1.45;font-weight:600;color:var(--hx-ink)}
.hx-quote blockquote:before{content:"“";color:var(--hx-indigo)}
.hx-quote blockquote:after{content:"”";color:var(--hx-indigo)}
.hx-quote cite{font-style:normal;color:var(--hx-muted);font-weight:600}
.hx-final{background:var(--hx-indigo);color:#fff;padding:64px 0}
.hx-final-in{display:flex;align-items:center;justify-content:space-between;gap:28px;flex-wrap:wrap}
.hx-final h2{font-size:clamp(26px,3vw,36px);font-weight:800;letter-spacing:-.6px;line-height:1.15;margin:0;max-width:20ch;color:#fff}

/* footer refinements */
.site-footer .footer-cta .btn-light{background:var(--hx-indigo);color:#fff}
.site-footer .footer-cta .btn-light:hover{background:var(--hx-indigo-d);color:#fff}
.footer-grid a:hover{color:var(--hx-indigo)}

/* responsive */
@media(max-width:1100px){
  .hx-hero-grid,.hx-dash-grid,.hx-taxi-grid{grid-template-columns:1fr;gap:44px}
  .hx-town{justify-self:center}
  .hx-role-grid{grid-template-columns:repeat(2,1fr)}
  .hx-role:nth-child(2){border-right:0}
  .hx-role:nth-child(-n+2){border-bottom:1px solid var(--hx-line)}
  .hx-apps{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:720px){
  .hx-section{padding:60px 0}
  .hx-hero{padding:104px 0 60px}
  .hx-hero h1{letter-spacing:-1px}
  .hx-actions .hx-btn{width:100%}
  .hx-card-ride{left:8px;bottom:-26px}
  .hx-card-order{right:8px;top:-16px}
  .hx-card-del{display:none}
  .hx-roles{padding-top:30px}
  .hx-role-grid{grid-template-columns:1fr 1fr;transform:none}
  .hx-role{padding:18px 14px;border-bottom:1px solid var(--hx-line)}
  .hx-role:nth-child(2n){border-right:0}
  .hx-role:nth-child(n+3){border-bottom:0}
  .hx-role b{font-size:16px}
  .hx-role small{font-size:13px}
  .hx-role-ic{width:38px;height:38px}
  .hx-apps,.hx-prices{grid-template-columns:1fr}
  .hx-steps{grid-template-columns:1fr}
  .hx-steps li{border-right:0;border-bottom:1px solid var(--hx-line)}
  .hx-steps li:last-child{border-bottom:0}
  .hx-kpis{grid-template-columns:1fr 1fr 1fr;gap:8px}
  .hx-kpis div{padding:10px}
  .hx-kpis strong{font-size:18px}
  .hx-charts{grid-template-columns:1fr}
  .hx-dash{padding:16px}
  .hx-school{padding:24px}
  .hx-final-in .hx-actions{width:100%}
}
@media(prefers-reduced-motion:reduce){.hx-taxi{animation:none;offset-distance:55%}.hx-bar,.hx-pulse{animation:none}}

/* homepage has its own closing call-to-action */
.no-footer-cta .site-footer .footer-cta{display:none}
