/* Shudarsana blocks — frontend */
.shu-section, .shu-hero, .shu-tools, .shu-orb-block, .shu-tabs, .shu-acc, .shu-slider, .shu-cta, .shu-form { width:100%; max-width:100%; }
.shu-section__inner { width:100%; }
.shu-mesh { background-image:
	radial-gradient(at 20% 10%, rgba(44,230,247,.18) 0, transparent 50%),
	radial-gradient(at 80% 30%, rgba(167,139,250,.18) 0, transparent 50%); }
.shu-eyebrow { font-family:'JetBrains Mono',monospace; font-size:12px; text-transform:uppercase; letter-spacing:.25em; color:#2ce6f7; margin-bottom:14px; }
.shu-h1 { font-family:'Space Grotesk',sans-serif; font-size:clamp(2.5rem,6vw,5rem); line-height:1.05; font-weight:600; letter-spacing:-.02em; margin:0 0 1rem; }
.shu-h2 { font-family:'Space Grotesk',sans-serif; font-size:clamp(2rem,4.5vw,3.5rem); line-height:1.08; font-weight:600; margin:0 0 1rem; }
.shu-lede { font-size:1.125rem; color:#cbd5e1; max-width:55ch; margin:0 0 2rem; line-height:1.6; }
.shu-btn { display:inline-flex; align-items:center; gap:.5rem; padding:.7rem 1.25rem; border-radius:999px; font-weight:500; font-size:.95rem; cursor:pointer; border:1px solid transparent; text-decoration:none; transition:all .25s; }
.shu-btn--primary { background:linear-gradient(135deg,#2ce6f7,#a78bfa); color:#06070d; box-shadow:0 0 30px rgba(44,230,247,.35); }
.shu-btn--primary:hover { transform:translateY(-2px); box-shadow:0 0 40px rgba(44,230,247,.5); }
.shu-btn--ghost { background:rgba(255,255,255,.04); color:#eaf6fb; border-color:rgba(255,255,255,.12); }
.shu-btn--ghost:hover { border-color:#2ce6f7; color:#2ce6f7; }

/* Hero */
.shu-hero { position:relative; padding:8rem clamp(1rem,5vw,3rem) 5rem; }
.shu-hero__grid { display:grid; gap:3rem; grid-template-columns:1.1fr .9fr; align-items:center; max-width:1400px; margin:0 auto; }
@media (max-width:900px){ .shu-hero__grid { grid-template-columns:1fr; } }
.shu-hero__viz { height:480px; position:relative; }

/* Tools */
.shu-tools { padding:6rem clamp(1rem,5vw,3rem); }
.shu-tools .shu-section__inner { max-width:1400px; margin:0 auto; }
.shu-tools__grid { display:grid; gap:1.25rem; grid-template-columns:repeat(2,1fr); margin-top:3rem; }
@media (max-width:800px){ .shu-tools__grid{ grid-template-columns:1fr; } }
.shu-tool { display:grid; gap:1.25rem; grid-template-columns:120px 1fr; align-items:center; padding:1.5rem; border-radius:24px; background:linear-gradient(135deg,rgba(13,17,26,.7),rgba(13,17,26,.5)); border:1px solid rgba(255,255,255,.08); transition:all .3s; }
.shu-tool:hover { transform:translateY(-4px); border-color:var(--shu-acc,#2ce6f7); }
.shu-tool__viz { width:120px; height:120px; }
.shu-tool__body h3 { font-family:'Space Grotesk',sans-serif; font-size:1.5rem; margin:0 0 .5rem; }
.shu-tool__body p { font-size:.9rem; color:#94a3b8; margin:0 0 1rem; }

/* Orb container */
.shu-orb { width:100%; height:100%; }
.shu-orb-block { width:100%; }

/* Reveal */
.shu-reveal { opacity:0; transform:translateY(20px); transition:opacity .8s ease, transform .8s ease; }
.shu-reveal.is-in { opacity:1; transform:none; }
.shu-reveal[data-anim="fade"] { transform:none; }
.shu-reveal[data-anim="scale"] { transform:scale(.95); }
.shu-reveal[data-anim="scale"].is-in { transform:scale(1); }
.shu-reveal[data-anim="slide-left"] { transform:translateX(-30px); }
.shu-reveal[data-anim="slide-left"].is-in { transform:none; }

/* Tabs */
.shu-tabs { padding:2rem 0; }
.shu-tabs__bar { display:flex; gap:.25rem; border-bottom:1px solid rgba(255,255,255,.1); margin-bottom:1.5rem; flex-wrap:wrap; }
.shu-tab__btn { background:none; border:none; padding:.85rem 1.25rem; color:#94a3b8; cursor:pointer; font-size:.95rem; border-bottom:2px solid transparent; transition:all .2s; }
.shu-tab__btn.is-active { color:#2ce6f7; border-bottom-color:#2ce6f7; }
.shu-tab__panel { display:none; animation:shuFade .3s ease; }
.shu-tab__panel.is-active { display:block; }
@keyframes shuFade { from{opacity:0;transform:translateY(8px);}to{opacity:1;transform:none;} }

/* Accordion */
.shu-acc { display:grid; gap:.5rem; }
.shu-acc__item { background:rgba(255,255,255,.03); border:1px solid rgba(255,255,255,.08); border-radius:12px; padding:1rem 1.25rem; }
.shu-acc__item summary { cursor:pointer; font-weight:500; list-style:none; display:flex; justify-content:space-between; }
.shu-acc__item summary::after { content:'+'; color:#2ce6f7; font-size:1.5rem; line-height:1; transition:transform .2s; }
.shu-acc__item[open] summary::after { transform:rotate(45deg); }
.shu-acc__a { margin-top:.75rem; color:#cbd5e1; }

/* Slider */
.shu-slider { position:relative; height:480px; overflow:hidden; border-radius:24px; }
.shu-slider__track { position:relative; height:100%; }
.shu-slide { position:absolute; inset:0; display:flex; align-items:flex-end; padding:3rem; background-size:cover; background-position:center; opacity:0; transition:opacity .6s; }
.shu-slide.is-active { opacity:1; }
.shu-slide__body { background:linear-gradient(0deg,rgba(6,7,13,.85),transparent); padding:1.5rem; border-radius:12px; max-width:600px; }
.shu-slider__nav { position:absolute; top:50%; transform:translateY(-50%); width:44px; height:44px; border-radius:50%; background:rgba(0,0,0,.4); color:#fff; border:1px solid rgba(255,255,255,.2); font-size:1.5rem; cursor:pointer; }
.shu-slider__nav.prev { left:1rem; } .shu-slider__nav.next { right:1rem; }

/* Modal */
.shu-modal { position:fixed; inset:0; background:rgba(6,7,13,.85); display:flex; align-items:center; justify-content:center; z-index:9999; animation:shuFade .25s; }
.shu-modal[hidden] { display:none; }
.shu-modal__panel { background:#0d111a; border:1px solid rgba(44,230,247,.3); border-radius:20px; padding:2rem; max-width:560px; width:90%; position:relative; }
.shu-modal__x { position:absolute; top:.75rem; right:1rem; background:none; border:none; color:#eaf6fb; font-size:1.75rem; cursor:pointer; }

/* Form */
.shu-form { display:grid; gap:1rem; max-width:640px; margin:0 auto; background:rgba(13,17,26,.5); padding:2rem; border-radius:20px; border:1px solid rgba(255,255,255,.08); }
.shu-field { display:grid; gap:.4rem; }
.shu-field span { font-size:.8rem; text-transform:uppercase; letter-spacing:.1em; color:#94a3b8; }
.shu-field input, .shu-field textarea { background:rgba(255,255,255,.04); border:1px solid rgba(255,255,255,.12); border-radius:10px; padding:.75rem 1rem; color:#eaf6fb; font:inherit; }
.shu-field input:focus, .shu-field textarea:focus { outline:none; border-color:#2ce6f7; }
.shu-form__step { display:none; border:none; padding:0; margin:0; }
.shu-form__step.is-active { display:grid; gap:1rem; }
.shu-form__nav { display:flex; gap:.5rem; justify-content:flex-end; }
.shu-form__dots { display:flex; gap:.4rem; justify-content:center; margin-bottom:.5rem; }
.shu-dot { width:8px; height:8px; border-radius:50%; background:rgba(255,255,255,.2); }
.shu-dot.is-active { background:#2ce6f7; }
.shu-form__msg { padding:1rem; border-radius:10px; background:rgba(52,211,153,.15); color:#34d399; }
.shu-form__msg.is-error { background:rgba(248,113,113,.15); color:#f87171; }

/* Cards / stats / cta */
.shu-card { padding:1.75rem; border-radius:20px; background:rgba(13,17,26,.55); border:1px solid rgba(255,255,255,.08); }
.shu-card h3 { font-family:'Space Grotesk',sans-serif; margin:.5rem 0; }
.shu-card__icon { width:44px; height:44px; border-radius:12px; background:linear-gradient(135deg,#2ce6f7,#a78bfa); }
.shu-stat { text-align:center; padding:2rem; }
.shu-stat__v { font-family:'Space Grotesk',sans-serif; font-size:3rem; font-weight:600; background:linear-gradient(135deg,#2ce6f7,#a78bfa); -webkit-background-clip:text; background-clip:text; color:transparent; }
.shu-stat__l { color:#94a3b8; font-size:.875rem; text-transform:uppercase; letter-spacing:.1em; }
.shu-cta { padding:4rem clamp(1rem,5vw,3rem); }
.shu-cta__inner { max-width:900px; margin:0 auto; text-align:center; padding:3rem; border-radius:24px; background:linear-gradient(135deg,rgba(44,230,247,.08),rgba(167,139,250,.08)); border:1px solid rgba(44,230,247,.3); }
.shu-cta__inner h2 { font-family:'Space Grotesk',sans-serif; font-size:clamp(1.75rem,3.5vw,2.5rem); margin:0 0 .75rem; }
.shu-cta__inner p { color:#cbd5e1; margin:0 0 1.5rem; }
