/* V29: isolated, dependency-free visual experiment. */
.hero.forge-hero{padding:64px 0 56px}
.forge-hero .hero-grid{grid-template-columns:1.04fr 1fr;gap:28px}
.forge-hero .hero-orb,.forge-hero .fx-spot{display:none}
.forge-hero::before{background:radial-gradient(ellipse at 78% 38%,#12524c30,transparent 48%),radial-gradient(ellipse at 2% 30%,#2d34631c,transparent 58%)}
.forge-hero .hero-grid-bg{opacity:.35}
.forge-hero .hero-h1 .h1-a{font-size:clamp(26px,3.15vw,43px)}
.forge-hero .hero-h1 .h1-b{font-size:clamp(24px,2.7vw,37px)}
.forge-hero .hero-h1 em{font-size:clamp(22px,2.6vw,35px)}
.forge-hero .sub{max-width:530px}
.forge-stage{position:relative;min-width:0;isolation:isolate}
.forge-stage::before{content:"";position:absolute;inset:14% 10% 20%;background:radial-gradient(ellipse,#46e5c815,transparent 68%);pointer-events:none}
.forge-topline{display:flex;justify-content:space-between;align-items:center;gap:10px;color:#92b5ae;font:10px/1.5 var(--mono);letter-spacing:.12em;text-transform:uppercase;padding:0 18px}
.forge-topline b{font-weight:500;color:#c4e5df}
.forge-topline span::before{content:"";display:inline-block;width:5px;height:5px;margin:0 7px 2px 0;background:#66efd3;border-radius:50%;box-shadow:0 0 10px #66efd399}
.forge-art{width:100%;display:block;overflow:visible;transform:perspective(1000px) rotateX(var(--forge-rx,0deg)) rotateY(var(--forge-ry,0deg));transition:transform .6s cubic-bezier(.2,.7,.2,1);pointer-events:none}
.forge-art text{font-family:var(--mono);font-size:11px;fill:#b7d2cc;letter-spacing:.04em}
.forge-art .forge-micro{font-size:8px;fill:#89afa7;letter-spacing:.18em}
.forge-art .forge-node-box{fill:#0b1918;stroke:#34504d;stroke-width:1}
.forge-art .forge-wire{fill:none;stroke:#335a53;stroke-width:1}
.forge-art .forge-ray{fill:none;stroke:#83ffe3;stroke-width:2;stroke-linecap:round;stroke-dasharray:20 350;stroke-dashoffset:370;opacity:0}
.forge-layer{transition:transform 1.5s cubic-bezier(.16,1,.3,1),opacity 1s;transform-origin:300px 180px}
.forge-layer-top{transform:translateY(-12px)}
.forge-layer-mid{transform:translateY(0)}
.forge-layer-bottom{transform:translateY(12px)}
.forge-stage[data-step="0"] .forge-layer-top{transform:translate(-28px,-43px);opacity:.7}
.forge-stage[data-step="0"] .forge-layer-mid{transform:translate(30px,-3px);opacity:.7}
.forge-stage[data-step="0"] .forge-layer-bottom{transform:translate(-15px,38px);opacity:.7}
.forge-halo{opacity:.55;transition:opacity 1.2s}
.forge-stage[data-step="1"] .forge-halo,.forge-stage[data-step="2"] .forge-halo{opacity:1}
.forge-stage[data-step="1"] .forge-ray-in,.forge-stage[data-step="2"] .forge-ray-out{opacity:1;animation:forge-packet 1.7s linear both}
@keyframes forge-packet{0%{stroke-dashoffset:370;opacity:0}15%{opacity:1}85%{opacity:1}100%{stroke-dashoffset:0;opacity:0}}
.forge-stage[data-step="2"] .forge-output .forge-node-box,.forge-stage[data-step="3"] .forge-output .forge-node-box{stroke:#66efd3;fill:#102822}
.forge-stage[data-step="0"] .forge-input .forge-node-box,.forge-stage[data-step="1"] .forge-input .forge-node-box{stroke:#66efd3}
.forge-console{position:relative;margin:-14px 26px 0;border:1px solid #4b79694d;border-radius:17px;background:linear-gradient(135deg,#152723cf,#091211f2);box-shadow:0 25px 65px #0005,inset 0 1px #c8fff10c;overflow:hidden}
.forge-console::before{content:"";position:absolute;left:15%;right:15%;height:1px;top:0;background:linear-gradient(90deg,transparent,#91ffe399,transparent)}
.forge-console-head{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:12px 17px;border-bottom:1px solid #b0eadc12;font:10px/1.4 var(--mono);color:#a4c0b8}
.forge-console-head span{display:flex;align-items:center;gap:6px}
.forge-console-head i{width:5px;height:5px;border-radius:50%;background:#76a39a}
.forge-console-head i:nth-child(2){opacity:.6}.forge-console-head i:nth-child(3){opacity:.3;margin-right:5px}
.forge-console-head small{font-size:9px;letter-spacing:.09em;color:#8ee6ce}
.forge-log{list-style:none;padding:12px 17px 15px;margin:0;font:11px/1.7 var(--mono)}
.forge-log li{display:grid;grid-template-columns:17px 1fr 15px;gap:5px;padding:5px 0;color:#9ab9b1;transition:color .5s}
.forge-log .forge-num{font-size:9px;color:#688c80;padding-top:2px}
.forge-check{color:#a4ffdf;opacity:.15;transition:opacity .4s}
.forge-log li.is-done{color:#e1f7ef}.forge-log li.is-done .forge-check{opacity:1}
.forge-controls{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:12px 26px 0;min-height:44px;font:10px/1.4 var(--mono);color:#8eb5a8}
.forge-controls button{font:11px/1.3 var(--mono);color:#c6e8dc;background:#12231d80;border:1px solid #355548;border-radius:8px;min-height:44px;padding:8px 12px;cursor:pointer}
.forge-controls button:hover{border-color:#8ce5c8;background:#1b352b}
.forge-controls button:focus-visible{outline:2px solid #a4ffdf;outline-offset:4px}
.forge-buttons{display:flex;gap:6px}
.forge-controls button:disabled{opacity:.5;cursor:default}
.forge-controls [hidden]{display:none!important}
.forge-stage.is-paused *{animation-play-state:paused!important}
.forge-stage.is-still .forge-layer{transition:none;transform:none;opacity:1}
.forge-stage.is-still .forge-ray{animation:none;opacity:0}
.forge-stage.is-still .forge-art{transform:none;transition:none}
.forge-controls .forge-status{max-width:150px}
@media(min-width:1400px){.forge-hero .hero-grid{gap:46px}.forge-art{margin-top:8px}}
@media(max-width:960px){.forge-hero .hero-grid{grid-template-columns:1fr;gap:42px}.forge-stage{width:100%;max-width:620px;margin:auto}.hero.forge-hero{padding:52px 0 40px}.forge-hero .hero-h1 .h1-a{font-size:clamp(26px,5vw,43px)}.forge-hero .hero-h1 .h1-b{font-size:clamp(24px,4.5vw,37px)}.forge-hero .hero-h1 em{font-size:clamp(22px,4.3vw,35px)}}
@media(max-width:480px){.forge-topline{padding:0;font-size:8px;letter-spacing:.07em}.forge-console{margin:-4px 0 0;border-radius:12px}.forge-controls{margin:10px 0 0;flex-wrap:wrap}.forge-controls .forge-status{max-width:none;flex:1;font-size:9px}.forge-controls button{padding:8px 9px;font-size:10px}.forge-log{font-size:10px;padding:9px 12px}.forge-console-head{padding:10px 12px}.forge-art{width:calc(100% + 16px);margin-left:-8px}.forge-hero .cta-row{margin-top:24px}}
@media(max-width:360px){.forge-hero .hero-h1 .h1-a{font-size:24px}}
@media(prefers-reduced-motion:reduce){.forge-art,.forge-layer,.forge-log li,.forge-check,.forge-halo{transition:none!important;transform:none!important}.forge-ray{animation:none!important;opacity:0!important}}
