/* iDesign4Solutions homepage (static-first). Builds on pages.css (body.sub). */
.home .hm-hero{padding:64px 0 48px;text-align:left}
.hm-hero-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:48px;align-items:center}
.hm-hero-copy h1{text-align:left;margin-top:14px}
.hm-hero-copy h1 span{display:block;background:linear-gradient(180deg,#F4F7FA 0%,#DFE2E6 46%,#B9BFC7 100%);-webkit-background-clip:text;background-clip:text;color:transparent}
.hm-hero-copy .lede{margin:22px 0 0;max-width:620px;font-size:clamp(16px,1.5vw,19px);color:var(--soft)}
.hm-for{margin:14px 0 0;max-width:620px;font-size:14px;color:var(--mute);line-height:1.6}
.hm-hero-copy .acts{justify-content:flex-start;margin-top:28px}
.hm-xp{display:inline-flex;align-items:center;gap:10px;margin-top:22px;color:var(--soft);text-decoration:none;font-size:13.5px;border-bottom:1px solid transparent;transition:color .25s,border-color .25s}
.hm-xp svg{width:26px;height:26px;padding:6px;border-radius:50%;border:1px solid rgba(20,125,255,.5);fill:var(--blue);box-sizing:border-box;flex:none}
.hm-xp small{color:var(--mute);font-size:12px}
.hm-xp:hover{color:var(--paper);border-bottom-color:rgba(244,247,250,.3)}
.hm-hero-art{position:relative;display:grid;place-items:center;min-height:300px}
.hm-hero-art::before{content:"";position:absolute;width:62%;aspect-ratio:1;border-radius:50%;background:radial-gradient(closest-side,rgba(20,125,255,.28),transparent 70%);filter:blur(30px)}
.hm-hero-art img{position:relative;width:min(100%,460px);height:auto;filter:drop-shadow(0 30px 60px rgba(0,0,0,.6))}
@media (prefers-reduced-motion:no-preference){
  .hm-hero-art img{animation:hm-float 9s ease-in-out infinite alternate}
  @keyframes hm-float{from{transform:translateY(-6px)}to{transform:translateY(8px)}}
}

.hm-strip{padding:26px 0;border-top:1px solid rgba(30,38,50,.7);border-bottom:1px solid rgba(30,38,50,.7)}
.hm-strip ul{list-style:none;display:grid;grid-template-columns:repeat(3,1fr);gap:18px;text-align:left}
.hm-strip li{display:grid;gap:4px;padding:0 18px;border-left:1px solid rgba(20,125,255,.35)}
.hm-strip b{font-weight:500;font-size:14px;color:var(--paper)}
.hm-strip span{font-size:13px;color:var(--mute);line-height:1.5}

.hm-sub{max-width:720px;margin:14px auto 0;color:var(--soft);font-size:16px;line-height:1.6}
.hm-sub b{font-weight:500;color:var(--paper)}

.hm-three{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:34px;text-align:left}
.hm-three article{display:flex;flex-direction:column;gap:10px;padding:26px 24px;border-radius:20px;border:1px solid var(--line);background:rgba(13,18,26,.8)}
.hm-three h3{font-weight:400;font-size:21px;letter-spacing:-.02em;line-height:1.2}
.hm-three p{color:var(--soft);font-size:14.5px;line-height:1.6;flex:1}
.hm-three a{color:var(--glow);text-decoration:none;font-size:13.5px}
.hm-three a:hover{color:var(--paper)}

.hm-practice{list-style:none;display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:34px;text-align:left}
.hm-practice a{display:grid;gap:8px;height:100%;padding:22px 20px;border-radius:18px;border:1px solid var(--line);background:rgba(13,18,26,.65);text-decoration:none;color:inherit;transition:border-color .3s,transform .3s var(--ease)}
.hm-practice a:hover{border-color:rgba(20,125,255,.55);transform:translateY(-2px)}
.hm-practice b{font-weight:500;font-size:15.5px;letter-spacing:-.01em}
.hm-practice span{font-size:13.5px;color:var(--mute);line-height:1.55}

.hm-4d{list-style:none;display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:38px;text-align:left;counter-reset:d}
.hm-4d li{position:relative;display:grid;gap:10px;padding:24px 22px 22px;border-radius:20px;border:1px solid var(--line);background:linear-gradient(180deg,rgba(20,125,255,.07),rgba(13,18,26,.7) 55%)}
.hm-4d-mark{display:flex;align-items:center;gap:12px}
.hm-4d-mark img{width:44px;height:44px}
.hm-4d-mark i{font:500 11px Inter,sans-serif;letter-spacing:.24em;color:var(--blue);font-style:normal}
.hm-4d h3{font-weight:500;font-size:22px;letter-spacing:-.02em}
.hm-4d p{color:var(--soft);font-size:14.5px;line-height:1.6}
.hm-4d small{display:block;padding-top:12px;border-top:1px solid rgba(244,247,250,.08);font-size:13px;color:var(--mute);line-height:1.55}
.hm-4d small b{color:var(--paper);font-weight:500}

.hm-tools{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin-top:34px;text-align:left}
.hm-tool{display:grid;gap:10px;padding:26px 24px;border-radius:20px;border:1px solid var(--line);background:rgba(13,18,26,.8);text-decoration:none;color:inherit;transition:border-color .3s,transform .3s var(--ease)}
.hm-tool:hover{border-color:rgba(20,125,255,.55);transform:translateY(-2px)}
.hm-tool h3{font-weight:400;font-size:22px;letter-spacing:-.02em}
.hm-tool p{color:var(--soft);font-size:14.5px;line-height:1.6}
.hm-go{color:var(--glow);font-size:13.5px}

.hm-asx{text-align:left}
.hm-asx .asx{margin:0 auto}

.hm-why{list-style:none;display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:34px;text-align:left;counter-reset:w}
.hm-why li{display:grid;gap:8px;padding:22px 20px;border-radius:18px;border:1px solid var(--line);background:rgba(13,18,26,.65);counter-increment:w}
.hm-why li::before{content:"0" counter(w);font:500 11px Inter,sans-serif;letter-spacing:.24em;color:var(--blue)}
.hm-why b{font-weight:500;font-size:16px}
.hm-why span{font-size:13.5px;color:var(--mute);line-height:1.55}
.hm-stack{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:10px 22px;margin:30px auto 0;padding:18px 22px;border-radius:999px;border:1px solid rgba(244,247,250,.08);max-width:980px}
.hm-stack ul{list-style:none;display:flex;flex-wrap:wrap;gap:6px 22px;font-size:13px;color:var(--soft)}
.hm-stack a{color:var(--glow);text-decoration:none;font-size:13px}

.hm-steps{list-style:none;display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:34px;text-align:left;counter-reset:s}
.hm-steps li{display:grid;gap:8px;padding:22px 20px;border-radius:18px;border:1px solid var(--line);background:rgba(13,18,26,.65);counter-increment:s}
.hm-steps li::before{content:"Step " counter(s);font:500 11px Inter,sans-serif;letter-spacing:.24em;color:var(--blue);text-transform:uppercase}
.hm-steps b{font-weight:500;font-size:17px}
.hm-steps span{font-size:14px;color:var(--soft);line-height:1.6}
.hm-note{max-width:760px;margin:26px auto 0;font-size:13.5px;color:var(--mute);line-height:1.6}

.hm-contact{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.3fr);gap:48px;align-items:start;text-align:left}
.hm-contact-copy h2{font-weight:300;font-size:clamp(30px,3.6vw,44px);letter-spacing:-.04em;line-height:1.05;margin-top:12px}
.hm-contact-copy p{margin-top:16px;color:var(--soft);font-size:15.5px;line-height:1.6}
.hm-direct a{color:var(--paper);text-decoration:none}
.hm-contact-form{padding:28px;border-radius:24px;border:1px solid var(--line);background:rgba(10,13,19,.75)}

@media (max-width:1000px){
  .hm-practice,.hm-4d,.hm-why{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:820px){
  .hm-hero-grid{grid-template-columns:1fr}
  .hm-hero-art{order:-1;min-height:0}
  .hm-hero-art img{width:min(60%,300px)}
  .hm-strip ul,.hm-three,.hm-tools,.hm-steps,.hm-contact{grid-template-columns:1fr}
}
@media (max-width:600px){
  .home .hm-hero{padding:34px 0 40px}
  .hm-practice,.hm-4d,.hm-why{grid-template-columns:1fr}
  .hm-hero-copy .acts{flex-direction:column;align-items:stretch}
  .hm-hero-copy .acts .btn{justify-content:center}
}
